@nodaro/shared 2.8.0 → 2.11.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.
Files changed (56) hide show
  1. package/dist/index.cjs +329 -53
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +631 -94
  4. package/dist/index.d.ts +631 -94
  5. package/dist/index.js +297 -53
  6. package/dist/index.js.map +1 -1
  7. package/package.json +1 -1
  8. package/src/__tests__/catalog-projection.test.ts +14 -0
  9. package/src/__tests__/default-video-provider.test.ts +1 -1
  10. package/src/__tests__/llm-models.test.ts +3 -2
  11. package/src/__tests__/organizations-types.test.ts +61 -0
  12. package/src/__tests__/pack-sidecar-localization.test.ts +21 -0
  13. package/src/__tests__/parameter-node-value.test.ts +18 -1
  14. package/src/__tests__/producer-types.test.ts +11 -0
  15. package/src/__tests__/prompt-length-limits.test.ts +7 -3
  16. package/src/__tests__/resolve-pipeline-model.test.ts +4 -4
  17. package/src/__tests__/seedance2-continuation-ref.test.ts +2 -3
  18. package/src/__tests__/video-analysis-catalog-sync.test.ts +1 -1
  19. package/src/__tests__/video-analysis-pricing.test.ts +2 -2
  20. package/src/__tests__/video-mode-for-inputs.test.ts +74 -0
  21. package/src/animals.ts +10 -0
  22. package/src/catalog-projection.ts +48 -0
  23. package/src/combine-transitions.ts +38 -0
  24. package/src/credit-estimators/video-utils.ts +1 -1
  25. package/src/entity-node-fields.ts +147 -0
  26. package/src/featured-entities.ts +1 -1
  27. package/src/furniture.ts +10 -0
  28. package/src/i18n/index.ts +33 -3
  29. package/src/i18n/transitions.ar.ts +6 -0
  30. package/src/i18n/transitions.de.ts +6 -0
  31. package/src/i18n/transitions.es.ts +6 -0
  32. package/src/i18n/transitions.fr.ts +6 -0
  33. package/src/i18n/transitions.he.ts +6 -0
  34. package/src/i18n/transitions.hi.ts +6 -0
  35. package/src/i18n/transitions.ja.ts +6 -0
  36. package/src/i18n/transitions.ko.ts +6 -0
  37. package/src/i18n/transitions.pt-BR.ts +6 -0
  38. package/src/i18n/transitions.ru.ts +6 -0
  39. package/src/i18n/transitions.zh-CN.ts +6 -0
  40. package/src/i18n/types.ts +12 -14
  41. package/src/index.ts +30 -1
  42. package/src/llm-models.ts +4 -0
  43. package/src/model-catalog.ts +19 -0
  44. package/src/model-constants.ts +52 -7
  45. package/src/organizations/index.ts +2 -0
  46. package/src/organizations/types.ts +152 -0
  47. package/src/organizations/views.ts +220 -0
  48. package/src/parameter-node-value.ts +23 -3
  49. package/src/producer-types.ts +10 -0
  50. package/src/smart-cut-windows.ts +8 -17
  51. package/src/suno-track-sources.ts +23 -0
  52. package/src/surround.ts +10 -90
  53. package/src/vehicles.ts +11 -1
  54. package/src/video-analysis-pricing.ts +25 -36
  55. package/src/weapons.ts +11 -1
  56. package/src/workflow-export.ts +41 -0
package/dist/index.d.cts CHANGED
@@ -512,7 +512,7 @@ declare function creditsToUsd(credits: number): number;
512
512
  * Single source of truth for model capability sets and variable pricing rules.
513
513
  */
514
514
 
515
- /** Base USD cost per 1 Nodaro credit, at cost. Used for cost→credit conversion. */
515
+ /** Base USD value of 1 Nodaro credit. Used for cost→credit conversion. */
516
516
  declare const CREDIT_BASE_USD = 0.002;
517
517
  /** Max characters for the (assembled) prompt accepted by the image-generation routes
518
518
  * (generate-image, image-to-image, edit-image). Single source of truth — the route Zod
@@ -634,13 +634,22 @@ declare function getMaxTtsChars(provider: string | undefined): number;
634
634
  * Suno per-version field caps (from docs.kie.ai/suno-api/generate-music). The old
635
635
  * flat {@link SUNO_TEXT_MAX} (3000) was simultaneously too low for V4.5+/V5
636
636
  * prompts (5000) and too high for `style` (1000) and `title` (80).
637
- * - prompt / lyrics: 500 in non-custom mode (all versions); in custom mode
637
+ * - prompt / lyrics: 3000 in non-custom mode (all versions); in custom mode
638
638
  * 3000 for V4/V3.5 and 5000 for V4.5 / V4.5PLUS / V4.5ALL / V5 / V5.5.
639
639
  * - style: 200 for V4/V3.5, 1000 for V4.5+.
640
640
  * - title: 80 (all versions).
641
641
  */
642
642
  declare const SUNO_TITLE_MAX = 80;
643
- /** Max Suno `prompt` (= lyrics in custom mode) length for a model version. */
643
+ /**
644
+ * Max Suno `prompt` (= lyrics in custom mode) length for a model version.
645
+ *
646
+ * NON-CUSTOM WAS 500 UNTIL 2026-08-19 — six times under the provider's
647
+ * documented 3000, and the route TRUNCATES to this number instead of
648
+ * rejecting, so everything past it vanished without a trace. Field evidence:
649
+ * a 950-character recast score brief (instruments, vocal, the source's own
650
+ * scat syllables, the arrangement's arc) reached Suno as exactly 500
651
+ * characters, cut mid-word.
652
+ */
644
653
  declare function getMaxSunoPromptChars(model: string | undefined, customMode: boolean): number;
645
654
  /** Max Suno `style` length for a model version. */
646
655
  declare function getMaxSunoStyleChars(model: string | undefined): number;
@@ -737,7 +746,7 @@ declare const IDEOGRAM_PROVIDERS: Set<string>;
737
746
  /** Text-to-image providers (no input image required) */
738
747
  declare const IMAGE_GEN_PROVIDERS: readonly ["nano-banana", "flux", "nano-banana-pro", "nano-banana-2", "nano-banana-2-lite", "grok", "grok-2", "gpt-image", "gpt-image-2", "imagen4", "imagen4-fast", "imagen4-ultra", "ideogram-v3", "qwen", "seedream", "seedream-5-lite", "seedream-5-pro", "flux-flex", "flux-kontext", "flux-kontext-max", "z-image", "wan-2.7", "wan-2.7-pro", "flux-2-klein", "flux-2-pro", "flux-2-max"];
739
748
  /** Image-to-image providers (require input image) */
740
- declare const IMAGE_I2I_PROVIDERS: readonly ["nano-banana", "nano-banana-2", "nano-banana-2-lite", "nano-banana-pro", "grok-i2i", "flux-i2i", "flux-pro-i2i", "gpt-image-i2i", "gpt-image-2-i2i", "ideogram-edit", "ideogram-remix", "ideogram-reframe", "qwen-i2i", "qwen-edit", "seedream-edit", "seedream-5-lite-i2i", "seedream-5-pro-i2i", "flux-kontext", "flux-kontext-max", "kontext-multi", "flux-2-pro", "flux-fill", "flux-2-max", "flux-fill"];
749
+ declare const IMAGE_I2I_PROVIDERS: readonly ["nano-banana", "nano-banana-2", "nano-banana-2-lite", "nano-banana-pro", "grok-i2i", "flux-i2i", "flux-pro-i2i", "gpt-image-i2i", "gpt-image-2-i2i", "grok-2-i2i", "ideogram-edit", "ideogram-remix", "ideogram-reframe", "qwen-i2i", "qwen-edit", "seedream-edit", "seedream-5-lite-i2i", "seedream-5-pro-i2i", "flux-kontext", "flux-kontext-max", "kontext-multi", "flux-2-pro", "flux-fill", "flux-2-max", "flux-fill"];
741
750
  /** Image editing providers (upscale, remove bg, etc.) */
742
751
  declare const IMAGE_EDIT_PROVIDERS: readonly ["recraft-upscale", "recraft-remove-bg", "nano-banana-edit", "topaz-image-upscale", "grok-upscale", "grok-2-edit", "grok-2-segment"];
743
752
  /**
@@ -751,7 +760,7 @@ declare const IMAGE_EDIT_PROVIDERS: readonly ["recraft-upscale", "recraft-remove
751
760
  */
752
761
  declare const TASK_CHAINED_EDIT_PROVIDERS: ReadonlySet<string>;
753
762
  /** Modify image providers (I2I + edit-with-prompt) */
754
- declare const MODIFY_IMAGE_PROVIDERS: readonly ["nano-banana", "nano-banana-2", "nano-banana-2-lite", "nano-banana-pro", "grok-i2i", "flux-i2i", "flux-pro-i2i", "gpt-image-i2i", "gpt-image-2-i2i", "ideogram-edit", "ideogram-remix", "ideogram-reframe", "qwen-i2i", "qwen-edit", "seedream-edit", "seedream-5-lite-i2i", "seedream-5-pro-i2i", "flux-kontext", "flux-kontext-max", "kontext-multi", "flux-2-pro", "flux-fill", "flux-2-max", "flux-fill", "nano-banana-edit"];
763
+ declare const MODIFY_IMAGE_PROVIDERS: readonly ["nano-banana", "nano-banana-2", "nano-banana-2-lite", "nano-banana-pro", "grok-i2i", "flux-i2i", "flux-pro-i2i", "gpt-image-i2i", "gpt-image-2-i2i", "grok-2-i2i", "ideogram-edit", "ideogram-remix", "ideogram-reframe", "qwen-i2i", "qwen-edit", "seedream-edit", "seedream-5-lite-i2i", "seedream-5-pro-i2i", "flux-kontext", "flux-kontext-max", "kontext-multi", "flux-2-pro", "flux-fill", "flux-2-max", "flux-fill", "nano-banana-edit"];
755
764
  type ModifyImageProvider = typeof MODIFY_IMAGE_PROVIDERS[number];
756
765
  /** Image upscale providers */
757
766
  declare const UPSCALE_IMAGE_PROVIDERS: readonly ["recraft-upscale", "topaz-image-upscale"];
@@ -802,6 +811,26 @@ declare const VIDEO_MODE_ALIASES: readonly VideoModeAlias[];
802
811
  * through unchanged.
803
812
  */
804
813
  declare function resolveVideoProviderForMode(provider: string, mode: "image-to-video" | "text-to-video"): string;
814
+ /**
815
+ * Which execution mode a unified Generate Video run takes from what is wired.
816
+ * Shared by the frontend DAG executor (`execute-node.ts`) and the backend
817
+ * orchestrator (`payload-builder.ts`) so the two cannot disagree.
818
+ *
819
+ * A start frame is image-to-video, full stop. Reference images ALONE are the
820
+ * nuance: most models forward refs on either path, but a split-id model
821
+ * (VIDEO_MODE_ALIASES) can carry them on one twin only — Grok Imagine 1's
822
+ * text-to-video endpoint has no image parameter at all, while its i2v twin
823
+ * takes up to 7. Refs wired without a start frame used to resolve to t2v →
824
+ * `grok` → silently dropped (#861). When refs are present and ONLY the i2v
825
+ * twin can carry them, the run is image-to-video with the refs as its images.
826
+ * Derived from VIDEO_REF_LIMITS_BY_PROVIDER (= the catalog's `reference-image`
827
+ * feature), never from a provider name; single-id models are untouched
828
+ * because both twins are the same id.
829
+ */
830
+ declare function resolveVideoModeForInputs(provider: string | undefined, inputs: {
831
+ readonly hasStartFrame: boolean;
832
+ readonly hasImageRefs: boolean;
833
+ }): "image-to-video" | "text-to-video";
805
834
  /**
806
835
  * t2v twin ids hidden from the unified Generate Video picker — the i2v/base
807
836
  * entry already represents both modes (execution remaps by image presence).
@@ -1105,9 +1134,8 @@ declare const SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC = 1.8;
1105
1134
  * credit formulas bill per continuation join. Clears the provider floor
1106
1135
  * above with margin while staying short enough to keep the model focused on
1107
1136
  * continuing the boundary motion instead of re-staging the whole clip.
1108
- * Guarded ≥ floor by model-constants tests; the private-plugin twin
1109
- * (nodaro-cloud-plugins chain.ts TAIL_SEC / bridge-math.ts MIN_REF) is
1110
- * guarded by that repo's r2v-ref-floor.test.ts — keep the two in sync.
1137
+ * Guarded ≥ floor by model-constants tests; the plugin repo carries a twin
1138
+ * constant guarded by its own tests — keep the two in sync.
1111
1139
  */
1112
1140
  declare const SEEDANCE_2_CONTINUATION_REF_SEC = 2;
1113
1141
  /**
@@ -1596,7 +1624,7 @@ interface FilmCreditEstimate {
1596
1624
  declare function estimateFilmCredits(durationSeconds: number, videoModel?: string): FilmCreditEstimate;
1597
1625
 
1598
1626
  /**
1599
- * Featured entity starter catalog (north-star §6 ③ — the "Featured" tab of each
1627
+ * Featured entity starter catalog (the "Featured" tab of each
1600
1628
  * entity Library).
1601
1629
  *
1602
1630
  * These are app-provided starter presets: a curated visual description per
@@ -1847,7 +1875,7 @@ interface LoopTrimEstimatorInput {
1847
1875
  * Formula: ceil(duration / 5) + ceil(framesToTest / 24) — matches the
1848
1876
  * trim-video smart-loop-cut formula for consistency. */
1849
1877
  declare function estimateLoopTrimAddonCredits(loopTrim: LoopTrimEstimatorInput | undefined, outputDurationSeconds: number): number;
1850
- /** BASE credits (at-cost) for assemble-narrated-video: 3 flat + 1 per 6
1878
+ /** BASE credits for assemble-narrated-video: 3 flat + 1 per 6
1851
1879
  * blocks. 6→4, 24→7, 60→13. Single source of truth shared by the backend
1852
1880
  * route/creditGuard (`backend/src/providers/video/narrated-block-fit.ts`
1853
1881
  * re-exports this) and the frontend pre-run estimate
@@ -2166,7 +2194,7 @@ declare function groupLlmModelsByVendor(models?: readonly LlmModelDef[]): LlmMod
2166
2194
  * group headers (e.g. the compact node quick strips) but should still read
2167
2195
  * vendor-clustered and tier-ordered. */
2168
2196
  declare function orderedLlmModels(models?: readonly LlmModelDef[]): LlmModelDef[];
