@plurnk/plurnk-contracts 1.17.0 → 1.19.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/.env.defaults +11 -0
- package/README.md +10 -43
- package/SPEC.md +363 -280
- package/dist/conformance/agui-v1.json +3 -50
- package/dist/schema/CapabilityDescriptor.json +6 -1
- package/dist/schema/CapabilitySelector.json +6 -1
- package/dist/schema/ClientStatement.json +0 -10
- package/dist/schema/FunctionalityDefinitionState.json +9 -1
- package/dist/schema/LoopPolicy.json +32 -3
- package/dist/schema/LoopPolicyRequest.json +16 -0
- package/dist/schema/McpConfigurationOverlay.json +1 -14
- package/dist/schema/McpServerDefinition.json +1 -1
- package/dist/schema/PlurnkStatement.json +30 -41
- package/dist/schema/ProposalProjection.json +6 -2
- package/dist/schema/SkillDefinition.json +3 -3
- package/dist/schema/TextLineMarker.json +1 -1
- package/dist/src/ApplicationPort.d.ts +38 -10
- package/dist/src/ApplicationPort.d.ts.map +1 -1
- package/dist/src/LoopLifecycle.d.ts +5 -0
- package/dist/src/LoopLifecycle.d.ts.map +1 -1
- package/dist/src/LoopLifecycle.js +15 -0
- package/dist/src/LoopLifecycle.js.map +1 -1
- package/dist/src/MessageResource.d.ts +30 -0
- package/dist/src/MessageResource.d.ts.map +1 -0
- package/dist/src/MessageResource.js +2 -0
- package/dist/src/MessageResource.js.map +1 -0
- package/dist/src/PlurnkParseError.d.ts +1 -3
- package/dist/src/PlurnkParseError.d.ts.map +1 -1
- package/dist/src/PlurnkParseError.js +1 -4
- package/dist/src/PlurnkParseError.js.map +1 -1
- package/dist/src/Problems.d.ts +1 -0
- package/dist/src/Problems.d.ts.map +1 -1
- package/dist/src/Problems.js +19 -1
- package/dist/src/Problems.js.map +1 -1
- package/dist/src/TurnDisposition.d.ts +3 -4
- package/dist/src/TurnDisposition.d.ts.map +1 -1
- package/dist/src/TurnDisposition.js +5 -21
- package/dist/src/TurnDisposition.js.map +1 -1
- package/dist/src/Validator.d.ts +3 -3
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +14 -15
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/index.d.ts +3 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +15 -6
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +60 -76
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +19 -12
- package/dist/src/types.js.map +1 -1
- package/package.json +7 -20
- package/plurnk.md +49 -73
- package/bin/plurnk-contracts.js +0 -43
- package/dist/schema/AcpPlan.json +0 -63
- package/dist/schema/Plan.json +0 -65
- package/dist/src/AcpPlanValue.d.ts +0 -6
- package/dist/src/AcpPlanValue.d.ts.map +0 -1
- package/dist/src/AcpPlanValue.js +0 -36
- package/dist/src/AcpPlanValue.js.map +0 -1
- package/dist/src/AstBuilder.d.ts +0 -21
- package/dist/src/AstBuilder.d.ts.map +0 -1
- package/dist/src/AstBuilder.js +0 -876
- package/dist/src/AstBuilder.js.map +0 -1
- package/dist/src/PlanValue.d.ts +0 -9
- package/dist/src/PlanValue.d.ts.map +0 -1
- package/dist/src/PlanValue.js +0 -63
- package/dist/src/PlanValue.js.map +0 -1
- package/dist/src/PlurnkErrorStrategy.d.ts +0 -11
- package/dist/src/PlurnkErrorStrategy.d.ts.map +0 -1
- package/dist/src/PlurnkErrorStrategy.js +0 -253
- package/dist/src/PlurnkErrorStrategy.js.map +0 -1
- package/dist/src/PlurnkParser.d.ts +0 -15
- package/dist/src/PlurnkParser.d.ts.map +0 -1
- package/dist/src/PlurnkParser.js +0 -330
- package/dist/src/PlurnkParser.js.map +0 -1
- package/dist/src/RecordingListener.d.ts +0 -9
- package/dist/src/RecordingListener.d.ts.map +0 -1
- package/dist/src/RecordingListener.js +0 -37
- package/dist/src/RecordingListener.js.map +0 -1
- package/dist/src/generated/plurnkLexer.d.ts +0 -162
- package/dist/src/generated/plurnkLexer.d.ts.map +0 -1
- package/dist/src/generated/plurnkLexer.js +0 -1060
- package/dist/src/generated/plurnkLexer.js.map +0 -1
- package/dist/src/generated/plurnkParser.d.ts +0 -436
- package/dist/src/generated/plurnkParser.d.ts.map +0 -1
- package/dist/src/generated/plurnkParser.js +0 -2972
- package/dist/src/generated/plurnkParser.js.map +0 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +0 -263
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +0 -1
- package/dist/src/generated/plurnkParserVisitor.js +0 -227
- package/dist/src/generated/plurnkParserVisitor.js.map +0 -1
package/.env.defaults
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# @plurnk/plurnk-contracts — the keys the daemon and every client share. One owner, read by all:
|
|
2
|
+
# the daemon folds this file into its floor with every other installed package's, and a client
|
|
3
|
+
# folds it beneath its own, so neither holds the other's default.
|
|
4
|
+
|
|
5
|
+
# Where the daemon listens, and so where a local client dials: one line moves both.
|
|
6
|
+
PLURNK_HOST=127.0.0.1
|
|
7
|
+
# The daemon's TCP port, shared by all client interfaces.
|
|
8
|
+
PLURNK_PORT=1066
|
|
9
|
+
# The whole URL a client dials instead: a remote portal, or a daemon bound to an address no
|
|
10
|
+
# client can dial (0.0.0.0). Unset = http://$PLURNK_HOST:$PLURNK_PORT.
|
|
11
|
+
# PLURNK_AGUI_URL=
|
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# @plurnk/plurnk-contracts
|
|
2
2
|
|
|
3
|
-
The single authority for PLURNK's model-facing language,
|
|
3
|
+
The single authority for PLURNK's model-facing language contract, its AST,
|
|
4
4
|
generated model rail, shared schemas and types, runtime-neutral Problems,
|
|
5
5
|
operation results, Notices, and text coordinates. See SPEC
|
|
6
|
-
{§
|
|
6
|
+
{§root-value-api}.
|
|
7
7
|
|
|
8
8
|
## Install
|
|
9
9
|
|
|
@@ -19,7 +19,7 @@ Requires Node.js 26 or newer.
|
|
|
19
19
|
|---------------------------------|------------------------------------------------------|
|
|
20
20
|
| Concise model language teaching | [`plurnk.md`](plurnk.md) |
|
|
21
21
|
| Stable behavioral contract | [`SPEC.md`](SPEC.md) |
|
|
22
|
-
| Accepted language syntax | `
|
|
22
|
+
| Accepted language syntax | `SPEC.md` ({§canonical-statement}); implemented by `@plurnk/plurnk-parser` |
|
|
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` |
|
|
@@ -32,33 +32,10 @@ it; this package ships no grammar profile.
|
|
|
32
32
|
|
|
33
33
|
## Parser
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
for (const item of result.items) {
|
|
41
|
-
if (item.kind === "statement") {
|
|
42
|
-
console.log(item.statement.op);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
Parse items are ordered and discriminate as `statement` or `error`.
|
|
48
|
-
Outside-block text is ignored in every tier; literal bodies remain exact.
|
|
49
|
-
The parser entry points deliberately accept different document tiers:
|
|
50
|
-
|
|
51
|
-
| Entry point | Accepted input |
|
|
52
|
-
|--------------------------------|-------------------------------------------------------|
|
|
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 |
|
|
57
|
-
| `parsePath` | One path or URI using parser-equivalent decomposition |
|
|
58
|
-
|
|
59
|
-
See SPEC {§turn-shape} and {§tier-entrypoints} for the tier boundaries. All
|
|
60
|
-
AST, parse-result, schema-derived, and runtime-neutral wire types are exported
|
|
61
|
-
from the package root.
|
|
35
|
+
The parser that implements this language is [`@plurnk/plurnk-parser`](../plurnk-parser):
|
|
36
|
+
`PlurnkParser` and `parsePath` are its exports, and it depends on this package for
|
|
37
|
+
the AST and wire types. A consumer that validates or presents the wire needs only
|
|
38
|
+
this package.
|
|
62
39
|
|
|
63
40
|
## Wire validation
|
|
64
41
|
|
|
@@ -79,16 +56,6 @@ Generated wire types, constructors, and validators share the package root entry
|
|
|
79
56
|
point described by SPEC {§wire-entrypoint}. Owning JSON Schemas use the published
|
|
80
57
|
`@plurnk/plurnk-contracts/schema/*.json` subpaths.
|
|
81
58
|
|
|
82
|
-
## CLI
|
|
83
|
-
|
|
84
|
-
```text
|
|
85
|
-
plurnk-contracts [file] parse a file, or standard input when omitted
|
|
86
|
-
plurnk-contracts --help show usage
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
The CLI prints the parse result as JSON and exits `0` for a clean parse or `1`
|
|
90
|
-
when the result contains an error or unparsed tail.
|
|
91
|
-
|
|
92
59
|
## Development
|
|
93
60
|
|
|
94
61
|
```sh
|
|
@@ -97,9 +64,9 @@ npm test
|
|
|
97
64
|
npm run test:installation
|
|
98
65
|
```
|
|
99
66
|
|
|
100
|
-
Generated
|
|
101
|
-
|
|
102
|
-
generated
|
|
67
|
+
Generated schema-type and distribution artifacts are rebuilt by `npm run build`.
|
|
68
|
+
Change the owning schema rather than editing generated output directly; the
|
|
69
|
+
grammar and its generated parser live in `@plurnk/plurnk-parser`.
|
|
103
70
|
|
|
104
71
|
## License
|
|
105
72
|
|