@plurnk/plurnk-contracts 1.14.2 → 1.16.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 (46) hide show
  1. package/SPEC.md +106 -123
  2. package/dist/plurnk.gemma.gbnf +62 -87
  3. package/dist/plurnk.qwen.gbnf +62 -87
  4. package/dist/schema/ClientStatement.json +114 -40
  5. package/dist/schema/PlurnkStatement.json +29 -199
  6. package/dist/schema/RangeExtent.json +1 -1
  7. package/dist/src/AstBuilder.d.ts +2 -2
  8. package/dist/src/AstBuilder.d.ts.map +1 -1
  9. package/dist/src/AstBuilder.js +68 -146
  10. package/dist/src/AstBuilder.js.map +1 -1
  11. package/dist/src/PlurnkErrorStrategy.d.ts +0 -1
  12. package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
  13. package/dist/src/PlurnkErrorStrategy.js +72 -61
  14. package/dist/src/PlurnkErrorStrategy.js.map +1 -1
  15. package/dist/src/PlurnkParser.d.ts +1 -2
  16. package/dist/src/PlurnkParser.d.ts.map +1 -1
  17. package/dist/src/PlurnkParser.js +15 -104
  18. package/dist/src/PlurnkParser.js.map +1 -1
  19. package/dist/src/generated/plurnkLexer.d.ts +42 -69
  20. package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
  21. package/dist/src/generated/plurnkLexer.js +495 -647
  22. package/dist/src/generated/plurnkLexer.js.map +1 -1
  23. package/dist/src/generated/plurnkParser.d.ts +76 -215
  24. package/dist/src/generated/plurnkParser.d.ts.map +1 -1
  25. package/dist/src/generated/plurnkParser.js +643 -1829
  26. package/dist/src/generated/plurnkParser.js.map +1 -1
  27. package/dist/src/generated/plurnkParserVisitor.d.ts +3 -87
  28. package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
  29. package/dist/src/generated/plurnkParserVisitor.js +2 -74
  30. package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
  31. package/dist/src/index.d.ts +0 -2
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +0 -1
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/types.d.ts +1 -1
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.generated.d.ts +18 -50
  38. package/dist/src/types.generated.d.ts.map +1 -1
  39. package/dist/src/types.js +1 -1
  40. package/dist/src/types.js.map +1 -1
  41. package/package.json +1 -1
  42. package/plurnk.md +67 -73
  43. package/dist/src/TagSignal.d.ts +0 -15
  44. package/dist/src/TagSignal.d.ts.map +0 -1
  45. package/dist/src/TagSignal.js +0 -53
  46. package/dist/src/TagSignal.js.map +0 -1
@@ -1,48 +1,38 @@
1
1
  import { DefaultErrorStrategy, InputMismatchException, NoViableAltException, Token, } from "antlr4ng";
2
2
  import { plurnkParser } from "./generated/plurnkParser.js";
3
- export const COMBINED_ANCHOR_LINE_DIAGNOSTIC = "a scope position accepts one line coordinate; use the `@hash` anchor without its displayed line number";
3
+ const COMBINED_ANCHOR_LINE_DIAGNOSTIC = "a scope position accepts one line coordinate; use the `@hash` anchor without its displayed line number";
4
4
  export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
5
5
  static #OFFENDING_CHAR_RE = /at: '([^']*)'$/;
6
6
  static #LEXER_MODE_CONTEXT = {
7
7
  DEFAULT_MODE: "before the PLAN heading",
8
- SLOTS: "in operation heading - expected a space before `[signal]`, `(path)`, `{metadata}`, or `<scope>`, or a line ending",
9
- SIGNAL_TAGS: "in tag signal - expected tag, `,`, or `]`",
10
- SIGNAL_INT: "in signal - expected a submit code for SEND or a code for KILL, then `]`",
11
- SIGNAL_IDENT: "in signal - expected executor for EXEC, then `]`",
8
+ SLOTS: "in operation heading - expected a space before `(path)`, `{metadata}`, or `<scope>`, or a line ending",
12
9
  TARGET: "in `(path)` slot - expected URI characters or `)`",
13
10
  METADATA: "in `{metadata}` modifier - expected single-line scheme content or `}`",
14
11
  BODY: "in body",
