@nodaro/prompts 1.50.0 → 1.51.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 (75) hide show
  1. package/dist/{chunk-MJIKM4YZ.cjs → chunk-7BWDATUZ.cjs} +125 -125
  2. package/dist/{chunk-MJIKM4YZ.cjs.map → chunk-7BWDATUZ.cjs.map} +1 -1
  3. package/dist/{chunk-GZ5SL2BI.js → chunk-CDTEETF3.js} +11 -2
  4. package/dist/chunk-CDTEETF3.js.map +1 -0
  5. package/dist/{chunk-WLN2MJ7F.cjs → chunk-E5EKWWOO.cjs} +3 -3
  6. package/dist/{chunk-3XSB5YDY.js.map → chunk-E5EKWWOO.cjs.map} +1 -1
  7. package/dist/{chunk-DB6A5I6V.js → chunk-ED47NNIN.js} +3 -3
  8. package/dist/{chunk-DB6A5I6V.js.map → chunk-ED47NNIN.js.map} +1 -1
  9. package/dist/{chunk-IXBTD2LW.js → chunk-EUU5W7XR.js} +4 -4
  10. package/dist/{chunk-IXBTD2LW.js.map → chunk-EUU5W7XR.js.map} +1 -1
  11. package/dist/{chunk-JGEBO6L6.cjs → chunk-F22GZF7T.cjs} +8 -8
  12. package/dist/{chunk-JGEBO6L6.cjs.map → chunk-F22GZF7T.cjs.map} +1 -1
  13. package/dist/{chunk-XBY53RF5.cjs → chunk-GJV7KTDX.cjs} +11 -2
  14. package/dist/chunk-GJV7KTDX.cjs.map +1 -0
  15. package/dist/{chunk-RVBO63D5.cjs → chunk-GRSKB3P7.cjs} +2 -2
  16. package/dist/chunk-GRSKB3P7.cjs.map +1 -0
  17. package/dist/{chunk-3XSB5YDY.js → chunk-H322GC7M.js} +3 -3
  18. package/dist/chunk-H322GC7M.js.map +1 -0
  19. package/dist/{chunk-C5LP7DAQ.js → chunk-HETYHGGW.js} +6 -6
  20. package/dist/{chunk-C5LP7DAQ.js.map → chunk-HETYHGGW.js.map} +1 -1
  21. package/dist/{chunk-FEOVUTFC.js → chunk-HOZPYHRA.js} +5 -5
  22. package/dist/{chunk-FEOVUTFC.js.map → chunk-HOZPYHRA.js.map} +1 -1
  23. package/dist/{chunk-HR4TFBU2.cjs → chunk-KTNCB2IE.cjs} +35 -35
  24. package/dist/{chunk-HR4TFBU2.cjs.map → chunk-KTNCB2IE.cjs.map} +1 -1
  25. package/dist/{chunk-VYCTRGJ7.cjs → chunk-M6EXNY42.cjs} +39 -39
  26. package/dist/{chunk-VYCTRGJ7.cjs.map → chunk-M6EXNY42.cjs.map} +1 -1
  27. package/dist/{chunk-IADAATZK.cjs → chunk-OQ3J7OGR.cjs} +49 -49
  28. package/dist/{chunk-IADAATZK.cjs.map → chunk-OQ3J7OGR.cjs.map} +1 -1
  29. package/dist/{chunk-KYKCHOOS.cjs → chunk-P4BXE4OA.cjs} +13 -13
  30. package/dist/{chunk-KYKCHOOS.cjs.map → chunk-P4BXE4OA.cjs.map} +1 -1
  31. package/dist/{chunk-TYJCCODP.cjs → chunk-PWYASBX2.cjs} +18 -18
  32. package/dist/{chunk-TYJCCODP.cjs.map → chunk-PWYASBX2.cjs.map} +1 -1
  33. package/dist/{chunk-IWX3Q7NH.cjs → chunk-RPGJTLLF.cjs} +20 -11
  34. package/dist/chunk-RPGJTLLF.cjs.map +1 -0
  35. package/dist/{chunk-LJ5WW6KK.js → chunk-T4TZY5ST.js} +20 -11
  36. package/dist/chunk-T4TZY5ST.js.map +1 -0
  37. package/dist/{chunk-VJYKE6AY.js → chunk-VBCVQPQ4.js} +3 -3
  38. package/dist/{chunk-VJYKE6AY.js.map → chunk-VBCVQPQ4.js.map} +1 -1
  39. package/dist/{chunk-34JK2G34.js → chunk-WQ7FWGZ2.js} +2 -2
  40. package/dist/chunk-WQ7FWGZ2.js.map +1 -0
  41. package/dist/{chunk-ZZ6UOK2P.js → chunk-YAIPYPMM.js} +4 -4
  42. package/dist/{chunk-ZZ6UOK2P.js.map → chunk-YAIPYPMM.js.map} +1 -1
  43. package/dist/{chunk-BWDQEAX2.js → chunk-ZRORO6OM.js} +4 -4
  44. package/dist/{chunk-BWDQEAX2.js.map → chunk-ZRORO6OM.js.map} +1 -1
  45. package/dist/entries/assembly.cjs +28 -28
  46. package/dist/entries/assembly.js +5 -5
  47. package/dist/entries/doctrine.cjs +46 -46
  48. package/dist/entries/doctrine.js +1 -1
  49. package/dist/entries/picker-art.cjs +3 -3
  50. package/dist/entries/picker-art.js +1 -1
  51. package/dist/entries/picker-catalogs.cjs +56 -56
  52. package/dist/entries/picker-catalogs.js +4 -4
  53. package/dist/entries/pickers.cjs +382 -382
  54. package/dist/entries/pickers.js +2 -2
  55. package/dist/entries/presets.cjs +35 -35
  56. package/dist/entries/presets.js +1 -1
  57. package/dist/entries/prompt-builder.cjs +75 -75
  58. package/dist/entries/prompt-builder.js +4 -4
  59. package/dist/index.cjs +618 -618
  60. package/dist/index.js +11 -11
  61. package/package.json +2 -2
  62. package/src/__tests__/picker-art-images.test.ts +1 -0
  63. package/src/__tests__/style-labels-offered-locales.test.ts +48 -0
  64. package/src/__tests__/style-video-wording.test.ts +1 -1
  65. package/src/factory-presets/shared-image.ts +2 -2
  66. package/src/picker-art/restyle-previews.ts +9 -0
  67. package/src/prompt-wizard-categories.ts +18 -9
  68. package/src/style.ts +1 -1
  69. package/dist/chunk-34JK2G34.js.map +0 -1
  70. package/dist/chunk-GZ5SL2BI.js.map +0 -1
  71. package/dist/chunk-IWX3Q7NH.cjs.map +0 -1
  72. package/dist/chunk-LJ5WW6KK.js.map +0 -1
  73. package/dist/chunk-RVBO63D5.cjs.map +0 -1
  74. package/dist/chunk-WLN2MJ7F.cjs.map +0 -1
  75. package/dist/chunk-XBY53RF5.cjs.map +0 -1
