@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.
Files changed (93) hide show
  1. package/.env.defaults +11 -0
  2. package/README.md +10 -43
  3. package/SPEC.md +363 -280
  4. package/dist/conformance/agui-v1.json +3 -50
  5. package/dist/schema/CapabilityDescriptor.json +6 -1
  6. package/dist/schema/CapabilitySelector.json +6 -1
  7. package/dist/schema/ClientStatement.json +0 -10
  8. package/dist/schema/FunctionalityDefinitionState.json +9 -1
  9. package/dist/schema/LoopPolicy.json +32 -3
  10. package/dist/schema/LoopPolicyRequest.json +16 -0
  11. package/dist/schema/McpConfigurationOverlay.json +1 -14
  12. package/dist/schema/McpServerDefinition.json +1 -1
  13. package/dist/schema/PlurnkStatement.json +30 -41
  14. package/dist/schema/ProposalProjection.json +6 -2
  15. package/dist/schema/SkillDefinition.json +3 -3
  16. package/dist/schema/TextLineMarker.json +1 -1
  17. package/dist/src/ApplicationPort.d.ts +38 -10
  18. package/dist/src/ApplicationPort.d.ts.map +1 -1
  19. package/dist/src/LoopLifecycle.d.ts +5 -0
  20. package/dist/src/LoopLifecycle.d.ts.map +1 -1
  21. package/dist/src/LoopLifecycle.js +15 -0
  22. package/dist/src/LoopLifecycle.js.map +1 -1
  23. package/dist/src/MessageResource.d.ts +30 -0
  24. package/dist/src/MessageResource.d.ts.map +1 -0
  25. package/dist/src/MessageResource.js +2 -0
  26. package/dist/src/MessageResource.js.map +1 -0
  27. package/dist/src/PlurnkParseError.d.ts +1 -3
  28. package/dist/src/PlurnkParseError.d.ts.map +1 -1
  29. package/dist/src/PlurnkParseError.js +1 -4
  30. package/dist/src/PlurnkParseError.js.map +1 -1
  31. package/dist/src/Problems.d.ts +1 -0
  32. package/dist/src/Problems.d.ts.map +1 -1
  33. package/dist/src/Problems.js +19 -1
  34. package/dist/src/Problems.js.map +1 -1
  35. package/dist/src/TurnDisposition.d.ts +3 -4
  36. package/dist/src/TurnDisposition.d.ts.map +1 -1
  37. package/dist/src/TurnDisposition.js +5 -21
  38. package/dist/src/TurnDisposition.js.map +1 -1
  39. package/dist/src/Validator.d.ts +3 -3
  40. package/dist/src/Validator.d.ts.map +1 -1
  41. package/dist/src/Validator.js +14 -15
  42. package/dist/src/Validator.js.map +1 -1
  43. package/dist/src/index.d.ts +3 -7
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/index.js +4 -7
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/types.d.ts +15 -6
  48. package/dist/src/types.d.ts.map +1 -1
  49. package/dist/src/types.generated.d.ts +60 -76
  50. package/dist/src/types.generated.d.ts.map +1 -1
  51. package/dist/src/types.js +19 -12
  52. package/dist/src/types.js.map +1 -1
  53. package/package.json +7 -20
  54. package/plurnk.md +49 -73
  55. package/bin/plurnk-contracts.js +0 -43
  56. package/dist/schema/AcpPlan.json +0 -63
  57. package/dist/schema/Plan.json +0 -65
  58. package/dist/src/AcpPlanValue.d.ts +0 -6
  59. package/dist/src/AcpPlanValue.d.ts.map +0 -1
  60. package/dist/src/AcpPlanValue.js +0 -36
  61. package/dist/src/AcpPlanValue.js.map +0 -1
  62. package/dist/src/AstBuilder.d.ts +0 -21
  63. package/dist/src/AstBuilder.d.ts.map +0 -1
  64. package/dist/src/AstBuilder.js +0 -876
  65. package/dist/src/AstBuilder.js.map +0 -1
  66. package/dist/src/PlanValue.d.ts +0 -9
  67. package/dist/src/PlanValue.d.ts.map +0 -1
  68. package/dist/src/PlanValue.js +0 -63
  69. package/dist/src/PlanValue.js.map +0 -1
  70. package/dist/src/PlurnkErrorStrategy.d.ts +0 -11
  71. package/dist/src/PlurnkErrorStrategy.d.ts.map +0 -1
  72. package/dist/src/PlurnkErrorStrategy.js +0 -253
  73. package/dist/src/PlurnkErrorStrategy.js.map +0 -1
  74. package/dist/src/PlurnkParser.d.ts +0 -15
  75. package/dist/src/PlurnkParser.d.ts.map +0 -1
  76. package/dist/src/PlurnkParser.js +0 -330
  77. package/dist/src/PlurnkParser.js.map +0 -1
  78. package/dist/src/RecordingListener.d.ts +0 -9
  79. package/dist/src/RecordingListener.d.ts.map +0 -1
  80. package/dist/src/RecordingListener.js +0 -37
  81. package/dist/src/RecordingListener.js.map +0 -1
  82. package/dist/src/generated/plurnkLexer.d.ts +0 -162
  83. package/dist/src/generated/plurnkLexer.d.ts.map +0 -1
  84. package/dist/src/generated/plurnkLexer.js +0 -1060
  85. package/dist/src/generated/plurnkLexer.js.map +0 -1
  86. package/dist/src/generated/plurnkParser.d.ts +0 -436
  87. package/dist/src/generated/plurnkParser.d.ts.map +0 -1
  88. package/dist/src/generated/plurnkParser.js +0 -2972
  89. package/dist/src/generated/plurnkParser.js.map +0 -1
  90. package/dist/src/generated/plurnkParserVisitor.d.ts +0 -263
  91. package/dist/src/generated/plurnkParserVisitor.d.ts.map +0 -1
  92. package/dist/src/generated/plurnkParserVisitor.js +0 -227
  93. 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, parser and AST,
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
- {§contract-authority}.
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 | `plurnkLexer.g4` and `plurnkParser.g4` |
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
- ```ts
36
- import { PlurnkParser } from "@plurnk/plurnk-contracts";
37
-
38
- const result = PlurnkParser.parse(input);
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 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.
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