@nodaro/prompts 1.8.0 → 1.9.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
@@ -1,4 +1,4 @@
1
- import { ConnectedReference, GenericNode, GenericEdge, HintNodeLike, HintGraphContext, EntityStyle, SupportedFontName, CharacterDef, IdentityMeta, SceneData, CharacterMentionTokenInfo, LocationMentionTokenInfo, UsageMode, ProjectedCatalog, ProjectedCatalogDimension, ProjectedCatalogOption, LocaleId, LocaleCatalogMap, StyleDirectives, I18nCatalogId, SurroundDirection } from '@nodaro/shared';
1
+ import { ConnectedReference, GenericNode, GenericEdge, HintNodeLike, HintGraphContext, EntityStyle, SupportedFontName, CharacterDef, IdentityMeta, SceneData, CharacterMentionTokenInfo, LocationMentionTokenInfo, UsageMode, ProjectedCatalog, ProjectedCatalogDimension, ProjectedCatalogOption, LocaleId, LocaleCatalogMap, PromptAffixes, StyleDirectives, I18nCatalogId, SurroundDirection } from '@nodaro/shared';
2
2
  export { HintEdgeLike, HintGraphContext, HintNodeLike } from '@nodaro/shared';
3
3
  import { z } from 'zod';
4
4
 
@@ -1961,7 +1961,10 @@ interface PickerCatalog {
1961
1961
  readonly options?: readonly PickerOption[];
1962
1962
  /** multi-dim: the dimension keys (no single catalog to flatten). */
1963
1963
  readonly fields?: readonly string[];
1964
- /** multi-dim: one self-describing entry per dimension field, in `fields` order. */
1964
+ /** Per-field option lists. Multi-dim catalogs always carry these, one per
1965
+ * `fields` entry in order; a single-dim catalog carries them when it has
1966
+ * secondary parameter fields beside its main picker (transition
1967
+ * position/duration/intensity). */
1965
1968
  readonly dimensions?: readonly PickerDimension[];
1966
1969
  }
1967
1970
  /**
@@ -4802,9 +4805,23 @@ interface Transition {
4802
4805
  */
4803
4806
  readonly term?: string;
4804
4807
  }
