cerevox 2.43.1 → 3.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/core/ai.d.ts +28 -3
  2. package/dist/core/ai.d.ts.map +1 -1
  3. package/dist/core/ai.js +45 -16
  4. package/dist/core/ai.js.map +1 -1
  5. package/dist/mcp/servers/prompts/actions/storyboard_optimization.md +5 -5
  6. package/dist/{utils/videoproject-schema.json → mcp/servers/prompts/draft_content-schema.json} +3 -3
  7. package/dist/mcp/servers/prompts/rules/creative-ad.md +6 -6
  8. package/dist/mcp/servers/prompts/rules/expert.md +25 -25
  9. package/dist/mcp/servers/prompts/rules/freeform.md +2 -3
  10. package/dist/mcp/servers/prompts/rules/general-video.md +10 -10
  11. package/dist/mcp/servers/prompts/rules/material-creation.md +2 -2
  12. package/dist/mcp/servers/prompts/rules/music-video.md +3 -3
  13. package/dist/mcp/servers/prompts/rules/stage-play.md +4 -4
  14. package/dist/mcp/servers/prompts/rules/story-telling.md +8 -8
  15. package/dist/mcp/servers/prompts/skills/storyboard/storyboard-optimization-skill.md +5 -5
  16. package/dist/mcp/servers/prompts/skills/video/continuity-techniques.md +1 -1
  17. package/dist/mcp/servers/prompts/skills/workflows/general-video.md +10 -10
  18. package/dist/mcp/servers/prompts/skills/workflows/music-video.md +3 -3
  19. package/dist/mcp/servers/prompts/zerocut-core.md +26 -27
  20. package/dist/mcp/servers/zerocut.d.ts.map +1 -1
  21. package/dist/mcp/servers/zerocut.js +397 -521
  22. package/dist/mcp/servers/zerocut.js.map +1 -1
  23. package/dist/utils/coze.d.ts +1 -0
  24. package/dist/utils/coze.d.ts.map +1 -1
  25. package/dist/utils/coze.js +19 -0
  26. package/dist/utils/coze.js.map +1 -1
  27. package/package.json +2 -2
  28. package/dist/timeline-editor/index.d.ts +0 -42
  29. package/dist/timeline-editor/index.d.ts.map +0 -1
  30. package/dist/timeline-editor/index.js +0 -82
  31. package/dist/timeline-editor/index.js.map +0 -1
  32. package/dist/timeline-editor/public/app.js +0 -2086
  33. package/dist/timeline-editor/public/index.html +0 -141
  34. package/dist/timeline-editor/public/style.css +0 -695
  35. package/dist/timeline-editor/server.d.ts +0 -137
  36. package/dist/timeline-editor/server.d.ts.map +0 -1
  37. package/dist/timeline-editor/server.js +0 -418
  38. package/dist/timeline-editor/server.js.map +0 -1
  39. /package/dist/{utils → mcp/servers/prompts}/storyboard-schema.json +0 -0
