@shuffll/mcp-server 1.2.0 → 1.4.0
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.
- package/build/design-registry.d.ts +28 -25
- package/build/design-registry.js +119 -92
- package/build/design-registry.js.map +1 -1
- package/build/tools/project-tools.js +30 -15
- package/build/tools/project-tools.js.map +1 -1
- package/build/tools/scene-tools.js +1 -1
- package/build/tools/scene-tools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { ShufflApiClient } from "./api-client.js";
|
|
2
|
+
interface CompositionEntry {
|
|
3
|
+
type: string;
|
|
4
|
+
isGeneric: boolean;
|
|
5
|
+
}
|
|
2
6
|
interface CachedDesignGroup {
|
|
3
7
|
id: string;
|
|
4
8
|
name: string;
|
|
5
9
|
/** aspectRatio → designId */
|
|
6
10
|
designs: Map<string, string>;
|
|
7
|
-
/** composition
|
|
8
|
-
|
|
11
|
+
/** All composition entries (branded + generic, with classification) */
|
|
12
|
+
allCompositions: CompositionEntry[];
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
15
|
* Discovers and caches available design groups, their aspect-ratio
|
|
12
16
|
* variants, and composition types from platform templates.
|
|
13
17
|
* Refreshes periodically so the MCP server stays up-to-date.
|
|
18
|
+
*
|
|
19
|
+
* Generic compositions are detected **adaptively** by inspecting each
|
|
20
|
+
* composition's layout path in the API response. If the path contains
|
|
21
|
+
* "generic-designs", the composition is classified as generic.
|
|
14
22
|
*/
|
|
15
23
|
export declare class DesignRegistry {
|
|
16
24
|
private apiClient;
|
|
@@ -18,49 +26,44 @@ export declare class DesignRegistry {
|
|
|
18
26
|
private groups;
|
|
19
27
|
private refreshTimer;
|
|
20
28
|
private initialized;
|
|
21
|
-
/**
|
|
22
|
-
private
|
|
29
|
+
/** Dynamically discovered generic composition types. */
|
|
30
|
+
private genericTypes;
|
|
23
31
|
constructor(apiClient: ShufflApiClient, refreshIntervalMs?: number);
|
|
24
32
|
initialize(): Promise<void>;
|
|
25
33
|
dispose(): void;
|
|
26
34
|
/**
|
|
27
35
|
* Find a design group that supports the given aspect ratio.
|
|
28
|
-
*
|
|
29
|
-
* When `preferGeneric` is true the candidates are ranked by how many of
|
|
30
|
-
* their compositions are "common" (appear across multiple design groups).
|
|
31
|
-
* This favours cleaner designs with fewer custom overlays – ideal for UGC.
|
|
32
36
|
*/
|
|
33
|
-
findDesignForAspectRatio(ratio: string
|
|
34
|
-
preferGeneric?: boolean;
|
|
35
|
-
}): {
|
|
37
|
+
findDesignForAspectRatio(ratio: string): {
|
|
36
38
|
designGroupId: string;
|
|
37
39
|
designId: string;
|
|
38
40
|
} | null;
|
|
39
41
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
+
* Returns all discovered generic composition type names.
|
|
43
|
+
* Detected adaptively from the API response — new compositions
|
|
44
|
+
* added to the generic designs collection are picked up automatically.
|
|
42
45
|
*/
|
|
43
|
-
|
|
46
|
+
getGenericCompositions(): string[];
|
|
44
47
|
/**
|
|
45
|
-
*
|
|
46
|
-
* These are "generic" compositions that work universally.
|
|
48
|
+
* Check whether a composition type is a generic (clean, unbranded) layout.
|
|
47
49
|
*/
|
|
48
|
-
|
|
50
|
+
isGenericComposition(compositionType: string): boolean;
|
|
49
51
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
+
* Map a branded composition to its best generic equivalent for UGC.
|
|
53
|
+
*
|
|
54
|
+
* Strategy:
|
|
55
|
+
* - Video compositions (vid_*) → "vid_clean" (full-frame, no overlays)
|
|
56
|
+
* - Image compositions (img_*) → "img_slides" (full-frame sliding image)
|
|
57
|
+
* - Text/graphic compositions → keep original (they have no media to lose)
|
|
58
|
+
*
|
|
59
|
+
* Returns null if the scene should keep its current composition.
|
|
52
60
|
*/
|
|
53
|
-
|
|
61
|
+
mapToGenericForUgc(currentComposition: string): string | null;
|
|
54
62
|
/**
|
|
55
63
|
* Returns all discovered design groups (for debugging / logging).
|
|
56
64
|
*/
|
|
57
65
|
getGroups(): ReadonlyArray<CachedDesignGroup>;
|
|
58
66
|
isReady(): boolean;
|
|
59
67
|
private refresh;
|
|
60
|
-
/**
|
|
61
|
-
* Find composition types that appear in at least 2 design groups.
|
|
62
|
-
* These are considered "generic" and safe to use across designs.
|
|
63
|
-
*/
|
|
64
|
-
private computeCommonCompositions;
|
|
65
68
|
}
|
|
66
69
|
export {};
|
package/build/design-registry.js
CHANGED
|
@@ -1,11 +1,44 @@
|
|
|
1
1
|
import { log, logError } from "./utils/logger.js";
|
|
2
2
|
// ============================================================
|
|
3
|
+
// Generic Design Compositions – Adaptive Detection
|
|
4
|
+
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// Generic designs are a separate collection in the DB – one document per
|
|
7
|
+
// aspect ratio (16/9, 1/1, 9/16). They provide clean, unbranded layouts
|
|
8
|
+
// that work across ALL design groups. The webserver's DesignResolver
|
|
9
|
+
// automatically merges generic compositions into every design, so calling
|
|
10
|
+
// updateSceneComposition with a generic type always works.
|
|
11
|
+
//
|
|
12
|
+
// Detection: The DesignResolver tags generic compositions with a
|
|
13
|
+
// baseDesignPath containing "generic-designs". During refresh() we look
|
|
14
|
+
// at each composition's layout path to classify it automatically.
|
|
15
|
+
// This means new compositions added to the generic designs collection
|
|
16
|
+
// are picked up without code changes.
|
|
17
|
+
// ============================================================
|
|
18
|
+
// Fallback list – only used if the API response lacks path information.
|
|
19
|
+
const FALLBACK_GENERIC_TYPES = new Set([
|
|
20
|
+
"vid_clean", "smart_vid", "img_single_static", "img_slides",
|
|
21
|
+
"img_shadow", "vid_shadow", "browser-mockup-01", "browser-mockup-02",
|
|
22
|
+
"3-img_slides", "4-img_frames_txt", "quote_txt", "vid_side-by-side",
|
|
23
|
+
"vid_pip-2", "vid_and_bulleted-list", "vid_and_right_bulleted-list",
|
|
24
|
+
"bulleted-list", "presented-by", "quiz", "flowchart_txt",
|
|
25
|
+
"listings-chart_vid", "listings-side-chart_vid",
|
|
26
|
+
"dynamic-title_vid_01", "dynamic-title_vid_02", "dynamic-title_vid_03",
|
|
27
|
+
"dynamic-title_vid_04", "dynamic-title_vid_05",
|
|
28
|
+
"2-img_frames_txt", "3-img_frames_txt",
|
|
29
|
+
"img_split_2_static", "img_split_3_static", "img_split_4_static",
|
|
30
|
+
]);
|
|
31
|
+
// ============================================================
|
|
3
32
|
// DesignRegistry
|
|
4
33
|
// ============================================================
|
|
5
34
|
/**
|
|
6
35
|
* Discovers and caches available design groups, their aspect-ratio
|
|
7
36
|
* variants, and composition types from platform templates.
|
|
8
37
|
* Refreshes periodically so the MCP server stays up-to-date.
|
|
38
|
+
*
|
|
39
|
+
* Generic compositions are detected **adaptively** by inspecting each
|
|
40
|
+
* composition's layout path in the API response. If the path contains
|
|
41
|
+
* "generic-designs", the composition is classified as generic.
|
|
9
42
|
*/
|
|
10
43
|
export class DesignRegistry {
|
|
11
44
|
apiClient;
|
|
@@ -13,8 +46,8 @@ export class DesignRegistry {
|
|
|
13
46
|
groups = [];
|
|
14
47
|
refreshTimer = null;
|
|
15
48
|
initialized = false;
|
|
16
|
-
/**
|
|
17
|
-
|
|
49
|
+
/** Dynamically discovered generic composition types. */
|
|
50
|
+
genericTypes = new Set();
|
|
18
51
|
constructor(apiClient, refreshIntervalMs = 30 * 60 * 1000) {
|
|
19
52
|
this.apiClient = apiClient;
|
|
20
53
|
this.refreshIntervalMs = refreshIntervalMs;
|
|
@@ -25,7 +58,6 @@ export class DesignRegistry {
|
|
|
25
58
|
async initialize() {
|
|
26
59
|
await this.refresh();
|
|
27
60
|
this.initialized = true;
|
|
28
|
-
// Periodic refresh
|
|
29
61
|
this.refreshTimer = setInterval(() => {
|
|
30
62
|
this.refresh().catch((err) => logError("DesignRegistry periodic refresh failed", err));
|
|
31
63
|
}, this.refreshIntervalMs);
|
|
@@ -38,85 +70,60 @@ export class DesignRegistry {
|
|
|
38
70
|
}
|
|
39
71
|
/**
|
|
40
72
|
* Find a design group that supports the given aspect ratio.
|
|
41
|
-
*
|
|
42
|
-
* When `preferGeneric` is true the candidates are ranked by how many of
|
|
43
|
-
* their compositions are "common" (appear across multiple design groups).
|
|
44
|
-
* This favours cleaner designs with fewer custom overlays – ideal for UGC.
|
|
45
73
|
*/
|
|
46
|
-
findDesignForAspectRatio(ratio
|
|
47
|
-
// Collect every group that offers this aspect ratio
|
|
48
|
-
const candidates = [];
|
|
74
|
+
findDesignForAspectRatio(ratio) {
|
|
49
75
|
for (const group of this.groups) {
|
|
50
76
|
const designId = group.designs.get(ratio);
|
|
51
77
|
if (designId) {
|
|
52
|
-
|
|
78
|
+
return { designGroupId: group.id, designId };
|
|
53
79
|
}
|
|
54
80
|
}
|
|
55
|
-
|
|
56
|
-
return null;
|
|
57
|
-
if (options?.preferGeneric && candidates.length > 1) {
|
|
58
|
-
// Score each candidate by what fraction of its compositions are generic
|
|
59
|
-
const scored = candidates.map((c) => ({
|
|
60
|
-
...c,
|
|
61
|
-
score: this.genericnessScore(c.group),
|
|
62
|
-
}));
|
|
63
|
-
scored.sort((a, b) => b.score - a.score);
|
|
64
|
-
log(`Design selection (preferGeneric) for ${ratio}: ` +
|
|
65
|
-
scored
|
|
66
|
-
.map((s) => `${s.group.name}=${s.score.toFixed(2)}`)
|
|
67
|
-
.join(", "));
|
|
68
|
-
return {
|
|
69
|
-
designGroupId: scored[0].group.id,
|
|
70
|
-
designId: scored[0].designId,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
return {
|
|
74
|
-
designGroupId: candidates[0].group.id,
|
|
75
|
-
designId: candidates[0].designId,
|
|
76
|
-
};
|
|
81
|
+
return null;
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
|
-
*
|
|
80
|
-
*
|
|
84
|
+
* Returns all discovered generic composition type names.
|
|
85
|
+
* Detected adaptively from the API response — new compositions
|
|
86
|
+
* added to the generic designs collection are picked up automatically.
|
|
81
87
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
return 0;
|
|
85
|
-
const genericCount = group.compositions.filter((c) => this.commonCompositions.includes(c)).length;
|
|
86
|
-
return genericCount / group.compositions.length;
|
|
88
|
+
getGenericCompositions() {
|
|
89
|
+
return Array.from(this.genericTypes);
|
|
87
90
|
}
|
|
88
91
|
/**
|
|
89
|
-
*
|
|
90
|
-
* These are "generic" compositions that work universally.
|
|
92
|
+
* Check whether a composition type is a generic (clean, unbranded) layout.
|
|
91
93
|
*/
|
|
92
|
-
|
|
93
|
-
return
|
|
94
|
+
isGenericComposition(compositionType) {
|
|
95
|
+
return this.genericTypes.has(compositionType);
|
|
94
96
|
}
|
|
95
97
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
+
* Map a branded composition to its best generic equivalent for UGC.
|
|
99
|
+
*
|
|
100
|
+
* Strategy:
|
|
101
|
+
* - Video compositions (vid_*) → "vid_clean" (full-frame, no overlays)
|
|
102
|
+
* - Image compositions (img_*) → "img_slides" (full-frame sliding image)
|
|
103
|
+
* - Text/graphic compositions → keep original (they have no media to lose)
|
|
104
|
+
*
|
|
105
|
+
* Returns null if the scene should keep its current composition.
|
|
98
106
|
*/
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return "headline_and_subtitle_txt";
|
|
107
|
+
mapToGenericForUgc(currentComposition) {
|
|
108
|
+
// Already generic – no swap needed
|
|
109
|
+
if (this.isGenericComposition(currentComposition))
|
|
110
|
+
return null;
|
|
111
|
+
// Video-based scenes → clean full-frame video
|
|
112
|
+
if (currentComposition.startsWith("vid_")) {
|
|
113
|
+
return this.genericTypes.has("vid_clean") ? "vid_clean" : null;
|
|
107
114
|
}
|
|
108
|
-
//
|
|
109
|
-
if (
|
|
110
|
-
if (
|
|
111
|
-
return "
|
|
115
|
+
// Image-based scenes → sliding image (preserves image assets)
|
|
116
|
+
if (currentComposition.startsWith("img_")) {
|
|
117
|
+
if (this.genericTypes.has("img_slides"))
|
|
118
|
+
return "img_slides";
|
|
119
|
+
if (this.genericTypes.has("img_single_static"))
|
|
120
|
+
return "img_single_static";
|
|
121
|
+
return null;
|
|
112
122
|
}
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return "img_single";
|
|
118
|
-
// Fallback to first available clean composition, or vid_clean as last resort
|
|
119
|
-
return clean[0] || "vid_clean";
|
|
123
|
+
// Text / graphic scenes (headline_txt, cta_txt, logo_intro, etc.)
|
|
124
|
+
// Keep as-is — swapping these to vid_clean would lose all content
|
|
125
|
+
// because text scenes don't have video assets assigned.
|
|
126
|
+
return null;
|
|
120
127
|
}
|
|
121
128
|
/**
|
|
122
129
|
* Returns all discovered design groups (for debugging / logging).
|
|
@@ -134,17 +141,19 @@ export class DesignRegistry {
|
|
|
134
141
|
try {
|
|
135
142
|
const templates = await this.apiClient.getPlatformTemplates();
|
|
136
143
|
const groupMap = new Map();
|
|
144
|
+
const discoveredGenericTypes = new Set();
|
|
145
|
+
let usedPathDetection = false;
|
|
137
146
|
for (const template of templates) {
|
|
138
147
|
const dg = template.designGroup;
|
|
139
148
|
if (!dg || !dg._id)
|
|
140
149
|
continue;
|
|
141
150
|
const dgId = String(dg._id);
|
|
142
151
|
if (groupMap.has(dgId))
|
|
143
|
-
continue;
|
|
152
|
+
continue;
|
|
144
153
|
const name = String(dg.name || "Unknown");
|
|
145
154
|
const designs = new Map();
|
|
146
|
-
const
|
|
147
|
-
// Extract aspect-ratio → designId mappings
|
|
155
|
+
const allCompositions = [];
|
|
156
|
+
// Extract aspect-ratio → designId mappings
|
|
148
157
|
const metadata = dg.designsMetadata;
|
|
149
158
|
if (Array.isArray(metadata)) {
|
|
150
159
|
for (const entry of metadata) {
|
|
@@ -153,48 +162,66 @@ export class DesignRegistry {
|
|
|
153
162
|
}
|
|
154
163
|
}
|
|
155
164
|
}
|
|
156
|
-
// Extract
|
|
165
|
+
// Extract compositions and classify generic vs branded
|
|
157
166
|
const chosenDesign = dg.chosenDesign;
|
|
158
167
|
if (chosenDesign) {
|
|
159
168
|
const comps = chosenDesign.compositions;
|
|
160
169
|
if (Array.isArray(comps)) {
|
|
161
170
|
for (const comp of comps) {
|
|
162
|
-
if (comp.type)
|
|
163
|
-
|
|
171
|
+
if (!comp.type)
|
|
172
|
+
continue;
|
|
173
|
+
const compType = String(comp.type);
|
|
174
|
+
// Adaptive detection: check if any layout path contains "generic-designs"
|
|
175
|
+
let isGeneric = false;
|
|
176
|
+
const layouts = comp.layouts;
|
|
177
|
+
if (Array.isArray(layouts)) {
|
|
178
|
+
for (const layout of layouts) {
|
|
179
|
+
const relPath = layout.relativeLottiePath;
|
|
180
|
+
const basePath = layout.baseDesignPath;
|
|
181
|
+
if ((relPath && relPath.includes("generic-designs")) ||
|
|
182
|
+
(basePath && basePath.includes("generic-designs"))) {
|
|
183
|
+
isGeneric = true;
|
|
184
|
+
usedPathDetection = true;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// Fallback: if no path info available, check against known list
|
|
190
|
+
if (!isGeneric && !usedPathDetection) {
|
|
191
|
+
isGeneric = FALLBACK_GENERIC_TYPES.has(compType);
|
|
192
|
+
}
|
|
193
|
+
allCompositions.push({ type: compType, isGeneric });
|
|
194
|
+
if (isGeneric) {
|
|
195
|
+
discoveredGenericTypes.add(compType);
|
|
164
196
|
}
|
|
165
197
|
}
|
|
166
198
|
}
|
|
167
199
|
}
|
|
168
|
-
groupMap.set(dgId, { id: dgId, name, designs,
|
|
200
|
+
groupMap.set(dgId, { id: dgId, name, designs, allCompositions });
|
|
169
201
|
}
|
|
170
202
|
this.groups = Array.from(groupMap.values());
|
|
171
|
-
|
|
172
|
-
|
|
203
|
+
// If path-based detection found nothing but fallback did, use fallback set
|
|
204
|
+
if (discoveredGenericTypes.size === 0 && !usedPathDetection) {
|
|
205
|
+
this.genericTypes = new Set(FALLBACK_GENERIC_TYPES);
|
|
206
|
+
log("DesignRegistry: using fallback generic composition list (no path info in API response)");
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
this.genericTypes = discoveredGenericTypes;
|
|
210
|
+
}
|
|
211
|
+
log(`DesignRegistry refreshed: ${this.groups.length} design groups, ${this.genericTypes.size} generic compositions detected`);
|
|
173
212
|
for (const g of this.groups) {
|
|
174
213
|
const ratios = Array.from(g.designs.keys()).join(", ");
|
|
175
|
-
|
|
214
|
+
const branded = g.allCompositions.filter((c) => !c.isGeneric).length;
|
|
215
|
+
const generic = g.allCompositions.filter((c) => c.isGeneric).length;
|
|
216
|
+
log(` - ${g.name} (${g.id}): ratios=[${ratios}], ${branded} branded + ${generic} generic compositions`);
|
|
217
|
+
}
|
|
218
|
+
if (usedPathDetection) {
|
|
219
|
+
log(` Generic types (auto-detected): ${Array.from(this.genericTypes).join(", ")}`);
|
|
176
220
|
}
|
|
177
221
|
}
|
|
178
222
|
catch (err) {
|
|
179
223
|
logError("DesignRegistry refresh failed", err);
|
|
180
|
-
// Keep stale data if we had any
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Find composition types that appear in at least 2 design groups.
|
|
185
|
-
* These are considered "generic" and safe to use across designs.
|
|
186
|
-
*/
|
|
187
|
-
computeCommonCompositions() {
|
|
188
|
-
const counts = new Map();
|
|
189
|
-
for (const group of this.groups) {
|
|
190
|
-
for (const comp of group.compositions) {
|
|
191
|
-
counts.set(comp, (counts.get(comp) || 0) + 1);
|
|
192
|
-
}
|
|
193
224
|
}
|
|
194
|
-
return Array.from(counts.entries())
|
|
195
|
-
.filter(([, count]) => count >= 2)
|
|
196
|
-
.map(([comp]) => comp)
|
|
197
|
-
.sort();
|
|
198
225
|
}
|
|
199
226
|
}
|
|
200
227
|
//# sourceMappingURL=design-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -217,7 +217,7 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
217
217
|
// ----------------------------------------------------------------
|
|
218
218
|
// create_ugc_video_project (9/16 optimized)
|
|
219
219
|
// ----------------------------------------------------------------
|
|
220
|
-
server.tool("create_ugc_video_project", "Create a 9:16 UGC-optimized video project. Automatically selects a vertical design, waits for generation, swaps scenes to clean compositions
|
|
220
|
+
server.tool("create_ugc_video_project", "Create a 9:16 UGC-optimized video project. Automatically selects a vertical design, waits for generation, swaps scenes to clean compositions from the generic designs collection (vid_clean, smart_vid, etc.), and sets the edit to 9/16 aspect ratio. Returns the project ID and optimization status.", {
|
|
221
221
|
prompt: z
|
|
222
222
|
.string()
|
|
223
223
|
.describe("Creative brief describing the video (e.g., 'Short-form UGC ad about our new sneakers')"),
|
|
@@ -267,8 +267,10 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
267
267
|
const targetRatio = "9/16";
|
|
268
268
|
let ugcOptimized = false;
|
|
269
269
|
const optimizationNotes = [];
|
|
270
|
-
// 1. Resolve
|
|
271
|
-
|
|
270
|
+
// 1. Resolve a design group that supports 9/16
|
|
271
|
+
// Any design group works — the server's DesignResolver merges
|
|
272
|
+
// generic design compositions into every design automatically.
|
|
273
|
+
const designMatch = designRegistry.findDesignForAspectRatio(targetRatio);
|
|
272
274
|
const body = {
|
|
273
275
|
prompt: args.prompt,
|
|
274
276
|
recordingType: args.videoType,
|
|
@@ -319,33 +321,46 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
|
|
|
319
321
|
],
|
|
320
322
|
};
|
|
321
323
|
}
|
|
322
|
-
// 4. Fetch project and
|
|
324
|
+
// 4. Fetch project and swap media-based scene compositions to generic types.
|
|
325
|
+
// Only video/image scenes are swapped — text scenes are kept as-is
|
|
326
|
+
// because they have content assets (text, logos) that would be lost
|
|
327
|
+
// if swapped to vid_clean (which has no media assigned by the pipeline).
|
|
323
328
|
try {
|
|
324
329
|
const project = await apiClient.getProject(projectId);
|
|
325
330
|
const scenes = project.scenes || [];
|
|
326
|
-
const cleanComps = designRegistry.getCleanCompositions();
|
|
327
331
|
let swapCount = 0;
|
|
332
|
+
let keptCount = 0;
|
|
328
333
|
for (let i = 0; i < scenes.length; i++) {
|
|
329
334
|
const scene = scenes[i];
|
|
330
335
|
const currentComp = scene.compositionType || scene.copy?.compositionType;
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
336
|
+
if (!currentComp) {
|
|
337
|
+
log(` Scene ${i} (${scene.id}): no composition type — skipping`);
|
|
338
|
+
continue;
|
|
339
|
+
}
|
|
340
|
+
// Smart mapping: only swap media scenes, keep text scenes
|
|
341
|
+
const genericTarget = designRegistry.mapToGenericForUgc(currentComp);
|
|
342
|
+
if (genericTarget) {
|
|
334
343
|
try {
|
|
335
|
-
await apiClient.updateSceneComposition(projectId, scene.id,
|
|
344
|
+
await apiClient.updateSceneComposition(projectId, scene.id, genericTarget);
|
|
336
345
|
swapCount++;
|
|
337
|
-
log(` Scene ${i} (${scene.id}): ${currentComp} → ${
|
|
346
|
+
log(` Scene ${i} (${scene.id}): ${currentComp} → ${genericTarget}`);
|
|
338
347
|
}
|
|
339
348
|
catch (err) {
|
|
340
349
|
logError(`Failed to swap composition for scene ${scene.id}`, err);
|
|
341
350
|
}
|
|
342
351
|
}
|
|
352
|
+
else {
|
|
353
|
+
keptCount++;
|
|
354
|
+
log(` Scene ${i} (${scene.id}): kept ${currentComp} (${designRegistry.isGenericComposition(currentComp) ? "already generic" : "text/graphic — no swap"})`);
|
|
355
|
+
}
|
|
343
356
|
}
|
|
344
|
-
if (swapCount > 0) {
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
357
|
+
if (swapCount > 0 || keptCount > 0) {
|
|
358
|
+
const parts = [];
|
|
359
|
+
if (swapCount > 0)
|
|
360
|
+
parts.push(`swapped ${swapCount} media scenes to generic`);
|
|
361
|
+
if (keptCount > 0)
|
|
362
|
+
parts.push(`kept ${keptCount} scenes as-is`);
|
|
363
|
+
optimizationNotes.push(`Composition optimization: ${parts.join(", ")} (${scenes.length} total)`);
|
|
349
364
|
}
|
|
350
365
|
// 5. Set edit aspect ratio to 9/16
|
|
351
366
|
if (project.edits && project.edits.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-tools.js","sourceRoot":"","sources":["../../src/tools/project-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export function registerSceneTools(server, apiClient, _config) {
|
|
|
4
4
|
// ----------------------------------------------------------------
|
|
5
5
|
// add_scene
|
|
6
6
|
// ----------------------------------------------------------------
|
|
7
|
-
server.tool("add_scene", "Add a new scene to a video project. Scenes are the building blocks of a video — each has a layout (composition) and content. Common composition types: 'vid_clean' (clean video), 'headline_and_subtitle_txt' (text overlay), 'img_single' (single image), 'logo_intro' (logo animation), 'cta_txt' (call to action).", {
|
|
7
|
+
server.tool("add_scene", "Add a new scene to a video project. Scenes are the building blocks of a video — each has a layout (composition) and content. Common composition types: 'vid_clean' (clean video), 'headline_and_subtitle_txt' (text overlay), 'img_single' (single image), 'logo_intro' (logo animation), 'cta_txt' (call to action). Generic design compositions (clean, no overlays): 'vid_clean', 'smart_vid', 'img_single_static', 'img_slides', 'img_shadow', 'vid_shadow', 'quote_txt', 'browser-mockup-01', '3-img_slides', '4-img_frames_txt', 'vid_side-by-side', 'dynamic-title_vid_01/02/03'.", {
|
|
8
8
|
projectId: z.string().describe("The project ID"),
|
|
9
9
|
compositionType: z
|
|
10
10
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-tools.js","sourceRoot":"","sources":["../../src/tools/scene-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,SAA0B,EAC1B,OAAwB;IAExB,mEAAmE;IACnE,YAAY;IACZ,mEAAmE;IACnE,MAAM,CAAC,IAAI,CACT,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"scene-tools.js","sourceRoot":"","sources":["../../src/tools/scene-tools.ts"],"names":[],"mappings":"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"}
|