4805
- type TransitionPosition = "auto" | "start" | "middle" | "end" | "full";
4806
- type TransitionDuration = "auto" | "instant" | "short" | "medium" | "long";
4807
- type TransitionIntensity = "auto" | "subtle" | "natural" | "dynamic" | "crazy";
4808
+ /**
4809
+ * The three timing scales, each derived from the catalog that defines it (see
4810
+ * `TRANSITION_POSITIONS` and friends below).
4811
+ *
4812
+ * The direction matters. These used to be hand-written unions with the clause
4813
+ * tables written out separately beside them, so the two could disagree: add a
4814
+ * step to the union, forget the clause, and the composer indexed a missing key
4815
+ * — pushing `undefined` into the parts list, which `join(", ")` renders as a
4816
+ * dangling separator on a prompt that then ships to a provider with the user's
4817
+ * chosen parameter silently dropped. Deriving the union FROM the catalog makes
4818
+ * that unrepresentable: one array is the source of the type, the option list
4819
+ * the API serves, and the clause table, so a new step reaches all three or
4820
+ * none. The exact id sets are pinned by `transition-timing-catalogs.test.ts`.
4821
+ */
4822
+ type TransitionPosition = (typeof TRANSITION_POSITIONS)[number]["id"];
4823
+ type TransitionDuration = (typeof TRANSITION_DURATIONS)[number]["id"];
4824
+ type TransitionIntensity = (typeof TRANSITION_INTENSITIES)[number]["id"];
4808
4825
  interface TransitionTiming {
4809
4826
  position?: TransitionPosition;
4810
4827
  duration?: TransitionDuration;
@@ -4827,6 +4844,120 @@ declare function getTransitionPromptHint(id: string | undefined | null): string;
4827
4844
  */
4828
4845
  declare function getTransitionTerm(id: string | undefined | null): string;
4829
4846
  declare const TRANSITION_IDS: ReadonlyArray<string>;
4847
+ /**
4848
+ * The transition node's three timing parameters, as catalogs.
4849
+ *
4850
+ * These are graded scales, not free numbers — the same shape as
4851
+ * `exposure-settings`' aperture or `temporal`'s speed — so a consumer that can
4852
+ * only send ids (Studio, the SDK, MCP) can offer them without composing prompt
4853
+ * text of its own. `auto` is the no-op head of each scale: an empty
4854
+ * `promptHint`, so an unset parameter contributes nothing and the model is left
4855
+ * to decide, exactly as before these were enumerable.
4856
+ *
4857
+ * `POSITION_CLAUSES` / `DURATION_CLAUSES` / `INTENSITY_CLAUSES` below are
4858
+ * DERIVED from these arrays, so the clause the composer injects and the hint
4859
+ * the catalog advertises are the same string by construction and cannot drift.
4860
+ */
4861
+ interface TransitionTimingOption {
4862
+ readonly id: string;
4863
+ readonly label: string;
4864
+ readonly description: string;
4865
+ readonly promptHint: string;
4866
+ readonly term?: string;
4867
+ }
4868
+ declare const TRANSITION_POSITIONS: readonly [{
4869
+ readonly id: "auto";
4870
+ readonly label: "Auto";
4871
+ readonly description: "Let the model place it";
4872
+ readonly promptHint: "";
4873
+ readonly term: "";
4874
+ }, {
4875
+ readonly id: "start";
4876
+ readonly label: "Start";
4877
+ readonly description: "At the opening of the clip";
4878
+ readonly promptHint: "the transition occurs at the opening of the clip";
4879
+ readonly term: "at the opening of the clip";
4880
+ }, {
4881
+ readonly id: "middle";
4882
+ readonly label: "Middle";
4883
+ readonly description: "In the middle of the clip";
4884
+ readonly promptHint: "the transition occurs in the middle of the clip";
4885
+ readonly term: "mid-clip";
4886
+ }, {
4887
+ readonly id: "end";
4888
+ readonly label: "End";
4889
+ readonly description: "At the end of the clip";
4890
+ readonly promptHint: "the transition occurs at the end of the clip";
4891
+ readonly term: "at the end of the clip";
4892
+ }, {
4893
+ readonly id: "full";
4894
+ readonly label: "Full";
4895
+ readonly description: "Spans the entire clip";
4896
+ readonly promptHint: "the transition spans the entire clip";
4897
+ readonly term: "across the whole clip";
4898
+ }];
4899
+ declare const TRANSITION_DURATIONS: readonly [{
4900
+ readonly id: "auto";
4901
+ readonly label: "Auto";
4902
+ readonly description: "Let the model time it";
4903
+ readonly promptHint: "";
4904
+ readonly term: "";
4905
+ }, {
4906
+ readonly id: "instant";
4907
+ readonly label: "Instant";
4908
+ readonly description: "No perceptible duration";
4909
+ readonly promptHint: "occurring instantaneously";
4910
+ readonly term: "instantaneous";
4911
+ }, {
4912
+ readonly id: "short";
4913
+ readonly label: "Short (~1s)";
4914
+ readonly description: "Approximately 1 second";
4915
+ readonly promptHint: "lasting approximately 1 second";
4916
+ readonly term: "about 1 second";
4917
+ }, {
4918
+ readonly id: "medium";
4919
+ readonly label: "Medium (~2s)";
4920
+ readonly description: "Approximately 2 seconds";
4921
+ readonly promptHint: "lasting approximately 2 seconds";
4922
+ readonly term: "about 2 seconds";
4923
+ }, {
4924
+ readonly id: "long";
4925
+ readonly label: "Long (~3s)";
4926
+ readonly description: "Approximately 3 seconds";
4927
+ readonly promptHint: "lasting approximately 3 seconds";
4928
+ readonly term: "about 3 seconds";
4929
+ }];
4930
+ declare const TRANSITION_INTENSITIES: readonly [{
4931
+ readonly id: "auto";
4932
+ readonly label: "Auto";
4933
+ readonly description: "Let the model judge it";
4934
+ readonly promptHint: "";
4935
+ readonly term: "";
4936
+ }, {
4937
+ readonly id: "subtle";
4938
+ readonly label: "Subtle";
4939
+ readonly description: "Restrained, minimal flourish";
4940
+ readonly promptHint: "with subtle restrained energy and minimal flourish";
4941
+ readonly term: "subtly";
4942
+ }, {
4943
+ readonly id: "natural";
4944
+ readonly label: "Natural";
4945
+ readonly description: "Unhurried, unforced timing";
4946
+ readonly promptHint: "with natural unhurried timing";
4947
+ readonly term: "at a natural pace";
4948
+ }, {
4949
+ readonly id: "dynamic";
4950
+ readonly label: "Dynamic";
4951
+ readonly description: "Assertive, energetic";
4952
+ readonly promptHint: "with dynamic energy and assertive flourish";
4953
+ readonly term: "energetically";
4954
+ }, {
4955
+ readonly id: "crazy";
4956
+ readonly label: "Crazy";
4957
+ readonly description: "Extreme, wild, distorted";
4958
+ readonly promptHint: "with extreme exaggerated energy, wild flourishes, and dramatic distortion";
4959
+ readonly term: "wildly exaggerated";
4960
+ }];
4830
4961
  /**
4831
4962
  * Compose a structural prompt-hint sentence from a transition id (or array
4832
4963
  * of 1-2 ids for multi-pick) plus optional start-state/end-state hints
@@ -5072,6 +5203,10 @@ declare function applyTemplate(template: string, vars: Record<string, string>):
5072
5203
  * Seedance 2.0:
5073
5204
  * - Official BytePlus ModelArk "Dreamina Seedance 2.0 series prompt guide"
5074
5205
  * https://docs.byteplus.com/en/docs/ModelArk/2222480
5206
+ * - Official BytePlus ModelArk "Dreamina Seedance 2.5 prompt guide"
5207
+ * https://docs.byteplus.com/en/docs/ModelArk/2607689 — its "Differences
5208
+ * from Seedance 2.0" section is the authority for every 2.0-vs-2.5 split
5209
+ * below (timestamps, multi-view references, aspect ratios, MOV output).
5075
5210
  * - Official launch post https://seed.bytedance.com/en/blog/official-launch-of-seedance-2-0
5076
5211
  * - KIE API docs https://docs.kie.ai/market/bytedance/seedance-2
5077
5212
  * Kling:
@@ -5201,13 +5336,33 @@ interface ResolvePromptArgs {
5201
5336
  * Off/undefined = exact legacy precedence (override > typed > wired) for every
5202
5337
  * other node type. */
5203
5338
  appendWired?: boolean;
5339
+ /** Pre/post text wrapped around WHICHEVER core precedence produced (override,
5340
+ * typed, wired, or the appendWired combination). Applied last. */
5341
+ affixes?: PromptAffixes;
5204
5342
  }
