@shuffll/mcp-server 1.3.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.
@@ -1,20 +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 types available in this design group (branded) */
8
- compositions: string[];
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.
14
18
  *
15
- * For UGC content, provides access to the **generic design** composition
16
- * types clean, unbranded layouts that the webserver merges into every
17
- * design automatically.
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.
18
22
  */
19
23
  export declare class DesignRegistry {
20
24
  private apiClient;
@@ -22,43 +26,39 @@ export declare class DesignRegistry {
22
26
  private groups;
23
27
  private refreshTimer;
24
28
  private initialized;
29
+ /** Dynamically discovered generic composition types. */
30
+ private genericTypes;
25
31
  constructor(apiClient: ShufflApiClient, refreshIntervalMs?: number);
26
32
  initialize(): Promise<void>;
27
33
  dispose(): void;
28
34
  /**
29
35
  * Find a design group that supports the given aspect ratio.
30
- * Returns the first matching group's designGroupId and designId.
31
36
  */
32
37
  findDesignForAspectRatio(ratio: string): {
33
38
  designGroupId: string;
34
39
  designId: string;
35
40
  } | null;
36
41
  /**
37
- * Returns the generic design composition types for the given aspect ratio.
38
- * These are clean, unbranded layouts from the generic designs collection.
39
- * The webserver merges them into every design, so they can always be used
40
- * when calling updateSceneComposition.
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.
41
45
  */
42
- getGenericCompositions(aspectRatio?: string): string[];
46
+ getGenericCompositions(): string[];
43
47
  /**
44
- * Check whether a composition type belongs to the generic designs
45
- * (i.e. it's a clean, unbranded layout).
48
+ * Check whether a composition type is a generic (clean, unbranded) layout.
46
49
  */
47
- isGenericComposition(compositionType: string, aspectRatio?: string): boolean;
50
+ isGenericComposition(compositionType: string): boolean;
48
51
  /**
49
- * Suggest a generic composition type for a UGC scene based on its
50
- * position in the video. All suggested types come from the generic
51
- * designs collection.
52
+ * Map a branded composition to its best generic equivalent for UGC.
52
53
  *
53
- * Layout strategy:
54
- * - First scene → vid_clean (hook — full-screen video, no distractions)
55
- * - Last scene → vid_clean (CTA delivered via voiceover over clean video)
56
- * - Middle scenesvid_clean (content full-screen stock footage / AI video)
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 compositionskeep original (they have no media to lose)
57
58
  *
58
- * For UGC, vid_clean is almost always the best choice since the content
59
- * is driven by the voiceover script and stock footage.
59
+ * Returns null if the scene should keep its current composition.
60
60
  */
61
- suggestUgcComposition(_sceneName: string, sceneIndex: number, totalScenes: number, aspectRatio?: string): string;
61
+ mapToGenericForUgc(currentComposition: string): string | null;
62
62
  /**
63
63
  * Returns all discovered design groups (for debugging / logging).
64
64
  */
@@ -1,6 +1,6 @@
1
1
  import { log, logError } from "./utils/logger.js";
2
2
  // ============================================================
3
- // Generic Design Compositions
3
+ // Generic Design Compositions – Adaptive Detection
4
4
  // ============================================================
5
5
  //
6
6
  // Generic designs are a separate collection in the DB – one document per
@@ -9,62 +9,25 @@ import { log, logError } from "./utils/logger.js";
9
9
  // automatically merges generic compositions into every design, so calling
10
10
  // updateSceneComposition with a generic type always works.
11
11
  //
12
- // For UGC content we SWAP scene compositions to these generic types,
13
- // giving the video a clean look with no design-specific overlays.
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.
14
17
  // ============================================================
15
- /** Compositions available across all three aspect ratios. */
16
- const GENERIC_COMPOSITIONS_COMMON = [
17
- "vid_clean", // Full frame video (no overlays)
18
- "smart_vid", // Full frame video (intelligent framing)
19
- "img_single_static", // Full frame single static image
20
- "img_slides", // Full frame sliding/zooming image
21
- "browser-mockup-01", // Browser mockup for image display
22
- "3-img_slides", // 3-image animated slideshow
23
- "4-img_frames_txt", // 4 framed images with titles
24
- "quote_txt", // Quote / paragraph text
25
- "vid_side-by-side", // Side-by-side split video
26
- "dynamic-title_vid_01", // Smart headline overlay on video
27
- "dynamic-title_vid_02", // Smart headline overlay (variant 2)
28
- "dynamic-title_vid_03", // Smart headline overlay (variant 3)
29
- ];
30
- /** Additional compositions available in 16/9 generic design. */
31
- const GENERIC_COMPOSITIONS_16_9_EXTRA = [
32
- "browser-mockup-02",
33
- "vid_and_right_bulleted-list",
34
- "presented-by",
35
- "vid_and_bulleted-list",
36
- "bulleted-list",
37
- "vid_shadow",
38
- "img_shadow",
39
- "quiz",
40
- "vid_pip-2",
41
- "flowchart_txt",
42
- "listings-chart_vid",
43
- "listings-side-chart_vid",
44
- "dynamic-title_vid_04",
45
- "dynamic-title_vid_05",
46
- ];
47
- /** Additional compositions available in 9/16 generic design. */
48
- const GENERIC_COMPOSITIONS_9_16_EXTRA = [
49
- "2-img_frames_txt",
50
- "3-img_frames_txt",
51
- "img_split_2_static",
52
- "img_split_3_static",
53
- "img_split_4_static",
54
- "dynamic-title_vid_04",
55
- "dynamic-title_vid_05",
56
- ];
57
- /** Additional compositions available in 1/1 generic design. */
58
- const GENERIC_COMPOSITIONS_1_1_EXTRA = [
59
- "dynamic-title_vid_04",
60
- "dynamic-title_vid_05",
61
- ];
62
- /** All generic compositions per aspect ratio. */
63
- const GENERIC_COMPOSITIONS = {
64
- "16/9": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_16_9_EXTRA],
65
- "1/1": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_1_1_EXTRA],
66
- "9/16": [...GENERIC_COMPOSITIONS_COMMON, ...GENERIC_COMPOSITIONS_9_16_EXTRA],
67
- };
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
+ ]);
68
31
  // ============================================================
