@plurnk/plurnk-grammar 0.65.0 → 0.68.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 +2 -2
- package/dist/plurnk.gbnf +9 -12
- package/dist/schema/SchemeRegistration.json +1 -1
- package/dist/src/PlurnkParser.d.ts.map +1 -1
- package/dist/src/PlurnkParser.js +10 -0
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/Validator.d.ts +0 -8
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +0 -34
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/types.generated.d.ts +112 -365
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.generated.js +0 -3
- package/dist/src/types.generated.js.map +1 -1
- package/package.json +1 -1
- package/plurnk.md +5 -3
- package/dist/schema/Agent.json +0 -18
- package/dist/schema/Entry.json +0 -51
- package/dist/schema/LogEntry.json +0 -118
- package/dist/schema/Loop.json +0 -20
- package/dist/schema/Packet.json +0 -72
- package/dist/schema/Run.json +0 -26
- package/dist/schema/Session.json +0 -20
- package/dist/schema/Turn.json +0 -39
package/README.md
CHANGED
|
@@ -201,9 +201,9 @@ Errors are JSON-serializable. Shape: `{ line, column, source, message }` where `
|
|
|
201
201
|
|
|
202
202
|
One generated [GBNF](https://github.com/ggml-org/llama.cpp/blob/master/grammars/README.md) grammar ships for llama.cpp constrained sampling, calibrated for the Fireworks/DeepSeek backend:
|
|
203
203
|
|
|
204
|
-
- **`plurnk.gbnf` (
|
|
204
|
+
- **`plurnk.gbnf` (PLAN-anchored turn)** — `root ::= preplan plan sep batch-step* send-final-any sep`. A Plurnk turn is a `*:PLAN:OPS:SEND[N]` sandwich: a FREE reasoning preamble (any text up to the first `<<PLAN`), then a MANDATORY `<<PLAN` anchoring a strict ops-only batch (bounded `WS{0,7}` separators, no free prose between), closed by exactly one terminal `SEND[102|200|202|300|499]` — structural termination (forced EOS), not an optional stop a near-greedy decoder can sail past.
|
|
205
205
|
|
|
206
|
-
The
|
|
206
|
+
The preamble names **no reasoning delimiter** — it admits any text completing no `<<PLAN`. That keeps it format-agnostic across models and, crucially, never masks a model's native reasoning token: the model reasons freely (a reasoning model's CoT separates into `reasoning_content`; a non-reasoning model reasons in the `<<PLAN` body, the public statement of intent), then the mandatory `<<PLAN` anchors the strict turn. `PlurnkParser` discards everything before the first `<<PLAN`. The parser remains the permissive contract over the actionable turn: everything the grammar can generate, the parser accepts (and much it doesn't: word suffixes, richer slot internals).
|
|
207
207
|
|
|
208
208
|
```ts
|
|
209
209
|
import.meta.resolve("@plurnk/plurnk-grammar/plurnk.gbnf")
|
package/dist/plurnk.gbnf
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# @generated by scriptify/generate-gbnf.ts — do not edit; run `npm run build:gbnf`.
|
|
2
|
-
root ::= root-
|
|
2
|
+
root ::= root-turn
|
|
3
3
|
find-b0 ::= (":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] find-b0)?
|
|
4
4
|
find-b1 ::= ("F" find-b2 | ":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:F] find-b0)?
|
|
5
5
|
find-b2 ::= ("I" find-b3 | ":" find-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:I] find-b0)?
|
|
@@ -709,17 +709,14 @@ plan ::= "<<PLAN" ":" plan-b0 ":PLAN"
|
|
|
709
709
|
sep ::= [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]?
|
|
710
710
|
batch-step ::= mid-statement sep
|
|
711
711
|
mid-statement ::= op-statement | send-mid-any
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
thinkbody ::= thinkbody-s0
|
|
721
|
-
think ::= "<think>" thinkbody "</think>"
|
|
722
|
-
root-think ::= think? sep batch-step* send-final-any sep
|
|
712
|
+
preplan-s0 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] preplan-s0)?
|
|
713
|
+
preplan-s1 ::= ("<" preplan-s2 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] preplan-s0)?
|
|
714
|
+
preplan-s2 ::= ("P" preplan-s3 | "<" preplan-s2 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FP<] preplan-s0)?
|
|
715
|
+
preplan-s3 ::= ("L" preplan-s4 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FL<] preplan-s0)?
|
|
716
|
+
preplan-s4 ::= ("A" preplan-s5 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FA<] preplan-s0)?
|
|
717
|
+
preplan-s5 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FN<] preplan-s0)?
|
|
718
|
+
preplan ::= preplan-s0
|
|
719
|
+
root-turn ::= preplan plan sep batch-step* send-final-any sep
|
|
723
720
|
op-statement ::= find | find-1 | find-2 | find-3 | find-4 | find-5 | find-6 | find-7 | find-8 | find-9 | read | read-1 | read-2 | read-3 | read-4 | read-5 | read-6 | read-7 | read-8 | read-9 | edit | edit-1 | edit-2 | edit-3 | edit-4 | edit-5 | edit-6 | edit-7 | edit-8 | edit-9 | copy | copy-1 | copy-2 | copy-3 | copy-4 | copy-5 | copy-6 | copy-7 | copy-8 | copy-9 | move | move-1 | move-2 | move-3 | move-4 | move-5 | move-6 | move-7 | move-8 | move-9 | open | open-1 | open-2 | open-3 | open-4 | open-5 | open-6 | open-7 | open-8 | open-9 | fold | fold-1 | fold-2 | fold-3 | fold-4 | fold-5 | fold-6 | fold-7 | fold-8 | fold-9 | exec | exec-1 | exec-2 | exec-3 | exec-4 | exec-5 | exec-6 | exec-7 | exec-8 | exec-9 | kill | kill-1 | kill-2 | kill-3 | kill-4 | kill-5 | kill-6 | kill-7 | kill-8 | kill-9 | plan
|
|
724
721
|
send-mid-any ::= send-mid | send-1-mid | send-2-mid | send-3-mid | send-4-mid | send-5-mid | send-6-mid | send-7-mid | send-8-mid | send-9-mid
|
|
725
722
|
send-final-any ::= send-final | send-1-final | send-2-final | send-3-final | send-4-final | send-5-final | send-6-final | send-7-final | send-8-final | send-9-final
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"model_visible": { "type": "boolean" },
|
|
16
16
|
"category": { "type": "string", "minLength": 1 },
|
|
17
|
-
"default_scope": { "enum": ["
|
|
17
|
+
"default_scope": { "enum": ["session", "run"] },
|
|
18
18
|
"default_channel": {
|
|
19
19
|
"type": "string",
|
|
20
20
|
"pattern": "^[a-z][a-z0-9_-]*$",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,WAAW,EAAY,MAAM,YAAY,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,WAAW,EAAY,MAAM,YAAY,CAAC;AAEnE,MAAM,CAAC,OAAO,OAAO,YAAY;;IAC7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;CA0F3C"}
|
package/dist/src/PlurnkParser.js
CHANGED
|
@@ -7,6 +7,16 @@ import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
|
|
|
7
7
|
import RecordingListener from "./RecordingListener.js";
|
|
8
8
|
export default class PlurnkParser {
|
|
9
9
|
static parse(input) {
|
|
10
|
+
// A Plurnk turn is a `*:PLAN:OPS:SEND[N]` sandwich: the model's private reasoning
|
|
11
|
+
// (any format — native channel, prose, nothing) precedes the first `<<PLAN`, which
|
|
12
|
+
// anchors the actionable turn. Discard that preamble before lexing — the turn
|
|
13
|
+
// begins at `<<PLAN`. Provider-separated content already starts there (no-op);
|
|
14
|
+
// this also rescues un-separated raw content and prevents the lexer from
|
|
15
|
+
// mis-tokenizing op-lookalikes a model may rehearse inside its reasoning. No
|
|
16
|
+
// `<<PLAN` present ⇒ parse as-is (e.g. a statement list or the examples block).
|
|
17
|
+
const planIdx = input.indexOf("<<PLAN");
|
|
18
|
+
if (planIdx > 0)
|
|
19
|
+
input = input.slice(planIdx);
|
|
10
20
|
const lexer = new plurnkLexer(CharStream.fromString(input));
|
|
11
21
|
const errors = [];
|
|
12
22
|
lexer.removeErrorListeners();
|
|
@@ -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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"}
|
package/dist/src/Validator.d.ts
CHANGED
|
@@ -12,17 +12,9 @@ export default class Validator {
|
|
|
12
12
|
static validateParsedPath(obj: unknown): ValidationResult;
|
|
13
13
|
static validateMatcherBody(obj: unknown): ValidationResult;
|
|
14
14
|
static validateSendBody(obj: unknown): ValidationResult;
|
|
15
|
-
static validateEntry(obj: unknown): ValidationResult;
|
|
16
15
|
static validateSchemeRegistration(obj: unknown): ValidationResult;
|
|
17
16
|
static validateProviderDeclaration(obj: unknown): ValidationResult;
|
|
18
|
-
static validateLogEntry(obj: unknown): ValidationResult;
|
|
19
17
|
static validatePlurnkStatement(obj: unknown): ValidationResult;
|
|
20
|
-
static validateTurn(obj: unknown): ValidationResult;
|
|
21
|
-
static validateLoop(obj: unknown): ValidationResult;
|
|
22
|
-
static validateRun(obj: unknown): ValidationResult;
|
|
23
|
-
static validateSession(obj: unknown): ValidationResult;
|
|
24
|
-
static validateAgent(obj: unknown): ValidationResult;
|
|
25
|
-
static validatePacket(obj: unknown): ValidationResult;
|
|
26
18
|
static validateTelemetryEvent(obj: unknown): ValidationResult;
|
|
27
19
|
}
|
|
28
20
|
//# sourceMappingURL=Validator.d.ts.map
|
|
@@ -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;AAa/F,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,SAAS;;IA2B1B,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACvD,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACzD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACrD,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IAC7D,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACzD,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IAC1D,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACvD,MAAM,CAAC,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IACjE,MAAM,CAAC,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IAClE,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;IAC9D,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB;CAMhE"}
|
package/dist/src/Validator.js
CHANGED
|
@@ -6,28 +6,10 @@ import channelContentSchema from "../schema/ChannelContent.json" with { type: "j
|
|
|
6
6
|
import parsedPathSchema from "../schema/ParsedPath.json" with { type: "json" };
|
|
7
7
|
import matcherBodySchema from "../schema/MatcherBody.json" with { type: "json" };
|
|
8
8
|
import sendBodySchema from "../schema/SendBody.json" with { type: "json" };
|
|
9
|
-
import entrySchema from "../schema/Entry.json" with { type: "json" };
|
|
10
9
|
import schemeRegistrationSchema from "../schema/SchemeRegistration.json" with { type: "json" };
|
|
11
10
|
import providerDeclarationSchema from "../schema/ProviderDeclaration.json" with { type: "json" };
|
|
12
|
-
import logEntrySchema from "../schema/LogEntry.json" with { type: "json" };
|
|
13
11
|
import plurnkStatementSchema from "../schema/PlurnkStatement.json" with { type: "json" };
|
|
14
|
-
import turnSchema from "../schema/Turn.json" with { type: "json" };
|
|
15
|
-
import loopSchema from "../schema/Loop.json" with { type: "json" };
|
|
16
|
-
import runSchema from "../schema/Run.json" with { type: "json" };
|
|
17
|
-
import sessionSchema from "../schema/Session.json" with { type: "json" };
|
|
18
|
-
import agentSchema from "../schema/Agent.json" with { type: "json" };
|
|
19
|
-
import packetSchema from "../schema/Packet.json" with { type: "json" };
|
|
20
12
|
import telemetryEventSchema from "../schema/TelemetryEvent.json" with { type: "json" };
|
|
21
|
-
// All foundational schemas — handy when a top-level shape transitively references many others.
|
|
22
|
-
const FOUNDATIONAL = [
|
|
23
|
-
positionSchema, lineMarkerSchema, paramsSchema, channelContentSchema,
|
|
24
|
-
parsedPathSchema, matcherBodySchema, sendBodySchema,
|
|
25
|
-
plurnkStatementSchema,
|
|
26
|
-
entrySchema, logEntrySchema,
|
|
27
|
-
schemeRegistrationSchema, providerDeclarationSchema,
|
|
28
|
-
telemetryEventSchema,
|
|
29
|
-
packetSchema,
|
|
30
|
-
];
|
|
31
13
|
export default class Validator {
|
|
32
14
|
static #position = new CfValidator(positionSchema, "2020-12");
|
|
33
15
|
static #lineMarker = new CfValidator(lineMarkerSchema, "2020-12");
|
|
@@ -36,17 +18,9 @@ export default class Validator {
|
|
|
36
18
|
static #parsedPath = Validator.#buildWithRefs(parsedPathSchema, [paramsSchema]);
|
|
37
19
|
static #matcherBody = new CfValidator(matcherBodySchema, "2020-12");
|
|
38
20
|
static #sendBody = new CfValidator(sendBodySchema, "2020-12");
|
|
39
|
-
static #entry = Validator.#buildWithRefs(entrySchema, [paramsSchema, channelContentSchema]);
|
|
40
21
|
static #schemeRegistration = new CfValidator(schemeRegistrationSchema, "2020-12");
|
|
41
22
|
static #providerDeclaration = new CfValidator(providerDeclarationSchema, "2020-12");
|
|
42
|
-
static #logEntry = Validator.#buildWithRefs(logEntrySchema, [paramsSchema, lineMarkerSchema]);
|
|
43
23
|
static #plurnkStatement = Validator.#buildWithRefs(plurnkStatementSchema, [positionSchema, lineMarkerSchema, paramsSchema, parsedPathSchema, matcherBodySchema, sendBodySchema]);
|
|
44
|
-
static #turn = Validator.#buildWithRefs(turnSchema, FOUNDATIONAL);
|
|
45
|
-
static #loop = new CfValidator(loopSchema, "2020-12");
|
|
46
|
-
static #run = new CfValidator(runSchema, "2020-12");
|
|
47
|
-
static #session = Validator.#buildWithRefs(sessionSchema, [schemeRegistrationSchema]);
|
|
48
|
-
static #agent = Validator.#buildWithRefs(agentSchema, [providerDeclarationSchema, schemeRegistrationSchema]);
|
|
49
|
-
static #packet = Validator.#buildWithRefs(packetSchema, FOUNDATIONAL);
|
|
50
24
|
static #telemetryEvent = new CfValidator(telemetryEventSchema, "2020-12");
|
|
51
25
|
static #buildWithRefs(mainSchema, refSchemas) {
|
|
52
26
|
const validator = new CfValidator(mainSchema, "2020-12");
|
|
@@ -66,17 +40,9 @@ export default class Validator {
|
|
|
66
40
|
static validateParsedPath(obj) { return Validator.#run_(Validator.#parsedPath, obj); }
|
|
67
41
|
static validateMatcherBody(obj) { return Validator.#run_(Validator.#matcherBody, obj); }
|
|
68
42
|
static validateSendBody(obj) { return Validator.#run_(Validator.#sendBody, obj); }
|
|
69
|
-
static validateEntry(obj) { return Validator.#run_(Validator.#entry, obj); }
|
|
70
43
|
static validateSchemeRegistration(obj) { return Validator.#run_(Validator.#schemeRegistration, obj); }
|
|
71
44
|
static validateProviderDeclaration(obj) { return Validator.#run_(Validator.#providerDeclaration, obj); }
|
|
72
|
-
static validateLogEntry(obj) { return Validator.#run_(Validator.#logEntry, obj); }
|
|
73
45
|
static validatePlurnkStatement(obj) { return Validator.#run_(Validator.#plurnkStatement, obj); }
|
|
74
|
-
static validateTurn(obj) { return Validator.#run_(Validator.#turn, obj); }
|
|
75
|
-
static validateLoop(obj) { return Validator.#run_(Validator.#loop, obj); }
|
|
76
|
-
static validateRun(obj) { return Validator.#run_(Validator.#run, obj); }
|
|
77
|
-
static validateSession(obj) { return Validator.#run_(Validator.#session, obj); }
|
|
78
|
-
static validateAgent(obj) { return Validator.#run_(Validator.#agent, obj); }
|
|
79
|
-
static validatePacket(obj) { return Validator.#run_(Validator.#packet, obj); }
|
|
80
46
|
static validateTelemetryEvent(obj) { return Validator.#run_(Validator.#telemetryEvent, obj); }
|
|
81
47
|
static #run_(validator, obj) {
|
|
82
48
|
const result = validator.validate(obj);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,WAAW,EAAgC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,cAAc,MAAM,yBAAyB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3E,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,YAAY,MAAM,uBAAuB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvE,OAAO,oBAAoB,MAAM,+BAA+B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACvF,OAAO,gBAAgB,MAAM,2BAA2B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/E,OAAO,iBAAiB,MAAM,4BAA4B,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACjF,OAAO,cAAc,MAAM,yBAAyB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"Validator.js","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"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"}
|