@sharpee/lang-en-us 1.5.0 → 2.0.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 (223) hide show
  1. package/actions/about.d.ts.map +1 -1
  2. package/actions/about.js +8 -8
  3. package/actions/about.js.map +1 -1
  4. package/actions/again.d.ts.map +1 -1
  5. package/actions/again.js.map +1 -1
  6. package/actions/answering.d.ts.map +1 -1
  7. package/actions/answering.js.map +1 -1
  8. package/actions/asking.d.ts.map +1 -1
  9. package/actions/asking.js +14 -14
  10. package/actions/asking.js.map +1 -1
  11. package/actions/attacking.d.ts.map +1 -1
  12. package/actions/attacking.js +51 -51
  13. package/actions/attacking.js.map +1 -1
  14. package/actions/climbing.d.ts.map +1 -1
  15. package/actions/climbing.js +4 -4
  16. package/actions/climbing.js.map +1 -1
  17. package/actions/closing.d.ts.map +1 -1
  18. package/actions/closing.js +5 -5
  19. package/actions/closing.js.map +1 -1
  20. package/actions/drinking.d.ts.map +1 -1
  21. package/actions/drinking.js +20 -20
  22. package/actions/drinking.js.map +1 -1
  23. package/actions/dropping.d.ts.map +1 -1
  24. package/actions/dropping.js +3 -3
  25. package/actions/dropping.js.map +1 -1
  26. package/actions/eating.d.ts.map +1 -1
  27. package/actions/eating.js +20 -20
  28. package/actions/eating.js.map +1 -1
  29. package/actions/entering.d.ts.map +1 -1
  30. package/actions/entering.js +10 -10
  31. package/actions/entering.js.map +1 -1
  32. package/actions/examining.d.ts.map +1 -1
  33. package/actions/examining.js +28 -23
  34. package/actions/examining.js.map +1 -1
  35. package/actions/exiting.d.ts.map +1 -1
  36. package/actions/exiting.js +4 -4
  37. package/actions/exiting.js.map +1 -1
  38. package/actions/giving.d.ts.map +1 -1
  39. package/actions/giving.js +12 -12
  40. package/actions/giving.js.map +1 -1
  41. package/actions/going.d.ts.map +1 -1
  42. package/actions/going.js +7 -7
  43. package/actions/going.js.map +1 -1
  44. package/actions/help.d.ts.map +1 -1
  45. package/actions/help.js +2 -2
  46. package/actions/help.js.map +1 -1
  47. package/actions/hiding.d.ts.map +1 -1
  48. package/actions/hiding.js.map +1 -1
  49. package/actions/index.d.ts.map +1 -1
  50. package/actions/index.js.map +1 -1
  51. package/actions/inserting.d.ts.map +1 -1
  52. package/actions/inserting.js +8 -8
  53. package/actions/inserting.js.map +1 -1
  54. package/actions/inventory.d.ts.map +1 -1
  55. package/actions/inventory.js.map +1 -1
  56. package/actions/listening.d.ts.map +1 -1
  57. package/actions/listening.js +7 -7
  58. package/actions/listening.js.map +1 -1
  59. package/actions/locking.d.ts.map +1 -1
  60. package/actions/locking.js +8 -8
  61. package/actions/locking.js.map +1 -1
  62. package/actions/looking.d.ts.map +1 -1
  63. package/actions/looking.js +5 -5
  64. package/actions/looking.js.map +1 -1
  65. package/actions/lowering.d.ts.map +1 -1
  66. package/actions/lowering.js +2 -2
  67. package/actions/lowering.js.map +1 -1
  68. package/actions/opening.d.ts.map +1 -1
  69. package/actions/opening.js +7 -7
  70. package/actions/opening.js.map +1 -1
  71. package/actions/pulling.d.ts.map +1 -1
  72. package/actions/pulling.js +19 -19
  73. package/actions/pulling.js.map +1 -1
  74. package/actions/pushing.d.ts.map +1 -1
  75. package/actions/pushing.js +14 -14
  76. package/actions/pushing.js.map +1 -1
  77. package/actions/putting.d.ts.map +1 -1
  78. package/actions/putting.js +12 -12
  79. package/actions/putting.js.map +1 -1
  80. package/actions/quitting.d.ts.map +1 -1
  81. package/actions/quitting.js.map +1 -1
  82. package/actions/raising.d.ts.map +1 -1
  83. package/actions/raising.js +2 -2
  84. package/actions/raising.js.map +1 -1
  85. package/actions/reading.d.ts.map +1 -1
  86. package/actions/reading.js +7 -7
  87. package/actions/reading.js.map +1 -1
  88. package/actions/removing.d.ts.map +1 -1
  89. package/actions/removing.js +8 -8
  90. package/actions/removing.js.map +1 -1
  91. package/actions/restoring.d.ts.map +1 -1
  92. package/actions/restoring.js +6 -6
  93. package/actions/restoring.js.map +1 -1
  94. package/actions/saving.d.ts.map +1 -1
  95. package/actions/saving.js +6 -6
  96. package/actions/saving.js.map +1 -1
  97. package/actions/scoring.d.ts.map +1 -1
  98. package/actions/scoring.js.map +1 -1
  99. package/actions/searching.d.ts.map +1 -1
  100. package/actions/searching.js +7 -7
  101. package/actions/searching.js.map +1 -1
  102. package/actions/showing.d.ts.map +1 -1
  103. package/actions/showing.js +11 -11
  104. package/actions/showing.js.map +1 -1
  105. package/actions/sleeping.d.ts.map +1 -1
  106. package/actions/sleeping.js.map +1 -1
  107. package/actions/smelling.d.ts.map +1 -1
  108. package/actions/smelling.js +10 -10
  109. package/actions/smelling.js.map +1 -1
  110. package/actions/switching-off.d.ts.map +1 -1
  111. package/actions/switching-off.js +12 -12
  112. package/actions/switching-off.js.map +1 -1
  113. package/actions/switching-on.d.ts.map +1 -1
  114. package/actions/switching-on.js +12 -12
  115. package/actions/switching-on.js.map +1 -1
  116. package/actions/taking-off.d.ts.map +1 -1
  117. package/actions/taking-off.js +4 -4
  118. package/actions/taking-off.js.map +1 -1
  119. package/actions/taking.d.ts.map +1 -1
  120. package/actions/taking.js +5 -5
  121. package/actions/taking.js.map +1 -1
  122. package/actions/talking.d.ts.map +1 -1
  123. package/actions/talking.js +15 -15
  124. package/actions/talking.js.map +1 -1
  125. package/actions/telling.d.ts.map +1 -1
  126. package/actions/telling.js +13 -13
  127. package/actions/telling.js.map +1 -1
  128. package/actions/throwing.d.ts.map +1 -1
  129. package/actions/throwing.js +21 -21
  130. package/actions/throwing.js.map +1 -1
  131. package/actions/touching.d.ts.map +1 -1
  132. package/actions/touching.js +20 -20
  133. package/actions/touching.js.map +1 -1
  134. package/actions/turning.d.ts.map +1 -1
  135. package/actions/turning.js +24 -24
  136. package/actions/turning.js.map +1 -1
  137. package/actions/undoing.d.ts.map +1 -1
  138. package/actions/undoing.js.map +1 -1
  139. package/actions/unlocking.d.ts.map +1 -1
  140. package/actions/unlocking.js +8 -8
  141. package/actions/unlocking.js.map +1 -1
  142. package/actions/version.d.ts.map +1 -1
  143. package/actions/version.js +3 -3
  144. package/actions/version.js.map +1 -1
  145. package/actions/waiting.d.ts.map +1 -1
  146. package/actions/waiting.js +1 -1
  147. package/actions/waiting.js.map +1 -1
  148. package/actions/wearing.d.ts.map +1 -1
  149. package/actions/wearing.js +5 -5
  150. package/actions/wearing.js.map +1 -1
  151. package/assembler/english-assembler.d.ts +66 -0
  152. package/assembler/english-assembler.d.ts.map +1 -0
  153. package/assembler/english-assembler.js +806 -0
  154. package/assembler/english-assembler.js.map +1 -0
  155. package/assembler/errors.d.ts +23 -0
  156. package/assembler/errors.d.ts.map +1 -0
  157. package/assembler/errors.js +35 -0
  158. package/assembler/errors.js.map +1 -0
  159. package/assembler/index.d.ts +10 -0
  160. package/assembler/index.d.ts.map +1 -0
  161. package/assembler/index.js +17 -0
  162. package/assembler/index.js.map +1 -0
  163. package/data/events.d.ts.map +1 -1
  164. package/data/events.js +11 -11
  165. package/data/events.js.map +1 -1
  166. package/data/messages.d.ts.map +1 -1
  167. package/data/messages.js +1 -1
  168. package/data/messages.js.map +1 -1
  169. package/data/verbs.d.ts.map +1 -1
  170. package/data/verbs.js.map +1 -1
  171. package/data/words.d.ts.map +1 -1
  172. package/data/words.js.map +1 -1
  173. package/grammar.d.ts.map +1 -1
  174. package/grammar.js.map +1 -1
  175. package/index.d.ts +2 -1
  176. package/index.d.ts.map +1 -1
  177. package/index.js +4 -1
  178. package/index.js.map +1 -1
  179. package/language-provider.d.ts +44 -24
  180. package/language-provider.d.ts.map +1 -1
  181. package/language-provider.js +83 -40
  182. package/language-provider.js.map +1 -1
  183. package/npc/conversation.d.ts +5 -0
  184. package/npc/conversation.d.ts.map +1 -1
  185. package/npc/conversation.js +24 -19
  186. package/npc/conversation.js.map +1 -1
  187. package/npc/index.d.ts.map +1 -1
  188. package/npc/index.js.map +1 -1
  189. package/npc/influence.d.ts.map +1 -1
  190. package/npc/influence.js +4 -4
  191. package/npc/influence.js.map +1 -1
  192. package/npc/npc.d.ts +6 -0
  193. package/npc/npc.d.ts.map +1 -1
  194. package/npc/npc.js +39 -33
  195. package/npc/npc.js.map +1 -1
  196. package/npc/propagation.d.ts.map +1 -1
  197. package/npc/propagation.js +6 -6
  198. package/npc/propagation.js.map +1 -1
  199. package/number-words.d.ts +18 -0
  200. package/number-words.d.ts.map +1 -1
  201. package/number-words.js +77 -0
  202. package/number-words.js.map +1 -1
  203. package/package.json +3 -3
  204. package/parser/index.d.ts +8 -0
  205. package/parser/index.d.ts.map +1 -0
  206. package/parser/index.js +13 -0
  207. package/parser/index.js.map +1 -0
  208. package/parser/parse-phrase-template.d.ts +62 -0
  209. package/parser/parse-phrase-template.d.ts.map +1 -0
  210. package/parser/parse-phrase-template.js +384 -0
  211. package/parser/parse-phrase-template.js.map +1 -0
  212. package/perspective/index.d.ts.map +1 -1
  213. package/perspective/index.js.map +1 -1
  214. package/perspective/placeholder-resolver.d.ts +1 -1
  215. package/perspective/placeholder-resolver.d.ts.map +1 -1
  216. package/perspective/placeholder-resolver.js +12 -1
  217. package/perspective/placeholder-resolver.js.map +1 -1
  218. package/pluralize.d.ts.map +1 -1
  219. package/pluralize.js.map +1 -1
  220. package/sound-messages.d.ts +8 -8
  221. package/sound-messages.d.ts.map +1 -1
  222. package/sound-messages.js +8 -8
  223. package/sound-messages.js.map +1 -1
