@nodaro/prompts 1.38.0 → 1.39.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-LVSH7K7R.cjs → chunk-22KZOAGL.cjs} +81 -42
- package/dist/chunk-22KZOAGL.cjs.map +1 -0
- package/dist/chunk-2P26SZX5.cjs +414 -0
- package/dist/chunk-2P26SZX5.cjs.map +1 -0
- package/dist/{chunk-CVPB2N3Z.cjs → chunk-3INXNDV7.cjs} +102 -4
- package/dist/chunk-3INXNDV7.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-NO6XHX4R.js → chunk-6MPZHFIS.js} +99 -6
- package/dist/chunk-6MPZHFIS.js.map +1 -0
- package/dist/{chunk-4FDNVNJE.js → chunk-7XMTVYS5.js} +3 -76
- package/dist/chunk-7XMTVYS5.js.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-TLVX5PXD.cjs → chunk-IUCNJAHW.cjs} +13 -7
- package/dist/chunk-IUCNJAHW.cjs.map +1 -0
- package/dist/{chunk-ZFIXQRBZ.cjs → chunk-KUBZVWME.cjs} +2 -80
- package/dist/chunk-KUBZVWME.cjs.map +1 -0
- package/dist/{chunk-JKCR6WRZ.cjs → chunk-NMWKXAYA.cjs} +2 -2
- package/dist/{chunk-JKCR6WRZ.cjs.map → chunk-NMWKXAYA.cjs.map} +1 -1
- 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-MENBHEAY.cjs → chunk-WRM52ZBN.cjs} +19 -161
- package/dist/chunk-WRM52ZBN.cjs.map +1 -0
- package/dist/chunk-XIWWDGT5.cjs +86 -0
- package/dist/chunk-XIWWDGT5.cjs.map +1 -0
- package/dist/{chunk-CEPVQQVO.js → chunk-XRLOMTBZ.js} +2 -2
- package/dist/{chunk-CEPVQQVO.js.map → chunk-XRLOMTBZ.js.map} +1 -1
- package/dist/{chunk-QBEZMR2F.js → chunk-XU54YJXQ.js} +54 -15
- package/dist/chunk-XU54YJXQ.js.map +1 -0
- package/dist/chunk-Z3SZXWRU.js +80 -0
- package/dist/chunk-Z3SZXWRU.js.map +1 -0
- package/dist/entries/assembly.cjs +26 -25
- package/dist/entries/assembly.d.cts +32 -4
- package/dist/entries/assembly.d.ts +32 -4
- 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 +51 -1
- package/dist/entries/presets.d.ts +51 -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.js +2 -1
- package/dist/index.cjs +331 -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__/user-direction-refs.test.ts +180 -0
- 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/prompt-builder.ts +2 -0
- package/src/factory-presets/generate-image.ts +29 -0
- package/src/factory-presets/index.ts +2 -0
- package/src/factory-presets/preview-files.generated.ts +4 -0
- package/src/factory-presets/previews.ts +40 -0
- package/src/factory-presets/references.ts +80 -0
- package/src/factory-presets/shared-image.ts +4 -0
- package/src/factory-presets/types.ts +8 -0
- package/src/image-reference-doctrine.ts +3 -3
- package/src/image-token-pattern.ts +13 -0
- package/src/prompt-builder.ts +4 -5
- package/src/prompt-style-section.ts +3 -3
- package/src/user-direction-refs.ts +110 -0
- package/dist/chunk-4FDNVNJE.js.map +0 -1
- package/dist/chunk-7XKHDXCL.cjs.map +0 -1
- package/dist/chunk-CVPB2N3Z.cjs.map +0 -1
- package/dist/chunk-HRBBNODV.js.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,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkKUBZVWME_cjs = require('./chunk-KUBZVWME.cjs');
|
|
4
|
+
var chunk4GKTOVFM_cjs = require('./chunk-4GKTOVFM.cjs');
|
|
3
5
|
var chunkNAFD6MGH_cjs = require('./chunk-NAFD6MGH.cjs');
|
|
4
6
|
var models = require('@nodaro/shared/models');
|
|
5
7
|
|
|
@@ -137,7 +139,9 @@ function stylizedSubjectFor(nodeType) {
|
|
|
137
139
|
name: p.name,
|
|
138
140
|
description: p.description,
|
|
139
141
|
group: "Stylized Subject",
|
|
140
|
-
data: { provider: editProviderFor(nodeType), ...p.data }
|
|
142
|
+
data: { provider: editProviderFor(nodeType), ...p.data },
|
|
143
|
+
// Restyles the person in the connected photo ("the reference image").
|
|
144
|
+
minReferences: 1
|
|
141
145
|
}));
|
|
142
146
|
}
|
|
143
147
|
var IMAGE_EDITS = [
|
|
@@ -261,7 +265,9 @@ function editsFor(nodeType) {
|
|
|
261
265
|
name: p.name,
|
|
262
266
|
description: p.description,
|
|
263
267
|
group: "Edits",
|
|
264
|
-
data: { provider: editProviderFor(nodeType), ...p.data }
|
|
268
|
+
data: { provider: editProviderFor(nodeType), ...p.data },
|
|
269
|
+
// Every edit operates on the connected photo.
|
|
270
|
+
minReferences: 1
|
|
265
271
|
}));
|
|
266
272
|
}
|
|
267
273
|
|
|
@@ -270,12 +276,17 @@ var sentences = (...parts) => parts.join(" ");
|
|
|
270
276
|
var REALISM_MODEL = { provider: "gpt-image-2", resolution: "2K" };
|
|
271
277
|
var SKIN_STUDY_MODEL = { provider: "seedream-5-pro", quality: "high" };
|
|
272
278
|
var GENERATE_IMAGE_PRESETS = [
|
|
279
|
+
// `minReferences` marks a preset that works from connected photos its prompt
|
|
280
|
+
// describes in words ("the attached photo"); `{image:N}` tokens count on their
|
|
281
|
+
// own, so a tokenized preset declares nothing. The groups stay all-or-nothing
|
|
282
|
+
// (factory-preset-references.test.ts), so a new preset copies the line along.
|
|
273
283
|
// ── Reference Sheet ──────────────────────────────────────────────────────
|
|
274
284
|
{
|
|
275
285
|
id: "generate-image/character-board",
|
|
276
286
|
name: "Character Board",
|
|
277
287
|
description: "Connect a sharp, well-lit photo \u2192 dense character sheet; reuse it as a reference for consistent shots.",
|
|
278
288
|
group: "Reference Sheet",
|
|
289
|
+
minReferences: 1,
|
|
279
290
|
data: {
|
|
280
291
|
provider: "gpt-image-2",
|
|
281
292
|
aspectRatio: "16:9",
|
|
@@ -290,6 +301,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
290
301
|
name: "Pose Board",
|
|
291
302
|
description: "Connect a sharp photo \u2192 animation-ready pose & expression sheet; reuse it as a reference for consistent action.",
|
|
292
303
|
group: "Reference Sheet",
|
|
304
|
+
minReferences: 1,
|
|
293
305
|
data: {
|
|
294
306
|
provider: "gpt-image-2",
|
|
295
307
|
aspectRatio: "16:9",
|
|
@@ -304,6 +316,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
304
316
|
name: "Location Board",
|
|
305
317
|
description: "Connect a photo \u2192 dense location sheet; reuse it as a reference for consistent scenes.",
|
|
306
318
|
group: "Reference Sheet",
|
|
319
|
+
minReferences: 1,
|
|
307
320
|
data: {
|
|
308
321
|
provider: "gpt-image-2",
|
|
309
322
|
aspectRatio: "16:9",
|
|
@@ -318,6 +331,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
318
331
|
name: "Product Board",
|
|
319
332
|
description: "Connect a photo \u2192 dense product sheet; reuse it as a reference for consistent shots.",
|
|
320
333
|
group: "Reference Sheet",
|
|
334
|
+
minReferences: 1,
|
|
321
335
|
data: {
|
|
322
336
|
provider: "gpt-image-2",
|
|
323
337
|
aspectRatio: "16:9",
|
|
@@ -332,6 +346,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
332
346
|
name: "Outfit Board",
|
|
333
347
|
description: "Connect a photo \u2192 dense wardrobe sheet; reuse it as a reference for consistent looks.",
|
|
334
348
|
group: "Reference Sheet",
|
|
349
|
+
minReferences: 1,
|
|
335
350
|
data: {
|
|
336
351
|
provider: "gpt-image-2",
|
|
337
352
|
aspectRatio: "16:9",
|
|
@@ -346,6 +361,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
346
361
|
name: "Scene Board",
|
|
347
362
|
description: "Connect a photo \u2192 set-dressing & props study; reuse it as a reference for consistent sets.",
|
|
348
363
|
group: "Reference Sheet",
|
|
364
|
+
minReferences: 1,
|
|
349
365
|
data: {
|
|
350
366
|
provider: "gpt-image-2",
|
|
351
367
|
aspectRatio: "16:9",
|
|
@@ -360,6 +376,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
360
376
|
name: "Creature Board",
|
|
361
377
|
description: "Connect a sharp photo \u2192 dense creature sheet; reuse it as a reference for consistent shots.",
|
|
362
378
|
group: "Reference Sheet",
|
|
379
|
+
minReferences: 1,
|
|
363
380
|
data: {
|
|
364
381
|
provider: "gpt-image-2",
|
|
365
382
|
aspectRatio: "16:9",
|
|
@@ -374,6 +391,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
374
391
|
name: "Vehicle Board",
|
|
375
392
|
description: "Connect a photo \u2192 dense vehicle sheet; reuse it as a reference for consistent shots.",
|
|
376
393
|
group: "Reference Sheet",
|
|
394
|
+
minReferences: 1,
|
|
377
395
|
data: {
|
|
378
396
|
provider: "gpt-image-2",
|
|
379
397
|
aspectRatio: "16:9",
|
|
@@ -388,6 +406,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
388
406
|
name: "Food Board",
|
|
389
407
|
description: "Connect a photo \u2192 dense dish sheet; reuse it as a reference for consistent food shots.",
|
|
390
408
|
group: "Reference Sheet",
|
|
409
|
+
minReferences: 1,
|
|
391
410
|
data: {
|
|
392
411
|
provider: "gpt-image-2",
|
|
393
412
|
aspectRatio: "16:9",
|
|
@@ -402,6 +421,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
402
421
|
name: "Mascot Board",
|
|
403
422
|
description: "Connect a mascot image \u2192 brand-character sheet with brand applications; reuse it for a consistent mascot.",
|
|
404
423
|
group: "Reference Sheet",
|
|
424
|
+
minReferences: 1,
|
|
405
425
|
data: {
|
|
406
426
|
provider: "gpt-image-2",
|
|
407
427
|
aspectRatio: "16:9",
|
|
@@ -416,6 +436,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
416
436
|
name: "Pet Board",
|
|
417
437
|
description: "Connect a sharp photo \u2192 dense pet sheet; reuse it as a reference for consistent shots.",
|
|
418
438
|
group: "Reference Sheet",
|
|
439
|
+
minReferences: 1,
|
|
419
440
|
data: {
|
|
420
441
|
provider: "gpt-image-2",
|
|
421
442
|
aspectRatio: "16:9",
|
|
@@ -430,6 +451,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
430
451
|
name: "Skin Detail Sheet",
|
|
431
452
|
description: "Connect a sharp face photo \u2192 a six-panel skin reference.",
|
|
432
453
|
group: "Reference Sheet",
|
|
454
|
+
minReferences: 1,
|
|
433
455
|
data: {
|
|
434
456
|
...SKIN_STUDY_MODEL,
|
|
435
457
|
aspectRatio: "3:2",
|
|
@@ -452,6 +474,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
452
474
|
name: "Character Reference Grid",
|
|
453
475
|
description: "Connect a photo \u2192 clean 4-angle identity grid (no decorations) \u2014 the strongest consistency anchor.",
|
|
454
476
|
group: "Cast & Consistency",
|
|
477
|
+
minReferences: 1,
|
|
455
478
|
data: {
|
|
456
479
|
provider: "gpt-image-2",
|
|
457
480
|
aspectRatio: "3:4",
|
|
@@ -466,6 +489,8 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
466
489
|
name: "Cast Mega Grid",
|
|
467
490
|
description: "Connect 2\u20134 character refs \u2192 one labeled cast sheet; then reference cast members by name in scenes.",
|
|
468
491
|
group: "Cast & Consistency",
|
|
492
|
+
// A cast sheet is two characters or more ("Connect 2–4 character refs").
|
|
493
|
+
minReferences: 2,
|
|
469
494
|
data: {
|
|
470
495
|
provider: "gpt-image-2",
|
|
471
496
|
aspectRatio: "3:4",
|
|
@@ -479,6 +504,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
479
504
|
name: "Cast Scene (by name)",
|
|
480
505
|
description: "Connect a cast grid \u2192 stage a scene naming the characters; never re-describe their looks.",
|
|
481
506
|
group: "Cast & Consistency",
|
|
507
|
+
minReferences: 1,
|
|
482
508
|
data: {
|
|
483
509
|
provider: "gpt-image-2",
|
|
484
510
|
aspectRatio: "16:9",
|
|
@@ -493,6 +519,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
493
519
|
name: "Label Elements",
|
|
494
520
|
description: "Step 1 \xB7 connect a photo \u2192 the same image with a numbered label on each changeable element.",
|
|
495
521
|
group: "Edit by Name",
|
|
522
|
+
minReferences: 1,
|
|
496
523
|
data: {
|
|
497
524
|
provider: "gpt-image-2",
|
|
498
525
|
quality: "high",
|
|
@@ -505,6 +532,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
505
532
|
name: "Apply Named Edit",
|
|
506
533
|
description: 'Step 2 \xB7 connect the labeled sheet \u2192 type your change in the prompt (e.g. change "drink 1" to blue); the labels are removed from the result.',
|
|
507
534
|
group: "Edit by Name",
|
|
535
|
+
minReferences: 1,
|
|
508
536
|
data: {
|
|
509
537
|
provider: "gpt-image-2",
|
|
510
538
|
quality: "high",
|
|
@@ -1713,6 +1741,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1713
1741
|
name: "Five Ages (Timeless Soul)",
|
|
1714
1742
|
description: "One person at 5 ages, studio line-up. Needs a reference photo.",
|
|
1715
1743
|
group: "Portrait Transformations",
|
|
1744
|
+
minReferences: 1,
|
|
1716
1745
|
data: {
|
|
1717
1746
|
provider: "gpt-image-2",
|
|
1718
1747
|
aspectRatio: "3:4",
|
|
@@ -1725,6 +1754,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1725
1754
|
name: "Three-Age Triptych",
|
|
1726
1755
|
description: "Same person at 3 ages (~10 / 40 / 75). Needs a reference photo.",
|
|
1727
1756
|
group: "Portrait Transformations",
|
|
1757
|
+
minReferences: 1,
|
|
1728
1758
|
data: {
|
|
1729
1759
|
provider: "gpt-image-2",
|
|
1730
1760
|
aspectRatio: "3:4",
|
|
@@ -1737,6 +1767,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1737
1767
|
name: "Five Ages \u2014 B&W",
|
|
1738
1768
|
description: "Monochrome age line-up. Needs a reference photo.",
|
|
1739
1769
|
group: "Portrait Transformations",
|
|
1770
|
+
minReferences: 1,
|
|
1740
1771
|
data: {
|
|
1741
1772
|
provider: "gpt-image-2",
|
|
1742
1773
|
aspectRatio: "3:4",
|
|
@@ -1749,6 +1780,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1749
1780
|
name: "Decade Timeline",
|
|
1750
1781
|
description: "Same person across the '80s\u20132020s. Needs a reference photo.",
|
|
1751
1782
|
group: "Portrait Transformations",
|
|
1783
|
+
minReferences: 1,
|
|
1752
1784
|
data: {
|
|
1753
1785
|
provider: "gpt-image-2",
|
|
1754
1786
|
aspectRatio: "3:4",
|
|
@@ -1761,6 +1793,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1761
1793
|
name: "Four Seasons",
|
|
1762
1794
|
description: "Same person in spring / summer / autumn / winter. Needs a reference photo.",
|
|
1763
1795
|
group: "Portrait Transformations",
|
|
1796
|
+
minReferences: 1,
|
|
1764
1797
|
data: {
|
|
1765
1798
|
provider: "gpt-image-2",
|
|
1766
1799
|
aspectRatio: "3:4",
|
|
@@ -1773,6 +1806,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1773
1806
|
name: "Times of Day",
|
|
1774
1807
|
description: "Same person at dawn / midday / golden hour / night. Needs a reference photo.",
|
|
1775
1808
|
group: "Portrait Transformations",
|
|
1809
|
+
minReferences: 1,
|
|
1776
1810
|
data: {
|
|
1777
1811
|
provider: "gpt-image-2",
|
|
1778
1812
|
aspectRatio: "3:4",
|
|
@@ -1785,6 +1819,7 @@ var GENERATE_IMAGE_PRESETS = [
|
|
|
1785
1819
|
name: "Sports Jersey Portrait",
|
|
1786
1820
|
description: "You in an oversized team jersey, studio editorial. Needs a reference photo.",
|
|
1787
1821
|
group: "Portrait Transformations",
|
|
1822
|
+
minReferences: 1,
|
|
1788
1823
|
data: {
|
|
1789
1824
|
provider: "nano-banana-2-1",
|
|
1790
1825
|
aspectRatio: "4:5",
|
|
@@ -5116,6 +5151,64 @@ function groupFactoryPresets(presets) {
|
|
|
5116
5151
|
}
|
|
5117
5152
|
return buckets;
|
|
5118
5153
|
}
|
|
5154
|
+
var MAX_PRESET_REFERENCES = Math.max(
|
|
5155
|
+
1,
|
|
5156
|
+
...[...models.MODELS_WITH_REFERENCE_IMAGE_SUPPORT].map((provider) => models.imageReferenceLimit(provider))
|
|
5157
|
+
);
|
|
5158
|
+
function promptFieldsOf(nodeType) {
|
|
5159
|
+
const spec = chunkKUBZVWME_cjs.getPromptFields(nodeType);
|
|
5160
|
+
const candidates = chunkKUBZVWME_cjs.NODE_PROMPT_CANDIDATE_FIELDS[nodeType] ?? [];
|
|
5161
|
+
if (!spec && candidates.length === 0) return [];
|
|
5162
|
+
const fields = new Set(candidates);
|
|
5163
|
+
if (spec) {
|
|
5164
|
+
fields.add(spec.prompt);
|
|
5165
|
+
if (spec.negative) fields.add(spec.negative);
|
|
5166
|
+
}
|
|
5167
|
+
const core = chunkKUBZVWME_cjs.promptAffixCoreField(nodeType);
|
|
5168
|
+
if (core) fields.add(core);
|
|
5169
|
+
if (chunkKUBZVWME_cjs.nodeSupportsPromptAffixes(nodeType)) {
|
|
5170
|
+
fields.add("promptPrefix");
|
|
5171
|
+
fields.add("promptSuffix");
|
|
5172
|
+
}
|
|
5173
|
+
return [...fields];
|
|
5174
|
+
}
|
|
5175
|
+
function highestImageToken(text) {
|
|
5176
|
+
let highest = 0;
|
|
5177
|
+
for (const match of text.matchAll(chunk4GKTOVFM_cjs.IMAGE_TOKEN_PATTERN)) {
|
|
5178
|
+
const n = Number.parseInt(match[1] ?? "", 10);
|
|
5179
|
+
if (Number.isInteger(n) && n > highest) highest = n;
|
|
5180
|
+
}
|
|
5181
|
+
return highest;
|
|
5182
|
+
}
|
|
5183
|
+
function presetMinReferences(nodeType, data, declared) {
|
|
5184
|
+
let count = typeof declared === "number" && Number.isInteger(declared) && declared > 0 ? declared : 0;
|
|
5185
|
+
for (const field of promptFieldsOf(nodeType)) {
|
|
5186
|
+
const value = data[field];
|
|
5187
|
+
if (typeof value === "string") count = Math.max(count, highestImageToken(value));
|
|
5188
|
+
}
|
|
5189
|
+
return Math.min(count, MAX_PRESET_REFERENCES);
|
|
5190
|
+
}
|
|
5191
|
+
|
|
5192
|
+
// src/factory-presets/preview-files.generated.ts
|
|
5193
|
+
var FACTORY_PRESET_PREVIEW_FILES = {};
|
|
5194
|
+
|
|
5195
|
+
// src/factory-presets/previews.ts
|
|
5196
|
+
var PRESET_PREVIEW_PATH = "/preset-previews/";
|
|
5197
|
+
function originOf(baseUrl) {
|
|
5198
|
+
try {
|
|
5199
|
+
const url = new URL(baseUrl);
|
|
5200
|
+
if (url.protocol !== "https:" && url.protocol !== "http:") return void 0;
|
|
5201
|
+
return url.origin + url.pathname.replace(/\/+$/, "");
|
|
5202
|
+
} catch {
|
|
5203
|
+
return void 0;
|
|
5204
|
+
}
|
|
5205
|
+
}
|
|
5206
|
+
function factoryPresetPreviewUrl(presetId, baseUrl, files = FACTORY_PRESET_PREVIEW_FILES) {
|
|
5207
|
+
const file = Object.prototype.hasOwnProperty.call(files, presetId) ? files[presetId] : void 0;
|
|
5208
|
+
if (!file) return null;
|
|
5209
|
+
const origin = originOf(baseUrl);
|
|
5210
|
+
return origin ? `${origin}${PRESET_PREVIEW_PATH}${file}` : null;
|
|
5211
|
+
}
|
|
5119
5212
|
|
|
5120
5213
|
// src/factory-presets/index.ts
|
|
5121
5214
|
function forModifyImage(p) {
|
|
@@ -5532,8 +5625,10 @@ exports.BRAND_PRESET_META = BRAND_PRESET_META;
|
|
|
5532
5625
|
exports.CAPTION_LEVERS_BY_LANGUAGE = CAPTION_LEVERS_BY_LANGUAGE;
|
|
5533
5626
|
exports.CAPTION_SEGMENT_LEVER_KEYS = CAPTION_SEGMENT_LEVER_KEYS;
|
|
5534
5627
|
exports.FACTORY_PRESETS = FACTORY_PRESETS;
|
|
5628
|
+
exports.FACTORY_PRESET_PREVIEW_FILES = FACTORY_PRESET_PREVIEW_FILES;
|
|
5535
5629
|
exports.FACTORY_SNIPPETS = FACTORY_SNIPPETS;
|
|
5536
5630
|
exports.HOOK_PLATE_PRESET_ID = HOOK_PLATE_PRESET_ID;
|
|
5631
|
+
exports.MAX_PRESET_REFERENCES = MAX_PRESET_REFERENCES;
|
|
5537
5632
|
exports.OBJECT_ANGLE_PRESETS = OBJECT_ANGLE_PRESETS;
|
|
5538
5633
|
exports.OBJECT_ANGLE_PROMPTS = OBJECT_ANGLE_PROMPTS;
|
|
5539
5634
|
exports.OBJECT_ASSET_PRESETS = OBJECT_ASSET_PRESETS;
|
|
@@ -5542,13 +5637,16 @@ exports.OBJECT_MATERIAL_PRESETS = OBJECT_MATERIAL_PRESETS;
|
|
|
5542
5637
|
exports.OBJECT_MATERIAL_PROMPTS = OBJECT_MATERIAL_PROMPTS;
|
|
5543
5638
|
exports.OBJECT_VARIATION_PRESETS = OBJECT_VARIATION_PRESETS;
|
|
5544
5639
|
exports.OBJECT_VARIATION_PROMPTS = OBJECT_VARIATION_PROMPTS;
|
|
5640
|
+
exports.PRESET_PREVIEW_PATH = PRESET_PREVIEW_PATH;
|
|
5545
5641
|
exports.SNIPPET_MEDIA_VALUES = SNIPPET_MEDIA_VALUES;
|
|
5546
5642
|
exports.STYLE_PRESETS = STYLE_PRESETS;
|
|
5643
|
+
exports.factoryPresetPreviewUrl = factoryPresetPreviewUrl;
|
|
5547
5644
|
exports.getFactoryPresets = getFactoryPresets;
|
|
5548
5645
|
exports.getFactorySnippets = getFactorySnippets;
|
|
5549
5646
|
exports.getStylePreset = getStylePreset;
|
|
5550
5647
|
exports.groupFactoryPresets = groupFactoryPresets;
|
|
5551
5648
|
exports.hookPlateCaptionSegments = hookPlateCaptionSegments;
|
|
5649
|
+
exports.presetMinReferences = presetMinReferences;
|
|
5552
5650
|
exports.resolveBrandInput = resolveBrandInput;
|
|
5553
|
-
//# sourceMappingURL=chunk-
|
|
5554
|
-
//# sourceMappingURL=chunk-
|
|
5651
|
+
//# sourceMappingURL=chunk-3INXNDV7.cjs.map
|
|
5652
|
+
//# sourceMappingURL=chunk-3INXNDV7.cjs.map
|