@nodaro/prompts 1.38.0 → 1.40.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-2EW5B7ZV.cjs +86 -0
- package/dist/chunk-2EW5B7ZV.cjs.map +1 -0
- package/dist/chunk-2P26SZX5.cjs +414 -0
- package/dist/chunk-2P26SZX5.cjs.map +1 -0
- package/dist/{chunk-7XKHDXCL.cjs → chunk-3U7X6JZN.cjs} +13 -12
- package/dist/chunk-3U7X6JZN.cjs.map +1 -0
- package/dist/chunk-4GKTOVFM.cjs +8 -0
- package/dist/chunk-4GKTOVFM.cjs.map +1 -0
- package/dist/{chunk-HRBBNODV.js → chunk-6GVFJLDL.js} +4 -3
- package/dist/chunk-6GVFJLDL.js.map +1 -0
- package/dist/{chunk-LVSH7K7R.cjs → chunk-C3NHNECH.cjs} +165 -88
- package/dist/chunk-C3NHNECH.cjs.map +1 -0
- package/dist/{chunk-CEPVQQVO.js → chunk-C46256GZ.js} +43 -5
- package/dist/chunk-C46256GZ.js.map +1 -0
- package/dist/{chunk-JKCR6WRZ.cjs → chunk-DQFQJECU.cjs} +43 -5
- package/dist/chunk-DQFQJECU.cjs.map +1 -0
- package/dist/{chunk-QDEWBBUR.js → chunk-DUXX6CBX.js} +12 -143
- package/dist/chunk-DUXX6CBX.js.map +1 -0
- package/dist/chunk-EAYEZXWT.js +388 -0
- package/dist/chunk-EAYEZXWT.js.map +1 -0
- package/dist/chunk-GILUVQQJ.js +6 -0
- package/dist/chunk-GILUVQQJ.js.map +1 -0
- package/dist/{chunk-KIYNOOPJ.js → chunk-GTDKDD7Y.js} +12 -6
- package/dist/chunk-GTDKDD7Y.js.map +1 -0
- package/dist/{chunk-QBEZMR2F.js → chunk-HQTHDTHN.js} +137 -62
- package/dist/chunk-HQTHDTHN.js.map +1 -0
- package/dist/{chunk-TLVX5PXD.cjs → chunk-IUCNJAHW.cjs} +13 -7
- package/dist/chunk-IUCNJAHW.cjs.map +1 -0
- package/dist/{chunk-ZFIXQRBZ.cjs → chunk-LXPKTI2K.cjs} +12 -83
- package/dist/chunk-LXPKTI2K.cjs.map +1 -0
- package/dist/{chunk-CVPB2N3Z.cjs → chunk-LZ53F5BN.cjs} +103 -5
- package/dist/chunk-LZ53F5BN.cjs.map +1 -0
- package/dist/{chunk-4FDNVNJE.js → chunk-N6VMPG5S.js} +12 -79
- package/dist/chunk-N6VMPG5S.js.map +1 -0
- package/dist/{chunk-LK2CZK5U.cjs → chunk-PWWM7Q3T.cjs} +7 -7
- package/dist/{chunk-LK2CZK5U.cjs.map → chunk-PWWM7Q3T.cjs.map} +1 -1
- package/dist/{chunk-N7TOWXDJ.js → chunk-QDUTMOF4.js} +3 -3
- package/dist/{chunk-N7TOWXDJ.js.map → chunk-QDUTMOF4.js.map} +1 -1
- package/dist/{chunk-NO6XHX4R.js → chunk-RB2F5JQF.js} +100 -7
- package/dist/chunk-RB2F5JQF.js.map +1 -0
- package/dist/{chunk-MENBHEAY.cjs → chunk-WRM52ZBN.cjs} +19 -161
- package/dist/chunk-WRM52ZBN.cjs.map +1 -0
- package/dist/chunk-YS6HOWMW.js +80 -0
- package/dist/chunk-YS6HOWMW.js.map +1 -0
- package/dist/entries/assembly.cjs +34 -25
- package/dist/entries/assembly.d.cts +121 -37
- package/dist/entries/assembly.d.ts +121 -37
- package/dist/entries/assembly.js +5 -4
- package/dist/entries/doctrine.cjs +46 -46
- package/dist/entries/doctrine.d.cts +3 -3
- package/dist/entries/doctrine.d.ts +3 -3
- package/dist/entries/doctrine.js +1 -1
- package/dist/entries/picker-catalogs.cjs +42 -42
- package/dist/entries/picker-catalogs.js +3 -3
- package/dist/entries/presets.cjs +49 -26
- package/dist/entries/presets.d.cts +53 -1
- package/dist/entries/presets.d.ts +53 -1
- package/dist/entries/presets.js +4 -1
- package/dist/entries/prompt-builder.cjs +135 -98
- package/dist/entries/prompt-builder.d.cts +22 -11
- package/dist/entries/prompt-builder.d.ts +22 -11
- package/dist/entries/prompt-builder.js +4 -3
- package/dist/entries/prompt-fields.cjs +41 -40
- package/dist/entries/prompt-fields.d.cts +2 -1
- package/dist/entries/prompt-fields.d.ts +2 -1
- package/dist/entries/prompt-fields.js +2 -1
- package/dist/index.cjs +339 -273
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +11 -9
- package/dist/{subject-registry-BUswuEVD.d.cts → subject-registry-CQi_CZfJ.d.cts} +78 -9
- package/dist/{subject-registry-D7V8PEG-.d.ts → subject-registry-DFiGx49v.d.ts} +78 -9
- package/package.json +2 -2
- package/src/__tests__/assemble-image-input-style-references.test.ts +173 -0
- package/src/__tests__/catalog-id-guard.test.ts +30 -0
- package/src/__tests__/factory-preset-previews.test.ts +123 -0
- package/src/__tests__/factory-preset-references.test.ts +222 -0
- package/src/__tests__/factory-presets-prototype-keys.test.ts +43 -0
- package/src/__tests__/frame-reference-slots.test.ts +43 -0
- package/src/__tests__/gemini-omni-inputs.test.ts +12 -10
- package/src/__tests__/provider-prompt-doctrine.test.ts +14 -0
- package/src/__tests__/user-direction-refs.test.ts +180 -0
- package/src/__tests__/veo-i2v-inputs.test.ts +16 -11
- package/src/assemble-image-input.ts +114 -13
- package/src/catalog-id-guard.ts +18 -2
- package/src/color-names.ts +192 -0
- package/src/direction-registry.ts +66 -5
- package/src/entries/assembly.ts +1 -0
- package/src/entries/prompt-builder.ts +2 -0
- package/src/factory-presets/generate-image.ts +29 -0
- package/src/factory-presets/index.ts +6 -1
- package/src/factory-presets/preview-files.generated.ts +4 -0
- package/src/factory-presets/previews.ts +40 -0
- package/src/factory-presets/references.ts +81 -0
- package/src/factory-presets/shared-image.ts +4 -0
- package/src/factory-presets/types.ts +8 -0
- package/src/frame-reference-slots.ts +92 -0
- package/src/gemini-omni-inputs.ts +23 -22
- package/src/image-reference-doctrine.ts +3 -3
- package/src/image-token-pattern.ts +13 -0
- package/src/node-prompt-fields.ts +5 -3
- package/src/own-entry.ts +11 -0
- package/src/prompt-builder.ts +4 -5
- package/src/prompt-style-section.ts +3 -3
- package/src/prompt-wizard-categories.ts +2 -0
- package/src/provider-prompt-doctrine.ts +45 -3
- package/src/ref-binding.ts +28 -3
- package/src/resolve-prompt.ts +2 -1
- package/src/seedance-2-inputs.ts +15 -40
- package/src/user-direction-refs.ts +110 -0
- package/src/veo-i2v-inputs.ts +24 -17
- package/src/video-reference-resolver.ts +1 -1
- package/dist/chunk-4FDNVNJE.js.map +0 -1
- package/dist/chunk-7XKHDXCL.cjs.map +0 -1
- package/dist/chunk-CEPVQQVO.js.map +0 -1
- package/dist/chunk-CVPB2N3Z.cjs.map +0 -1
- package/dist/chunk-HRBBNODV.js.map +0 -1
- package/dist/chunk-JKCR6WRZ.cjs.map +0 -1
- package/dist/chunk-KIYNOOPJ.js.map +0 -1
- package/dist/chunk-LVSH7K7R.cjs.map +0 -1
- package/dist/chunk-MENBHEAY.cjs.map +0 -1
- package/dist/chunk-NO6XHX4R.js.map +0 -1
- package/dist/chunk-QBEZMR2F.js.map +0 -1
- package/dist/chunk-QDEWBBUR.js.map +0 -1
- package/dist/chunk-TLVX5PXD.cjs.map +0 -1
- package/dist/chunk-UJKFHPZ7.js +0 -37
- package/dist/chunk-UJKFHPZ7.js.map +0 -1
- package/dist/chunk-W5SCZIOB.cjs +0 -43
- package/dist/chunk-W5SCZIOB.cjs.map +0 -1
- package/dist/chunk-ZFIXQRBZ.cjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UsageMode, SurroundDirection } from '@nodaro/shared/entities';
|
|
2
2
|
import { ConnectedReference, DescribedReference, HintNodeLike, HintGraphContext, IdentityMeta, CharacterDef } from '@nodaro/shared/types';
|
|
3
|
-
import { k as DirectionFields,
|
|
3
|
+
import { k as DirectionFields, L as StyleReferenceInput, Q as SubjectFields, K as StructuredPromptFields, c as BuildImagePromptResult, m as DirectionHintMode, U as SubjectHintMode } from '../subject-registry-DFiGx49v.js';
|
|
4
4
|
import { FrameDelivery } from '@nodaro/shared/video';
|
|
5
5
|
import '../term-C01_g6s1.js';
|
|
6
6
|
import '../transitions-BgwWM37i.js';
|
|
@@ -34,7 +34,7 @@ import '../transitions-BgwWM37i.js';
|
|
|
34
34
|
* says the two things a multimodal model needs to hear — match exactly, and
|
|
35
35
|
* these are not frames. One spelling; both resolvers ride it.
|
|
36
36
|
*/
|
|
37
|
-
declare function identityRefsSentence(firstOrdinal: number, lastOrdinal: number): string;
|
|
37
|
+
declare function identityRefsSentence(firstOrdinal: number, lastOrdinal: number, ordinal?: (n: number) => string): string;
|
|
38
38
|
declare const REF_BINDING: {
|
|
39
39
|
readonly image: (label: string, n: number) => string;
|
|
40
40
|
readonly video: (label: string, n: number) => string;
|
|
@@ -43,6 +43,18 @@ declare const REF_BINDING: {
|
|
|
43
43
|
readonly ordinal: (n: number) => string;
|
|
44
44
|
readonly frame: (n: number, role: "opening" | "closing") => string;
|
|
45
45
|
};
|
|
46
|
+
/** A binding sentence's ordinal + frame directive in one provider syntax. */
|
|
47
|
+
interface ImageBinding {
|
|
48
|
+
ordinal: (n: number) => string;
|
|
49
|
+
frame: (n: number, role: "opening" | "closing") => string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The image binding in a provider's OWN reference syntax
|
|
53
|
+
* (`videoProviderReferenceSyntax` in @nodaro/shared). `@image_N` IS
|
|
54
|
+
* {@link REF_BINDING} — the platform swap point, byte for byte; the other two
|
|
55
|
+
* spell the same sentence in the form the provider documents.
|
|
56
|
+
*/
|
|
57
|
+
declare function imageBindingFor(syntax: "@image_N" | "@image(n)" | "[Image N]"): ImageBinding;
|
|
46
58
|
/**
|
|
47
59
|
* The instruction that makes Seedance EDIT a wired clip rather than use it as a
|
|
48
60
|
* style reference — the Video to Video node's Seedance lane prepends it to the
|
|
@@ -553,6 +565,23 @@ interface AssembleImageInput {
|
|
|
553
565
|
* is a no-op for it and the result is byte-identical to today).
|
|
554
566
|
*/
|
|
555
567
|
direction?: DirectionFields;
|
|
568
|
+
/**
|
|
569
|
+
* Rendered clauses for the caller's OWN saved resources named in `direction`
|
|
570
|
+
* (`colorLook: "palette:<id>"`, `style: "moodboard:<id>"`), keyed by the
|
|
571
|
+
* direction value. Resolving them is a database read, so the platform does it
|
|
572
|
+
* BEFORE this pure assembly and hands the clauses in; each one folds in its
|
|
573
|
+
* row's slot exactly like a catalog clause (the `[style]` film line), sheds
|
|
574
|
+
* like one, and a reference missing from the map folds nothing.
|
|
575
|
+
*/
|
|
576
|
+
directionRefs?: ReadonlyMap<string, string>;
|
|
577
|
+
/**
|
|
578
|
+
* Style reference images (a moodboard's images). They only FILL the
|
|
579
|
+
* reference seats the caller's own references leave free — after them, never
|
|
580
|
+
* displacing, renumbering or evicting one — up to the model's reference
|
|
581
|
+
* limit; the rest are not sent. `styleReferencesSent` on the result says how
|
|
582
|
+
* many went. Each carries a short style line (`styleReferenceDescription`).
|
|
583
|
+
*/
|
|
584
|
+
styleReferences?: readonly StyleReferenceInput[];
|
|
556
585
|
/**
|
|
557
586
|
* Flat subject ids (Person / Styling / props) → folded into the prompt AHEAD
|
|
558
587
|
* of the direction clauses: the subject is the noun phrase the cinematography
|
|
@@ -622,7 +651,9 @@ interface AssembleImageInput {
|
|
|
622
651
|
* Order: (1) compose the prompt text (no-op when no subject/direction/structured),
|
|
623
652
|
* (2) `buildImagePrompt(...)` — exactly the call the three sites make today,
|
|
624
653
|
* (3) shed hint clauses and re-assemble while the provider cap overflows,
|
|
625
|
-
* (4)
|
|
654
|
+
* (4) with `styleReferences`, fill the free reference seats with them
|
|
655
|
+
* (`fillStyleReferences`; absent = this step does not run at all),
|
|
656
|
+
* (5) optional post-assembly empty-prompt throw (gated by `throwOnEmpty`).
|
|
626
657
|
*
|
|
627
658
|
* TRUNCATION ORDERING (step 3): `buildImagePrompt`'s cap clamp cuts the TAIL,
|
|
628
659
|
* which is ORDER-BLIND — on a low-cap provider (seedream = 3000) a maximal
|
|
@@ -638,7 +669,16 @@ interface AssembleImageInput {
|
|
|
638
669
|
* UNDER-CAP PARITY: the first pass folds every hint, so a prompt that fits is
|
|
639
670
|
* byte-identical to before — the retry only ever runs on an over-cap assembly.
|
|
640
671
|
*/
|
|
641
|
-
declare function assembleImageInput(input: AssembleImageInput):
|
|
672
|
+
declare function assembleImageInput(input: AssembleImageInput): AssembleImageResult;
|
|
673
|
+
/** `assembleImageInput`'s result: the builder's, plus the style-reference count. */
|
|
674
|
+
interface AssembleImageResult extends BuildImagePromptResult {
|
|
675
|
+
/**
|
|
676
|
+
* How many of `styleReferences` were sent (they follow the caller's own
|
|
677
|
+
* references at the end of `referenceImageUrls`). Present only when
|
|
678
|
+
* `styleReferences` were given, so every other result is unchanged.
|
|
679
|
+
*/
|
|
680
|
+
styleReferencesSent?: number;
|
|
681
|
+
}
|
|
642
682
|
|
|
643
683
|
/**
|
|
644
684
|
* `composeVideoPromptText` — the video twin of `assemble-image-input.ts`'s
|
|
@@ -818,6 +858,59 @@ declare function composeVideoPromptText(userPrompt: string | undefined, directio
|
|
|
818
858
|
readonly subjectHintMode?: SubjectHintMode;
|
|
819
859
|
} & VideoPromptCapOptions): string | undefined;
|
|
820
860
|
|
|
861
|
+
/**
|
|
862
|
+
* WHERE A START / END FRAME GOES WHEN IT SHARES A MODEL'S REFERENCE LIST — the
|
|
863
|
+
* one platform convention (2026-10-18), for every video model whose frames and
|
|
864
|
+
* reference images travel in a single image array (`videoProviderAppendsFrames`
|
|
865
|
+
* in @nodaro/shared):
|
|
866
|
+
*
|
|
867
|
+
* - the caller's own reference images come FIRST, in their order, so the
|
|
868
|
+
* caller's image token N (`{image:N}`, `{ref:<id>}`, a typed ordinal)
|
|
869
|
+
* always means their Nth reference;
|
|
870
|
+
* - the frames are appended AFTER them (start, then end) and named in the
|
|
871
|
+
* prompt as the opening / closing frame, in the provider's own syntax;
|
|
872
|
+
* - at the image cap the frames are KEPT — they are explicit intent — and
|
|
873
|
+
* trailing caller references are dropped and reported.
|
|
874
|
+
*
|
|
875
|
+
* `bindIdentities` adds the identity sentence the flat-image-list models carry
|
|
876
|
+
* (Gemini Omni, VEO, Grok, HappyHorse: nothing in their payload says which
|
|
877
|
+
* entries are identities, so the prompt says it). The Seedance-family resolver
|
|
878
|
+
* calls this without it — byte for byte what it always emitted.
|
|
879
|
+
*/
|
|
880
|
+
interface FrameReferenceSlotsArgs {
|
|
881
|
+
/** Consulted only to skip a duplicate opening-frame sentence. */
|
|
882
|
+
prompt?: string;
|
|
883
|
+
firstFrameUrl?: string;
|
|
884
|
+
lastFrameUrl?: string;
|
|
885
|
+
/** The caller's own reference images, in priority order. */
|
|
886
|
+
refImageUrls?: readonly (string | undefined)[];
|
|
887
|
+
/** The provider's image cap — frames and references together. */
|
|
888
|
+
imageCap: number;
|
|
889
|
+
/** The provider's reference syntax (`videoProviderReferenceSyntax`). */
|
|
890
|
+
syntax?: "@image_N" | "@image(n)" | "[Image N]";
|
|
891
|
+
bindIdentities?: boolean;
|
|
892
|
+
}
|
|
893
|
+
interface FrameReferenceSlotsResult {
|
|
894
|
+
/** `[...keptRefs, start?, end?]` — never longer than `imageCap` (bar the frames themselves). */
|
|
895
|
+
imageUrls: string[];
|
|
896
|
+
promptSuffix: string;
|
|
897
|
+
/** Trailing caller references dropped to keep the frames. */
|
|
898
|
+
droppedRefImages: number;
|
|
899
|
+
/** 1-based seats of the frames in `imageUrls`; 0 when absent. */
|
|
900
|
+
firstFrameOrdinal: number;
|
|
901
|
+
lastFrameOrdinal: number;
|
|
902
|
+
}
|
|
903
|
+
declare function placeFramesAfterReferences(args: FrameReferenceSlotsArgs): FrameReferenceSlotsResult;
|
|
904
|
+
/** True when the prompt ALREADY binds an image as the first/opening frame —
|
|
905
|
+
* e.g. the gvp overlap transport's colon-position directive ("use @image_1
|
|
906
|
+
* as the first frame, it is the last keyframe of @video_1"). Field finding
|
|
907
|
+
* (2026-07-20): the first-frame directive only works adjacent to the extend
|
|
908
|
+
* colon; a duplicate sentence at the END of the prompt (this resolver's
|
|
909
|
+
* default position) dilutes it back into coin-flip behavior — so when the
|
|
910
|
+
* prompt carries its own binding, the suffix is suppressed (the frame image
|
|
911
|
+
* itself still rides the reference list). */
|
|
912
|
+
declare function promptBindsFirstFrame(prompt: string | undefined): boolean;
|
|
913
|
+
|
|
821
914
|
type Seedance2Mode = "first-frame" | "first-last-frame" | "reference";
|
|
822
915
|
interface Seedance2InputsArgs {
|
|
823
916
|
/** The generation prompt — used ONLY to detect an existing first-frame
|
|
@@ -849,23 +942,7 @@ interface Seedance2InputsResult {
|
|
|
849
942
|
promptSuffix: string;
|
|
850
943
|
droppedRefImages: number;
|
|
851
944
|
}
|
|
852
|
-
|
|
853
|
-
* Single source of truth for how Seedance 2's three mutually-exclusive KIE input
|
|
854
|
-
* modes are selected from connected inputs. Strict first/last-frame mode is used
|
|
855
|
-
* only when nothing but frames is connected; any reference (image, video, OR
|
|
856
|
-
* audio) switches to multimodal Reference mode, where the frames are appended to
|
|
857
|
-
* reference_image_urls (after the user's own images, so their @Image ordinals do
|
|
858
|
-
* not shift) and named in a doctrine-compliant prompt suffix.
|
|
859
|
-
*/
|
|
860
|
-
/** True when the prompt ALREADY binds an image as the first/opening frame —
|
|
861
|
-
* e.g. the gvp overlap transport's colon-position directive ("use @image_1
|
|
862
|
-
* as the first frame, it is the last keyframe of @video_1"). Field finding
|
|
863
|
-
* (2026-07-20): the first-frame directive only works adjacent to the extend
|
|
864
|
-
* colon; a duplicate sentence at the END of the prompt (this resolver's
|
|
865
|
-
* default position) dilutes it back into coin-flip behavior — so when the
|
|
866
|
-
* prompt carries its own binding, the suffix is suppressed (the frame image
|
|
867
|
-
* itself still rides the reference list). */
|
|
868
|
-
declare function promptBindsFirstFrame(prompt: string | undefined): boolean;
|
|
945
|
+
|
|
869
946
|
declare function resolveSeedance2Inputs(args: Seedance2InputsArgs): Seedance2InputsResult;
|
|
870
947
|
|
|
871
948
|
/**
|
|
@@ -873,23 +950,27 @@ declare function resolveSeedance2Inputs(args: Seedance2InputsArgs): Seedance2Inp
|
|
|
873
950
|
* `resolveSeedance2Inputs` for a model whose multimodal channel is ONE flat
|
|
874
951
|
* `image_urls` list.
|
|
875
952
|
*
|
|
953
|
+
* THE PLATFORM CONVENTION (2026-10-18, `placeFramesAfterReferences`): the
|
|
954
|
+
* caller's identity references come first, so their image token N is their Nth
|
|
955
|
+
* reference, and the start frame is appended after them. Until then the frame
|
|
956
|
+
* led the list, so a caller's `@image_1` landed on the frame.
|
|
957
|
+
*
|
|
876
958
|
* WHY BINDING IS LOAD-BEARING: Gemini Omni receives the start frame and the
|
|
877
959
|
* identity references in the same array, with nothing in the payload marking
|
|
878
960
|
* which is which. A multimodal model treats unbound images as loose context —
|
|
879
961
|
* field finding (recast keyframes run, 2026-08-14): the identity references
|
|
880
962
|
* rode every call and the cast still drifted part to part, because the prompt
|
|
881
963
|
* never said the images WERE identities to keep. So the resolver names the
|
|
882
|
-
* roles in a prompt suffix
|
|
883
|
-
*
|
|
884
|
-
* identity references, explicitly not frames.
|
|
964
|
+
* roles in a prompt suffix: the references are identity references, explicitly
|
|
965
|
+
* not frames, and the last image is the opening frame.
|
|
885
966
|
*
|
|
886
967
|
* BUDGETED, NEVER REJECTED, for the list this resolver assembles: KIE's quota
|
|
887
968
|
* is `images + 2×videos ≤ 7`, and `runGeminiOmni` hard-rejects overflow. That
|
|
888
969
|
* reject is right for a caller-assembled list (the user's own images should
|
|
889
970
|
* not silently thin out) and wrong for THIS merge, where the overflow is our
|
|
890
971
|
* own construction — so trailing references are dropped to fit, the start
|
|
891
|
-
* frame always kept
|
|
892
|
-
*
|
|
972
|
+
* frame always kept (the convention's tie-break), and the drop count is
|
|
973
|
+
* reported for the caller to log.
|
|
893
974
|
*
|
|
894
975
|
* BYTE-IDENTICAL when there is nothing to bind: no references ⇒ no suffix and
|
|
895
976
|
* a single-image list — exactly what every plain gemini-omni i2v call has
|
|
@@ -898,7 +979,7 @@ declare function resolveSeedance2Inputs(args: Seedance2InputsArgs): Seedance2Inp
|
|
|
898
979
|
interface GeminiOmniI2vInputsArgs {
|
|
899
980
|
/** The composed prompt, used only to detect an existing first-frame binding. */
|
|
900
981
|
prompt?: string;
|
|
901
|
-
/** The start frame — always kept,
|
|
982
|
+
/** The start frame — always kept, appended after the references. */
|
|
902
983
|
firstFrameUrl: string;
|
|
903
984
|
/** Identity references, in priority order (trailing ones drop first). */
|
|
904
985
|
refImageUrls?: Array<string | undefined>;
|
|
@@ -911,7 +992,7 @@ interface GeminiOmniI2vInputsArgs {
|
|
|
911
992
|
provider?: string;
|
|
912
993
|
}
|
|
913
994
|
interface GeminiOmniI2vInputsResult {
|
|
914
|
-
/** `[
|
|
995
|
+
/** `[...keptRefs, firstFrameUrl]` — the `image_urls` payload, quota-fitted. */
|
|
915
996
|
imageUrls: string[];
|
|
916
997
|
/** The role-binding sentences; empty when no reference survived the budget. */
|
|
917
998
|
promptSuffix: string;
|
|
@@ -927,13 +1008,15 @@ declare function resolveGeminiOmniI2vInputs(args: GeminiOmniI2vInputsArgs): Gemi
|
|
|
927
1008
|
* [first(, last)] frames; REFERENCE_2_VIDEO reads every entry as a
|
|
928
1009
|
* reference ingredient. Frames and identities cannot ride separate
|
|
929
1010
|
* channels, so an anchored call that must carry identity references moves
|
|
930
|
-
* to REFERENCE_2_VIDEO with the
|
|
931
|
-
*
|
|
932
|
-
* same as seedance-2's reference mode).
|
|
1011
|
+
* to REFERENCE_2_VIDEO with the frames bound in prose (requested, not
|
|
1012
|
+
* pixel-guaranteed — the accepted trade, same as seedance-2's reference mode).
|
|
933
1013
|
*
|
|
934
|
-
*
|
|
935
|
-
*
|
|
936
|
-
*
|
|
1014
|
+
* THE PLATFORM CONVENTION (2026-10-18, `placeFramesAfterReferences`): the
|
|
1015
|
+
* caller's references take the first seats, so their image token N is their
|
|
1016
|
+
* Nth reference; the start frame — and the end frame, VEO takes one — follow
|
|
1017
|
+
* them, bound as the opening / closing frame. At the 3-ingredient cap the
|
|
1018
|
+
* frames are kept (explicit intent) and trailing references drop, reported.
|
|
1019
|
+
* (Until then the anchor took seat 1 and an end frame was surrendered.)
|
|
937
1020
|
*
|
|
938
1021
|
* BYTE-IDENTICAL with no references: plain frame mode, frames kept, no
|
|
939
1022
|
* generationType, no suffix — exactly what every veo i2v call has always
|
|
@@ -947,14 +1030,15 @@ interface VeoI2vInputsArgs {
|
|
|
947
1030
|
refImageUrls?: Array<string | undefined>;
|
|
948
1031
|
}
|
|
949
1032
|
interface VeoI2vInputsResult {
|
|
950
|
-
/** The `imageUrls` payload: frames in plain mode, [
|
|
1033
|
+
/** The `imageUrls` payload: frames in plain mode, [...refs, start, end?] in
|
|
951
1034
|
* reference mode — never more than VEO's 3-ingredient cap. */
|
|
952
1035
|
imageUrls: string[];
|
|
953
1036
|
/** Present (REFERENCE_2_VIDEO) exactly when references ride. */
|
|
954
1037
|
generationType?: "REFERENCE_2_VIDEO";
|
|
955
1038
|
promptSuffix: string;
|
|
956
1039
|
droppedRefImages: number;
|
|
957
|
-
/**
|
|
1040
|
+
/** Always false since the frames-after-references convention: an end frame
|
|
1041
|
+
* is kept in reference mode. Kept for callers that log it. */
|
|
958
1042
|
droppedEndFrame: boolean;
|
|
959
1043
|
}
|
|
960
1044
|
declare function resolveVeoI2vInputs(args: VeoI2vInputsArgs): VeoI2vInputsResult;
|
|
@@ -1020,4 +1104,4 @@ interface FrameDeliveryPlan {
|
|
|
1020
1104
|
*/
|
|
1021
1105
|
declare function planFrameDelivery(args: FrameDeliveryPlanArgs): FrameDeliveryPlan;
|
|
1022
1106
|
|
|
1023
|
-
export { type AssembleImageInput, type AssembleSunoInput, type AssembleSunoResult, type CharacterMeta, DirectionFields, type FrameDeliveryPlan, type FrameDeliveryPlanArgs, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, REF_BINDING, type RefIdTokenContext, type ReferenceCounts, type ResolveVideoReferenceCoreArgs, SEEDANCE_VIDEO_EDIT_PREFIX, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, SubjectFields, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoExtraRef, type VideoPromptCapOptions, appendField, appendMusicMeta, assembleImageInput, assembleSunoInput, buildSeedanceVideoEditPrompt, buildSurroundFillPrompt, composeSoundHintFromConnections, composeVideoPromptText, getEffectiveSunoCustomMode, identityRefsSentence, planFrameDelivery, promptBindsFirstFrame, resolveGeminiOmniI2vInputs, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveVeoI2vInputs, resolveVideoReferenceCore, truncateForField };
|
|
1107
|
+
export { type AssembleImageInput, type AssembleImageResult, type AssembleSunoInput, type AssembleSunoResult, type CharacterMeta, DirectionFields, type FrameDeliveryPlan, type FrameDeliveryPlanArgs, type FrameReferenceSlotsArgs, type FrameReferenceSlotsResult, type GeminiOmniI2vInputsArgs, type GeminiOmniI2vInputsResult, type ImageBinding, REF_BINDING, type RefIdTokenContext, type ReferenceCounts, type ResolveVideoReferenceCoreArgs, SEEDANCE_VIDEO_EDIT_PREFIX, type Seedance2InputsArgs, type Seedance2InputsResult, type Seedance2Mode, type SoundComposition, type SoundCompositionFields, type SoundConsumerType, SubjectFields, type VeoI2vInputsArgs, type VeoI2vInputsResult, type VideoExtraRef, type VideoPromptCapOptions, appendField, appendMusicMeta, assembleImageInput, assembleSunoInput, buildSeedanceVideoEditPrompt, buildSurroundFillPrompt, composeSoundHintFromConnections, composeVideoPromptText, getEffectiveSunoCustomMode, identityRefsSentence, imageBindingFor, placeFramesAfterReferences, planFrameDelivery, promptBindsFirstFrame, resolveGeminiOmniI2vInputs, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveVeoI2vInputs, resolveVideoReferenceCore, truncateForField };
|
package/dist/entries/assembly.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export { REF_BINDING, SEEDANCE_VIDEO_EDIT_PREFIX, appendField, appendMusicMeta, assembleImageInput, assembleSunoInput, buildSeedanceVideoEditPrompt, buildSurroundFillPrompt, composeSoundHintFromConnections, composeVideoPromptText, getEffectiveSunoCustomMode, identityRefsSentence, planFrameDelivery, promptBindsFirstFrame, resolveGeminiOmniI2vInputs, resolveRefIdTokens, resolveReferenceTokens, resolveSeedance2Inputs, resolveVeoI2vInputs, resolveVideoReferenceCore, truncateForField } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
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-HQTHDTHN.js';
|
|
2
|
+
import '../chunk-DUXX6CBX.js';
|
|
3
|
+
import '../chunk-GILUVQQJ.js';
|
|
3
4
|
import '../chunk-JZOPMVGY.js';
|
|
4
5
|
import '../chunk-35UHMDGS.js';
|
|
5
6
|
import '../chunk-BQWIPLLR.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-QDUTMOF4.js';
|
|
8
|
+
import '../chunk-EAYEZXWT.js';
|
|
8
9
|
import '../chunk-SXXW4LCR.js';
|
|
9
10
|
import '../chunk-DVP6ILDR.js';
|
|
10
11
|
import '../chunk-TDZFXOTE.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkDQFQJECU_cjs = require('../chunk-DQFQJECU.cjs');
|
|
4
4
|
var chunkNAFD6MGH_cjs = require('../chunk-NAFD6MGH.cjs');
|
|
5
5
|
var chunk2NJTFCKQ_cjs = require('../chunk-2NJTFCKQ.cjs');
|
|
6
6
|
require('../chunk-Q7SFCCGT.cjs');
|
|
@@ -9,183 +9,183 @@ require('../chunk-Q7SFCCGT.cjs');
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "AD_CREATIVE_ANALYSIS_FIELDS", {
|
|
11
11
|
enumerable: true,
|
|
12
|
-
get: function () { return
|
|
12
|
+
get: function () { return chunkDQFQJECU_cjs.AD_CREATIVE_ANALYSIS_FIELDS; }
|
|
13
13
|
});
|
|
14
14
|
Object.defineProperty(exports, "AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkDQFQJECU_cjs.AD_CREATIVE_ANALYSIS_SYSTEM_PROMPT; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "AUDIO_WIZARD_CATEGORIES", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkDQFQJECU_cjs.AUDIO_WIZARD_CATEGORIES; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "DEFAULT_OWN_MOTION", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunkDQFQJECU_cjs.DEFAULT_OWN_MOTION; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "IMAGE_REFERENCE_PROMPT_DOCTRINE", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkDQFQJECU_cjs.IMAGE_REFERENCE_PROMPT_DOCTRINE; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "IMAGE_WIZARD_CATEGORIES", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkDQFQJECU_cjs.IMAGE_WIZARD_CATEGORIES; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "LLM_CHAT_WIZARD_CATEGORIES", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkDQFQJECU_cjs.LLM_CHAT_WIZARD_CATEGORIES; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "MUSIC_WIZARD_CATEGORIES", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkDQFQJECU_cjs.MUSIC_WIZARD_CATEGORIES; }
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "OWN_MOTION_NODE_TYPES", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunkDQFQJECU_cjs.OWN_MOTION_NODE_TYPES; }
|
|
45
45
|
});
|
|
46
46
|
Object.defineProperty(exports, "POST_CONTENT_ANALYSIS_SYSTEM_PROMPT", {
|
|
47
47
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunkDQFQJECU_cjs.POST_CONTENT_ANALYSIS_SYSTEM_PROMPT; }
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "PROVIDER_CAPABILITIES", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunkDQFQJECU_cjs.PROVIDER_CAPABILITIES; }
|
|
53
53
|
});
|
|
54
54
|
Object.defineProperty(exports, "PROVIDER_PROMPT_DOCTRINES", {
|
|
55
55
|
enumerable: true,
|
|
56
|
-
get: function () { return
|
|
56
|
+
get: function () { return chunkDQFQJECU_cjs.PROVIDER_PROMPT_DOCTRINES; }
|
|
57
57
|
});
|
|
58
58
|
Object.defineProperty(exports, "REFERENCE_IMAGE_ROLES", {
|
|
59
59
|
enumerable: true,
|
|
60
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkDQFQJECU_cjs.REFERENCE_IMAGE_ROLES; }
|
|
61
61
|
});
|
|
62
62
|
Object.defineProperty(exports, "SCENE3D_FIGURE_REFERENCE_RULE", {
|
|
63
63
|
enumerable: true,
|
|
64
|
-
get: function () { return
|
|
64
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_FIGURE_REFERENCE_RULE; }
|
|
65
65
|
});
|
|
66
66
|
Object.defineProperty(exports, "SCENE3D_FREE_PLATE_SLOTS", {
|
|
67
67
|
enumerable: true,
|
|
68
|
-
get: function () { return
|
|
68
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_FREE_PLATE_SLOTS; }
|
|
69
69
|
});
|
|
70
70
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE", {
|
|
71
71
|
enumerable: true,
|
|
72
|
-
get: function () { return
|
|
72
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_REFERENCE_SCOPING_FIXTURE; }
|
|
73
73
|
});
|
|
74
74
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE", {
|
|
75
75
|
enumerable: true,
|
|
76
|
-
get: function () { return
|
|
76
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_REFERENCE_SCOPING_LINE; }
|
|
77
77
|
});
|
|
78
78
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_SCOPING_FOR", {
|
|
79
79
|
enumerable: true,
|
|
80
|
-
get: function () { return
|
|
80
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_SCOPING_FOR; }
|
|
81
81
|
});
|
|
82
82
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_SCOPING_IGNORE", {
|
|
83
83
|
enumerable: true,
|
|
84
|
-
get: function () { return
|
|
84
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_SCOPING_IGNORE; }
|
|
85
85
|
});
|
|
86
86
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE", {
|
|
87
87
|
enumerable: true,
|
|
88
|
-
get: function () { return
|
|
88
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_SCOPING_LOOK_SOURCE; }
|
|
89
89
|
});
|
|
90
90
|
Object.defineProperty(exports, "SCENE3D_LAYOUT_SCOPING_MARKER", {
|
|
91
91
|
enumerable: true,
|
|
92
|
-
get: function () { return
|
|
92
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_LAYOUT_SCOPING_MARKER; }
|
|
93
93
|
});
|
|
94
94
|
Object.defineProperty(exports, "SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE", {
|
|
95
95
|
enumerable: true,
|
|
96
|
-
get: function () { return
|
|
96
|
+
get: function () { return chunkDQFQJECU_cjs.SCENE3D_UNREFERENCED_FIGURES_WARNING_CODE; }
|
|
97
97
|
});
|
|
98
98
|
Object.defineProperty(exports, "TEXT_WIZARD_CATEGORIES", {
|
|
99
99
|
enumerable: true,
|
|
100
|
-
get: function () { return
|
|
100
|
+
get: function () { return chunkDQFQJECU_cjs.TEXT_WIZARD_CATEGORIES; }
|
|
101
101
|
});
|
|
102
102
|
Object.defineProperty(exports, "VIDEO_WIZARD_CATEGORIES", {
|
|
103
103
|
enumerable: true,
|
|
104
|
-
get: function () { return
|
|
104
|
+
get: function () { return chunkDQFQJECU_cjs.VIDEO_WIZARD_CATEGORIES; }
|
|
105
105
|
});
|
|
106
106
|
Object.defineProperty(exports, "appendScene3DStillScopingLines", {
|
|
107
107
|
enumerable: true,
|
|
108
|
-
get: function () { return
|
|
108
|
+
get: function () { return chunkDQFQJECU_cjs.appendScene3DStillScopingLines; }
|
|
109
109
|
});
|
|
110
110
|
Object.defineProperty(exports, "buildAdCreativeAnalysisUserText", {
|
|
111
111
|
enumerable: true,
|
|
112
|
-
get: function () { return
|
|
112
|
+
get: function () { return chunkDQFQJECU_cjs.buildAdCreativeAnalysisUserText; }
|
|
113
113
|
});
|
|
114
114
|
Object.defineProperty(exports, "buildCharacterPrompt", {
|
|
115
115
|
enumerable: true,
|
|
116
|
-
get: function () { return
|
|
116
|
+
get: function () { return chunkDQFQJECU_cjs.buildCharacterPrompt; }
|
|
117
117
|
});
|
|
118
118
|
Object.defineProperty(exports, "buildCreaturePrompt", {
|
|
119
119
|
enumerable: true,
|
|
120
|
-
get: function () { return
|
|
120
|
+
get: function () { return chunkDQFQJECU_cjs.buildCreaturePrompt; }
|
|
121
121
|
});
|
|
122
122
|
Object.defineProperty(exports, "buildFaceTemplateInputs", {
|
|
123
123
|
enumerable: true,
|
|
124
|
-
get: function () { return
|
|
124
|
+
get: function () { return chunkDQFQJECU_cjs.buildFaceTemplateInputs; }
|
|
125
125
|
});
|
|
126
126
|
Object.defineProperty(exports, "buildLocationMotionPrompt", {
|
|
127
127
|
enumerable: true,
|
|
128
|
-
get: function () { return
|
|
128
|
+
get: function () { return chunkDQFQJECU_cjs.buildLocationMotionPrompt; }
|
|
129
129
|
});
|
|
130
130
|
Object.defineProperty(exports, "buildLocationPrompt", {
|
|
131
131
|
enumerable: true,
|
|
132
|
-
get: function () { return
|
|
132
|
+
get: function () { return chunkDQFQJECU_cjs.buildLocationPrompt; }
|
|
133
133
|
});
|
|
134
134
|
Object.defineProperty(exports, "buildLocationRefinePrompt", {
|
|
135
135
|
enumerable: true,
|
|
136
|
-
get: function () { return
|
|
136
|
+
get: function () { return chunkDQFQJECU_cjs.buildLocationRefinePrompt; }
|
|
137
137
|
});
|
|
138
138
|
Object.defineProperty(exports, "buildMotionPrompt", {
|
|
139
139
|
enumerable: true,
|
|
140
|
-
get: function () { return
|
|
140
|
+
get: function () { return chunkDQFQJECU_cjs.buildMotionPrompt; }
|
|
141
141
|
});
|
|
142
142
|
Object.defineProperty(exports, "buildObjectMotionPrompt", {
|
|
143
143
|
enumerable: true,
|
|
144
|
-
get: function () { return
|
|
144
|
+
get: function () { return chunkDQFQJECU_cjs.buildObjectMotionPrompt; }
|
|
145
145
|
});
|
|
146
146
|
Object.defineProperty(exports, "buildObjectPrompt", {
|
|
147
147
|
enumerable: true,
|
|
148
|
-
get: function () { return
|
|
148
|
+
get: function () { return chunkDQFQJECU_cjs.buildObjectPrompt; }
|
|
149
149
|
});
|
|
150
150
|
Object.defineProperty(exports, "buildScene3DLayoutScopingLine", {
|
|
151
151
|
enumerable: true,
|
|
152
|
-
get: function () { return
|
|
152
|
+
get: function () { return chunkDQFQJECU_cjs.buildScene3DLayoutScopingLine; }
|
|
153
153
|
});
|
|
154
154
|
Object.defineProperty(exports, "buildScene3DUnreferencedFiguresWarning", {
|
|
155
155
|
enumerable: true,
|
|
156
|
-
get: function () { return
|
|
156
|
+
get: function () { return chunkDQFQJECU_cjs.buildScene3DUnreferencedFiguresWarning; }
|
|
157
157
|
});
|
|
158
158
|
Object.defineProperty(exports, "getCategoriesForNodeType", {
|
|
159
159
|
enumerable: true,
|
|
160
|
-
get: function () { return
|
|
160
|
+
get: function () { return chunkDQFQJECU_cjs.getCategoriesForNodeType; }
|
|
161
161
|
});
|
|
162
162
|
Object.defineProperty(exports, "getPromptDoctrine", {
|
|
163
163
|
enumerable: true,
|
|
164
|
-
get: function () { return
|
|
164
|
+
get: function () { return chunkDQFQJECU_cjs.getPromptDoctrine; }
|
|
165
165
|
});
|
|
166
166
|
Object.defineProperty(exports, "getPromptTips", {
|
|
167
167
|
enumerable: true,
|
|
168
|
-
get: function () { return
|
|
168
|
+
get: function () { return chunkDQFQJECU_cjs.getPromptTips; }
|
|
169
169
|
});
|
|
170
170
|
Object.defineProperty(exports, "hasScene3DLayoutScopingLine", {
|
|
171
171
|
enumerable: true,
|
|
172
|
-
get: function () { return
|
|
172
|
+
get: function () { return chunkDQFQJECU_cjs.hasScene3DLayoutScopingLine; }
|
|
173
173
|
});
|
|
174
174
|
Object.defineProperty(exports, "isWizardSupported", {
|
|
175
175
|
enumerable: true,
|
|
176
|
-
get: function () { return
|
|
176
|
+
get: function () { return chunkDQFQJECU_cjs.isWizardSupported; }
|
|
177
177
|
});
|
|
178
178
|
Object.defineProperty(exports, "ownMotionHint", {
|
|
179
179
|
enumerable: true,
|
|
180
|
-
get: function () { return
|
|
180
|
+
get: function () { return chunkDQFQJECU_cjs.ownMotionHint; }
|
|
181
181
|
});
|
|
182
182
|
Object.defineProperty(exports, "renderScene3DLayoutScopingLine", {
|
|
183
183
|
enumerable: true,
|
|
184
|
-
get: function () { return
|
|
184
|
+
get: function () { return chunkDQFQJECU_cjs.renderScene3DLayoutScopingLine; }
|
|
185
185
|
});
|
|
186
186
|
Object.defineProperty(exports, "scene3DLayoutVideoCaptions", {
|
|
187
187
|
enumerable: true,
|
|
188
|
-
get: function () { return
|
|
188
|
+
get: function () { return chunkDQFQJECU_cjs.scene3DLayoutVideoCaptions; }
|
|
189
189
|
});
|
|
190
190
|
Object.defineProperty(exports, "CINEMATIC_LOOK_TAIL", {
|
|
191
191
|
enumerable: true,
|
|
@@ -529,9 +529,9 @@ declare function getPromptTips(providerId: string): readonly string[];
|
|
|
529
529
|
* the video node skills.
|
|
530
530
|
*
|
|
531
531
|
* Unlike the per-provider video doctrines, this is a PLATFORM mechanism: the
|
|
532
|
-
* token grammar and expansion are Nodaro's own (`
|
|
533
|
-
* `IMAGE_TOKEN_PATTERN
|
|
534
|
-
* not one per model family.
|
|
532
|
+
* token grammar and expansion are Nodaro's own (`image-token-pattern.ts` —
|
|
533
|
+
* `IMAGE_TOKEN_PATTERN`; `prompt-builder.ts` — `expandImageRefTokens`), so
|
|
534
|
+
* there is one doctrine, not one per model family.
|
|
535
535
|
*
|
|
536
536
|
* Source of truth for the semantics documented here (verified 2026-08-25):
|
|
537
537
|
* - `IMAGE_TOKEN_PATTERN` = `/\{image:(\d+)(?::([^}\n]+))?\}/gi`
|
|
@@ -529,9 +529,9 @@ declare function getPromptTips(providerId: string): readonly string[];
|
|
|
529
529
|
* the video node skills.
|
|
530
530
|
*
|
|
531
531
|
* Unlike the per-provider video doctrines, this is a PLATFORM mechanism: the
|
|
532
|
-
* token grammar and expansion are Nodaro's own (`
|
|
533
|
-
* `IMAGE_TOKEN_PATTERN
|
|
534
|
-
* not one per model family.
|
|
532
|
+
* token grammar and expansion are Nodaro's own (`image-token-pattern.ts` —
|
|
533
|
+
* `IMAGE_TOKEN_PATTERN`; `prompt-builder.ts` — `expandImageRefTokens`), so
|
|
534
|
+
* there is one doctrine, not one per model family.
|
|
535
535
|
*
|
|
536
536
|
* Source of truth for the semantics documented here (verified 2026-08-25):
|
|
537
537
|
* - `IMAGE_TOKEN_PATTERN` = `/\{image:(\d+)(?::([^}\n]+))?\}/gi`
|
package/dist/entries/doctrine.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
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-
|
|
1
|
+
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-C46256GZ.js';
|
|
2
2
|
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';
|
|
3
3
|
export { DEFAULT_IDENTITY_LOCK, DEFAULT_TEMPLATES, applyTemplate, buildIdentityLockLine, characterLockToRefLock, collectIdentityLockClause, getIdentityLockClause, hasUpstreamCharacter, resolveTemplate, toIdentityLockMode, withForcedIdentityLock } from '../chunk-BQWIPLLR.js';
|
|
4
4
|
import '../chunk-PZ5AY32C.js';
|