@nodaro/shared 2.10.0 → 2.12.1

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 (46) hide show
  1. package/dist/index.cjs +142 -8
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +209 -1
  4. package/dist/index.d.ts +209 -1
  5. package/dist/index.js +129 -9
  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__/pack-sidecar-localization.test.ts +21 -0
  11. package/src/__tests__/parameter-node-value.test.ts +18 -1
  12. package/src/__tests__/resolve-pipeline-model.test.ts +4 -4
  13. package/src/__tests__/video-analysis-shot-craft.test.ts +38 -0
  14. package/src/animals.ts +10 -0
  15. package/src/catalog-projection.ts +48 -0
  16. package/src/entity-node-fields.ts +147 -0
  17. package/src/furniture.ts +10 -0
  18. package/src/i18n/framing.ar.ts +0 -1
  19. package/src/i18n/framing.de.ts +0 -1
  20. package/src/i18n/framing.es.ts +0 -1
  21. package/src/i18n/framing.fr.ts +0 -1
  22. package/src/i18n/framing.he.ts +0 -1
  23. package/src/i18n/framing.hi.ts +0 -1
  24. package/src/i18n/framing.ja.ts +0 -1
  25. package/src/i18n/framing.ko.ts +0 -1
  26. package/src/i18n/framing.pt-BR.ts +0 -1
  27. package/src/i18n/framing.ru.ts +0 -1
  28. package/src/i18n/framing.zh-CN.ts +0 -1
  29. package/src/i18n/index.ts +33 -3
  30. package/src/i18n/transitions.ar.ts +6 -0
  31. package/src/i18n/transitions.de.ts +6 -0
  32. package/src/i18n/transitions.es.ts +6 -0
  33. package/src/i18n/transitions.fr.ts +6 -0
  34. package/src/i18n/transitions.he.ts +6 -0
  35. package/src/i18n/transitions.hi.ts +6 -0
  36. package/src/i18n/transitions.ja.ts +6 -0
  37. package/src/i18n/transitions.ko.ts +6 -0
  38. package/src/i18n/transitions.pt-BR.ts +6 -0
  39. package/src/i18n/transitions.ru.ts +6 -0
  40. package/src/i18n/transitions.zh-CN.ts +6 -0
  41. package/src/index.ts +19 -0
  42. package/src/parameter-node-value.ts +23 -3
  43. package/src/producer-types.ts +4 -0
  44. package/src/vehicles.ts +11 -1
  45. package/src/video-analysis.ts +21 -0
  46. package/src/weapons.ts +11 -1
package/dist/index.cjs CHANGED
@@ -7016,6 +7016,10 @@ var HINT_EXEMPT_PARAMETER_TYPES = /* @__PURE__ */ new Set([
7016
7016
  "duration",
7017
7017
  "aspect-ratio"
7018
7018
  ]);
