@slatesvideo/shared 0.7.1 → 0.7.3

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 (88) hide show
  1. package/dist/clients/cloud.d.ts +4 -0
  2. package/dist/clients/cloud.js +11 -3
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +2 -1
  5. package/dist/manual/content.d.ts +1 -1
  6. package/dist/manual/content.js +1 -1
  7. package/dist/manual/index.d.ts +11 -2
  8. package/dist/manual/index.js +178 -14
  9. package/dist/operations/index.d.ts +292 -94
  10. package/dist/operations/index.js +870 -199
  11. package/dist/operations/surface.d.ts +6 -2
  12. package/dist/operations/surface.js +35 -5
  13. package/dist/prompts/agent-doctrine.d.ts +4 -4
  14. package/dist/prompts/agent-doctrine.js +18 -29
  15. package/dist/prompts/generation-policy.d.ts +1 -1
  16. package/dist/prompts/guide-discovery.d.ts +23 -0
  17. package/dist/prompts/guide-discovery.js +39 -0
  18. package/dist/prompts/guide-retrieval.js +1 -1
  19. package/dist/prompts/model-capabilities.d.ts +8 -9
  20. package/dist/prompts/model-capabilities.js +11 -51
  21. package/dist/prompts/model-facts.d.ts +2 -2
  22. package/dist/prompts/model-facts.js +15 -26
  23. package/dist/prompts/partials.generated.js +6 -3
  24. package/dist/prompts/prompting-tips.d.ts +1 -1
  25. package/dist/prompts/prompting-tips.js +21 -63
  26. package/dist/prompts/search-terms.d.ts +3 -0
  27. package/dist/prompts/search-terms.js +24 -0
  28. package/dist/skills/content.js +36 -37
  29. package/dist/skills/metadata.d.ts +7 -0
  30. package/dist/skills/metadata.js +29 -0
  31. package/exports/slates-chatgpt-images/generated/SKILL.md +7 -1
  32. package/exports/slates-chatgpt-images/generated/slates-chatgpt-images.skill +0 -0
  33. package/exports/slates-prompt-builder/generated/SKILL.md +28 -16
  34. package/exports/slates-prompt-builder/generated/reference-character.md +12 -13
  35. package/exports/slates-prompt-builder/generated/reference-content-policy.md +2 -2
  36. package/exports/slates-prompt-builder/generated/reference-gpt-image-2-5.md +191 -0
  37. package/exports/slates-prompt-builder/generated/reference-kling.md +32 -11
  38. package/exports/slates-prompt-builder/generated/reference-nano-banana.md +24 -6
  39. package/exports/slates-prompt-builder/generated/reference-omni-flash.md +65 -0
  40. package/exports/slates-prompt-builder/generated/reference-seedance-2-5.md +362 -0
  41. package/exports/slates-prompt-builder/generated/reference-seedance.md +34 -4
  42. package/exports/slates-prompt-builder/generated/slates-prompt-builder-manifest.json +77 -23
  43. package/exports/slates-prompt-builder/generated/slates-prompt-builder.skill +0 -0
  44. package/package.json +2 -1
  45. package/skills/_partials/blender-action-curves.md +24 -0
  46. package/skills/_partials/cinematic-card.md +1 -1
  47. package/skills/_partials/iteration-diagnosis.md +5 -0
  48. package/skills/_partials/model-routing.md +35 -0
  49. package/skills/_partials/seedance-25-timestamps.md +2 -2
  50. package/skills/_partials/still-gate.md +2 -2
  51. package/skills/_partials/thresholds.md +1 -1
  52. package/skills/slates-blocking-to-prompt.md +15 -13
  53. package/skills/slates-camera-language.md +45 -7
  54. package/skills/slates-character-identity.md +8 -6
  55. package/skills/slates-chatgpt-images.md +7 -1
  56. package/skills/slates-cinematic-look.md +1 -1
  57. package/skills/slates-content-policy.md +4 -6
  58. package/skills/slates-cost-discipline.md +18 -12
  59. package/skills/slates-dialogue-blocking.md +6 -6
  60. package/skills/slates-direct-response-ad.md +1 -1
  61. package/skills/slates-edit-and-iterate.md +12 -4
  62. package/skills/slates-model-selection.md +82 -90
  63. package/skills/slates-one-prompt-film.md +1 -1
  64. package/skills/slates-previs-blocking.md +44 -13
  65. package/skills/slates-project-organization.md +2 -2
  66. package/skills/slates-prompting-elevenlabs.md +4 -4
  67. package/skills/slates-prompting-flux-2-max.md +2 -3
  68. package/skills/slates-prompting-gpt-image-2-5.md +2 -2
  69. package/skills/slates-prompting-inworld-tts.md +1 -1
  70. package/skills/slates-prompting-kling-v3.md +11 -9
  71. package/skills/slates-prompting-lip-sync.md +15 -15
  72. package/skills/slates-prompting-ltx-2-5.md +5 -6
  73. package/skills/slates-prompting-minimax-h3.md +11 -11
  74. package/skills/slates-prompting-motion-transfer.md +8 -8
  75. package/skills/slates-prompting-nano-banana-2.md +8 -4
  76. package/skills/slates-prompting-omni-flash.md +9 -9
  77. package/skills/slates-prompting-seed-audio.md +24 -4
  78. package/skills/slates-prompting-seedance-2-5.md +40 -30
  79. package/skills/slates-prompting-seedance.md +4 -4
  80. package/skills/slates-prompting-seedream-5-lite.md +6 -6
  81. package/skills/slates-restyle-from-blocking.md +2 -2
  82. package/skills/slates-script-craft.md +1 -1
  83. package/skills/slates-shot-variety.md +1 -1
  84. package/skills/slates-storyboard-from-script.md +1 -1
  85. package/skills/slates-style-prompting.md +8 -6
  86. package/skills/slates-ugc-influencer-ad.md +1 -1
  87. package/skills/slates-vision-feedback-loop.md +118 -110
  88. package/skills/slates-prompting-veo-3.md +0 -224
