jbilcke-hf HF staff commited on
Commit
c5df71e
1 Parent(s): 99e9cb6

tentative fix for sharp

Browse files
.github/workflows/tests.yml CHANGED
@@ -39,8 +39,8 @@ jobs:
39
  # If source files changed but packages didn't, rebuild from a prior cache.
40
  restore-keys: |
41
  ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
42
- - name: Install dependencies
43
- run: npm ci
44
 
45
  - name: Install Playwright
46
  run: npm install @playwright/test@${{ env.PLAYWRIGHT_VERSION }}
 
39
  # If source files changed but packages didn't, rebuild from a prior cache.
40
  restore-keys: |
41
  ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json') }}-
42
+ - name: Install dependencies (with optional dependencies)
43
+ run: npm ci --include=optional
44
 
45
  - name: Install Playwright
46
  run: npm install @playwright/test@${{ env.PLAYWRIGHT_VERSION }}
Dockerfile CHANGED
@@ -48,7 +48,7 @@ RUN ffmpeg -version
48
  # Copy the current directory contents into the container at /app setting the owner to the user
49
  COPY --chown=user . /app
50
 
51
- RUN npm ci
52
 
53
  RUN npm run build:ci
54
 
 
48
  # Copy the current directory contents into the container at /app setting the owner to the user
49
  COPY --chown=user . /app
50
 
51
+ RUN npm ci --include=optional
52
 
53
  RUN npm run build:ci
54
 
README.md CHANGED
@@ -84,10 +84,12 @@ If you find that Clapper is working with a more recent (stable) version of Node,
84
  ### Installing and running the app
85
 
86
  ```bash
87
- npm i
88
  npm run dev
89
  ```
90
 
 
 
91
  ### Making sure everything is working properly
92
 
93
  There are no tests yet (I will create a ticket for that),
 
84
  ### Installing and running the app
85
 
86
  ```bash
87
+ npm i --include=optional
88
  npm run dev
89
  ```
90
 
91
+ `--include=optional` is to make sure optional dependencies are installed (pre-build native modules compatible with your system)
92
+
93
  ### Making sure everything is working properly
94
 
95
  There are no tests yet (I will create a ticket for that),
forge.config.js CHANGED
@@ -12,6 +12,10 @@ module.exports = {
12
  packagerConfig: {
13
  name: "Clapper",
14
  asar: true,
 
 
 
 
15
  icon: "./public/images/logos/CL.png",
16
  osxSign: {},
17
 
 
12
  packagerConfig: {
13
  name: "Clapper",
14
  asar: true,
15
+ asarUnpack: [
16
+ "**/node_modules/sharp/**/*",
17
+ "**/node_modules/@img/**/*"
18
+ ],
19
  icon: "./public/images/logos/CL.png",
20
  osxSign: {},
21
 
package-lock.json CHANGED
@@ -11,7 +11,7 @@
11
  "dependencies": {
12
  "@aitube/broadway": "0.1.2",
13
  "@aitube/clap": "0.1.2",
14
- "@aitube/clapper-services": "0.1.2-2",
15
  "@aitube/engine": "0.1.2",
16
  "@aitube/timeline": "0.1.2-0",
17
  "@fal-ai/serverless-client": "^0.13.0",
@@ -136,6 +136,26 @@
136
  "tailwindcss": "^3.4.3",
137
  "typescript": "^5.5.0",
138
  "vitest": "^2.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  }
140
  },
141
  "node_modules/@aitube/broadway": {
@@ -164,9 +184,9 @@
164
  }
165
  },
166
  "node_modules/@aitube/clapper-services": {
167
- "version": "0.1.2-2",
168
- "resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.1.2-2.tgz",
169
- "integrity": "sha512-w0pePRikzDifkS5OYDDGqRPP0aV6mjYnq4rTdoA4I/HgBrFuZyiujCB01uLHmA5TjndMCVIi8jRKFZ4lpsJgNw==",
170
  "peerDependencies": {
171
  "@aitube/clap": "0.1.2",
172
  "@aitube/timeline": "0.1.2-0",
@@ -1192,9 +1212,9 @@
1192
  }
1193
  },
1194
  "node_modules/@babel/compat-data": {
1195
- "version": "7.24.9",
1196
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.9.tgz",
1197
- "integrity": "sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==",
1198
  "engines": {
1199
  "node": ">=6.9.0"
1200
  }
@@ -1237,11 +1257,11 @@
1237
  }
1238
  },
1239
  "node_modules/@babel/generator": {
1240
- "version": "7.24.10",
1241
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.10.tgz",
1242
- "integrity": "sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==",
1243
  "dependencies": {
1244
- "@babel/types": "^7.24.9",
1245
  "@jridgewell/gen-mapping": "^0.3.5",
1246
  "@jridgewell/trace-mapping": "^0.3.25",
1247
  "jsesc": "^2.5.1"
@@ -1284,40 +1304,6 @@
1284
  "semver": "bin/semver.js"
1285
  }
1286
  },
1287
- "node_modules/@babel/helper-environment-visitor": {
1288
- "version": "7.24.7",
1289
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
1290
- "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
1291
- "dependencies": {
1292
- "@babel/types": "^7.24.7"
1293
- },
1294
- "engines": {
1295
- "node": ">=6.9.0"
1296
- }
1297
- },
1298
- "node_modules/@babel/helper-function-name": {
1299
- "version": "7.24.7",
1300
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
1301
- "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
1302
- "dependencies": {
1303
- "@babel/template": "^7.24.7",
1304
- "@babel/types": "^7.24.7"
1305
- },
1306
- "engines": {
1307
- "node": ">=6.9.0"
1308
- }
1309
- },
1310
- "node_modules/@babel/helper-hoist-variables": {
1311
- "version": "7.24.7",
1312
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
1313
- "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
1314
- "dependencies": {
1315
- "@babel/types": "^7.24.7"
1316
- },
1317
- "engines": {
1318
- "node": ">=6.9.0"
1319
- }
1320
- },
1321
  "node_modules/@babel/helper-module-imports": {
1322
  "version": "7.24.7",
1323
  "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
@@ -1331,15 +1317,14 @@
1331
  }
1332
  },
1333
  "node_modules/@babel/helper-module-transforms": {
1334
- "version": "7.24.9",
1335
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.9.tgz",
1336
- "integrity": "sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==",
1337
  "dependencies": {
1338
- "@babel/helper-environment-visitor": "^7.24.7",
1339
  "@babel/helper-module-imports": "^7.24.7",
1340
  "@babel/helper-simple-access": "^7.24.7",
1341
- "@babel/helper-split-export-declaration": "^7.24.7",
1342
- "@babel/helper-validator-identifier": "^7.24.7"
1343
  },
1344
  "engines": {
1345
  "node": ">=6.9.0"
@@ -1368,17 +1353,6 @@
1368
  "node": ">=6.9.0"
1369
  }
1370
  },
1371
- "node_modules/@babel/helper-split-export-declaration": {
1372
- "version": "7.24.7",
1373
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
1374
- "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
1375
- "dependencies": {
1376
- "@babel/types": "^7.24.7"
1377
- },
1378
- "engines": {
1379
- "node": ">=6.9.0"
1380
- }
1381
- },
1382
  "node_modules/@babel/helper-string-parser": {
1383
  "version": "7.24.8",
1384
  "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
@@ -1404,12 +1378,12 @@
1404
  }
1405
  },
1406
  "node_modules/@babel/helpers": {
1407
- "version": "7.24.8",
1408
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.8.tgz",
1409
- "integrity": "sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==",
1410
  "dependencies": {
1411
- "@babel/template": "^7.24.7",
1412
- "@babel/types": "^7.24.8"
1413
  },
1414
  "engines": {
1415
  "node": ">=6.9.0"
@@ -1494,9 +1468,9 @@
1494
  }
1495
  },
1496
  "node_modules/@babel/parser": {
1497
- "version": "7.24.8",
1498
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.8.tgz",
1499
- "integrity": "sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==",
1500
  "bin": {
1501
  "parser": "bin/babel-parser.js"
1502
  },
@@ -1549,9 +1523,9 @@
1549
  }
1550
  },
1551
  "node_modules/@babel/runtime": {
1552
- "version": "7.24.8",
1553
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.8.tgz",
1554
- "integrity": "sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==",
1555
  "dependencies": {
1556
  "regenerator-runtime": "^0.14.0"
1557
  },
@@ -1560,31 +1534,28 @@
1560
  }
1561
  },
1562
  "node_modules/@babel/template": {
1563
- "version": "7.24.7",
1564
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
1565
- "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
1566
  "dependencies": {
1567
  "@babel/code-frame": "^7.24.7",
1568
- "@babel/parser": "^7.24.7",
1569
- "@babel/types": "^7.24.7"
1570
  },
1571
  "engines": {
1572
  "node": ">=6.9.0"
1573
  }
1574
  },
1575
  "node_modules/@babel/traverse": {
1576
- "version": "7.24.8",
1577
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.8.tgz",
1578
- "integrity": "sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==",
1579
  "dependencies": {
1580
  "@babel/code-frame": "^7.24.7",
1581
- "@babel/generator": "^7.24.8",
1582
- "@babel/helper-environment-visitor": "^7.24.7",
1583
- "@babel/helper-function-name": "^7.24.7",
1584
- "@babel/helper-hoist-variables": "^7.24.7",
1585
- "@babel/helper-split-export-declaration": "^7.24.7",
1586
- "@babel/parser": "^7.24.8",
1587
- "@babel/types": "^7.24.8",
1588
  "debug": "^4.3.1",
1589
  "globals": "^11.1.0"
1590
  },
@@ -1593,9 +1564,9 @@
1593
  }
1594
  },
1595
  "node_modules/@babel/types": {
1596
- "version": "7.24.9",
1597
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.9.tgz",
1598
- "integrity": "sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==",
1599
  "dependencies": {
1600
  "@babel/helper-string-parser": "^7.24.8",
1601
  "@babel/helper-validator-identifier": "^7.24.7",
@@ -3442,9 +3413,9 @@
3442
  }
3443
  },
3444
  "node_modules/@huggingface/inference/node_modules/@huggingface/tasks": {
3445
- "version": "0.11.3",
3446
- "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.3.tgz",
3447
- "integrity": "sha512-IYq4OdlySdscjkFwm6iIqP1ZgKl4OGhvQFJWI7Yxpq2V8RmXcgIjiqk/65S6Ap7i+eyCdlOC4qweVy/ICNE0JA=="
3448
  },
3449
  "node_modules/@huggingface/jinja": {
3450
  "version": "0.2.2",
@@ -3712,6 +3683,24 @@
3712
  "url": "https://opencollective.com/libvips"
3713
  }
