@plurnk/plurnk-contracts 1.5.0 → 1.6.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 +9 -5
- package/SPEC.md +327 -227
- package/dist/plurnk.gemma.gbnf +160 -0
- package/dist/plurnk.qwen.gbnf +149 -0
- package/dist/schema/ClientStatement.json +7 -1
- package/dist/schema/EntryReadResult.json +1 -9
- package/dist/schema/PlurnkStatement.json +56 -11
- package/dist/schema/ProposalProjection.json +1 -1
- package/dist/schema/ProviderAccounting.json +30 -0
- package/dist/schema/ProviderCost.json +6 -15
- package/dist/schema/ProviderRequestAccounting.json +17 -0
- package/dist/schema/ProviderUsage.json +40 -0
- package/dist/schema/ResourceSelection.json +1 -1
- package/dist/schema/TextLineMarker.json +21 -0
- package/dist/src/AstBuilder.d.ts.map +1 -1
- package/dist/src/AstBuilder.js +108 -20
- package/dist/src/AstBuilder.js.map +1 -1
- package/dist/src/PlurnkErrorStrategy.d.ts +1 -0
- package/dist/src/PlurnkErrorStrategy.d.ts.map +1 -1
- package/dist/src/PlurnkErrorStrategy.js +42 -19
- package/dist/src/PlurnkErrorStrategy.js.map +1 -1
- package/dist/src/PlurnkParser.d.ts.map +1 -1
- package/dist/src/PlurnkParser.js +22 -145
- package/dist/src/PlurnkParser.js.map +1 -1
- package/dist/src/TagSignal.d.ts +15 -0
- package/dist/src/TagSignal.d.ts.map +1 -0
- package/dist/src/TagSignal.js +48 -0
- package/dist/src/TagSignal.js.map +1 -0
- package/dist/src/Validator.d.ts +1 -0
- package/dist/src/Validator.d.ts.map +1 -1
- package/dist/src/Validator.js +7 -0
- package/dist/src/Validator.js.map +1 -1
- package/dist/src/generated/plurnkLexer.d.ts +99 -64
- package/dist/src/generated/plurnkLexer.d.ts.map +1 -1
- package/dist/src/generated/plurnkLexer.js +879 -526
- package/dist/src/generated/plurnkLexer.js.map +1 -1
- package/dist/src/generated/plurnkParser.d.ts +99 -109
- package/dist/src/generated/plurnkParser.d.ts.map +1 -1
- package/dist/src/generated/plurnkParser.js +943 -1070
- package/dist/src/generated/plurnkParser.js.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.d.ts +19 -5
- package/dist/src/generated/plurnkParserVisitor.d.ts.map +1 -1
- package/dist/src/generated/plurnkParserVisitor.js +16 -4
- package/dist/src/generated/plurnkParserVisitor.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- 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 +79 -22
- 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 +3 -2
- package/plurnk.md +140 -96
- package/dist/plurnk.gbnf +0 -394
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# @generated by scriptify/generate-gbnf.ts — do not edit; run `npm run build:gbnf`.
|
|
2
|
+
# @plurnk-response-root root-gemma
|
|
3
|
+
root ::= root-gemma
|
|
4
|
+
section-body-b0 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
5
|
+
section-body-b1 ::= ("#" section-body-b6 | " " section-body-b2 | [PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
6
|
+
section-body-b2 ::= ("#" section-body-b1 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b3 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
7
|
+
section-body-b3 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | "L" section-body-b4 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b5 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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 | [ LANIDTYVX] section-body-b0 | "P" section-body-b3 | "F" section-body-b8 | "R" section-body-b11 | "E" section-body-b14 | "C" section-body-b17 | "O" section-body-b23 | "M" section-body-b20 | "S" section-body-b28 | "B" section-body-b33 | "W" section-body-b36 | "K" section-body-b40 | [^\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-b26 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b10 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
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
|
+
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-b31 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b16 ::= ("#" section-body-b1 | [ PLANFIDRECOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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)?
|
|
22
|
+
section-body-b18 ::= ("#" section-body-b1 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b19 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
23
|
+
section-body-b19 ::= ("#" section-body-b1 | [ PLANFIDRETCOMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
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
|
+
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 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b24 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
28
|
+
section-body-b24 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b25 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
29
|
+
section-body-b25 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
30
|
+
section-body-b26 ::= ("#" section-body-b1 | [ PANFIDETCOYMVSXBWK] section-body-b0 | "L" section-body-b27 | "R" section-body-b39 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
31
|
+
section-body-b27 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
32
|
+
section-body-b28 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b29 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
33
|
+
section-body-b29 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | "N" section-body-b30 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
34
|
+
section-body-b30 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
35
|
+
section-body-b31 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b32 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
36
|
+
section-body-b32 ::= ("#" section-body-b1 | [ PLANFIDRETOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
37
|
+
section-body-b33 ::= ("#" section-body-b1 | [ PLNFIDRETCOYMVSXBWK] section-body-b0 | "A" section-body-b34 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
40
|
+
section-body-b36 ::= ("#" section-body-b1 | [ PLANFIDRETCYMVSXBWK] section-body-b0 | "O" section-body-b37 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
41
|
+
section-body-b37 ::= ("#" section-body-b1 | [ PLANFIDETCOYMVSXBWK] section-body-b0 | "R" section-body-b38 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
42
|
+
section-body-b38 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBW] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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)?
|
|
47
|
+
section-body-ne ::= "#" section-body-b1 | [ PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0
|
|
48
|
+
pattern-body-ne ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r:#] [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r]*
|
|
49
|
+
log-selection ::= (curation-tags-slot log-target-slot? | log-target-slot)?
|
|
50
|
+
plan ::= "# PLAN0" "\n" section-body-ne "\n\n"
|
|
51
|
+
find ::= "## FIND0" add-tags-slot? target-slot line-slot? "\n\n" | "## FIND0" add-tags-slot? target-slot line-slot? "\n" pattern-body-ne "\n\n"
|
|
52
|
+
read ::= "## READ0" add-tags-slot? target-slot text-line-slot? "\n\n" | "## READ0" add-tags-slot? target-slot text-line-slot? "\n" pattern-body-ne "\n\n"
|
|
53
|
+
edit ::= "## EDIT0" add-tags-slot? target-slot text-line-slot? "\n\n" | "## EDIT0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
54
|
+
copy ::= "## COPY0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
55
|
+
move ::= "## MOVE0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
56
|
+
open ::= "## OPEN0" log-selection "\n\n" | "## OPEN0" log-selection "\n" pattern-body-ne "\n\n"
|
|
57
|
+
fold ::= "## FOLD0" log-selection "\n\n" | "## FOLD0" log-selection "\n" pattern-body-ne "\n\n"
|
|
58
|
+
exec ::= "## EXEC0" exec-slot? target-slot? line-slot? "\n\n" | "## EXEC0" exec-slot? target-slot? line-slot? "\n" section-body-ne "\n\n"
|
|
59
|
+
bare ::= "## BARE0" add-tags-slot? "\n" section-body-ne "\n\n"
|
|
60
|
+
work ::= "## WORK0" branch-slot? target-slot "\n" section-body-ne "\n\n"
|
|
61
|
+
fork ::= "## FORK0" branch-slot? target-slot "\n" section-body-ne "\n\n"
|
|
62
|
+
kill ::= "## KILL0" kill-slot? target-slot "\n\n"
|
|
63
|
+
send-mid ::= "## SEND0" status-mid-slot target-slot? "\n\n" | "## SEND0" status-mid-slot target-slot? "\n" section-body-ne "\n\n" | "## SEND0" target-slot? "\n\n" | "## SEND0" target-slot? "\n" section-body-ne "\n\n"
|
|
64
|
+
send-102 ::= "## SEND0 [102]" target-slot? "\n" section-body-ne
|
|
65
|
+
send-200 ::= "## SEND0 [200]" target-slot? "\n" section-body-ne
|
|
66
|
+
send-202 ::= "## SEND0 [202]" target-slot? park-slot? "\n" section-body-ne
|
|
67
|
+
send-300 ::= "## SEND0 [300]" target-slot? "\n" section-body-ne
|
|
68
|
+
send-499 ::= "## SEND0 [499]" target-slot? "\n" section-body-ne
|
|
69
|
+
send-final-any ::= send-102 | send-200 | send-202 | send-300 | send-499
|
|
70
|
+
send-final-first ::= send-200 | send-202 | send-300 | send-499
|
|
71
|
+
op-statement ::= find | read | edit | copy | move | open | fold | exec | bare | work | fork | kill
|
|
72
|
+
tail-0 ::= send-mid tail-1 | op-statement tail-1 | send-final-first
|
|
73
|
+
tail-1 ::= send-mid tail-2 | op-statement tail-2 | send-final-any
|
|
74
|
+
tail-2 ::= send-mid tail-3 | op-statement tail-3 | send-final-any
|
|
75
|
+
tail-3 ::= send-mid tail-4 | op-statement tail-4 | send-final-any
|
|
76
|
+
tail-4 ::= send-mid tail-5 | op-statement tail-5 | send-final-any
|
|
77
|
+
tail-5 ::= send-mid tail-6 | op-statement tail-6 | send-final-any
|
|
78
|
+
tail-6 ::= send-mid tail-7 | op-statement tail-7 | send-final-any
|
|
79
|
+
tail-7 ::= send-mid tail-8 | op-statement tail-8 | send-final-any
|
|
80
|
+
tail-8 ::= send-mid tail-9 | op-statement tail-9 | send-final-any
|
|
81
|
+
tail-9 ::= send-mid tail-10 | op-statement tail-10 | send-final-any
|
|
82
|
+
tail-10 ::= send-mid tail-11 | op-statement tail-11 | send-final-any
|
|
83
|
+
tail-11 ::= send-mid tail-12 | op-statement tail-12 | send-final-any
|
|
84
|
+
tail-12 ::= send-mid tail-13 | op-statement tail-13 | send-final-any
|
|
85
|
+
tail-13 ::= send-mid tail-14 | op-statement tail-14 | send-final-any
|
|
86
|
+
tail-14 ::= send-final-any
|
|
87
|
+
sep ::= [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]?
|
|
88
|
+
rz-chan-b0 ::= ("<" rz-chan-b1 | [|chanel>toug\n] rz-chan-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
89
|
+
rz-chan-b1 ::= ("<" rz-chan-b1 | "|" rz-chan-b2 | "c" rz-chan-b18 | [hanel>toug\n] rz-chan-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
90
|
+
rz-chan-b2 ::= ("<" rz-chan-b1 | [|hanel>toug\n] rz-chan-b0 | "c" rz-chan-b3 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
91
|
+
rz-chan-b3 ::= ("<" rz-chan-b1 | [|canel>toug\n] rz-chan-b0 | "h" rz-chan-b4 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
92
|
+
rz-chan-b4 ::= ("<" rz-chan-b1 | [|chnel>toug\n] rz-chan-b0 | "a" rz-chan-b5 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
93
|
+
rz-chan-b5 ::= ("<" rz-chan-b1 | [|chael>toug\n] rz-chan-b0 | "n" rz-chan-b6 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
94
|
+
rz-chan-b6 ::= ("<" rz-chan-b1 | [|chael>toug\n] rz-chan-b0 | "n" rz-chan-b7 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
95
|
+
rz-chan-b7 ::= ("<" rz-chan-b1 | [|chanl>toug\n] rz-chan-b0 | "e" rz-chan-b8 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
96
|
+
rz-chan-b8 ::= ("<" rz-chan-b1 | [|chane>toug\n] rz-chan-b0 | "l" rz-chan-b9 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
97
|
+
rz-chan-b9 ::= ("<" rz-chan-b1 | [|chaneltoug\n] rz-chan-b0 | ">" rz-chan-b10 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
98
|
+
rz-chan-b10 ::= ("<" rz-chan-b1 | [|chanel>oug\n] rz-chan-b0 | "t" rz-chan-b11 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
99
|
+
rz-chan-b11 ::= ("<" rz-chan-b1 | [|canel>toug\n] rz-chan-b0 | "h" rz-chan-b12 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
100
|
+
rz-chan-b12 ::= ("<" rz-chan-b1 | [|chanel>tug\n] rz-chan-b0 | "o" rz-chan-b13 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
101
|
+
rz-chan-b13 ::= ("<" rz-chan-b1 | [|chanel>tog\n] rz-chan-b0 | "u" rz-chan-b14 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
102
|
+
rz-chan-b14 ::= ("<" rz-chan-b1 | [|chanel>tou\n] rz-chan-b0 | "g" rz-chan-b15 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
103
|
+
rz-chan-b15 ::= ("<" rz-chan-b1 | [|canel>toug\n] rz-chan-b0 | "h" rz-chan-b16 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
104
|
+
rz-chan-b16 ::= ("<" rz-chan-b1 | [|chanel>oug\n] rz-chan-b0 | "t" rz-chan-b17 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
105
|
+
rz-chan-b17 ::= ("<" rz-chan-b1 | [|chanel>toug] rz-chan-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
106
|
+
rz-chan-b18 ::= ("<" rz-chan-b1 | [|canel>toug\n] rz-chan-b0 | "h" rz-chan-b19 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
107
|
+
rz-chan-b19 ::= ("<" rz-chan-b1 | [|chnel>toug\n] rz-chan-b0 | "a" rz-chan-b20 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
108
|
+
rz-chan-b20 ::= ("<" rz-chan-b1 | [|chael>toug\n] rz-chan-b0 | "n" rz-chan-b21 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
109
|
+
rz-chan-b21 ::= ("<" rz-chan-b1 | [|chael>toug\n] rz-chan-b0 | "n" rz-chan-b22 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
110
|
+
rz-chan-b22 ::= ("<" rz-chan-b1 | [|chanl>toug\n] rz-chan-b0 | "e" rz-chan-b23 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
111
|
+
rz-chan-b23 ::= ("<" rz-chan-b1 | [|chane>toug\n] rz-chan-b0 | "l" rz-chan-b24 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
112
|
+
rz-chan-b24 ::= ("<" rz-chan-b1 | "|" rz-chan-b25 | [chanel>toug\n] rz-chan-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
113
|
+
rz-chan-b25 ::= ("<" rz-chan-b1 | [|chaneltoug\n] rz-chan-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<|chanel>toug\n] rz-chan-b0)?
|
|
114
|
+
channel ::= "<|channel>thought\n" rz-chan-b0 "<channel|>"
|
|
115
|
+
turn ::= plan tail-0
|
|
116
|
+
framed-turn ::= turn | "```plurnk\n" turn "\n```"
|
|
117
|
+
root-gemma ::= channel sep framed-turn
|
|
118
|
+
add-tags-slot ::= " " add-tags
|
|
119
|
+
curation-tags-slot ::= " " curation-tags
|
|
120
|
+
log-target-slot ::= " (log:" target-atom+ ")"
|
|
121
|
+
target-slot ::= " " target
|
|
122
|
+
line-slot ::= " " line
|
|
123
|
+
text-line-slot ::= " " text-line
|
|
124
|
+
exec-slot ::= " " exec-sig
|
|
125
|
+
branch-slot ::= " " branch
|
|
126
|
+
kill-slot ::= " " kill-sig
|
|
127
|
+
status-mid-slot ::= " [" status-mid "]"
|
|
128
|
+
park-slot ::= " " park
|
|
129
|
+
status-mid ::= [05-9] [0-9] [0-9] | "1" status-mid-1 | "2" status-mid-2 | "3" status-mid-3 | "4" status-mid-4
|
|
130
|
+
status-mid-1 ::= "0" [0-13-9] | [1-9] [0-9]
|
|
131
|
+
status-mid-2 ::= "0" [13-9] | [1-9] [0-9]
|
|
132
|
+
status-mid-3 ::= "0" [1-9] | [1-9] [0-9]
|
|
133
|
+
status-mid-4 ::= "9" [0-8] | [0-8] [0-9]
|
|
134
|
+
add-tags ::= "[" add-tag add-tag-rest* "]"
|
|
135
|
+
curation-tags ::= "[" curation-term curation-term-rest* "]"
|
|
136
|
+
branch ::= "[" [A-Za-z0-9_./-]+ "]"
|
|
137
|
+
tag ::= [A-Za-z0-9_.] [A-Za-z0-9_.+-]*
|
|
138
|
+
add-tag ::= "+" tag
|
|
139
|
+
remove-tag ::= "-" tag
|
|
140
|
+
signed-tag ::= add-tag | remove-tag
|
|
141
|
+
curation-term ::= tag | signed-tag
|
|
142
|
+
add-tag-rest ::= "," add-tag
|
|
143
|
+
curation-term-rest ::= "," curation-term
|
|
144
|
+
target ::= "(" target-inner ")"
|
|
145
|
+
target-inner ::= target-atom+
|
|
146
|
+
target-atom ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\\()<\r\n] | target-escape
|
|
147
|
+
target-escape ::= "\\\\" | "\\(" | "\\)"
|
|
148
|
+
line ::= "<" int line-rest* ">"
|
|
149
|
+
line-rest ::= "," int
|
|
150
|
+
text-line ::= "<" text-coordinate text-line-rest* ">"
|
|
151
|
+
text-line-rest ::= "," text-coordinate
|
|
152
|
+
text-coordinate ::= int | line-anchor
|
|
153
|
+
line-anchor ::= "@" [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z]
|
|
154
|
+
int ::= "-"? [0-9]+ frac?
|
|
155
|
+
frac ::= "." [0-9]+
|
|
156
|
+
park ::= "<" park-t park-poll? ">"
|
|
157
|
+
park-t ::= "-1" | [0-9]+
|
|
158
|
+
park-poll ::= "," [0-9]+
|
|
159
|
+
exec-sig ::= "[" [a-z] [a-z0-9_-]* "]"
|
|
160
|
+
kill-sig ::= "[" [0-9] [0-9]? "]"
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# @generated by scriptify/generate-gbnf.ts — do not edit; run `npm run build:gbnf`.
|
|
2
|
+
# @plurnk-response-root root-qwen-response
|
|
3
|
+
root ::= root-qwen
|
|
4
|
+
section-body-b0 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
5
|
+
section-body-b1 ::= ("#" section-body-b6 | " " section-body-b2 | [PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
6
|
+
section-body-b2 ::= ("#" section-body-b1 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b3 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
7
|
+
section-body-b3 ::= ("#" section-body-b1 | [ PANFIDRETCOYMVSXBWK] section-body-b0 | "L" section-body-b4 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b5 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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 | [ LANIDTYVX] section-body-b0 | "P" section-body-b3 | "F" section-body-b8 | "R" section-body-b11 | "E" section-body-b14 | "C" section-body-b17 | "O" section-body-b23 | "M" section-body-b20 | "S" section-body-b28 | "B" section-body-b33 | "W" section-body-b36 | "K" section-body-b40 | [^\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-b26 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b10 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
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
|
+
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-b31 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
section-body-b16 ::= ("#" section-body-b1 | [ PLANFIDRECOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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)?
|
|
22
|
+
section-body-b18 ::= ("#" section-body-b1 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b19 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
23
|
+
section-body-b19 ::= ("#" section-body-b1 | [ PLANFIDRETCOMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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
|
+
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
|
+
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 | [ LANFIDRETCOYMVSXBWK] section-body-b0 | "P" section-body-b24 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
28
|
+
section-body-b24 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b25 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
29
|
+
section-body-b25 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
30
|
+
section-body-b26 ::= ("#" section-body-b1 | [ PANFIDETCOYMVSXBWK] section-body-b0 | "L" section-body-b27 | "R" section-body-b39 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
31
|
+
section-body-b27 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
32
|
+
section-body-b28 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b29 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
33
|
+
section-body-b29 ::= ("#" section-body-b1 | [ PLAFIDRETCOYMVSXBWK] section-body-b0 | "N" section-body-b30 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
34
|
+
section-body-b30 ::= ("#" section-body-b1 | [ PLANFIRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
35
|
+
section-body-b31 ::= ("#" section-body-b1 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | "E" section-body-b32 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
36
|
+
section-body-b32 ::= ("#" section-body-b1 | [ PLANFIDRETOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
37
|
+
section-body-b33 ::= ("#" section-body-b1 | [ PLNFIDRETCOYMVSXBWK] section-body-b0 | "A" section-body-b34 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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 | [ PLANFIDRTCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
40
|
+
section-body-b36 ::= ("#" section-body-b1 | [ PLANFIDRETCYMVSXBWK] section-body-b0 | "O" section-body-b37 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
41
|
+
section-body-b37 ::= ("#" section-body-b1 | [ PLANFIDETCOYMVSXBWK] section-body-b0 | "R" section-body-b38 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
42
|
+
section-body-b38 ::= ("#" section-body-b1 | [ PLANFIDRETCOYMVSXBW] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0)?
|
|
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)?
|
|
47
|
+
section-body-ne ::= "#" section-body-b1 | [ PLANFIDRETCOYMVSXBWK] section-body-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F# PLANFIDRETCOYMVSXBWK] section-body-b0
|
|
48
|
+
pattern-body-ne ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r:#] [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\n\r]*
|
|
49
|
+
log-selection ::= (curation-tags-slot log-target-slot? | log-target-slot)?
|
|
50
|
+
plan ::= "# PLAN0" "\n" section-body-ne "\n\n"
|
|
51
|
+
find ::= "## FIND0" add-tags-slot? target-slot line-slot? "\n\n" | "## FIND0" add-tags-slot? target-slot line-slot? "\n" pattern-body-ne "\n\n"
|
|
52
|
+
read ::= "## READ0" add-tags-slot? target-slot text-line-slot? "\n\n" | "## READ0" add-tags-slot? target-slot text-line-slot? "\n" pattern-body-ne "\n\n"
|
|
53
|
+
edit ::= "## EDIT0" add-tags-slot? target-slot text-line-slot? "\n\n" | "## EDIT0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
54
|
+
copy ::= "## COPY0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
55
|
+
move ::= "## MOVE0" add-tags-slot? target-slot text-line-slot? "\n" section-body-ne "\n\n"
|
|
56
|
+
open ::= "## OPEN0" log-selection "\n\n" | "## OPEN0" log-selection "\n" pattern-body-ne "\n\n"
|
|
57
|
+
fold ::= "## FOLD0" log-selection "\n\n" | "## FOLD0" log-selection "\n" pattern-body-ne "\n\n"
|
|
58
|
+
exec ::= "## EXEC0" exec-slot? target-slot? line-slot? "\n\n" | "## EXEC0" exec-slot? target-slot? line-slot? "\n" section-body-ne "\n\n"
|
|
59
|
+
bare ::= "## BARE0" add-tags-slot? "\n" section-body-ne "\n\n"
|
|
60
|
+
work ::= "## WORK0" branch-slot? target-slot "\n" section-body-ne "\n\n"
|
|
61
|
+
fork ::= "## FORK0" branch-slot? target-slot "\n" section-body-ne "\n\n"
|
|
62
|
+
kill ::= "## KILL0" kill-slot? target-slot "\n\n"
|
|
63
|
+
send-mid ::= "## SEND0" status-mid-slot target-slot? "\n\n" | "## SEND0" status-mid-slot target-slot? "\n" section-body-ne "\n\n" | "## SEND0" target-slot? "\n\n" | "## SEND0" target-slot? "\n" section-body-ne "\n\n"
|
|
64
|
+
send-102 ::= "## SEND0 [102]" target-slot? "\n" section-body-ne
|
|
65
|
+
send-200 ::= "## SEND0 [200]" target-slot? "\n" section-body-ne
|
|
66
|
+
send-202 ::= "## SEND0 [202]" target-slot? park-slot? "\n" section-body-ne
|
|
67
|
+
send-300 ::= "## SEND0 [300]" target-slot? "\n" section-body-ne
|
|
68
|
+
send-499 ::= "## SEND0 [499]" target-slot? "\n" section-body-ne
|
|
69
|
+
send-final-any ::= send-102 | send-200 | send-202 | send-300 | send-499
|
|
70
|
+
send-final-first ::= send-200 | send-202 | send-300 | send-499
|
|
71
|
+
op-statement ::= find | read | edit | copy | move | open | fold | exec | bare | work | fork | kill
|
|
72
|
+
tail-0 ::= send-mid tail-1 | op-statement tail-1 | send-final-first
|
|
73
|
+
tail-1 ::= send-mid tail-2 | op-statement tail-2 | send-final-any
|
|
74
|
+
tail-2 ::= send-mid tail-3 | op-statement tail-3 | send-final-any
|
|
75
|
+
tail-3 ::= send-mid tail-4 | op-statement tail-4 | send-final-any
|
|
76
|
+
tail-4 ::= send-mid tail-5 | op-statement tail-5 | send-final-any
|
|
77
|
+
tail-5 ::= send-mid tail-6 | op-statement tail-6 | send-final-any
|
|
78
|
+
tail-6 ::= send-mid tail-7 | op-statement tail-7 | send-final-any
|
|
79
|
+
tail-7 ::= send-mid tail-8 | op-statement tail-8 | send-final-any
|
|
80
|
+
tail-8 ::= send-mid tail-9 | op-statement tail-9 | send-final-any
|
|
81
|
+
tail-9 ::= send-mid tail-10 | op-statement tail-10 | send-final-any
|
|
82
|
+
tail-10 ::= send-mid tail-11 | op-statement tail-11 | send-final-any
|
|
83
|
+
tail-11 ::= send-mid tail-12 | op-statement tail-12 | send-final-any
|
|
84
|
+
tail-12 ::= send-mid tail-13 | op-statement tail-13 | send-final-any
|
|
85
|
+
tail-13 ::= send-mid tail-14 | op-statement tail-14 | send-final-any
|
|
86
|
+
tail-14 ::= send-final-any
|
|
87
|
+
sep ::= [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]? [ \t\r\n]?
|
|
88
|
+
rz-think-b0 ::= ("<" rz-think-b1 | [think>\n/] rz-think-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
89
|
+
rz-think-b1 ::= ("<" rz-think-b1 | "t" rz-think-b2 | [hink>\n] rz-think-b0 | "/" rz-think-b8 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
90
|
+
rz-think-b2 ::= ("<" rz-think-b1 | [tink>\n/] rz-think-b0 | "h" rz-think-b3 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
91
|
+
rz-think-b3 ::= ("<" rz-think-b1 | [thnk>\n/] rz-think-b0 | "i" rz-think-b4 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
92
|
+
rz-think-b4 ::= ("<" rz-think-b1 | [thik>\n/] rz-think-b0 | "n" rz-think-b5 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
93
|
+
rz-think-b5 ::= ("<" rz-think-b1 | [thin>\n/] rz-think-b0 | "k" rz-think-b6 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
94
|
+
rz-think-b6 ::= ("<" rz-think-b1 | [think\n/] rz-think-b0 | ">" rz-think-b7 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
95
|
+
rz-think-b7 ::= ("<" rz-think-b1 | [think>/] rz-think-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
96
|
+
rz-think-b8 ::= ("<" rz-think-b1 | "t" rz-think-b9 | [hink>\n/] rz-think-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
97
|
+
rz-think-b9 ::= ("<" rz-think-b1 | [tink>\n/] rz-think-b0 | "h" rz-think-b10 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
98
|
+
rz-think-b10 ::= ("<" rz-think-b1 | [thnk>\n/] rz-think-b0 | "i" rz-think-b11 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
99
|
+
rz-think-b11 ::= ("<" rz-think-b1 | [thik>\n/] rz-think-b0 | "n" rz-think-b12 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
100
|
+
rz-think-b12 ::= ("<" rz-think-b1 | [thin>\n/] rz-think-b0 | "k" rz-think-b13 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
101
|
+
rz-think-b13 ::= ("<" rz-think-b1 | [think\n/] rz-think-b0 | [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F<think>\n/] rz-think-b0)?
|
|
102
|
+
qwen-tail ::= rz-think-b0 "</think>"
|
|
103
|
+
turn ::= plan tail-0
|
|
104
|
+
framed-turn ::= turn | "```plurnk\n" turn "\n```"
|
|
105
|
+
root-qwen ::= qwen-tail sep framed-turn
|
|
106
|
+
root-qwen-response ::= "<think>\n" root-qwen
|
|
107
|
+
add-tags-slot ::= " " add-tags
|
|
108
|
+
curation-tags-slot ::= " " curation-tags
|
|
109
|
+
log-target-slot ::= " (log:" target-atom+ ")"
|
|
110
|
+
target-slot ::= " " target
|
|
111
|
+
line-slot ::= " " line
|
|
112
|
+
text-line-slot ::= " " text-line
|
|
113
|
+
exec-slot ::= " " exec-sig
|
|
114
|
+
branch-slot ::= " " branch
|
|
115
|
+
kill-slot ::= " " kill-sig
|
|
116
|
+
status-mid-slot ::= " [" status-mid "]"
|
|
117
|
+
park-slot ::= " " park
|
|
118
|
+
status-mid ::= [05-9] [0-9] [0-9] | "1" status-mid-1 | "2" status-mid-2 | "3" status-mid-3 | "4" status-mid-4
|
|
119
|
+
status-mid-1 ::= "0" [0-13-9] | [1-9] [0-9]
|
|
120
|
+
status-mid-2 ::= "0" [13-9] | [1-9] [0-9]
|
|
121
|
+
status-mid-3 ::= "0" [1-9] | [1-9] [0-9]
|
|
122
|
+
status-mid-4 ::= "9" [0-8] | [0-8] [0-9]
|
|
123
|
+
add-tags ::= "[" add-tag add-tag-rest* "]"
|
|
124
|
+
curation-tags ::= "[" curation-term curation-term-rest* "]"
|
|
125
|
+
branch ::= "[" [A-Za-z0-9_./-]+ "]"
|
|
126
|
+
tag ::= [A-Za-z0-9_.] [A-Za-z0-9_.+-]*
|
|
127
|
+
add-tag ::= "+" tag
|
|
128
|
+
remove-tag ::= "-" tag
|
|
129
|
+
signed-tag ::= add-tag | remove-tag
|
|
130
|
+
curation-term ::= tag | signed-tag
|
|
131
|
+
add-tag-rest ::= "," add-tag
|
|
132
|
+
curation-term-rest ::= "," curation-term
|
|
133
|
+
target ::= "(" target-inner ")"
|
|
134
|
+
target-inner ::= target-atom+
|
|
135
|
+
target-atom ::= [^\x00-\x08\x0B-\x0C\x0E-\x1F\x7F\\()<\r\n] | target-escape
|
|
136
|
+
target-escape ::= "\\\\" | "\\(" | "\\)"
|
|
137
|
+
line ::= "<" int line-rest* ">"
|
|
138
|
+
line-rest ::= "," int
|
|
139
|
+
text-line ::= "<" text-coordinate text-line-rest* ">"
|
|
140
|
+
text-line-rest ::= "," text-coordinate
|
|
141
|
+
text-coordinate ::= int | line-anchor
|
|
142
|
+
line-anchor ::= "@" [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z] [0-9A-Za-z]
|
|
143
|
+
int ::= "-"? [0-9]+ frac?
|
|
144
|
+
frac ::= "." [0-9]+
|
|
145
|
+
park ::= "<" park-t park-poll? ">"
|
|
146
|
+
park-t ::= "-1" | [0-9]+
|
|
147
|
+
park-poll ::= "," [0-9]+
|
|
148
|
+
exec-sig ::= "[" [a-z] [a-z0-9_-]* "]"
|
|
149
|
+
kill-sig ::= "[" [0-9] [0-9]? "]"
|
|
@@ -27,6 +27,12 @@
|
|
|
27
27
|
{ "type": "null" }
|
|
28
28
|
]
|
|
29
29
|
},
|
|
30
|
+
"TextLineMarkerOrNull": {
|
|
31
|
+
"oneOf": [
|
|
32
|
+
{ "$ref": "https://schemas.plurnk.dev/v0/TextLineMarker.json" },
|
|
33
|
+
{ "type": "null" }
|
|
34
|
+
]
|
|
35
|
+
},
|
|
30
36
|
"MatcherBodyOrNull": {
|
|
31
37
|
"oneOf": [
|
|
32
38
|
{ "$ref": "https://schemas.plurnk.dev/v0/MatcherBody.json" },
|
|
@@ -45,7 +51,7 @@
|
|
|
45
51
|
"suffix": { "type": "string" },
|
|
46
52
|
"signal": { "$ref": "#/$defs/TagSignal" },
|
|
47
53
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
48
|
-
"lineMarker": { "$ref": "#/$defs/
|
|
54
|
+
"lineMarker": { "$ref": "#/$defs/TextLineMarkerOrNull" },
|
|
49
55
|
"body": { "$ref": "#/$defs/MatcherBodyOrNull" },
|
|
50
56
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
51
57
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"entry": {
|
|
33
33
|
"title": "ClientEntry",
|
|
34
34
|
"type": "object",
|
|
35
|
-
"required": ["entryId", "target", "channels"
|
|
35
|
+
"required": ["entryId", "target", "channels"],
|
|
36
36
|
"additionalProperties": false,
|
|
37
37
|
"properties": {
|
|
38
38
|
"entryId": {
|
|
@@ -48,14 +48,6 @@
|
|
|
48
48
|
"type": "object",
|
|
49
49
|
"propertyNames": { "minLength": 1 },
|
|
50
50
|
"additionalProperties": { "$ref": "#/$defs/channel" }
|
|
51
|
-
},
|
|
52
|
-
"tags": {
|
|
53
|
-
"type": "array",
|
|
54
|
-
"uniqueItems": true,
|
|
55
|
-
"items": {
|
|
56
|
-
"type": "string",
|
|
57
|
-
"minLength": 1
|
|
58
|
-
}
|
|
59
51
|
}
|
|
60
52
|
}
|
|
61
53
|
},
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
{ "$ref": "#/$defs/MoveStatement" },
|
|
14
14
|
{ "$ref": "#/$defs/SendStatement" },
|
|
15
15
|
{ "$ref": "#/$defs/ExecStatement" },
|
|
16
|
+
{ "$ref": "#/$defs/BareStatement" },
|
|
16
17
|
{ "$ref": "#/$defs/WorkStatement" },
|
|
17
18
|
{ "$ref": "#/$defs/ForkStatement" },
|
|
18
19
|
{ "$ref": "#/$defs/KillStatement" },
|
|
@@ -25,6 +26,30 @@
|
|
|
25
26
|
{ "type": "null" }
|
|
26
27
|
]
|
|
27
28
|
},
|
|
29
|
+
"AppliedTagSignal": {
|
|
30
|
+
"oneOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"pattern": "^\\+?[^+\\-\\[\\],\\s\\u0000-\\u001F\\u007F-\\u009F][^\\[\\],\\s\\u0000-\\u001F\\u007F-\\u009F]*$"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{ "type": "null" }
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"CurationTagSignal": {
|
|
42
|
+
"oneOf": [
|
|
43
|
+
{
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"pattern": "^[+-]?[^+\\-\\[\\],\\s\\u0000-\\u001F\\u007F-\\u009F][^\\[\\],\\s\\u0000-\\u001F\\u007F-\\u009F]*$"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{ "type": "null" }
|
|
51
|
+
]
|
|
52
|
+
},
|
|
28
53
|
"PathOrNull": {
|
|
29
54
|
"oneOf": [
|
|
30
55
|
{ "$ref": "https://schemas.plurnk.dev/v0/ParsedPath.json" },
|
|
@@ -37,6 +62,12 @@
|
|
|
37
62
|
{ "type": "null" }
|
|
38
63
|
]
|
|
39
64
|
},
|
|
65
|
+
"TextLineMarkerOrNull": {
|
|
66
|
+
"oneOf": [
|
|
67
|
+
{ "$ref": "https://schemas.plurnk.dev/v0/TextLineMarker.json" },
|
|
68
|
+
{ "type": "null" }
|
|
69
|
+
]
|
|
70
|
+
},
|
|
40
71
|
"MatcherBodyOrNull": {
|
|
41
72
|
"oneOf": [
|
|
42
73
|
{ "$ref": "https://schemas.plurnk.dev/v0/MatcherBody.json" },
|
|
@@ -65,7 +96,7 @@
|
|
|
65
96
|
"properties": {
|
|
66
97
|
"op": { "const": "FIND" },
|
|
67
98
|
"suffix": { "type": "string" },
|
|
68
|
-
"signal": { "$ref": "#/$defs/
|
|
99
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
69
100
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
70
101
|
"lineMarker": { "$ref": "#/$defs/LineMarkerOrNull" },
|
|
71
102
|
"body": { "$ref": "#/$defs/MatcherBodyOrNull" },
|
|
@@ -79,9 +110,9 @@
|
|
|
79
110
|
"properties": {
|
|
80
111
|
"op": { "const": "READ" },
|
|
81
112
|
"suffix": { "type": "string" },
|
|
82
|
-
"signal": { "$ref": "#/$defs/
|
|
113
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
83
114
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
84
|
-
"lineMarker": { "$ref": "#/$defs/
|
|
115
|
+
"lineMarker": { "$ref": "#/$defs/TextLineMarkerOrNull" },
|
|
85
116
|
"body": { "type": "null" },
|
|
86
117
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
87
118
|
}
|
|
@@ -93,7 +124,7 @@
|
|
|
93
124
|
"properties": {
|
|
94
125
|
"op": { "const": "OPEN" },
|
|
95
126
|
"suffix": { "type": "string" },
|
|
96
|
-
"signal": { "$ref": "#/$defs/
|
|
127
|
+
"signal": { "$ref": "#/$defs/CurationTagSignal" },
|
|
97
128
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
98
129
|
"lineMarker": { "type": "null" },
|
|
99
130
|
"body": { "$ref": "#/$defs/MatcherBodyOrNull" },
|
|
@@ -107,7 +138,7 @@
|
|
|
107
138
|
"properties": {
|
|
108
139
|
"op": { "const": "FOLD" },
|
|
109
140
|
"suffix": { "type": "string" },
|
|
110
|
-
"signal": { "$ref": "#/$defs/
|
|
141
|
+
"signal": { "$ref": "#/$defs/CurationTagSignal" },
|
|
111
142
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
112
143
|
"lineMarker": { "type": "null" },
|
|
113
144
|
"body": { "$ref": "#/$defs/MatcherBodyOrNull" },
|
|
@@ -121,9 +152,9 @@
|
|
|
121
152
|
"properties": {
|
|
122
153
|
"op": { "const": "EDIT" },
|
|
123
154
|
"suffix": { "type": "string" },
|
|
124
|
-
"signal": { "$ref": "#/$defs/
|
|
155
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
125
156
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
126
|
-
"lineMarker": { "$ref": "#/$defs/
|
|
157
|
+
"lineMarker": { "$ref": "#/$defs/TextLineMarkerOrNull" },
|
|
127
158
|
"body": { "type": ["string", "null"] },
|
|
128
159
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
129
160
|
}
|
|
@@ -135,9 +166,9 @@
|
|
|
135
166
|
"properties": {
|
|
136
167
|
"op": { "const": "COPY" },
|
|
137
168
|
"suffix": { "type": "string" },
|
|
138
|
-
"signal": { "$ref": "#/$defs/
|
|
169
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
139
170
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
140
|
-
"lineMarker": { "$ref": "#/$defs/
|
|
171
|
+
"lineMarker": { "$ref": "#/$defs/TextLineMarkerOrNull" },
|
|
141
172
|
"body": { "$ref": "#/$defs/ResourceSelectionOrNull" },
|
|
142
173
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
143
174
|
}
|
|
@@ -149,9 +180,9 @@
|
|
|
149
180
|
"properties": {
|
|
150
181
|
"op": { "const": "MOVE" },
|
|
151
182
|
"suffix": { "type": "string" },
|
|
152
|
-
"signal": { "$ref": "#/$defs/
|
|
183
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
153
184
|
"target": { "$ref": "#/$defs/PathOrNull" },
|
|
154
|
-
"lineMarker": { "$ref": "#/$defs/
|
|
185
|
+
"lineMarker": { "$ref": "#/$defs/TextLineMarkerOrNull" },
|
|
155
186
|
"body": { "$ref": "#/$defs/ResourceSelectionOrNull" },
|
|
156
187
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
157
188
|
}
|
|
@@ -189,6 +220,20 @@
|
|
|
189
220
|
"position": { "$ref": "#/$defs/PositionRef" }
|
|
190
221
|
}
|
|
191
222
|
},
|
|
223
|
+
"BareStatement": {
|
|
224
|
+
"type": "object",
|
|
225
|
+
"required": ["op", "suffix", "signal", "target", "lineMarker", "body", "position"],
|
|
226
|
+
"additionalProperties": false,
|
|
227
|
+
"properties": {
|
|
228
|
+
"op": { "const": "BARE" },
|
|
229
|
+
"suffix": { "type": "string" },
|
|
230
|
+
"signal": { "$ref": "#/$defs/AppliedTagSignal" },
|
|
231
|
+
"target": { "type": "null" },
|
|
232
|
+
"lineMarker": { "type": "null" },
|
|
233
|
+
"body": { "type": "string", "minLength": 1 },
|
|
234
|
+
"position": { "$ref": "#/$defs/PositionRef" }
|
|
235
|
+
}
|
|
236
|
+
},
|
|
192
237
|
"PlanStatement": {
|
|
193
238
|
"type": "object",
|
|
194
239
|
"required": ["op", "suffix", "signal", "target", "lineMarker", "body", "position"],
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"loopId": { "type": "integer", "minimum": 1 },
|
|
25
25
|
"turnId": { "type": "integer", "minimum": 1 },
|
|
26
26
|
"op": {
|
|
27
|
-
"enum": ["FIND", "READ", "EDIT", "COPY", "MOVE", "OPEN", "FOLD", "SEND", "EXEC", "WORK", "FORK", "KILL", "PLAN"]
|
|
27
|
+
"enum": ["FIND", "READ", "EDIT", "COPY", "MOVE", "OPEN", "FOLD", "SEND", "EXEC", "BARE", "WORK", "FORK", "KILL", "PLAN"]
|
|
28
28
|
},
|
|
29
29
|
"target": {
|
|
30
30
|
"type": "object",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.plurnk.dev/ProviderAccounting.json",
|
|
4
|
+
"title": "ProviderAccounting",
|
|
5
|
+
"description": "Ordered physical provider-request evidence and its deterministic aggregate projection.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["requests", "usage", "costUsd"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"requests": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"items": { "$ref": "https://schemas.plurnk.dev/ProviderRequestAccounting.json" }
|
|
13
|
+
},
|
|
14
|
+
"usage": {
|
|
15
|
+
"oneOf": [
|
|
16
|
+
{ "$ref": "https://schemas.plurnk.dev/ProviderUsage.json" },
|
|
17
|
+
{ "type": "null" }
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"costUsd": {
|
|
21
|
+
"oneOf": [
|
|
22
|
+
{
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]+)?$"
|
|
25
|
+
},
|
|
26
|
+
{ "type": "null" }
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://plurnk.dev/
|
|
3
|
+
"$id": "https://schemas.plurnk.dev/ProviderCost.json",
|
|
4
4
|
"title": "ProviderCost",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "Normalized monetary evidence for one physical provider request. Unknown is never represented as zero.",
|
|
6
6
|
"oneOf": [
|
|
7
7
|
{
|
|
8
8
|
"type": "object",
|
|
9
9
|
"additionalProperties": false,
|
|
10
|
-
"required": ["kind", "amount", "
|
|
10
|
+
"required": ["kind", "amount", "source"],
|
|
11
11
|
"properties": {
|
|
12
|
-
"kind": { "const": "
|
|
12
|
+
"kind": { "const": "charged" },
|
|
13
13
|
"amount": { "$ref": "#/$defs/MonetaryAmount" },
|
|
14
14
|
"usdEquivalent": { "$ref": "#/$defs/DecimalAmount" },
|
|
15
15
|
"source": { "$ref": "#/$defs/NonEmptyString" }
|
|
@@ -18,19 +18,10 @@
|
|
|
18
18
|
{
|
|
19
19
|
"type": "object",
|
|
20
20
|
"additionalProperties": false,
|
|
21
|
-
"required": ["kind", "
|
|
21
|
+
"required": ["kind", "amount", "source"],
|
|
22
22
|
"properties": {
|
|
23
23
|
"kind": { "const": "estimated" },
|
|
24
|
-
"
|
|
25
|
-
"source": { "$ref": "#/$defs/NonEmptyString" }
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"type": "object",
|
|
30
|
-
"additionalProperties": false,
|
|
31
|
-
"required": ["kind", "source"],
|
|
32
|
-
"properties": {
|
|
33
|
-
"kind": { "const": "free" },
|
|
24
|
+
"amount": { "$ref": "#/$defs/MonetaryAmount" },
|
|
34
25
|
"source": { "$ref": "#/$defs/NonEmptyString" }
|
|
35
26
|
}
|
|
36
27
|
},
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.plurnk.dev/ProviderRequestAccounting.json",
|
|
4
|
+
"title": "ProviderRequestAccounting",
|
|
5
|
+
"description": "The normalized accounting disposition of one physical provider request.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": ["provider", "model", "outcome", "cost"],
|
|
9
|
+
"properties": {
|
|
10
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
11
|
+
"model": { "type": "string", "minLength": 1 },
|
|
12
|
+
"outcome": { "enum": ["response", "error"] },
|
|
13
|
+
"status": { "type": "integer", "minimum": 100, "maximum": 599 },
|
|
14
|
+
"usage": { "$ref": "https://schemas.plurnk.dev/ProviderUsage.json" },
|
|
15
|
+
"cost": { "$ref": "https://schemas.plurnk.dev/ProviderCost.json" }
|
|
16
|
+
}
|
|
17
|
+
}
|