@plurnk/plurnk-grammar 0.17.0 → 0.18.1

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 CHANGED
@@ -179,6 +179,20 @@ Errors are JSON-serializable. Shape: `{ line, column, source, message }` where `
179
179
 
180
180
  [SPEC.md](SPEC.md) — full grammar specification: canonical form, per-OP semantics, matcher dialects, path decomposition, error model, whitespace rules, implementation notes.
181
181
 
182
+ ## ecosystem
183
+
184
+ The `@plurnk/*` ecosystem pins peer versions exactly — no caret, no tilde, no ranges:
185
+
186
+ ```json
187
+ "@plurnk/plurnk-grammar": "0.18.0"
188
+ ```
189
+
190
+ Greenfield, single-orchestrator-per-repo, closed ecosystem. Determinism beats flexibility at this stage: when versions drift, the npm install error tells you which package needs a release. Silent semver wiggling masks coordination gaps that surface as mystery failures later.
191
+
192
+ Every grammar release cascades: every consuming package (`plurnk-providers`, `plurnk-schemes`, `plurnk-execs`, `plurnk-mimetypes`, `plurnk-service`, ...) bumps its pin and publishes a patch, then top-level consumers (`plurnk-service`, `plurnk`) bump theirs. Skipping a step = broken install downstream.
193
+
194
+ Not permanent — at v1 stabilization the policy widens back to semver ranges.
195
+
182
196
  ## license
183
197
 
184
198
  MIT.
@@ -6,5 +6,5 @@ export { default as RecordingListener } from "./RecordingListener.ts";
6
6
  export { default as Validator } from "./Validator.ts";
7
7
  export type { ValidationResult } from "./Validator.ts";
8
8
  export type { ErrorSource } from "./PlurnkParseError.ts";
9
- export type { CopyStatement, EditStatement, ExecStatement, FindStatement, HideStatement, LineMarker, LocalPath, MatcherBody, MoveStatement, ParseItem, ParseResult, ParsedPath, PlurnkOp, PlurnkStatement, Position, ReadStatement, SendBody, SendStatement, ShowStatement, UrlPath, } from "./types.ts";
9
+ export type { ContentOffset, CopyStatement, EditStatement, ExecStatement, FindStatement, HideStatement, LineMarker, LocalPath, LogCoordinate, MatcherBody, MoveStatement, ParseItem, ParseResult, ParsedPath, PlurnkOp, PlurnkStatement, Position, ReadStatement, SendBody, SendStatement, ShowStatement, TelemetryEvent, UrlPath, } from "./types.ts";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACR,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,OAAO,GACV,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACR,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,GACV,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-grammar",
3
- "version": "0.17.0",
3
+ "version": "0.18.1",
4
4
  "description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/plurnk.md CHANGED
@@ -53,7 +53,7 @@ Escape `/` inside a regex pattern as `\/`. XPath body begins with `//`.
53
53
 
54
54
  URI-shaped: `[scheme://]rest`.
55
55
 
56
- * Bare paths (no scheme) default to local relative project file paths (leader `/` for absolute path).
56
+ * Bare paths (no scheme) default to local relative project file paths (leading `/` for absolute path).
57
57
  * Glob metacharacters (`*`, `**`, `?`, `[...]`) are allowed in path segments.
58
58
  * Path suffix (`.json`, `.md`, `.txt`, etc.) declares mimetype; absent suffix defers to scheme default.
59
59
 
@@ -65,6 +65,7 @@ Internal schemes:
65
65
  - `exec://` — actions.
66
66
  - `log://` — record of operations performed.
67
67
  - `plurnk://` — internal agent entries.
68
+ - `error://` — rendered telemetry locator, not addressable.
68
69
 
69
70
  ## Context
70
71
 
@@ -73,6 +74,8 @@ The agent maintains two contexts for budgeting tokens for working memory and ava
73
74
  - **Index** — entries listed in the active index.
74
75
  - **Archive** — entries archived; out of working memory (HIDE), but promotable (SHOW) by path or pattern lookup.
75
76
 
77
+ Index entries are previews; READ pulls the body (full, ranged, or matcher-filtered). `plurnk://manifest.json` is the full directory across both contexts.
78
+
76
79
  `SHOW` promotes matching entries to the active index and spends tokens.
77
80
  `HIDE` demotes matching entries to archive and saves tokens.
78
81
 
@@ -96,6 +99,7 @@ Body content is character-perfect, exactly matching whitespace.
96
99
  <<FIND(config/**/*.xml)://user[@role='admin']:FIND
97
100
  <<READ(lang/??.json):$.greeting:READ
98
101
  <<READ(README.md):$.Installation:READ
102
+ <<READ(plurnk://manifest.json):$[?(@.shown==false)]:READ
99
103
  <<READ(log://1/2/3):$[*].matched.codename:READ
100
104
  <<READ(https://en.wikipedia.org/wiki/Paris)<426,465>::READ
101
105
  <<EDIT[philosophy,existentialism](known://philosophy/existentialism/meaning):The meaning of life is 42:EDIT