@plurnk/plurnk-contracts 1.16.4 → 1.17.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/README.md +13 -29
- package/SPEC.md +605 -518
- package/dist/conformance/agui-v1.json +3 -3
- package/dist/schema/CapabilityProjection.json +2 -4
- package/dist/schema/ClientStatement.json +5 -52
- package/dist/schema/FunctionalityDefinitionState.json +2 -2
- package/dist/schema/LineMarker.json +1 -1
- package/dist/schema/LoopPolicy.json +2 -3
- package/dist/schema/MatcherBody.json +6 -6
- package/dist/schema/McpServerDefinition.json +17 -0
- package/dist/schema/ModelCatalogPage.json +10 -1
- package/dist/schema/ModelRoute.json +9 -0
- package/dist/schema/Notice.json +1 -1
- package/dist/schema/ParsedPath.json +3 -2
- package/dist/schema/Plan.json +9 -5
- package/dist/schema/PlurnkStatement.json +86 -134
- package/dist/schema/ProposalProjection.json +2 -1
- package/dist/schema/ResourceSelection.json +51 -27
- package/dist/schema/SkillDefinition.json +3 -3
- package/dist/src/AcpPlanValue.d.ts +0 -1
- package/dist/src/AcpPlanValue.d.ts.map +1 -1
- package/dist/src/AcpPlanValue.js +14 -13
- package/dist/src/AcpPlanValue.js.map +1 -1
- package/dist/src/ApplicationPort.d.ts +16 -14
- package/dist/src/ApplicationPort.d.ts.map +1 -1
- package/dist/src/AstBuilder.d.ts +3 -2
- package/dist/src/AstBuilder.d.ts.map +1 -1
- package/dist/src/AstBuilder.js +340 -187
- package/dist/src/AstBuilder.js.map +1 -1
- package/dist/src/JsonDocument.d.ts +2 -0
- package/dist/src/JsonDocument.d.ts.map +1 -0
- package/dist/src/JsonDocument.js +14 -0
- package/dist/src/JsonDocument.js.map +1 -0
- package/dist/src/LoopLifecycle.d.ts +3 -0
- package/dist/src/LoopLifecycle.d.ts.map +1 -0
- package/dist/src/LoopLifecycle.js +14 -0
- package/dist/src/LoopLifecycle.js.map +1 -0
- package/dist/src/PlanValue.d.ts +1 -1
- package/dist/src/PlanValue.d.ts.map +1 -1
- package/dist/src/PlanValue.js +10 -6
- package/dist/src/PlanValue.js.map +1 -1
- package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/src/PlurnkErrorStrategy.js +58 -139
- package/dist/src/PlurnkErrorStrategy.js.map +1 -1
- package/dist/src/PlurnkParseError.d.ts +3 -1
- package/dist/src/PlurnkParseError.d.ts.map +1 -1
- package/dist/src/PlurnkParseError.js +4 -1
- package/dist/src/PlurnkParseError.js.map +1 -1
- package/dist/src/PlurnkParser.d.ts +9 -5
- package/dist/src/PlurnkParser.d.ts.map +1 -1
- package/dist/src/PlurnkParser.js +175 -180
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/RecordingListener.d.ts +1 -1
- package/dist/src/RecordingListener.d.ts.map +1 -1
- package/dist/src/RecordingListener.js +24 -6
- package/dist/src/RecordingListener.js.map +1 -1
- package/dist/src/TurnDisposition.d.ts +11 -0
- package/dist/src/TurnDisposition.d.ts.map +1 -0
- package/dist/src/TurnDisposition.js +32 -0
- package/dist/src/TurnDisposition.js.map +1 -0
- package/dist/src/Validator.js +1 -1
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/generated/plurnkLexer.d.ts +95 -106
- package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/src/generated/plurnkLexer.js +674 -828
- package/dist/src/generated/plurnkLexer.js.map +1 -1
- package/dist/src/generated/plurnkParser.d.ts +111 -152
- package/dist/src/generated/plurnkParser.d.ts.map +1 -1
- package/dist/src/generated/plurnkParser.js +756 -1082
- package/dist/src/generated/plurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +15 -36
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.js +12 -30
- package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
- package/dist/src/index.d.ts +5 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +3 -7
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +147 -80
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +3 -3
- package/dist/src/types.js.map +1 -1
- package/package.json +4 -8
- package/plurnk.md +103 -119
- package/dist/plurnk.gemma.gbnf +0 -141
- package/dist/plurnk.qwen.gbnf +0 -130
|
@@ -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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"}
|
|
@@ -5,13 +5,15 @@ export default class PlurnkParseError extends Error {
|
|
|
5
5
|
readonly column: number;
|
|
6
6
|
readonly source: ErrorSource;
|
|
7
7
|
readonly severity: Severity;
|
|
8
|
-
|
|
8
|
+
readonly code?: "invalid-turn-structure";
|
|
9
|
+
constructor(line: number, column: number, source: ErrorSource, message: string, severity?: Severity, code?: PlurnkParseError["code"]);
|
|
9
10
|
toJSON(): {
|
|
10
11
|
line: number;
|
|
11
12
|
column: number;
|
|
12
13
|
source: ErrorSource;
|
|
13
14
|
severity: Severity;
|
|
14
15
|
message: string;
|
|
16
|
+
code?: PlurnkParseError["code"];
|
|
15
17
|
};
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=PlurnkParseError.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkParseError.d.ts","sourceRoot":"","sources":["../../src/PlurnkParseError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"PlurnkParseError.d.ts","sourceRoot":"","sources":["../../src/PlurnkParseError.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAEzC,YAAY,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAkB,EAAE,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAQ5I;IAED,MAAM,IAAI;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAA;KAAE,CASpI;CACJ"}
|
|
@@ -3,13 +3,15 @@ export default class PlurnkParseError extends Error {
|
|
|
3
3
|
column;
|
|
4
4
|
source;
|
|
5
5
|
severity;
|
|
6
|
-
|
|
6
|
+
code;
|
|
7
|
+
constructor(line, column, source, message, severity = "error", code) {
|
|
7
8
|
super(message);
|
|
8
9
|
this.name = "PlurnkParseError";
|
|
9
10
|
this.line = line;
|
|
10
11
|
this.column = column;
|
|
11
12
|
this.source = source;
|
|
12
13
|
this.severity = severity;
|
|
14
|
+
this.code = code;
|
|
13
15
|
}
|
|
14
16
|
toJSON() {
|
|
15
17
|
return {
|
|
@@ -18,6 +20,7 @@ export default class PlurnkParseError extends Error {
|
|
|
18
20
|
source: this.source,
|
|
19
21
|
severity: this.severity,
|
|
20
22
|
message: this.message,
|
|
23
|
+
...(this.code === undefined ? {} : { code: this.code }),
|
|
21
24
|
};
|
|
22
25
|
}
|
|
23
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkParseError.js","sourceRoot":"","sources":["../../src/PlurnkParseError.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;IACtC,IAAI,CAAS;IACb,MAAM,CAAS;IACf,MAAM,CAAc;IACpB,QAAQ,CAAW;
|
|
1
|
+
{"version":3,"file":"PlurnkParseError.js","sourceRoot":"","sources":["../../src/PlurnkParseError.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK;IACtC,IAAI,CAAS;IACb,MAAM,CAAS;IACf,MAAM,CAAc;IACpB,QAAQ,CAAW;IACnB,IAAI,CAA4B;IAEzC,YAAY,IAAY,EAAE,MAAc,EAAE,MAAmB,EAAE,OAAe,EAAE,QAAQ,GAAa,OAAO,EAAE,IAA+B;QACzI,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1D,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { type ClientStatement, type ParseResult } from "./types.ts";
|
|
2
|
+
export interface ParseOptions {
|
|
3
|
+
readonly executors?: readonly string[];
|
|
4
|
+
}
|
|
2
5
|
export default class PlurnkParser {
|
|
3
6
|
#private;
|
|
4
|
-
static readonly MISSING_SEND = "No valid terminal SEND was parsed; `### SEND0 (NEXT)` was used.";
|
|
5
7
|
static readonly NO_VALID_OPERATION = "no valid Plurnk operation was found.";
|
|
6
|
-
static
|
|
7
|
-
static
|
|
8
|
-
static
|
|
9
|
-
static
|
|
8
|
+
static frame(header: string, body: string | null): string;
|
|
9
|
+
static stringify(statements: readonly ClientStatement[]): string;
|
|
10
|
+
static parse(input: string, options?: ParseOptions): ParseResult;
|
|
11
|
+
static parseStatements(input: string, options?: ParseOptions): ParseResult;
|
|
12
|
+
static parseLog(input: string, options?: ParseOptions): ParseResult;
|
|
13
|
+
static parseClient(input: string, options?: ParseOptions): ParseResult<ClientStatement>;
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=PlurnkParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AASA,OAAO,EAEH,KAAK,eAAe,EAEpB,KAAK,WAAW,EAInB,MAAM,YAAY,CAAC;AAqBpB,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,QAAQ,CAAC,kBAAkB,0CAA0C;IAK5E,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAWxD;IAGD,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAyC/D;IAKD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAOnE;IAoDD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAE7E;IAID,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAEtE;IAKD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,WAAW,CAAC,eAAe,CAAC,CAO1F;CAgMJ"}
|
package/dist/src/PlurnkParser.js
CHANGED
|
@@ -1,172 +1,120 @@
|
|
|
1
|
-
import { CharStream, CommonTokenStream } from "antlr4ng";
|
|
1
|
+
import { CharStream, CommonTokenStream, Token } from "antlr4ng";
|
|
2
2
|
import { plurnkLexer } from "./generated/plurnkLexer.js";
|
|
3
3
|
import { plurnkParser } from "./generated/plurnkParser.js";
|
|
4
4
|
import AstBuilder from "./AstBuilder.js";
|
|
5
|
+
import PlanValue from "./PlanValue.js";
|
|
6
|
+
import TurnDisposition from "./TurnDisposition.js";
|
|
5
7
|
import PlurnkParseError from "./PlurnkParseError.js";
|
|
6
8
|
import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
|
|
7
9
|
import RecordingListener from "./RecordingListener.js";
|
|
8
|
-
import {
|
|
10
|
+
import { PLURNK_OPS, } from "./types.js";
|
|
9
11
|
// Statement-bearing contexts the extraction builds into items. `statement` (statementSeq) and
|
|
10
|
-
// `midStatement` (mid-turn ops) each wrap one op;
|
|
11
|
-
// `
|
|
12
|
+
// `midStatement` (mid-turn ops) each wrap one op; the turn disposition attaches as a direct
|
|
13
|
+
// `dispositionStatement` child of a turn; `clientStatement` wraps one op in the
|
|
12
14
|
// client tier.
|
|
13
15
|
const STATEMENT_RULES = new Set([
|
|
14
16
|
plurnkParser.RULE_statement,
|
|
15
17
|
plurnkParser.RULE_midStatement,
|
|
16
|
-
plurnkParser.
|
|
17
|
-
plurnkParser.RULE_sendStatement,
|
|
18
|
+
plurnkParser.RULE_dispositionStatement,
|
|
18
19
|
plurnkParser.RULE_clientStatement,
|
|
19
20
|
]);
|
|
20
|
-
//
|
|
21
|
-
// carries tolerated preamble text; `turn` is also the direct child of a fenced
|
|
22
|
-
// document. parseLog contains multiple turnContent siblings, flattened in order.
|
|
21
|
+
// One-turn containers, flattened in source order for model and saved programs.
|
|
23
22
|
const CONTAINER_RULES = new Set([
|
|
24
|
-
plurnkParser.RULE_modelTurnContent,
|
|
25
23
|
plurnkParser.RULE_modelTurn,
|
|
26
|
-
plurnkParser.RULE_turnContent,
|
|
27
24
|
plurnkParser.RULE_turn,
|
|
28
25
|
]);
|
|
29
26
|
export default class PlurnkParser {
|
|
30
|
-
static MISSING_SEND = "No valid terminal SEND was parsed; `### SEND0 (NEXT)` was used.";
|
|
31
27
|
static NO_VALID_OPERATION = "no valid Plurnk operation was found.";
|
|
32
|
-
//
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
static
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
28
|
+
// {§statement-rendering} — a wider fence keeps shorter inner fences as body ({§fence-closer});
|
|
29
|
+
// a body that itself holds a heading line of four or more backticks needs the numeric
|
|
30
|
+
// delimiter, since such a line ends any block it stands in ({§fence-heading-in-body}).
|
|
31
|
+
static frame(header, body) {
|
|
32
|
+
const longest = (body?.match(/`+/g) ?? []).reduce((maximum, ticks) => Math.max(maximum, ticks.length), 0);
|
|
33
|
+
const fence = "`".repeat(Math.max(4, longest + 1));
|
|
34
|
+
const nested = body !== null && /^`{4,}[0-9]*[A-Za-z]/mu.test(body);
|
|
35
|
+
let delimiter = "";
|
|
36
|
+
if (nested) {
|
|
37
|
+
let candidate = 42;
|
|
38
|
+
while (new RegExp(`^\`{3,}${candidate}(?![0-9])`, "mu").test(body))
|
|
39
|
+
candidate += 1;
|
|
40
|
+
delimiter = String(candidate);
|
|
45
41
|
}
|
|
46
|
-
return
|
|
42
|
+
return `${fence}${delimiter}${header}\n${body === null ? "" : `${body}\n`}${fence}${delimiter}`;
|
|
47
43
|
}
|
|
48
|
-
// {§
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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"),
|
|
44
|
+
// {§statement-rendering} — framing is syntax, never persisted AST state.
|
|
45
|
+
static stringify(statements) {
|
|
46
|
+
return statements.map((statement) => {
|
|
47
|
+
const name = statement.op === "EXEC" ? statement.executor ?? "EXEC" : statement.op;
|
|
48
|
+
if (statement.op === "EXEC" && statement.executor !== null
|
|
49
|
+
&& [...PLURNK_OPS, "LOOK"].includes(name)) {
|
|
50
|
+
throw new TypeError(`Executor name ${JSON.stringify(name)} is reserved for a Plurnk operation.`);
|
|
51
|
+
}
|
|
52
|
+
const modifiers = [];
|
|
53
|
+
// {§naked-pattern} — a lifted matcher is written back bare when the bare form reads back
|
|
54
|
+
// identically; otherwise as its `pattern` option ({§matcher-option}), the escape.
|
|
55
|
+
const naked = (raw) => raw.trim() === raw && raw !== "" && !/[\r\n]/u.test(raw) && !raw.includes("<!--")
|
|
56
|
+
&& (/^(\/|\$|~|&|\^)/u.test(raw) || ((statement.op === "FIND" || statement.op === "READ" || statement.op === "KILL") && !/^[[(<`]/u.test(raw)));
|
|
57
|
+
const metadataOf = (metadata, matcher, bare) => metadata !== null && metadata !== undefined ? metadata.map((block) => `[${block}]`)
|
|
58
|
+
: matcher !== null && matcher !== undefined ? [bare && naked(matcher.raw) ? matcher.raw : `[${JSON.stringify({ pattern: matcher.raw })}]`]
|
|
59
|
+
: [];
|
|
60
|
+
// {§local-path-fragment} — a bare path renders its channel back as `#channel`.
|
|
61
|
+
const spelled = (target) => target.kind === "local" && target.fragment !== undefined && target.fragment !== null ? `${target.raw}#${target.fragment}` : target.raw;
|
|
62
|
+
const selection = (resource) => {
|
|
63
|
+
modifiers.push(`(${spelled(resource.target)})`);
|
|
64
|
+
if (resource.lineMarker !== null)
|
|
65
|
+
modifiers.push(`<${resource.lineMarker.marks.join(",")}>`);
|
|
66
|
+
modifiers.push(...metadataOf(resource.metadata, resource.matcher, false));
|
|
74
67
|
};
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
}
|
|
68
|
+
if (statement.op === "COPY" || statement.op === "MOVE") {
|
|
69
|
+
selection(statement.source);
|
|
70
|
+
selection(statement.destination);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
if (statement.target !== null) {
|
|
74
|
+
modifiers.push(`(${spelled(statement.target)})`);
|
|
75
|
+
}
|
|
76
|
+
if (statement.lineMarker !== null)
|
|
77
|
+
modifiers.push(`<${statement.lineMarker.marks.join(",")}>`);
|
|
78
|
+
modifiers.push(...metadataOf(statement.metadata, "matcher" in statement ? statement.matcher : null, true));
|
|
79
|
+
}
|
|
80
|
+
if (statement.aside !== null)
|
|
81
|
+
modifiers.push(`<!-- ${statement.aside} -->`);
|
|
82
|
+
const body = TurnDisposition.is(statement) ? PlanValue.stringify(statement.body)
|
|
83
|
+
: statement.op === "COPY" || statement.op === "MOVE" || statement.body === null ? null
|
|
84
|
+
: typeof statement.body === "string" ? statement.body : statement.body.raw;
|
|
85
|
+
const header = `${name}${modifiers.length === 0 ? "" : ` ${modifiers.join(" ")}`}`;
|
|
86
|
+
return PlurnkParser.frame(header, body);
|
|
87
|
+
}).join("\n\n");
|
|
121
88
|
}
|
|
122
|
-
//
|
|
123
|
-
//
|
|
124
|
-
//
|
|
125
|
-
static
|
|
126
|
-
const
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
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
|
-
}
|
|
89
|
+
// Parse one model turn. An omitted disposition is silent continuation; a present one
|
|
90
|
+
// may sit anywhere in the turn ({§disposition-anywhere}) and the runtime executes it last.
|
|
91
|
+
// Outside text never becomes a parse item. {§whitespace-contract} {§turn-shape}
|
|
92
|
+
static parse(input, options = {}) {
|
|
93
|
+
const result = PlurnkParser.#run(input, (parser) => parser.document(), undefined, options);
|
|
94
|
+
PlurnkParser.#adviseBareHeadings(input, result.items, options.executors ?? []);
|
|
95
|
+
// Value-adds layered on ANTLR's diagnostics while the document boundary
|
|
96
|
+
// remains trustworthy. Neither changes what parsed.
|
|
97
|
+
if (result.unparsedTail === undefined)
|
|
98
|
+
PlurnkParser.#requireSourceOperation(result.items);
|
|
99
|
+
return result;
|
|
146
100
|
}
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
//
|
|
150
|
-
|
|
151
|
-
|
|
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)
|
|
101
|
+
// {§turn-shape} — no source operation is reported as its own fact, beside every diagnostic
|
|
102
|
+
// that explains it: a host admits a turn whose only diagnostic is this one as an empty turn
|
|
103
|
+
// ({§empty-turn}) and rejects one that also carries a malformed heading.
|
|
104
|
+
static #requireSourceOperation(items) {
|
|
105
|
+
if (items.some((item) => item.kind === "statement"))
|
|
160
106
|
return;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
107
|
+
// The grammar's end-of-input complaint only restates the absence; specific diagnostics
|
|
108
|
+
// (an unclosed slot, a stray character) stay, so the host can tell prose from a malformed heading.
|
|
109
|
+
const restatesAbsence = (item) => item.kind === "error" && item.error.source === "parser" && /^unexpected end of input/u.test(item.error.message);
|
|
110
|
+
const kept = items.filter((item) => !restatesAbsence(item));
|
|
111
|
+
items.length = 0;
|
|
112
|
+
items.push(...kept);
|
|
113
|
+
const anchor = items.find((i) => i.kind === "error" && i.error.severity === "error")?.error;
|
|
114
|
+
items.push({
|
|
115
|
+
kind: "error",
|
|
116
|
+
error: new PlurnkParseError(anchor?.line ?? 1, anchor?.column ?? 0, "parser", PlurnkParser.NO_VALID_OPERATION),
|
|
117
|
+
});
|
|
170
118
|
}
|
|
171
119
|
// Collapse a lexer per-character cascade: the SIGNAL/TARGET modes emit one 'unrecognized
|
|
172
120
|
// character' error PER bad char, so a single malformed `[signal]` floods 10+ near-identical
|
|
@@ -193,26 +141,27 @@ export default class PlurnkParser {
|
|
|
193
141
|
return m ? m[1] : message;
|
|
194
142
|
}
|
|
195
143
|
// Parse a bare sequence of statements - teaching-example collections, single ops,
|
|
196
|
-
// documentation snippets.
|
|
197
|
-
//
|
|
198
|
-
static parseStatements(input) {
|
|
199
|
-
return PlurnkParser.#run(input, (parser) => parser.statementSeq());
|
|
144
|
+
// documentation snippets. No turn shape; outside text is ignored in every tier.
|
|
145
|
+
// Not for model output; use `parse` for that.
|
|
146
|
+
static parseStatements(input, options = {}) {
|
|
147
|
+
return PlurnkParser.#run(input, (parser) => parser.statementSeq(), undefined, options);
|
|
200
148
|
}
|
|
201
|
-
// Parse
|
|
202
|
-
//
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
static parseLog(input) {
|
|
206
|
-
return PlurnkParser.#run(input, (parser) => parser.log());
|
|
149
|
+
// Parse saved turns in source order; dispositions separate them. Each turn
|
|
150
|
+
// requires a disposition, including when ordinary operations follow it.
|
|
151
|
+
static parseLog(input, options = {}) {
|
|
152
|
+
return PlurnkParser.#run(input, (parser) => parser.log(), undefined, options);
|
|
207
153
|
}
|
|
208
154
|
// Parse the CLIENT tier - a bare sequence of protocol statements plus the client-only utility
|
|
209
|
-
//
|
|
210
|
-
// protocol entry points reject LOOK
|
|
211
|
-
static parseClient(input) {
|
|
212
|
-
return PlurnkParser.#run(input, (parser) => parser.clientStatementSeq(), (ctx) => AstBuilder.buildClient(ctx));
|
|
155
|
+
// op LOOK. The topmost subset (one above Script); never used for model output. The
|
|
156
|
+
// protocol entry points reject LOOK, so a client op only parses here.
|
|
157
|
+
static parseClient(input, options = {}) {
|
|
158
|
+
return PlurnkParser.#run(input, (parser) => parser.clientStatementSeq(), (ctx) => AstBuilder.buildClient(ctx), options);
|
|
213
159
|
}
|
|
214
|
-
static #run(input, parseFn, buildFn = ((ctx) => AstBuilder.build(ctx))) {
|
|
160
|
+
static #run(input, parseFn, buildFn = ((ctx) => AstBuilder.build(ctx)), options = {}) {
|
|
215
161
|
const lexer = new plurnkLexer(CharStream.fromString(input));
|
|
162
|
+
for (const name of options.executors ?? [])
|
|
163
|
+
lexer.knownExecutors.add(name);
|
|
164
|
+
AstBuilder.executorSpellings = new Map([...lexer.knownExecutors].map((name) => [name.toLowerCase(), name]));
|
|
216
165
|
const errors = [];
|
|
217
166
|
lexer.removeErrorListeners();
|
|
218
167
|
lexer.addErrorListener(new RecordingListener("lexer", errors));
|
|
@@ -232,7 +181,7 @@ export default class PlurnkParser {
|
|
|
232
181
|
for (const note of lexer.takeInlineBodies()) {
|
|
233
182
|
const advisory = {
|
|
234
183
|
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
|
|
184
|
+
error: new PlurnkParseError(note.line, note.column, "parser", `\`${note.heading.replace(/^`+/, "")}\` body text was on the OP line and was taken as the body; body content goes immediately beneath the opening fence line.`, "warning"),
|
|
236
185
|
};
|
|
237
186
|
const at = items.findIndex((item) => item.kind === "statement" && item.statement.position?.line === note.line);
|
|
238
187
|
if (at !== -1)
|
|
@@ -244,29 +193,74 @@ export default class PlurnkParser {
|
|
|
244
193
|
items.push({ kind: "error", error: err });
|
|
245
194
|
}
|
|
246
195
|
}
|
|
196
|
+
// {§unclosed-aside} — the aside ran to the end of the line; say so once.
|
|
197
|
+
for (const note of lexer.takeUnclosedAsides()) {
|
|
198
|
+
items.push({
|
|
199
|
+
kind: "error",
|
|
200
|
+
error: new PlurnkParseError(note.line, note.column, "parser", "The aside was not closed with `-->`; it was read to the end of the line.", "warning"),
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
// {§interstitial-fence} — a tagged fence that opened nothing is prose; say so once, as a
|
|
204
|
+
// warning, so a misspelled executor is never a silent loss.
|
|
205
|
+
for (const note of lexer.takeUnknownTags()) {
|
|
206
|
+
items.push({
|
|
207
|
+
kind: "error",
|
|
208
|
+
error: new PlurnkParseError(note.line, note.column, "parser", `\`${note.tag}\` is not an operation or a known executor here; the block was read as prose and nothing ran.`, "warning"),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
247
211
|
return { items, unparsedTail };
|
|
248
212
|
}
|
|
249
213
|
// Determine the public trust boundary before visiting recovered contexts. The parser may
|
|
250
214
|
// synthesize tree nodes after an unfinished lexer mode, but those nodes have no public AST
|
|
251
215
|
// meaning and can violate AstBuilder's complete-statement precondition. {§unparsed-tail-boundary}
|
|
252
216
|
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
217
|
const modeName = lexer.modeNames[lexer.mode] ?? "";
|
|
256
|
-
|
|
218
|
+
// {§closer-fallback} — a block still open at the end of the input ended there; only an
|
|
219
|
+
// unfinished target or metadata slot loses the boundary.
|
|
220
|
+
if (modeName !== "TARGET" && modeName !== "METADATA")
|
|
257
221
|
return undefined;
|
|
258
222
|
const openTag = lexer.getOpenTag();
|
|
259
223
|
const from = { line: lexer.getOpenTagLine(), column: lexer.getOpenTagColumn() };
|
|
260
|
-
const heading = lexer.getOpenHeading() ||
|
|
224
|
+
const heading = lexer.getOpenHeading().replace(/^`+[0-9]*/, "") || openTag;
|
|
261
225
|
const reason = modeName === "METADATA"
|
|
262
|
-
? `metadata modifier of \`${heading}\` opened at line ${from.line} but never closed - add \`
|
|
263
|
-
:
|
|
226
|
+
? `metadata modifier of \`${heading}\` opened at line ${from.line} but never closed - add \`]\``
|
|
227
|
+
: modeName === "TARGET"
|
|
228
|
+
? `target slot of \`${heading}\` opened at line ${from.line} but never closed - add \`)\``
|
|
229
|
+
: `${openTag} block opened at line ${from.line} but was not closed with ${lexer.getFenceLength()} backticks`;
|
|
264
230
|
return { from, reason };
|
|
265
231
|
}
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
|
|
232
|
+
// {§bare-heading-advisory} — an operation heading written outside any fence is prose, and prose
|
|
233
|
+
// is silent; one warning names the fence form so the loss is never quiet ({§interstitial-fence}).
|
|
234
|
+
static #adviseBareHeadings(input, items, executors) {
|
|
235
|
+
const names = ["FIND", "READ", "EDIT", "COPY", "MOVE", "SEND", "WORK", "FORK", "BARE", "KILL", "TASK", ...executors]
|
|
236
|
+
.map((name) => name.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&"));
|
|
237
|
+
const headingShape = new RegExp(`^[ \\t]*(${names.join("|")})(?=\\s*(?:\\(|<|\\[|$))`, "u");
|
|
238
|
+
const covered = new Set();
|
|
239
|
+
for (const item of items) {
|
|
240
|
+
if (item.kind !== "statement")
|
|
241
|
+
continue;
|
|
242
|
+
const start = item.statement.position.line;
|
|
243
|
+
const body = item.statement.body;
|
|
244
|
+
const raw = typeof body === "string" ? body : body !== null && typeof body === "object" && "raw" in body ? String(body.raw ?? "") : "";
|
|
245
|
+
const span = raw === "" ? 0 : raw.split("\n").length;
|
|
246
|
+
for (let line = start; line <= start + span + 1; line += 1)
|
|
247
|
+
covered.add(line);
|
|
248
|
+
}
|
|
249
|
+
const lines = input.split("\n");
|
|
250
|
+
lines.forEach((text, index) => {
|
|
251
|
+
const line = index + 1;
|
|
252
|
+
if (covered.has(line))
|
|
253
|
+
return;
|
|
254
|
+
const match = headingShape.exec(text);
|
|
255
|
+
if (match === null)
|
|
256
|
+
return;
|
|
257
|
+
items.push({
|
|
258
|
+
kind: "error",
|
|
259
|
+
error: new PlurnkParseError(line, 0, "parser", `\`${match[1]}\` on line ${line} is outside any fence, so it is prose and nothing ran; an operation opens with \`\`\`\`${match[1]} on the fence line.`, "warning"),
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
// Walk statement containers in source order; bounded malformed statements become errors.
|
|
270
264
|
static #collect(ctx, errors, consumedErrors, items, buildFn, boundary) {
|
|
271
265
|
for (const child of ctx.children ?? []) {
|
|
272
266
|
const c = child;
|
|
@@ -285,16 +279,21 @@ export default class PlurnkParser {
|
|
|
285
279
|
consumedErrors.add(error);
|
|
286
280
|
items.push({ kind: "error", error: errForStatement });
|
|
287
281
|
}
|
|
288
|
-
else if ((c.getChildCount?.() ?? 0) === 0) {
|
|
289
|
-
// A phantom statement context synthesized during error recovery (
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
//
|
|
282
|
+
else if ((c.getChildCount?.() ?? 0) === 0 || c.exception || c.start?.type === Token.EOF) {
|
|
283
|
+
// A phantom statement context synthesized during error recovery (a required
|
|
284
|
+
// slot the parser opened then failed to fill, or a disposition the log rule
|
|
285
|
+
// demanded at the end of the input): nothing real was matched, so building it
|
|
286
|
+
// would build the recovery token. Surface the parser's own diagnostic instead.
|
|
287
|
+
const pending = errors.find((e) => !consumedErrors.has(e) && !PlurnkParser.#isBefore(e, start));
|
|
288
|
+
if (pending) {
|
|
289
|
+
consumedErrors.add(pending);
|
|
290
|
+
items.push({ kind: "error", error: pending });
|
|
291
|
+
}
|
|
293
292
|
}
|
|
294
293
|
else {
|
|
295
294
|
try {
|
|
296
295
|
items.push({ kind: "statement", statement: buildFn(c) });
|
|
297
|
-
// {§misplaced-
|
|
296
|
+
// {§misplaced-aside-advisory} — the builder's advisories follow their statement.
|
|
298
297
|
for (const advisory of AstBuilder.takeAdvisories())
|
|
299
298
|
items.push({ kind: "error", error: advisory });
|
|
300
299
|
}
|
|
@@ -312,10 +311,6 @@ export default class PlurnkParser {
|
|
|
312
311
|
else if (c.ruleIndex !== undefined && CONTAINER_RULES.has(c.ruleIndex)) {
|
|
313
312
|
PlurnkParser.#collect(c, errors, consumedErrors, items, buildFn, boundary);
|
|
314
313
|
}
|
|
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
314
|
}
|
|
320
315
|
}
|
|
321
316
|
static #isBefore(point, boundary) {
|