3714
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3715
  "node_modules/@img/sharp-linux-arm": {
3716
  "version": "0.33.4",
3717
  "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz",
@@ -4176,9 +4165,9 @@
4176
  }
4177
  },
4178
  "node_modules/@langchain/anthropic": {
4179
- "version": "0.2.9",
4180
- "resolved": "https://registry.npmjs.org/@langchain/anthropic/-/anthropic-0.2.9.tgz",
4181
- "integrity": "sha512-i0ZXDPVvQUhpsQjKEYwrMHlhr0Z/q+Dzgidn/5c1v3n2LhJ8SjZVc6vugFvVxl0m8HlkuHxhIOlG5APVbyKjYg==",
4182
  "dependencies": {
4183
  "@anthropic-ai/sdk": "^0.22.0",
4184
  "@langchain/core": ">=0.2.16 <0.3.0",
@@ -6548,9 +6537,9 @@
6548
  }
6549
  },
6550
  "node_modules/@rollup/rollup-android-arm-eabi": {
6551
- "version": "4.19.0",
6552
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.0.tgz",
6553
- "integrity": "sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==",
6554
  "cpu": [
6555
  "arm"
6556
  ],
@@ -6561,9 +6550,9 @@
6561
  ]
6562
  },
6563
  "node_modules/@rollup/rollup-android-arm64": {
6564
- "version": "4.19.0",
6565
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.0.tgz",
6566
- "integrity": "sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==",
6567
  "cpu": [
6568
  "arm64"
6569
  ],
@@ -6574,9 +6563,9 @@
6574
  ]
6575
  },
6576
  "node_modules/@rollup/rollup-darwin-arm64": {
6577
- "version": "4.19.0",
6578
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.0.tgz",
6579
- "integrity": "sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==",
6580
  "cpu": [
6581
  "arm64"
6582
  ],
@@ -6587,9 +6576,9 @@
6587
  ]
6588
  },
6589
  "node_modules/@rollup/rollup-darwin-x64": {
6590
- "version": "4.19.0",
6591
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.0.tgz",
6592
- "integrity": "sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==",
6593
  "cpu": [
6594
  "x64"
6595
  ],
@@ -6600,9 +6589,9 @@
6600
  ]
6601
  },
6602
  "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
6603
- "version": "4.19.0",
6604
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.0.tgz",
6605
- "integrity": "sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==",
6606
  "cpu": [
6607
  "arm"
6608
  ],
@@ -6613,9 +6602,9 @@
6613
  ]
6614
  },
6615
  "node_modules/@rollup/rollup-linux-arm-musleabihf": {
6616
- "version": "4.19.0",
6617
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.0.tgz",
6618
- "integrity": "sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==",
6619
  "cpu": [
6620
  "arm"
6621
  ],
@@ -6626,9 +6615,9 @@
6626
  ]
6627
  },
6628
  "node_modules/@rollup/rollup-linux-arm64-gnu": {
6629
- "version": "4.19.0",
6630
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.0.tgz",
6631
- "integrity": "sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==",
6632
  "cpu": [
6633
  "arm64"
6634
  ],
@@ -6639,9 +6628,9 @@
6639
  ]
6640
  },
6641
  "node_modules/@rollup/rollup-linux-arm64-musl": {
6642
- "version": "4.19.0",
6643
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.0.tgz",
6644
- "integrity": "sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==",
6645
  "cpu": [
6646
  "arm64"
6647
  ],
@@ -6652,9 +6641,9 @@
6652
  ]
6653
  },
6654
  "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
6655
- "version": "4.19.0",
6656
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.0.tgz",
6657
- "integrity": "sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==",
6658
  "cpu": [
6659
  "ppc64"
6660
  ],
@@ -6665,9 +6654,9 @@
6665
  ]
6666
  },
6667
  "node_modules/@rollup/rollup-linux-riscv64-gnu": {
6668
- "version": "4.19.0",
6669
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.0.tgz",
6670
- "integrity": "sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==",
6671
  "cpu": [
6672
  "riscv64"
6673
  ],
@@ -6678,9 +6667,9 @@
6678
  ]
6679
  },
6680
  "node_modules/@rollup/rollup-linux-s390x-gnu": {
6681
- "version": "4.19.0",
6682
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.0.tgz",
6683
- "integrity": "sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==",
6684
  "cpu": [
6685
  "s390x"
6686
  ],
@@ -6691,9 +6680,9 @@
6691
  ]
6692
  },
6693
  "node_modules/@rollup/rollup-linux-x64-gnu": {
6694
- "version": "4.19.0",
6695
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.0.tgz",
6696
- "integrity": "sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==",
6697
  "cpu": [
6698
  "x64"
6699
  ],
@@ -6704,9 +6693,9 @@
6704
  ]
6705
  },
6706
  "node_modules/@rollup/rollup-linux-x64-musl": {
6707
- "version": "4.19.0",
6708
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.0.tgz",
6709
- "integrity": "sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==",
6710
  "cpu": [
6711
  "x64"
6712
  ],
@@ -6717,9 +6706,9 @@
6717
  ]
6718
  },
6719
  "node_modules/@rollup/rollup-win32-arm64-msvc": {
6720
- "version": "4.19.0",
6721
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.0.tgz",
6722
- "integrity": "sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==",
6723
  "cpu": [
6724
  "arm64"
6725
  ],
@@ -6730,9 +6719,9 @@
6730
  ]
6731
  },
6732
  "node_modules/@rollup/rollup-win32-ia32-msvc": {
6733
- "version": "4.19.0",
6734
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.0.tgz",
6735
- "integrity": "sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==",
6736
  "cpu": [
6737
  "ia32"
6738
  ],
@@ -6743,9 +6732,9 @@
6743
  ]
6744
  },
6745
  "node_modules/@rollup/rollup-win32-x64-msvc": {
6746
- "version": "4.19.0",
6747
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.0.tgz",
6748
- "integrity": "sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==",
6749
  "cpu": [
6750
  "x64"
6751
  ],
@@ -6756,9 +6745,9 @@
6756
  ]
6757
  },
6758
  "node_modules/@rushstack/eslint-patch": {
6759
- "version": "1.10.3",
6760
- "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.3.tgz",
6761
- "integrity": "sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==",
6762
  "dev": true
6763
  },
6764
  "node_modules/@sindresorhus/is": {
@@ -6801,15 +6790,15 @@
6801
  }
6802
  },
6803
  "node_modules/@smithy/core": {
6804
- "version": "2.3.0",
6805
- "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.0.tgz",
6806
- "integrity": "sha512-tvSwf+PF5uurExeJsl+sSNn4bPsYShL86fJ/wcj63cioJ0IF131BxC5QxX8qkIISk7Pr7g2+UJH9ib4cCafvqw==",
6807
  "dependencies": {
6808
  "@smithy/middleware-endpoint": "^3.1.0",
6809
- "@smithy/middleware-retry": "^3.0.12",
6810
  "@smithy/middleware-serde": "^3.0.3",
6811
  "@smithy/protocol-http": "^4.1.0",
6812
- "@smithy/smithy-client": "^3.1.10",
6813
  "@smithy/types": "^3.3.0",
6814
  "@smithy/util-middleware": "^3.0.3",
6815
  "tslib": "^2.6.2"
@@ -6867,9 +6856,9 @@
6867
  }
6868
  },
6869
  "node_modules/@smithy/fetch-http-handler": {
6870
- "version": "3.2.3",
6871
- "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.3.tgz",
6872
- "integrity": "sha512-m4dzQeafWi5KKCCnDwGGHYk9lqcLs9LvlXZRB0J38DMectsEbxdiO/Rx1NaYYMIkath7AnjpR+r0clL+7dwclQ==",
6873
  "dependencies": {
6874
  "@smithy/protocol-http": "^4.1.0",
6875
  "@smithy/querystring-builder": "^3.0.3",
@@ -6943,14 +6932,14 @@
6943
  }
6944
  },
6945
  "node_modules/@smithy/middleware-retry": {
6946
- "version": "3.0.12",
6947
- "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.12.tgz",
6948
- "integrity": "sha512-CncrlzNiBzuZZYLJ49H4dC6FEz62hnv0Y0nJyl/oZ73FX/9CDHWkIRD4ZOf5ntB6QyYWx0G3mXAOHOcM5omlLg==",
6949
  "dependencies": {
6950
  "@smithy/node-config-provider": "^3.1.4",
6951
  "@smithy/protocol-http": "^4.1.0",
6952
  "@smithy/service-error-classification": "^3.0.3",
6953
- "@smithy/smithy-client": "^3.1.10",
6954
  "@smithy/types": "^3.3.0",
6955
  "@smithy/util-middleware": "^3.0.3",
6956
  "@smithy/util-retry": "^3.0.3",
@@ -7105,15 +7094,15 @@
7105
  }
7106
  },
7107
  "node_modules/@smithy/smithy-client": {
7108
- "version": "3.1.10",
7109
- "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.10.tgz",
7110
- "integrity": "sha512-OLHJo0DAmhX69YUF3WbNfzzxGIncGdxao+v27o24msdhin2AWTxJMaBQ3iPGfIrWMjy+8YGMXUJ7PrkJlpznTw==",
7111
  "dependencies": {
7112
  "@smithy/middleware-endpoint": "^3.1.0",
7113
  "@smithy/middleware-stack": "^3.0.3",
7114
  "@smithy/protocol-http": "^4.1.0",
7115
  "@smithy/types": "^3.3.0",
7116
- "@smithy/util-stream": "^3.1.2",
7117
  "tslib": "^2.6.2"
7118
  },
7119
  "engines": {
@@ -7197,12 +7186,12 @@
7197
  }
7198
  },
7199
  "node_modules/@smithy/util-defaults-mode-browser": {
7200
- "version": "3.0.12",
7201
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.12.tgz",
7202
- "integrity": "sha512-5b81UUPKjD61DMg7JBYzkSM1Vny/RfRRhnZYzuWjm25OyrEXsar3RgbbXYR+otdx+wrPR3QmuFtbDZmEgGpwVg==",
7203
  "dependencies": {
7204
  "@smithy/property-provider": "^3.1.3",
7205
- "@smithy/smithy-client": "^3.1.10",
7206
  "@smithy/types": "^3.3.0",
7207
  "bowser": "^2.11.0",
7208
  "tslib": "^2.6.2"
@@ -7212,15 +7201,15 @@
7212
  }
7213
  },