package/dist/index.js CHANGED
@@ -1,23 +1,23 @@
1
- export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_PRESET_PREVIEW_LARGE_FILES, FACTORY_SNIPPETS, HOOK_PLATE_PRESET_ID, MAX_PRESET_REFERENCES, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, PRESET_PREVIEW_LARGE_WIDTH, PRESET_PREVIEW_PATH, PRESET_PREVIEW_WIDTH, SNIPPET_MEDIA_VALUES, STYLE_PRESETS, factoryPresetPreviewSrcSet, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './chunk-34JK2G34.js';
2
- export { readDirectionFields, readStructuredFields, readSubjectFields } from './chunk-BWDQEAX2.js';
1
+ export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_PRESET_PREVIEW_LARGE_FILES, FACTORY_SNIPPETS, HOOK_PLATE_PRESET_ID, MAX_PRESET_REFERENCES, OBJECT_ANGLE_PRESETS, OBJECT_ANGLE_PROMPTS, OBJECT_ASSET_PRESETS, OBJECT_ASSET_PROMPTS, OBJECT_MATERIAL_PRESETS, OBJECT_MATERIAL_PROMPTS, OBJECT_VARIATION_PRESETS, OBJECT_VARIATION_PROMPTS, PRESET_PREVIEW_LARGE_WIDTH, PRESET_PREVIEW_PATH, PRESET_PREVIEW_WIDTH, SNIPPET_MEDIA_VALUES, STYLE_PRESETS, factoryPresetPreviewSrcSet, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './chunk-WQ7FWGZ2.js';
2
+ export { readDirectionFields, readStructuredFields, readSubjectFields } from './chunk-ZRORO6OM.js';
3
3
  export { TEXT_REQUIRED_NODE_TYPES, WIRED_OUTPUT_NODE_TYPES, computeAiWriterInput, computeNodeSendText, stripAudioTags } from './chunk-YS6HOWMW.js';
4
4
  export { NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, applyPromptAffixes, composeNegative, computeLlmChatFields, computeNodePrompt, computeScriptTopic, getPromptFields, getSnippetMedia, joinPromptParts, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, promptAffixCoreField, promptFieldCarriesAffixes, promptPartSeparator, resolvePrompt } from './chunk-N6VMPG5S.js';
5
- export { REF_BINDING, SEEDANCE_VIDEO_EDIT_PREFIX, appendField, appendMusicMeta, assembleImageInput, assembleSunoInput, buildSeedanceVideoEditPrompt, buildSurroundFillPrompt, composeSoundHintFromConnections, composeVideoPromptText, getEffectiveSunoCustomMode, identityRefsSentence, imageBindingFor, placeFramesAfterReferences, planFrameDelivery, promptBindsFirstFrame, resolveGeminiOmniI2vInputs, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveVeoI2vInputs, resolveVideoReferenceCore, truncateForField } from './chunk-C5LP7DAQ.js';
6
- export { ANGLE_LABELS, ASPECT_RATIO_LABELS, MAX_SUBJECT_KEYS, MOVEMENT_LABELS, SCENE_PROMPT_MAX_LENGTH, SHOT_LABELS, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, SUBJECT_ARRAY_CEILING, SUBJECT_CUSTOM_AGE_KEY, SUBJECT_FIELDS, SUBJECT_FOLD_KEYS, SUBJECT_ID_MAX_CHARS, SUBJECT_IMAGE_HINT_MODE_DEFAULT, SUBJECT_KEYS, SUBJECT_KEY_MAX_CHARS, SUBJECT_VIDEO_HINT_MODE_DEFAULT, appendReferenceLines, applyReferenceOrderToVideo, asBodyClauses, buildIdentityDirectives, buildImagePrompt, buildImagePromptSegments, buildImagePromptWithOverflow, buildReferenceBlocks, buildScenePrompt, composeSectionedPrompt, endsInsideStyleSection, expandImagePositionRefs, expandImageRefTokens, getRegisteredSubjectKeys, insertBeforeStyleSection, normalizeSubjectFields, partitionStyleClauses, referenceDescriptionLine, renderDescribedReferenceLines, renderReferenceCaptionLines, renderStructuredFields, renderStyleSection, renderSubjectHints, resolveCharacterMentions, resolveLocationMentions, sectionedClauseCosts, splitStyleSection, styleSectionFromClauses, styleSlotFor, subjectFieldsForSurface, truncateText } from './chunk-ZZ6UOK2P.js';
5
+ export { REF_BINDING, SEEDANCE_VIDEO_EDIT_PREFIX, appendField, appendMusicMeta, assembleImageInput, assembleSunoInput, buildSeedanceVideoEditPrompt, buildSurroundFillPrompt, composeSoundHintFromConnections, composeVideoPromptText, getEffectiveSunoCustomMode, identityRefsSentence, imageBindingFor, placeFramesAfterReferences, planFrameDelivery, promptBindsFirstFrame, resolveGeminiOmniI2vInputs, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveVeoI2vInputs, resolveVideoReferenceCore, truncateForField } from './chunk-HETYHGGW.js';
6
+ export { ANGLE_LABELS, ASPECT_RATIO_LABELS, MAX_SUBJECT_KEYS, MOVEMENT_LABELS, SCENE_PROMPT_MAX_LENGTH, SHOT_LABELS, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, SUBJECT_ARRAY_CEILING, SUBJECT_CUSTOM_AGE_KEY, SUBJECT_FIELDS, SUBJECT_FOLD_KEYS, SUBJECT_ID_MAX_CHARS, SUBJECT_IMAGE_HINT_MODE_DEFAULT, SUBJECT_KEYS, SUBJECT_KEY_MAX_CHARS, SUBJECT_VIDEO_HINT_MODE_DEFAULT, appendReferenceLines, applyReferenceOrderToVideo, asBodyClauses, buildIdentityDirectives, buildImagePrompt, buildImagePromptSegments, buildImagePromptWithOverflow, buildReferenceBlocks, buildScenePrompt, composeSectionedPrompt, endsInsideStyleSection, expandImagePositionRefs, expandImageRefTokens, getRegisteredSubjectKeys, insertBeforeStyleSection, normalizeSubjectFields, partitionStyleClauses, referenceDescriptionLine, renderDescribedReferenceLines, renderReferenceCaptionLines, renderStructuredFields, renderStyleSection, renderSubjectHints, resolveCharacterMentions, resolveLocationMentions, sectionedClauseCosts, splitStyleSection, styleSectionFromClauses, styleSlotFor, subjectFieldsForSurface, truncateText } from './chunk-YAIPYPMM.js';
7
7
  import './chunk-GILUVQQJ.js';
8
8
  export { keepableDirectionHints } from './chunk-JZOPMVGY.js';