5343
+ /** The ONE join rule between two non-blank prompt parts: a single space unless
5344
+ * the boundary already has whitespace on either side or the right part opens
5345
+ * with sentence punctuation. Shared by `joinPromptParts` and the editor's
5346
+ * Final-view segment builder so preview and run agree byte-for-byte. */
5347
+ declare function promptPartSeparator(left: string, right: string): "" | " ";
5348
+ /** Join prompt parts with `promptPartSeparator`; blank parts are dropped,
5349
+ * non-blank parts are used verbatim (no trimming). */
5350
+ declare function joinPromptParts(parts: ReadonlyArray<string | undefined>): string;
5351
+ /**
5352
+ * Wrap `core` with the node's pre/post text. `{Label}` refs are resolved in the
5353
+ * AFFIXES only — the core arrives exactly as the caller's precedence produced it.
5354
+ * NO-OP GUARANTEE: with no non-blank affix the core is returned unchanged (same
5355
+ * reference) — every existing workflow stays byte-identical.
5356
+ * EMPTY CORE: a blank core with affixes yields the joined affixes alone.
5357
+ */
5358
+ declare function applyPromptAffixes(core: string, affixes: PromptAffixes | undefined, refMap: ReadonlyMap<string, string>): string;
5359
+ declare function applyPromptAffixes(core: string | undefined, affixes: PromptAffixes | undefined, refMap: ReadonlyMap<string, string>): string | undefined;
5205
5360
  /** SINGLE SOURCE OF TRUTH for prompt precedence across both DAG engines:
5206
5361
  * override (list fan-out) > first present typed candidate > wired > "".
5207
5362
  * "present" = non-empty after trim. {Label} refs are resolved on the chosen
5208
5363
  * branch via the shared resolveNodeRefs. With `appendWired`, the chosen base
5209
- * AND the wired value are both emitted (joined ". "). */
5210
- declare function resolvePrompt({ override, typed, wired, refMap, appendWired }: ResolvePromptArgs): string;
5364
+ * AND the wired value are both emitted (joined ". "). Affixes wrap the result. */
5365
+ declare function resolvePrompt({ override, typed, wired, refMap, appendWired, affixes }: ResolvePromptArgs): string;
5211
5366
  /** Compose a final NEGATIVE prompt from a TYPED base + a WIRED (connected
5212
5367
  * negative-handle) value: both are emitted, joined ". " (mirrors `appendWired`
5213
5368
  * for the positive prompt). Pure join — the caller resolves `{label}` refs on
@@ -5241,6 +5396,145 @@ declare function computeLlmChatFields(data: Record<string, unknown>, { override,
5241
5396
  systemPrompt: string;
5242
5397
  };
5243
5398
 
5399
+ /** Which prompt field a snippet belongs to. Negative-target snippets only
5400
+ * surface in negative-prompt fields, and are bare comma lists by convention
5401
+ * (per Google's Veo guidance, a negative FIELD must name the unwanted thing,
5402
+ * never "no X"). */
5403
+ type SnippetTarget = "prompt" | "negative";
5404
+ /** Node modality a snippet applies to. A node declares its modality once in
5405
+ * the frontend's NODE_PROMPT_FIELDS; the menu shows snippets whose `media`
5406
+ * contains it. */
5407
+ type SnippetMedia = "image" | "video" | "audio" | "text";
5408
+ declare const SNIPPET_MEDIA_VALUES: readonly SnippetMedia[];
5409
+ interface FactorySnippet {
5410
+ /** Stable kebab slug, e.g. "identity-lock". Unique across the catalog. */
5411
+ readonly id: string;
5412
+ readonly name: string;
5413
+ /** One-liner shown in the menu and matched by search. */
5414
+ readonly description?: string;
5415
+ /** The exact fragment inserted into the prompt. Single line; never contains
5416
+ * `{`, `}`, or `@` (guard-tested) so it can never form a mention/variable
5417
+ * token in the editor. */
5418
+ readonly text: string;
5419
+ readonly target: SnippetTarget;
5420
+ readonly media: readonly SnippetMedia[];
5421
+ /** Menu group AND the pill-swap sibling pool (swap lists same-category). */
5422
+ readonly category: string;
5423
+ }
5424
+
5425
+ /**
5426
+ * Single source of truth: which data field(s) hold a node's user-editable
5427
+ * prompt text. Drives the quick-edit Prompt modal so it can work generically
5428
+ * across every AI node without each call site hardcoding a field name.
5429
+ *
5430
+ * The registry LIVES HERE (`@nodaro/prompts`) so the backend orchestrator, the
5431
+ * `/v1/nodes` registry, the prompt-affix totality tests and the docs tooling
5432
+ * read the SAME list the editor does. `frontend/src/lib/prompt-fields.ts` is a
5433
+ * pure re-export of this module — frontend code keeps importing
5434
+ * `@/lib/prompt-fields` unchanged.
5435
+ *
5436
+ * Most nodes store the prompt in `data.prompt`, but several don't
5437
+ * (`text-prompt` → `text`, `image-to-text` → `customPrompt`, …) — this map is
5438
+ * where that knowledge lives, once.
5439
+ *
5440
+ * INVARIANT: every node that exposes a user-editable prompt MUST have an entry
5441
+ * here, or the quick-edit modal silently does nothing for it. A guard test
5442
+ * (`prompt-fields.test.ts`) keeps this in sync with the node set.
5443
+ *
5444
+ * This module is intentionally pure data (no React/lucide imports) so it can be
5445
+ * pulled into the app-runtime bundle and any test without dragging in the icon
5446
+ * library. The string `icon` kind is mapped to a concrete lucide component in
5447
+ * `prompt-edit-button.tsx` (`getPromptIcon`), the only place that renders it.
5448
+ */
5449
+
5450
+ /** Which lucide glyph a node's prompt affordance uses. Kept as a string so this
5451
+ * module stays icon-library-free; mapped to a component in the strip button. */
5452
+ type PromptIconKind = "pencil" | "paintbrush";
5453
+ interface PromptFieldSpec {
5454
+ /** Data key holding the primary prompt (e.g. "prompt", "text", "customPrompt"). */
5455
+ readonly prompt: string;
5456
+ /** Data key holding the negative prompt, when the node supports one. */
5457
+ readonly negative?: string;
5458
+ /** Label override for the primary field (defaults to "Prompt"). */
5459
+ readonly promptLabel?: string;
5460
+ /** Icon for the prompt affordance (strip button + modal title). Defaults to a
5461
+ * pencil; image-editing nodes use a paintbrush to read as "edit". */
5462
+ readonly icon?: PromptIconKind;
5463
+ /** Node modality for prompt-snippet scoping — drives which snippet pool the
5464
+ * "/" menu and Snippets button show for this node's prompt fields. REQUIRED
5465
+ * so a new node cannot forget to declare it (compile error). */
5466
+ readonly media: SnippetMedia;
5467
+ /** True when this node renders a media-result preview body and therefore
5468
+ * participates in inline-prompt mode (the `InlineNodePrompt` editor on the
5469
+ * node face, centralized in `BaseNode`). REQUIRED (like `media`) so a new
5470
+ * prompt node must consciously choose — compile error if omitted. The set of
5471
+ * `inline: true` types is guarded in `prompt-fields.test.ts`. */
5472
+ readonly inline: boolean;
5473
+ /** Some nodes only READ their prompt field when a sibling discriminator
5474
+ * selects it — TTS keeps `directText` but resolves it only while
5475
+ * `textSource === "direct"`, defaulting to `"connected"`. Writing the text
5476
+ * without flipping the discriminator saved the value and then failed with
5477
+ * "no text found" (founder hit it live, 2026-08-14). Declare the pair here
5478
+ * and every writer flips it automatically. */
5479
+ readonly promptGate?: {
5480
+ readonly field: string;
5481
+ readonly value: string;
5482
+ };
5483
+ /** Prompt pre/post text (`promptPrefix` / `promptSuffix`) support. Defaults to
5484
+ * ON for every prompt node; set `false` ONLY for a node whose "prompt" is not
5485
+ * a model prompt (the plain Text input node). Read via `nodeSupportsPromptAffixes`. */
5486
+ readonly affixes?: false;
5487
+ }
5488
+ declare const NODE_PROMPT_FIELDS: Readonly<Record<string, PromptFieldSpec>>;
5489
+ /** The prompt-field spec for a node type, or undefined if it has none. */
5490
+ declare function getPromptFields(nodeType: string | undefined): PromptFieldSpec | undefined;
5491
+ /** True when this node type has a registered, quick-editable prompt field. */
5492
+ declare function nodeHasPromptField(nodeType: string | undefined): boolean;
5493
+ /** Snippet modality for a node type (drives the snippet pool), or undefined
5494
+ * when the node has no prompt field. */
5495
+ declare function getSnippetMedia(nodeType: string | undefined): SnippetMedia | undefined;
5496
+ /** True when this node type renders the inline on-node prompt editor — the
5497
+ * media-preview nodes (image/video/audio result body). Single source for
5498
+ * BaseNode's centralized `InlineNodePrompt` rendering and the gold nodes'
5499
+ * `showInline` derivation (`useInlinePromptActive`). */
5500
+ declare function nodeHasInlinePrompt(nodeType: string | undefined): boolean;
5501
+ /** True when the node type carries `promptPrefix` / `promptSuffix` — every
5502
+ * registered prompt node except explicit opt-outs (`affixes: false`). The single
5503
+ * predicate the config panel, Final view, `/v1/nodes` registry, totality tests
5504
+ * and docs tooling all gate on. */
5505
+ declare function nodeSupportsPromptAffixes(nodeType: string | undefined): boolean;
5506
+ /**
5507
+ * Where the RUN-TIME prompt lives when it differs from the editor's prompt
5508
+ * field (spec §7). `generate-script`'s editable prompt is its `styleGuide`, but
5509
+ * the run wraps the topic `prompt` with the affixes — so previewing the style
5510
+ * guide must NOT show them.
5511
+ */
5512
+ declare const PROMPT_AFFIX_CORE_FIELD_OVERRIDES: Readonly<Record<string, string>>;
5513
+ /** The data key whose value the run wraps with promptPrefix/promptSuffix, or
5514
+ * undefined when the node has no affixes. */
5515
+ declare function promptAffixCoreField(nodeType: string | undefined): string | undefined;
5516
+ /**
5517
+ * True when a preview of `promptField` on this node must show the affixes —
5518
+ * i.e. that key is what the run actually wraps. THE gate for the editor's Final
5519
+ * view, so a sibling field (llm-chat's `systemPrompt`, generate-script's
5520
+ * `styleGuide`) never renders a wrap the run doesn't perform.
5521
+ *
5522
+ * Two ways a key qualifies:
5523
+ * - it IS the core field ({@link promptAffixCoreField}), or
5524
+ * - it is a run-time FALLBACK candidate for the type
5525
+ * ({@link NODE_PROMPT_CANDIDATE_FIELDS}) — `computeNodePrompt` picks the
5526
+ * first present candidate and wraps THAT, so i2v's legacy `motionPrompt`
5527
+ * genuinely receives the affixes when `data.prompt` is empty.
5528
+ *
5529
+ * The two rules never collide: no override type declares candidates (guarded in
5530
+ * `node-prompt-fields.test.ts`).
5531
+ *
5532
+ * `undefined` means "the node's primary prompt field" — the common call.
5533
+ */
5534
+ declare function promptFieldCarriesAffixes(nodeType: string | undefined, promptField: string | undefined): boolean;
5535
+ /** The affix-capable node types, derived from the registry (never hand-listed). */
5536
+ declare const PROMPT_AFFIX_NODE_TYPES: ReadonlySet<string>;
5537
+
5244
5538
  interface FactoryPreset {
5245
5539
  /** Stable slug "<nodeType>/<kebab-name>" — used as a React key and in exports. */
5246
5540
  readonly id: string;
@@ -5330,32 +5624,6 @@ declare const OBJECT_ASSET_PRESETS: Record<ObjectPresetAssetType, readonly strin
5330
5624
  /** Prompt-fragment maps per asset type — backend buildVariantPrompt reads this. */
5331
5625
  declare const OBJECT_ASSET_PROMPTS: Record<ObjectPresetAssetType, Record<string, string>>;
5332
5626
 
5333
- /** Which prompt field a snippet belongs to. Negative-target snippets only
5334
- * surface in negative-prompt fields, and are bare comma lists by convention
5335
- * (per Google's Veo guidance, a negative FIELD must name the unwanted thing,
5336
- * never "no X"). */
5337
- type SnippetTarget = "prompt" | "negative";
5338
- /** Node modality a snippet applies to. A node declares its modality once in
5339
- * the frontend's NODE_PROMPT_FIELDS; the menu shows snippets whose `media`
5340
- * contains it. */
5341
- type SnippetMedia = "image" | "video" | "audio" | "text";
5342
- declare const SNIPPET_MEDIA_VALUES: readonly SnippetMedia[];
5343
- interface FactorySnippet {
5344
- /** Stable kebab slug, e.g. "identity-lock". Unique across the catalog. */
5345
- readonly id: string;
5346
- readonly name: string;
5347
- /** One-liner shown in the menu and matched by search. */
5348
- readonly description?: string;
5349
- /** The exact fragment inserted into the prompt. Single line; never contains
5350
- * `{`, `}`, or `@` (guard-tested) so it can never form a mention/variable
5351
- * token in the editor. */
5352
- readonly text: string;
5353
- readonly target: SnippetTarget;
5354
- readonly media: readonly SnippetMedia[];
5355
- /** Menu group AND the pill-swap sibling pool (swap lists same-category). */
5356
- readonly category: string;
5357
- }
5358
-
5359
5627
  /** Factory snippet catalog (v1: image + video; audio/text follow later).
5360
5628
  * Order within a category = menu order = pill quick-cycle order. */
5361
5629
 
@@ -5446,4 +5714,4 @@ declare function getPickerWiring(nodeType: string | undefined | null): PickerWir
5446
5714
  */
5447
5715
  declare function buildSurroundFillPrompt(direction: SurroundDirection, userPrompt?: string): string;
5448
5716
 
5449
- export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, ANGLE_LABELS, ASPECT_RATIO_LABELS, ATMOSPHERES, ATMOSPHERE_IDS, AUDIO_WIZARD_CATEGORIES, type ActionFx, type ActionFxCategory, type Aesthetic, type AestheticCategory, type AssembleImageInput, type AssembleSunoInput, type AssembleSunoResult, type Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, type Backdrop, type BackdropCategory, type BrandCasing, type BrandFonts, type BrandLogo, type BrandPalette, type BrandPresetId, type BrandPresetMeta, type BrandTokens, type BrandTypeSpec, type BuildImagePromptConfig, type BuildImagePromptResult, type BuildImagePromptSegmentsResult, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_IDS, CINEMATIC_LOOK_TAIL, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, type CameraFormat, type CameraMotion, type CameraMotionCategory, type CatalogPack, type CatalogPackMode, type CategorizedInstrument, type CharacterFx, type CharacterFxCategory, type CharacterFxDuration, type CharacterFxIntensity, type CharacterFxPosition, type CharacterFxTiming, type CharacterMeta, type CharacterMotionPromptInput, type CharacterPromptInput, type ColorLook, type ColorLookCategory, type CompositionEffect, type ComputeNodePromptArgs, type CreaturePromptInput, DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, type DirectionFields, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, type Era, type EraCategory, type ExposureCategory, type ExposureSettings, type ExposureValue, FACTORY_PRESETS, FACTORY_SNIPPETS, FILM_STILL_PREFIX, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, type FacePromptInput, type FactoryPreset, type FactoryPresetGroup, type FactorySnippet, type Framing, type FramingCategory, type FramingValue, GAPS_SCHEMA, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, type HeldProp, type HeldPropCategory, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, type IdentityLockMode, type ImageReferenceDoctrine, type InstrumentCategory, type InstrumentationEntry, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LLM_CHAT_WIZARD_CATEGORIES, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, type Lens, type Lighting, type LightingCategory, type LightingValue, type LlmChatFieldArgs, type LocationMotionPromptInput, type LocationPromptInput, type LocationRefinePromptInput, type LoopSubject, type LoopSubjectCategory, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_DIMENSION, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MOVEMENT_LABELS, MULTI_PICKER_WIRING, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, MUSIC_WIZARD_CATEGORIES, type Material, type MaterialCategory, type ModelChange, type Mood, type MoodCategory, type MoodValue, type MultiDimPickerWiring, type MultiPickerAnalyzerSpec, type MusicEra, type MusicGenre, type MusicGenreCategory, type MusicMoodData, type MusicMoodEntry, type MusicSubgenre, NODE_PROMPT_CANDIDATE_FIELDS, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, type ObjectMotionPromptInput, type ObjectPresetAssetType, type ObjectPromptInput, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PERSON_DIMENSION_SECTIONS, PERSON_FIELD_BY_DIMENSION, PERSON_IDS, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_CATALOGS, PICKER_TYPES, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, type Person, type PersonDimension, type PersonDimensionSection, type PersonPack, type PersonValue, type PhotoGenre, type PhotoGenreCategory, type Photographer, type PhotographerCategory, type PickerAnalyzer, type PickerAnalyzerDescriptor, type PickerAnalyzerSpec, type PickerApplyMode, type PickerCatalog, type PickerCatalogDetail, type PickerCatalogInput, type PickerCatalogSummary, type PickerDimension, type PickerDimensionInput, type PickerDimensionSpec, type PickerGaps, type PickerHintMode, type PickerOption, type PickerOptionInput, type PickerType, type PickerWiring, type PickerWiringEntry, type Pose, type PoseCategory, type PoseValue, type PostProcessEffect, type ProjectPickerCatalogOptions, type ProjectedPickerCatalog, type ProjectedPickerDimension, type ProjectedPickerOption, type PromptSegment, type PromptSegmentOrigin, type ProviderPromptDoctrine, REFERENCE_IMAGE_ROLES, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, REF_BINDING, RENDER_QUALITIES, RENDER_QUALITY_IDS, type RecommendedModel, type ReferenceCounts, type RegisteredPersonEntry, type RenderQuality, type ResolveCharacterMentionsResult, type ResolveLocationMentionsResult, type ResolvePromptArgs, type ResolveVideoReferenceCoreArgs, SCENE_FRAME_RULE, SCENE_PROMPT_MAX_LENGTH, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SHOT_LABELS, SINGING_STYLES, SINGLE_PICKER_WIRING, SNIPPET_MEDIA_VALUES, STYLES, STYLE_IDS, STYLE_PRESETS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type Setting, type SettingCategory, type SidecarCoverageReport, type SingleDimPickerWiring, type SnippetMedia, type SnippetTarget, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, type StructuredPromptFields, type Style, type StylePreset, type Styling, type StylingDimension, type StylingValue, type SuspiciousTermOptions, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TERM_MAX_CHARS, TEXT_WIZARD_CATEGORIES, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_IDS, type Temporal, type TemporalCategory, type TemporalValue, type TermCarrier, type Transition, type TransitionCategory, type TransitionDuration, type TransitionIntensity, type TransitionPosition, type TransitionTiming, VIDEO_WIZARD_CATEGORIES, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoExtraRef, type VoiceCharacterEntry, type VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, type WardrobeDimension, type WardrobeEntry, type WardrobeValue, type WizardCategory, type WizardNodeContext, type WizardOption, type WizardQuestion, type WizardSelection, appendField, appendMusicMeta, applyPickerJson, applyReferenceOrderToVideo, applyTemplate, assembleImageInput, assembleSunoInput, buildActionFxHints, buildActionFxTerms, buildAestheticHints, buildAestheticTerms, buildAgeHint, buildAtmosphereHints, buildAtmosphereTerms, buildCharacterPrompt, buildCreaturePrompt, buildExposureHints, buildExposureTerms, buildFaceTemplateInputs, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildIdentityDirectives, buildIdentityLockLine, buildImagePrompt, buildImagePromptSegments, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMotionPrompt, buildMultiPickerAnalyzerSpec, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildObjectMotionPrompt, buildObjectPrompt, buildPersonHints, buildPersonTerms, buildPhotographerHints, buildPhotographerTerms, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildReferenceBlocks, buildScenePrompt, buildStylingHints, buildStylingTerms, buildSurroundFillPrompt, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, buildWardrobeHints, catalogPacksVersion, characterLockToRefLock, collectIdentityLockClause, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeNegative, composePickerCatalogs, composeSoundHintFromConnections, composeTransitionHintFromConnections, computeLlmChatFields, computeNodePrompt, computePackSidecarCoverage, deriveTerm, expandImagePositionRefs, expandImageRefTokens, filmStillPrefix, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCategoriesForNodeType, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEffectiveSunoCustomMode, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFactoryPresets, getFactorySnippets, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getIdentityLockClause, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getParameterPromptHint, getPerson, getPersonDimensionLimit, getPersonLabel, getPersonPromptHint, getPersonTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerAnalyzer, getPickerCatalog, getPickerWiring, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getPromptDoctrine, getPromptTips, getRegisteredCatalogPacks, getRegisteredPeople, getRegisteredPersonDimensionLabels, getRegisteredPersonDimensionOrder, getRegisteredPersonFieldByDimension, getRegisteredPickerCatalogs, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getStyle, getStyleLabel, getStylePreset, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, groupFactoryPresets, hasUpstreamCharacter, identityRefsSentence, isAnalyzablePicker, isInstrumentalVocal, isSuspiciousDerivedTerm, isVantageFraming, isWizardSupported, listPickerCatalogs, migratePersonValue, personPacksVersion, pickerFanoutTargets, projectAllCatalogs, projectPickerCatalog, promptBindsFirstFrame, referenceRulesBlock, registerCatalogPack, registerPersonPack, renderStructuredFields, resetCatalogPacks, resetPersonPacks, resolveBrandInput, resolveCharacterMentions, resolveGeminiOmniI2vInputs, resolveLocationMentions, resolvePrompt, resolveReferenceTokens, resolveSeedance2Inputs, resolveTemplate, resolveTerm, resolveVeoI2vInputs, resolveVideoReferenceCore, summarizePickerCatalogs, toIdentityLockMode, truncateForField, truncateText, withForcedIdentityLock };
5717
+ export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, ANGLE_LABELS, ASPECT_RATIO_LABELS, ATMOSPHERES, ATMOSPHERE_IDS, AUDIO_WIZARD_CATEGORIES, type ActionFx, type ActionFxCategory, type Aesthetic, type AestheticCategory, type AssembleImageInput, type AssembleSunoInput, type AssembleSunoResult, type Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, type Backdrop, type BackdropCategory, type BrandCasing, type BrandFonts, type BrandLogo, type BrandPalette, type BrandPresetId, type BrandPresetMeta, type BrandTokens, type BrandTypeSpec, type BuildImagePromptConfig, type BuildImagePromptResult, type BuildImagePromptSegmentsResult, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_IDS, CINEMATIC_LOOK_TAIL, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, type CameraFormat, type CameraMotion, type CameraMotionCategory, type CatalogPack, type CatalogPackMode, type CategorizedInstrument, type CharacterFx, type CharacterFxCategory, type CharacterFxDuration, type CharacterFxIntensity, type CharacterFxPosition, type CharacterFxTiming, type CharacterMeta, type CharacterMotionPromptInput, type CharacterPromptInput, type ColorLook, type ColorLookCategory, type CompositionEffect, type ComputeNodePromptArgs, type CreaturePromptInput, DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, type DirectionFields, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, type Era, type EraCategory, type ExposureCategory, type ExposureSettings, type ExposureValue, FACTORY_PRESETS, FACTORY_SNIPPETS, FILM_STILL_PREFIX, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, type FacePromptInput, type FactoryPreset, type FactoryPresetGroup, type FactorySnippet, type Framing, type FramingCategory, type FramingValue, GAPS_SCHEMA, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, type HeldProp, type HeldPropCategory, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, type IdentityLockMode, type ImageReferenceDoctrine, type InstrumentCategory, type InstrumentationEntry, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LLM_CHAT_WIZARD_CATEGORIES, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, type Lens, type Lighting, type LightingCategory, type LightingValue, type LlmChatFieldArgs, type LocationMotionPromptInput, type LocationPromptInput, type LocationRefinePromptInput, type LoopSubject, type LoopSubjectCategory, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_DIMENSION, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MOVEMENT_LABELS, MULTI_PICKER_WIRING, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, MUSIC_WIZARD_CATEGORIES, type Material, type MaterialCategory, type ModelChange, type Mood, type MoodCategory, type MoodValue, type MultiDimPickerWiring, type MultiPickerAnalyzerSpec, type MusicEra, type MusicGenre, type MusicGenreCategory, type MusicMoodData, type MusicMoodEntry, type MusicSubgenre, NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, type ObjectMotionPromptInput, type ObjectPresetAssetType, type ObjectPromptInput, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PERSON_DIMENSION_SECTIONS, PERSON_FIELD_BY_DIMENSION, PERSON_IDS, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_CATALOGS, PICKER_TYPES, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, type Person, type PersonDimension, type PersonDimensionSection, type PersonPack, type PersonValue, type PhotoGenre, type PhotoGenreCategory, type Photographer, type PhotographerCategory, type PickerAnalyzer, type PickerAnalyzerDescriptor, type PickerAnalyzerSpec, type PickerApplyMode, type PickerCatalog, type PickerCatalogDetail, type PickerCatalogInput, type PickerCatalogSummary, type PickerDimension, type PickerDimensionInput, type PickerDimensionSpec, type PickerGaps, type PickerHintMode, type PickerOption, type PickerOptionInput, type PickerType, type PickerWiring, type PickerWiringEntry, type Pose, type PoseCategory, type PoseValue, type PostProcessEffect, type ProjectPickerCatalogOptions, type ProjectedPickerCatalog, type ProjectedPickerDimension, type ProjectedPickerOption, type PromptFieldSpec, type PromptIconKind, type PromptSegment, type PromptSegmentOrigin, type ProviderPromptDoctrine, REFERENCE_IMAGE_ROLES, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, REF_BINDING, RENDER_QUALITIES, RENDER_QUALITY_IDS, type RecommendedModel, type ReferenceCounts, type RegisteredPersonEntry, type RenderQuality, type ResolveCharacterMentionsResult, type ResolveLocationMentionsResult, type ResolvePromptArgs, type ResolveVideoReferenceCoreArgs, SCENE_FRAME_RULE, SCENE_PROMPT_MAX_LENGTH, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SHOT_LABELS, SINGING_STYLES, SINGLE_PICKER_WIRING, SNIPPET_MEDIA_VALUES, STYLES, STYLE_IDS, STYLE_PRESETS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type Setting, type SettingCategory, type SidecarCoverageReport, type SingleDimPickerWiring, type SnippetMedia, type SnippetTarget, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, type StructuredPromptFields, type Style, type StylePreset, type Styling, type StylingDimension, type StylingValue, type SuspiciousTermOptions, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TERM_MAX_CHARS, TEXT_WIZARD_CATEGORIES, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_DURATIONS, TRANSITION_IDS, TRANSITION_INTENSITIES, TRANSITION_POSITIONS, type Temporal, type TemporalCategory, type TemporalValue, type TermCarrier, type Transition, type TransitionCategory, type TransitionDuration, type TransitionIntensity, type TransitionPosition, type TransitionTiming, type TransitionTimingOption, VIDEO_WIZARD_CATEGORIES, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoExtraRef, type VoiceCharacterEntry, type VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, type WardrobeDimension, type WardrobeEntry, type WardrobeValue, type WizardCategory, type WizardNodeContext, type WizardOption, type WizardQuestion, type WizardSelection, appendField, appendMusicMeta, applyPickerJson, applyPromptAffixes, applyReferenceOrderToVideo, applyTemplate, assembleImageInput, assembleSunoInput, buildActionFxHints, buildActionFxTerms, buildAestheticHints, buildAestheticTerms, buildAgeHint, buildAtmosphereHints, buildAtmosphereTerms, buildCharacterPrompt, buildCreaturePrompt, buildExposureHints, buildExposureTerms, buildFaceTemplateInputs, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildIdentityDirectives, buildIdentityLockLine, buildImagePrompt, buildImagePromptSegments, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMotionPrompt, buildMultiPickerAnalyzerSpec, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildObjectMotionPrompt, buildObjectPrompt, buildPersonHints, buildPersonTerms, buildPhotographerHints, buildPhotographerTerms, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildReferenceBlocks, buildScenePrompt, buildStylingHints, buildStylingTerms, buildSurroundFillPrompt, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, buildWardrobeHints, catalogPacksVersion, characterLockToRefLock, collectIdentityLockClause, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeNegative, composePickerCatalogs, composeSoundHintFromConnections, composeTransitionHintFromConnections, computeLlmChatFields, computeNodePrompt, computePackSidecarCoverage, deriveTerm, expandImagePositionRefs, expandImageRefTokens, filmStillPrefix, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCategoriesForNodeType, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEffectiveSunoCustomMode, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFactoryPresets, getFactorySnippets, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getIdentityLockClause, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getParameterPromptHint, getPerson, getPersonDimensionLimit, getPersonLabel, getPersonPromptHint, getPersonTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerAnalyzer, getPickerCatalog, getPickerWiring, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getPromptDoctrine, getPromptFields, getPromptTips, getRegisteredCatalogPacks, getRegisteredPeople, getRegisteredPersonDimensionLabels, getRegisteredPersonDimensionOrder, getRegisteredPersonFieldByDimension, getRegisteredPickerCatalogs, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getSnippetMedia, getStyle, getStyleLabel, getStylePreset, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, groupFactoryPresets, hasUpstreamCharacter, identityRefsSentence, isAnalyzablePicker, isInstrumentalVocal, isSuspiciousDerivedTerm, isVantageFraming, isWizardSupported, joinPromptParts, listPickerCatalogs, migratePersonValue, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, personPacksVersion, pickerFanoutTargets, projectAllCatalogs, projectPickerCatalog, promptAffixCoreField, promptBindsFirstFrame, promptFieldCarriesAffixes, promptPartSeparator, referenceRulesBlock, registerCatalogPack, registerPersonPack, renderStructuredFields, resetCatalogPacks, resetPersonPacks, resolveBrandInput, resolveCharacterMentions, resolveGeminiOmniI2vInputs, resolveLocationMentions, resolvePrompt, resolveReferenceTokens, resolveSeedance2Inputs, resolveTemplate, resolveTerm, resolveVeoI2vInputs, resolveVideoReferenceCore, summarizePickerCatalogs, toIdentityLockMode, truncateForField, truncateText, withForcedIdentityLock };