7214
  "node_modules/@smithy/util-defaults-mode-node": {
7215
- "version": "3.0.12",
7216
- "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.12.tgz",
7217
- "integrity": "sha512-g2NdtGDN67PepBs0t/mkrlQ2nVkhKUDJZCNmEJIarzYq2sK4mKO9t61Nzlv+gHEEC3ESfRaMCC/Ol3ZfCZYg7Q==",
7218
  "dependencies": {
7219
  "@smithy/config-resolver": "^3.0.5",
7220
  "@smithy/credential-provider-imds": "^3.2.0",
7221
  "@smithy/node-config-provider": "^3.1.4",
7222
  "@smithy/property-provider": "^3.1.3",
7223
- "@smithy/smithy-client": "^3.1.10",
7224
  "@smithy/types": "^3.3.0",
7225
  "tslib": "^2.6.2"
7226
  },
@@ -7278,11 +7267,11 @@
7278
  }
7279
  },
7280
  "node_modules/@smithy/util-stream": {
7281
- "version": "3.1.2",
7282
- "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.2.tgz",
7283
- "integrity": "sha512-08zDzB7BqvybHfZKnav5lL1UniFDK6o6nZ3OWp60PKsi/na2LpU6OX8MCtDNVaPBpKpc8EH26fvFhNT6wvMlbw==",
7284
  "dependencies": {
7285
- "@smithy/fetch-http-handler": "^3.2.3",
7286
  "@smithy/node-http-handler": "^3.1.4",
7287
  "@smithy/types": "^3.3.0",
7288
  "@smithy/util-base64": "^3.0.0",
@@ -7734,9 +7723,9 @@
7734
  "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A=="
7735
  },
7736
  "node_modules/@types/three": {
7737
- "version": "0.167.0",
7738
- "resolved": "https://registry.npmjs.org/@types/three/-/three-0.167.0.tgz",
7739
- "integrity": "sha512-BC+Vbm0d6yMzct7dhTBe9ZjEh6ygupyn1k/UcZncIIS/5aNIbfvF77gQw1IFP09Oyj1UxWj0EUBBqc1GkqzsOw==",
7740
  "peer": true,
7741
  "dependencies": {
7742
  "@tweenjs/tween.js": "~23.1.2",
@@ -10250,9 +10239,9 @@
10250
  "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="
10251
  },
10252
  "node_modules/debug": {
10253
- "version": "4.3.5",
10254
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
10255
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
10256
  "dependencies": {
10257
  "ms": "2.1.2"
10258
  },
@@ -13190,6 +13179,7 @@
13190
  "version": "4.0.1",
13191
  "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz",
13192
  "integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==",
 
13193
  "dependencies": {
13194
  "node-forge": "^1.3.1"
13195
  },
@@ -16124,9 +16114,9 @@
16124
  }
16125
  },
16126
  "node_modules/openai": {
16127
- "version": "4.53.1",
16128
- "resolved": "https://registry.npmjs.org/openai/-/openai-4.53.1.tgz",
16129
- "integrity": "sha512-BFj9e0jfzqd2GAGRY9hj6PU7VrGyl3LPhUdji7QvZCVxlqusoLR5qBzH5wjrJZ4d1BBDic/t5yvTdk023fM7+w==",
16130
  "dependencies": {
16131
  "@types/node": "^18.11.18",
16132
  "@types/node-fetch": "^2.6.4",
@@ -17943,9 +17933,9 @@
17943
  "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ=="
17944
  },
17945
  "node_modules/rollup": {
17946
- "version": "4.19.0",
17947
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.0.tgz",
17948
- "integrity": "sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==",
17949
  "dev": true,
17950
  "dependencies": {
17951
  "@types/estree": "1.0.5"
@@ -17958,22 +17948,22 @@
17958
  "npm": ">=8.0.0"
17959
  },
17960
  "optionalDependencies": {
17961
- "@rollup/rollup-android-arm-eabi": "4.19.0",
17962
- "@rollup/rollup-android-arm64": "4.19.0",
17963
- "@rollup/rollup-darwin-arm64": "4.19.0",
17964
- "@rollup/rollup-darwin-x64": "4.19.0",
17965
- "@rollup/rollup-linux-arm-gnueabihf": "4.19.0",
17966
- "@rollup/rollup-linux-arm-musleabihf": "4.19.0",
17967
- "@rollup/rollup-linux-arm64-gnu": "4.19.0",
17968
- "@rollup/rollup-linux-arm64-musl": "4.19.0",
17969
- "@rollup/rollup-linux-powerpc64le-gnu": "4.19.0",
17970
- "@rollup/rollup-linux-riscv64-gnu": "4.19.0",
17971
- "@rollup/rollup-linux-s390x-gnu": "4.19.0",
17972
- "@rollup/rollup-linux-x64-gnu": "4.19.0",
17973
- "@rollup/rollup-linux-x64-musl": "4.19.0",
17974
- "@rollup/rollup-win32-arm64-msvc": "4.19.0",
17975
- "@rollup/rollup-win32-ia32-msvc": "4.19.0",
17976
- "@rollup/rollup-win32-x64-msvc": "4.19.0",
17977
  "fsevents": "~2.3.2"
17978
  }
17979
  },
 
11
  "dependencies": {
12
  "@aitube/broadway": "0.1.2",
13
  "@aitube/clap": "0.1.2",
14
+ "@aitube/clapper-services": "0.1.2-4",
15
  "@aitube/engine": "0.1.2",
16
  "@aitube/timeline": "0.1.2-0",
17
  "@fal-ai/serverless-client": "^0.13.0",
 
136
  "tailwindcss": "^3.4.3",
137
  "typescript": "^5.5.0",
138
  "vitest": "^2.0.2"
139
+ },
140
+ "optionalDependencies": {
141
+ "@img/sharp-darwin-arm64": "0.33.4",
142
+ "@img/sharp-darwin-x64": "0.33.4",
143
+ "@img/sharp-libvips-darwin-arm64": "1.0.2",
144
+ "@img/sharp-libvips-darwin-x64": "1.0.2",
145
+ "@img/sharp-libvips-linux-arm": "1.0.2",
146
+ "@img/sharp-libvips-linux-arm64": "1.0.2",
147
+ "@img/sharp-libvips-linux-x64": "1.0.2",
148
+ "@img/sharp-libvips-linuxmusl-arm64": "1.0.2",
149
+ "@img/sharp-libvips-linuxmusl-x64": "1.0.2",
150
+ "@img/sharp-libvips-win32-ia32": "1.0.2",
151
+ "@img/sharp-libvips-win32-x64": "1.0.2",
152
+ "@img/sharp-linux-arm": "0.33.4",
153
+ "@img/sharp-linux-arm64": "0.33.4",
154
+ "@img/sharp-linux-x64": "0.33.4",
155
+ "@img/sharp-linuxmusl-arm64": "0.33.4",
156
+ "@img/sharp-linuxmusl-x64": "0.33.4",
157
+ "@img/sharp-win32-ia32": "0.33.4",
158
+ "@img/sharp-win32-x64": "0.33.4"
159
  }
160
  },
161
  "node_modules/@aitube/broadway": {
 
184
  }
185
  },
186
  "node_modules/@aitube/clapper-services": {
187
+ "version": "0.1.2-4",
188
+ "resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.1.2-4.tgz",
189
+ "integrity": "sha512-Y/GqpTGOWRCgm5lFsRkjAXRZT0RabxH+dUevarRLFmY1+HhYMz3Mh7hu8GnIHKWdKetAJADKasF4mfIhYZaj8g==",
190
  "peerDependencies": {
191
  "@aitube/clap": "0.1.2",
192
  "@aitube/timeline": "0.1.2-0",
 
1212
  }
1213
  },
1214
  "node_modules/@babel/compat-data": {
1215
+ "version": "7.25.0",
1216
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz",
1217
+ "integrity": "sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg==",
1218
  "engines": {
1219
  "node": ">=6.9.0"
1220
  }
 
1257
  }
1258
  },
1259
  "node_modules/@babel/generator": {
1260
+ "version": "7.25.0",
1261
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz",
1262
+ "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==",
1263
  "dependencies": {
1264
+ "@babel/types": "^7.25.0",
1265
  "@jridgewell/gen-mapping": "^0.3.5",
1266
  "@jridgewell/trace-mapping": "^0.3.25",
1267
  "jsesc": "^2.5.1"
 
1304
  "semver": "bin/semver.js"
1305
  }
1306
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1307
  "node_modules/@babel/helper-module-imports": {
1308
  "version": "7.24.7",
1309
  "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
 
1317
  }
1318
  },
1319
  "node_modules/@babel/helper-module-transforms": {
1320
+ "version": "7.25.0",
1321
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz",
1322
+ "integrity": "sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ==",
1323
  "dependencies": {
 
1324
  "@babel/helper-module-imports": "^7.24.7",
1325
  "@babel/helper-simple-access": "^7.24.7",
1326
+ "@babel/helper-validator-identifier": "^7.24.7",
1327
+ "@babel/traverse": "^7.25.0"
1328
  },
1329
  "engines": {
1330
  "node": ">=6.9.0"
 
1353
  "node": ">=6.9.0"
1354
  }
1355
  },
 
 
 
 
 
 
 
 
 
 
 
1356
  "node_modules/@babel/helper-string-parser": {
1357
  "version": "7.24.8",
1358
  "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
 
1378
  }
1379
  },
1380
  "node_modules/@babel/helpers": {
1381
+ "version": "7.25.0",
1382
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz",
1383
+ "integrity": "sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==",
1384
  "dependencies": {
1385
+ "@babel/template": "^7.25.0",
1386
+ "@babel/types": "^7.25.0"
1387
  },
1388
  "engines": {
1389
  "node": ">=6.9.0"
 
1468
  }
1469
  },
1470
  "node_modules/@babel/parser": {
1471
+ "version": "7.25.0",
1472
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz",
1473
+ "integrity": "sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA==",
1474
  "bin": {
1475
  "parser": "bin/babel-parser.js"
1476
  },
 
1523
  }
1524
  },
1525
  "node_modules/@babel/runtime": {
1526
+ "version": "7.25.0",
1527
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
1528
+ "integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
1529
  "dependencies": {
1530
  "regenerator-runtime": "^0.14.0"
1531
  },
 
1534
  }
1535
  },
1536
  "node_modules/@babel/template": {
1537
+ "version": "7.25.0",
1538
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
1539
+ "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
1540
  "dependencies": {
1541
  "@babel/code-frame": "^7.24.7",
1542
+ "@babel/parser": "^7.25.0",
1543
+ "@babel/types": "^7.25.0"
1544
  },
1545
  "engines": {
1546
  "node": ">=6.9.0"
1547
  }
1548
  },
1549
  "node_modules/@babel/traverse": {
1550
+ "version": "7.25.0",
1551
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz",
1552
+ "integrity": "sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA==",
1553
  "dependencies": {
1554
  "@babel/code-frame": "^7.24.7",
1555
+ "@babel/generator": "^7.25.0",
1556
+ "@babel/parser": "^7.25.0",
1557
+ "@babel/template": "^7.25.0",
1558
+ "@babel/types": "^7.25.0",
 
 
 
1559
  "debug": "^4.3.1",
1560
  "globals": "^11.1.0"
1561
  },
 
1564
  }
