@marlinjai/studio-mcp 0.1.1 → 0.2.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/dist/index.d.ts CHANGED
@@ -39,6 +39,7 @@ declare const DocNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
39
39
  "speech-to-speech": "speech-to-speech";
40
40
  "image-to-text": "image-to-text";
41
41
  "image-to-json": "image-to-json";
42
+ "video-to-text": "video-to-text";
42
43
  judge: "judge";
43
44
  "text-generation": "text-generation";
44
45
  upscale: "upscale";
@@ -68,6 +69,13 @@ declare const DocNodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
68
69
  assetId: z.ZodOptional<z.ZodString>;
69
70
  label: z.ZodOptional<z.ZodString>;
70
71
  collapsed: z.ZodOptional<z.ZodBoolean>;
72
+ }, z.core.$strip>, z.ZodObject<{
73
+ id: z.ZodString;
74
+ kind: z.ZodLiteral<"video-source">;
75
+ videoUrl: z.ZodDefault<z.ZodString>;
76
+ assetId: z.ZodOptional<z.ZodString>;
77
+ label: z.ZodOptional<z.ZodString>;
78
+ collapsed: z.ZodOptional<z.ZodBoolean>;
71
79
  }, z.core.$strip>, z.ZodObject<{
72
80
  id: z.ZodString;
73
81
  kind: z.ZodLiteral<"input">;
@@ -119,6 +127,7 @@ declare const WorkflowDocumentSchema: z.ZodObject<{
119
127
  "speech-to-speech": "speech-to-speech";
120
128
  "image-to-text": "image-to-text";
121
129
  "image-to-json": "image-to-json";
130
+ "video-to-text": "video-to-text";
122
131
  judge: "judge";
123
132
  "text-generation": "text-generation";
124
133
  upscale: "upscale";
@@ -148,6 +157,13 @@ declare const WorkflowDocumentSchema: z.ZodObject<{
148
157
  assetId: z.ZodOptional<z.ZodString>;
149
158
  label: z.ZodOptional<z.ZodString>;
150
159
  collapsed: z.ZodOptional<z.ZodBoolean>;
160
+ }, z.core.$strip>, z.ZodObject<{
161
+ id: z.ZodString;
162
+ kind: z.ZodLiteral<"video-source">;
163
+ videoUrl: z.ZodDefault<z.ZodString>;
164
+ assetId: z.ZodOptional<z.ZodString>;
165
+ label: z.ZodOptional<z.ZodString>;
166
+ collapsed: z.ZodOptional<z.ZodBoolean>;
151
167
  }, z.core.$strip>, z.ZodObject<{
152
168
  id: z.ZodString;
153
169
  kind: z.ZodLiteral<"input">;
@@ -239,6 +255,7 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
239
255
  "speech-to-speech": "speech-to-speech";
240
256
  "image-to-text": "image-to-text";
241
257
  "image-to-json": "image-to-json";
258
+ "video-to-text": "video-to-text";
242
259
  judge: "judge";
243
260
  "text-generation": "text-generation";
244
261
  upscale: "upscale";
@@ -268,6 +285,13 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
268
285
  assetId: z.ZodOptional<z.ZodString>;
269
286
  label: z.ZodOptional<z.ZodString>;
270
287
  collapsed: z.ZodOptional<z.ZodBoolean>;
288
+ }, z.core.$strip>, z.ZodObject<{
289
+ id: z.ZodString;
290
+ kind: z.ZodLiteral<"video-source">;
291
+ videoUrl: z.ZodDefault<z.ZodString>;
292
+ assetId: z.ZodOptional<z.ZodString>;
293
+ label: z.ZodOptional<z.ZodString>;
294
+ collapsed: z.ZodOptional<z.ZodBoolean>;
271
295
  }, z.core.$strip>, z.ZodObject<{
272
296
  id: z.ZodString;
273
297
  kind: z.ZodLiteral<"input">;
@@ -323,6 +347,7 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
323
347
  "speech-to-speech": "speech-to-speech";
324
348
  "image-to-text": "image-to-text";
325
349
  "image-to-json": "image-to-json";
350
+ "video-to-text": "video-to-text";
326
351
  judge: "judge";
327
352
  "text-generation": "text-generation";
328
353
  upscale: "upscale";
@@ -353,6 +378,16 @@ declare const OpSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
353
378
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
354
379
  collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
355
380
  }, z.core.$strict>;
381
+ }, z.core.$strip>, z.ZodObject<{
382
+ type: z.ZodLiteral<"setNodeProps">;
383
+ kind: z.ZodLiteral<"video-source">;
384
+ id: z.ZodString;
385
+ props: z.ZodObject<{
386
+ videoUrl: z.ZodOptional<z.ZodString>;
387
+ assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
388
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
389
+ collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
390
+ }, z.core.$strict>;
356
391
  }, z.core.$strip>, z.ZodObject<{
357
392
  type: z.ZodLiteral<"setNodeProps">;
358
393
  kind: z.ZodLiteral<"input">;
@@ -514,6 +549,7 @@ declare const PatchSchema: z.ZodObject<{
514
549
  "speech-to-speech": "speech-to-speech";
515
550
  "image-to-text": "image-to-text";
516
551
  "image-to-json": "image-to-json";
552
+ "video-to-text": "video-to-text";
517
553
  judge: "judge";
518
554
  "text-generation": "text-generation";
519
555
  upscale: "upscale";
@@ -543,6 +579,13 @@ declare const PatchSchema: z.ZodObject<{
543
579
  assetId: z.ZodOptional<z.ZodString>;
544
580
  label: z.ZodOptional<z.ZodString>;
545
581
  collapsed: z.ZodOptional<z.ZodBoolean>;
582
+ }, z.core.$strip>, z.ZodObject<{
583
+ id: z.ZodString;
584
+ kind: z.ZodLiteral<"video-source">;
585
+ videoUrl: z.ZodDefault<z.ZodString>;
586
+ assetId: z.ZodOptional<z.ZodString>;
587
+ label: z.ZodOptional<z.ZodString>;
588
+ collapsed: z.ZodOptional<z.ZodBoolean>;
546
589
  }, z.core.$strip>, z.ZodObject<{
547
590
  id: z.ZodString;
548
591
  kind: z.ZodLiteral<"input">;
@@ -598,6 +641,7 @@ declare const PatchSchema: z.ZodObject<{
598
641
  "speech-to-speech": "speech-to-speech";
599
642
  "image-to-text": "image-to-text";
600
643
  "image-to-json": "image-to-json";
644
+ "video-to-text": "video-to-text";
601
645
  judge: "judge";
602
646
  "text-generation": "text-generation";
603
647
  upscale: "upscale";
@@ -628,6 +672,16 @@ declare const PatchSchema: z.ZodObject<{
628
672
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
629
673
  collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
630
674
  }, z.core.$strict>;
675
+ }, z.core.$strip>, z.ZodObject<{
676
+ type: z.ZodLiteral<"setNodeProps">;
677
+ kind: z.ZodLiteral<"video-source">;
678
+ id: z.ZodString;
679
+ props: z.ZodObject<{
680
+ videoUrl: z.ZodOptional<z.ZodString>;
681
+ assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
682
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
683
+ collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
684
+ }, z.core.$strict>;
631
685
  }, z.core.$strip>, z.ZodObject<{
632
686
  type: z.ZodLiteral<"setNodeProps">;
633
687
  kind: z.ZodLiteral<"input">;
@@ -1022,7 +1076,7 @@ interface TaskDescriptor {
1022
1076
  inputs: Array<{
1023
1077
  port: string;
1024
1078
  wireable: boolean;
1025
- cardinality: 'one' | 'none';
1079
+ cardinality: 'one' | 'two' | 'many' | 'none';
1026
1080
  binding: {
1027
1081
  key: string;
1028
1082
  path: string;
@@ -1404,7 +1458,7 @@ declare function registerTools(server: McpServer, ctx: ToolContext): void;
1404
1458
  */
1405
1459
 
1406
1460
  declare const SERVER_NAME = "lumitra-studio";
1407
- declare const SERVER_VERSION = "0.1.1";
1461
+ declare const SERVER_VERSION = "0.2.0";
1408
1462
  interface CreateServerOptions {
1409
1463
  config?: StudioConfig;
1410
1464
  env?: NodeJS.ProcessEnv;
@@ -1482,6 +1536,7 @@ declare const studioWorkflowCreate: ToolDef<{
1482
1536
  "speech-to-speech": "speech-to-speech";
1483
1537
  "image-to-text": "image-to-text";
1484
1538
  "image-to-json": "image-to-json";
1539
+ "video-to-text": "video-to-text";
1485
1540
  judge: "judge";
1486
1541
  "text-generation": "text-generation";
1487
1542
  upscale: "upscale";
@@ -1511,6 +1566,13 @@ declare const studioWorkflowCreate: ToolDef<{
1511
1566
  assetId: z.ZodOptional<z.ZodString>;
1512
1567
  label: z.ZodOptional<z.ZodString>;
1513
1568
  collapsed: z.ZodOptional<z.ZodBoolean>;
1569
+ }, z.core.$strip>, z.ZodObject<{
1570
+ id: z.ZodString;
1571
+ kind: z.ZodLiteral<"video-source">;
1572
+ videoUrl: z.ZodDefault<z.ZodString>;
1573
+ assetId: z.ZodOptional<z.ZodString>;
1574
+ label: z.ZodOptional<z.ZodString>;
1575
+ collapsed: z.ZodOptional<z.ZodBoolean>;
1514
1576
  }, z.core.$strip>, z.ZodObject<{
1515
1577
  id: z.ZodString;
1516
1578
  kind: z.ZodLiteral<"input">;
@@ -1566,6 +1628,7 @@ declare const studioWorkflowCreate: ToolDef<{
1566
1628
  "speech-to-speech": "speech-to-speech";
1567
1629
  "image-to-text": "image-to-text";
1568
1630
  "image-to-json": "image-to-json";
1631
+ "video-to-text": "video-to-text";
1569
1632
  judge: "judge";
1570
1633
  "text-generation": "text-generation";
1571
1634
  upscale: "upscale";
@@ -1596,6 +1659,16 @@ declare const studioWorkflowCreate: ToolDef<{
1596
1659
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1597
1660
  collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1598
1661
  }, z.core.$strict>;
1662
+ }, z.core.$strip>, z.ZodObject<{
1663
+ type: z.ZodLiteral<"setNodeProps">;
1664
+ kind: z.ZodLiteral<"video-source">;
1665
+ id: z.ZodString;
1666
+ props: z.ZodObject<{
1667
+ videoUrl: z.ZodOptional<z.ZodString>;
1668
+ assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1669
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1670
+ collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1671
+ }, z.core.$strict>;
1599
1672
  }, z.core.$strip>, z.ZodObject<{
1600
1673
  type: z.ZodLiteral<"setNodeProps">;
1601
1674
  kind: z.ZodLiteral<"input">;
@@ -1759,6 +1832,7 @@ declare const studioWorkflowApply: ToolDef<{
1759
1832
  "speech-to-speech": "speech-to-speech";
1760
1833
  "image-to-text": "image-to-text";
1761
1834
  "image-to-json": "image-to-json";
1835
+ "video-to-text": "video-to-text";
1762
1836
  judge: "judge";
1763
1837
  "text-generation": "text-generation";
1764
1838
  upscale: "upscale";
@@ -1788,6 +1862,13 @@ declare const studioWorkflowApply: ToolDef<{
1788
1862
  assetId: z.ZodOptional<z.ZodString>;
1789
1863
  label: z.ZodOptional<z.ZodString>;
1790
1864
  collapsed: z.ZodOptional<z.ZodBoolean>;
1865
+ }, z.core.$strip>, z.ZodObject<{
1866
+ id: z.ZodString;
1867
+ kind: z.ZodLiteral<"video-source">;
1868
+ videoUrl: z.ZodDefault<z.ZodString>;
1869
+ assetId: z.ZodOptional<z.ZodString>;
1870
+ label: z.ZodOptional<z.ZodString>;
1871
+ collapsed: z.ZodOptional<z.ZodBoolean>;
1791
1872
  }, z.core.$strip>, z.ZodObject<{
1792
1873
  id: z.ZodString;
1793
1874
  kind: z.ZodLiteral<"input">;
@@ -1843,6 +1924,7 @@ declare const studioWorkflowApply: ToolDef<{
1843
1924
  "speech-to-speech": "speech-to-speech";
1844
1925
  "image-to-text": "image-to-text";
1845
1926
  "image-to-json": "image-to-json";
1927
+ "video-to-text": "video-to-text";
1846
1928
  judge: "judge";
1847
1929
  "text-generation": "text-generation";
1848
1930
  upscale: "upscale";
@@ -1873,6 +1955,16 @@ declare const studioWorkflowApply: ToolDef<{
1873
1955
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1874
1956
  collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1875
1957
  }, z.core.$strict>;
1958
+ }, z.core.$strip>, z.ZodObject<{
1959
+ type: z.ZodLiteral<"setNodeProps">;
1960
+ kind: z.ZodLiteral<"video-source">;
1961
+ id: z.ZodString;
1962
+ props: z.ZodObject<{
1963
+ videoUrl: z.ZodOptional<z.ZodString>;
1964
+ assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1965
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1966
+ collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1967
+ }, z.core.$strict>;
1876
1968
  }, z.core.$strip>, z.ZodObject<{
1877
1969
  type: z.ZodLiteral<"setNodeProps">;
1878
1970
  kind: z.ZodLiteral<"input">;
@@ -2035,6 +2127,7 @@ declare const studioWorkflowValidate: ToolDef<{
2035
2127
  "speech-to-speech": "speech-to-speech";
2036
2128
  "image-to-text": "image-to-text";
2037
2129
  "image-to-json": "image-to-json";
2130
+ "video-to-text": "video-to-text";
2038
2131
  judge: "judge";
2039
2132
  "text-generation": "text-generation";
2040
2133
  upscale: "upscale";
@@ -2064,6 +2157,13 @@ declare const studioWorkflowValidate: ToolDef<{
2064
2157
  assetId: z.ZodOptional<z.ZodString>;
2065
2158
  label: z.ZodOptional<z.ZodString>;
2066
2159
  collapsed: z.ZodOptional<z.ZodBoolean>;
2160
+ }, z.core.$strip>, z.ZodObject<{
2161
+ id: z.ZodString;
2162
+ kind: z.ZodLiteral<"video-source">;
2163
+ videoUrl: z.ZodDefault<z.ZodString>;
2164
+ assetId: z.ZodOptional<z.ZodString>;
2165
+ label: z.ZodOptional<z.ZodString>;
2166
+ collapsed: z.ZodOptional<z.ZodBoolean>;
2067
2167
  }, z.core.$strip>, z.ZodObject<{
2068
2168
  id: z.ZodString;
2069
2169
  kind: z.ZodLiteral<"input">;
@@ -2156,6 +2256,7 @@ declare const studioWorkflowValidate: ToolDef<{
2156
2256
  "speech-to-speech": "speech-to-speech";
2157
2257
  "image-to-text": "image-to-text";
2158
2258
  "image-to-json": "image-to-json";
2259
+ "video-to-text": "video-to-text";
2159
2260
  judge: "judge";
2160
2261
  "text-generation": "text-generation";
2161
2262
  upscale: "upscale";
@@ -2185,6 +2286,13 @@ declare const studioWorkflowValidate: ToolDef<{
2185
2286
  assetId: z.ZodOptional<z.ZodString>;
2186
2287
  label: z.ZodOptional<z.ZodString>;
2187
2288
  collapsed: z.ZodOptional<z.ZodBoolean>;
2289
+ }, z.core.$strip>, z.ZodObject<{
2290
+ id: z.ZodString;
2291
+ kind: z.ZodLiteral<"video-source">;
2292
+ videoUrl: z.ZodDefault<z.ZodString>;
2293
+ assetId: z.ZodOptional<z.ZodString>;
2294
+ label: z.ZodOptional<z.ZodString>;
2295
+ collapsed: z.ZodOptional<z.ZodBoolean>;
2188
2296
  }, z.core.$strip>, z.ZodObject<{
2189
2297
  id: z.ZodString;
2190
2298
  kind: z.ZodLiteral<"input">;
@@ -2240,6 +2348,7 @@ declare const studioWorkflowValidate: ToolDef<{
2240
2348
  "speech-to-speech": "speech-to-speech";
2241
2349
  "image-to-text": "image-to-text";
2242
2350
  "image-to-json": "image-to-json";
2351
+ "video-to-text": "video-to-text";
2243
2352
  judge: "judge";
2244
2353
  "text-generation": "text-generation";
2245
2354
  upscale: "upscale";
@@ -2270,6 +2379,16 @@ declare const studioWorkflowValidate: ToolDef<{
2270
2379
  label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2271
2380
  collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
2272
2381
  }, z.core.$strict>;
2382
+ }, z.core.$strip>, z.ZodObject<{
2383
+ type: z.ZodLiteral<"setNodeProps">;
2384
+ kind: z.ZodLiteral<"video-source">;
2385
+ id: z.ZodString;
2386
+ props: z.ZodObject<{
2387
+ videoUrl: z.ZodOptional<z.ZodString>;
2388
+ assetId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2389
+ label: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2390
+ collapsed: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
2391
+ }, z.core.$strict>;
2273
2392
  }, z.core.$strip>, z.ZodObject<{
2274
2393
  type: z.ZodLiteral<"setNodeProps">;
2275
2394
  kind: z.ZodLiteral<"input">;
@@ -2439,6 +2558,7 @@ interface NodeSummary {
2439
2558
  promptLength?: number;
2440
2559
  /** Image-source nodes: the url clipped; empty means still uploading. */
2441
2560
  imageUrl?: string;
2561
+ videoUrl?: string;
2442
2562
  /** Input nodes (declared run parameters). */
2443
2563
  name?: string;
2444
2564
  type?: string;
@@ -2597,14 +2717,60 @@ declare function characterSheetDefinition(overrides?: {
2597
2717
  declare const DEFAULT_SWAP_EDIT_MODEL = "fal/nano-banana-2-edit";
2598
2718
  /** Single start-frame animation. */
2599
2719
  declare const DEFAULT_SWAP_VIDEO_MODEL = "fal/seedance-pro-image-to-video";
2600
- declare const DEFAULT_SWAP_PROMPT = "Replace the person in the first image with the person from the second image. Keep the pose, framing, camera angle, clothing fit, lighting, background, and every other pixel of the scene identical. Match the face, hair, and body of the second image exactly. Photorealistic, no artifacts.";
2601
- declare const DEFAULT_MOTION_PROMPT = "Natural, subtle motion that continues the scene: gentle camera movement, realistic body motion, consistent lighting. Keep the person identical to the still.";
2720
+ /**
2721
+ * How much of the person a swap replaces. The rest of the shot always comes
2722
+ * from the footage: pose, expression, gaze, hands, clothing, lighting, focus,
2723
+ * framing and background.
2724
+ *
2725
+ * - `identity` (the default): face, head and hair come from the character; the
2726
+ * footage keeps its body. The smallest change, so the fewest things can break.
2727
+ * - `full_body`: the character's body proportions too. The silhouette changes,
2728
+ * so whatever the old body covered has to be reconstructed and every contact
2729
+ * point (a hand on a tool, a shoulder behind a door) re-derived; say so before
2730
+ * spending on it.
2731
+ *
2732
+ * Identity is the default because an unspecified scope should preserve the
2733
+ * source, never quietly widen the edit.
2734
+ */
2735
+ declare const SWAP_SCOPES: readonly ["identity", "full_body"];
2736
+ type SwapScope = (typeof SWAP_SCOPES)[number];
2737
+ interface SwapPromptOptions {
2738
+ scope?: SwapScope;
2739
+ /**
2740
+ * Shot-specific constraints most likely to fail here, as concrete
2741
+ * relationships from an analysis of this shot, e.g. "keep the open door in
2742
+ * front of his body". Each becomes its own sentence.
2743
+ */
2744
+ preserve?: string[];
2745
+ }
2746
+ /**
2747
+ * The still-swap edit prompt for a declared scope.
2748
+ *
2749
+ * Deliberately short and literal. It names what changes, which image supplies
2750
+ * it, and what the first image keeps. It carries no realism suffix
2751
+ * ("photorealistic, no artifacts") and no promise that every pixel stays
2752
+ * identical: an edit model cannot guarantee either, and the suffix is how a
2753
+ * deliberately soft, defocused subject came back tack-sharp on real footage.
2754
+ * Untouched pixels are kept by compositing after the edit, not by asking.
2755
+ */
2756
+ declare function composeSwapPrompt(options?: SwapPromptOptions): string;
2757
+ /** The identity-scope prompt, the one a swap gets when nothing is declared. */
2758
+ declare const DEFAULT_SWAP_PROMPT: string;
2759
+ /**
2760
+ * The motion prompt when none is given. It asks for NO camera move: in a
2761
+ * replacement the camera belongs to the original footage, and a model told to
2762
+ * add "gentle camera movement" invents one the edit then has to fight.
2763
+ */
2764
+ declare const DEFAULT_MOTION_PROMPT = "Continue the scene as photographed: keep the camera position and framing of the still, move the person naturally and continuously, and keep the lighting consistent. Add no camera movement.";
2602
2765
  interface CharacterSwapInput {
2603
2766
  sceneFrameUrl: string;
2604
2767
  characterImageUrl: string;
2605
2768
  /** A second, already-swapped keyframe for the END of the clip (Kling start+end). */
2606
2769
  endFrameUrl?: string;
2770
+ /** Replaces the composed prompt entirely; `scope` and `preserve` are then ignored. */
2607
2771
  swapPrompt?: string;
2772
+ scope?: SwapScope;
2773
+ preserve?: string[];
2608
2774
  motionPrompt?: string;
2609
2775
  editModel?: string;
2610
2776
  /** Explicit video model; when absent, Seedance for one frame, Kling when endFrameUrl is set. */
@@ -2645,4 +2811,4 @@ declare function parseArgs(argv: string[]): CliArgs;
2645
2811
  declare function createHttpHandler(): (req: IncomingMessage, res: ServerResponse) => Promise<void>;
2646
2812
  declare function main(argv?: string[]): Promise<void>;
2647
2813
 
2648
- export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };
2814
+ export { type AllTenantsUsageResponse, type Binding, CHARACTER_SHEET_DEFINITION, CHARACTER_SHEET_NODES, type CharacterReference, type CharacterSummary, type CharacterSwapInput, ConfigError, ContractError, type CreateServerOptions, DEFAULT_BASE_URL, DEFAULT_MOTION_PROMPT, DEFAULT_SWAP_EDIT_MODEL, DEFAULT_SWAP_PROMPT, DEFAULT_SWAP_VIDEO_MODEL, DEFAULT_TIMEOUT_MS, type DocumentSummary, type FetchLike, type JobResponse, type JobStatus, type JudgeCandidate, MINT_REFERENCE_CATEGORIES, type NodeResultResponse, type NodeRun, type NodeStatus, type NodeSummary, type NodeTypesResponse, type PollOptions, PollTimeoutError, type ProjectSummary, type Projection, type RemovedNode, type RunResponse, type RunStartResponse, type RunStatus, SERVER_NAME, SERVER_VERSION, SUMMARY_TEXT_CHARS, SWAP_SCOPES, type SpendLedger, StudioApiError, StudioClient, type StudioClientOptions, type StudioConfig, type StudioMcp, type SummaryMeta, type SwapPromptOptions, type SwapScope, TOOLS, TOOL_NAMES, type TaskDescriptor, type TenantSpendSummary, type TenantUsageResponse, type ToolContext, type ToolDef, ToolInputError, type ToolResult, type TurnaroundView, type UploadFile, type UsageByModel, type UsageResponse, WORKFLOW_TOOLS, type WorkflowApplyResponse, type WorkflowCreateResponse, type WorkflowDefinition, type WorkflowDocumentResponse, type WorkflowNode, type WorkflowValidateResponse, affectedNodes, buildCharacterSheetParams, buildCharacterSwapDefinition, categoryForNode, characterSheetDefinition, composeSwapPrompt, createHttpHandler, createStudioMcpServer, extensionForMime, filenameFromUrl, invokeTool, main, mimeForFilename, parseArgs, parseDocument, parseOps, pollUntil, projectionOf, redactSecret, registerTools, resolveConfig, seedFacePrompt, studioWorkflowApply, studioWorkflowCreate, studioWorkflowDescribe, studioWorkflowGet, studioWorkflowScreenshot, studioWorkflowValidate, summarizeDocument, summarizeNode, touchedNodeIds, turnaroundViewPrompt, waitForJob, waitForRun };