@@ -159,9 +159,25 @@ export declare const getWorkspaceState: Operation<{
159
159
  * up at request time. Exists so "make these into videos" needs no codes typed.
160
160
  */
161
161
  export declare const getSelection: Operation<Record<string, never>>;
162
+ declare const SELECTION_TARGETS: readonly ["media", "board"];
163
+ declare const SELECTION_MODES: readonly ["replace", "add", "remove", "clear", "all"];
164
+ /**
165
+ * SET what is selected, as the user's clicks do: the cards ticked in Media, the Shots ticked on the Board.
166
+ * Pairs with `slates_get_selection`, which reads it: "tick the shots with no clip, then price them" is this op
167
+ * and then the quote. The desktop applies it through the stores the grids write and answers with what SETTLED.
168
+ */
169
+ export declare const setSelection: Operation<{
170
+ surface: (typeof SELECTION_TARGETS)[number];
171
+ mode: (typeof SELECTION_MODES)[number];
172
+ ids?: string[];
173
+ }>;
162
174
  declare const VIEW_LENSES: readonly ["board", "media", "script"];
163
175
  declare const VIEW_CUT_SIDES: readonly ["bottom", "left", "right"];
164
176
  declare const VIEW_DOCK_SECTIONS: readonly ["storyboards", "library", "folders", "pinned"];
177
+ declare const VIEW_BOARD_LEVELS: readonly ["film", "scenes", "shot"];
178
+ declare const VIEW_BOARD_FILTERS: readonly ["all", "with-clip", "without-clip"];
179
+ declare const VIEW_MEDIA_TABS: readonly ["all", "images", "videos", "audio"];
180
+ declare const VIEW_SETTINGS_PANES: readonly ["account", "ai", "storage", "logs", "general", "keys"];
165
181
  type DockSection = (typeof VIEW_DOCK_SECTIONS)[number];
166
182
  /**
167
183
  * How the Slates window is ARRANGED right now — which lens is showing, where
@@ -180,6 +196,7 @@ export declare const getView: Operation<Record<string, never>>;
180
196
  * the timeline full-screen instead, and says so.
181
197
  */
182
198
  export declare const setView: Operation<{
199
+ projectId?: string | null;
183
200
  lens?: (typeof VIEW_LENSES)[number];
184
201
  cut?: {
185
202
  open?: boolean;
@@ -187,6 +204,7 @@ export declare const setView: Operation<{
187
204
  side?: (typeof VIEW_CUT_SIDES)[number];
188
205
  height?: number;
189
206
  width?: number;
207
+ timelineId?: string;
190
208
  };
191
209
  leftDock?: {
192
210
  open?: boolean;
@@ -199,14 +217,151 @@ export declare const setView: Operation<{
199
217
  };
200
218
  script?: {
201
219
  details?: boolean;
220
+ textScale?: number;
221
+ panelShotId?: string | null;
222
+ };
223
+ board?: {
224
+ id?: string;
225
+ sceneId?: string;
226
+ level?: (typeof VIEW_BOARD_LEVELS)[number];
227
+ cardWidth?: number;
228
+ filter?: (typeof VIEW_BOARD_FILTERS)[number];
229
+ linkedClips?: boolean;
230
+ scriptFollowsDrag?: boolean;
231
+ collapsedSceneIds?: string[];
232
+ };
233
+ media?: {
234
+ tab?: (typeof VIEW_MEDIA_TABS)[number];
235
+ folderId?: string | null;
236
+ unfiledOnly?: boolean;
237
+ search?: string;
238
+ favoritesOnly?: boolean;
239
+ linkedOnly?: boolean;
240
+ rounds?: boolean;
241
+ cardSize?: number;
242
+ revealAssetId?: string;
243
+ };
244
+ library?: {
245
+ categoryId: string | null;
246
+ };
247
+ viewer?: {
248
+ assetId: string | null;
249
+ };
250
+ compare?: {
251
+ open?: boolean;
252
+ assetIds?: string[];
253
+ };
254
+ animatic?: {
255
+ open: boolean;
256
+ fromShotId?: string;
257
+ };
258
+ settings?: {
259
+ open: boolean;
260
+ pane?: (typeof VIEW_SETTINGS_PANES)[number];
261
+ };
262
+ composer?: {
263
+ open: boolean;
264
+ };
265
+ }>;
266
+ /**
267
+ * SHOW AND POINT (1.6.1). The manual's pictures and a ring around a live control, so an agent can
268
+ * answer "where is it?" with the thing itself instead of a paragraph. Neither changes the project or
269
+ * the view. The pictures come from the INSTALLED app (it ships them), so they show the user's version;
270
+ * the public URL is for a client that renders only links. Decisions 13-16 in second-brain
271
+ * plans/2026-09-30-slates-manual-for-llms-1-6-1-decisions.md.
272
+ */
273
+ export declare const getManualPicture: Operation<{
274
+ id?: string;
275
+ }>;
276
+ export declare const highlightControl: Operation<{
277
+ target?: string;
278
+ caption?: string;
279
+ list?: boolean;
280
+ }>;
281
+ export declare const getComposer: Operation<Record<string, never>>;
282
+ export declare const setComposer: Operation<{
283
+ projectId?: string;
284
+ bindShotId?: string | null;
285
+ clear?: boolean;
286
+ restoreDraft?: boolean;
287
+ restoreSetup?: boolean;
288
+ fromAssetId?: string;
289
+ editSourceAssetId?: string;
290
+ lane?: 'image' | 'video' | 'audio';
291
+ model?: string;
292
+ prompt?: string;
293
+ addMentions?: string[];
294
+ attach?: Array<{
295
+ assetId: string;
296
+ role?: string;
297
+ }>;
298
+ detach?: string[];
299
+ setRole?: Array<{
300
+ assetId: string;
301
+ role: string;
302
+ }>;
303
+ params?: Record<string, string | number | boolean>;
304
+ voice?: {
305
+ presetId: string;
306
+ } | {
307
+ clipAssetId: string;
308
+ } | {
309
+ description: string;
310
+ };
311
+ tool?: {
312
+ sourceAssetId?: string | null;
313
+ speechText?: string;
314
+ drivingVideoAssetId?: string | null;
315
+ characterImageAssetId?: string | null;
202
316
  };
203
317
  }>;
318
+ /**
319
+ * AGENT PARITY (1.6.1): what a user could do in the window and an agent could not. Each calls a desktop
320
+ * route that runs the window's own function (`slate/src/main/agent/routes-parity.ts`). Plan step 5b,
321
+ * second-brain plans/2026-09-30-slates-manual-for-llms-1-6-1.md.
322
+ */
323
+ export declare const reorderFolders: Operation<{
324
+ projectId: string;
325
+ folderIds: string[];
326
+ }>;
327
+ export declare const reorderPins: Operation<{
328
+ projectId: string;
329
+ assetIds: string[];
330
+ }>;
331
+ export declare const getUsage: Operation<{
332
+ period?: 'week' | 'month' | 'all';
333
+ }>;
334
+ export declare const getAppSettings: Operation<Record<string, never>>;
335
+ type AppSettingsPatch = {
336
+ newProjectLens?: 'media' | 'script' | 'board';
337
+ chatGptImagesEnabled?: boolean;
338
+ studioAgentHost?: 'slates' | 'codex' | 'claude';
339
+ studioAgentCodexModel?: string;
340
+ studioAgentCodexEffort?: string;
341
+ studioAgentClaudeModel?: string;
342
+ studioAgentClaudeEffort?: string;
343
+ };
344
+ export declare const setAppSettings: Operation<AppSettingsPatch>;
345
+ export declare const getAsset: Operation<{
346
+ projectId: string;
347
+ assetId: string;
348
+ }>;
349
+ export declare const linkAssetSource: Operation<{
350
+ projectId: string;
351
+ assetId: string;
352
+ imageAssetId: string | null;
353
+ }>;
354
+ export declare const extractVideoFrame: Operation<{
355
+ projectId: string;
356
+ assetId: string;
357
+ at?: 'first' | 'last' | number;
358
+ }>;
204
359
  export declare const getMe: Operation<Record<string, never>>;
205
360
  export declare const getCreditBalance: Operation<Record<string, never>>;
206
361
  export declare const listAvailableModels: Operation<{
207
362
  filter?: string;
208
363
  }>;
209
- export declare const VIDEO_MODELS: readonly ["kling-v3.0-std", "kling-v3.0-pro", "kling-v3.0-omni", "veo-3.1-fast", "veo-3.1-standard", "seedance-2", "seedance-2.5", "omni-flash", "minimax-h3", "minimax-h3-max", "minimax-h3-max-turbo", "ltx-2-5", "ltx-2-5-pro"];
364
+ export declare const VIDEO_MODELS: readonly ["kling-v3.0-std", "kling-v3.0-pro", "kling-v3.0-omni", "seedance-2", "seedance-2.5", "omni-flash", "minimax-h3", "minimax-h3-max", "minimax-h3-max-turbo", "ltx-2-5", "ltx-2-5-pro"];
210
365
  type VideoModel = (typeof VIDEO_MODELS)[number];
211
366
  /** The exact `model` ids `slates_edit_video` accepts. Edit rows are deliberately
212
367
  * NOT in VIDEO_MODELS — they take a source clip, not frames. */
@@ -265,6 +420,7 @@ export declare const generateChatGptImage: Operation<{
265
420
  aspectRatio?: string;
266
421
  referenceAssetIds?: string[];
267
422
  background?: boolean;
423
+ folderId?: string | null;
268
424
  }>;
269
425
  export declare const saveExternalImage: Operation<{
270
426
  projectId: string;
@@ -283,6 +439,7 @@ export declare const uploadReferenceImage: Operation<{
283
439
  filePath?: string;
284
440
  dataUrl?: string;
285
441
  type?: 'image' | 'video' | 'audio';
442
+ folderId?: string | null;
286
443
  }>;
287
444
  export declare const listFolders: Operation<{
288
445
  projectId: string;
@@ -435,6 +592,7 @@ export declare const generateImage: Operation<{
435
592
  referenceAssetIds?: string[];
436
593
  background?: boolean;
437
594
  confirm?: boolean;
595
+ folderId?: string | null;
438
596
  }>;
439
597
  export declare const editImage: Operation<{
440
598
  projectId: string;
@@ -449,6 +607,27 @@ export declare const editImage: Operation<{
449
607
  confirm?: boolean;
450
608
  background?: boolean;
451
609
  }>;
610
+ /**
611
+ * The picture viewer's EXTRACT (its Cells tab): a 2x2 or 3x3 grid picture, cells cropped out and re-rendered
612
+ * at full resolution, each as its own new picture. BILLABLE, and priced by the DESKTOP: its quote is the
613
+ * `imageCost` the viewer's Extract button prints, for this seat, rung and cell count, so the price an agent
614
+ * is shown cannot differ from the button's. The confirm gate is every billable op's: above CONFIRM_CREDITS
615
+ * with no `confirm`, the op answers with the price and the exact prompt, and spends nothing.
616
+ */
617
+ /** The seats the viewer's Cells box offers. Mirrors slate's `GRID_EXTRACT_MODELS` (`shared/prompts/storyboard-grids.ts`), which this package cannot import. */
618
+ declare const GRID_EXTRACT_SEATS: readonly ["nano-banana-2", "flux-2-max", "seedream-5-lite"];
619
+ export declare const extractGridCells: Operation<{
620
+ projectId: string;
621
+ assetId: string;
622
+ cells: string[];
623
+ model?: (typeof GRID_EXTRACT_SEATS)[number];
624
+ resolution?: '1k' | '2k' | '3k' | '4k';
625
+ aspectRatio?: string;
626
+ prompt?: string;
627
+ referenceAssetIds?: string[];
628
+ confirm?: boolean;
629
+ background?: boolean;
630
+ }>;
452
631
  export declare function videoCostKey(input: {
453
632
  model: VideoModel;
454
633
  duration: number;
@@ -522,6 +701,7 @@ export declare const generateVideo: Operation<{
522
701
  negativePrompt?: string;
523
702
  background?: boolean;
524
703
  confirm?: boolean;
704
+ folderId?: string | null;
525
705
  }>;
526
706
  /**
527
707
  * AGENT PARITY for the voice picker. The desktop browses stock voices by
@@ -554,6 +734,7 @@ export declare const generateAudio: Operation<{
554
734
  imageReferenceAssetId?: string;
555
735
  background?: boolean;
556
736
  confirm?: boolean;
737
+ folderId?: string | null;
557
738
  }>;
558
739
  export declare const generateLipSync: Operation<{
559
740
  projectId: string;
@@ -593,12 +774,18 @@ export declare const editVideo: Operation<{
593
774
  seedanceFace?: boolean;
594
775
  background?: boolean;
595
776
  confirm?: boolean;
777
+ folderId?: string | null;
596
778
  }>;
597
779
  export declare const trimVideo: Operation<{
598
780
  projectId: string;
599
781
  assetId: string;
600
782
  inSec?: number;
601
783
  outSec: number;
784
+ pieces?: {
785
+ splitsAtSec?: number[];
786
+ longestSec?: number;
787
+ shareSec?: number;
788
+ };
602
789
  }>;
603
790
  export declare const getGenerationStatus: Operation<{
604
791
  generationId: string;
@@ -628,7 +815,7 @@ declare const exportCutsInput: z.ZodObject<{
628
815
  projectId: string;
629
816
  directory: string;
630
817
  manifestId: string;
631
- action?: "status" | "start" | "cancel" | undefined;
818
+ action?: "start" | "status" | "cancel" | undefined;
632
819
  items?: {
633
820
  timelineId: string;
634
821
  format: "mp4" | "xml";
@@ -637,7 +824,7 @@ declare const exportCutsInput: z.ZodObject<{
637
824
  projectId: string;
638
825
  directory: string;
639
826
  manifestId: string;
640
- action?: "status" | "start" | "cancel" | undefined;
827
+ action?: "start" | "status" | "cancel" | undefined;
641
828
  items?: {
642
829
  timelineId: string;
643
830
  format: "mp4" | "xml";
@@ -878,6 +1065,7 @@ export declare const updateFrame: Operation<{
878
1065
  assetId?: string | null;
879
1066
  sceneId?: string | null;
880
1067
  position?: number;
1068
+ preferredClipId?: string | null;
881
1069
  }>;
882
1070
  /**
883
1071
  * Batch form of `slates_update_frame`.
@@ -900,6 +1088,7 @@ export declare const batchUpdateFrames: Operation<{
900
1088
  assetId?: string | null;
901
1089
  sceneId?: string | null;
902
1090
  position?: number;
1091
+ preferredClipId?: string | null;
903
1092
  }[];
904
1093
  }>;
905
1094
  export declare const deleteFrame: Operation<{
@@ -934,7 +1123,8 @@ type ShotOpParams = Omit<ShotParams, 'aspectRatio' | 'videoResolution' | 'imageR
934
1123
  export declare const createShot: Operation<ShotOpRefs & ShotOpScript & {
935
1124
  projectId: string;
936
1125
  name?: string;
937
- prompt: string;
1126
+ prompt?: string;
1127
+ fromAssetId?: string;
938
1128
  model?: string;
939
1129
  params?: ShotOpParams;
940
1130
  frameId?: string;
@@ -969,6 +1159,15 @@ export declare const listShots: Operation<{
969
1159
  export declare const getShot: Operation<{
970
1160
  shotId: string;
971
1161
  }>;
1162
+ /**
1163
+ * The Board's "Use pictures as first frames": each video Shot with a picture and no first frame starts its
1164
+ * video from that picture. The desktop runs the command's own pick and write (`firstFrameCandidate`,
1165
+ * `withFirstFrame`), so the recipe changes exactly as a click changes it. Free: nothing is generated.
1166
+ */
1167
+ export declare const usePicturesAsFirstFrames: Operation<{
1168
+ projectId: string;
1169
+ shotIds?: string[];
1170
+ }>;
972
1171
  /**
973
1172
  * SPLIT and MERGE — the chop decision, and the only two cross-row operations on
974
1173
  * this surface.
@@ -1036,13 +1235,13 @@ declare const variationSchema: z.ZodObject<{
1036
1235
  to: z.ZodString;
1037
1236
  voice: z.ZodEnum<["keep", "replace"]>;
1038
1237
  }, "strip", z.ZodTypeAny, {
1039
- voice: "replace" | "keep";
1040
1238
  from: string;
1041
1239
  to: string;
1240
+ voice: "keep" | "replace";
1042
1241
  }, {
1043
- voice: "replace" | "keep";
1044
1242
  from: string;
1045
1243
  to: string;
1244
+ voice: "keep" | "replace";
1046
1245
  }>, "many">>;
1047
1246
  assetOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
1048
1247
  from: z.ZodString;
@@ -1056,9 +1255,9 @@ declare const variationSchema: z.ZodObject<{
1056
1255
  }>, "many">>;
1057
1256
  idempotencyKey: z.ZodOptional<z.ZodString>;
1058
1257
  }, "strip", z.ZodTypeAny, {
1059
- name: string;
1060
1258
  storyboardId: string;
1061
1259
  expectedRevision: number;
1260
+ name: string;
1062
1261
  choices: {
1063
1262
  sectionId: string;
1064
1263
  alternativeId: string;
@@ -1068,9 +1267,9 @@ declare const variationSchema: z.ZodObject<{
1068
1267
  alternativeId: string;
1069
1268
  }[] | undefined;
1070
1269
  itemOverrides?: {
1071
- voice: "replace" | "keep";
1072
1270
  from: string;
1073
1271
  to: string;
1272
+ voice: "keep" | "replace";
1074
1273
  }[] | undefined;
1075
1274
  assetOverrides?: {
1076
1275
  from: string;
@@ -1078,9 +1277,9 @@ declare const variationSchema: z.ZodObject<{
1078
1277
  }[] | undefined;
1079
1278
  idempotencyKey?: string | undefined;
1080
1279
  }, {
1081
- name: string;
1082
1280
  storyboardId: string;
1083
1281
  expectedRevision: number;
1282
+ name: string;
1084
1283
  choices: {
1085
1284
  sectionId: string;
1086
1285
  alternativeId: string;
@@ -1090,9 +1289,9 @@ declare const variationSchema: z.ZodObject<{
1090
1289
  alternativeId: string;
1091
1290
  }[] | undefined;
1092
1291
  itemOverrides?: {
1093
- voice: "replace" | "keep";
1094
1292
  from: string;
1095
1293
  to: string;
1294
+ voice: "keep" | "replace";
1096
1295
  }[] | undefined;
1097
1296
  assetOverrides?: {
1098
1297
  from: string;
@@ -1132,12 +1331,12 @@ declare const sectionInput: z.ZodObject<{
1132
1331
  expectedRevision: z.ZodNumber;
1133
1332
  }, "strip", z.ZodTypeAny, {
1134
1333
  at: number;
1135
- sceneId: string;
1136
1334
  expectedRevision: number;
1335
+ sceneId: string;
1137
1336
  }, {
1138
1337
  at: number;
1139
- sceneId: string;
1140
1338
  expectedRevision: number;
1339
+ sceneId: string;
1141
1340
  }>>;
1142
1341
  uses: z.ZodOptional<z.ZodArray<z.ZodObject<{
1143
1342
  sectionId: z.ZodString;
@@ -1154,59 +1353,59 @@ declare const sectionInput: z.ZodObject<{
1154
1353
  start: z.ZodNumber;
1155
1354
  end: z.ZodNumber;
1156
1355
  }, "strip", z.ZodTypeAny, {
1157
- end: number;
1158
- sceneId: string;
1159
1356
  start: number;
1160
- }, {
1161
- end: number;
1162
1357
  sceneId: string;
1358
+ end: number;
1359
+ }, {
1163
1360
  start: number;
1361
+ sceneId: string;
1362
+ end: number;
1164
1363
  }>, "many">>;
1165
1364
  }, "strip", z.ZodTypeAny, {
1166
- action: "tags" | "create" | "rename" | "alternative" | "choose" | "save" | "reuse" | "updateUses" | "archive";
1365
+ action: "create" | "alternative" | "choose" | "save" | "reuse" | "updateUses" | "rename" | "archive" | "tags";
1167
1366
  storyboardId: string;
1168
1367
  expectedRevision: number;
1368
+ sectionId?: string | undefined;
1369
+ alternativeId?: string | undefined;
1370
+ tags?: string[] | undefined;
1371
+ parentId?: string | undefined;
1169
1372
  label?: string | undefined;
1170
1373
  target?: {
1171
1374
  at: number;
1172
- sceneId: string;
1173
1375
  expectedRevision: number;
1376
+ sceneId: string;
1174
1377
  } | undefined;
1175
- tags?: string[] | undefined;
1176
- sectionId?: string | undefined;
1177
- alternativeId?: string | undefined;
1178
- parentId?: string | undefined;
1179
1378
  uses?: {
1180
1379
  expectedRevision: number;
1181
1380
  sectionId: string;
1182
1381
  }[] | undefined;
1183
1382
  fragments?: {
1184
- end: number;
1185
- sceneId: string;
1186
1383
  start: number;
1384
+ sceneId: string;
1385
+ end: number;
1187
1386
  }[] | undefined;
1188
1387
  }, {
1189
- action: "tags" | "create" | "rename" | "alternative" | "choose" | "save" | "reuse" | "updateUses" | "archive";
1388
+ action: "create" | "alternative" | "choose" | "save" | "reuse" | "updateUses" | "rename" | "archive" | "tags";
1190
1389
  storyboardId: string;
1191
1390
  expectedRevision: number;
1391
+ sectionId?: string | undefined;
1392
+ alternativeId?: string | undefined;
1393
+ tags?: string[] | undefined;
1394
+ parentId?: string | undefined;
1192
1395
  label?: string | undefined;
1193
1396
  target?: {
1194
1397
  at: number;
1195
- sceneId: string;
1196
1398
  expectedRevision: number;
1399
+ sceneId: string;
1197
1400
  } | undefined;
1198
- tags?: string[] | undefined;
1199
- sectionId?: string | undefined;
1200
- alternativeId?: string | undefined;
1201
- parentId?: string | undefined;
1202
1401
  uses?: {
1203
1402
  expectedRevision: number;
1204
1403
  sectionId: string;
1205
1404
  }[] | undefined;
1206
1405
  fragments?: {
1207
- end: number;
1208
- sceneId: string;
1209
1406
  start: number;
1407
+ sceneId: string;
1408
+ end: number;
1210
1409
  }[] | undefined;
1211
1410
  }>;
1212
1411
  export declare const changeScriptSection: Operation<z.infer<typeof sectionInput>>;
@@ -1225,16 +1424,16 @@ declare const suggestionInput: z.ZodObject<{
1225
1424
  replacement: z.ZodString;
1226
1425
  note: z.ZodOptional<z.ZodString>;
1227
1426
  }, "strip", z.ZodTypeAny, {
1228
- end: number;
1229
- sceneId: string;
1230
1427
  start: number;
1428
+ sceneId: string;
1429
+ end: number;
1231
1430
  original: string;
1232
1431
  replacement: string;
1233
1432
  note?: string | undefined;
1234
1433
  }, {
1235
- end: number;
1236
- sceneId: string;
1237
1434
  start: number;
1435
+ sceneId: string;
1436
+ end: number;
1238
1437
  original: string;
1239
1438
  replacement: string;
1240
1439
  note?: string | undefined;
@@ -1245,9 +1444,9 @@ declare const suggestionInput: z.ZodObject<{
1245
1444
  storyboardId: string;
1246
1445
  expectedRevision: number;
1247
1446
  suggestions?: {
1248
- end: number;
1249
- sceneId: string;
1250
1447
  start: number;
1448
+ sceneId: string;
1449
+ end: number;
1251
1450
  original: string;
1252
1451
  replacement: string;
1253
1452
  note?: string | undefined;
@@ -1258,9 +1457,9 @@ declare const suggestionInput: z.ZodObject<{
1258
1457
  storyboardId: string;
1259
1458
  expectedRevision: number;
1260
1459
  suggestions?: {
1261
- end: number;
1262
- sceneId: string;
1263
1460
  start: number;
1461
+ sceneId: string;
1462
+ end: number;
1264
1463
  original: string;
1265
1464
  replacement: string;
1266
1465
  note?: string | undefined;
@@ -1281,14 +1480,14 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1281
1480
  text: z.ZodString;
1282
1481
  }, "strip", z.ZodTypeAny, {
1283
1482
  at: number;
1284
- text: string;
1285
1483
  sceneId: string;
1286
1484
  removed: number;
1485
+ text: string;
1287
1486
  }, {
1288
1487
  at: number;
1289
- text: string;
1290
1488
  sceneId: string;
1291
1489
  removed: number;
1490
+ text: string;
1292
1491
  }>, "many">;
1293
1492
  structures: z.ZodOptional<z.ZodArray<z.ZodObject<{
1294
1493
  sceneId: z.ZodString;
@@ -1304,68 +1503,68 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1304
1503
  end: z.ZodNumber;
1305
1504
  type: z.ZodEnum<["strong", "em"]>;
1306
1505
  }, "strip", z.ZodTypeAny, {
1307
- end: number;
1308
- type: "strong" | "em";
1309
1506
  start: number;
1310
- }, {
1311
- end: number;
1312
1507
  type: "strong" | "em";
1508
+ end: number;
1509
+ }, {
1313
1510
  start: number;
1511
+ type: "strong" | "em";
1512
+ end: number;
1314
1513
  }>, "many">;
1315
1514
  }, "strip", z.ZodTypeAny, {
1515
+ start: number;
1316
1516
  end: number;
1317
1517
  id: string;
1318
1518
  kind: "paragraph" | "heading" | "direction";
1319
- start: number;
1320
1519
  marks: {
1321
- end: number;
1322
- type: "strong" | "em";
1323
1520
  start: number;
1521
+ type: "strong" | "em";
1522
+ end: number;
1324
1523
  }[];
1325
- label?: string | undefined;
1326
1524
  level?: 2 | 3 | undefined;
1525
+ label?: string | undefined;
1327
1526
  }, {
1527
+ start: number;
1328
1528
  end: number;
1329
1529
  id: string;
1330
1530
  kind: "paragraph" | "heading" | "direction";
1331
- start: number;
1332
1531
  marks: {
1333
- end: number;
1334
- type: "strong" | "em";
1335
1532
  start: number;
1533
+ type: "strong" | "em";
1534
+ end: number;
1336
1535
  }[];
1337
- label?: string | undefined;
1338
1536
  level?: 2 | 3 | undefined;
1537
+ label?: string | undefined;
1339
1538
  }>, "many">;
1340
1539
  }, "strip", z.ZodTypeAny, {
1341
1540
  sceneId: string;
1342
1541
  blocks: {
1542
+ start: number;
1343
1543
  end: number;
1344
1544
  id: string;
1345
1545
  kind: "paragraph" | "heading" | "direction";
1346
- start: number;
1347
1546
  marks: {
1348
- end: number;
1349
- type: "strong" | "em";
1350
1547
  start: number;
1548
+ type: "strong" | "em";
1549
+ end: number;
1351
1550
  }[];
1352
- label?: string | undefined;
1353
1551
  level?: 2 | 3 | undefined;
1552
+ label?: string | undefined;
1354
1553
  }[];
1355
1554
  }, {
1356
1555
  sceneId: string;
1357
1556
  blocks: {
1557
+ start: number;
1358
1558
  end: number;
1359
1559
  id: string;
1360
1560
  kind: "paragraph" | "heading" | "direction";
1361
- start: number;
1362
1561
  marks: {
1363
- end: number;
1364
- type: "strong" | "em";
1365
1562
  start: number;
1563
+ type: "strong" | "em";
1564
+ end: number;
1366
1565
  }[];
1367
- label?: string | undefined;
1368
1566
  level?: 2 | 3 | undefined;
1567
+ label?: string | undefined;
1369
1568
  }[];
1370
1569
  }>, "many">>;
1371
1570
  move: z.ZodOptional<z.ZodObject<{
@@ -1387,14 +1586,14 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1387
1586
  end: z.ZodNumber;
1388
1587
  waitingShotId: z.ZodOptional<z.ZodString>;
1389
1588
  }, "strip", z.ZodTypeAny, {
1390
- end: number;
1391
- sceneId: string;
1392
1589
  start: number;
1590
+ sceneId: string;
1591
+ end: number;
1393
1592
  waitingShotId?: string | undefined;
1394
1593
  }, {
1395
- end: number;
1396
- sceneId: string;
1397
1594
  start: number;
1595
+ sceneId: string;
1596
+ end: number;
1398
1597
  waitingShotId?: string | undefined;
1399
1598
  }>, "many">>;
1400
1599
  restoreRevision: z.ZodOptional<z.ZodNumber>;
@@ -1405,45 +1604,45 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1405
1604
  at: z.ZodNumber;
1406
1605
  }, "strip", z.ZodTypeAny, {
1407
1606
  at: number;
1408
- kind: "split";
1409
1607
  sceneId: string;
1608
+ kind: "split";
1410
1609
  }, {
1411
1610
  at: number;
1412
- kind: "split";
1413
1611
  sceneId: string;
1612
+ kind: "split";
1414
1613
  }>, z.ZodObject<{
1415
1614
  kind: z.ZodLiteral<"merge">;
1416
1615
  sceneId: z.ZodString;
1417
1616
  }, "strip", z.ZodTypeAny, {
1418
- kind: "merge";
1419
1617
  sceneId: string;
1420
- }, {
1421
1618
  kind: "merge";
1619
+ }, {
1422
1620
  sceneId: string;
1621
+ kind: "merge";
1423
1622
  }>]>>;
1424
1623
  }, "strip", z.ZodTypeAny, {
1425
1624
  storyboardId: string;
1426
1625
  expectedRevision: number;
1427
1626
  edits: {
1428
1627
  at: number;
1429
- text: string;
1430
1628
  sceneId: string;
1431
1629
  removed: number;
1630
+ text: string;
1432
1631
  }[];
1433
1632
  structures?: {
1434
1633
  sceneId: string;
1435
1634
  blocks: {
1635
+ start: number;
1436
1636
  end: number;
1437
1637
  id: string;
1438
1638
  kind: "paragraph" | "heading" | "direction";
1439
- start: number;
1440
1639
  marks: {
1441
- end: number;
1442
- type: "strong" | "em";
1443
1640
  start: number;
1641
+ type: "strong" | "em";
1642
+ end: number;
1444
1643
  }[];
1445
- label?: string | undefined;
1446
1644
  level?: 2 | 3 | undefined;
1645
+ label?: string | undefined;
1447
1646
  }[];
1448
1647
  }[] | undefined;
1449
1648
  move?: {
@@ -1452,44 +1651,44 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1452
1651
  delta: 1 | -1;
1453
1652
  } | undefined;
1454
1653
  makeShots?: {
1455
- end: number;
1456
- sceneId: string;
1457
1654
  start: number;
1655
+ sceneId: string;
1656
+ end: number;
1458
1657
  waitingShotId?: string | undefined;
1459
1658
  }[] | undefined;
1460
1659
  restoreRevision?: number | undefined;
1461
1660
  ensureScene?: boolean | undefined;
1462
1661
  sceneAction?: {
1463
1662
  at: number;
1464
- kind: "split";
1465
1663
  sceneId: string;
1664
+ kind: "split";
1466
1665
  } | {
1467
- kind: "merge";
1468
1666
  sceneId: string;
1667
+ kind: "merge";
1469
1668
  } | undefined;
1470
1669
  }, {
1471
1670
  storyboardId: string;
1472
1671
  expectedRevision: number;
1473
1672
  edits: {
1474
1673
  at: number;
1475
- text: string;
1476
1674
  sceneId: string;
1477
1675
  removed: number;
1676
+ text: string;
1478
1677
  }[];
1479
1678
  structures?: {
1480
1679
  sceneId: string;
1481
1680
  blocks: {
1681
+ start: number;
1482
1682
  end: number;
1483
1683
  id: string;
1484
1684
  kind: "paragraph" | "heading" | "direction";
1485
- start: number;
1486
1685
  marks: {
1487
- end: number;
1488
- type: "strong" | "em";
1489
1686
  start: number;
1687
+ type: "strong" | "em";
1688
+ end: number;
1490
1689
  }[];
1491
- label?: string | undefined;
1492
1690
  level?: 2 | 3 | undefined;
1691
+ label?: string | undefined;
1493
1692
  }[];
1494
1693
  }[] | undefined;
1495
1694
  move?: {
@@ -1498,20 +1697,20 @@ declare const writeScriptDocumentInput: z.ZodObject<{
1498
1697
  delta: 1 | -1;
1499
1698
  } | undefined;
1500
1699
  makeShots?: {
1501
- end: number;
1502
- sceneId: string;
1503
1700
  start: number;
1701
+ sceneId: string;
1702
+ end: number;
1504
1703
  waitingShotId?: string | undefined;
1505
1704
  }[] | undefined;
1506
1705
  restoreRevision?: number | undefined;
1507
1706
  ensureScene?: boolean | undefined;
1508
1707
  sceneAction?: {
1509
1708
  at: number;
1510
- kind: "split";
1511
1709
  sceneId: string;
1710
+ kind: "split";
1512
1711
  } | {
1513
- kind: "merge";
1514
1712
  sceneId: string;
1713
+ kind: "merge";
1515
1714
  } | undefined;
1516
1715
  }>;
1517
1716
  export declare const writeScriptDocument: Operation<z.infer<typeof writeScriptDocumentInput>>;
@@ -1584,16 +1783,15 @@ export declare const editCut: Operation<{
1584
1783
  }>;
1585
1784
  export declare function resolveGuideTopic(topic: string): string | null;
1586
1785
  export declare const getPromptingGuide: Operation<{
1587
- topic: string;
1786
+ topic?: string;
1588
1787
  depth?: GuideDepth;
1589
1788
  query?: string;
1789
+ limit?: number;
1790
+ offset?: number;
1590
1791
  }>;
1591
1792
  /**
1592
- * The one op that changes what OTHER ops are visible.
1593
- *
1594
- * 🚨 IT EXISTS BECAUSE THE SURFACE IS 112 KB AND EVERY TURN PAYS FOR ALL OF IT.
1595
- * Both surfaces start with the shared core set. Search returns compact metadata;
1596
- * names/group returns exact schemas and replaces the optional selection.
1793
+ * Task discovery and exact schemas share one operation. The desktop uses
1794
+ * names/group to replace its optional selection; MCP keeps its full list fixed.
1597
1795
  */
1598
1796
  export declare const loadTools: Operation<{
1599
1797
  group?: OperationGroup;