@plurnk/plurnk-contracts 1.16.5 → 1.18.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 (92) hide show
  1. package/README.md +13 -62
  2. package/SPEC.md +633 -529
  3. package/dist/conformance/agui-v1.json +3 -50
  4. package/dist/schema/CapabilityDescriptor.json +6 -1
  5. package/dist/schema/CapabilityProjection.json +2 -4
  6. package/dist/schema/CapabilitySelector.json +6 -1
  7. package/dist/schema/ClientStatement.json +5 -52
  8. package/dist/schema/FunctionalityDefinitionState.json +10 -2
  9. package/dist/schema/LineMarker.json +1 -1
  10. package/dist/schema/LoopPolicy.json +2 -3
  11. package/dist/schema/MatcherBody.json +6 -6
  12. package/dist/schema/McpServerDefinition.json +17 -0
  13. package/dist/schema/ModelCatalogPage.json +10 -1
  14. package/dist/schema/ModelRoute.json +9 -0
  15. package/dist/schema/Notice.json +1 -1
  16. package/dist/schema/ParsedPath.json +3 -2
  17. package/dist/schema/Plan.json +10 -6
  18. package/dist/schema/PlurnkStatement.json +95 -143
  19. package/dist/schema/ProposalProjection.json +6 -1
  20. package/dist/schema/ResourceSelection.json +51 -27
  21. package/dist/schema/SkillDefinition.json +3 -3
  22. package/dist/src/AcpPlanValue.d.ts +0 -1
  23. package/dist/src/AcpPlanValue.d.ts.map +1 -1
  24. package/dist/src/AcpPlanValue.js +14 -13
  25. package/dist/src/AcpPlanValue.js.map +1 -1
  26. package/dist/src/ApplicationPort.d.ts +17 -14
  27. package/dist/src/ApplicationPort.d.ts.map +1 -1
  28. package/dist/src/JsonDocument.d.ts +2 -0
  29. package/dist/src/JsonDocument.d.ts.map +1 -0
  30. package/dist/src/JsonDocument.js +14 -0
  31. package/dist/src/JsonDocument.js.map +1 -0
  32. package/dist/src/LoopLifecycle.d.ts +3 -0
  33. package/dist/src/LoopLifecycle.d.ts.map +1 -0
  34. package/dist/src/LoopLifecycle.js +14 -0
  35. package/dist/src/LoopLifecycle.js.map +1 -0
  36. package/dist/src/PlanValue.d.ts +1 -1
  37. package/dist/src/PlanValue.d.ts.map +1 -1
  38. package/dist/src/PlanValue.js +10 -6
  39. package/dist/src/PlanValue.js.map +1 -1
  40. package/dist/src/PlurnkParseError.d.ts +3 -1
  41. package/dist/src/PlurnkParseError.d.ts.map +1 -1
  42. package/dist/src/PlurnkParseError.js +4 -1
  43. package/dist/src/PlurnkParseError.js.map +1 -1
  44. package/dist/src/TurnDisposition.d.ts +11 -0
  45. package/dist/src/TurnDisposition.d.ts.map +1 -0
  46. package/dist/src/TurnDisposition.js +32 -0
  47. package/dist/src/TurnDisposition.js.map +1 -0
  48. package/dist/src/Validator.js +1 -1
  49. package/dist/src/Validator.js.map +1 -1
  50. package/dist/src/index.d.ts +5 -4
  51. package/dist/src/index.d.ts.map +1 -1
  52. package/dist/src/index.js +5 -5
  53. package/dist/src/index.js.map +1 -1
  54. package/dist/src/types.d.ts +13 -8
  55. package/dist/src/types.d.ts.map +1 -1
  56. package/dist/src/types.generated.d.ts +172 -86
  57. package/dist/src/types.generated.d.ts.map +1 -1
  58. package/dist/src/types.js +9 -4
  59. package/dist/src/types.js.map +1 -1
  60. package/package.json +5 -23
  61. package/plurnk.md +106 -119
  62. package/bin/plurnk-contracts.js +0 -43
  63. package/dist/plurnk.gemma.gbnf +0 -141
  64. package/dist/plurnk.qwen.gbnf +0 -130
  65. package/dist/src/AstBuilder.d.ts +0 -20
  66. package/dist/src/AstBuilder.d.ts.map +0 -1
  67. package/dist/src/AstBuilder.js +0 -723
  68. package/dist/src/AstBuilder.js.map +0 -1
  69. package/dist/src/PlurnkErrorStrategy.d.ts +0 -11
  70. package/dist/src/PlurnkErrorStrategy.d.ts.map +0 -1
  71. package/dist/src/PlurnkErrorStrategy.js +0 -358
  72. package/dist/src/PlurnkErrorStrategy.js.map +0 -1
  73. package/dist/src/PlurnkParser.d.ts +0 -11
  74. package/dist/src/PlurnkParser.d.ts.map +0 -1
  75. package/dist/src/PlurnkParser.js +0 -335
  76. package/dist/src/PlurnkParser.js.map +0 -1
  77. package/dist/src/RecordingListener.d.ts +0 -9
  78. package/dist/src/RecordingListener.d.ts.map +0 -1
  79. package/dist/src/RecordingListener.js +0 -19
  80. package/dist/src/RecordingListener.js.map +0 -1
  81. package/dist/src/generated/plurnkLexer.d.ts +0 -174
  82. package/dist/src/generated/plurnkLexer.d.ts.map +0 -1
  83. package/dist/src/generated/plurnkLexer.js +0 -1215
  84. package/dist/src/generated/plurnkLexer.js.map +0 -1
  85. package/dist/src/generated/plurnkParser.d.ts +0 -477
  86. package/dist/src/generated/plurnkParser.d.ts.map +0 -1
  87. package/dist/src/generated/plurnkParser.js +0 -3298
  88. package/dist/src/generated/plurnkParser.js.map +0 -1
  89. package/dist/src/generated/plurnkParserVisitor.d.ts +0 -284
  90. package/dist/src/generated/plurnkParserVisitor.d.ts.map +0 -1
  91. package/dist/src/generated/plurnkParserVisitor.js +0 -245
  92. package/dist/src/generated/plurnkParserVisitor.js.map +0 -1
