Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
Commit
•
6915e3a
1
Parent(s):
083ce88
upgrade the timeline
Browse files- package-lock.json +76 -79
- package.json +2 -2
- src/app/main.tsx +10 -6
- src/components/editors/EntityEditor/index.tsx +27 -2
- src/components/editors/SegmentEditor/index.tsx +16 -6
- src/lib/core/constants.ts +1 -1
- src/services/monitor/useMonitor.ts +4 -2
- src/services/ui/theme.ts +27 -0
package-lock.json
CHANGED
@@ -10,9 +10,9 @@
|
|
10 |
"dependencies": {
|
11 |
"@aitube/broadway": "0.0.22",
|
12 |
"@aitube/clap": "0.0.30",
|
13 |
-
"@aitube/clapper-services": "0.0.
|
14 |
"@aitube/engine": "0.0.26",
|
15 |
-
"@aitube/timeline": "0.0.
|
16 |
"@fal-ai/serverless-client": "^0.11.0",
|
17 |
"@gradio/client": "^1.1.1",
|
18 |
"@huggingface/hub": "^0.15.1",
|
@@ -137,12 +137,12 @@
|
|
137 |
}
|
138 |
},
|
139 |
"node_modules/@aitube/clapper-services": {
|
140 |
-
"version": "0.0.
|
141 |
-
"resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.0.
|
142 |
-
"integrity": "sha512-
|
143 |
"peerDependencies": {
|
144 |
"@aitube/clap": "0.0.30",
|
145 |
-
"@aitube/timeline": "0.0.
|
146 |
"@monaco-editor/react": "4.6.0",
|
147 |
"monaco-editor": "0.50.0",
|
148 |
"react": "*",
|
@@ -168,9 +168,9 @@
|
|
168 |
}
|
169 |
},
|
170 |
"node_modules/@aitube/timeline": {
|
171 |
-
"version": "0.0.
|
172 |
-
"resolved": "https://registry.npmjs.org/@aitube/timeline/-/timeline-0.0.
|
173 |
-
"integrity": "sha512-
|
174 |
"dependencies": {
|
175 |
"date-fns": "^3.6.0",
|
176 |
"react-virtualized-auto-sizer": "^1.0.24"
|
@@ -4336,15 +4336,15 @@
|
|
4336 |
}
|
4337 |
},
|
4338 |
"node_modules/@smithy/core": {
|
4339 |
-
"version": "2.2.
|
4340 |
-
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.
|
4341 |
-
"integrity": "sha512-
|
4342 |
"dependencies": {
|
4343 |
"@smithy/middleware-endpoint": "^3.0.4",
|
4344 |
-
"@smithy/middleware-retry": "^3.0.
|
4345 |
"@smithy/middleware-serde": "^3.0.3",
|
4346 |
"@smithy/protocol-http": "^4.0.3",
|
4347 |
-
"@smithy/smithy-client": "^3.1.
|
4348 |
"@smithy/types": "^3.3.0",
|
4349 |
"@smithy/util-middleware": "^3.0.3",
|
4350 |
"tslib": "^2.6.2"
|
@@ -4402,9 +4402,9 @@
|
|
4402 |
}
|
4403 |
},
|
4404 |
"node_modules/@smithy/fetch-http-handler": {
|
4405 |
-
"version": "3.2.
|
4406 |
-
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.
|
4407 |
-
"integrity": "sha512-
|
4408 |
"dependencies": {
|
4409 |
"@smithy/protocol-http": "^4.0.3",
|
4410 |
"@smithy/querystring-builder": "^3.0.3",
|
@@ -4478,14 +4478,14 @@
|
|
4478 |
}
|
4479 |
},
|
4480 |
"node_modules/@smithy/middleware-retry": {
|
4481 |
-
"version": "3.0.
|
4482 |
-
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.
|
4483 |
-
"integrity": "sha512-
|
4484 |
"dependencies": {
|
4485 |
"@smithy/node-config-provider": "^3.1.3",
|
4486 |
"@smithy/protocol-http": "^4.0.3",
|
4487 |
"@smithy/service-error-classification": "^3.0.3",
|
4488 |
-
"@smithy/smithy-client": "^3.1.
|
4489 |
"@smithy/types": "^3.3.0",
|
4490 |
"@smithy/util-middleware": "^3.0.3",
|
4491 |
"@smithy/util-retry": "^3.0.3",
|
@@ -4535,9 +4535,9 @@
|
|
4535 |
}
|
4536 |
},
|
4537 |
"node_modules/@smithy/node-http-handler": {
|
4538 |
-
"version": "3.1.
|
4539 |
-
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.
|
4540 |
-
"integrity": "sha512-
|
4541 |
"dependencies": {
|
4542 |
"@smithy/abort-controller": "^3.1.1",
|
4543 |
"@smithy/protocol-http": "^4.0.3",
|
@@ -4639,15 +4639,15 @@
|
|
4639 |
}
|
4640 |
},
|
4641 |
"node_modules/@smithy/smithy-client": {
|
4642 |
-
"version": "3.1.
|
4643 |
-
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.
|
4644 |
-
"integrity": "sha512-
|
4645 |
"dependencies": {
|
4646 |
"@smithy/middleware-endpoint": "^3.0.4",
|
4647 |
"@smithy/middleware-stack": "^3.0.3",
|
4648 |
"@smithy/protocol-http": "^4.0.3",
|
4649 |
"@smithy/types": "^3.3.0",
|
4650 |
-
"@smithy/util-stream": "^3.0.
|
4651 |
"tslib": "^2.6.2"
|
4652 |
},
|
4653 |
"engines": {
|
@@ -4731,12 +4731,12 @@
|
|
4731 |
}
|
4732 |
},
|
4733 |
"node_modules/@smithy/util-defaults-mode-browser": {
|
4734 |
-
"version": "3.0.
|
4735 |
-
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.
|
4736 |
-
"integrity": "sha512-
|
4737 |
"dependencies": {
|
4738 |
"@smithy/property-provider": "^3.1.3",
|
4739 |
-
"@smithy/smithy-client": "^3.1.
|
4740 |
"@smithy/types": "^3.3.0",
|
4741 |
"bowser": "^2.11.0",
|
4742 |
"tslib": "^2.6.2"
|
@@ -4746,15 +4746,15 @@
|
|
4746 |
}
|
4747 |
},
|
4748 |
"node_modules/@smithy/util-defaults-mode-node": {
|
4749 |
-
"version": "3.0.
|
4750 |
-
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.
|
4751 |
-
"integrity": "sha512-
|
4752 |
"dependencies": {
|
4753 |
"@smithy/config-resolver": "^3.0.4",
|
4754 |
"@smithy/credential-provider-imds": "^3.1.3",
|
4755 |
"@smithy/node-config-provider": "^3.1.3",
|
4756 |
"@smithy/property-provider": "^3.1.3",
|
4757 |
-
"@smithy/smithy-client": "^3.1.
|
4758 |
"@smithy/types": "^3.3.0",
|
4759 |
"tslib": "^2.6.2"
|
4760 |
},
|
@@ -4812,12 +4812,12 @@
|
|
4812 |
}
|
4813 |
},
|
4814 |
"node_modules/@smithy/util-stream": {
|
4815 |
-
"version": "3.0.
|
4816 |
-
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.
|
4817 |
-
"integrity": "sha512-
|
4818 |
"dependencies": {
|
4819 |
-
"@smithy/fetch-http-handler": "^3.2.
|
4820 |
-
"@smithy/node-http-handler": "^3.1.
|
4821 |
"@smithy/types": "^3.3.0",
|
4822 |
"@smithy/util-base64": "^3.0.0",
|
4823 |
"@smithy/util-buffer-from": "^3.0.0",
|
@@ -5615,12 +5615,12 @@
|
|
5615 |
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
5616 |
},
|
5617 |
"node_modules/automation-events": {
|
5618 |
-
"version": "7.0.
|
5619 |
-
"resolved": "https://registry.npmjs.org/automation-events/-/automation-events-7.0.
|
5620 |
-
"integrity": "sha512-
|
5621 |
"dependencies": {
|
5622 |
-
"@babel/runtime": "^7.24.
|
5623 |
-
"tslib": "^2.6.
|
5624 |
},
|
5625 |
"engines": {
|
5626 |
"node": ">=18.2.0"
|
@@ -6961,9 +6961,9 @@
|
|
6961 |
}
|
6962 |
},
|
6963 |
"node_modules/electron-to-chromium": {
|
6964 |
-
"version": "1.4.
|
6965 |
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.
|
6966 |
-
"integrity": "sha512-
|
6967 |
},
|
6968 |
"node_modules/emoji-regex": {
|
6969 |
"version": "9.2.2",
|
@@ -7613,9 +7613,9 @@
|
|
7613 |
}
|
7614 |
},
|
7615 |
"node_modules/esquery": {
|
7616 |
-
"version": "1.
|
7617 |
-
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.
|
7618 |
-
"integrity": "sha512-
|
7619 |
"dev": true,
|
7620 |
"dependencies": {
|
7621 |
"estraverse": "^5.1.0"
|
@@ -7745,12 +7745,12 @@
|
|
7745 |
"integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="
|
7746 |
},
|
7747 |
"node_modules/fast-unique-numbers": {
|
7748 |
-
"version": "9.0.
|
7749 |
-
"resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-9.0.
|
7750 |
-
"integrity": "sha512-
|
7751 |
"dependencies": {
|
7752 |
-
"@babel/runtime": "^7.24.
|
7753 |
-
"tslib": "^2.6.
|
7754 |
},
|
7755 |
"engines": {
|
7756 |
"node": ">=18.2.0"
|
@@ -10149,9 +10149,9 @@
|
|
10149 |
}
|
10150 |
},
|
10151 |
"node_modules/openai": {
|
10152 |
-
"version": "4.52.
|
10153 |
-
"resolved": "https://registry.npmjs.org/openai/-/openai-4.52.
|
10154 |
-
"integrity": "sha512-
|
10155 |
"dependencies": {
|
10156 |
"@types/node": "^18.11.18",
|
10157 |
"@types/node-fetch": "^2.6.4",
|
@@ -10399,11 +10399,11 @@
|
|
10399 |
}
|
10400 |
},
|
10401 |
"node_modules/path-scurry/node_modules/lru-cache": {
|
10402 |
-
"version": "10.
|
10403 |
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.
|
10404 |
-
"integrity": "sha512-
|
10405 |
"engines": {
|
10406 |
-
"node": ">=
|
10407 |
}
|
10408 |
},
|
10409 |
"node_modules/path-to-regexp": {
|
@@ -10708,9 +10708,9 @@
|
|
10708 |
}
|
10709 |
},
|
10710 |
"node_modules/qs": {
|
10711 |
-
"version": "6.12.
|
10712 |
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.
|
10713 |
-
"integrity": "sha512-
|
10714 |
"dependencies": {
|
10715 |
"side-channel": "^1.0.6"
|
10716 |
},
|
@@ -11554,13 +11554,13 @@
|
|
11554 |
}
|
11555 |
},
|
11556 |
"node_modules/standardized-audio-context": {
|
11557 |
-
"version": "25.3.
|
11558 |
-
"resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.
|
11559 |
-
"integrity": "sha512-
|
11560 |
"dependencies": {
|
11561 |
-
"@babel/runtime": "^7.24.
|
11562 |
-
"automation-events": "^7.0.
|
11563 |
-
"tslib": "^2.6.
|
11564 |
}
|
11565 |
},
|
11566 |
"node_modules/state-local": {
|
@@ -11950,12 +11950,9 @@
|
|
11950 |
}
|
11951 |
},
|
11952 |
"node_modules/tailwind-merge": {
|
11953 |
-
"version": "2.
|
11954 |
-
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.
|
11955 |
-
"integrity": "sha512-
|
11956 |
-
"dependencies": {
|
11957 |
-
"@babel/runtime": "^7.24.1"
|
11958 |
-
},
|
11959 |
"funding": {
|
11960 |
"type": "github",
|
11961 |
"url": "https://github.com/sponsors/dcastil"
|
|
|
10 |
"dependencies": {
|
11 |
"@aitube/broadway": "0.0.22",
|
12 |
"@aitube/clap": "0.0.30",
|
13 |
+
"@aitube/clapper-services": "0.0.16",
|
14 |
"@aitube/engine": "0.0.26",
|
15 |
+
"@aitube/timeline": "0.0.40",
|
16 |
"@fal-ai/serverless-client": "^0.11.0",
|
17 |
"@gradio/client": "^1.1.1",
|
18 |
"@huggingface/hub": "^0.15.1",
|
|
|
137 |
}
|
138 |
},
|
139 |
"node_modules/@aitube/clapper-services": {
|
140 |
+
"version": "0.0.16",
|
141 |
+
"resolved": "https://registry.npmjs.org/@aitube/clapper-services/-/clapper-services-0.0.16.tgz",
|
142 |
+
"integrity": "sha512-fMUoyjiSmE1zWPDWq7kNHKhOhtylgceaVsV7wOzdHMfBNruTPgAG1rHgN1o4m4HicYn4KCZwa433d9zDKDPXRg==",
|
143 |
"peerDependencies": {
|
144 |
"@aitube/clap": "0.0.30",
|
145 |
+
"@aitube/timeline": "0.0.40",
|
146 |
"@monaco-editor/react": "4.6.0",
|
147 |
"monaco-editor": "0.50.0",
|
148 |
"react": "*",
|
|
|
168 |
}
|
169 |
},
|
170 |
"node_modules/@aitube/timeline": {
|
171 |
+
"version": "0.0.40",
|
172 |
+
"resolved": "https://registry.npmjs.org/@aitube/timeline/-/timeline-0.0.40.tgz",
|
173 |
+
"integrity": "sha512-TBH0Ji3rOMTITvDK6TwYr+0dRARY4hJsAeHXWt9yUXLfEYNwx8R2XR7qlk3C0gSSEpH11n7pB8qpx3TtpzSWCQ==",
|
174 |
"dependencies": {
|
175 |
"date-fns": "^3.6.0",
|
176 |
"react-virtualized-auto-sizer": "^1.0.24"
|
|
|
4336 |
}
|
4337 |
},
|
4338 |
"node_modules/@smithy/core": {
|
4339 |
+
"version": "2.2.5",
|
4340 |
+
"resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.2.5.tgz",
|
4341 |
+
"integrity": "sha512-0kqyj93/Aa30TEXnnWRBetN8fDGjFF+u8cdIiMI8YS6CrUF2dLTavRfHKfWh5cL5d6s2ZNyEnLjBitdcKmkETQ==",
|
4342 |
"dependencies": {
|
4343 |
"@smithy/middleware-endpoint": "^3.0.4",
|
4344 |
+
"@smithy/middleware-retry": "^3.0.8",
|
4345 |
"@smithy/middleware-serde": "^3.0.3",
|
4346 |
"@smithy/protocol-http": "^4.0.3",
|
4347 |
+
"@smithy/smithy-client": "^3.1.6",
|
4348 |
"@smithy/types": "^3.3.0",
|
4349 |
"@smithy/util-middleware": "^3.0.3",
|
4350 |
"tslib": "^2.6.2"
|
|
|
4402 |
}
|
4403 |
},
|
4404 |
"node_modules/@smithy/fetch-http-handler": {
|
4405 |
+
"version": "3.2.1",
|
4406 |
+
"resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.1.tgz",
|
4407 |
+
"integrity": "sha512-0w0bgUvZmfa0vHN8a+moByhCJT07WN6AHKEhFSOLsDpnszm+5dLVv5utGaqbhOrZ/aF5x3xuPMs/oMCd+4O5xg==",
|
4408 |
"dependencies": {
|
4409 |
"@smithy/protocol-http": "^4.0.3",
|
4410 |
"@smithy/querystring-builder": "^3.0.3",
|
|
|
4478 |
}
|
4479 |
},
|
4480 |
"node_modules/@smithy/middleware-retry": {
|
4481 |
+
"version": "3.0.8",
|
4482 |
+
"resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.8.tgz",
|
4483 |
+
"integrity": "sha512-wmIw3t6ZbeqstUFdXtStzSSltoYrcfc28ndnr0mDSMmtMSRNduNbmneA7xiE224fVFXzbf24+0oREks1u2X7Mw==",
|
4484 |
"dependencies": {
|
4485 |
"@smithy/node-config-provider": "^3.1.3",
|
4486 |
"@smithy/protocol-http": "^4.0.3",
|
4487 |
"@smithy/service-error-classification": "^3.0.3",
|
4488 |
+
"@smithy/smithy-client": "^3.1.6",
|
4489 |
"@smithy/types": "^3.3.0",
|
4490 |
"@smithy/util-middleware": "^3.0.3",
|
4491 |
"@smithy/util-retry": "^3.0.3",
|
|
|
4535 |
}
|
4536 |
},
|
4537 |
"node_modules/@smithy/node-http-handler": {
|
4538 |
+
"version": "3.1.2",
|
4539 |
+
"resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.2.tgz",
|
4540 |
+
"integrity": "sha512-Td3rUNI7qqtoSLTsJBtsyfoG4cF/XMFmJr6Z2dX8QNzIi6tIW6YmuyFml8mJ2cNpyWNqITKbROMOFrvQjmsOvw==",
|
4541 |
"dependencies": {
|
4542 |
"@smithy/abort-controller": "^3.1.1",
|
4543 |
"@smithy/protocol-http": "^4.0.3",
|
|
|
4639 |
}
|
4640 |
},
|
4641 |
"node_modules/@smithy/smithy-client": {
|
4642 |
+
"version": "3.1.6",
|
4643 |
+
"resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.6.tgz",
|
4644 |
+
"integrity": "sha512-w9oboI661hfptr26houZ5mdKc//DMxkuOMXSaIiALqGn4bHYT9S4U69BBS6tHX4TZHgShmhcz0d6aXk7FY5soA==",
|
4645 |
"dependencies": {
|
4646 |
"@smithy/middleware-endpoint": "^3.0.4",
|
4647 |
"@smithy/middleware-stack": "^3.0.3",
|
4648 |
"@smithy/protocol-http": "^4.0.3",
|
4649 |
"@smithy/types": "^3.3.0",
|
4650 |
+
"@smithy/util-stream": "^3.0.6",
|
4651 |
"tslib": "^2.6.2"
|
4652 |
},
|
4653 |
"engines": {
|
|
|
4731 |
}
|
4732 |
},
|
4733 |
"node_modules/@smithy/util-defaults-mode-browser": {
|
4734 |
+
"version": "3.0.8",
|
4735 |
+
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.8.tgz",
|
4736 |
+
"integrity": "sha512-eLRHCvM1w3ZJkYcd60yKqM3d70dPB+071EDpf9ZGYqFed3xcm/+pWwNS/xM0JXRrjm0yAA19dWcdFN2IE/66pQ==",
|
4737 |
"dependencies": {
|
4738 |
"@smithy/property-provider": "^3.1.3",
|
4739 |
+
"@smithy/smithy-client": "^3.1.6",
|
4740 |
"@smithy/types": "^3.3.0",
|
4741 |
"bowser": "^2.11.0",
|
4742 |
"tslib": "^2.6.2"
|
|
|
4746 |
}
|
4747 |
},
|
4748 |
"node_modules/@smithy/util-defaults-mode-node": {
|
4749 |
+
"version": "3.0.8",
|
4750 |
+
"resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.8.tgz",
|
4751 |
+
"integrity": "sha512-Tajvdyg5+k77j6AOrwSCZgi7KdBizqPNs3HCnFGRoxDjzh+CjPLaLrXbIRB0lsAmqYmRHIU34IogByaqvDrkBQ==",
|
4752 |
"dependencies": {
|
4753 |
"@smithy/config-resolver": "^3.0.4",
|
4754 |
"@smithy/credential-provider-imds": "^3.1.3",
|
4755 |
"@smithy/node-config-provider": "^3.1.3",
|
4756 |
"@smithy/property-provider": "^3.1.3",
|
4757 |
+
"@smithy/smithy-client": "^3.1.6",
|
4758 |
"@smithy/types": "^3.3.0",
|
4759 |
"tslib": "^2.6.2"
|
4760 |
},
|
|
|
4812 |
}
|
4813 |
},
|
4814 |
"node_modules/@smithy/util-stream": {
|
4815 |
+
"version": "3.0.6",
|
4816 |
+
"resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.0.6.tgz",
|
4817 |
+
"integrity": "sha512-w9i//7egejAIvplX821rPWWgaiY1dxsQUw0hXX7qwa/uZ9U3zplqTQ871jWadkcVB9gFDhkPWYVZf4yfFbZ0xA==",
|
4818 |
"dependencies": {
|
4819 |
+
"@smithy/fetch-http-handler": "^3.2.1",
|
4820 |
+
"@smithy/node-http-handler": "^3.1.2",
|
4821 |
"@smithy/types": "^3.3.0",
|
4822 |
"@smithy/util-base64": "^3.0.0",
|
4823 |
"@smithy/util-buffer-from": "^3.0.0",
|
|
|
5615 |
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
5616 |
},
|
5617 |
"node_modules/automation-events": {
|
5618 |
+
"version": "7.0.6",
|
5619 |
+
"resolved": "https://registry.npmjs.org/automation-events/-/automation-events-7.0.6.tgz",
|
5620 |
+
"integrity": "sha512-3tFP+Xrk0u0JWdGEvJGtW9oUdWOnX1v6RwFapgIwanBvn21yCzgBMe+FlAPW+3kIQsxIDV9mFw//BzrGXOJQ5A==",
|
5621 |
"dependencies": {
|
5622 |
+
"@babel/runtime": "^7.24.7",
|
5623 |
+
"tslib": "^2.6.3"
|
5624 |
},
|
5625 |
"engines": {
|
5626 |
"node": ">=18.2.0"
|
|
|
6961 |
}
|
6962 |
},
|
6963 |
"node_modules/electron-to-chromium": {
|
6964 |
+
"version": "1.4.820",
|
6965 |
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.820.tgz",
|
6966 |
+
"integrity": "sha512-kK/4O/YunacfboFEk/BDf7VO1HoPmDudLTJAU9NmXIOSjsV7qVIX3OrI4REZo0VmdqhcpUcncQc6N8Q3aEXlHg=="
|
6967 |
},
|
6968 |
"node_modules/emoji-regex": {
|
6969 |
"version": "9.2.2",
|
|
|
7613 |
}
|
7614 |
},
|
7615 |
"node_modules/esquery": {
|
7616 |
+
"version": "1.6.0",
|
7617 |
+
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz",
|
7618 |
+
"integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
|
7619 |
"dev": true,
|
7620 |
"dependencies": {
|
7621 |
"estraverse": "^5.1.0"
|
|
|
7745 |
"integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="
|
7746 |
},
|
7747 |
"node_modules/fast-unique-numbers": {
|
7748 |
+
"version": "9.0.6",
|
7749 |
+
"resolved": "https://registry.npmjs.org/fast-unique-numbers/-/fast-unique-numbers-9.0.6.tgz",
|
7750 |
+
"integrity": "sha512-KGsLrPoDOcnPVDVuZGnc/bHwBA9u9uvsmLK3sNr7js7TWVuM0Udb6lP4YnNZtphb+zBDCsknxf4BNg7grNjTPg==",
|
7751 |
"dependencies": {
|
7752 |
+
"@babel/runtime": "^7.24.7",
|
7753 |
+
"tslib": "^2.6.3"
|
7754 |
},
|
7755 |
"engines": {
|
7756 |
"node": ">=18.2.0"
|
|
|
10149 |
}
|
10150 |
},
|
10151 |
"node_modules/openai": {
|
10152 |
+
"version": "4.52.4",
|
10153 |
+
"resolved": "https://registry.npmjs.org/openai/-/openai-4.52.4.tgz",
|
10154 |
+
"integrity": "sha512-3CkV7e8epJBnTe5ptn4i3ivfm1d8cvkbvBOzhGmGYEarpDpcCgwOMV1aBPvZ/HoveUtREWUE9Fqcy7BcPNtMJg==",
|
10155 |
"dependencies": {
|
10156 |
"@types/node": "^18.11.18",
|
10157 |
"@types/node-fetch": "^2.6.4",
|
|
|
10399 |
}
|
10400 |
},
|
10401 |
"node_modules/path-scurry/node_modules/lru-cache": {
|
10402 |
+
"version": "10.4.2",
|
10403 |
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.2.tgz",
|
10404 |
+
"integrity": "sha512-voV4dDrdVZVNz84n39LFKDaRzfwhdzJ7akpyXfTMxCgRUp07U3lcJUXRlhTKP17rgt09sUzLi5iCitpEAr+6ug==",
|
10405 |
"engines": {
|
10406 |
+
"node": "14 || 16 || 18 || 20 || >=22"
|
10407 |
}
|
10408 |
},
|
10409 |
"node_modules/path-to-regexp": {
|
|
|
10708 |
}
|
10709 |
},
|
10710 |
"node_modules/qs": {
|
10711 |
+
"version": "6.12.3",
|
10712 |
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz",
|
10713 |
+
"integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==",
|
10714 |
"dependencies": {
|
10715 |
"side-channel": "^1.0.6"
|
10716 |
},
|
|
|
11554 |
}
|
11555 |
},
|
11556 |
"node_modules/standardized-audio-context": {
|
11557 |
+
"version": "25.3.73",
|
11558 |
+
"resolved": "https://registry.npmjs.org/standardized-audio-context/-/standardized-audio-context-25.3.73.tgz",
|
11559 |
+
"integrity": "sha512-PiFIweBipW18uz0rNrXs8A7MzdCcVcEHiqf0B5RzwBIgp0eSb3Cj11HcWidrgR0XYeEogokcMsIbrVjy63mhoA==",
|
11560 |
"dependencies": {
|
11561 |
+
"@babel/runtime": "^7.24.7",
|
11562 |
+
"automation-events": "^7.0.6",
|
11563 |
+
"tslib": "^2.6.3"
|
11564 |
}
|
11565 |
},
|
11566 |
"node_modules/state-local": {
|
|
|
11950 |
}
|
11951 |
},
|
11952 |
"node_modules/tailwind-merge": {
|
11953 |
+
"version": "2.4.0",
|
11954 |
+
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.4.0.tgz",
|
11955 |
+
"integrity": "sha512-49AwoOQNKdqKPd9CViyH5wJoSKsCDjUlzL8DxuGp3P1FsGY36NJDAa18jLZcaHAUUuTj+JB8IAo8zWgBNvBF7A==",
|
|
|
|
|
|
|
11956 |
"funding": {
|
11957 |
"type": "github",
|
11958 |
"url": "https://github.com/sponsors/dcastil"
|
package.json
CHANGED
@@ -12,9 +12,9 @@
|
|
12 |
"dependencies": {
|
13 |
"@aitube/broadway": "0.0.22",
|
14 |
"@aitube/clap": "0.0.30",
|
15 |
-
"@aitube/clapper-services": "0.0.
|
16 |
"@aitube/engine": "0.0.26",
|
17 |
-
"@aitube/timeline": "0.0.
|
18 |
"@fal-ai/serverless-client": "^0.11.0",
|
19 |
"@gradio/client": "^1.1.1",
|
20 |
"@huggingface/hub": "^0.15.1",
|
|
|
12 |
"dependencies": {
|
13 |
"@aitube/broadway": "0.0.22",
|
14 |
"@aitube/clap": "0.0.30",
|
15 |
+
"@aitube/clapper-services": "0.0.16",
|
16 |
"@aitube/engine": "0.0.26",
|
17 |
+
"@aitube/timeline": "0.0.40",
|
18 |
"@fal-ai/serverless-client": "^0.11.0",
|
19 |
"@gradio/client": "^1.1.1",
|
20 |
"@huggingface/hub": "^0.15.1",
|
src/app/main.tsx
CHANGED
@@ -67,7 +67,8 @@ function MainContent() {
|
|
67 |
flex flex-col
|
68 |
w-screen h-screen
|
69 |
overflow-hidden
|
70 |
-
|
|
|
71 |
font-light
|
72 |
text-stone-900/90 dark:text-stone-100/90
|
73 |
`)}
|
@@ -76,10 +77,14 @@ function MainContent() {
|
|
76 |
}}
|
77 |
>
|
78 |
<TopBar />
|
79 |
-
<div className={cn(
|
80 |
-
|
81 |
-
|
82 |
-
|
|
|
|
|
|
|
|
|
83 |
<ReflexContainer orientation="vertical">
|
84 |
|
85 |
<ReflexElement>
|
@@ -120,7 +125,6 @@ function MainContent() {
|
|
120 |
{showAssistant && <ReflexElement size={300}><ChatView /></ReflexElement>}
|
121 |
|
122 |
</ReflexContainer>
|
123 |
-
|
124 |
</div>
|
125 |
|
126 |
<SettingsDialog />
|
|
|
67 |
flex flex-col
|
68 |
w-screen h-screen
|
69 |
overflow-hidden
|
70 |
+
justify-between
|
71 |
+
|
72 |
font-light
|
73 |
text-stone-900/90 dark:text-stone-100/90
|
74 |
`)}
|
|
|
77 |
}}
|
78 |
>
|
79 |
<TopBar />
|
80 |
+
<div className={cn(`
|
81 |
+
flex flex-row overflow-hidden
|
82 |
+
h-[calc(100vh-40px)] w-screen
|
83 |
+
`,
|
84 |
+
isEmpty ? "opacity-0" : "opacity-100"
|
85 |
+
)}
|
86 |
+
|
87 |
+
>
|
88 |
<ReflexContainer orientation="vertical">
|
89 |
|
90 |
<ReflexElement>
|
|
|
125 |
{showAssistant && <ReflexElement size={300}><ChatView /></ReflexElement>}
|
126 |
|
127 |
</ReflexContainer>
|
|
|
128 |
</div>
|
129 |
|
130 |
<SettingsDialog />
|
src/components/editors/EntityEditor/index.tsx
CHANGED
@@ -1,15 +1,37 @@
|
|
|
|
|
|
1 |
import { FormFile } from "@/components/forms/FormFile"
|
2 |
import { FormInput } from "@/components/forms/FormInput"
|
3 |
import { FormSection } from "@/components/forms/FormSection"
|
4 |
-
import { useEntityEditor } from "@/services"
|
|
|
|
|
5 |
|
6 |
export function EntityEditor() {
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
const current = useEntityEditor(s => s.current)
|
8 |
const setCurrent = useEntityEditor(s => s.setCurrent)
|
9 |
const history = useEntityEditor(s => s.history)
|
10 |
const undo = useEntityEditor(s => s.undo)
|
11 |
const redo = useEntityEditor(s => s.redo)
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
if (!current) {
|
14 |
return <div>
|
15 |
No Entity selected
|
@@ -30,7 +52,7 @@ export function EntityEditor() {
|
|
30 |
? <img src={current?.imageId}></img>
|
31 |
: null}
|
32 |
<FormFile
|
33 |
-
label={"Visual identity file"}
|
34 |
/>
|
35 |
{/*
|
36 |
<FormInput<string>
|
@@ -38,6 +60,9 @@ export function EntityEditor() {
|
|
38 |
value={current?.audioId.slice(0, 20)}
|
39 |
/>
|
40 |
*/}
|
|
|
|
|
|
|
41 |
<FormInput<string>
|
42 |
label={"Label"}
|
43 |
value={current.label}
|
|
|
1 |
+
import { TimelineSegment, useTimeline } from "@aitube/timeline"
|
2 |
+
|
3 |
import { FormFile } from "@/components/forms/FormFile"
|
4 |
import { FormInput } from "@/components/forms/FormInput"
|
5 |
import { FormSection } from "@/components/forms/FormSection"
|
6 |
+
import { useEntityEditor, useRenderer } from "@/services"
|
7 |
+
import { useEffect } from "react"
|
8 |
+
import { ClapEntity, ClapProject } from "@aitube/clap"
|
9 |
|
10 |
export function EntityEditor() {
|
11 |
+
const clap: ClapProject = useTimeline(s => s.clap)
|
12 |
+
|
13 |
+
const segmentsChanged: number = useTimeline(s => s.segmentsChanged)
|
14 |
+
const selectedSegments: TimelineSegment[] = useTimeline(s => s.selectedSegments)
|
15 |
+
const { activeSegments } = useRenderer(s => s.bufferedSegments)
|
16 |
+
|
17 |
const current = useEntityEditor(s => s.current)
|
18 |
const setCurrent = useEntityEditor(s => s.setCurrent)
|
19 |
const history = useEntityEditor(s => s.history)
|
20 |
const undo = useEntityEditor(s => s.undo)
|
21 |
const redo = useEntityEditor(s => s.redo)
|
22 |
|
23 |
+
let segment = selectedSegments.at(-1)
|
24 |
+
let entity: ClapEntity | undefined = clap.entityIndex[segment?.entityId as any]
|
25 |
+
|
26 |
+
if (!entity) {
|
27 |
+
segment = activeSegments.find(s => clap.entityIndex[s?.entityId as any])
|
28 |
+
entity = clap.entityIndex[segment?.entityId as any]
|
29 |
+
}
|
30 |
+
|
31 |
+
useEffect(() => {
|
32 |
+
setCurrent(entity)
|
33 |
+
}, [clap, entity, segmentsChanged])
|
34 |
+
|
35 |
if (!current) {
|
36 |
return <div>
|
37 |
No Entity selected
|
|
|
52 |
? <img src={current?.imageId}></img>
|
53 |
: null}
|
54 |
<FormFile
|
55 |
+
label={"Visual identity file (TODO)"}
|
56 |
/>
|
57 |
{/*
|
58 |
<FormInput<string>
|
|
|
60 |
value={current?.audioId.slice(0, 20)}
|
61 |
/>
|
62 |
*/}
|
63 |
+
<FormFile
|
64 |
+
label={"Audio identity file (TODO)"}
|
65 |
+
/>
|
66 |
<FormInput<string>
|
67 |
label={"Label"}
|
68 |
value={current.label}
|
src/components/editors/SegmentEditor/index.tsx
CHANGED
@@ -1,14 +1,25 @@
|
|
|
|
|
|
|
|
1 |
import { FormInput } from "@/components/forms/FormInput"
|
2 |
import { FormSection } from "@/components/forms/FormSection"
|
3 |
import { useSegmentEditor } from "@/services"
|
|
|
|
|
4 |
|
5 |
export function SegmentEditor() {
|
|
|
|
|
6 |
const current = useSegmentEditor(s => s.current)
|
7 |
const setCurrent = useSegmentEditor(s => s.setCurrent)
|
8 |
const history = useSegmentEditor(s => s.history)
|
9 |
const undo = useSegmentEditor(s => s.undo)
|
10 |
const redo = useSegmentEditor(s => s.redo)
|
11 |
|
|
|
|
|
|
|
|
|
12 |
if (!current) {
|
13 |
return <div>
|
14 |
No segment selected
|
@@ -17,12 +28,14 @@ export function SegmentEditor() {
|
|
17 |
|
18 |
return (
|
19 |
<FormSection
|
20 |
-
label={"
|
21 |
className="p-4">
|
22 |
<FormInput<string>
|
|
|
23 |
label={"Label"}
|
24 |
value={current.label}
|
25 |
/>
|
|
|
26 |
<FormInput<string>
|
27 |
label={"Prompt"}
|
28 |
value={current.prompt}
|
@@ -33,12 +46,9 @@ export function SegmentEditor() {
|
|
33 |
})
|
34 |
}}
|
35 |
/>
|
|
|
36 |
<div>
|
37 |
-
<div>
|
38 |
-
<div>{current.status || "N.A."}</div>
|
39 |
-
</div>
|
40 |
-
<div>
|
41 |
-
<div>Created at</div>
|
42 |
<div>{current.createdAt || "N.A."}</div>
|
43 |
</div>
|
44 |
</FormSection>
|
|
|
1 |
+
import { useEffect } from "react"
|
2 |
+
import { TimelineSegment, useTimeline } from "@aitube/timeline"
|
3 |
+
|
4 |
import { FormInput } from "@/components/forms/FormInput"
|
5 |
import { FormSection } from "@/components/forms/FormSection"
|
6 |
import { useSegmentEditor } from "@/services"
|
7 |
+
import { ClapSegmentStatus } from "@aitube/clap"
|
8 |
+
|
9 |
|
10 |
export function SegmentEditor() {
|
11 |
+
const segmentsChanged: number = useTimeline(s => s.segmentsChanged)
|
12 |
+
const selectedSegments: TimelineSegment[] = useTimeline(s => s.selectedSegments)
|
13 |
const current = useSegmentEditor(s => s.current)
|
14 |
const setCurrent = useSegmentEditor(s => s.setCurrent)
|
15 |
const history = useSegmentEditor(s => s.history)
|
16 |
const undo = useSegmentEditor(s => s.undo)
|
17 |
const redo = useSegmentEditor(s => s.redo)
|
18 |
|
19 |
+
useEffect(() => {
|
20 |
+
setCurrent(selectedSegments.at(-1))
|
21 |
+
}, [selectedSegments.map(s => s.id).join(',')])
|
22 |
+
|
23 |
if (!current) {
|
24 |
return <div>
|
25 |
No segment selected
|
|
|
28 |
|
29 |
return (
|
30 |
<FormSection
|
31 |
+
label={"Segment Editor"}
|
32 |
className="p-4">
|
33 |
<FormInput<string>
|
34 |
+
type="textarea"
|
35 |
label={"Label"}
|
36 |
value={current.label}
|
37 |
/>
|
38 |
+
{/*
|
39 |
<FormInput<string>
|
40 |
label={"Prompt"}
|
41 |
value={current.prompt}
|
|
|
46 |
})
|
47 |
}}
|
48 |
/>
|
49 |
+
*/}
|
50 |
<div>
|
51 |
+
<div>Created at:</div>
|
|
|
|
|
|
|
|
|
52 |
<div>{current.createdAt || "N.A."}</div>
|
53 |
</div>
|
54 |
</FormSection>
|
src/lib/core/constants.ts
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
export const HARD_LIMIT_NB_MAX_ASSETS_TO_GENERATE_IN_PARALLEL = 32
|
5 |
|
6 |
export const APP_NAME = "Clapper.app"
|
7 |
-
export const APP_REVISION = "
|
8 |
|
9 |
export const APP_DOMAIN = "Clapper.app"
|
10 |
export const APP_LINK = "https://clapper.app"
|
|
|
4 |
export const HARD_LIMIT_NB_MAX_ASSETS_TO_GENERATE_IN_PARALLEL = 32
|
5 |
|
6 |
export const APP_NAME = "Clapper.app"
|
7 |
+
export const APP_REVISION = "r20240709-1611"
|
8 |
|
9 |
export const APP_DOMAIN = "Clapper.app"
|
10 |
export const APP_LINK = "https://clapper.app"
|
src/services/monitor/useMonitor.ts
CHANGED
@@ -112,9 +112,11 @@ export const useMonitor = create<MonitorStore>((set, get) => ({
|
|
112 |
|
113 |
const { isPlaying, mode, staticVideoRef } = monitor
|
114 |
const { renderLoop } = renderer
|
115 |
-
const { setCursorTimestampAtInMs } = timeline
|
116 |
|
117 |
-
|
|
|
|
|
118 |
|
119 |
if (mode === MonitoringMode.NONE) {
|
120 |
return
|
|
|
112 |
|
113 |
const { isPlaying, mode, staticVideoRef } = monitor
|
114 |
const { renderLoop } = renderer
|
115 |
+
const { setCursorTimestampAtInMs, cursorTimestampAtInMs } = timeline
|
116 |
|
117 |
+
if (cursorTimestampAtInMs !== timeInMs) {
|
118 |
+
setCursorTimestampAtInMs(timeInMs)
|
119 |
+
}
|
120 |
|
121 |
if (mode === MonitoringMode.NONE) {
|
122 |
return
|
src/services/ui/theme.ts
CHANGED
@@ -106,6 +106,9 @@ export const backstage: UITheme = {
|
|
106 |
// gradientStart: 0.6,
|
107 |
// gradientEnd: 1.0,
|
108 |
}
|
|
|
|
|
|
|
109 |
}
|
110 |
}
|
111 |
|
@@ -170,6 +173,9 @@ export const midnight: UITheme = {
|
|
170 |
gradientStart: 0.6,
|
171 |
gradientEnd: 1.0,
|
172 |
}
|
|
|
|
|
|
|
173 |
}
|
174 |
}
|
175 |
}
|
@@ -233,6 +239,9 @@ export const lavender: UITheme = {
|
|
233 |
// gradientStart: 0.6,
|
234 |
// gradientEnd: 1.0,
|
235 |
}
|
|
|
|
|
|
|
236 |
}
|
237 |
}
|
238 |
}
|
@@ -296,6 +305,9 @@ export const flix: UITheme = {
|
|
296 |
gradientStart: 0.6,
|
297 |
gradientEnd: 1.0,
|
298 |
}
|
|
|
|
|
|
|
299 |
}
|
300 |
}
|
301 |
}
|
@@ -359,6 +371,9 @@ export const lore: UITheme = {
|
|
359 |
gradientStart: 0.6,
|
360 |
gradientEnd: 1.0,
|
361 |
}
|
|
|
|
|
|
|
362 |
}
|
363 |
}
|
364 |
}
|
@@ -423,6 +438,9 @@ export const gordon: UITheme = {
|
|
423 |
// gradientStart: 0.6,
|
424 |
// gradientEnd: 1.0,
|
425 |
}
|
|
|
|
|
|
|
426 |
}
|
427 |
}
|
428 |
}
|
@@ -488,6 +506,9 @@ export const system360: UITheme = {
|
|
488 |
// gradientStart: 0.6,
|
489 |
// gradientEnd: 1.0,
|
490 |
}
|
|
|
|
|
|
|
491 |
}
|
492 |
}
|
493 |
}
|
@@ -551,6 +572,9 @@ export const silent: UITheme = {
|
|
551 |
// gradientStart: 0.6,
|
552 |
// gradientEnd: 1.0,
|
553 |
}
|
|
|
|
|
|
|
554 |
}
|
555 |
}
|
556 |
}
|
@@ -614,6 +638,9 @@ export const sandy: UITheme = {
|
|
614 |
// gradientStart: 0.6,
|
615 |
// gradientEnd: 1.0,
|
616 |
}
|
|
|
|
|
|
|
617 |
}
|
618 |
}
|
619 |
}
|
|
|
106 |
// gradientStart: 0.6,
|
107 |
// gradientEnd: 1.0,
|
108 |
}
|
109 |
+
},
|
110 |
+
playbackCursor: {
|
111 |
+
lineColor: "#FACC15"
|
112 |
}
|
113 |
}
|
114 |
|
|
|
173 |
gradientStart: 0.6,
|
174 |
gradientEnd: 1.0,
|
175 |
}
|
176 |
+
},
|
177 |
+
playbackCursor: {
|
178 |
+
lineColor: "#5B9DF1",
|
179 |
}
|
180 |
}
|
181 |
}
|
|
|
239 |
// gradientStart: 0.6,
|
240 |
// gradientEnd: 1.0,
|
241 |
}
|
242 |
+
},
|
243 |
+
playbackCursor: {
|
244 |
+
lineColor: "#A78BFA",
|
245 |
}
|
246 |
}
|
247 |
}
|
|
|
305 |
gradientStart: 0.6,
|
306 |
gradientEnd: 1.0,
|
307 |
}
|
308 |
+
},
|
309 |
+
playbackCursor: {
|
310 |
+
lineColor: "#D22F27",
|
311 |
}
|
312 |
}
|
313 |
}
|
|
|
371 |
gradientStart: 0.6,
|
372 |
gradientEnd: 1.0,
|
373 |
}
|
374 |
+
},
|
375 |
+
playbackCursor: {
|
376 |
+
lineColor: "#DE4A80",
|
377 |
}
|
378 |
}
|
379 |
}
|
|
|
438 |
// gradientStart: 0.6,
|
439 |
// gradientEnd: 1.0,
|
440 |
}
|
441 |
+
},
|
442 |
+
playbackCursor: {
|
443 |
+
lineColor: "#ff8400",
|
444 |
}
|
445 |
}
|
446 |
}
|
|
|
506 |
// gradientStart: 0.6,
|
507 |
// gradientEnd: 1.0,
|
508 |
}
|
509 |
+
},
|
510 |
+
playbackCursor: {
|
511 |
+
lineColor: "#C74E40",
|
512 |
}
|
513 |
}
|
514 |
}
|
|
|
572 |
// gradientStart: 0.6,
|
573 |
// gradientEnd: 1.0,
|
574 |
}
|
575 |
+
},
|
576 |
+
playbackCursor: {
|
577 |
+
lineColor: "#ffffff",
|
578 |
}
|
579 |
}
|
580 |
}
|
|
|
638 |
// gradientStart: 0.6,
|
639 |
// gradientEnd: 1.0,
|
640 |
}
|
641 |
+
},
|
642 |
+
playbackCursor: {
|
643 |
+
lineColor: "#e67a7a",
|
644 |
}
|
645 |
}
|
646 |
}
|