7019
+ var registeredPersonPackFields = [];
7020
+ function setRegisteredPersonPackFields(fields) {
7021
+ registeredPersonPackFields = [...fields];
7022
+ }
7019
7023
  function getParameterValue(data, nodeType) {
7020
7024
  switch (nodeType) {
7021
7025
  case "text-prompt":
@@ -7078,8 +7082,15 @@ function getParameterValue(data, nodeType) {
7078
7082
  return trim(data.backdrop);
7079
7083
  case "held-prop":
7080
7084
  return trim(data.heldProp);
7081
- case "person":
7082
- return trim(data.type) ?? trim(data.age) ?? trim(data.ethnicity) ?? trim(data.regionalAesthetic) ?? trim(data.frame) ?? trim(data.bodyMass) ?? trim(data.bust) ?? trim(data.waist) ?? trim(data.hips) ?? trim(data.silhouette) ?? trim(data.faceShape) ?? trim(data.jawline) ?? trim(data.cheekbones) ?? trim(data.facialFullness) ?? trim(data.eyeShape) ?? trim(data.eyelidType) ?? trim(data.canthalTilt) ?? trim(data.eyeSpacing) ?? trim(data.eyeSetBrow) ?? trim(data.nose) ?? trim(data.noseTip) ?? trim(data.lipFullness) ?? trim(data.lipShape) ?? trim(data.lips) ?? trim(data.hairColor) ?? trim(data.hairBase) ?? trim(data.eyebrows) ?? trim(data.skinTone) ?? trim(data.skinTexture) ?? trim(data.eyeColor) ?? trim(data.facialHair) ?? trim(data.distinctiveFeature) ?? trim(data.lipState) ?? trim(data.eyeState);
7085
+ case "person": {
7086
+ const base = trim(data.type) ?? trim(data.age) ?? trim(data.ethnicity) ?? trim(data.regionalAesthetic) ?? trim(data.frame) ?? trim(data.bodyMass) ?? trim(data.bust) ?? trim(data.waist) ?? trim(data.hips) ?? trim(data.silhouette) ?? trim(data.faceShape) ?? trim(data.jawline) ?? trim(data.cheekbones) ?? trim(data.facialFullness) ?? trim(data.eyeShape) ?? trim(data.eyelidType) ?? trim(data.canthalTilt) ?? trim(data.eyeSpacing) ?? trim(data.eyeSetBrow) ?? trim(data.nose) ?? trim(data.noseTip) ?? trim(data.lipFullness) ?? trim(data.lipShape) ?? trim(data.lips) ?? trim(data.hairColor) ?? trim(data.hairBase) ?? trim(data.eyebrows) ?? trim(data.skinTone) ?? trim(data.skinTexture) ?? trim(data.eyeColor) ?? trim(data.facialHair) ?? trim(data.distinctiveFeature) ?? trim(data.lipState) ?? trim(data.eyeState);
7087
+ if (base !== void 0) return base;
7088
+ for (const field of registeredPersonPackFields) {
7089
+ const v = trim(data[field]);
7090
+ if (v !== void 0) return v;
7091
+ }
7092
+ return void 0;
7093
+ }
7083
7094
  case "mood":
7084
7095
  return trim(data.mood);
7085
7096
  case "photographer":
@@ -9096,7 +9107,7 @@ var VEHICLES = [
9096
9107
  { id: "seaplane", label: "Seaplane", subcategory: "aircraft", description: "Seaplane with twin pontoon floats instead of wheels, high wings and a propeller, resting on calm water" },
9097
9108
  { id: "hot-air-balloon", label: "Hot Air Balloon", subcategory: "aircraft", description: "Giant hot-air balloon with a colorful rainbow-striped fabric envelope, a roaring flame burner flaring upward into the mouth and a wicker passenger basket suspended below by braided cables" },
9098
9109
  { id: "blimp", label: "Blimp", subcategory: "aircraft", description: "Sausage-shaped blimp airship with a sleek silver envelope, small rear fins and a slung gondola beneath" },
9099
- { id: "airship", label: "Airship / Dirigible", subcategory: "aircraft", description: "Massive rigid lighter-than-air dirigible with a long cigar-shaped fabric-covered metal frame, large rear stabilizer fins, multiple slung engine gondolas and a long passenger cabin running underneath the hull" },
9110
+ { id: "airship", label: "Airship / Dirigible", subcategory: "aircraft", description: "Massive rigid lighter-than-air dirigible with a long cigar-shaped fabric-covered metal frame, large rear stabilizer fins, multiple slung engine gondolas and a long passenger cabin running underneath the hull", term: "airship" },
9100
9111
  { id: "glider", label: "Glider", subcategory: "aircraft", description: "Elegant sailplane glider with ultra-long narrow wings, no engine and a teardrop cockpit pod" },
9101
9112
  { id: "paraglider", label: "Paraglider", subcategory: "aircraft", description: "Foot-launched paraglider with a wide elliptical soft-fabric ram-air wing arched overhead, dozens of slender suspension lines converging into a tandem harness with a seated pilot" },
9102
9113
  { id: "microlight", label: "Microlight Aircraft", subcategory: "aircraft", description: "Lightweight single-pilot microlight aircraft with an exposed tubular metal frame, fabric-covered high wings, a small pusher propeller engine behind the open seat and tricycle landing gear" },
@@ -9271,7 +9282,7 @@ var WEAPONS = [
9271
9282
  { id: "phaser", label: "Phaser", subcategory: "sci-fi", description: "Sleek sci-fi phaser with a minimalist curved grip, glowing emitter tip and a smooth panel controlling intensity" },
9272
9283
  { id: "rail-gun", label: "Rail Gun", subcategory: "sci-fi", description: "Heavy electromagnetic rail gun with parallel metal rails, massive capacitors along the body and a glowing projectile chamber" },
9273
9284
  { id: "emp-grenade", label: "EMP Grenade", subcategory: "sci-fi", description: "Spherical electromagnetic pulse grenade with exposed coils, glowing blue indicator lights and a holographic arming dial" },
9274
- { id: "plasma-sword", label: "Plasma Sword / Lightsaber", subcategory: "sci-fi", description: "Sci-fi energy blade with a metallic ridged hilt projecting a tall column of saturated plasma energy, surrounded by a bright halo of glowing light, casting colored reflections on the wielder and humming softly with contained power" },
9285
+ { id: "plasma-sword", label: "Plasma Sword / Lightsaber", subcategory: "sci-fi", description: "Sci-fi energy blade with a metallic ridged hilt projecting a tall column of saturated plasma energy, surrounded by a bright halo of glowing light, casting colored reflections on the wielder and humming softly with contained power", term: "plasma sword" },
9275
9286
  { id: "gravity-gun", label: "Gravity Gun", subcategory: "sci-fi", description: "Sci-fi physics-manipulating ranged weapon with a chunky metallic body, three articulated prongs at the muzzle that crackle with blue gravitational energy, exposed power conduits along the barrel and a heavy two-handed grip with a glowing trigger assembly" },
9276
9287
  // -------------------- Fantasy / Magical --------------------
9277
9288
  { id: "enchanted-sword", label: "Enchanted Sword", subcategory: "fantasy", description: "Enchanted sword with a glowing rune-etched blade, gold-inlaid crossguard and a gemstone embedded in the pommel" },
@@ -9388,6 +9399,19 @@ var inflight = /* @__PURE__ */ new Map();
9388
9399
  function cacheKey(catalog, locale) {
9389
9400
  return `${catalog}:${locale}`;
9390
9401
  }
9402
+ var packSidecars = /* @__PURE__ */ new Map();
9403
+ function registerCatalogSidecars(catalog, sidecars) {
9404
+ if (!sidecars) return;
9405
+ for (const locale of Object.keys(sidecars)) {
9406
+ const map = sidecars[locale];
9407
+ if (!map) continue;
9408
+ const key = `${catalog}:${locale}`;
9409
+ packSidecars.set(key, { ...packSidecars.get(key) ?? {}, ...map });
9410
+ }
9411
+ }
9412
+ function resetCatalogSidecars() {
9413
+ packSidecars.clear();
9414
+ }
9391
9415
  async function ensureLocaleCatalogLoaded(catalog, locale) {
9392
9416
  if (locale === "en") return null;
9393
9417
  const key = cacheKey(catalog, locale);
@@ -9413,9 +9437,10 @@ async function ensureLocaleCatalogLoaded(catalog, locale) {
9413
9437
  }
9414
9438
  function getLocalizedEntry(catalog, id, locale) {
9415
9439
  if (locale === "en") return void 0;
9416
- const map = cache.get(cacheKey(catalog, locale));
9417
- if (!map) return void 0;
9418
- return map[id];
9440
+ const key = cacheKey(catalog, locale);
9441
+ const fromFile = cache.get(key)?.[id];
9442
+ if (fromFile) return fromFile;
9443
+ return packSidecars.get(key)?.[id];
9419
9444
  }
9420
9445
  function resolveLabel(catalog, id, englishLabel, locale) {
9421
9446
  if (locale === "en") return englishLabel;
@@ -12021,7 +12046,11 @@ var VIDEO_PRODUCER_TYPES = /* @__PURE__ */ new Set([
12021
12046
  "still-to-video",
12022
12047
  // Slideshow: 2-100 stills + one optional audio track → MP4 (local FFmpeg,
12023
12048
  // no provider). Same contract; images arrive via the image-collage lane.
12024
- "slideshow"
12049
+ "slideshow",
12050
+ // GIF to Video: animated GIF → H.264 MP4 (local FFmpeg, no provider).
12051
+ // Emits generatedVideoUrl so it connects to any downstream video consumer
12052
+ // (e.g. a Seedance video-reference input) by an ordinary edge.
12053
+ "gif-to-video"
12025
12054
  ]);
12026
12055
  var DYNAMIC_PRODUCER_TYPES = /* @__PURE__ */ new Set([
12027
12056
  "list",
@@ -12998,6 +13027,8 @@ var VIDEO_ANALYSIS_VISUAL_EFFECTS = [
12998
13027
  "double-exposure"
12999
13028
  ];
13000
13029
  var VIDEO_ANALYSIS_TRANSITIONS = ["cut", "fade", "dissolve", "wipe", "whip"];
13030
+ var VIDEO_ANALYSIS_TEXT_KINDS = ["title", "caption", "lower-third", "subtitle", "logo", "other"];
13031
+ var VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN = ["fade"];
13001
13032
  var VIDEO_ANALYSIS_SPEED_EFFECTS = ["slow-motion", "ramp-in", "ramp-out", "timelapse", "freeze", "reverse"];
13002
13033
  var VIDEO_ANALYSIS_TIMES_OF_DAY = ["dawn", "day", "dusk", "night", "ambiguous"];
13003
13034
  var VIDEO_ANALYSIS_STORY_JUMPS = ["continuous", "same-day", "another-day", "years-later", "unclear"];
@@ -13144,6 +13175,8 @@ var windowSceneBase = zod.z.object({
13144
13175
  * earlier scene's speech means the shot is replayed footage under a voice-over.
13145
13176
  */
13146
13177
  onScreenText: zod.z.string().optional(),
13178
+ /** What the on-screen text IS. Meaningful only when `onScreenText` is non-empty. */
13179
+ onScreenTextKind: zod.z.enum(VIDEO_ANALYSIS_TEXT_KINDS).optional(),
13147
13180
  /** Effects on this shot's PICTURE. Absent ⇒ a clean image. */
13148
13181
  effects: zod.z.array(zod.z.enum(VIDEO_ANALYSIS_VISUAL_EFFECTS)).optional(),
13149
13182
  transitionOut: zod.z.enum(VIDEO_ANALYSIS_TRANSITIONS).optional(),
@@ -13161,6 +13194,8 @@ var windowAnalysisSchema = zod.z.object({
13161
13194
  /** The clip-level look as read from THIS window. Merge folds the windows
13162
13195
  * field-by-field (first non-empty wins), like `language`. */
13163
13196
  look: clipLookSchema.optional(),
13197
+ /** The clip opens with a fade-in. Folded from window 0 only. */
13198
+ transitionIn: zod.z.enum(VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN).optional(),
13164
13199
  slots: zod.z.array(entitySlotSchema),
13165
13200
  scenes: zod.z.array(windowSceneSchema)
13166
13201
  });
@@ -13183,6 +13218,8 @@ var videoAnalysisResultSchema = zod.z.object({
13183
13218
  * rather than a member: `meta` is probed fact (ffprobe dimensions, probed
13184
13219
  * duration), while this is the model's reading of the photography. */
13185
13220
  look: clipLookSchema.optional(),
13221
+ /** The clip opens with a fade-in. Folded from window 0 only. */
13222
+ transitionIn: zod.z.enum(VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN).optional(),
13186
13223
  slots: zod.z.array(entitySlotSchema),
13187
13224
  scenes: zod.z.array(analyzedSceneSchema).min(1),
13188
13225
  /** CAST VARIATIONS (§4 cap handling): looks the analyzer's merge FOLDED into
@@ -13498,6 +13535,89 @@ var OrgSettingsSchema = PresetSettingsSchema.partial().extend({
13498
13535
  vocabulary_overrides: zod.z.record(zod.z.string(), zod.z.string()).optional()
13499
13536
  });
13500
13537
 
13538
+ // src/entity-node-fields.ts
13539
+ var ENTITY_NODE_KINDS = ["character", "object", "creature", "location"];
13540
+ var ENTITY_DB_ID_FIELD = {
13541
+ character: "characterDbId",
13542
+ object: "objectDbId",
13543
+ creature: "creatureDbId",
13544
+ location: "locationDbId"
13545
+ };
13546
+ var ENTITY_NAME_FIELD = {
13547
+ character: "characterName",
13548
+ object: "objectName",
13549
+ creature: "creatureName",
13550
+ location: "locationName"
13551
+ };
13552
+ var ENTITY_TABLE = {
13553
+ character: "characters",
13554
+ object: "objects",
13555
+ creature: "creatures",
13556
+ location: "locations"
13557
+ };
13558
+ var ENTITY_BUCKET_FIELDS = {
13559
+ character: [
13560
+ ["expressions", "expressions"],
13561
+ ["poses", "poses"],
13562
+ ["motions", "motions"],
13563
+ ["angles", "angles"],
13564
+ ["body_angles", "bodyAngles"],
13565
+ ["lighting_variations", "lightingVariations"],
13566
+ ["outfit_variations", "outfitVariations"],
13567
+ ["detail_closeups", "detailCloseups"],
13568
+ ["sheets", "sheets"]
13569
+ ],
13570
+ object: [
13571
+ ["angles", "angles"],
13572
+ ["materials", "materials"],
13573
+ ["variations", "variations"],
13574
+ ["motion_clips", "motionClips"],
13575
+ ["detail_closeups", "detailCloseups"],
13576
+ ["sheets", "sheets"]
13577
+ ],
13578
+ creature: [
13579
+ ["angles", "angles"],
13580
+ ["poses", "poses"],
13581
+ ["variations", "variations"],
13582
+ ["motion_clips", "motionClips"],
13583
+ ["detail_closeups", "detailCloseups"],
13584
+ ["sheets", "sheets"]
13585
+ ],
13586
+ location: [
13587
+ ["time_of_day", "timeOfDay"],
13588
+ ["weather", "weather"],
13589
+ ["angles", "angles"],
13590
+ ["lighting", "lighting"],
13591
+ ["seasons", "seasons"],
13592
+ ["atmosphere_motions", "atmosphereMotions"],
13593
+ ["detail_closeups", "detailCloseups"],
13594
+ ["sheets", "sheets"]
13595
+ ]
13596
+ };
13597
+ var ENTITY_SCALAR_FIELDS = [
13598
+ ["name", "__name"],
13599
+ // routed to the kind's own name field by the caller
13600
+ ["description", "description"],
13601
+ ["canonical_description", "canonicalDescription"],
13602
+ ["source_image_url", "sourceImageUrl"]
13603
+ ];
13604
+ var ENTITY_KIND_SCALAR_FIELDS = {
13605
+ character: [],
13606
+ object: [["style_lock", "styleLock"]],
13607
+ creature: [["style_lock", "styleLock"]],
13608
+ location: [["style_lock", "styleLock"]]
13609
+ };
13610
+ function entityHydrationColumns(kind) {
13611
+ return [
13612
+ "id",
13613
+ ...entityScalarFields(kind).map(([column]) => column),
13614
+ ...ENTITY_BUCKET_FIELDS[kind].map(([column]) => column)
13615
+ ];
13616
+ }
13617
+ function entityScalarFields(kind) {
13618
+ return [...ENTITY_SCALAR_FIELDS, ...ENTITY_KIND_SCALAR_FIELDS[kind]];
13619
+ }
13620
+
13501
13621
  exports.ACCESS_LEVELS = ACCESS_LEVELS;
13502
13622
  exports.ACTIVE_SCENE_HELPERS = ACTIVE_SCENE_HELPERS;
13503
13623
  exports.ADVANCED_MODE_UNAVAILABLE_REASON = ADVANCED_MODE_UNAVAILABLE_REASON;
@@ -13605,9 +13725,16 @@ exports.DetectionResultSchema = DetectionResultSchema;
13605
13725
  exports.EFFORT_TIER_BUMP = EFFORT_TIER_BUMP;
13606
13726
  exports.EMOTIONAL_BEAT = EMOTIONAL_BEAT;
13607
13727
  exports.ENTITY_ASPECT_DEFAULTS = ENTITY_ASPECT_DEFAULTS;
13728
+ exports.ENTITY_BUCKET_FIELDS = ENTITY_BUCKET_FIELDS;
13729
+ exports.ENTITY_DB_ID_FIELD = ENTITY_DB_ID_FIELD;
13608
13730
  exports.ENTITY_IMAGE_HANDLE_TYPES = ENTITY_IMAGE_HANDLE_TYPES;
13731
+ exports.ENTITY_KIND_SCALAR_FIELDS = ENTITY_KIND_SCALAR_FIELDS;
13732
+ exports.ENTITY_NAME_FIELD = ENTITY_NAME_FIELD;
13733
+ exports.ENTITY_NODE_KINDS = ENTITY_NODE_KINDS;
13734
+ exports.ENTITY_SCALAR_FIELDS = ENTITY_SCALAR_FIELDS;
13609
13735
  exports.ENTITY_SECTIONS = ENTITY_SECTIONS;
13610
13736
  exports.ENTITY_STATUSES = ENTITY_STATUSES;
13737
+ exports.ENTITY_TABLE = ENTITY_TABLE;
13611
13738
  exports.ENTITY_TOOL_RETRY_CAP = ENTITY_TOOL_RETRY_CAP;
13612
13739
  exports.ENTITY_TYPES = ENTITY_TYPES;
13613
13740
  exports.EXECUTION_DATA_KEYS = EXECUTION_DATA_KEYS;
@@ -13894,6 +14021,7 @@ exports.VEHICLE_SUBCATEGORY_LABELS = VEHICLE_SUBCATEGORY_LABELS;
13894
14021
  exports.VEHICLE_SUBCATEGORY_ORDER = VEHICLE_SUBCATEGORY_ORDER;
13895
14022
  exports.VEO_PROVIDERS = VEO_PROVIDERS;
13896
14023
  exports.VIDEO_ANALYSIS_BUCKET_CREDITS = VIDEO_ANALYSIS_BUCKET_CREDITS;
14024
+ exports.VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN = VIDEO_ANALYSIS_CLIP_TRANSITIONS_IN;
13897
14025
  exports.VIDEO_ANALYSIS_DEFAULT_VARIATION = VIDEO_ANALYSIS_DEFAULT_VARIATION;
13898
14026
  exports.VIDEO_ANALYSIS_DURATION_BUCKETS = VIDEO_ANALYSIS_DURATION_BUCKETS;
13899
14027
  exports.VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC = VIDEO_ANALYSIS_DURATION_TOLERANCE_SEC;
@@ -13908,6 +14036,7 @@ exports.VIDEO_ANALYSIS_MIXED_TIERS = VIDEO_ANALYSIS_MIXED_TIERS;
13908
14036
  exports.VIDEO_ANALYSIS_SHOT_ANGLES = VIDEO_ANALYSIS_SHOT_ANGLES;
13909
14037
  exports.VIDEO_ANALYSIS_SPEED_EFFECTS = VIDEO_ANALYSIS_SPEED_EFFECTS;
13910
14038
  exports.VIDEO_ANALYSIS_STORY_JUMPS = VIDEO_ANALYSIS_STORY_JUMPS;
14039
+ exports.VIDEO_ANALYSIS_TEXT_KINDS = VIDEO_ANALYSIS_TEXT_KINDS;
13911
14040
  exports.VIDEO_ANALYSIS_TIERS = VIDEO_ANALYSIS_TIERS;
13912
14041
  exports.VIDEO_ANALYSIS_TIER_LABELS = VIDEO_ANALYSIS_TIER_LABELS;
13913
14042
  exports.VIDEO_ANALYSIS_TIER_ORDER = VIDEO_ANALYSIS_TIER_ORDER;
@@ -14032,6 +14161,8 @@ exports.durationsByMode = durationsByMode;
14032
14161
  exports.effectiveReasoningEffort = effectiveReasoningEffort;
14033
14162
  exports.encodeProviderItem = encodeProviderItem;
14034
14163
  exports.ensureLocaleCatalogLoaded = ensureLocaleCatalogLoaded;
14164
+ exports.entityHydrationColumns = entityHydrationColumns;
14165
+ exports.entityScalarFields = entityScalarFields;
14035
14166
  exports.entitySlotSchema = entitySlotSchema;
14036
14167
  exports.entryMatchesQuery = entryMatchesQuery;
14037
14168
  exports.estimateCombineVideosCredits = estimateCombineVideosCredits;
@@ -14188,8 +14319,10 @@ exports.qualityOptionsByKind = qualityOptionsByKind;
14188
14319
  exports.refHandleCategory = refHandleCategory;
14189
14320
  exports.referenceModalityForHandle = referenceModalityForHandle;
14190
14321
  exports.referenceSheetCreditId = referenceSheetCreditId;
14322
+ exports.registerCatalogSidecars = registerCatalogSidecars;
14191
14323
  exports.registerSidecarLoaders = registerSidecarLoaders;
14192
14324
  exports.renderAnalyzedScene = renderAnalyzedScene;
14325
+ exports.resetCatalogSidecars = resetCatalogSidecars;
14193
14326
  exports.resolutionOptionsByKind = resolutionOptionsByKind;
14194
14327
  exports.resolveAiAvatarCreditId = resolveAiAvatarCreditId;
14195
14328
  exports.resolveAudioCrossfadeCurve = resolveAudioCrossfadeCurve;
@@ -14244,6 +14377,7 @@ exports.selectByPredicate = selectByPredicate;
14244
14377
  exports.selectListItems = selectListItems;
14245
14378
  exports.selectLoraRoutingForMentions = selectLoraRoutingForMentions;
14246
14379
  exports.selectRandom = selectRandom;
14380
+ exports.setRegisteredPersonPackFields = setRegisteredPersonPackFields;
14247
14381
  exports.settledWithLimit = settledWithLimit;
14248
14382
  exports.slotVariationSchema = slotVariationSchema;
14249
14383
  exports.sortCharacterEntriesForDisplay = sortCharacterEntriesForDisplay;