@@ -4,9 +4,9 @@
4
4
  * Self-contained language implementation with no external dependencies
5
5
  * Enhanced to support getMessage interface for text service
6
6
  */
7
- import { ParserLanguageProvider, ActionHelp, VerbVocabulary, DirectionVocabulary, SpecialVocabulary, LanguageGrammarPattern } from '@sharpee/if-domain';
7
+ import { ParserLanguageProvider, ActionHelp, VerbVocabulary, DirectionVocabulary, SpecialVocabulary, LanguageGrammarPattern, LocaleSettings, RenderContext } from '@sharpee/if-domain';
8
+ import type { ITextBlock } from '@sharpee/text-blocks';
8
9
  import { NarrativeContext } from './perspective';
9
- import { FormatterRegistry, FormatterContext, EntityInfo } from './formatters';
10
10
  /**
11
11
  * English language data and rules
12
12
  */
@@ -17,9 +17,8 @@ export declare class EnglishLanguageProvider implements ParserLanguageProvider {
17
17
  private messages;
18
18
  private customActionPatterns;
19
19
  private narrativeContext;
20
- private formatterRegistry;
21
- private entityLookup?;
22
20
  private serialComma;
21
+ private readonly assembler;
23
22
  constructor();
24
23
  /**
25
24
  * Load core system messages (command failures, etc.)
@@ -66,43 +65,64 @@ export declare class EnglishLanguageProvider implements ParserLanguageProvider {
66
65
  * Supports three types of placeholders:
67
66
  * 1. Perspective placeholders (ADR-089): {You}, {your}, {take}, etc.
68
67
  * - Resolved based on narrative context (1st/2nd/3rd person)
69
- * 2. Formatted placeholders (ADR-095): {a:item}, {list:items}, etc.
70
- * - Applies formatters before substitution
71
- * 3. Simple placeholders: {item}, {target}, etc.
72
- * - Replaced with values from params object
68
+ * 2. Simple `{key}` placeholders → `String(params[key])`.
69
+ *
70
+ * The ADR-095 formatter chain is gone (ADR-192): entity-aware article / list /
71
+ * verb realization lives in the phrase pipeline ({@link renderMessage}). This
72
+ * string path remains for non-phrase callers (e.g. core prompts) and does plain
73
+ * substitution only — no articles, lists, or `:`-chains.
73
74
  *
74
75
  * @param messageId Full message ID (e.g., 'if.action.taking.taken')
75
76
  * @param params Parameters to substitute in the message
76
- * @returns The resolved message text, or null if not found
77
+ * @returns The resolved message text, or the ID when not registered
77
78
  */
78
79
  getMessage(messageId: string, params?: Record<string, any>): string;
79
80
  /**
80
- * Set entity lookup function for formatters (ADR-095)
81
+ * Get the raw, unresolved template for a message ID (ADR-192 phrase path).
81
82
  *
82
- * This allows formatters to look up entity info (nounType, etc.)
83
- * for proper article selection.
83
+ * Returns the author template verbatim no perspective resolution, no
84
+ * parameter substitution. The phrase pipeline resolves perspective and parses
85
+ * the result; see {@link renderMessage}.
84
86
  *
85
- * @param lookup Function that returns EntityInfo for an entity ID
87
+ * @param messageId Full message ID (e.g. 'if.action.taking.taken')
88
+ * @returns The raw template, or undefined when the ID is not registered
86
89
  */
87
- setEntityLookup(lookup: (id: string) => EntityInfo | undefined): void;
90
+ getTemplate(messageId: string): string | undefined;
88
91
  /**
89
- * Set whether lists use the serial (Oxford) comma (ADR-190). Default true.
90
- * @param on true "a, b, and c"; false "a, b and c"
92
+ * Locale realization settings (ADR-192). The engine reads these when building
93
+ * the per-turn render context so the Assembler agrees over the story's
94
+ * configured knobs.
95
+ *
96
+ * @returns The current locale settings (serial comma, …)
91
97
  */
92
- setSerialComma(on: boolean): void;
98
+ getLocaleSettings(): LocaleSettings;
93
99
  /**
94
- * Register a custom formatter (ADR-095)
100
+ * The narrative grammatical person of the player subject (ADR-199 §4 B),
101
+ * mapped from the ADR-089 perspective ('1st'/'2nd'/'3rd' → first/second/third).
95
102
  *
96
- * Stories can register custom formatters for special formatting needs.
103
+ * @returns the player subject's grammatical person under the current narration
104
+ */
105
+ getNarrativePerson(): 'first' | 'second' | 'third';
106
+ /**
107
+ * Render a message to text blocks through the phrase pipeline (ADR-192 §6).
108
+ *
109
+ * Phrase-path replacement for {@link getMessage}: resolve perspective
110
+ * placeholders (kept as a string pre-pass, ADR-089), parse the template into a
111
+ * `Phrase` tree, then realize it with the Assembler against `ctx`. A missing
112
+ * template realizes to a literal of the ID, mirroring `getMessage`'s
113
+ * echo-the-ID fallback.
97
114
  *
98
- * @param name Formatter name (used in templates as {name:placeholder})
99
- * @param formatter Formatter function
115
+ * @param messageId Full message ID
116
+ * @param params Parameter/producer bindings keyed by placeholder name
117
+ * @param ctx The per-message render context (world, settings, seams)
118
+ * @returns The realized text blocks
100
119
  */
101
- registerFormatter(name: string, formatter: (value: any, context: FormatterContext) => string): void;
120
+ renderMessage(messageId: string, params: Record<string, unknown>, ctx: RenderContext): ITextBlock[];
102
121
  /**
103
- * Get the formatter registry (for testing or advanced use)
122
+ * Set whether lists use the serial (Oxford) comma (ADR-190). Default true.
123
+ * @param on true → "a, b, and c"; false → "a, b and c"
104
124
  */
105
- getFormatterRegistry(): FormatterRegistry;
125
+ setSerialComma(on: boolean): void;
106
126
  /**
107
127
  * Check if a message exists
108
128
  * @param messageId The message identifier
@@ -1 +1 @@
1
- {"version":3,"file":"language-provider.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v1/packages/lang-en-us/src/language-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-provider.d.ts","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/lang-en-us/src/language-provider.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.EnglishLanguageProvider = void 0;
10
+ const assembler_1 = require("./assembler");
11
+ const parser_1 = require("./parser");
10
12
  const verbs_1 = require("./data/verbs");
11
13
  const words_1 = require("./data/words");
12
14
  const pluralize_1 = require("./pluralize");
@@ -14,7 +16,6 @@ const actions_1 = require("./actions");
14
16
  const npc_1 = require("./npc");
15
17
  const sound_messages_1 = require("./sound-messages");
16
18
  const perspective_1 = require("./perspective");
17
- const formatters_1 = require("./formatters");
18
19
  // Types are now imported from @sharpee/if-domain
19
20
  /**
20
21
  * English language data and rules
@@ -28,15 +29,12 @@ class EnglishLanguageProvider {
28
29
  customActionPatterns = new Map();
29
30
  // Narrative context for perspective-aware message resolution (ADR-089)
30
31
  narrativeContext = perspective_1.DEFAULT_NARRATIVE_CONTEXT;
31
- // Formatter registry for {a:item}, {list:items}, etc. (ADR-095)
32
- formatterRegistry;
33
- // Entity lookup function for formatters (set by engine)
34
- entityLookup;
35
32
  // Serial (Oxford) comma in lists (ADR-190); story-configurable, default on.
36
33
  serialComma = true;
34
+ // Phrase-path Assembler (ADR-192). Realizes a parsed phrase tree to blocks;
35
+ // stateless and pure, so a single shared instance is reused across turns.
36
+ assembler = new assembler_1.EnglishAssembler();
37
37
  constructor() {
38
- // Initialize formatter registry
39
- this.formatterRegistry = (0, formatters_1.createFormatterRegistry)();
40
38
  // Load core system messages
41
39
  this.loadCoreMessages();
42
40
  // Load all action messages
@@ -59,6 +57,11 @@ class EnglishLanguageProvider {
59
57
  'core.disambiguation_prompt': "Which do you mean: {options}?",
60
58
  'core.command_not_understood': "I don't understand that command.",
61
59
  'core.command_failed': "I don't understand that.",
60
+ // Room description body (ADR-192/195): the room's prose realized through the
61
+ // phrase pipeline, carrying the `{slot:here}` room-occupant channel so present
62
+ // occupants append a presence clause at realize time (the room name is a
63
+ // separate structural block emitted by the room handler).
64
+ 'if.room.description_body': '{verbatim:description}{slot:here}',
62
65
  // Game lifecycle messages
63
66
  'game.started.banner': "{title}\nBy {author}\n\nType HELP for instructions.",
64
67
  // Platform prompt (ADR-137)
@@ -140,67 +143,107 @@ class EnglishLanguageProvider {
140
143
  * Supports three types of placeholders:
141
144
  * 1. Perspective placeholders (ADR-089): {You}, {your}, {take}, etc.
142
145
  * - Resolved based on narrative context (1st/2nd/3rd person)
143
- * 2. Formatted placeholders (ADR-095): {a:item}, {list:items}, etc.
144
- * - Applies formatters before substitution
145
- * 3. Simple placeholders: {item}, {target}, etc.
146
- * - Replaced with values from params object
146
+ * 2. Simple `{key}` placeholders → `String(params[key])`.
147
+ *
148
+ * The ADR-095 formatter chain is gone (ADR-192): entity-aware article / list /
149
+ * verb realization lives in the phrase pipeline ({@link renderMessage}). This
150
+ * string path remains for non-phrase callers (e.g. core prompts) and does plain
151
+ * substitution only — no articles, lists, or `:`-chains.
147
152
  *
148
153
  * @param messageId Full message ID (e.g., 'if.action.taking.taken')
149
154
  * @param params Parameters to substitute in the message
150
- * @returns The resolved message text, or null if not found
155
+ * @returns The resolved message text, or the ID when not registered
151
156
  */
152
157
  getMessage(messageId, params) {
153
158
  let message = this.messages.get(messageId);
154
159
  if (!message) {
155
160
  return messageId; // Return the ID as fallback
156
161
  }
157
- // Step 1: Resolve perspective placeholders (ADR-089)
158
- // This handles {You}, {your}, {take}, etc.
159
- message = (0, perspective_1.resolvePerspectivePlaceholders)(message, this.narrativeContext);
160
- // Step 2: Apply formatters and substitute parameters (ADR-095)
162
+ // Step 1: Resolve perspective placeholders (ADR-089) — {You}, {your}, {take}.
163
+ message = (0, perspective_1.resolvePerspectivePlaceholders)(message, this.narrativeContext, params);
164
+ // Step 2: Plain `{key}` substitution for any bound params.
161
165
  if (params) {
162
- const context = {
163
- getEntity: this.entityLookup,
164
- settings: { serialComma: this.serialComma },
165
- };
166
- message = (0, formatters_1.formatMessage)(message, params, this.formatterRegistry, context);
166
+ message = message.replace(/\{([a-zA-Z_][a-zA-Z0-9_]*)\}/g, (match, key) => key in params ? String(params[key]) : match);
167
167
  }
168
168
  return message;
169
169
  }
170
170
  /**
171
- * Set entity lookup function for formatters (ADR-095)
171
+ * Get the raw, unresolved template for a message ID (ADR-192 phrase path).
172
172
  *
173
- * This allows formatters to look up entity info (nounType, etc.)
174
- * for proper article selection.
173
+ * Returns the author template verbatim no perspective resolution, no
174
+ * parameter substitution. The phrase pipeline resolves perspective and parses
175
+ * the result; see {@link renderMessage}.
175
176
  *
176
- * @param lookup Function that returns EntityInfo for an entity ID
177
+ * @param messageId Full message ID (e.g. 'if.action.taking.taken')
178
+ * @returns The raw template, or undefined when the ID is not registered
177
179
  */
178
- setEntityLookup(lookup) {
179
- this.entityLookup = lookup;
180
+ getTemplate(messageId) {
181
+ return this.messages.get(messageId);
180
182
  }
181
183
  /**
182
- * Set whether lists use the serial (Oxford) comma (ADR-190). Default true.
183
- * @param on true "a, b, and c"; false "a, b and c"
184
+ * Locale realization settings (ADR-192). The engine reads these when building
185
+ * the per-turn render context so the Assembler agrees over the story's
186
+ * configured knobs.
187
+ *
188
+ * @returns The current locale settings (serial comma, …)
184
189
  */
185
- setSerialComma(on) {
186
- this.serialComma = on;
190
+ getLocaleSettings() {
191
+ return { serialComma: this.serialComma };
192
+ }
193
+ /**
194
+ * The narrative grammatical person of the player subject (ADR-199 §4 B),
195
+ * mapped from the ADR-089 perspective ('1st'/'2nd'/'3rd' → first/second/third).
196
+ *
197
+ * @returns the player subject's grammatical person under the current narration
198
+ */
199
+ getNarrativePerson() {
200
+ switch (this.narrativeContext.perspective) {
201
+ case '1st':
202
+ return 'first';
203
+ case '2nd':
204
+ return 'second';
205
+ default:
206
+ return 'third';
207
+ }
187
208
  }
188
209
  /**
189
- * Register a custom formatter (ADR-095)
210
+ * Render a message to text blocks through the phrase pipeline (ADR-192 §6).
190
211
  *
191
- * Stories can register custom formatters for special formatting needs.
212
+ * Phrase-path replacement for {@link getMessage}: resolve perspective
213
+ * placeholders (kept as a string pre-pass, ADR-089), parse the template into a
214
+ * `Phrase` tree, then realize it with the Assembler against `ctx`. A missing
215
+ * template realizes to a literal of the ID, mirroring `getMessage`'s
216
+ * echo-the-ID fallback.
192
217
  *
193
- * @param name Formatter name (used in templates as {name:placeholder})
194
- * @param formatter Formatter function
218
+ * @param messageId Full message ID
219
+ * @param params Parameter/producer bindings keyed by placeholder name
220
+ * @param ctx The per-message render context (world, settings, seams)
221
+ * @returns The realized text blocks
195
222
  */
196
- registerFormatter(name, formatter) {
197
- this.formatterRegistry.set(name, formatter);
223
+ renderMessage(messageId, params, ctx) {
224
+ const template = this.messages.get(messageId);
225
+ if (template === undefined) {
226
+ // Unregistered ID echoes as a literal, matching getMessage's fallback.
227
+ return this.assembler.realize({ kind: 'literal', text: messageId }, ctx);
228
+ }
229
+ // Step 1: Resolve perspective placeholders (ADR-089) — a string pre-pass
230
+ // that runs BEFORE parsing. Passing params lets the resolver leave bound
231
+ // params for the phrase parser and conjugate every other bare {word} as a
232
+ // perspective verb (no central verb allowlist needed).
233
+ const resolved = (0, perspective_1.resolvePerspectivePlaceholders)(template, this.narrativeContext, params);
234
+ // Step 2: Parse to a phrase tree (binds params; throws PhraseParseError at
235
+ // parse time on legacy ':' chains, unknown kinds, or unbound params).
236
+ const tree = (0, parser_1.parsePhraseTemplate)(resolved, params);
237
+ // Step 3: Realize with the Assembler — the sole authority for article,
238
+ // agreement, punctuation, whitespace, reference, and case.
239
+ return this.assembler.realize(tree, ctx);
198
240
  }
199
241
  /**
200
- * Get the formatter registry (for testing or advanced use)
242
+ * Set whether lists use the serial (Oxford) comma (ADR-190). Default true.
243
+ * @param on true → "a, b, and c"; false → "a, b and c"
201
244
  */
202
- getFormatterRegistry() {
203
- return this.formatterRegistry;
245
+ setSerialComma(on) {
246
+ this.serialComma = on;
204
247
  }
205
248
  /**
206
249
  * Check if a message exists
@@ -1 +1 @@
1
- {"version":3,"file":"language-provider.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v1/packages/lang-en-us/src/language-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-provider.js","sourceRoot":"","sources":["../../../../../../repos/sharpee_v2/packages/lang-en-us/src/language-provider.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,11 @@
5
5
  * speech patterns, between-turn commentary, and attention management.
6
6
  * Authors override per-NPC; these serve as fallbacks.
7
7
  *
8
+ * Attribution names the NPC via a `speaker` NounPhrase (ADR-203) and agrees the
9
+ * leading verb with it (`{verb:LEMMA speaker}`, ADR-199). Embedded literal dialogue
10
+ * stays verbatim (ADR-200); secondary body verbs remain literal (leading-attribution
11
+ * scope).
12
+ *
8
13
  * Owner context: @sharpee/lang-en-us / npc
9
14
  */
10
15
  export declare const conversationLanguage: {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;CA4DhC,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/conversation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;CA4DhC,CAAC"}
@@ -6,6 +6,11 @@
6
6
  * speech patterns, between-turn commentary, and attention management.
7
7
  * Authors override per-NPC; these serve as fallbacks.
8
8
  *
9
+ * Attribution names the NPC via a `speaker` NounPhrase (ADR-203) and agrees the
10
+ * leading verb with it (`{verb:LEMMA speaker}`, ADR-199). Embedded literal dialogue
11
+ * stays verbatim (ADR-200); secondary body verbs remain literal (leading-attribution
12
+ * scope).
13
+ *
9
14
  * Owner context: @sharpee/lang-en-us / npc
10
15
  */
11
16
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -15,34 +20,34 @@ exports.conversationLanguage = {
15
20
  // -----------------------------------------------------------------------
16
21
  // Response action framing
17
22
  // -----------------------------------------------------------------------
18
- 'character.conversation.response.deflect': '{npcName} changes the subject.',
19
- 'character.conversation.response.refuse': '{npcName} refuses to discuss that.',
20
- 'character.conversation.response.confabulate': '{npcName} seems to be filling in the gaps from memory.',
21
- 'character.conversation.response.omit': '{npcName} says nothing about that.',
23
+ 'character.conversation.response.deflect': '{capitalize the speaker} {verb:changes speaker} the subject.',
24
+ 'character.conversation.response.refuse': '{capitalize the speaker} {verb:refuses speaker} to discuss that.',
25
+ 'character.conversation.response.confabulate': '{capitalize the speaker} {verb:seems speaker} to be filling in the gaps from memory.',
26
+ 'character.conversation.response.omit': '{capitalize the speaker} {verb:says speaker} nothing about that.',
22
27
  // -----------------------------------------------------------------------
23
28
  // Cognitive speech patterns
24
29
  // -----------------------------------------------------------------------
25
- 'character.conversation.cognitive.fragmented': '{npcName} speaks in broken fragments, losing the thread mid-sentence.',
26
- 'character.conversation.cognitive.drifting': '{npcName} trails off, attention wandering to something only they can see.',
27
- 'character.conversation.cognitive.detached': '{npcName} responds flatly, as if reciting from a great distance.',
30
+ 'character.conversation.cognitive.fragmented': '{capitalize the speaker} {verb:speaks speaker} in broken fragments, losing the thread mid-sentence.',
31
+ 'character.conversation.cognitive.drifting': '{capitalize the speaker} {verb:trails speaker} off, attention wandering to something only they can see.',
32
+ 'character.conversation.cognitive.detached': '{capitalize the speaker} {verb:responds speaker} flatly, as if reciting from a great distance.',
28
33
  // -----------------------------------------------------------------------
29
34
  // Between-turn defaults
30
35
  // -----------------------------------------------------------------------
31
- 'character.conversation.between.eager.1': '{npcName} watches you expectantly.',
32
- 'character.conversation.between.eager.3': '{npcName} clears their throat, waiting for your attention.',
33
- 'character.conversation.between.reluctant.1': '{npcName} seems relieved you\'re occupied.',
34
- 'character.conversation.between.hostile.1': '{npcName} glares at you impatiently.',
35
- 'character.conversation.between.confessing.1': '{npcName} shifts uncomfortably, as though wanting to say more.',
36
- 'character.conversation.between.confessing.3': '{npcName} opens their mouth, then closes it again.',
37
- 'character.conversation.between.neutral.3': '{npcName} seems to lose interest in the conversation.',
36
+ 'character.conversation.between.eager.1': '{capitalize the speaker} {verb:watches speaker} you expectantly.',
37
+ 'character.conversation.between.eager.3': '{capitalize the speaker} {verb:clears speaker} their throat, waiting for your attention.',
38
+ 'character.conversation.between.reluctant.1': '{capitalize the speaker} {verb:seems speaker} relieved you\'re occupied.',
39
+ 'character.conversation.between.hostile.1': '{capitalize the speaker} {verb:glares speaker} at you impatiently.',
40
+ 'character.conversation.between.confessing.1': '{capitalize the speaker} {verb:shifts speaker} uncomfortably, as though wanting to say more.',
41
+ 'character.conversation.between.confessing.3': '{capitalize the speaker} {verb:opens speaker} their mouth, then closes it again.',
42
+ 'character.conversation.between.neutral.3': '{capitalize the speaker} {verb:seems speaker} to lose interest in the conversation.',
38
43
  // -----------------------------------------------------------------------
39
44
  // Attention / lifecycle
40
45
  // -----------------------------------------------------------------------
41
- 'character.conversation.attention.yields': '{npcName} steps aside, yielding the conversation.',
42
- 'character.conversation.attention.protests': '{npcName} frowns as you turn away. "I wasn\'t finished."',
43
- 'character.conversation.attention.blocks': '{npcName} steps in front of you. "We\'re not done here."',
44
- 'character.conversation.ends': '{npcName} nods, ending the conversation.',
45
- 'character.conversation.initiates': '{npcName} approaches you. "A word, if you please."',
46
+ 'character.conversation.attention.yields': '{capitalize the speaker} {verb:steps speaker} aside, yielding the conversation.',
47
+ 'character.conversation.attention.protests': '{capitalize the speaker} {verb:frowns speaker} as you turn away. "I wasn\'t finished."',
48
+ 'character.conversation.attention.blocks': '{capitalize the speaker} {verb:steps speaker} in front of you. "We\'re not done here."',
49
+ 'character.conversation.ends': '{capitalize the speaker} {verb:nods speaker}, ending the conversation.',
50
+ 'character.conversation.initiates': '{capitalize the speaker} {verb:approaches speaker} you. "A word, if you please."',
46
51
  },
47
52
  };
48
53
  //# sourceMappingURL=conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/conversation.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE;QACR,0EAA0E;QAC1E,0BAA0B;QAC1B,0EAA0E;QAE1E,yCAAyC,EACvC,gCAAgC;QAClC,wCAAwC,EACtC,oCAAoC;QACtC,6CAA6C,EAC3C,wDAAwD;QAC1D,sCAAsC,EACpC,oCAAoC;QAEtC,0EAA0E;QAC1E,4BAA4B;QAC5B,0EAA0E;QAE1E,6CAA6C,EAC3C,uEAAuE;QACzE,2CAA2C,EACzC,2EAA2E;QAC7E,2CAA2C,EACzC,kEAAkE;QAEpE,0EAA0E;QAC1E,wBAAwB;QACxB,0EAA0E;QAE1E,wCAAwC,EACtC,oCAAoC;QACtC,wCAAwC,EACtC,4DAA4D;QAC9D,4CAA4C,EAC1C,4CAA4C;QAC9C,0CAA0C,EACxC,sCAAsC;QACxC,6CAA6C,EAC3C,gEAAgE;QAClE,6CAA6C,EAC3C,oDAAoD;QACtD,0CAA0C,EACxC,uDAAuD;QAEzD,0EAA0E;QAC1E,wBAAwB;QACxB,0EAA0E;QAE1E,yCAAyC,EACvC,mDAAmD;QACrD,2CAA2C,EACzC,0DAA0D;QAC5D,yCAAyC,EACvC,0DAA0D;QAC5D,6BAA6B,EAC3B,0CAA0C;QAC5C,kCAAkC,EAChC,oDAAoD;KACvD;CACF,CAAC"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/conversation.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAEU,QAAA,oBAAoB,GAAG;IAClC,QAAQ,EAAE;QACR,0EAA0E;QAC1E,0BAA0B;QAC1B,0EAA0E;QAE1E,yCAAyC,EACvC,8DAA8D;QAChE,wCAAwC,EACtC,kEAAkE;QACpE,6CAA6C,EAC3C,sFAAsF;QACxF,sCAAsC,EACpC,kEAAkE;QAEpE,0EAA0E;QAC1E,4BAA4B;QAC5B,0EAA0E;QAE1E,6CAA6C,EAC3C,qGAAqG;QACvG,2CAA2C,EACzC,yGAAyG;QAC3G,2CAA2C,EACzC,gGAAgG;QAElG,0EAA0E;QAC1E,wBAAwB;QACxB,0EAA0E;QAE1E,wCAAwC,EACtC,kEAAkE;QACpE,wCAAwC,EACtC,0FAA0F;QAC5F,4CAA4C,EAC1C,0EAA0E;QAC5E,0CAA0C,EACxC,oEAAoE;QACtE,6CAA6C,EAC3C,8FAA8F;QAChG,6CAA6C,EAC3C,kFAAkF;QACpF,0CAA0C,EACxC,qFAAqF;QAEvF,0EAA0E;QAC1E,wBAAwB;QACxB,0EAA0E;QAE1E,yCAAyC,EACvC,iFAAiF;QACnF,2CAA2C,EACzC,wFAAwF;QAC1F,yCAAyC,EACvC,wFAAwF;QAC1F,6BAA6B,EAC3B,wEAAwE;QAC1E,kCAAkC,EAChC,kFAAkF;KACrF;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,OAAO,CAAC;AACtB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
package/npc/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,iDAA+B;AAC/B,gDAA8B;AAC9B,8CAA4B"}
@@ -1 +1 @@
1
- {"version":3,"file":"influence.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/influence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;CA6B7B,CAAC"}
1
+ {"version":3,"file":"influence.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/influence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;CA6B7B,CAAC"}
package/npc/influence.js CHANGED
@@ -14,8 +14,8 @@ exports.influenceLanguage = {
14
14
  // -----------------------------------------------------------------------
15
15
  // Witnessed / resisted defaults
16
16
  // -----------------------------------------------------------------------
17
- 'character.influence.witnessed.default': '{influencerName} exerts a subtle influence on {targetName}.',
18
- 'character.influence.resisted.default': '{targetName} seems unaffected by {influencerName}.',
17
+ 'character.influence.witnessed.default': '{verbatim:influencerName} exerts a subtle influence on {verbatim:targetName}.',
18
+ 'character.influence.resisted.default': '{verbatim:targetName} seems unaffected by {verbatim:influencerName}.',
19
19
  // -----------------------------------------------------------------------
20
20
  // PC influence
21
21
  // -----------------------------------------------------------------------
@@ -24,8 +24,8 @@ exports.influenceLanguage = {
24
24
  // -----------------------------------------------------------------------
25
25
  // Duration events
26
26
  // -----------------------------------------------------------------------
27
- 'character.influence.effect.expired': 'The influence over {targetName} fades.',
28
- 'character.influence.effect.departed': 'With {influencerName} gone, {targetName} regains composure.',
27
+ 'character.influence.effect.expired': 'The influence over {verbatim:targetName} fades.',
28
+ 'character.influence.effect.departed': 'With {verbatim:influencerName} gone, {verbatim:targetName} regains composure.',
29
29
  },
30
30
  };
31
31
  //# sourceMappingURL=influence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"influence.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/influence.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEU,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE;QACR,0EAA0E;QAC1E,gCAAgC;QAChC,0EAA0E;QAE1E,uCAAuC,EACrC,6DAA6D;QAC/D,sCAAsC,EACpC,oDAAoD;QAEtD,0EAA0E;QAC1E,eAAe;QACf,0EAA0E;QAE1E,sCAAsC,EACpC,yEAAyE;QAC3E,2CAA2C,EACzC,kCAAkC;QAEpC,0EAA0E;QAC1E,kBAAkB;QAClB,0EAA0E;QAE1E,oCAAoC,EAClC,wCAAwC;QAC1C,qCAAqC,EACnC,6DAA6D;KAChE;CACF,CAAC"}
1
+ {"version":3,"file":"influence.js","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/influence.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEU,QAAA,iBAAiB,GAAG;IAC/B,QAAQ,EAAE;QACR,0EAA0E;QAC1E,gCAAgC;QAChC,0EAA0E;QAE1E,uCAAuC,EACrC,+EAA+E;QACjF,sCAAsC,EACpC,sEAAsE;QAExE,0EAA0E;QAC1E,eAAe;QACf,0EAA0E;QAE1E,sCAAsC,EACpC,yEAAyE;QAC3E,2CAA2C,EACzC,kCAAkC;QAEpC,0EAA0E;QAC1E,kBAAkB;QAClB,0EAA0E;QAE1E,oCAAoC,EAClC,iDAAiD;QACnD,qCAAqC,EACnC,+EAA+E;KAClF;CACF,CAAC"}
package/npc/npc.d.ts CHANGED
@@ -1,5 +1,11 @@
1
1
  /**
2
2
  * Language content for NPC system (ADR-070)
3
+ *
4
+ * Attribution lines name the acting NPC via a `speaker` NounPhrase param (ADR-203)
5
+ * and agree their verb with it via the ADR-199 Verb atom (`{verb:LEMMA speaker}`).
6
+ * The article is the ADR-192 hint (`{the speaker}` here; author-overridable). The
7
+ * `{capitalize …}` hint supplies the sentence-initial capital (top-level messages are
8
+ * not sentence-initial by default, so auto-cap does not fire here).
3
9
  */
4
10
  export declare const npcLanguage: {
5
11
  messages: {
package/npc/npc.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"npc.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v1/packages/lang-en-us/src/npc/npc.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEvB,CAAC"}
1
+ {"version":3,"file":"npc.d.ts","sourceRoot":"","sources":["../../../../../../../repos/sharpee_v2/packages/lang-en-us/src/npc/npc.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEvB,CAAC"}