15
12
  };
16
13
  static #SLOT_BY_TOKEN = {
17
- [plurnkParser.OPEN_FIND]: "H2 operation heading `## OPdelimiter`",
18
- [plurnkParser.OPEN_READ]: "H2 operation heading `## OPdelimiter`",
19
- [plurnkParser.OPEN_EDIT]: "H2 operation heading `## OPdelimiter`",
20
- [plurnkParser.OPEN_COPY]: "H2 operation heading `## OPdelimiter`",
21
- [plurnkParser.OPEN_MOVE]: "H2 operation heading `## OPdelimiter`",
22
- [plurnkParser.OPEN_OPEN]: "H2 operation heading `## OPdelimiter`",
23
- [plurnkParser.OPEN_FOLD]: "H2 operation heading `## OPdelimiter`",
24
- [plurnkParser.OPEN_SEND]: "H2 operation heading `## OPdelimiter`",
25
- [plurnkParser.OPEN_EXEC]: "H2 operation heading `## OPdelimiter`",
26
- [plurnkParser.OPEN_BARE]: "H2 operation heading `## OPdelimiter`",
27
- [plurnkParser.OPEN_WORK]: "H2 operation heading `## OPdelimiter`",
28
- [plurnkParser.OPEN_FORK]: "H2 operation heading `## OPdelimiter`",
29
- [plurnkParser.OPEN_KILL]: "H2 operation heading `## OPdelimiter`",
30
- [plurnkParser.OPEN_PLAN]: "PLAN heading `# PLANdelimiter`",
31
- [plurnkParser.OPEN_LOOK]: "H2 client heading `## OPdelimiter`",
32
- [plurnkParser.OPEN_BUFF]: "H2 client heading `## OPdelimiter`",
33
- [plurnkParser.LBRACKET]: "`[` (signal slot opener)",
34
- [plurnkParser.RBRACKET]: "`]` (signal slot closer)",
14
+ [plurnkParser.OPEN_FIND]: "H3 operation heading `### OPdelimiter`",
15
+ [plurnkParser.OPEN_READ]: "H3 operation heading `### OPdelimiter`",
16
+ [plurnkParser.OPEN_EDIT]: "H3 operation heading `### OPdelimiter`",
17
+ [plurnkParser.OPEN_COPY]: "H3 operation heading `### OPdelimiter`",
18
+ [plurnkParser.OPEN_MOVE]: "H3 operation heading `### OPdelimiter`",
19
+ [plurnkParser.OPEN_SEND]: "H3 operation heading `### OPdelimiter`",
20
+ [plurnkParser.OPEN_EXEC]: "H3 operation heading `### OPdelimiter`",
21
+ [plurnkParser.OPEN_BARE]: "H3 operation heading `### OPdelimiter`",
22
+ [plurnkParser.OPEN_WORK]: "H3 operation heading `### OPdelimiter`",
23
+ [plurnkParser.OPEN_FORK]: "H3 operation heading `### OPdelimiter`",
24
+ [plurnkParser.OPEN_KILL]: "H3 operation heading `### OPdelimiter`",
25
+ [plurnkParser.OPEN_PLAN]: "PLAN heading `## PLANdelimiter`",
26
+ [plurnkParser.OPEN_LOOK]: "H3 client heading `### OPdelimiter`",
27
+ [plurnkParser.OPEN_BUFF]: "H3 client heading `### OPdelimiter`",
35
28
  [plurnkParser.LPAREN]: "`(` (`(path)` slot opener)",
36
29
  [plurnkParser.RPAREN]: "`)` (`(path)` slot closer)",
37
30
  [plurnkParser.LBRACE]: "`{` (`{metadata}` modifier opener)",
31
+ [plurnkParser.EXECUTOR]: "`[executor]` (EXEC executor slot)",
38
32
  [plurnkParser.RBRACE]: "`}` (`{metadata}` modifier closer)",
39
33
  [plurnkParser.L_MARKER]: "`<L>` line marker",
40
34
  [plurnkParser.BODY_OPEN]: "operation-heading line ending",
41
35
  [plurnkParser.SECTION_END]: "next same-lane heading",