9
9
  export { PROMPT_HINT_SEPARATOR, joinPromptHints } from './chunk-35UHMDGS.js';
10
10
  export { computePackSidecarCoverage } from './chunk-FDOG7BNB.js';
11
- export { AD_CREATIVE_ANALYSIS_FIELDS, AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT, AUDIO_WIZARD_CATEGORIES, DEFAULT_OWN_MOTION, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, LLM_CHAT_WIZARD_CATEGORIES, MUSIC_WIZARD_CATEGORIES, OWN_MOTION_NODE_TYPES, POST_CONTENT_ANALYSIS_SYSTEM_PROMPT, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, REFERENCE_IMAGE_ROLES, SCENE3D_FIGURE_REFERENCE_RULE, SCENE3D_FREE_PLATE_SLOTS, SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE, SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE, SCENE3D_LAYOUT_SCOPING_FOR, SCENE3D_LAYOUT_SCOPING_IGNORE, SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE, SCENE3D_LAYOUT_SCOPING_MARKER, SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE, TEXT_WIZARD_CATEGORIES, VIDEO_WIZARD_CATEGORIES, appendScene3DStillScopingLines, buildAdCreativeAnalysisUserText, buildCharacterPrompt, buildCreaturePrompt, buildFaceTemplateInputs, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMotionPrompt, buildObjectMotionPrompt, buildObjectPrompt, buildScene3DLayoutScopingLine, buildScene3DUnreferencedFiguresWarning, getCategoriesForNodeType, getPromptDoctrine, getPromptTips, hasScene3DLayoutScopingLine, isWizardSupported, ownMotionHint, renderScene3DLayoutScopingLine, scene3DLayoutVideoCaptions } from './chunk-LJ5WW6KK.js';
11
+ export { AD_CREATIVE_ANALYSIS_FIELDS, AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT, AUDIO_WIZARD_CATEGORIES, DEFAULT_OWN_MOTION, IMAGE_REFERENCE_PROMPT_DOCTRINE, IMAGE_WIZARD_CATEGORIES, LLM_CHAT_WIZARD_CATEGORIES, MUSIC_WIZARD_CATEGORIES, OWN_MOTION_NODE_TYPES, POST_CONTENT_ANALYSIS_SYSTEM_PROMPT, PROVIDER_CAPABILITIES, PROVIDER_PROMPT_DOCTRINES, REFERENCE_IMAGE_ROLES, SCENE3D_FIGURE_REFERENCE_RULE, SCENE3D_FREE_PLATE_SLOTS, SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE, SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE, SCENE3D_LAYOUT_SCOPING_FOR, SCENE3D_LAYOUT_SCOPING_IGNORE, SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE, SCENE3D_LAYOUT_SCOPING_MARKER, SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE, TEXT_WIZARD_CATEGORIES, VIDEO_WIZARD_CATEGORIES, appendScene3DStillScopingLines, buildAdCreativeAnalysisUserText, buildCharacterPrompt, buildCreaturePrompt, buildFaceTemplateInputs, buildLocationMotionPrompt, buildLocationPrompt, buildLocationRefinePrompt, buildMotionPrompt, buildObjectMotionPrompt, buildObjectPrompt, buildScene3DLayoutScopingLine, buildScene3DUnreferencedFiguresWarning, getCategoriesForNodeType, getPromptDoctrine, getPromptTips, hasScene3DLayoutScopingLine, isWizardSupported, ownMotionHint, renderScene3DLayoutScopingLine, scene3DLayoutVideoCaptions } from './chunk-T4TZY5ST.js';
12
12
  export { CINEMATIC_LOOK_TAIL, FILM_STILL_PREFIX, NEUTRAL_PERSON, REALISM_FINISH, REALISM_PASS_INSTRUCTION, REALISM_SKIN, REFERENCE_RULES, REFERENCE_RULES_MULTI_PERSON, SCENE_FRAME_RULE, filmStillPrefix, realismEmptyHands, realismViewpoint, referenceRulesBlock } from './chunk-T64D26P4.js';
13
13
  export { DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, applyTemplate, buildIdentityLockLine, characterLockToRefLock, collectIdentityLockClause, getIdentityLockClause, hasUpstreamCharacter, resolveTemplate, toIdentityLockMode, withForcedIdentityLock } from './chunk-BQWIPLLR.js';
14
14
  import './chunk-ADMHDFHB.js';
