@plurnk/plurnk-grammar 1.0.5 → 1.0.7

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
@@ -21,7 +21,7 @@ const result = PlurnkParser.parse(input);
21
21
 
22
22
  Discriminate on `item.kind`. For `statement` items, narrow on `statement.op` (one of `FIND READ EDIT COPY MOVE OPEN FOLD SEND EXEC KILL PLAN`) to access per-OP typed fields. Full API: [SPEC.md §12](SPEC.md#12-public-api).
23
23
 
24
- `parsePath(raw)` is a top-level helper that decomposes a path/URI string into a `ParsedPath` (the same decomposition applied to `(target)` slots). Reach for it to resolve a **COPY destination**: COPY's body is an opaque string — a destination URI for an entry copy, a prompt for a run fork (`run://`) — so the consumer interprets it by scheme and calls `parsePath` for the destination case. (MOVE destinations arrive pre-parsed; COPY's don't, because its body is polymorphic.)
24
+ `parsePath(raw)` is a top-level helper that decomposes a path/URI string into a `ParsedPath` (the same decomposition applied to `(target)` slots). Reach for it to resolve a **COPY destination**: COPY's body is an opaque string — a destination URI for an entry copy, a prompt for a worker fork (`worker://`) — so the consumer interprets it by scheme and calls `parsePath` for the destination case. (MOVE destinations arrive pre-parsed; COPY's don't, because its body is polymorphic.)
25
25
 
26
26
  ## cli
27
27
 
package/dist/plurnk.gbnf CHANGED
@@ -207,62 +207,15 @@ kill-2-b2 ::= ("I" kill-2-b3 | ":" kill-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F
207
207
  kill-2-b3 ::= ("L" kill-2-b4 | ":" kill-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:L] kill-2-b0)?
208
208
  kill-2-b4 ::= ("L" kill-2-b5 | ":" kill-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:L] kill-2-b0)?
209
209
  kill-2-b5 ::= (":" kill-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] kill-2-b0)?
