@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/ir.d.ts CHANGED
@@ -13,21 +13,47 @@
13
13
  * Contract 1, owner-confirmed 2026-07-10); @sharpee/ide-protocol re-exports
14
14
  * it. Invariant: pure data — JSON.parse(JSON.stringify(ir)) is identity.
15
15
  */
16
- import type { Span } from './span';
16
+ import type { Span } from './span.js';
17
17
  /** Format stamp of this IR schema. Consumers refuse unknown formats. */
18
18
  export declare const IR_FORMAT = "story language 1";
19
19
  /** Root of a compiled story. */
20
20
  export interface StoryIR {
21
21
  format: typeof IR_FORMAT;
22
22
  meta: IRMeta;
23
- /** The story object's declared phases (ownership package D2). */
23
+ /**
24
+ * The story object's declared phases (ownership package D2) and its
25
+ * owned `on every turn` clauses (ADR-236 D7, ratchet R4) — daemons with
26
+ * NO presence gate; `it` is unbound (compile-gated), narration
27
+ * broadcasts.
28
+ */
24
29
  story: {
25
30
  states: string[];
26
31
  reversible: boolean;
32
+ onClauses: IROnClause[];
27
33
  };
34
+ /**
35
+ * `use <extension>` names (ADR-215), validated against the manifest
36
+ * registry — the loader registers each against its trusted runtime
37
+ * registry at load (unknown names there are load errors).
38
+ */
39
+ uses: string[];
28
40
  entities: IREntity[];
29
41
  conditions: IRNamedCondition[];
30
42
  phrases: IRPhrases;
43
+ /**
44
+ * ADR-255 standard-action message overrides, keyed by ACL alias per locale
45
+ * (never a dotted platform id — the loader resolves the alias to `if.action.*`
46
+ * via Interface Contract 3). Each entry is a full IRPhrase body, so cycling /
47
+ * variants ride the same phrasebook resolution seam a platform message uses.
48
+ */
49
+ messageOverrides: IRMessageOverrides;
50
+ /**
51
+ * Phrasebooks in arbitration order — file-appearance order of
52
+ * `use phrasebook` (header) and `define phrasebook`/import-spliced
53
+ * blocks (body). First predicate-match in this order, per key, wins;
54
+ * a `condition: null` book is the default (always) book (ADR-250 D3).
55
+ */
56
+ phrasebooks: IRPhrasebook[];
31
57
  verbs: IRVerbDef[];
32
58
  hatches: IRHatch[];
33
59
  traits: IRTraitDef[];
@@ -35,6 +61,17 @@ export interface StoryIR {
35
61
  /** Owner-attached score identities (D12) — names are owner-qualified (`pygmy-goats.fed`). */
36
62
  scores: IRScoreDef[];
37
63
  sequences: IRSequenceDef[];
64
+ /** `define machine` blocks (ADR-215 `use state-machines` depth). */
65
+ machines: IRMachineDef[];
66
+ /** `define channel` data projections (ADR-216) — pure IR; renderers are platform/extension territory. */
67
+ channels: IRChannelDef[];
68
+ /**
69
+ * `define pronouns` named sets (ADR-242 D7) — declared case forms as
70
+ * DATA. The loader registers each into the language provider through
71
+ * the `extendLanguage` seam; the forms are locale text and render only
72
+ * in lang-{locale}, never here.
73
+ */
74
+ pronounSets: IRPronounSetDef[];
38
75
  /** True when any hatch is declared — the pure-IR profile refuses these (AC-4). */
39
76
  hasHatches: boolean;
40
77
  }
@@ -52,17 +89,40 @@ export interface IREntity {
52
89
  /** Leading article as written (`the`), or null. */
53
90
  article: string | null;
54
91
  aka: string[];
92
+ /**
93
+ * `pronouns <word>` (ADR-242 D5) — a standard set (`he`/`she`/`it`/
94
+ * `they`) or a `define pronouns` set name. Present only when declared:
95
+ * no default is injected (ruled Q-2) — absent means the platform's
96
+ * by-number fallback.
97
+ */
98
+ pronouns?: string;
55
99
  /** True for the story's player entity (`create the player`). */
56
100
  isPlayer: boolean;
57
101
  /** Kind-noun compositions (`a room`), in declaration order. */
58
102
  kinds: IRComposition[];
59
103
  /** Trait-adjective compositions (`scenery`, `dark while …`). */
60
104
  traits: IRComposition[];
105
+ /**
106
+ * `starts <state>` initializers (ADR-231 D5a), in declaration order —
107
+ * accepted state words (`locked`, `open`, `on`, …) whose pairing with a
108
+ * composed trait the analyzer has already enforced. The loader maps each
109
+ * to the paired trait's initial-value field (`isLocked`, `isOpen`,
110
+ * `isOn`); the state adjective itself is never stored story state.
111
+ */
112
+ startsStates: string[];
61
113
  placement: IRPlacement | null;
62
114
  /** Entity IDs this entity wears at start (player wears the cloak). */
63
115
  wears: string[];
64
116
  /** Entity IDs carried at start, not worn (player carries the knife — ADR-230 Phase 6). */
65
117
  carries: string[];
118
+ /**
119
+ * Region membership (`containing <list>`, ADR-236 D2/D3) — resolved member
120
+ * entity IDs in declaration order, additive across lines. Members are
121
+ * rooms (loader: `assignRoom`) or nested regions (member's
122
+ * `parentRegionId` = this region). Non-empty only on region-kind entities
123
+ * (analyzer-gated).
124
+ */
125
+ containing: IRContainedMember[];
66
126
  exits: IRExit[];
67
127
  blockedExits: IRBlockedExit[];
68
128
  /** `<direction> is deadly: <phrase>` lines (ADR-227). */
@@ -89,6 +149,31 @@ export interface IREntity {
89
149
  */
90
150
  initialDescriptionKey: string | null;
91
151
  onClauses: IROnClause[];
152
+ /**
153
+ * The entity's declared ask/tell topic table (`define topics for …`,
154
+ * ADR-239 D3/D4) — rows in declaration order; empty when no block is
155
+ * declared. Runtime matching is normalized whole-topic lookup, never
156
+ * fuzzy; a miss falls to the owner's `on asking it` catch-all (D5).
157
+ */
158
+ topics: IRTopicRow[];
159
+ span: Span;
160
+ }
161
+ /**
162
+ * One resolved topic-table row (ADR-239). Entity tier carries the resolved
163
+ * entity id (matched against the platform's `topicEntityId`); free-text
164
+ * tier carries the primary spelling plus declared aliases (matched against
165
+ * the normalized asked text). The body executes with `it` = the owner.
166
+ */
167
+ export interface IRTopicRow {
168
+ filter: {
169
+ kind: 'entity';
170
+ id: string;
171
+ } | {
172
+ kind: 'text';
173
+ primary: string;
174
+ aliases: string[];
175
+ };
176
+ body: IRStatement[];
92
177
  span: Span;
93
178
  }
94
179
  export interface IRComposition {
@@ -102,8 +187,20 @@ export interface IRConfigSetting {
102
187
  /** Setting key words joined with a space (`max items`). */
103
188
  key: string;
104
189
  value: string;
105
- /** 'name' = multi-word entity-name value (`with food the handful of feed`, Phase B). */
106
- valueKind: 'number' | 'string' | 'word' | 'name';
190
+ /**
191
+ * 'name' = multi-word entity-name value (`with food the handful of
192
+ * feed`, Phase B); 'list' = bracketed name list (`with route [Hall,
193
+ * Study]`, ADR-215) — resolved entity IDs in `values`, `value` empty.
194
+ */
195
+ valueKind: 'number' | 'string' | 'word' | 'name' | 'list';
196
+ /** Resolved entity IDs when valueKind is 'list'. */
197
+ values?: string[];
198
+ }
199
+ /** One resolved `containing` member (ADR-236 D2) — a room or nested region. */
200
+ export interface IRContainedMember {
201
+ /** Entity ID of the member. */
202
+ id: string;
203
+ span: Span;
107
204
  }
108
205
  export interface IRPlacement {
109
206
  relation: 'in' | 'on' | 'starts-in';
@@ -115,6 +212,12 @@ export interface IRExit {
115
212
  direction: string;
116
213
  /** Entity ID of the destination room. */
117
214
  to: string;
215
+ /**
216
+ * Entity ID of the door this exit passes through (`through the <door>`,
217
+ * ADR-234 D1) — null on plain exits. The loader stamps it as `via` on
218
+ * both directions and places the door in the declaring room.
219
+ */
220
+ via: string | null;
118
221
  span: Span;
119
222
  }
120
223
  export interface IRBlockedExit {
@@ -186,6 +289,17 @@ export interface IRPhrases {
186
289
  /** locale → phrase key → phrase. */
187
290
  locales: Record<string, Record<string, IRPhrase>>;
188
291
  }
292
+ /**
293
+ * ADR-255 message overrides. Same shape as {@link IRPhrases} but keyed by ACL
294
+ * alias (`taking-fixed-in-place`), not a story phrase key; the loader resolves
295
+ * each alias to its `if.action.*` id and registers the phrase body on the
296
+ * phrasebook resolution seam so strategy/cycling works for a platform message.
297
+ */
298
+ export interface IRMessageOverrides {
299
+ defaultLocale: string;
300
+ /** locale → override alias → phrase body. */
301
+ locales: Record<string, Record<string, IRPhrase>>;
302
+ }
189
303
  export interface IRPhrase {
190
304
  /** Choice strategy for multi-variant phrases, or null for a single text (Z5 adverbs, ADR-211 Decision 4). */
191
305
  strategy: 'randomly' | 'cycling' | 'stopping' | 'sticky' | 'first-time' | null;
@@ -213,6 +327,23 @@ export interface IRPhraseVariant {
213
327
  */
214
328
  markers: string[];
215
329
  }
330
+ /**
331
+ * One phrasebook (ADR-245/ADR-250 D3): a named, predicated collection of
332
+ * story-key phrase entries. `define`d (and import-spliced) books carry
333
+ * their entries; `use`d books carry none — the loader resolves them from
334
+ * the packaged-book data registry at load (manifest keys ≡ data keys,
335
+ * conformance-checked).
336
+ */
337
+ export interface IRPhrasebook {
338
+ /** Single kebab-case book name. */
339
+ name: string;
340
+ source: 'define' | 'use';
341
+ /** Activity predicate, evaluated at render time; null = always (the default book). */
342
+ condition: IRCondition | null;
343
+ /** Present for 'define'; absent for 'use'. Keys are story keys (never dotted platform IDs). */
344
+ entries?: Record<string, IRPhrase>;
345
+ span: Span;
346
+ }
216
347
  export interface IRNamedCondition {
217
348
  name: string;
218
349
  /**
@@ -239,8 +370,13 @@ export type IRPatternPart = {
239
370
  export interface IRHatch {
240
371
  name: string;
241
372
  modulePath: string;
242
- /** Target interface: dynamic-text producer, Action, or CapabilityBehavior. */
243
- hatchKind: 'text' | 'action' | 'behavior';
373
+ /**
374
+ * Target interface: dynamic-text producer, Action, or event `chain`
375
+ * (ADR-094 — a chain hatch replaces a stdlib chain like `opened-revealed`).
376
+ * (`behavior` was removed by ADR-235 D2 — the hatch had no binding key and
377
+ * could never fire.)
378
+ */
379
+ hatchKind: 'text' | 'action' | 'chain';
244
380
  span: Span;
245
381
  }
246
382
  /** `define trait` — data fields, trait-declared states, behavior clauses. */
@@ -334,6 +470,117 @@ export interface IRSequenceStep {
334
470
  body: IRStatement[];
335
471
  span: Span;
336
472
  }
473
+ /**
474
+ * `define machine` (ADR-215 `use state-machines` depth; spelling A,
475
+ * 2026-07-18). The loader lowers onto the ADR-119 plugin: platform machine
476
+ * id `chord.machine.<slug>`, role bindings as `$<role>` refs, Chord
477
+ * conditions as custom guards, Chord bodies as custom effects.
478
+ */
479
+ export interface IRMachineDef {
480
+ /** Name words joined with a space (`drawbridge works`). */
481
+ name: string;
482
+ /** Role name → resolved entity id (the machine's bindings). */
483
+ roles: Array<{
484
+ name: string;
485
+ entity: string;
486
+ }>;
487
+ initialState: string;
488
+ states: IRMachineState[];
489
+ span: Span;
490
+ }
491
+ export interface IRMachineState {
492
+ name: string;
493
+ terminal: boolean;
494
+ transitions: IRMachineTransition[];
495
+ onEnter: IRStatement[];
496
+ onExit: IRStatement[];
497
+ span: Span;
498
+ }
499
+ export interface IRMachineTransition {
500
+ /** Resolved trigger: action targets are `$<role>` refs or entity ids. */
501
+ trigger: {
502
+ kind: 'action';
503
+ action: string;
504
+ target: string | null;
505
+ } | {
506
+ kind: 'event';
507
+ event: string;
508
+ } | {
509
+ kind: 'condition';
510
+ condition: IRCondition;
511
+ };
512
+ /** Optional `while` guard riding the trigger. */
513
+ condition: IRCondition | null;
514
+ /** Target state name. */
515
+ target: string;
516
+ span: Span;
517
+ }
518
+ /**
519
+ * The construct a channel `return`s (ADR-253 D1). The loader evaluates it
520
+ * against the turn's last matching event to produce the channel's value:
521
+ * - `field` — the raw event field value;
522
+ * - `text` — a text template whose `(slot)` names project event fields
523
+ * (the phrase slot spelling), yielding finished text;
524
+ * - `phrase` — the named phrase's rendered text.
525
+ */
526
+ export type IRChannelReturn = {
527
+ kind: 'field';
528
+ field: string;
529
+ } | {
530
+ kind: 'text';
531
+ text: string;
532
+ } | {
533
+ kind: 'phrase';
534
+ phrase: string;
535
+ };
536
+ /**
537
+ * `define channel` (ADR-216; spelling A, 2026-07-18; ADR-253 replaced
538
+ * `take`/`from event` with `return … from <event>`): a declarative data
539
+ * projection — the loader lowers it to a real IOChannel whose produce
540
+ * evaluates `returns` against the turn's last event of `fromEvent`.
541
+ * `gatedBy` carries the PLATFORM camelCase capability key. The `family`
542
+ * discriminator is ADR-241's additive extension: every data projection
543
+ * reads as `family: 'data'`.
544
+ */
545
+ export interface IRDataChannelDef {
546
+ name: string;
547
+ family: 'data';
548
+ mode: 'replace' | 'append' | 'event';
549
+ gatedBy: string | null;
550
+ fromEvent: string;
551
+ returns: IRChannelReturn;
552
+ span: Span;
553
+ }
554
+ /**
555
+ * A named family channel (ADR-241 D2): `define ambient <word>` /
556
+ * `define layer <word>`, or the implied `main` bed when used. `name` is
557
+ * the author's word (`wind`); the registered id (`ambient:wind`,
558
+ * `image:wind`) and the channel's mode/gate/produce are the loader's
559
+ * business via stdlib's family builders — never carried here.
560
+ */
561
+ export interface IRFamilyChannelDef {
562
+ name: string;
563
+ family: 'ambient' | 'layer';
564
+ span: Span;
565
+ }
566
+ /** Any story-declared dynamic channel (ADR-163 §7 / ADR-241 D1). */
567
+ export type IRChannelDef = IRDataChannelDef | IRFamilyChannelDef;
568
+ /**
569
+ * One `define pronouns <name>` set (ADR-242 D7) — the five case forms the
570
+ * lang-{locale} assembler's pronoun table keys. Forms are carried as data;
571
+ * they become rendered text only inside the language provider's registry.
572
+ */
573
+ export interface IRPronounSetDef {
574
+ name: string;
575
+ forms: {
576
+ subject: string;
577
+ object: string;
578
+ possessive: string;
579
+ possessivePronoun: string;
580
+ reflexive: string;
581
+ };
582
+ span: Span;
583
+ }
337
584
  export type IRStatement = {
338
585
  kind: 'refuse';
339
586
  phraseKey: string;
@@ -345,9 +592,12 @@ export type IRStatement = {
345
592
  params: IRParam[];
346
593
  stmtWhen?: IRCondition | null;
347
594
  span: Span;
348
- } | {
595
+ }
596
+ /** Payload present only when authored (`with …`, ADR-216) — additive field. */
597
+ | {
349
598
  kind: 'emit';
350
599
  event: string;
600
+ payload?: IREmitField[];
351
601
  stmtWhen?: IRCondition | null;
352
602
  span: Span;
353
603
  } | {
@@ -447,6 +697,30 @@ export interface IRParam {
447
697
  value: IRValue;
448
698
  span: Span;
449
699
  }
700
+ /** One resolved emit-payload field (ADR-216): key words joined with a space, passed VERBATIM to the event data. */
701
+ export interface IREmitField {
702
+ key: string;
703
+ value: IREmitValue;
704
+ }
705
+ /**
706
+ * One resolved emit-payload value (ADR-216): a literal, a resolved value
707
+ * expression (evaluated live at emit time — `true`/`false` symbols become
708
+ * booleans), an array, or a nested object.
709
+ */
710
+ export type IREmitValue = {
711
+ kind: 'literal';
712
+ value: string;
713
+ valueType: 'number' | 'string';
714
+ } | {
715
+ kind: 'value';
716
+ value: IRValue;
717
+ } | {
718
+ kind: 'array';
719
+ items: IREmitValue[];
720
+ } | {
721
+ kind: 'object';
722
+ fields: IREmitField[];
723
+ };
450
724
  export type IRValue = {
451
725
  kind: 'literal';
452
726
  value: string;
@@ -526,6 +800,15 @@ export type IRCondition = {
526
800
  kind: 'satisfies';
527
801
  subject: IRValue;
528
802
  condition: string;
803
+ }
804
+ /**
805
+ * `client has <capability>` (ADR-216): the live negotiated client
806
+ * capability flag, by its PLATFORM camelCase key. Text-only when no
807
+ * client negotiated.
808
+ */
809
+ | {
810
+ kind: 'client-has';
811
+ capability: string;
529
812
  } | {
530
813
  kind: 'predicate';
531
814
  /** 'can-see'/'can-reach' land with Phase B (design.md §2.7). */
package/ir.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/ir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/ir.ts"],"names":[],"mappings":"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"}
package/lexer.d.ts CHANGED
@@ -12,14 +12,16 @@
12
12
  *
13
13
  * Invariants:
14
14
  * - Every non-blank source line yields exactly one Line, in source order.
15
+ * Comment lines (ADR-249) are flagged, never dropped — the parser is
16
+ * the enforcement point for where a comment may legally appear.
15
17
  * - `Line.raw` is the untrimmed source text — prose reconstruction never
16
18
  * loses characters the tokenizer didn't understand.
17
19
  * - Indentation is spaces only; a tab in leading whitespace is an error
18
20
  * (reported once per line) and is measured as one column.
19
21
  */
20
- import { DiagnosticBag } from './diagnostics';
21
- import { Span } from './span';
22
- export type TokenKind = 'word' | 'number' | 'string' | 'colon' | 'comma' | 'lparen' | 'rparen' | 'punct';
22
+ import { DiagnosticBag } from './diagnostics.js';
23
+ import { Span } from './span.js';
24
+ export type TokenKind = 'word' | 'number' | 'string' | 'colon' | 'comma' | 'lparen' | 'rparen' | 'lbracket' | 'rbracket' | 'lbrace' | 'rbrace' | 'punct';
23
25
  export interface Token {
24
26
  kind: TokenKind;
25
27
  /** Exact source text (for strings, WITHOUT the surrounding quotes). */
@@ -38,6 +40,12 @@ export interface Line {
38
40
  tokens: Token[];
39
41
  /** True when a blank line (or start of file) immediately precedes this line. */
40
42
  afterBlank: boolean;
43
+ /**
44
+ * True for an indent-0 `##` comment line (ADR-249). Comment lines are
45
+ * flagged, never dropped: the parser skips them at top-level dispatch
46
+ * only and diagnoses them everywhere else.
47
+ */
48
+ comment: boolean;
41
49
  }
42
50
  /**
43
51
  * Tokenize source into logical lines.
package/lexer.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAU,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,4CAA4C;AAC5C,MAAM,WAAW,IAAI;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAKD;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,EAAE,CAsCtE"}
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/lexer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAU,MAAM,WAAW,CAAC;AAEzC,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,4CAA4C;AAC5C,MAAM,WAAW,IAAI;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAKD;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI,EAAE,CAwCtE"}
package/lexer.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.lex = lex;
4
- const span_1 = require("./span");
4
+ const span_js_1 = require("./span.js");
5
5
  const WORD_RE = /^[A-Za-zÀ-ɏ][A-Za-z0-9À-ɏ'_-]*/;
6
6
  const NUMBER_RE = /^[0-9]+(?:\.[0-9]+)*/;
7
7
  /**
@@ -25,7 +25,7 @@ function lex(source, diagnostics) {
25
25
  let col = 0;
26
26
  while (col < raw.length && (raw[col] === ' ' || raw[col] === '\t')) {
27
27
  if (raw[col] === '\t') {
28
- diagnostics.error('lex.tab-indent', 'Tabs are not allowed in indentation — use spaces.', (0, span_1.spanOf)(lineNo, col + 1));
28
+ diagnostics.error('lex.tab-indent', 'Tabs are not allowed in indentation — use spaces.', (0, span_js_1.spanOf)(lineNo, col + 1));
29
29
  }
30
30
  indent++;
31
31
  col++;
@@ -36,11 +36,39 @@ function lex(source, diagnostics) {
36
36
  raw,
37
37
  tokens: tokenizeLine(raw, lineNo, col, diagnostics),
38
38
  afterBlank,
39
+ comment: indent === 0 && raw.startsWith('##'),
39
40
  });
40
41
  afterBlank = false;
41
42
  }
43
+ checkCommentDelimitation(lines, diagnostics);
42
44
  return lines;
43
45
  }
46
+ /**
47
+ * ADR-249 hard rule: a comment run (maximal consecutive indent-0 `##`
48
+ * lines) must be preceded AND followed by blank lines. Start and end of
49
+ * file count as blank — `##` as the very first line is the file-header
50
+ * comment. One diagnostic per violating run.
51
+ */
52
+ function checkCommentDelimitation(lines, diagnostics) {
53
+ let i = 0;
54
+ while (i < lines.length) {
55
+ if (!lines[i].comment) {
56
+ i++;
57
+ continue;
58
+ }
59
+ const start = i;
60
+ while (i + 1 < lines.length && lines[i + 1].comment && !lines[i + 1].afterBlank)
61
+ i++;
62
+ const blankBefore = lines[start].afterBlank; // start of file counts as blank
63
+ const next = lines[i + 1];
64
+ const blankAfter = !next || next.afterBlank; // end of file counts as blank
65
+ if (!blankBefore || !blankAfter) {
66
+ const at = blankBefore ? lines[i] : lines[start];
67
+ diagnostics.error('lex.comment-blank-lines', 'A `##` comment must have a blank line before and after it.', (0, span_js_1.spanOf)(at.lineNo, 1, at.raw.length));
68
+ }
69
+ i++;
70
+ }
71
+ }
44
72
  function tokenizeLine(raw, lineNo, start, diagnostics) {
45
73
  const tokens = [];
46
74
  let pos = start;
@@ -57,11 +85,11 @@ function tokenizeLine(raw, lineNo, start, diagnostics) {
57
85
  // A lone quote is prose punctuation (multi-line dialogue in prose
58
86
  // blocks, e.g. design.md §3.3 PA announcements). Positions that
59
87
  // REQUIRE a string (header, hatch paths) diagnose at parse time.
60
- tokens.push({ kind: 'punct', text: ch, span: (0, span_1.spanOf)(lineNo, column) });
88
+ tokens.push({ kind: 'punct', text: ch, span: (0, span_js_1.spanOf)(lineNo, column) });
61
89
  pos++;
62
90
  }
63
91
  else {
64
- tokens.push({ kind: 'string', text: raw.slice(pos + 1, close), span: (0, span_1.spanOf)(lineNo, column, close - pos + 1) });
92
+ tokens.push({ kind: 'string', text: raw.slice(pos + 1, close), span: (0, span_js_1.spanOf)(lineNo, column, close - pos + 1) });
65
93
  pos = close + 1;
66
94
  }
67
95
  continue;
@@ -69,18 +97,18 @@ function tokenizeLine(raw, lineNo, start, diagnostics) {
69
97
  const rest = raw.slice(pos);
70
98
  const word = WORD_RE.exec(rest);
71
99
  if (word) {
72
- tokens.push({ kind: 'word', text: word[0], span: (0, span_1.spanOf)(lineNo, column, word[0].length) });
100
+ tokens.push({ kind: 'word', text: word[0], span: (0, span_js_1.spanOf)(lineNo, column, word[0].length) });
73
101
  pos += word[0].length;
74
102
  continue;
75
103
  }
76
104
  const num = NUMBER_RE.exec(rest);
77
105
  if (num) {
78
- tokens.push({ kind: 'number', text: num[0], span: (0, span_1.spanOf)(lineNo, column, num[0].length) });
106
+ tokens.push({ kind: 'number', text: num[0], span: (0, span_js_1.spanOf)(lineNo, column, num[0].length) });
79
107
  pos += num[0].length;
80
108
  continue;
81
109
  }
82
- const single = { ':': 'colon', ',': 'comma', '(': 'lparen', ')': 'rparen' };
83
- tokens.push({ kind: single[ch] ?? 'punct', text: ch, span: (0, span_1.spanOf)(lineNo, column) });
110
+ const single = { ':': 'colon', ',': 'comma', '(': 'lparen', ')': 'rparen', '[': 'lbracket', ']': 'rbracket', '{': 'lbrace', '}': 'rbrace' };
111
+ tokens.push({ kind: single[ch] ?? 'punct', text: ch, span: (0, span_js_1.spanOf)(lineNo, column) });
84
112
  pos++;
85
113
  }
86
114
  return tokens;
package/lexer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/lexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * combat.ts — the `use combat` vocabulary manifest (ADR-215).
3
+ *
4
+ * Purpose: the NAMES half of the names-vs-mappings split — the words and
5
+ * typed `with`-fields the `combat` extension contributes to the composable
6
+ * catalog when a story declares `use combat`. Pure data, zero platform
7
+ * imports (the analyzer consumes it; the browser-safe boundary holds).
8
+ * The adjective→trait field routing (the mappings half) lives in
9
+ * @sharpee/story-loader; a conformance test there pins the two together.
10
+ *
11
+ * Public interface: COMBAT_MANIFEST.
12
+ * Owner context: @sharpee/chord (language frontend; browser-safe).
13
+ */
14
+ import type { ExtensionManifest } from './types.js';
15
+ export declare const COMBAT_MANIFEST: ExtensionManifest;
16
+ //# sourceMappingURL=combat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combat.d.ts","sourceRoot":"","sources":["../../../../repos/sharpee_v2/packages/chord/src/manifests/combat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,eAAe,EAAE,iBAiC7B,CAAC"}