@voidhash/mimic 0.0.2 → 0.0.3
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/.turbo/turbo-build.log +257 -42
- package/dist/Document.cjs +152 -0
- package/dist/Document.d.cts +67 -0
- package/dist/Document.d.cts.map +1 -0
- package/dist/Document.d.mts +68 -0
- package/dist/Document.d.mts.map +1 -0
- package/dist/Document.mjs +147 -0
- package/dist/Document.mjs.map +1 -0
- package/dist/EffectSchema.cjs +180 -0
- package/dist/EffectSchema.d.cts +84 -0
- package/dist/EffectSchema.d.cts.map +1 -0
- package/dist/EffectSchema.d.mts +84 -0
- package/dist/EffectSchema.d.mts.map +1 -0
- package/dist/EffectSchema.mjs +176 -0
- package/dist/EffectSchema.mjs.map +1 -0
- package/dist/FractionalIndex.cjs +365 -0
- package/dist/FractionalIndex.mjs +364 -0
- package/dist/FractionalIndex.mjs.map +1 -0
- package/dist/Operation.cjs +53 -0
- package/dist/Operation.d.cts +39 -0
- package/dist/Operation.d.cts.map +1 -0
- package/dist/Operation.d.mts +39 -0
- package/dist/Operation.d.mts.map +1 -0
- package/dist/Operation.mjs +46 -0
- package/dist/Operation.mjs.map +1 -0
- package/dist/OperationDefinition.cjs +13 -0
- package/dist/OperationDefinition.d.cts +12 -0
- package/dist/OperationDefinition.d.cts.map +1 -0
- package/dist/OperationDefinition.d.mts +12 -0
- package/dist/OperationDefinition.d.mts.map +1 -0
- package/dist/OperationDefinition.mjs +13 -0
- package/dist/OperationDefinition.mjs.map +1 -0
- package/dist/OperationPath.cjs +148 -0
- package/dist/OperationPath.d.cts +60 -0
- package/dist/OperationPath.d.cts.map +1 -0
- package/dist/OperationPath.d.mts +60 -0
- package/dist/OperationPath.d.mts.map +1 -0
- package/dist/OperationPath.mjs +138 -0
- package/dist/OperationPath.mjs.map +1 -0
- package/dist/{Presence-gWrmGBeu.cjs → Presence.cjs} +4 -39
- package/dist/{Presence-N8u7Eppr.d.mts → Presence.d.cts} +2 -2
- package/dist/Presence.d.cts.map +1 -0
- package/dist/{Presence-DKKP4v5X.d.cts → Presence.d.mts} +2 -2
- package/dist/Presence.d.mts.map +1 -0
- package/dist/{Presence-DdMVKcOv.mjs → Presence.mjs} +3 -28
- package/dist/Presence.mjs.map +1 -0
- package/dist/Primitive.cjs +52 -0
- package/dist/Primitive.d.cts +20 -0
- package/dist/Primitive.d.cts.map +1 -0
- package/dist/Primitive.d.mts +20 -0
- package/dist/Primitive.d.mts.map +1 -0
- package/dist/Primitive.mjs +48 -0
- package/dist/Primitive.mjs.map +1 -0
- package/dist/ProxyEnvironment.cjs +34 -0
- package/dist/ProxyEnvironment.d.cts +31 -0
- package/dist/ProxyEnvironment.d.cts.map +1 -0
- package/dist/ProxyEnvironment.d.mts +31 -0
- package/dist/ProxyEnvironment.d.mts.map +1 -0
- package/dist/ProxyEnvironment.mjs +29 -0
- package/dist/ProxyEnvironment.mjs.map +1 -0
- package/dist/Transaction.cjs +66 -0
- package/dist/Transaction.d.cts +56 -0
- package/dist/Transaction.d.cts.map +1 -0
- package/dist/Transaction.d.mts +56 -0
- package/dist/Transaction.d.mts.map +1 -0
- package/dist/Transaction.mjs +58 -0
- package/dist/Transaction.mjs.map +1 -0
- package/dist/Transform.cjs +11 -0
- package/dist/Transform.d.cts +21 -0
- package/dist/Transform.d.cts.map +1 -0
- package/dist/Transform.d.mts +21 -0
- package/dist/Transform.d.mts.map +1 -0
- package/dist/Transform.mjs +6 -0
- package/dist/Transform.mjs.map +1 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.cjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.cjs +27 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs +27 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.cjs +16 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs +16 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.cjs +11 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs +11 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.cjs +18 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs +12 -0
- package/dist/_virtual/rolldown_runtime.cjs +43 -0
- package/dist/{chunk-CLMFDpHK.mjs → _virtual/rolldown_runtime.mjs} +1 -1
- package/dist/client/ClientDocument.cjs +590 -0
- package/dist/client/ClientDocument.d.cts +161 -0
- package/dist/client/ClientDocument.d.cts.map +1 -0
- package/dist/client/ClientDocument.d.mts +162 -0
- package/dist/client/ClientDocument.d.mts.map +1 -0
- package/dist/client/ClientDocument.mjs +586 -0
- package/dist/client/ClientDocument.mjs.map +1 -0
- package/dist/client/Rebase.cjs +204 -0
- package/dist/client/Rebase.d.cts +87 -0
- package/dist/client/Rebase.d.cts.map +1 -0
- package/dist/client/Rebase.d.mts +88 -0
- package/dist/client/Rebase.d.mts.map +1 -0
- package/dist/client/Rebase.mjs +198 -0
- package/dist/client/Rebase.mjs.map +1 -0
- package/dist/client/StateMonitor.cjs +133 -0
- package/dist/client/StateMonitor.d.cts +122 -0
- package/dist/client/StateMonitor.d.cts.map +1 -0
- package/dist/client/StateMonitor.d.mts +122 -0
- package/dist/client/StateMonitor.d.mts.map +1 -0
- package/dist/client/StateMonitor.mjs +129 -0
- package/dist/client/StateMonitor.mjs.map +1 -0
- package/dist/client/Transport.cjs +11 -0
- package/dist/client/Transport.d.cts +237 -0
- package/dist/client/Transport.d.cts.map +1 -0
- package/dist/client/Transport.d.mts +237 -0
- package/dist/client/Transport.d.mts.map +1 -0
- package/dist/client/Transport.mjs +6 -0
- package/dist/client/Transport.mjs.map +1 -0
- package/dist/client/WebSocketTransport.cjs +396 -0
- package/dist/client/WebSocketTransport.d.cts +29 -0
- package/dist/client/WebSocketTransport.d.cts.map +1 -0
- package/dist/client/WebSocketTransport.d.mts +29 -0
- package/dist/client/WebSocketTransport.d.mts.map +1 -0
- package/dist/client/WebSocketTransport.mjs +392 -0
- package/dist/client/WebSocketTransport.mjs.map +1 -0
- package/dist/client/errors.cjs +135 -0
- package/dist/client/errors.d.cts +87 -0
- package/dist/client/errors.d.cts.map +1 -0
- package/dist/client/errors.d.mts +87 -0
- package/dist/client/errors.d.mts.map +1 -0
- package/dist/client/errors.mjs +127 -0
- package/dist/client/errors.mjs.map +1 -0
- package/dist/client/index.cjs +22 -1424
- package/dist/client/index.d.cts +8 -692
- package/dist/client/index.d.mts +8 -692
- package/dist/client/index.mjs +9 -1413
- package/dist/index.cjs +20 -2973
- package/dist/index.d.cts +12 -419
- package/dist/index.d.mts +12 -419
- package/dist/index.mjs +13 -2968
- package/dist/primitives/Array.cjs +302 -0
- package/dist/primitives/Array.d.cts +95 -0
- package/dist/primitives/Array.d.cts.map +1 -0
- package/dist/primitives/Array.d.mts +95 -0
- package/dist/primitives/Array.d.mts.map +1 -0
- package/dist/primitives/Array.mjs +301 -0
- package/dist/primitives/Array.mjs.map +1 -0
- package/dist/primitives/Boolean.cjs +95 -0
- package/dist/primitives/Boolean.d.cts +44 -0
- package/dist/primitives/Boolean.d.cts.map +1 -0
- package/dist/primitives/Boolean.d.mts +44 -0
- package/dist/primitives/Boolean.d.mts.map +1 -0
- package/dist/primitives/Boolean.mjs +94 -0
- package/dist/primitives/Boolean.mjs.map +1 -0
- package/dist/primitives/Either.cjs +200 -0
- package/dist/primitives/Either.d.cts +113 -0
- package/dist/primitives/Either.d.cts.map +1 -0
- package/dist/primitives/Either.d.mts +113 -0
- package/dist/primitives/Either.d.mts.map +1 -0
- package/dist/primitives/Either.mjs +199 -0
- package/dist/primitives/Either.mjs.map +1 -0
- package/dist/primitives/Lazy.cjs +46 -0
- package/dist/primitives/Lazy.d.cts +46 -0
- package/dist/primitives/Lazy.d.cts.map +1 -0
- package/dist/primitives/Lazy.d.mts +46 -0
- package/dist/primitives/Lazy.d.mts.map +1 -0
- package/dist/primitives/Lazy.mjs +46 -0
- package/dist/primitives/Lazy.mjs.map +1 -0
- package/dist/primitives/Literal.cjs +91 -0
- package/dist/primitives/Literal.d.cts +46 -0
- package/dist/primitives/Literal.d.cts.map +1 -0
- package/dist/primitives/Literal.d.mts +46 -0
- package/dist/primitives/Literal.d.mts.map +1 -0
- package/dist/primitives/Literal.mjs +90 -0
- package/dist/primitives/Literal.mjs.map +1 -0
- package/dist/primitives/Number.cjs +115 -0
- package/dist/primitives/Number.d.cts +54 -0
- package/dist/primitives/Number.d.cts.map +1 -0
- package/dist/primitives/Number.d.mts +54 -0
- package/dist/primitives/Number.d.mts.map +1 -0
- package/dist/primitives/Number.mjs +114 -0
- package/dist/primitives/Number.mjs.map +1 -0
- package/dist/primitives/String.cjs +127 -0
- package/dist/primitives/String.d.cts +56 -0
- package/dist/primitives/String.d.cts.map +1 -0
- package/dist/primitives/String.d.mts +56 -0
- package/dist/primitives/String.d.mts.map +1 -0
- package/dist/primitives/String.mjs +126 -0
- package/dist/primitives/String.mjs.map +1 -0
- package/dist/primitives/Struct.cjs +207 -0
- package/dist/primitives/Struct.d.cts +96 -0
- package/dist/primitives/Struct.d.cts.map +1 -0
- package/dist/primitives/Struct.d.mts +97 -0
- package/dist/primitives/Struct.d.mts.map +1 -0
- package/dist/primitives/Struct.mjs +206 -0
- package/dist/primitives/Struct.mjs.map +1 -0
- package/dist/primitives/Tree.cjs +575 -0
- package/dist/primitives/Tree.d.cts +185 -0
- package/dist/primitives/Tree.d.cts.map +1 -0
- package/dist/primitives/Tree.d.mts +185 -0
- package/dist/primitives/Tree.d.mts.map +1 -0
- package/dist/primitives/Tree.mjs +574 -0
- package/dist/primitives/Tree.mjs.map +1 -0
- package/dist/primitives/TreeNode.cjs +73 -0
- package/dist/primitives/TreeNode.d.cts +92 -0
- package/dist/primitives/TreeNode.d.cts.map +1 -0
- package/dist/primitives/TreeNode.d.mts +93 -0
- package/dist/primitives/TreeNode.d.mts.map +1 -0
- package/dist/primitives/TreeNode.mjs +72 -0
- package/dist/primitives/TreeNode.mjs.map +1 -0
- package/dist/primitives/Union.cjs +170 -0
- package/dist/primitives/Union.d.cts +81 -0
- package/dist/primitives/Union.d.cts.map +1 -0
- package/dist/primitives/Union.d.mts +81 -0
- package/dist/primitives/Union.d.mts.map +1 -0
- package/dist/primitives/Union.mjs +169 -0
- package/dist/primitives/Union.mjs.map +1 -0
- package/dist/primitives/shared.cjs +60 -0
- package/dist/primitives/shared.d.cts +147 -0
- package/dist/primitives/shared.d.cts.map +1 -0
- package/dist/primitives/shared.d.mts +147 -0
- package/dist/primitives/shared.d.mts.map +1 -0
- package/dist/primitives/shared.mjs +58 -0
- package/dist/primitives/shared.mjs.map +1 -0
- package/dist/server/ServerDocument.cjs +110 -0
- package/dist/server/ServerDocument.d.cts +98 -0
- package/dist/server/ServerDocument.d.cts.map +1 -0
- package/dist/server/ServerDocument.d.mts +99 -0
- package/dist/server/ServerDocument.d.mts.map +1 -0
- package/dist/server/ServerDocument.mjs +106 -0
- package/dist/server/ServerDocument.mjs.map +1 -0
- package/dist/server/errors.cjs +85 -0
- package/dist/server/errors.d.cts +53 -0
- package/dist/server/errors.d.cts.map +1 -0
- package/dist/server/errors.d.mts +53 -0
- package/dist/server/errors.d.mts.map +1 -0
- package/dist/server/errors.mjs +81 -0
- package/dist/server/errors.mjs.map +1 -0
- package/dist/server/index.cjs +9 -185
- package/dist/server/index.d.cts +3 -148
- package/dist/server/index.d.mts +3 -148
- package/dist/server/index.mjs +3 -181
- package/dist/types/index.cjs +16 -0
- package/dist/types/index.d.cts +16 -0
- package/dist/types/index.d.cts.map +1 -0
- package/dist/types/index.d.mts +16 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +12 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/utils/tree-helpers.cjs +443 -0
- package/dist/utils/tree-helpers.d.cts +280 -0
- package/dist/utils/tree-helpers.d.cts.map +1 -0
- package/dist/utils/tree-helpers.d.mts +280 -0
- package/dist/utils/tree-helpers.d.mts.map +1 -0
- package/dist/utils/tree-helpers.mjs +439 -0
- package/dist/utils/tree-helpers.mjs.map +1 -0
- package/package.json +2 -2
- package/tsdown.config.ts +1 -1
- package/dist/Document-ChuFrTk1.cjs +0 -571
- package/dist/Document-CwiAFTIq.mjs +0 -438
- package/dist/Document-CwiAFTIq.mjs.map +0 -1
- package/dist/Presence-DKKP4v5X.d.cts.map +0 -1
- package/dist/Presence-DdMVKcOv.mjs.map +0 -1
- package/dist/Presence-N8u7Eppr.d.mts.map +0 -1
- package/dist/Primitive-DqQFc3Gu.d.mts +0 -1180
- package/dist/Primitive-DqQFc3Gu.d.mts.map +0 -1
- package/dist/Primitive-awpEjnKL.d.cts +0 -1180
- package/dist/Primitive-awpEjnKL.d.cts.map +0 -1
- package/dist/client/index.d.cts.map +0 -1
- package/dist/client/index.d.mts.map +0 -1
- package/dist/client/index.mjs.map +0 -1
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/server/index.d.cts.map +0 -1
- package/dist/server/index.d.mts.map +0 -1
- package/dist/server/index.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Primitive-awpEjnKL.d.cts","names":[],"sources":["../src/OperationPath.ts","../src/OperationDefinition.ts","../src/Operation.ts","../src/Transaction.ts","../src/ProxyEnvironment.ts","../src/Transform.ts","../src/primitives/shared.ts","../src/primitives/String.ts","../src/primitives/Struct.ts","../src/primitives/Boolean.ts","../src/primitives/Number.ts","../src/primitives/Literal.ts","../src/primitives/Array.ts","../src/primitives/Lazy.ts","../src/primitives/Union.ts","../src/primitives/Either.ts","../src/primitives/TreeNode.ts","../src/primitives/Tree.ts","../src/Primitive.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../src/client/Transport.ts","../../src/client/ClientDocument.ts","../../src/client/WebSocketTransport.ts","../../src/client/Rebase.ts","../../src/client/StateMonitor.ts","../../src/client/errors.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/client/Transport.ts","../../src/client/ClientDocument.ts","../../src/client/WebSocketTransport.ts","../../src/client/Rebase.ts","../../src/client/StateMonitor.ts","../../src/client/errors.ts"],"sourcesContent":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["OperationPath.pathsOverlap","OperationPath.pathsEqual","OperationPath.isPrefix","transformedOps: Operation.Operation<any, any, any>[]","currentOp: Operation.Operation<any, any, any> | null","make","_serverState: Primitive.InferState<TSchema> | undefined","_pending: PendingTransaction[]","_serverTransactionHistory: Transaction.Transaction[]","Document.make","_unsubscribe: (() => void) | null","_initState: InitState","_initTimeoutHandle: ReturnType<typeof setTimeout> | null","_initResolver: (() => void) | null","_initRejecter: ((error: Error) => void) | null","_presenceSelfId: string | undefined","_presenceSelfData: unknown","pending: PendingTransaction","Rebase.transformTransactionWithPrimitive","Rebase.rebaseAfterRejectionWithPrimitive","Transaction.isEmpty","Presence.validate","make","_state: ConnectionState","_ws: WebSocket | null","_messageHandlers: Set<(message: Transport.ServerMessage) => void>","_connectionTimeoutHandle: ReturnType<typeof setTimeout> | null","_heartbeatIntervalHandle: ReturnType<typeof setInterval> | null","_heartbeatTimeoutHandle: ReturnType<typeof setTimeout> | null","_reconnectTimeoutHandle: ReturnType<typeof setTimeout> | null","_messageQueue: Transport.ClientMessage[]","_connectResolver: (() => void) | null","_connectRejecter: ((error: Error) => void) | null","Transaction.encode","Transaction.decode","message: Transport.ClientMessage","message","_healthCheckHandle: ReturnType<typeof setInterval> | null","oldestPendingMs: number | null","stale: PendingInfo[]"],"sources":["../../src/client/Rebase.ts","../../src/client/errors.ts","../../src/client/ClientDocument.ts","../../src/client/Transport.ts","../../src/client/WebSocketTransport.ts","../../src/client/StateMonitor.ts"],"sourcesContent":["import type * as Operation from \"../Operation\";\nimport type * as Transaction from \"../Transaction\";\nimport type * as Primitive from \"../Primitive\";\nimport * as OperationPath from \"../OperationPath\";\nimport * as Transform from \"../Transform\";\n\n// =============================================================================\n// Re-export Transform types from mimic for backwards compatibility\n// =============================================================================\n\nexport type TransformResult = Transform.TransformResult;\n\n// =============================================================================\n// Operation Transformation\n// =============================================================================\n\n/**\n * Transforms a client operation against a server operation using a primitive.\n * \n * This delegates to the primitive's transformOperation method, which handles\n * type-specific conflict resolution.\n * \n * @param clientOp - The client's operation to transform\n * @param serverOp - The server's operation that has already been applied\n * @param primitive - The root primitive to use for transformation\n * @returns TransformResult indicating how the client operation should be handled\n */\nexport const transformOperationWithPrimitive = (\n clientOp: Operation.Operation<any, any, any>,\n serverOp: Operation.Operation<any, any, any>,\n primitive: Primitive.AnyPrimitive\n): TransformResult => {\n return primitive._internal.transformOperation(clientOp, serverOp);\n};\n\n/**\n * Transforms a client operation against a server operation.\n *\n * This is a standalone implementation for cases where the primitive is not available.\n * For schema-aware transformation, use transformOperationWithPrimitive instead.\n *\n * The key principle: client ops \"shadow\" server ops for the same path,\n * meaning if both touch the same field, the client's intention wins\n * (since it was made with knowledge of the server state at that time).\n */\nexport const transformOperation = (\n clientOp: Operation.Operation<any, any, any>,\n serverOp: Operation.Operation<any, any, any>\n): TransformResult => {\n const clientPath = clientOp.path;\n const serverPath = serverOp.path;\n\n // If paths don't overlap at all, no transformation needed\n if (!OperationPath.pathsOverlap(clientPath, serverPath)) {\n return { type: \"transformed\", operation: clientOp };\n }\n\n // Handle array operations specially\n if (serverOp.kind === \"array.remove\") {\n // If server removed an array element that client is operating on\n const removedId = (serverOp.payload as { id: string }).id;\n const clientTokens = clientPath.toTokens().filter((t: string) => t !== \"\");\n const serverTokens = serverPath.toTokens().filter((t: string) => t !== \"\");\n\n // Check if client is operating on the removed element or its children\n if (clientTokens.length > serverTokens.length) {\n const elementId = clientTokens[serverTokens.length];\n if (elementId === removedId) {\n // Client operation targets a removed element - becomes noop\n return { type: \"noop\" };\n }\n }\n }\n\n if (serverOp.kind === \"array.insert\" && clientOp.kind === \"array.insert\") {\n // Both inserting into same array - positions are independent (fractional indexing)\n // No transformation needed as fractional indices handle ordering\n return { type: \"transformed\", operation: clientOp };\n }\n\n if (serverOp.kind === \"array.move\" && clientOp.kind === \"array.move\") {\n // Both moving elements - if same element, client wins (last-write-wins for position)\n const serverMoveId = (serverOp.payload as { id: string }).id;\n const clientMoveId = (clientOp.payload as { id: string }).id;\n\n if (serverMoveId === clientMoveId) {\n // Client's move supersedes server's move\n return { type: \"transformed\", operation: clientOp };\n }\n // Different elements - no conflict\n return { type: \"transformed\", operation: clientOp };\n }\n\n // For set operations on the same exact path: client wins (last-write-wins)\n if (OperationPath.pathsEqual(clientPath, serverPath)) {\n // Both operations target the same path\n // Client operation was made with intent to set this value,\n // so it should override the server's change\n return { type: \"transformed\", operation: clientOp };\n }\n\n // If server set a parent path, client's child operation might be invalid\n if (OperationPath.isPrefix(serverPath, clientPath)) {\n const serverKind = serverOp.kind;\n if (\n serverKind === \"struct.set\" ||\n serverKind === \"array.set\" ||\n serverKind === \"union.set\"\n ) {\n // Server replaced the entire parent - client's child op may be invalid\n // However, for optimistic updates, we let the client op proceed\n // and the server will validate/reject if needed\n return { type: \"transformed\", operation: clientOp };\n }\n }\n\n // Default: no transformation needed, client op proceeds as-is\n return { type: \"transformed\", operation: clientOp };\n};\n\n/**\n * Transforms all operations in a client transaction against a server transaction.\n * Uses the primitive's transformOperation for schema-aware transformation.\n */\nexport const transformTransactionWithPrimitive = (\n clientTx: Transaction.Transaction,\n serverTx: Transaction.Transaction,\n primitive: Primitive.AnyPrimitive\n): Transaction.Transaction => {\n const transformedOps: Operation.Operation<any, any, any>[] = [];\n\n for (const clientOp of clientTx.ops) {\n let currentOp: Operation.Operation<any, any, any> | null = clientOp;\n\n // Transform against each server operation\n for (const serverOp of serverTx.ops) {\n if (currentOp === null) break;\n\n const result = transformOperationWithPrimitive(currentOp, serverOp, primitive);\n\n switch (result.type) {\n case \"transformed\":\n currentOp = result.operation;\n break;\n case \"noop\":\n currentOp = null;\n break;\n case \"conflict\":\n // For now, treat conflicts as the client op proceeding\n // Server will ultimately validate\n break;\n }\n }\n\n if (currentOp !== null) {\n transformedOps.push(currentOp);\n }\n }\n\n // Return a new transaction with the same ID but transformed ops\n return {\n id: clientTx.id,\n ops: transformedOps,\n timestamp: clientTx.timestamp,\n };\n};\n\n/**\n * Transforms all operations in a client transaction against a server transaction.\n * This is a standalone version that doesn't require a primitive.\n */\nexport const transformTransaction = (\n clientTx: Transaction.Transaction,\n serverTx: Transaction.Transaction\n): Transaction.Transaction => {\n const transformedOps: Operation.Operation<any, any, any>[] = [];\n\n for (const clientOp of clientTx.ops) {\n let currentOp: Operation.Operation<any, any, any> | null = clientOp;\n\n // Transform against each server operation\n for (const serverOp of serverTx.ops) {\n if (currentOp === null) break;\n\n const result = transformOperation(currentOp, serverOp);\n\n switch (result.type) {\n case \"transformed\":\n currentOp = result.operation;\n break;\n case \"noop\":\n currentOp = null;\n break;\n case \"conflict\":\n // For now, treat conflicts as the client op proceeding\n // Server will ultimately validate\n break;\n }\n }\n\n if (currentOp !== null) {\n transformedOps.push(currentOp);\n }\n }\n\n // Return a new transaction with the same ID but transformed ops\n return {\n id: clientTx.id,\n ops: transformedOps,\n timestamp: clientTx.timestamp,\n };\n};\n\n/**\n * Rebases a list of pending transactions against a server transaction using a primitive.\n *\n * This is called when a server transaction arrives that is NOT one of our pending\n * transactions. We need to transform all pending transactions to work correctly\n * on top of the new server state.\n */\nexport const rebasePendingTransactionsWithPrimitive = (\n pendingTxs: ReadonlyArray<Transaction.Transaction>,\n serverTx: Transaction.Transaction,\n primitive: Primitive.AnyPrimitive\n): Transaction.Transaction[] => {\n return pendingTxs.map((pendingTx) =>\n transformTransactionWithPrimitive(pendingTx, serverTx, primitive)\n );\n};\n\n/**\n * Rebases a list of pending transactions against a server transaction.\n *\n * This is called when a server transaction arrives that is NOT one of our pending\n * transactions. We need to transform all pending transactions to work correctly\n * on top of the new server state.\n */\nexport const rebasePendingTransactions = (\n pendingTxs: ReadonlyArray<Transaction.Transaction>,\n serverTx: Transaction.Transaction\n): Transaction.Transaction[] => {\n return pendingTxs.map((pendingTx) =>\n transformTransaction(pendingTx, serverTx)\n );\n};\n\n/**\n * Rebases pending transactions after a rejection using a primitive.\n *\n * When a transaction is rejected, we need to re-transform remaining pending\n * transactions as if the rejected transaction never happened. This is done by\n * rebuilding from the original operations against the current server state.\n *\n * @param originalPendingTxs - The original pending transactions before any rebasing\n * @param rejectedTxId - ID of the rejected transaction\n * @param serverTxsSinceOriginal - Server transactions that have arrived since original\n * @param primitive - The root primitive to use for transformation\n */\nexport const rebaseAfterRejectionWithPrimitive = (\n originalPendingTxs: ReadonlyArray<Transaction.Transaction>,\n rejectedTxId: string,\n serverTxsSinceOriginal: ReadonlyArray<Transaction.Transaction>,\n primitive: Primitive.AnyPrimitive\n): Transaction.Transaction[] => {\n // Filter out the rejected transaction\n const remainingOriginals = originalPendingTxs.filter(\n (tx) => tx.id !== rejectedTxId\n );\n\n // Re-transform each remaining transaction against all server transactions\n let result = [...remainingOriginals];\n\n for (const serverTx of serverTxsSinceOriginal) {\n result = rebasePendingTransactionsWithPrimitive(result, serverTx, primitive);\n }\n\n return result;\n};\n\n/**\n * Rebases pending transactions after a rejection.\n *\n * When a transaction is rejected, we need to re-transform remaining pending\n * transactions as if the rejected transaction never happened. This is done by\n * rebuilding from the original operations against the current server state.\n *\n * @param originalPendingTxs - The original pending transactions before any rebasing\n * @param rejectedTxId - ID of the rejected transaction\n * @param serverTxsSinceOriginal - Server transactions that have arrived since original\n */\nexport const rebaseAfterRejection = (\n originalPendingTxs: ReadonlyArray<Transaction.Transaction>,\n rejectedTxId: string,\n serverTxsSinceOriginal: ReadonlyArray<Transaction.Transaction>\n): Transaction.Transaction[] => {\n // Filter out the rejected transaction\n const remainingOriginals = originalPendingTxs.filter(\n (tx) => tx.id !== rejectedTxId\n );\n\n // Re-transform each remaining transaction against all server transactions\n let result = [...remainingOriginals];\n\n for (const serverTx of serverTxsSinceOriginal) {\n result = rebasePendingTransactions(result, serverTx);\n }\n\n return result;\n};\n","import type * as Transaction from \"../Transaction\";\n\n// =============================================================================\n// Client Errors\n// =============================================================================\n\n/**\n * Base error class for all mimic-client errors.\n */\nexport class MimicClientError extends Error {\n readonly _tag: string = \"MimicClientError\";\n constructor(message: string) {\n super(message);\n this.name = \"MimicClientError\";\n }\n}\n\n/**\n * Error thrown when a transaction is rejected by the server.\n */\nexport class TransactionRejectedError extends MimicClientError {\n override readonly _tag = \"TransactionRejectedError\";\n readonly transaction: Transaction.Transaction;\n readonly reason: string;\n\n constructor(transaction: Transaction.Transaction, reason: string) {\n super(`Transaction ${transaction.id} rejected: ${reason}`);\n this.name = \"TransactionRejectedError\";\n this.transaction = transaction;\n this.reason = reason;\n }\n}\n\n/**\n * Error thrown when the transport is not connected.\n */\nexport class NotConnectedError extends MimicClientError {\n override readonly _tag = \"NotConnectedError\";\n constructor() {\n super(\"Transport is not connected\");\n this.name = \"NotConnectedError\";\n }\n}\n\n/**\n * Error thrown when connection to the server fails.\n */\nexport class ConnectionError extends MimicClientError {\n override readonly _tag = \"ConnectionError\";\n override readonly cause?: Error;\n\n constructor(message: string, cause?: Error) {\n super(message);\n this.name = \"ConnectionError\";\n this.cause = cause;\n }\n}\n\n/**\n * Error thrown when state drift is detected and cannot be recovered.\n */\nexport class StateDriftError extends MimicClientError {\n override readonly _tag = \"StateDriftError\";\n readonly expectedVersion: number;\n readonly receivedVersion: number;\n\n constructor(expectedVersion: number, receivedVersion: number) {\n super(\n `State drift detected: expected version ${expectedVersion}, received ${receivedVersion}`\n );\n this.name = \"StateDriftError\";\n this.expectedVersion = expectedVersion;\n this.receivedVersion = receivedVersion;\n }\n}\n\n/**\n * Error thrown when a pending transaction times out waiting for confirmation.\n */\nexport class TransactionTimeoutError extends MimicClientError {\n override readonly _tag = \"TransactionTimeoutError\";\n readonly transaction: Transaction.Transaction;\n readonly timeoutMs: number;\n\n constructor(transaction: Transaction.Transaction, timeoutMs: number) {\n super(\n `Transaction ${transaction.id} timed out after ${timeoutMs}ms waiting for confirmation`\n );\n this.name = \"TransactionTimeoutError\";\n this.transaction = transaction;\n this.timeoutMs = timeoutMs;\n }\n}\n\n/**\n * Error thrown when rebasing operations fails.\n */\nexport class RebaseError extends MimicClientError {\n override readonly _tag = \"RebaseError\";\n readonly transactionId: string;\n\n constructor(transactionId: string, message: string) {\n super(`Failed to rebase transaction ${transactionId}: ${message}`);\n this.name = \"RebaseError\";\n this.transactionId = transactionId;\n }\n}\n\n/**\n * Error thrown when the client document is in an invalid state.\n */\nexport class InvalidStateError extends MimicClientError {\n override readonly _tag = \"InvalidStateError\";\n constructor(message: string) {\n super(message);\n this.name = \"InvalidStateError\";\n }\n}\n\n/**\n * Error thrown when WebSocket connection or communication fails.\n */\nexport class WebSocketError extends MimicClientError {\n override readonly _tag = \"WebSocketError\";\n readonly code?: number;\n readonly reason?: string;\n\n constructor(message: string, code?: number, reason?: string) {\n super(message);\n this.name = \"WebSocketError\";\n this.code = code;\n this.reason = reason;\n }\n}\n\n/**\n * Error thrown when authentication fails.\n */\nexport class AuthenticationError extends MimicClientError {\n override readonly _tag = \"AuthenticationError\";\n constructor(message: string) {\n super(message);\n this.name = \"AuthenticationError\";\n }\n}\n","import * as Document from \"../Document\";\nimport * as Transaction from \"../Transaction\";\nimport * as Presence from \"../Presence\";\nimport type * as Primitive from \"../Primitive\";\nimport type * as Transport from \"./Transport\";\nimport * as Rebase from \"./Rebase\";\nimport {\n TransactionRejectedError,\n NotConnectedError,\n InvalidStateError,\n} from \"./errors\";\n\n// =============================================================================\n// Client Document Types\n// =============================================================================\n\n/**\n * Pending transaction with metadata for tracking.\n */\ninterface PendingTransaction {\n /** The transaction */\n readonly transaction: Transaction.Transaction;\n /** Original transaction before any rebasing */\n readonly original: Transaction.Transaction;\n /** Timestamp when the transaction was sent */\n readonly sentAt: number;\n}\n\n/**\n * Initialization state for the client document.\n * Handles the race condition during startup where transactions\n * may arrive while fetching the initial snapshot.\n */\ntype InitState =\n | { readonly type: \"uninitialized\" }\n | { readonly type: \"initializing\"; readonly bufferedMessages: Transport.ServerMessage[] }\n | { readonly type: \"ready\" };\n\n// =============================================================================\n// Presence Types\n// =============================================================================\n\n/**\n * Listener for presence changes.\n */\nexport interface PresenceListener<_TData> {\n /** Called when any presence changes (self or others) */\n readonly onPresenceChange?: () => void;\n}\n\n/**\n * Presence API exposed on the ClientDocument.\n */\nexport interface ClientPresence<TData> {\n /**\n * Returns this client's connection ID (set after receiving presence_snapshot).\n * Returns undefined before the snapshot is received.\n */\n readonly selfId: () => string | undefined;\n\n /**\n * Returns this client's current presence data.\n * Returns undefined if not set.\n */\n readonly self: () => TData | undefined;\n\n /**\n * Returns a map of other clients' presence data.\n * Keys are connection IDs.\n */\n readonly others: () => ReadonlyMap<string, Presence.PresenceEntry<TData>>;\n\n /**\n * Returns all presence entries including self.\n */\n readonly all: () => ReadonlyMap<string, Presence.PresenceEntry<TData>>;\n\n /**\n * Sets this client's presence data.\n * Validates against the presence schema before sending.\n * @throws ParseError if validation fails\n */\n readonly set: (data: TData) => void;\n\n /**\n * Clears this client's presence data.\n */\n readonly clear: () => void;\n\n /**\n * Subscribes to presence changes.\n * @returns Unsubscribe function\n */\n readonly subscribe: (listener: PresenceListener<TData>) => () => void;\n}\n\n/**\n * Options for creating a ClientDocument.\n */\nexport interface ClientDocumentOptions<\n TSchema extends Primitive.AnyPrimitive,\n TPresence extends Presence.AnyPresence | undefined = undefined\n> {\n /** The schema defining the document structure */\n readonly schema: TSchema;\n /** Transport for server communication */\n readonly transport: Transport.Transport;\n /** Initial state (optional, will sync from server if not provided) */\n readonly initialState?: Primitive.InferState<TSchema>;\n /** Initial server version (optional) */\n readonly initialVersion?: number;\n /** Called when server rejects a transaction */\n readonly onRejection?: (\n transaction: Transaction.Transaction,\n reason: string\n ) => void;\n /** Called when optimistic state changes */\n readonly onStateChange?: (state: Primitive.InferState<TSchema> | undefined) => void;\n /** Called when connection status changes */\n readonly onConnectionChange?: (connected: boolean) => void;\n /** Called when client is fully initialized and ready */\n readonly onReady?: () => void;\n /** Timeout in ms for pending transactions (default: 30000) */\n readonly transactionTimeout?: number;\n /** Timeout in ms for initialization (default: 10000) */\n readonly initTimeout?: number;\n /** Enable debug logging for all activity (default: false) */\n readonly debug?: boolean;\n /**\n * Optional presence schema for ephemeral per-user data.\n * When provided, enables the presence API on the ClientDocument.\n */\n readonly presence?: TPresence;\n /** Initial presence data, that will be set on the ClientDocument when it is created */\n readonly initialPresence?: TPresence extends Presence.AnyPresence ? Presence.Infer<TPresence> : undefined;\n}\n\n/**\n * Listener callbacks for subscribing to ClientDocument events.\n */\nexport interface ClientDocumentListener<TSchema extends Primitive.AnyPrimitive> {\n /** Called when optimistic state changes */\n readonly onStateChange?: (state: Primitive.InferState<TSchema> | undefined) => void;\n /** Called when connection status changes */\n readonly onConnectionChange?: (connected: boolean) => void;\n /** Called when client is fully initialized and ready */\n readonly onReady?: () => void;\n}\n\n/**\n * A ClientDocument provides optimistic updates with server synchronization.\n */\nexport interface ClientDocument<\n TSchema extends Primitive.AnyPrimitive,\n TPresence extends Presence.AnyPresence | undefined = undefined\n> {\n /** The schema defining this document's structure */\n readonly schema: TSchema;\n\n /** Root proxy for accessing and modifying document data (optimistic) */\n readonly root: Primitive.InferProxy<TSchema>;\n\n /** Returns the current optimistic state (server + pending) */\n get(): Primitive.InferState<TSchema> | undefined;\n\n /** Returns the confirmed server state */\n getServerState(): Primitive.InferState<TSchema> | undefined;\n\n /** Returns the current server version */\n getServerVersion(): number;\n\n /** Returns pending transactions count */\n getPendingCount(): number;\n\n /** Returns whether there are pending transactions */\n hasPendingChanges(): boolean;\n\n /**\n * Runs a function within a transaction.\n * Changes are applied optimistically and sent to the server.\n */\n transaction<R>(fn: (root: Primitive.InferProxy<TSchema>) => R): R;\n\n /**\n * Connects to the server and starts syncing.\n */\n connect(): Promise<void>;\n\n /**\n * Disconnects from the server.\n */\n disconnect(): void;\n\n /**\n * Returns whether currently connected to the server.\n */\n isConnected(): boolean;\n\n /**\n * Forces a full resync from the server.\n */\n resync(): void;\n\n /**\n * Returns whether the client is fully initialized and ready.\n */\n isReady(): boolean;\n\n /**\n * Subscribes to document events (state changes, connection changes, ready).\n * @returns Unsubscribe function\n */\n subscribe(listener: ClientDocumentListener<TSchema>): () => void;\n\n /**\n * Presence API for ephemeral per-user data.\n * Only available when presence schema is provided in options.\n */\n readonly presence: TPresence extends Presence.AnyPresence\n ? ClientPresence<Presence.Infer<TPresence>>\n : undefined;\n}\n\n// =============================================================================\n// Client Document Implementation\n// =============================================================================\n\n/**\n * Creates a new ClientDocument for the given schema.\n */\nexport const make = <\n TSchema extends Primitive.AnyPrimitive,\n TPresence extends Presence.AnyPresence | undefined = undefined\n>(\n options: ClientDocumentOptions<TSchema, TPresence>\n): ClientDocument<TSchema, TPresence> => {\n const {\n schema,\n transport,\n initialState,\n initialVersion = 0,\n onRejection,\n onStateChange,\n onConnectionChange,\n onReady,\n transactionTimeout = 30000,\n initTimeout = 10000,\n debug = false,\n presence: presenceSchema,\n initialPresence,\n } = options;\n\n // ==========================================================================\n // Internal State\n // ==========================================================================\n\n // Server-confirmed state\n let _serverState: Primitive.InferState<TSchema> | undefined = initialState;\n let _serverVersion = initialVersion;\n\n // Pending transactions queue\n let _pending: PendingTransaction[] = [];\n\n // Server transactions received (for rebase after rejection)\n let _serverTransactionHistory: Transaction.Transaction[] = [];\n const MAX_HISTORY_SIZE = 100;\n\n // The underlying document for optimistic state\n let _optimisticDoc = Document.make(schema, { initial: _serverState });\n\n // Subscription cleanup\n let _unsubscribe: (() => void) | null = null;\n\n // Timeout handles for pending transactions\n const _timeoutHandles = new Map<string, ReturnType<typeof setTimeout>>();\n\n // Initialization state - handles buffering during startup\n let _initState: InitState = initialState !== undefined\n ? { type: \"ready\" }\n : { type: \"uninitialized\" };\n\n // Init timeout handle\n let _initTimeoutHandle: ReturnType<typeof setTimeout> | null = null;\n\n // Promise resolver for connect() to wait for ready state\n let _initResolver: (() => void) | null = null;\n let _initRejecter: ((error: Error) => void) | null = null;\n\n // Subscribers for events (added after creation via subscribe())\n const _subscribers = new Set<ClientDocumentListener<TSchema>>();\n\n // ==========================================================================\n // Presence State (only used when presenceSchema is provided)\n // ==========================================================================\n\n // This client's connection ID (received from presence_snapshot)\n let _presenceSelfId: string | undefined = undefined;\n\n // This client's current presence data\n let _presenceSelfData: unknown = undefined;\n\n // Other clients' presence entries (connectionId -> entry)\n const _presenceOthers = new Map<string, Presence.PresenceEntry<unknown>>();\n\n // Presence change subscribers\n const _presenceSubscribers = new Set<PresenceListener<unknown>>();\n\n // ==========================================================================\n // Debug Logging\n // ==========================================================================\n\n /**\n * Debug logging helper that only logs when debug is enabled.\n */\n const debugLog = (...args: unknown[]): void => {\n if (debug) {\n console.log(\"[ClientDocument]\", ...args);\n }\n };\n\n // ==========================================================================\n // Notification Helpers\n // ==========================================================================\n\n /**\n * Notifies all listeners of a state change.\n */\n const notifyStateChange = (state: Primitive.InferState<TSchema> | undefined): void => {\n debugLog(\"notifyStateChange\", {\n state,\n subscriberCount: _subscribers.size,\n hasOnStateChange: !!onStateChange,\n });\n onStateChange?.(state);\n for (const listener of _subscribers) {\n listener.onStateChange?.(state);\n }\n };\n\n /**\n * Notifies all listeners of a connection change.\n */\n const notifyConnectionChange = (connected: boolean): void => {\n debugLog(\"notifyConnectionChange\", {\n connected,\n subscriberCount: _subscribers.size,\n hasOnConnectionChange: !!onConnectionChange,\n });\n onConnectionChange?.(connected);\n for (const listener of _subscribers) {\n listener.onConnectionChange?.(connected);\n }\n };\n\n /**\n * Notifies all listeners when ready.\n */\n const notifyReady = (): void => {\n debugLog(\"notifyReady\", {\n subscriberCount: _subscribers.size,\n hasOnReady: !!onReady,\n });\n onReady?.();\n for (const listener of _subscribers) {\n listener.onReady?.();\n }\n };\n\n /**\n * Notifies all presence listeners of a change.\n */\n const notifyPresenceChange = (): void => {\n debugLog(\"notifyPresenceChange\", {\n subscriberCount: _presenceSubscribers.size,\n });\n for (const listener of _presenceSubscribers) {\n try {\n listener.onPresenceChange?.();\n } catch {\n // Ignore listener errors\n }\n }\n };\n\n // ==========================================================================\n // Presence Handlers\n // ==========================================================================\n\n /**\n * Handles incoming presence snapshot from server.\n */\n const handlePresenceSnapshot = (message: Transport.PresenceSnapshotMessage): void => {\n if (!presenceSchema) return;\n\n debugLog(\"handlePresenceSnapshot\", {\n selfId: message.selfId,\n presenceCount: Object.keys(message.presences).length,\n });\n\n _presenceSelfId = message.selfId;\n _presenceOthers.clear();\n\n // Populate others from snapshot (exclude self)\n for (const [id, entry] of Object.entries(message.presences)) {\n if (id !== message.selfId) {\n _presenceOthers.set(id, entry);\n }\n }\n\n notifyPresenceChange();\n };\n\n /**\n * Handles incoming presence update from server (another user).\n */\n const handlePresenceUpdate = (message: Transport.PresenceUpdateMessage): void => {\n if (!presenceSchema) return;\n\n debugLog(\"handlePresenceUpdate\", {\n id: message.id,\n userId: message.userId,\n });\n\n _presenceOthers.set(message.id, {\n data: message.data,\n userId: message.userId,\n });\n\n notifyPresenceChange();\n };\n\n /**\n * Handles incoming presence remove from server (user disconnected).\n */\n const handlePresenceRemove = (message: Transport.PresenceRemoveMessage): void => {\n if (!presenceSchema) return;\n\n debugLog(\"handlePresenceRemove\", {\n id: message.id,\n });\n\n _presenceOthers.delete(message.id);\n notifyPresenceChange();\n };\n\n /**\n * Clears all presence state (on disconnect).\n */\n const clearPresenceState = (): void => {\n _presenceSelfId = undefined;\n _presenceSelfData = undefined;\n _presenceOthers.clear();\n notifyPresenceChange();\n };\n\n // ==========================================================================\n // Helper Functions\n // ==========================================================================\n\n /**\n * Recomputes the optimistic document from server state + pending transactions.\n */\n const recomputeOptimisticState = (): void => {\n debugLog(\"recomputeOptimisticState\", {\n serverVersion: _serverVersion,\n pendingCount: _pending.length,\n serverState: _serverState,\n });\n\n // Create fresh document from server state\n _optimisticDoc = Document.make(schema, { initial: _serverState });\n\n // Apply all pending transactions\n for (const pending of _pending) {\n _optimisticDoc.apply(pending.transaction.ops);\n }\n\n const newState = _optimisticDoc.get();\n debugLog(\"recomputeOptimisticState: new optimistic state\", newState);\n\n // Notify state change\n notifyStateChange(newState);\n };\n\n /**\n * Adds a transaction to pending queue and sends to server.\n */\n const submitTransaction = (tx: Transaction.Transaction): void => {\n if (!transport.isConnected()) {\n throw new NotConnectedError();\n }\n\n debugLog(\"submitTransaction\", {\n txId: tx.id,\n ops: tx.ops,\n pendingCount: _pending.length + 1,\n });\n\n const pending: PendingTransaction = {\n transaction: tx,\n original: tx,\n sentAt: Date.now(),\n };\n\n _pending.push(pending);\n\n // Set timeout for this transaction\n const timeoutHandle = setTimeout(() => {\n handleTransactionTimeout(tx.id);\n }, transactionTimeout);\n _timeoutHandles.set(tx.id, timeoutHandle);\n\n // Send to server\n transport.send(tx);\n debugLog(\"submitTransaction: sent to server\", { txId: tx.id });\n };\n\n /**\n * Handles a transaction timeout.\n */\n const handleTransactionTimeout = (txId: string): void => {\n debugLog(\"handleTransactionTimeout\", { txId });\n const index = _pending.findIndex((p) => p.transaction.id === txId);\n if (index === -1) {\n debugLog(\"handleTransactionTimeout: transaction not found (already confirmed/rejected)\", { txId });\n return; // Already confirmed or rejected\n }\n\n // Remove from pending\n const [removed] = _pending.splice(index, 1);\n _timeoutHandles.delete(txId);\n\n debugLog(\"handleTransactionTimeout: removed from pending\", {\n txId,\n remainingPending: _pending.length,\n });\n\n // Recompute state\n recomputeOptimisticState();\n\n // Notify as rejection\n onRejection?.(removed!.transaction, \"Transaction timed out\");\n };\n\n /**\n * Handles an incoming server transaction.\n */\n const handleServerTransaction = (\n serverTx: Transaction.Transaction,\n version: number\n ): void => {\n debugLog(\"handleServerTransaction\", {\n txId: serverTx.id,\n version,\n ops: serverTx.ops,\n currentServerVersion: _serverVersion,\n pendingCount: _pending.length,\n });\n\n // Update server version\n _serverVersion = version;\n\n // Check if this is one of our pending transactions (ACK)\n const pendingIndex = _pending.findIndex(\n (p) => p.transaction.id === serverTx.id\n );\n\n if (pendingIndex !== -1) {\n // This is our transaction - confirmed!\n debugLog(\"handleServerTransaction: transaction confirmed (ACK)\", {\n txId: serverTx.id,\n pendingIndex,\n });\n\n const confirmed = _pending[pendingIndex]!;\n\n // Clear timeout\n const timeoutHandle = _timeoutHandles.get(serverTx.id);\n if (timeoutHandle) {\n clearTimeout(timeoutHandle);\n _timeoutHandles.delete(serverTx.id);\n }\n\n // Remove from pending\n _pending.splice(pendingIndex, 1);\n\n // Apply to server state\n const tempDoc = Document.make(schema, { initial: _serverState });\n tempDoc.apply(serverTx.ops);\n _serverState = tempDoc.get();\n\n debugLog(\"handleServerTransaction: updated server state\", {\n txId: serverTx.id,\n newServerState: _serverState,\n remainingPending: _pending.length,\n });\n\n // Recompute optimistic state (pending txs already applied, just need to update base)\n recomputeOptimisticState();\n } else {\n // This is someone else's transaction - need to rebase\n debugLog(\"handleServerTransaction: remote transaction, rebasing pending\", {\n txId: serverTx.id,\n pendingCount: _pending.length,\n });\n\n // Apply to server state\n const tempDoc = Document.make(schema, { initial: _serverState });\n tempDoc.apply(serverTx.ops);\n _serverState = tempDoc.get();\n\n // Add to history for potential rebase after rejection\n _serverTransactionHistory.push(serverTx);\n if (_serverTransactionHistory.length > MAX_HISTORY_SIZE) {\n _serverTransactionHistory.shift();\n }\n\n // Rebase all pending transactions using primitive-based transformation\n const rebasedPending = _pending.map((p) => ({\n ...p,\n transaction: Rebase.transformTransactionWithPrimitive(p.transaction, serverTx, schema),\n }));\n\n debugLog(\"handleServerTransaction: rebased pending transactions\", {\n txId: serverTx.id,\n rebasedCount: rebasedPending.length,\n originalPendingIds: _pending.map((p) => p.transaction.id),\n rebasedPendingIds: rebasedPending.map((p) => p.transaction.id),\n });\n\n _pending = rebasedPending;\n\n // Recompute optimistic state\n recomputeOptimisticState();\n }\n };\n\n /**\n * Handles a transaction rejection from the server.\n */\n const handleRejection = (txId: string, reason: string): void => {\n debugLog(\"handleRejection\", {\n txId,\n reason,\n pendingCount: _pending.length,\n });\n\n const index = _pending.findIndex((p) => p.transaction.id === txId);\n if (index === -1) {\n debugLog(\"handleRejection: transaction not found (already removed)\", { txId });\n return; // Already removed\n }\n\n const rejected = _pending[index]!;\n\n // Clear timeout\n const timeoutHandle = _timeoutHandles.get(txId);\n if (timeoutHandle) {\n clearTimeout(timeoutHandle);\n _timeoutHandles.delete(txId);\n }\n\n // Remove rejected transaction\n _pending.splice(index, 1);\n\n debugLog(\"handleRejection: removed rejected transaction, rebasing remaining\", {\n txId,\n remainingPending: _pending.length,\n serverHistorySize: _serverTransactionHistory.length,\n });\n\n // Re-transform remaining pending transactions without the rejected one\n // We need to replay from their original state\n const remainingOriginals = _pending.map((p) => p.original);\n const retransformed = Rebase.rebaseAfterRejectionWithPrimitive(\n [...remainingOriginals, rejected.original],\n txId,\n _serverTransactionHistory,\n schema\n );\n\n // Update pending with retransformed versions\n _pending = _pending.map((p, i) => ({\n ...p,\n transaction: retransformed[i] ?? p.transaction,\n }));\n\n debugLog(\"handleRejection: rebased remaining transactions\", {\n txId,\n rebasedCount: _pending.length,\n });\n\n // Recompute optimistic state\n recomputeOptimisticState();\n\n // Notify rejection\n onRejection?.(rejected.original, reason);\n };\n\n /**\n * Handles a snapshot from the server.\n * @param isInitialSnapshot - If true, this is the initial sync snapshot\n */\n const handleSnapshot = (state: unknown, version: number, isInitialSnapshot: boolean = false): void => {\n debugLog(\"handleSnapshot\", {\n isInitialSnapshot,\n version,\n currentServerVersion: _serverVersion,\n pendingCount: _pending.length,\n state,\n });\n\n if (!isInitialSnapshot) {\n debugLog(\"handleSnapshot: non-initial snapshot, clearing pending transactions\", {\n clearedPendingCount: _pending.length,\n });\n\n // For non-initial snapshots, clear all pending (they're now invalid)\n for (const handle of _timeoutHandles.values()) {\n clearTimeout(handle);\n }\n _timeoutHandles.clear();\n\n // Notify rejections for all pending\n for (const pending of _pending) {\n onRejection?.(pending.original, \"State reset due to resync\");\n }\n\n _pending = [];\n }\n\n _serverTransactionHistory = [];\n _serverState = state as Primitive.InferState<TSchema>;\n _serverVersion = version;\n\n debugLog(\"handleSnapshot: updated server state\", {\n newVersion: _serverVersion,\n newState: _serverState,\n });\n\n // Recompute optimistic state (now equals server state)\n recomputeOptimisticState();\n };\n\n /**\n * Processes buffered messages after receiving the initial snapshot.\n * Filters out transactions already included in the snapshot (version <= snapshotVersion)\n * and applies newer transactions in order.\n */\n const processBufferedMessages = (\n bufferedMessages: Transport.ServerMessage[],\n snapshotVersion: number\n ): void => {\n debugLog(\"processBufferedMessages\", {\n bufferedCount: bufferedMessages.length,\n snapshotVersion,\n });\n\n // Sort transactions by version to ensure correct order\n const sortedMessages = [...bufferedMessages].sort((a, b) => {\n if (a.type === \"transaction\" && b.type === \"transaction\") {\n return a.version - b.version;\n }\n return 0;\n });\n\n // Process each buffered message\n for (const message of sortedMessages) {\n switch (message.type) {\n case \"transaction\":\n // Only apply transactions with version > snapshot version\n if (message.version > snapshotVersion) {\n debugLog(\"processBufferedMessages: applying buffered transaction\", {\n txId: message.transaction.id,\n version: message.version,\n snapshotVersion,\n });\n handleServerTransaction(message.transaction, message.version);\n } else {\n debugLog(\"processBufferedMessages: skipping buffered transaction (already in snapshot)\", {\n txId: message.transaction.id,\n version: message.version,\n snapshotVersion,\n });\n }\n break;\n case \"error\":\n // Errors are still relevant - pass through\n debugLog(\"processBufferedMessages: processing buffered error\", {\n txId: message.transactionId,\n reason: message.reason,\n });\n handleRejection(message.transactionId, message.reason);\n break;\n // Ignore additional snapshots in buffer - we already have one\n }\n }\n };\n\n /**\n * Completes initialization and transitions to ready state.\n */\n const completeInitialization = (): void => {\n debugLog(\"completeInitialization\");\n\n // Clear init timeout\n if (_initTimeoutHandle !== null) {\n clearTimeout(_initTimeoutHandle);\n _initTimeoutHandle = null;\n }\n\n _initState = { type: \"ready\" };\n\n // Resolve the connect promise\n if (_initResolver) {\n _initResolver();\n _initResolver = null;\n _initRejecter = null;\n }\n\n debugLog(\"completeInitialization: ready\", {\n serverVersion: _serverVersion,\n serverState: _serverState,\n });\n\n // Notify ready\n notifyReady();\n };\n\n /**\n * Handles initialization timeout.\n */\n const handleInitTimeout = (): void => {\n debugLog(\"handleInitTimeout: initialization timed out\");\n _initTimeoutHandle = null;\n\n // Reject the connect promise\n if (_initRejecter) {\n const error = new Error(\"Initialization timed out waiting for snapshot\");\n _initRejecter(error);\n _initResolver = null;\n _initRejecter = null;\n }\n\n // Reset to uninitialized state\n _initState = { type: \"uninitialized\" };\n };\n\n /**\n * Handles incoming server messages.\n * During initialization, messages are buffered until the snapshot arrives.\n * Presence messages are always processed immediately (not buffered).\n */\n const handleServerMessage = (message: Transport.ServerMessage): void => {\n debugLog(\"handleServerMessage\", {\n messageType: message.type,\n initState: _initState.type,\n });\n\n // Presence messages are always handled immediately (not buffered)\n // This allows presence to work even during document initialization\n if (message.type === \"presence_snapshot\") {\n handlePresenceSnapshot(message);\n return;\n }\n if (message.type === \"presence_update\") {\n handlePresenceUpdate(message);\n return;\n }\n if (message.type === \"presence_remove\") {\n handlePresenceRemove(message);\n return;\n }\n\n // Handle based on initialization state\n if (_initState.type === \"initializing\") {\n if (message.type === \"snapshot\") {\n debugLog(\"handleServerMessage: received snapshot during initialization\", {\n version: message.version,\n bufferedCount: _initState.bufferedMessages.length,\n });\n // Snapshot received - apply it and process buffered messages\n const buffered = _initState.bufferedMessages;\n handleSnapshot(message.state, message.version, true);\n processBufferedMessages(buffered, message.version);\n completeInitialization();\n } else {\n debugLog(\"handleServerMessage: buffering message during initialization\", {\n messageType: message.type,\n bufferedCount: _initState.bufferedMessages.length + 1,\n });\n // Buffer other messages during initialization\n _initState.bufferedMessages.push(message);\n }\n return;\n }\n\n // Normal message handling when ready (or uninitialized with initial state)\n switch (message.type) {\n case \"transaction\":\n handleServerTransaction(message.transaction, message.version);\n break;\n case \"snapshot\":\n handleSnapshot(message.state, message.version, false);\n break;\n case \"error\":\n handleRejection(message.transactionId, message.reason);\n break;\n }\n };\n\n // ==========================================================================\n // Public API\n // ==========================================================================\n\n const clientDocument = {\n schema,\n\n get root() {\n return _optimisticDoc.root;\n },\n\n get: () => _optimisticDoc.get(),\n\n getServerState: () => _serverState,\n\n getServerVersion: () => _serverVersion,\n\n getPendingCount: () => _pending.length,\n\n hasPendingChanges: () => _pending.length > 0,\n\n transaction: <R,>(fn: (root: Primitive.InferProxy<TSchema>) => R): R => {\n debugLog(\"transaction: starting\", {\n isConnected: transport.isConnected(),\n isReady: _initState.type === \"ready\",\n pendingCount: _pending.length,\n });\n\n if (!transport.isConnected()) {\n throw new NotConnectedError();\n }\n\n if (_initState.type !== \"ready\") {\n throw new InvalidStateError(\"Client is not ready. Wait for initialization to complete.\");\n }\n\n // Run the transaction on the optimistic document\n const result = _optimisticDoc.transaction(fn);\n\n // Flush and get the transaction\n const tx = _optimisticDoc.flush();\n\n // If there are operations, submit to server\n if (!Transaction.isEmpty(tx)) {\n debugLog(\"transaction: flushed, submitting\", {\n txId: tx.id,\n opsCount: tx.ops.length,\n });\n submitTransaction(tx);\n } else {\n debugLog(\"transaction: flushed, empty transaction (no ops)\");\n }\n\n // Notify state change\n notifyStateChange(_optimisticDoc.get());\n\n return result;\n },\n\n connect: async (): Promise<void> => {\n debugLog(\"connect: starting\");\n // Subscribe to server messages\n _unsubscribe = transport.subscribe(handleServerMessage);\n\n // Connect transport\n await transport.connect();\n debugLog(\"connect: transport connected\");\n\n notifyConnectionChange(true);\n\n // Set initial presence if provided\n if (presenceSchema && initialPresence !== undefined) {\n debugLog(\"connect: setting initial presence\", { initialPresence });\n const validated = Presence.validate(presenceSchema, initialPresence);\n _presenceSelfData = validated;\n transport.sendPresenceSet(validated);\n notifyPresenceChange();\n }\n\n // If we already have initial state, we're ready immediately\n if (_initState.type === \"ready\") {\n debugLog(\"connect: already ready (has initial state)\");\n notifyReady();\n return;\n }\n\n // Enter initializing state - buffer messages until snapshot arrives\n _initState = { type: \"initializing\", bufferedMessages: [] };\n debugLog(\"connect: entering initializing state\", {\n initTimeout,\n });\n\n // Set up initialization timeout\n _initTimeoutHandle = setTimeout(handleInitTimeout, initTimeout);\n\n // Create a promise that resolves when we're ready\n const readyPromise = new Promise<void>((resolve, reject) => {\n _initResolver = resolve;\n _initRejecter = reject;\n });\n\n // Request initial snapshot\n debugLog(\"connect: requesting initial snapshot\");\n \n transport.requestSnapshot();\n\n\n // Wait for initialization to complete\n await readyPromise;\n debugLog(\"connect: completed\");\n },\n\n disconnect: (): void => {\n debugLog(\"disconnect: starting\", {\n pendingCount: _pending.length,\n initState: _initState.type,\n });\n\n // Clear all timeouts\n for (const handle of _timeoutHandles.values()) {\n clearTimeout(handle);\n }\n _timeoutHandles.clear();\n\n // Clear init timeout\n if (_initTimeoutHandle !== null) {\n clearTimeout(_initTimeoutHandle);\n _initTimeoutHandle = null;\n }\n\n // Reject any pending init promise\n if (_initRejecter) {\n _initRejecter(new Error(\"Disconnected during initialization\"));\n _initResolver = null;\n _initRejecter = null;\n }\n\n // Reset init state\n if (_initState.type === \"initializing\") {\n _initState = { type: \"uninitialized\" };\n }\n\n // Clear presence state\n clearPresenceState();\n\n // Unsubscribe\n if (_unsubscribe) {\n _unsubscribe();\n _unsubscribe = null;\n }\n\n // Disconnect transport\n transport.disconnect();\n\n notifyConnectionChange(false);\n debugLog(\"disconnect: completed\");\n },\n\n isConnected: () => transport.isConnected(),\n\n isReady: () => _initState.type === \"ready\",\n\n resync: (): void => {\n debugLog(\"resync: requesting snapshot\", {\n currentVersion: _serverVersion,\n pendingCount: _pending.length,\n });\n if (!transport.isConnected()) {\n throw new NotConnectedError();\n }\n transport.requestSnapshot();\n },\n\n subscribe: (listener: ClientDocumentListener<TSchema>): (() => void) => {\n _subscribers.add(listener);\n return () => {\n _subscribers.delete(listener);\n };\n },\n\n // =========================================================================\n // Presence API\n // =========================================================================\n\n presence: (presenceSchema\n ? {\n selfId: () => _presenceSelfId,\n\n self: () => _presenceSelfData as Presence.Infer<NonNullable<TPresence>> | undefined,\n\n others: () => _presenceOthers as ReadonlyMap<string, Presence.PresenceEntry<Presence.Infer<NonNullable<TPresence>>>>,\n\n all: () => {\n const all = new Map<string, Presence.PresenceEntry<unknown>>();\n // Add others\n for (const [id, entry] of _presenceOthers) {\n all.set(id, entry);\n }\n // Add self if we have data\n if (_presenceSelfId !== undefined && _presenceSelfData !== undefined) {\n all.set(_presenceSelfId, { data: _presenceSelfData });\n }\n return all as ReadonlyMap<string, Presence.PresenceEntry<Presence.Infer<NonNullable<TPresence>>>>;\n },\n\n set: (data: Presence.Infer<NonNullable<TPresence>>) => {\n if (!presenceSchema) return;\n\n // Validate against schema (throws if invalid)\n const validated = Presence.validate(presenceSchema, data);\n\n debugLog(\"presence.set\", { data: validated });\n\n // Update local state\n _presenceSelfData = validated;\n\n // Send to server\n transport.sendPresenceSet(validated);\n\n // Notify listeners\n notifyPresenceChange();\n },\n\n clear: () => {\n if (!presenceSchema) return;\n\n debugLog(\"presence.clear\");\n\n // Clear local state\n _presenceSelfData = undefined;\n\n // Send to server\n transport.sendPresenceClear();\n\n // Notify listeners\n notifyPresenceChange();\n },\n\n subscribe: (listener: PresenceListener<Presence.Infer<NonNullable<TPresence>>>) => {\n _presenceSubscribers.add(listener as PresenceListener<unknown>);\n return () => {\n _presenceSubscribers.delete(listener as PresenceListener<unknown>);\n };\n },\n }\n : undefined) as TPresence extends Presence.AnyPresence\n ? ClientPresence<Presence.Infer<TPresence>>\n : undefined,\n } as ClientDocument<TSchema, TPresence>;\n\n return clientDocument;\n};\n","import type * as Transaction from \"../Transaction\";\n\n// =============================================================================\n// Server Messages\n// =============================================================================\n\n/**\n * Message received when the server broadcasts a committed transaction.\n */\nexport interface TransactionMessage {\n readonly type: \"transaction\";\n readonly transaction: Transaction.Transaction;\n /** Server-assigned version number for ordering */\n readonly version: number;\n}\n\n/**\n * Message received when requesting or receiving a full state snapshot.\n */\nexport interface SnapshotMessage {\n readonly type: \"snapshot\";\n readonly state: unknown;\n readonly version: number;\n}\n\n/**\n * Message received when the server rejects a transaction.\n */\nexport interface ErrorMessage {\n readonly type: \"error\";\n readonly transactionId: string;\n readonly reason: string;\n}\n\n/**\n * Message received in response to a ping (heartbeat).\n */\nexport interface PongMessage {\n readonly type: \"pong\";\n}\n\n/**\n * Message received after authentication attempt.\n */\nexport interface AuthResultMessage {\n readonly type: \"auth_result\";\n readonly success: boolean;\n readonly error?: string;\n}\n\n// =============================================================================\n// Presence Server Messages\n// =============================================================================\n\n/**\n * A presence entry as transmitted.\n */\nexport interface PresenceEntry {\n /** The presence data */\n readonly data: unknown;\n /** Optional user ID from authentication */\n readonly userId?: string;\n}\n\n/**\n * Message received with initial presence state after authentication.\n */\nexport interface PresenceSnapshotMessage {\n readonly type: \"presence_snapshot\";\n /** This connection's ID (used to identify self) */\n readonly selfId: string;\n /** Map of connectionId to presence entry */\n readonly presences: Record<string, PresenceEntry>;\n}\n\n/**\n * Message received when another user updates their presence.\n */\nexport interface PresenceUpdateMessage {\n readonly type: \"presence_update\";\n /** The connection ID of the user who updated */\n readonly id: string;\n /** The presence data */\n readonly data: unknown;\n /** Optional user ID from authentication */\n readonly userId?: string;\n}\n\n/**\n * Message received when another user's presence is removed (disconnect).\n */\nexport interface PresenceRemoveMessage {\n readonly type: \"presence_remove\";\n /** The connection ID of the user who disconnected */\n readonly id: string;\n}\n\n/**\n * Union of all possible server messages.\n */\nexport type ServerMessage =\n | TransactionMessage\n | SnapshotMessage\n | ErrorMessage\n | PongMessage\n | AuthResultMessage\n | PresenceSnapshotMessage\n | PresenceUpdateMessage\n | PresenceRemoveMessage;\n\n// =============================================================================\n// Client Messages\n// =============================================================================\n\n/**\n * Message sent to submit a transaction to the server.\n */\nexport interface SubmitTransactionMessage {\n readonly type: \"submit\";\n readonly transaction: Transaction.Transaction;\n}\n\n/**\n * Message sent to request a full state snapshot.\n */\nexport interface RequestSnapshotMessage {\n readonly type: \"request_snapshot\";\n}\n\n/**\n * Message sent as heartbeat ping.\n */\nexport interface PingMessage {\n readonly type: \"ping\";\n}\n\n/**\n * Message sent to authenticate with the server.\n */\nexport interface AuthMessage {\n readonly type: \"auth\";\n readonly token: string;\n}\n\n// =============================================================================\n// Presence Client Messages\n// =============================================================================\n\n/**\n * Message sent to set/update this client's presence.\n */\nexport interface PresenceSetMessage {\n readonly type: \"presence_set\";\n /** The presence data (validated against schema on client before sending) */\n readonly data: unknown;\n}\n\n/**\n * Message sent to clear this client's presence.\n */\nexport interface PresenceClearMessage {\n readonly type: \"presence_clear\";\n}\n\n/**\n * Union of all possible client messages.\n */\nexport type ClientMessage =\n | SubmitTransactionMessage\n | RequestSnapshotMessage\n | PingMessage\n | AuthMessage\n | PresenceSetMessage\n | PresenceClearMessage;\n\n// =============================================================================\n// Encoded Message Types (for network transport)\n// =============================================================================\n\n/**\n * Encoded transaction message for network transport.\n */\nexport interface EncodedTransactionMessage {\n readonly type: \"transaction\";\n readonly transaction: Transaction.EncodedTransaction;\n readonly version: number;\n}\n\n/**\n * Encoded submit message for network transport.\n */\nexport interface EncodedSubmitTransactionMessage {\n readonly type: \"submit\";\n readonly transaction: Transaction.EncodedTransaction;\n}\n\n/**\n * Union of all possible encoded server messages (for network transport).\n */\nexport type EncodedServerMessage =\n | EncodedTransactionMessage\n | SnapshotMessage\n | ErrorMessage\n | PongMessage\n | AuthResultMessage\n | PresenceSnapshotMessage\n | PresenceUpdateMessage\n | PresenceRemoveMessage;\n\n/**\n * Union of all possible encoded client messages (for network transport).\n */\nexport type EncodedClientMessage =\n | EncodedSubmitTransactionMessage\n | RequestSnapshotMessage\n | PingMessage\n | AuthMessage\n | PresenceSetMessage\n | PresenceClearMessage;\n\n// =============================================================================\n// Transport Interface\n// =============================================================================\n\n/**\n * Abstract transport interface for server communication.\n * Implementations can use WebSocket, HTTP, or any other protocol.\n */\nexport interface Transport {\n /**\n * Sends a transaction to the server for processing.\n * @param transaction - The transaction to submit\n */\n readonly send: (transaction: Transaction.Transaction) => void;\n\n /**\n * Requests a full state snapshot from the server.\n * Used for initial sync or recovery from drift.\n */\n readonly requestSnapshot: () => void;\n\n /**\n * Subscribes to messages from the server.\n * @param handler - Callback invoked for each server message\n * @returns Unsubscribe function\n */\n readonly subscribe: (handler: (message: ServerMessage) => void) => () => void;\n\n /**\n * Establishes connection to the server.\n * @returns Promise that resolves when connected\n */\n readonly connect: () => Promise<void>;\n\n /**\n * Disconnects from the server.\n */\n readonly disconnect: () => void;\n\n /**\n * Returns whether the transport is currently connected.\n */\n readonly isConnected: () => boolean;\n\n // ===========================================================================\n // Presence Methods\n // ===========================================================================\n\n /**\n * Sends presence data to the server.\n * The data should be validated against the presence schema before calling.\n * @param data - The presence data to set\n */\n readonly sendPresenceSet: (data: unknown) => void;\n\n /**\n * Clears this client's presence on the server.\n */\n readonly sendPresenceClear: () => void;\n}\n\n// =============================================================================\n// Transport Events\n// =============================================================================\n\n/**\n * Events emitted by the transport for connection status.\n */\nexport type TransportEvent =\n | { type: \"connected\" }\n | { type: \"disconnected\"; reason?: string }\n | { type: \"reconnecting\"; attempt: number }\n | { type: \"error\"; error: Error };\n\n/**\n * Handler for transport events.\n */\nexport type TransportEventHandler = (event: TransportEvent) => void;\n\n// =============================================================================\n// Transport Options\n// =============================================================================\n\n/**\n * Options for creating a transport.\n */\nexport interface TransportOptions {\n /** Handler for transport lifecycle events */\n readonly onEvent?: TransportEventHandler;\n /** Timeout in milliseconds for connection attempts */\n readonly connectionTimeout?: number;\n /** Whether to automatically reconnect on disconnect */\n readonly autoReconnect?: boolean;\n /** Maximum number of reconnection attempts */\n readonly maxReconnectAttempts?: number;\n /** Base delay between reconnection attempts (ms) */\n readonly reconnectDelay?: number;\n}\n","import * as Transaction from \"../Transaction\";\n\nimport * as Transport from \"./Transport\";\nimport { WebSocketError, AuthenticationError } from \"./errors\";\n\n// =============================================================================\n// WebSocket Transport Options\n// =============================================================================\n\n/**\n * Options for creating a WebSocket transport.\n */\nexport interface WebSocketTransportOptions extends Transport.TransportOptions {\n /** WebSocket URL (ws:// or wss://) - base URL without document path */\n readonly url: string;\n /** Document ID to connect to. Will be appended to URL as /doc/{documentId} */\n readonly documentId?: string;\n /** WebSocket subprotocols */\n readonly protocols?: string[];\n /** Authentication token or function that returns a token */\n readonly authToken?: string | (() => string | Promise<string>);\n /** Interval between heartbeat pings (ms). Default: 30000 */\n readonly heartbeatInterval?: number;\n /** Timeout to wait for pong response (ms). Default: 10000 */\n readonly heartbeatTimeout?: number;\n /** Maximum delay between reconnection attempts (ms). Default: 30000 */\n readonly maxReconnectDelay?: number;\n}\n\n// =============================================================================\n// Connection State\n// =============================================================================\n\ntype ConnectionState =\n | { type: \"disconnected\" }\n | { type: \"connecting\" }\n | { type: \"authenticating\" }\n | { type: \"connected\" }\n | { type: \"reconnecting\"; attempt: number };\n\n// =============================================================================\n// WebSocket Transport Implementation\n// =============================================================================\n\n/**\n * Creates a WebSocket-based transport for real-time server communication.\n */\n/**\n * Build the WebSocket URL with optional document ID path.\n */\nconst buildWebSocketUrl = (baseUrl: string, documentId?: string): string => {\n if (!documentId) {\n return baseUrl;\n }\n // Remove trailing slash from base URL\n const normalizedBase = baseUrl.replace(/\\/+$/, \"\");\n // Encode the document ID for URL safety\n const encodedDocId = encodeURIComponent(documentId);\n return `${normalizedBase}/doc/${encodedDocId}`;\n};\n\nexport const make = (options: WebSocketTransportOptions): Transport.Transport => {\n const {\n url: baseUrl,\n documentId,\n protocols,\n authToken,\n onEvent,\n connectionTimeout = 10000,\n autoReconnect = true,\n maxReconnectAttempts = 10,\n reconnectDelay = 1000,\n maxReconnectDelay = 30000,\n heartbeatInterval = 30000,\n heartbeatTimeout = 10000,\n } = options;\n\n // Build the full URL with document ID if provided\n const url = buildWebSocketUrl(baseUrl, documentId);\n\n // ==========================================================================\n // Internal State\n // ==========================================================================\n\n let _state: ConnectionState = { type: \"disconnected\" };\n let _ws: WebSocket | null = null;\n let _messageHandlers: Set<(message: Transport.ServerMessage) => void> = new Set();\n\n // Timers\n let _connectionTimeoutHandle: ReturnType<typeof setTimeout> | null = null;\n let _heartbeatIntervalHandle: ReturnType<typeof setInterval> | null = null;\n let _heartbeatTimeoutHandle: ReturnType<typeof setTimeout> | null = null;\n let _reconnectTimeoutHandle: ReturnType<typeof setTimeout> | null = null;\n\n // Message queue for messages sent while reconnecting\n let _messageQueue: Transport.ClientMessage[] = [];\n\n // Promise resolvers for connect()\n let _connectResolver: (() => void) | null = null;\n let _connectRejecter: ((error: Error) => void) | null = null;\n\n // Track reconnection attempt count (persists through connecting state)\n let _reconnectAttempt = 0;\n\n // ==========================================================================\n // Helper Functions\n // ==========================================================================\n\n const emit = (handler: Transport.TransportEventHandler | undefined, event: Parameters<Transport.TransportEventHandler>[0]) => {\n handler?.(event);\n };\n\n /**\n * Encodes a client message for network transport.\n */\n const encodeClientMessage = (message: Transport.ClientMessage): Transport.EncodedClientMessage => {\n if (message.type === \"submit\") {\n return {\n type: \"submit\",\n transaction: Transaction.encode(message.transaction),\n };\n }\n return message;\n };\n\n /**\n * Decodes a server message from network transport.\n */\n const decodeServerMessage = (encoded: Transport.EncodedServerMessage): Transport.ServerMessage => {\n if (encoded.type === \"transaction\") {\n return {\n type: \"transaction\",\n transaction: Transaction.decode(encoded.transaction),\n version: encoded.version,\n };\n }\n return encoded;\n };\n\n /**\n * Sends a raw message over the WebSocket.\n */\n const sendRaw = (message: Transport.ClientMessage): void => {\n if (_ws && _ws.readyState === WebSocket.OPEN) {\n _ws.send(JSON.stringify(encodeClientMessage(message)));\n }\n };\n\n /**\n * Clears all active timers.\n */\n const clearTimers = (): void => {\n if (_connectionTimeoutHandle) {\n clearTimeout(_connectionTimeoutHandle);\n _connectionTimeoutHandle = null;\n }\n if (_heartbeatIntervalHandle) {\n clearInterval(_heartbeatIntervalHandle);\n _heartbeatIntervalHandle = null;\n }\n if (_heartbeatTimeoutHandle) {\n clearTimeout(_heartbeatTimeoutHandle);\n _heartbeatTimeoutHandle = null;\n }\n if (_reconnectTimeoutHandle) {\n clearTimeout(_reconnectTimeoutHandle);\n _reconnectTimeoutHandle = null;\n }\n };\n\n /**\n * Starts the heartbeat mechanism.\n */\n const startHeartbeat = (): void => {\n stopHeartbeat();\n\n _heartbeatIntervalHandle = setInterval(() => {\n if (_state.type !== \"connected\") return;\n\n // Send ping\n sendRaw({ type: \"ping\" });\n\n // Set timeout for pong response\n _heartbeatTimeoutHandle = setTimeout(() => {\n // No pong received - connection is dead\n handleConnectionLost(\"Heartbeat timeout\");\n }, heartbeatTimeout);\n }, heartbeatInterval);\n };\n\n /**\n * Stops the heartbeat mechanism.\n */\n const stopHeartbeat = (): void => {\n if (_heartbeatIntervalHandle) {\n clearInterval(_heartbeatIntervalHandle);\n _heartbeatIntervalHandle = null;\n }\n if (_heartbeatTimeoutHandle) {\n clearTimeout(_heartbeatTimeoutHandle);\n _heartbeatTimeoutHandle = null;\n }\n };\n\n /**\n * Handles pong response - clears the heartbeat timeout.\n */\n const handlePong = (): void => {\n if (_heartbeatTimeoutHandle) {\n clearTimeout(_heartbeatTimeoutHandle);\n _heartbeatTimeoutHandle = null;\n }\n };\n\n /**\n * Flushes the message queue after reconnection.\n */\n const flushMessageQueue = (): void => {\n const queue = _messageQueue;\n _messageQueue = [];\n for (const message of queue) {\n sendRaw(message);\n }\n };\n\n /**\n * Calculates reconnection delay with exponential backoff.\n */\n const getReconnectDelay = (attempt: number): number => {\n const delay = reconnectDelay * Math.pow(2, attempt);\n return Math.min(delay, maxReconnectDelay);\n };\n\n /**\n * Resolves the auth token (handles both string and function).\n * Returns empty string if no token is configured.\n */\n const resolveAuthToken = async (): Promise<string> => {\n if (!authToken) return \"\";\n if (typeof authToken === \"string\") return authToken;\n return authToken();\n };\n\n /**\n * Performs authentication after connection.\n * Always sends an auth message (even with empty token) to trigger server auth flow.\n */\n const authenticate = async (): Promise<void> => {\n const token = await resolveAuthToken();\n _state = { type: \"authenticating\" };\n sendRaw({ type: \"auth\", token });\n };\n\n /**\n * Handles authentication result from server.\n */\n const handleAuthResult = (success: boolean, error?: string): void => {\n if (!success) {\n const authError = new AuthenticationError(error || \"Authentication failed\");\n cleanup();\n _connectRejecter?.(authError);\n _connectResolver = null;\n _connectRejecter = null;\n emit(onEvent, { type: \"error\", error: authError });\n return;\n }\n\n // Auth successful - complete connection\n completeConnection();\n };\n\n /**\n * Completes the connection process.\n */\n const completeConnection = (): void => {\n _state = { type: \"connected\" };\n\n // Reset reconnection attempt counter on successful connection\n _reconnectAttempt = 0;\n\n // Clear connection timeout\n if (_connectionTimeoutHandle) {\n clearTimeout(_connectionTimeoutHandle);\n _connectionTimeoutHandle = null;\n }\n\n // Start heartbeat\n startHeartbeat();\n\n // Flush any queued messages\n flushMessageQueue();\n\n // Resolve connect promise\n _connectResolver?.();\n _connectResolver = null;\n _connectRejecter = null;\n\n emit(onEvent, { type: \"connected\" });\n };\n\n /**\n * Cleans up WebSocket and related state.\n */\n const cleanup = (): void => {\n clearTimers();\n\n if (_ws) {\n // Remove listeners to prevent callbacks\n _ws.onopen = null;\n _ws.onclose = null;\n _ws.onerror = null;\n _ws.onmessage = null;\n \n if (_ws.readyState === WebSocket.OPEN || _ws.readyState === WebSocket.CONNECTING) {\n _ws.close();\n }\n _ws = null;\n }\n };\n\n /**\n * Handles connection lost - initiates reconnection if enabled.\n */\n const handleConnectionLost = (reason?: string): void => {\n cleanup();\n\n if (_state.type === \"disconnected\") return;\n\n const wasInitialConnect = _connectRejecter !== null;\n\n if (wasInitialConnect) {\n // Failed during initial connection\n _state = { type: \"disconnected\" };\n _reconnectAttempt = 0;\n _connectRejecter!(new WebSocketError(\"Connection failed\", undefined, reason));\n _connectResolver = null;\n _connectRejecter = null;\n emit(onEvent, { type: \"disconnected\", reason });\n return;\n }\n\n if (!autoReconnect) {\n _state = { type: \"disconnected\" };\n _reconnectAttempt = 0;\n emit(onEvent, { type: \"disconnected\", reason });\n return;\n }\n\n _reconnectAttempt++;\n\n if (_reconnectAttempt > maxReconnectAttempts) {\n _state = { type: \"disconnected\" };\n _reconnectAttempt = 0;\n emit(onEvent, { type: \"disconnected\", reason: \"Max reconnection attempts reached\" });\n return;\n }\n\n // Enter reconnecting state\n _state = { type: \"reconnecting\", attempt: _reconnectAttempt };\n emit(onEvent, { type: \"reconnecting\", attempt: _reconnectAttempt });\n\n // Schedule reconnection\n const delay = getReconnectDelay(_reconnectAttempt - 1);\n _reconnectTimeoutHandle = setTimeout(() => {\n _reconnectTimeoutHandle = null;\n attemptConnection();\n }, delay);\n };\n\n /**\n * Attempts to establish WebSocket connection.\n */\n const attemptConnection = (): void => {\n if (_state.type === \"connected\") return;\n\n _state = { type: \"connecting\" };\n\n try {\n _ws = new WebSocket(url, protocols);\n } catch (error) {\n handleConnectionLost((error as Error).message);\n return;\n }\n\n // Set connection timeout\n _connectionTimeoutHandle = setTimeout(() => {\n _connectionTimeoutHandle = null;\n handleConnectionLost(\"Connection timeout\");\n }, connectionTimeout);\n\n _ws.onopen = async () => {\n // Clear connection timeout\n if (_connectionTimeoutHandle) {\n clearTimeout(_connectionTimeoutHandle);\n _connectionTimeoutHandle = null;\n }\n\n try {\n // Always authenticate (even with empty token) to trigger server auth flow\n await authenticate();\n // Connection completes after auth_result is received\n } catch (error) {\n handleConnectionLost((error as Error).message);\n }\n };\n\n _ws.onclose = (event) => {\n handleConnectionLost(event.reason || `Connection closed (code: ${event.code})`);\n };\n\n _ws.onerror = () => {\n // Error details come through onclose\n };\n\n _ws.onmessage = (event) => {\n try {\n const encoded = JSON.parse(event.data as string) as Transport.EncodedServerMessage;\n const message = decodeServerMessage(encoded);\n handleMessage(message);\n } catch {\n // Invalid message - ignore\n }\n };\n };\n\n /**\n * Handles incoming server messages.\n */\n const handleMessage = (message: Transport.ServerMessage): void => {\n // Handle internal messages\n if (message.type === \"pong\") {\n handlePong();\n return;\n }\n\n if (message.type === \"auth_result\") {\n handleAuthResult(message.success, message.error);\n return;\n }\n\n // Forward to subscribers\n for (const handler of _messageHandlers) {\n try {\n handler(message);\n } catch {\n // Ignore handler errors\n }\n }\n };\n\n // ==========================================================================\n // Public API\n // ==========================================================================\n\n const transport: Transport.Transport = {\n send: (transaction: Transaction.Transaction): void => {\n const message: Transport.ClientMessage = { type: \"submit\", transaction };\n\n if (_state.type === \"connected\") {\n sendRaw(message);\n } else if (_state.type === \"reconnecting\") {\n // Queue message for when we reconnect\n _messageQueue.push(message);\n }\n // If disconnected, silently drop (caller should check isConnected)\n },\n\n requestSnapshot: (): void => {\n const message: Transport.ClientMessage = { type: \"request_snapshot\" };\n\n if (_state.type === \"connected\") {\n sendRaw(message);\n } else if (_state.type === \"reconnecting\") {\n _messageQueue.push(message);\n }\n },\n\n subscribe: (handler: (message: Transport.ServerMessage) => void): (() => void) => {\n _messageHandlers.add(handler);\n return () => {\n _messageHandlers.delete(handler);\n };\n },\n\n connect: async (): Promise<void> => {\n if (_state.type === \"connected\") {\n return;\n }\n\n if (_state.type === \"connecting\" || _state.type === \"authenticating\") {\n // Already connecting - wait for existing promise\n return new Promise((resolve, reject) => {\n const existingResolver = _connectResolver;\n const existingRejecter = _connectRejecter;\n _connectResolver = () => {\n existingResolver?.();\n resolve();\n };\n _connectRejecter = (error) => {\n existingRejecter?.(error);\n reject(error);\n };\n });\n }\n\n return new Promise((resolve, reject) => {\n _connectResolver = resolve;\n _connectRejecter = reject;\n attemptConnection();\n });\n },\n\n disconnect: (): void => {\n // Cancel any pending reconnection\n if (_reconnectTimeoutHandle) {\n clearTimeout(_reconnectTimeoutHandle);\n _reconnectTimeoutHandle = null;\n }\n\n // Reject any pending connect promise\n if (_connectRejecter) {\n _connectRejecter(new WebSocketError(\"Disconnected by user\"));\n _connectResolver = null;\n _connectRejecter = null;\n }\n\n // Clean up\n cleanup();\n _state = { type: \"disconnected\" };\n _reconnectAttempt = 0;\n _messageQueue = [];\n\n emit(onEvent, { type: \"disconnected\", reason: \"User disconnected\" });\n },\n\n isConnected: (): boolean => {\n return _state.type === \"connected\";\n },\n\n // =========================================================================\n // Presence Methods\n // =========================================================================\n\n sendPresenceSet: (data: unknown): void => {\n const message: Transport.ClientMessage = { type: \"presence_set\", data };\n\n if (_state.type === \"connected\") {\n sendRaw(message);\n } else if (_state.type === \"reconnecting\") {\n // Remove all set messages from the message queue\n _messageQueue = _messageQueue.filter((message) => message.type !== \"presence_set\");\n // Add the new presence set message to the queue\n _messageQueue.push(message);\n }\n },\n\n sendPresenceClear: (): void => {\n const message: Transport.ClientMessage = { type: \"presence_clear\" };\n\n if (_state.type === \"connected\") {\n sendRaw(message);\n } else if (_state.type === \"reconnecting\") {\n // Remove all clear messages from the message queue\n _messageQueue = _messageQueue.filter((message) => message.type !== \"presence_clear\");\n // Add the new presence clear message to the queue\n _messageQueue.push(message);\n }\n },\n };\n\n return transport;\n};\n","import { StateDriftError } from \"./errors\";\n\n// =============================================================================\n// State Monitor Types\n// =============================================================================\n\n/**\n * Events emitted by the state monitor.\n */\nexport type StateMonitorEvent =\n | { type: \"drift_detected\"; expectedVersion: number; receivedVersion: number }\n | { type: \"recovery_started\" }\n | { type: \"recovery_completed\"; version: number }\n | { type: \"recovery_failed\"; error: Error }\n | { type: \"pending_timeout\"; transactionId: string; elapsedMs: number }\n | { type: \"health_check\"; pendingCount: number; oldestPendingMs: number | null };\n\n/**\n * Handler for state monitor events.\n */\nexport type StateMonitorEventHandler = (event: StateMonitorEvent) => void;\n\n/**\n * Options for creating a StateMonitor.\n */\nexport interface StateMonitorOptions {\n /** Handler for monitor events */\n readonly onEvent?: StateMonitorEventHandler;\n /** Interval for health checks in ms (default: 5000) */\n readonly healthCheckInterval?: number;\n /** Threshold for considering a pending transaction \"stale\" in ms (default: 10000) */\n readonly stalePendingThreshold?: number;\n /** Maximum allowed version gap before triggering recovery (default: 10) */\n readonly maxVersionGap?: number;\n}\n\n/**\n * Pending transaction info for monitoring.\n */\nexport interface PendingInfo {\n readonly id: string;\n readonly sentAt: number;\n}\n\n/**\n * A StateMonitor watches for state drift and triggers recovery.\n */\nexport interface StateMonitor {\n /**\n * Called when a server transaction is received.\n * Returns true if the version is valid, false if drift is detected.\n */\n readonly onServerVersion: (version: number) => boolean;\n\n /**\n * Called when a pending transaction is added.\n */\n readonly trackPending: (info: PendingInfo) => void;\n\n /**\n * Called when a pending transaction is confirmed or rejected.\n */\n readonly untrackPending: (id: string) => void;\n\n /**\n * Returns pending transactions that have exceeded the stale threshold.\n */\n readonly getStalePending: () => PendingInfo[];\n\n /**\n * Returns current monitoring status.\n */\n readonly getStatus: () => StateMonitorStatus;\n\n /**\n * Starts the health check loop.\n */\n readonly start: () => void;\n\n /**\n * Stops the health check loop.\n */\n readonly stop: () => void;\n\n /**\n * Resets the monitor state (called after recovery).\n */\n readonly reset: (newVersion: number) => void;\n}\n\n/**\n * Current monitoring status.\n */\nexport interface StateMonitorStatus {\n readonly expectedVersion: number;\n readonly pendingCount: number;\n readonly oldestPendingMs: number | null;\n readonly isHealthy: boolean;\n readonly isRecovering: boolean;\n}\n\n// =============================================================================\n// State Monitor Implementation\n// =============================================================================\n\n/**\n * Creates a new StateMonitor.\n */\nexport const make = (options: StateMonitorOptions = {}): StateMonitor => {\n const {\n onEvent,\n healthCheckInterval = 5000,\n stalePendingThreshold = 10000,\n maxVersionGap = 10,\n } = options;\n\n // Internal state\n let _expectedVersion = 0;\n let _pendingMap = new Map<string, PendingInfo>();\n let _isRecovering = false;\n let _healthCheckHandle: ReturnType<typeof setInterval> | null = null;\n\n /**\n * Emits an event if handler is provided.\n */\n const emit = (event: StateMonitorEvent): void => {\n onEvent?.(event);\n };\n\n /**\n * Checks if there's a version gap indicating drift.\n */\n const checkVersionGap = (receivedVersion: number): boolean => {\n // Expected next version is current + 1\n const expectedNext = _expectedVersion + 1;\n\n if (receivedVersion < expectedNext) {\n // Duplicate or out-of-order - might be OK\n return true;\n }\n\n if (receivedVersion > expectedNext + maxVersionGap) {\n // Large gap - drift detected\n emit({\n type: \"drift_detected\",\n expectedVersion: expectedNext,\n receivedVersion,\n });\n return false;\n }\n\n // Small gap - could be network reordering, allow it\n return true;\n };\n\n /**\n * Runs a health check.\n */\n const runHealthCheck = (): void => {\n const now = Date.now();\n let oldestPendingMs: number | null = null;\n\n // Find stale pending transactions\n for (const [id, info] of _pendingMap) {\n const elapsed = now - info.sentAt;\n\n if (oldestPendingMs === null || elapsed > oldestPendingMs) {\n oldestPendingMs = elapsed;\n }\n\n if (elapsed > stalePendingThreshold) {\n emit({\n type: \"pending_timeout\",\n transactionId: id,\n elapsedMs: elapsed,\n });\n }\n }\n\n emit({\n type: \"health_check\",\n pendingCount: _pendingMap.size,\n oldestPendingMs,\n });\n };\n\n const monitor: StateMonitor = {\n onServerVersion: (version: number): boolean => {\n const isValid = checkVersionGap(version);\n\n if (isValid) {\n // Update expected version\n _expectedVersion = Math.max(_expectedVersion, version);\n }\n\n return isValid;\n },\n\n trackPending: (info: PendingInfo): void => {\n _pendingMap.set(info.id, info);\n },\n\n untrackPending: (id: string): void => {\n _pendingMap.delete(id);\n },\n\n getStalePending: (): PendingInfo[] => {\n const now = Date.now();\n const stale: PendingInfo[] = [];\n\n for (const info of _pendingMap.values()) {\n if (now - info.sentAt > stalePendingThreshold) {\n stale.push(info);\n }\n }\n\n return stale;\n },\n\n getStatus: (): StateMonitorStatus => {\n const now = Date.now();\n let oldestPendingMs: number | null = null;\n\n for (const info of _pendingMap.values()) {\n const elapsed = now - info.sentAt;\n if (oldestPendingMs === null || elapsed > oldestPendingMs) {\n oldestPendingMs = elapsed;\n }\n }\n\n // Consider unhealthy if recovering or has very stale pending\n const isHealthy =\n !_isRecovering &&\n (oldestPendingMs === null || oldestPendingMs < stalePendingThreshold * 2);\n\n return {\n expectedVersion: _expectedVersion,\n pendingCount: _pendingMap.size,\n oldestPendingMs,\n isHealthy,\n isRecovering: _isRecovering,\n };\n },\n\n start: (): void => {\n if (_healthCheckHandle !== null) return;\n\n _healthCheckHandle = setInterval(runHealthCheck, healthCheckInterval);\n },\n\n stop: (): void => {\n if (_healthCheckHandle !== null) {\n clearInterval(_healthCheckHandle);\n _healthCheckHandle = null;\n }\n },\n\n reset: (newVersion: number): void => {\n _expectedVersion = newVersion;\n _pendingMap.clear();\n _isRecovering = false;\n\n emit({\n type: \"recovery_completed\",\n version: newVersion,\n });\n },\n };\n\n return monitor;\n};\n\n// =============================================================================\n// Recovery Strategy\n// =============================================================================\n\n/**\n * Recovery actions that can be taken.\n */\nexport type RecoveryAction =\n | { type: \"request_snapshot\" }\n | { type: \"retry_pending\"; transactionIds: string[] }\n | { type: \"drop_pending\"; transactionIds: string[] };\n\n/**\n * Determines the appropriate recovery action based on current state.\n */\nexport const determineRecoveryAction = (\n status: StateMonitorStatus,\n stalePending: PendingInfo[]\n): RecoveryAction => {\n // If recovering or unhealthy with stale pending, request full snapshot\n if (!status.isHealthy || stalePending.length > 3) {\n return { type: \"request_snapshot\" };\n }\n\n // If just a few stale pending, drop them\n if (stalePending.length > 0) {\n return {\n type: \"drop_pending\",\n transactionIds: stalePending.map((p) => p.id),\n };\n }\n\n // Default: request snapshot for safety\n return { type: \"request_snapshot\" };\n};\n"],"mappings":"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"}
|
package/dist/index.d.cts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/Document.ts","../src/EffectSchema.ts","../src/types/index.ts","../src/utils/tree-helpers.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/Document.ts","../src/EffectSchema.ts","../src/types/index.ts","../src/utils/tree-helpers.ts"],"sourcesContent":[],"mappings":"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"}
|