@sharpee/chord 3.0.0 → 3.3.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 (55) hide show
  1. package/analyzer.d.ts +11 -3
  2. package/analyzer.d.ts.map +1 -1
  3. package/analyzer.js +1217 -33
  4. package/analyzer.js.map +1 -1
  5. package/ast.d.ts +458 -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 +95 -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 +31 -13
  14. package/index.d.ts.map +1 -1
  15. package/index.js +110 -30
  16. package/index.js.map +1 -1
  17. package/ir.d.ts +316 -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/index.d.ts +21 -0
  28. package/manifests/index.d.ts.map +1 -0
  29. package/manifests/index.js +46 -0
  30. package/manifests/index.js.map +1 -0
  31. package/manifests/npc.d.ts +19 -0
  32. package/manifests/npc.d.ts.map +1 -0
  33. package/manifests/npc.js +38 -0
  34. package/manifests/npc.js.map +1 -0
  35. package/manifests/state-machines.d.ts +17 -0
  36. package/manifests/state-machines.d.ts.map +1 -0
  37. package/manifests/state-machines.js +8 -0
  38. package/manifests/state-machines.js.map +1 -0
  39. package/manifests/types.d.ts +41 -0
  40. package/manifests/types.d.ts.map +1 -0
  41. package/manifests/types.js +18 -0
  42. package/manifests/types.js.map +1 -0
  43. package/message-alias-catalog.d.ts +22 -0
  44. package/message-alias-catalog.d.ts.map +1 -0
  45. package/message-alias-catalog.js +830 -0
  46. package/message-alias-catalog.js.map +1 -0
  47. package/package.json +1 -1
  48. package/parser.d.ts +2 -2
  49. package/parser.d.ts.map +1 -1
  50. package/parser.js +1566 -148
  51. package/parser.js.map +1 -1
  52. package/phrasebooks.d.ts +28 -0
  53. package/phrasebooks.d.ts.map +1 -0
  54. package/phrasebooks.js +6 -0
  55. package/phrasebooks.js.map +1 -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,38 @@ 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
+ span: Span;
59
+ }
60
+ /** One `use <extension>` line (ADR-215). */
61
+ export interface UseDecl {
62
+ name: string;
63
+ span: Span;
64
+ }
65
+ /** One `use phrasebook <name> [while <condition>]` line (ADR-250 D2). */
66
+ export interface UsePhrasebookDecl {
67
+ name: string;
68
+ condition: ConditionNode | null;
37
69
  span: Span;
38
70
  }
39
71
  /** `score <name> worth <n>` on an owner (create/trait/action/story — D12). */
@@ -43,7 +75,139 @@ export interface ScoreDecl {
43
75
  worth: number;
44
76
  span: Span;
45
77
  }