42
- [plurnkParser.COMMA]: "`,`",
43
- [plurnkParser.INT]: "submit code (SEND) or code (KILL)",
44
- [plurnkParser.IDENT]: "executor (EXEC signal)",
45
- [plurnkParser.TAG]: "tag",
46
36
  [plurnkParser.TARGET_TEXT]: "path content",
47
37
  [plurnkParser.METADATA_TEXT]: "scheme metadata content",
48
38
  [plurnkParser.BODY_TEXT]: "body content",
@@ -52,10 +42,16 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
52
42
  const modeName = lexer.modeNames[lexer.mode] ?? "DEFAULT_MODE";
53
43
  const context = PlurnkErrorStrategy.#LEXER_MODE_CONTEXT[modeName] ?? "between statements";
54
44
  const ch = PlurnkErrorStrategy.#extractOffendingChar(originalMsg);
55
- // EXEC's identifier cannot start with a digit or `-`, making a leading numeric
56
- // value an unambiguous misplaced timing scope. {§signal-scope-redirect}
57
- if (modeName === "SIGNAL_IDENT" && /^'[-\d]'$/.test(ch)) {
58
- return `unrecognized character ${ch} in signal - timeout/poll ride the \`<scope>\` slot; try \`## EXEC0 <-1,300>\``;
45
+ // {§legacy-bracket-slot} the retired `[signal]` slot gets one bounded redirect to the
46
+ // two forms that replaced it, instead of the generic spacing rule.
47
+ if (modeName === "SLOTS" && ch.startsWith("'[") && lexer.getOpenTag().startsWith("PLAN")) {
48
+ return "unrecognized character '[' after PLAN - PLAN takes no modifiers; the Plan body starts on the next line";
49
+ }
50
+ if (modeName === "SLOTS" && ch.startsWith("'[")) {
51
+ const op = /^[A-Z]+/.exec(lexer.getOpenTag())?.[0] ?? "this";
52
+ return op === "EXEC"
53
+ ? "malformed `[executor]` on EXEC - an executor name is letters, digits, `_`, `.`, `+`, or `-`, as in `### EXEC0 [python3] (tool.py)`"
54
+ : `unrecognized character '[' in a ${op} heading - \`[executor]\` belongs to EXEC only (\`### EXEC0 [python3] (tool.py)\`); ${op} takes \`(path)\``;
59
55
  }
60
56
  // Redirect an unambiguous matcher prefix in the slot region into the body. Slash-led
61
57
  // regex and XPath redirect only once the heading has closed a `(target)` — before
@@ -138,6 +134,10 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
138
134
  // {§combined-anchor-line-redirect} The rejected token is a complete bounded
139
135
  // scope, so its one canonical correction is known without interpreting intent.
140
136
  static #targetedMessage(tok) {
137
+ // {§exec-executor-slot} — the executor slot leads an EXEC heading, once.
138
+ if (tok?.type === plurnkParser.EXECUTOR) {
139
+ return "misplaced `[executor]` - it leads an EXEC heading, once, before the path: `### EXEC0 [python3] (tool.py)`";
140
+ }
141
141
  if (tok?.type !== plurnkParser.COMBINED_L_MARKER)
142
142
  return null;
143
143
  return COMBINED_ANCHOR_LINE_DIAGNOSTIC;
@@ -153,49 +153,50 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
153
153
  if (prior.line !== tok.line)
154
154
  return null;
155
155
  if (prior.type === plurnkParser.OPEN_BARE) {
156
- const opener = prior.text ?? "## BARE0";
156
+ const opener = prior.text ?? "### BARE0";
157
157
  return `unexpected \`(\` after BARE - BARE takes no \`(path)\`; the prompt is the body: \`${opener}\` then the prompt on the line below`;
158
158
  }
159
159
  }
160
160
  return null;
161
161
  }
162
- // A signed tag lexeme: what belongs in `[+tag]`, never a path.
163
- static #TAG_LEXEME_RE = /^[+-][^\s/.*?()[\]{}]+(?:,[+-][^\s/.*?()[\]{}]+)*$/;
164
- // A second `(` on a heading that already closed a `(path)`. When the first slot was a signed
165
- // tag, the slip is the bracket kind and the blame belongs on the FIRST paren; otherwise the
166
- // heading simply has one path slot and a matcher belongs beneath it. #425 F2.
167
- static #secondPathSlotMessage(recognizer, tok) {
168
- if (tok?.type !== plurnkParser.LPAREN)
162
+ // {§send-label} a label beside a recipient on one SEND heading: the label ends the turn
163
+ // and names no recipient.
164
+ static #labelRecipientMessage(recognizer, tok) {
165
+ if (tok === null || (tok.type !== plurnkParser.SEND_LABEL && tok.type !== plurnkParser.LPAREN))
169
166
  return null;
