Add explicit CRDT edit contracts and structured query values

This commit is contained in:
Timothy J. Aveni
2026-09-19 22:33:20 -07:00
parent 0555c929b1
commit 4c0c404a39
27 changed files with 3272 additions and 2745 deletions
@@ -1,283 +1,285 @@
CREATION=1
INITIALIZE=2
WORKSPACE=3
EXECUTION=4
SNAPSHOT=5
TRANSACTION=6
REMOTE=7
TARGETS=8
PORTABLE=9
REPLICA=10
LOCAL=11
FROM=12
RESULT_BYTES=13
RPC_CALLS=14
DEADLINE_MS=15
QUERY=16
REFLECTION=17
SPECIALIZE=18
ROOT=19
DOCUMENT=20
FRAGMENTS=21
VIEW=22
MAX=23
ALLOW=24
POLL=25
QUERYABLE=26
RPC=27
QUERY_REASON=28
TYPE=29
OBJECT=30
STORABLE=31
IMPLEMENTS=32
REF=33
FRAGMENT=34
IMPORT=35
EXTERNAL=36
ATOM=37
INTERFACE=38
INTERFACES=39
PACKAGE=40
VALUE=41
RELATION=42
OPERATION=43
FUNCTION=44
CONSTRUCTOR=45
CONSTRUCTS=46
INPUT=47
CONFORM=48
AS=49
BIND=50
STATIC=51
TO=52
PRIVATE=53
SHARED=54
STATE=55
EDGE=56
PROJECTION=57
WITH=58
USING=59
VIA=60
MATERIALIZE=61
IF=62
ABSENT=63
ON=64
POLICY=65
DEFAULT=66
SOURCE=67
REPOSITORY=68
COMMIT=69
REVISION=70
SEMANTIC_MAJOR=71
ON_DELETE=72
RETAIN_OTHER=73
KEYED=74
PUBLIC_TRAVERSAL=75
ID=76
DOC=77
MODE=78
EMITS=79
RECEIVER=80
REQUIRES=81
ANY=82
GET=83
SET=84
WATCH=85
START=86
STOP=87
READ=88
WRITE=89
RESOLVE=90
CONNECT=91
DISCONNECT=92
CALL=93
WATCH_START=94
WATCH_STOP=95
SUBSCRIBE=96
UNSUBSCRIBE=97
REGISTER=98
CRDT=99
OPTIONAL_ONE=100
EXACTLY_ONE=101
MANY_UNIQUE=102
MANY=103
ORDERED=104
UNIT=105
WATCH_HANDLE=106
MESSAGE=107
ATOM_REF=108
INTERFACE_REF=109
OPTIONAL=110
LIST=111
RECORD=112
BOOL=113
BYTES=114
DOUBLE=115
INT32=116
INT64=117
STRING=118
UINT32=119
UINT64=120
TRUE=121
FALSE=122
NULL=123
ARROW=124
COLON=125
SEMI=126
COMMA=127
DOT=128
LBRACE=129
RBRACE=130
LBRACK=131
RBRACK=132
LPAREN=133
RPAREN=134
LT=135
GT=136
AMP=137
EQUAL=138
INTEGER=139
JSON_NUMBER=140
IDENTIFIER=141
STRING_LITERAL=142
LINE_COMMENT=143
BLOCK_COMMENT=144
WS=145
'creation'=1
'initialize'=2
'workspace'=3
'execution'=4
'snapshot'=5
'transaction'=6
'remote'=7
'targets'=8
'portable'=9
'replica'=10
'local'=11
'from'=12
'result-bytes'=13
'rpc-calls'=14
'deadline-ms'=15
'query'=16
'reflection'=17
'specialize'=18
'root'=19
'document'=20
'fragments'=21
'view'=22
'max'=23
'allow'=24
'poll'=25
'queryable'=26
'rpc'=27
'query-reason'=28
'type'=29
'object'=30
'storable'=31
'implements'=32
'ref'=33
'fragment'=34
'import'=35
'external'=36
'atom'=37
'interface'=38
'interfaces'=39
'package'=40
'value'=41
'relation'=42
'operation'=43
'function'=44
'constructor'=45
'constructs'=46
'input'=47
'conform'=48
'as'=49
'bind'=50
'static'=51
'to'=52
'private'=53
'shared'=54
'state'=55
'edge'=56
'projection'=57
'with'=58
'using'=59
'via'=60
'materialize'=61
'if'=62
'absent'=63
'on'=64
'policy'=65
'default'=66
'source'=67
'repository'=68
'commit'=69
'revision'=70
'semantic-major'=71
'on-delete'=72
'retain-other'=73
'keyed'=74
'public-traversal'=75
'id'=76
'doc'=77
'mode'=78
'emits'=79
'receiver'=80
'requires'=81
'any'=82
'get'=83
'set'=84
'watch'=85
'start'=86
'stop'=87
'read'=88
'write'=89
'resolve'=90
'connect'=91
'disconnect'=92
'call'=93
'watch-start'=94
'watch-stop'=95
'subscribe'=96
'unsubscribe'=97
'register'=98
'crdt'=99
'optional-one'=100
'exactly-one'=101
'many-unique'=102
'many'=103
'ordered'=104
'unit'=105
'watch-handle'=106
'message'=107
'atom-ref'=108
'interface-ref'=109
'optional'=110
'list'=111
'record'=112
'bool'=113
'bytes'=114
'double'=115
'int32'=116
'int64'=117
'string'=118
'uint32'=119
'uint64'=120
'true'=121
'false'=122
'null'=123
'->'=124
':'=125
';'=126
','=127
'.'=128
'{'=129
'}'=130
'['=131
']'=132
'('=133
')'=134
'<'=135
'>'=136
'&'=137
'='=138
EDIT=1
CREATION=2
INITIALIZE=3
WORKSPACE=4
EXECUTION=5
SNAPSHOT=6
TRANSACTION=7
REMOTE=8
TARGETS=9
PORTABLE=10
REPLICA=11
LOCAL=12
FROM=13
RESULT_BYTES=14
RPC_CALLS=15
DEADLINE_MS=16
QUERY=17
REFLECTION=18
SPECIALIZE=19
ROOT=20
DOCUMENT=21
FRAGMENTS=22
VIEW=23
MAX=24
ALLOW=25
POLL=26
QUERYABLE=27
RPC=28
QUERY_REASON=29
TYPE=30
OBJECT=31
STORABLE=32
IMPLEMENTS=33
REF=34
FRAGMENT=35
IMPORT=36
EXTERNAL=37
ATOM=38
INTERFACE=39
INTERFACES=40
PACKAGE=41
VALUE=42
RELATION=43
OPERATION=44
FUNCTION=45
CONSTRUCTOR=46
CONSTRUCTS=47
INPUT=48
CONFORM=49
AS=50
BIND=51
STATIC=52
TO=53
PRIVATE=54
SHARED=55
STATE=56
EDGE=57
PROJECTION=58
WITH=59
USING=60
VIA=61
MATERIALIZE=62
IF=63
ABSENT=64
ON=65
POLICY=66
DEFAULT=67
SOURCE=68
REPOSITORY=69
COMMIT=70
REVISION=71
SEMANTIC_MAJOR=72
ON_DELETE=73
RETAIN_OTHER=74
KEYED=75
PUBLIC_TRAVERSAL=76
ID=77
DOC=78
MODE=79
EMITS=80
RECEIVER=81
REQUIRES=82
ANY=83
GET=84
SET=85
WATCH=86
START=87
STOP=88
READ=89
WRITE=90
RESOLVE=91
CONNECT=92
DISCONNECT=93
CALL=94
WATCH_START=95
WATCH_STOP=96
SUBSCRIBE=97
UNSUBSCRIBE=98
REGISTER=99
CRDT=100
OPTIONAL_ONE=101
EXACTLY_ONE=102
MANY_UNIQUE=103
MANY=104
ORDERED=105
UNIT=106
WATCH_HANDLE=107
MESSAGE=108
ATOM_REF=109
INTERFACE_REF=110
OPTIONAL=111
LIST=112
RECORD=113
BOOL=114
BYTES=115
DOUBLE=116
INT32=117
INT64=118
STRING=119
UINT32=120
UINT64=121
TRUE=122
FALSE=123
NULL=124
ARROW=125
COLON=126
SEMI=127
COMMA=128
DOT=129
LBRACE=130
RBRACE=131
LBRACK=132
RBRACK=133
LPAREN=134
RPAREN=135
LT=136
GT=137
AMP=138
EQUAL=139
INTEGER=140
JSON_NUMBER=141
IDENTIFIER=142
STRING_LITERAL=143
LINE_COMMENT=144
BLOCK_COMMENT=145
WS=146
'edit'=1
'creation'=2
'initialize'=3
'workspace'=4
'execution'=5
'snapshot'=6
'transaction'=7
'remote'=8
'targets'=9
'portable'=10
'replica'=11
'local'=12
'from'=13
'result-bytes'=14
'rpc-calls'=15
'deadline-ms'=16
'query'=17
'reflection'=18
'specialize'=19
'root'=20
'document'=21
'fragments'=22
'view'=23
'max'=24
'allow'=25
'poll'=26
'queryable'=27
'rpc'=28
'query-reason'=29
'type'=30
'object'=31
'storable'=32
'implements'=33
'ref'=34
'fragment'=35
'import'=36
'external'=37
'atom'=38
'interface'=39
'interfaces'=40
'package'=41
'value'=42
'relation'=43
'operation'=44
'function'=45
'constructor'=46
'constructs'=47
'input'=48
'conform'=49
'as'=50
'bind'=51
'static'=52
'to'=53
'private'=54
'shared'=55
'state'=56
'edge'=57
'projection'=58
'with'=59
'using'=60
'via'=61
'materialize'=62
'if'=63
'absent'=64
'on'=65
'policy'=66
'default'=67
'source'=68
'repository'=69
'commit'=70
'revision'=71
'semantic-major'=72
'on-delete'=73
'retain-other'=74
'keyed'=75
'public-traversal'=76
'id'=77
'doc'=78
'mode'=79
'emits'=80
'receiver'=81
'requires'=82
'any'=83
'get'=84
'set'=85
'watch'=86
'start'=87
'stop'=88
'read'=89
'write'=90
'resolve'=91
'connect'=92
'disconnect'=93
'call'=94
'watch-start'=95
'watch-stop'=96
'subscribe'=97
'unsubscribe'=98
'register'=99
'crdt'=100
'optional-one'=101
'exactly-one'=102
'many-unique'=103
'many'=104
'ordered'=105
'unit'=106
'watch-handle'=107
'message'=108
'atom-ref'=109
'interface-ref'=110
'optional'=111
'list'=112
'record'=113
'bool'=114
'bytes'=115
'double'=116
'int32'=117
'int64'=118
'string'=119
'uint32'=120
'uint64'=121
'true'=122
'false'=123
'null'=124
'->'=125
':'=126
';'=127
','=128
'.'=129
'{'=130
'}'=131
'['=132
']'=133
'('=134
')'=135
'<'=136
'>'=137
'&'=138
'='=139