@@ -1,695 +0,0 @@
1
- /* ZeroCut Timeline Editor - Professional Video Editing Interface */
2
-
3
- /* Reset and base styles */
4
- * {
5
- margin: 0;
6
- padding: 0;
7
- box-sizing: border-box;
8
- }
9
-
10
- body {
11
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
12
- background: #1e1e1e;
13
- color: #ffffff;
14
- overflow: hidden;
15
- height: 100vh;
16
- }
17
-
18
- /* Header */
19
- .header {
20
- background: #2d2d2d;
21
- border-bottom: 1px solid #404040;
22
- padding: 0.5rem 1rem;
23
- display: flex;
24
- align-items: center;
25
- justify-content: space-between;
26
- height: 50px;
27
- z-index: 100;
28
- }
29
-
30
- .header h1 {
31
- font-size: 1.2rem;
32
- font-weight: 600;
33
- color: #ffffff;
34
- }
35
-
36
- .header-controls {
37
- display: flex;
38
- gap: 0.5rem;
39
- }
40
-
41
- .btn {
42
- background: #404040;
43
- border: 1px solid #555555;
44
- color: #ffffff;
45
- padding: 0.4rem 0.8rem;
46
- border-radius: 4px;
47
- cursor: pointer;
48
- font-size: 0.85rem;
49
- transition: all 0.2s;
50
- }
51
-
52
- .btn:hover {
53
- background: #505050;
54
- border-color: #666666;
55
- }
56
-
57
- .btn.primary {
58
- background: #0066cc;
59
- border-color: #0066cc;
60
- }
61
-
62
- .btn.primary:hover {
63
- background: #0052a3;
64
- }
65
-
66
- /* Main container */
67
- .main-container {
68
- display: flex;
69
- height: calc(100vh - 50px);
70
- }
71
-
72
- /* Left assets panel */
73
- .assets-panel {
74
- width: 280px;
75
- background: #252525;
76
- border-right: 1px solid #404040;
77
- display: flex;
78
- flex-direction: column;
79
- overflow: hidden;
80
- }
81
-
82
- .assets-header {
83
- padding: 1rem;
84
- border-bottom: 1px solid #404040;
85
- background: #2d2d2d;
86
- }
87
-
88
- .assets-header h3 {
89
- font-size: 1rem;
90
- font-weight: 600;
91
- margin-bottom: 0.5rem;
92
- }
93
-
94
- .assets-search {
95
- width: 100%;
96
- background: #1e1e1e;
97
- border: 1px solid #404040;
98
- color: #ffffff;
99
- padding: 0.5rem;
100
- border-radius: 4px;
101
- font-size: 0.85rem;
102
- }
103
-
104
- .assets-content {
105
- flex: 1;
106
- overflow-y: auto;
107
- padding: 0.5rem 0;
108
- }
109
-
110
- .asset-category {
111
- margin-bottom: 0.5rem;
112
- }
113
-
114
- .category-header {
115
- display: flex;
116
- align-items: center;
117
- padding: 0.5rem 1rem;
118
- background: #2d2d2d;
119
- cursor: pointer;
120
- font-weight: 500;
121
- font-size: 0.9rem;
122
- border-bottom: 1px solid #404040;
123
- }
124
-
125
- .category-header:hover {
126
- background: #353535;
127
- }
128
-
129
- .category-icon {
130
- margin-right: 0.5rem;
131
- font-size: 1rem;
132
- }
133
-
134
- .asset-list {
135
- list-style: none;
136
- }
137
-
138
- .asset-item {
139
- display: flex;
140
- align-items: center;
141
- padding: 0.6rem 1rem;
142
- cursor: pointer;
143
- border-bottom: 1px solid #333333;
144
- transition: background-color 0.2s;
145
- font-size: 0.85rem;
146
- }
147
-
148
- .asset-item:hover {
149
- background: #333333;
150
- }
151
-
152
- .asset-item.selected {
153
- background: #0066cc;
154
- color: #ffffff;
155
- }
156
-
157
- .asset-icon {
158
- margin-right: 0.5rem;
159
- font-size: 1rem;
160
- }
161
-
162
- /* Central area */
163
- .central-area {
164
- flex: 1;
165
- display: flex;
166
- flex-direction: column;
167
- }
168
-
169
- /* Video preview area */
170
- .preview-area {
171
- height: 60%;
172
- background: #1a1a1a;
173
- border-bottom: 1px solid #404040;
174
- display: flex;
175
- flex-direction: column;
176
- }
177
-
178
- .preview-header {
179
- background: #2d2d2d;
180
- padding: 0.5rem 1rem;
181
- border-bottom: 1px solid #404040;
182
- display: flex;
183
- align-items: center;
184
- justify-content: space-between;
185
- }
186
-
187
- .preview-title {
188
- font-size: 0.9rem;
189
- font-weight: 500;
190
- }
191
-
192
- .preview-controls {
193
- display: flex;
194
- gap: 0.5rem;
195
- align-items: center;
196
- }
197
-
198
- .play-btn {
199
- background: #0066cc;
200
- border: none;
201
- color: white;
202
- width: 36px;
203
- height: 36px;
204
- border-radius: 50%;
205
- cursor: pointer;
206
- display: flex;
207
- align-items: center;
208
- justify-content: center;
209
- font-size: 1rem;
210
- transition: background-color 0.2s;
211
- }
212
-
213
- .play-btn:hover {
214
- background: #0052a3;
215
- }
216
-
217
- .time-display {
218
- font-family: 'Monaco', 'Menlo', monospace;
219
- font-size: 0.85rem;
220
- color: #cccccc;
221
- min-width: 100px;
222
- text-align: center;
223
- }
224
-
225
- .preview-content {
226
- flex: 1;
227
- display: flex;
228
- align-items: center;
229
- justify-content: center;
230
- position: relative;
231
- overflow: hidden;
232
- min-height: 300px;
233
- }
234
-
235
- .video-container {
236
- width: 100%;
237
- height: 100%;
238
- display: flex;
239
- align-items: center;
240
- justify-content: center;
241
- background: #000000;
242
- position: relative;
243
- }
244
-
245
- /* Subtitle overlay styles */
246
- .subtitle-overlay {
247
- position: absolute;
248
- bottom: 10%;
249
- left: 0;
250
- right: 0;
251
- display: flex;
252
- justify-content: center;
253
- pointer-events: none;
254
- z-index: 10;
255
- }
256
-
257
- .subtitle-text {
258
- background: rgba(0, 0, 0, 0.7);
259
- color: white;
260
- font-size: 24px;
261
- font-weight: bold;
262
- padding: 8px 16px;
263
- border-radius: 4px;
264
- text-align: center;
265
- max-width: 80%;
266
- line-height: 1.4;
267
- text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
268
- display: none;
269
- }
270
-
271
- .preview-video {
272
- width: 100%;
273
- height: 100%;
274
- max-width: 100%;
275
- max-height: 100%;
276
- object-fit: contain;
277
- display: block;
278
- }
279
-
280
- .video-placeholder {
281
- color: #666666;
282
- font-size: 1.1rem;
283
- text-align: center;
284
- }
285
-
286
- /* Timeline area */
287
- .timeline-area {
288
- height: 40%;
289
- background: #1e1e1e;
290
- display: flex;
291
- flex-direction: column;
292
- }
293
-
294
- .timeline-header {
295
- background: #2d2d2d;
296
- padding: 0.5rem 1rem;
297
- border-bottom: 1px solid #404040;
298
- display: flex;
299
- align-items: center;
300
- justify-content: space-between;
301
- }
302
-
303
- .timeline-title {
304
- font-size: 0.9rem;
305
- font-weight: 500;
306
- }
307
-
308
- .timeline-controls {
309
- display: flex;
310
- gap: 0.5rem;
311
- align-items: center;
312
- }
313
-
314
- .zoom-controls {
315
- display: flex;
316
- gap: 0.25rem;
317
- }
318
-
319
- .zoom-btn {
320
- background: #404040;
321
- border: 1px solid #555555;
322
- color: #ffffff;
323
- width: 28px;
324
- height: 28px;
325
- border-radius: 4px;
326
- cursor: pointer;
327
- display: flex;
328
- align-items: center;
329
- justify-content: center;
330
- font-size: 0.8rem;
331
- transition: all 0.2s;
332
- }
333
-
334
- .zoom-btn:hover {
335
- background: #505050;
336
- }
337
-
338
- .timeline-info {
339
- font-size: 0.8rem;
340
- color: #cccccc;
341
- font-family: 'Monaco', 'Menlo', monospace;
342
- }
343
-
344
- .timeline-content {
345
- flex: 1;
346
- display: flex;
347
- flex-direction: column;
348
- overflow: hidden;
349
- position: relative;
350
- }
351
-
352
- /* Timeline ruler */
353
- .timeline-ruler {
354
- height: 30px;
355
- background: #2d2d2d;
356
- border-bottom: 1px solid #404040;
357
- position: relative;
358
- overflow: hidden;
359
- margin-left: 120px; /* 向右移动track-header的宽度 */
360
- }
361
-
362
- .timeline-ruler div {
363
- position: absolute;
364
- top: 5px;
365
- font-size: 0.7rem;
366
- color: #999999;
367
- font-family: 'Monaco', 'Menlo', monospace;
368
- }
369
-
370
- /* Playback indicator */
371
- .playback-indicator {
372
- position: absolute;
373
- top: 0;
374
- left: 0;
375
- width: 2px;
376
- height: 100%;
377
- background: #ff4444;
378
- z-index: 1000;
379
- pointer-events: auto;
380
- display: block;
381
- cursor: ew-resize;
382
- }
383
-
384
- /* Timeline tracks */
385
- .timeline-tracks {
386
- flex: 1;
387
- overflow-y: auto;
388
- overflow-x: auto; /* 恢复整体横向滚动 */
389
- position: relative;
390
- }
391
-
392
- .track-container {
393
- display: flex;
394
- border-bottom: 1px solid #333333;
395
- min-height: 60px;
396
- position: relative;
397
- }
398
-
399
- .track-header {
400
- width: 120px;
401
- background: #252525;
402
- border-right: 1px solid #404040;
403
- display: flex;
404
- align-items: center;
405
- padding: 0.5rem;
406
- font-size: 0.8rem;
407
- font-weight: 500;
408
- color: #cccccc;
409
- position: sticky; /* 固定在左侧 */
410
- left: 0;
411
- z-index: 10; /* 确保在内容之上 */
412
- flex-shrink: 0; /* 防止header被压缩 */
413
- }
414
-
415
- .track-content {
416
- flex: 1;
417
- background: #1a1a1a;
418
- position: relative;
419
- min-height: 60px;
420
- /* 移除独立滚动,让所有轨道一起滚动 */
421
- }
422
-
423
- /* Timeline clips */
424
- .timeline-clip {
425
- position: absolute;
426
- top: 5px;
427
- height: 50px;
428
- background: #0066cc;
429
- border: 1px solid #0052a3;
430
- border-radius: 4px;
431
- color: white;
432
- font-size: 0.75rem;
433
- padding: 0.25rem 0.5rem;
434
- cursor: move;
435
- user-select: none;
436
- display: flex;
437
- align-items: center;
438
- overflow: hidden;
439
- white-space: nowrap;
440
- text-overflow: ellipsis;
441
- transition: all 0.2s;
442
- }
443
-
444
- .timeline-clip:hover {
445
- background: #0077dd;
446
- border-color: #0066cc;
447
- transform: translateY(-1px);
448
- box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
449
- }
450
-
451
- .timeline-clip.selected {
452
- background: #ff6b35;
453
- border-color: #e55a2b;
454
- box-shadow: 0 0 0 2px rgba(255, 107, 53, 0.5);
455
- }
456
-
457
- /* Track type specific colors */
458
- .timeline-clip.video {
459
- background: #0066cc;
460
- border-color: #0052a3;
461
- }
462
-
463
- .timeline-clip.audio {
464
- background: #28a745;
465
- border-color: #1e7e34;
466
- }
467
-
468
- .timeline-clip.bgm {
469
- background: #6f42c1;
470
- border-color: #5a32a3;
471
- }
472
-
473
- .timeline-clip.voice {
474
- background: #fd7e14;
475
- border-color: #e8690b;
476
- }
477
-
478
- .timeline-clip.subtitle {
479
- background: #ffc107;
480
- border-color: #e0a800;
481
- color: #000000;
482
- }
483
-
484
- /* Right properties panel */
485
- .properties-panel {
486
- width: 300px;
487
- background: #252525;
488
- border-left: 1px solid #404040;
489
- display: flex;
490
- flex-direction: column;
491
- overflow: hidden;
492
- }
493
-
494
- .properties-header {
495
- padding: 1rem;
496
- border-bottom: 1px solid #404040;
497
- background: #2d2d2d;
498
- }
499
-
500
- .properties-header h3 {
501
- font-size: 1rem;
502
- font-weight: 600;
503
- }
504
-
505
- .properties-content {
506
- flex: 1;
507
- overflow-y: auto;
508
- padding: 1rem;
509
- }
510
-
511
- .no-selection {
512
- text-align: center;
513
- color: #666666;
514
- font-style: italic;
515
- margin-top: 2rem;
516
- }
517
-
518
- .property-group {
519
- margin-bottom: 1.5rem;
520
- }
521
-
522
- .property-group h4 {
523
- font-size: 0.9rem;
524
- font-weight: 600;
525
- margin-bottom: 0.75rem;
526
- color: #cccccc;
527
- border-bottom: 1px solid #404040;
528
- padding-bottom: 0.25rem;
529
- }
530
-
531
- .property-item {
532
- margin-bottom: 0.75rem;
533
- }
534
-
535
- .property-label {
536
- display: block;
537
- font-size: 0.8rem;
538
- color: #cccccc;
539
- margin-bottom: 0.25rem;
540
- font-weight: 500;
541
- }
542
-
543
- .property-input {
544
- width: 100%;
545
- background: #1e1e1e;
546
- border: 1px solid #404040;
547
- color: #ffffff;
548
- padding: 0.5rem;
549
- border-radius: 4px;
550
- font-size: 0.85rem;
551
- transition: border-color 0.2s;
552
- }
553
-
554
- .property-input:focus {
555
- outline: none;
556
- border-color: #0066cc;
557
- box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
558
- }
559
-
560
- .property-input[readonly] {
561
- background: #2d2d2d;
562
- color: #999999;
563
- }
564
-
565
- /* Range inputs */
566
- .property-input[type="range"] {
567
- -webkit-appearance: none;
568
- height: 6px;
569
- background: #404040;
570
- border-radius: 3px;
571
- padding: 0;
572
- }
573
-
574
- .property-input[type="range"]::-webkit-slider-thumb {
575
- -webkit-appearance: none;
576
- width: 16px;
577
- height: 16px;
578
- background: #0066cc;
579
- border-radius: 50%;
580
- cursor: pointer;
581
- }
582
-
583
- .property-input[type="range"]::-moz-range-thumb {
584
- width: 16px;
585
- height: 16px;
586
- background: #0066cc;
587
- border-radius: 50%;
588
- cursor: pointer;
589
- border: none;
590
- }
591
-
592
- /* Scrollbars */
593
- ::-webkit-scrollbar {
594
- width: 8px;
595
- height: 8px;
596
- }
597
-
598
- ::-webkit-scrollbar-track {
599
- background: #1e1e1e;
600
- }
601
-
602
- ::-webkit-scrollbar-thumb {
603
- background: #404040;
604
- border-radius: 4px;
605
- }
606
-
607
- ::-webkit-scrollbar-thumb:hover {
608
- background: #555555;
609
- }
610
-
611
- /* Drag and drop states */
612
- .drag-over {
613
- background: rgba(0, 102, 204, 0.1) !important;
614
- border: 2px dashed #0066cc !important;
615
- }
616
-
617
- .dragging {
618
- opacity: 0.5;
619
- }
620
-
621
- /* Responsive adjustments */
622
- @media (max-width: 1200px) {
623
- .assets-panel {
624
- width: 240px;
625
- }
626
-
627
- .properties-panel {
628
- width: 260px;
629
- }
630
- }
631
-
632
- @media (max-width: 900px) {
633
- .assets-panel {
634
- width: 200px;
635
- }
636
-
637
- .properties-panel {
638
- width: 220px;
639
- }
640
-
641
- .track-header {
642
- width: 100px;
643
- font-size: 0.75rem;
644
- }
645
- }
646
-
647
- /* Animation keyframes */
648
- @keyframes slideIn {
649
- from {
650
- transform: translateX(100%);
651
- }
652
- to {
653
- transform: translateX(0);
654
- }
655
- }
656
-
657
- @keyframes fadeIn {
658
- from {
659
- opacity: 0;
660
- }
661
- to {
662
- opacity: 1;
663
- }
664
- }
665
-
666
- /* Toast notifications */
667
- .toast {
668
- animation: slideIn 0.3s ease-out;
669
- }
670
-
671
- /* Loading states */
672
- .loading {
673
- opacity: 0.6;
674
- pointer-events: none;
675
- }
676
-
677
- .loading::after {
678
- content: '';
679
- position: absolute;
680
- top: 50%;
681
- left: 50%;
682
- width: 20px;
683
- height: 20px;
684
- margin: -10px 0 0 -10px;
685
- border: 2px solid #404040;
686
- border-top-color: #0066cc;
687
- border-radius: 50%;
688
- animation: spin 1s linear infinite;
689
- }
690
-
691
- @keyframes spin {
692
- to {
693
- transform: rotate(360deg);
694
- }
695
- }