2169
- type LlmFeature = "ai-writer" | "llm-chat" | "prompt-helper" | "scene-graph-ai" | "after-effects" | "motion-graphics" | "motion-graphics-lottie" | "lottie-overlay" | "3d-title" | "image-to-text" | "describe-to-picker" | "qa-check" | "generate-script" | "translate" | "image-critic" | "pick-best-llm";
2197
+ type LlmFeature = "ai-writer" | "llm-chat" | "prompt-helper" | "scene-graph-ai" | "after-effects" | "motion-graphics" | "motion-graphics-lottie" | "lottie-overlay" | "3d-title" | "image-to-text" | "describe-to-picker" | "qa-check" | "generate-script" | "translate" | "image-critic" | "pick-best-llm" | "workflow-copilot";
2170
2198
  /** Engine-dependent LlmFeature for the motion-graphics node (design §8: every credit-id site must branch on engine). */
2171
2199
  declare function motionGraphicsFeature(engine?: string): LlmFeature;
2172
2200
  /** Feature → default model when user hasn't selected one */
@@ -2791,63 +2819,30 @@ declare function settledWithLimit<T>(tasks: (() => Promise<T>)[], limit: number,
2791
2819
  }): Promise<PromiseSettledResult<T>[]>;
2792
2820
 
2793
2821
  /**
2794
- * Surround continuation — shared single source of truth.
2822
+ * Surround continuation — the shared WIRE CONTRACT.
2795
2823
  *
2796
2824
  * The Location 360° "look-around" builds each ring view (45°, 90°, …) as an
2797
- * image-to-image continuation of the previous view. The platform forces
2798
- * geometric continuity by handing the model a half-done frame: one edge holds
2799
- * the previous view's carried pixels, the rest is flat gray, and the model is
2800
- * asked to paint the gray region.
2801
- *
2802
- * This module owns the bits that are pure and reused across the route Zod
2803
- * schema, the SDK input type, and the worker: the direction enum, the carried
2804
- * fraction defaults, and the fill prompt. The geometry math + sharp compositing
2805
- * + color harmonization live backend-side (they need `sharp`).
2806
- */
2807
- /**
2808
- * The carry/paint axis for a continuation.
2809
- *
2810
- * PAN (horizontal — half-carry continuation):
2811
- * - `right` — turning right: the new frame's LEFT edge continues the previous
2812
- * view's RIGHT edge, so the carried band sits on the LEFT, painted on the RIGHT.
2813
- * - `left` — turning left: the new frame's RIGHT edge continues the previous
2814
- * view's LEFT edge, so the carried band sits on the RIGHT, painted on the LEFT.
2815
- * (Mirror of `right`. Lets studio chain BOTH ways from a keyframe, capping
2816
- * chain depth so quality doesn't compound down a long one-way chain.)
2817
- *
2818
- * TILT (vertical — thin-strip, subject-driven re-render):
2819
- * - `up` — tilting straight up: render the open SKY overhead. A thin strip of
2820
- * the establishing shot's TOP edge is carried into the new frame's BOTTOM for
2821
- * a soft horizon transition; the rest is painted as sky (NOT a mirrored
2822
- * landscape).
2823
- * - `down` — tilting straight down: render the GROUND below. A thin strip of the
2824
- * BOTTOM edge is carried into the new frame's TOP.
2825
+ * image-to-image continuation of the previous one.
2826
+ *
2827
+ * This module owns only what the route Zod schema, the SDK input type, and the
2828
+ * worker all need to agree on: the direction enum and the carried-fraction
2829
+ * defaults. The fill prompt lives in `@nodaro/prompts` (never published) and
2830
+ * the compositing/harmonization engine is private.
2831
+ */
2832
+ /**
2833
+ * The camera move a continuation represents: `right` / `left` pan the view
2834
+ * horizontally, `up` / `down` tilt it vertically.
2825
2835
  */
2826
2836
  declare const SURROUND_DIRECTIONS: readonly ["right", "left", "up", "down"];
2827
2837
  type SurroundDirection = (typeof SURROUND_DIRECTIONS)[number];
2828
- /** Half the frame is carried for a horizontal pan (matches studio's composite). */
2838
+ /** Default carried fraction for a horizontal pan. */
2829
2839
  declare const DEFAULT_CARRIED_FRACTION = 0.5;
2830
- /**
2831
- * Tilts carry only a thin horizon strip. Carrying half of a horizontal frame is
2832
- * exactly what makes the model echo/mirror the landscape vertically instead of
2833
- * rendering what's actually overhead/underfoot — so tilts keep the carry small
2834
- * and let the tilt prompt drive the subject.
2835
- */
2840
+ /** Default carried fraction for a vertical tilt. */
2836
2841
  declare const TILT_CARRIED_FRACTION = 0.12;
2837
2842
  /** True for the vertical tilt directions (up/down), false for the pans. */
2838
2843
  declare function isTiltDirection(direction: SurroundDirection): boolean;
2839
2844
  /** The carried fraction the platform uses when the caller doesn't pin one. */
2840
2845
  declare function defaultCarriedFraction(direction: SurroundDirection): number;
2841
- /**
2842
- * Build the fill prompt the model receives alongside the half-carry composite.
2843
- *
2844
- * `userPrompt` (an optional scene hint from the caller) is woven in front. PAN
2845
- * directions get the seamless-continuation prompt (with the anti-golden-hour
2846
- * negative that fights the documented warm-regrade drift). TILT directions get a
2847
- * subject-forcing prompt — render the sky / ground overhead / below, explicitly
2848
- * NOT a mirrored landscape — which is what stops the vertical echo.
2849
- */
2850
- declare function buildSurroundFillPrompt(direction: SurroundDirection, userPrompt?: string): string;
2851
2846
 
2852
2847
  /**
2853
2848
  * The 5 parameter-picker node types that can wire INTO the Object Studio's
@@ -3340,8 +3335,6 @@ interface LanguageDefinition {
3340
3335
  readonly shortCode: string;
3341
3336
  /** Reading direction. */
3342
3337
  readonly dir: LocaleDirection;
3343
- /** Optional flag emoji for visual recognition. */
3344
- readonly flag: string;
3345
3338
  }
3346
3339
  /**
3347
3340
  * Master language registry. Order = display order in the language picker
@@ -3454,6 +3447,7 @@ declare const PARAMETER_NODE_TYPES: ReadonlySet<string>;
3454
3447
  * `main-text-handle.test.ts` (members are not text-producing).
3455
3448
  */
3456
3449
  declare const HINT_EXEMPT_PARAMETER_TYPES: ReadonlySet<string>;
3450
+ declare function setRegisteredPersonPackFields(fields: readonly string[]): void;
3457
3451
  declare function getParameterValue(data: Record<string, unknown>, nodeType: string): string | undefined;
3458
3452
 