69
32
  // DesignRegistry
70
33
  // ============================================================
@@ -73,9 +36,9 @@ const GENERIC_COMPOSITIONS = {
73
36
  * variants, and composition types from platform templates.
74
37
  * Refreshes periodically so the MCP server stays up-to-date.
75
38
  *
76
- * For UGC content, provides access to the **generic design** composition
77
- * types clean, unbranded layouts that the webserver merges into every
78
- * design automatically.
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.
79
42
  */
80
43
  export class DesignRegistry {
81
44
  apiClient;
@@ -83,6 +46,8 @@ export class DesignRegistry {
83
46
  groups = [];
84
47
  refreshTimer = null;
85
48
  initialized = false;
49
+ /** Dynamically discovered generic composition types. */
50
+ genericTypes = new Set();
86
51
  constructor(apiClient, refreshIntervalMs = 30 * 60 * 1000) {
87
52
  this.apiClient = apiClient;
88
53
  this.refreshIntervalMs = refreshIntervalMs;
@@ -93,7 +58,6 @@ export class DesignRegistry {
93
58
  async initialize() {
94
59
  await this.refresh();
95
60
  this.initialized = true;
96
- // Periodic refresh
97
61
  this.refreshTimer = setInterval(() => {
98
62
  this.refresh().catch((err) => logError("DesignRegistry periodic refresh failed", err));
99
63
  }, this.refreshIntervalMs);
@@ -106,7 +70,6 @@ export class DesignRegistry {
106
70
  }
107
71
  /**
108
72
  * Find a design group that supports the given aspect ratio.
109
- * Returns the first matching group's designGroupId and designId.
110
73
  */
111
74
  findDesignForAspectRatio(ratio) {
112
75
  for (const group of this.groups) {
@@ -118,46 +81,49 @@ export class DesignRegistry {
118
81
  return null;
119
82
  }
120
83
  /**
121
- * Returns the generic design composition types for the given aspect ratio.
122
- * These are clean, unbranded layouts from the generic designs collection.
123
- * The webserver merges them into every design, so they can always be used
124
- * when calling updateSceneComposition.
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.
125
87
  */
126
- getGenericCompositions(aspectRatio = "16/9") {
127
- return [...(GENERIC_COMPOSITIONS[aspectRatio] || GENERIC_COMPOSITIONS_COMMON)];
88
+ getGenericCompositions() {
89
+ return Array.from(this.genericTypes);
128
90
  }
129
91
  /**
130
- * Check whether a composition type belongs to the generic designs
131
- * (i.e. it's a clean, unbranded layout).
92
+ * Check whether a composition type is a generic (clean, unbranded) layout.
132
93
  */
133
- isGenericComposition(compositionType, aspectRatio = "16/9") {
134
- const generics = GENERIC_COMPOSITIONS[aspectRatio] || GENERIC_COMPOSITIONS_COMMON;
135
- return generics.includes(compositionType);
94
+ isGenericComposition(compositionType) {
95
+ return this.genericTypes.has(compositionType);
136
96
  }
137
97
  /**
138
- * Suggest a generic composition type for a UGC scene based on its
139
- * position in the video. All suggested types come from the generic
140
- * designs collection.
98
+ * Map a branded composition to its best generic equivalent for UGC.
141
99
  *
142
- * Layout strategy:
143
- * - First scene → vid_clean (hook — full-screen video, no distractions)
144
- * - Last scene → vid_clean (CTA delivered via voiceover over clean video)
145
- * - Middle scenesvid_clean (content full-screen stock footage / AI video)
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 compositionskeep original (they have no media to lose)
146
104
  *
147
- * For UGC, vid_clean is almost always the best choice since the content
148
- * is driven by the voiceover script and stock footage.
105
+ * Returns null if the scene should keep its current composition.
149
106
  */
150
- suggestUgcComposition(_sceneName, sceneIndex, totalScenes, aspectRatio = "9/16") {
151
- const generics = GENERIC_COMPOSITIONS[aspectRatio] || GENERIC_COMPOSITIONS_COMMON;
152
- // Default: vid_clean for all UGC scenes (clean full-frame video)
153
- if (generics.includes("vid_clean"))
154
- return "vid_clean";
155
- // Fallback chain
156
- if (generics.includes("smart_vid"))
157
- return "smart_vid";
158
- if (generics.includes("img_single_static"))
159
- return "img_single_static";
160
- return "vid_clean"; // absolute fallback
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;
114
+ }
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;
122
+ }
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;
161
127
  }
162
128
  /**
163
129
  * Returns all discovered design groups (for debugging / logging).
@@ -175,17 +141,19 @@ export class DesignRegistry {
175
141
  try {
176
142
  const templates = await this.apiClient.getPlatformTemplates();
177
143
  const groupMap = new Map();
144
+ const discoveredGenericTypes = new Set();
145
+ let usedPathDetection = false;
178
146
  for (const template of templates) {
179
147
  const dg = template.designGroup;
180
148
  if (!dg || !dg._id)
181
149
  continue;
182
150
  const dgId = String(dg._id);
183
151
  if (groupMap.has(dgId))
184
- continue; // already processed
152
+ continue;
185
153
  const name = String(dg.name || "Unknown");
186
154
  const designs = new Map();
187
- const compositions = [];
188
- // Extract aspect-ratio → designId mappings from designsMetadata
155
+ const allCompositions = [];
156
+ // Extract aspect-ratio → designId mappings
189
157
  const metadata = dg.designsMetadata;
190
158
  if (Array.isArray(metadata)) {
191
159
  for (const entry of metadata) {
@@ -194,30 +162,65 @@ export class DesignRegistry {
194
162
  }
195
163
  }
196
164
  }
197
- // Extract composition types from chosenDesign.compositions (branded)
165
+ // Extract compositions and classify generic vs branded
198
166
  const chosenDesign = dg.chosenDesign;
199
167
  if (chosenDesign) {
200
168
  const comps = chosenDesign.compositions;
201
169
  if (Array.isArray(comps)) {
202
170
  for (const comp of comps) {
203
- if (comp.type) {
204
- compositions.push(String(comp.type));
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);
205
196
  }
206
197
  }
207
198
  }
208
199
  }
209
- groupMap.set(dgId, { id: dgId, name, designs, compositions });
200
+ groupMap.set(dgId, { id: dgId, name, designs, allCompositions });
210
201
  }
211
202
  this.groups = Array.from(groupMap.values());
212
- log(`DesignRegistry refreshed: ${this.groups.length} design groups`);
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`);
213
212
  for (const g of this.groups) {
214
213
  const ratios = Array.from(g.designs.keys()).join(", ");
215
- log(` - ${g.name} (${g.id}): ratios=[${ratios}], ${g.compositions.length} branded compositions`);
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(", ")}`);
216
220
  }
217
221
  }
218
222
  catch (err) {
219
223
  logError("DesignRegistry refresh failed", err);
220
- // Keep stale data if we had any
221
224
  }
222
225
  }
223
226
  }
@@ -1 +1 @@
1
- {"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-registry.js","sourceRoot":"","sources":["../src/design-registry.ts"],"names":[],"mappings":"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"}
@@ -321,38 +321,46 @@ export function registerProjectTools(server, apiClient, _config, designRegistry)
321
321
  ],
322
322
  };
323
323
  }
324
- // 4. Fetch project and swap ALL scene compositions to generic design types.
325
- // Generic designs have clean layouts (vid_clean, smart_vid, etc.) with
326
- // no design-specific overlays ideal for UGC.
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).
327
328
  try {
328
329
  const project = await apiClient.getProject(projectId);
329
330
  const scenes = project.scenes || [];
330
- const genericComps = designRegistry.getGenericCompositions(targetRatio);
331
331
  let swapCount = 0;
332
+ let keptCount = 0;
332
333
  for (let i = 0; i < scenes.length; i++) {
333
334
  const scene = scenes[i];
334
335
  const currentComp = scene.compositionType || scene.copy?.compositionType;
335
- // Swap if current composition is NOT already a generic type
336
- if (!currentComp || !designRegistry.isGenericComposition(currentComp, targetRatio)) {
337
- const suggested = designRegistry.suggestUgcComposition(scene.name || "", i, scenes.length, targetRatio);
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) {
338
343
  try {
339
- await apiClient.updateSceneComposition(projectId, scene.id, suggested);
344
+ await apiClient.updateSceneComposition(projectId, scene.id, genericTarget);
340
345
  swapCount++;
341
- log(` Scene ${i} (${scene.id}): ${currentComp || "unknown"} → ${suggested}`);
346
+ log(` Scene ${i} (${scene.id}): ${currentComp} → ${genericTarget}`);
342
347
  }
343
348
  catch (err) {
344
349
  logError(`Failed to swap composition for scene ${scene.id}`, err);
345
350
  }
346
351
  }
347
352
  else {
348
- log(` Scene ${i} (${scene.id}): already generic (${currentComp})`);
353
+ keptCount++;
354
+ log(` Scene ${i} (${scene.id}): kept ${currentComp} (${designRegistry.isGenericComposition(currentComp) ? "already generic" : "text/graphic — no swap"})`);
349
355
  }
350
356
  }
351
- if (swapCount > 0) {
352
- optimizationNotes.push(`Swapped ${swapCount}/${scenes.length} scene compositions to generic design types`);
353
- }
354
- else {
355
- optimizationNotes.push("All scenes already use generic design compositions");
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)`);
356
364
  }
357
365
  // 5. Set edit aspect ratio to 9/16
358
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shuffll/mcp-server",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "MCP server for Shuffll video creation API",
5
5
  "type": "module",
6
6
  "bin": {