15
- export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from './chunk-GZ5SL2BI.js';
16
- export { ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, GAPS_SCHEMA, MULTI_PICKER_WIRING, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_TYPES, SINGLE_PICKER_WIRING, __resetCatalogIdGuardForTests, applyPickerJson, buildMultiPickerAnalyzerSpec, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, catalogGuardActive, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getPickerAnalyzer, getPickerWiring, isAnalyzablePicker, pickerFanoutTargets } from './chunk-FEOVUTFC.js';
17
- export { ADULT_SWEPT_CATALOG_IDS, FLOORED_PICKER_KEYS, RETIRED_ADULT_ONLY_HINT_STRINGS, applyMinorAgeFloorToPickerValues, buildNeedleAlternationSource, containsMinorAgeHint, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getCharacterMotionBindings, getMinorAgeHintStrings, getParameterPromptHint } from './chunk-IXBTD2LW.js';
18
- export { DIRECTION_ARRAY_CEILING, DIRECTION_FIELDS, DIRECTION_ID_MAX_CHARS, DIRECTION_KEYS, FILM_STYLE_KEYS, IMAGE_HINT_MODE_DEFAULT, USER_DIRECTION_REF_KINDS, VIDEO_HINT_MODE_DEFAULT, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, directionFieldsForSurface, directionKeyForUserRef, modeForFamily, nearestColorName, parseUserDirectionRef, renderDirectionHintClauses, renderDirectionHints, renderMoodboardClause, renderPaletteClause, styleReferenceDescription, userDirectionRefValue, userRefKindOfDirectionKey } from './chunk-VJYKE6AY.js';
19
- export { WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, buildWardrobeHints, getCharacterMotionDiagnostics, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint } from './chunk-DB6A5I6V.js';
20
- export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ATMOSPHERES, ATMOSPHERE_IDS, AURORA_SWEEP_STYLE, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_DURATIONS, CHARACTER_FX_IDS, CHARACTER_FX_INTENSITIES, CHARACTER_FX_POSITIONS, CHARACTER_MOTIONS, CHARACTER_MOTION_CATEGORY_LABELS, CHARACTER_MOTION_CATEGORY_ORDER, CHARACTER_MOTION_IDS, CHARACTER_MOTION_MAX_PICKS, CHARACTER_MOTION_PACES, CHARACTER_MOTION_POSITIONS, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, DEBRIS_SHOWER_STYLE, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, GARDEN_BLOOM_STYLE, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, INSTANT_CUT_CLAUSE, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_CATALOGS, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, RENDER_QUALITIES, RENDER_QUALITY_IDS, SAKURA_PETALS_STYLE, SAND_STORM_STYLE, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SINGING_STYLES, SMOKE_PUFF_STYLE, STYLES, STYLE_IDS, STYLE_MEDIA, STYLE_MEDIUMS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_DIMENSION_SECTIONS, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_DURATIONS, TRANSITION_IDS, TRANSITION_INTENSITIES, TRANSITION_OPTION_FIELDS, TRANSITION_POSITIONS, TRANSITION_STYLE_FIELD, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, WHITE_FLASH_STYLE, WIPE_DIRECTION, blendedCutClause, buildActionFxHints, buildActionFxTerms, buildAestheticHints, buildAestheticTerms, buildAtmosphereHints, buildAtmosphereTerms, buildExposureHints, buildExposureTerms, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildPhotographerHints, buildPhotographerTerms, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildStylingHints, buildStylingTerms, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, composeTransitionHintFromConnections, composedHas, composedOption, composedOptionIndex, curateEntries, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getCharacterMotion, getCharacterMotionLabel, getCharacterMotionPromptHint, getCharacterMotionTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerCatalog, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getRegisteredPickerCatalogs, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getStyle, getStyleLabel, getStyleMedium, getStylePromptHint, getStyleTerm, getStyleTones, getStyleVideoPromptHint, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionOptions, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, isBlendableTransition, isDeniedStyleId, isInstantTransition, isInstrumentalVocal, isVantageFraming, listPickerCatalogs, overlayEntry, projectAllCatalogs, projectPickerCatalog, readTransitionOptionValues, renderTransitionBases, setComposedCatalogResolver, styleOffersMedia, styleOffersRestyle, stylesForMedia, stylesForRestyle, summarizePickerCatalogs } from './chunk-3XSB5YDY.js';
15
+ export { RESTYLE_PREVIEWS, restylePreviewStillUrl } from './chunk-CDTEETF3.js';
16
+ export { ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, GAPS_SCHEMA, MULTI_PICKER_WIRING, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_TYPES, SINGLE_PICKER_WIRING, __resetCatalogIdGuardForTests, applyPickerJson, buildMultiPickerAnalyzerSpec, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, catalogGuardActive, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getPickerAnalyzer, getPickerWiring, isAnalyzablePicker, pickerFanoutTargets } from './chunk-HOZPYHRA.js';
17
+ export { ADULT_SWEPT_CATALOG_IDS, FLOORED_PICKER_KEYS, RETIRED_ADULT_ONLY_HINT_STRINGS, applyMinorAgeFloorToPickerValues, buildNeedleAlternationSource, containsMinorAgeHint, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getCharacterMotionBindings, getMinorAgeHintStrings, getParameterPromptHint } from './chunk-EUU5W7XR.js';
18
+ export { DIRECTION_ARRAY_CEILING, DIRECTION_FIELDS, DIRECTION_ID_MAX_CHARS, DIRECTION_KEYS, FILM_STYLE_KEYS, IMAGE_HINT_MODE_DEFAULT, USER_DIRECTION_REF_KINDS, VIDEO_HINT_MODE_DEFAULT, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, directionFieldsForSurface, directionKeyForUserRef, modeForFamily, nearestColorName, parseUserDirectionRef, renderDirectionHintClauses, renderDirectionHints, renderMoodboardClause, renderPaletteClause, styleReferenceDescription, userDirectionRefValue, userRefKindOfDirectionKey } from './chunk-VBCVQPQ4.js';
19
+ export { WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, buildWardrobeHints, getCharacterMotionDiagnostics, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint } from './chunk-ED47NNIN.js';
20
+ export { ACTION_FX, ACTION_FX_CATEGORY_LABELS, ACTION_FX_CATEGORY_ORDER, ACTION_FX_IDS, AESTHETICS, AESTHETIC_CATEGORY_LABELS, AESTHETIC_CATEGORY_ORDER, AESTHETIC_IDS, ATMOSPHERES, ATMOSPHERE_IDS, AURORA_SWEEP_STYLE, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, CAMERA_FORMATS, CAMERA_FORMAT_IDS, CAMERA_MOTIONS, CAMERA_MOTION_CATEGORY_LABELS, CAMERA_MOTION_CATEGORY_ORDER, CAMERA_MOTION_IDS, CHARACTER_FX, CHARACTER_FX_CATEGORY_LABELS, CHARACTER_FX_CATEGORY_ORDER, CHARACTER_FX_DURATIONS, CHARACTER_FX_IDS, CHARACTER_FX_INTENSITIES, CHARACTER_FX_POSITIONS, CHARACTER_MOTIONS, CHARACTER_MOTION_CATEGORY_LABELS, CHARACTER_MOTION_CATEGORY_ORDER, CHARACTER_MOTION_IDS, CHARACTER_MOTION_MAX_PICKS, CHARACTER_MOTION_PACES, CHARACTER_MOTION_POSITIONS, COLOR_LOOKS, COLOR_LOOK_CATEGORY_LABELS, COLOR_LOOK_CATEGORY_ORDER, COLOR_LOOK_IDS, COMPOSITION_EFFECTS, COMPOSITION_EFFECT_IDS, DEBRIS_SHOWER_STYLE, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, GARDEN_BLOOM_STYLE, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, INSTANT_CUT_CLAUSE, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, LENSES, LENS_IDS, LIGHTINGS, LIGHTING_CATEGORY_LABELS, LIGHTING_CATEGORY_ORDER, LIGHTING_FIELD_BY_CATEGORY, LIGHTING_IDS, LOOP_SUBJECTS, LOOP_SUBJECT_CATEGORY_LABELS, LOOP_SUBJECT_CATEGORY_ORDER, MATERIALS, MATERIAL_CATEGORY_LABELS, MATERIAL_CATEGORY_ORDER, MATERIAL_IDS, MAX_SELECTED_BY_FRAMING_CATEGORY, MAX_SELECTED_BY_STYLING_DIMENSION, MOODS, MOOD_CATEGORY_LABELS, MOOD_CATEGORY_ORDER, MOOD_IDS, MUSIC_EMOTIONS, MUSIC_ENERGIES, MUSIC_ERAS, MUSIC_GENRES, MUSIC_GENRE_CATEGORY_LABELS, MUSIC_GENRE_CATEGORY_ORDER, MUSIC_GENRE_DEFAULT_DATA, MUSIC_MOOD_DEFAULT_DATA, MUSIC_VIBES, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, PICKER_CATALOGS, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, RENDER_QUALITIES, RENDER_QUALITY_IDS, SAKURA_PETALS_STYLE, SAND_STORM_STYLE, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SINGING_STYLES, SMOKE_PUFF_STYLE, STYLES, STYLE_IDS, STYLE_MEDIA, STYLE_MEDIUMS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_DIMENSION_SECTIONS, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, TRANSITIONS, TRANSITION_CATEGORY_LABELS, TRANSITION_CATEGORY_ORDER, TRANSITION_DURATIONS, TRANSITION_IDS, TRANSITION_INTENSITIES, TRANSITION_OPTION_FIELDS, TRANSITION_POSITIONS, TRANSITION_STYLE_FIELD, VOCAL_PRESENCE, VOCAL_PRESENCE_INSTRUMENTAL_ID, VOICE_ACCENTS, VOICE_AGES, VOICE_ARCHETYPES, VOICE_CHARACTER_DEFAULT_DATA, VOICE_DELIVERY_DEFAULT_DATA, VOICE_EMOTIONS, VOICE_GENDERS, VOICE_LANGUAGES, VOICE_PACES, VOICE_TIMBRES, WHITE_FLASH_STYLE, WIPE_DIRECTION, blendedCutClause, buildActionFxHints, buildActionFxTerms, buildAestheticHints, buildAestheticTerms, buildAtmosphereHints, buildAtmosphereTerms, buildExposureHints, buildExposureTerms, buildFramingHints, buildFramingTerms, buildHeldPropHints, buildHeldPropTerms, buildInstrumentationHints, buildInstrumentationTerms, buildLightingHints, buildLightingTerms, buildMaterialHints, buildMaterialTerms, buildMoodHints, buildMoodTerms, buildMusicGenreHints, buildMusicGenreTerms, buildMusicMoodHints, buildMusicMoodTerms, buildPhotographerHints, buildPhotographerTerms, buildPoseHints, buildPoseTerms, buildPostProcessHints, buildPostProcessTerms, buildStylingHints, buildStylingTerms, buildTemporalHints, buildTemporalTerms, buildVoiceCharacterHints, buildVoiceCharacterTerms, buildVoiceDeliveryHints, buildVoiceDeliveryTerms, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, composeTransitionHintFromConnections, composedHas, composedOption, composedOptionIndex, curateEntries, getActionFx, getActionFxLabel, getActionFxPromptHint, getActionFxTerm, getAesthetic, getAestheticLabel, getAestheticPromptHint, getAestheticTerm, getAtmosphere, getAtmosphereLabel, getAtmospherePromptHint, getAtmosphereTerm, getBackdrop, getBackdropLabel, getBackdropPromptHint, getBackdropTerm, getCameraFormat, getCameraFormatLabel, getCameraFormatPromptHint, getCameraFormatTerm, getCameraMotion, getCameraMotionLabel, getCameraMotionPromptHint, getCameraMotionTerm, getCharacterFx, getCharacterFxLabel, getCharacterFxPromptHint, getCharacterFxTerm, getCharacterMotion, getCharacterMotionLabel, getCharacterMotionPromptHint, getCharacterMotionTerm, getColorLook, getColorLookLabel, getColorLookPromptHint, getColorLookTerm, getCompositionEffect, getCompositionEffectLabel, getCompositionEffectPromptHint, getCompositionEffectTerm, getEra, getEraLabel, getEraPromptHint, getEraTerm, getExposure, getExposureLabel, getExposurePromptHint, getExposureTerm, getFraming, getFramingCategoryLimit, getFramingLabel, getFramingPromptHint, getFramingTerm, getHeldProp, getHeldPropLabel, getHeldPropPromptHint, getHeldPropTerm, getInstrument, getInstrumentTerm, getLens, getLensLabel, getLensPromptHint, getLensTerm, getLighting, getLightingLabel, getLightingPromptHint, getLightingTerm, getLoopSubject, getLoopSubjectLabel, getLoopSubjectPromptHint, getLoopSubjectTerm, getMaterial, getMaterialLabel, getMaterialPromptHint, getMaterialTerm, getMood, getMoodLabel, getMoodPromptHint, getMoodTerm, getMusicEmotion, getMusicEmotionTerm, getMusicEnergy, getMusicEnergyTerm, getMusicEra, getMusicEraTerm, getMusicGenre, getMusicGenreLabel, getMusicGenreTerm, getMusicSubgenre, getMusicSubgenreTerm, getMusicVibe, getMusicVibeTerm, getPhotoGenre, getPhotoGenreLabel, getPhotoGenrePromptHint, getPhotoGenreTerm, getPhotographer, getPhotographerLabel, getPhotographerPromptHint, getPhotographerTerm, getPickerCatalog, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getRegisteredPickerCatalogs, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getStyle, getStyleLabel, getStyleMedium, getStylePromptHint, getStyleTerm, getStyleTones, getStyleVideoPromptHint, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getTransition, getTransitionLabel, getTransitionOptions, getTransitionPromptHint, getTransitionTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, isBlendableTransition, isDeniedStyleId, isInstantTransition, isInstrumentalVocal, isVantageFraming, listPickerCatalogs, overlayEntry, projectAllCatalogs, projectPickerCatalog, readTransitionOptionValues, renderTransitionBases, setComposedCatalogResolver, styleOffersMedia, styleOffersRestyle, stylesForMedia, stylesForRestyle, summarizePickerCatalogs } from './chunk-H322GC7M.js';
21
21
  export { appendPromptHints, joinHintFragments, joinSentences } from './chunk-DVP6ILDR.js';
