@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.
- package/analyzer.d.ts +11 -3
- package/analyzer.d.ts.map +1 -1
- package/analyzer.js +1360 -33
- package/analyzer.js.map +1 -1
- package/ast.d.ts +480 -9
- package/ast.d.ts.map +1 -1
- package/catalog.d.ts +57 -1
- package/catalog.d.ts.map +1 -1
- package/catalog.js +91 -3
- package/catalog.js.map +1 -1
- package/diagnostics.d.ts +1 -1
- package/diagnostics.d.ts.map +1 -1
- package/index.d.ts +32 -13
- package/index.d.ts.map +1 -1
- package/index.js +112 -30
- package/index.js.map +1 -1
- package/ir.d.ts +361 -7
- package/ir.d.ts.map +1 -1
- package/lexer.d.ts +11 -3
- package/lexer.d.ts.map +1 -1
- package/lexer.js +36 -8
- package/lexer.js.map +1 -1
- package/manifests/combat.d.ts +16 -0
- package/manifests/combat.d.ts.map +1 -0
- package/manifests/combat.js +38 -0
- package/manifests/combat.js.map +1 -0
- package/manifests/hunger.d.ts +18 -0
- package/manifests/hunger.d.ts.map +1 -0
- package/manifests/hunger.js +8 -0
- package/manifests/hunger.js.map +1 -0
- package/manifests/index.d.ts +23 -0
- package/manifests/index.d.ts.map +1 -0
- package/manifests/index.js +52 -0
- package/manifests/index.js.map +1 -0
- package/manifests/npc.d.ts +19 -0
- package/manifests/npc.d.ts.map +1 -0
- package/manifests/npc.js +38 -0
- package/manifests/npc.js.map +1 -0
- package/manifests/scoring.d.ts +25 -0
- package/manifests/scoring.d.ts.map +1 -0
- package/manifests/scoring.js +8 -0
- package/manifests/scoring.js.map +1 -0
- package/manifests/state-machines.d.ts +17 -0
- package/manifests/state-machines.d.ts.map +1 -0
- package/manifests/state-machines.js +8 -0
- package/manifests/state-machines.js.map +1 -0
- package/manifests/types.d.ts +41 -0
- package/manifests/types.d.ts.map +1 -0
- package/manifests/types.js +18 -0
- package/manifests/types.js.map +1 -0
- package/message-alias-catalog.d.ts +22 -0
- package/message-alias-catalog.d.ts.map +1 -0
- package/message-alias-catalog.js +826 -0
- package/message-alias-catalog.js.map +1 -0
- package/package.json +1 -1
- package/parser.d.ts +2 -2
- package/parser.d.ts.map +1 -1
- package/parser.js +1644 -131
- package/parser.js.map +1 -1
- package/phrasebooks.d.ts +28 -0
- package/phrasebooks.d.ts.map +1 -0
- package/phrasebooks.js +6 -0
- package/phrasebooks.js.map +1 -0
- package/version.d.ts +38 -0
- package/version.d.ts.map +1 -0
- package/version.js +41 -0
- package/version.js.map +1 -0
- package/sharpee-chord-3.0.0.tgz +0 -0
package/ir.d.ts
CHANGED
|
@@ -13,28 +13,90 @@
|
|
|
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
|
+
/**
|
|
23
|
+
* The Chord LANGUAGE version that compiled this story (ADR-257 D3, semver
|
|
24
|
+
* from `CHORD_LANGUAGE_VERSION`) — a top-level, additive marker beside
|
|
25
|
+
* `format`. Informational only: `format` is the loader's hard wire gate;
|
|
26
|
+
* consumers may read `languageVersion` for tooling/diagnostics but the loader
|
|
27
|
+
* never warns or refuses on it.
|
|
28
|
+
*/
|
|
29
|
+
languageVersion: string;
|
|
22
30
|
meta: IRMeta;
|
|
23
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* The story object's declared phases (ownership package D2) and its
|
|
33
|
+
* owned `on every turn` clauses (ADR-236 D7, ratchet R4) — daemons with
|
|
34
|
+
* NO presence gate; `it` is unbound (compile-gated), narration
|
|
35
|
+
* broadcasts.
|
|
36
|
+
*/
|
|
24
37
|
story: {
|
|
25
38
|
states: string[];
|
|
26
39
|
reversible: boolean;
|
|
40
|
+
onClauses: IROnClause[];
|
|
27
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* `use <extension>` names (ADR-215), validated against the manifest
|
|
44
|
+
* registry — the loader registers each against its trusted runtime
|
|
45
|
+
* registry at load (unknown names there are load errors).
|
|
46
|
+
*/
|
|
47
|
+
uses: string[];
|
|
48
|
+
/**
|
|
49
|
+
* `use <extension>, announce <mode>` (ADR-262 D3), keyed by extension name.
|
|
50
|
+
* How a metering extension's band crossings narrate — `all` / `collapsed` /
|
|
51
|
+
* `combined` / `silent`. Absent key = the extension's default (`all`). The
|
|
52
|
+
* loader passes the value to the ADR-262 narrator; a non-metering extension's
|
|
53
|
+
* entry is simply never read.
|
|
54
|
+
*/
|
|
55
|
+
announceModes: Record<string, string>;
|
|
28
56
|
entities: IREntity[];
|
|
29
57
|
conditions: IRNamedCondition[];
|
|
30
58
|
phrases: IRPhrases;
|
|
59
|
+
/**
|
|
60
|
+
* ADR-255 standard-action message overrides, keyed by ACL alias per locale
|
|
61
|
+
* (never a dotted platform id — the loader resolves the alias to `if.action.*`
|
|
62
|
+
* via Interface Contract 3). Each entry is a full IRPhrase body, so cycling /
|
|
63
|
+
* variants ride the same phrasebook resolution seam a platform message uses.
|
|
64
|
+
*/
|
|
65
|
+
messageOverrides: IRMessageOverrides;
|
|
66
|
+
/**
|
|
67
|
+
* Phrasebooks in arbitration order — file-appearance order of
|
|
68
|
+
* `use phrasebook` (header) and `define phrasebook`/import-spliced
|
|
69
|
+
* blocks (body). First predicate-match in this order, per key, wins;
|
|
70
|
+
* a `condition: null` book is the default (always) book (ADR-250 D3).
|
|
71
|
+
*/
|
|
72
|
+
phrasebooks: IRPhrasebook[];
|
|
31
73
|
verbs: IRVerbDef[];
|
|
32
74
|
hatches: IRHatch[];
|
|
33
75
|
traits: IRTraitDef[];
|
|
34
76
|
actions: IRActionDef[];
|
|
35
77
|
/** Owner-attached score identities (D12) — names are owner-qualified (`pygmy-goats.fed`). */
|
|
36
78
|
scores: IRScoreDef[];
|
|
79
|
+
/**
|
|
80
|
+
* The `use scoring` rank ladder (ADR-261 D2/D5), sorted ascending by
|
|
81
|
+
* threshold. The loader lowers this through `world.setRanks(...)` beside
|
|
82
|
+
* the `setMaxScore` it already computes — generically, with no knowledge
|
|
83
|
+
* that `scoring` is the extension consuming it.
|
|
84
|
+
*/
|
|
85
|
+
ranks: IRRankDef[];
|
|
86
|
+
/** The `use hunger` satiety meter (ADR-263 D1), or absent. */
|
|
87
|
+
hunger?: IRHungerDef;
|
|
37
88
|
sequences: IRSequenceDef[];
|
|
89
|
+
/** `define machine` blocks (ADR-215 `use state-machines` depth). */
|
|
90
|
+
machines: IRMachineDef[];
|
|
91
|
+
/** `define channel` data projections (ADR-216) — pure IR; renderers are platform/extension territory. */
|
|
92
|
+
channels: IRChannelDef[];
|
|
93
|
+
/**
|
|
94
|
+
* `define pronouns` named sets (ADR-242 D7) — declared case forms as
|
|
95
|
+
* DATA. The loader registers each into the language provider through
|
|
96
|
+
* the `extendLanguage` seam; the forms are locale text and render only
|
|
97
|
+
* in lang-{locale}, never here.
|
|
98
|
+
*/
|
|
99
|
+
pronounSets: IRPronounSetDef[];
|
|
38
100
|
/** True when any hatch is declared — the pure-IR profile refuses these (AC-4). */
|
|
39
101
|
hasHatches: boolean;
|
|
40
102
|
}
|
|
@@ -52,17 +114,40 @@ export interface IREntity {
|
|
|
52
114
|
/** Leading article as written (`the`), or null. */
|
|
53
115
|
article: string | null;
|
|
54
116
|
aka: string[];
|
|
117
|
+
/**
|
|
118
|
+
* `pronouns <word>` (ADR-242 D5) — a standard set (`he`/`she`/`it`/
|
|
119
|
+
* `they`) or a `define pronouns` set name. Present only when declared:
|
|
120
|
+
* no default is injected (ruled Q-2) — absent means the platform's
|
|
121
|
+
* by-number fallback.
|
|
122
|
+
*/
|
|
123
|
+
pronouns?: string;
|
|
55
124
|
/** True for the story's player entity (`create the player`). */
|
|
56
125
|
isPlayer: boolean;
|
|
57
126
|
/** Kind-noun compositions (`a room`), in declaration order. */
|
|
58
127
|
kinds: IRComposition[];
|
|
59
128
|
/** Trait-adjective compositions (`scenery`, `dark while …`). */
|
|
60
129
|
traits: IRComposition[];
|
|
130
|
+
/**
|
|
131
|
+
* `starts <state>` initializers (ADR-231 D5a), in declaration order —
|
|
132
|
+
* accepted state words (`locked`, `open`, `on`, …) whose pairing with a
|
|
133
|
+
* composed trait the analyzer has already enforced. The loader maps each
|
|
134
|
+
* to the paired trait's initial-value field (`isLocked`, `isOpen`,
|
|
135
|
+
* `isOn`); the state adjective itself is never stored story state.
|
|
136
|
+
*/
|
|
137
|
+
startsStates: string[];
|
|
61
138
|
placement: IRPlacement | null;
|
|
62
139
|
/** Entity IDs this entity wears at start (player wears the cloak). */
|
|
63
140
|
wears: string[];
|
|
64
141
|
/** Entity IDs carried at start, not worn (player carries the knife — ADR-230 Phase 6). */
|
|
65
142
|
carries: string[];
|
|
143
|
+
/**
|
|
144
|
+
* Region membership (`containing <list>`, ADR-236 D2/D3) — resolved member
|
|
145
|
+
* entity IDs in declaration order, additive across lines. Members are
|
|
146
|
+
* rooms (loader: `assignRoom`) or nested regions (member's
|
|
147
|
+
* `parentRegionId` = this region). Non-empty only on region-kind entities
|
|
148
|
+
* (analyzer-gated).
|
|
149
|
+
*/
|
|
150
|
+
containing: IRContainedMember[];
|
|
66
151
|
exits: IRExit[];
|
|
67
152
|
blockedExits: IRBlockedExit[];
|
|
68
153
|
/** `<direction> is deadly: <phrase>` lines (ADR-227). */
|
|
@@ -89,6 +174,31 @@ export interface IREntity {
|
|
|
89
174
|
*/
|
|
90
175
|
initialDescriptionKey: string | null;
|
|
91
176
|
onClauses: IROnClause[];
|
|
177
|
+
/**
|
|
178
|
+
* The entity's declared ask/tell topic table (`define topics for …`,
|
|
179
|
+
* ADR-239 D3/D4) — rows in declaration order; empty when no block is
|
|
180
|
+
* declared. Runtime matching is normalized whole-topic lookup, never
|
|
181
|
+
* fuzzy; a miss falls to the owner's `on asking it` catch-all (D5).
|
|
182
|
+
*/
|
|
183
|
+
topics: IRTopicRow[];
|
|
184
|
+
span: Span;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* One resolved topic-table row (ADR-239). Entity tier carries the resolved
|
|
188
|
+
* entity id (matched against the platform's `topicEntityId`); free-text
|
|
189
|
+
* tier carries the primary spelling plus declared aliases (matched against
|
|
190
|
+
* the normalized asked text). The body executes with `it` = the owner.
|
|
191
|
+
*/
|
|
192
|
+
export interface IRTopicRow {
|
|
193
|
+
filter: {
|
|
194
|
+
kind: 'entity';
|
|
195
|
+
id: string;
|
|
196
|
+
} | {
|
|
197
|
+
kind: 'text';
|
|
198
|
+
primary: string;
|
|
199
|
+
aliases: string[];
|
|
200
|
+
};
|
|
201
|
+
body: IRStatement[];
|
|
92
202
|
span: Span;
|
|
93
203
|
}
|
|
94
204
|
export interface IRComposition {
|
|
@@ -102,8 +212,20 @@ export interface IRConfigSetting {
|
|
|
102
212
|
/** Setting key words joined with a space (`max items`). */
|
|
103
213
|
key: string;
|
|
104
214
|
value: string;
|
|
105
|
-
/**
|
|
106
|
-
|
|
215
|
+
/**
|
|
216
|
+
* 'name' = multi-word entity-name value (`with food the handful of
|
|
217
|
+
* feed`, Phase B); 'list' = bracketed name list (`with route [Hall,
|
|
218
|
+
* Study]`, ADR-215) — resolved entity IDs in `values`, `value` empty.
|
|
219
|
+
*/
|
|
220
|
+
valueKind: 'number' | 'string' | 'word' | 'name' | 'list';
|
|
221
|
+
/** Resolved entity IDs when valueKind is 'list'. */
|
|
222
|
+
values?: string[];
|
|
223
|
+
}
|
|
224
|
+
/** One resolved `containing` member (ADR-236 D2) — a room or nested region. */
|
|
225
|
+
export interface IRContainedMember {
|
|
226
|
+
/** Entity ID of the member. */
|
|
227
|
+
id: string;
|
|
228
|
+
span: Span;
|
|
107
229
|
}
|
|
108
230
|
export interface IRPlacement {
|
|
109
231
|
relation: 'in' | 'on' | 'starts-in';
|
|
@@ -115,6 +237,12 @@ export interface IRExit {
|
|
|
115
237
|
direction: string;
|
|
116
238
|
/** Entity ID of the destination room. */
|
|
117
239
|
to: string;
|
|
240
|
+
/**
|
|
241
|
+
* Entity ID of the door this exit passes through (`through the <door>`,
|
|
242
|
+
* ADR-234 D1) — null on plain exits. The loader stamps it as `via` on
|
|
243
|
+
* both directions and places the door in the declaring room.
|
|
244
|
+
*/
|
|
245
|
+
via: string | null;
|
|
118
246
|
span: Span;
|
|
119
247
|
}
|
|
120
248
|
export interface IRBlockedExit {
|
|
@@ -186,6 +314,17 @@ export interface IRPhrases {
|
|
|
186
314
|
/** locale → phrase key → phrase. */
|
|
187
315
|
locales: Record<string, Record<string, IRPhrase>>;
|
|
188
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* ADR-255 message overrides. Same shape as {@link IRPhrases} but keyed by ACL
|
|
319
|
+
* alias (`taking-fixed-in-place`), not a story phrase key; the loader resolves
|
|
320
|
+
* each alias to its `if.action.*` id and registers the phrase body on the
|
|
321
|
+
* phrasebook resolution seam so strategy/cycling works for a platform message.
|
|
322
|
+
*/
|
|
323
|
+
export interface IRMessageOverrides {
|
|
324
|
+
defaultLocale: string;
|
|
325
|
+
/** locale → override alias → phrase body. */
|
|
326
|
+
locales: Record<string, Record<string, IRPhrase>>;
|
|
327
|
+
}
|
|
189
328
|
export interface IRPhrase {
|
|
190
329
|
/** Choice strategy for multi-variant phrases, or null for a single text (Z5 adverbs, ADR-211 Decision 4). */
|
|
191
330
|
strategy: 'randomly' | 'cycling' | 'stopping' | 'sticky' | 'first-time' | null;
|
|
@@ -213,6 +352,23 @@ export interface IRPhraseVariant {
|
|
|
213
352
|
*/
|
|
214
353
|
markers: string[];
|
|
215
354
|
}
|
|
355
|
+
/**
|
|
356
|
+
* One phrasebook (ADR-245/ADR-250 D3): a named, predicated collection of
|
|
357
|
+
* story-key phrase entries. `define`d (and import-spliced) books carry
|
|
358
|
+
* their entries; `use`d books carry none — the loader resolves them from
|
|
359
|
+
* the packaged-book data registry at load (manifest keys ≡ data keys,
|
|
360
|
+
* conformance-checked).
|
|
361
|
+
*/
|
|
362
|
+
export interface IRPhrasebook {
|
|
363
|
+
/** Single kebab-case book name. */
|
|
364
|
+
name: string;
|
|
365
|
+
source: 'define' | 'use';
|
|
366
|
+
/** Activity predicate, evaluated at render time; null = always (the default book). */
|
|
367
|
+
condition: IRCondition | null;
|
|
368
|
+
/** Present for 'define'; absent for 'use'. Keys are story keys (never dotted platform IDs). */
|
|
369
|
+
entries?: Record<string, IRPhrase>;
|
|
370
|
+
span: Span;
|
|
371
|
+
}
|
|
216
372
|
export interface IRNamedCondition {
|
|
217
373
|
name: string;
|
|
218
374
|
/**
|
|
@@ -239,8 +395,13 @@ export type IRPatternPart = {
|
|
|
239
395
|
export interface IRHatch {
|
|
240
396
|
name: string;
|
|
241
397
|
modulePath: string;
|
|
242
|
-
/**
|
|
243
|
-
|
|
398
|
+
/**
|
|
399
|
+
* Target interface: dynamic-text producer, Action, or event `chain`
|
|
400
|
+
* (ADR-094 — a chain hatch replaces a stdlib chain like `opened-revealed`).
|
|
401
|
+
* (`behavior` was removed by ADR-235 D2 — the hatch had no binding key and
|
|
402
|
+
* could never fire.)
|
|
403
|
+
*/
|
|
404
|
+
hatchKind: 'text' | 'action' | 'chain';
|
|
244
405
|
span: Span;
|
|
245
406
|
}
|
|
246
407
|
/** `define trait` — data fields, trait-declared states, behavior clauses. */
|
|
@@ -309,6 +470,52 @@ export interface IRScoreDef {
|
|
|
309
470
|
worth: number;
|
|
310
471
|
span: Span;
|
|
311
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* One rung of the `use scoring` ladder (ADR-261 D2/D5/D7).
|
|
475
|
+
*
|
|
476
|
+
* `id` is the rank name kebab-cased (ADR-254), which makes a rank addressable
|
|
477
|
+
* in diagnostics and in `if.event.band_crossed`'s payload without the author
|
|
478
|
+
* declaring one. Because ranks are configuration rather than saved state
|
|
479
|
+
* (ADR-260 D2), a rank id never reaches a save file — so renaming a rank
|
|
480
|
+
* between releases cannot invalidate one.
|
|
481
|
+
*
|
|
482
|
+
* `phraseKey` lives here and deliberately **not** on the platform's
|
|
483
|
+
* `RankDefinition` (ADR-261 D7): a phrase key is a Chord concept, and a
|
|
484
|
+
* TypeScript story has nothing to put there. The loader keeps the mapping and
|
|
485
|
+
* registers a story-side reaction; the platform never learns the key exists.
|
|
486
|
+
*/
|
|
487
|
+
export interface IRRankDef {
|
|
488
|
+
id: string;
|
|
489
|
+
name: string;
|
|
490
|
+
/** Absolute points, never a percentage of max (ADR-260 D2's invariant). */
|
|
491
|
+
threshold: number;
|
|
492
|
+
/** `says <key>` — a key in the story's own phrase namespace, or absent. */
|
|
493
|
+
phraseKey?: string;
|
|
494
|
+
span: Span;
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* The `use hunger` satiety meter (ADR-263 D1), lowered from the header body.
|
|
498
|
+
* The loader installs `rungs` on the ADR-262 crossing engine, `grows` as an
|
|
499
|
+
* `on every turn` daemon, and `fatal` as a `kill the player` trigger.
|
|
500
|
+
*/
|
|
501
|
+
export interface IRHungerDef {
|
|
502
|
+
/** `grows N each turn` — per-turn severity gain. Absent = no decay. */
|
|
503
|
+
grows?: number;
|
|
504
|
+
/** `fatal at N` — a raw-value death trigger above the top band. */
|
|
505
|
+
fatal?: number;
|
|
506
|
+
/** Announce bands, sorted ascending by threshold. */
|
|
507
|
+
rungs: IRMeterRung[];
|
|
508
|
+
span: Span;
|
|
509
|
+
}
|
|
510
|
+
/** One `<band> at <n> [says <key>]` rung of a metering body (ADR-263 D1). */
|
|
511
|
+
export interface IRMeterRung {
|
|
512
|
+
/** The band id — the bareword band name (already kebab). */
|
|
513
|
+
id: string;
|
|
514
|
+
threshold: number;
|
|
515
|
+
/** `says <key>` — a story phrase key, or absent (platform fallback). */
|
|
516
|
+
phraseKey?: string;
|
|
517
|
+
span: Span;
|
|
518
|
+
}
|
|
312
519
|
/** `define sequence <name>` — chained-fuse timeline. */
|
|
313
520
|
export interface IRSequenceDef {
|
|
314
521
|
/** Name words joined with a space (`closing time`). */
|
|
@@ -334,6 +541,117 @@ export interface IRSequenceStep {
|
|
|
334
541
|
body: IRStatement[];
|
|
335
542
|
span: Span;
|
|
336
543
|
}
|
|
544
|
+
/**
|
|
545
|
+
* `define machine` (ADR-215 `use state-machines` depth; spelling A,
|
|
546
|
+
* 2026-07-18). The loader lowers onto the ADR-119 plugin: platform machine
|
|
547
|
+
* id `chord.machine.<slug>`, role bindings as `$<role>` refs, Chord
|
|
548
|
+
* conditions as custom guards, Chord bodies as custom effects.
|
|
549
|
+
*/
|
|
550
|
+
export interface IRMachineDef {
|
|
551
|
+
/** Name words joined with a space (`drawbridge works`). */
|
|
552
|
+
name: string;
|
|
553
|
+
/** Role name → resolved entity id (the machine's bindings). */
|
|
554
|
+
roles: Array<{
|
|
555
|
+
name: string;
|
|
556
|
+
entity: string;
|
|
557
|
+
}>;
|
|
558
|
+
initialState: string;
|
|
559
|
+
states: IRMachineState[];
|
|
560
|
+
span: Span;
|
|
561
|
+
}
|
|
562
|
+
export interface IRMachineState {
|
|
563
|
+
name: string;
|
|
564
|
+
terminal: boolean;
|
|
565
|
+
transitions: IRMachineTransition[];
|
|
566
|
+
onEnter: IRStatement[];
|
|
567
|
+
onExit: IRStatement[];
|
|
568
|
+
span: Span;
|
|
569
|
+
}
|
|
570
|
+
export interface IRMachineTransition {
|
|
571
|
+
/** Resolved trigger: action targets are `$<role>` refs or entity ids. */
|
|
572
|
+
trigger: {
|
|
573
|
+
kind: 'action';
|
|
574
|
+
action: string;
|
|
575
|
+
target: string | null;
|
|
576
|
+
} | {
|
|
577
|
+
kind: 'event';
|
|
578
|
+
event: string;
|
|
579
|
+
} | {
|
|
580
|
+
kind: 'condition';
|
|
581
|
+
condition: IRCondition;
|
|
582
|
+
};
|
|
583
|
+
/** Optional `while` guard riding the trigger. */
|
|
584
|
+
condition: IRCondition | null;
|
|
585
|
+
/** Target state name. */
|
|
586
|
+
target: string;
|
|
587
|
+
span: Span;
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* The construct a channel `return`s (ADR-253 D1). The loader evaluates it
|
|
591
|
+
* against the turn's last matching event to produce the channel's value:
|
|
592
|
+
* - `field` — the raw event field value;
|
|
593
|
+
* - `text` — a text template whose `(slot)` names project event fields
|
|
594
|
+
* (the phrase slot spelling), yielding finished text;
|
|
595
|
+
* - `phrase` — the named phrase's rendered text.
|
|
596
|
+
*/
|
|
597
|
+
export type IRChannelReturn = {
|
|
598
|
+
kind: 'field';
|
|
599
|
+
field: string;
|
|
600
|
+
} | {
|
|
601
|
+
kind: 'text';
|
|
602
|
+
text: string;
|
|
603
|
+
} | {
|
|
604
|
+
kind: 'phrase';
|
|
605
|
+
phrase: string;
|
|
606
|
+
};
|
|
607
|
+
/**
|
|
608
|
+
* `define channel` (ADR-216; spelling A, 2026-07-18; ADR-253 replaced
|
|
609
|
+
* `take`/`from event` with `return … from <event>`): a declarative data
|
|
610
|
+
* projection — the loader lowers it to a real IOChannel whose produce
|
|
611
|
+
* evaluates `returns` against the turn's last event of `fromEvent`.
|
|
612
|
+
* `gatedBy` carries the PLATFORM camelCase capability key. The `family`
|
|
613
|
+
* discriminator is ADR-241's additive extension: every data projection
|
|
614
|
+
* reads as `family: 'data'`.
|
|
615
|
+
*/
|
|
616
|
+
export interface IRDataChannelDef {
|
|
617
|
+
name: string;
|
|
618
|
+
family: 'data';
|
|
619
|
+
mode: 'replace' | 'append' | 'event';
|
|
620
|
+
gatedBy: string | null;
|
|
621
|
+
fromEvent: string;
|
|
622
|
+
returns: IRChannelReturn;
|
|
623
|
+
span: Span;
|
|
624
|
+
}
|
|
625
|
+
/**
|
|
626
|
+
* A named family channel (ADR-241 D2): `define ambient <word>` /
|
|
627
|
+
* `define layer <word>`, or the implied `main` bed when used. `name` is
|
|
628
|
+
* the author's word (`wind`); the registered id (`ambient:wind`,
|
|
629
|
+
* `image:wind`) and the channel's mode/gate/produce are the loader's
|
|
630
|
+
* business via stdlib's family builders — never carried here.
|
|
631
|
+
*/
|
|
632
|
+
export interface IRFamilyChannelDef {
|
|
633
|
+
name: string;
|
|
634
|
+
family: 'ambient' | 'layer';
|
|
635
|
+
span: Span;
|
|
636
|
+
}
|
|
637
|
+
/** Any story-declared dynamic channel (ADR-163 §7 / ADR-241 D1). */
|
|
638
|
+
export type IRChannelDef = IRDataChannelDef | IRFamilyChannelDef;
|
|
639
|
+
/**
|
|
640
|
+
* One `define pronouns <name>` set (ADR-242 D7) — the five case forms the
|
|
641
|
+
* lang-{locale} assembler's pronoun table keys. Forms are carried as data;
|
|
642
|
+
* they become rendered text only inside the language provider's registry.
|
|
643
|
+
*/
|
|
644
|
+
export interface IRPronounSetDef {
|
|
645
|
+
name: string;
|
|
646
|
+
forms: {
|
|
647
|
+
subject: string;
|
|
648
|
+
object: string;
|
|
649
|
+
possessive: string;
|
|
650
|
+
possessivePronoun: string;
|
|
651
|
+
reflexive: string;
|
|
652
|
+
};
|
|
653
|
+
span: Span;
|
|
654
|
+
}
|
|
337
655
|
export type IRStatement = {
|
|
338
656
|
kind: 'refuse';
|
|
339
657
|
phraseKey: string;
|
|
@@ -345,9 +663,12 @@ export type IRStatement = {
|
|
|
345
663
|
params: IRParam[];
|
|
346
664
|
stmtWhen?: IRCondition | null;
|
|
347
665
|
span: Span;
|
|
348
|
-
}
|
|
666
|
+
}
|
|
667
|
+
/** Payload present only when authored (`with …`, ADR-216) — additive field. */
|
|
668
|
+
| {
|
|
349
669
|
kind: 'emit';
|
|
350
670
|
event: string;
|
|
671
|
+
payload?: IREmitField[];
|
|
351
672
|
stmtWhen?: IRCondition | null;
|
|
352
673
|
span: Span;
|
|
353
674
|
} | {
|
|
@@ -447,6 +768,30 @@ export interface IRParam {
|
|
|
447
768
|
value: IRValue;
|
|
448
769
|
span: Span;
|
|
449
770
|
}
|
|
771
|
+
/** One resolved emit-payload field (ADR-216): key words joined with a space, passed VERBATIM to the event data. */
|
|
772
|
+
export interface IREmitField {
|
|
773
|
+
key: string;
|
|
774
|
+
value: IREmitValue;
|
|
775
|
+
}
|
|
776
|
+
/**
|
|
777
|
+
* One resolved emit-payload value (ADR-216): a literal, a resolved value
|
|
778
|
+
* expression (evaluated live at emit time — `true`/`false` symbols become
|
|
779
|
+
* booleans), an array, or a nested object.
|
|
780
|
+
*/
|
|
781
|
+
export type IREmitValue = {
|
|
782
|
+
kind: 'literal';
|
|
783
|
+
value: string;
|
|
784
|
+
valueType: 'number' | 'string';
|
|
785
|
+
} | {
|
|
786
|
+
kind: 'value';
|
|
787
|
+
value: IRValue;
|
|
788
|
+
} | {
|
|
789
|
+
kind: 'array';
|
|
790
|
+
items: IREmitValue[];
|
|
791
|
+
} | {
|
|
792
|
+
kind: 'object';
|
|
793
|
+
fields: IREmitField[];
|
|
794
|
+
};
|
|
450
795
|
export type IRValue = {
|
|
451
796
|
kind: 'literal';
|
|
452
797
|
value: string;
|
|
@@ -526,6 +871,15 @@ export type IRCondition = {
|
|
|
526
871
|
kind: 'satisfies';
|
|
527
872
|
subject: IRValue;
|
|
528
873
|
condition: string;
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* `client has <capability>` (ADR-216): the live negotiated client
|
|
877
|
+
* capability flag, by its PLATFORM camelCase key. Text-only when no
|
|
878
|
+
* client negotiated.
|
|
879
|
+
*/
|
|
880
|
+
| {
|
|
881
|
+
kind: 'client-has';
|
|
882
|
+
capability: string;
|
|
529
883
|
} | {
|
|
530
884
|
kind: 'predicate';
|
|
531
885
|
/** '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":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,wEAAwE;AACxE,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAE5C,gCAAgC;AAChC,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,OAAO,SAAS,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,iEAAiE;IACjE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IACjD,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,6FAA6F;IAC7F,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,kFAAkF;IAClF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAMD,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,gEAAgE;IAChE,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,gEAAgE;IAChE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,sEAAsE;IACtE,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,0FAA0F;IAC1F,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,yDAAyD;IACzD,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;;OAIG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kEAAkE;IAClE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,yDAAyD;IACzD,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,wFAAwF;IACxF,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAClD;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,WAAW,CAAC;IACpC,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,mEAAmE;AACnE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,0FAA0F;IAC1F,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC;IAC3B,mEAAmE;IACnE,IAAI,EAAE,OAAO,CAAC;IACd,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,2FAA2F;IAC3F,OAAO,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC;IACtC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,QAAQ,EAAE;QAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE;;;;OAIG;IACH,OAAO,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;IAC7C;;;;;;;;OAQG;IACH,SAAS,EAAE,UAAU,GAAG,WAAW,CAAC;IACpC;;;OAGG;IACH,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAMD,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,QAAQ;IACvB,6GAA6G;IAC7G,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,IAAI,CAAC;IAC/E;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,WAAW,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IAC1C,IAAI,EAAE,IAAI,CAAC;CACZ;AAMD,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gFAAgF;IAChF,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACxB;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,uEAAuE;IACvE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gEAAgE;IAChE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kFAAkF;IAClF,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qFAAqF;AACrF,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,WAAW,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAE5E,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,wDAAwD;AACxD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjD,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAMD,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACnG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC7F;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE;AAC9F,iGAAiG;GAC/F;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACjG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACpF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACrF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE;AACvF,2DAA2D;GACzD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE;AACzE,yEAAyE;GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GAC9E;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,GACxF;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE;AACvE;;;;GAIG;GACD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,OAAO;IACtB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ;AAMD,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE;AAChB,wEAAwE;GACtE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACjD,uGAAuG;GACrG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAChC,2EAA2E;GACzE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACrC,yEAAyE;GACvE;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AACxC;;;GAGG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACvC;;;GAGG;GACD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACxC;;;;;GAKG;GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1D;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,gEAAgE;IAChE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;IAChG,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC"}
|
|
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
|
|
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"}
|