@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
package/README.md
CHANGED
|
@@ -23,12 +23,12 @@ Requires Node.js 26 or newer.
|
|
|
23
23
|
| Shared wire shapes | `schema/*.json` |
|
|
24
24
|
| JavaScript and TypeScript API | `@plurnk/plurnk-contracts` |
|
|
25
25
|
| Published JSON Schemas | `@plurnk/plurnk-contracts/schema/*.json` |
|
|
26
|
-
| Optional local-model rails | `@plurnk/plurnk-contracts/plurnk.{gemma,qwen}.gbnf` |
|
|
27
26
|
|
|
28
27
|
JSON Schema owns shared wire shapes, generated TypeScript projects those
|
|
29
|
-
shapes, ANTLR owns accepted model-language syntax
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
shapes, and ANTLR owns accepted model-language syntax. See SPEC
|
|
29
|
+
{§contract-representations}. An operator who wants constrained sampling on a
|
|
30
|
+
llama-server route writes their own GBNF and points `PLURNK_PROVIDERS_GBNF` at
|
|
31
|
+
it; this package ships no grammar profile.
|
|
32
32
|
|
|
33
33
|
## Parser
|
|
34
34
|
|
|
@@ -44,15 +44,16 @@ for (const item of result.items) {
|
|
|
44
44
|
}
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Parse items are ordered and discriminate as `statement
|
|
47
|
+
Parse items are ordered and discriminate as `statement` or `error`.
|
|
48
|
+
Outside-block text is ignored in every tier; literal bodies remain exact.
|
|
48
49
|
The parser entry points deliberately accept different document tiers:
|
|
49
50
|
|
|
50
51
|
| Entry point | Accepted input |
|
|
51
52
|
|--------------------------------|-------------------------------------------------------|
|
|
52
|
-
| `PlurnkParser.parse` | One operation-bearing model turn; omitted
|
|
53
|
-
| `PlurnkParser.parseStatements` | A
|
|
54
|
-
| `PlurnkParser.parseLog` |
|
|
55
|
-
| `PlurnkParser.parseClient` | Protocol statements plus client-only LOOK
|
|
53
|
+
| `PlurnkParser.parse` | One operation-bearing model turn; omitted TASK continues silently |
|
|
54
|
+
| `PlurnkParser.parseStatements` | A sequence of protocol statements |
|
|
55
|
+
| `PlurnkParser.parseLog` | Consecutive disposition-ended turns |
|
|
56
|
+
| `PlurnkParser.parseClient` | Protocol statements plus the client-only LOOK |
|
|
56
57
|
| `parsePath` | One path or URI using parser-equivalent decomposition |
|
|
57
58
|
|
|
58
59
|
See SPEC {§turn-shape} and {§tier-entrypoints} for the tier boundaries. All
|
|
@@ -88,23 +89,6 @@ plurnk-contracts --help show usage
|
|
|
88
89
|
The CLI prints the parse result as JSON and exits `0` for a clean parse or `1`
|
|
89
90
|
when the result contains an error or unparsed tail.
|
|
90
91
|
|
|
91
|
-
## Optional GBNF artifact
|
|
92
|
-
|
|
93
|
-
```ts
|
|
94
|
-
const railUrl = import.meta.resolve(
|
|
95
|
-
"@plurnk/plurnk-contracts/plurnk.qwen.gbnf",
|
|
96
|
-
);
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
Choose `gemma` when the model generates its complete
|
|
100
|
-
`<|channel>thought … <channel|>` enclosure, or `qwen` when the chat template
|
|
101
|
-
supplies `<think>\n` before sampled token zero. The latter artifact is named
|
|
102
|
-
`qwen` because that prefill is Qwen's template protocol, not a general property
|
|
103
|
-
of think tags. Both constrain the same PLURNK
|
|
104
|
-
turn after reasoning. They are not second parsers and do not guarantee
|
|
105
|
-
semantically valid output. See SPEC {§gbnf-turn-shape} and
|
|
106
|
-
{§gbnf-reasoning-boundary}.
|
|
107
|
-
|
|
108
92
|
## Development
|
|
109
93
|
|
|
110
94
|
```sh
|
|
@@ -113,9 +97,9 @@ npm test
|
|
|
113
97
|
npm run test:installation
|
|
114
98
|
```
|
|
115
99
|
|
|
116
|
-
Generated parser, schema-type,
|
|
117
|
-
`npm run build`. Change their grammar
|
|
118
|
-
|
|
100
|
+
Generated parser, schema-type, and distribution artifacts are rebuilt by
|
|
101
|
+
`npm run build`. Change their grammar or schema owner rather than editing
|
|
102
|
+
generated output directly.
|
|
119
103
|
|
|
120
104
|
## License
|
|
121
105
|
|