@plurnk/plurnk-grammar 0.32.0 → 0.34.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 (2) hide show
  1. package/package.json +1 -1
  2. package/plurnk.md +6 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-grammar",
3
- "version": "0.32.0",
3
+ "version": "0.34.0",
4
4
  "description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/plurnk.md CHANGED
@@ -26,20 +26,16 @@ Slots between `<<OPsuffix` and `:body:` are all optional. `:body:` fences are re
26
26
  Operations emit their status and/or results on the subsequent turn.
27
27
  READ output prefixes every line with line numbers, `N:\t`. The prefix is not part of the source.
28
28
  SEND broadcasts to uri when a path is included and messages the user when no path is included.
29
- EXEC defaults to `sh`; override with an optional executor (`node`, `python`, `search`, etc.).
29
+ EXEC defaults to `sh`; override with an optional executor (`sqlite`, `node`, etc.).
30
30
 
31
31
  ## Context
32
32
 
33
33
  The agent maintains two surfaces for budgeting working-memory tokens:
34
34
 
35
- - **Log** — what you did: the chronological record of every operation. FOLD contracts a log row to its one-line summary and saves tokens; OPEN restores the complete record and spends tokens. Non-destructive — folded rows remain listed and re-OPENable.
36
- - **`plurnk://manifest.json`** — what's available: the complete, unranked directory of every entry (items are `{ path, channels }`). Query it to discover what exists; the system never ranks for you.
35
+ - **Log** — the record of every operation. FOLD contracts a log row to its one-line summary and saves tokens; OPEN shows the complete record but spends from your `tokensFree` context tokens. Non-destructive — folded rows remain listed and re-OPENable.
36
+ - **`plurnk://manifest.json`** — what's available: the complete unranked directory of every entry. Query it to discover available entries.
37
37
 
38
- READ pulls an entry's content (full, ranged, or matcher-filtered) and appends a fresh log row. OPEN and FOLD operate on the log only; against an entry they return 501.
39
-
40
- YOU SHOULD FOLD distilled and irrelevant log rows to save tokens and optimize context relevance.
41
- YOU SHOULD distill durable findings into `known://` entries with EDIT.
42
- YOU MAY permanently destroy an entry or terminate a running `exec://` process with KILL.
38
+ OPEN and FOLD operate on the log only.
43
39
 
44
40
  ## `<Line> / <Result>`
45
41
 
@@ -126,7 +122,7 @@ Body content is character-perfect, exactly matching whitespace.
126
122
  <<EDIT(known://users.json)<0>:{"name":"Eve"}:EDIT
127
123
  <<COPY[archive,2026-05-14](known://draft.md):known://archive/2026-05-14/draft.md:COPY
128
124
  <<MOVE[final](known://draft/answer.md):known://final/answer.md:MOVE
129
- <<KILL(known://obsolete/note.md)::KILL
125
+ <<KILL(obsolete/file.md)::KILL
130
126
  <<KILL(exec://3/1/2)::KILL
131
127
  <<OPEN(log://**/get)<1,10>::OPEN
132
128
  <<FIND(known://**)<5>:~french revolutionary history:FIND
@@ -145,7 +141,7 @@ chmod +x ./example.sh
145
141
  ./example.sh
146
142
  :EXEC
147
143
 
148
- <<EXEC[search]:france government capital:EXEC
144
+ <<EXEC[sqlite]:SELECT 22.0 / 7.0;:EXEC
149
145
 
150
146
  <<SEND[102]:decomposed prompt into unknowns; plan initialized:SEND
151
147
  <<SEND[200]:Paris:SEND