170
167
  const stream = recognizer.tokenStream;
171
- let closed = false;
172
- let firstOpen = null;
173
- let text = "";
168
+ let sawLabel = false;
169
+ let sawTarget = false;
174
170
  for (let i = tok.tokenIndex - 1; i >= 0; i -= 1) {
175
171
  const prior = stream.get(i);
176
172
  if (prior.line !== tok.line)
177
- break;
178
- if (!closed) {
179
- if (prior.type === plurnkParser.RPAREN)
180
- closed = true;
181
- continue;
182
- }
183
- if (prior.type === plurnkParser.TARGET_TEXT) {
184
- text = `${prior.text ?? ""}${text}`;
185
- continue;
186
- }
187
- if (prior.type === plurnkParser.LPAREN) {
188
- firstOpen = prior;
189
- break;
173
+ return null;
174
+ if (prior.type === plurnkParser.SEND_LABEL)
175
+ sawLabel = true;
176
+ if (prior.type === plurnkParser.RPAREN)
177
+ sawTarget = true;
178
+ if (prior.type === plurnkParser.OPEN_SEND) {
179
+ const clash = (tok.type === plurnkParser.SEND_LABEL && sawTarget) || (tok.type === plurnkParser.LPAREN && sawLabel);
180
+ return clash ? "a (NEXT|WAIT|TERM|FAIL) SEND names no recipient; message a recipient with its own SEND first" : null;
190
181
  }
191
- break;
192
182
  }
193
- if (!closed || firstOpen === null)
183
+ return null;
184
+ }
185
+ // A second `(` on a heading that already closed a `(path)`: the heading has one path slot
186
+ // and a matcher belongs beneath it.
187
+ static #secondPathSlotMessage(recognizer, tok) {
188
+ if (tok?.type !== plurnkParser.LPAREN)
194
189
  return null;
195
- if (PlurnkErrorStrategy.#TAG_LEXEME_RE.test(text)) {
196
- return { at: firstOpen, message: `\`(${text})\` is not a path - a tag rides in the signal slot \`[${text}]\`; \`(...)\` is the one path slot` };
190
+ const stream = recognizer.tokenStream;
191
+ for (let i = tok.tokenIndex - 1; i >= 0; i -= 1) {
192
+ const prior = stream.get(i);
193
+ if (prior.line !== tok.line)
194
+ return null;
195
+ if (prior.type === plurnkParser.RPAREN) {
196
+ return { at: tok, message: "a heading takes exactly one `(path)` slot; a pattern belongs in the body beneath the heading" };
197
+ }
197
198
  }
198
- return { at: tok, message: "a heading takes exactly one `(path)` slot; a pattern belongs in the body beneath the heading" };
199
+ return null;
199
200
  }
200
201
  // {§matcher-prefix-claims} "later statements remain recoverable when their boundaries are
201
202
  // trustworthy" - a column-0 heading is that boundary. After a statement-level error, the rest
@@ -203,7 +204,7 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
203
204
  // heading, so every later statement - the terminal SEND included - is judged on its own.
204
205
  static #HEADING_BOUNDARY = new Set([
205
206
  plurnkParser.OPEN_PLAN, plurnkParser.OPEN_FIND, plurnkParser.OPEN_READ, plurnkParser.OPEN_EDIT,
206
- plurnkParser.OPEN_COPY, plurnkParser.OPEN_MOVE, plurnkParser.OPEN_OPEN, plurnkParser.OPEN_FOLD,
207
+ plurnkParser.OPEN_COPY, plurnkParser.OPEN_MOVE,
207
208
  plurnkParser.OPEN_SEND, plurnkParser.OPEN_EXEC, plurnkParser.OPEN_BARE, plurnkParser.OPEN_WORK,
