@sharpee/chord 3.1.0 → 3.5.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 (68) hide show
  1. package/analyzer.d.ts +11 -3
  2. package/analyzer.d.ts.map +1 -1
  3. package/analyzer.js +1360 -33
  4. package/analyzer.js.map +1 -1
  5. package/ast.d.ts +480 -9
  6. package/ast.d.ts.map +1 -1
  7. package/catalog.d.ts +57 -1
  8. package/catalog.d.ts.map +1 -1
  9. package/catalog.js +91 -3
  10. package/catalog.js.map +1 -1
  11. package/diagnostics.d.ts +1 -1
  12. package/diagnostics.d.ts.map +1 -1
  13. package/index.d.ts +32 -13
  14. package/index.d.ts.map +1 -1
  15. package/index.js +112 -30
  16. package/index.js.map +1 -1
  17. package/ir.d.ts +361 -7
  18. package/ir.d.ts.map +1 -1
  19. package/lexer.d.ts +11 -3
  20. package/lexer.d.ts.map +1 -1
  21. package/lexer.js +36 -8
  22. package/lexer.js.map +1 -1
  23. package/manifests/combat.d.ts +16 -0
  24. package/manifests/combat.d.ts.map +1 -0
  25. package/manifests/combat.js +38 -0
  26. package/manifests/combat.js.map +1 -0
  27. package/manifests/hunger.d.ts +18 -0
  28. package/manifests/hunger.d.ts.map +1 -0
  29. package/manifests/hunger.js +8 -0
  30. package/manifests/hunger.js.map +1 -0
  31. package/manifests/index.d.ts +23 -0
  32. package/manifests/index.d.ts.map +1 -0
  33. package/manifests/index.js +52 -0
  34. package/manifests/index.js.map +1 -0
  35. package/manifests/npc.d.ts +19 -0
  36. package/manifests/npc.d.ts.map +1 -0
  37. package/manifests/npc.js +38 -0
  38. package/manifests/npc.js.map +1 -0
  39. package/manifests/scoring.d.ts +25 -0
  40. package/manifests/scoring.d.ts.map +1 -0
  41. package/manifests/scoring.js +8 -0
  42. package/manifests/scoring.js.map +1 -0
  43. package/manifests/state-machines.d.ts +17 -0
  44. package/manifests/state-machines.d.ts.map +1 -0
  45. package/manifests/state-machines.js +8 -0
  46. package/manifests/state-machines.js.map +1 -0
  47. package/manifests/types.d.ts +41 -0
  48. package/manifests/types.d.ts.map +1 -0
  49. package/manifests/types.js +18 -0
  50. package/manifests/types.js.map +1 -0
  51. package/message-alias-catalog.d.ts +22 -0
  52. package/message-alias-catalog.d.ts.map +1 -0
  53. package/message-alias-catalog.js +826 -0
  54. package/message-alias-catalog.js.map +1 -0
  55. package/package.json +1 -1
  56. package/parser.d.ts +2 -2
  57. package/parser.d.ts.map +1 -1
  58. package/parser.js +1644 -131
  59. package/parser.js.map +1 -1
  60. package/phrasebooks.d.ts +28 -0
  61. package/phrasebooks.d.ts.map +1 -0
  62. package/phrasebooks.js +6 -0
  63. package/phrasebooks.js.map +1 -0
  64. package/version.d.ts +38 -0
  65. package/version.d.ts.map +1 -0
  66. package/version.js +41 -0
  67. package/version.js.map +1 -0
  68. package/sharpee-chord-3.0.0.tgz +0 -0
package/ast.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  * Public interface: every exported node type; StoryFile is the root.
11
11
  * Owner context: @sharpee/chord (language frontend; browser-safe).
12
12
  */
13
- import type { Span } from './span';
13
+ import type { Span } from './span.js';
14
14
  /** Root of a parsed `.story` file. */