3459
3453
  interface ComponentHandle {
@@ -4202,6 +4196,16 @@ interface Animal {
4202
4196
  readonly label: string;
4203
4197
  readonly subcategory: AnimalSubcategory;
4204
4198
  readonly description: string;
4199
+ /**
4200
+ * Optional authored compact term — the short phrase a professional would
4201
+ * write in a prompt, as opposed to the user-facing `label` (see the `term`
4202
+ * convention in `@nodaro/prompts`'s `term.ts`). Authored ONLY where the
4203
+ * lowercased label is not that phrase — a UI compound naming two things at
4204
+ * once ("Airship / Dirigible" -> "airship", "Plasma Sword / Lightsaber" ->
4205
+ * "plasma sword"). Everywhere else the lowercased label IS the term for a
4206
+ * concrete object ("golden retriever", "katana"), so nothing is authored.
4207
+ */
4208
+ readonly term?: string;
4205
4209
  }
4206
4210
  declare const ANIMALS: ReadonlyArray<Animal>;
4207
4211
  declare function getAnimal(id: string | undefined | null): Animal | undefined;
@@ -4226,6 +4230,16 @@ interface Furniture {
4226
4230
  readonly label: string;
4227
4231
  readonly subcategory: FurnitureSubcategory;
4228
4232
  readonly description: string;
4233
+ /**
4234
+ * Optional authored compact term — the short phrase a professional would
4235
+ * write in a prompt, as opposed to the user-facing `label` (see the `term`
4236
+ * convention in `@nodaro/prompts`'s `term.ts`). Authored ONLY where the
4237
+ * lowercased label is not that phrase — a UI compound naming two things at
4238
+ * once ("Airship / Dirigible" -> "airship", "Plasma Sword / Lightsaber" ->
4239
+ * "plasma sword"). Everywhere else the lowercased label IS the term for a
4240
+ * concrete object ("golden retriever", "katana"), so nothing is authored.
4241
+ */
4242
+ readonly term?: string;
4229
4243
  }
4230
4244
  declare const FURNITURE: ReadonlyArray<Furniture>;
4231
4245
  declare function getFurniture(id: string | undefined | null): Furniture | undefined;
@@ -4276,6 +4290,16 @@ interface Vehicle {
4276
4290
  readonly label: string;
4277
4291
  readonly subcategory: VehicleSubcategory;
4278
4292
  readonly description: string;
4293
+ /**
4294
+ * Optional authored compact term — the short phrase a professional would
4295
+ * write in a prompt, as opposed to the user-facing `label` (see the `term`
4296
+ * convention in `@nodaro/prompts`'s `term.ts`). Authored ONLY where the
4297
+ * lowercased label is not that phrase — a UI compound naming two things at
4298
+ * once ("Airship / Dirigible" -> "airship", "Plasma Sword / Lightsaber" ->
4299
+ * "plasma sword"). Everywhere else the lowercased label IS the term for a
4300
+ * concrete object ("golden retriever", "katana"), so nothing is authored.
4301
+ */
4302
+ readonly term?: string;
4279
4303
  }
4280
4304
  declare const VEHICLES: ReadonlyArray<Vehicle>;
4281
4305
  declare function getVehicle(id: string | undefined | null): Vehicle | undefined;
@@ -4301,6 +4325,16 @@ interface Weapon {
4301
4325
  readonly label: string;
4302
4326
  readonly subcategory: WeaponSubcategory;
4303
4327
  readonly description: string;
4328
+ /**
4329
+ * Optional authored compact term — the short phrase a professional would
4330
+ * write in a prompt, as opposed to the user-facing `label` (see the `term`
4331
+ * convention in `@nodaro/prompts`'s `term.ts`). Authored ONLY where the
4332
+ * lowercased label is not that phrase — a UI compound naming two things at
4333
+ * once ("Airship / Dirigible" -> "airship", "Plasma Sword / Lightsaber" ->
4334
+ * "plasma sword"). Everywhere else the lowercased label IS the term for a
4335
+ * concrete object ("golden retriever", "katana"), so nothing is authored.
4336
+ */
4337
+ readonly term?: string;
4304
4338
  }
4305
4339
  declare const WEAPONS: ReadonlyArray<Weapon>;
4306
4340
  declare function getWeapon(id: string | undefined | null): Weapon | undefined;
@@ -4688,6 +4722,8 @@ declare function isKineticCaptionStyle(style: string | undefined | null): style
4688
4722
  * filters across BOTH the canonical English text AND the localized text.
4689
4723
  */
4690
4724
 
4725
+ declare function registerCatalogSidecars(catalog: string, sidecars: Partial<Record<LocaleId, LocaleCatalogMap>> | undefined): void;
4726
+ declare function resetCatalogSidecars(): void;
4691
4727
  /**
4692
4728
  * Lazy-load a sidecar catalog. Returns `null` if the locale is `en` (no
4693
4729
  * sidecar — English lives in the canonical catalog file) or if no sidecar
@@ -4800,6 +4836,44 @@ interface WorkflowExportLocation {
4800
4836
  canonicalDescription?: string | null;
4801
4837
  styleLock?: boolean | null;
4802
4838
  }
4839
+ /** A media URL referenced from a node's data, located by node + field path. */
4840
+ interface WorkflowMediaRef {
4841
+ nodeId: string;
4842
+ nodeLabel?: string;
4843
+ /** Dot/bracket path inside `node.data`, e.g. `imageUrl` or `referenceImageUrls[1]`. */
4844
+ field: string;
4845
+ url: string;
4846
+ }
4847
+ /**
4848
+ * Export-time portability analysis (#866). A bundle exported from a private
4849
+ * host carries media URLs only that host can serve (`http://localhost:3000/
4850
+ * storage/…`, a LAN address, a `.internal` name); imported anywhere else, the
4851
+ * nodes fail at Run time with an opaque provider fetch error. The exporter
4852
+ * lists those URLs here so the person exporting is told BEFORE sharing, and
4853
+ * an importer can explain what will not load. Absent when every media URL is
4854
+ * publicly routable.
4855
+ */
4856
+ interface WorkflowPortability {
4857
+ unreachableMedia: WorkflowMediaRef[];
4858
+ }
4859
+ /**
4860
+ * What the importer did about the bundle's media (#866). Publicly reachable
4861
+ * media that is not already on the importing instance's own storage is
4862
+ * copied there (`rehosted`) so the workflow runs from local copies; media on
4863
+ * a host the importer cannot reach is left as-is and listed (`unreachable`);
4864
+ * anything declined for another reason (too large, not a media type, over
4865
+ * the per-import cap, upload failed) is listed with the reason (`skipped`).
4866
+ */
4867
+ interface WorkflowImportReport {
4868
+ rehosted: number;
4869
+ unreachable: WorkflowMediaRef[];
4870
+ skipped: Array<WorkflowMediaRef & {
4871
+ reason: string;
4872
+ }>;
4873
+ /** Anything else the importer should know, e.g. copies were made but the
4874
+ * workflow could not be updated to use them. */
4875
+ notes?: string[];
4876
+ }
4803
4877
  interface WorkflowExport {
4804
4878
  version: 1;
4805
4879
  exportedAt: string;
@@ -4813,6 +4887,8 @@ interface WorkflowExport {
4813
4887
  creatures?: WorkflowExportCreature[];
4814
4888
  locations: WorkflowExportLocation[];
4815
4889
  };
4890
+ /** Present only when the bundle references media another instance cannot fetch. */
4891
+ portability?: WorkflowPortability;
4816
4892
  }
4817
4893
  /** Strip generated/transient content from nodes for template export. Returns new node objects; inputs are not mutated. */
4818
4894
  declare function stripExportContent(nodes: GenericNode[]): GenericNode[];
@@ -8236,6 +8312,24 @@ declare function getCombineTransition(id: string): CombineTransition | undefined
8236
8312
  * Throws for unknown ids — callers validate input via Zod first.
8237
8313
  */
8238
8314
  declare function resolveXfadeName(id: string): string | null;
8315
+ /**
8316
+ * Map a `transition` PARAMETER-NODE pick (the @nodaro/prompts creative
8317
+ * catalog — prose-hint transitions for AI video prompts) onto the ffmpeg
8318
+ * xfade vocabulary above. The two vocabularies are deliberately different
8319
+ * (the picker describes shots, this table describes blends); only the
8320
+ * visually-faithful subset maps — everything else falls back to `cut`.
8321
+ *
8322
+ * Consumed by the slideshow node (its transition TYPE comes from a wired
8323
+ * transition parameter node; unwired defaults to cut). Kept here — not in
8324
+ * @nodaro/prompts — because the dependency points prompts → shared, and the
8325
+ * ids are plain strings on both sides.
8326
+ */
8327
+ declare const PICKER_TO_COMBINE_TRANSITION: Readonly<Record<string, string>>;
8328
+ /**
8329
+ * Resolve ANY transition string a slideshow may receive — a combine id
8330
+ * (already valid), a picker id (mapped), or anything else (→ cut).
8331
+ */
8332
+ declare function resolveSlideshowTransition(value: string | undefined | null): string;
8239
8333
 
8240
8334
  /**
8241
8335
  * Curated subset of FFmpeg `acrossfade=curve=...` options for combine-videos
@@ -8336,6 +8430,20 @@ declare const AUDIO_PRODUCER_TYPES: ReadonlySet<string>;
8336
8430
  */
8337
8431
  declare const FAN_OUT_EACH_TYPES: ReadonlySet<string>;
8338
8432
 
8433
+ /**
8434
+ * Node types whose output carries Suno chaining ids (`sunoTrackId` /
8435
+ * `sunoTaskId`) for a downstream Suno node (extend / separate / replace /
8436
+ * add-vocals / …) to chain off.
8437
+ *
8438
+ * One set for the three readers — the canvas resolver, the orchestrator
8439
+ * resolver, and the config panels' "Inherited" hint (#819). They used to keep
8440
+ * their own copies and drifted: the canvas read ids off a `suno-separate`
8441
+ * (whose output is stems, not a track) while the orchestrator ignored it, so
8442
+ * the same graph resolved on one path and not the other. Structural
8443
+ * vocabulary only — node type names, no prompt content.
8444
+ */
8445
+ declare const SUNO_TRACK_SOURCE_TYPES: ReadonlySet<string>;
8446
+
8339
8447
  /**
8340
8448
  * ElevenLabs speech-to-speech (voice changer) models — single source of truth
8341
8449
  * for the Voice Changer node's model picker (frontend config panel) AND the
@@ -9278,9 +9386,9 @@ declare const windowSceneSchema: z.ZodObject<{
9278
9386
  "eye-level": "eye-level";
9279
9387
  high: "high";
9280
9388
  low: "low";
9281
- overhead: "overhead";
9282
9389
  pov: "pov";
9283
9390
  dutch: "dutch";
9391
+ overhead: "overhead";
9284
9392
  "worms-eye": "worms-eye";
9285
9393
  "over-the-shoulder": "over-the-shoulder";
9286
9394
  profile: "profile";
@@ -9382,9 +9490,9 @@ declare const windowAnalysisSchema: z.ZodObject<{
9382
9490
  "eye-level": "eye-level";
9383
9491
  high: "high";
9384
9492
  low: "low";
9385
- overhead: "overhead";
9386
9493
  pov: "pov";
9387
9494
  dutch: "dutch";
9495
+ overhead: "overhead";
9388
9496
  "worms-eye": "worms-eye";
9389
9497
  "over-the-shoulder": "over-the-shoulder";
9390
9498
  profile: "profile";
@@ -9455,9 +9563,9 @@ declare const analyzedSceneSchema: z.ZodObject<{
9455
9563
  "eye-level": "eye-level";
9456
9564
  high: "high";
9457
9565
  low: "low";
9458
- overhead: "overhead";
9459
9566
  pov: "pov";
9460
9567
  dutch: "dutch";
9568
+ overhead: "overhead";
9461
9569
  "worms-eye": "worms-eye";
9462
9570
  "over-the-shoulder": "over-the-shoulder";
9463
9571
  profile: "profile";
@@ -9569,9 +9677,9 @@ declare const videoAnalysisResultSchema: z.ZodObject<{
9569
9677
  "eye-level": "eye-level";
9570
9678
  high: "high";
9571
9679
  low: "low";
9572
- overhead: "overhead";
9573
9680
  pov: "pov";
9574
9681
  dutch: "dutch";
9682
+ overhead: "overhead";
9575
9683
  "worms-eye": "worms-eye";
9576
9684
  "over-the-shoulder": "over-the-shoulder";
9577
9685
  profile: "profile";
@@ -9755,14 +9863,12 @@ declare function inferMusicVideo(analysis: {
9755
9863
  * `buildVideoAnalysisCreditId` + `/v1/credits/model-cost`) all derive from
9756
9864
  * these.
9757
9865
  *
9758
- * The measured-rate constants and the $-derived `videoAnalysisBucketCredits`
9759
- * formula that GENERATE these numbers live PRIVATELY in the
9760
- * `@nodaroai/cloud-plugins` package (`src/plugins/video-analysis/cost.ts`)
9761
- * never in this public repo. They were first moved out of this package
9762
- * (published Apache-2.0 on npm) per the 2026-07-06 public-flip IP audit S5,
9763
- * then out of the app repo entirely alongside the rest of the video-analysis
9764
- * node. A cross-check test in that private package guards this table so the
9765
- * public numbers can't silently drift from the formula.
9866
+ * The rate constants and the formula that GENERATE these numbers live
9867
+ * PRIVATELY in the `@nodaroai/cloud-plugins` package never in this public
9868
+ * repo. They were first moved out of this package (published Apache-2.0 on
9869
+ * npm), then out of the app repo entirely alongside the rest of the
9870
+ * video-analysis node. A cross-check test in that private package guards
9871
+ * this table so the public numbers can't silently drift from the formula.
9766
9872
  *
9767
9873
  * `VIDEO_ANALYSIS_BUCKET_CREDITS` below is the precomputed OUTPUT of that
9768
9874
  * private formula for every (model × bucket) combination — a plain credit
@@ -9770,9 +9876,8 @@ declare function inferMusicVideo(analysis: {
9770
9876
  * `VIDEO_CLIP_CREDITS` uses in `film-pricing.ts`. It is what the frontend's
9771
9877
  * client-side cost preview (`estimateNodeCredits` in
9772
9878
  * workflow-editor/types.ts) reads instead of calling the formula directly.
9773
- * The formula's own test in `@nodaroai/cloud-plugins`
9774
- * (`src/plugins/video-analysis/__tests__/cost.test.ts`) cross-checks this table
9775
- * against it and fails on drift. There is deliberately NO app-side formula to
9879
+ * The formula's own test in `@nodaroai/cloud-plugins` cross-checks this
9880
+ * table against it and fails on drift. There is deliberately NO app-side formula to
9776
9881
  * check against — it was moved private in 2026-07 and the old backend test
9777
9882
  * went with it.
9778
9883
  *
@@ -9817,7 +9922,7 @@ declare function videoAnalysisNumWindows(bucketSec: number): number;
9817
9922
  * Precomputed credit cost for the `video-audit` node ("AI Audit") — the same
9818
9923
  * pattern as `VIDEO_ANALYSIS_BUCKET_CREDITS` above: the OUTPUT of the private
9819
9924
  * `videoAuditBucketCredits` formula in `@nodaroai/cloud-plugins`
9820
- * (`src/plugins/video-analysis/cost.ts`), a plain lookup table never a
9925
+ * (in the plugin repo), a plain lookup table never a
9821
9926
  * formula, cross-checked against that package's own cost test. Shares the
9822
9927
  * SAME duration-bucket ladder as video-analysis (`VIDEO_ANALYSIS_DURATION_BUCKETS`
9823
9928
  * / `pickVideoAnalysisBucket`) — the audit re-watches the same clip, so it
@@ -9844,7 +9949,7 @@ declare function videoAnalysisNumWindows(bucketSec: number): number;
9844
9949
  * `buildVideoAnalysisCreditId`.
9845
9950
  *
9846
9951
  * Values pasted verbatim from the plugin generator's output
9847
- * (`scripts/gen-va-buckets.mjs`) at `@nodaroai/cloud-plugins` v0.102.0
9952
+ * (the plugin repo's bucket generator)
9848
9953
  * never hand computed. The plugin's cost test cross-checks every row.
9849
9954
  */
9850
9955
  declare const VIDEO_AUDIT_BUCKET_CREDITS: Record<string, number>;
@@ -9881,21 +9986,14 @@ declare function videoAuditCreditsForBucket(bucketSec: number, auto: boolean): n
9881
9986
  declare function bucketSecondsFromAuditCreditId(id: string): number | null;
9882
9987
 
9883
9988
  /**
9884
- * Smart-cut best-pair SEARCH WINDOWS — the shared bound + clamp for
9989
+ * Smart-cut SEARCH WINDOWS — the shared bound + clamp for
9885
9990
  * generate-video-pro's `smartCutFramesPrev` / `smartCutFramesNext`.
9886
9991
  *
9887
- * What they do: the best-pair matcher (the mode the node calls "legacy-8x8")
9888
- * PSNR-compares the last N frames of a segment against the first M of the
9889
- * next, ends the previous clip ON the best match and starts the next right
9890
- * AFTER its twin so the duplicated frame plays once and motion stays
9891
- * continuous. N and M are those windows. Absent the engine's own 8/8
9892
- * default, which is byte-identical to the behavior before they were
9893
- * exposed.
9894
- *
9895
- * Why wider helps: a continuation can re-enact a longer stretch of the
9896
- * previous tail than 8 frames covers, and a match outside the window is
9897
- * simply never found — the boundary silently falls back to the fixed
9898
- * freeze-trims. recast pins 24/24 for exactly this reason.
9992
+ * They bound how much of each side of a boundary the engine considers when
9993
+ * it places the cut: N frames from the end of a segment and M from the start
9994
+ * of the next. Absent the engine's own default, byte-identical to the
9995
+ * behavior before they were exposed. A boundary the engine cannot resolve
9996
+ * inside the window falls back to the fixed freeze-trims; recast pins 24/24.
9899
9997
  *
9900
9998
  * Why a shared clamp: the canvas node (single-node Run) and the orchestrator
9901
9999
  * (workflow Run) are two independent send paths into the same engine route,
@@ -9904,10 +10002,8 @@ declare function bucketSecondsFromAuditCreditId(id: string): number | null;
9904
10002
  * request instead of 400-ing an entire multi-segment run at finalize time —
9905
10003
  * and the two paths cannot drift apart.
9906
10004
  */
9907
- /** Widest window the UI offers. The engine route itself accepts up to 48;
9908
- * 24 is the product cap it already covers a full second of re-enactment
9909
- * at 24fps, and every frame added past the real overlap only costs match
9910
- * time and invites a spurious pairing. */
10005
+ /** Widest window the UI offers (the engine route itself accepts up to 48).
10006
+ * Past this, added frames only cost search time and invite a false match. */
9911
10007
  declare const SMART_CUT_WINDOW_MAX = 24;
9912
10008
  /** Narrowest meaningful window — one frame each side. */
9913
10009
  declare const SMART_CUT_WINDOW_MIN = 1;
@@ -9940,4 +10036,445 @@ interface HintGraphContext {
9940
10036
  readonly edges: ReadonlyArray<HintEdgeLike>;
9941
10037
  }
9942
10038
 
9943
- export { ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AGGREGATE_LANE_SOURCE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, type AddBRollResult, AddBRollResultSchema, type AggregateableType, type AggregationBuckets, type AiAvatarDurationBucket, type AiAvatarEngine, type AiAvatarResolution, type AiWriterProvider, type AlaCarteBoard, type AnalyzedScene, type AnchorSceneStyleResult, AnchorSceneStyleResultSchema, type Animal, type AnimalSubcategory, type AssetRef, AssetRefSchema, type AudioCrossfadeCurve, type AudioFxPreset, type AudioLayer, type AuditImagesResult, AuditImagesResultSchema, type AuditImagesShotEntry, AuditImagesShotEntrySchema, AuditPromptIssueSchema, type AuditPromptResult, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, type BoardEntityKind, type BoardPromptContext, type BoardTemplate, BridgeToNextSceneInputSchema, type BridgeToNextSceneResult, BridgeToNextSceneResultSchema, type BrowseCommunityParams, type BrowseCommunityResult, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, type CaptionStyle, type CastCoverageCriticVerdict, CastCoverageCriticVerdictSchema, type CharacterAspectRatio, type CharacterAssetType, type CharacterAssetTypeForAspect, type CharacterAttachColumn, type CharacterDef, type CharacterFacet, type CharacterImageCriticVerdict, CharacterImageCriticVerdictSchema, type CharacterLoraFields, type CharacterMentionTokenInfo, CharacterMetadataSchema, type CharacterMotionProvider, type CharacterReferencePhoto, type CharacterReferencePhotoKind, type CharacterVariantAssetBucket, type CharacterVariantAssetItem, type CharacterVoiceSpec, type ChatEnabledStage, type ChatTurnResponse, ChatTurnResponseSchema, type CinematicResolution, type ClipLook, type CloneListingResult, type CombineTransition, type CombineTransitionGroup, type CombineVideosEstimatorInput, type CommunityCard, type CommunityEntityType, type CommunityFullDetail, type CommunityReportReason, type CommunitySort, type ComponentHandle, type ComponentMetadata, type ConnectedReference, type CreatureAttachColumn, CriticIssueSchema, type CustomEntry, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, type DetectionResult, DetectionResultSchema, type DialogueLine, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, type EntityKind, type EntityMetadata, EntityMetadataSchema, type EntityReferenceInput, type EntityRejectInput, EntityRejectInputSchema, type EntitySlot, type EntityStaleEvent, EntityStaleEventSchema, type EntityStateChangeEvent, EntityStateChangeEventSchema, type EntityStatus, type EntityStudioKind, type EntityStyle, type EntityType, type EvaluateConditionOptions, type ExportedPreset, type ExposableField, type ExposableOutput, type ExposedSetting, type ExtendVideoProvider, type ExtraRefCharacterContext, type ExtraRefInput, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_MODE_ADAPTIVE_ONLY_ASPECT, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, type FaceSwapProvider, type FavoriteListingResult, type FeaturedEntity, type FilmCreditEstimate, type FilterListCondition, type FilterListOperator, type FilterOperator, type FixContinuityInput, FixContinuityInputSchema, type FixContinuityResult, FixContinuityResultSchema, type Flux2Model, type FreecutExportCompletePayload, type FreecutExportProgressPayload, type FreecutImportFile, type FreecutRequestImportPayload, type FullSelectorMode, type Furniture, type FurnitureSubcategory, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_ANCHOR_CHOICES, GVP_DEFAULT_PROVIDER, GVP_END_FRAME_PROVIDERS, GVP_EXTEND_PROVIDERS, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, type GenerateMotionResult, GenerateMotionResultSchema, type GenericEdge, type GenericNode, type GvpAnchorChoice, type GvpAnchorWireMode, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, type HintEdgeLike, type HintGraphContext, type HintNodeLike, type I18nCatalogId, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, type IdentityFidelity, type IdentityMeta, type ImageCriticIssue, ImageCriticIssueSchema, type ImageCriticLeafMode, type ImageCriticMetadataKey, type ImageCriticMode, type ImageCriticNodeIssue, type ImageCriticResult, ImageCriticResultSchema, type ImageCriticVerdict, ImageCriticVerdictSchema, type ImageEditProvider, type ImageGenProvider, type ImageI2IProvider, type ImageMaskMode, type ImageToVideoProvider, type ImprovePromptInput, ImprovePromptInputSchema, type ImprovePromptResult, ImprovePromptResultSchema, type InputFieldSchema, type JsonEvalResult, type JsonFilter, type JsonPatch, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, type KieApiFormat, type KineticCaptionStyle, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LLM_VENDOR_LABELS, LLM_VENDOR_ORDER, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, type LabeledOption, type LipSyncDurationBucket, type LipSyncProvider, type LlmFeature, type LlmModelDef, type LlmModelGroup, type LlmReasoningEffort, type LlmRouteDefaults, type LlmTier, type LlmVendor, type LocaleCatalogMap, type LocaleDirection, type LocaleId, type LocationAssetType, type LocationAtmosphereProvider, type LocationAttachColumn, type LocationCatalogRef, type LocationImageCriticVerdict, LocationImageCriticVerdictSchema, type LocationMentionTokenInfo, LocationMetadataSchema, type LocationReferencePhotoKind, type LocationUsageMode, LocationsCoverageCriticIssueSchema, type LocationsCoverageCriticVerdict, LocationsCoverageCriticVerdictSchema, type LoopTrimEstimatorInput, type LoopVideoEstimatorInput, type LoraEligibleRef, type LoraRouting, type LottieOverlayCatalogEntry, type LottieSlotField, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MINIMAX_H3_DEFAULT_RESOLUTION, MINIMAX_H3_PROVIDERS, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_PARAM_NODE_TYPES, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, type MaskRegionDescriptor, type MatchCutVerdict, MatchCutVerdictSchema, type Member, type MinimalEdge, type MinimalNode, type ModelCatalogEntry, type ModelInputAdjustment, type ModelKind, type ModelMenuOption, type ModelMode, type ModelNodeTarget, type ModelPromptingStyle, type ModelRecommendation, type ModelTreeLine, type ModelTreeVariant, type ModelValidationIssue, type ModifyImageProvider, type MotionTransferProviderType, type MusicProvider, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, type NodaroLoadTimelinePayload, type NodaroLoadVideoPayload, type NodeDefaultType, type NodeParamAdjustment, type NodePresetExport, type NormalizedModelInput, type NormalizedNodes, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, type ObjectAspectRatio, type ObjectAssetType, type ObjectAssetTypeForAspect, type ObjectAttachColumn, ObjectMetadataSchema, type ObjectMotionProvider, type ObjectsValidationIssue, type ObjectsValidationResult, OptimizeForModelInputSchema, type OptimizeForModelResult, OptimizeForModelResultSchema, type OutputFormat, type OutputMode, type OutputType, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PAYG_RETENTION_DAYS, PER_FORMAT_DURATION_BOUNDS, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PRICING_DEFAULT_DURATION_SEC, PRICING_DEFAULT_RESOLUTION, PROMPT_HARD_CEILING, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, type PanelGenRequest, type PanelRequest, type PanelSource, type PipelineActivationMode, type PipelineCompletedEvent, PipelineCompletedEventSchema, type PipelineConfig, PipelineConfigSchema, type PipelineDriftSummary, PipelineDriftSummarySchema, type PipelineEditorDecisionsReadyEvent, PipelineEditorDecisionsReadyEventSchema, type PipelineEvent, type PipelineForkedEvent, PipelineForkedEventSchema, type PipelineFormat, type PipelineInput, PipelineInputSchema, type PipelineLifecycleEvent, type PipelineMode, type PipelineModelStage, type PipelineMusicReadyEvent, PipelineMusicReadyEventSchema, type PipelineOutputResolution, type PipelinePinnableImageModel, type PipelinePinnableScriptLlm, type PipelinePinnableVideoModel, type PipelineStageName, PipelineStageNameSchema, type PipelineStageStatus, PipelineStageStatusSchema, type PipelineState, PipelineStateSchema, type PipelineStatus, PipelineStatusSchema, type PipelineType, type PixelBox, type PresentationItem, type PresetEntry, type PriceVariant, type ProgressSegment, type ProposedChange, type PublishListingParams, type PublishListingResult, QA_CHECK_PROVIDERS, type QaCheckProvider, type QualityLevel, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, type ReduceMeta, type ReduceStrategy, type ReduceStrategyId, type RefCandidate, type RefModalityEdge, type ReferenceBoardProvider, type ReferenceModality, type ReferenceSheet, type ReferenceSource, type ReportListingResult, type ResolveCharacterAspectOptions, type ResolveObjectAspectOptions, type ResolveSeparatorOptions, type ResolvedDialogueVoiceLine, type RouterConditionGroup, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_5_REF_LIMITS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_MODELS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, type SceneData, type SceneHelperName, SceneHelperNameSchema, type SceneInputMode, SceneInputModeSchema, type SceneMetadata, SceneMetadataSchema, type SceneNodeData, SceneNodeDataSchema, SceneSpecSchema, type ScraperActorId, type ScriptCriticVerdict, ScriptCriticVerdictSchema, type ScriptProvider, type Season, type SectionKind, type SelectorConfig, type SelectorFields, type SelectorMode, type SelectorPredicateOp, type SelectorResult, type SemanticAspectRatio, type SeparatorPreset, type SharedListing, type SharedVoice, type SheetAspect, type SheetBackground, type SheetCostEstimate, type SheetEntry, type SheetFlavour, type SheetGenerationPlan, type SheetPreset, type SheetPresetId, type SheetSection, type SheetSkin, type SheetTextData, type SheetType, type ShotElement, type ShotImageElement, type ShotShapeElement, type ShotSpec, ShotSpecSchema, type ShotTextElement, type ShowrunnerPlan, ShowrunnerPlanSchema, type SidecarLoader, type SlotControlDescriptor, type SlotControlKind, type SlotVariation, type SocialMediaContentType, type SocialMediaPlatform, type SocialMediaSpec, type SortDirection, type SortListOptions, type SortType, type StageAwaitingSubGateEvent, StageAwaitingSubGateEventSchema, type StaticCaptionStyle, type StoryboardCohesionCriticVerdict, StoryboardCohesionCriticVerdictSchema, type StyleDirectives, StyleDirectivesSchema, type SubGateName, SubGateNameSchema, type SunoAddTrackModel, type SunoModel, type SupportedFontName, type SurroundDirection, type Swatch, T2I_TO_I2I_VARIANT, TASK_CHAINED_EDIT_PROVIDERS, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, type TextToAudioProvider, type TextToVideoProvider, type TranscribeProvider, type TransitionType, TransitionTypeSchema, type TrimVideoEstimatorInput, type TtsProvider, UPSCALE_IMAGE_PROVIDERS, USAGE_MODES, type UpscaleImageProvider, type UsageMode, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_STORY_JUMPS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TIMES_OF_DAY, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_AUDIT_BUCKET_CREDITS, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_PROVIDERS_WITHOUT_DISPATCH, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, type ValidateMatchCutInput, ValidateMatchCutInputSchema, type ValidateMatchCutResult, ValidateMatchCutResultSchema, type ValidationField, type Vehicle, type VehicleSubcategory, type VideoAnalysisEntitySource, type VideoAnalysisMixedTier, type VideoAnalysisModelTier, type VideoAnalysisResult, type VideoAnalysisShotAngle, type VideoAnalysisSpeedEffect, type VideoAnalysisTier, type VideoAnalysisTransition, type VideoAnalysisVisualEffect, type VideoAudioCapability, type VideoAudioMode, type VideoClipCost, type VideoCriticFrameMode, type VideoCriticMetadataKey, type VideoCriticShotFields, type VideoCriticVerdict, VideoCriticVerdictSchema, type VideoGenProvider, type VideoModeAlias, type VideoModelCapabilities, type VideoToVideoProvider, type VideoUpscaleProvider, type Voice, type VoiceChangerModel, type VoiceClone, type VoiceDesignModel, type VoiceLibraryParams, type VoiceLibraryResponse, type VoiceMatch, VoiceMatchSchema, type VoiceType, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, type Weapon, type WeaponSubcategory, type WindowAnalysis, type WindowScene, type WorkflowExport, type WorkflowExportCharacter, type WorkflowExportCreature, type WorkflowExportLocation, type WorkflowExportObject, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromAuditCreditId, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildSurroundFillPrompt, buildVideoAnalysisCreditId, buildVideoAuditCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, computeAggregateLanes, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultResolutionFor, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeNodeAdjustments, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, groupLlmModelsByVendor, hasContiguousSegmentDurations, hasFeature, hexToRgbaArray, humanizeSlotSid, imageReferenceLimit, inferMusicVideo, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isLocationUsageMode, isMinimaxH3Provider, isObjectAspectRatio, isOversizedScene, isPaygRetentionActive, isPerSecondLipSyncProvider, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, jsonResultToList, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, maxSegmentSecFor, maxSegmentsFor, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, minSegmentSecFor, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, normalizeLottieLayers, normalizeMinimaxH3Resolution, normalizeModelInput, normalizeNodeModelParams, normalizePinterestUrl, normalizeRoleSlug, orderedLlmModels, parseAttributedDialogue, parseCharacterMentionToken, parseGroupHandle, parseHandleId, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetDataMatches, presetEntries, qualityOptionsByKind, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerSidecarLoaders, renderAnalyzedScene, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEffectiveTier, resolveEntityAspect, resolveFieldMappings, resolveGvpAnchorWire, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSourceThroughConnectedList, resolveStoredTier, resolveSwitchXCreditId, resolveVideoAnalysisModel, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, runSelector, sanitizeRole, searchModelVariants, seedance2AudioLimitSec, segmentDurationsFor, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, settledWithLimit, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripExportContent, stripTransientRuntimeData, supportedDefaultDimensions, supportsAdvancedMode, supportsEndAnchor, supportsExtendRender, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoAuditCreditsForBucket, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };
10039
+ /**
10040
+ * Tag-free, policy-free wire shape for the `GET /v1/catalogs` projection — the
10041
+ * server-driven, pack-composed catalog view thin clients render their own
10042
+ * pickers from. This is the ONLY catalog-related type in `@nodaro/shared`
10043
+ * (Apache): catalog DATA stays in `@nodaro/prompts` (FSL), and the deferred
10044
+ * `CatalogPolicy` (tags / deny-by-tag / per-read-kind filter) is deliberately
10045
+ * NOT represented here — nothing tag- or policy-shaped may cross this boundary.
10046
+ */
10047
+ interface ProjectedCatalogOption {
10048
+ id: string;
10049
+ label: string;
10050
+ description?: string;
10051
+ category?: string;
10052
+ /** The prompt fragment this id injects downstream. Present only when detail="full". */
10053
+ promptHint?: string;
10054
+ /**
10055
+ * Short professional term injected by compact hint mode; `label` is for
10056
+ * display. Present at BOTH detail levels — a thin client renders `label`
10057
+ * and injects `term`. Empty for a no-op ("auto"/"none") entry that injects
10058
+ * nothing.
10059
+ */
10060
+ term?: string;
10061
+ icon?: string;
10062
+ }
10063
+ interface ProjectedCatalogDimension {
10064
+ field: string;
10065
+ label: string;
10066
+ options: ProjectedCatalogOption[];
10067
+ }
10068
+ interface ProjectedCatalog {
10069
+ nodeType: string;
10070
+ label: string;
10071
+ catalogId: string;
10072
+ kind: "single" | "multi";
10073
+ /** single only — the node-data field the chosen id writes to. */
10074
+ valueField?: string;
10075
+ defaultValue?: string;
10076
+ categoryOrder?: readonly string[];
10077
+ categoryLabels?: Readonly<Record<string, string>>;
10078
+ detail: "compact" | "full";
10079
+ /** single-dim catalogs. */
10080
+ options?: ProjectedCatalogOption[];
10081
+ /** multi-dim catalogs. */
10082
+ fields?: readonly string[];
10083
+ dimensions?: ProjectedCatalogDimension[];
10084
+ }
10085
+
10086
+ /**
10087
+ * Organizations — wire contract for the second tenancy axis
10088
+ * (Organization -> Workspace -> Member).
10089
+ *
10090
+ * Lives in @nodaro/shared because SDK/MCP consumers need these enums, the
10091
+ * request schemas the API validates, and the error codes it returns. This
10092
+ * package carries the CONTRACT ONLY — no resolution logic, no presets, no
10093
+ * vocabulary, no access rule. Those are server-side.
10094
+ */
10095
+ /**
10096
+ * Selects which workspace a request LISTS from and CREATES into. It never
10097
+ * authorizes: reading, updating, deleting or running an identified object is
10098
+ * decided by that object's own workspace, so a forgotten or forged header can
10099
+ * neither widen access nor move a charge.
10100
+ *
10101
+ * Fastify lower-cases incoming header keys, hence the second constant — read
10102
+ * `req.headers[WORKSPACE_HEADER_LOWER]`, send `WORKSPACE_HEADER`.
10103
+ */
10104
+ declare const WORKSPACE_HEADER = "X-Nodaro-Workspace";
10105
+ declare const WORKSPACE_HEADER_LOWER = "x-nodaro-workspace";
10106
+ declare const ORG_KINDS: readonly ["school", "team"];
10107
+ type OrgKind = (typeof ORG_KINDS)[number];
10108
+ declare const ORG_ROLES: readonly ["owner", "admin", "member"];
10109
+ type OrgRole = (typeof ORG_ROLES)[number];
10110
+ declare const WORKSPACE_ROLES: readonly ["admin", "member"];
10111
+ type WorkspaceRole = (typeof WORKSPACE_ROLES)[number];
10112
+ declare const MEMBER_STATUSES: readonly ["active", "suspended"];
10113
+ type MemberStatus = (typeof MEMBER_STATUSES)[number];
10114
+ /** `pending` = created, awaiting platform-admin approval. */
10115
+ declare const ORG_STATUSES: readonly ["pending", "active", "suspended", "deleted"];
10116
+ type OrgStatus = (typeof ORG_STATUSES)[number];
10117
+ /** An explicit per-workflow grant (works for personal workflows too). */
10118
+ declare const COLLABORATOR_ROLES: readonly ["editor", "viewer"];
10119
+ type CollaboratorRole = (typeof COLLABORATOR_ROLES)[number];
10120
+ declare const WORKFLOW_VISIBILITIES: readonly ["private", "workspace"];
10121
+ type WorkflowVisibility = (typeof WORKFLOW_VISIBILITIES)[number];
10122
+ /** What an identity may do with a workflow, strongest first. */
10123
+ declare const ACCESS_LEVELS: readonly ["own", "edit", "view", "none"];
10124
+ type AccessLevel = (typeof ACCESS_LEVELS)[number];
10125
+ /** The access a setting may grant to a non-creator. */
10126
+ declare const GRANTED_ACCESS: readonly ["view", "edit"];
10127
+ type GrantedAccess = (typeof GRANTED_ACCESS)[number];
10128
+ declare const SUBMISSION_STATUSES: readonly ["submitted", "in_review", "returned", "approved"];
10129
+ type SubmissionStatus = (typeof SUBMISSION_STATUSES)[number];
10130
+ /**
10131
+ * Error codes the organization endpoints add to the standard envelope
10132
+ * (`{ error: { code, message } }`). Clients dispatch on the code, never on
10133
+ * the message text.
10134
+ */
10135
+ declare const ORG_ERROR_CODES: readonly ["not_a_member", "insufficient_role", "org_not_active", "member_suspended", "workspace_archived", "personal_space_disabled", "token_workspace_mismatch", "run_requires_authenticated_member", "budget_exceeded", "member_cap_exceeded", "model_not_allowed", "invitation_expired", "invitation_revoked", "email_mismatch", "join_code_invalid", "domain_not_allowed", "already_started", "collab_unavailable", "terms_required", "not_org_member", "already_a_member", "owner_cannot_leave", "has_active_workspaces", "invitation_not_found", "invitation_accepted", "bulk_invite_cap_exceeded"];
10136
+ type OrgErrorCode = (typeof ORG_ERROR_CODES)[number];
10137
+ /**
10138
+ * The settings every organization kind has a default for. `organizations.
10139
+ * settings` and `workspaces.settings` store PARTIAL overrides of this shape;
10140
+ * `resolveEffectiveSettings` (./settings.ts) produces the full one.
10141
+ */
10142
+ declare const PresetSettingsSchema: z.ZodObject<{
10143
+ admin_access: z.ZodEnum<{
10144
+ edit: "edit";
10145
+ view: "view";
10146
+ }>;
10147
+ default_workflow_visibility: z.ZodEnum<{
10148
+ private: "private";
10149
+ workspace: "workspace";
10150
+ }>;
10151
+ member_access_to_shared: z.ZodEnum<{
10152
+ edit: "edit";
10153
+ view: "view";
10154
+ }>;
10155
+ members_can_create_projects: z.ZodBoolean;
10156
+ member_caps_enabled: z.ZodBoolean;
10157
+ personal_space_enabled: z.ZodBoolean;
10158
+ workspace_admins_can_invite: z.ZodBoolean;
10159
+ collaborators_can_invite: z.ZodBoolean;
10160
+ policy_survives_suspension: z.ZodBoolean;
10161
+ }, z.core.$strip>;
10162
+ type PresetSettings = z.infer<typeof PresetSettingsSchema>;
10163
+ type PresetSettingKey = keyof PresetSettings;
10164
+ declare const PRESET_SETTING_KEYS: readonly ("admin_access" | "default_workflow_visibility" | "member_access_to_shared" | "members_can_create_projects" | "member_caps_enabled" | "personal_space_enabled" | "workspace_admins_can_invite" | "collaborators_can_invite" | "policy_survives_suspension")[];
10165
+ /** `workspaces.settings` — per-workspace overrides only. */
10166
+ declare const WorkspaceSettingsSchema: z.ZodObject<{
10167
+ admin_access: z.ZodOptional<z.ZodEnum<{
10168
+ edit: "edit";
10169
+ view: "view";
10170
+ }>>;
10171
+ default_workflow_visibility: z.ZodOptional<z.ZodEnum<{
10172
+ private: "private";
10173
+ workspace: "workspace";
10174
+ }>>;
10175
+ member_access_to_shared: z.ZodOptional<z.ZodEnum<{
10176
+ edit: "edit";
10177
+ view: "view";
10178
+ }>>;
10179
+ members_can_create_projects: z.ZodOptional<z.ZodBoolean>;
10180
+ member_caps_enabled: z.ZodOptional<z.ZodBoolean>;
10181
+ personal_space_enabled: z.ZodOptional<z.ZodBoolean>;
10182
+ workspace_admins_can_invite: z.ZodOptional<z.ZodBoolean>;
10183
+ collaborators_can_invite: z.ZodOptional<z.ZodBoolean>;
10184
+ policy_survives_suspension: z.ZodOptional<z.ZodBoolean>;
10185
+ }, z.core.$strip>;
10186
+ type WorkspaceSettings = z.infer<typeof WorkspaceSettingsSchema>;
10187
+ /** `organizations.settings` — preset overrides plus org-only keys. */
10188
+ declare const OrgSettingsSchema: z.ZodObject<{
10189
+ admin_access: z.ZodOptional<z.ZodEnum<{
10190
+ edit: "edit";
10191
+ view: "view";
10192
+ }>>;
10193
+ default_workflow_visibility: z.ZodOptional<z.ZodEnum<{
10194
+ private: "private";
10195
+ workspace: "workspace";
10196
+ }>>;
10197
+ member_access_to_shared: z.ZodOptional<z.ZodEnum<{
10198
+ edit: "edit";
10199
+ view: "view";
10200
+ }>>;
10201
+ members_can_create_projects: z.ZodOptional<z.ZodBoolean>;
10202
+ member_caps_enabled: z.ZodOptional<z.ZodBoolean>;
10203
+ personal_space_enabled: z.ZodOptional<z.ZodBoolean>;
10204
+ workspace_admins_can_invite: z.ZodOptional<z.ZodBoolean>;
10205
+ collaborators_can_invite: z.ZodOptional<z.ZodBoolean>;
10206
+ policy_survives_suspension: z.ZodOptional<z.ZodBoolean>;
10207
+ allowed_email_domains: z.ZodOptional<z.ZodArray<z.ZodString>>;
10208
+ vocabulary_overrides: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
10209
+ }, z.core.$strip>;
10210
+ type OrgSettings = z.infer<typeof OrgSettingsSchema>;
10211
+
10212
+ /**
10213
+ * What the organization endpoints RETURN.
10214
+ *
10215
+ * `types.ts` carries what a client must send and the codes it must dispatch
10216
+ * on; this carries the other half of the same wire contract — the shapes that
10217
+ * come back. It lives here for the same reason: the SDK, the CLI, the app and
10218
+ * any third-party integration all read these, and a shape described in three
10219
+ * places is a shape that drifts in two of them.
10220
+ *
10221
+ * CONTRACT ONLY, like its sibling. There is no resolution logic here, no
10222
+ * access rule, no vocabulary — a view names fields, it does not decide who
10223
+ * may see them. Fields the server omits for a caller without the standing to
10224
+ * see them are OPTIONAL here rather than nullable: absent means "not for
10225
+ * you", `null` means "genuinely unset", and a client that cannot tell those
10226
+ * apart will render the wrong thing.
10227
+ */
10228
+ interface OrganizationView {
10229
+ id: string;
10230
+ slug: string;
10231
+ name: string;
10232
+ kind: OrgKind;
10233
+ status: OrgStatus;
10234
+ ownerUserId: string;
10235
+ settings: OrgSettings;
10236
+ termsAcceptedAt: string | null;
10237
+ createdAt: string;
10238
+ updatedAt: string;
10239
+ /** The CALLER's role. Absent on a read that did not establish membership. */
10240
+ role?: OrgRole;
10241
+ memberStatus?: MemberStatus;
10242
+ }
10243
+ interface OrgMemberView {
10244
+ userId: string;
10245
+ role: OrgRole;
10246
+ status: MemberStatus;
10247
+ joinedAt: string;
10248
+ email: string | null;
10249
+ displayName: string | null;
10250
+ avatarUrl: string | null;
10251
+ }
10252
+ interface WorkspaceView {
10253
+ id: string;
10254
+ orgId: string;
10255
+ name: string;
10256
+ slug: string;
10257
+ description: string | null;
10258
+ settings: WorkspaceSettings;
10259
+ defaultProjectId: string | null;
10260
+ archived: boolean;
10261
+ archivedAt: string | null;
10262
+ createdAt: string;
10263
+ updatedAt: string;
10264
+ /** The CALLER's role. Absent on a read that did not establish membership. */
10265
+ role?: WorkspaceRole;
10266
+ memberStatus?: MemberStatus;
10267
+ }
10268
+ interface WorkspaceMemberView {
10269
+ userId: string;
10270
+ role: WorkspaceRole;
10271
+ displayName: string | null;
10272
+ avatarUrl: string | null;
10273
+ addedAt: string;
10274
+ /** Workspace admins only — absent for a plain member's read. */
10275
+ status?: MemberStatus;
10276
+ creditCap?: number | null;
10277
+ }
10278
+ /** Where an invitation stands. `expired` is derived from `expiresAt`, not stored. */
10279
+ type InvitationState = "open" | "accepted" | "revoked" | "expired";
10280
+ interface InvitationView {
10281
+ id: string;
10282
+ orgId: string;
10283
+ workspaceId: string | null;
10284
+ email: string;
10285
+ orgRole: OrgRole;
10286
+ workspaceRole: WorkspaceRole | null;
10287
+ invitedBy: string | null;
10288
+ state: InvitationState;
10289
+ expiresAt: string;
10290
+ acceptedAt: string | null;
10291
+ revokedAt: string | null;
10292
+ createdAt: string;
10293
+ }
10294
+ /**
10295
+ * One row per address a create/resend was asked for.
10296
+ *
10297
+ * `link` is present whenever the address was NOT emailed — an install with no
10298
+ * mail provider, or a delivery that failed. A client MUST surface it: the
10299
+ * invitation exists either way, and without the link nobody can reach it.
10300
+ */
10301
+ interface InvitationDelivery {
10302
+ email: string;
10303
+ status: "sent" | "link_only" | "failed";
10304
+ link?: string;
10305
+ }
10306
+ /**
10307
+ * What an invitee sees BEFORE signing in — the one organization read that
10308
+ * needs no token. `email` comes back masked, so the invitee can recognise
10309
+ * their own address without the link disclosing it to whoever holds it.
10310
+ */
10311
+ interface InvitationPreview {
10312
+ orgName: string;
10313
+ kind: OrgKind;
10314
+ vocabulary: Record<string, string>;
10315
+ inviterName: string | null;
10316
+ workspaceName: string | null;
10317
+ email: string;
10318
+ expiresAt: string;
10319
+ state: InvitationState;
10320
+ }
10321
+ interface JoinCodeView {
10322
+ code: string;
10323
+ enabled: boolean;
10324
+ rotatedAt: string;
10325
+ rotatedBy: string | null;
10326
+ }
10327
+ /**
10328
+ * What `GET /v1/me` reports about the caller's memberships.
10329
+ *
10330
+ * Deliberately a SUMMARY, not the full views above: this is the payload every
10331
+ * client loads on every session start, and it answers one question — what am
10332
+ * I a member of, and what may I call each thing. Names, roles, and the
10333
+ * resolved vocabulary are here because a switcher cannot render without them;
10334
+ * descriptions, timestamps and default projects are not, because a switcher
10335
+ * never shows them and `GET /v1/orgs/:id` exists.
10336
+ *
10337
+ * The settings block is narrowed to the three keys a CLIENT can act on. The
10338
+ * rest of an organization's settings are enforced server-side, and shipping
10339
+ * them here would invite a client to enforce them badly.
10340
+ */
10341
+ interface OrganizationSummary {
10342
+ id: string;
10343
+ slug: string;
10344
+ name: string;
10345
+ kind: OrgKind;
10346
+ status: OrgStatus;
10347
+ /** The caller's own role and standing — always present in this payload. */
10348
+ role: OrgRole;
10349
+ memberStatus: MemberStatus;
10350
+ settings: {
10351
+ personal_space_enabled: boolean;
10352
+ allowed_email_domains: string[];
10353
+ vocabulary_overrides: Record<string, string>;
10354
+ };
10355
+ /** Resolved labels, so no client hard-codes "Class" or "Team". */
10356
+ vocabulary: Record<string, string>;
10357
+ }
10358
+ interface WorkspaceSummary {
10359
+ id: string;
10360
+ orgId: string;
10361
+ name: string;
10362
+ slug: string;
10363
+ role: WorkspaceRole;
10364
+ memberStatus: MemberStatus;
10365
+ archived: boolean;
10366
+ }
10367
+ /**
10368
+ * The organizations block on `GET /v1/me`.
10369
+ *
10370
+ * THREE distinct states, and a client that collapses them is wrong in a way
10371
+ * users feel: the fields ABSENT means this install has no organizations at
10372
+ * all; present and empty means the account belongs to none; and
10373
+ * `organizationsUnavailable` means the lookup FAILED — in which case a
10374
+ * client must KEEP whatever selection it already had, because telling someone
10375
+ * their school vanished during a cache blip is worse than a stale switcher.
10376
+ */
10377
+ interface MeOrganizations {
10378
+ organizations?: OrganizationSummary[];
10379
+ workspaces?: WorkspaceSummary[];
10380
+ lastWorkspaceId?: string | null;
10381
+ organizationsUnavailable?: boolean;
10382
+ }
10383
+ /**
10384
+ * One recorded action in an organization's audit log.
10385
+ *
10386
+ * `action` is an OPEN vocabulary and a client must not exhaust it: new
10387
+ * actions are added as the product grows, and a switch that throws on an
10388
+ * unknown one turns a new feature into a broken page. Render what you
10389
+ * recognise, fall back to the raw string for the rest.
10390
+ *
10391
+ * `actor` is null for anything the system did on nobody's behalf.
10392
+ */
10393
+ interface OrgAuditEntry {
10394
+ id: string;
10395
+ workspaceId: string | null;
10396
+ action: string;
10397
+ targetType: string | null;
10398
+ targetId: string | null;
10399
+ details: Record<string, unknown>;
10400
+ createdAt: string;
10401
+ actor: {
10402
+ userId: string;
10403
+ displayName: string | null;
10404
+ email: string | null;
10405
+ } | null;
10406
+ }
10407
+ /** A cursor-paged read. The cursor is part of the answer, not a side channel. */
10408
+ interface OrgPage<T> {
10409
+ data: T[];
10410
+ nextCursor: string | null;
10411
+ }
10412
+
10413
+ /**
10414
+ * Which DB columns of a saved entity land on its canvas node, per kind.
10415
+ *
10416
+ * Four surfaces copy an entity row onto a node: the browser's load-time
10417
+ * hydrator, the browser's library picker, the backend's run-time hydration, and
10418
+ * (indirectly) anything that reads a node expecting those fields to be there.
10419
+ * They used to be four hand-written lists, and they drifted exactly as you would
10420
+ * expect — the load-time hydrator covers `character` and nothing else, so an
10421
+ * object node bound by an agent stays media-less until someone rebinds it by
10422
+ * hand.
10423
+ *
10424
+ * This is the field NAMES only — the structural vocabulary. Merge behaviour
10425
+ * (defaults, `prev` fallbacks, type narrowing) stays with each caller, because
10426
+ * a browser node and a server row disagree about nulls and it is not worth
10427
+ * pretending otherwise.
10428
+ */
10429
+ /**
10430
+ * Every entity kind, in the order surfaces present them.
10431
+ *
10432
+ * The list is the invariant: `Record<EntityNodeKind, …>` makes the compiler
10433
+ * find every table below, every per-kind UI row in the `@` picker, and the
10434
+ * picker’s kind→query map. What the compiler cannot see — that the MCP read
10435
+ * tools for a kind exist and are reachable — is pinned by a test instead.
10436
+ *
10437
+ * Tool names are derivable from it too: `list_<kind>s` / `get_<kind>`.
10438
+ */
10439
+ declare const ENTITY_NODE_KINDS: readonly ["character", "object", "creature", "location"];
10440
+ type EntityNodeKind = (typeof ENTITY_NODE_KINDS)[number];
10441
+ /** The `data.*DbId` field that binds each entity node to its row. */
10442
+ declare const ENTITY_DB_ID_FIELD: Record<EntityNodeKind, string>;
10443
+ /** The `data.*Name` field each kind stores its display name under. */
10444
+ declare const ENTITY_NAME_FIELD: Record<EntityNodeKind, string>;
10445
+ /** Postgres table per kind. */
10446
+ declare const ENTITY_TABLE: Record<EntityNodeKind, string>;
10447
+ /**
10448
+ * `{name,url}[]` buckets per kind, as `[db_column, nodeField]`.
10449
+ *
10450
+ * These are what a generation actually consumes — the variant a prompt
10451
+ * `@mentions`, the extra references a user attaches. A node missing them is not
10452
+ * visibly broken; it just quietly generates the wrong picture.
10453
+ */
10454
+ declare const ENTITY_BUCKET_FIELDS: Record<EntityNodeKind, ReadonlyArray<readonly [string, string]>>;
10455
+ /**
10456
+ * Scalars every kind shares, as `[db_column, nodeField]`.
10457
+ *
10458
+ * `source_image_url` is the load-bearing one: the run engine reads
10459
+ * `defaultAssetUrl || sourceImageUrl` and SKIPS the reference entirely when
10460
+ * both are empty — no error, no warning, just a generation of the wrong
10461
+ * person. A node with an id but no image is the shape an agent produces.
10462
+ */
10463
+ declare const ENTITY_SCALAR_FIELDS: ReadonlyArray<readonly [string, string]>;
10464
+ /**
10465
+ * Scalars only SOME kinds have.
10466
+ *
10467
+ * `style_lock` looks shared and is not: characters never grew the column,
10468
+ * because a character's likeness is the lock. Selecting it from `characters`
10469
+ * anyway is a PostgREST error, which the run-time hydrator swallows by design
10470
+ * — so the whole kind would quietly stop hydrating and every test that mocks
10471
+ * the database would still pass. That is why the column lists are checked
10472
+ * against the migrations by `entity-hydration-columns.test.ts`.
10473
+ */
10474
+ declare const ENTITY_KIND_SCALAR_FIELDS: Record<EntityNodeKind, ReadonlyArray<readonly [string, string]>>;
10475
+ /** Every DB column a full hydration of `kind` reads. */
10476
+ declare function entityHydrationColumns(kind: EntityNodeKind): string[];
10477
+ /** Every scalar `kind` actually has, shared plus its own. */
10478
+ declare function entityScalarFields(kind: EntityNodeKind): ReadonlyArray<readonly [string, string]>;
10479
+
10480
+ export { ACCESS_LEVELS, ACTIVE_SCENE_HELPERS, ADVANCED_MODE_UNAVAILABLE_REASON, AGGREGATEABLE_TYPES, AGGREGATE_LANE_SOURCE_TYPES, AI_AVATAR_DURATION_BUCKETS, AI_AVATAR_MAX_AUDIO_SEC, AI_AVATAR_MAX_DURATION_SEC, AI_AVATAR_RESERVE_IDS, AI_WRITER_PROVIDERS, ALA_CARTE_BOARDS, ALL_CAPTION_STYLES, ANIMALS, ANIMAL_SUBCATEGORY_LABELS, ANIMAL_SUBCATEGORY_ORDER, ASPECT_RATIO_DIMENSIONS, AUDIO_ADDON_PROVIDERS, AUDIO_CROSSFADE_CURVES, AUDIO_CROSSFADE_CURVE_IDS, AUDIO_FX_PRESETS, AUDIO_FX_PRESET_LABELS, AUDIO_FX_PRESET_SET, AUDIO_FX_REVERB_PRESETS, AUDIO_PRODUCER_TYPES, type AccessLevel, type AddBRollResult, AddBRollResultSchema, type AggregateableType, type AggregationBuckets, type AiAvatarDurationBucket, type AiAvatarEngine, type AiAvatarResolution, type AiWriterProvider, type AlaCarteBoard, type AnalyzedScene, type AnchorSceneStyleResult, AnchorSceneStyleResultSchema, type Animal, type AnimalSubcategory, type AssetRef, AssetRefSchema, type AudioCrossfadeCurve, type AudioFxPreset, type AudioLayer, type AuditImagesResult, AuditImagesResultSchema, type AuditImagesShotEntry, AuditImagesShotEntrySchema, AuditPromptIssueSchema, type AuditPromptResult, AuditPromptResultSchema, AvatarPayloadError, BOARD_TO_ASSET_TYPE, BOARD_TO_COLUMN, BOARD_VARIANTS, type BoardEntityKind, type BoardPromptContext, type BoardTemplate, BridgeToNextSceneInputSchema, type BridgeToNextSceneResult, BridgeToNextSceneResultSchema, type BrowseCommunityParams, type BrowseCommunityResult, CATEGORY_DURATION_DEFAULTS, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_ASSET_TYPES, CHARACTER_ASSET_VARIANTS, CHARACTER_ATTACH_COLUMNS, CHARACTER_FACETS, CHARACTER_FACET_IDS, CHARACTER_LORA_TRAINING_JOB_TYPE, CHARACTER_MOTION_PROVIDERS, CHARACTER_PICKER_DISPLAY_ORDER, CHARACTER_REFERENCE_PHOTO_KINDS, CHARACTER_STYLES, CHARACTER_VARIANT_ASSET_BUCKETS, CHAT_ENABLED_STAGES, CHAT_STAGES, CHAT_TURN_CAPS, CHAT_WIRED_STAGES, CINEMATIC_DEFAULT_DURATION_SEC, CINEMATIC_DEFAULT_RESOLUTION, CINEMATIC_MAX_DURATION_SEC, CINEMATIC_MAX_LOOKS, CINEMATIC_MAX_REFERENCE_IMAGES, CINEMATIC_MAX_REFERENCE_VIDEOS, CINEMATIC_MIN_DURATION_SEC, CINEMATIC_MIN_LOOKS, CINEMATIC_PROMPT_MAX, CINEMATIC_RESERVE_IDS, COLLABORATOR_ROLES, COLLECT_IN_HANDLE, COMBINE_TRANSITIONS, COMBINE_TRANSITION_GROUP_LABELS, COMBINE_TRANSITION_GROUP_ORDER, COMBINE_TRANSITION_IDS, COMPOSER_PLAN_FIELDS, COMPOSER_PLAN_MAP, CONTENT_TYPES_BY_PLATFORM, CREATURE_ATTACH_COLUMNS, CREDIT_BASE_USD, CREDIT_ROUNDING_RESOLUTION, type CaptionStyle, type CastCoverageCriticVerdict, CastCoverageCriticVerdictSchema, type CharacterAspectRatio, type CharacterAssetType, type CharacterAssetTypeForAspect, type CharacterAttachColumn, type CharacterDef, type CharacterFacet, type CharacterImageCriticVerdict, CharacterImageCriticVerdictSchema, type CharacterLoraFields, type CharacterMentionTokenInfo, CharacterMetadataSchema, type CharacterMotionProvider, type CharacterReferencePhoto, type CharacterReferencePhotoKind, type CharacterVariantAssetBucket, type CharacterVariantAssetItem, type CharacterVoiceSpec, type ChatEnabledStage, type ChatTurnResponse, ChatTurnResponseSchema, type CinematicResolution, type ClipLook, type CloneListingResult, type CollaboratorRole, type CombineTransition, type CombineTransitionGroup, type CombineVideosEstimatorInput, type CommunityCard, type CommunityEntityType, type CommunityFullDetail, type CommunityReportReason, type CommunitySort, type ComponentHandle, type ComponentMetadata, type ConnectedReference, type CreatureAttachColumn, CriticIssueSchema, type CustomEntry, DEFAULT_AUDIO_CROSSFADE_CURVE_ID, DEFAULT_CARRIED_FRACTION, DEFAULT_CHARACTER_ANGLE_COUNT, DEFAULT_CHARACTER_EXPRESSION_COUNT, DEFAULT_CHARACTER_FACET, DEFAULT_LABEL_BY_SOURCE, DEFAULT_LOCATION_USAGE_MODE, DEFAULT_PANEL_COUNT, DEFAULT_REF_IMAGE_MAX, DEFAULT_SECTIONS, DEFAULT_USAGE_MODE, DEFAULT_VIDEO_ANALYSIS_MODEL, DEFAULT_VIDEO_ANALYSIS_TIER, DEFAULT_VIDEO_CLIP_COST, DEFAULT_VIDEO_DURATION_SEC, DEFAULT_VIDEO_PROVIDER, DEFAULT_VOICE_CHANGER_MODEL, DEFAULT_VOICE_DESIGN_MODEL, DETAIL_VARIANTS, DURATION_PRICED_PROVIDERS, DYNAMIC_PRODUCER_TYPES, type DetectionResult, DetectionResultSchema, type DialogueLine, EFFORT_TIER_BUMP, EMOTIONAL_BEAT, ENTITY_ASPECT_DEFAULTS, ENTITY_BUCKET_FIELDS, ENTITY_DB_ID_FIELD, ENTITY_IMAGE_HANDLE_TYPES, ENTITY_KIND_SCALAR_FIELDS, ENTITY_NAME_FIELD, ENTITY_NODE_KINDS, ENTITY_SCALAR_FIELDS, ENTITY_SECTIONS, ENTITY_STATUSES, ENTITY_TABLE, ENTITY_TOOL_RETRY_CAP, ENTITY_TYPES, EXECUTION_DATA_KEYS, EXTEND_VIDEO_PROVIDERS, type EntityKind, type EntityMetadata, EntityMetadataSchema, type EntityNodeKind, type EntityReferenceInput, type EntityRejectInput, EntityRejectInputSchema, type EntitySlot, type EntityStaleEvent, EntityStaleEventSchema, type EntityStateChangeEvent, EntityStateChangeEventSchema, type EntityStatus, type EntityStudioKind, type EntityStyle, type EntityType, type EvaluateConditionOptions, type ExportedPreset, type ExposableField, type ExposableOutput, type ExposedSetting, type ExtendVideoProvider, type ExtraRefCharacterContext, type ExtraRefInput, FACE_SWAP_PROVIDERS, FAL_LIP_SYNC_PROVIDERS, FAN_OUT_EACH_TYPES, FEATURED_ENTITIES, FILM_BASE_CREDITS, FLEXIBLE_INPUT_LIP_SYNC_PROVIDERS, FLUX2_RES_MP, FLUX_LORA_CHARACTER_MODEL_ID, FRAME_MODE_ADAPTIVE_ONLY_ASPECT, FRAME_TARGET_HANDLES, FREECUT_EXPORT_COMPLETE, FREECUT_EXPORT_PROGRESS, FREECUT_READY, FREECUT_REQUEST_IMPORT, FURNITURE, FURNITURE_SUBCATEGORY_LABELS, FURNITURE_SUBCATEGORY_ORDER, type FaceSwapProvider, type FavoriteListingResult, type FeaturedEntity, type FilmCreditEstimate, type FilterListCondition, type FilterListOperator, type FilterOperator, type FixContinuityInput, FixContinuityInputSchema, type FixContinuityResult, FixContinuityResultSchema, type Flux2Model, type FreecutExportCompletePayload, type FreecutExportProgressPayload, type FreecutImportFile, type FreecutRequestImportPayload, type FullSelectorMode, type Furniture, type FurnitureSubcategory, GENERATE_TEXT_DELIMITER, GLOBAL_MAX_DURATION_SECONDS, GRANTED_ACCESS, GROUP_HANDLE_PREFIX, GUIDANCE_SCALE_SUPPORT, GVP_ANCHOR_CHOICES, GVP_DEFAULT_PROVIDER, GVP_END_FRAME_PROVIDERS, GVP_EXTEND_PROVIDERS, GVP_SUPPORTED_PROVIDERS, GenerateMotionInputSchema, type GenerateMotionResult, GenerateMotionResultSchema, type GenericEdge, type GenericNode, type GrantedAccess, type GvpAnchorChoice, type GvpAnchorWireMode, HANDLE_PORT_SEPARATOR, HELPERS_SHIPPED_IN_1B3, HIGH_QUALITY_PROVIDERS, HINT_EXEMPT_PARAMETER_TYPES, type HintEdgeLike, type HintGraphContext, type HintNodeLike, type I18nCatalogId, I2I_MASK_SUPPORT, I2I_STRENGTH_SUPPORT, IDEOGRAM_PROVIDERS, IMAGE_CRITIC_LEAF_MODES, IMAGE_CRITIC_MAX_RETRIES, IMAGE_CRITIC_METADATA_KEYS, IMAGE_CRITIC_MIN_ADHERENCE_SCORE, IMAGE_CRITIC_MODES, IMAGE_CRITIC_UNRESOLVABLE, IMAGE_EDIT_PROVIDERS, IMAGE_GEN_PROVIDERS, IMAGE_I2I_PROVIDERS, IMAGE_MASK_MODE, IMAGE_PROMPT_MAX, IMAGE_REF_TYPES, IMAGE_TO_VIDEO_PROVIDERS, INPUT_FIELD_MAP, INPUT_NODE_TYPES, INSTAGRAM_CAROUSEL_MAX_ITEMS, INSTAGRAM_CAROUSEL_MIN_ITEMS, ITER_CLONE_PATTERN, type IdentityFidelity, type IdentityMeta, type ImageCriticIssue, ImageCriticIssueSchema, type ImageCriticLeafMode, type ImageCriticMetadataKey, type ImageCriticMode, type ImageCriticNodeIssue, type ImageCriticResult, ImageCriticResultSchema, type ImageCriticVerdict, ImageCriticVerdictSchema, type ImageEditProvider, type ImageGenProvider, type ImageI2IProvider, type ImageMaskMode, type ImageToVideoProvider, type ImprovePromptInput, ImprovePromptInputSchema, type ImprovePromptResult, ImprovePromptResultSchema, type InputFieldSchema, type InvitationDelivery, type InvitationPreview, type InvitationState, type InvitationView, type JoinCodeView, type JsonEvalResult, type JsonFilter, type JsonPatch, KEYFRAME_CREDITS_PER_SHOT, KINETIC_CAPTION_STYLES, type KieApiFormat, type KineticCaptionStyle, LANGUAGES, LEGACY_LOTTIE_HOST_REMAP, LIP_SYNC_DURATION_BUCKETS, LIP_SYNC_MAX_AUDIO_SECONDS, LIP_SYNC_PROVIDERS, LLM_FEATURE_DEFAULTS, LLM_MODALITY_CAPS, LLM_MODELS, LLM_MODEL_IDS, LLM_REASONING_EFFORTS, LLM_ROUTE_DEFAULTS, LLM_TEXT_INPUT_MAX, LLM_VENDOR_LABELS, LLM_VENDOR_ORDER, LOCATION_ASSET_TYPES, LOCATION_ASSET_VARIANTS, LOCATION_ATMOSPHERE_PROVIDERS, LOCATION_ATTACH_COLUMNS, LOCATION_BUCKET_TO_CATALOG_ID, LOCATION_PRESET_TO_CATALOG, LOCATION_REFERENCE_PHOTO_KINDS, LOCATION_REFERENCE_PHOTO_KIND_LABELS, LOCATION_USAGE_MODES, LOTTIE_OVERLAY_CATALOG, LOTTIE_SLOT_FIELD_PREFIX, type LabeledOption, type LipSyncDurationBucket, type LipSyncProvider, type LlmFeature, type LlmModelDef, type LlmModelGroup, type LlmReasoningEffort, type LlmRouteDefaults, type LlmTier, type LlmVendor, type LocaleCatalogMap, type LocaleDirection, type LocaleId, type LocationAssetType, type LocationAtmosphereProvider, type LocationAttachColumn, type LocationCatalogRef, type LocationImageCriticVerdict, LocationImageCriticVerdictSchema, type LocationMentionTokenInfo, LocationMetadataSchema, type LocationReferencePhotoKind, type LocationUsageMode, LocationsCoverageCriticIssueSchema, type LocationsCoverageCriticVerdict, LocationsCoverageCriticVerdictSchema, type LoopTrimEstimatorInput, type LoopVideoEstimatorInput, type LoraEligibleRef, type LoraRouting, type LottieOverlayCatalogEntry, type LottieSlotField, MAX_CUSTOM_ENTRIES_PER_BOARD, MAX_IMAGE_PROMPT_CHARS_BY_PROVIDER, MAX_LOCATION_VARIANTS, MAX_NEGATIVE_PROMPT_CHARS_BY_PROVIDER, MAX_PANELS_PER_SHEET, MAX_TTS_CHARS_BY_PROVIDER, MAX_VIDEO_PROMPT_CHARS_BY_PROVIDER, MEMBER_STATUSES, MINIMAX_H3_DEFAULT_RESOLUTION, MINIMAX_H3_PROVIDERS, MODELS_WITH_REFERENCE_IMAGE_SUPPORT, MODEL_CATALOG, MODEL_PARAM_NODE_TYPES, MODEL_RECOMMENDATIONS, MODIFY_IMAGE_PROVIDERS, MOTION_COLUMN, MOTION_TRANSFER_PROVIDERS, MUSIC_PROVIDERS, type MaskRegionDescriptor, type MatchCutVerdict, MatchCutVerdictSchema, type MeOrganizations, type Member, type MemberStatus, type MinimalEdge, type MinimalNode, type ModelCatalogEntry, type ModelInputAdjustment, type ModelKind, type ModelMenuOption, type ModelMode, type ModelNodeTarget, type ModelPromptingStyle, type ModelRecommendation, type ModelTreeLine, type ModelTreeVariant, type ModelValidationIssue, type ModifyImageProvider, type MotionTransferProviderType, type MusicProvider, NATIVE_ADAPTIVE_ASPECT, NATIVE_NEGATIVE_PROMPT_MODELS, NATIVE_NEGATIVE_VIDEO_PROVIDERS, NEGATIVE_PROMPT_MAX, NODARO_IMPORT_FILES, NODARO_LOAD_TIMELINE, NODARO_LOAD_VIDEO, NODARO_RESET_PROJECT, NODE_DEFAULT_TYPES, NODE_MAPPABLE_FIELDS, NODE_PRESET_EXPORT_KIND, NODE_REF_PATTERN, NON_EN_LOCALE_IDS, NO_SPLIT_DELIMITER, type NodaroLoadTimelinePayload, type NodaroLoadVideoPayload, type NodeDefaultType, type NodeParamAdjustment, type NodePresetExport, type NormalizedModelInput, type NormalizedNodes, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ASSET_VARIANTS, OBJECT_ATTACH_COLUMNS, OBJECT_MOTION_PROVIDERS, OBJECT_PICKER_NODE_TYPES, ORG_ERROR_CODES, ORG_KINDS, ORG_ROLES, ORG_STATUSES, OUTPUT_FIELD_MAP, OUTPUT_FORMATS, type ObjectAspectRatio, type ObjectAssetType, type ObjectAssetTypeForAspect, type ObjectAttachColumn, ObjectMetadataSchema, type ObjectMotionProvider, type ObjectsValidationIssue, type ObjectsValidationResult, OptimizeForModelInputSchema, type OptimizeForModelResult, OptimizeForModelResultSchema, type OrgAuditEntry, type OrgErrorCode, type OrgKind, type OrgMemberView, type OrgPage, type OrgRole, type OrgSettings, OrgSettingsSchema, type OrgStatus, type OrganizationSummary, type OrganizationView, type OutputFormat, type OutputMode, type OutputType, PARAMETER_NODE_TYPES, PASSTHROUGH_TYPES, PAYG_RETENTION_DAYS, PER_FORMAT_DURATION_BOUNDS, PICKER_TO_COMBINE_TRANSITION, PIPELINE_ACTIVATION_MODES, PIPELINE_FORMATS, PIPELINE_HARD_TIMEOUT_MS, PIPELINE_MODEL_STAGES, PIPELINE_MODES, PIPELINE_OUTPUT_RESOLUTIONS, PIPELINE_PINNABLE_IMAGE_MODELS, PIPELINE_PINNABLE_SCRIPT_LLMS, PIPELINE_PINNABLE_VIDEO_MODELS, PIPELINE_STAGE_NAMES, PIPELINE_STAGE_TIMEOUT_MS, PIPELINE_TYPES, PLACEHOLDER_CHARACTER_NAME, PLATFORM_LABELS, PLATFORM_SPECS, PRESET_APPLY_CLEAR_KEYS, PRESET_EXCLUDED_KEYS, PRESET_LABELS, PRESET_SETTING_KEYS, PRICING_DEFAULT_DURATION_SEC, PRICING_DEFAULT_RESOLUTION, PROMPT_HARD_CEILING, PROVIDER_DIRECTIVE_DEFAULTS, PROVIDER_PLACEHOLDER_PREFIX, type PanelGenRequest, type PanelRequest, type PanelSource, type PipelineActivationMode, type PipelineCompletedEvent, PipelineCompletedEventSchema, type PipelineConfig, PipelineConfigSchema, type PipelineDriftSummary, PipelineDriftSummarySchema, type PipelineEditorDecisionsReadyEvent, PipelineEditorDecisionsReadyEventSchema, type PipelineEvent, type PipelineForkedEvent, PipelineForkedEventSchema, type PipelineFormat, type PipelineInput, PipelineInputSchema, type PipelineLifecycleEvent, type PipelineMode, type PipelineModelStage, type PipelineMusicReadyEvent, PipelineMusicReadyEventSchema, type PipelineOutputResolution, type PipelinePinnableImageModel, type PipelinePinnableScriptLlm, type PipelinePinnableVideoModel, type PipelineStageName, PipelineStageNameSchema, type PipelineStageStatus, PipelineStageStatusSchema, type PipelineState, PipelineStateSchema, type PipelineStatus, PipelineStatusSchema, type PipelineType, type PixelBox, type PresentationItem, type PresetEntry, type PresetSettingKey, type PresetSettings, PresetSettingsSchema, type PriceVariant, type ProgressSegment, type ProjectedCatalog, type ProjectedCatalogDimension, type ProjectedCatalogOption, type ProposedChange, type PublishListingParams, type PublishListingResult, QA_CHECK_PROVIDERS, type QaCheckProvider, type QualityLevel, REDUCE_STRATEGIES, REDUCE_STRATEGY_IDS, REFERENCE_BOARD_PROVIDERS, REFERENCE_BOARD_TEMPLATES, REFERENCE_HANDLE_MAP, REFERENCE_ROLE_PRESETS, REF_HANDLE_CATEGORY, REF_IMAGE_MAX_LIMITS, RENDERING_SPEED_SUPPORT, REPEATABLE_NODE_TYPES, REPEAT_PLACEHOLDER, REPLICATE_LIP_SYNC_PROVIDERS, RESERVED_TEMPLATE_VARS, type ReduceMeta, type ReduceStrategy, type ReduceStrategyId, type RefCandidate, type RefModalityEdge, type ReferenceBoardProvider, type ReferenceModality, type ReferenceSheet, type ReferenceSource, type ReportListingResult, type ResolveCharacterAspectOptions, type ResolveObjectAspectOptions, type ResolveSeparatorOptions, type ResolvedDialogueVoiceLine, type RouterConditionGroup, SCENE_HELPER_NAMES, SCRAPER_ACTOR_LABELS, SCRAPER_CREDIT_COSTS, SCRAPER_OUTPUT_FIELDS, SCRIPT_PROVIDERS, SEASONS, SECTION_BOARD, SECTION_KINDS, SEEDANCE_2_5_REF_LIMITS, SEEDANCE_2_CONTINUATION_REF_SEC, SEEDANCE_2_EXTEND_STITCH, SEEDANCE_2_PROVIDERS, SEEDANCE_2_R2V_MAX_AUDIO_SEC_BY_PROVIDER, SEEDANCE_2_R2V_MIN_REF_VIDEO_SEC, SEEDANCE_2_REF_LIMITS, SEEDANCE_LIP_SYNC_PROVIDERS, SEED_SUPPORT, SEPARATOR_DISPLAY, SEPARATOR_PRESETS, SHEET_ASPECTS, SHEET_BACKGROUNDS, SHEET_PRESETS, SHEET_SKINS, SHEET_TYPES, SHORT_FILM_ANGLE_COUNT, SHORT_FILM_EXPRESSION_COUNT, SHORT_FILM_VARIANT_THRESHOLD_SEC, SLOT_TOKEN_RE, SMART_CUT_WINDOW_DEFAULT, SMART_CUT_WINDOW_MAX, SMART_CUT_WINDOW_MIN, SOCIAL_POST_NODE_TYPES, STAGE_PATCH_SCHEMA, STATIC_CAPTION_STYLES, STRUCTURAL_SECTIONS, STRUCTURED_VISION_MODELS, SUBMISSION_STATUSES, SUNO_ADD_TRACK_MODELS, SUNO_FIELD_HANDLE_FIELDS, SUNO_MODELS, SUNO_TEXT_MAX, SUNO_TITLE_MAX, SUNO_TRACK_SOURCE_TYPES, SUPPORTED_FONT_NAMES, SURROUND_DIRECTIONS, SWITCHX_BLOCK_FRAMES, SWITCHX_FRAME_TIERS, type SceneData, type SceneHelperName, SceneHelperNameSchema, type SceneInputMode, SceneInputModeSchema, type SceneMetadata, SceneMetadataSchema, type SceneNodeData, SceneNodeDataSchema, SceneSpecSchema, type ScraperActorId, type ScriptCriticVerdict, ScriptCriticVerdictSchema, type ScriptProvider, type Season, type SectionKind, type SelectorConfig, type SelectorFields, type SelectorMode, type SelectorPredicateOp, type SelectorResult, type SemanticAspectRatio, type SeparatorPreset, type SharedListing, type SharedVoice, type SheetAspect, type SheetBackground, type SheetCostEstimate, type SheetEntry, type SheetFlavour, type SheetGenerationPlan, type SheetPreset, type SheetPresetId, type SheetSection, type SheetSkin, type SheetTextData, type SheetType, type ShotElement, type ShotImageElement, type ShotShapeElement, type ShotSpec, ShotSpecSchema, type ShotTextElement, type ShowrunnerPlan, ShowrunnerPlanSchema, type SidecarLoader, type SlotControlDescriptor, type SlotControlKind, type SlotVariation, type SocialMediaContentType, type SocialMediaPlatform, type SocialMediaSpec, type SortDirection, type SortListOptions, type SortType, type StageAwaitingSubGateEvent, StageAwaitingSubGateEventSchema, type StaticCaptionStyle, type StoryboardCohesionCriticVerdict, StoryboardCohesionCriticVerdictSchema, type StyleDirectives, StyleDirectivesSchema, type SubGateName, SubGateNameSchema, type SubmissionStatus, type SunoAddTrackModel, type SunoModel, type SupportedFontName, type SurroundDirection, type Swatch, T2I_TO_I2I_VARIANT, TASK_CHAINED_EDIT_PROVIDERS, TEXT_TO_AUDIO_PROVIDERS, TEXT_TO_VIDEO_PROVIDERS, TIER_MAX_PIPELINE_COST_CREDITS, TIER_PIPELINE_PARALLELISM, TILT_CARRIED_FRACTION, TRANSCRIBE_PROVIDERS, TRANSIENT_RUNTIME_KEYS, TTS_PROVIDERS, TTS_TEXT_MAX, TWO_K_RESOLUTION_PROVIDERS, type TextToAudioProvider, type TextToVideoProvider, type TranscribeProvider, type TransitionType, TransitionTypeSchema, type TrimVideoEstimatorInput, type TtsProvider, UPSCALE_IMAGE_PROVIDERS, USAGE_MODES, type UpscaleImageProvider, type UsageMode, VARIABLES_HANDLE_ID, VARIABLE_PRICING_MODELS, VEHICLES, VEHICLE_SUBCATEGORY_LABELS, VEHICLE_SUBCATEGORY_ORDER, VEO_PROVIDERS, VIDEO_ANALYSIS_BUCKET_CREDITS, VIDEO_ANALYSIS_DEFAULT_VARIATION, VIDEO_ANALYSIS_DURATION_BUCKETS, VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC, VIDEO_ANALYSIS_ENTITY_SOURCES, VIDEO_ANALYSIS_FACELESS_ANGLES, VIDEO_ANALYSIS_LEGACY_MODELS, VIDEO_ANALYSIS_LLM_MODELS, VIDEO_ANALYSIS_MAX_DURATION_SEC, VIDEO_ANALYSIS_MAX_SCENE_SEC, VIDEO_ANALYSIS_MAX_VARIATIONS, VIDEO_ANALYSIS_MIXED_TIERS, VIDEO_ANALYSIS_SHOT_ANGLES, VIDEO_ANALYSIS_SPEED_EFFECTS, VIDEO_ANALYSIS_STORY_JUMPS, VIDEO_ANALYSIS_TIERS, VIDEO_ANALYSIS_TIER_LABELS, VIDEO_ANALYSIS_TIER_ORDER, VIDEO_ANALYSIS_TIMES_OF_DAY, VIDEO_ANALYSIS_TRANSITIONS, VIDEO_ANALYSIS_VARIATION_SLUGS, VIDEO_ANALYSIS_VISUAL_EFFECTS, VIDEO_ANALYSIS_WINDOW, VIDEO_AUDIO_CAPABILITY, VIDEO_AUDIT_BUCKET_CREDITS, VIDEO_CLIP_CREDITS, VIDEO_CRITIC_CREDITS_PER_SHOT, VIDEO_CRITIC_FRAME_MODES, VIDEO_CRITIC_MAX_RETRIES, VIDEO_CRITIC_METADATA_KEYS, VIDEO_CRITIC_MIN_ADHERENCE_SCORE, VIDEO_DURATION_TIERS, VIDEO_GEN_COLLAPSED_T2V_IDS, VIDEO_GEN_PROVIDERS, VIDEO_INPUT_LIP_SYNC_PROVIDERS, VIDEO_MODEL_CAPS, VIDEO_MODE_ALIASES, VIDEO_PRODUCER_TYPES, VIDEO_PROMPT_MAX, VIDEO_PROVIDERS_REQUIRING_IMAGE, VIDEO_PROVIDERS_WITHOUT_DISPATCH, VIDEO_REF_LIMITS_BY_PROVIDER, VIDEO_TO_VIDEO_PROVIDERS, VIDEO_UPSCALE_PROVIDERS, VIDEO_UTIL_PRICING, VIDEO_VARIABLE_PRICING, VOICE_CHANGER_MODELS, VOICE_CHANGER_MODEL_IDS, VOICE_DESIGN_MODELS, type ValidateMatchCutInput, ValidateMatchCutInputSchema, type ValidateMatchCutResult, ValidateMatchCutResultSchema, type ValidationField, type Vehicle, type VehicleSubcategory, type VideoAnalysisEntitySource, type VideoAnalysisMixedTier, type VideoAnalysisModelTier, type VideoAnalysisResult, type VideoAnalysisShotAngle, type VideoAnalysisSpeedEffect, type VideoAnalysisTier, type VideoAnalysisTransition, type VideoAnalysisVisualEffect, type VideoAudioCapability, type VideoAudioMode, type VideoClipCost, type VideoCriticFrameMode, type VideoCriticMetadataKey, type VideoCriticShotFields, type VideoCriticVerdict, VideoCriticVerdictSchema, type VideoGenProvider, type VideoModeAlias, type VideoModelCapabilities, type VideoToVideoProvider, type VideoUpscaleProvider, type Voice, type VoiceChangerModel, type VoiceClone, type VoiceDesignModel, type VoiceLibraryParams, type VoiceLibraryResponse, type VoiceMatch, VoiceMatchSchema, type VoiceType, WARDROBE_VARIANTS, WEAPONS, WEAPON_SUBCATEGORY_LABELS, WEAPON_SUBCATEGORY_ORDER, WORKFLOW_VISIBILITIES, WORKSPACE_HEADER, WORKSPACE_HEADER_LOWER, WORKSPACE_ROLES, type Weapon, type WeaponSubcategory, type WindowAnalysis, type WindowScene, type WorkflowExport, type WorkflowExportCharacter, type WorkflowExportCreature, type WorkflowExportLocation, type WorkflowExportObject, type WorkflowImportReport, type WorkflowMediaRef, type WorkflowPortability, type WorkflowVisibility, type WorkspaceMemberView, type WorkspaceRole, type WorkspaceSettings, WorkspaceSettingsSchema, type WorkspaceSummary, type WorkspaceView, aggregateByType, aiAvatarReserveCreditId, analyzedSceneSchema, applyDefaultVideoSelection, applyHandleInputOverride, applyRange, applyRangeIndices, applySlots, applyVideoAudioToggle, applyVideoNegativePrompt, aspectRatioFromDims, aspectRatioOptionsByKind, aspectRatioToNumber, assembleNarratedVideoCredits, availableReasoningEfforts, bucketSecondsFromAuditCreditId, bucketSecondsFromCreditId, buildBoardPrompt, buildChildrenByParent, buildConditionVariables, buildCreditModelIdentifier, buildExpressionFromVisual, buildLipSyncCreditId, buildLlmCreditIdentifier, buildModelMenu, buildModelTree, buildMotionCreditModelIdentifier, buildNodePresetExport, buildPanelPrompt, buildProgressSegments, buildRangeLabel, buildScraperCreditId, buildVideoAnalysisCreditId, buildVideoAuditCreditId, buildVideoCreditModelIdentifier, calculateCombinedProgress, calculateMonetizationMarkup, calculateMonetizedCost, calculateProgress, canonicalVarName, characterBoardItems, characterBucketDisplayRank, characterMentionSlug, characterMentionableAssetArrays, characterSheetRefItems, characterVariantAssetArrays, cinematicCreditId, clampCinematicDuration, clampSmartCutWindow, cleanOrphanedItems, clearImageCriticMetadata, clearVideoCriticMetadata, clipLookSchema, collectAncestorRefs, combineSameLabelRefs, computeAggregateLanes, countRefModalityEdges, creditRangesAll, creditsToUsd, decodeProviderItem, defaultCarriedFraction, defaultResolutionFor, defaultRoleForSource, defaultVideoAspectRatio, deriveLinkedFields, deriveLottieSlotFields, deriveSlotRefs, describeEdgeBehavior, describeMaskRegion, describeNodeAdjustments, describeSlotControl, dropUnknownBindings, dropUnknownSpeakers, durationsByMode, effectiveReasoningEffort, encodeProviderItem, ensureLocaleCatalogLoaded, entityHydrationColumns, entityScalarFields, entitySlotSchema, entryMatchesQuery, estimateCombineVideosCredits, estimateFilmCredits, estimateLoopTrimAddonCredits, estimateLoopVideoCredits, estimateScriptDurationSec, estimateSheetCost, estimateTrimVideoCredits, evaluateCondition, evaluateConditionGroup, evaluateJsonExpression, evaluateJsonPath, expandExtraRefsToConnectedReferences, expandItemsWithRepeat, extractAllGeneratedResults, extractCharacterLoraFields, extractGeneratedJsonAsList, extractPresetData, extractReferencedLabels, extractVideoDurationFromNode, fieldKeyFromHandle, filterCloneNodes, findCharacterMentionTokens, findLocationMentionTokens, findSeedance2AudioOverLimit, firstSightExtraRole, flattenItems, getAnimal, getAnimalLabel, getAspectRatioOptions, getAudioCrossfadeCurve, getCharacterFacet, getCombineTransition, getCreditRange, getDurationsForModel, getEffectiveRepeatCount, getFeaturedEntities, getFurniture, getFurnitureLabel, getInputFieldSchema, getInputNodes, getItemSortId, getLipSyncMaxAudioSeconds, getLlmModalityCaps, getLlmModel, getLlmTier, getLocaleDirection, getMaxImagePromptChars, getMaxNegativePromptChars, getMaxSunoPromptChars, getMaxSunoStyleChars, getMaxTtsChars, getMaxVideoPromptChars, getModel, getNodeLabel, getNodeResult, getOutputNodes, getOutputType, getParameterValue, getQualityOptions, getResolutionOptions, getRouteReachableNodeIds, getStrategy, getTargetField, getValidValues, getVehicle, getVehicleLabel, getVideoAudioCapability, getWeapon, getWeaponLabel, groupByFamily, groupHandleId, groupLlmModelsByVendor, hasContiguousSegmentDurations, hasFeature, hexToRgbaArray, humanizeSlotSid, imageReferenceLimit, inferMusicVideo, isAggregateableType, isCharacterAspectRatio, isCollectInEdge, isDefaultSelectorConfig, isExpandedClone, isFlux2Model, isGvpSupportedProvider, isHandleInputWired, isKineticCaptionStyle, isLocationUsageMode, isMinimaxH3Provider, isObjectAspectRatio, isOversizedScene, isPaygRetentionActive, isPerSecondLipSyncProvider, isScraperActor, isSeedance2Provider, isTiltDirection, isUsageMode, isVeoProvider, isVideoAnalysisMixedTier, isVideoAnalysisTier, jsonResultToList, listBoardTemplates, listModels, listSlotSids, llmRouteDefaults, locationMentionSlug, locationReferencePhotoKindLabel, locationUsageModeLabel, mapAspectRatio, mapQuality, mapShotIntentToProviderDirectives, matchVariant, maxSegmentSecFor, maxSegmentsFor, mergeClipLook, mergeExposedSettings, migrateEdgeOutputMode, migrateToItems, minSegmentSecFor, modelIdsByKindMode, modelToNodeTarget, modelsForInputMode, modelsWithFeature, motionGraphicsFeature, normalizeLottieLayers, normalizeMinimaxH3Resolution, normalizeModelInput, normalizeNodeModelParams, normalizePinterestUrl, normalizeRoleSlug, orderedLlmModels, parseAttributedDialogue, parseCharacterMentionToken, parseGroupHandle, parseHandleId, parseListExpression, parseLocationMentionToken, parseNodePresetExport, parseNodeRef, pickAiAvatarBucket, pickIds, pickLipSyncBucket, pickSwitchXFrameTier, pickVideoAnalysisBucket, planSheetGeneration, planSheetPanels, preferredInputModeForModel, presentTypes, presetDataMatches, presetEntries, qualityOptionsByKind, refHandleCategory, referenceModalityForHandle, referenceSheetCreditId, registerCatalogSidecars, registerSidecarLoaders, renderAnalyzedScene, resetCatalogSidecars, resolutionOptionsByKind, resolveAiAvatarCreditId, resolveAudioCrossfadeCurve, resolveCharacterAspectRatio, resolveCinematicCreditId, resolveConditionValue, resolveDefaultRole, resolveDescription, resolveDialogueVoices, resolveEffectiveSourceType, resolveEffectiveTier, resolveEntityAspect, resolveFieldMappings, resolveGvpAnchorWire, resolveImageGenCreditIdentifier, resolveIndex, resolveLabel, resolveListExpression, resolveLlmCreditId, resolveLocationFields, resolveLocationPresetCatalog, resolveLottieOverlaySrc, resolveNodeRefs, resolveObjectAspectRatio, resolvePipelineModel, resolveRelativeWindowToken, resolveScraperCreditId, resolveSelectorRefs, resolveSeparator, resolveSheetSections, resolveSlideshowTransition, resolveSourceThroughConnectedList, resolveStoredTier, resolveSwitchXCreditId, resolveVideoAnalysisModel, resolveVideoModeForInputs, resolveVideoProviderForMode, resolveXfadeName, rewriteSceneBindings, rewriteSlotTokens, rewriteSpeakerSlots, rgbaArrayToHex, roleToPhrase, runSelector, sanitizeRole, searchModelVariants, seedance2AudioLimitSec, segmentDurationsFor, selectByModulo, selectByNamedKey, selectByPredicate, selectListItems, selectLoraRoutingForMentions, selectRandom, setRegisteredPersonPackFields, settledWithLimit, slotVariationSchema, sortCharacterEntriesForDisplay, sortListItems, sourceRefKey, spliceDelimitedRows, splitByLoopDelimiter, splitGeneratedItems, spreadJsonArrayIfSingleton, stringifyPathResults, stripExportContent, stripTransientRuntimeData, supportedDefaultDimensions, supportsAdvancedMode, supportsEndAnchor, supportsExtendRender, toConnectedReference, toConnectedReferences, togglePick, tryParseJson, unwrapUnresolvedTokens, usageModeDirective, usageModeIncludesName, usageModeLabel, usdToCredits, validateAiAvatarPayload, validateCinematicAvatarPayload, validateDurationForFormat, validateModeActivation, validateModelInput, validateNoNestedGroups, validateObjects, validateProviderForNodeType, validateSubWorkflowRoutes, variantJobId, videoAnalysisCreditSegment, videoAnalysisNumWindows, videoAnalysisResultSchema, videoAuditCreditsForBucket, videoModelCanSpeakDialogue, videoModelSupportsAudio, videoProviderRequiresImage, windowAnalysisSchema, zipMergeLists };