22
22
  export { ADULT_AGE_IDS, ADULT_ONLY_FLAG, MAX_SELECTED_BY_DIMENSION, MINOR_IMPLYING_TYPE_IDS, PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PERSON_DIMENSION_SECTIONS, PERSON_FIELD_BY_DIMENSION, PERSON_IDS, buildAgeHint, buildPersonHints, buildPersonTerms, getPerson, getPersonDimensionLimit, getPersonLabel, getPersonPromptHint, getPersonTerm, getRegisteredPeople, getRegisteredPersonDimensionLabels, getRegisteredPersonDimensionOrder, getRegisteredPersonFieldByDimension, isMinorAge, migratePersonValue, personPacksVersion, registerPersonPack, resetPersonPacks } from './chunk-TDZFXOTE.js';
23
23
  export { TERM_MAX_CHARS, catalogPacksVersion, composePickerCatalogs, deriveTerm, getRegisteredCatalogPacks, hasCatalogPacksFor, isSuspiciousDerivedTerm, registerCatalogPack, resetCatalogPacks, resolveTerm, subscribeCatalogPacks } from './chunk-XAMHEW76.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodaro/prompts",
3
- "version": "1.50.0",
3
+ "version": "1.51.0",
4
4
  "description": "Nodaro's prompt-engineering layer — person/picker catalogs with prompt hints, identity-lock clauses, entity prompt builders, brand presets, and prompt/reference assembly shared by the Nodaro platform and SDK.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
@@ -70,7 +70,7 @@
70
70
  "test": "vitest run"
71
71
  },
72
72
  "dependencies": {
73
- "@nodaro/shared": "^3.54.1"
73
+ "@nodaro/shared": "^3.56.0"
74
74
  },
