@nodaro/prompts 1.14.0 → 1.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/index.cjs +680 -251
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +406 -1
  4. package/dist/index.d.ts +406 -1
  5. package/dist/index.js +649 -253
  6. package/dist/index.js.map +1 -1
  7. package/package.json +2 -2
  8. package/src/__tests__/adult-only-ratchet.test.ts +110 -0
  9. package/src/__tests__/age-floor.test.ts +347 -0
  10. package/src/__tests__/catalog-id-guard.test.ts +146 -0
  11. package/src/__tests__/catalog-overlay.test.ts +163 -0
  12. package/src/__tests__/doctrine-roster-completeness.test.ts +1 -0
  13. package/src/__tests__/dod-replace-pack-acceptance.test.ts +17 -0
  14. package/src/__tests__/fixtures/parameter-hint-golden.json +315 -37
  15. package/src/__tests__/minor-age-floor.test.ts +136 -0
  16. package/src/__tests__/person-body-axes.test.ts +2 -2
  17. package/src/__tests__/person-exposure-hints.test.ts +59 -4
  18. package/src/__tests__/person-pack-adult-only.test.ts +45 -0
  19. package/src/__tests__/picker-analyzer-registry.test.ts +14 -0
  20. package/src/__tests__/retired-hint-strings.test.ts +68 -0
  21. package/src/__tests__/subject-registry.test.ts +1 -1
  22. package/src/__tests__/w1b-rephrase.test.ts +119 -0
  23. package/src/action-fx.ts +2 -1
  24. package/src/aesthetic.ts +2 -1
  25. package/src/age-floor.ts +359 -0
  26. package/src/age-signal.ts +36 -0
  27. package/src/atmosphere.ts +2 -1
  28. package/src/backdrop.ts +2 -1
  29. package/src/camera-format.ts +2 -1
  30. package/src/camera-motions.ts +2 -1
  31. package/src/catalog-id-guard.ts +189 -0
  32. package/src/catalog-overlay.ts +148 -0
  33. package/src/catalog-packs.ts +27 -2
  34. package/src/character-fx.ts +2 -1
  35. package/src/color-look.ts +2 -1
  36. package/src/composition-effects.ts +2 -1
  37. package/src/era.ts +2 -1
  38. package/src/exposure-settings.ts +2 -1
  39. package/src/framing.ts +2 -1
  40. package/src/held-prop.ts +2 -1
  41. package/src/index.ts +4 -0
  42. package/src/instrumentation.ts +5 -4
  43. package/src/lens.ts +2 -1
  44. package/src/lighting.ts +2 -1
  45. package/src/loop-subject.ts +3 -1
  46. package/src/materials.ts +2 -1
  47. package/src/mood.ts +16 -5
  48. package/src/music-genre.ts +5 -4
  49. package/src/music-mood.ts +4 -3
  50. package/src/parameter-prompt-hint.ts +13 -57
  51. package/src/person-packs.ts +14 -2
  52. package/src/person.ts +76 -42
  53. package/src/photo-genre.ts +14 -3
  54. package/src/photographer.ts +2 -1
  55. package/src/picker-analyzer-registry.ts +9 -0
  56. package/src/picker-catalogs.ts +11 -0
  57. package/src/pose.ts +17 -6
  58. package/src/post-process-effects.ts +2 -1
  59. package/src/prompt-builder.ts +3 -3
  60. package/src/render-quality.ts +2 -1
  61. package/src/setting.ts +2 -1
  62. package/src/shared-catalog-overlay.ts +83 -0
  63. package/src/style.ts +16 -1
  64. package/src/styling.ts +93 -29
  65. package/src/subject-registry.ts +2 -2
  66. package/src/temporal.ts +2 -1
  67. package/src/transitions.ts +2 -1
  68. package/src/voice-character.ts +6 -5
  69. package/src/voice-delivery.ts +4 -3
@@ -9,6 +9,7 @@
9
9
 
10
10
  import { pickIds } from "@nodaro/shared"