15
15
  export interface StoryFile {
16
16
  kind: 'story-file';
@@ -34,6 +34,103 @@ export interface StoryHeader {
34
34
  statesReversible: boolean;
35
35
  /** `score <name> worth N` lines — story-owned score identities (D12). */
36
36
  scores: ScoreDecl[];
37
+ /**
38
+ * `on every turn [while <cond>][, once]` clauses in the header's indented
39
+ * body (ADR-236 D7, ratchet R4) — story-owned daemons: no presence gate,
40
+ * `it` unbound (a compile error if referenced). The only clause form the
41
+ * header hosts.
42
+ */
43
+ onClauses: OnClause[];
44
+ /**
45
+ * `use <extension>` lines in the header's indented body (ADR-215):
46
+ * static, one trusted platform-extension name per line. Each admits that
47
+ * extension's manifest vocabulary at compile time and triggers its
48
+ * runtime registration at load.
49
+ */
50
+ uses: UseDecl[];
51
+ /**
52
+ * `use phrasebook <name> [while <condition>]` lines (ADR-250 D2) —
53
+ * packaged voices, predicate bound at the use site (absent = the
54
+ * default/always book). Stackable; header position = arbitration
55
+ * position ahead of every body-declared book.
56
+ */
57
+ usePhrasebooks: UsePhrasebookDecl[];
58
+ /**
59
+ * `rank "<name>" at <n> [says <key>]` rungs from the indented `use scoring`
60
+ * body (ADR-261 D2). Source order is preserved here; the analyzer sorts
61
+ * ascending. Empty when the story declares no ladder — which is legal and
62
+ * means "scoring on, SCORE reports a score with no rank".
63
+ */
64
+ ranks: RankDecl[];
65
+ /**
66
+ * The `use hunger` body (ADR-263 D1) — a depleting satiety meter: `grows N
67
+ * each turn`, `<band> at <n> [says <key>]` rungs, and `fatal at N`. Absent
68
+ * when the story has no `use hunger` line.
69
+ */
70
+ hunger?: HungerDecl;
71
+ span: Span;
72
+ }
73
+ /**
74
+ * The indented body of a `use hunger` line (ADR-263 D1).
75
+ *
76
+ * `grows` is the per-turn severity gain (lowered to an `on every turn` daemon);
77
+ * `fatal` is a raw-value death trigger above the top band (lowered to `kill the
78
+ * player`); `rungs` are the announce bands over the ADR-262 crossing engine.
79
+ */
80
+ export interface HungerDecl {
81
+ grows?: number;
82
+ fatal?: number;
83
+ rungs: MeterRung[];
84
+ span: Span;
85
+ }
86
+ /**
87
+ * One `<band> at <n> [says <key>]` rung in a metering extension's body
88
+ * (ADR-263 D1). Unlike a `rank` rung, the band is a bareword (`peckish`), not a
89
+ * quoted author string — it doubles as the band id. `phraseKey` is the story
90
+ * phrase spoken on crossing; absent means the ADR-262 platform fallback.
91
+ */
92
+ export interface MeterRung {
93
+ kind: 'meter-rung';
94
+ band: string;
95
+ threshold: number;
96
+ phraseKey?: string;
97
+ span: Span;
98
+ }
99
+ /** One `use <extension>` line (ADR-215). */
100
+ export interface UseDecl {
101
+ name: string;
102
+ /**
103
+ * The `, announce <mode>` suffix (ADR-262 D3) — how a metering extension's
104
+ * band crossings narrate: `all` / `collapsed` / `combined` / `silent`. The
105
+ * analyzer validates the value; absent means the extension's default.
106
+ */
107
+ announce?: string;
108
+ span: Span;
109
+ }
110
+ /**
111
+ * One `rank "<name>" at <n> [says <key>]` rung, from the indented body of a
112
+ * `use scoring` line (ADR-261 D2/D7).
113
+ *
114
+ * `threshold` is **absolute points, never a percentage** — ADR-260 D2's
115
+ * invariant, which exists so a change to maxScore can never move a boundary.
116
+ *
117
+ * `name` is a quoted author string, written the way entity names are written:
118
+ * rank prose is author content (ADR-260 D4), not a key resolved through a
119
+ * phrasebook. `phraseKey` is the opposite — a kebab key in the story's own
120
+ * phrase namespace, spoken when the player crosses this rung. A rung with no
121
+ * `says` is silent, because there is no platform sentence to fall back to.
122
+ */
123
+ export interface RankDecl {
124
+ kind: 'rank';
125
+ name: string;
126
+ threshold: number;
127
+ phraseKey?: string;
128
+ span: Span;
129
+ }
130
+ /** One `use phrasebook <name> [while <condition>]` line (ADR-250 D2). */
131
+ export interface UsePhrasebookDecl {
132
+ name: string;
133
+ condition: ConditionNode | null;
37
134
  span: Span;
38
135
  }
39
136
  /** `score <name> worth <n>` on an owner (create/trait/action/story — D12). */
@@ -43,7 +140,139 @@ export interface ScoreDecl {
43
140
  worth: number;
44
141
  span: Span;
45
142
  }
46
- export type Declaration = CreateDecl | DefineCondition | DefinePhrase | DefinePhrases | DefineVerb | DefineText | DefineTrait | DefineAction | DefineHatch | DefineSequence;
143
+ export type Declaration = CreateDecl | DefineCondition | DefinePhrase | DefinePhrases | DefineVerb | DefineText | DefineTrait | DefineAction | DefineHatch | DefineSequence | DefineMachine | DefineAsset | DefineFamilyChannel | DefineChannel | DefineTopics | DefinePronouns | DefinePhrasebook | OverrideMessage | OverrideMessages | ImportDecl;
144
+ /**
145
+ * `define phrasebook <name> [while <condition>] … end phrasebook`
146
+ * (ADR-245/ADR-250 D1): a named, predicated collection of phrase entries.
147
+ * Entries reuse the phrase-override grammar (`<key>[, strategy]:` +
148
+ * `or` variants); an entry-level `while` parses but is an analyzer gate
149
+ * (`analysis.phrasebook-entry-gate`) — the book's header predicate is the
150
+ * only gate. A predicate-less book is the default phrasebook (always).
151
+ */
152
+ export interface DefinePhrasebook {
153
+ kind: 'define-phrasebook';
154
+ /** Single kebab-case book name (extension-name form). */
155
+ name: string;
156
+ /** The book's activity predicate; null = always (the default book). */
157
+ condition: ConditionNode | null;
158
+ entries: PhraseOverride[];
159
+ span: Span;
160
+ }
161
+ /**
162
+ * `import "<file>"` (ADR-251) — the author's multi-file organization axis.
163
+ * `path` is the name as written, WITHOUT extension: the compiler appends
164
+ * `.chord` before handing it to the host `importResolver`, which resolves
165
+ * it to the fragment's source text. The fragment's complete declarations
166
+ * (any kind except a `story` header or a nested `import`) are spliced at
167
+ * this position (import site = arbitration position — D4). Unresolved at
168
+ * analysis time = `analysis.import-unresolved`. Supersedes ADR-250 D2's
169
+ * typed `import phrasebook`/`.story` form.
170
+ */
171
+ export interface ImportDecl {
172
+ kind: 'import';
173
+ /** Import target as written, extension-free (compiler appends `.chord`). */
174
+ path: string;
175
+ span: Span;
176
+ }
177
+ /**
178
+ * `define topics for <entity> … end topics` (ADR-239 D3 as amended) — the
179
+ * entity's declared table of ask/tell topics + responses: a closed,
180
+ * compile-visible set (D4 — lookup, never fuzzy). One block per entity
181
+ * (duplicate = analyzer error); any number of `about` rows.
182
+ */
183
+ export interface DefineTopics {
184
+ kind: 'define-topics';
185
+ /** The owning entity (`for the porter`) — must be a person kind (analyzer gate). */
186
+ owner: NameRef;
187
+ rows: TopicRow[];
188
+ span: Span;
189
+ }
190
+ /**
191
+ * One `about …: <response>` table row. Entity tier: `about the <entity>`
192
+ * (the platform's quiet `topicEntityId` resolution). Free-text tier:
193
+ * `about "<text>"[, "<text>" …]` — comma-separated declared aliases
194
+ * (spelling ruled by David 2026-07-18). The response is a one-line
195
+ * statement or an indented statement body; `it` inside binds to the owner.
196
+ */
197
+ export interface TopicRow {
198
+ kind: 'topic-row';
199
+ filter: {
200
+ kind: 'entity';
201
+ ref: NameRef;
202
+ } | {
203
+ kind: 'text';
204
+ primary: string;
205
+ aliases: string[];
206
+ span: Span;
207
+ };
208
+ body: Statement[];
209
+ span: Span;
210
+ }
211
+ /**
212
+ * The construct a channel `return`s (ADR-253 D1). The channel's value is
213
+ * whatever it returns from the turn's last matching event:
214
+ * - `field` — `return hour from …`: the raw field value;
215
+ * - `text` — `return "The clock: (hour)" from …`: a text template whose
216
+ * `(slot)` names project event fields (the phrase slot spelling, ADR-250);
217
+ * - `phrase` — `return phrase clock-line from …`: the phrase's rendered text.
218
+ */
219
+ export type ChannelReturn = {
220
+ kind: 'field';
221
+ field: string;
222
+ } | {
223
+ kind: 'text';
224
+ text: string;
225
+ } | {
226
+ kind: 'phrase';
227
+ phrase: string;
228
+ };
229
+ /**
230
+ * `define channel <name> … end channel` (ADR-216; spelling A ratified by
231
+ * David 2026-07-18; ADR-253 replaced `take`/`from event` with `return …
232
+ * from <event>`) — a declarative data projection: a `return` construct, a
233
+ * mode, and an optional capability gate, producing a value from the turn's
234
+ * last event of the named type. Pure IR — placement/rendering is the
235
+ * client's (ADR-253 D2/D3), never here.
236
+ */
237
+ export interface DefineChannel {
238
+ kind: 'define-channel';
239
+ name: string;
240
+ /** `mode replace|append|event` (null = parse error reported). */
241
+ mode: string | null;
242
+ /** `gated by <capability>` — a client capability flag, or null (ungated). */
243
+ gatedBy: string | null;
244
+ /** The source event type, from the `return … from <event>` tail (ADR-256:
245
+ * a dotless Chord id; null = parse error reported). */
246
+ fromEvent: string | null;
247
+ /** `return <construct> from <event>` (ADR-253 D1); null = parse error reported. */
248
+ returns: ChannelReturn | null;
249
+ span: Span;
250
+ }
251
+ /** One `pronouns <word>` person body line (ADR-242 D5). */
252
+ export interface PronounsDecl {
253
+ word: string;
254
+ span: Span;
255
+ }
256
+ /**
257
+ * `define pronouns <name> … end pronouns` (ADR-242 D7, ruled Q-1) — a
258
+ * named pronoun set as a block with five named rows (`subject`, `object`,
259
+ * `possessive`, `possessive-pronoun`, `reflexive`), each `<case> <form>`.
260
+ * Row completeness, duplicates, and standard-word shadowing are the
261
+ * analyzer's gates; the declared forms are locale text carried as data
262
+ * (registered into the language provider at load, never rendered here).
263
+ */
264
+ export interface DefinePronouns {
265
+ kind: 'define-pronouns';
266
+ name: string;
267
+ rows: PronounRow[];
268
+ span: Span;
269
+ }
270
+ /** One `<case> <form>` row of a `define pronouns` block. */
271
+ export interface PronounRow {
272
+ case: string;
273
+ form: string;
274
+ span: Span;
275
+ }
47
276
  /** A raw (unresolved) name reference: optional article + word sequence. */
48
277
  export interface NameRef {
49
278
  kind: 'name';
@@ -80,14 +309,33 @@ export interface CreateDecl {
80
309
  name: NameRef;
81
310
  /** `aka` aliases, in declaration order. */
82
311
  aka: string[];
312
+ /**
313
+ * `pronouns <word>` lines (ADR-242 D5) — collected in order so the
314
+ * analyzer can reject duplicates with the second line's span. Legal
315
+ * only on person blocks; word resolution (standard four or a
316
+ * `define pronouns` set) is the analyzer's gate.
317
+ */
318
+ pronouns: PronounsDecl[];
83
319
  /** Kind-noun and trait-adjective composition items. */
84
320
  compositions: CompositionItem[];
321
+ /**
322
+ * `starts <state>` initial-state clauses (ADR-231 D5a) riding the
323
+ * composition lines, in declaration order (`starts locked`). Pairing with
324
+ * the required trait (`lockable`, …) is the analyzer's gate.
325
+ */
326
+ startsStates: StartsStateDecl[];
85
327
  /** `in <place>` / `on <place>` / `starts in <place>`. */
86
328
  placement: Placement | null;
87
329
  /** `wears <thing>` lines (the player wears the cloak). */
88
330
  wears: NameRef[];
89
331
  /** `carries <thing>` lines — start inventory, not worn (ADR-230 Phase 6). */
90
332
  carries: NameRef[];
333
+ /**
334
+ * `containing <name list>` region-membership lines (ADR-236 D2, ratchet
335
+ * R2) — additive across lines; members are rooms or nested regions. Legal
336
+ * only on region blocks (the analyzer's gate).
337
+ */
338
+ containing: NameRef[];
91
339
  exits: ExitDecl[];
92
340
  blockedExits: BlockedExitDecl[];
93
341
  /** `<direction> is deadly: <phrase>` lines (ADR-227). */
@@ -112,6 +360,18 @@ export interface CreateDecl {
112
360
  onClauses: OnClause[];
113
361
  span: Span;
114
362
  }
363
+ /**
364
+ * One `starts <state>` initializer clause on a composition line (ADR-231
365
+ * D5a): `starts locked`, `starts open`, … — the state word is one of the
366
+ * catalog's STARTS_STATE_PAIRINGS keys (parse-gated; unknown words after
367
+ * `starts` are parse errors, `starts in` stays placement).
368
+ */
369
+ export interface StartsStateDecl {
370
+ kind: 'starts-state';
371
+ /** The accepted state word (`locked`, `unlocked`, `closed`, `open`, `off`, `on`). */
372
+ state: string;
373
+ span: Span;
374
+ }
115
375
  /** One composition term: `a room`, `scenery`, `a supporter with capacity 1`, `dark while <cond>`. */
116
376
  export interface CompositionItem {
117
377
  kind: 'composition';
@@ -127,12 +387,16 @@ export interface CompositionItem {
127
387
  /**
128
388
  * One `with` setting. Values are a trailing number/string/word, or — when an
129
389
  * article introduces the tail (`with food the handful of feed`, Phase B) — a
130
- * multi-word entity name (`valueKind: 'name'`, article stripped).
390
+ * multi-word entity name (`valueKind: 'name'`, article stripped), or — when
391
+ * a bracket opens the tail (`with route [Hall, Study, Hall]`, ADR-215) — a
392
+ * list of name references (`valueKind: 'list'`, entries in `listValues`).
131
393
  */
132
394
  export interface ConfigSetting {
133
395
  key: string[];
134
396
  value: string;
135
- valueKind: 'number' | 'string' | 'word' | 'name';
397
+ valueKind: 'number' | 'string' | 'word' | 'name' | 'list';
398
+ /** List entries when valueKind is 'list' (resolution is the analyzer's). */
399
+ listValues?: NameRef[];
136
400
  span: Span;
137
401
  }
138
402
  export interface Placement {
@@ -146,6 +410,12 @@ export interface ExitDecl {
146
410
  kind: 'exit';
147
411
  direction: string;
148
412
  to: NameRef;
413
+ /**
414
+ * `through the <door>` tail (ADR-234 D1, ratchet R2) — the one door
415
+ * relationship form. Null on plain exits. References a declared door;
416
+ * never creates one.
417
+ */
418
+ via: NameRef | null;
149
419
  span: Span;
150
420
  }
151
421
  export interface BlockedExitDecl {
@@ -269,6 +539,33 @@ export interface DefinePhrases {
269
539
  entries: PhraseEntry[];
270
540
  span: Span;
271
541
  }
542
+ /**
543
+ * `override message <alias> [, strategy] [while <cond>] … end override` (ADR-255
544
+ * D1): override a standard-action message story-wide via a curated kebab alias.
545
+ * Body is the full `define phrase` body (strategy/variants/verbatim/condition),
546
+ * read by the same reader so the two never drift; the alias — never a dotted
547
+ * platform id — is resolved to `if.action.*` loader-side (Interface Contract 3).
548
+ */
549
+ export interface OverrideMessage {
550
+ kind: 'override-message';
551
+ alias: string;
552
+ strategy: string | null;
553
+ verbatim: boolean;
554
+ condition: ConditionNode | null;
555
+ variants: TextValue[];
556
+ span: Span;
557
+ }
558
+ /**
559
+ * `override messages <locale>` keyed-template block (ADR-255 D1), the
560
+ * localizable form mirroring `define phrases <locale>`: `alias: text` entries,
561
+ * dedent-terminated, flat text per entry. Each entry `key` is an ACL alias.
562
+ */
563
+ export interface OverrideMessages {
564
+ kind: 'override-messages';
565
+ locale: string;
566
+ entries: PhraseEntry[];
567
+ span: Span;
568
+ }
272
569
  export interface PhraseEntry {
273
570
  key: string;
274
571
  value: TextValue;
@@ -290,6 +587,55 @@ export type PatternPart = {
290
587
  word: string;
291
588
  span: Span;
292
589
  };
590
+ /**
591
+ * `define sound|image|music <name> from "<file>"` (ADR-216) — a declared
592
+ * media asset: a DATA reference (static file path), never a code hatch —
593
+ * it does NOT set `hasHatches` and keeps the pure-IR profile. Referenced
594
+ * by name from the media sugar statements (typo-checked at compile).
595
+ */
596
+ export interface DefineAsset {
597
+ kind: 'define-asset';
598
+ assetKind: 'sound' | 'image' | 'music';
599
+ name: string;
600
+ path: string;
601
+ span: Span;
602
+ }
603
+ /**
604
+ * `define ambient <word>` / `define layer <word>` (ADR-241 D2): a named
605
+ * family channel — an ambient bed or an image layer. One-liners beside
606
+ * the asset declarations; the registered ids (`ambient:<word>`,
607
+ * `image:<word>`) are an implementation detail, never author-facing.
608
+ */
609
+ export interface DefineFamilyChannel {
610
+ kind: 'define-family-channel';
611
+ family: 'ambient' | 'layer';
612
+ name: string;
613
+ span: Span;
614
+ }
615
+ /**
616
+ * ADR-216 typed media sugar — each form lowers AT ANALYSIS onto a
617
+ * payloaded `media.*` emit (no runtime surface of its own): `play sound
618
+ * <asset>`, `play music <asset> [looping]`, `stop music`, `show image
619
+ * <asset> [in <layer>]`, `hide image`, `play ambient <asset>
620
+ * [in <channel>]`, `stop ambient [in <channel>]` (ADR-241 D3),
621
+ * `transition <kind>`, `clear`.
622
+ */
623
+ export interface MediaStmt {
624
+ kind: 'media';
625
+ form: 'play-sound' | 'play-music' | 'stop-music' | 'show-image' | 'hide-image' | 'play-ambient' | 'stop-ambient' | 'transition' | 'clear';
626
+ /** Declared asset name for the play/show forms; null otherwise. */
627
+ asset: string | null;
628
+ /** `in <layer>` on show-image; null otherwise. */
629
+ layer: string | null;
630
+ /** `in <channel>` on play-ambient/stop-ambient (ADR-241 D3); null = the implied `main` bed. */
631
+ channel: string | null;
632
+ /** `looping` modifier on play-music. */
633
+ looping: boolean;
634
+ /** The transition kind word (`transition fade`); null otherwise. */
635
+ transitionKind: string | null;
636
+ stmtWhen: ConditionNode | null;
637
+ span: Span;
638
+ }
293
639
  /** `define text <name> from "<module>"` — TS escape hatch declaration. */
294
640
  export interface DefineText {
295
641
  kind: 'define-text';
@@ -392,14 +738,91 @@ export interface ActionRefusal {
392
738
  phraseKey: string;
393
739
  span: Span;
394
740
  }
395
- /** `define action X from "./mod.ts"` / `define behavior X from "./mod.ts"` — TS hatches. */
741
+ /**
742
+ * `define action X from "./mod.ts"` — TS action hatch. (`define behavior …
743
+ * from` was removed by ADR-235 D2, 2026-07-18 — it had no binding key and
744
+ * could never fire; the parser emits a fix-it error.)
745
+ *
746
+ * `define chain <name> from "./mod.ts"` — TS chain hatch (ADR-094 chains):
747
+ * replaces a stdlib event chain (e.g. `opened-revealed`) with an
748
+ * author-supplied handler. `name` is the curated chain alias; the module
749
+ * default-exports the `EventChainHandler`. Like every hatch, it sets
750
+ * `hasHatches` — a chained story is not browser-pure.
751
+ */
396
752
  export interface DefineHatch {
397
753
  kind: 'define-hatch';
398
- hatchKind: 'action' | 'behavior';
754
+ hatchKind: 'action' | 'chain';
399
755
  name: string;
400
756
  modulePath: string;
401
757
  span: Span;
402
758
  }
759
+ /**
760
+ * `define machine <name> … end machine` — the ADR-119 depth under
761
+ * `use state-machines` (ADR-215; spelling A ratified by David 2026-07-18).
762
+ * Role lines bind names to entities; `starts <state>`; one `state` block
763
+ * per state carrying transition lines and `on enter`/`on exit` bodies.
764
+ */
765
+ export interface DefineMachine {
766
+ kind: 'define-machine';
767
+ /** Machine name words (`drawbridge works`). */
768
+ name: string[];
769
+ /** `role <name> is <entity>` bindings, in declaration order. */
770
+ roles: MachineRole[];
771
+ /** `starts <state>` — the initial state name (null = parse error reported). */
772
+ initialState: string | null;
773
+ states: MachineState[];
774
+ span: Span;
775
+ }
776
+ /** One `role <name> is <entity>` binding line. */
777
+ export interface MachineRole {
778
+ name: string;
779
+ entity: NameRef;
780
+ span: Span;
781
+ }
782
+ /** One `state <name>[, terminal]` block. */
783
+ export interface MachineState {
784
+ name: string;
785
+ terminal: boolean;
786
+ transitions: MachineTransition[];
787
+ onEnter: Statement[];
788
+ onExit: Statement[];
789
+ span: Span;
790
+ }
791
+ /**
792
+ * One `when <trigger>[ while <condition>]: <target>` transition line.
793
+ * Triggers: an action (`turning the winch` — gerund + role/entity), an
794
+ * event (`event if.event.opened`), or a bare condition (`the bridge is
795
+ * down`).
796
+ */
797
+ export interface MachineTransition {
798
+ trigger: {
799
+ kind: 'action';
800
+ action: string;
801
+ target: NameRef | null;
802
+ } | {
803
+ kind: 'event';
804
+ event: string;
805
+ } | {
806
+ kind: 'condition';
807
+ condition: ConditionNode;
808
+ }
809
+ /**
810
+ * A single bare word — grammatically either an action gerund
811
+ * (`waiting`) or a condition ref/story state (`stormy`). The parser is
812
+ * vocabulary-free; the ANALYZER resolves it (declared condition/story
813
+ * state wins, else action gerund).
814
+ */
815
+ | {
816
+ kind: 'word';
817
+ word: string;
818
+ span: Span;
819
+ };
820
+ /** Optional `while <condition>` guard riding any trigger form. */
821
+ condition: ConditionNode | null;
822
+ /** Target state name. */
823
+ target: string;
824
+ span: Span;
825
+ }
403
826
  /** `define sequence <name> … end sequence` — timeline of chained steps. */
404
827
  export interface DefineSequence {
405
828
  kind: 'define-sequence';
@@ -424,7 +847,7 @@ export interface SequenceStep {
424
847
  body: Statement[];
425
848
  span: Span;
426
849
  }
427
- export type Statement = RefuseStmt | RefuseWhenStmt | PhraseStmt | EmitStmt | SetStmt | ChangeStmt | MoveStmt | RemoveStmt | AwardStmt | WinStmt | LoseStmt | KillStmt | MustRequirement | SelectOnStmt | SelectStrategyStmt | OrdinalBlock | EachStmt;
850
+ export type Statement = RefuseStmt | RefuseWhenStmt | PhraseStmt | EmitStmt | MediaStmt | SetStmt | ChangeStmt | MoveStmt | RemoveStmt | AwardStmt | WinStmt | LoseStmt | KillStmt | MustRequirement | SelectOnStmt | SelectStrategyStmt | OrdinalBlock | EachStmt;
428
851
  /**
429
852
  * `each <condition-name> … end each` — body-position iteration block
430
853
  * (ratchet E3, 2026-07-12). Hosts: `on`/`after` clause bodies, action
@@ -477,13 +900,49 @@ export interface ParamBinding {
477
900
  value: ValueExpr;
478
901
  span: Span;
479
902
  }
480
- /** `emit <event-words> [when <cond>]` */
903
+ /**
904
+ * `emit <event> [with <field> <value> [and …]] [when <cond>]` (ADR-216) —
905
+ * the payloaded emit. Event segments are dotted keys (`media.sound.play`).
906
+ * Flat payload fields separate with `and` (the create-data grammar);
907
+ * bracketed/braced structures separate with commas.
908
+ */
481
909
  export interface EmitStmt {
482
910
  kind: 'emit';
483
911
  event: string[];
912
+ /** `with` payload fields, empty when none (ADR-216). */
913
+ payload: EmitField[];
484
914
  stmtWhen: ConditionNode | null;
485
915
  span: Span;
486
916
  }
917
+ /** One `<field> <value>` payload entry (top level or inside `{ … }`). */
918
+ export interface EmitField {
919
+ /** Field key words (`skill bonus` → one payload key). */
920
+ key: string[];
921
+ value: EmitValue;
922
+ span: Span;
923
+ }
924
+ /**
925
+ * One payload value: a literal, a value expression (world-state read), an
926
+ * `[ … ]` array of values, or a `{ <field> <value>, … }` nested object.
927
+ */
928
+ export type EmitValue = {
929
+ kind: 'literal';
930
+ value: string;
931
+ literalKind: 'number' | 'string';
932
+ span: Span;
933
+ } | {
934
+ kind: 'expr';
935
+ expr: ValueExpr;
936
+ span: Span;
937
+ } | {
938
+ kind: 'array';
939
+ items: EmitValue[];
940
+ span: Span;
941
+ } | {
942
+ kind: 'object';
943
+ fields: EmitField[];
944
+ span: Span;
945
+ };
487
946
  /** `set <field-path> to <value>` */
488
947
  export interface SetStmt {
489
948
  kind: 'set';
@@ -582,7 +1041,19 @@ export interface OrdinalBlock {
582
1041
  body: Statement[];
583
1042
  span: Span;
584
1043
  }
585
- export type ConditionNode = OrNode | AndNode | NotNode | PredicateNode | ChanceNode | NamedConditionRef | AnyOfNode | NoneOfNode;
1044
+ export type ConditionNode = OrNode | AndNode | NotNode | PredicateNode | ChanceNode | NamedConditionRef | AnyOfNode | NoneOfNode | ClientHasNode;
1045
+ /**
1046
+ * `client has <capability>` (ADR-216) — reads the live negotiated client
1047
+ * capability at evaluation time so a story can degrade deliberately.
1048
+ * Capability words are the platform's boolean flags in Chord spelling
1049
+ * (`sound`, `split-pane`, …); `client` is reserved in condition-subject
1050
+ * position.
1051
+ */
1052
+ export interface ClientHasNode {
1053
+ kind: 'client-has';
1054
+ capability: string;
1055
+ span: Span;
1056
+ }
586
1057
  /**
587
1058
  * `any <condition-name>` — existential over a named open condition
588
1059
  * (ratchet E1, 2026-07-12): true iff some world entity satisfies it;
package/ast.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/ast.ts"],"names":[],"mappings":"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"}