@sharpee/chord 3.1.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 (56) hide show
  1. package/analyzer.d.ts +11 -3
  2. package/analyzer.d.ts.map +1 -1
  3. package/analyzer.js +1202 -33
  4. package/analyzer.js.map +1 -1
  5. package/ast.d.ts +415 -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 +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 +290 -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 +1507 -174
  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
  56. 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,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,33 @@ 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[];
89
266
  /** `carries <thing>` lines — start inventory, not worn (ADR-230 Phase 6). */
90
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[];
91
274
  exits: ExitDecl[];
92
275
  blockedExits: BlockedExitDecl[];
93
276
  /** `<direction> is deadly: <phrase>` lines (ADR-227). */
@@ -112,6 +295,18 @@ export interface CreateDecl {
112
295
  onClauses: OnClause[];
113
296
  span: Span;
114
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
+ }
115
310
  /** One composition term: `a room`, `scenery`, `a supporter with capacity 1`, `dark while <cond>`. */
116
311
  export interface CompositionItem {
117
312
  kind: 'composition';
@@ -127,12 +322,16 @@ export interface CompositionItem {
127
322
  /**
128
323
  * One `with` setting. Values are a trailing number/string/word, or — when an
129
324
  * article introduces the tail (`with food the handful of feed`, Phase B) — a
130
- * 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`).
131
328
  */
132
329
  export interface ConfigSetting {
133
330
  key: string[];
134
331
  value: string;
135
- 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[];
136
335
  span: Span;
137
336
  }
138
337
  export interface Placement {
@@ -146,6 +345,12 @@ export interface ExitDecl {
146
345
  kind: 'exit';
147
346
  direction: string;
148
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;
149
354
  span: Span;
150
355
  }
151
356
  export interface BlockedExitDecl {
@@ -269,6 +474,33 @@ export interface DefinePhrases {
269
474
  entries: PhraseEntry[];
270
475
  span: Span;
271
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
+ }
272
504
  export interface PhraseEntry {
273
505
  key: string;
274
506
  value: TextValue;
@@ -290,6 +522,55 @@ export type PatternPart = {
290
522
  word: string;
291
523
  span: Span;
292
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
+ }
293
574
  /** `define text <name> from "<module>"` — TS escape hatch declaration. */
294
575
  export interface DefineText {
295
576
  kind: 'define-text';
@@ -392,14 +673,91 @@ export interface ActionRefusal {
392
673
  phraseKey: string;
393
674
  span: Span;
394
675
  }
395
- /** `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
+ */
396
687
  export interface DefineHatch {
397
688
  kind: 'define-hatch';
398
- hatchKind: 'action' | 'behavior';
689
+ hatchKind: 'action' | 'chain';
399
690
  name: string;
400
691
  modulePath: string;
401
692
  span: Span;
402
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
+ }
403
761
  /** `define sequence <name> … end sequence` — timeline of chained steps. */
404
762
  export interface DefineSequence {
405
763
  kind: 'define-sequence';
@@ -424,7 +782,7 @@ export interface SequenceStep {
424
782
  body: Statement[];
425
783
  span: Span;
426
784
  }
427
- export type Statement = RefuseStmt | RefuseWhenStmt | PhraseStmt | EmitStmt | SetStmt | ChangeStmt | MoveStmt | RemoveStmt | AwardStmt | WinStmt | LoseStmt | KillStmt | 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;
428
786
  /**
429
787
  * `each <condition-name> … end each` — body-position iteration block
430
788
  * (ratchet E3, 2026-07-12). Hosts: `on`/`after` clause bodies, action
@@ -477,13 +835,49 @@ export interface ParamBinding {
477
835
  value: ValueExpr;
478
836
  span: Span;
479
837
  }
480
- /** `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
+ */
481
844
  export interface EmitStmt {
482
845
  kind: 'emit';
483
846
  event: string[];
847
+ /** `with` payload fields, empty when none (ADR-216). */
848
+ payload: EmitField[];
484
849
  stmtWhen: ConditionNode | null;
485
850
  span: Span;
486
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
+ };
487
881
  /** `set <field-path> to <value>` */
488
882
  export interface SetStmt {
489
883
  kind: 'set';
@@ -582,7 +976,19 @@ export interface OrdinalBlock {
582
976
  body: Statement[];
583
977
  span: Span;
584
978
  }
585
- 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
+ }
586
992
  /**
587
993
  * `any <condition-name>` — existential over a named open condition
588
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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"}