46
- export type Declaration = CreateDecl | DefineCondition | DefinePhrase | DefinePhrases | DefineVerb | DefineText | DefineTrait | DefineAction | DefineHatch | DefineSequence;
78
+ export type Declaration = CreateDecl | DefineCondition | DefinePhrase | DefinePhrases | DefineVerb | DefineText | DefineTrait | DefineAction | DefineHatch | DefineSequence | DefineMachine | DefineAsset | DefineFamilyChannel | DefineChannel | DefineTopics | DefinePronouns | DefinePhrasebook | OverrideMessage | OverrideMessages | ImportDecl;
79
+ /**
80
+ * `define phrasebook <name> [while <condition>] … end phrasebook`
81
+ * (ADR-245/ADR-250 D1): a named, predicated collection of phrase entries.
82
+ * Entries reuse the phrase-override grammar (`<key>[, strategy]:` +
83
+ * `or` variants); an entry-level `while` parses but is an analyzer gate
84
+ * (`analysis.phrasebook-entry-gate`) — the book's header predicate is the
85
+ * only gate. A predicate-less book is the default phrasebook (always).
86
+ */
87
+ export interface DefinePhrasebook {
88
+ kind: 'define-phrasebook';
89
+ /** Single kebab-case book name (extension-name form). */
90
+ name: string;
91
+ /** The book's activity predicate; null = always (the default book). */
92
+ condition: ConditionNode | null;
93
+ entries: PhraseOverride[];
94
+ span: Span;
95
+ }
96
+ /**
97
+ * `import "<file>"` (ADR-251) — the author's multi-file organization axis.
98
+ * `path` is the name as written, WITHOUT extension: the compiler appends
99
+ * `.chord` before handing it to the host `importResolver`, which resolves
100
+ * it to the fragment's source text. The fragment's complete declarations
101
+ * (any kind except a `story` header or a nested `import`) are spliced at
102
+ * this position (import site = arbitration position — D4). Unresolved at
103
+ * analysis time = `analysis.import-unresolved`. Supersedes ADR-250 D2's
104
+ * typed `import phrasebook`/`.story` form.
105
+ */
106
+ export interface ImportDecl {
107
+ kind: 'import';
108
+ /** Import target as written, extension-free (compiler appends `.chord`). */
109
+ path: string;
110
+ span: Span;
111
+ }
112
+ /**
113
+ * `define topics for <entity> … end topics` (ADR-239 D3 as amended) — the
114
+ * entity's declared table of ask/tell topics + responses: a closed,
115
+ * compile-visible set (D4 — lookup, never fuzzy). One block per entity
116
+ * (duplicate = analyzer error); any number of `about` rows.
117
+ */
118
+ export interface DefineTopics {
119
+ kind: 'define-topics';
120
+ /** The owning entity (`for the porter`) — must be a person kind (analyzer gate). */
121
+ owner: NameRef;
122
+ rows: TopicRow[];
123
+ span: Span;
124
+ }
125
+ /**
126
+ * One `about …: <response>` table row. Entity tier: `about the <entity>`
127
+ * (the platform's quiet `topicEntityId` resolution). Free-text tier:
128
+ * `about "<text>"[, "<text>" …]` — comma-separated declared aliases
129
+ * (spelling ruled by David 2026-07-18). The response is a one-line
130
+ * statement or an indented statement body; `it` inside binds to the owner.
131
+ */
132
+ export interface TopicRow {
133
+ kind: 'topic-row';
134
+ filter: {
135
+ kind: 'entity';
136
+ ref: NameRef;
137
+ } | {
138
+ kind: 'text';
139
+ primary: string;
140
+ aliases: string[];
141
+ span: Span;
142
+ };
143
+ body: Statement[];
144
+ span: Span;
145
+ }
146
+ /**
147
+ * The construct a channel `return`s (ADR-253 D1). The channel's value is
148
+ * whatever it returns from the turn's last matching event:
149
+ * - `field` — `return hour from …`: the raw field value;
150
+ * - `text` — `return "The clock: (hour)" from …`: a text template whose
151
+ * `(slot)` names project event fields (the phrase slot spelling, ADR-250);
152
+ * - `phrase` — `return phrase clock-line from …`: the phrase's rendered text.
153
+ */
154
+ export type ChannelReturn = {
155
+ kind: 'field';
156
+ field: string;
157
+ } | {
158
+ kind: 'text';
159
+ text: string;
160
+ } | {
161
+ kind: 'phrase';
162
+ phrase: string;
163
+ };
164
+ /**
165
+ * `define channel <name> … end channel` (ADR-216; spelling A ratified by
166
+ * David 2026-07-18; ADR-253 replaced `take`/`from event` with `return …
167
+ * from <event>`) — a declarative data projection: a `return` construct, a
168
+ * mode, and an optional capability gate, producing a value from the turn's
169
+ * last event of the named type. Pure IR — placement/rendering is the
170
+ * client's (ADR-253 D2/D3), never here.
171
+ */
172
+ export interface DefineChannel {
173
+ kind: 'define-channel';
174
+ name: string;
175
+ /** `mode replace|append|event` (null = parse error reported). */
176
+ mode: string | null;
177
+ /** `gated by <capability>` — a client capability flag, or null (ungated). */
178
+ gatedBy: string | null;
179
+ /** The source event type, from the `return … from <event>` tail (ADR-256:
180
+ * a dotless Chord id; null = parse error reported). */
181
+ fromEvent: string | null;
182
+ /** `return <construct> from <event>` (ADR-253 D1); null = parse error reported. */
183
+ returns: ChannelReturn | null;
184
+ span: Span;
185
+ }
186
+ /** One `pronouns <word>` person body line (ADR-242 D5). */
187
+ export interface PronounsDecl {
188
+ word: string;
189
+ span: Span;
190
+ }
191
+ /**
192
+ * `define pronouns <name> … end pronouns` (ADR-242 D7, ruled Q-1) — a
193
+ * named pronoun set as a block with five named rows (`subject`, `object`,
194
+ * `possessive`, `possessive-pronoun`, `reflexive`), each `<case> <form>`.
195
+ * Row completeness, duplicates, and standard-word shadowing are the
196
+ * analyzer's gates; the declared forms are locale text carried as data
197
+ * (registered into the language provider at load, never rendered here).
198
+ */
199
+ export interface DefinePronouns {
200
+ kind: 'define-pronouns';
201
+ name: string;
202
+ rows: PronounRow[];
203
+ span: Span;
204
+ }
205
+ /** One `<case> <form>` row of a `define pronouns` block. */
206
+ export interface PronounRow {
207
+ case: string;
208
+ form: string;
209
+ span: Span;
210
+ }
47
211
  /** A raw (unresolved) name reference: optional article + word sequence. */
