@plurnk/plurnk-grammar 0.54.0 → 0.60.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/README.md +2 -2
- package/dist/plurnk.gbnf +22 -23
- package/package.json +1 -1
- package/plurnk.md +9 -7
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
|
|
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.)
|
|
25
25
|
|
|
26
26
|
## cli
|
|
27
27
|
|
|
@@ -167,7 +167,7 @@ Nesting: outer body may contain inner `<<OP:…:OP` statements; outer must use a
|
|
|
167
167
|
<<SEND[503](log:///errors):{"reason":"git unavailable","command":"git status"}:SEND
|
|
168
168
|
|
|
169
169
|
30. Direct an informational message at a named agent
|
|
170
|
-
<<SEND
|
|
170
|
+
<<SEND(agent://supervisor):decomposition complete; awaiting clearance:SEND
|
|
171
171
|
|
|
172
172
|
31. Kill a runaway process
|
|
173
173
|
<<KILL(sh:///3/1/2)::KILL
|
package/dist/plurnk.gbnf
CHANGED
|
@@ -488,80 +488,80 @@ send-b1 ::= ("S" send-b2 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] se
|
|
|
488
488
|
send-b2 ::= ("E" send-b3 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-b0)?
|
|
489
489
|
send-b3 ::= ("N" send-b4 | ":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-b0)?
|
|
490
490
|
send-b4 ::= (":" send-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-b0)?
|
|
491
|
-
send-mid ::= "<<SEND" "[" status "]" target ":" send-b0 ":SEND" | "<<SEND" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND" | "<<SEND" ":" send-b0 ":SEND"
|
|
492
|
-
send-final ::= "<<SEND" "[" status-final "]" ":" send-b0 ":SEND"
|
|
491
|
+
send-mid ::= "<<SEND" "[" status-mid "]" target ":" send-b0 ":SEND" | "<<SEND" target ":" send-b0 ":SEND" | "<<SEND" "[" status-mid "]" ":" send-b0 ":SEND" | "<<SEND" ":" send-b0 ":SEND"
|
|
492
|
+
send-final ::= "<<SEND" "[" status-final "]" target? ":" send-b0 ":SEND"
|
|
493
493
|
send-1-b0 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-1-b0)?
|
|
494
494
|
send-1-b1 ::= ("S" send-1-b2 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-1-b0)?
|
|
495
495
|
send-1-b2 ::= ("E" send-1-b3 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-1-b0)?
|
|
496
496
|
send-1-b3 ::= ("N" send-1-b4 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-1-b0)?
|
|
497
497
|
send-1-b4 ::= ("D" send-1-b5 | ":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-1-b0)?
|
|
498
498
|
send-1-b5 ::= (":" send-1-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:1] send-1-b0)?
|
|
499
|
-
send-1-mid ::= "<<SEND1" "[" status "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1" | "<<SEND1" ":" send-1-b0 ":SEND1"
|
|
500
|
-
send-1-final ::= "<<SEND1" "[" status-final "]" ":" send-1-b0 ":SEND1"
|
|
499
|
+
send-1-mid ::= "<<SEND1" "[" status-mid "]" target ":" send-1-b0 ":SEND1" | "<<SEND1" target ":" send-1-b0 ":SEND1" | "<<SEND1" "[" status-mid "]" ":" send-1-b0 ":SEND1" | "<<SEND1" ":" send-1-b0 ":SEND1"
|
|
500
|
+
send-1-final ::= "<<SEND1" "[" status-final "]" target? ":" send-1-b0 ":SEND1"
|
|
501
501
|
send-2-b0 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-2-b0)?
|
|
502
502
|
send-2-b1 ::= ("S" send-2-b2 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-2-b0)?
|
|
503
503
|
send-2-b2 ::= ("E" send-2-b3 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-2-b0)?
|
|
504
504
|
send-2-b3 ::= ("N" send-2-b4 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-2-b0)?
|
|
505
505
|
send-2-b4 ::= ("D" send-2-b5 | ":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-2-b0)?
|
|
506
506
|
send-2-b5 ::= (":" send-2-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:2] send-2-b0)?
|
|
507
|
-
send-2-mid ::= "<<SEND2" "[" status "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2" | "<<SEND2" ":" send-2-b0 ":SEND2"
|
|
508
|
-
send-2-final ::= "<<SEND2" "[" status-final "]" ":" send-2-b0 ":SEND2"
|
|
507
|
+
send-2-mid ::= "<<SEND2" "[" status-mid "]" target ":" send-2-b0 ":SEND2" | "<<SEND2" target ":" send-2-b0 ":SEND2" | "<<SEND2" "[" status-mid "]" ":" send-2-b0 ":SEND2" | "<<SEND2" ":" send-2-b0 ":SEND2"
|
|
508
|
+
send-2-final ::= "<<SEND2" "[" status-final "]" target? ":" send-2-b0 ":SEND2"
|
|
509
509
|
send-3-b0 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-3-b0)?
|
|
510
510
|
send-3-b1 ::= ("S" send-3-b2 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-3-b0)?
|
|
511
511
|
send-3-b2 ::= ("E" send-3-b3 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-3-b0)?
|
|
512
512
|
send-3-b3 ::= ("N" send-3-b4 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-3-b0)?
|
|
513
513
|
send-3-b4 ::= ("D" send-3-b5 | ":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-3-b0)?
|
|
514
514
|
send-3-b5 ::= (":" send-3-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:3] send-3-b0)?
|
|
515
|
-
send-3-mid ::= "<<SEND3" "[" status "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3" | "<<SEND3" ":" send-3-b0 ":SEND3"
|
|
516
|
-
send-3-final ::= "<<SEND3" "[" status-final "]" ":" send-3-b0 ":SEND3"
|
|
515
|
+
send-3-mid ::= "<<SEND3" "[" status-mid "]" target ":" send-3-b0 ":SEND3" | "<<SEND3" target ":" send-3-b0 ":SEND3" | "<<SEND3" "[" status-mid "]" ":" send-3-b0 ":SEND3" | "<<SEND3" ":" send-3-b0 ":SEND3"
|
|
516
|
+
send-3-final ::= "<<SEND3" "[" status-final "]" target? ":" send-3-b0 ":SEND3"
|
|
517
517
|
send-4-b0 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-4-b0)?
|
|
518
518
|
send-4-b1 ::= ("S" send-4-b2 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-4-b0)?
|
|
519
519
|
send-4-b2 ::= ("E" send-4-b3 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-4-b0)?
|
|
520
520
|
send-4-b3 ::= ("N" send-4-b4 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-4-b0)?
|
|
521
521
|
send-4-b4 ::= ("D" send-4-b5 | ":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-4-b0)?
|
|
522
522
|
send-4-b5 ::= (":" send-4-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:4] send-4-b0)?
|
|
523
|
-
send-4-mid ::= "<<SEND4" "[" status "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4" | "<<SEND4" ":" send-4-b0 ":SEND4"
|
|
524
|
-
send-4-final ::= "<<SEND4" "[" status-final "]" ":" send-4-b0 ":SEND4"
|
|
523
|
+
send-4-mid ::= "<<SEND4" "[" status-mid "]" target ":" send-4-b0 ":SEND4" | "<<SEND4" target ":" send-4-b0 ":SEND4" | "<<SEND4" "[" status-mid "]" ":" send-4-b0 ":SEND4" | "<<SEND4" ":" send-4-b0 ":SEND4"
|
|
524
|
+
send-4-final ::= "<<SEND4" "[" status-final "]" target? ":" send-4-b0 ":SEND4"
|
|
525
525
|
send-5-b0 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-5-b0)?
|
|
526
526
|
send-5-b1 ::= ("S" send-5-b2 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-5-b0)?
|
|
527
527
|
send-5-b2 ::= ("E" send-5-b3 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-5-b0)?
|
|
528
528
|
send-5-b3 ::= ("N" send-5-b4 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-5-b0)?
|
|
529
529
|
send-5-b4 ::= ("D" send-5-b5 | ":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-5-b0)?
|
|
530
530
|
send-5-b5 ::= (":" send-5-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:5] send-5-b0)?
|
|
531
|
-
send-5-mid ::= "<<SEND5" "[" status "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5" | "<<SEND5" ":" send-5-b0 ":SEND5"
|
|
532
|
-
send-5-final ::= "<<SEND5" "[" status-final "]" ":" send-5-b0 ":SEND5"
|
|
531
|
+
send-5-mid ::= "<<SEND5" "[" status-mid "]" target ":" send-5-b0 ":SEND5" | "<<SEND5" target ":" send-5-b0 ":SEND5" | "<<SEND5" "[" status-mid "]" ":" send-5-b0 ":SEND5" | "<<SEND5" ":" send-5-b0 ":SEND5"
|
|
532
|
+
send-5-final ::= "<<SEND5" "[" status-final "]" target? ":" send-5-b0 ":SEND5"
|
|
533
533
|
send-6-b0 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-6-b0)?
|
|
534
534
|
send-6-b1 ::= ("S" send-6-b2 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-6-b0)?
|
|
535
535
|
send-6-b2 ::= ("E" send-6-b3 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-6-b0)?
|
|
536
536
|
send-6-b3 ::= ("N" send-6-b4 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-6-b0)?
|
|
537
537
|
send-6-b4 ::= ("D" send-6-b5 | ":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-6-b0)?
|
|
538
538
|
send-6-b5 ::= (":" send-6-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:6] send-6-b0)?
|
|
539
|
-
send-6-mid ::= "<<SEND6" "[" status "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6" | "<<SEND6" ":" send-6-b0 ":SEND6"
|
|
540
|
-
send-6-final ::= "<<SEND6" "[" status-final "]" ":" send-6-b0 ":SEND6"
|
|
539
|
+
send-6-mid ::= "<<SEND6" "[" status-mid "]" target ":" send-6-b0 ":SEND6" | "<<SEND6" target ":" send-6-b0 ":SEND6" | "<<SEND6" "[" status-mid "]" ":" send-6-b0 ":SEND6" | "<<SEND6" ":" send-6-b0 ":SEND6"
|
|
540
|
+
send-6-final ::= "<<SEND6" "[" status-final "]" target? ":" send-6-b0 ":SEND6"
|
|
541
541
|
send-7-b0 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-7-b0)?
|
|
542
542
|
send-7-b1 ::= ("S" send-7-b2 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-7-b0)?
|
|
543
543
|
send-7-b2 ::= ("E" send-7-b3 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-7-b0)?
|
|
544
544
|
send-7-b3 ::= ("N" send-7-b4 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-7-b0)?
|
|
545
545
|
send-7-b4 ::= ("D" send-7-b5 | ":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-7-b0)?
|
|
546
546
|
send-7-b5 ::= (":" send-7-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:7] send-7-b0)?
|
|
547
|
-
send-7-mid ::= "<<SEND7" "[" status "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7" | "<<SEND7" ":" send-7-b0 ":SEND7"
|
|
548
|
-
send-7-final ::= "<<SEND7" "[" status-final "]" ":" send-7-b0 ":SEND7"
|
|
547
|
+
send-7-mid ::= "<<SEND7" "[" status-mid "]" target ":" send-7-b0 ":SEND7" | "<<SEND7" target ":" send-7-b0 ":SEND7" | "<<SEND7" "[" status-mid "]" ":" send-7-b0 ":SEND7" | "<<SEND7" ":" send-7-b0 ":SEND7"
|
|
548
|
+
send-7-final ::= "<<SEND7" "[" status-final "]" target? ":" send-7-b0 ":SEND7"
|
|
549
549
|
send-8-b0 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-8-b0)?
|
|
550
550
|
send-8-b1 ::= ("S" send-8-b2 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-8-b0)?
|
|
551
551
|
send-8-b2 ::= ("E" send-8-b3 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-8-b0)?
|
|
552
552
|
send-8-b3 ::= ("N" send-8-b4 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-8-b0)?
|
|
553
553
|
send-8-b4 ::= ("D" send-8-b5 | ":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-8-b0)?
|
|
554
554
|
send-8-b5 ::= (":" send-8-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:8] send-8-b0)?
|
|
555
|
-
send-8-mid ::= "<<SEND8" "[" status "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8" | "<<SEND8" ":" send-8-b0 ":SEND8"
|
|
556
|
-
send-8-final ::= "<<SEND8" "[" status-final "]" ":" send-8-b0 ":SEND8"
|
|
555
|
+
send-8-mid ::= "<<SEND8" "[" status-mid "]" target ":" send-8-b0 ":SEND8" | "<<SEND8" target ":" send-8-b0 ":SEND8" | "<<SEND8" "[" status-mid "]" ":" send-8-b0 ":SEND8" | "<<SEND8" ":" send-8-b0 ":SEND8"
|
|
556
|
+
send-8-final ::= "<<SEND8" "[" status-final "]" target? ":" send-8-b0 ":SEND8"
|
|
557
557
|
send-9-b0 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] send-9-b0)?
|
|
558
558
|
send-9-b1 ::= ("S" send-9-b2 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:S] send-9-b0)?
|
|
559
559
|
send-9-b2 ::= ("E" send-9-b3 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] send-9-b0)?
|
|
560
560
|
send-9-b3 ::= ("N" send-9-b4 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:N] send-9-b0)?
|
|
561
561
|
send-9-b4 ::= ("D" send-9-b5 | ":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:D] send-9-b0)?
|
|
562
562
|
send-9-b5 ::= (":" send-9-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:9] send-9-b0)?
|
|
563
|
-
send-9-mid ::= "<<SEND9" "[" status "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9" | "<<SEND9" ":" send-9-b0 ":SEND9"
|
|
564
|
-
send-9-final ::= "<<SEND9" "[" status-final "]" ":" send-9-b0 ":SEND9"
|
|
563
|
+
send-9-mid ::= "<<SEND9" "[" status-mid "]" target ":" send-9-b0 ":SEND9" | "<<SEND9" target ":" send-9-b0 ":SEND9" | "<<SEND9" "[" status-mid "]" ":" send-9-b0 ":SEND9" | "<<SEND9" ":" send-9-b0 ":SEND9"
|
|
564
|
+
send-9-final ::= "<<SEND9" "[" status-final "]" target? ":" send-9-b0 ":SEND9"
|
|
565
565
|
exec-b0 ::= (":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:] exec-b0)?
|
|
566
566
|
exec-b1 ::= ("E" exec-b2 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:E] exec-b0)?
|
|
567
567
|
exec-b2 ::= ("X" exec-b3 | ":" exec-b1 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F:X] exec-b0)?
|
|
@@ -778,8 +778,8 @@ plan-statement ::= plan | plan-1 | plan-2 | plan-3 | plan-4 | plan-5 | plan-6 |
|
|
|
778
778
|
op-statement ::= find | find-1 | find-2 | find-3 | find-4 | find-5 | find-6 | find-7 | find-8 | find-9 | read | read-1 | read-2 | read-3 | read-4 | read-5 | read-6 | read-7 | read-8 | read-9 | edit | edit-1 | edit-2 | edit-3 | edit-4 | edit-5 | edit-6 | edit-7 | edit-8 | edit-9 | copy | copy-1 | copy-2 | copy-3 | copy-4 | copy-5 | copy-6 | copy-7 | copy-8 | copy-9 | move | move-1 | move-2 | move-3 | move-4 | move-5 | move-6 | move-7 | move-8 | move-9 | open | open-1 | open-2 | open-3 | open-4 | open-5 | open-6 | open-7 | open-8 | open-9 | fold | fold-1 | fold-2 | fold-3 | fold-4 | fold-5 | fold-6 | fold-7 | fold-8 | fold-9 | exec | exec-1 | exec-2 | exec-3 | exec-4 | exec-5 | exec-6 | exec-7 | exec-8 | exec-9 | kill | kill-1 | kill-2 | kill-3 | kill-4 | kill-5 | kill-6 | kill-7 | kill-8 | kill-9 | plan | plan-1 | plan-2 | plan-3 | plan-4 | plan-5 | plan-6 | plan-7 | plan-8 | plan-9
|
|
779
779
|
send-mid-any ::= send-mid | send-1-mid | send-2-mid | send-3-mid | send-4-mid | send-5-mid | send-6-mid | send-7-mid | send-8-mid | send-9-mid
|
|
780
780
|
send-final-any ::= send-final | send-1-final | send-2-final | send-3-final | send-4-final | send-5-final | send-6-final | send-7-final | send-8-final | send-9-final
|
|
781
|
-
status-final ::= "102" | "200"
|
|
782
|
-
status-mid ::= "10" [0-13-9] | "1" [1-9] [0-9] | "20" [
|
|
781
|
+
status-final ::= "102" | "200" | "202" | "500"
|
|
782
|
+
status-mid ::= "10" [0-13-9] | "1" [1-9] [0-9] | "20" [13-9] | "2" [1-9] [0-9] | [03-46-9] [0-9] [0-9] | "50" [1-9] | "5" [1-9] [0-9]
|
|
783
783
|
tags ::= "[" tag tag-rest* "]"
|
|
784
784
|
tag ::= [A-Za-z0-9_.-]+
|
|
785
785
|
tag-rest ::= "," tag
|
|
@@ -788,6 +788,5 @@ line ::= "<" int line-rest* ">"
|
|
|
788
788
|
line-rest ::= "," " "? int
|
|
789
789
|
int ::= "-"? [0-9]+ frac?
|
|
790
790
|
frac ::= "." [0-9]+
|
|
791
|
-
status ::= [0-9] [0-9] [0-9]
|
|
792
791
|
exec-sig ::= "[" [a-z] [a-z0-9_-]* "]"
|
|
793
792
|
kill-sig ::= "[" [0-9] [0-9]? "]"
|
package/package.json
CHANGED
package/plurnk.md
CHANGED
|
@@ -34,10 +34,10 @@ EXEC defaults to `sh`; override with an optional executor (`sqlite`, `node`, etc
|
|
|
34
34
|
|
|
35
35
|
The agent maintains two surfaces for budgeting working-memory tokens:
|
|
36
36
|
|
|
37
|
-
- **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 —
|
|
37
|
+
- **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.
|
|
38
38
|
- **`plurnk:///manifest.json`** — what's available: the complete unranked directory of every entry. Query it to discover available entries.
|
|
39
39
|
|
|
40
|
-
OPEN and FOLD operate on the log only.
|
|
40
|
+
OPEN and FOLD operate on the log only. Log items are read-only, but can be KILLed.
|
|
41
41
|
|
|
42
42
|
## `<Line> / <Result>`
|
|
43
43
|
|
|
@@ -122,8 +122,8 @@ Body content is character-perfect, exactly matching whitespace.
|
|
|
122
122
|
<<MOVE[final](known:///draft/answer.md):known:///final/answer.md:MOVE
|
|
123
123
|
<<KILL(obsolete/file.md)::KILL
|
|
124
124
|
<<KILL(sh:///3/1/2)::KILL
|
|
125
|
-
<<EDIT(run
|
|
126
|
-
<<COPY(run
|
|
125
|
+
<<EDIT(run://capital-checker):Find the capital of France.:EDIT
|
|
126
|
+
<<COPY(run://.):Re-derive the capital from a primary source.:COPY
|
|
127
127
|
<<OPEN(log:///**/get)<1,10>::OPEN
|
|
128
128
|
<<FIND(known:///**)<5>:~french revolutionary history:FIND
|
|
129
129
|
<<FIND(known:///**)<0.7>:~french territorial concessions:FIND
|
|
@@ -135,7 +135,7 @@ Body content is character-perfect, exactly matching whitespace.
|
|
|
135
135
|
<<FIND(src/**):@<createCoder:FIND
|
|
136
136
|
|
|
137
137
|
<<EDIT[tutorial,training,scripts](example.sh):#!/usr/bin/env sh
|
|
138
|
-
echo "
|
|
138
|
+
echo "Taxonomic path names and folksonomic tags on entries improve reasoning and recall!" > advice.txt
|
|
139
139
|
:EDIT
|
|
140
140
|
|
|
141
141
|
<<EXEC:
|
|
@@ -145,7 +145,9 @@ chmod +x ./example.sh
|
|
|
145
145
|
|
|
146
146
|
<<EXEC[sqlite]:SELECT 22.0 / 7.0;:EXEC
|
|
147
147
|
|
|
148
|
-
<<SEND(run
|
|
148
|
+
<<SEND(run://capital-checker):{"hint":"known entries are your persistent memory"}:SEND
|
|
149
149
|
|
|
150
|
-
<<SEND[102]:
|
|
150
|
+
<<SEND[102]:Forking a research run, optimizing log relevance...:SEND
|
|
151
|
+
<<SEND[202]:Parked until the capital-checker reports.:SEND
|
|
152
|
+
<<SEND[500]:Failed to identify French capital:SEND
|
|
151
153
|
<<SEND[200]:Paris:SEND
|