1565
  },
1566
  "node_modules/@babel/types": {
1567
+ "version": "7.25.0",
1568
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz",
1569
+ "integrity": "sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg==",
1570
  "dependencies": {
1571
  "@babel/helper-string-parser": "^7.24.8",
1572
  "@babel/helper-validator-identifier": "^7.24.7",
 
3413
  }
3414
  },
3415
  "node_modules/@huggingface/inference/node_modules/@huggingface/tasks": {
3416
+ "version": "0.11.4",
3417
+ "resolved": "https://registry.npmjs.org/@huggingface/tasks/-/tasks-0.11.4.tgz",
3418
+ "integrity": "sha512-DW12G7Ae643U8vwitfaZOtvuk0+3W0GfQFcxxwVkFi07neZdBnSalxeKQsoPW7tZNcUdIZJSxhrnVNFGSXeC5Q=="
3419
  },
3420
  "node_modules/@huggingface/jinja": {
3421
  "version": "0.2.2",
 
3683
  "url": "https://opencollective.com/libvips"
3684
  }
3685
  },
3686
+ "node_modules/@img/sharp-libvips-win32-ia32": {
3687
+ "version": "1.0.2",
3688
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-win32-ia32/-/sharp-libvips-win32-ia32-1.0.2.tgz",
3689
+ "integrity": "sha512-NDMPtXP7TTnm7588hpVwzUm48oMH3GOP8UKZLeBpL4yTLY89Jya3QBuKTVkh22GJGs8rV0ben7raSWXWsfMyww==",
3690
+ "optional": true,
3691
+ "funding": {
3692
+ "url": "https://opencollective.com/libvips"
3693
+ }
3694
+ },
3695
+ "node_modules/@img/sharp-libvips-win32-x64": {
3696
+ "version": "1.0.2",
3697
+ "resolved": "https://registry.npmjs.org/@img/sharp-libvips-win32-x64/-/sharp-libvips-win32-x64-1.0.2.tgz",
3698
+ "integrity": "sha512-rpNEXU8TJSrwmYh/pOoKNxsYcnA92MfuUmNWEz7Twb2kRffK23zIIIIf2Km3wqLhbLR2hqvGB5g2avN9SMQTvg==",
3699
+ "optional": true,
3700
+ "funding": {
3701
+ "url": "https://opencollective.com/libvips"
3702
+ }
3703
+ },
3704
  "node_modules/@img/sharp-linux-arm": {
3705
  "version": "0.33.4",
3706
  "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz",
 
4165
  }
4166
  },
4167
  "node_modules/@langchain/anthropic": {
4168
+ "version": "0.2.10",
4169
+ "resolved": "https://registry.npmjs.org/@langchain/anthropic/-/anthropic-0.2.10.tgz",
4170
+ "integrity": "sha512-Tb0k8/oUitFzupSxPAmKNnKr28IxZYrF0K7vZUcHLlRA2tljBbUiU9hFnuSiN0VBTttrrFkNQ1VsltBbOL79eQ==",
4171
  "dependencies": {
4172
  "@anthropic-ai/sdk": "^0.22.0",
4173
  "@langchain/core": ">=0.2.16 <0.3.0",
 
6537
  }
6538
  },
6539
  "node_modules/@rollup/rollup-android-arm-eabi": {
6540
+ "version": "4.19.1",
6541
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.1.tgz",
6542
+ "integrity": "sha512-XzqSg714++M+FXhHfXpS1tDnNZNpgxxuGZWlRG/jSj+VEPmZ0yg6jV4E0AL3uyBKxO8mO3xtOsP5mQ+XLfrlww==",
6543
  "cpu": [
6544
  "arm"
6545
  ],
 
6550
  ]
6551
  },
6552
  "node_modules/@rollup/rollup-android-arm64": {
6553
+ "version": "4.19.1",
6554
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.1.tgz",
6555
+ "integrity": "sha512-thFUbkHteM20BGShD6P08aungq4irbIZKUNbG70LN8RkO7YztcGPiKTTGZS7Kw+x5h8hOXs0i4OaHwFxlpQN6A==",
6556
  "cpu": [
6557
  "arm64"
6558
  ],
 
6563
  ]
6564
  },
6565
  "node_modules/@rollup/rollup-darwin-arm64": {
6566
+ "version": "4.19.1",
6567
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.1.tgz",
6568
+ "integrity": "sha512-8o6eqeFZzVLia2hKPUZk4jdE3zW7LCcZr+MD18tXkgBBid3lssGVAYuox8x6YHoEPDdDa9ixTaStcmx88lio5Q==",
6569
  "cpu": [
6570
  "arm64"
6571
  ],
 
6576
  ]
6577
  },
6578
  "node_modules/@rollup/rollup-darwin-x64": {
6579
+ "version": "4.19.1",
6580
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.1.tgz",
6581
+ "integrity": "sha512-4T42heKsnbjkn7ovYiAdDVRRWZLU9Kmhdt6HafZxFcUdpjlBlxj4wDrt1yFWLk7G4+E+8p2C9tcmSu0KA6auGA==",
6582
  "cpu": [
6583
  "x64"
6584
  ],
 
6589
  ]
6590
  },
6591
  "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
6592
+ "version": "4.19.1",
6593
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.1.tgz",
6594
+ "integrity": "sha512-MXg1xp+e5GhZ3Vit1gGEyoC+dyQUBy2JgVQ+3hUrD9wZMkUw/ywgkpK7oZgnB6kPpGrxJ41clkPPnsknuD6M2Q==",
6595
  "cpu": [
6596
  "arm"
6597
  ],
 
6602
  ]
6603
  },
6604
  "node_modules/@rollup/rollup-linux-arm-musleabihf": {
6605
+ "version": "4.19.1",
6606
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.1.tgz",
6607
+ "integrity": "sha512-DZNLwIY4ftPSRVkJEaxYkq7u2zel7aah57HESuNkUnz+3bZHxwkCUkrfS2IWC1sxK6F2QNIR0Qr/YXw7nkF3Pw==",
6608
  "cpu": [
6609
  "arm"
6610
  ],
 
6615
  ]
6616
  },
6617
  "node_modules/@rollup/rollup-linux-arm64-gnu": {
6618
+ "version": "4.19.1",
6619
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.1.tgz",
6620
+ "integrity": "sha512-C7evongnjyxdngSDRRSQv5GvyfISizgtk9RM+z2biV5kY6S/NF/wta7K+DanmktC5DkuaJQgoKGf7KUDmA7RUw==",
6621
  "cpu": [
6622
  "arm64"
6623
  ],
 
6628
  ]
6629
  },
6630
  "node_modules/@rollup/rollup-linux-arm64-musl": {
6631
+ "version": "4.19.1",
6632
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.1.tgz",
6633
+ "integrity": "sha512-89tFWqxfxLLHkAthAcrTs9etAoBFRduNfWdl2xUs/yLV+7XDrJ5yuXMHptNqf1Zw0UCA3cAutkAiAokYCkaPtw==",
6634
  "cpu": [
6635
  "arm64"
6636
  ],
 
6641
  ]
6642
  },
6643
  "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
6644
+ "version": "4.19.1",
6645
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.1.tgz",
6646
+ "integrity": "sha512-PromGeV50sq+YfaisG8W3fd+Cl6mnOOiNv2qKKqKCpiiEke2KiKVyDqG/Mb9GWKbYMHj5a01fq/qlUR28PFhCQ==",
6647
  "cpu": [
6648
  "ppc64"
6649
  ],
 
6654
  ]
6655
  },
6656
  "node_modules/@rollup/rollup-linux-riscv64-gnu": {
6657
+ "version": "4.19.1",
6658
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.1.tgz",
6659
+ "integrity": "sha512-/1BmHYh+iz0cNCP0oHCuF8CSiNj0JOGf0jRlSo3L/FAyZyG2rGBuKpkZVH9YF+x58r1jgWxvm1aRg3DHrLDt6A==",
6660
  "cpu": [
6661
  "riscv64"
6662
  ],
 
6667
  ]
6668
  },
6669
  "node_modules/@rollup/rollup-linux-s390x-gnu": {
6670
+ "version": "4.19.1",
6671
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.1.tgz",
6672
+ "integrity": "sha512-0cYP5rGkQWRZKy9/HtsWVStLXzCF3cCBTRI+qRL8Z+wkYlqN7zrSYm6FuY5Kd5ysS5aH0q5lVgb/WbG4jqXN1Q==",
6673
  "cpu": [
6674
  "s390x"
6675
  ],
 
6680
  ]
6681
  },
6682
  "node_modules/@rollup/rollup-linux-x64-gnu": {
6683
+ "version": "4.19.1",
6684
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.1.tgz",
6685
+ "integrity": "sha512-XUXeI9eM8rMP8aGvii/aOOiMvTs7xlCosq9xCjcqI9+5hBxtjDpD+7Abm1ZhVIFE1J2h2VIg0t2DX/gjespC2Q==",
6686
  "cpu": [
6687
  "x64"
6688
  ],
 
6693
  ]
6694
  },
6695
  "node_modules/@rollup/rollup-linux-x64-musl": {
6696
+ "version": "4.19.1",
6697
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.1.tgz",
6698
+ "integrity": "sha512-V7cBw/cKXMfEVhpSvVZhC+iGifD6U1zJ4tbibjjN+Xi3blSXaj/rJynAkCFFQfoG6VZrAiP7uGVzL440Q6Me2Q==",
6699
  "cpu": [
6700
  "x64"
6701
  ],
 
6706
  ]
6707
  },
6708
  "node_modules/@rollup/rollup-win32-arm64-msvc": {
6709
+ "version": "4.19.1",
6710
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.1.tgz",
6711
+ "integrity": "sha512-88brja2vldW/76jWATlBqHEoGjJLRnP0WOEKAUbMcXaAZnemNhlAHSyj4jIwMoP2T750LE9lblvD4e2jXleZsA==",
6712
  "cpu": [
6713
  "arm64"
6714
  ],
 
6719
  ]
6720
  },
6721
  "node_modules/@rollup/rollup-win32-ia32-msvc": {
6722
+ "version": "4.19.1",
6723
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.1.tgz",
6724
+ "integrity": "sha512-LdxxcqRVSXi6k6JUrTah1rHuaupoeuiv38du8Mt4r4IPer3kwlTo+RuvfE8KzZ/tL6BhaPlzJ3835i6CxrFIRQ==",
6725
  "cpu": [
6726
  "ia32"
6727
  ],
 
6732
  ]
6733
  },