208
209
  plurnkParser.OPEN_FORK, plurnkParser.OPEN_KILL, plurnkParser.OPEN_LOOK, plurnkParser.OPEN_BUFF,
209
210
  plurnkParser.FENCE_CLOSE,
@@ -252,6 +253,11 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
252
253
  recognizer.notifyErrorListeners(destination, e.offendingToken, e);
253
254
  return;
254
255
  }
256
+ const labelled = PlurnkErrorStrategy.#labelRecipientMessage(recognizer, e.offendingToken);
257
+ if (labelled !== null) {
258
+ recognizer.notifyErrorListeners(labelled, e.offendingToken, e);
259
+ return;
260
+ }
255
261
  const secondSlot = PlurnkErrorStrategy.#secondPathSlotMessage(recognizer, e.offendingToken);
256
262
  if (secondSlot !== null) {
257
263
  recognizer.notifyErrorListeners(secondSlot.message, secondSlot.at, e);
@@ -300,6 +306,11 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
300
306
  recognizer.notifyErrorListeners(destination, tok, null);
301
307
  return;
302
308
  }
309
+ const labelled = PlurnkErrorStrategy.#labelRecipientMessage(recognizer, tok);
310
+ if (labelled !== null) {
311
+ recognizer.notifyErrorListeners(labelled, tok, null);
312
+ return;
313
+ }
303
314
  const secondSlot = PlurnkErrorStrategy.#secondPathSlotMessage(recognizer, tok);
