@plurnk/plurnk-contracts 1.14.2 → 1.15.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/SPEC.md +90 -106
- package/dist/plurnk.gemma.gbnf +41 -67
- package/dist/plurnk.qwen.gbnf +41 -67
- package/dist/schema/ClientStatement.json +114 -40
- package/dist/schema/PlurnkStatement.json +29 -199
- package/dist/schema/RangeExtent.json +1 -1
- package/dist/src/AstBuilder.d.ts +2 -2
- package/dist/src/AstBuilder.d.ts.map +1 -1
- package/dist/src/AstBuilder.js +56 -144
- package/dist/src/AstBuilder.js.map +1 -1
- package/dist/src/PlurnkErrorStrategy.d.ts +0 -1
- package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/src/PlurnkErrorStrategy.js +57 -46
- package/dist/src/PlurnkErrorStrategy.js.map +1 -1
- package/dist/src/PlurnkParser.d.ts +1 -2
- package/dist/src/PlurnkParser.d.ts.map +1 -1
- package/dist/src/PlurnkParser.js +13 -102
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkLexer.d.ts +42 -69
- package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/src/generated/plurnkLexer.js +485 -642
- package/dist/src/generated/plurnkLexer.js.map +1 -1
- package/dist/src/generated/plurnkParser.d.ts +75 -215
- package/dist/src/generated/plurnkParser.d.ts.map +1 -1
- package/dist/src/generated/plurnkParser.js +631 -1833
- package/dist/src/generated/plurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +3 -87
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.js +2 -74
- package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
- package/dist/src/index.d.ts +0 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/types.generated.d.ts +18 -50
- package/dist/src/types.generated.d.ts.map +1 -1
- package/dist/src/types.js +1 -1
- package/dist/src/types.js.map +1 -1
- package/package.json +1 -1
- package/plurnk.md +51 -57
- package/dist/src/TagSignal.d.ts +0 -15
- package/dist/src/TagSignal.d.ts.map +0 -1
- package/dist/src/TagSignal.js +0 -53
- package/dist/src/TagSignal.js.map +0 -1
package/dist/plurnk.qwen.gbnf
CHANGED
|
@@ -8,14 +8,14 @@ section-body-b3 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b
|
|
|
8
8
|
section-body-b4 ::= ("#" section-body-b1 | [ PLNFIDRETCOYMVSXBWK] section-body-b0 | "A" section-body-b5 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
9
9
|
section-body-b5 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
10
10
|
section-body-b6 ::= ("#" section-body-b6 | " " section-body-b7 | [PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
11
|
-
section-body-b7 ::= ("#" section-body-b1 | [
|
|
12
|
-
section-body-b8 ::= ("#" section-body-b1 | [ PLANFDRETCYMVSXBWK] section-body-b0 | "I" section-body-b9 | "O" section-body-
|
|
11
|
+
section-body-b7 ::= ("#" section-body-b1 | [ LANIDTOYVX] section-body-b0 | "P" section-body-b3 | "F" section-body-b8 | "R" section-body-b11 | "E" section-body-b14 | "C" section-body-b17 | "M" section-body-b20 | "S" section-body-b23 | "B" section-body-b28 | "W" section-body-b31 | "K" section-body-b36 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
12
|
+
section-body-b8 ::= ("#" section-body-b1 | [ PLANFDRETCYMVSXBWK] section-body-b0 | "I" section-body-b9 | "O" section-body-b34 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
13
13
|
section-body-b9 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | "N" section-body-b10 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
14
14
|
section-body-b10 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
15
15
|
section-body-b11 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b12 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
16
16
|
section-body-b12 ::= ("#" section-body-b1 | [ PLNFIDRETCOYMVSXBWK] section-body-b0 | "A" section-body-b13 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
17
17
|
section-body-b13 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
18
|
-
section-body-b14 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSBWK] section-body-b0 | "D" section-body-b15 | "X" section-body-
|
|
18
|
+
section-body-b14 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSBWK] section-body-b0 | "D" section-body-b15 | "X" section-body-b26 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
19
19
|
section-body-b15 ::= ("#" section-body-b1 | [ PLANFDRETCOYMVSXBWK] section-body-b0 | "I" section-body-b16 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
20
20
|
section-body-b16 ::= ("#" section-body-b1 | [ PLANFIDRECOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
21
21
|
section-body-b17 ::= ("#" section-body-b1 | [ PLANFIDRETCYMVSXBWK] section-body-b0 | "O" section-body-b18 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
@@ -24,54 +24,47 @@ section-body-b19 ::= ("#" section-body-b1 | [ PLANFIDRETCOMVSXBWK] section-body-
|
|
|
24
24
|
section-body-b20 ::= ("#" section-body-b1 | [ PLANFIDRETCYMVSXBWK] section-body-b0 | "O" section-body-b21 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
25
25
|
section-body-b21 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMSXBWK] section-body-b0 | "V" section-body-b22 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
26
26
|
section-body-b22 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
27
|
-
section-body-b23 ::= ("#" section-body-b1 | [
|
|
28
|
-
section-body-b24 ::= ("#" section-body-b1 | [
|
|
29
|
-
section-body-b25 ::= ("#" section-body-b1 | [
|
|
30
|
-
section-body-b26 ::= ("#" section-body-b1 | [
|
|
31
|
-
section-body-b27 ::= ("#" section-body-b1 | [
|
|
32
|
-
section-body-b28 ::= ("#" section-body-b1 | [
|
|
33
|
-
section-body-b29 ::= ("#" section-body-b1 | [
|
|
34
|
-
section-body-b30 ::= ("#" section-body-b1 | [
|
|
35
|
-
section-body-b31 ::= ("#" section-body-b1 | [
|
|
36
|
-
section-body-b32 ::= ("#" section-body-b1 | [
|
|
37
|
-
section-body-b33 ::= ("#" section-body-b1 | [
|
|
27
|
+
section-body-b23 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b24 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
28
|
+
section-body-b24 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | "N" section-body-b25 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
29
|
+
section-body-b25 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
30
|
+
section-body-b26 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b27 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
31
|
+
section-body-b27 ::= ("#" section-body-b1 | [ PLANFIDRETOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
32
|
+
section-body-b28 ::= ("#" section-body-b1 | [ PLNFIDRETCOYMVSXBWK] section-body-b0 | "A" section-body-b29 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
33
|
+
section-body-b29 ::= ("#" section-body-b1 | [ PLANFIDETCOYMVSXBWK] section-body-b0 | "R" section-body-b30 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
34
|
+
section-body-b30 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
35
|
+
section-body-b31 ::= ("#" section-body-b1 | [ PLANFIDRETCYMVSXBWK] section-body-b0 | "O" section-body-b32 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
36
|
+
section-body-b32 ::= ("#" section-body-b1 | [ PLANFIDETCOYMVSXBWK] section-body-b0 | "R" section-body-b33 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
37
|
+
section-body-b33 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBW] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
38
38
|
section-body-b34 ::= ("#" section-body-b1 | [ PLANFIDETCOYMVSXBWK] section-body-b0 | "R" section-body-b35 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
39
|
-
section-body-b35 ::= ("#" section-body-b1 | [
|
|
40
|
-
section-body-b36 ::= ("#" section-body-b1 | [
|
|
41
|
-
section-body-b37 ::= ("#" section-body-b1 | [
|
|
42
|
-
section-body-b38 ::= ("#" section-body-b1 | [
|
|
43
|
-
section-body-b39 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBW] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
44
|
-
section-body-b40 ::= ("#" section-body-b1 | [ PLANFDRETCOYMVSXBWK] section-body-b0 | "I" section-body-b41 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
45
|
-
section-body-b41 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | "L" section-body-b42 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
46
|
-
section-body-b42 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
39
|
+
section-body-b35 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBW] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
40
|
+
section-body-b36 ::= ("#" section-body-b1 | [ PLANFDRETCOYMVSXBWK] section-body-b0 | "I" section-body-b37 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
41
|
+
section-body-b37 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | "L" section-body-b38 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
42
|
+
section-body-b38 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
47
43
|
section-body-ne ::= "#" section-body-b1 | [ PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0
|
|
48
44
|
annotation-body-b0 ::= ("-" annotation-body-b1 | ">" annotation-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r>-] annotation-body-b0)?
|
|
49
45
|
annotation-body-b1 ::= ("-" annotation-body-b2 | ">" annotation-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r>-] annotation-body-b0)?
|
|
50
46
|
annotation-body-b2 ::= ("-" annotation-body-b2 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r>-] annotation-body-b0)?
|
|
51
47
|
annotation-body-ne ::= "-" annotation-body-b1 | ">" annotation-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r>-] annotation-body-b0
|
|
52
48
|
pattern-body-ne ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r:#] [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r]*
|
|
53
|
-
log-selection ::= (curation-tags-slot log-target-slot? | log-target-slot)?
|
|
54
49
|
plan ::= "# PLAN0" annotation-slot? "\n" section-body-ne "\n"
|
|
55
|
-
find ::= "## FIND0"
|
|
56
|
-
read ::= "## READ0"
|
|
57
|
-
edit ::= "## EDIT0"
|
|
58
|
-
copy ::= "## COPY0"
|
|
59
|
-
move ::= "## MOVE0"
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
send-
|
|
68
|
-
send-
|
|
69
|
-
send-
|
|
70
|
-
send-202 ::= "## SEND0 [202]" target-slot? park-slot? annotation-slot? "\n" section-body-ne
|
|
71
|
-
send-499 ::= "## SEND0 [499]" target-slot? annotation-slot? "\n" section-body-ne
|
|
50
|
+
find ::= "## FIND0" target-slot line-slot? annotation-slot? "\n" | "## FIND0" target-slot line-slot? annotation-slot? "\n" pattern-body-ne "\n"
|
|
51
|
+
read ::= "## READ0" target-slot text-line-slot? annotation-slot? "\n" | "## READ0" target-slot text-line-slot? annotation-slot? "\n" pattern-body-ne "\n"
|
|
52
|
+
edit ::= "## EDIT0" target-slot text-line-slot? annotation-slot? "\n" | "## EDIT0" target-slot text-line-slot? annotation-slot? "\n" section-body-ne "\n"
|
|
53
|
+
copy ::= "## COPY0" target-slot text-line-slot? target-slot text-line-slot? annotation-slot? "\n"
|
|
54
|
+
move ::= "## MOVE0" target-slot text-line-slot? target-slot text-line-slot? annotation-slot? "\n"
|
|
55
|
+
exec ::= "## EXEC0" executor-slot? exec-program? line-slot? annotation-slot? "\n" | "## EXEC0" executor-slot? exec-program? line-slot? annotation-slot? "\n" section-body-ne "\n"
|
|
56
|
+
bare ::= "## BARE0" annotation-slot? "\n" section-body-ne "\n"
|
|
57
|
+
work ::= "## WORK0" target-slot annotation-slot? "\n" section-body-ne "\n"
|
|
58
|
+
fork ::= "## FORK0" target-slot annotation-slot? "\n" section-body-ne "\n"
|
|
59
|
+
kill ::= "## KILL0" target-slot text-line-slot? annotation-slot? "\n" | "## KILL0" target-slot text-line-slot? annotation-slot? "\n" pattern-body-ne "\n"
|
|
60
|
+
send-mid ::= "## SEND0" recipient-slot annotation-slot? "\n" | "## SEND0" recipient-slot annotation-slot? "\n" section-body-ne "\n" | "## SEND0" annotation-slot? "\n" | "## SEND0" annotation-slot? "\n" section-body-ne "\n"
|
|
61
|
+
send-102 ::= "## SEND0 (NEXT)" annotation-slot? "\n" section-body-ne
|
|
62
|
+
send-200 ::= "## SEND0 (TERM)" annotation-slot? "\n" section-body-ne
|
|
63
|
+
send-202 ::= "## SEND0 (WAIT)" park-slot? annotation-slot? "\n" section-body-ne
|
|
64
|
+
send-499 ::= "## SEND0 (FAIL)" annotation-slot? "\n" section-body-ne
|
|
72
65
|
send-final-any ::= send-102 | send-200 | send-202 | send-499
|
|
73
66
|
send-final-first ::= send-200 | send-202 | send-499
|
|
74
|
-
op-statement ::= find | read | edit | copy | move |
|
|
67
|
+
op-statement ::= find | read | edit | copy | move | exec | bare | work | fork | kill
|
|
75
68
|
tail-0 ::= send-mid tail-1 | op-statement tail-1 | send-final-first
|
|
76
69
|
tail-1 ::= send-mid tail-2 | op-statement tail-2 | send-final-any
|
|
77
70
|
tail-2 ::= send-mid tail-3 | op-statement tail-3 | send-final-any
|
|
@@ -104,38 +97,21 @@ rz-think-b12 ::= ("<" rz-think-b1 | [thin>\n/] rz-think-b0 | "k" rz-think-b13 |
|
|
|
104
97
|
rz-think-b13 ::= ("<" rz-think-b1 | [think\n/] rz-think-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
105
98
|
rz-think-first ::= [0-9A-Za-z]
|
|
106
99
|
qwen-tail ::= rz-think-first rz-think-b0 "</think>"
|
|
107
|
-
turn ::= plan tail-0
|
|
108
|
-
framed-turn ::= turn | "```plurnk\n" turn "\n```"
|
|
100
|
+
turn ::= plan tail-0 | tail-0
|
|
101
|
+
framed-turn ::= turn | "```example\n" turn "\n```" | "```plurnk\n" turn "\n```"
|
|
109
102
|
root-qwen ::= qwen-tail sep framed-turn
|
|
110
103
|
root-qwen-response ::= "<think>\n" root-qwen
|
|
111
|
-
add-tags-slot ::= " " add-tags
|
|
112
|
-
curation-tags-slot ::= " " curation-tags
|
|
113
|
-
log-target-slot ::= " (log:" target-atom+ ")"
|
|
114
104
|
target-slot ::= " " target metadata-slot*
|
|
105
|
+
recipient-slot ::= " (" scheme "://" target-inner ")" metadata-slot*
|
|
106
|
+
scheme ::= [a-z] [a-z0-9+.-]*
|
|
107
|
+
executor-name ::= [0-9A-Za-z_.+-] [0-9A-Za-z_.+-]*
|
|
108
|
+
executor-slot ::= " [" executor-name "]"
|
|
109
|
+
exec-program ::= target-slot | metadata-slot metadata-slot*
|
|
115
110
|
metadata-slot ::= " {" [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r{}]* "}"
|
|
116
111
|
line-slot ::= " " line
|
|
117
112
|
text-line-slot ::= " " text-line
|
|
118
|
-
exec-slot ::= " " exec-sig
|
|
119
|
-
branch-slot ::= " " branch
|
|
120
|
-
kill-slot ::= " " kill-sig
|
|
121
|
-
status-mid-slot ::= " [" status-mid "]"
|
|
122
113
|
park-slot ::= " " park
|
|
123
114
|
annotation-slot ::= " <!-- " annotation-body-ne " -->"
|
|
124
|
-
status-mid ::= [05-9] [0-9] [0-9] | "1" status-mid-1 | "2" status-mid-2 | "3" status-mid-3 | "4" status-mid-4
|
|
125
|
-
status-mid-1 ::= "0" [0-13-9] | [1-9] [0-9]
|
|
126
|
-
status-mid-2 ::= "0" [13-9] | [1-9] [0-9]
|
|
127
|
-
status-mid-3 ::= "0" [0-9] | [1-9] [0-9]
|
|
128
|
-
status-mid-4 ::= "9" [0-8] | [0-8] [0-9]
|
|
129
|
-
add-tags ::= "[" add-tag add-tag-rest* "]"
|
|
130
|
-
curation-tags ::= "[" curation-term curation-term-rest* "]"
|
|
131
|
-
branch ::= "[" [A-Za-z0-9_./-]+ "]"
|
|
132
|
-
tag ::= [A-Za-z0-9_.] [A-Za-z0-9_.+-]*
|
|
133
|
-
add-tag ::= "+" tag
|
|
134
|
-
remove-tag ::= "-" tag
|
|
135
|
-
signed-tag ::= add-tag | remove-tag
|
|
136
|
-
curation-term ::= tag | signed-tag
|
|
137
|
-
add-tag-rest ::= "," add-tag
|
|
138
|
-
curation-term-rest ::= "," curation-term
|
|
139
115
|
target ::= "(" target-inner ")"
|
|
140
116
|
target-inner ::= target-atom+
|
|
141
117
|
target-atom ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\\()<\r\n] | target-escape
|
|
@@ -151,5 +127,3 @@ frac ::= "." [0-9]+
|
|
|
151
127
|
park ::= "<" park-t park-poll? ">"
|
|
152
128
|
park-t ::= "-1" | [0-9]+
|
|
153
129
|
park-poll ::= "," [0-9]+
|
|
154
|
-
exec-sig ::= "[" [a-z] [a-z0-9_-]* "]"
|
|
155
|
-
kill-sig ::= "[" [0-9] [0-9]? "]"
|
|
@@ -4,48 +4,74 @@
|
|
|
4
4
|
"title": "ClientStatement",
|
|
5
5
|
"description": "The client-tier AST returned by PlurnkParser.parseClient: the closed protocol PlurnkStatement union plus read-shaped LOOK and BUFF utility statements.",
|
|
6
6
|
"oneOf": [
|
|
7
|
-
{
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
{
|
|
8
|
+
"$ref": "https://schemas.plurnk.xyz/v0/PlurnkStatement.json"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"$ref": "#/$defs/LookStatement"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"$ref": "#/$defs/BuffStatement"
|
|
15
|
+
}
|
|
10
16
|
],
|
|
11
17
|
"$defs": {
|
|
12
|
-
"TagSignal": {
|
|
13
|
-
"oneOf": [
|
|
14
|
-
{ "type": "array", "items": { "type": "string" } },
|
|
15
|
-
{ "type": "null" }
|
|
16
|
-
]
|
|
17
|
-
},
|
|
18
18
|
"AnnotationOrNull": {
|
|
19
|
-
"type": [
|
|
19
|
+
"type": [
|
|
20
|
+
"string",
|
|
21
|
+
"null"
|
|
22
|
+
]
|
|
20
23
|
},
|
|
21
24
|
"SchemeMetadataOrNull": {
|
|
22
25
|
"oneOf": [
|
|
23
|
-
{
|
|
24
|
-
|
|
26
|
+
{
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "string"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"type": "null"
|
|
34
|
+
}
|
|
25
35
|
]
|
|
26
36
|
},
|
|
27
37
|
"PathOrNull": {
|
|
28
38
|
"oneOf": [
|
|
29
|
-
{
|
|
30
|
-
|
|
39
|
+
{
|
|
40
|
+
"$ref": "https://schemas.plurnk.xyz/v0/ParsedPath.json"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"type": "null"
|
|
44
|
+
}
|
|
31
45
|
]
|
|
32
46
|
},
|
|
33
47
|
"LineMarkerOrNull": {
|
|
34
48
|
"oneOf": [
|
|
35
|
-
{
|
|
36
|
-
|
|
49
|
+
{
|
|
50
|
+
"$ref": "https://schemas.plurnk.xyz/v0/LineMarker.json"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "null"
|
|
54
|
+
}
|
|
37
55
|
]
|
|
38
56
|
},
|
|
39
57
|
"TextLineMarkerOrNull": {
|
|
40
58
|
"oneOf": [
|
|
41
|
-
{
|
|
42
|
-
|
|
59
|
+
{
|
|
60
|
+
"$ref": "https://schemas.plurnk.xyz/v0/TextLineMarker.json"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"type": "null"
|
|
64
|
+
}
|
|
43
65
|
]
|
|
44
66
|
},
|
|
45
67
|
"MatcherBodyOrNull": {
|
|
46
68
|
"oneOf": [
|
|
47
|
-
{
|
|
48
|
-
|
|
69
|
+
{
|
|
70
|
+
"$ref": "https://schemas.plurnk.xyz/v0/MatcherBody.json"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "null"
|
|
74
|
+
}
|
|
49
75
|
]
|
|
50
76
|
},
|
|
51
77
|
"PositionRef": {
|
|
@@ -53,34 +79,82 @@
|
|
|
53
79
|
},
|
|
54
80
|
"LookStatement": {
|
|
55
81
|
"type": "object",
|
|
56
|
-
"required": [
|
|
82
|
+
"required": [
|
|
83
|
+
"op",
|
|
84
|
+
"delimiter",
|
|
85
|
+
"annotation",
|
|
86
|
+
"metadata",
|
|
87
|
+
"target",
|
|
88
|
+
"lineMarker",
|
|
89
|
+
"body",
|
|
90
|
+
"position"
|
|
91
|
+
],
|
|
57
92
|
"additionalProperties": false,
|
|
58
93
|
"properties": {
|
|
59
|
-
"op": {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
|
|
94
|
+
"op": {
|
|
95
|
+
"const": "LOOK"
|
|
96
|
+
},
|
|
97
|
+
"delimiter": {
|
|
98
|
+
"type": "string"
|
|
99
|
+
},
|
|
100
|
+
"annotation": {
|
|
101
|
+
"$ref": "#/$defs/AnnotationOrNull"
|
|
102
|
+
},
|
|
103
|
+
"metadata": {
|
|
104
|
+
"$ref": "#/$defs/SchemeMetadataOrNull"
|
|
105
|
+
},
|
|
106
|
+
"target": {
|
|
107
|
+
"$ref": "#/$defs/PathOrNull"
|
|
108
|
+
},
|
|
109
|
+
"lineMarker": {
|
|
110
|
+
"$ref": "#/$defs/TextLineMarkerOrNull"
|
|
111
|
+
},
|
|
112
|
+
"body": {
|
|
113
|
+
"$ref": "#/$defs/MatcherBodyOrNull"
|
|
114
|
+
},
|
|
115
|
+
"position": {
|
|
116
|
+
"$ref": "#/$defs/PositionRef"
|
|
117
|
+
}
|
|
68
118
|
}
|
|
69
119
|
},
|
|
70
120
|
"BuffStatement": {
|
|
71
121
|
"type": "object",
|
|
72
|
-
"required": [
|
|
122
|
+
"required": [
|
|
123
|
+
"op",
|
|
124
|
+
"delimiter",
|
|
125
|
+
"annotation",
|
|
126
|
+
"metadata",
|
|
127
|
+
"target",
|
|
128
|
+
"lineMarker",
|
|
129
|
+
"body",
|
|
130
|
+
"position"
|
|
131
|
+
],
|
|
73
132
|
"additionalProperties": false,
|
|
74
133
|
"properties": {
|
|
75
|
-
"op": {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
|
|
134
|
+
"op": {
|
|
135
|
+
"const": "BUFF"
|
|
136
|
+
},
|
|
137
|
+
"delimiter": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
},
|
|
140
|
+
"annotation": {
|
|
141
|
+
"$ref": "#/$defs/AnnotationOrNull"
|
|
142
|
+
},
|
|
143
|
+
"metadata": {
|
|
144
|
+
"$ref": "#/$defs/SchemeMetadataOrNull"
|
|
145
|
+
},
|
|
146
|
+
"target": {
|
|
147
|
+
"$ref": "#/$defs/PathOrNull"
|
|
148
|
+
},
|
|
149
|
+
"lineMarker": {
|
|
150
|
+
"$ref": "#/$defs/LineMarkerOrNull"
|
|
151
|
+
},
|
|
152
|
+
"body": {
|
|
153
|
+
"$ref": "#/$defs/MatcherBodyOrNull"
|
|
154
|
+
},
|
|
155
|
+
"position": {
|
|
156
|
+
"$ref": "#/$defs/PositionRef"
|
|
157
|
+
}
|
|
84
158
|
}
|
|
85
159
|
}
|
|
86
160
|
}
|