@abloatai/ablo 0.36.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -2
- package/CHANGELOG.md +71 -2013
- package/NOTICE +2 -2
- package/README.md +25 -71
- package/assets/banner.png +0 -0
- package/dist/auth.d.ts +2 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +2 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +3 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -0
- package/dist/coordination.d.ts +2 -0
- package/dist/coordination.d.ts.map +1 -0
- package/dist/coordination.js +2 -0
- package/dist/coordination.js.map +1 -0
- package/dist/index.d.ts +3 -114
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -163
- package/dist/index.js.map +1 -0
- package/dist/react.d.ts +4 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +3 -0
- package/dist/react.js.map +1 -0
- package/dist/schema.d.ts +2 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +2 -0
- package/dist/schema.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -0
- package/dist/source-conformance.d.ts +2 -0
- package/dist/source-conformance.d.ts.map +1 -0
- package/dist/source-conformance.js +2 -0
- package/dist/source-conformance.js.map +1 -0
- package/dist/source-drizzle.d.ts +2 -0
- package/dist/source-drizzle.d.ts.map +1 -0
- package/dist/source-drizzle.js +2 -0
- package/dist/source-drizzle.js.map +1 -0
- package/dist/source-kysely.d.ts +2 -0
- package/dist/source-kysely.d.ts.map +1 -0
- package/dist/source-kysely.js +2 -0
- package/dist/source-kysely.js.map +1 -0
- package/dist/source-next.d.ts +2 -0
- package/dist/source-next.d.ts.map +1 -0
- package/dist/source-next.js +2 -0
- package/dist/source-next.js.map +1 -0
- package/dist/source.d.ts +2 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +2 -0
- package/dist/source.js.map +1 -0
- package/dist/wire.d.ts +2 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +2 -0
- package/dist/wire.js.map +1 -0
- package/docs/agents.md +1 -1
- package/docs/api-keys.md +7 -6
- package/docs/api.md +10 -10
- package/docs/client-behavior.md +5 -5
- package/docs/coordination.md +52 -62
- package/docs/data-sources.md +1 -1
- package/docs/examples/agent-human.md +4 -4
- package/docs/examples/ai-sdk-tool.md +1 -1
- package/docs/examples/existing-python-backend.md +15 -4
- package/docs/examples/nextjs.md +27 -6
- package/docs/examples/server-agent.md +2 -2
- package/docs/how-it-works.md +4 -4
- package/docs/identity.md +2 -1
- package/docs/integration-guide.md +24 -13
- package/docs/internal/README.md +18 -0
- package/docs/internal/agent-fleet-coordination-design.md +171 -0
- package/docs/internal/agent-orchestration.md +58 -0
- package/docs/internal/commit-identifiers.md +91 -0
- package/docs/internal/concurrency-open-decisions.md +37 -0
- package/docs/internal/data-source-reverse-channel.md +150 -0
- package/docs/internal/per-field-conflict-detection.md +165 -0
- package/docs/internal/postgres-replication.md +64 -0
- package/docs/internal/serializable-schema.md +119 -0
- package/docs/internal/structure.md +32 -0
- package/docs/mcp.md +2 -2
- package/docs/migration.md +3 -3
- package/docs/quickstart.md +2 -2
- package/docs/react.md +5 -5
- package/docs/schema-contract.md +3 -3
- package/docs/sessions.md +91 -37
- package/examples/README.md +2 -2
- package/examples/data-source/README.md +1 -1
- package/examples/data-source/ablo-driver.ts +1 -1
- package/examples/data-source/customer-server.ts +1 -1
- package/examples/data-source/run.ts +1 -1
- package/examples/data-source/schema.ts +1 -1
- package/examples/quickstart.ts +2 -2
- package/llms.txt +8 -8
- package/package.json +63 -166
- package/bin/ablo.cjs +0 -39
- package/dist/BaseSyncedStore.d.ts +0 -843
- package/dist/BaseSyncedStore.js +0 -1971
- package/dist/Database.d.ts +0 -323
- package/dist/Database.js +0 -1502
- package/dist/InstanceCache.d.ts +0 -237
- package/dist/InstanceCache.js +0 -1166
- package/dist/LazyReferenceCollection.d.ts +0 -177
- package/dist/LazyReferenceCollection.js +0 -461
- package/dist/Model.d.ts +0 -454
- package/dist/Model.js +0 -919
- package/dist/ModelRegistry.d.ts +0 -225
- package/dist/ModelRegistry.js +0 -539
- package/dist/NetworkMonitor.d.ts +0 -28
- package/dist/NetworkMonitor.js +0 -79
- package/dist/RuntimeContext.d.ts +0 -52
- package/dist/RuntimeContext.js +0 -80
- package/dist/SyncClient.d.ts +0 -541
- package/dist/SyncClient.js +0 -2202
- package/dist/adapters/alwaysOnline.d.ts +0 -14
- package/dist/adapters/alwaysOnline.js +0 -17
- package/dist/adapters/inMemoryStorage.d.ts +0 -31
- package/dist/adapters/inMemoryStorage.js +0 -110
- package/dist/ai-sdk/coordinatedTool.d.ts +0 -120
- package/dist/ai-sdk/coordinatedTool.js +0 -134
- package/dist/ai-sdk/coordinationContext.d.ts +0 -46
- package/dist/ai-sdk/coordinationContext.js +0 -106
- package/dist/ai-sdk/index.d.ts +0 -121
- package/dist/ai-sdk/index.js +0 -121
- package/dist/ai-sdk/wrap.d.ts +0 -65
- package/dist/ai-sdk/wrap.js +0 -39
- package/dist/auth/index.d.ts +0 -1
- package/dist/auth/index.js +0 -8
- package/dist/batching/index.d.ts +0 -55
- package/dist/batching/index.js +0 -147
- package/dist/client/Ablo.d.ts +0 -231
- package/dist/client/Ablo.js +0 -160
- package/dist/client/abloClient.d.ts +0 -309
- package/dist/client/abloClient.js +0 -13
- package/dist/client/clientPrelude.d.ts +0 -52
- package/dist/client/clientPrelude.js +0 -60
- package/dist/client/consoleLogger.d.ts +0 -35
- package/dist/client/consoleLogger.js +0 -44
- package/dist/client/coreClient.d.ts +0 -60
- package/dist/client/coreClient.js +0 -118
- package/dist/client/createInternalComponents.d.ts +0 -50
- package/dist/client/createInternalComponents.js +0 -98
- package/dist/client/createModelProxy.d.ts +0 -248
- package/dist/client/createModelProxy.js +0 -884
- package/dist/client/humans.d.ts +0 -69
- package/dist/client/humans.js +0 -78
- package/dist/client/modelRegistration.d.ts +0 -10
- package/dist/client/modelRegistration.js +0 -312
- package/dist/client/options.d.ts +0 -461
- package/dist/client/options.js +0 -7
- package/dist/client/reactiveEngine.d.ts +0 -53
- package/dist/client/reactiveEngine.js +0 -688
- package/dist/client/resourceTypes.d.ts +0 -12
- package/dist/client/resourceTypes.js +0 -10
- package/dist/client/schemaConfig.d.ts +0 -44
- package/dist/client/schemaConfig.js +0 -185
- package/dist/client/storeCluster.d.ts +0 -47
- package/dist/client/storeCluster.js +0 -118
- package/dist/client/storeLifecycle.d.ts +0 -61
- package/dist/client/storeLifecycle.js +0 -231
- package/dist/client/validateAbloOptions.d.ts +0 -42
- package/dist/client/validateAbloOptions.js +0 -43
- package/dist/client/wsMutationExecutor.d.ts +0 -27
- package/dist/client/wsMutationExecutor.js +0 -72
- package/dist/context.d.ts +0 -42
- package/dist/context.js +0 -81
- package/dist/coordination/ClaimLog.d.ts +0 -26
- package/dist/coordination/ClaimLog.js +0 -32
- package/dist/coordination/index.d.ts +0 -1
- package/dist/coordination/index.js +0 -8
- package/dist/core/index.d.ts +0 -33
- package/dist/core/index.js +0 -48
- package/dist/docs/catalog.d.ts +0 -72
- package/dist/docs/catalog.js +0 -230
- package/dist/docs/index.d.ts +0 -10
- package/dist/docs/index.js +0 -10
- package/dist/environment.d.ts +0 -1
- package/dist/environment.js +0 -8
- package/dist/interfaces/index.d.ts +0 -311
- package/dist/interfaces/index.js +0 -9
- package/dist/keys/index.d.ts +0 -1
- package/dist/keys/index.js +0 -8
- package/dist/mutators/RecordingMutation.d.ts +0 -36
- package/dist/mutators/RecordingMutation.js +0 -182
- package/dist/mutators/Transaction.d.ts +0 -40
- package/dist/mutators/Transaction.js +0 -58
- package/dist/mutators/UndoManager.d.ts +0 -258
- package/dist/mutators/UndoManager.js +0 -658
- package/dist/mutators/defineMutators.d.ts +0 -60
- package/dist/mutators/defineMutators.js +0 -18
- package/dist/mutators/inverseOp.d.ts +0 -126
- package/dist/mutators/inverseOp.js +0 -71
- package/dist/mutators/mutateActions.d.ts +0 -45
- package/dist/mutators/mutateActions.js +0 -105
- package/dist/mutators/readerActions.d.ts +0 -33
- package/dist/mutators/readerActions.js +0 -57
- package/dist/mutators/undoApply.d.ts +0 -51
- package/dist/mutators/undoApply.js +0 -117
- package/dist/policy/index.d.ts +0 -21
- package/dist/policy/index.js +0 -20
- package/dist/query/QueryProcessor.d.ts +0 -75
- package/dist/query/QueryProcessor.js +0 -255
- package/dist/query/client.d.ts +0 -64
- package/dist/query/client.js +0 -138
- package/dist/query/types.d.ts +0 -85
- package/dist/query/types.js +0 -16
- package/dist/react/AbloProvider.d.ts +0 -242
- package/dist/react/AbloProvider.js +0 -458
- package/dist/react/ClientSideSuspense.d.ts +0 -36
- package/dist/react/ClientSideSuspense.js +0 -17
- package/dist/react/DefaultFallback.d.ts +0 -24
- package/dist/react/DefaultFallback.js +0 -43
- package/dist/react/context.d.ts +0 -55
- package/dist/react/context.js +0 -29
- package/dist/react/createAbloReact.d.ts +0 -56
- package/dist/react/createAbloReact.js +0 -51
- package/dist/react/index.d.ts +0 -62
- package/dist/react/index.js +0 -69
- package/dist/react/internalContext.d.ts +0 -33
- package/dist/react/internalContext.js +0 -3
- package/dist/react/useAblo.d.ts +0 -82
- package/dist/react/useAblo.js +0 -120
- package/dist/react/useCurrentUserId.d.ts +0 -22
- package/dist/react/useCurrentUserId.js +0 -34
- package/dist/react/useErrorListener.d.ts +0 -20
- package/dist/react/useErrorListener.js +0 -38
- package/dist/react/useMutationFailureListener.d.ts +0 -26
- package/dist/react/useMutationFailureListener.js +0 -38
- package/dist/react/useMutators.d.ts +0 -56
- package/dist/react/useMutators.js +0 -84
- package/dist/react/useReactive.d.ts +0 -35
- package/dist/react/useReactive.js +0 -123
- package/dist/react/useSyncStatus.d.ts +0 -59
- package/dist/react/useSyncStatus.js +0 -76
- package/dist/react/useUndoScope.d.ts +0 -34
- package/dist/react/useUndoScope.js +0 -81
- package/dist/schema/coordination.d.ts +0 -112
- package/dist/schema/coordination.js +0 -133
- package/dist/schema/ddl.d.ts +0 -97
- package/dist/schema/ddl.js +0 -491
- package/dist/schema/ddlLock.d.ts +0 -35
- package/dist/schema/ddlLock.js +0 -46
- package/dist/schema/diff.d.ts +0 -225
- package/dist/schema/diff.js +0 -289
- package/dist/schema/generate.d.ts +0 -19
- package/dist/schema/generate.js +0 -86
- package/dist/schema/index.d.ts +0 -42
- package/dist/schema/index.js +0 -80
- package/dist/schema/queries.d.ts +0 -201
- package/dist/schema/queries.js +0 -144
- package/dist/schema/select.d.ts +0 -40
- package/dist/schema/select.js +0 -90
- package/dist/schema/serialize.d.ts +0 -115
- package/dist/schema/serialize.js +0 -265
- package/dist/schema/sugar.d.ts +0 -109
- package/dist/schema/sugar.js +0 -83
- package/dist/schema/syncDeltaRow.d.ts +0 -6
- package/dist/schema/syncDeltaRow.js +0 -6
- package/dist/server/adapter.d.ts +0 -173
- package/dist/server/adapter.js +0 -18
- package/dist/server/commit.d.ts +0 -107
- package/dist/server/commit.js +0 -1
- package/dist/server/index.d.ts +0 -14
- package/dist/server/index.js +0 -2
- package/dist/server/readConfig.d.ts +0 -80
- package/dist/server/readConfig.js +0 -8
- package/dist/server/storageMode.d.ts +0 -23
- package/dist/server/storageMode.js +0 -17
- package/dist/source/adapter.d.ts +0 -83
- package/dist/source/adapter.js +0 -24
- package/dist/source/adapters/drizzle.d.ts +0 -48
- package/dist/source/adapters/drizzle.js +0 -219
- package/dist/source/adapters/kysely.d.ts +0 -42
- package/dist/source/adapters/kysely.js +0 -205
- package/dist/source/adapters/kyselyMutationCore.d.ts +0 -76
- package/dist/source/adapters/kyselyMutationCore.js +0 -125
- package/dist/source/adapters/memory.d.ts +0 -13
- package/dist/source/adapters/memory.js +0 -130
- package/dist/source/adapters/prisma.d.ts +0 -63
- package/dist/source/adapters/prisma.js +0 -202
- package/dist/source/conformance.d.ts +0 -37
- package/dist/source/conformance.js +0 -215
- package/dist/source/connector.d.ts +0 -95
- package/dist/source/connector.js +0 -266
- package/dist/source/connectorProtocol.d.ts +0 -154
- package/dist/source/connectorProtocol.js +0 -163
- package/dist/source/contract.d.ts +0 -195
- package/dist/source/contract.js +0 -164
- package/dist/source/factory.d.ts +0 -92
- package/dist/source/factory.js +0 -286
- package/dist/source/idempotency.d.ts +0 -61
- package/dist/source/idempotency.js +0 -144
- package/dist/source/index.d.ts +0 -23
- package/dist/source/index.js +0 -30
- package/dist/source/migrations.d.ts +0 -21
- package/dist/source/migrations.js +0 -103
- package/dist/source/next.d.ts +0 -32
- package/dist/source/next.js +0 -25
- package/dist/source/pushQueue.d.ts +0 -134
- package/dist/source/pushQueue.js +0 -256
- package/dist/source/signing.d.ts +0 -92
- package/dist/source/signing.js +0 -162
- package/dist/source/types.d.ts +0 -401
- package/dist/source/types.js +0 -59
- package/dist/storeContract.d.ts +0 -145
- package/dist/storeContract.js +0 -12
- package/dist/stores/DatabaseManager.d.ts +0 -107
- package/dist/stores/DatabaseManager.js +0 -388
- package/dist/stores/ObjectStore.d.ts +0 -115
- package/dist/stores/ObjectStore.js +0 -393
- package/dist/stores/ObjectStoreContract.d.ts +0 -38
- package/dist/stores/ObjectStoreContract.js +0 -1
- package/dist/stores/StoreManager.d.ts +0 -114
- package/dist/stores/StoreManager.js +0 -304
- package/dist/stores/SyncActionStore.d.ts +0 -99
- package/dist/stores/SyncActionStore.js +0 -506
- package/dist/stores/openIDBWithTimeout.d.ts +0 -65
- package/dist/stores/openIDBWithTimeout.js +0 -153
- package/dist/stores/syncAction.d.ts +0 -26
- package/dist/stores/syncAction.js +0 -16
- package/dist/surface.d.ts +0 -36
- package/dist/surface.js +0 -75
- package/dist/sync/BootstrapFetcher.d.ts +0 -284
- package/dist/sync/BootstrapFetcher.js +0 -964
- package/dist/sync/ConnectionManager.d.ts +0 -8
- package/dist/sync/ConnectionManager.js +0 -8
- package/dist/sync/OnDemandLoader.d.ts +0 -231
- package/dist/sync/OnDemandLoader.js +0 -743
- package/dist/sync/SubscriptionManager.d.ts +0 -159
- package/dist/sync/SubscriptionManager.js +0 -243
- package/dist/sync/SyncWebSocket.d.ts +0 -173
- package/dist/sync/SyncWebSocket.js +0 -438
- package/dist/sync/awaitClaimGrant.d.ts +0 -6
- package/dist/sync/awaitClaimGrant.js +0 -6
- package/dist/sync/bootstrapApply.d.ts +0 -73
- package/dist/sync/bootstrapApply.js +0 -73
- package/dist/sync/commitFrames.d.ts +0 -8
- package/dist/sync/commitFrames.js +0 -8
- package/dist/sync/contextPorts.d.ts +0 -18
- package/dist/sync/contextPorts.js +0 -31
- package/dist/sync/createClaimStream.d.ts +0 -7
- package/dist/sync/createClaimStream.js +0 -7
- package/dist/sync/createPresenceStream.d.ts +0 -69
- package/dist/sync/createPresenceStream.js +0 -200
- package/dist/sync/createSnapshot.d.ts +0 -29
- package/dist/sync/createSnapshot.js +0 -118
- package/dist/sync/credentialLifecycle.d.ts +0 -7
- package/dist/sync/credentialLifecycle.js +0 -7
- package/dist/sync/deltaPipeline.d.ts +0 -114
- package/dist/sync/deltaPipeline.js +0 -278
- package/dist/sync/groupChange.d.ts +0 -116
- package/dist/sync/groupChange.js +0 -244
- package/dist/sync/participants.d.ts +0 -132
- package/dist/sync/participants.js +0 -346
- package/dist/sync/persistedPrefix.d.ts +0 -12
- package/dist/sync/persistedPrefix.js +0 -22
- package/dist/sync/schemaDrift.d.ts +0 -55
- package/dist/sync/schemaDrift.js +0 -53
- package/dist/sync/schemas.d.ts +0 -71
- package/dist/sync/schemas.js +0 -94
- package/dist/sync/syncCursor.d.ts +0 -40
- package/dist/sync/syncCursor.js +0 -55
- package/dist/sync/syncPlan.d.ts +0 -54
- package/dist/sync/syncPlan.js +0 -50
- package/dist/sync/wsFrameHandlers.d.ts +0 -8
- package/dist/sync/wsFrameHandlers.js +0 -8
- package/dist/syncLog/contract.d.ts +0 -20
- package/dist/syncLog/contract.js +0 -19
- package/dist/syncLog/index.d.ts +0 -1
- package/dist/syncLog/index.js +0 -1
- package/dist/transaction/ablo.d.ts +0 -88
- package/dist/transaction/ablo.js +0 -33
- package/dist/transaction/auth/apiKey.d.ts +0 -152
- package/dist/transaction/auth/apiKey.js +0 -419
- package/dist/transaction/auth/bootstrapScope.d.ts +0 -15
- package/dist/transaction/auth/bootstrapScope.js +0 -1
- package/dist/transaction/auth/capability.d.ts +0 -212
- package/dist/transaction/auth/capability.js +0 -224
- package/dist/transaction/auth/credentialEndpoint.d.ts +0 -61
- package/dist/transaction/auth/credentialEndpoint.js +0 -86
- package/dist/transaction/auth/credentialPolicy.d.ts +0 -148
- package/dist/transaction/auth/credentialPolicy.js +0 -125
- package/dist/transaction/auth/credentialSource.d.ts +0 -30
- package/dist/transaction/auth/credentialSource.js +0 -55
- package/dist/transaction/auth/hostedEndpoints.d.ts +0 -21
- package/dist/transaction/auth/hostedEndpoints.js +0 -21
- package/dist/transaction/auth/identity.d.ts +0 -55
- package/dist/transaction/auth/identity.js +0 -210
- package/dist/transaction/auth/index.d.ts +0 -162
- package/dist/transaction/auth/index.js +0 -304
- package/dist/transaction/auth/schemas.d.ts +0 -59
- package/dist/transaction/auth/schemas.js +0 -85
- package/dist/transaction/auth/sessionMint.d.ts +0 -28
- package/dist/transaction/auth/sessionMint.js +0 -85
- package/dist/transaction/coordination/awaitClaimGrant.d.ts +0 -56
- package/dist/transaction/coordination/awaitClaimGrant.js +0 -124
- package/dist/transaction/coordination/claimHeartbeatLoop.d.ts +0 -84
- package/dist/transaction/coordination/claimHeartbeatLoop.js +0 -108
- package/dist/transaction/coordination/claimMeta.d.ts +0 -49
- package/dist/transaction/coordination/claimMeta.js +0 -52
- package/dist/transaction/coordination/createClaimStream.d.ts +0 -64
- package/dist/transaction/coordination/createClaimStream.js +0 -475
- package/dist/transaction/coordination/events.d.ts +0 -74
- package/dist/transaction/coordination/events.js +0 -7
- package/dist/transaction/coordination/index.d.ts +0 -19
- package/dist/transaction/coordination/index.js +0 -45
- package/dist/transaction/coordination/locator.d.ts +0 -104
- package/dist/transaction/coordination/locator.js +0 -102
- package/dist/transaction/coordination/schema.d.ts +0 -1536
- package/dist/transaction/coordination/schema.js +0 -1177
- package/dist/transaction/coordination/targetConflict.d.ts +0 -2
- package/dist/transaction/coordination/targetConflict.js +0 -107
- package/dist/transaction/coordination/trace.d.ts +0 -78
- package/dist/transaction/coordination/trace.js +0 -138
- package/dist/transaction/durableWrites.d.ts +0 -62
- package/dist/transaction/durableWrites.js +0 -71
- package/dist/transaction/environment.d.ts +0 -105
- package/dist/transaction/environment.js +0 -108
- package/dist/transaction/errorCodes.d.ts +0 -403
- package/dist/transaction/errorCodes.js +0 -484
- package/dist/transaction/errors.d.ts +0 -428
- package/dist/transaction/errors.js +0 -686
- package/dist/transaction/footprint.d.ts +0 -111
- package/dist/transaction/footprint.js +0 -0
- package/dist/transaction/index.d.ts +0 -20
- package/dist/transaction/index.js +0 -20
- package/dist/transaction/keys/index.d.ts +0 -87
- package/dist/transaction/keys/index.js +0 -207
- package/dist/transaction/log/syncDeltaRow.d.ts +0 -158
- package/dist/transaction/log/syncDeltaRow.js +0 -95
- package/dist/transaction/logPosition.d.ts +0 -97
- package/dist/transaction/logPosition.js +0 -125
- package/dist/transaction/logger.d.ts +0 -16
- package/dist/transaction/logger.js +0 -7
- package/dist/transaction/observability.d.ts +0 -53
- package/dist/transaction/observability.js +0 -19
- package/dist/transaction/persistence.d.ts +0 -12
- package/dist/transaction/persistence.js +0 -11
- package/dist/transaction/plugin.d.ts +0 -285
- package/dist/transaction/plugin.js +0 -106
- package/dist/transaction/policy/types.d.ts +0 -217
- package/dist/transaction/policy/types.js +0 -126
- package/dist/transaction/resources/functionalUpdate.d.ts +0 -79
- package/dist/transaction/resources/functionalUpdate.js +0 -87
- package/dist/transaction/resources/httpResources.d.ts +0 -321
- package/dist/transaction/resources/httpResources.js +0 -7
- package/dist/transaction/resources/modelOperations.d.ts +0 -427
- package/dist/transaction/resources/modelOperations.js +0 -12
- package/dist/transaction/resources/mutationOptions.d.ts +0 -66
- package/dist/transaction/resources/mutationOptions.js +0 -9
- package/dist/transaction/resources/where.d.ts +0 -101
- package/dist/transaction/resources/where.js +0 -115
- package/dist/transaction/resources/writeOptionsSchema.d.ts +0 -47
- package/dist/transaction/resources/writeOptionsSchema.js +0 -73
- package/dist/transaction/schema/field.d.ts +0 -120
- package/dist/transaction/schema/field.js +0 -265
- package/dist/transaction/schema/fieldRef.d.ts +0 -38
- package/dist/transaction/schema/fieldRef.js +0 -11
- package/dist/transaction/schema/loadStrategy.d.ts +0 -45
- package/dist/transaction/schema/loadStrategy.js +0 -46
- package/dist/transaction/schema/model.d.ts +0 -379
- package/dist/transaction/schema/model.js +0 -123
- package/dist/transaction/schema/openapi.d.ts +0 -58
- package/dist/transaction/schema/openapi.js +0 -501
- package/dist/transaction/schema/relation.d.ts +0 -204
- package/dist/transaction/schema/relation.js +0 -104
- package/dist/transaction/schema/residency.d.ts +0 -29
- package/dist/transaction/schema/residency.js +0 -25
- package/dist/transaction/schema/roles.d.ts +0 -249
- package/dist/transaction/schema/roles.js +0 -230
- package/dist/transaction/schema/schema.d.ts +0 -351
- package/dist/transaction/schema/schema.js +0 -325
- package/dist/transaction/schema/tenancy.d.ts +0 -139
- package/dist/transaction/schema/tenancy.js +0 -190
- package/dist/transaction/transactionLayer.d.ts +0 -82
- package/dist/transaction/transactionLayer.js +0 -24
- package/dist/transaction/transactions/settlement/commitEnvelope.d.ts +0 -143
- package/dist/transaction/transactions/settlement/commitEnvelope.js +0 -161
- package/dist/transaction/transactions/settlement/httpCommitEnvelope.d.ts +0 -53
- package/dist/transaction/transactions/settlement/httpCommitEnvelope.js +0 -207
- package/dist/transaction/transactions/settlement/idempotencyKey.d.ts +0 -10
- package/dist/transaction/transactions/settlement/idempotencyKey.js +0 -9
- package/dist/transaction/transactions/settlement/pendingWrite.d.ts +0 -112
- package/dist/transaction/transactions/settlement/pendingWrite.js +0 -20
- package/dist/transaction/transport/commitFrames.d.ts +0 -90
- package/dist/transaction/transport/commitFrames.js +0 -134
- package/dist/transaction/transport/connectionManager.d.ts +0 -215
- package/dist/transaction/transport/connectionManager.js +0 -673
- package/dist/transaction/transport/credentialLifecycle.d.ts +0 -177
- package/dist/transaction/transport/credentialLifecycle.js +0 -324
- package/dist/transaction/transport/heartbeat.d.ts +0 -65
- package/dist/transaction/transport/heartbeat.js +0 -93
- package/dist/transaction/transport/httpClient.d.ts +0 -131
- package/dist/transaction/transport/httpClient.js +0 -146
- package/dist/transaction/transport/httpOptions.d.ts +0 -33
- package/dist/transaction/transport/httpOptions.js +0 -12
- package/dist/transaction/transport/httpTransport.d.ts +0 -8
- package/dist/transaction/transport/httpTransport.js +0 -1388
- package/dist/transaction/transport/networkProbe.d.ts +0 -84
- package/dist/transaction/transport/networkProbe.js +0 -207
- package/dist/transaction/transport/wsFrameHandlers.d.ts +0 -128
- package/dist/transaction/transport/wsFrameHandlers.js +0 -429
- package/dist/transaction/transport/wsTransport.d.ts +0 -574
- package/dist/transaction/transport/wsTransport.js +0 -1023
- package/dist/transaction/types/assertExact.d.ts +0 -17
- package/dist/transaction/types/assertExact.js +0 -1
- package/dist/transaction/types/global.d.ts +0 -107
- package/dist/transaction/types/global.js +0 -40
- package/dist/transaction/types/index.d.ts +0 -205
- package/dist/transaction/types/index.js +0 -56
- package/dist/transaction/types/modelData.d.ts +0 -10
- package/dist/transaction/types/modelData.js +0 -9
- package/dist/transaction/types/participant.d.ts +0 -20
- package/dist/transaction/types/participant.js +0 -10
- package/dist/transaction/types/streams.d.ts +0 -550
- package/dist/transaction/types/streams.js +0 -11
- package/dist/transaction/utils/asyncIterator.d.ts +0 -34
- package/dist/transaction/utils/asyncIterator.js +0 -135
- package/dist/transaction/utils/duration.d.ts +0 -50
- package/dist/transaction/utils/duration.js +0 -77
- package/dist/transaction/utils/json.d.ts +0 -57
- package/dist/transaction/utils/json.js +0 -276
- package/dist/transaction/wire/accountResponses.d.ts +0 -420
- package/dist/transaction/wire/accountResponses.js +0 -290
- package/dist/transaction/wire/auth.d.ts +0 -56
- package/dist/transaction/wire/auth.js +0 -63
- package/dist/transaction/wire/bootstrapReason.d.ts +0 -9
- package/dist/transaction/wire/bootstrapReason.js +0 -8
- package/dist/transaction/wire/claimEvent.d.ts +0 -76
- package/dist/transaction/wire/claimEvent.js +0 -73
- package/dist/transaction/wire/claims.d.ts +0 -530
- package/dist/transaction/wire/claims.js +0 -327
- package/dist/transaction/wire/commit.d.ts +0 -603
- package/dist/transaction/wire/commit.js +0 -321
- package/dist/transaction/wire/delta.d.ts +0 -250
- package/dist/transaction/wire/delta.js +0 -147
- package/dist/transaction/wire/errorEnvelope.d.ts +0 -72
- package/dist/transaction/wire/errorEnvelope.js +0 -123
- package/dist/transaction/wire/feedCursor.d.ts +0 -60
- package/dist/transaction/wire/feedCursor.js +0 -82
- package/dist/transaction/wire/feedEvent.d.ts +0 -204
- package/dist/transaction/wire/feedEvent.js +0 -65
- package/dist/transaction/wire/frames.d.ts +0 -194
- package/dist/transaction/wire/frames.js +0 -50
- package/dist/transaction/wire/inboundFrames.d.ts +0 -562
- package/dist/transaction/wire/inboundFrames.js +0 -116
- package/dist/transaction/wire/index.d.ts +0 -54
- package/dist/transaction/wire/index.js +0 -83
- package/dist/transaction/wire/listEnvelope.d.ts +0 -37
- package/dist/transaction/wire/listEnvelope.js +0 -42
- package/dist/transaction/wire/modelMutations.d.ts +0 -31
- package/dist/transaction/wire/modelMutations.js +0 -52
- package/dist/transaction/wire/modelResponses.d.ts +0 -85
- package/dist/transaction/wire/modelResponses.js +0 -43
- package/dist/transaction/wire/modelShape.d.ts +0 -78
- package/dist/transaction/wire/modelShape.js +0 -74
- package/dist/transaction/wire/protocol.d.ts +0 -38
- package/dist/transaction/wire/protocol.js +0 -38
- package/dist/transaction/wire/protocolVersion.d.ts +0 -73
- package/dist/transaction/wire/protocolVersion.js +0 -83
- package/dist/transactions/mutations/MutationQueue.d.ts +0 -661
- package/dist/transactions/mutations/MutationQueue.js +0 -2807
- package/dist/transactions/mutations/MutationStore.d.ts +0 -20
- package/dist/transactions/mutations/MutationStore.js +0 -53
- package/dist/transactions/mutations/UnconfirmedWrites.d.ts +0 -82
- package/dist/transactions/mutations/UnconfirmedWrites.js +0 -104
- package/dist/transactions/mutations/coalesceRules.d.ts +0 -58
- package/dist/transactions/mutations/coalesceRules.js +0 -140
- package/dist/transactions/mutations/commitLatency.d.ts +0 -52
- package/dist/transactions/mutations/commitLatency.js +0 -130
- package/dist/transactions/mutations/commitOutboxStore.d.ts +0 -28
- package/dist/transactions/mutations/commitOutboxStore.js +0 -26
- package/dist/transactions/mutations/commitPayload.d.ts +0 -165
- package/dist/transactions/mutations/commitPayload.js +0 -152
- package/dist/transactions/mutations/deltaConfirmation.d.ts +0 -63
- package/dist/transactions/mutations/deltaConfirmation.js +0 -235
- package/dist/transactions/mutations/durableWriteStore.d.ts +0 -14
- package/dist/transactions/mutations/durableWriteStore.js +0 -12
- package/dist/transactions/mutations/optimisticApply.d.ts +0 -49
- package/dist/transactions/mutations/optimisticApply.js +0 -65
- package/dist/transactions/mutations/replayValidation.d.ts +0 -187
- package/dist/transactions/mutations/replayValidation.js +0 -164
- package/dist/utils/mobxSetup.d.ts +0 -53
- package/dist/utils/mobxSetup.js +0 -330
- package/dist/views/QueryView.d.ts +0 -79
- package/dist/views/QueryView.js +0 -218
- package/dist/views/ViewRegistry.d.ts +0 -20
- package/dist/views/ViewRegistry.js +0 -55
- package/dist/views/incrementalView.d.ts +0 -45
- package/dist/views/incrementalView.js +0 -69
- package/dist/webhooks/events.d.ts +0 -43
- package/dist/webhooks/events.js +0 -42
- package/dist/webhooks/index.d.ts +0 -8
- package/dist/webhooks/index.js +0 -8
- package/dist/wire/index.d.ts +0 -1
- package/dist/wire/index.js +0 -8
package/dist/Database.d.ts
DELETED
|
@@ -1,323 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The local persistence layer for synced models. It stores rows in the
|
|
3
|
-
* browser's IndexedDB (or in-memory maps when run headlessly), applies inbound
|
|
4
|
-
* deltas to that store, and fetches the bootstrap snapshot from your sync
|
|
5
|
-
* server. {@link BaseSyncedStore} drives it, and {@link InstanceCache} holds the
|
|
6
|
-
* in-memory mirror of what this class persists.
|
|
7
|
-
*/
|
|
8
|
-
import { type DatabaseInfo, type WorkspaceMetadata } from './stores/DatabaseManager.js';
|
|
9
|
-
import { ModelRegistry } from './ModelRegistry.js';
|
|
10
|
-
import { LoadStrategy } from './transaction/types/index.js';
|
|
11
|
-
import type { RuntimeContext } from './RuntimeContext.js';
|
|
12
|
-
import type { AppliedChange } from './transaction/plugin.js';
|
|
13
|
-
import type { BootstrapFetcher, BootstrapData } from './sync/BootstrapFetcher.js';
|
|
14
|
-
import { InMemoryObjectStore } from './adapters/inMemoryStorage.js';
|
|
15
|
-
import type { SyncDeltaAction } from './transaction/wire/delta.js';
|
|
16
|
-
import type { OnStaleMode } from './transaction/coordination/schema.js';
|
|
17
|
-
import type { BootstrapType } from './transaction/types/index.js';
|
|
18
|
-
/** Generic record type for model data */
|
|
19
|
-
type ModelData = Record<string, unknown>;
|
|
20
|
-
/** Persisted mutation in a transaction */
|
|
21
|
-
interface PersistedMutation {
|
|
22
|
-
type: 'create' | 'update' | 'delete' | 'archive';
|
|
23
|
-
modelData: ModelData;
|
|
24
|
-
modelName: string;
|
|
25
|
-
timestamp: string;
|
|
26
|
-
writeOptions?: {
|
|
27
|
-
readAt?: number | null;
|
|
28
|
-
onStale?: OnStaleMode | null;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/** Persisted transaction for offline/retry support.
|
|
32
|
-
*
|
|
33
|
-
* Index signature is part of the contract: this interface targets
|
|
34
|
-
* the generic record-shaped storage layer (`InMemoryObjectStore.put`
|
|
35
|
-
* + the IDB ObjectStore equivalent), both of which take
|
|
36
|
-
* `Record<string, unknown>`. Every declared field below already
|
|
37
|
-
* satisfies `unknown`; the index signature just makes the
|
|
38
|
-
* interface assignable to the storage parameter without a cast. */
|
|
39
|
-
interface PersistedTransaction {
|
|
40
|
-
id: string;
|
|
41
|
-
type?: string;
|
|
42
|
-
timestamp?: number;
|
|
43
|
-
createdAt?: number;
|
|
44
|
-
mutations?: PersistedMutation[];
|
|
45
|
-
awaitingDelta?: {
|
|
46
|
-
syncIdNeeded: number;
|
|
47
|
-
modelName: string;
|
|
48
|
-
modelId: string;
|
|
49
|
-
operationType: string;
|
|
50
|
-
};
|
|
51
|
-
[key: string]: unknown;
|
|
52
|
-
}
|
|
53
|
-
export type { BootstrapType };
|
|
54
|
-
export interface BootstrapRequirements {
|
|
55
|
-
type: BootstrapType;
|
|
56
|
-
modelsToLoad: string[];
|
|
57
|
-
lastSyncId: number;
|
|
58
|
-
syncGroups: string[];
|
|
59
|
-
}
|
|
60
|
-
export interface BootstrapResult {
|
|
61
|
-
modelsLoaded: number;
|
|
62
|
-
modelsStored: number;
|
|
63
|
-
/** The raw bootstrap response — callers can apply models directly to InstanceCache */
|
|
64
|
-
bootstrapData: BootstrapData;
|
|
65
|
-
/**
|
|
66
|
-
* Results of applying partial-bootstrap deltas to IDB. Present only when
|
|
67
|
-
* `bootstrapData.type === 'partial'` and deltas were processed. Callers
|
|
68
|
-
* forward these to `syncClient.applyDeltaBatchToPool` so the in-memory
|
|
69
|
-
* pool reflects inserts/updates/deletes that arrived while the client
|
|
70
|
-
* was disconnected — without this, DELETE deltas persist to IDB but
|
|
71
|
-
* ghost entities linger in the pool until a full reload.
|
|
72
|
-
*/
|
|
73
|
-
deltaResults?: AppliedChange[];
|
|
74
|
-
}
|
|
75
|
-
export declare class Database {
|
|
76
|
-
private databaseManager;
|
|
77
|
-
private storeManager;
|
|
78
|
-
private modelRegistry;
|
|
79
|
-
private bootstrapHelper;
|
|
80
|
-
/** The pre-configured query helper for lazy-loading data from the sync server. */
|
|
81
|
-
get helper(): BootstrapFetcher;
|
|
82
|
-
/**
|
|
83
|
-
* Fetch the current rows of the given sync groups as a side-effect-free
|
|
84
|
-
* snapshot, used to hydrate a scope as the user enters it. Unlike
|
|
85
|
-
* {@link bootstrapFromServer}, it does not persist to IndexedDB and does not
|
|
86
|
-
* change the connection's subscribed sync groups. The caller applies the
|
|
87
|
-
* result to the pool through the scoped apply path.
|
|
88
|
-
*/
|
|
89
|
-
fetchScopedBootstrapData(syncGroups: readonly string[]): Promise<BootstrapData>;
|
|
90
|
-
private currentDbInfo;
|
|
91
|
-
private workspaceDb;
|
|
92
|
-
/**
|
|
93
|
-
* Flag to track if database is closing/closed.
|
|
94
|
-
* Used for graceful degradation when operations are attempted during shutdown.
|
|
95
|
-
*/
|
|
96
|
-
private isClosing;
|
|
97
|
-
/**
|
|
98
|
-
* When set, forces the next requiredBootstrap() call to return 'full' even if offline.
|
|
99
|
-
* Used when a sync group change delta is received — we must re-bootstrap to purge
|
|
100
|
-
* revoked data, even if the device is currently offline (it will bootstrap when online).
|
|
101
|
-
*/
|
|
102
|
-
private _forceFullBootstrap;
|
|
103
|
-
/** Essential fields that must be preserved during partial UPDATE merges.
|
|
104
|
-
* Sourced from SyncEngineConfig.essentialFields — consumers define their own. */
|
|
105
|
-
private get essentialFields();
|
|
106
|
-
/**
|
|
107
|
-
* When true, all IndexedDB operations are replaced with in-memory Maps.
|
|
108
|
-
* Enables the SDK to run headlessly in Node.js / agent workers / tests
|
|
109
|
-
* without requiring a browser environment.
|
|
110
|
-
*
|
|
111
|
-
* Set via createSyncEngine({ storage: inMemoryStorage() }) or directly:
|
|
112
|
-
* new Database(registry, bootstrap, { inMemory: true })
|
|
113
|
-
*/
|
|
114
|
-
private readonly inMemory;
|
|
115
|
-
private readonly runtime;
|
|
116
|
-
/** In-memory stores used when inMemory=true. Keyed by model name. */
|
|
117
|
-
private inMemoryStores;
|
|
118
|
-
/** In-memory workspace metadata when inMemory=true. */
|
|
119
|
-
private inMemoryMetadata;
|
|
120
|
-
constructor(modelRegistry: ModelRegistry, bootstrapHelper: BootstrapFetcher, options?: {
|
|
121
|
-
inMemory?: boolean;
|
|
122
|
-
runtime?: RuntimeContext;
|
|
123
|
-
});
|
|
124
|
-
/**
|
|
125
|
-
* Get store for a model, or `undefined` if no store exists.
|
|
126
|
-
*
|
|
127
|
-
* Routes to `inMemoryStores` in inMemory mode and `storeManager`
|
|
128
|
-
* otherwise. Both implementations satisfy `ObjectStoreContract`, so
|
|
129
|
-
* callers don't branch on which one they got back.
|
|
130
|
-
*
|
|
131
|
-
* Pass `context` to emit an observability breadcrumb when the store
|
|
132
|
-
* is missing — useful for hot paths (bootstrap, delta apply, hydrate)
|
|
133
|
-
* where a missing store points to silent data loss. Callers that
|
|
134
|
-
* already expect optional behavior (e.g. lazy lookups) can omit it.
|
|
135
|
-
*/
|
|
136
|
-
getStore(modelName: string, context?: string): import("./stores/ObjectStore.js").ObjectStore | InMemoryObjectStore | undefined;
|
|
137
|
-
/** Get store or throw if not found (for operations that require the store). */
|
|
138
|
-
private getRequiredStore;
|
|
139
|
-
/** Log preserved fields during partial UPDATE merge (debug helper) */
|
|
140
|
-
private logPreservedFields;
|
|
141
|
-
open(userId: string, organizationId: string, version?: number): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* Shrink a record before persisting it. Drops `undefined` fields, empty
|
|
144
|
-
* arrays, empty objects, and the redundant markers `__typename`, `__class`,
|
|
145
|
-
* `clientId`, and `syncStatus`. Explicit `null` values are preserved, since
|
|
146
|
-
* a null is a meaningful "clear this field" in a nullable column.
|
|
147
|
-
*
|
|
148
|
-
* By design this receives plain objects, never live observables: WebSocket
|
|
149
|
-
* deltas arrive already parsed, optimistic updates come through `toJSON()`,
|
|
150
|
-
* and bootstrap data is plain JSON from the server.
|
|
151
|
-
*/
|
|
152
|
-
private compactRecord;
|
|
153
|
-
/**
|
|
154
|
-
* Mark that the next bootstrap must be a full bootstrap.
|
|
155
|
-
* Called when a sync group change ("G" delta) is received — the client must
|
|
156
|
-
* re-fetch all data from the server to purge models from revoked sync groups.
|
|
157
|
-
*/
|
|
158
|
-
markRequiresFullBootstrap(): void;
|
|
159
|
-
/**
|
|
160
|
-
* Smart bootstrap requirements based on data freshness
|
|
161
|
-
*/
|
|
162
|
-
requiredBootstrap(): Promise<BootstrapRequirements>;
|
|
163
|
-
/**
|
|
164
|
-
* Fetch a bootstrap snapshot (or delta batch) from the sync server and load
|
|
165
|
-
* it into the local store, then return a {@link BootstrapResult} the caller
|
|
166
|
-
* applies to the {@link InstanceCache}.
|
|
167
|
-
*/
|
|
168
|
-
bootstrapFromServer(requirements: BootstrapRequirements,
|
|
169
|
-
/** Full sync-group subscription list — what the WS subscribes to
|
|
170
|
-
* AND what gets persisted as `subscribedSyncGroups` for the
|
|
171
|
-
* shrinkage check. Caller supplies the complete list, not just
|
|
172
|
-
* team-derived groups. */
|
|
173
|
-
syncGroups: readonly string[], onProgress?: (loaded: number) => void): Promise<BootstrapResult>;
|
|
174
|
-
/**
|
|
175
|
-
* Apply a single inbound delta from the WebSocket to the local store.
|
|
176
|
-
*
|
|
177
|
-
* This handles one delta at a time. To apply several, prefer
|
|
178
|
-
* {@link processDeltaBatch}, which commits them in one IndexedDB transaction
|
|
179
|
-
* rather than two transactions per delta.
|
|
180
|
-
*
|
|
181
|
-
* Update deltas carry only the changed fields, so they are merged onto the
|
|
182
|
-
* existing record rather than replacing it. That preserves fields the delta
|
|
183
|
-
* omits (such as reportId or title), and an explicit null is kept as a value,
|
|
184
|
-
* clearing that field.
|
|
185
|
-
*/
|
|
186
|
-
processDelta(delta: {
|
|
187
|
-
syncId?: number;
|
|
188
|
-
/**
|
|
189
|
-
* Includes 'G' and 'S' defensively — those are routed upstream by
|
|
190
|
-
* BaseSyncedStore.processDeltaWithBatching and should not reach here,
|
|
191
|
-
* but the switch returns a no-op verify if one slips through (e.g.
|
|
192
|
-
* replayed from the bootstrap queue) rather than crashing the engine.
|
|
193
|
-
*/
|
|
194
|
-
actionType: SyncDeltaAction;
|
|
195
|
-
modelName: string;
|
|
196
|
-
modelId: string;
|
|
197
|
-
data: ModelData | null;
|
|
198
|
-
}): Promise<AppliedChange>;
|
|
199
|
-
/**
|
|
200
|
-
* Apply many deltas to the local store in as few IndexedDB transactions as
|
|
201
|
-
* possible. Deltas are grouped by store, and each store's writes commit in a
|
|
202
|
-
* single transaction, so a batch of 186 deltas becomes roughly one
|
|
203
|
-
* transaction per store instead of two per delta.
|
|
204
|
-
*
|
|
205
|
-
* The method reads the existing records for update deltas up front, then
|
|
206
|
-
* merges each update onto its existing record so fields the delta omits are
|
|
207
|
-
* preserved and an explicit null still clears its field. It advances the
|
|
208
|
-
* persisted sync cursor once, to the highest committed sync id.
|
|
209
|
-
*
|
|
210
|
-
* Conflict resolution follows a delete-wins rule: it first indexes the
|
|
211
|
-
* delete deltas by entity, then skips any insert or update whose sync id is
|
|
212
|
-
* at or below a delete for the same entity. This avoids resurrecting a
|
|
213
|
-
* deleted entity and avoids fetching one that no longer exists.
|
|
214
|
-
*/
|
|
215
|
-
processDeltaBatch(deltas: {
|
|
216
|
-
syncId?: number;
|
|
217
|
-
/**
|
|
218
|
-
* Includes 'G' and 'S' defensively — they're routed upstream and
|
|
219
|
-
* shouldn't reach batch processing, but the switch inside returns
|
|
220
|
-
* no-op verify for them if one slips through.
|
|
221
|
-
*/
|
|
222
|
-
actionType: SyncDeltaAction;
|
|
223
|
-
modelName: string;
|
|
224
|
-
modelId: string;
|
|
225
|
-
data: ModelData | null;
|
|
226
|
-
/**
|
|
227
|
-
* Server-stamped transaction id from the originating client's
|
|
228
|
-
* commit op. Threaded through to the result so the receive
|
|
229
|
-
* pipeline can recognize echoes of the local client's own
|
|
230
|
-
* mutations and skip the pool mutation in
|
|
231
|
-
* `SyncClient.applyDeltaBatchToPool`. Optional because system-
|
|
232
|
-
* emitted deltas (sync_group changes, schema-derived ops) don't
|
|
233
|
-
* have a client transaction.
|
|
234
|
-
*/
|
|
235
|
-
transactionId?: string;
|
|
236
|
-
}[]): Promise<{
|
|
237
|
-
results: AppliedChange[];
|
|
238
|
-
/**
|
|
239
|
-
* Highest syncId whose IDB store transaction actually committed in this
|
|
240
|
-
* batch. The runtime delta cursor (WS `lastSyncId`, server-side
|
|
241
|
-
* `lastAckedSyncId`) must only advance to this value — not the input
|
|
242
|
-
* batch's range max — or it diverges from the persisted view and the
|
|
243
|
-
* next catch-up request skips the un-persisted gap forever. Mirrors
|
|
244
|
-
* the metadata-cursor invariant at `updateWorkspaceMetadata` below.
|
|
245
|
-
* 0 when nothing persisted.
|
|
246
|
-
*/
|
|
247
|
-
persistedSyncId: number;
|
|
248
|
-
}>;
|
|
249
|
-
/** Get raw data for hydration */
|
|
250
|
-
hydrateModels(modelName: string): Promise<ModelData[]>;
|
|
251
|
-
/** Put a single record to IndexedDB (for self-healing corrupted records) */
|
|
252
|
-
putRecord(modelName: string, id: string, data: Record<string, unknown>): Promise<void>;
|
|
253
|
-
/** Get data by index. `value` is an IDB key — string, number, Date,
|
|
254
|
-
* BufferSource, or array thereof. */
|
|
255
|
-
getDataByIndex(modelName: string, indexName: string, value: IDBValidKey): Promise<ModelData[]>;
|
|
256
|
-
/** Read workspace metadata from IndexedDB. Returns null when the database is not open. */
|
|
257
|
-
getWorkspaceMetadata(): Promise<WorkspaceMetadata | null>;
|
|
258
|
-
getLastSyncId(): Promise<number>;
|
|
259
|
-
updateWorkspaceMetadata(metadata: Partial<WorkspaceMetadata>): Promise<void>;
|
|
260
|
-
/** Transaction persistence for offline/retry support.
|
|
261
|
-
* Returns either the IDB-backed ObjectStore or its in-memory twin
|
|
262
|
-
* (`InMemoryObjectStore`) — both expose the same async put/get/
|
|
263
|
-
* delete/getAll/getAllFromIndex surface, so callers don't need to
|
|
264
|
-
* branch on which one they got back. */
|
|
265
|
-
private get transactionStore();
|
|
266
|
-
saveTransaction(transaction: PersistedTransaction): Promise<void>;
|
|
267
|
-
/** Persist one burst of journal rows in a single strict durability group. */
|
|
268
|
-
saveTransactions(transactions: readonly PersistedTransaction[]): Promise<void>;
|
|
269
|
-
removeTransaction(id: string): Promise<void>;
|
|
270
|
-
getPersistedTransactions(): Promise<PersistedTransaction[]>;
|
|
271
|
-
getPersistedTransaction(id: string): Promise<PersistedTransaction | undefined>;
|
|
272
|
-
/**
|
|
273
|
-
* Atomically seal one exact commit request and consume the staged mutation
|
|
274
|
-
* records it replaces. The read, optional add, and deletes share one strict
|
|
275
|
-
* IndexedDB transaction, so a crash can expose the staged records or the
|
|
276
|
-
* sealed envelope, never a missing handoff. Returns the pre-existing record
|
|
277
|
-
* when the envelope id was already sealed (retry/re-entrant call).
|
|
278
|
-
*/
|
|
279
|
-
sealTransactionRecord(record: PersistedTransaction, consumedRecordIds: readonly string[]): Promise<PersistedTransaction | undefined>;
|
|
280
|
-
cleanupOldTransactions(maxAge: number): Promise<number>;
|
|
281
|
-
/**
|
|
282
|
-
* Store management
|
|
283
|
-
*
|
|
284
|
-
* `getStore(modelName, context?)` is defined near the top of this
|
|
285
|
-
* class — single accessor for both inMemory and IDB modes.
|
|
286
|
-
*/
|
|
287
|
-
getAllStores(): Map<string, import("./stores/ObjectStore.js").ObjectStore> | Map<string, InMemoryObjectStore>;
|
|
288
|
-
/**
|
|
289
|
-
* Model persistence tracking
|
|
290
|
-
*/
|
|
291
|
-
setModelPersisted(modelName: string, persisted: boolean): Promise<void>;
|
|
292
|
-
isModelPersisted(modelName: string): Promise<boolean>;
|
|
293
|
-
/**
|
|
294
|
-
* Statistics
|
|
295
|
-
*/
|
|
296
|
-
getStats(): Promise<{
|
|
297
|
-
database: DatabaseInfo | null;
|
|
298
|
-
stores: {
|
|
299
|
-
totalStores: number;
|
|
300
|
-
readiness: {
|
|
301
|
-
ready: number;
|
|
302
|
-
notReady: number;
|
|
303
|
-
};
|
|
304
|
-
totalRecords: number;
|
|
305
|
-
storeDetails: {
|
|
306
|
-
modelName: string;
|
|
307
|
-
storeName: string;
|
|
308
|
-
strategy: LoadStrategy;
|
|
309
|
-
ready: boolean;
|
|
310
|
-
count: number;
|
|
311
|
-
}[];
|
|
312
|
-
};
|
|
313
|
-
metadata: WorkspaceMetadata | null;
|
|
314
|
-
}>;
|
|
315
|
-
/**
|
|
316
|
-
* Lifecycle
|
|
317
|
-
*/
|
|
318
|
-
isOpen(): boolean;
|
|
319
|
-
close(): Promise<void>;
|
|
320
|
-
clear(options?: {
|
|
321
|
-
includeWriteJournal?: boolean;
|
|
322
|
-
}): Promise<void>;
|
|
323
|
-
}
|