75
75
  "devDependencies": {
76
76
  "tsup": "^8.5.0",
@@ -301,6 +301,7 @@ describe("restyle previews (RESTYLE_PREVIEWS)", () => {
301
301
 
302
302
  it("give each clip a still, a frame the CDN cuts from it at the clip's own time", () => {
303
303
  expect(restylePreviewStillUrl(RESTYLE_PREVIEWS.anime)).toBe("https://cdn.nodaro.ai/cdn-cgi/media/mode=frame,time=7s,width=480/picker-renders/7fbad6e4-023f-4282-ac3d-d186f2cbb37b.mp4")
304
+ expect(restylePreviewStillUrl(RESTYLE_PREVIEWS["oil-painting"])).toBe("https://cdn.nodaro.ai/cdn-cgi/media/mode=frame,time=1s,width=480/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4")
304
305
  expect(restylePreviewStillUrl(RESTYLE_PREVIEWS.watercolor)).toBe("https://cdn.nodaro.ai/cdn-cgi/media/mode=frame,time=1s,width=480/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4")
305
306
  expect(restylePreviewStillUrl(RESTYLE_PREVIEWS.claymation)).toBe("https://cdn.nodaro.ai/cdn-cgi/media/mode=frame,time=1s,width=480/picker-renders/2916a2f7-114c-4c7e-9be0-5bf229d76133.mp4")
306
307
  expect(restylePreviewStillUrl(RESTYLE_PREVIEWS["comic-book"])).toBe("https://cdn.nodaro.ai/cdn-cgi/media/mode=frame,time=1s,width=480/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4")
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Every art style has a name of its own in each language Nodaro's apps offer
3
+ * in their language menus (Hebrew, Japanese, Korean, Brazilian Portuguese):
4
+ * an explicit `label` in the style sidecar, never the English fallback by
5
+ * omission. Where a language keeps the English loanword ("Anime",
6
+ * "Cyberpunk" in Brazilian Portuguese), the sidecar says so explicitly, so
7
+ * the choice is deliberate and a new style cannot ship untranslated there.
8
+ * The other locales follow the general sidecar rule (a loanword may be left
9
+ * out) and are not held to this.
10
+ */
11
+ import { describe, it, expect } from "vitest"
12
+ import type { LocaleCatalogMap, LocaleId } from "@nodaro/shared/i18n"
13
+ import { STYLES } from "../index.js"
14
+
15
+ const OFFERED = ["he", "ja", "ko", "pt-BR"] as const satisfies readonly LocaleId[]
16
+
17
+ async function sidecar(locale: LocaleId): Promise<LocaleCatalogMap> {
18
+ return ((await import(`../../../shared/src/i18n/style.${locale}.ts`)) as { default: LocaleCatalogMap }).default
19
+ }
20
+
21
+ describe("art style names in the languages the apps offer", () => {
22
+ it.each(OFFERED)("%s names every style explicitly", async (locale) => {
23
+ const map = await sidecar(locale)
24
+ const unnamed = STYLES.filter((style) => !map[style.id]?.label?.trim()).map((style) => style.id)
25
+ expect(unnamed).toEqual([])
26
+ })
27
+
28
+ it("Brazilian Portuguese keeps the loanwords Brazilians use, and says the rest in Portuguese", async () => {
29
+ const map = await sidecar("pt-BR")
30
+ const label = (id: string) => map[id]?.label
31
+ for (const [id, name] of [
32
+ ["anime", "Anime"],
33
+ ["cyberpunk", "Cyberpunk"],
34
+ ["steampunk", "Steampunk"],
35
+ ["vaporwave", "Vaporwave"],
36
+ ["ukiyo-e", "Ukiyo-e"],
37
+ ] as const) expect(label(id), id).toBe(name)
38
+ expect(label("ascii-art")).toBe("Arte ASCII")
39
+ expect(label("claymation")).toBe("Animação em massinha")
40
+ expect(label("blueprint")).toBe("Planta técnica")
41
+ })
42
+
43
+ it("Korean says ukiyo-e and ASCII art in Hangul", async () => {
44
+ const map = await sidecar("ko")
45
+ expect(map["ukiyo-e"]?.label).toBe("우키요에")
46
+ expect(map["ascii-art"]?.label).toBe("아스키 아트")
47
+ })
48
+ })
@@ -40,7 +40,7 @@ const TESTED_ON_VIDEO: Readonly<Record<string, string>> = {
40
40
  "toy-figure-3d": "Stylised 3D toy animation, computer-generated: every person a rounded vinyl toy figure with smooth glossy plastic skin, a simplified oversized head, small dot eyes and moulded plastic hair, clothes as moulded painted plastic; every car, room and prop a chunky rounded toy model with soft bevelled edges; bright clean colours, soft studio lighting.",
41
41
  "painterly-3d": "Painterly 3D animation, computer-generated with a hand-painted finish: every person a stylised 3D character with soft rounded features and expressive eyes, skin, hair and clothes textured with visible painted brush strokes; every room and landscape a 3D set painted like a storybook illustration; warm glowing light, rich soft colours.",
42
42
  "painted-clay": "Sculpted clay animation with a painted finish, handmade: every person sculpted from matte clay with visible thumbprints and tool marks, painted in soft gouache colour; every car, room and prop sculpted and hand-painted the same way; warm painterly light, a slight stop-motion step to the motion.",
43
- "pop-art": "Flat 2D cel-shaded comic illustration, hand-drawn: thick uniform black ink outlines, flat colour fills, Ben-Day dot shading, bold saturated primary colours, high contrast.",
43
+ "pop-art": "Pop-art print, hand-drawn: thick black ink outlines; flat colour fills pushed to bold, saturated primary red, yellow and blue; large, clearly visible Ben-Day dots filling skin, walls and sky; high contrast.",
44
44
  claymation: "Stop-motion claymation, handmade: every person, vehicle and set sculpted from matte plasticine clay with visible fingerprints and tool marks, rounded simplified forms, miniature handcrafted diorama sets, soft warm studio lighting.",
45
45
  anime: "2D Japanese anime, hand-drawn cel animation: clean thin ink line art, flat cel shading with one hard shadow tone, large expressive eyes, hair drawn as solid shapes, saturated colours, painted backgrounds.",
46
46
  }
@@ -73,8 +73,8 @@ const STYLIZED_SUBJECT: ReadonlyArray<{
73
73
 
74
74
  /** Build the Stylized Subject presets for a node type (id = `<nodeType>/<slug>`). */
75
75
  /**
76
- * Both preset families are edits of a connected photo, so they run on the platform's edit model,
77
- * GPT Image 2.5 Flare (decided 2026-10-08 from the image model bake-off: it kept pose, framing and
76
+ * Both preset families are edits of a connected photo, and they run on GPT Image 2.5 Flare, the
77
+ * model they were built and checked on (decided 2026-10-08 from the image model bake-off: it kept pose, framing and
78
78
  * product design on every edit). Modify Image takes the i2i id; Generate Image takes the t2i id,
79
79
  * which the platform swaps to the same i2i model whenever a reference image is connected.
80
80
  */
@@ -30,12 +30,21 @@ export const RESTYLE_PREVIEWS: Readonly<Record<string, RestylePreview>> = {
30
30
  // Source shot: https://cdn.nodaro.ai/picker-renders/41faaa51-5e77-4097-aa9b-bef6738328b7.mp4
31
31
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5a28da72-f3ee-49a8-b732-f73e79741b62.mp4
32
32
  "comic-book": { url: "https://cdn.nodaro.ai/picker-renders/7a2cd17c-b02f-4ae4-9723-ef48d0eda52a.mp4" },
33
+ // Source shot: https://cdn.nodaro.ai/picker-renders/a0ca72d5-1d4e-4f57-be74-ba3ac46dd9bd.mp4
34
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/cf977f6c-e755-4b72-b959-e6b954d631c3.mp4
35
+ cyberpunk: { url: "https://cdn.nodaro.ai/picker-renders/4868595c-cc88-4f82-b2a4-f33bfafe8198.mp4", stillAtSeconds: 7 },
33
36
  // Source shot: https://cdn.nodaro.ai/picker-renders/4a70c22d-04f0-4b5a-90d4-e9dd7ddb01c4.mp4
34
37
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/5ab33529-ef2a-42bc-a625-d6b1abfeef1c.mp4
35
38
  "felt-puppet": { url: "https://cdn.nodaro.ai/picker-renders/3aa3c81b-ba19-4776-becc-e0c47c700699.mp4" },
39
+ // Source shot: https://cdn.nodaro.ai/picker-renders/b1e77bdc-7c58-4cd8-a2d6-fd49379fee9e.mp4
40
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/a9aeca2d-bcd6-477b-80d7-5e6454ee2c25.mp4
41
+ "oil-painting": { url: "https://cdn.nodaro.ai/picker-renders/73c98260-9444-45e7-bccb-040b5d33fb53.mp4" },
36
42
  // Source shot: https://cdn.nodaro.ai/picker-renders/d9e12a4a-677e-4e36-8f44-8503f14dd6b8.mp4
37
43
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/d4dad451-802a-4795-9cc3-71ff3ed70c69.mp4
38
44
  "pixar-3d": { url: "https://cdn.nodaro.ai/picker-renders/c5ea2111-3283-4f80-ab05-8ab4450946ce.mp4" },
45
+ // Source shot: https://cdn.nodaro.ai/picker-renders/71d9ab7a-7396-48ff-8bc3-80454b0edd07.mp4
46
+ // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/b11ab600-ec62-4cb6-82b4-b0006374164b.mp4
47
+ "pop-art": { url: "https://cdn.nodaro.ai/picker-renders/0659dbe5-9dfe-45d8-9abd-6ccf88481dd8.mp4", stillAtSeconds: 7 },
39
48
  // Source shot: https://cdn.nodaro.ai/picker-renders/789f4330-660b-42bd-8d11-6e638e8c7c88.mp4
40
49
  // Generated, no wipe: https://cdn.nodaro.ai/picker-renders/10471107-b26a-42e9-a3a5-068a42436d3c.mp4
41
50
  watercolor: { url: "https://cdn.nodaro.ai/picker-renders/61a26588-d09a-4959-b677-ee8b32e3281a.mp4" },
@@ -168,6 +168,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
168
168
  "gpt-image-2": "Latest GPT Image — sharp text, photorealism, 1K/2K/4K resolution",
169
169
  "gpt-image-2-5-flare": "Fast everyday GPT Image 2.5 — higher quality than GPT Image 2 at ~half the latency; default for iteration, social, high volume",
170
170
  "gpt-image-2-5-sunburst": "Precision GPT Image 2.5 — slower, tighter control and detail fidelity; brand-sensitive, packaging, diagrams, final creative",
171
+ "gpt-image-2-6-flare": "Fast GPT Image 2.6 — pick for speed; posters, product shots and quick iteration, up to 4K, low/medium/high quality",
172
+ "gpt-image-2-6-sunburst": "Precision GPT Image 2.6 — pick when every detail counts; strongest consistency across edits, up to 4K, low/medium/high quality",
173
+ "gpt-image-2-6-economy": "GPT Image 2.6 at a flat low price, 1K only — pick for volume",
171
174
  "grok": "General purpose, good text understanding",
172
175
  "grok-2": "Grok Imagine 2 — expressive, high-contrast, stylized output",
173
176
  "imagen4": "Google's latest, strong photorealism and text rendering",
@@ -182,9 +185,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
182
185
  "z-image": "Experimental, novel generation approaches",
183
186
  "wan-2.7": "Wan 2.7 T2I — 1K/2K/4K, up to 9 ref images",
184
187
  "wan-2.7-pro": "Wan 2.7 Pro T2I — higher quality, 1K/2K/4K",
185
- "flux-2-klein": "Open Flux 2 9B via Replicate — fast, no safety filter",
186
- "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality, safety_tolerance=5 (max for Pro)",
187
- "flux-2-max": "BFL Flux 2 Max via Replicate — even larger than Pro, safety_tolerance=5, up to 8 refs (variable pricing)",
188
+ "flux-2-klein": "Open Flux 2 9B via Replicate — fast",
189
+ "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality",
190
+ "flux-2-max": "BFL Flux 2 Max via Replicate — even larger than Pro, up to 8 refs (variable pricing)",
188
191
  },
189
192
  "image-to-image": {
190
193
  "nano-banana": "Fast style transfer and transformation",
@@ -196,6 +199,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
196
199
  "gpt-image-2-i2i": "Latest GPT Image — pixel-level edits with original lighting/texture preservation, up to 4K",
197
200
  "gpt-image-2-5-flare-i2i": "Fast GPT Image 2.5 edits — up to 16 sources; use while iterating",
198
201
  "gpt-image-2-5-sunburst-i2i": "Precision GPT Image 2.5 edits — up to 16 sources, tightest control on demanding retouches; slower",
202
+ "gpt-image-2-6-flare-i2i": "Fast GPT Image 2.6 edits — up to 16 sources, priced per image; use while iterating",
203
+ "gpt-image-2-6-sunburst-i2i": "Precision GPT Image 2.6 edits — up to 16 sources, priced per image; for finished, detail-critical edits",
204
+ "gpt-image-2-6-economy-i2i": "Flat-price GPT Image 2.6 edits, 1K only — pick for volume",
199
205
  "ideogram-edit": "Instruction-based editing with text preservation",
200
206
  "ideogram-remix": "Style remixing while preserving structure",
201
207
  "qwen-i2i": "Versatile transformation",
@@ -206,9 +212,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
206
212
  "seedream-5-flash-i2i": "Fast, low-cost Seedream edits — up to 10 input images",
207
213
  "flux-kontext": "Character-consistent edits with reference awareness",
208
214
  "flux-kontext-max": "Premium character-consistent editing",
209
- "kontext-multi": "Multi-image Kontext via Replicate — up to 4 refs, no safety filter",
210
- "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality with reference images, safety_tolerance=5",
211
- "flux-2-max": "BFL Flux 2 Max via Replicate — even larger sibling, up to 8 refs, safety_tolerance=5 (variable pricing)",
215
+ "kontext-multi": "Multi-image Kontext via Replicate — up to 4 refs",
216
+ "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality with reference images",
217
+ "flux-2-max": "BFL Flux 2 Max via Replicate — even larger sibling, up to 8 refs (variable pricing)",
212
218
  },
213
219
  "modify-image": {
214
220
  "nano-banana": "Fast style transfer and transformation",
@@ -221,6 +227,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
221
227
  "gpt-image-2-i2i": "Latest GPT Image — pixel-level edits with original lighting/texture preservation, up to 4K",
222
228
  "gpt-image-2-5-flare-i2i": "Fast GPT Image 2.5 edits — up to 16 sources; use while iterating",
223
229
  "gpt-image-2-5-sunburst-i2i": "Precision GPT Image 2.5 edits — up to 16 sources, tightest control on demanding retouches; slower",
230
+ "gpt-image-2-6-flare-i2i": "Fast GPT Image 2.6 edits — up to 16 sources, priced per image; use while iterating",
231
+ "gpt-image-2-6-sunburst-i2i": "Precision GPT Image 2.6 edits — up to 16 sources, priced per image; for finished, detail-critical edits",
232
+ "gpt-image-2-6-economy-i2i": "Flat-price GPT Image 2.6 edits, 1K only — pick for volume",
224
233
  "ideogram-edit": "Instruction-based editing with text preservation",
225
234
  "ideogram-remix": "Style remixing while preserving structure",
226
235
  "qwen-i2i": "Versatile transformation",
@@ -231,9 +240,9 @@ export const PROVIDER_CAPABILITIES: Record<string, Record<string, string>> = {
231
240
  "seedream-5-flash-i2i": "Fast, low-cost Seedream edits — up to 10 input images",
232
241
  "flux-kontext": "Character-consistent edits with reference awareness",
233
242
  "flux-kontext-max": "Premium character-consistent editing",
234
- "kontext-multi": "Multi-image Kontext via Replicate — up to 4 refs, no safety filter",
235
- "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality with reference images, safety_tolerance=5",
236
- "flux-2-max": "BFL Flux 2 Max via Replicate — even larger sibling, up to 8 refs, safety_tolerance=5 (variable pricing)",
243
+ "kontext-multi": "Multi-image Kontext via Replicate — up to 4 refs",
244
+ "flux-2-pro": "BFL Flux 2 Pro via Replicate — flagship quality with reference images",
245
+ "flux-2-max": "BFL Flux 2 Max via Replicate — even larger sibling, up to 8 refs (variable pricing)",
237
246
  },
238
247
  "generate-mask": {
239
248
  "grounded-sam": "Text-prompted segmentation — isolates the subject you describe in words (Grounding DINO + Segment Anything)",
package/src/style.ts CHANGED
@@ -114,7 +114,7 @@ export const STYLES: ReadonlyArray<Style> = [
114
114
  { id: "pencil-sketch", label: "Pencil Sketch", description: "Hand-drawn graphite drawing", promptHint: "pencil sketch style, hand-drawn graphite drawing with visible hatching, soft smudges and raw paper texture", videoPromptHint: "2D graphite pencil illustration, hand-drawn on paper: dark pencil outlines, loose sketchy pencil lines, cross-hatched shading, soft smudges, grey tones on raw off-white paper.", medium: "2d", tones: "black-and-white" },
115
115
  { id: "photorealistic", label: "Photorealistic", description: "Indistinguishable from a photograph", promptHint: "photorealistic style, high-fidelity photographic realism with natural lighting, accurate materials and DSLR-grade detail", videoPromptHint: "Photorealistic live-action footage, shot on a high-end cinema camera: natural lighting, true-to-life skin and materials, accurate colour, sharp lifelike detail.", medium: "photo" },
116
116
  { id: "pixel-art", label: "Pixel Art", description: "Retro game-style pixel grid", promptHint: "pixel art style, retro low-resolution pixel grid aesthetic with limited palette and hard-edged chunky sprites", videoPromptHint: "2D retro pixel-art animation, 16-bit video game sprites: dark one-pixel sprite outlines, a visible square pixel grid, hard-edged chunky sprites, a limited colour palette, dithered shading, crisp unsmoothed pixel edges.", medium: "2d" },
117
- { id: "pop-art", label: "Pop Art", description: "Bold colors, Warhol/Lichtenstein", promptHint: "pop art style, bold saturated colors, Ben-Day dots and high-contrast Warhol/Lichtenstein-inspired graphic look", videoPromptHint: "Flat 2D cel-shaded comic illustration, hand-drawn: thick uniform black ink outlines, flat colour fills, Ben-Day dot shading, bold saturated primary colours, high contrast.", medium: "2d" },
117
+ { id: "pop-art", label: "Pop Art", description: "Bold colors, Warhol/Lichtenstein", promptHint: "pop art style, bold saturated colors, Ben-Day dots and high-contrast Warhol/Lichtenstein-inspired graphic look", videoPromptHint: "Pop-art print, hand-drawn: thick black ink outlines; flat colour fills pushed to bold, saturated primary red, yellow and blue; large, clearly visible Ben-Day dots filling skin, walls and sky; high contrast.", medium: "2d" },
118
118
  { id: "retro-vintage", label: "Retro / Vintage", description: "Faded nostalgic film look", promptHint: "retro vintage style, faded nostalgic film look with muted colors, subtle grain and old-photograph warmth", term: "retro vintage film look", videoPromptHint: "Vintage live-action footage, shot on old film stock: faded muted colours, warm yellowed tones, soft halation, visible film grain and light scratches.", medium: "photo" },
119
119
  { id: "watercolor", label: "Watercolor", description: "Soft transparent washes", promptHint: "watercolor style, soft transparent washes with bleeding edges, paper grain and delicate pigment pooling", videoPromptHint: "2D watercolour illustration, hand-painted: fine ink outlines, soft transparent washes, bleeding wet edges, pooled pigment, visible paper grain.", medium: "2d" },
120
120
  { id: "concept-art", label: "Concept Art", description: "Film/game pre-production painting", promptHint: "concept art style, painterly film and game pre-production illustration with dramatic lighting, moody atmosphere and loose brushwork emphasizing scale and storytelling", videoPromptHint: "2D film concept-art illustration, digitally painted: rough ink outlines, loose expressive brushwork, dramatic cinematic lighting, moody atmospheric colours, an epic sense of scale.", medium: "2d", restyle: false },