48
212
  export interface NameRef {
49
213
  kind: 'name';
@@ -80,14 +244,39 @@ export interface CreateDecl {
80
244
  name: NameRef;
81
245
  /** `aka` aliases, in declaration order. */
82
246
  aka: string[];
247
+ /**
248
+ * `pronouns <word>` lines (ADR-242 D5) — collected in order so the
249
+ * analyzer can reject duplicates with the second line's span. Legal
250
+ * only on person blocks; word resolution (standard four or a
251
+ * `define pronouns` set) is the analyzer's gate.
252
+ */
253
+ pronouns: PronounsDecl[];
83
254
  /** Kind-noun and trait-adjective composition items. */
84
255
  compositions: CompositionItem[];
256
+ /**
257
+ * `starts <state>` initial-state clauses (ADR-231 D5a) riding the
258
+ * composition lines, in declaration order (`starts locked`). Pairing with
259
+ * the required trait (`lockable`, …) is the analyzer's gate.
260
+ */
261
+ startsStates: StartsStateDecl[];
85
262
  /** `in <place>` / `on <place>` / `starts in <place>`. */
86
263
  placement: Placement | null;
87
264
  /** `wears <thing>` lines (the player wears the cloak). */
88
265
  wears: NameRef[];
266
+ /** `carries <thing>` lines — start inventory, not worn (ADR-230 Phase 6). */
267
+ carries: NameRef[];
268
+ /**
269
+ * `containing <name list>` region-membership lines (ADR-236 D2, ratchet
270
+ * R2) — additive across lines; members are rooms or nested regions. Legal
271
+ * only on region blocks (the analyzer's gate).
272
+ */
273
+ containing: NameRef[];
89
274
  exits: ExitDecl[];
90
275
  blockedExits: BlockedExitDecl[];
276
+ /** `<direction> is deadly: <phrase>` lines (ADR-227). */
277
+ deadlyExits: DeadlyExitDecl[];
278
+ /** `deadly: <phrase>` no-escape room marker (ADR-227); null = not deadly. */
279
+ deadly: DeadlyRoomDecl | null;
91
280
  /** `states: a, b, c` — ordered. */
92
281
  states: StateName[];
93
282
  /** `states, reversible:` — declared back-transitions allowed (D4). */
@@ -106,6 +295,18 @@ export interface CreateDecl {
106
295
  onClauses: OnClause[];
107
296
  span: Span;
108
297
  }
298
+ /**
299
+ * One `starts <state>` initializer clause on a composition line (ADR-231
300
+ * D5a): `starts locked`, `starts open`, … — the state word is one of the
301
+ * catalog's STARTS_STATE_PAIRINGS keys (parse-gated; unknown words after
302
+ * `starts` are parse errors, `starts in` stays placement).
303
+ */
304
+ export interface StartsStateDecl {
305
+ kind: 'starts-state';
306
+ /** The accepted state word (`locked`, `unlocked`, `closed`, `open`, `off`, `on`). */
307
+ state: string;
308
+ span: Span;
309
+ }
109
310
  /** One composition term: `a room`, `scenery`, `a supporter with capacity 1`, `dark while <cond>`. */
110
311
  export interface CompositionItem {
111
312
  kind: 'composition';
@@ -121,12 +322,16 @@ export interface CompositionItem {
121
322
  /**
122
323
  * One `with` setting. Values are a trailing number/string/word, or — when an
123
324
  * article introduces the tail (`with food the handful of feed`, Phase B) — a
124
- * multi-word entity name (`valueKind: 'name'`, article stripped).
325
+ * multi-word entity name (`valueKind: 'name'`, article stripped), or — when
326
+ * a bracket opens the tail (`with route [Hall, Study, Hall]`, ADR-215) — a
327
+ * list of name references (`valueKind: 'list'`, entries in `listValues`).
125
328
  */
126
329
  export interface ConfigSetting {
127
330
  key: string[];
128
331
  value: string;
129
- valueKind: 'number' | 'string' | 'word' | 'name';
332
+ valueKind: 'number' | 'string' | 'word' | 'name' | 'list';
333
+ /** List entries when valueKind is 'list' (resolution is the analyzer's). */
334
+ listValues?: NameRef[];
130
335
  span: Span;
131
336
  }
132
337
  export interface Placement {
@@ -140,6 +345,12 @@ export interface ExitDecl {
140
345
  kind: 'exit';
141
346
  direction: string;
142
347
  to: NameRef;
348
+ /**
349
+ * `through the <door>` tail (ADR-234 D1, ratchet R2) — the one door
350
+ * relationship form. Null on plain exits. References a declared door;
351
+ * never creates one.
352
+ */
353
+ via: NameRef | null;
143
354
  span: Span;
144
355
  }
145
356
  export interface BlockedExitDecl {
@@ -154,6 +365,32 @@ export interface BlockedExitDecl {
154
365
  condition: ConditionNode | null;
155
366
  span: Span;
156
367
  }
368
+ /**
369
+ * `<direction> is deadly: <phrase>` (ADR-227 Decision 4) — a deadly *exit*:
370
+ * going that way takes the player to their death. Mirrors the blocked-exit
371
+ * shape; lowers to a pre-validate command redirect (the deadly exit need
372
+ * not exist in the room graph), never a destination-resolved interceptor.
373
+ */
374
+ export interface DeadlyExitDecl {
375
+ kind: 'deadly-exit';
376
+ direction: string;
377
+ /** Phrase key carrying the death text (also the derived cause). */
378
+ phraseKey: string;
379
+ /** `is deadly while <cond>: <key>` — parsed but not yet wired (post-scope). */
380
+ condition: ConditionNode | null;
381
+ span: Span;
382
+ }
383
+ /**
384
+ * `deadly: <phrase>` (ADR-227 Decision 4) — the rare no-escape room marker:
385
+ * any verb but the DeadlyRoomTrait safe allowlist (look/examine default)
386
+ * is fatal. Lowers to `DeadlyRoomTrait`.
387
+ */
388
+ export interface DeadlyRoomDecl {
389
+ kind: 'deadly-room';
390
+ /** Phrase key carrying the death text (also the derived cause). */
391
+ phraseKey: string;
392
+ span: Span;
393
+ }
157
394
  export interface StateName {
158
395
  name: string;
159
396
  span: Span;
@@ -237,6 +474,33 @@ export interface DefinePhrases {
237
474
  entries: PhraseEntry[];
238
475
  span: Span;
239
476
  }
477
+ /**
478
+ * `override message <alias> [, strategy] [while <cond>] … end override` (ADR-255
479
+ * D1): override a standard-action message story-wide via a curated kebab alias.
480
+ * Body is the full `define phrase` body (strategy/variants/verbatim/condition),
481
+ * read by the same reader so the two never drift; the alias — never a dotted
482
+ * platform id — is resolved to `if.action.*` loader-side (Interface Contract 3).
483
+ */
484
+ export interface OverrideMessage {
485
+ kind: 'override-message';
486
+ alias: string;
487
+ strategy: string | null;
488
+ verbatim: boolean;
489
+ condition: ConditionNode | null;
490
+ variants: TextValue[];
491
+ span: Span;
492
+ }
493
+ /**
494
+ * `override messages <locale>` keyed-template block (ADR-255 D1), the
495
+ * localizable form mirroring `define phrases <locale>`: `alias: text` entries,
496
+ * dedent-terminated, flat text per entry. Each entry `key` is an ACL alias.
497
+ */
498
+ export interface OverrideMessages {
499
+ kind: 'override-messages';
500
+ locale: string;
501
+ entries: PhraseEntry[];
502
+ span: Span;
503
+ }
240
504
  export interface PhraseEntry {
241
505
  key: string;
242
506
  value: TextValue;
@@ -258,6 +522,55 @@ export type PatternPart = {
258
522
  word: string;
259
523
  span: Span;
260
524
  };
525
+ /**
526
+ * `define sound|image|music <name> from "<file>"` (ADR-216) — a declared
527
+ * media asset: a DATA reference (static file path), never a code hatch —
528
+ * it does NOT set `hasHatches` and keeps the pure-IR profile. Referenced
529
+ * by name from the media sugar statements (typo-checked at compile).
530
+ */
531
+ export interface DefineAsset {
532
+ kind: 'define-asset';
533
+ assetKind: 'sound' | 'image' | 'music';
534
+ name: string;
535
+ path: string;
536
+ span: Span;
537
+ }
538
+ /**
539
+ * `define ambient <word>` / `define layer <word>` (ADR-241 D2): a named
540
+ * family channel — an ambient bed or an image layer. One-liners beside
541
+ * the asset declarations; the registered ids (`ambient:<word>`,
542
+ * `image:<word>`) are an implementation detail, never author-facing.
543
+ */
544
+ export interface DefineFamilyChannel {
545
+ kind: 'define-family-channel';
546
+ family: 'ambient' | 'layer';
547
+ name: string;
548
+ span: Span;
549
+ }
550
+ /**
551
+ * ADR-216 typed media sugar — each form lowers AT ANALYSIS onto a
552
+ * payloaded `media.*` emit (no runtime surface of its own): `play sound
553
+ * <asset>`, `play music <asset> [looping]`, `stop music`, `show image
554
+ * <asset> [in <layer>]`, `hide image`, `play ambient <asset>
555
+ * [in <channel>]`, `stop ambient [in <channel>]` (ADR-241 D3),
556
+ * `transition <kind>`, `clear`.
557
+ */
558
+ export interface MediaStmt {
559
+ kind: 'media';
560
+ form: 'play-sound' | 'play-music' | 'stop-music' | 'show-image' | 'hide-image' | 'play-ambient' | 'stop-ambient' | 'transition' | 'clear';
561
+ /** Declared asset name for the play/show forms; null otherwise. */
562
+ asset: string | null;
563
+ /** `in <layer>` on show-image; null otherwise. */
564
+ layer: string | null;
565
+ /** `in <channel>` on play-ambient/stop-ambient (ADR-241 D3); null = the implied `main` bed. */
566
+ channel: string | null;
567
+ /** `looping` modifier on play-music. */
568
+ looping: boolean;
569
+ /** The transition kind word (`transition fade`); null otherwise. */
570
+ transitionKind: string | null;
571
+ stmtWhen: ConditionNode | null;
572
+ span: Span;
573
+ }
261
574
  /** `define text <name> from "<module>"` — TS escape hatch declaration. */
262
575
  export interface DefineText {
263
576
  kind: 'define-text';
@@ -360,14 +673,91 @@ export interface ActionRefusal {
360
673
  phraseKey: string;
361
674
  span: Span;
362
675
  }
363
- /** `define action X from "./mod.ts"` / `define behavior X from "./mod.ts"` — TS hatches. */
676
+ /**
677
+ * `define action X from "./mod.ts"` — TS action hatch. (`define behavior …
678
+ * from` was removed by ADR-235 D2, 2026-07-18 — it had no binding key and
679
+ * could never fire; the parser emits a fix-it error.)
680
+ *
681
+ * `define chain <name> from "./mod.ts"` — TS chain hatch (ADR-094 chains):
682
+ * replaces a stdlib event chain (e.g. `opened-revealed`) with an
683
+ * author-supplied handler. `name` is the curated chain alias; the module
684
+ * default-exports the `EventChainHandler`. Like every hatch, it sets
685
+ * `hasHatches` — a chained story is not browser-pure.
686
+ */
364
687
  export interface DefineHatch {
365
688
  kind: 'define-hatch';
366
- hatchKind: 'action' | 'behavior';
689
+ hatchKind: 'action' | 'chain';
367
690
  name: string;
368
691
  modulePath: string;
369
692
  span: Span;
370
693
  }
694
+ /**
695
+ * `define machine <name> … end machine` — the ADR-119 depth under
696
+ * `use state-machines` (ADR-215; spelling A ratified by David 2026-07-18).
697
+ * Role lines bind names to entities; `starts <state>`; one `state` block
698
+ * per state carrying transition lines and `on enter`/`on exit` bodies.
699
+ */
700
+ export interface DefineMachine {
701
+ kind: 'define-machine';
702
+ /** Machine name words (`drawbridge works`). */
703
+ name: string[];
704
+ /** `role <name> is <entity>` bindings, in declaration order. */
705
+ roles: MachineRole[];
706
+ /** `starts <state>` — the initial state name (null = parse error reported). */
707
+ initialState: string | null;
708
+ states: MachineState[];
709
+ span: Span;
710
+ }
711
+ /** One `role <name> is <entity>` binding line. */
712
+ export interface MachineRole {
713
+ name: string;
714
+ entity: NameRef;
715
+ span: Span;
716
+ }
717
+ /** One `state <name>[, terminal]` block. */
718
+ export interface MachineState {
719
+ name: string;
720
+ terminal: boolean;
721
+ transitions: MachineTransition[];
722
+ onEnter: Statement[];
723
+ onExit: Statement[];
724
+ span: Span;
725
+ }
726
+ /**
727
+ * One `when <trigger>[ while <condition>]: <target>` transition line.
728
+ * Triggers: an action (`turning the winch` — gerund + role/entity), an
729
+ * event (`event if.event.opened`), or a bare condition (`the bridge is
730
+ * down`).
731
+ */
732
+ export interface MachineTransition {
733
+ trigger: {
734
+ kind: 'action';
735
+ action: string;
736
+ target: NameRef | null;
737
+ } | {
738
+ kind: 'event';
739
+ event: string;
740
+ } | {
741
+ kind: 'condition';
742
+ condition: ConditionNode;
743
+ }
744
+ /**
745
+ * A single bare word — grammatically either an action gerund
746
+ * (`waiting`) or a condition ref/story state (`stormy`). The parser is
747
+ * vocabulary-free; the ANALYZER resolves it (declared condition/story
748
+ * state wins, else action gerund).
749
+ */
750
+ | {
751
+ kind: 'word';
752
+ word: string;
753
+ span: Span;
754
+ };
755
+ /** Optional `while <condition>` guard riding any trigger form. */
756
+ condition: ConditionNode | null;
757
+ /** Target state name. */
758
+ target: string;
759
+ span: Span;
760
+ }
371
761
  /** `define sequence <name> … end sequence` — timeline of chained steps. */
372
762
  export interface DefineSequence {
373
763
  kind: 'define-sequence';
@@ -392,7 +782,7 @@ export interface SequenceStep {
392
782
  body: Statement[];
393
783
  span: Span;
394
784
  }
395
- export type Statement = RefuseStmt | RefuseWhenStmt | PhraseStmt | EmitStmt | SetStmt | ChangeStmt | MoveStmt | RemoveStmt | AwardStmt | WinStmt | LoseStmt | MustRequirement | SelectOnStmt | SelectStrategyStmt | OrdinalBlock | EachStmt;
785
+ export type Statement = RefuseStmt | RefuseWhenStmt | PhraseStmt | EmitStmt | MediaStmt | SetStmt | ChangeStmt | MoveStmt | RemoveStmt | AwardStmt | WinStmt | LoseStmt | KillStmt | MustRequirement | SelectOnStmt | SelectStrategyStmt | OrdinalBlock | EachStmt;
396
786
  /**
397
787
  * `each <condition-name> … end each` — body-position iteration block
398
788
  * (ratchet E3, 2026-07-12). Hosts: `on`/`after` clause bodies, action
@@ -445,13 +835,49 @@ export interface ParamBinding {
445
835
  value: ValueExpr;
446
836
  span: Span;
447
837
  }
448
- /** `emit <event-words> [when <cond>]` */
838
+ /**
839
+ * `emit <event> [with <field> <value> [and …]] [when <cond>]` (ADR-216) —
840
+ * the payloaded emit. Event segments are dotted keys (`media.sound.play`).
841
+ * Flat payload fields separate with `and` (the create-data grammar);
842
+ * bracketed/braced structures separate with commas.
843
+ */
449
844
  export interface EmitStmt {
450
845
  kind: 'emit';
451
846
  event: string[];
847
+ /** `with` payload fields, empty when none (ADR-216). */
848
+ payload: EmitField[];
452
849
  stmtWhen: ConditionNode | null;
453
850
  span: Span;
454
851
  }
852
+ /** One `<field> <value>` payload entry (top level or inside `{ … }`). */
853
+ export interface EmitField {
854
+ /** Field key words (`skill bonus` → one payload key). */
855
+ key: string[];
856
+ value: EmitValue;
857
+ span: Span;
858
+ }
859
+ /**
860
+ * One payload value: a literal, a value expression (world-state read), an
861
+ * `[ … ]` array of values, or a `{ <field> <value>, … }` nested object.
862
+ */
863
+ export type EmitValue = {
864
+ kind: 'literal';
865
+ value: string;
866
+ literalKind: 'number' | 'string';
867
+ span: Span;
868
+ } | {
869
+ kind: 'expr';
870
+ expr: ValueExpr;
871
+ span: Span;
872
+ } | {
873
+ kind: 'array';
874
+ items: EmitValue[];
875
+ span: Span;
876
+ } | {
877
+ kind: 'object';
878
+ fields: EmitField[];
879
+ span: Span;
880
+ };
455
881
  /** `set <field-path> to <value>` */
456
882
  export interface SetStmt {
457
883
  kind: 'set';
@@ -509,6 +935,17 @@ export interface LoseStmt {
509
935
  stmtWhen: ConditionNode | null;
510
936
  span: Span;
511
937
  }
938
+ /**
939
+ * `kill the player [<phrase-key>] [when <cond>]` (ADR-227 Decision 4) —
940
+ * terminal death via the platform's killPlayer sink; peer to win/lose.
941
+ * The phrase carries the death text; the cause is derived, never authored.
942
+ */
943
+ export interface KillStmt {
944
+ kind: 'kill';
945
+ phraseKey: string | null;
946
+ stmtWhen: ConditionNode | null;
947
+ span: Span;
948
+ }
512
949
  /** `select on <value> / when <state> … end select` */
513
950
  export interface SelectOnStmt {
514
951
  kind: 'select-on';
@@ -539,7 +976,19 @@ export interface OrdinalBlock {
539
976
  body: Statement[];
540
977
  span: Span;
541
978
  }
542
- export type ConditionNode = OrNode | AndNode | NotNode | PredicateNode | ChanceNode | NamedConditionRef | AnyOfNode | NoneOfNode;
979
+ export type ConditionNode = OrNode | AndNode | NotNode | PredicateNode | ChanceNode | NamedConditionRef | AnyOfNode | NoneOfNode | ClientHasNode;
980
+ /**
981
+ * `client has <capability>` (ADR-216) — reads the live negotiated client
982
+ * capability at evaluation time so a story can degrade deliberately.
983
+ * Capability words are the platform's boolean flags in Chord spelling
984
+ * (`sound`, `split-pane`, …); `client` is reserved in condition-subject
985
+ * position.
986
+ */
987
+ export interface ClientHasNode {
988
+ kind: 'client-has';
989
+ capability: string;
990
+ span: Span;
991
+ }
543
992
  /**
544
993
  * `any <condition-name>` — existential over a named open condition
545
994
  * (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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"}