11
11
  import { resolveTerm, type PickerHintMode } from "./term.js"
12
+ import { overlayEntry } from "./catalog-overlay.js"
12
13
 
13
14
  export interface VoiceCharacterEntry {
14
15
  readonly id: string
@@ -159,11 +160,11 @@ const LANGUAGE_BY_ID = new Map(VOICE_LANGUAGES.map((x) => [x.id, x]))
159
160
  const ACCENT_BY_ID = new Map(VOICE_ACCENTS.map((x) => [x.id, x]))
160
161
  const TIMBRE_BY_ID = new Map(VOICE_TIMBRES.map((x) => [x.id, x]))
161
162
 
162
- export function getVoiceAge(id: string | undefined) { return id ? AGE_BY_ID.get(id) : undefined }
163
- export function getVoiceGender(id: string | undefined) { return id ? GENDER_BY_ID.get(id) : undefined }
164
- export function getVoiceLanguage(id: string | undefined) { return id ? LANGUAGE_BY_ID.get(id) : undefined }
165
- export function getVoiceAccent(id: string | undefined) { return id ? ACCENT_BY_ID.get(id) : undefined }
166
- export function getVoiceTimbre(id: string | undefined) { return id ? TIMBRE_BY_ID.get(id) : undefined }
163
+ export function getVoiceAge(id: string | undefined) { return id ? overlayEntry("voice-character", id, AGE_BY_ID.get(id)) : undefined }
164
+ export function getVoiceGender(id: string | undefined) { return id ? overlayEntry("voice-character", id, GENDER_BY_ID.get(id)) : undefined }
165
+ export function getVoiceLanguage(id: string | undefined) { return id ? overlayEntry("voice-character", id, LANGUAGE_BY_ID.get(id)) : undefined }
166
+ export function getVoiceAccent(id: string | undefined) { return id ? overlayEntry("voice-character", id, ACCENT_BY_ID.get(id)) : undefined }
167
+ export function getVoiceTimbre(id: string | undefined) { return id ? overlayEntry("voice-character", id, TIMBRE_BY_ID.get(id)) : undefined }
167
168
 
168
169
  /**
169
170
  * The COMPACT counterparts of the five sub-field lookups: the short
@@ -4,6 +4,7 @@
4
4
  */
5
5
 
6
6
  import { resolveTerm, type PickerHintMode } from "./term.js"
7
+ import { overlayEntry } from "./catalog-overlay.js"
7
8
 
8
9
  export interface VoiceDeliveryEntry {
9
10
  readonly id: string
@@ -102,9 +103,9 @@ const PACE_BY_ID = new Map(VOICE_PACES.map((x) => [x.id, x]))
102
103
  const EMOTION_BY_ID = new Map(VOICE_EMOTIONS.map((x) => [x.id, x]))
103
104
  const ARCHETYPE_BY_ID = new Map(VOICE_ARCHETYPES.map((x) => [x.id, x]))
104
105
 
105
- export function getVoicePace(id: string | undefined) { return id ? PACE_BY_ID.get(id) : undefined }
106
- export function getVoiceEmotion(id: string | undefined) { return id ? EMOTION_BY_ID.get(id) : undefined }
107
- export function getVoiceArchetype(id: string | undefined) { return id ? ARCHETYPE_BY_ID.get(id) : undefined }
106
+ export function getVoicePace(id: string | undefined) { return id ? overlayEntry("voice-delivery", id, PACE_BY_ID.get(id)) : undefined }
107
+ export function getVoiceEmotion(id: string | undefined) { return id ? overlayEntry("voice-delivery", id, EMOTION_BY_ID.get(id)) : undefined }
108
+ export function getVoiceArchetype(id: string | undefined) { return id ? overlayEntry("voice-delivery", id, ARCHETYPE_BY_ID.get(id)) : undefined }
108
109
 
109
110
  /**
110
111
  * The COMPACT counterparts of the three lookups above: the short professional