@plurnk/plurnk-contracts 1.4.0 → 1.6.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 +10 -6
- package/SPEC.md +368 -231
- package/dist/plurnk.gemma.gbnf +160 -0
- package/dist/plurnk.qwen.gbnf +149 -0
- package/dist/schema/ClientStatement.json +7 -1
- package/dist/schema/EntryReadResult.json +1 -9
- package/dist/schema/MatcherBody.json +1 -1
- package/dist/schema/OperationResult.json +3 -0
- package/dist/schema/PlurnkStatement.json +57 -12
- package/dist/schema/ProposalProjection.json +1 -1
- package/dist/schema/ProviderAccounting.json +30 -0
- package/dist/schema/ProviderCost.json +6 -15
- package/dist/schema/ProviderRequestAccounting.json +17 -0
- package/dist/schema/ProviderUsage.json +40 -0
- package/dist/schema/RangeExtent.json +47 -0
- package/dist/schema/ResourceSelection.json +1 -1
- package/dist/schema/TextLineMarker.json +21 -0
- package/dist/src/AstBuilder.d.ts.map +1 -1
- package/dist/src/AstBuilder.js +123 -22
- package/dist/src/AstBuilder.js.map +1 -1
- package/dist/src/JsonResult.d.ts +3 -0
- package/dist/src/JsonResult.d.ts.map +1 -0
- package/dist/src/JsonResult.js +37 -0
- package/dist/src/JsonResult.js.map +1 -0
- package/dist/src/PlurnkErrorStrategy.d.ts +1 -0
- package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/src/PlurnkErrorStrategy.js +42 -19
- package/dist/src/PlurnkErrorStrategy.js.map +1 -1
- package/dist/src/PlurnkParser.d.ts.map +1 -1
- package/dist/src/PlurnkParser.js +22 -139
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/TagSignal.d.ts +15 -0
- package/dist/src/TagSignal.d.ts.map +1 -0
- package/dist/src/TagSignal.js +48 -0
- package/dist/src/TagSignal.js.map +1 -0
- package/dist/src/Validator.d.ts +6 -1
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +36 -1
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/generated/plurnkLexer.d.ts +99 -54
- package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/src/generated/plurnkLexer.js +889 -498
- package/dist/src/generated/plurnkLexer.js.map +1 -1
- package/dist/src/generated/plurnkParser.d.ts +99 -108
- package/dist/src/generated/plurnkParser.d.ts.map +1 -1
- package/dist/src/generated/plurnkParser.js +943 -1068
- package/dist/src/generated/plurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +19 -5
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.js +16 -4
- package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +98 -24
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +4 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +8 -8
- package/plurnk.md +143 -133
- package/dist/plurnk.gbnf +0 -394
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DefaultErrorStrategy, type Parser, type RecognitionException } from "antlr4ng";
|
|
2
2
|
import { plurnkLexer } from "./generated/plurnkLexer.ts";
|
|
3
|
+
export declare const COMBINED_ANCHOR_LINE_DIAGNOSTIC = "a scope position accepts one line coordinate; use the `@hash` anchor without its displayed line number";
|
|
3
4
|
export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
4
5
|
#private;
|
|
5
6
|
static translateLexerMessage(lexer: plurnkLexer, originalMsg: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkErrorStrategy.d.ts","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAIpB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;;
|
|
1
|
+
{"version":3,"file":"PlurnkErrorStrategy.d.ts","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EAIpB,KAAK,MAAM,EACX,KAAK,oBAAoB,EAC5B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,eAAO,MAAM,+BAA+B,2GACgE,CAAC;AAE7G,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;;IA8CjE,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAgB5E;IA2Ce,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAqB7E;IAEe,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAiB3D;IAEe,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAwB5D;CACJ"}
|
|
@@ -1,10 +1,11 @@
|
|
|
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
4
|
export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
4
5
|
static #OFFENDING_CHAR_RE = /at: '([^']*)'$/;
|
|
5
6
|
static #LEXER_MODE_CONTEXT = {
|
|
6
|
-
DEFAULT_MODE: "
|
|
7
|
-
SLOTS: "in
|
|
7
|
+
DEFAULT_MODE: "before the PLAN heading",
|
|
8
|
+
SLOTS: "in operation heading - expected a space before `[signal]`, `(target)`, or `<scope>`, or a line ending",
|
|
8
9
|
SIGNAL_TAGS: "in tag signal - expected tag, `,`, or `]`",
|
|
9
10
|
SIGNAL_INT: "in signal - expected integer for SEND/KILL, then `]`",
|
|
10
11
|
SIGNAL_IDENT: "in signal - expected executor for EXEC, then `]`",
|
|
@@ -12,31 +13,36 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
|
12
13
|
BODY: "in body",
|
|
13
14
|
};
|
|
14
15
|
static #SLOT_BY_TOKEN = {
|
|
15
|
-
[plurnkParser.OPEN_FIND]: "
|
|
16
|
-
[plurnkParser.OPEN_READ]: "
|
|
17
|
-
[plurnkParser.OPEN_EDIT]: "
|
|
18
|
-
[plurnkParser.OPEN_COPY]: "
|
|
19
|
-
[plurnkParser.OPEN_MOVE]: "
|
|
20
|
-
[plurnkParser.OPEN_OPEN]: "
|
|
21
|
-
[plurnkParser.OPEN_FOLD]: "
|
|
22
|
-
[plurnkParser.OPEN_SEND]: "
|
|
23
|
-
[plurnkParser.OPEN_EXEC]: "
|
|
24
|
-
[plurnkParser.
|
|
25
|
-
[plurnkParser.
|
|
16
|
+
[plurnkParser.OPEN_FIND]: "H2 operation heading `## OPsuffix`",
|
|
17
|
+
[plurnkParser.OPEN_READ]: "H2 operation heading `## OPsuffix`",
|
|
18
|
+
[plurnkParser.OPEN_EDIT]: "H2 operation heading `## OPsuffix`",
|
|
19
|
+
[plurnkParser.OPEN_COPY]: "H2 operation heading `## OPsuffix`",
|
|
20
|
+
[plurnkParser.OPEN_MOVE]: "H2 operation heading `## OPsuffix`",
|
|
21
|
+
[plurnkParser.OPEN_OPEN]: "H2 operation heading `## OPsuffix`",
|
|
22
|
+
[plurnkParser.OPEN_FOLD]: "H2 operation heading `## OPsuffix`",
|
|
23
|
+
[plurnkParser.OPEN_SEND]: "H2 operation heading `## OPsuffix`",
|
|
24
|
+
[plurnkParser.OPEN_EXEC]: "H2 operation heading `## OPsuffix`",
|
|
25
|
+
[plurnkParser.OPEN_BARE]: "H2 operation heading `## OPsuffix`",
|
|
26
|
+
[plurnkParser.OPEN_WORK]: "H2 operation heading `## OPsuffix`",
|
|
27
|
+
[plurnkParser.OPEN_FORK]: "H2 operation heading `## OPsuffix`",
|
|
28
|
+
[plurnkParser.OPEN_KILL]: "H2 operation heading `## OPsuffix`",
|
|
29
|
+
[plurnkParser.OPEN_PLAN]: "PLAN heading `# PLANsuffix`",
|
|
30
|
+
[plurnkParser.OPEN_LOOK]: "H2 client heading `## OPsuffix`",
|
|
31
|
+
[plurnkParser.OPEN_BUFF]: "H2 client heading `## OPsuffix`",
|
|
26
32
|
[plurnkParser.LBRACKET]: "`[` (signal slot opener)",
|
|
27
33
|
[plurnkParser.RBRACKET]: "`]` (signal slot closer)",
|
|
28
34
|
[plurnkParser.LPAREN]: "`(` (target slot opener)",
|
|
29
35
|
[plurnkParser.RPAREN]: "`)` (target slot closer)",
|
|
30
36
|
[plurnkParser.L_MARKER]: "`<L>` line marker",
|
|
31
|
-
[plurnkParser.
|
|
37
|
+
[plurnkParser.BODY_OPEN]: "operation-heading line ending",
|
|
38
|
+
[plurnkParser.SECTION_END]: "next same-lane heading",
|
|
32
39
|
[plurnkParser.COMMA]: "`,`",
|
|
33
40
|
[plurnkParser.INT]: "integer (SEND/KILL signal)",
|
|
34
41
|
[plurnkParser.IDENT]: "executor (EXEC signal)",
|
|
35
42
|
[plurnkParser.TAG]: "tag",
|
|
36
43
|
[plurnkParser.TARGET_TEXT]: "target content",
|
|
37
44
|
[plurnkParser.BODY_TEXT]: "body content",
|
|
38
|
-
[plurnkParser.
|
|
39
|
-
[plurnkParser.TEXT]: "text between statements",
|
|
45
|
+
[plurnkParser.TEXT]: "text before PLAN",
|
|
40
46
|
};
|
|
41
47
|
static translateLexerMessage(lexer, originalMsg) {
|
|
42
48
|
const modeName = lexer.modeNames[lexer.mode] ?? "DEFAULT_MODE";
|
|
@@ -45,13 +51,13 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
|
45
51
|
// EXEC's identifier cannot start with a digit or `-`, making a leading numeric
|
|
46
52
|
// value an unambiguous misplaced timing scope. {§signal-scope-redirect}
|
|
47
53
|
if (modeName === "SIGNAL_IDENT" && /^'[-\d]'$/.test(ch)) {
|
|
48
|
-
return `unrecognized character ${ch} in signal - timeout/poll ride the \`<scope>\` slot; try
|
|
54
|
+
return `unrecognized character ${ch} in signal - timeout/poll ride the \`<scope>\` slot; try \`## EXEC0 <-1,300>\``;
|
|
49
55
|
}
|
|
50
56
|
// Redirect an unambiguous matcher prefix in the slot region into the body. Slash-led
|
|
51
57
|
// regex and XPath are excluded because `/` may instead be a target whose `(...)` wrap
|
|
52
58
|
// was omitted.
|
|
53
59
|
if (modeName === "SLOTS" && /^'[$~@]'$/.test(ch)) {
|
|
54
|
-
return `unrecognized character ${ch} in
|
|
60
|
+
return `unrecognized character ${ch} in operation heading - a matcher belongs on the first body line`;
|
|
55
61
|
}
|
|
56
62
|
return `unrecognized character ${ch} ${context}`;
|
|
57
63
|
}
|
|
@@ -78,7 +84,7 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
|
78
84
|
const types = expected.toArray();
|
|
79
85
|
if (types.length === 0)
|
|
80
86
|
return null;
|
|
81
|
-
// Every OPEN_<OP> token maps to the same
|
|
87
|
+
// Every OPEN_<OP> token maps to the same canonical heading class, so a
|
|
82
88
|
// statement-position expected-set yields that phrase 10+ times. Dedup to one entry -
|
|
83
89
|
// the model needs the distinct options, not the alternation count.
|
|
84
90
|
const names = [...new Set(types
|
|
@@ -92,10 +98,22 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
|
92
98
|
return `${names[0]} or ${names[1]}`;
|
|
93
99
|
return `${names.slice(0, -1).join(", ")}, or ${names[names.length - 1]}`;
|
|
94
100
|
}
|
|
101
|
+
// {§combined-anchor-line-redirect} The rejected token is a complete bounded
|
|
102
|
+
// scope, so its one canonical correction is known without interpreting intent.
|
|
103
|
+
static #targetedMessage(tok) {
|
|
104
|
+
if (tok?.type !== plurnkParser.COMBINED_L_MARKER)
|
|
105
|
+
return null;
|
|
106
|
+
return COMBINED_ANCHOR_LINE_DIAGNOSTIC;
|
|
107
|
+
}
|
|
95
108
|
reportError(recognizer, e) {
|
|
96
109
|
if (this.inErrorRecoveryMode(recognizer))
|
|
97
110
|
return;
|
|
98
111
|
this.beginErrorCondition(recognizer);
|
|
112
|
+
const targeted = PlurnkErrorStrategy.#targetedMessage(e.offendingToken);
|
|
113
|
+
if (targeted !== null) {
|
|
114
|
+
recognizer.notifyErrorListeners(targeted, e.offendingToken, e);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
99
117
|
const got = PlurnkErrorStrategy.#describeToken(e.offendingToken);
|
|
100
118
|
const expected = PlurnkErrorStrategy.#describeExpected(e);
|
|
101
119
|
let msg;
|
|
@@ -129,6 +147,11 @@ export default class PlurnkErrorStrategy extends DefaultErrorStrategy {
|
|
|
129
147
|
return;
|
|
130
148
|
this.beginErrorCondition(recognizer);
|
|
131
149
|
const tok = recognizer.getCurrentToken();
|
|
150
|
+
const targeted = PlurnkErrorStrategy.#targetedMessage(tok);
|
|
151
|
+
if (targeted !== null) {
|
|
152
|
+
recognizer.notifyErrorListeners(targeted, tok, null);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
132
155
|
const got = PlurnkErrorStrategy.#describeToken(tok);
|
|
133
156
|
const expectedTokens = this.getExpectedTokens(recognizer);
|
|
134
157
|
const expectedNames = [...new Set(expectedTokens
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkErrorStrategy.js","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,GAGR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAG3D,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,oBAAoB;IACjE,MAAM,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;IAE7C,MAAM,CAAC,mBAAmB,GAA2B;QACjD,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"PlurnkErrorStrategy.js","sourceRoot":"","sources":["../../src/PlurnkErrorStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAa,WAAW,EAA6B,MAAM,YAAY,CAAC;AAsBrG,MAAM,CAAC,OAAO,OAAO,YAAY;;IAG7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAa,WAAW,EAA6B,MAAM,YAAY,CAAC;AAsBrG,MAAM,CAAC,OAAO,OAAO,YAAY;;IAG7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAUvC;IA6FD,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;CA2JJ"}
|
package/dist/src/PlurnkParser.js
CHANGED
|
@@ -5,7 +5,7 @@ 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
|
|
8
|
+
import TagSignal from "./TagSignal.js";
|
|
9
9
|
// Statement-bearing contexts the extraction builds into items. `statement` (statementSeq) and
|
|
10
10
|
// `midStatement` (mid-turn ops) each wrap one op; PLAN and the terminal SEND attach as direct
|
|
11
11
|
// `planStatement`/`sendStatement` children of a turn; `clientStatement` wraps one op in the
|
|
@@ -17,23 +17,20 @@ const STATEMENT_RULES = new Set([
|
|
|
17
17
|
plurnkParser.RULE_sendStatement,
|
|
18
18
|
plurnkParser.RULE_clientStatement,
|
|
19
19
|
]);
|
|
20
|
-
// Container rules whose children hold
|
|
21
|
-
//
|
|
22
|
-
//
|
|
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
23
|
const CONTAINER_RULES = new Set([
|
|
24
24
|
plurnkParser.RULE_turnContent,
|
|
25
|
-
plurnkParser.
|
|
25
|
+
plurnkParser.RULE_turn,
|
|
26
26
|
]);
|
|
27
27
|
export default class PlurnkParser {
|
|
28
28
|
// Parse one PLAN-anchored model turn ending in a disposition SEND. Tolerated
|
|
29
29
|
// interstatement TEXT remains an ordered item without language semantics. {§turn-shape}
|
|
30
30
|
static parse(input) {
|
|
31
31
|
const result = PlurnkParser.#run(input, (parser) => parser.document());
|
|
32
|
-
// Value-adds layered on ANTLR's
|
|
33
|
-
//
|
|
34
|
-
// document boundary remains trustworthy. Neither changes what parsed.
|
|
35
|
-
PlurnkParser.#flagNearMissOps(result.items);
|
|
36
|
-
PlurnkParser.#flagOpsInPlanBody(result.items);
|
|
32
|
+
// Value-adds layered on ANTLR's diagnostics while the document boundary
|
|
33
|
+
// remains trustworthy. Neither changes what parsed.
|
|
37
34
|
PlurnkParser.#flagMisplacedTarget(result.items);
|
|
38
35
|
if (result.unparsedTail === undefined) {
|
|
39
36
|
PlurnkParser.#imperativeTurnShape(result.items);
|
|
@@ -43,53 +40,6 @@ export default class PlurnkParser {
|
|
|
43
40
|
}
|
|
44
41
|
// Terminal disposition alphabet. {§waitpid-dispositions} {§wait-obligation-matrix}
|
|
45
42
|
static #DISPOSITIONS = new Set([102, 200, 202, 300, 499]);
|
|
46
|
-
// Curated op-name confusions (semantic + dead-verb), NOT edit-distance - a full
|
|
47
|
-
// `<<Word…:Word` heredoc carrying one of these is unambiguously an intended op, so the
|
|
48
|
-
// false-positive rate is ~0. Bodies are never scanned (only DEFAULT-mode text items), so
|
|
49
|
-
// the model's legitimate suffixed/embedded code is immune by construction.
|
|
50
|
-
static #OP_CONFUSABLES = {
|
|
51
|
-
CLOSE: "`<<FOLD`", HIDE: "`<<FOLD`", COLLAPSE: "`<<FOLD`",
|
|
52
|
-
SHOW: "`<<OPEN`", EXPAND: "`<<OPEN`",
|
|
53
|
-
DELETE: "`<<KILL`", REMOVE: "`<<KILL`", DROP: "`<<KILL`",
|
|
54
|
-
GET: "`<<READ`", FETCH: "`<<READ`", CAT: "`<<READ`",
|
|
55
|
-
WRITE: "`<<EDIT`", CREATE: "`<<EDIT`", UPDATE: "`<<EDIT`", SET: "`<<EDIT`",
|
|
56
|
-
LIST: "`<<FIND`", SEARCH: "`<<FIND`", GREP: "`<<FIND`", QUERY: "`<<FIND`",
|
|
57
|
-
RUN: "`<<EXEC`", SHELL: "`<<EXEC`",
|
|
58
|
-
SPAWN: "`<<WORK(worker://name)` to spawn a worker", DELEGATE: "`<<WORK(worker://name)` to spawn a worker",
|
|
59
|
-
};
|
|
60
|
-
// Surface near-miss ops that the forgiving parser swallowed as prose: a `<<Word…:Word`
|
|
61
|
-
// heredoc whose keyword is a known confusion (`<<CLOSE`, `<<DELETE`, …). Emits a WARNING
|
|
62
|
-
// (never an error - the input parsed), so a silent swallow becomes a steer toward canon.
|
|
63
|
-
static #flagNearMissOps(items) {
|
|
64
|
-
const additions = [];
|
|
65
|
-
items.forEach((item, idx) => {
|
|
66
|
-
if (item.kind !== "text")
|
|
67
|
-
return;
|
|
68
|
-
const text = item.text;
|
|
69
|
-
const opener = /<<([A-Za-z]+)/g;
|
|
70
|
-
let m;
|
|
71
|
-
while ((m = opener.exec(text)) !== null) {
|
|
72
|
-
const suggestion = PlurnkParser.#OP_CONFUSABLES[m[1].toUpperCase()];
|
|
73
|
-
if (!suggestion)
|
|
74
|
-
continue;
|
|
75
|
-
// Op-shape gate: require a matching close `:Word` in the same run, so a bare
|
|
76
|
-
// prose mention without a heredoc close is never flagged.
|
|
77
|
-
if (!new RegExp(":" + m[1] + "\\b").test(text))
|
|
78
|
-
continue;
|
|
79
|
-
const position = PlurnkParser.#advancePosition(item.position, text.slice(0, m.index));
|
|
80
|
-
additions.push({
|
|
81
|
-
at: idx,
|
|
82
|
-
item: {
|
|
83
|
-
kind: "error",
|
|
84
|
-
error: new PlurnkParseError(position.line, position.column, "parser", `\`<<${m[1]}\` is not a Plurnk operation, so it was read as text; did you mean ${suggestion}?`, "warning"),
|
|
85
|
-
},
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
// Insert each advisory right after its text item (reverse order keeps indices valid).
|
|
90
|
-
for (const { at, item } of additions.reverse())
|
|
91
|
-
items.splice(at + 1, 0, item);
|
|
92
|
-
}
|
|
93
43
|
// Replace ANTLR's generic structure errors with the turn-shape imperative when the
|
|
94
44
|
// PLAN-anchored sandwich is broken. PLAN-first takes precedence: with no PLAN we cannot
|
|
95
45
|
// judge the terminal SEND (it never reached statement position), so we only direct the
|
|
@@ -118,8 +68,8 @@ export default class PlurnkParser {
|
|
|
118
68
|
if (hasSpecificError)
|
|
119
69
|
return;
|
|
120
70
|
const fix = !hasPlan
|
|
121
|
-
? "a turn must begin with
|
|
122
|
-
: "a turn must end with a terminal
|
|
71
|
+
? "a turn must begin with `# PLAN0`"
|
|
72
|
+
: "a turn must end with a terminal `## SEND0 [code]` section";
|
|
123
73
|
items.push({ kind: "error", error: new PlurnkParseError(anchor.line, anchor.column, "parser", fix) });
|
|
124
74
|
}
|
|
125
75
|
// Lift the mid-turn-termination error. A disposition-coded SEND
|
|
@@ -201,7 +151,7 @@ export default class PlurnkParser {
|
|
|
201
151
|
parser.errorHandler = new PlurnkErrorStrategy();
|
|
202
152
|
const tree = parseFn(parser);
|
|
203
153
|
PlurnkParser.#dedupeLexerCascade(errors);
|
|
204
|
-
const unparsedTail = PlurnkParser.#unparsedTail(lexer
|
|
154
|
+
const unparsedTail = PlurnkParser.#unparsedTail(lexer);
|
|
205
155
|
const items = [];
|
|
206
156
|
const consumedErrors = new Set();
|
|
207
157
|
PlurnkParser.#collect(tree, errors, consumedErrors, items, buildFn, unparsedTail?.from);
|
|
@@ -216,51 +166,25 @@ export default class PlurnkParser {
|
|
|
216
166
|
// Determine the public trust boundary before visiting recovered contexts. The parser may
|
|
217
167
|
// synthesize tree nodes after an unfinished lexer mode, but those nodes have no public AST
|
|
218
168
|
// meaning and can violate AstBuilder's complete-statement precondition. {§unparsed-tail-boundary}
|
|
219
|
-
static #unparsedTail(lexer
|
|
220
|
-
|
|
169
|
+
static #unparsedTail(lexer) {
|
|
170
|
+
// EOF concludes a section body and may directly conclude a bodyless
|
|
171
|
+
// heading. Only a partially open modifier destroys the later boundary.
|
|
172
|
+
const modeName = lexer.modeNames[lexer.mode] ?? "";
|
|
173
|
+
if (lexer.mode === 0 || modeName === "BODY" || modeName === "SLOTS")
|
|
221
174
|
return undefined;
|
|
222
175
|
const openTag = lexer.getOpenTag();
|
|
223
176
|
const from = { line: lexer.getOpenTagLine(), column: lexer.getOpenTagColumn() };
|
|
224
|
-
const
|
|
225
|
-
const reason = modeName === "
|
|
226
|
-
? `
|
|
227
|
-
:
|
|
228
|
-
? `signal slot of \`<<${openTag}\` opened at line ${from.line} but never closed - add \`]\` to terminate the signal`
|
|
229
|
-
: modeName === "TARGET"
|
|
230
|
-
? `target slot of \`<<${openTag}\` opened at line ${from.line} but never closed - add \`)\` to terminate the target`
|
|
231
|
-
: `statement \`<<${openTag}\` opened at line ${from.line} but never reached its close tag - add \`:${openTag}\` to terminate`;
|
|
177
|
+
const heading = lexer.getOpenHeading() || `## ${openTag}`;
|
|
178
|
+
const reason = modeName === "SIGNAL_TAGS" || modeName === "SIGNAL_INT" || modeName === "SIGNAL_IDENT"
|
|
179
|
+
? `signal slot of \`${heading}\` opened at line ${from.line} but never closed - add \`]\``
|
|
180
|
+
: `target slot of \`${heading}\` opened at line ${from.line} but never closed - add \`)\``;
|
|
232
181
|
return { from, reason };
|
|
233
182
|
}
|
|
234
|
-
// Warn when an unsuffixed PLAN body contains op-shaped text; a suffix deliberately
|
|
235
|
-
// invokes the universal quoting contract. {§plan-body-op-advisory}
|
|
236
|
-
static #flagOpsInPlanBody(items) {
|
|
237
|
-
const additions = [];
|
|
238
|
-
const opener = new RegExp(`<<(${PLURNK_OPS.join("|")})\\b`);
|
|
239
|
-
items.forEach((item, idx) => {
|
|
240
|
-
if (item.kind !== "statement" || item.statement.op !== "PLAN")
|
|
241
|
-
return;
|
|
242
|
-
if (item.statement.suffix.length > 0)
|
|
243
|
-
return;
|
|
244
|
-
const body = item.statement.body ?? "";
|
|
245
|
-
const m = opener.exec(body);
|
|
246
|
-
if (!m)
|
|
247
|
-
return;
|
|
248
|
-
additions.push({
|
|
249
|
-
at: idx,
|
|
250
|
-
item: {
|
|
251
|
-
kind: "error",
|
|
252
|
-
error: new PlurnkParseError(item.statement.position.line, item.statement.position.column, "parser", `PLAN body contains op-shaped text (\`<<${m[1]}\`) - ops belong after the plan closes; did you omit \`:PLAN\`?`, "warning"),
|
|
253
|
-
},
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
for (const { at, item } of additions.reverse())
|
|
257
|
-
items.splice(at + 1, 0, item);
|
|
258
|
-
}
|
|
259
183
|
// Mutating ops that require a `(target)` and carry a `[tags]` string-array signal. A null target
|
|
260
184
|
// on one of these is unambiguously wrong - there is nothing to edit/copy/move.
|
|
261
185
|
static #MUTATING_OPS = new Set(["EDIT", "COPY", "MOVE"]);
|
|
262
186
|
// A null mutation target plus a path-shaped tag is the narrow advisory gate; an
|
|
263
|
-
// ordinary
|
|
187
|
+
// ordinary additive-tag use is not redirected. {§misplaced-target-advisory}
|
|
264
188
|
static #flagMisplacedTarget(items) {
|
|
265
189
|
const pathShaped = (s) => s.includes("/") || /[^/]\.[a-zA-Z][a-zA-Z0-9]*$/.test(s);
|
|
266
190
|
const additions = [];
|
|
@@ -272,61 +196,20 @@ export default class PlurnkParser {
|
|
|
272
196
|
return;
|
|
273
197
|
if (!Array.isArray(st.signal))
|
|
274
198
|
return;
|
|
275
|
-
const path = st.signal.find(pathShaped);
|
|
199
|
+
const path = TagSignal.applied(st.signal).add.find(pathShaped);
|
|
276
200
|
if (!path)
|
|
277
201
|
return;
|
|
278
202
|
additions.push({
|
|
279
203
|
at: idx,
|
|
280
204
|
item: {
|
|
281
205
|
kind: "error",
|
|
282
|
-
error: new PlurnkParseError(st.position.line, st.position.column, "parser",
|
|
206
|
+
error: new PlurnkParseError(st.position.line, st.position.column, "parser", `\`## ${st.op}${st.suffix}\` has no \`(target)\` - that path sits in the \`[…]\` tag slot; a target goes in \`(…)\`. Try \`## ${st.op}${st.suffix || "0"} (${path})\``, "warning"),
|
|
283
207
|
},
|
|
284
208
|
});
|
|
285
209
|
});
|
|
286
210
|
for (const { at, item } of additions.reverse())
|
|
287
211
|
items.splice(at + 1, 0, item);
|
|
288
212
|
}
|
|
289
|
-
// Name an ALLCAPS close lookalike only inside a never-closed body; healthy
|
|
290
|
-
// bodies are never scanned by this path. {§invented-closer-advisory}
|
|
291
|
-
static #inventedCloser(input, bodyStart, openTag) {
|
|
292
|
-
const offset = PlurnkParser.#offsetAtPosition(input, bodyStart);
|
|
293
|
-
const body = input.slice(offset);
|
|
294
|
-
const m = /:([A-Z][A-Z0-9_]{2,})\b/.exec(body);
|
|
295
|
-
if (!m || m[1] === openTag.toUpperCase())
|
|
296
|
-
return "";
|
|
297
|
-
return ` (found \`:${m[1]}\`, which is body text - the closer echoes the op's name)`;
|
|
298
|
-
}
|
|
299
|
-
// JavaScript offsets count UTF-16 code units; parser source points count Unicode code
|
|
300
|
-
// points and advance only at LF. Keep that translation inside the parser. {§parser-position}
|
|
301
|
-
static #advancePosition(from, text) {
|
|
302
|
-
let { line, column } = from;
|
|
303
|
-
for (const character of text) {
|
|
304
|
-
if (character === "\n") {
|
|
305
|
-
line++;
|
|
306
|
-
column = 0;
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
column++;
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
return { line, column };
|
|
313
|
-
}
|
|
314
|
-
static #offsetAtPosition(input, target) {
|
|
315
|
-
if (target.line < 1 || target.column < 0) {
|
|
316
|
-
throw new RangeError(`cannot resolve degraded parser position ${target.line}:${target.column}`);
|
|
317
|
-
}
|
|
318
|
-
let position = { line: 1, column: 0 };
|
|
319
|
-
let offset = 0;
|
|
320
|
-
for (const character of input) {
|
|
321
|
-
if (position.line === target.line && position.column === target.column)
|
|
322
|
-
return offset;
|
|
323
|
-
position = PlurnkParser.#advancePosition(position, character);
|
|
324
|
-
offset += character.length;
|
|
325
|
-
}
|
|
326
|
-
if (position.line === target.line && position.column === target.column)
|
|
327
|
-
return offset;
|
|
328
|
-
throw new RangeError(`parser position ${target.line}:${target.column} is outside its source`);
|
|
329
|
-
}
|
|
330
213
|
// Walk a parse tree, appending statement/error/text items in source order. Statement rules
|
|
331
214
|
// are leaves (built directly); container rules (turnContent) are recursed into; TEXT tokens
|
|
332
215
|
// 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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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class InvalidTagSignalError extends TypeError {
|
|
2
|
+
}
|
|
3
|
+
export type AppliedTagSignal = Readonly<{
|
|
4
|
+
add: readonly string[];
|
|
5
|
+
}>;
|
|
6
|
+
export type CurationTagSignal = Readonly<{
|
|
7
|
+
filter: readonly string[];
|
|
8
|
+
add: readonly string[];
|
|
9
|
+
remove: readonly string[];
|
|
10
|
+
}>;
|
|
11
|
+
export default class TagSignal {
|
|
12
|
+
static applied(terms: readonly string[] | null): AppliedTagSignal;
|
|
13
|
+
static curation(terms: readonly string[] | null): CurationTagSignal;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TagSignal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagSignal.d.ts","sourceRoot":"","sources":["../../src/TagSignal.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAsB,SAAQ,SAAS;CAAG;AAEvD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACpC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACrC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC,CAAC;AAiBH,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,gBAAgB,CAUhE;IAED,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,iBAAiB,CAmBlE;CACJ"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export class InvalidTagSignalError extends TypeError {
|
|
2
|
+
}
|
|
3
|
+
const canonicalName = (term, prefix) => {
|
|
4
|
+
const name = prefix === "" ? term : term.slice(1);
|
|
5
|
+
if (name.length === 0
|
|
6
|
+
|| name.startsWith("+")
|
|
7
|
+
|| name.startsWith("-")
|
|
8
|
+
|| /[\[\],\s\p{Cc}]/u.test(name)) {
|
|
9
|
+
throw new InvalidTagSignalError(`invalid log tag term '${term}'`);
|
|
10
|
+
}
|
|
11
|
+
return name;
|
|
12
|
+
};
|
|
13
|
+
const unique = (values) => [...new Set(values)];
|
|
14
|
+
export default class TagSignal {
|
|
15
|
+
static applied(terms) {
|
|
16
|
+
const add = (terms ?? []).map((term) => {
|
|
17
|
+
if (term.startsWith("-")) {
|
|
18
|
+
throw new InvalidTagSignalError(`classifying operations cannot remove tags; '${term}' is a removal`);
|
|
19
|
+
}
|
|
20
|
+
return canonicalName(term, term.startsWith("+") ? "+" : "");
|
|
21
|
+
});
|
|
22
|
+
return { add: unique(add) };
|
|
23
|
+
}
|
|
24
|
+
static curation(terms) {
|
|
25
|
+
const filter = [];
|
|
26
|
+
const add = [];
|
|
27
|
+
const remove = [];
|
|
28
|
+
for (const term of terms ?? []) {
|
|
29
|
+
if (term.startsWith("+"))
|
|
30
|
+
add.push(canonicalName(term, "+"));
|
|
31
|
+
else if (term.startsWith("-"))
|
|
32
|
+
remove.push(canonicalName(term, "-"));
|
|
33
|
+
else
|
|
34
|
+
filter.push(canonicalName(term, ""));
|
|
35
|
+
}
|
|
36
|
+
const result = {
|
|
37
|
+
filter: unique(filter),
|
|
38
|
+
add: unique(add),
|
|
39
|
+
remove: unique(remove),
|
|
40
|
+
};
|
|
41
|
+
const conflict = result.add.find((tag) => result.remove.includes(tag));
|
|
42
|
+
if (conflict !== undefined) {
|
|
43
|
+
throw new InvalidTagSignalError(`a curation signal cannot both add and remove tag '${conflict}'`);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=TagSignal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagSignal.js","sourceRoot":"","sources":["../../src/TagSignal.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,SAAS;CAAG;AAYvD,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,MAAsB,EAAU,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClD,IACI,IAAI,CAAC,MAAM,KAAK,CAAC;WACd,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;WACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;WACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAClC,CAAC;QACC,MAAM,IAAI,qBAAqB,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,MAAyB,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7E,MAAM,CAAC,OAAO,OAAO,SAAS;IAC1B,MAAM,CAAC,OAAO,CAAC,KAA+B;QAC1C,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,qBAAqB,CAC3B,+CAA+C,IAAI,gBAAgB,CACtE,CAAC;YACN,CAAC;YACD,OAAO,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,KAA+B;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;iBACxD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;;gBAChE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG;YACX,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;YAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;SACzB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,qBAAqB,CAAC,qDAAqD,QAAQ,GAAG,CAAC,CAAC;QACtG,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
|
package/dist/src/Validator.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type OutputUnit } from "@cfworker/json-schema";
|
|
2
|
-
import type { ClientDisplayCapabilities, EntryReadResult, LoopFlags, Notice, OperationResult, ProblemDetails, ProposalProjection, TextRegion } from "./types.generated.ts";
|
|
2
|
+
import type { ClientDisplayCapabilities, EntryReadResult, LoopFlags, Notice, OperationResult, ProblemDetails, ProposalProjection, RangeExtent, TextRegion } from "./types.generated.ts";
|
|
3
3
|
export type ValidationResult = {
|
|
4
4
|
valid: boolean;
|
|
5
5
|
errors: OutputUnit[];
|
|
@@ -14,6 +14,8 @@ export declare class InvalidEntryReadResultError extends TypeError {
|
|
|
14
14
|
}
|
|
15
15
|
export declare class InvalidTextRegionError extends TypeError {
|
|
16
16
|
}
|
|
17
|
+
export declare class InvalidRangeExtentError extends TypeError {
|
|
18
|
+
}
|
|
17
19
|
export declare class InvalidLoopFlagsError extends TypeError {
|
|
18
20
|
}
|
|
19
21
|
export declare class InvalidProposalProjectionError extends TypeError {
|
|
@@ -24,6 +26,7 @@ export default class Validator {
|
|
|
24
26
|
#private;
|
|
25
27
|
static validatePosition(value: unknown): ValidationResult;
|
|
26
28
|
static validateLineMarker(value: unknown): ValidationResult;
|
|
29
|
+
static validateTextLineMarker(value: unknown): ValidationResult;
|
|
27
30
|
static validateParsedPath(value: unknown): ValidationResult;
|
|
28
31
|
static validateMatcherBody(value: unknown): ValidationResult;
|
|
29
32
|
static validateSendBody(value: unknown): ValidationResult;
|
|
@@ -34,6 +37,7 @@ export default class Validator {
|
|
|
34
37
|
static validateOperationResult(value: unknown): ValidationResult;
|
|
35
38
|
static validateEntryReadResult(value: unknown): ValidationResult;
|
|
36
39
|
static validateTextRegion(value: unknown): ValidationResult;
|
|
40
|
+
static validateRangeExtent(value: unknown): ValidationResult;
|
|
37
41
|
static validateLoopFlags(value: unknown): ValidationResult;
|
|
38
42
|
static validateProposalProjection(value: unknown): ValidationResult;
|
|
39
43
|
static validateClientDisplayCapabilities(value: unknown): ValidationResult;
|
|
@@ -42,6 +46,7 @@ export default class Validator {
|
|
|
42
46
|
static assertOperationResult<T extends OperationResult>(value: T): T;
|
|
43
47
|
static assertEntryReadResult<T extends EntryReadResult>(value: T): T;
|
|
44
48
|
static assertTextRegion<T extends TextRegion>(value: T): T;
|
|
49
|
+
static assertRangeExtent<T extends RangeExtent>(value: T): T;
|
|
45
50
|
static assertLoopFlags<T extends LoopFlags>(value: T): T;
|
|
46
51
|
static assertProposalProjection<T extends ProposalProjection>(value: T): T;
|
|
47
52
|
static assertClientDisplayCapabilities<T extends ClientDisplayCapabilities>(value: T): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,UAAU,EAAe,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAoB/F,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAExL,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAExE,qBAAa,kBAAmB,SAAQ,SAAS;CAAG;AACpD,qBAAa,0BAA2B,SAAQ,SAAS;CAAG;AAC5D,qBAAa,2BAA4B,SAAQ,SAAS;CAAG;AAC7D,qBAAa,2BAA4B,SAAQ,SAAS;CAAG;AAC7D,qBAAa,sBAAuB,SAAQ,SAAS;CAAG;AACxD,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AACzD,qBAAa,qBAAsB,SAAQ,SAAS;CAAG;AACvD,qBAAa,8BAA+B,SAAQ,SAAS;CAAG;AAChE,qBAAa,qCAAsC,SAAQ,SAAS;CAAG;AAEvE,MAAM,CAAC,OAAO,OAAO,SAAS;;IA0D1B,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAExD;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE1D;IAED,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE1D;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE3D;IAED,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAExD;IAED,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE/D;IAED,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE/D;IAED,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEtD;IAED,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE9D;IAED,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE/D;IAED,MAAM,CAAC,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAoB/D;IAED,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE1D;IAED,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAE3D;IAED,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEzD;IAED,MAAM,CAAC,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAElE;IAED,MAAM,CAAC,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAEzE;IAED,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAIjD;IAED,MAAM,CAAC,oBAAoB,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMjE;IAED,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAkBnE;IAED,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAanE;IAED,MAAM,CAAC,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAYzD;IAED,MAAM,CAAC,iBAAiB,CAAC,CAAC,SAAS,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAY3D;IAED,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMvD;IAED,MAAM,CAAC,wBAAwB,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQzE;IAED,MAAM,CAAC,+BAA+B,CAAC,CAAC,SAAS,yBAAyB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQvF;CAMJ"}
|