304
315
  if (secondSlot !== null) {
305
316
  recognizer.notifyErrorListeners(secondSlot.message, secondSlot.at, null);
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkErrorStrategy.js","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlurnkErrorStrategy.js","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { type ClientStatement, type ParseResult } from "./types.ts";
2
2
  export default class PlurnkParser {
3
3
  #private;
4
- static readonly MISSING_PLAN = "No valid leading PLAN was parsed; an empty `# PLAN0` was used.";
5
- static readonly MISSING_SEND = "No valid terminal SEND was parsed; `## SEND0 [102]` was used.";
4
+ static readonly MISSING_SEND = "No valid terminal SEND was parsed; `### SEND0 (NEXT)` was used.";
6
5
  static readonly NO_VALID_OPERATION = "no valid Plurnk operation was found.";
7
6
  static parse(input: string): ParseResult;
8
7
  static parseStatements(input: string): ParseResult;
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,KAAK,eAAe,EAEpB,KAAK,WAAW,EAKnB,MAAM,YAAY,CAAC;AAwBpB,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,QAAQ,CAAC,YAAY,oEAAoE;IAChG,MAAM,CAAC,QAAQ,CAAC,YAAY,mEAAmE;IAC/F,MAAM,CAAC,QAAQ,CAAC,kBAAkB,0CAA0C;IAK5E,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAevC;IA6OD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEjD;IAMD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE1C;IAKD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAM9D;CA+KJ"}
1
+ {"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAOA,OAAO,EAEH,KAAK,eAAe,EAEpB,KAAK,WAAW,EAInB,MAAM,YAAY,CAAC;AAwBpB,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,QAAQ,CAAC,YAAY,qEAAqE;IACjG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,0CAA0C;IAK5E,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAYvC;IA8KD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEjD;IAMD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE1C;IAKD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAM9D;CA4IJ"}
@@ -5,7 +5,6 @@ import AstBuilder from "./AstBuilder.js";
5
5
  import PlurnkParseError from "./PlurnkParseError.js";
6
6
  import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
7
7
  import RecordingListener from "./RecordingListener.js";
8
- import TagSignal from "./TagSignal.js";
9
8
  import { UNKNOWN_POSITION, } from "./types.js";
10
9
  // Statement-bearing contexts the extraction builds into items. `statement` (statementSeq) and
11
10
  // `midStatement` (mid-turn ops) each wrap one op; PLAN and the terminal SEND attach as direct
@@ -28,21 +27,17 @@ const CONTAINER_RULES = new Set([
28
27
  plurnkParser.RULE_turn,
29
28
  ]);
30
29
  export default class PlurnkParser {
31
- static MISSING_PLAN = "No valid leading PLAN was parsed; an empty `# PLAN0` was used.";
32
- static MISSING_SEND = "No valid terminal SEND was parsed; `## SEND0 [102]` was used.";
30
+ static MISSING_SEND = "No valid terminal SEND was parsed; `### SEND0 (NEXT)` was used.";
33
31
  static NO_VALID_OPERATION = "no valid Plurnk operation was found.";
34
32
  // Parse one model turn. Canonical PLAN/SEND framing stays strict in teaching and
35
33
  // generation; a source operation lets ingestion recover either omitted boundary.
36
34
  // Tolerated preamble TEXT remains an ordered item without language semantics. {§turn-shape}
37
35
  static parse(input) {
38
- const tagged = PlurnkParser.#tolerateTagSlots(input);
39
- const { source, tolerated: scoped } = PlurnkParser.#tolerateScopeSlots(tagged.source);
36
+ const { source, tolerated: scoped } = PlurnkParser.#tolerateScopeSlots(input);
40
37
  const result = PlurnkParser.#run(source, (parser) => parser.document());
41
- PlurnkParser.#scoldTagSlots(result.items, tagged.tolerated);
42
38
  PlurnkParser.#scoldScopeSlots(result.items, scoped);
43
39
  // Value-adds layered on ANTLR's diagnostics while the document boundary
44
40
  // remains trustworthy. Neither changes what parsed.
45
- PlurnkParser.#flagMisplacedTarget(result.items);
46
41
  if (result.unparsedTail === undefined) {
47
42
  PlurnkParser.#imperativeTurnShape(result.items);
48
43
  PlurnkParser.#imperativeMidTermination(result.items);
@@ -50,33 +45,7 @@ export default class PlurnkParser {
50
45
  }
51
46
  return result;
52
47
  }
53
- // {§tag-slot-tolerance} — `## OP0 (+tag) (path)`: the tag was written in the path slot ahead
54
- // of the real path. The heading is read as `[+tag] (path)` — same length, so every later
55
- // position stays true — and the slip is an error row on the heading (#425 F2, ruled
56
- // 2026-08-29: tolerate and scold). A heading that already carries a signal is not rewritten.
57
- static #TAG_SLOT = /^(#{1,2} [A-Z]+[A-Za-z0-9_]*) \(([+-][^\s/.*?()[\]{}]+(?:,[+-][^\s/.*?()[\]{}]+)*)\) \(/;
58
- static #tolerateTagSlots(input) {
59
- const tolerated = [];
60
- const source = input.split("\n").map((text, index) => text.replace(PlurnkParser.#TAG_SLOT, (_, heading, tags) => {
61
- tolerated.push({ line: index + 1, column: heading.length + 1, tags });
62
- return `${heading} [${tags}] (`;
63
- })).join("\n");
64
- return { source, tolerated };
65
- }
66
- static #scoldTagSlots(items, tolerated) {
67
- for (const { line, column, tags } of tolerated) {
68
- const scold = {
69
- kind: "error",
70
- error: new PlurnkParseError(line, column, "parser", `\`(${tags})\` is not a path - a tag rides in the signal slot \`[${tags}]\`; \`(...)\` is the one path slot. \`[${tags}]\` was used.`),
71
- };
72
- const at = items.findIndex((item) => item.kind === "statement" && item.statement.position?.line === line);
73
- if (at === -1)
74
- items.push(scold);
75
- else
76
- items.splice(at + 1, 0, scold);
77
- }
78
- }
79
- // {§scope-slot-tolerance} — `## COPY0 (worker:///src.md<2,3>)`: the line scope was written inside
48
+ // {§scope-slot-tolerance} — `### COPY0 (worker:///src.md<2,3>)`: the line scope was written inside
80
49
  // the path slot. `<` and `>` are not URI characters, so a `<...>` right before a slot's closing
81
50
  // paren can only be a scope: the heading is read as `(worker:///src.md) <2,3>` and the slip is a
82
51
  // warning advisory after its statement — the statement runs (#442, ruled 2026-08-30: accept with a
@@ -86,7 +55,7 @@ export default class PlurnkParser {
86
55
  static #tolerateScopeSlots(input) {
87
56
  const tolerated = [];
88
57
  const source = input.split("\n").map((text, index) => {
89
- if (!/^#{1,2} [A-Z]+[A-Za-z0-9_]* /.test(text))
58
+ if (!/^#{2,3} [A-Z]+[A-Za-z0-9_]* /.test(text))
90
59
  return text;
91
60
  return text.replace(PlurnkParser.#SCOPE_SLOT, (match, path, scope, offset) => {
92
61
  tolerated.push({ line: index + 1, column: offset + path.length + 2, scope });
@@ -111,15 +80,14 @@ export default class PlurnkParser {
111
80
  }
112
81
  }
113
82
  // Terminal disposition alphabet. {§waitpid-dispositions} {§wait-obligation-matrix}
114
- static #DISPOSITIONS = new Set([102, 200, 202, 499]);
115
83
  // Replace ANTLR's generic structure errors with the exact envelope default when the
116
84
  // canonical PLAN...SEND shape is cleanly incomplete. The parser admits the useful
117
85
  // operations and core records this hard diagnostic as the turn's strike. {§turn-shape}
118
86
  static #imperativeTurnShape(items) {
119
- const hasPlan = items.some((i) => i.kind === "statement" && i.statement.op === "PLAN");
120
- // A mid-comms SEND does not satisfy the terminal requirement.
121
- const hasSend = items.some((i) => i.kind === "statement" && i.statement.op === "SEND" && PlurnkParser.#DISPOSITIONS.has(i.statement.signal));
122
- if (hasPlan && hasSend)
87
+ // {§turn-shape} PLAN is a SHOULD; only the terminal SEND is structural. A
88
+ // recipient SEND does not satisfy it ({§send-label}).
89
+ const hasSend = items.some((i) => i.kind === "statement" && i.statement.op === "SEND" && i.statement.status !== null);
90
+ if (hasSend)
123
91
  return;
124
92
  const isStructErr = (i) => i.kind === "error" && i.error.source === "parser" && i.error.severity === "error";
125
93
  const structErrors = items.filter(isStructErr);
@@ -143,13 +111,6 @@ export default class PlurnkParser {
143
111
  const hasSpecificError = items.some((i) => i.kind === "error" && i.error.severity === "error" && i.error.source !== "parser");
144
112
  if (hasSpecificError)
145
113
  return;
146
- if (!hasPlan) {
147
- const position = statements[0]?.position ?? UNKNOWN_POSITION;
148
- items.push({
149
- kind: "error",
150
- error: new PlurnkParseError(position.line, position.column, "parser", PlurnkParser.MISSING_PLAN),
151
- });
152
- }
153
114
  if (!hasSend) {
154
115
  const position = statements.at(-1)?.position ?? UNKNOWN_POSITION;
155
116
  items.push({
@@ -166,31 +127,13 @@ export default class PlurnkParser {
166
127
  if (sourceStatements.length === 0)
167
128
  return;
168
129
  const delimiter = sourceStatements[0]?.delimiter || "0";
169
- const hasPlan = sourceStatements.some(({ op }) => op === "PLAN");
170
- const hasTerminalSend = sourceStatements.some((statement) => statement.op === "SEND"
171
- && typeof statement.signal === "number"
172
- && PlurnkParser.#DISPOSITIONS.has(statement.signal));
173
- if (!hasPlan) {
174
- const plan = {
175
- op: "PLAN",
176
- delimiter,
177
- annotation: null,
178
- signal: null,
179
- target: null,
180
- metadata: null,
181
- lineMarker: null,
182
- body: [],
183
- position: UNKNOWN_POSITION,
184
- };
185
- const firstStatement = items.findIndex((item) => item.kind === "statement");
186
- items.splice(firstStatement, 0, { kind: "statement", statement: plan });
187
- }
130
+ const hasTerminalSend = sourceStatements.some((statement) => statement.op === "SEND" && statement.status !== null);
188
131
  if (!hasTerminalSend) {
189
132
  const send = {
190
133
  op: "SEND",
191
134
  delimiter,
192
135
  annotation: null,
193
- signal: 102,
136
+ status: 102,
194
137
  target: null,
195
138
  metadata: null,
196
139
  lineMarker: null,
@@ -212,7 +155,7 @@ export default class PlurnkParser {
212
155
  // this pass. Mirrors #imperativeTurnShape's guard.
213
156
  if (items.some((i) => i.kind === "error" && i.error.severity === "error" && i.error.source !== "parser"))
214
157
  return;
215
- const terminal = items.find((i) => i.kind === "statement" && i.statement.op === "SEND" && PlurnkParser.#DISPOSITIONS.has(i.statement.signal));
158
+ const terminal = items.find((i) => i.kind === "statement" && i.statement.op === "SEND" && i.statement.status !== null);
216
159
  if (!terminal)
217
160
  return;
218
161
  const t = terminal.statement.position;
@@ -222,7 +165,7 @@ export default class PlurnkParser {
222
165
  const after = i.error.line > t.line || (i.error.line === t.line && i.error.column > t.column);
223
166
  if (!after)
224
167
  continue;
225
- i.error = new PlurnkParseError(i.error.line, i.error.column, "parser", "`## SEND0 [submit code]` ends the turn - nothing may follow it");
168
+ i.error = new PlurnkParseError(i.error.line, i.error.column, "parser", "`### SEND0 (NEXT|WAIT|TERM|FAIL)` ends the turn - nothing may follow it");
226
169
  }
227
170
  }
228
171
  // Collapse a lexer per-character cascade: the SIGNAL/TARGET modes emit one 'unrecognized
@@ -315,43 +258,11 @@ export default class PlurnkParser {
315
258
  const openTag = lexer.getOpenTag();
316
259
  const from = { line: lexer.getOpenTagLine(), column: lexer.getOpenTagColumn() };
317
260
  const heading = lexer.getOpenHeading() || `## ${openTag}`;
318
- const reason = modeName === "SIGNAL_TAGS" || modeName === "SIGNAL_INT" || modeName === "SIGNAL_IDENT"
319
- ? `signal slot of \`${heading}\` opened at line ${from.line} but never closed - add \`]\``
320
- : modeName === "METADATA"
321
- ? `metadata modifier of \`${heading}\` opened at line ${from.line} but never closed - add \`}\``
322
- : `target slot of \`${heading}\` opened at line ${from.line} but never closed - add \`)\``;
261
+ const reason = modeName === "METADATA"
262
+ ? `metadata modifier of \`${heading}\` opened at line ${from.line} but never closed - add \`}\``
263
+ : `target slot of \`${heading}\` opened at line ${from.line} but never closed - add \`)\``;
323
264
  return { from, reason };
324
265
  }
325
- // Mutating ops that require a `(target)` and carry a `[tags]` string-array signal. A null target
326
- // on one of these is unambiguously wrong - there is nothing to edit/copy/move.
327
- static #MUTATING_OPS = new Set(["EDIT", "COPY", "MOVE"]);
328
- // A null mutation target plus a path-shaped tag is the narrow advisory gate; an
329
- // ordinary additive-tag use is not redirected. {§misplaced-target-advisory}
330
- static #flagMisplacedTarget(items) {
331
- const pathShaped = (s) => s.includes("/") || /[^/]\.[a-zA-Z][a-zA-Z0-9]*$/.test(s);
332
- const additions = [];
333
- items.forEach((item, idx) => {
334
- if (item.kind !== "statement")
335
- return;
336
- const st = item.statement;
337
- if (!PlurnkParser.#MUTATING_OPS.has(st.op) || st.target !== null)
338
- return;
339
- if (!Array.isArray(st.signal))
340
- return;
341
- const path = TagSignal.applied(st.signal).add.find(pathShaped);
342
- if (!path)
343
- return;
344
- additions.push({
345
- at: idx,
346
- item: {
347
- kind: "error",
348
- error: new PlurnkParseError(st.position.line, st.position.column, "parser", `\`## ${st.op}${st.delimiter}\` has no \`(target)\` - that path sits in the \`[…]\` tag slot; a target goes in \`(…)\`. Try \`## ${st.op}${st.delimiter || "0"} (${path})\``, "warning"),
349
- },
350
- });
351
- });
352
- for (const { at, item } of additions.reverse())
353
- items.splice(at + 1, 0, item);
354
- }
355
266
  // Walk a parse tree, appending statement/error/text items in source order. Statement rules
356
267
  // are leaves (built directly); container rules (turnContent) are recursed into; TEXT tokens
357
268
  // surface as text items. So `document` (one turnContent) and `log` (turnContent+) both
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkParser.js","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlurnkParser.js","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"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"}