59735c5e38
Replace opaque props with checked generic presentation contracts and lazy typed interface references. Generate readonly/writable field APIs and component checks. Preserve CRDT editing through explicit resolved getter/setter contracts, binding- fenced delta RPCs, native watches and replica-aware field adapters. Custom setters retain semantic writes; storage snapshots never grant write authority. Cover concurrent edits, lost acknowledgements, readonly contracts and authorization. Add receiver-free static factory dispatch, state-field binding shorthand, and conformance-based creation. Migrate TODO, editable scaffolds and authoring guides. Verify language/codegen, SDK, RPC, browser lifecycle, local scaffolds, production browser bundling and CRDT persistence with temporary PostgreSQL.
230 lines
2.5 KiB
Plaintext
230 lines
2.5 KiB
Plaintext
WORKSPACE=1
|
|
TYPE=2
|
|
OBJECT=3
|
|
STORABLE=4
|
|
IMPLEMENTS=5
|
|
REF=6
|
|
FRAGMENT=7
|
|
IMPORT=8
|
|
EXTERNAL=9
|
|
ATOM=10
|
|
INTERFACE=11
|
|
INTERFACES=12
|
|
PACKAGE=13
|
|
VALUE=14
|
|
RELATION=15
|
|
OPERATION=16
|
|
FUNCTION=17
|
|
CONSTRUCTOR=18
|
|
CONSTRUCTS=19
|
|
INPUT=20
|
|
CONFORM=21
|
|
AS=22
|
|
BIND=23
|
|
STATIC=24
|
|
TO=25
|
|
PRIVATE=26
|
|
SHARED=27
|
|
STATE=28
|
|
EDGE=29
|
|
PROJECTION=30
|
|
WITH=31
|
|
USING=32
|
|
VIA=33
|
|
MATERIALIZE=34
|
|
IF=35
|
|
ABSENT=36
|
|
ON=37
|
|
POLICY=38
|
|
DEFAULT=39
|
|
SOURCE=40
|
|
REPOSITORY=41
|
|
COMMIT=42
|
|
REVISION=43
|
|
SEMANTIC_MAJOR=44
|
|
ON_DELETE=45
|
|
RETAIN_OTHER=46
|
|
KEYED=47
|
|
PUBLIC_TRAVERSAL=48
|
|
ID=49
|
|
DOC=50
|
|
MODE=51
|
|
EMITS=52
|
|
RECEIVER=53
|
|
REQUIRES=54
|
|
ANY=55
|
|
GET=56
|
|
SET=57
|
|
WATCH=58
|
|
START=59
|
|
STOP=60
|
|
READ=61
|
|
WRITE=62
|
|
RESOLVE=63
|
|
CONNECT=64
|
|
DISCONNECT=65
|
|
CALL=66
|
|
WATCH_START=67
|
|
WATCH_STOP=68
|
|
SUBSCRIBE=69
|
|
UNSUBSCRIBE=70
|
|
OPTIMISTIC_REGISTER=71
|
|
CRDT=72
|
|
OPTIONAL_ONE=73
|
|
EXACTLY_ONE=74
|
|
MANY_UNIQUE=75
|
|
MANY=76
|
|
ORDERED=77
|
|
UNIT=78
|
|
WATCH_HANDLE=79
|
|
MESSAGE=80
|
|
ATOM_REF=81
|
|
INTERFACE_REF=82
|
|
OPTIONAL=83
|
|
LIST=84
|
|
RECORD=85
|
|
BOOL=86
|
|
BYTES=87
|
|
DOUBLE=88
|
|
INT32=89
|
|
INT64=90
|
|
STRING=91
|
|
UINT32=92
|
|
UINT64=93
|
|
TRUE=94
|
|
FALSE=95
|
|
NULL=96
|
|
ARROW=97
|
|
COLON=98
|
|
SEMI=99
|
|
COMMA=100
|
|
DOT=101
|
|
LBRACE=102
|
|
RBRACE=103
|
|
LBRACK=104
|
|
RBRACK=105
|
|
LPAREN=106
|
|
RPAREN=107
|
|
LT=108
|
|
GT=109
|
|
AMP=110
|
|
EQUAL=111
|
|
INTEGER=112
|
|
JSON_NUMBER=113
|
|
IDENTIFIER=114
|
|
STRING_LITERAL=115
|
|
LINE_COMMENT=116
|
|
BLOCK_COMMENT=117
|
|
WS=118
|
|
'workspace'=1
|
|
'type'=2
|
|
'object'=3
|
|
'storable'=4
|
|
'implements'=5
|
|
'ref'=6
|
|
'fragment'=7
|
|
'import'=8
|
|
'external'=9
|
|
'atom'=10
|
|
'interface'=11
|
|
'interfaces'=12
|
|
'package'=13
|
|
'value'=14
|
|
'relation'=15
|
|
'operation'=16
|
|
'function'=17
|
|
'constructor'=18
|
|
'constructs'=19
|
|
'input'=20
|
|
'conform'=21
|
|
'as'=22
|
|
'bind'=23
|
|
'static'=24
|
|
'to'=25
|
|
'private'=26
|
|
'shared'=27
|
|
'state'=28
|
|
'edge'=29
|
|
'projection'=30
|
|
'with'=31
|
|
'using'=32
|
|
'via'=33
|
|
'materialize'=34
|
|
'if'=35
|
|
'absent'=36
|
|
'on'=37
|
|
'policy'=38
|
|
'default'=39
|
|
'source'=40
|
|
'repository'=41
|
|
'commit'=42
|
|
'revision'=43
|
|
'semantic-major'=44
|
|
'on-delete'=45
|
|
'retain-other'=46
|
|
'keyed'=47
|
|
'public-traversal'=48
|
|
'id'=49
|
|
'doc'=50
|
|
'mode'=51
|
|
'emits'=52
|
|
'receiver'=53
|
|
'requires'=54
|
|
'any'=55
|
|
'get'=56
|
|
'set'=57
|
|
'watch'=58
|
|
'start'=59
|
|
'stop'=60
|
|
'read'=61
|
|
'write'=62
|
|
'resolve'=63
|
|
'connect'=64
|
|
'disconnect'=65
|
|
'call'=66
|
|
'watch-start'=67
|
|
'watch-stop'=68
|
|
'subscribe'=69
|
|
'unsubscribe'=70
|
|
'optimistic-register'=71
|
|
'crdt'=72
|
|
'optional-one'=73
|
|
'exactly-one'=74
|
|
'many-unique'=75
|
|
'many'=76
|
|
'ordered'=77
|
|
'unit'=78
|
|
'watch-handle'=79
|
|
'message'=80
|
|
'atom-ref'=81
|
|
'interface-ref'=82
|
|
'optional'=83
|
|
'list'=84
|
|
'record'=85
|
|
'bool'=86
|
|
'bytes'=87
|
|
'double'=88
|
|
'int32'=89
|
|
'int64'=90
|
|
'string'=91
|
|
'uint32'=92
|
|
'uint64'=93
|
|
'true'=94
|
|
'false'=95
|
|
'null'=96
|
|
'->'=97
|
|
':'=98
|
|
';'=99
|
|
','=100
|
|
'.'=101
|
|
'{'=102
|
|
'}'=103
|
|
'['=104
|
|
']'=105
|
|
'('=106
|
|
')'=107
|
|
'<'=108
|
|
'>'=109
|
|
'&'=110
|
|
'='=111
|