Implement main-thread Camino sessions and synchronous CRDT editing

This commit is contained in:
Timothy J. Aveni
2026-09-27 23:57:29 -07:00
parent ad72185a6c
commit 696023b4ba
24 changed files with 3784 additions and 3218 deletions
+13 -2
View File
@@ -189,18 +189,22 @@ fragmentVariable : identifier TO identifier SEMI;
packageOperationExport
: OPERATION identifier typeParameters? ID stringLiteral COLON valueType ARROW valueType
MODE operationMode executionClause? eventClause? RECEIVER receiverRequirement dependencyBlock? acceptanceClause? SEMI
MODE operationMode executionClause? eventClause? RECEIVER receiverRequirement dependencyBlock? preparationClause? acceptanceClause? SEMI
;
packageFunctionExport
: FUNCTION identifier typeParameters? ID stringLiteral COLON valueType ARROW valueType
executionClause? dependencyBlock? acceptanceClause? SEMI
executionClause? dependencyBlock? preparationClause? acceptanceClause? SEMI
;
acceptanceClause
: ACCEPT USING identifier
;
preparationClause
: PREPARES CREATION identifier USING stringLiteral
;
executionClause
: EXECUTION REMOTE
| EXECUTION (SNAPSHOT | TRANSACTION) TARGETS LBRACK identifierList RBRACK
@@ -418,6 +422,7 @@ valueType
| OPTIONAL LT valueType GT
| LIST LT valueType GT
| RECORD LBRACE recordField* RBRACE
| VARIANT ID stringLiteral LBRACE variantCase+ RBRACE
| identifier typeArguments?
;
@@ -425,6 +430,10 @@ recordField
: identifier COLON valueType SEMI
;
variantCase
: identifier ID stringLiteral COLON valueType SEMI
;
scalarType
: BOOL
| BYTES
@@ -517,6 +526,8 @@ PRESENTATION: 'presentation';
SUBJECT: 'subject';
FOR: 'for';
CREATION: 'creation';
VARIANT: 'variant';
PREPARES: 'prepares';
INITIALIZE: 'initialize';
WORKSPACE: 'workspace';
EXECUTION: 'execution';