@nodaro/prompts 1.42.1 → 1.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-PHFOKGYS.js → chunk-2HJJBXGA.js} +6 -6
- package/dist/{chunk-PHFOKGYS.js.map → chunk-2HJJBXGA.js.map} +1 -1
- package/dist/{chunk-HL6PZ4A6.js → chunk-2OIKQ4WB.js} +5 -5
- package/dist/{chunk-HL6PZ4A6.js.map → chunk-2OIKQ4WB.js.map} +1 -1
- package/dist/{chunk-ZFOXGNLK.js → chunk-57PTYJJX.js} +4 -4
- package/dist/{chunk-ZFOXGNLK.js.map → chunk-57PTYJJX.js.map} +1 -1
- package/dist/{chunk-ZGA72NCT.cjs → chunk-C4FDHCEZ.cjs} +125 -125
- package/dist/{chunk-ZGA72NCT.cjs.map → chunk-C4FDHCEZ.cjs.map} +1 -1
- package/dist/chunk-CLHIPYTC.js +10913 -0
- package/dist/chunk-CLHIPYTC.js.map +1 -0
- package/dist/{chunk-QJACEKMZ.js → chunk-CPKYIVWP.js} +3 -3
- package/dist/{chunk-QJACEKMZ.js.map → chunk-CPKYIVWP.js.map} +1 -1
- package/dist/{chunk-JDNHMVEV.cjs → chunk-FCTK7RGO.cjs} +35 -35
- package/dist/{chunk-JDNHMVEV.cjs.map → chunk-FCTK7RGO.cjs.map} +1 -1
- package/dist/{chunk-IFRFYBGE.js → chunk-IKHRZ5UQ.js} +3 -3
- package/dist/{chunk-IFRFYBGE.js.map → chunk-IKHRZ5UQ.js.map} +1 -1
- package/dist/{chunk-SB7AYE6S.cjs → chunk-JHEZJKTX.cjs} +250 -6
- package/dist/chunk-JHEZJKTX.cjs.map +1 -0
- package/dist/{chunk-GIO77YH5.js → chunk-NN4FL7SB.js} +4 -4
- package/dist/{chunk-GIO77YH5.js.map → chunk-NN4FL7SB.js.map} +1 -1
- package/dist/{chunk-I3QS7BSY.cjs → chunk-OSKABA64.cjs} +8 -8
- package/dist/{chunk-I3QS7BSY.cjs.map → chunk-OSKABA64.cjs.map} +1 -1
- package/dist/{chunk-AXQK7UH7.cjs → chunk-OY7XOPDG.cjs} +49 -49
- package/dist/{chunk-AXQK7UH7.cjs.map → chunk-OY7XOPDG.cjs.map} +1 -1
- package/dist/{chunk-ZLRB5BVT.cjs → chunk-PHR4UETI.cjs} +18 -18
- package/dist/{chunk-ZLRB5BVT.cjs.map → chunk-PHR4UETI.cjs.map} +1 -1
- package/dist/chunk-S3H4TI6N.cjs +10948 -0
- package/dist/chunk-S3H4TI6N.cjs.map +1 -0
- package/dist/{chunk-6JABZ5OC.js → chunk-SMKIVT7P.js} +4 -4
- package/dist/{chunk-6JABZ5OC.js.map → chunk-SMKIVT7P.js.map} +1 -1
- package/dist/{chunk-CYMIXKFT.js → chunk-TXHFL725.js} +247 -3
- package/dist/chunk-TXHFL725.js.map +1 -0
- package/dist/{chunk-WARNUGXT.cjs → chunk-UNR34GYU.cjs} +191 -2
- package/dist/chunk-UNR34GYU.cjs.map +1 -0
- package/dist/{chunk-4YUXR23B.cjs → chunk-VAK4RUNU.cjs} +13 -13
- package/dist/{chunk-4YUXR23B.cjs.map → chunk-VAK4RUNU.cjs.map} +1 -1
- package/dist/{chunk-JCYK7NSR.js → chunk-XZXUU3YH.js} +191 -2
- package/dist/chunk-XZXUU3YH.js.map +1 -0
- package/dist/{chunk-H4JMZWOE.cjs → chunk-YCCQXX3U.cjs} +39 -39
- package/dist/{chunk-H4JMZWOE.cjs.map → chunk-YCCQXX3U.cjs.map} +1 -1
- package/dist/entries/assembly.cjs +29 -29
- package/dist/entries/assembly.js +6 -6
- package/dist/entries/picker-art.cjs +19 -19
- package/dist/entries/picker-art.d.cts +188 -0
- package/dist/entries/picker-art.d.ts +188 -0
- package/dist/entries/picker-art.js +1 -1
- package/dist/entries/picker-catalogs.cjs +57 -57
- package/dist/entries/picker-catalogs.js +5 -5
- package/dist/entries/pickers.cjs +374 -374
- package/dist/entries/pickers.d.cts +1 -1
- package/dist/entries/pickers.d.ts +1 -1
- package/dist/entries/pickers.js +3 -3
- package/dist/entries/presets.cjs +47 -31
- package/dist/entries/presets.d.cts +37 -1
- package/dist/entries/presets.d.ts +37 -1
- package/dist/entries/presets.js +1 -1
- package/dist/entries/prompt-builder.cjs +76 -76
- package/dist/entries/prompt-builder.js +5 -5
- package/dist/index.cjs +591 -575
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +10 -10
- package/package.json +2 -2
- package/src/__tests__/factory-preset-previews.test.ts +98 -25
- package/src/__tests__/factory-preset-references.test.ts +4 -0
- package/src/__tests__/fixtures/parameter-hint-golden.json +6 -6
- package/src/__tests__/preset-tiles-generated.test.ts +88 -0
- package/src/factory-presets/generate-image.ts +8 -0
- package/src/factory-presets/index.ts +10 -1
- package/src/factory-presets/preview-files.generated.ts +639 -1
- package/src/factory-presets/previews.ts +34 -2
- package/src/factory-presets/tiles/business-and-marketing.generated.ts +426 -0
- package/src/factory-presets/tiles/business.generated.ts +261 -0
- package/src/factory-presets/tiles/content-and-creative.generated.ts +286 -0
- package/src/factory-presets/tiles/family-and-events.generated.ts +222 -0
- package/src/factory-presets/tiles/home-and-spaces.generated.ts +231 -0
- package/src/factory-presets/tiles/index.generated.ts +32 -0
- package/src/factory-presets/tiles/layout.generated.ts +110 -0
- package/src/factory-presets/tiles/life-and-events.generated.ts +246 -0
- package/src/factory-presets/tiles/personal-photos.generated.ts +306 -0
- package/src/factory-presets/tiles/products-and-fashion.generated.ts +303 -0
- package/src/factory-presets/tiles/shorts-tiktok.generated.ts +156 -0
- package/src/factory-presets/tiles/social-and-ads.generated.ts +606 -0
- package/src/factory-presets/tiles/text.generated.ts +591 -0
- package/src/factory-presets/tiles/youtube.generated.ts +906 -0
- package/src/factory-presets/types.ts +14 -0
- package/src/photographer.ts +277 -0
- package/src/picker-art/look-preview-sets.ts +189 -0
- package/dist/chunk-CYMIXKFT.js.map +0 -1
- package/dist/chunk-JCYK7NSR.js.map +0 -1
- package/dist/chunk-LZ53F5BN.cjs +0 -5652
- package/dist/chunk-LZ53F5BN.cjs.map +0 -1
- package/dist/chunk-RB2F5JQF.js +0 -5621
- package/dist/chunk-RB2F5JQF.js.map +0 -1
- package/dist/chunk-SB7AYE6S.cjs.map +0 -1
- package/dist/chunk-WARNUGXT.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -10,7 +10,7 @@ export { P as PickerImageOptions, a as PickerOptionImage, R as RENDER_WIDTH_LADD
|
|
|
10
10
|
export { ADULT_AGE_IDS, ADULT_ONLY_FLAG, ADULT_SWEPT_CATALOG_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, AdultOnlyEntry, FLOORED_PICKER_KEYS, ForeignCatalogId, GAPS_SCHEMA, MINOR_IMPLYING_TYPE_IDS, MULTI_PICKER_WIRING, MultiDimPickerWiring, MultiPickerAnalyzerSpec, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_TYPES, PickerAnalyzer, PickerAnalyzerDescriptor, PickerAnalyzerSpec, PickerApplyMode, PickerDimensionSpec, PickerGaps, PickerType, PickerWiring, PickerWiringEntry, RETIRED_ADULT_ONLY_HINT_STRINGS, SINGLE_PICKER_WIRING, SingleDimPickerWiring, __resetCatalogIdGuardForTests, applyMinorAgeFloorToPickerValues, applyPickerJson, buildMultiPickerAnalyzerSpec, buildNeedleAlternationSource, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, catalogGuardActive, composedHas, composedOption, composedOptionIndex, containsMinorAgeHint, curateEntries, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getCharacterMotionBindings, getMinorAgeHintStrings, getParameterPromptHint, getPickerAnalyzer, getPickerWiring, isAnalyzablePicker, isMinorAge, overlayEntry, pickerFanoutTargets, setComposedCatalogResolver } from './entries/picker-catalogs.cjs';
|
|
11
11
|
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, ActionFx, ActionFxCategory, Aesthetic, AestheticCategory, Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, Backdrop, BackdropCategory, 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, CameraFormat, CameraMotion, CameraMotionCategory, CategorizedInstrument, CharacterFx, CharacterFxCategory, CharacterFxDuration, CharacterFxIntensity, CharacterFxPosition, CharacterFxTiming, CharacterFxTimingOption, CharacterMotion, CharacterMotionBindings, CharacterMotionCategory, CharacterMotionDiagnostic, CharacterMotionFloor, CharacterMotionPace, CharacterMotionPosition, CharacterMotionTiming, CharacterMotionTimingOption, ColorLook, ColorLookCategory, CompositionEffect, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, Era, EraCategory, ExposureCategory, ExposureSettings, ExposureValue, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, Framing, FramingCategory, FramingValue, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, HeldProp, HeldPropCategory, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, InstrumentCategory, InstrumentationEntry, 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, Lens, Lighting, LightingCategory, LightingValue, LoopSubject, LoopSubjectCategory, 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, Material, MaterialCategory, Mood, MoodCategory, MoodValue, MusicEra, MusicGenre, MusicGenreCategory, MusicMoodData, MusicMoodEntry, MusicSubgenre, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PhotoGenre, PhotoGenreCategory, Photographer, PhotographerCategory, Pose, PoseCategory, PoseValue, PostProcessEffect, RENDER_QUALITIES, RENDER_QUALITY_IDS, RenderQuality, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SINGING_STYLES, STYLES, STYLE_IDS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_DIMENSION_SECTIONS, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, Setting, SettingCategory, Style, Styling, StylingDimension, StylingDimensionSection, StylingValue, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, Temporal, TemporalCategory, TemporalValue, 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, VoiceCharacterEntry, VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, WardrobeDimension, WardrobeEntry, WardrobeValue, 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, buildWardrobeHints, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, 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, getCharacterMotionDiagnostics, 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, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getStyle, getStyleLabel, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, isDeniedStyleId, isInstrumentalVocal, isVantageFraming } from './entries/pickers.cjs';
|
|
12
12
|
export { A as AURORA_SWEEP_STYLE, D as DEBRIS_SHOWER_STYLE, G as GARDEN_BLOOM_STYLE, I as INSTANT_CUT_CLAUSE, S as SAKURA_PETALS_STYLE, a as SAND_STORM_STYLE, b as SMOKE_PUFF_STYLE, T as TRANSITIONS, c as TRANSITION_CATEGORY_LABELS, d as TRANSITION_CATEGORY_ORDER, e as TRANSITION_DURATIONS, f as TRANSITION_IDS, g as TRANSITION_INTENSITIES, h as TRANSITION_OPTION_FIELDS, i as TRANSITION_POSITIONS, j as TRANSITION_STYLE_FIELD, k as Transition, l as TransitionCategory, m as TransitionDuration, n as TransitionHintOptions, o as TransitionHintScope, p as TransitionIntensity, q as TransitionOption, r as TransitionOptionChoice, s as TransitionOptionValues, t as TransitionPosition, u as TransitionTiming, v as TransitionTimingOption, W as WHITE_FLASH_STYLE, w as WIPE_DIRECTION, x as blendedCutClause, y as composeTransitionHintFromConnections, z as getTransition, B as getTransitionLabel, C as getTransitionOptions, E as getTransitionPromptHint, F as getTransitionTerm, H as isBlendableTransition, J as isInstantTransition, K as readTransitionOptionValues, L as renderTransitionBases } from './transitions-BLFfAJUH.cjs';
|
|
13
|
-
export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, BrandCasing, BrandFonts, BrandLogo, BrandPalette, BrandPresetId, BrandPresetMeta, BrandTokens, BrandTypeSpec, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, CaptionLanguageLevers, CaptionSegmentRole, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_SNIPPETS, FactoryPreset, FactoryPresetGroup, HOOK_PLATE_PRESET_ID, HookPlateSegmentsOptions, HookPlateSegmentsResult, 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, ObjectPresetAssetType, PRESET_PREVIEW_PATH, STYLE_PRESETS, StylePreset, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './entries/presets.cjs';
|
|
13
|
+
export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, BrandCasing, BrandFonts, BrandLogo, BrandPalette, BrandPresetId, BrandPresetMeta, BrandTokens, BrandTypeSpec, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, CaptionLanguageLevers, CaptionSegmentRole, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_PRESET_PREVIEW_LARGE_FILES, FACTORY_SNIPPETS, FactoryPreset, FactoryPresetGroup, HOOK_PLATE_PRESET_ID, HookPlateSegmentsOptions, HookPlateSegmentsResult, 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, ObjectPresetAssetType, PRESET_PREVIEW_LARGE_WIDTH, PRESET_PREVIEW_PATH, PRESET_PREVIEW_WIDTH, PresetPreviewLargeFile, STYLE_PRESETS, StylePreset, factoryPresetPreviewSrcSet, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './entries/presets.cjs';
|
|
14
14
|
export { PromptClauseSlot, ReferenceLineFormat, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, SlottedPromptClause, appendReferenceLines, asBodyClauses, composeSectionedPrompt, endsInsideStyleSection, insertBeforeStyleSection, nearestColorName, partitionStyleClauses, readDirectionFields, readStructuredFields, readSubjectFields, referenceDescriptionLine, renderDescribedReferenceLines, renderReferenceCaptionLines, renderStyleSection, sectionedClauseCosts, splitStyleSection, styleSectionFromClauses, styleSlotFor } from './entries/prompt-builder.cjs';
|
|
15
15
|
export { A as ANGLE_LABELS, a as ASPECT_RATIO_LABELS, B as BuildImagePromptConfig, b as BuildImagePromptOverflowResult, c as BuildImagePromptResult, d as BuildImagePromptSegmentsResult, D as DIRECTION_ARRAY_CEILING, e as DIRECTION_FIELDS, f as DIRECTION_ID_MAX_CHARS, g as DIRECTION_KEYS, h as DirectionFamily, i as DirectionFieldRow, j as DirectionFieldSpec, k as DirectionFields, l as DirectionHintClause, m as DirectionHintMode, n as DirectionKey, o as DirectionRenderOptions, p as DirectionStyleGroup, q as DirectionSurface, F as FILM_STYLE_KEYS, I as IMAGE_HINT_MODE_DEFAULT, r as ImageDirectionKey, M as MAX_SUBJECT_KEYS, s as MOVEMENT_LABELS, P as PromptSegment, t as PromptSegmentOrigin, R as ResolveCharacterMentionsResult, u as ResolveLocationMentionsResult, S as SCENE_PROMPT_MAX_LENGTH, v as SHOT_LABELS, w as SUBJECT_ARRAY_CEILING, x as SUBJECT_CUSTOM_AGE_KEY, y as SUBJECT_FIELDS, z as SUBJECT_FOLD_KEYS, C as SUBJECT_ID_MAX_CHARS, E as SUBJECT_IMAGE_HINT_MODE_DEFAULT, G as SUBJECT_KEYS, H as SUBJECT_KEY_MAX_CHARS, J as SUBJECT_VIDEO_HINT_MODE_DEFAULT, K as StructuredPromptFields, L as StyleReferenceInput, N as SubjectFieldRow, O as SubjectFieldSpec, Q as SubjectFields, T as SubjectGroupFieldSpec, U as SubjectHintMode, V as SubjectIdsFieldSpec, W as SubjectSurface, X as USER_DIRECTION_REF_KINDS, Y as UserDirectionRef, Z as UserDirectionRefKind, _ as VIDEO_HINT_MODE_DEFAULT, $ as VideoDirectionKey, a0 as applyReferenceOrderToVideo, a1 as buildIdentityDirectives, a2 as buildImagePrompt, a3 as buildImagePromptSegments, a4 as buildImagePromptWithOverflow, a5 as buildReferenceBlocks, a6 as buildScenePrompt, a7 as directionFieldsForSurface, a8 as directionKeyForUserRef, a9 as expandImagePositionRefs, aa as expandImageRefTokens, ab as getRegisteredSubjectKeys, ac as modeForFamily, ad as normalizeSubjectFields, ae as parseUserDirectionRef, af as renderDirectionHintClauses, ag as renderDirectionHints, ah as renderMoodboardClause, ai as renderPaletteClause, aj as renderStructuredFields, ak as renderSubjectHints, al as resolveCharacterMentions, am as resolveLocationMentions, an as styleReferenceDescription, ao as subjectFieldsForSurface, ap as truncateText, aq as userDirectionRefValue, ar as userRefKindOfDirectionKey } from './subject-registry-CQi_CZfJ.cjs';
|
|
16
16
|
export { ComputeNodePromptArgs, LlmChatFieldArgs, NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, NodeSendTextArgs, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, PROMPT_HINT_SEPARATOR, PromptFieldSpec, PromptIconKind, ResolvePromptArgs, TEXT_REQUIRED_NODE_TYPES, WIRED_OUTPUT_NODE_TYPES, appendPromptHints, applyPromptAffixes, composeNegative, computeAiWriterInput, computeLlmChatFields, computeNodePrompt, computeNodeSendText, computeScriptTopic, getPromptFields, getSnippetMedia, joinHintFragments, joinPromptHints, joinPromptParts, joinSentences, keepableDirectionHints, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, promptAffixCoreField, promptFieldCarriesAffixes, promptPartSeparator, resolvePrompt, stripAudioTags } from './entries/prompt-fields.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { P as PickerImageOptions, a as PickerOptionImage, R as RENDER_WIDTH_LADD
|
|
|
10
10
|
export { ADULT_AGE_IDS, ADULT_ONLY_FLAG, ADULT_SWEPT_CATALOG_IDS, ALL_PICKER_WIRING, ANALYZABLE_PICKER_TYPES, AdultOnlyEntry, FLOORED_PICKER_KEYS, ForeignCatalogId, GAPS_SCHEMA, MINOR_IMPLYING_TYPE_IDS, MULTI_PICKER_WIRING, MultiDimPickerWiring, MultiPickerAnalyzerSpec, PICKER_ANALYZER_FAMILIES, PICKER_ANALYZER_REGISTRY, PICKER_TYPES, PickerAnalyzer, PickerAnalyzerDescriptor, PickerAnalyzerSpec, PickerApplyMode, PickerDimensionSpec, PickerGaps, PickerType, PickerWiring, PickerWiringEntry, RETIRED_ADULT_ONLY_HINT_STRINGS, SINGLE_PICKER_WIRING, SingleDimPickerWiring, __resetCatalogIdGuardForTests, applyMinorAgeFloorToPickerValues, applyPickerJson, buildMultiPickerAnalyzerSpec, buildNeedleAlternationSource, buildPickerAnalyzerSpec, buildPickerLegend, buildPickerZodSchema, catalogGuardActive, composedHas, composedOption, composedOptionIndex, containsMinorAgeHint, curateEntries, curatedAnimalPromptHint, curatedAnimalTerm, curatedFurnitureText, curatedVehicleText, curatedWeaponText, findForeignCatalogIds, findForeignCatalogIdsInBody, foreignCatalogIdMessage, getAdultOnlyEntries, getAdultOnlyHintStrings, getAdultOnlyIds, getCharacterMotionBindings, getMinorAgeHintStrings, getParameterPromptHint, getPickerAnalyzer, getPickerWiring, isAnalyzablePicker, isMinorAge, overlayEntry, pickerFanoutTargets, setComposedCatalogResolver } from './entries/picker-catalogs.js';
|
|
11
11
|
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, ActionFx, ActionFxCategory, Aesthetic, AestheticCategory, Atmosphere, BACKDROPS, BACKDROP_CATEGORY_LABELS, BACKDROP_CATEGORY_ORDER, BACKDROP_IDS, Backdrop, BackdropCategory, 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, CameraFormat, CameraMotion, CameraMotionCategory, CategorizedInstrument, CharacterFx, CharacterFxCategory, CharacterFxDuration, CharacterFxIntensity, CharacterFxPosition, CharacterFxTiming, CharacterFxTimingOption, CharacterMotion, CharacterMotionBindings, CharacterMotionCategory, CharacterMotionDiagnostic, CharacterMotionFloor, CharacterMotionPace, CharacterMotionPosition, CharacterMotionTiming, CharacterMotionTimingOption, ColorLook, ColorLookCategory, CompositionEffect, ERAS, ERA_CATEGORY_LABELS, ERA_CATEGORY_ORDER, ERA_IDS, EXPOSURE_CATEGORY_LABELS, EXPOSURE_CATEGORY_ORDER, EXPOSURE_FIELD_BY_CATEGORY, EXPOSURE_IDS, EXPOSURE_SETTINGS, Era, EraCategory, ExposureCategory, ExposureSettings, ExposureValue, FRAMINGS, FRAMING_CATEGORY_LABELS, FRAMING_CATEGORY_ORDER, FRAMING_FIELD_BY_CATEGORY, FRAMING_IDS, Framing, FramingCategory, FramingValue, HELD_PROPS, HELD_PROP_CATEGORY_LABELS, HELD_PROP_CATEGORY_ORDER, HELD_PROP_IDS, HeldProp, HeldPropCategory, INSTRUMENTATION_DEFAULT_DATA, INSTRUMENTS, INSTRUMENT_CATEGORY_LABELS, INSTRUMENT_CATEGORY_ORDER, InstrumentCategory, InstrumentationEntry, 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, Lens, Lighting, LightingCategory, LightingValue, LoopSubject, LoopSubjectCategory, 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, Material, MaterialCategory, Mood, MoodCategory, MoodValue, MusicEra, MusicGenre, MusicGenreCategory, MusicMoodData, MusicMoodEntry, MusicSubgenre, PHOTOGRAPHERS, PHOTOGRAPHER_CATEGORY_LABELS, PHOTOGRAPHER_CATEGORY_ORDER, PHOTOGRAPHER_IDS, PHOTO_GENRES, PHOTO_GENRE_CATEGORY_LABELS, PHOTO_GENRE_CATEGORY_ORDER, PHOTO_GENRE_IDS, POSES, POSE_CATEGORY_LABELS, POSE_CATEGORY_ORDER, POSE_IDS, POST_PROCESS_EFFECTS, POST_PROCESS_EFFECT_IDS, PRODUCTION_STYLES, PhotoGenre, PhotoGenreCategory, Photographer, PhotographerCategory, Pose, PoseCategory, PoseValue, PostProcessEffect, RENDER_QUALITIES, RENDER_QUALITY_IDS, RenderQuality, SETTINGS, SETTING_CATEGORY_LABELS, SETTING_IDS, SINGING_STYLES, STYLES, STYLE_IDS, STYLINGS, STYLING_DIMENSION_LABELS, STYLING_DIMENSION_ORDER, STYLING_DIMENSION_SECTIONS, STYLING_FIELD_BY_DIMENSION, STYLING_IDS, Setting, SettingCategory, Style, Styling, StylingDimension, StylingDimensionSection, StylingValue, TEMPORALS, TEMPORAL_CATEGORY_LABELS, TEMPORAL_CATEGORY_ORDER, TEMPORAL_FIELD_BY_CATEGORY, TEMPORAL_IDS, Temporal, TemporalCategory, TemporalValue, 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, VoiceCharacterEntry, VoiceDeliveryEntry, WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, WardrobeDimension, WardrobeEntry, WardrobeValue, 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, buildWardrobeHints, composeCameraMotionHintFromConnections, composeCameraMotionTermFromConnections, composeCharacterFxHintFromConnections, composeCharacterMotionHintFromConnections, 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, getCharacterMotionDiagnostics, 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, getPose, getPoseLabel, getPosePromptHint, getPoseTerm, getPostProcessEffect, getPostProcessEffectLabel, getPostProcessEffectPromptHint, getPostProcessEffectTerm, getProductionStyle, getProductionStyleTerm, getRenderQuality, getRenderQualityLabel, getRenderQualityPromptHint, getRenderQualityTerm, getSetting, getSettingLabel, getSettingPromptHint, getSettingTerm, getSingingStyle, getSingingStyleTerm, getStyle, getStyleLabel, getStylePromptHint, getStyleTerm, getStyling, getStylingDimensionLimit, getStylingLabel, getStylingPromptHint, getStylingTerm, getTemporal, getTemporalLabel, getTemporalPromptHint, getTemporalTerm, getVocalPresence, getVocalPresenceTerm, getVoiceAccent, getVoiceAccentTerm, getVoiceAge, getVoiceAgeTerm, getVoiceArchetype, getVoiceArchetypeTerm, getVoiceEmotion, getVoiceEmotionTerm, getVoiceGender, getVoiceGenderTerm, getVoiceLanguage, getVoiceLanguageTerm, getVoicePace, getVoicePaceTerm, getVoiceTimbre, getVoiceTimbreTerm, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint, isDeniedStyleId, isInstrumentalVocal, isVantageFraming } from './entries/pickers.js';
|
|
12
12
|
export { A as AURORA_SWEEP_STYLE, D as DEBRIS_SHOWER_STYLE, G as GARDEN_BLOOM_STYLE, I as INSTANT_CUT_CLAUSE, S as SAKURA_PETALS_STYLE, a as SAND_STORM_STYLE, b as SMOKE_PUFF_STYLE, T as TRANSITIONS, c as TRANSITION_CATEGORY_LABELS, d as TRANSITION_CATEGORY_ORDER, e as TRANSITION_DURATIONS, f as TRANSITION_IDS, g as TRANSITION_INTENSITIES, h as TRANSITION_OPTION_FIELDS, i as TRANSITION_POSITIONS, j as TRANSITION_STYLE_FIELD, k as Transition, l as TransitionCategory, m as TransitionDuration, n as TransitionHintOptions, o as TransitionHintScope, p as TransitionIntensity, q as TransitionOption, r as TransitionOptionChoice, s as TransitionOptionValues, t as TransitionPosition, u as TransitionTiming, v as TransitionTimingOption, W as WHITE_FLASH_STYLE, w as WIPE_DIRECTION, x as blendedCutClause, y as composeTransitionHintFromConnections, z as getTransition, B as getTransitionLabel, C as getTransitionOptions, E as getTransitionPromptHint, F as getTransitionTerm, H as isBlendableTransition, J as isInstantTransition, K as readTransitionOptionValues, L as renderTransitionBases } from './transitions-BgwWM37i.js';
|
|
13
|
-
export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, BrandCasing, BrandFonts, BrandLogo, BrandPalette, BrandPresetId, BrandPresetMeta, BrandTokens, BrandTypeSpec, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, CaptionLanguageLevers, CaptionSegmentRole, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_SNIPPETS, FactoryPreset, FactoryPresetGroup, HOOK_PLATE_PRESET_ID, HookPlateSegmentsOptions, HookPlateSegmentsResult, 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, ObjectPresetAssetType, PRESET_PREVIEW_PATH, STYLE_PRESETS, StylePreset, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './entries/presets.js';
|
|
13
|
+
export { BODY_CAPTIONS_PRESET_ID, BRAND_PRESETS, BRAND_PRESET_IDS, BRAND_PRESET_META, BrandCasing, BrandFonts, BrandLogo, BrandPalette, BrandPresetId, BrandPresetMeta, BrandTokens, BrandTypeSpec, CAPTION_LEVERS_BY_LANGUAGE, CAPTION_SEGMENT_LEVER_KEYS, CaptionLanguageLevers, CaptionSegmentRole, FACTORY_PRESETS, FACTORY_PRESET_PREVIEW_FILES, FACTORY_PRESET_PREVIEW_LARGE_FILES, FACTORY_SNIPPETS, FactoryPreset, FactoryPresetGroup, HOOK_PLATE_PRESET_ID, HookPlateSegmentsOptions, HookPlateSegmentsResult, 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, ObjectPresetAssetType, PRESET_PREVIEW_LARGE_WIDTH, PRESET_PREVIEW_PATH, PRESET_PREVIEW_WIDTH, PresetPreviewLargeFile, STYLE_PRESETS, StylePreset, factoryPresetPreviewSrcSet, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './entries/presets.js';
|
|
14
14
|
export { PromptClauseSlot, ReferenceLineFormat, STYLE_SECTION_GAP, STYLE_SECTION_HEADER, SlottedPromptClause, appendReferenceLines, asBodyClauses, composeSectionedPrompt, endsInsideStyleSection, insertBeforeStyleSection, nearestColorName, partitionStyleClauses, readDirectionFields, readStructuredFields, readSubjectFields, referenceDescriptionLine, renderDescribedReferenceLines, renderReferenceCaptionLines, renderStyleSection, sectionedClauseCosts, splitStyleSection, styleSectionFromClauses, styleSlotFor } from './entries/prompt-builder.js';
|
|
15
15
|
export { A as ANGLE_LABELS, a as ASPECT_RATIO_LABELS, B as BuildImagePromptConfig, b as BuildImagePromptOverflowResult, c as BuildImagePromptResult, d as BuildImagePromptSegmentsResult, D as DIRECTION_ARRAY_CEILING, e as DIRECTION_FIELDS, f as DIRECTION_ID_MAX_CHARS, g as DIRECTION_KEYS, h as DirectionFamily, i as DirectionFieldRow, j as DirectionFieldSpec, k as DirectionFields, l as DirectionHintClause, m as DirectionHintMode, n as DirectionKey, o as DirectionRenderOptions, p as DirectionStyleGroup, q as DirectionSurface, F as FILM_STYLE_KEYS, I as IMAGE_HINT_MODE_DEFAULT, r as ImageDirectionKey, M as MAX_SUBJECT_KEYS, s as MOVEMENT_LABELS, P as PromptSegment, t as PromptSegmentOrigin, R as ResolveCharacterMentionsResult, u as ResolveLocationMentionsResult, S as SCENE_PROMPT_MAX_LENGTH, v as SHOT_LABELS, w as SUBJECT_ARRAY_CEILING, x as SUBJECT_CUSTOM_AGE_KEY, y as SUBJECT_FIELDS, z as SUBJECT_FOLD_KEYS, C as SUBJECT_ID_MAX_CHARS, E as SUBJECT_IMAGE_HINT_MODE_DEFAULT, G as SUBJECT_KEYS, H as SUBJECT_KEY_MAX_CHARS, J as SUBJECT_VIDEO_HINT_MODE_DEFAULT, K as StructuredPromptFields, L as StyleReferenceInput, N as SubjectFieldRow, O as SubjectFieldSpec, Q as SubjectFields, T as SubjectGroupFieldSpec, U as SubjectHintMode, V as SubjectIdsFieldSpec, W as SubjectSurface, X as USER_DIRECTION_REF_KINDS, Y as UserDirectionRef, Z as UserDirectionRefKind, _ as VIDEO_HINT_MODE_DEFAULT, $ as VideoDirectionKey, a0 as applyReferenceOrderToVideo, a1 as buildIdentityDirectives, a2 as buildImagePrompt, a3 as buildImagePromptSegments, a4 as buildImagePromptWithOverflow, a5 as buildReferenceBlocks, a6 as buildScenePrompt, a7 as directionFieldsForSurface, a8 as directionKeyForUserRef, a9 as expandImagePositionRefs, aa as expandImageRefTokens, ab as getRegisteredSubjectKeys, ac as modeForFamily, ad as normalizeSubjectFields, ae as parseUserDirectionRef, af as renderDirectionHintClauses, ag as renderDirectionHints, ah as renderMoodboardClause, ai as renderPaletteClause, aj as renderStructuredFields, ak as renderSubjectHints, al as resolveCharacterMentions, am as resolveLocationMentions, an as styleReferenceDescription, ao as subjectFieldsForSurface, ap as truncateText, aq as userDirectionRefValue, ar as userRefKindOfDirectionKey } from './subject-registry-DFiGx49v.js';
|
|
16
16
|
export { ComputeNodePromptArgs, LlmChatFieldArgs, NODE_PROMPT_CANDIDATE_FIELDS, NODE_PROMPT_FIELDS, NodeSendTextArgs, PROMPT_AFFIX_CORE_FIELD_OVERRIDES, PROMPT_AFFIX_NODE_TYPES, PROMPT_HINT_SEPARATOR, PromptFieldSpec, PromptIconKind, ResolvePromptArgs, TEXT_REQUIRED_NODE_TYPES, WIRED_OUTPUT_NODE_TYPES, appendPromptHints, applyPromptAffixes, composeNegative, computeAiWriterInput, computeLlmChatFields, computeNodePrompt, computeNodeSendText, computeScriptTopic, getPromptFields, getSnippetMedia, joinHintFragments, joinPromptHints, joinPromptParts, joinSentences, keepableDirectionHints, nodeHasInlinePrompt, nodeHasPromptField, nodeSupportsPromptAffixes, promptAffixCoreField, promptFieldCarriesAffixes, promptPartSeparator, resolvePrompt, stripAudioTags } from './entries/prompt-fields.js';
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
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_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_PATH, SNIPPET_MEDIA_VALUES, STYLE_PRESETS, factoryPresetPreviewUrl, getFactoryPresets, getFactorySnippets, getStylePreset, groupFactoryPresets, hookPlateCaptionSegments, presetMinReferences, resolveBrandInput } from './chunk-
|
|
2
|
-
export { readDirectionFields, readStructuredFields, readSubjectFields } from './chunk-
|
|
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-CLHIPYTC.js';
|
|
2
|
+
export { readDirectionFields, readStructuredFields, readSubjectFields } from './chunk-NN4FL7SB.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-
|
|
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-
|
|
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-2HJJBXGA.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-SMKIVT7P.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';
|
|
@@ -13,15 +13,15 @@ export { CINEMATIC_LOOK_TAIL, FILM_STILL_PREFIX, NEUTRAL_PERSON, REALISM_FINISH,
|
|
|
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
15
|
import './chunk-HOMR5XFP.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-
|
|
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-
|
|
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-
|
|
19
|
-
export { WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, buildWardrobeHints, getCharacterMotionDiagnostics, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint } from './chunk-
|
|
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, 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, getStylePromptHint, getStyleTerm, 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, summarizePickerCatalogs } from './chunk-
|
|
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-2OIKQ4WB.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-57PTYJJX.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-CPKYIVWP.js';
|
|
19
|
+
export { WARDROBE, WARDROBE_CATEGORY_LABELS, WARDROBE_DIMENSION_ORDER, WARDROBE_FIELD_BY_DIMENSION, buildWardrobeHints, getCharacterMotionDiagnostics, getWardrobeEntriesByDimension, getWardrobeEntry, getWardrobePromptHint } from './chunk-IKHRZ5UQ.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, 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, getStylePromptHint, getStyleTerm, 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, summarizePickerCatalogs } from './chunk-TXHFL725.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';
|
|
24
|
-
export { CHARACTER_ART_FAMILIES, CHARACTER_ART_FILES, CHARACTER_ART_PATH, LOOK_PREVIEW_SETS, PICKER_ART_PATH, RENDER_WIDTH_LADDER, SOUND_ART, SOUND_ART_FILES, SOUND_RENDER_SETS, characterArtPath, characterSectionArtPath, characterSectionSlug, lookPreviewStillUrl, pickerOptionImage, pickerOptionImageUrl, pickerSectionImageUrl, soundArtFilePath, soundArtPath } from './chunk-
|
|
24
|
+
export { CHARACTER_ART_FAMILIES, CHARACTER_ART_FILES, CHARACTER_ART_PATH, LOOK_PREVIEW_SETS, PICKER_ART_PATH, RENDER_WIDTH_LADDER, SOUND_ART, SOUND_ART_FILES, SOUND_RENDER_SETS, characterArtPath, characterSectionArtPath, characterSectionSlug, lookPreviewStillUrl, pickerOptionImage, pickerOptionImageUrl, pickerSectionImageUrl, soundArtFilePath, soundArtPath } from './chunk-XZXUU3YH.js';
|
|
25
25
|
import './chunk-PZ5AY32C.js';
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
27
27
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodaro/prompts",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.45.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.
|
|
73
|
+
"@nodaro/shared": "^3.45.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"tsup": "^8.5.0",
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
// @test-watches frontend/public/preset-previews/**
|
|
2
2
|
/**
|
|
3
|
-
* Factory preset previews:
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
3
|
+
* Factory preset previews: two example pictures per preset, committed under
|
|
4
|
+
* frontend/public/preset-previews/ — the tile picture at
|
|
5
|
+
* <nodeType>/<slug>.<hash8>.webp (at most 512px wide) and the full-screen one
|
|
6
|
+
* at 1024/<nodeType>/<slug>.<hash8>.webp (1024px wide) — and served by the app
|
|
7
|
+
* at /preset-previews/… (cached as immutable, so the name must carry the
|
|
8
|
+
* file's own content hash). The generated maps (preview-files.generated.ts,
|
|
9
|
+
* written by tools/preset-previews/build.mts) are what the API reads to hand
|
|
10
|
+
* out `previewUrl` and `previewSrcSet`.
|
|
9
11
|
*
|
|
10
12
|
* The API must never point at a file that does not exist — the CDN in front
|
|
11
|
-
* keeps a 404 for a long time — so the
|
|
13
|
+
* keeps a 404 for a long time — so the maps and the folder must agree exactly:
|
|
12
14
|
* - every mapped file exists, is non-empty and carries its own hash;
|
|
13
15
|
* - every mapped id is a factory preset, and the file sits under its node
|
|
14
|
-
* type with its slug as the name;
|
|
15
|
-
* -
|
|
16
|
+
* type (the large one under 1024/ first) with its slug as the name;
|
|
17
|
+
* - a preset with a large picture also has the small one;
|
|
18
|
+
* - no file in the folder is missing from the maps (a dropped-in file that
|
|
16
19
|
* was never built, or a stale one).
|
|
17
20
|
* With no previews at all (the folder absent) every check holds and every
|
|
18
21
|
* `previewUrl` is null.
|
|
@@ -25,37 +28,55 @@ import { describe, expect, it } from "vitest"
|
|
|
25
28
|
import {
|
|
26
29
|
FACTORY_PRESETS,
|
|
27
30
|
FACTORY_PRESET_PREVIEW_FILES,
|
|
31
|
+
FACTORY_PRESET_PREVIEW_LARGE_FILES,
|
|
32
|
+
PRESET_PREVIEW_LARGE_WIDTH,
|
|
28
33
|
PRESET_PREVIEW_PATH,
|
|
34
|
+
PRESET_PREVIEW_WIDTH,
|
|
35
|
+
factoryPresetPreviewSrcSet,
|
|
29
36
|
factoryPresetPreviewUrl,
|
|
30
37
|
} from "../factory-presets.js"
|
|
31
38
|
|
|
32
39
|
const REPO_ROOT = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "..", "..")
|
|
33
40
|
const PREVIEW_DIR = join(REPO_ROOT, "frontend", "public", "preset-previews")
|
|
41
|
+
const LARGE_DIR = String(PRESET_PREVIEW_LARGE_WIDTH)
|
|
34
42
|
const FILE_NAME = /^([a-z0-9]+(?:-[a-z0-9]+)*)\.([0-9a-f]{8})\.webp$/
|
|
35
43
|
|
|
36
|
-
/** Every file under
|
|
37
|
-
function
|
|
38
|
-
if (!existsSync(
|
|
39
|
-
return readdirSync(
|
|
40
|
-
if (entry.name.startsWith(".")) return []
|
|
44
|
+
/** Every file under a node-type folder of `root`, as `<nodeType>/<name>` (dotfiles skipped). */
|
|
45
|
+
function filesIn(root: string): string[] {
|
|
46
|
+
if (!existsSync(root)) return []
|
|
47
|
+
return readdirSync(root, { withFileTypes: true }).flatMap((entry) => {
|
|
48
|
+
if (entry.name.startsWith(".") || entry.name === LARGE_DIR) return []
|
|
41
49
|
if (!entry.isDirectory()) return [entry.name]
|
|
42
|
-
return readdirSync(join(
|
|
50
|
+
return readdirSync(join(root, entry.name))
|
|
43
51
|
.filter((name) => !name.startsWith("."))
|
|
44
52
|
.map((name) => `${entry.name}/${name}`)
|
|
45
53
|
})
|
|
46
54
|
}
|
|
47
55
|
|
|
56
|
+
/** Every file under the folder: the small ones as `<nodeType>/<name>`, the large ones as `1024/<nodeType>/<name>`. */
|
|
57
|
+
function filesOnDisk(): string[] {
|
|
58
|
+
return [...filesIn(PREVIEW_DIR), ...filesIn(join(PREVIEW_DIR, LARGE_DIR)).map((f) => `${LARGE_DIR}/${f}`)]
|
|
59
|
+
}
|
|
60
|
+
|
|
48
61
|
const factoryIds = new Set(Object.values(FACTORY_PRESETS).flatMap((list) => list.map((p) => p.id)))
|
|
49
62
|
|
|
50
|
-
|
|
63
|
+
/** The file's path split as the map states it: the large prefix (or none), the node type and the name. */
|
|
64
|
+
function parts(file: string, large: boolean): { prefix: string; nodeType: string; name: string } {
|
|
65
|
+
const segments = file.split("/")
|
|
66
|
+
const prefix = large ? segments.shift() ?? "" : ""
|
|
67
|
+
return { prefix, nodeType: segments[0] ?? "", name: segments[1] ?? "" }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function checkMap(map: Readonly<Record<string, string>>, large: boolean): void {
|
|
51
71
|
it("every mapped id is a factory preset, filed under its node type and slug", () => {
|
|
52
72
|
const wrong: string[] = []
|
|
53
|
-
for (const [id, file] of Object.entries(
|
|
73
|
+
for (const [id, file] of Object.entries(map)) {
|
|
74
|
+
if (file !== file.toLowerCase() || file.includes("\\")) wrong.push(`${id}: ${file} is not a plain forward-slash path`)
|
|
54
75
|
if (!factoryIds.has(id)) wrong.push(`${id}: not a factory preset`)
|
|
55
|
-
const
|
|
56
|
-
const match = FILE_NAME.exec(name
|
|
76
|
+
const { prefix, nodeType, name } = parts(file, large)
|
|
77
|
+
const match = FILE_NAME.exec(name)
|
|
57
78
|
const slug = id.slice(id.indexOf("/") + 1)
|
|
58
|
-
if (`${nodeType}/${match?.[1]}` !== `${id.slice(0, id.indexOf("/"))}/${slug}`) {
|
|
79
|
+
if (prefix !== (large ? LARGE_DIR : "") || `${nodeType}/${match?.[1]}` !== `${id.slice(0, id.indexOf("/"))}/${slug}`) {
|
|
59
80
|
wrong.push(`${id}: filed as ${file}`)
|
|
60
81
|
}
|
|
61
82
|
}
|
|
@@ -64,7 +85,7 @@ describe("factory preset previews — the map and the folder agree", () => {
|
|
|
64
85
|
|
|
65
86
|
it("every mapped file exists, is non-empty and is named by its own content hash", () => {
|
|
66
87
|
const wrong: string[] = []
|
|
67
|
-
for (const [id, file] of Object.entries(
|
|
88
|
+
for (const [id, file] of Object.entries(map)) {
|
|
68
89
|
const path = join(PREVIEW_DIR, file)
|
|
69
90
|
if (!existsSync(path) || !statSync(path).isFile()) {
|
|
70
91
|
wrong.push(`${id}: ${file} is missing`)
|
|
@@ -73,18 +94,39 @@ describe("factory preset previews — the map and the folder agree", () => {
|
|
|
73
94
|
const bytes = readFileSync(path)
|
|
74
95
|
if (bytes.length === 0) wrong.push(`${id}: ${file} is empty`)
|
|
75
96
|
const hash = createHash("sha256").update(bytes).digest("hex").slice(0, 8)
|
|
76
|
-
if (FILE_NAME.exec(file.
|
|
97
|
+
if (FILE_NAME.exec(parts(file, large).name)?.[2] !== hash) wrong.push(`${id}: ${file} does not carry its hash ${hash}`)
|
|
77
98
|
}
|
|
78
99
|
expect(wrong).toEqual([])
|
|
79
100
|
})
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const LARGE_FILES: Readonly<Record<string, string>> = Object.fromEntries(
|
|
104
|
+
Object.entries(FACTORY_PRESET_PREVIEW_LARGE_FILES).map(([id, { file }]) => [id, file]),
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
describe("factory preset previews — the maps and the folder agree", () => {
|
|
108
|
+
describe("the tile pictures", () => checkMap(FACTORY_PRESET_PREVIEW_FILES, false))
|
|
109
|
+
describe("the full-screen pictures", () => checkMap(LARGE_FILES, true))
|
|
110
|
+
|
|
111
|
+
it("a preset with a full-screen picture also has its tile picture", () => {
|
|
112
|
+
const small = new Set(Object.keys(FACTORY_PRESET_PREVIEW_FILES))
|
|
113
|
+
expect(Object.keys(FACTORY_PRESET_PREVIEW_LARGE_FILES).filter((id) => !small.has(id))).toEqual([])
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
it("every full-screen picture's recorded width is wider than the tile and at most the large width", () => {
|
|
117
|
+
const wrong = Object.entries(FACTORY_PRESET_PREVIEW_LARGE_FILES)
|
|
118
|
+
.filter(([, { width }]) => !Number.isInteger(width) || width <= PRESET_PREVIEW_WIDTH || width > PRESET_PREVIEW_LARGE_WIDTH)
|
|
119
|
+
.map(([id, { width }]) => `${id}: ${width}`)
|
|
120
|
+
expect(wrong).toEqual([])
|
|
121
|
+
})
|
|
80
122
|
|
|
81
|
-
it("no file in the folder is missing from the
|
|
82
|
-
const mapped = new Set(Object.values(FACTORY_PRESET_PREVIEW_FILES))
|
|
123
|
+
it("no file in the folder is missing from the maps (run tools/preset-previews/build.mts)", () => {
|
|
124
|
+
const mapped = new Set([...Object.values(FACTORY_PRESET_PREVIEW_FILES), ...Object.values(LARGE_FILES)])
|
|
83
125
|
expect(filesOnDisk().filter((f) => !mapped.has(f))).toEqual([])
|
|
84
126
|
})
|
|
85
127
|
|
|
86
128
|
it("each file is mapped from exactly one preset", () => {
|
|
87
|
-
const files = Object.values(FACTORY_PRESET_PREVIEW_FILES)
|
|
129
|
+
const files = [...Object.values(FACTORY_PRESET_PREVIEW_FILES), ...Object.values(LARGE_FILES)]
|
|
88
130
|
expect(files.length).toBe(new Set(files).size)
|
|
89
131
|
})
|
|
90
132
|
})
|
|
@@ -121,3 +163,34 @@ describe("factoryPresetPreviewUrl", () => {
|
|
|
121
163
|
expect(factoryPresetPreviewUrl("not-a/preset", "https://app.nodaro.ai")).toBeNull()
|
|
122
164
|
})
|
|
123
165
|
})
|
|
166
|
+
|
|
167
|
+
describe("factoryPresetPreviewSrcSet", () => {
|
|
168
|
+
const FILES = { "generate-image/character-board": "generate-image/character-board.1a2b3c4d.webp" }
|
|
169
|
+
const LARGE = { "generate-image/character-board": { file: "1024/generate-image/character-board.5e6f7a8b.webp", width: 1024 } }
|
|
170
|
+
|
|
171
|
+
it("names the tile picture at 512w and the full-screen one at its recorded width", () => {
|
|
172
|
+
expect(factoryPresetPreviewSrcSet("generate-image/character-board", "https://app.nodaro.ai", FILES, LARGE)).toBe(
|
|
173
|
+
"https://app.nodaro.ai/preset-previews/generate-image/character-board.1a2b3c4d.webp 512w, " +
|
|
174
|
+
"https://app.nodaro.ai/preset-previews/1024/generate-image/character-board.5e6f7a8b.webp 1024w",
|
|
175
|
+
)
|
|
176
|
+
const portrait = { "generate-image/character-board": { file: "1024/generate-image/character-board.5e6f7a8b.webp", width: 768 } }
|
|
177
|
+
expect(factoryPresetPreviewSrcSet("generate-image/character-board", "https://app.nodaro.ai", FILES, portrait)).toMatch(/ 768w$/)
|
|
178
|
+
expect(PRESET_PREVIEW_WIDTH).toBe(512)
|
|
179
|
+
expect(PRESET_PREVIEW_LARGE_WIDTH).toBe(1024)
|
|
180
|
+
})
|
|
181
|
+
|
|
182
|
+
it("is null when either size is missing, or the base URL is unusable", () => {
|
|
183
|
+
expect(factoryPresetPreviewSrcSet("generate-image/character-board", "https://app.nodaro.ai", FILES, {})).toBeNull()
|
|
184
|
+
expect(factoryPresetPreviewSrcSet("generate-image/character-board", "https://app.nodaro.ai", {}, LARGE)).toBeNull()
|
|
185
|
+
expect(factoryPresetPreviewSrcSet("generate-image/pose-board", "https://app.nodaro.ai", FILES, LARGE)).toBeNull()
|
|
186
|
+
expect(factoryPresetPreviewSrcSet("generate-image/character-board", "not a url", FILES, LARGE)).toBeNull()
|
|
187
|
+
})
|
|
188
|
+
|
|
189
|
+
it("reads the committed maps by default, and every committed large picture has a srcset", () => {
|
|
190
|
+
for (const id of Object.keys(FACTORY_PRESET_PREVIEW_LARGE_FILES)) {
|
|
191
|
+
expect(factoryPresetPreviewSrcSet(id, "https://app.nodaro.ai")).toMatch(
|
|
192
|
+
new RegExp(`^https://app\\.nodaro\\.ai${PRESET_PREVIEW_PATH}[a-z0-9-]+/[a-z0-9-]+\\.[0-9a-f]{8}\\.webp 512w, https://app\\.nodaro\\.ai${PRESET_PREVIEW_PATH}1024/[a-z0-9-]+/[a-z0-9-]+\\.[0-9a-f]{8}\\.webp [0-9]+w$`),
|
|
193
|
+
)
|
|
194
|
+
}
|
|
195
|
+
})
|
|
196
|
+
})
|
|
@@ -147,6 +147,10 @@ describe("factory presets — declared reference counts", () => {
|
|
|
147
147
|
const MIXED_GROUPS: Readonly<Record<string, string>> = {
|
|
148
148
|
"generate-image/Realism & Authentic":
|
|
149
149
|
"text-only realism shots beside two that put the user's own photo in the frame ({image:1:person}, {image:1:product})",
|
|
150
|
+
"generate-image/Products & Fashion":
|
|
151
|
+
"Create Image use cases: most restage the person's own product photo (minReferences 1), three design from words (coffee packaging, flat lay, food package)",
|
|
152
|
+
"generate-image/Family & Events":
|
|
153
|
+
"Create Image use cases: invitations and greetings from words beside six cards made from the person's own photo (minReferences 1)",
|
|
150
154
|
}
|
|
151
155
|
|
|
152
156
|
it("every group is all photo-based or all text-only, except the listed mixed groups", () => {
|
|
@@ -2281,30 +2281,30 @@
|
|
|
2281
2281
|
"expected": "shot on location, shot as a high-fashion magazine editorial, polished studio lighting, deliberate posing, designer wardrobe, full-bleed composition with strong color blocking and a glossy print-ready finish, no text overlays"
|
|
2282
2282
|
},
|
|
2283
2283
|
{
|
|
2284
|
-
"key": "photographer/id:
|
|
2284
|
+
"key": "photographer/id:ruan-jia",
|
|
2285
2285
|
"note": "single-dim catalog id",
|
|
2286
2286
|
"node": {
|
|
2287
2287
|
"id": "n1",
|
|
2288
2288
|
"type": "photographer",
|
|
2289
2289
|
"data": {
|
|
2290
|
-
"photographer": "
|
|
2290
|
+
"photographer": "ruan-jia"
|
|
2291
2291
|
}
|
|
2292
2292
|
},
|
|
2293
2293
|
"ctx": null,
|
|
2294
|
-
"expected": "in the style of
|
|
2294
|
+
"expected": "in the style of Ruan Jia, lush painterly fantasy portraiture with rich fabrics, gilded accents and warm directional light"
|
|
2295
2295
|
},
|
|
2296
2296
|
{
|
|
2297
|
-
"key": "photographer/id:
|
|
2297
|
+
"key": "photographer/id:sofia-coppola",
|
|
2298
2298
|
"note": "single-dim catalog id",
|
|
2299
2299
|
"node": {
|
|
2300
2300
|
"id": "n1",
|
|
2301
2301
|
"type": "photographer",
|
|
2302
2302
|
"data": {
|
|
2303
|
-
"photographer": "
|
|
2303
|
+
"photographer": "sofia-coppola"
|
|
2304
2304
|
}
|
|
2305
2305
|
},
|
|
2306
2306
|
"ctx": null,
|
|
2307
|
-
"expected": "in the style of
|
|
2307
|
+
"expected": "in the style of Sofia Coppola, soft hazy pastel light, dreamy feminine melancholy, shallow focus, gentle film grain, a lonely contemplative mood, muted pinks and creams and quiet intimacy"
|
|
2308
2308
|
},
|
|
2309
2309
|
{
|
|
2310
2310
|
"key": "photographer/id:tim-walker",
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// @test-watches tools/preset-tiles/** packages/prompts/src/factory-presets/tiles/** frontend/src/lib/i18n/preset-content-tiles.*.generated.ts
|
|
2
|
+
import { readFileSync, readdirSync } from "node:fs"
|
|
3
|
+
import { join } from "node:path"
|
|
4
|
+
import { describe, expect, it } from "vitest"
|
|
5
|
+
import { COPY_LOCALES, LEDGER_PATHS, mergeLedgers, quotedPhrases, renderModules, slotLabel, slotPhrases, templatePrompt, TILES_DIR_PATH, type TileLedger } from "../../../../tools/preset-tiles/render.js"
|
|
6
|
+
import { GENERATE_IMAGE_TILE_PRESETS } from "../factory-presets/tiles/index.generated.js"
|
|
7
|
+
import { getFactoryPresets } from "../factory-presets.js"
|
|
8
|
+
|
|
9
|
+
const ROOT = join(__dirname, "..", "..", "..", "..")
|
|
10
|
+
const TILES_DIR = join(ROOT, TILES_DIR_PATH)
|
|
11
|
+
const ledger = mergeLedgers(LEDGER_PATHS.map((p) => JSON.parse(readFileSync(join(ROOT, p), "utf8")) as TileLedger))
|
|
12
|
+
/** A checkout with core.autocrlf rewrites the committed modules to CRLF; the comparison is on content, not line endings. */
|
|
13
|
+
const lf = (text: string) => text.replace(/\r\n/g, "\n")
|
|
14
|
+
|
|
15
|
+
describe("Create Image tiles — the generated modules match the ledger", () => {
|
|
16
|
+
const rendered = renderModules(ledger)
|
|
17
|
+
|
|
18
|
+
it("every committed module — presets and the app's preset copy per language — is exactly what the ledger renders (run tools/preset-tiles/build.mts)", () => {
|
|
19
|
+
for (const [name, source] of Object.entries(rendered)) {
|
|
20
|
+
expect(lf(readFileSync(join(ROOT, name), "utf8")), name).toBe(source)
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
it("no stale generated module is left behind", () => {
|
|
25
|
+
const onDisk = readdirSync(TILES_DIR).filter((f) => f.endsWith(".generated.ts")).map((f) => `${TILES_DIR_PATH}/${f}`)
|
|
26
|
+
const expected = Object.keys(rendered).filter((name) => name.startsWith(TILES_DIR_PATH))
|
|
27
|
+
expect(onDisk.sort()).toEqual(expected.sort())
|
|
28
|
+
})
|
|
29
|
+
|
|
30
|
+
it("every tile carries a name in every interface language", () => {
|
|
31
|
+
for (const t of ledger.templates) {
|
|
32
|
+
for (const locale of COPY_LOCALES) expect(t.copy?.[locale]?.name?.trim(), `${t.id}: ${locale}`).toBeTruthy()
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
it("the catalog carries one preset per ledger template, in ledger order", () => {
|
|
37
|
+
expect(GENERATE_IMAGE_TILE_PRESETS.map((p) => p.id)).toEqual(ledger.templates.map((t) => `generate-image/${t.id}`))
|
|
38
|
+
const all = getFactoryPresets("generate-image").map((p) => p.id)
|
|
39
|
+
for (const p of GENERATE_IMAGE_TILE_PRESETS) expect(all).toContain(p.id)
|
|
40
|
+
})
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
describe("Create Image tiles — what each preset promises", () => {
|
|
44
|
+
it("renders with the model and size the tile picture was made with, and says when it works from the person's photo", () => {
|
|
45
|
+
for (const t of ledger.templates) {
|
|
46
|
+
const p = GENERATE_IMAGE_TILE_PRESETS.find((x) => x.id === `generate-image/${t.id}`)!
|
|
47
|
+
expect(p.data.provider, t.id).toBe(t.model ?? ledger.model)
|
|
48
|
+
expect(p.data.resolution, t.id).toBe(ledger.resolution)
|
|
49
|
+
expect(typeof p.data.aspectRatio, t.id).toBe("string")
|
|
50
|
+
expect(p.minReferences ?? 0, t.id).toBe(t.minReferences ?? 0)
|
|
51
|
+
}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
it("opens one slot per named headline phrase, TEXT then TEXT2…, each defaulting to the phrase the tile shows, and nothing else", () => {
|
|
55
|
+
for (const t of ledger.templates) {
|
|
56
|
+
const phrases = slotPhrases(t)
|
|
57
|
+
const prompt = templatePrompt(t)
|
|
58
|
+
const opened = [...prompt.matchAll(/\{([^}|]+)\|\|([^}]*)\}/g)].map((m) => [m[1].trim(), m[2].trim()])
|
|
59
|
+
expect(opened, t.id).toEqual(phrases.map((phrase, at) => [slotLabel(at + 1), phrase]))
|
|
60
|
+
expect(t.sampleText ?? "", `${t.id}: sampleText is what the slots show`).toBe(phrases.join(" "))
|
|
61
|
+
// Every other quoted phrase stays as it was: a label, a button, a badge.
|
|
62
|
+
for (const phrase of quotedPhrases(t.prompt)) if (!phrases.includes(phrase)) expect(prompt, t.id).toContain(`"${phrase}"`)
|
|
63
|
+
}
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
it("names its slots on every prompt that quotes more than one phrase (the headline, not a label or a button; an empty list opens none)", () => {
|
|
67
|
+
for (const t of ledger.templates) {
|
|
68
|
+
if (t.textDefault === undefined && quotedPhrases(t.prompt).length > 1) expect(Array.isArray(t.slots), `${t.id}: needs slots`).toBe(true)
|
|
69
|
+
}
|
|
70
|
+
})
|
|
71
|
+
|
|
72
|
+
it("files every tile under a tab, with a section where the tab has them, and a non-empty platform list only where one applies", () => {
|
|
73
|
+
for (const p of GENERATE_IMAGE_TILE_PRESETS) {
|
|
74
|
+
expect(p.group, p.id).toBeTruthy()
|
|
75
|
+
if (p.section !== undefined) expect(p.section.length, p.id).toBeGreaterThan(0)
|
|
76
|
+
if (p.platforms !== undefined) expect(p.platforms.length, p.id).toBeGreaterThan(0)
|
|
77
|
+
}
|
|
78
|
+
const youtube = GENERATE_IMAGE_TILE_PRESETS.filter((p) => p.group === "YouTube")
|
|
79
|
+
expect(youtube.every((p) => p.section && p.platforms?.[0] === "YouTube")).toBe(true)
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
it("every tile has a description a person can act on (who uses it), except layouts and type styles", () => {
|
|
83
|
+
for (const p of GENERATE_IMAGE_TILE_PRESETS) {
|
|
84
|
+
if (p.group === "Layout" || p.group === "Text") continue
|
|
85
|
+
expect(p.description, p.id).toBeTruthy()
|
|
86
|
+
}
|
|
87
|
+
})
|
|
88
|
+
})
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { FactoryPreset } from "./types.js"
|
|
2
2
|
import { stylizedSubjectFor, editsFor } from "./shared-image.js"
|
|
3
3
|
import { NEUTRAL_PERSON, REALISM_FINISH, REALISM_SKIN, realismEmptyHands, realismViewpoint } from "../realism-wording.js"
|
|
4
|
+
import { GENERATE_IMAGE_TILE_PRESETS } from "./tiles/index.generated.js"
|
|
4
5
|
|
|
5
6
|
/** Joins the sentences of one prompt with single spaces. */
|
|
6
7
|
const sentences = (...parts: string[]): string => parts.join(" ")
|
|
@@ -1846,4 +1847,11 @@ export const GENERATE_IMAGE_PRESETS: readonly FactoryPreset[] = [
|
|
|
1846
1847
|
prompt: sentences("{subject || An adult woman in her thirties} holds {image:1:product} at chest height toward the viewer, label facing out, {setting || in a bright room at home}.", REALISM_FINISH),
|
|
1847
1848
|
},
|
|
1848
1849
|
},
|
|
1850
|
+
// ── Create Image tiles (tools.nodaro.ai "Choose image preset") ──────────────
|
|
1851
|
+
// One tab per group (YouTube, Shorts · TikTok, Social & Ads, Business, Life &
|
|
1852
|
+
// Events, Layout, Text); each preset's prompt is the one that rendered its tile
|
|
1853
|
+
// picture, with the on-image headline as a {TEXT || …} slot. Generated from
|
|
1854
|
+
// tools/preset-tiles/ledger.json — edit the ledger, then run its build. Last,
|
|
1855
|
+
// so the editor's folders and the API listing keep their order before them.
|
|
1856
|
+
...GENERATE_IMAGE_TILE_PRESETS,
|
|
1849
1857
|
]
|
|
@@ -16,7 +16,16 @@ import { LOTTIE_OVERLAY_PRESETS } from "./lottie-overlay.js"
|
|
|
16
16
|
export type { FactoryPreset, FactoryPresetGroup } from "./types.js"
|
|
17
17
|
export { groupFactoryPresets } from "./types.js"
|
|
18
18
|
export { MAX_PRESET_REFERENCES, presetMinReferences } from "./references.js"
|
|
19
|
-
export {
|
|
19
|
+
export {
|
|
20
|
+
FACTORY_PRESET_PREVIEW_FILES,
|
|
21
|
+
FACTORY_PRESET_PREVIEW_LARGE_FILES,
|
|
22
|
+
PRESET_PREVIEW_LARGE_WIDTH,
|
|
23
|
+
PRESET_PREVIEW_PATH,
|
|
24
|
+
PRESET_PREVIEW_WIDTH,
|
|
25
|
+
factoryPresetPreviewSrcSet,
|
|
26
|
+
factoryPresetPreviewUrl,
|
|
27
|
+
} from "./previews.js"
|
|
28
|
+
export type { PresetPreviewLargeFile } from "./previews.js"
|
|
20
29
|
|
|
21
30
|
/**
|
|
22
31
|
* A shared preset as Modify Image takes it. Modify Image always works from a source photo, so its
|