6734
  "node_modules/@rollup/rollup-win32-x64-msvc": {
6735
+ "version": "4.19.1",
6736
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.1.tgz",
6737
+ "integrity": "sha512-2bIrL28PcK3YCqD9anGxDxamxdiJAxA+l7fWIwM5o8UqNy1t3d1NdAweO2XhA0KTDJ5aH1FsuiT5+7VhtHliXg==",
6738
  "cpu": [
6739
  "x64"
6740
  ],
 
6745
  ]
6746
  },
6747
  "node_modules/@rushstack/eslint-patch": {
6748
+ "version": "1.10.4",
6749
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz",
6750
+ "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==",
6751
  "dev": true
6752
  },
6753
  "node_modules/@sindresorhus/is": {
 
6790
  }
6791
  },
6792
  "node_modules/@smithy/core": {
6793
+ "version": "2.3.1",
6794
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.1.tgz",
6795
+ "integrity": "sha512-BC7VMXx/1BCmRPCVzzn4HGWAtsrb7/0758EtwOGFJQrlSwJBEjCcDLNZLFoL/68JexYa2s+KmgL/UfmXdG6v1w==",
6796
  "dependencies": {
6797
  "@smithy/middleware-endpoint": "^3.1.0",
6798
+ "@smithy/middleware-retry": "^3.0.13",
6799
  "@smithy/middleware-serde": "^3.0.3",
6800
  "@smithy/protocol-http": "^4.1.0",
6801
+ "@smithy/smithy-client": "^3.1.11",
6802
  "@smithy/types": "^3.3.0",
6803
  "@smithy/util-middleware": "^3.0.3",
6804
  "tslib": "^2.6.2"
 
6856
  }
6857
  },
6858
  "node_modules/@smithy/fetch-http-handler": {
6859
+ "version": "3.2.4",
6860
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz",
6861
+ "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==",
6862
  "dependencies": {
6863
  "@smithy/protocol-http": "^4.1.0",
6864
  "@smithy/querystring-builder": "^3.0.3",
 
6932
  }
6933
  },
6934
  "node_modules/@smithy/middleware-retry": {
6935
+ "version": "3.0.13",
6936
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.13.tgz",
6937
+ "integrity": "sha512-zvCLfaRYCaUmjbF2yxShGZdolSHft7NNCTA28HVN9hKcEbOH+g5irr1X9s+in8EpambclGnevZY4A3lYpvDCFw==",
6938
  "dependencies": {
6939
  "@smithy/node-config-provider": "^3.1.4",
6940
  "@smithy/protocol-http": "^4.1.0",
6941
  "@smithy/service-error-classification": "^3.0.3",
6942
+ "@smithy/smithy-client": "^3.1.11",
6943
  "@smithy/types": "^3.3.0",
6944
  "@smithy/util-middleware": "^3.0.3",
6945
  "@smithy/util-retry": "^3.0.3",
 
7094
  }
7095
  },
7096
  "node_modules/@smithy/smithy-client": {
7097
+ "version": "3.1.11",
7098
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.11.tgz",
7099
+ "integrity": "sha512-l0BpyYkciNyMaS+PnFFz4aO5sBcXvGLoJd7mX9xrMBIm2nIQBVvYgp2ZpPDMzwjKCavsXu06iuCm0F6ZJZc6yQ==",
7100
  "dependencies": {
7101
  "@smithy/middleware-endpoint": "^3.1.0",
7102
  "@smithy/middleware-stack": "^3.0.3",
7103
  "@smithy/protocol-http": "^4.1.0",
7104
  "@smithy/types": "^3.3.0",
7105
+ "@smithy/util-stream": "^3.1.3",
7106
  "tslib": "^2.6.2"
7107
  },
7108
  "engines": {
 
7186
  }
7187
  },
7188
  "node_modules/@smithy/util-defaults-mode-browser": {
7189
+ "version": "3.0.13",
7190
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.13.tgz",
7191
+ "integrity": "sha512-ZIRSUsnnMRStOP6OKtW+gCSiVFkwnfQF2xtf32QKAbHR6ACjhbAybDvry+3L5qQYdh3H6+7yD/AiUE45n8mTTw==",
7192
  "dependencies": {
7193
  "@smithy/property-provider": "^3.1.3",
7194
+ "@smithy/smithy-client": "^3.1.11",
7195
  "@smithy/types": "^3.3.0",
7196
  "bowser": "^2.11.0",
7197
  "tslib": "^2.6.2"
 
7201
  }
7202
  },
7203
  "node_modules/@smithy/util-defaults-mode-node": {
7204
+ "version": "3.0.13",
7205
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.13.tgz",
7206
+ "integrity": "sha512-voUa8TFJGfD+U12tlNNLCDlXibt9vRdNzRX45Onk/WxZe7TS+hTOZouEZRa7oARGicdgeXvt1A0W45qLGYdy+g==",
7207
  "dependencies": {
7208
  "@smithy/config-resolver": "^3.0.5",
7209
  "@smithy/credential-provider-imds": "^3.2.0",
7210
  "@smithy/node-config-provider": "^3.1.4",
7211
  "@smithy/property-provider": "^3.1.3",
7212
+ "@smithy/smithy-client": "^3.1.11",
7213
  "@smithy/types": "^3.3.0",
7214
  "tslib": "^2.6.2"
7215
  },
 
7267
  }
7268
  },
7269
  "node_modules/@smithy/util-stream": {
7270
+ "version": "3.1.3",
7271
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz",
7272
+ "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==",
7273
  "dependencies": {
7274
+ "@smithy/fetch-http-handler": "^3.2.4",
7275
  "@smithy/node-http-handler": "^3.1.4",
7276
  "@smithy/types": "^3.3.0",
7277
  "@smithy/util-base64": "^3.0.0",
 
7723
  "integrity": "sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A=="
7724
  },
7725
  "node_modules/@types/three": {
7726
+ "version": "0.167.1",
7727
+ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.167.1.tgz",
7728
+ "integrity": "sha512-OCd2Uv/8/4TbmSaIRFawrCOnDMLdpaa+QGJdhlUBmdfbHjLY8k6uFc0tde2/UvcaHQ6NtLl28onj/vJfofV+Tg==",
7729
  "peer": true,
7730
  "dependencies": {
7731
  "@tweenjs/tween.js": "~23.1.2",
 
10239
  "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="
10240
  },
10241
  "node_modules/debug": {
10242
+ "version": "4.3.6",
10243
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
10244
+ "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
10245
  "dependencies": {
10246
  "ms": "2.1.2"
10247
  },
 
13179
  "version": "4.0.1",
13180
  "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz",
13181
  "integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==",
13182
+ "deprecated": "Package is no longer maintained",
13183
  "dependencies": {
13184
  "node-forge": "^1.3.1"
13185
  },
 
16114
  }
16115
  },
16116
  "node_modules/openai": {
16117
+ "version": "4.53.2",
16118
+ "resolved": "https://registry.npmjs.org/openai/-/openai-4.53.2.tgz",
16119
+ "integrity": "sha512-ohYEv6OV3jsFGqNrgolDDWN6Ssx1nFg6JDJQuaBFo4SL2i+MBoOQ16n2Pq1iBF5lH1PKnfCIOfqAGkmzPvdB9g==",
16120
  "dependencies": {
16121
  "@types/node": "^18.11.18",
16122
  "@types/node-fetch": "^2.6.4",
 
17933
  "integrity": "sha512-hzjy826lrxzx8eRgv80idkf8ua1JAepRc9Efdtj03N3KNJuznQCPlyCJ7gnUmDFwZCLQjxy567mQVKmdv2BsXQ=="
17934
  },
17935
  "node_modules/rollup": {
17936
+ "version": "4.19.1",
17937
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.1.tgz",
17938
+ "integrity": "sha512-K5vziVlg7hTpYfFBI+91zHBEMo6jafYXpkMlqZjg7/zhIG9iHqazBf4xz9AVdjS9BruRn280ROqLI7G3OFRIlw==",
17939
  "dev": true,
17940
  "dependencies": {
17941
  "@types/estree": "1.0.5"
 
17948
  "npm": ">=8.0.0"
17949
  },
17950
  "optionalDependencies": {
17951
+ "@rollup/rollup-android-arm-eabi": "4.19.1",
17952
+ "@rollup/rollup-android-arm64": "4.19.1",
17953
+ "@rollup/rollup-darwin-arm64": "4.19.1",
17954
+ "@rollup/rollup-darwin-x64": "4.19.1",
17955
+ "@rollup/rollup-linux-arm-gnueabihf": "4.19.1",
17956
+ "@rollup/rollup-linux-arm-musleabihf": "4.19.1",
17957
+ "@rollup/rollup-linux-arm64-gnu": "4.19.1",
17958
+ "@rollup/rollup-linux-arm64-musl": "4.19.1",
17959
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.19.1",
17960
+ "@rollup/rollup-linux-riscv64-gnu": "4.19.1",
17961
+ "@rollup/rollup-linux-s390x-gnu": "4.19.1",
17962
+ "@rollup/rollup-linux-x64-gnu": "4.19.1",
17963
+ "@rollup/rollup-linux-x64-musl": "4.19.1",
17964
+ "@rollup/rollup-win32-arm64-msvc": "4.19.1",
17965
+ "@rollup/rollup-win32-ia32-msvc": "4.19.1",
17966
+ "@rollup/rollup-win32-x64-msvc": "4.19.1",
17967
  "fsevents": "~2.3.2"
17968
  }
17969
  },
package.json CHANGED
@@ -38,7 +38,7 @@
38
  "dependencies": {
39
  "@aitube/broadway": "0.1.2",
40
  "@aitube/clap": "0.1.2",
41
- "@aitube/clapper-services": "0.1.2-2",
42
  "@aitube/engine": "0.1.2",
43
  "@aitube/timeline": "0.1.2-0",
44
  "@fal-ai/serverless-client": "^0.13.0",
@@ -163,5 +163,25 @@
163
  "tailwindcss": "^3.4.3",
164
  "typescript": "^5.5.0",
165
  "vitest": "^2.0.2"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  }
167
  }
 
38
  "dependencies": {
39
  "@aitube/broadway": "0.1.2",
40
  "@aitube/clap": "0.1.2",
41
+ "@aitube/clapper-services": "0.1.2-4",
42
  "@aitube/engine": "0.1.2",
43
  "@aitube/timeline": "0.1.2-0",
44
  "@fal-ai/serverless-client": "^0.13.0",
 
163
  "tailwindcss": "^3.4.3",
164
  "typescript": "^5.5.0",
165
  "vitest": "^2.0.2"
166
+ },
167
+ "optionalDependencies": {
168
+ "@img/sharp-win32-ia32": "0.33.4",
169
+ "@img/sharp-win32-x64": "0.33.4",
170
+ "@img/sharp-darwin-arm64": "0.33.4",
171
+ "@img/sharp-darwin-x64": "0.33.4",
172
+ "@img/sharp-linux-arm": "0.33.4",
173
+ "@img/sharp-linux-arm64": "0.33.4",
174
+ "@img/sharp-linux-x64": "0.33.4",
175
+ "@img/sharp-linuxmusl-x64": "0.33.4",
176
+ "@img/sharp-linuxmusl-arm64": "0.33.4",
177
+ "@img/sharp-libvips-win32-x64": "1.0.2",
178
+ "@img/sharp-libvips-win32-ia32": "1.0.2",
179
+ "@img/sharp-libvips-linux-arm": "1.0.2",
180
+ "@img/sharp-libvips-linux-x64": "1.0.2",
181
+ "@img/sharp-libvips-linux-arm64": "1.0.2",
182
+ "@img/sharp-libvips-linuxmusl-x64": "1.0.2",
183
+ "@img/sharp-libvips-linuxmusl-arm64": "1.0.2",
184
+ "@img/sharp-libvips-darwin-x64": "1.0.2",
185
+ "@img/sharp-libvips-darwin-arm64": "1.0.2"
186
  }
187
  }