210
- plan-b0 ::= (":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] plan-b0)?
211
- plan-b1 ::= ("P" plan-b2 | ":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P] plan-b0)?
212
- plan-b2 ::= ("L" plan-b3 | ":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:L] plan-b0)?
213
- plan-b3 ::= ("A" plan-b4 | ":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A] plan-b0)?
214
- plan-b4 ::= (":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] plan-b0)?
215
- plan-b0ne ::= ":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] plan-b0
210
+ plan-b0 ::= (":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:<] plan-b0)?
211
+ plan-b1 ::= ("P" plan-b2 | ":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:P<] plan-b0)?
212
+ plan-b2 ::= ("L" plan-b3 | ":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:L<] plan-b0)?
213
+ plan-b3 ::= ("A" plan-b4 | ":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:A<] plan-b0)?
214
+ plan-b4 ::= (":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N<] plan-b0)?
215
+ plan-lt ::= (":" plan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:<] plan-b0)?
216
+ plan-b0ne ::= ":" plan-b1 | "<" plan-lt | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:<] plan-b0
216
217
  plan ::= "<<PLAN" ":" plan-b0ne ":PLAN"
217
218
  sep ::= [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]?
218
- preplan-s0 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] preplan-s0)?
219
- preplan-s1 ::= "<" preplan-s2 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] preplan-s0
220
- preplan-s2 ::= ("F" preplan-s3 | "R" preplan-s6 | "E" preplan-s9 | "C" preplan-s12 | "M" preplan-s15 | "O" preplan-s18 | "S" preplan-s23 | "W" preplan-s28 | "K" preplan-s32 | "P" preplan-s35 | "<" preplan-s38 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FFRECMOSWKP<] preplan-s0)?
221
- preplan-s3 ::= ("I" preplan-s4 | "O" preplan-s21 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FIO<] preplan-s0)?
222
- preplan-s4 ::= ("N" preplan-s5 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FN<] preplan-s0)?
223
- preplan-s5 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FD<] preplan-s0)?
224
- preplan-s6 ::= ("E" preplan-s7 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FE<] preplan-s0)?
225
- preplan-s7 ::= ("A" preplan-s8 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FA<] preplan-s0)?
226
- preplan-s8 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FD<] preplan-s0)?
227
- preplan-s9 ::= ("D" preplan-s10 | "X" preplan-s26 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FDX<] preplan-s0)?
228
- preplan-s10 ::= ("I" preplan-s11 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FI<] preplan-s0)?
229
- preplan-s11 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FT<] preplan-s0)?
230
- preplan-s12 ::= ("O" preplan-s13 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FO<] preplan-s0)?
231
- preplan-s13 ::= ("P" preplan-s14 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FP<] preplan-s0)?
232
- preplan-s14 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FY<] preplan-s0)?
233
- preplan-s15 ::= ("O" preplan-s16 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FO<] preplan-s0)?
234
- preplan-s16 ::= ("V" preplan-s17 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FV<] preplan-s0)?
235
- preplan-s17 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FE<] preplan-s0)?
236
- preplan-s18 ::= ("P" preplan-s19 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FP<] preplan-s0)?
237
- preplan-s19 ::= ("E" preplan-s20 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FE<] preplan-s0)?
238
- preplan-s20 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FN<] preplan-s0)?
239
- preplan-s21 ::= ("L" preplan-s22 | "R" preplan-s31 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FLR<] preplan-s0)?
240
- preplan-s22 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FD<] preplan-s0)?
241
- preplan-s23 ::= ("E" preplan-s24 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FE<] preplan-s0)?
242
- preplan-s24 ::= ("N" preplan-s25 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FN<] preplan-s0)?
243
- preplan-s25 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FD<] preplan-s0)?
244
- preplan-s26 ::= ("E" preplan-s27 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FE<] preplan-s0)?
245
- preplan-s27 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FC<] preplan-s0)?
246
- preplan-s28 ::= ("O" preplan-s29 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FO<] preplan-s0)?
247
- preplan-s29 ::= ("R" preplan-s30 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FR<] preplan-s0)?
248
- preplan-s30 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FK<] preplan-s0)?
249
- preplan-s31 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FK<] preplan-s0)?
250
- preplan-s32 ::= ("I" preplan-s33 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FI<] preplan-s0)?
251
- preplan-s33 ::= ("L" preplan-s34 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FL<] preplan-s0)?
252
- preplan-s34 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FL<] preplan-s0)?
253
- preplan-s35 ::= ("L" preplan-s36 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FL<] preplan-s0)?
254
- preplan-s36 ::= ("A" preplan-s37 | "<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FA<] preplan-s0)?
255
- preplan-s37 ::= ("<" preplan-s1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FN<] preplan-s0)?
256
- preplan-s38 ::= "F" preplan-s3 | "R" preplan-s6 | "E" preplan-s9 | "C" preplan-s12 | "M" preplan-s15 | "O" preplan-s18 | "S" preplan-s23 | "W" preplan-s28 | "K" preplan-s32 | "P" preplan-s35 | "<" preplan-s2 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7FFRECMOSWKP<] preplan-s0
257
- preplan ::= preplan-s0
258
- rz-think-b0 ::= ("<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] rz-think-b0)?
259
- rz-think-b1 ::= ("/" rz-think-b2 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F</] rz-think-b0)?
260
- rz-think-b2 ::= ("t" rz-think-b3 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<t] rz-think-b0)?
261
- rz-think-b3 ::= ("h" rz-think-b4 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<h] rz-think-b0)?
262
- rz-think-b4 ::= ("i" rz-think-b5 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<i] rz-think-b0)?
263
- rz-think-b5 ::= ("n" rz-think-b6 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<n] rz-think-b0)?
264
- rz-think-b6 ::= ("k" rz-think-b7 | "<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<k] rz-think-b0)?
265
- rz-think-b7 ::= ("<" rz-think-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<>] rz-think-b0)?
266
219
  rz-chan-b0 ::= ("<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<] rz-chan-b0)?
267
220
  rz-chan-b1 ::= ("c" rz-chan-b2 | "<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<c] rz-chan-b0)?
268
221
  rz-chan-b2 ::= ("h" rz-chan-b3 | "<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<h] rz-chan-b0)?
@@ -273,25 +226,23 @@ rz-chan-b6 ::= ("e" rz-chan-b7 | "<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\
273
226
  rz-chan-b7 ::= ("l" rz-chan-b8 | "<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<l] rz-chan-b0)?
274
227
  rz-chan-b8 ::= ("|" rz-chan-b9 | "<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|] rz-chan-b0)?
275
228
  rz-chan-b9 ::= ("<" rz-chan-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<>] rz-chan-b0)?
276
- think-block ::= "<think>" rz-think-b0 "</think>"
277
- channel-block ::= "<|channel>" rz-chan-b0 "<channel|>"
278
- reasoning ::= think-block | channel-block
279
- tail-0 ::= send-mid-any sep tail-1 | op-statement sep tail-1 | send-final-any sep
280
- tail-1 ::= send-mid-any sep tail-2 | op-statement sep tail-2 | send-final-any sep
281
- tail-2 ::= send-mid-any sep tail-3 | op-statement sep tail-3 | send-final-any sep
282
- tail-3 ::= send-mid-any sep tail-4 | op-statement sep tail-4 | send-final-any sep
283
- tail-4 ::= send-mid-any sep tail-5 | op-statement sep tail-5 | send-final-any sep
284
- tail-5 ::= send-mid-any sep tail-6 | op-statement sep tail-6 | send-final-any sep
285
- tail-6 ::= send-mid-any sep tail-7 | op-statement sep tail-7 | send-final-any sep
286
- tail-7 ::= send-mid-any sep tail-8 | op-statement sep tail-8 | send-final-any sep
287
- tail-8 ::= send-mid-any sep tail-9 | op-statement sep tail-9 | send-final-any sep
288
- tail-9 ::= send-mid-any sep tail-10 | op-statement sep tail-10 | send-final-any sep
289
- tail-10 ::= send-mid-any sep tail-11 | op-statement sep tail-11 | send-final-any sep
290
- tail-11 ::= send-mid-any sep tail-12 | op-statement sep tail-12 | send-final-any sep
291
- tail-12 ::= send-mid-any sep tail-13 | op-statement sep tail-13 | send-final-any sep
292
- tail-13 ::= send-mid-any sep tail-14 | op-statement sep tail-14 | send-final-any sep
293
- tail-14 ::= send-final-any sep
294
- root-turn ::= reasoning? preplan plan sep tail-0
229
+ channel ::= "<|channel>thought\n" rz-chan-b0 "<channel|>"
230
+ tail-0 ::= channel? send-mid-any sep tail-1 | channel? op-statement sep tail-1 | channel? send-final-first sep
231
+ tail-1 ::= channel? send-mid-any sep tail-2 | channel? op-statement sep tail-2 | channel? send-final-any sep
232
+ tail-2 ::= channel? send-mid-any sep tail-3 | channel? op-statement sep tail-3 | channel? send-final-any sep
233
+ tail-3 ::= channel? send-mid-any sep tail-4 | channel? op-statement sep tail-4 | channel? send-final-any sep
234
+ tail-4 ::= channel? send-mid-any sep tail-5 | channel? op-statement sep tail-5 | channel? send-final-any sep
235
+ tail-5 ::= channel? send-mid-any sep tail-6 | channel? op-statement sep tail-6 | channel? send-final-any sep
236
+ tail-6 ::= channel? send-mid-any sep tail-7 | channel? op-statement sep tail-7 | channel? send-final-any sep
237
+ tail-7 ::= channel? send-mid-any sep tail-8 | channel? op-statement sep tail-8 | channel? send-final-any sep
238
+ tail-8 ::= channel? send-mid-any sep tail-9 | channel? op-statement sep tail-9 | channel? send-final-any sep
239
+ tail-9 ::= channel? send-mid-any sep tail-10 | channel? op-statement sep tail-10 | channel? send-final-any sep
240
+ tail-10 ::= channel? send-mid-any sep tail-11 | channel? op-statement sep tail-11 | channel? send-final-any sep
241
+ tail-11 ::= channel? send-mid-any sep tail-12 | channel? op-statement sep tail-12 | channel? send-final-any sep
242
+ tail-12 ::= channel? send-mid-any sep tail-13 | channel? op-statement sep tail-13 | channel? send-final-any sep
243
+ tail-13 ::= channel? send-mid-any sep tail-14 | channel? op-statement sep tail-14 | channel? send-final-any sep
244
+ tail-14 ::= channel? send-final-any sep
245
+ root-turn ::= channel? plan sep tail-0
295
246
  op-statement-6 ::= tags? target line? ":" copy-1-b0 ":COPY1"
296
247
  op-statement-7 ::= tags? target line? ":" copy-2-b0 ":COPY2"
297
248
  op-statement-5 ::= tags? target line? ":" copy-b0 ":COPY" | "1" op-statement-6 | "2" op-statement-7
@@ -375,6 +326,15 @@ send-final-any-2 ::= "E" send-final-any-3
375
326
  send-final-any-1 ::= "S" send-final-any-2
376
327
  send-final-any-0 ::= "<" send-final-any-1
377
328
  send-final-any ::= "<" send-final-any-0
329
+ send-final-first-6 ::= "[202]" target? park? ":" send-1-b0ne ":SEND1" | "[" status-final-rest "]" target? ":" send-1-b0ne ":SEND1"
330
+ send-final-first-7 ::= "[202]" target? park? ":" send-2-b0ne ":SEND2" | "[" status-final-rest "]" target? ":" send-2-b0ne ":SEND2"
331
+ send-final-first-5 ::= "[202]" target? park? ":" send-b0ne ":SEND" | "[" status-final-rest "]" target? ":" send-b0ne ":SEND" | "1" send-final-first-6 | "2" send-final-first-7
332
+ send-final-first-4 ::= "D" send-final-first-5
333
+ send-final-first-3 ::= "N" send-final-first-4
334
+ send-final-first-2 ::= "E" send-final-first-3
335
+ send-final-first-1 ::= "S" send-final-first-2
336
+ send-final-first-0 ::= "<" send-final-first-1
337
+ send-final-first ::= "<" send-final-first-0
378
338
  status-final-rest ::= "200" | "300" | "499"
379
339
  park ::= "<" park-t park-poll? ">"
380
340
  park-t ::= "-1" | [0-9]+
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schemas.plurnk.dev/v0/PlurnkStatement.json",
4
4
  "title": "PlurnkStatement",
5
- "description": "The parsed AST of one plurnk statement. Discriminated on `op`. KILL, WORK, and FORK have no `<L>` slot (`lineMarker` is always null for those); WORK and FORK also carry no signal (always null); SEND's `<L>` slot is the `<T>` park on a terminal [102] (wait up to T seconds, -1 = indefinite; null on mid-comms SENDs and other terminals); EXEC's `<L>` slot carries an optional `<timeout,poll>`. `target` is the URI of the operand (parsed into ParsedPath structure); null when the operand slot was omitted. Body shape varies per op: matcher dialect for FIND/READ/OPEN/FOLD, raw string for EDIT/EXEC, ParsedPath for MOVE (destination URI), opaque raw string for COPY (a destination URI for entry copies, a prompt for run forks — the scheme handler interprets it), SendBody for SEND, opaque annotation string for KILL (no assigned runtime meaning; lands in the log), reasoning text for PLAN (recorded to the log; no other effect), and an opaque task string for WORK (spawn a fresh named worker) and FORK (branch the current run into a named child) — the `run://<name>` in target names the child.",
5
+ "description": "The parsed AST of one plurnk statement. Discriminated on `op`. KILL, WORK, and FORK have no `<L>` slot (`lineMarker` is always null for those); WORK and FORK also carry no signal (always null); SEND's `<L>` slot is the `<T>` park on a terminal [102] (wait up to T seconds, -1 = indefinite; null on mid-comms SENDs and other terminals); EXEC's `<L>` slot carries an optional `<timeout,poll>`. `target` is the URI of the operand (parsed into ParsedPath structure); null when the operand slot was omitted. Body shape varies per op: matcher dialect for FIND/READ/OPEN/FOLD, raw string for EDIT/EXEC, ParsedPath for MOVE (destination URI), opaque raw string for COPY (a destination URI for entry copies, a prompt for worker forks — the scheme handler interprets it), SendBody for SEND, opaque annotation string for KILL (no assigned runtime meaning; lands in the log), reasoning text for PLAN (recorded to the log; no other effect), and an opaque task string for WORK (spawn a fresh named worker) and FORK (branch the current worker into a named child) — the `worker://<name>` in target names the child.",
6
6
  "oneOf": [
7
7
  { "$ref": "#/$defs/FindStatement" },
8
8
  { "$ref": "#/$defs/ReadStatement" },
@@ -14,7 +14,7 @@
14
14
  },
15
15
  "model_visible": { "type": "boolean" },
16
16
  "category": { "type": "string", "minLength": 1 },
17
- "default_scope": { "enum": ["session", "run"] },
17
+ "default_scope": { "enum": ["workspace", "worker"] },
18
18
  "default_channel": {
19
19
  "type": "string",
20
20
  "pattern": "^[a-z][a-z0-9_-]*$",
@@ -1 +1 @@
1
- {"version":3,"file":"AstBuilder.d.ts","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGR,eAAe,EAaf,UAAU,EAGV,eAAe,EACf,QAAQ,EAMX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAER,sBAAsB,EActB,gBAAgB,EAChB,mBAAmB,EAGtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGH,oBAAoB,EACpB,oBAAoB,EAGvB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,QAAQ,OAAO,CAAC;IACnB,SAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CACtD;AAQD,MAAM,CAAC,OAAO,OAAO,UAAU;;IAG3B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CA4BvH;IAmBD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,sBAAsB,GAAG,eAAe,CAK/D;IA6TD;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,QAAiC,GAAG,UAAU,GAAG,IAAI,CAiDvF;CAqHJ"}
1
+ {"version":3,"file":"AstBuilder.d.ts","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAGR,eAAe,EAaf,UAAU,EAGV,eAAe,EACf,QAAQ,EAMX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAER,sBAAsB,EActB,gBAAgB,EAChB,mBAAmB,EAGtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGH,oBAAoB,EACpB,oBAAoB,EAGvB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,QAAQ,OAAO,CAAC;IACnB,SAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;CACtD;AAQD,MAAM,CAAC,OAAO,OAAO,UAAU;;IAK3B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,GAAG,eAAe,CA4BvH;IAmBD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,sBAAsB,GAAG,eAAe,CAK/D;IA6TD;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,QAAiC,GAAG,UAAU,GAAG,IAAI,CAiDvF;CAuHJ"}
@@ -1,11 +1,13 @@
1
1
  import { ParserRuleContext, TerminalNode } from "antlr4ng";
2
2
  import * as xpath from "xpath";
3
- import { JSONPath } from "jsonpath-plus";
3
+ import { JSONPathEnvironment } from "json-p3";
4
4
  import { IdentSignalContext, LineMarkerContext, PlanStatementContext, SendStatementContext, TargetContext, TagSignalContext, } from "./generated/plurnkParser.js";
5
5
  import { plurnkLexer } from "./generated/plurnkLexer.js";
6
6
  import PlurnkParseError from "./PlurnkParseError.js";
7
7
  export default class AstBuilder {
8
8
  static #SCHEME_PATTERN = /^[a-z][a-z0-9+.-]*:\/\//i;
9
+ // RFC 9535 jsonpath, the runtime's own engine (json-p3, #494/#490) — compile-only here.
10
+ static #JSONPATH = new JSONPathEnvironment();
9
11
  static build(ctx) {
10
12
  // The strict turn root attaches the leading PLAN and the terminal SEND as direct
11
13
  // children (not wrapped in `statement`), so dispatch those by type first.
@@ -171,7 +173,7 @@ export default class AstBuilder {
171
173
  const position = AstBuilder.#positionOf(ctx);
172
174
  const slots = AstBuilder.#extractTagSlots(ctx.tagOpModifiers(), position);
173
175
  // COPY's body is opaque: a destination path for entry copies, a prompt for
174
- // run forks. The scheme handler interprets it — the parser stays out of it
176
+ // worker forks. The scheme handler interprets it — the parser stays out of it
175
177
  // (unlike MOVE, whose body is always a genuine destination path).
176
178
  return {
177
179
  op: "COPY",
@@ -531,8 +533,10 @@ export default class AstBuilder {
531
533
  : `pattern leads with \`#\` but is not a valid \`#pattern#flags\` regex - ${regex.detail}`);
532
534
  }
533
535
  if (body.startsWith("$")) {
536
+ // Compile-only validity check against RFC 9535 — json-p3 is the engine the runtime
537
+ // dispatches (#494/#490), so the flag layer and the engine agree by construction.
534
538
  try {
535
- JSONPath({ path: body, json: {} });
539
+ AstBuilder.#JSONPATH.compile(body);
536
540
  }
537
541
  catch (e) {
538
542
  throw new PlurnkParseError(pos.line, pos.column, "visitor", `pattern leads with \`$\` but is not a valid jsonpath - ${AstBuilder.#detail(e)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"AstBuilder.js","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AstBuilder.js","sourceRoot":"","sources":["../../src/AstBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * jsonplurnk: the Log section's clean-markdown form (grammar#437). A JSON array of entry
3
+ * objects with exactly ONE deviation from valid JSON - each `body` value, when present, is a
4
+ * raw HEREDOC (`<<:::TAG … :::TAG`, TAG = the entry's target/log URI) rendered verbatim rather
5
+ * than JSON-escaped, so the model reads it as natural text instead of an escaped blob.
6
+ *
7
+ * `strip` reverses that one deviation (heredoc body -> escaped JSON string) so the whole block
8
+ * parses as ordinary JSON; everything else is already valid JSON and passes through untouched.
9
+ * The TAG echo on the opener names its own closing delimiter, so a body can hold anything but a
10
+ * column-0 line that exactly matches `:::<that TAG>`.
11
+ *
12
+ * Core renders jsonplurnk; grammar owns this strip-parser and the magnum-opus assertion (every
13
+ * outbound Log strips to valid JSON under the one carve-out).
14
+ */
15
+ export default class Jsonplurnk {
16
+ #private;
17
+ static strip(block: string): string;
18
+ static parse(block: string): unknown;
19
+ }
20
+ //# sourceMappingURL=Jsonplurnk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jsonplurnk.d.ts","sourceRoot":"","sources":["../../src/Jsonplurnk.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;;IAM3B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBlC;IAGD,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnC;CAoBJ"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * jsonplurnk: the Log section's clean-markdown form (grammar#437). A JSON array of entry
3
+ * objects with exactly ONE deviation from valid JSON - each `body` value, when present, is a
4
+ * raw HEREDOC (`<<:::TAG … :::TAG`, TAG = the entry's target/log URI) rendered verbatim rather
5
+ * than JSON-escaped, so the model reads it as natural text instead of an escaped blob.
6
+ *
7
+ * `strip` reverses that one deviation (heredoc body -> escaped JSON string) so the whole block
8
+ * parses as ordinary JSON; everything else is already valid JSON and passes through untouched.
9
+ * The TAG echo on the opener names its own closing delimiter, so a body can hold anything but a
10
+ * column-0 line that exactly matches `:::<that TAG>`.
11
+ *
12
+ * Core renders jsonplurnk; grammar owns this strip-parser and the magnum-opus assertion (every
13
+ * outbound Log strips to valid JSON under the one carve-out).
14
+ */
15
+ export default class Jsonplurnk {
16
+ // `"body":`, then any whitespace/newlines, then the heredoc opener `<<:::`.
17
+ static #OPENER = /"body":\s*<<:::/g;
18
+ // Reverse the one deviation: rewrite every heredoc `body` value as a JSON-escaped string.
19
+ // Throws on an opener its `:::TAG` never closes - a renderer contract violation, surfaced.
20
+ static strip(block) {
21
+ const opener = Jsonplurnk.#OPENER;
22
+ opener.lastIndex = 0;
23
+ let out = "";
24
+ let cursor = 0;
25
+ let m;
26
+ while ((m = opener.exec(block)) !== null) {
27
+ const tagStart = m.index + m[0].length;
28
+ const eol = block.indexOf("\n", tagStart);
29
+ if (eol === -1)
30
+ throw new Error("jsonplurnk: body opener <<:::… has no newline");
31
+ const tag = block.slice(tagStart, eol);
32
+ const close = `:::${tag}`;
33
+ const contentStart = eol + 1;
34
+ const closeStart = Jsonplurnk.#findClose(block, contentStart, close);
35
+ if (closeStart === -1)
36
+ throw new Error(`jsonplurnk: unterminated body <<:::${tag}`);
37
+ out += block.slice(cursor, m.index) + '"body":' + JSON.stringify(block.slice(contentStart, closeStart));
38
+ cursor = closeStart + close.length;
39
+ opener.lastIndex = cursor;
40
+ }
41
+ return out + block.slice(cursor);
42
+ }
43
+ // strip, then parse. The magnum-opus assertion reduces to: this does not throw on a valid Log.
44
+ static parse(block) {
45
+ return JSON.parse(Jsonplurnk.strip(block));
46
+ }
47
+ // Index where the closing `:::TAG` line begins - it must occupy a whole line at column 0,
48
+ // either right at `from` (an empty body) or immediately after a newline. A `:::TAG` with
49
+ // trailing characters on its line does not close; keep scanning.
50
+ static #findClose(block, from, close) {
51
+ if (block.startsWith(close, from) && Jsonplurnk.#endsLine(block, from + close.length))
52
+ return from;
53
+ let at = from;
54
+ for (;;) {
55
+ const nl = block.indexOf(`\n${close}`, at);
56
+ if (nl === -1)
57
+ return -1;
58
+ const start = nl + 1;
59
+ if (Jsonplurnk.#endsLine(block, start + close.length))
60
+ return start;
61
+ at = start;
62
+ }
63
+ }
64
+ static #endsLine(block, pos) {
65
+ return pos === block.length || block[pos] === "\n";
66
+ }
67
+ }
68
+ //# sourceMappingURL=Jsonplurnk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Jsonplurnk.js","sourceRoot":"","sources":["../../src/Jsonplurnk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAa,WAAW,EAA6B,MAAM,YAAY,CAAC;AAsBrG,MAAM,CAAC,OAAO,OAAO,YAAY;;IAO7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CASvC;IAuJD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEjD;IAMD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE1C;IAKD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAM9D;CA8GJ"}
1
+ {"version":3,"file":"PlurnkParser.d.ts","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAa,WAAW,EAA6B,MAAM,YAAY,CAAC;AAsBrG,MAAM,CAAC,OAAO,OAAO,YAAY;;IAO7B,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAUvC;IAuJD,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAEjD;IAMD,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE1C;IAKD,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,eAAe,CAAC,CAM9D;CA4JJ"}
@@ -5,6 +5,7 @@ import AstBuilder from "./AstBuilder.js";
5
5
  import PlurnkParseError from "./PlurnkParseError.js";
6
6
  import PlurnkErrorStrategy from "./PlurnkErrorStrategy.js";
7
7
  import RecordingListener from "./RecordingListener.js";
8
+ import { PLURNK_OPS } from "./types.js";
8
9
  // Statement-bearing contexts the extraction builds into items. `statement` (statementSeq) and
9
10
  // `midStatement` (mid-turn ops) each wrap one op; PLAN and the terminal SEND attach as direct
10
11
  // `planStatement`/`sendStatement` children of a turn; `clientStatement` wraps one op in the
@@ -36,6 +37,7 @@ export default class PlurnkParser {
36
37
  // near-miss op advisories on swallowed prose, then turn-shape imperatives. Both only
37
38
  // refine the model-facing message set; neither changes what parsed.
38
39
  PlurnkParser.#flagNearMissOps(result.items);
40
+ PlurnkParser.#flagOpsInPlanBody(result.items);
39
41
  PlurnkParser.#imperativeTurnShape(result.items);
40
42
  PlurnkParser.#imperativeMidTermination(result.items);
41
43
  return result;
@@ -56,7 +58,7 @@ export default class PlurnkParser {
56
58
  WRITE: "`<<EDIT`", CREATE: "`<<EDIT`", UPDATE: "`<<EDIT`", SET: "`<<EDIT`",
57
59
  LIST: "`<<FIND`", SEARCH: "`<<FIND`", GREP: "`<<FIND`", QUERY: "`<<FIND`",
58
60
  RUN: "`<<EXEC`", SHELL: "`<<EXEC`",
59
- SPAWN: "`<<WORK(run://name)` to spawn a worker run", DELEGATE: "`<<WORK(run://name)` to spawn a worker run",
61
+ SPAWN: "`<<WORK(worker://name)` to spawn a worker", DELEGATE: "`<<WORK(worker://name)` to spawn a worker",
60
62
  };
61
63
  // Surface near-miss ops that the forgiving parser swallowed as prose: a `<<Word…:Word`
62
64
  // heredoc whose keyword is a known confusion (`<<CLOSE`, `<<DELETE`, …). Emits a WARNING
@@ -100,9 +102,9 @@ export default class PlurnkParser {
100
102
  // model to the anchor; a present-PLAN, absent-SEND turn gets the terminator imperative.
101
103
  static #imperativeTurnShape(items) {
102
104
  const hasPlan = items.some((i) => i.kind === "statement" && i.statement.op === "PLAN");
103
- // A turn terminates on a DISPOSITION-coded SEND only — a mid-comms SEND (e.g. the
104
- // retired 202, now an ordinary code) does not satisfy the terminal requirement, so a
105
- // turn ending on one still gets the end-with-terminal imperative (the migration steer).
105
+ // A turn terminates on a DISPOSITION-coded SEND only — a mid-comms SEND does not
106
+ // satisfy the terminal requirement, so a turn ending on one still gets the
107
+ // end-with-terminal imperative (the migration steer).
106
108
  const hasSend = items.some((i) => i.kind === "statement" && i.statement.op === "SEND" && PlurnkParser.#DISPOSITIONS.has(i.statement.signal));
107
109
  if (hasPlan && hasSend)
108
110
  return;
@@ -221,7 +223,7 @@ export default class PlurnkParser {
221
223
  const from = { line: lexer.getOpenTagLine(), column: lexer.getOpenTagColumn() };
222
224
  const modeName = lexer.modeNames[lexer.mode] ?? "";
223
225
  const reason = modeName === "BODY"
224
- ? `body of \`<<${openTag}\` opened at line ${from.line} but never closed - add \`:${openTag}\` to terminate`
226
+ ? `body of \`<<${openTag}\` opened at line ${from.line} but never closed - add \`:${openTag}\` to terminate${PlurnkParser.#inventedCloser(input, from, openTag)}`
225
227
  : modeName === "SIGNAL_TAGS" || modeName === "SIGNAL_INT" || modeName === "SIGNAL_IDENT"
226
228
  ? `signal slot of \`<<${openTag}\` opened at line ${from.line} but never closed - add \`]\` to terminate the signal`
227
229
  : modeName === "TARGET"
@@ -231,6 +233,48 @@ export default class PlurnkParser {
231
233
  }
232
234
  return { items, unparsedTail };
233
235
  }
236
+ // Op-shaped text inside a PLAN body (#502, the run113 class): PLAN owns no suffix, so the
237
+ // op-quoting device does not exist for it - `<<OP` inside a plan has no sanctioned reading
238
+ // and is almost always an omitted `:PLAN` whose body swallowed the turn's ops to the NEXT
239
+ // plan's closer, silently (run113: PLAN=1, SEND=1, the essential EXEC vanished, zero
240
+ // errors). The GBNF rail makes this unsampleable (planBodyRules); this is the ingest-side
241
+ // twin for unrailed paths. A WARNING - the parse succeeded; the steer makes it visible.
242
+ static #flagOpsInPlanBody(items) {
243
+ const additions = [];
244
+ const opener = new RegExp(`<<(${PLURNK_OPS.join("|")})\\b`);
245
+ items.forEach((item, idx) => {
246
+ if (item.kind !== "statement" || item.statement.op !== "PLAN")
247
+ return;
248
+ const body = item.statement.body ?? "";
249
+ const m = opener.exec(body);
250
+ if (!m)
251
+ return;
252
+ additions.push({
253
+ at: idx,
254
+ item: {
255
+ kind: "error",
256
+ error: new PlurnkParseError(item.statement.position.line, item.statement.position.column, "parser", `PLAN body contains op-shaped text (\`<<${m[1]}\`) - ops belong after the plan closes; did you omit \`:PLAN\`?`, "warning"),
257
+ },
258
+ });
259
+ });
260
+ for (const { at, item } of additions.reverse())
261
+ items.splice(at + 1, 0, item);
262
+ }
263
+ // The invented-closer advisory (#497, the run111 class): a model under load falls back to
264
+ // bash-heredoc semantics and closes an op with a tag of its own invention (`:COMPARISON_TASK`
265
+ // for `<<WORK`), which the body legally swallows - the op never closes and the emission runs
266
+ // to the cap. When the cut tail parses here, name the imposter so the recovery turn learns
267
+ // WHAT happened, not just that something did. Fires only in the never-closed error state, so
268
+ // a coincidental `:ALLCAPS` in a healthy body is never flagged.
269
+ static #inventedCloser(input, from, openTag) {
270
+ const lines = input.split("\n");
271
+ const offset = lines.slice(0, from.line - 1).reduce((sum, l) => sum + l.length + 1, 0) + from.column;
272
+ const body = input.slice(offset);
273
+ const m = /:([A-Z][A-Z0-9_]{2,})\b/.exec(body);
274
+ if (!m || m[1] === openTag.toUpperCase())
275
+ return "";
276
+ return ` (found \`:${m[1]}\`, which is body text - the closer echoes the op's name)`;
277
+ }
234
278
  // Walk a parse tree, appending statement/error/text items in source order. Statement rules
235
279
  // are leaves (built directly); container rules (turnContent) are recursed into; TEXT tokens
236
280
  // surface as text items. So `document` (one turnContent) and `log` (turnContent+) both
@@ -1 +1 @@
1
- {"version":3,"file":"PlurnkParser.js","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlurnkParser.js","sourceRoot":"","sources":["../../src/PlurnkParser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import AstBuilder from "./AstBuilder.ts";
2
2
  export { default as PlurnkParser } from "./PlurnkParser.ts";
3
+ export { default as Jsonplurnk } from "./Jsonplurnk.ts";
3
4
  export { default as PlurnkParseError } from "./PlurnkParseError.ts";
4
5
  export { default as PlurnkErrorStrategy } from "./PlurnkErrorStrategy.ts";
5
6
  export { AstBuilder };
@@ -10,7 +11,7 @@ export { default as RecordingListener } from "./RecordingListener.ts";
10
11
  * touch AstBuilder.
11
12
  *
12
13
  * Primary use: resolving a COPY destination. COPY's body is an opaque string — a
13
- * destination URI for an entry copy, a prompt for a run fork (`run://`) — so the
14
+ * destination URI for an entry copy, a prompt for a worker fork (`worker://`) — so the
14
15
  * scheme handler interprets it, then calls this for the destination case. MOVE
15
16
  * destinations arrive pre-parsed (its body is always a path); COPY's does not,
16
17
  * because its body is polymorphic. See SPEC §4 (COPY) and §12.
@@ -19,6 +20,6 @@ export declare const parsePath: (raw: string) => import("./types.generated.ts").
19
20
  export { default as Validator } from "./Validator.ts";
20
21
  export type { ValidationResult } from "./Validator.ts";
21
22
  export { PLURNK_OPS } from "./types.ts";
22
- export type { ErrorSource } from "./PlurnkParseError.ts";
23
+ export type { ErrorSource, Severity } from "./PlurnkParseError.ts";
23
24
  export type { BuffStatement, ClientOp, ClientStatement, ContentOffset, CopyStatement, EditStatement, ExecStatement, FindStatement, FoldStatement, ForkStatement, KillStatement, LineMarker, LocalPath, LogCoordinate, LookStatement, MatcherBody, MoveStatement, ParseItem, ParseResult, ParsedPath, PlanStatement, PlurnkOp, PlurnkStatement, Position, ReadStatement, RegexPath, SendBody, SendStatement, OpenStatement, TelemetryEvent, UrlPath, WorkStatement, } from "./types.ts";
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,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,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,qDAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACR,aAAa,EACb,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,aAAa,EACb,SAAS,EACT,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,EACP,aAAa,GAChB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,QAAS,MAAM,qDAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnE,YAAY,EACR,aAAa,EACb,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,aAAa,EACb,SAAS,EACT,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,EACP,aAAa,GAChB,MAAM,YAAY,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import AstBuilder from "./AstBuilder.js";
2
2
  export { default as PlurnkParser } from "./PlurnkParser.js";
3
+ export { default as Jsonplurnk } from "./Jsonplurnk.js";
3
4
  export { default as PlurnkParseError } from "./PlurnkParseError.js";
4
5
  export { default as PlurnkErrorStrategy } from "./PlurnkErrorStrategy.js";
5
6
  export { AstBuilder };
@@ -10,7 +11,7 @@ export { default as RecordingListener } from "./RecordingListener.js";
10
11
  * touch AstBuilder.
11
12
  *
12
13
  * Primary use: resolving a COPY destination. COPY's body is an opaque string — a
13
- * destination URI for an entry copy, a prompt for a run fork (`run://`) — so the
14
+ * destination URI for an entry copy, a prompt for a worker fork (`worker://`) — so the
14
15
  * scheme handler interprets it, then calls this for the destination case. MOVE
15
16
  * destinations arrive pre-parsed (its body is always a path); COPY's does not,
16
17
  * because its body is polymorphic. See SPEC §4 (COPY) and §12.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,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,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtD,8FAA8F;AAC9F,0FAA0F;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtD,8FAA8F;AAC9F,0FAA0F;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
@@ -11,7 +11,7 @@ export interface ChannelContent {
11
11
  }
12
12
  export type ClientStatement = (PlurnkStatement | LookStatement | BuffStatement);
13
13
  /**
14
- * The parsed AST of one plurnk statement. Discriminated on `op`. KILL, WORK, and FORK have no `<L>` slot (`lineMarker` is always null for those); WORK and FORK also carry no signal (always null); SEND's `<L>` slot is the `<T>` park on a terminal [102] (wait up to T seconds, -1 = indefinite; null on mid-comms SENDs and other terminals); EXEC's `<L>` slot carries an optional `<timeout,poll>`. `target` is the URI of the operand (parsed into ParsedPath structure); null when the operand slot was omitted. Body shape varies per op: matcher dialect for FIND/READ/OPEN/FOLD, raw string for EDIT/EXEC, ParsedPath for MOVE (destination URI), opaque raw string for COPY (a destination URI for entry copies, a prompt for run forks — the scheme handler interprets it), SendBody for SEND, opaque annotation string for KILL (no assigned runtime meaning; lands in the log), reasoning text for PLAN (recorded to the log; no other effect), and an opaque task string for WORK (spawn a fresh named worker) and FORK (branch the current run into a named child) — the `run://<name>` in target names the child.
14
+ * The parsed AST of one plurnk statement. Discriminated on `op`. KILL, WORK, and FORK have no `<L>` slot (`lineMarker` is always null for those); WORK and FORK also carry no signal (always null); SEND's `<L>` slot is the `<T>` park on a terminal [102] (wait up to T seconds, -1 = indefinite; null on mid-comms SENDs and other terminals); EXEC's `<L>` slot carries an optional `<timeout,poll>`. `target` is the URI of the operand (parsed into ParsedPath structure); null when the operand slot was omitted. Body shape varies per op: matcher dialect for FIND/READ/OPEN/FOLD, raw string for EDIT/EXEC, ParsedPath for MOVE (destination URI), opaque raw string for COPY (a destination URI for entry copies, a prompt for worker forks — the scheme handler interprets it), SendBody for SEND, opaque annotation string for KILL (no assigned runtime meaning; lands in the log), reasoning text for PLAN (recorded to the log; no other effect), and an opaque task string for WORK (spawn a fresh named worker) and FORK (branch the current worker into a named child) — the `worker://<name>` in target names the child.
15
15
  */
16
16
  export type PlurnkStatement = (FindStatement | ReadStatement | OpenStatement | FoldStatement | EditStatement | CopyStatement | MoveStatement | SendStatement | ExecStatement | WorkStatement | ForkStatement | KillStatement | PlanStatement);
17
17
  /**
@@ -299,7 +299,7 @@ export interface SchemeRegistration {
299
299
  name: string;
300
300
  model_visible: boolean;
301
301
  category: string;
302
- default_scope: ("session" | "run");
302
+ default_scope: ("workspace" | "worker");
303
303
  /**
304
304
  * Channel name selected when an op against this scheme has no fragment. Conventionally `body`; executor schemes (`{tag}://`) typically declare `stdout`.
305
305
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.generated.d.ts","sourceRoot":"","sources":["../../src/types.generated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.generated.d.ts","sourceRoot":"","sources":["../../src/types.generated.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-grammar",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "ANTLR4 grammar for the Plurnk LLM agent protocol",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -51,12 +51,12 @@
51
51
  "deps:fresh": "npm outdated",
52
52
  "prepublishOnly": "npm run deps:fresh && npm audit && npm run build && npm run test:all && npm run test:smoke",
53
53
  "prepack": "npm run build",
54
- "prepare": "npm run build:grammar && npm run build:types && npm run build:gbnf"
54
+ "prepare": "npm run build"
55
55
  },
56
56
  "dependencies": {
57
57
  "@cfworker/json-schema": "^4.1.1",
58
58
  "antlr4ng": "^3.0.0",
59
- "jsonpath-plus": "^10.4.0",
59
+ "json-p3": "^2.2.2",
60
60
  "xpath": "^0.0.34"
61
61
  },
62
62
  "devDependencies": {
package/plurnk.md CHANGED
@@ -9,62 +9,81 @@ Plurnk Service Features:
9
9
  * Knowledgebase: Use taxonomical trees and folksonomic tags to distill piles of data into known:/// information.
10
10
  * Extended Context: Agents FOLD, OPEN, and KILL their own Active Context log for lossless, limitless memory management.
11
11
 
12
- ## Plurnk Service Grammar
12
+ ## Grammar
13
13
 
14
14
  YOU MUST ONLY use the Plurnk OPs (PLAN|FIND|READ|EDIT|COPY|MOVE|OPEN|FOLD|EXEC|WORK|FORK|KILL|SEND).
15
15
 
16
16
  ### Syntax
17
17
 
18
+ ```
18
19
  <<OPsuffix[signal]?(path)?<scope>?:body?:OPsuffix
20
+ ```
21
+
22
+ The closer echoes the op's name: a WORK op closes with `:WORK`, never with a delimiter of your invention.
19
23
 
20
24
  ### OPs
21
25
 
22
26
  A `?` marks an optional field, as in the Syntax line; unmarked fields are required.
23
27
 
24
- | OP | `[signal]` | `(path)` | `<scope>` | :body: | OP |
28
+ | OP | `[signal]` | `(path)` | `<scope>` | `:body:` | OP |
25
29
  |------|----------------|-----------------|--------------------|--------------------|------|
26
30
  | PLAN | - | - | - | :plan, free text: | PLAN |
27
- | FIND | [tags]? | (path) | <result,result>? | :pattern:? | FIND |
28
- | READ | [tags]? | (path) | <line,line>? | :pattern:? | READ |
29
- | EDIT | [tags]? | (path) | <line,line>? | :literal text:? | EDIT |
30
- | COPY | [tags]? | (path) | <line,line>? | :destination path: | COPY |
31
- | MOVE | [tags]? | (path) | <line,line>? | :destination path: | MOVE |
32
- | OPEN | [tags]? | (log path) | <result,result>? | :pattern:? | OPEN |
33
- | FOLD | [tags]? | (log path) | <result,result>? | :pattern:? | FOLD |
31
+ | FIND | [filter tags]? | (path) | <result,result>? | :pattern:? | FIND |
32
+ | READ | [filter tags]? | (path) | <line,line>? | :pattern:? | READ |
33
+ | EDIT | [apply tags]? | (path) | <line,line>? | :literal text:? | EDIT |
34
+ | COPY | [apply tags]? | (path) | <line,line>? | :destination path: | COPY |
35
+ | MOVE | [apply tags]? | (path) | <line,line>? | :destination path: | MOVE |
36
+ | OPEN | [filter tags]? | (log path) | <result,result>? | :pattern:? | OPEN |
37
+ | FOLD | [apply tags]? | (log path) | <result,result>? | :pattern:? | FOLD |
34
38
  | EXEC | [executor]? | (path)? | <timeout, poll>? | :code:? | EXEC |
35
- | WORK | - | (run://checker) | - | :task: | WORK |
36
- | FORK | - | (run://recheck) | - | :hint:? | FORK |
39
+ | WORK | - | (worker://checker) | - | :task: | WORK |
40
+ | FORK | - | (worker://recheck) | - | :hint:? | FORK |
37
41
  | KILL | [signal]? | (path) | - | :: | KILL |
38
42
  | SEND | [submit code]? | (recipient)? | <timeout, poll>? | :message: | SEND |
39
43
 
40
- <<PLAN:plan goes here:PLAN is required at the beginning of a turn.
41
- <<FIND(path)::FIND returns a JSON array of matches: each object carries its path and per-channel mimetype, tokens, and lines. READ a hit's path to view it.
42
- <<READ(path)::READ returns lines of matching content. Every line is prefixed with the line number and a hard tab, `N: `.
43
- <<EDIT(path):literal text:EDIT is only for creating or modifying files and entries. Do not attempt to edit log items.
44
- <<EDIT(path):literal text:EDIT replaces the selected line(s) `<line,line>` with literal body content, never with patterns.
45
- <<EDIT(path):literal text:EDIT without `<scope>` replaces the entire entry, or creates it if absent.
46
- <<EDIT1(known:///demo):quoted: <<EDIT(known:///inner):hello:EDIT:EDIT1 add a single-digit (or label) suffix when nesting OPs.
47
- <<OPEN(log path)::OPEN expands (`+`) the log item body to view it (costs tokens). Not all log items have a body (`*`).
48
- <<FOLD(log path)::FOLD hides (`-`) the log item body (saves tokens). FOLDed item tokens="" shows token cost if OPENed.
49
- <<EXEC::EXEC produces output stream channels on the next turn that you can then FIND, READ, or KILL.
50
- <<KILL(path)::KILL deletes files and entries, erases log items, and kills streams.
51
- <<SEND[102]:doing:SEND to submit OPs, emit streams, or launch worker runs.
52
- <<SEND[202]:standing by:SEND waits on your live workers, streams, and results; their arrival wakes it.
53
- <<SEND[200]:done:SEND to terminate a completed run only if all OPs, streams, and runs have already returned.
44
+ Below is every op's form a reference catalog, not a turn (a turn opens with `PLAN` and closes with a `SEND` submit code).
45
+
46
+ ```plurnk
47
+ <<PLAN:plan goes here:PLAN
48
+ <<FIND(path)::FIND
49
+ <<READ(path)::READ
50
+ <<EDIT(path):literal text:EDIT
51
+ <<EDIT1(known:///demo):quoted: <<EDIT(known:///inner):hello:EDIT:EDIT1
52
+ <<OPEN(log path)::OPEN
53
+ <<FOLD(log path)::FOLD
54
+ <<EXEC::EXEC
55
+ <<KILL(path)::KILL
56
+ <<SEND[102]:doing:SEND
57
+ <<SEND[202]:standing by:SEND
58
+ <<SEND[200]:done:SEND
59
+ ```
60
+
61
+ - **PLAN** — required at the beginning of a turn.
62
+ - **FIND** (retrieval) — returns a JSON array of matches. Each object carries its path and per-channel mimetype, tokens, and lines. READ a hit's path to view it.
63
+ - **READ** (retrieval) — returns lines of matching content; every line is prefixed with its line number then a hard tab.
64
+ - **EDIT** — only for creating or modifying files and entries; never edit log items. It replaces the selected `<line,line>` with literal body content, never patterns. Without `<scope>`, it replaces the whole entry, or creates it if absent.
65
+ - **EDIT nesting** — add a single-digit (or label) suffix when nesting ops, as in `EDIT1 … :EDIT:EDIT1`.
66
+ - **OPEN** (retrieval) — reveals a folded log item's body at the cost of its `tokens` (`display` goes `folded` to `open`). A `display: none` item has no body to reveal.
67
+ - **FOLD** — hides an open log item's body to reclaim context (`display` goes `open` to `folded`). Its `tokens` field shows what an OPEN costs.
68
+ - **EXEC** — produces output stream channels on the next turn that you can then FIND, READ, or KILL.
69
+ - **KILL** — deletes files and entries, erases log items, and kills streams.
70
+ - **SEND** — submits the turn: `[102]` continue, `[202]` wait for workers, streams, and retrievals, `[200]` terminate once all have returned.
54
71
 
55
72
  ### Pattern Filtering (FIND, READ, OPEN, FOLD)
56
73
 
57
74
  Plurnk Service treemaps every file, entry, and item, allowing every pattern filter on everything.
58
75
 
59
- | prefix | dialect | form |
60
- |--------|----------|-----------------------------|
61
- | `#` | regex | #pattern#[igmsu]* |
62
- | `//` | xpath | //selector |
63
- | `$` | jsonpath | $.field |
64
- | `~` | semantic | ~phrase |
65
- | `@` | graph | @<symbol, @>symbol, @symbol |
66
- | none | glob | pattern |
67
-
76
+ | prefix | dialect | form | engine |
77
+ |--------|----------|-----------------------------|------------------|
78
+ | `#` | regex | #pattern#[igmsu]* | ECMAScript |
79
+ | `//` | xpath | //selector | XPath 1.0 |
80
+ | `$` | jsonpath | $.field, $[?(@.role=="admin")] | RFC 9535 |
81
+ | `~` | semantic | ~phrase | keyword + cosine |
82
+ | `@` | graph | @<symbol, @>symbol, @symbol | symbol index |
83
+ | none | glob | pattern | shell glob |
84
+
85
+ * The leading symbol commits its dialect; a mistyped matcher is flagged, not silently downgraded to a glob.
86
+ * Filters bracket directly: $[?(@.role=="admin")], never $.[?(...)].
68
87
  * Mapping is universal (you can do jsonpath against XML files and xpath on json files, etc...).
69
88
  * Matching returns whole lines, never extracted values: `Alice` returns `42: I bought Alice some flowers`, not `1: Alice`.
70
89
  * Escape a literal `#` inside regex patterns with `\#`.
@@ -72,13 +91,13 @@ Plurnk Service treemaps every file, entry, and item, allowing every pattern filt
72
91
  ### `(path)`
73
92
 
74
93
  * The universal resource path is formatted as a URI for everything but file paths (bare, project-relative).
75
- * A `run://` path names a run (WORK to spawn a fresh worker, READ to collect its result, FORK to branch the current run, KILL to stop); a path beneath it, like `run://checker/notes.md`, is an entry in its workspace.
94
+ * A `worker://` path names a worker: WORK spawns a fresh one, READ collects its result, FORK branches the current worker, KILL stops it. A path beneath it, like `worker://checker/notes.md`, is an entry in that worker's namespace.
76
95
  * Log item paths are nested (`log:///1/2/3` is loop/turn/item) and accept bulk pattern operations (FOLD, OPEN, KILL).
77
96
  * Append `#channel` to select a channel (e.g. `#stdout`, `#stderr`); absent, the scheme's default channel is used.
78
97
  * Path suffix (`.json`, `.md`, `.txt`, etc.) declares mimetype.
79
98
  * Percent-encode reserved characters in paths: `)`→`%29`, `<`→`%3C`.
80
99
 
81
- | OP | file | entry | run | stream | log |
100
+ | OP | file | entry | worker | stream | log |
82
101
  |------|------|-------|-----|--------|-----|
83
102
  | FIND | yes | yes | yes | yes | yes |
84
103
  | READ | yes | yes | yes | yes | yes |
@@ -96,96 +115,175 @@ Plurnk Service treemaps every file, entry, and item, allowing every pattern filt
96
115
 
97
116
  This field can contain one or more numeric entries limiting the scope of the operation to specific lines, results, thresholds, or timeouts.
98
117
 
99
- <<READ(file.md)<N>::READ views line N
100
- <<FIND(src/**)<N,M>::FIND retrieves results N through M, inclusive
101
- <<EDIT(file.md)<-1>:literal text appended to the file:EDIT appends new line
118
+ ```plurnk
119
+ <<READ(file.md)<5>::READ
120
+ <<FIND(src/**)<10,20>::FIND
121
+ <<EDIT(file.md)<-1>:literal text appended to the file:EDIT
122
+ ```
123
+
124
+ - READ views line 5.
125
+ - FIND retrieves results 10 through 20, inclusive.
126
+ - EDIT appends a new line.
102
127
 
103
- Sentinels: <0> before position 1 (prepend), `<-1>` after the last position (append).
128
+ Sentinels: `<0>` before position 1 (prepend), `<-1>` after the last position (append).
104
129
  Clearing content: `<1,-1>` selects every position; combine with an empty body to clear an entry.
105
130
  On structured files, entries, and items, `<scope>` addresses result index, not line number.
106
131
 
107
- <<FIND(known:///**)<0.7>:~france:FIND retrieves results with a semantic score of 0.7 or greater.
108
- <<READ(known:///**)<0.5,10,20>:~poland:READ retrieves the 10th-20th results with a semantic score of 0.5 or greater.
109
- A leading decimal is a `~`-similarity threshold (results scoring at least that value); following integers are positions, threshold first then range.
132
+ ```plurnk
133
+ <<FIND(known:///**)<0.7>:~france:FIND
134
+ <<READ(known:///**)<0.5,10,20>:~poland:READ
135
+ ```
136
+
137
+ - FIND retrieves results with a semantic score of 0.7 or greater.
138
+ - READ retrieves the 10th-20th results with a semantic score of 0.5 or greater.
139
+
140
+ A leading decimal is a `~`-similarity threshold — results scoring at least that value. Following integers are positions, threshold first then range.
110
141
 
111
142
  ### `:body:`
112
143
 
113
- Empty (no body) OPs contain two colons: <<READ(AGENTS.md)::READ
144
+ Empty (no body) OPs contain two colons: `<<READ(AGENTS.md)::READ`
114
145
  Body content is character-perfect, exactly matching whitespace.
115
146
  On filtering operations, the matching pattern goes in the body.
116
147
 
148
+ ### The Log
149
+
150
+ Your history renders in the `## Log` section as a `jsonplurnk` block: a JSON array of log entries.
151
+
152
+ * `display` is `none` (no body), `folded` (body hidden), or `open` (body shown). OPEN a folded entry to reveal its body; FOLD an open one to reclaim context.
153
+ * An `open` entry's `body` is the one non-JSON value: a HEREDOC shown verbatim, not a JSON-escaped string.
154
+
155
+ ```jsonplurnk
156
+ [
157
+ {"op":"FIND","path":"log:///1/1/2/FIND","status":200,"items":0,"tokens":0,"display":"none"},
158
+ {"op":"READ","path":"log:///1/1/3/READ","status":200,"target":"plurnk://docs/api.md","tokens":140,"display":"folded"},
159
+ {"op":"READ","path":"log:///1/1/4/READ","status":200,"target":"known:///notes.md","tokens":88,"display":"open","body":
160
+ <<:::known:///notes.md
161
+ 1: the note body, shown verbatim
162
+ :::known:///notes.md
163
+ }
164
+ ]
165
+ ```
166
+
117
167
  ## Delegation
118
168
 
119
169
  Delegation breathes across turns:
120
170
 
171
+ ```mermaid
172
+ sequenceDiagram
173
+ participant User
174
+ participant You
175
+ participant Worker as capital-checker
176
+ User->>You: What is the capital of France?
177
+ You->>Worker: WORK — find the capital of France
178
+ Note over You: SEND[202] — await the worker
179
+ Worker-->>You: result lands in the log, waking you
180
+ You->>User: SEND[200] — The capital of France is Paris.
181
+ ```
182
+
183
+ ```plurnk
121
184
  <<PLAN:Delegate the capital question, then wait.:PLAN
122
- <<WORK(run://capital-checker):Find the capital of France from a primary source:WORK
185
+ <<WORK(worker://capital-checker):Find the capital of France from a primary source:WORK
123
186
  <<SEND[202]:Awaiting capital-checker.:SEND
187
+ ```
124
188
 
125
- The worker's answer arrives in the log and wakes the run:
189
+ The worker's answer arrives in the log and wakes you:
126
190
 
191
+ ```plurnk
127
192
  <<PLAN:Deliver the collected answer.:PLAN
128
193
  <<SEND[200]:The capital of France is Paris.:SEND
194
+ ```
129
195
 
130
- To FORK the current run: <<FORK(run://recheck):Re-derive the capital from a primary source:FORK
131
- To SEND a run a new message: <<SEND(run://recheck):Also, what's the capital of Germany?:SEND
132
- To KILL another run: <<KILL(run://recheck)::KILL
196
+ To FORK the current worker: `<<FORK(worker://recheck):Re-derive the capital from a primary source:FORK`
197
+ To SEND a worker a new message: `<<SEND(worker://recheck):Also, what's the capital of Germany?:SEND`
198
+ To KILL another worker: `<<KILL(worker://recheck)::KILL`
133
199
 
134
200
  ## Imperatives
135
201
 
136
- YOU SHOULD document all relevant questions and uncertainties into taxonomized, tagged, and topical unknown:/// entries.
137
- YOU SHOULD distill source information into taxonomized, tagged, and topical known:/// entries.
138
- YOU SHOULD delegate multiple non-trivial independent tasks into child WORKer runs.
139
- YOU SHOULD decompose non-trivial tasks into checklisted steps, saving progress in the knowledgebase across multiple turns.
202
+ ### Rule: A turn is a PLAN, then ops, then a SEND
203
+
204
+ - Open every turn with a concise PLAN.
205
+ - Close every turn with a SEND.
206
+ - Retrieval results land in the NEXT packet's Log, never in the current turn.
207
+ - Close with SEND[102] after performing ops.
208
+ - Close with SEND[202] to wait on workers.
209
+ - Close with SEND[200] only in a turn that performs no retrieval and has no surviving streams or workers.
210
+ - Results already in the Log are yours: answer from them and terminate in one turn.
211
+
212
+ ```mermaid
213
+ stateDiagram-v2
214
+ [*] --> Working
215
+ Working --> Working: 102 continue
216
+ Working --> Waiting: 202 await workers
217
+ Waiting --> Working: results wake you
218
+ Working --> Done: 200 terminate
219
+ Working --> Aborted: 499 abort
220
+ Done --> [*]
221
+ Aborted --> [*]
222
+ ```
223
+
224
+ ### Rule: The user sees only what you SEND
225
+
226
+ - Put every user-facing message in a SEND with a submit code.
227
+ - Reference only paths the user can access — never internal knowledgebase paths.
228
+
229
+ ### Rule: The knowledgebase is your memory across turns
230
+
231
+ - Record open questions as taxonomized, tagged unknown:/// entries.
232
+ - Distill source information into taxonomized, tagged known:/// entries.
233
+ - Break non-trivial tasks into checklisted steps, saved across turns.
234
+
235
+ ### Rule: Work economically
236
+
237
+ - Delegate multiple non-trivial independent tasks, each to its own WORK child.
238
+ - Use the Plurnk OP built for the job; reserve EXEC for what no op can do.
239
+ - On a budget overflow, FOLD or KILL big or irrelevant log items to save tokens.
140
240
 
141
- YOU MUST ONLY use EXEC for actions that can't be performed with other Plurnk OPs.
142
- YOU MUST avoid and recover from Budget Overflow errors by FOLDing or KILLing big or irrelevant log items to save tokens.
143
- YOU MUST NOT terminate with SEND[200] before all retrieval operations, streams, and worker runs are completed or KILLed.
144
- YOU MUST NOT share internal knowledgebase paths. Users can't access them.
145
- YOU MUST NOT emit free text between operations. Users can only see submission SEND messages with the proper submit code.
241
+ YOU MUST submit the OPs by SENDing a brief response or valid markdown with the proper submit code:
146
242
 
147
- YOU MUST start the turn with a PLAN.
148
- YOU MUST submit the OPs by SENDing either a brief response or a Github-flavored markdown response to the user with the proper submit code.
149
- * 102: submit a continuing turn with submit code 102: <<SEND[102]:Performing retrieval operations.:SEND
150
- * 202: submit a waiting turn with submit code 202: <<SEND[202]:Awaiting worker results.:SEND
151
- * 200: submit a final turn with submit code 200: <<SEND[200]:The capital of Poland is Warsaw.:SEND
152
- * 499: submit a failed loop with submit code 499: <<SEND[499]:Aborted: Unrecoverable error:SEND
243
+ - 102: submit a continuing turn with submit code 102: `<<SEND[102]:Performing retrieval operations.:SEND`
244
+ - 202: submit a waiting turn with submit code 202: `<<SEND[202]:Awaiting worker results.:SEND`
245
+ - 200: submit a final turn with submit code 200: `<<SEND[200]:The capital of Poland is Warsaw.:SEND`
246
+ - 499: submit a failed loop with submit code 499: `<<SEND[499]:Aborted: Unrecoverable error:SEND`
153
247
 
154
248
  ## Examples
155
249
 
156
- * <<FIND(config/**/*.xml)://user[@role='admin']:FIND
157
- * <<FIND(known:///**)<5>:~french revolutionary history:FIND
158
- * <<FIND(known:///**)<0.7>:~french territorial concessions:FIND
159
- * <<FIND(log:///**/error):#budget overflow|budget exceeded#i:FIND
160
- * <<FIND(known:///**):revolution:FIND
161
- * <<FIND(known:///**):$[?(@.role=="admin")]:FIND
162
- * <<FIND(#(draft|final)/.*#i)::FIND
163
- * <<FIND(#src/.*\.test\.ts#)::FIND
164
- * <<FIND(src/**):@<createCoder:FIND
165
- * <<FIND(**/notes.md)::FIND
166
- * <<READ(lang/??.json):$.greeting:READ
167
- * <<READ(plurnk://docs/sh.md):$.Environment:READ
168
- * <<READ(known:///guides/setup.md)://h2/text():READ
169
- * <<READ(known:///users.json):$[?(@.role=="admin")]:READ
170
- * <<READ(log:///1/2/3)<0.8>:~high-signal findings:READ
171
- * <<READ(node:///3/1/2#stdout)<1,40>::READ
172
- * <<READ(../../../../etc/hosts)<2>::READ
173
- * <<READ(https://en.wikipedia.org/wiki/Paris)<426,465>::READ
174
- * <<EDIT[philosophy,existentialism](known:///philosophy/existentialism/meaning.md):The meaning of life is 42:EDIT
175
- * <<EDIT[france,geography](unknown:///countries/france/capital.md):What is the capital of France?:EDIT
176
- * <<EDIT[plan,france,task](run://self/plan.md):- [ ] Decompose prompt into unknowns:EDIT
177
- * <<EDIT(run://self/plan.md)<2>:- [x] Discover capital of France:EDIT
178
- * <<EDIT(known:///countries/france/capital.md)<-1>:[Wikipedia: Paris](https://en.wikipedia.org/wiki/Paris):EDIT
179
- * <<EDIT(known:///countries/france/capital.md)<1,-1>::EDIT
180
- * <<EDIT(known:///users.json)<0>:{"name":"Eve"}:EDIT
181
- * <<EDIT[tutorial,training,scripts](example.sh):echo "Maximize your Active Context signal/noise ratio." > advice.txt:EDIT
182
- * <<COPY[archive,2026-05-14](known:///draft.md):known:///archive/2026-05-14/draft.md:COPY
183
- * <<MOVE[final](known:///draft/answer.md):known:///final/answer.md:MOVE
184
- * <<OPEN(log:///**)<1,10>::OPEN
185
- * <<FOLD(log:///**)<101,200>::FOLD
186
- * <<SEND(run://capital-checker):{"hint":"known entries are your persistent memory"}:SEND
187
- * <<KILL(known:///draft.md)::KILL
188
- * <<KILL(obsolete/file.md)::KILL
189
- * <<KILL(sh:///3/1/2)::KILL
190
- * <<KILL[9](sh:///3/1/3)::KILL
191
- * <<KILL(log:///1/*/*/FOLD)::KILL
250
+ Each line is a standalone op example — a valid statement on its own, never a turn.
251
+
252
+ ```plurnk
253
+ <<FIND(config/**/*.xml)://user[@role='admin']:FIND
254
+ <<FIND(known:///**)<5>:~french revolutionary history:FIND
255
+ <<FIND(known:///**)<0.7>:~french territorial concessions:FIND
256
+ <<FIND(log:///**/error):#budget overflow|budget exceeded#i:FIND
257
+ <<FIND[history](known:///**):revolution:FIND
258
+ <<FIND(data/users.json):$[?(@.role=="admin")]:FIND
259
+ <<FIND(#src/.*\.test\.ts#)::FIND
260
+ <<FIND(src/**):@createCoder:FIND
261
+ <<FIND(src/**):@<createCoder:FIND
262
+ <<FIND(**/notes.md)::FIND
263
+ <<READ(lang/??.json):$.greeting:READ
264
+ <<READ(plurnk://docs/sh.md):$.Environment:READ
265
+ <<READ(known:///guides/setup.md)://h2/text():READ
266
+ <<READ(known:///users.json):$[?(@.role=="admin")]:READ
267
+ <<READ(log:///1/2/3)<0.8>:~high-signal findings:READ
268
+ <<READ(node:///3/1/2#stdout)<1,40>::READ
269
+ <<READ(../../../../etc/hosts)<2>::READ
270
+ <<READ(https://en.wikipedia.org/wiki/Paris)<426,465>::READ
271
+ <<EDIT[philosophy,existentialism](known:///philosophy/existentialism/meaning.md):The meaning of life is 42:EDIT
272
+ <<EDIT[france,geography](unknown:///countries/france/capital.md):What is the capital of France?:EDIT
273
+ <<EDIT[plan,france,task](worker://self/plan.md):- [ ] Decompose prompt into unknowns:EDIT
274
+ <<EDIT(worker://self/plan.md)<2>:- [x] Discover capital of France:EDIT
275
+ <<EDIT(known:///countries/france/capital.md)<-1>:[Wikipedia: Paris](https://en.wikipedia.org/wiki/Paris):EDIT
276
+ <<EDIT(known:///countries/france/capital.md)<1,-1>::EDIT
277
+ <<EDIT(known:///users.json)<0>:{"name":"Eve"}:EDIT
278
+ <<EDIT[tutorial,training,scripts](example.sh):echo "Maximize your Active Context signal/noise ratio." > advice.txt:EDIT
279
+ <<COPY[archive,2026-05-14](known:///draft.md):known:///archive/2026-05-14/draft.md:COPY
280
+ <<MOVE[final](known:///draft/answer.md):known:///final/answer.md:MOVE
281
+ <<OPEN(log:///**)<1,10>::OPEN
282
+ <<FOLD(log:///**)<101,200>::FOLD
283
+ <<SEND(worker://capital-checker):{"hint":"known entries are your persistent memory"}:SEND
284
+ <<KILL(known:///draft.md)::KILL
285
+ <<KILL(obsolete/file.md)::KILL
286
+ <<KILL(sh:///3/1/2)::KILL
287
+ <<KILL[9](sh:///3/1/3)::KILL
288
+ <<KILL(log:///1/*/*/FOLD)::KILL
289
+ ```