@@ -1,335 +0,0 @@
1
- import { CharStream, CommonTokenStream } from "antlr4ng";
2
- import { plurnkLexer } from "./generated/plurnkLexer.js";
3
- import { plurnkParser } from "./generated/plurnkParser.js";
4
- import AstBuilder from "./AstBuilder.js";
5
- import PlurnkParseError from "./PlurnkParseError.js";
6
- import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
7
- import RecordingListener from "./RecordingListener.js";
8
- import { UNKNOWN_POSITION, } from "./types.js";
9
- // Statement-bearing contexts the extraction builds into items. `statement` (statementSeq) and
10
- // `midStatement` (mid-turn ops) each wrap one op; PLAN and the terminal SEND attach as direct
11
- // `planStatement`/`sendStatement` children of a turn; `clientStatement` wraps one op in the
12
- // client tier.
13
- const STATEMENT_RULES = new Set([
14
- plurnkParser.RULE_statement,
15
- plurnkParser.RULE_midStatement,
16
- plurnkParser.RULE_planStatement,
17
- plurnkParser.RULE_sendStatement,
18
- plurnkParser.RULE_clientStatement,
19
- ]);
20
- // Container rules whose children hold one turn's statements. `turnContent`
21
- // carries tolerated preamble text; `turn` is also the direct child of a fenced
22
- // document. parseLog contains multiple turnContent siblings, flattened in order.
23
- const CONTAINER_RULES = new Set([
24
- plurnkParser.RULE_modelTurnContent,
25
- plurnkParser.RULE_modelTurn,
26
- plurnkParser.RULE_turnContent,
27
- plurnkParser.RULE_turn,
28
- ]);
29
- export default class PlurnkParser {
30
- static MISSING_SEND = "No valid terminal SEND was parsed; `### SEND0 (NEXT)` was used.";
31
- static NO_VALID_OPERATION = "no valid Plurnk operation was found.";
32
- // Parse one model turn. Canonical PLAN/SEND framing stays strict in teaching and
33
- // generation; a source operation lets ingestion recover either omitted boundary.
34
- // Tolerated preamble TEXT remains an ordered item without language semantics. {§turn-shape}
35
- static parse(input) {
36
- const { source, tolerated: scoped } = PlurnkParser.#tolerateScopeSlots(input);
37
- const result = PlurnkParser.#run(source, (parser) => parser.document());
38
- PlurnkParser.#scoldScopeSlots(result.items, scoped);
39
- // Value-adds layered on ANTLR's diagnostics while the document boundary
40
- // remains trustworthy. Neither changes what parsed.
41
- if (result.unparsedTail === undefined) {
42
- PlurnkParser.#imperativeTurnShape(result.items);
43
- PlurnkParser.#imperativeMidTermination(result.items);
44
- PlurnkParser.#recoverTurnEnvelope(result.items);
45
- }
46
- return result;
47
- }
48
- // {§scope-slot-tolerance} — `### COPY0 (worker:///src.md<2,3>)`: the line scope was written inside
49
- // the path slot. `<` and `>` are not URI characters, so a `<...>` right before a slot's closing
50
- // paren can only be a scope: the heading is read as `(worker:///src.md) <2,3>` and the slip is a
51
- // warning advisory after its statement — the statement runs (#442, ruled 2026-08-30: accept with a
52
- // warning). The rewrite adds one character per slot, so a column on the same heading after the
53
- // slot is off by that much; lines stay true.
54
- static #SCOPE_SLOT = /\(([^\s()<>]+)<([^<>()\s]+)>\)/g;
55
- static #tolerateScopeSlots(input) {
56
- const tolerated = [];
57
- const source = input.split("\n").map((text, index) => {
58
- if (!/^#{2,3} [A-Z]+[A-Za-z0-9_]* /.test(text))
59
- return text;
60
- return text.replace(PlurnkParser.#SCOPE_SLOT, (match, path, scope, offset) => {
61
- tolerated.push({ line: index + 1, column: offset + path.length + 2, scope });
62
- return `(${path}) <${scope}>`;
63
- });
64
- }).join("\n");
65
- return { source, tolerated };
66
- }
67
- static #scoldScopeSlots(items, tolerated) {
68
- // Each scold splices in right after its statement; reversed, two slips on one heading
69
- // keep their authored order.
70
- for (const { line, column, scope } of tolerated.toReversed()) {
71
- const scold = {
72
- kind: "error",
73
- error: new PlurnkParseError(line, column, "parser", `\`<${scope}>\` belongs after the \`(path)\` slot, not inside it - \`(path) <${scope}>\` was used.`, "warning"),
74
- };
75
- const at = items.findIndex((item) => item.kind === "statement" && item.statement.position?.line === line);
76
- if (at === -1)
77
- items.push(scold);
78
- else
79
- items.splice(at + 1, 0, scold);
80
- }
81
- }
82
- // Terminal disposition alphabet. {§waitpid-dispositions} {§wait-obligation-matrix}
83
- // Replace ANTLR's generic structure errors with the exact envelope default when the
84
- // canonical PLAN...SEND shape is cleanly incomplete. The parser admits the useful
85
- // operations and core records this hard diagnostic as the turn's strike. {§turn-shape}
86
- static #imperativeTurnShape(items) {
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)
91
- return;
92
- const isStructErr = (i) => i.kind === "error" && i.error.source === "parser" && i.error.severity === "error";
93
- const structErrors = items.filter(isStructErr);
94
- const statements = items.flatMap((item) => item.kind === "statement" ? [item.statement] : []);
95
- if (statements.length === 0) {
96
- const anchor = structErrors[0]?.error;
97
- // With no operation to retain, the grammar's expected-token cascade is less useful
98
- // than the exact admission failure. Lexer and visitor diagnostics remain intact.
99
- const kept = items.filter((item) => !isStructErr(item));
100
- items.length = 0;
101
- items.push(...kept, {
102
- kind: "error",
103
- error: new PlurnkParseError(anchor?.line ?? 1, anchor?.column ?? 0, "parser", PlurnkParser.NO_VALID_OPERATION),
104
- });
105
- return;
106
- }
107
- // Only add the anchor imperative when the shape is CLEANLY incomplete. If a bounded lexer
108
- // or visitor error is present, the turn derailed within an operation, so the
109
- // missing PLAN/SEND is a parse artifact, not the real fix - that specific bounded error
110
- // is the actionable guidance, and an imperative would mislead.
111
- const hasSpecificError = items.some((i) => i.kind === "error" && i.error.severity === "error" && i.error.source !== "parser");
112
- if (hasSpecificError)
113
- return;
114
- if (!hasSend) {
115
- const position = statements.at(-1)?.position ?? UNKNOWN_POSITION;
116
- items.push({
117
- kind: "error",
118
- error: new PlurnkParseError(position.line, position.column, "parser", PlurnkParser.MISSING_SEND),
119
- });
120
- }
121
- }
122
- // A model emission with at least one valid operation remains a useful program when it
123
- // omits envelope ceremony. Materialize the exact language defaults in the AST; the raw
124
- // source remains untouched as forensic turnOps evidence. GBNF and parseLog stay strict.
125
- static #recoverTurnEnvelope(items) {
126
- const sourceStatements = items.flatMap((item) => item.kind === "statement" ? [item.statement] : []);
127
- if (sourceStatements.length === 0)
128
- return;
129
- const delimiter = sourceStatements[0]?.delimiter || "0";
130
- const hasTerminalSend = sourceStatements.some((statement) => statement.op === "SEND" && statement.status !== null);
131
- if (!hasTerminalSend) {
132
- const send = {
133
- op: "SEND",
134
- delimiter,
135
- annotation: null,
136
- status: 102,
137
- target: null,
138
- metadata: null,
139
- lineMarker: null,
140
- body: null,
141
- position: UNKNOWN_POSITION,
142
- };
143
- const lastStatement = items.findLastIndex((item) => item.kind === "statement");
144
- items.splice(lastStatement + 1, 0, { kind: "statement", statement: send });
145
- }
146
- }
147
- // Lift the mid-turn-termination error. A disposition-coded SEND
148
- // (102/200/202/499) ends the turn, so a following operation is an error.
149
- // Rewrite ANTLR's generic structure message to that rule. {§send-mid-reservation}
150
- // Runs after the begin/end imperative (which handles the incomplete-shape case and, for a
151
- // complete-but-trailing turn, returns early leaving this error in place to rewrite).
152
- static #imperativeMidTermination(items) {
153
- // If a bounded lexer/visitor error derailed the turn, any recovered disposition SEND is
154
- // suspect; don't mislabel its fallout as a mid-termination. Boundary loss never reaches
155
- // this pass. Mirrors #imperativeTurnShape's guard.
156
- if (items.some((i) => i.kind === "error" && i.error.severity === "error" && i.error.source !== "parser"))
157
- return;
158
- const terminal = items.find((i) => i.kind === "statement" && i.statement.op === "SEND" && i.statement.status !== null);
159
- if (!terminal)
160
- return;
161
- const t = terminal.statement.position;
162
- for (const i of items) {
163
- if (i.kind !== "error" || i.error.source !== "parser" || i.error.severity !== "error")
164
- continue;
165
- const after = i.error.line > t.line || (i.error.line === t.line && i.error.column > t.column);
166
- if (!after)
167
- continue;
168
- i.error = new PlurnkParseError(i.error.line, i.error.column, "parser", "`### SEND0 (NEXT|WAIT|TERM|FAIL)` ends the turn - nothing may follow it");
169
- }
170
- }
171
- // Collapse a lexer per-character cascade: the SIGNAL/TARGET modes emit one 'unrecognized
172
- // character' error PER bad char, so a single malformed `[signal]` floods 10+ near-identical
173
- // rows. Keep the first of each consecutive same-context run (adjacent columns, same mode
174
- // context) - the model needs one steer to the fix, not a per-character wall. Mutates in place.
175
- static #dedupeLexerCascade(errors) {
176
- for (let i = errors.length - 1; i >= 1; i--) {
177
- const cur = errors[i];
178
- const prev = errors[i - 1];
179
- if (cur.source !== "lexer" || prev.source !== "lexer")
180
- continue;
181
- if (cur.line !== prev.line || cur.column !== prev.column + 1)
182
- continue;
183
- if (PlurnkParser.#lexerContext(cur.message) !== PlurnkParser.#lexerContext(prev.message))
184
- continue;
185
- errors.splice(i, 1);
186
- }
187
- }
188
- // The mode-context tail of a lexer message (the part after `unrecognized character <ch> `),
189
- // e.g. `in signal - expected integer for SEND/KILL, then \`]\``. Two adjacent chars sharing
190
- // it belong to the same cascade.
191
- static #lexerContext(message) {
192
- const m = /unrecognized character (?:'[^']*'|end of input) (.+)$/.exec(message);
193
- return m ? m[1] : message;
194
- }
195
- // Parse a bare sequence of statements - teaching-example collections, single ops,
196
- // documentation snippets. Strict: statements only (whitespace is hidden), no prose,
197
- // no turn shape. Not for model output; use `parse` for that.
198
- static parseStatements(input) {
199
- return PlurnkParser.#run(input, (parser) => parser.statementSeq());
200
- }
201
- // Parse a multi-turn LOG - a saved sequence of turns, each a full PLAN-anchored sandwich.
202
- // Items are flat across turns, in source order; turn
203
- // boundaries are recoverable from the terminal SENDs. A log is valid (no error items, no
204
- // unparsedTail) iff every turn in it is a valid turn.
205
- static parseLog(input) {
206
- return PlurnkParser.#run(input, (parser) => parser.log());
207
- }
208
- // Parse the CLIENT tier - a bare sequence of protocol statements plus the client-only utility
209
- // ops LOOK and BUFF. The topmost subset (one above Script); never used for model output. The
210
- // protocol entry points reject LOOK/BUFF, so a client op only parses here.
211
- static parseClient(input) {
212
- return PlurnkParser.#run(input, (parser) => parser.clientStatementSeq(), (ctx) => AstBuilder.buildClient(ctx));
213
- }
214
- static #run(input, parseFn, buildFn = ((ctx) => AstBuilder.build(ctx))) {
215
- const lexer = new plurnkLexer(CharStream.fromString(input));
216
- const errors = [];
217
- lexer.removeErrorListeners();
218
- lexer.addErrorListener(new RecordingListener("lexer", errors));
219
- const tokenStream = new CommonTokenStream(lexer);
220
- const parser = new plurnkParser(tokenStream);
221
- parser.removeErrorListeners();
222
- parser.addErrorListener(new RecordingListener("parser", errors));
223
- parser.errorHandler = new PlurnkErrorStrategy();
224
- const tree = parseFn(parser);
225
- PlurnkParser.#dedupeLexerCascade(errors);
226
- const unparsedTail = PlurnkParser.#unparsedTail(lexer);
227
- const items = [];
228
- const consumedErrors = new Set();
229
- PlurnkParser.#collect(tree, errors, consumedErrors, items, buildFn, unparsedTail?.from);
230
- // {§heading-inline-body} — a body that began on the heading line ran as the body; say so,
231
- // right after its statement, so the form is learned from the packet, not from silence.
232
- for (const note of lexer.takeInlineBodies()) {
233
- const advisory = {
234
- kind: "error",
235
- error: new PlurnkParseError(note.line, note.column, "parser", `\`${note.heading}\` body text was on the OP line and was taken as the body; body content goes immediately beneath the OP heading line.`, "warning"),
236
- };
237
- const at = items.findIndex((item) => item.kind === "statement" && item.statement.position?.line === note.line);
238
- if (at !== -1)
239
- items.splice(at + 1, 0, advisory);
240
- }
241
- for (const err of errors) {
242
- if (!consumedErrors.has(err)
243
- && (unparsedTail === undefined || PlurnkParser.#isBefore(err, unparsedTail.from))) {
244
- items.push({ kind: "error", error: err });
245
- }
246
- }
247
- return { items, unparsedTail };
248
- }
249
- // Determine the public trust boundary before visiting recovered contexts. The parser may
250
- // synthesize tree nodes after an unfinished lexer mode, but those nodes have no public AST
251
- // meaning and can violate AstBuilder's complete-statement precondition. {§unparsed-tail-boundary}
252
- static #unparsedTail(lexer) {
253
- // EOF concludes a section body and may directly conclude a bodyless
254
- // heading. Only a partially open modifier destroys the later boundary.
255
- const modeName = lexer.modeNames[lexer.mode] ?? "";
256
- if (lexer.mode === 0 || modeName === "BODY" || modeName === "SLOTS")
257
- return undefined;
258
- const openTag = lexer.getOpenTag();
259
- const from = { line: lexer.getOpenTagLine(), column: lexer.getOpenTagColumn() };
260
- const heading = lexer.getOpenHeading() || `## ${openTag}`;
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 \`)\``;
264
- return { from, reason };
265
- }
266
- // Walk a parse tree, appending statement/error/text items in source order. Statement rules
267
- // are leaves (built directly); container rules (turnContent) are recursed into; TEXT tokens
268
- // surface as text items. So `document` (one turnContent) and `log` (turnContent+) both
269
- // flatten to items in order, while a bounded malformed statement surfaces as an error item.
270
- static #collect(ctx, errors, consumedErrors, items, buildFn, boundary) {
271
- for (const child of ctx.children ?? []) {
272
- const c = child;
273
- const start = c.start ?? c.symbol;
274
- const stop = c.stop ?? c.symbol;
275
- if (!start)
276
- continue;
277
- if (boundary !== undefined && !PlurnkParser.#isBefore(start, boundary))
278
- continue;
279
- if (c.ruleIndex !== undefined && STATEMENT_RULES.has(c.ruleIndex)) {
280
- const errorsForStatement = errors.filter((e) => !consumedErrors.has(e) && PlurnkParser.#errorInRange(e, start, stop ?? start));
281
- const errForStatement = errorsForStatement[0];
282
- if (errForStatement) {
283
- // One malformed statement projects one hard diagnostic. {§error-shape}
284
- for (const error of errorsForStatement)
285
- consumedErrors.add(error);
286
- items.push({ kind: "error", error: errForStatement });
287
- }
288
- else if ((c.getChildCount?.() ?? 0) === 0) {
289
- // A phantom statement context synthesized during error recovery (e.g. a
290
- // PLAN slot the parser opened then failed to fill on bare text): zero tokens
291
- // matched, so its opening terminal is null and building it would null-deref.
292
- // The real failure is already recorded; skip the zero-token recovery node.
293
- }
294
- else {
295
- try {
296
- items.push({ kind: "statement", statement: buildFn(c) });
297
- // {§misplaced-annotation-advisory} — the builder's advisories follow their statement.
298
- for (const advisory of AstBuilder.takeAdvisories())
299
- items.push({ kind: "error", error: advisory });
300
- }
301
- catch (e) {
302
- // A genuine visitor contract violation (e.g. a malformed URI) is a
303
- // PlurnkParseError - surface it as an error item. Anything else is an
304
- // internal bug, not a parse error: let it crash rather than masquerade
305
- // as a model-facing parse-error item.
306
- if (!(e instanceof PlurnkParseError))
307
- throw e;
308
- items.push({ kind: "error", error: e });
309
- }
310
- }
311
- }
312
- else if (c.ruleIndex !== undefined && CONTAINER_RULES.has(c.ruleIndex)) {
313
- PlurnkParser.#collect(c, errors, consumedErrors, items, buildFn, boundary);
314
- }
315
- else if (c.symbol?.type === plurnkLexer.TEXT) {
316
- const position = { line: start.line, column: start.column };
317
- items.push({ kind: "text", text: c.symbol.text ?? "", position });
318
- }
319
- }
320
- }
321
- static #isBefore(point, boundary) {
322
- return point.line < boundary.line
323
- || (point.line === boundary.line && point.column < boundary.column);
324
- }
325
- static #errorInRange(err, start, stop) {
326
- if (err.line < start.line || err.line > stop.line)
327
- return false;
328
- if (err.line === start.line && err.column < start.column)
329
- return false;
330
- if (err.line === stop.line && err.column > stop.column)
331
- return false;
332
- return true;
333
- }
334
- }
335
- //# sourceMappingURL=PlurnkParser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlurnkParser.js","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { BaseErrorListener, type RecognitionException, type Recognizer, type Token } from "antlr4ng";
2
- import PlurnkParseError from "./PlurnkParseError.ts";
3
- export default class RecordingListener extends BaseErrorListener {
4
- readonly errors: PlurnkParseError[];
5
- readonly source: "lexer" | "parser";
6
- constructor(source: "lexer" | "parser", errors: PlurnkParseError[]);
7
- syntaxError(recognizer: Recognizer<any>, _offendingSymbol: Token | null, line: number, column: number, msg: string, _e: RecognitionException | null): void;
8
- }
9
- //# sourceMappingURL=RecordingListener.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecordingListener.d.ts","sourceRoot":"","sources":["../../src/RecordingListener.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,KAAK,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAGrD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEpC,YAAY,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAIjE;IAEQ,WAAW,CAChB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAC3B,gBAAgB,EAAE,KAAK,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,oBAAoB,GAAG,IAAI,GAChC,IAAI,CAKN;CACJ"}
@@ -1,19 +0,0 @@
1
- import { BaseErrorListener, } from "antlr4ng";
2
- import PlurnkParseError from "./PlurnkParseError.js";
3
- import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
4
- export default class RecordingListener extends BaseErrorListener {
5
- errors;
6
- source;
7
- constructor(source, errors) {
8
- super();
9
- this.source = source;
10
- this.errors = errors;
11
- }
12
- syntaxError(recognizer, _offendingSymbol, line, column, msg, _e) {
13
- const translated = this.source === "lexer"
14
- ? PlurnkErrorStrategy.translateLexerMessage(recognizer, msg)
15
- : msg;
16
- this.errors.push(new PlurnkParseError(line, column, this.source, translated));
17
- }
18
- }
19
- //# sourceMappingURL=RecordingListener.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecordingListener.js","sourceRoot":"","sources":["../../src/RecordingListener.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,GAIpB,MAAM,UAAU,CAAC;AAElB,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,iBAAiB;IACnD,MAAM,CAAqB;IAC3B,MAAM,CAAqB;IAEpC,YAAY,MAA0B,EAAE,MAA0B;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEQ,WAAW,CAChB,UAA2B,EAC3B,gBAA8B,EAC9B,IAAY,EACZ,MAAc,EACd,GAAW,EACX,EAA+B;QAE/B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO;YACtC,CAAC,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,UAAyB,EAAE,GAAG,CAAC;YAC3E,CAAC,CAAC,GAAG,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAClF,CAAC;CACJ"}
@@ -1,174 +0,0 @@
1
- import * as antlr from "antlr4ng";
2
- export declare class plurnkLexer extends antlr.Lexer {
3
- static readonly LPAREN = 1;
4
- static readonly RPAREN = 2;
5
- static readonly LBRACE = 3;
6
- static readonly RBRACE = 4;
7
- static readonly L_MARKER = 5;
8
- static readonly COMBINED_L_MARKER = 6;
9
- static readonly BODY_OPEN = 7;
10
- static readonly SECTION_END = 8;
11
- static readonly TARGET_TEXT = 9;
12
- static readonly METADATA_TEXT = 10;
13
- static readonly BODY_TEXT = 11;
14
- static readonly TEXT = 12;
15
- static readonly ANNOTATION = 13;
16
- static readonly SEND_LABEL = 14;
17
- static readonly EXECUTOR = 15;
18
- static readonly OPEN_PLAN = 16;
19
- static readonly OPEN_FIND = 17;
20
- static readonly OPEN_READ = 18;
21
- static readonly OPEN_EDIT = 19;
22
- static readonly OPEN_COPY = 20;
23
- static readonly OPEN_MOVE = 21;
24
- static readonly OPEN_SEND = 22;
25
- static readonly OPEN_EXEC = 23;
26
- static readonly OPEN_BARE = 24;
27
- static readonly OPEN_WORK = 25;
28
- static readonly OPEN_FORK = 26;
29
- static readonly OPEN_KILL = 27;
30
- static readonly OPEN_LOOK = 28;
31
- static readonly OPEN_BUFF = 29;
32
- static readonly FENCE_OPEN = 30;
33
- static readonly FENCE_CLOSE = 31;
34
- static readonly WS = 32;
35
- static readonly SLOTS_WS = 33;
36
- static readonly TEXT_HASH = 34;
37
- static readonly TARGET_BACKSLASH = 35;
38
- static readonly SLOTS = 1;
39
- static readonly TARGET = 2;
40
- static readonly METADATA = 3;
41
- static readonly BODY = 4;
42
- static readonly channelNames: string[];
43
- static readonly literalNames: (string | null)[];
44
- static readonly symbolicNames: (string | null)[];
45
- static readonly modeNames: string[];
46
- static readonly ruleNames: string[];
47
- private activeDelimiter;
48
- private openOp;
49
- private openHeading;
50
- private openHeadingLine;
51
- private openHeadingColumn;
52
- private slotReady;
53
- private targetDepth;
54
- private metadataDepth;
55
- private metadataReady;
56
- private bodyAtStart;
57
- private terminalSend;
58
- private documentFence;
59
- private static readonly PROTOCOL_OPS;
60
- private static readonly CLIENT_OPS;
61
- private isDelimiterChar;
62
- private matchesLiteral;
63
- private headingAt;
64
- private matchesHeading;
65
- private open;
66
- private offsetAfterEol;
67
- private headingAfterDirectEol;
68
- private headingAfterBlankLine;
69
- private headingAfterEmptySpacedLine;
70
- private beginBody;
71
- private retainBody;
72
- private inlineBodies;
73
- private noteInlineBody;
74
- takeInlineBodies(): Array<{
75
- line: number;
76
- column: number;
77
- heading: string;
78
- }>;
79
- private openDocumentFence;
80
- private closeDocumentFence;
81
- private inDocumentFence;
82
- private fenceAfterDirectEol;
83
- getOpenTag(): string;
84
- getOpenOp(): string;
85
- getOpenTagLine(): number;
86
- getOpenTagColumn(): number;
87
- getOpenHeading(): string;
88
- isTextCoordinateOp(): boolean;
89
- private inlineBodyAhead;
90
- constructor(input: antlr.CharStream);
91
- get grammarFileName(): string;
92
- get literalNames(): (string | null)[];
93
- get symbolicNames(): (string | null)[];
94
- get ruleNames(): string[];
95
- get serializedATN(): number[];
96
- get channelNames(): string[];
97
- get modeNames(): string[];
98
- action(localContext: antlr.ParserRuleContext | null, ruleIndex: number, actionIndex: number): void;
99
- private OPEN_PLAN_action;
100
- private OPEN_FIND_action;
101
- private OPEN_READ_action;
102
- private OPEN_EDIT_action;
103
- private OPEN_COPY_action;
104
- private OPEN_MOVE_action;
105
- private OPEN_SEND_action;
106
- private OPEN_EXEC_action;
107
- private OPEN_BARE_action;
108
- private OPEN_WORK_action;
109
- private OPEN_FORK_action;
110
- private OPEN_KILL_action;
111
- private OPEN_LOOK_action;
112
- private OPEN_BUFF_action;
113
- private FENCE_OPEN_action;
114
- private FENCE_CLOSE_action;
115
- private SLOTS_WS_action;
116
- private SLOTS_SEND_LABEL_action;
117
- private SLOTS_EXECUTOR_action;
118
- private SLOTS_LPAREN_action;
119
- private SLOTS_LBRACE_action;
120
- private SLOTS_INLINE_BODY_action;
121
- private SLOTS_BODY_OPEN_action;
122
- private TARGET_NEST_OPEN_action;
123
- private TARGET_NEST_END_action;
124
- private TARGET_END_action;
125
- private METADATA_NEST_OPEN_action;
126
- private METADATA_NEST_END_action;
127
- private METADATA_END_action;
128
- private B_FENCE_CLOSE_action;
129
- private B_RUN_action;
130
- private B_CRLF_action;
131
- private B_LF_action;
132
- private B_CR_action;
133
- sempred(localContext: antlr.ParserRuleContext | null, ruleIndex: number, predIndex: number): boolean;
134
- private OPEN_PLAN_sempred;
135
- private OPEN_FIND_sempred;
136
- private OPEN_READ_sempred;
137
- private OPEN_EDIT_sempred;
138
- private OPEN_COPY_sempred;
139
- private OPEN_MOVE_sempred;
140
- private OPEN_SEND_sempred;
141
- private OPEN_EXEC_sempred;
142
- private OPEN_BARE_sempred;
143
- private OPEN_WORK_sempred;
144
- private OPEN_FORK_sempred;
145
- private OPEN_KILL_sempred;
146
- private OPEN_LOOK_sempred;
147
- private OPEN_BUFF_sempred;
148
- private FENCE_OPEN_sempred;
149
- private FENCE_CLOSE_sempred;
150
- private SLOTS_SEND_LABEL_sempred;
151
- private SLOTS_EXECUTOR_sempred;
152
- private SLOTS_LPAREN_sempred;
153
- private SLOTS_LBRACE_sempred;
154
- private SLOTS_TEXT_L_sempred;
155
- private SLOTS_L_sempred;
156
- private SLOTS_COMBINED_TEXT_L_sempred;
157
- private SLOTS_ANNOTATION_sempred;
158
- private SLOTS_INLINE_BODY_sempred;
159
- private SLOTS_DIRECT_END_sempred;
160
- private TARGET_NEST_END_sempred;
161
- private METADATA_NEST_END_sempred;
162
- private B_FENCE_CLOSE_sempred;
163
- private B_FENCE_END_sempred;
164
- private B_SECTION_END_sempred;
165
- private B_DIRECT_END_sempred;
166
- private B_EMPTY_SPACED_END_sempred;
167
- static readonly _serializedATN: number[];
168
- private static __ATN;
169
- static get _ATN(): antlr.ATN;
170
- private static readonly vocabulary;
171
- get vocabulary(): antlr.Vocabulary;
172
- private static readonly decisionsToDFA;
173
- }
174
- //# sourceMappingURL=plurnkLexer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plurnkLexer.d.ts","sourceRoot":"","sources":["../../../src/generated/plurnkLexer.ts"],"names":[],"mappings":"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"}