src/components/assistant/ChatView.tsx CHANGED
@@ -47,6 +47,7 @@ export function ChatView() {
47
  placeholder="Ask something (a red car, etc)"
48
  value={draft}
49
  onChange={(e) => setDraft(e.target.value)}
 
50
  onKeyDown={({ key }) => {
51
  if (key === 'Enter') {
52
  handleSubmit()
 
47
  placeholder="Ask something (a red car, etc)"
48
  value={draft}
49
  onChange={(e) => setDraft(e.target.value)}
50
+ className="rounded-none border-t border-none"
51
  onKeyDown={({ key }) => {
52
  if (key === 'Enter') {
53
  handleSubmit()
src/components/forms/FormInput.tsx CHANGED
@@ -11,6 +11,7 @@ import { cn, getValidNumber, isValidNumber } from '@/lib/utils'
11
  import { Input } from '../ui/input'
12
 
13
  import { FormField } from './FormField'
 
14
 
15
  export function FormInput<T>(
16
  {
@@ -24,7 +25,7 @@ export function FormInput<T>(
24
  disabled,
25
  onChange,
26
  type,
27
- // ...props
28
  }: {
29
  label?: ReactNode
30
  className?: string
@@ -36,10 +37,12 @@ export function FormInput<T>(
36
  disabled?: boolean
37
  onChange?: (newValue: T) => void
38
  type?: HTMLInputTypeAttribute
 
39
  }
40
  // & Omit<ComponentProps<typeof Input>, "value" | "defaultValue" | "placeholder" | "type" | "className" | "disabled" | "onChange">
41
  // & ComponentProps<typeof Input>
42
  ) {
 
43
  const isNumberInput =
44
  typeof defaultValue === 'number' || typeof value === 'number'
45
 
@@ -100,9 +103,13 @@ export function FormInput<T>(
100
  // {...props}
101
  type={inputType}
102
  value={`${value || defaultValue}`}
103
-
104
  // since we are controlling the element with value=*, we should not use defaultValue=*
105
  // defaultValue={`${defaultValue || ""}`}
 
 
 
 
 
106
  />
107
  </FormField>
108
  )
 
11
  import { Input } from '../ui/input'
12
 
13
  import { FormField } from './FormField'
14
+ import { useTheme } from '@/services'
15
 
16
  export function FormInput<T>(
17
  {
 
25
  disabled,
26
  onChange,
27
  type,
28
+ ...props
29
  }: {
30
  label?: ReactNode
31
  className?: string
 
37
  disabled?: boolean
38
  onChange?: (newValue: T) => void
39
  type?: HTMLInputTypeAttribute
40
+ props?: any
41
  }
42
  // & Omit<ComponentProps<typeof Input>, "value" | "defaultValue" | "placeholder" | "type" | "className" | "disabled" | "onChange">
43
  // & ComponentProps<typeof Input>
44
  ) {
45
+ const theme = useTheme()
46
  const isNumberInput =
47
  typeof defaultValue === 'number' || typeof value === 'number'
48
 
 
103
  // {...props}
104
  type={inputType}
105
  value={`${value || defaultValue}`}
 
106
  // since we are controlling the element with value=*, we should not use defaultValue=*
107
  // defaultValue={`${defaultValue || ""}`}
108
+
109
+ style={{
110
+ borderRadius: theme.formInputRadius || '8px',
111
+ }}
112
+ {...props}
113
  />
114
  </FormField>
115
  )
src/components/forms/FormLabel.tsx CHANGED
@@ -10,7 +10,12 @@ export function FormLabel({
10
  className?: string
11
  }) {
12
  return (
13
- <label className={cn(`font-mono text-xs text-white/70`, className)}>
 
 
 
 
 
14
  {children}
15
  </label>
16
  )
 
10
  className?: string
11
  }) {
12
  return (
13
+ <label
14
+ className={cn(`font-mono text-xs text-white/80`, className)}
15
+ style={{
16
+ textShadow: '#000000 0px 0 1px',
17
+ }}
18
+ >
19
  {children}
20
  </label>
21
  )
src/components/forms/FormSection.tsx CHANGED
@@ -19,7 +19,7 @@ export function FormSection({
19
  className
20
  )}
21
  >
22
- <h2 className="pb-2 text-xl font-normal text-white/45">{label}</h2>
23
  <div className={cn('flex w-full', 'flex-col space-y-4')}>{children}</div>
24
  </div>
25
  )
 
19
  className
20
  )}
21
  >
22
+ <h2 className="pb-2 text-xl font-normal text-white/60">{label}</h2>
23
  <div className={cn('flex w-full', 'flex-col space-y-4')}>{children}</div>
24
  </div>
25
  )
src/components/forms/FormSelect.tsx CHANGED
@@ -8,6 +8,7 @@ import {
8
  SelectTrigger,
9
  SelectValue,
10
  } from '../ui/select'
 
11
 
12
  export function FormSelect<T>({
13
  label,
@@ -18,6 +19,7 @@ export function FormSelect<T>({
18
  defaultItemLabel,
19
  items = [],
20
  onSelect,
 
21
  }: {
22
  label?: string
23
  className?: string
@@ -32,7 +34,9 @@ export function FormSelect<T>({
32
  value: T
33
  }[]
34
  onSelect?: (value?: T) => void
 
35
  }) {
 
36
  return (
37
  <FormField
38
  label={
@@ -54,6 +58,10 @@ export function FormSelect<T>({
54
  onSelect(selectedItem?.value)
55
  }}
56
  defaultValue={selectedItemId}
 
 
 
 
57
  >
58
  <SelectTrigger className={cn(`w-full`, `font-mono text-xs font-light`)}>
59
  <SelectValue placeholder={selectedItemLabel} />
 
8
  SelectTrigger,
9
  SelectValue,
10
  } from '../ui/select'
11
+ import { useTheme } from '@/services'
12
 
13
  export function FormSelect<T>({
14
  label,
 
19
  defaultItemLabel,
20
  items = [],
21
  onSelect,
22
+ props,
23
  }: {
24
  label?: string
25
  className?: string
 
34
  value: T
35
  }[]
36
  onSelect?: (value?: T) => void
37
+ props?: any
38
  }) {
39
+ const theme = useTheme()
40
  return (
41
  <FormField
42
  label={
 
58
  onSelect(selectedItem?.value)
59
  }}
60
  defaultValue={selectedItemId}
61
+ style={{
62
+ borderRadius: theme.formInputRadius || '8px',
63
+ }}
64
+ {...props}
65
  >
66
  <SelectTrigger className={cn(`w-full`, `font-mono text-xs font-light`)}>
67
  <SelectValue placeholder={selectedItemLabel} />
src/components/ui/switch.tsx CHANGED
@@ -19,7 +19,7 @@ const Switch = React.forwardRef<
19
  >
20
  <SwitchPrimitives.Thumb
21
  className={cn(
22
- 'pointer-events-none block h-5 w-5 rounded-full bg-white/80 shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 dark:bg-neutral-950/60'
23
  )}
24
  />
25
  </SwitchPrimitives.Root>
 
19
  >
20
  <SwitchPrimitives.Thumb
21
  className={cn(
22
+ 'pointer-events-none block h-5 w-5 rounded-full bg-white/40 shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 dark:bg-neutral-950/40'
23
  )}
24
  />
25
  </SwitchPrimitives.Root>
src/lib/utils/decodeOutput.ts CHANGED
@@ -14,7 +14,13 @@ export async function decodeOutput(input: any): Promise<string> {
14
  ? urlOrBase64
15
  : await fetchContentToBase64(urlOrBase64)
16
 
17
- if (base64Url.startsWith('data:image/')) {
 
 
 
 
 
 
18
  // this step is important since some providers store data as PNG,
19
  // which is a unreasonable since a few frames quickly add up to 10 Mb,
20
  // we can't afford to have a 20 Gb .clap file
 
14
  ? urlOrBase64
15
  : await fetchContentToBase64(urlOrBase64)
16
 
17
+ if (
18
+ base64Url.startsWith('data:image/')
19
+ ) {
20
+
21
+ if (base64Url.startsWith('data:image/jpeg') || base64Url.startsWith('data:image/jpg')) {
22
+ return base64Url
23
+ }
24
  // this step is important since some providers store data as PNG,
25
  // which is a unreasonable since a few frames quickly add up to 10 Mb,
26
  // we can't afford to have a 20 Gb .clap file
src/services/ui/theme.ts CHANGED
@@ -15,6 +15,7 @@
15
  import { ClapSegmentCategory } from '@aitube/clap'
16
  import {
17
  UITheme,
 
18
  UIThemeName,
19
  WorkflowEditorTheme,
20
  } from '@aitube/clapper-services'
@@ -79,6 +80,7 @@ export const backstage: UITheme = {
79
  id: 'backstage',
80
  label: 'Backstage',
81
  author: 'Clapper',
 
82
  description: '',
83
  defaultBgColor: '#1c1917',
84
  defaultTextColor: '#d6d3d1',
@@ -101,6 +103,8 @@ export const backstage: UITheme = {
101
  assistantRobotBgColor: '#3730a3',
102
  assistantRobotTextColor: '#e0e7ff',
103
 
 
 
104
  timeline: {
105
  topBarTimeScale: {
106
  backgroundColor: '#7d7c78',
@@ -160,6 +164,7 @@ export const midnight: UITheme = {
160
  id: 'midnight',
161
  label: 'Midnight',
162
  author: 'Clapper',
 
163
  description: '',
164
  defaultBgColor: '#101e2d',
165
  defaultTextColor: '#b8bdc3',
@@ -171,7 +176,7 @@ export const midnight: UITheme = {
171
  editorTextColor: '#b8bdc3',
172
  editorMenuBgColor: '#000e1d',
173
  editorMenuTextColor: 'b8bdc3',
174
- editorBorderColor: '#152639',
175
  monitorBgColor: '#011222',
176
  monitorSecondaryTextColor: '#b8bdc3',
177
  monitorPrimaryTextColor: '#5A9DF7',
@@ -180,6 +185,9 @@ export const midnight: UITheme = {
180
  assistantUserTextColor: '#bae6fd',
181
  assistantRobotBgColor: '#3730a3',
182
  assistantRobotTextColor: '#e0e7ff',
 
 
 
183
  timeline: {
184
  topBarTimeScale: {
185
  backgroundColor: '#32506b',
@@ -197,17 +205,6 @@ export const midnight: UITheme = {
197
  cell: {
198
  categoryColors: baseClapSegmentCategoryColors,
199
  waveform: {
200
- // "original" style
201
- // lineSpacing: 2,
202
- // gradientStart: 1.0,
203
- // gradientEnd: 0.6,
204
-
205
- // "drapes" style
206
- // lineSpacing: 0,
207
- // gradientStart: 0.7,
208
- // gradientEnd: 0.1,
209
-
210
- // that is an "aggressive" style
211
  lineSpacing: 1,
212
  gradientStart: 0.6,
213
  gradientEnd: 1.0,
@@ -237,6 +234,7 @@ export const lavender: UITheme = {
237
  id: 'lavender',
238
  label: 'Lavender',
239
  author: 'Clapper',
 
240
  description: '',
241
  defaultBgColor: '#32294b',
242
  defaultTextColor: '#dbd0fd',
@@ -257,6 +255,9 @@ export const lavender: UITheme = {
257
  assistantUserTextColor: '#bae6fd',
258
  assistantRobotBgColor: '#3730a3',
259
  assistantRobotTextColor: '#e0e7ff',
 
 
 
260
  timeline: {
261
  topBarTimeScale: {
262
  backgroundColor: '#6E5A7F',
@@ -314,6 +315,7 @@ export const flix: UITheme = {
314
  id: 'flix',
315
  label: 'Flix',
316
  author: 'Clapper',
 
317
  description: 'A new DVD rent-by-mail business',
318
  defaultBgColor: '#000000',
319
  defaultTextColor: '#D22F27',
@@ -334,6 +336,9 @@ export const flix: UITheme = {
334
  assistantUserTextColor: '#bae6fd',
335
  assistantRobotBgColor: '#3730a3',
336
  assistantRobotTextColor: '#e0e7ff',
 
 
 
337
  timeline: {
338
  topBarTimeScale: {
339
  backgroundColor: 'rgb(80,80,80)',
@@ -392,6 +397,7 @@ export const lore: UITheme = {
392
  id: 'lore',
393
  label: 'Lore',
394
  author: 'Clapper',
 
395
  description: '',
396
  defaultBgColor: '#151520',
397
  defaultTextColor: '#f6d6d8',
@@ -403,7 +409,7 @@ export const lore: UITheme = {
403
  editorTextColor: '#f6d6d8',
404
  editorMenuBgColor: '#151520',
405
  editorMenuTextColor: 'f6d6d8',
406
- editorBorderColor: '#252530',
407
  monitorBgColor: '#151520',
408
  monitorSecondaryTextColor: '#D6D3D1',
409
  monitorPrimaryTextColor: '#DE4A80',
@@ -412,14 +418,17 @@ export const lore: UITheme = {
412
  assistantUserTextColor: '#bae6fd',
413
  assistantRobotBgColor: '#3730a3',
414
  assistantRobotTextColor: '#e0e7ff',
 
 
 
415
  timeline: {
416
  topBarTimeScale: {
417
- backgroundColor: 'rgb(100,100,127)',
418
  textColor: '#ffffff',
419
  lineColor: '#E6E6E6',
420
  },
421
  leftBarTrackScale: {
422
- backgroundColor: 'rgb(100,100,127)',
423
  textColor: '#ffffff',
424
  lineColor: '#B3B3B3',
425
  },
@@ -469,6 +478,7 @@ export const gordon: UITheme = {
469
  id: 'gordon',
470
  label: 'Gordon',
471
  author: 'Clapper',
 
472
  description: '',
473
  defaultBgColor: '#525252',
474
  defaultTextColor: '#e0e0e0',
@@ -478,10 +488,10 @@ export const gordon: UITheme = {
478
  editorBgColor: '#434343',
479
  editorCursorColor: '#ffffff',
480
  editorTextColor: '#e0e0e0',
481
- editorMenuBgColor: '#333333',
482
  editorMenuTextColor: 'e0e0e0',
483
  editorBorderColor: '#2e2e2e',
484
- monitorBgColor: '#323232',
485
  monitorSecondaryTextColor: '#e0e0e0',
486
  monitorPrimaryTextColor: '#ff8400',
487
 
@@ -491,6 +501,8 @@ export const gordon: UITheme = {
491
  assistantRobotBgColor: '#6b6b6b',
492
  assistantRobotTextColor: '#ffffff',
493
 
 
 
494
  timeline: {
495
  topBarTimeScale: {
496
  backgroundColor: '#7b7b7b',
@@ -545,90 +557,11 @@ export const gordon: UITheme = {
545
  },
546
  }
547
 
548
- export const system360: UITheme = {
549
- id: 'system360',
550
- label: 'System/360',
551
- author: 'Clapper',
552
- description: 'Inspired by vintage IBM mainframes',
553
- defaultBgColor: '#e0e0d8', // Light smoky grey
554
- defaultTextColor: '#31312F',
555
- defaultPrimaryColor: '#C74E40', // IBM blue
556
- defaultBorderColor: '#b8b8b0', // Lighter grey for borders
557
- logoColor: '#C74E40',
558
- editorBgColor: '#d8d8d0', // "#f0f0e8", // Slightly lighter grey for contrast
559
- editorCursorColor: '#C74E40',
560
- editorTextColor: '#31312F',
561
- editorMenuBgColor: '#2A2522', // // "#d8d8d0", // Slightly darker grey for menus
562
- editorMenuTextColor: '31312F',
563
- editorBorderColor: '#b8b8b0',
564
- monitorBgColor: '#2A2522', // Black for screen areas
565
- monitorSecondaryTextColor: '#4E88DA', // Green for terminal text
566
- monitorPrimaryTextColor: '#818173', // White for important text
567
-
568
- assistantBgColor: '#d8d8d0',
569
- assistantUserBgColor: '#0072c6',
570
- assistantUserTextColor: '#ffffff',
571
- assistantRobotBgColor: '#d62728', // Red accent from the image
572
- assistantRobotTextColor: '#ffffff',
573
-
574
- timeline: {
575
- topBarTimeScale: {
576
- backgroundColor: '#d8d8d3',
577
- textColor: '#333333',
578
- lineColor: '#666666',
579
- },
580
- leftBarTrackScale: {
581
- backgroundColor: '#d8d8d3',
582
- textColor: '#333333',
583
- lineColor: '#666666',
584
- },
585
- grid: {
586
- backgroundColor: '#f0f0e8',
587
- },
588
- cell: {
589
- categoryColors: baseClapSegmentCategoryColors,
590
-
591
- waveform: {
592
- // "original" style
593
- lineSpacing: 2,
594
- gradientStart: 1.0,
595
- gradientEnd: 0.6,
596
-
597
- // "drapes" style
598
- // lineSpacing: 0,
599
- // gradientStart: 0.7,
600
- // gradientEnd: 0.1,
601
-
602
- // that is an "aggressive" style
603
- // lineSpacing: 1,
604
- // gradientStart: 0.6,
605
- // gradientEnd: 1.0,
606
- },
607
- },
608
- playbackCursor: {
609
- lineColor: '#C74E40',
610
- },
611
- },
612
- workflow: {
613
- bgColor: '#100e0e',
614
- node: {
615
- bgColor: '#2f2f2f',
616
- borderColor: '#3e3a39',
617
- textPrimaryColor: '#d6d3d1',
618
- textSecondaryColor: '#b6b3b1',
619
- radius: '8px',
620
- },
621
- handle: {
622
- inputColor: '#FACC15',
623
- outputColor: '#FACC15',
624
- },
625
- },
626
- }
627
-
628
  export const silent: UITheme = {
629
  id: 'silent',
630
  label: 'Silent',
631
  author: 'Clapper',
 
632
  description: 'Monochrome theme inspired by classic films',
633
  defaultBgColor: '#1a1a1a',
634
  defaultTextColor: '#d0d0d0',
@@ -649,6 +582,9 @@ export const silent: UITheme = {
649
  assistantUserTextColor: '#ffffff',
650
  assistantRobotBgColor: '#2a2a2a',
651
  assistantRobotTextColor: '#e0e0e0',
 
 
 
652
  timeline: {
653
  topBarTimeScale: {
654
  backgroundColor: '#3a3a3a',
@@ -771,80 +707,72 @@ export const silent: UITheme = {
771
  },
772
  }
773
 
774
- export const sandy: UITheme = {
775
- id: 'sandy',
776
- label: 'Sandy',
777
  author: 'Clapper',
778
- description: 'Warm, sandy tones with a rosy tint and colorful accents',
779
- defaultBgColor: '#c2b3b3', // Main background color with rose tint
780
- defaultTextColor: '#4a3939',
781
- defaultPrimaryColor: '#e67a7a', // Rosier accent color
782
- defaultBorderColor: '#ab9e9e',
783
- logoColor: '#e67a7a',
784
- editorBgColor: '#d1c2c2', // Slightly lighter for contrast, with rose tint
785
- editorCursorColor: '#e67a7a',
786
- editorTextColor: '#4a3939',
787
- editorMenuBgColor: '#a29494', // Slightly darker for menus, with rose tint
788
- editorMenuTextColor: '4a3939',
789
- editorBorderColor: '#ab9e9e',
790
- monitorBgColor: '#e0d1d1', // Light rose-sand color for main workspace
791
- monitorSecondaryTextColor: '#755e5e',
792
- monitorPrimaryTextColor: '#4a3939',
793
- assistantBgColor: '#d1c2c2',
794
- assistantUserBgColor: '#e67a7a',
795
- assistantUserTextColor: '#ffffff',
796
- assistantRobotBgColor: '#b68e8e', // Rosier teal accent color
797
- assistantRobotTextColor: '#ffffff',
 
 
 
 
798
  timeline: {
799
  topBarTimeScale: {
800
- backgroundColor: '#e0d3d3',
801
- textColor: '#2a1919',
802
- lineColor: '#553e3e',
803
  },
804
  leftBarTrackScale: {
805
- backgroundColor: '#e0d3d3',
806
- textColor: '#2a1919',
807
- lineColor: '#553e3e',
808
  },
809
  grid: {
810
- backgroundColor: '#b0a3a3',
811
  },
812
  cell: {
813
- categoryColors: baseClapSegmentCategoryColors,
814
-
815
  waveform: {
816
- // "original" style
817
- //lineSpacing: 2,
818
- //gradientStart: 1.0,
819
- //gradientEnd: 0.6,
820
-
821
- // "drapes" style
822
- lineSpacing: 0,
823
- gradientStart: 0.7,
824
- gradientEnd: 0.1,
825
-
826
- // that is an "aggressive" style
827
- // lineSpacing: 1,
828
- // gradientStart: 0.6,
829
- // gradientEnd: 1.0,
830
  },
831
  },
832
  playbackCursor: {
833
- lineColor: '#e67a7a',
834
  },
835
  },
836
  workflow: {
837
- bgColor: '#100e0e',
838
  node: {
839
- bgColor: '#2f2f2f',
840
- borderColor: '#3e3a39',
841
- textPrimaryColor: '#d6d3d1',
842
- textSecondaryColor: '#b6b3b1',
843
- radius: '8px',
844
  },
845
  handle: {
846
- inputColor: '#FACC15',
847
- outputColor: '#FACC15',
848
  },
849
  },
850
  }
@@ -854,11 +782,10 @@ export const themes: Record<UIThemeName, UITheme> = {
854
  backstage,
855
  midnight,
856
  lavender,
857
- // sandy,
858
  flix,
859
  lore,
860
  gordon,
861
- // system360,
862
  silent,
863
  }
864
 
 
15
  import { ClapSegmentCategory } from '@aitube/clap'
16
  import {
17
  UITheme,
18
+ UIThemeColorMode,
19
  UIThemeName,
20
  WorkflowEditorTheme,
21
  } from '@aitube/clapper-services'
 
80
  id: 'backstage',
81
  label: 'Backstage',
82
  author: 'Clapper',
83
+ colorMode: UIThemeColorMode.DARK,
84
  description: '',
85
  defaultBgColor: '#1c1917',
86
  defaultTextColor: '#d6d3d1',
 
103
  assistantRobotBgColor: '#3730a3',
104
  assistantRobotTextColor: '#e0e7ff',
105
 
106
+ formInputRadius: '8px',
107
+
108
  timeline: {
109
  topBarTimeScale: {
110
  backgroundColor: '#7d7c78',
 
164
  id: 'midnight',
165
  label: 'Midnight',
166
  author: 'Clapper',
167
+ colorMode: UIThemeColorMode.DARK,
168
  description: '',
169
  defaultBgColor: '#101e2d',
170
  defaultTextColor: '#b8bdc3',
 
176
  editorTextColor: '#b8bdc3',
177
  editorMenuBgColor: '#000e1d',
178
  editorMenuTextColor: 'b8bdc3',
179
+ editorBorderColor: '#232e3b',
180
  monitorBgColor: '#011222',
181
  monitorSecondaryTextColor: '#b8bdc3',
182
  monitorPrimaryTextColor: '#5A9DF7',
 
185
  assistantUserTextColor: '#bae6fd',
186
  assistantRobotBgColor: '#3730a3',
187
  assistantRobotTextColor: '#e0e7ff',
188
+
189
+ formInputRadius: '8px',
190
+
191
  timeline: {
192
  topBarTimeScale: {
193
  backgroundColor: '#32506b',
 
205
  cell: {
206
  categoryColors: baseClapSegmentCategoryColors,
207
  waveform: {
 
 
 
 
 
 
 
 
 
 
 
208
  lineSpacing: 1,
209
  gradientStart: 0.6,
210
  gradientEnd: 1.0,
 
234
  id: 'lavender',
235
  label: 'Lavender',
236
  author: 'Clapper',
237
+ colorMode: UIThemeColorMode.DARK,
238
  description: '',
239
  defaultBgColor: '#32294b',
240
  defaultTextColor: '#dbd0fd',
 
255
  assistantUserTextColor: '#bae6fd',
256
  assistantRobotBgColor: '#3730a3',
257
  assistantRobotTextColor: '#e0e7ff',
258
+
259
+ formInputRadius: '8px',
260
+
261
  timeline: {
262
  topBarTimeScale: {
263
  backgroundColor: '#6E5A7F',
 
315
  id: 'flix',
316
  label: 'Flix',
317
  author: 'Clapper',
318
+ colorMode: UIThemeColorMode.DARK,
319
  description: 'A new DVD rent-by-mail business',
320
  defaultBgColor: '#000000',
321
  defaultTextColor: '#D22F27',
 
336
  assistantUserTextColor: '#bae6fd',
337
  assistantRobotBgColor: '#3730a3',
338
  assistantRobotTextColor: '#e0e7ff',
339
+
340
+ formInputRadius: '8px',
341
+
342
  timeline: {
343
  topBarTimeScale: {
344
  backgroundColor: 'rgb(80,80,80)',
 
397
  id: 'lore',
398
  label: 'Lore',
399
  author: 'Clapper',
400
+ colorMode: UIThemeColorMode.DARK,
401
  description: '',
402
  defaultBgColor: '#151520',
403
  defaultTextColor: '#f6d6d8',
 
409
  editorTextColor: '#f6d6d8',
410
  editorMenuBgColor: '#151520',
411
  editorMenuTextColor: 'f6d6d8',
412
+ editorBorderColor: '#282834',
413
  monitorBgColor: '#151520',
414
  monitorSecondaryTextColor: '#D6D3D1',
415
  monitorPrimaryTextColor: '#DE4A80',
 
418
  assistantUserTextColor: '#bae6fd',
419
  assistantRobotBgColor: '#3730a3',
420
  assistantRobotTextColor: '#e0e7ff',
421
+
422
+ formInputRadius: '8px',
423
+
424
  timeline: {
425
  topBarTimeScale: {
426
+ backgroundColor: 'rgb(98,94,111)',
427
  textColor: '#ffffff',
428
  lineColor: '#E6E6E6',
429
  },
430
  leftBarTrackScale: {
431
+ backgroundColor: 'rgb(98,94,111)',
432
  textColor: '#ffffff',
433
  lineColor: '#B3B3B3',
434
  },
 
478
  id: 'gordon',
479
  label: 'Gordon',
480
  author: 'Clapper',
481
+ colorMode: UIThemeColorMode.DARK,
482
  description: '',
483
  defaultBgColor: '#525252',
484
  defaultTextColor: '#e0e0e0',
 
488
  editorBgColor: '#434343',
489
  editorCursorColor: '#ffffff',
490
  editorTextColor: '#e0e0e0',
491
+ editorMenuBgColor: '#323232',
492
  editorMenuTextColor: 'e0e0e0',
493
  editorBorderColor: '#2e2e2e',
494
+ monitorBgColor: '#333333',
495
  monitorSecondaryTextColor: '#e0e0e0',
496
  monitorPrimaryTextColor: '#ff8400',
497
 
 
501
  assistantRobotBgColor: '#6b6b6b',
502
  assistantRobotTextColor: '#ffffff',
503
 
504
+ formInputRadius: '8px',
505
+
506
  timeline: {
507
  topBarTimeScale: {
508
  backgroundColor: '#7b7b7b',
 
557
  },
558
  }
559
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
560
  export const silent: UITheme = {
561
  id: 'silent',
562
  label: 'Silent',
563
  author: 'Clapper',
564
+ colorMode: UIThemeColorMode.DARK,
565
  description: 'Monochrome theme inspired by classic films',
566
  defaultBgColor: '#1a1a1a',
567
  defaultTextColor: '#d0d0d0',
 
582
  assistantUserTextColor: '#ffffff',
583
  assistantRobotBgColor: '#2a2a2a',
584
  assistantRobotTextColor: '#e0e0e0',
585
+
586
+ formInputRadius: '32px',
587
+
588
  timeline: {
589
  topBarTimeScale: {
590
  backgroundColor: '#3a3a3a',
 
707
  },
708
  }
709
 
710
+ export const ripley: UITheme = {
711
+ id: 'ripley',
712
+ label: 'Ripley',
713
  author: 'Clapper',
714
+ colorMode: UIThemeColorMode.DARK,
715
+ description: 'Inspired by a famous Weyland-Yutani employee.',
716
+ defaultBgColor: '#292929',
717
+ defaultTextColor: '#E0E7E0',
718
+ defaultPrimaryColor: '#bcc227',
719
+ defaultBorderColor: '#4A4A4A',
720
+ logoColor: '#bcc227',
721
+ editorBgColor: '#1E1E1E',
722
+ editorCursorColor: '#bcc227',
723
+ editorTextColor: '#E0E7E0',
724
+ editorMenuBgColor: '#383838',
725
+ editorMenuTextColor: '#E0E7E0',
726
+ editorBorderColor: '#4A4A4A',
727
+ monitorBgColor: '#1E1E1E',
728
+ monitorSecondaryTextColor: '#bfbfb0',
729
+ monitorPrimaryTextColor: '#bcc227',
730
+ assistantBgColor: '#1E1E1E',
731
+ assistantUserBgColor: '#3A4D3A',
732
+ assistantUserTextColor: '#D1ECD1',
733
+ assistantRobotBgColor: '#4A5E4A',
734
+ assistantRobotTextColor: '#E6F3E6',
735
+
736
+ formInputRadius: '32px',
737
+
738
  timeline: {
739
  topBarTimeScale: {
740
+ backgroundColor: '#797979',
741
+ textColor: '#FFFFFF',
742
+ lineColor: '#D6D6D6',
743
  },
744
  leftBarTrackScale: {
745
+ backgroundColor: '#797979',
746
+ textColor: '#FFFFFF',
747
+ lineColor: '#D6D6D6',
748
  },
749
  grid: {
750
+ backgroundColor: '#292929',
751
  },
752
  cell: {
753
+ categoryColors: baseClapSegmentCategoryColors, // Assuming this is defined elsewhere
 
754
  waveform: {
755
+ lineSpacing: 2,
756
+ gradientStart: 1.0,
757
+ gradientEnd: 0.6,
 
 
 
 
 
 
 
 
 
 
 
758
  },
759
  },
760
  playbackCursor: {
761
+ lineColor: '#bcc227',
762
  },
763
  },
764
  workflow: {
765
+ bgColor: '#292929',
766
  node: {
767
+ bgColor: '#383838',
768
+ borderColor: '#4A4A4A',
769
+ textPrimaryColor: '#bfbfb0',
770
+ textSecondaryColor: '#A4D6A4',
771
+ radius: '32px',
772
  },
773
  handle: {
774
+ inputColor: '#bcc227',
775
+ outputColor: '#bcc227',
776
  },
777
  },
778
  }
 
782
  backstage,
783
  midnight,
784
  lavender,
 
785
  flix,
786
  lore,
787
  gordon,
788
+ ripley,
789
  silent,
790
  }
791