@abloatai/ablo 0.36.0 → 0.37.1
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 +55 -2014
- package/NOTICE +2 -2
- package/README.md +45 -63
- 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
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A compile-time proof that two types are the same type, in both directions.
|
|
3
|
-
*
|
|
4
|
-
* This is how a derived shape is pinned to the shape it derives from. A plain
|
|
5
|
-
* `extends` check only proves one side is assignable to the other, which a
|
|
6
|
-
* schema that has grown a field still satisfies; both directions catch the
|
|
7
|
-
* addition. Instantiating it at a value binding turns the mismatch into a
|
|
8
|
-
* compile error at the definition site rather than at some distant caller.
|
|
9
|
-
*
|
|
10
|
-
* ```ts
|
|
11
|
-
* const _contract: AssertExact<z.infer<typeof participantRefSchema>, ParticipantRef> = true;
|
|
12
|
-
* ```
|
|
13
|
-
*
|
|
14
|
-
* The tuple wrappers stop a union operand from distributing, so a union is
|
|
15
|
-
* compared whole rather than member by member.
|
|
16
|
-
*/
|
|
17
|
-
export type AssertExact<A, B> = [A] extends [B] ? ([B] extends [A] ? true : never) : never;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single place where you tell the SDK about your application's types.
|
|
3
|
-
*
|
|
4
|
-
* You register your Schema, UserMeta and ClaimMeta once by augmenting the
|
|
5
|
-
* {@link Register} interface. From then on the typed SDK surface reads its
|
|
6
|
-
* types from that registration, so you never pass a generic or a `schema`
|
|
7
|
-
* argument at a call site.
|
|
8
|
-
*
|
|
9
|
-
* Registration uses TypeScript module augmentation: any file in your project
|
|
10
|
-
* can add an `interface Register` to a `declare module '@abloatai/ablo'`
|
|
11
|
-
* block, and every resolver below picks it up. Because the name is scoped to
|
|
12
|
-
* this module, the interface is simply `Register` — not a global and not
|
|
13
|
-
* prefixed.
|
|
14
|
-
*
|
|
15
|
-
* The `npx ablo init` command scaffolds this file as `ablo/register.ts`, next
|
|
16
|
-
* to `ablo/schema.ts`. Write it as a normal `.ts` module, not a hand-authored
|
|
17
|
-
* `.d.ts`: the top-level `import type { schema }` is what makes the
|
|
18
|
-
* `declare module` block merge into this interface rather than collide with it.
|
|
19
|
-
* Any `.ts` file covered by your `tsconfig` works, and it never needs to be
|
|
20
|
-
* imported anywhere.
|
|
21
|
-
*
|
|
22
|
-
* ```ts
|
|
23
|
-
* // ablo/register.ts
|
|
24
|
-
* import type { schema } from './schema';
|
|
25
|
-
*
|
|
26
|
-
* declare module '@abloatai/ablo' {
|
|
27
|
-
* interface Register {
|
|
28
|
-
* Schema: typeof schema;
|
|
29
|
-
* UserMeta: { id: string; email: string };
|
|
30
|
-
* ClaimMeta: { blocks: string[] };
|
|
31
|
-
* }
|
|
32
|
-
* }
|
|
33
|
-
* export {};
|
|
34
|
-
* ```
|
|
35
|
-
*
|
|
36
|
-
* When `Register` is never augmented, every resolver falls back to
|
|
37
|
-
* {@link DefaultSyncShape} — a loose shape that keeps your code compiling
|
|
38
|
-
* without typed results until you opt in.
|
|
39
|
-
*/
|
|
40
|
-
import type { SchemaRecord } from '../schema/schema.js';
|
|
41
|
-
/**
|
|
42
|
-
* The fallback shapes the resolvers use when {@link Register} has not been
|
|
43
|
-
* augmented. `DefaultSyncShape.Schema` is deliberately structural — it carries
|
|
44
|
-
* `{ models: SchemaRecord }` so hooks can still check a model-key argument
|
|
45
|
-
* against something (and satisfy the `SchemaRecord` bound), just without a
|
|
46
|
-
* typed entity shape behind it.
|
|
47
|
-
*/
|
|
48
|
-
export interface DefaultSyncShape {
|
|
49
|
-
readonly Schema: {
|
|
50
|
-
readonly models: SchemaRecord;
|
|
51
|
-
};
|
|
52
|
-
readonly UserMeta: {
|
|
53
|
-
readonly id: string;
|
|
54
|
-
};
|
|
55
|
-
readonly ClaimMeta: Record<string, unknown>;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* The registration interface you augment to declare your application's types.
|
|
59
|
-
* Add keys inside a `declare module '@abloatai/ablo'` block — for example
|
|
60
|
-
* `interface Register { Schema: ...; UserMeta: ...; ClaimMeta: ...; }`. It is
|
|
61
|
-
* empty by default,
|
|
62
|
-
* so any key you omit falls back to {@link DefaultSyncShape}. It is exported
|
|
63
|
-
* from the package root so your augmentation merges into this declaration.
|
|
64
|
-
*
|
|
65
|
-
* The `Schema` key holds the type returned by `defineSchema`, and
|
|
66
|
-
* {@link ResolveSchema} reads it back out.
|
|
67
|
-
*/
|
|
68
|
-
export interface Register {
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Your registered schema, or the default shape when none is registered. Hooks
|
|
72
|
-
* read this to type their model-key argument and to infer the entity type they
|
|
73
|
-
* return.
|
|
74
|
-
*/
|
|
75
|
-
export type ResolveSchema = Register extends {
|
|
76
|
-
Schema: infer S;
|
|
77
|
-
} ? S extends {
|
|
78
|
-
models: Record<string, unknown>;
|
|
79
|
-
} ? S : DefaultSyncShape['Schema'] : DefaultSyncShape['Schema'];
|
|
80
|
-
/**
|
|
81
|
-
* Your registered user-metadata shape, or the default when none is registered.
|
|
82
|
-
* It carries identity information you trust from your own auth layer; the SDK
|
|
83
|
-
* does not validate it.
|
|
84
|
-
*/
|
|
85
|
-
export type ResolveUserMeta = Register extends {
|
|
86
|
-
UserMeta: infer U;
|
|
87
|
-
} ? U : DefaultSyncShape['UserMeta'];
|
|
88
|
-
/**
|
|
89
|
-
* The application metadata your claims carry, or the default when none is
|
|
90
|
-
* registered. It rides along on a claim's target — the SDK transports it
|
|
91
|
-
* verbatim, never interprets it, and never validates it, so the shape is
|
|
92
|
-
* yours to declare and yours alone to keep true.
|
|
93
|
-
*
|
|
94
|
-
* Declaring it here is what makes `claim.state({ id })?.target.meta` readable
|
|
95
|
-
* without a `typeof` guard, on every claim surface at once.
|
|
96
|
-
*/
|
|
97
|
-
export type ResolveClaimMeta = Register extends {
|
|
98
|
-
ClaimMeta: infer M;
|
|
99
|
-
} ? M : DefaultSyncShape['ClaimMeta'];
|
|
100
|
-
/**
|
|
101
|
-
* The union of your schema's model names. `useQuery(modelKey)` narrows its
|
|
102
|
-
* first argument to this union, so a misspelled or unknown model name fails at
|
|
103
|
-
* compile time.
|
|
104
|
-
*/
|
|
105
|
-
export type ResolveModelKey = ResolveSchema extends {
|
|
106
|
-
models: infer M;
|
|
107
|
-
} ? keyof M & string : string;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The single place where you tell the SDK about your application's types.
|
|
3
|
-
*
|
|
4
|
-
* You register your Schema, UserMeta and ClaimMeta once by augmenting the
|
|
5
|
-
* {@link Register} interface. From then on the typed SDK surface reads its
|
|
6
|
-
* types from that registration, so you never pass a generic or a `schema`
|
|
7
|
-
* argument at a call site.
|
|
8
|
-
*
|
|
9
|
-
* Registration uses TypeScript module augmentation: any file in your project
|
|
10
|
-
* can add an `interface Register` to a `declare module '@abloatai/ablo'`
|
|
11
|
-
* block, and every resolver below picks it up. Because the name is scoped to
|
|
12
|
-
* this module, the interface is simply `Register` — not a global and not
|
|
13
|
-
* prefixed.
|
|
14
|
-
*
|
|
15
|
-
* The `npx ablo init` command scaffolds this file as `ablo/register.ts`, next
|
|
16
|
-
* to `ablo/schema.ts`. Write it as a normal `.ts` module, not a hand-authored
|
|
17
|
-
* `.d.ts`: the top-level `import type { schema }` is what makes the
|
|
18
|
-
* `declare module` block merge into this interface rather than collide with it.
|
|
19
|
-
* Any `.ts` file covered by your `tsconfig` works, and it never needs to be
|
|
20
|
-
* imported anywhere.
|
|
21
|
-
*
|
|
22
|
-
* ```ts
|
|
23
|
-
* // ablo/register.ts
|
|
24
|
-
* import type { schema } from './schema';
|
|
25
|
-
*
|
|
26
|
-
* declare module '@abloatai/ablo' {
|
|
27
|
-
* interface Register {
|
|
28
|
-
* Schema: typeof schema;
|
|
29
|
-
* UserMeta: { id: string; email: string };
|
|
30
|
-
* ClaimMeta: { blocks: string[] };
|
|
31
|
-
* }
|
|
32
|
-
* }
|
|
33
|
-
* export {};
|
|
34
|
-
* ```
|
|
35
|
-
*
|
|
36
|
-
* When `Register` is never augmented, every resolver falls back to
|
|
37
|
-
* {@link DefaultSyncShape} — a loose shape that keeps your code compiling
|
|
38
|
-
* without typed results until you opt in.
|
|
39
|
-
*/
|
|
40
|
-
export {};
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core type definitions for the model-driven sync layer.
|
|
3
|
-
*
|
|
4
|
-
* These types describe how a model's properties are declared, when their data
|
|
5
|
-
* is loaded, and how changes are represented on the wire as they synchronize.
|
|
6
|
-
*/
|
|
7
|
-
import type { FieldMeta } from '../schema/field.js';
|
|
8
|
-
import { LoadStrategy } from '../schema/loadStrategy.js';
|
|
9
|
-
/**
|
|
10
|
-
* A lifecycle filter for queries: whether to return live entities, archived
|
|
11
|
-
* ones, or both.
|
|
12
|
-
*/
|
|
13
|
-
export declare enum ModelScope {
|
|
14
|
-
live = "live",
|
|
15
|
-
archived = "archived",
|
|
16
|
-
all = "all"
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* The kinds of property a model can declare. Each kind determines how the
|
|
20
|
-
* property behaves in the sync system — whether it is persisted, how it relates
|
|
21
|
-
* to other models, and how it is loaded.
|
|
22
|
-
*/
|
|
23
|
-
export declare enum PropertyType {
|
|
24
|
-
/** A standard observable field owned by the model, both persisted and synced. */
|
|
25
|
-
property = "property",
|
|
26
|
-
/** A runtime-only field that is neither persisted nor synced. */
|
|
27
|
-
ephemeralProperty = "ephemeralProperty",
|
|
28
|
-
/** A foreign-key reference that stores only the related model's id. */
|
|
29
|
-
reference = "reference",
|
|
30
|
-
/** A single related model resolved on demand from its id, exposed as a getter and setter. */
|
|
31
|
-
referenceModel = "referenceModel",
|
|
32
|
-
/** A collection of related models — the many side of a one-to-many relationship. */
|
|
33
|
-
referenceCollection = "referenceCollection",
|
|
34
|
-
/** A computed field that follows a relationship in the inverse direction. */
|
|
35
|
-
backReference = "backReference",
|
|
36
|
-
/** An array of foreign-key ids — a many-to-many relationship. */
|
|
37
|
-
referenceArray = "referenceArray"
|
|
38
|
-
}
|
|
39
|
-
export { LoadStrategy };
|
|
40
|
-
/**
|
|
41
|
-
* The resolved configuration for a single model property.
|
|
42
|
-
*/
|
|
43
|
-
export interface PropertyMetadata {
|
|
44
|
-
type: PropertyType;
|
|
45
|
-
indexed?: boolean;
|
|
46
|
-
optional?: boolean;
|
|
47
|
-
nullable?: boolean;
|
|
48
|
-
defaultValue?: unknown;
|
|
49
|
-
loadStrategy?: LoadStrategy;
|
|
50
|
-
/**
|
|
51
|
-
* How deeply the reactivity layer wraps this property's value when the model
|
|
52
|
-
* is registered. The engine uses MobX, so the choice maps directly to MobX's
|
|
53
|
-
* observability modes.
|
|
54
|
-
*
|
|
55
|
-
* - `'deep'` (the default): full recursive observability, where every nested
|
|
56
|
-
* object or array becomes its own reactive node. Correct for scalar fields
|
|
57
|
-
* and small structured values whose inner properties are read directly.
|
|
58
|
-
* - `'shallow'`: track the reference and array, map, and set operations, but
|
|
59
|
-
* do not recurse into element internals. Right for collections whose
|
|
60
|
-
* elements are replaced wholesale.
|
|
61
|
-
* - `'ref'`: track only reassignment of the value. Right for opaque JSON
|
|
62
|
-
* blobs — chart specs, rich-text documents, style maps — that are treated
|
|
63
|
-
* as immutable values and always read whole before being handed to a
|
|
64
|
-
* renderer. Deep-wrapping these produces many needless reactions for no
|
|
65
|
-
* benefit.
|
|
66
|
-
*
|
|
67
|
-
* Schema-driven registration sets this to `'ref'` automatically for fields
|
|
68
|
-
* whose wire type is `'json'`, the right default for the blob pattern.
|
|
69
|
-
*/
|
|
70
|
-
observability?: 'deep' | 'shallow' | 'ref';
|
|
71
|
-
}
|
|
72
|
-
/** The constructor type of a model class, used by reference metadata to point at the related model. */
|
|
73
|
-
type ModelConstructor = abstract new (...args: never[]) => unknown;
|
|
74
|
-
/**
|
|
75
|
-
* The configuration for a reference property — which model it points to and how
|
|
76
|
-
* the relationship behaves.
|
|
77
|
-
*/
|
|
78
|
-
export interface ReferenceMetadata {
|
|
79
|
-
referencedModel: () => ModelConstructor;
|
|
80
|
-
backReference?: string;
|
|
81
|
-
indexed?: boolean;
|
|
82
|
-
nullable?: boolean;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* The resolved configuration for a model class.
|
|
86
|
-
*/
|
|
87
|
-
export interface ModelMetadata {
|
|
88
|
-
loadStrategy: LoadStrategy;
|
|
89
|
-
syncGroup?: string;
|
|
90
|
-
tableName?: string;
|
|
91
|
-
schemaVersion?: number;
|
|
92
|
-
/**
|
|
93
|
-
* The schema-declared fields for this model, keyed by field name. When a
|
|
94
|
-
* change is committed, the transaction queue uses this to project the payload
|
|
95
|
-
* down to the declared fields and to serialize JSON-typed values.
|
|
96
|
-
*
|
|
97
|
-
* Each entry carries the field's {@link FieldMeta.type} tag, which tells the
|
|
98
|
-
* wire serializer how to encode the value. When this is absent — a model
|
|
99
|
-
* registered without a schema — the payload is passed through unchanged.
|
|
100
|
-
*/
|
|
101
|
-
fields?: Readonly<Record<string, Pick<FieldMeta, 'type'>>>;
|
|
102
|
-
/**
|
|
103
|
-
* Fields to fill in from the signed-in identity when they are missing from a
|
|
104
|
-
* stored row during self-healing. Each entry maps a field on this model to
|
|
105
|
-
* one of the identity values the client holds — `organizationId` or `userId`.
|
|
106
|
-
* Declaring it in the schema keeps the engine product-neutral: it does not
|
|
107
|
-
* assume which models carry an organization or owner field.
|
|
108
|
-
*/
|
|
109
|
-
autoFill?: readonly {
|
|
110
|
-
field: string;
|
|
111
|
-
from: 'organizationId' | 'userId';
|
|
112
|
-
}[];
|
|
113
|
-
/**
|
|
114
|
-
* Fields a stored row must have to be usable. During self-healing, a row
|
|
115
|
-
* missing any of these is treated as orphaned and skipped rather than loaded.
|
|
116
|
-
*/
|
|
117
|
-
requiredFields?: readonly string[];
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* The options accepted when declaring a model — its load strategy, optional
|
|
121
|
-
* sync group, and optional table name.
|
|
122
|
-
*/
|
|
123
|
-
export interface ModelOptions {
|
|
124
|
-
loadStrategy: LoadStrategy;
|
|
125
|
-
syncGroup?: string;
|
|
126
|
-
tableName?: string;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* The options accepted when declaring a model property.
|
|
130
|
-
*/
|
|
131
|
-
export interface PropertyOptions {
|
|
132
|
-
indexed?: boolean;
|
|
133
|
-
optional?: boolean;
|
|
134
|
-
defaultValue?: unknown;
|
|
135
|
-
ephemeral?: boolean;
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* The options accepted when declaring a reference property.
|
|
139
|
-
*/
|
|
140
|
-
export interface ReferenceOptions {
|
|
141
|
-
indexed?: boolean;
|
|
142
|
-
nullable?: boolean;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* A request to load model rows by an indexed key. When the load completes,
|
|
146
|
-
* `resolve` is called with the matching rows.
|
|
147
|
-
*/
|
|
148
|
-
export interface LoadRequest {
|
|
149
|
-
modelName: string;
|
|
150
|
-
indexedKey: string;
|
|
151
|
-
keyValue: string;
|
|
152
|
-
resolve?: (value: unknown[]) => void;
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* How a session establishes its baseline state at startup.
|
|
156
|
-
*
|
|
157
|
-
* 'full' — Fetch a complete snapshot from the server, clear the local store,
|
|
158
|
-
* load the snapshot, and adopt its `lastSyncId`.
|
|
159
|
-
*
|
|
160
|
-
* 'partial' — Fetch only the deltas since the stored `lastSyncId` and apply
|
|
161
|
-
* them on top of the existing local data.
|
|
162
|
-
*
|
|
163
|
-
* 'local' — Skip the server entirely: hydrate the instance cache from the local
|
|
164
|
-
* store, connect the WebSocket with the stored `lastSyncId`, and receive
|
|
165
|
-
* deltas from there onward. Used when offline with valid local data.
|
|
166
|
-
*/
|
|
167
|
-
export type BootstrapType = 'full' | 'partial' | 'local';
|
|
168
|
-
/**
|
|
169
|
-
* The metadata returned with a bootstrap: the last sync id seen and the sync
|
|
170
|
-
* groups the client is subscribed to.
|
|
171
|
-
*/
|
|
172
|
-
export interface BootstrapMetadata {
|
|
173
|
-
lastSyncId: number;
|
|
174
|
-
subscribedSyncGroups: string[];
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* The locally tracked sync state that lets a client resume where it left off.
|
|
178
|
-
*/
|
|
179
|
-
export interface DatabaseMetadata {
|
|
180
|
-
lastSyncId: number;
|
|
181
|
-
firstSyncId: number;
|
|
182
|
-
backendDatabaseVersion: number;
|
|
183
|
-
subscribedSyncGroups: string[];
|
|
184
|
-
updatedAt: Date;
|
|
185
|
-
}
|
|
186
|
-
/**
|
|
187
|
-
* The operation a batch mutation performs on a model row.
|
|
188
|
-
*/
|
|
189
|
-
export declare enum MutationOperationType {
|
|
190
|
-
ARCHIVE = "ARCHIVE",
|
|
191
|
-
CREATE = "CREATE",
|
|
192
|
-
DELETE = "DELETE",
|
|
193
|
-
UNARCHIVE = "UNARCHIVE",
|
|
194
|
-
UPDATE = "UPDATE"
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Describes a partial index used to load subsets of a large model.
|
|
198
|
-
*/
|
|
199
|
-
export interface PartialIndexInfo {
|
|
200
|
-
modelName: string;
|
|
201
|
-
indexKey: string;
|
|
202
|
-
depth: number;
|
|
203
|
-
path: string[];
|
|
204
|
-
}
|
|
205
|
-
export type { TargetRange, OnStaleMode, WireClaim, ClaimRejection, PresenceKind, ParticipantKind, ParticipantRef, JsonValue, ConfirmationState, Delta, AgentDelta, Snapshot, ContextChange, ClaimTarget, PresenceTarget, PresenceStream, Activity, Peer, PresenceUpdatePayload, ClaimLeaseOptions, Duration, ClaimOptions, ClaimStream, ClaimLost, ClaimStatus, ClaimWaitOptions, Claim, HeldClaim, } from './streams.js';
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Core type definitions for the model-driven sync layer.
|
|
3
|
-
*
|
|
4
|
-
* These types describe how a model's properties are declared, when their data
|
|
5
|
-
* is loaded, and how changes are represented on the wire as they synchronize.
|
|
6
|
-
*/
|
|
7
|
-
// Bound locally as well as re-exported below: a bare `export … from` forwards
|
|
8
|
-
// the name to consumers without binding it in this module, so the annotations
|
|
9
|
-
// further down would not resolve.
|
|
10
|
-
import { LoadStrategy } from '../schema/loadStrategy.js';
|
|
11
|
-
/**
|
|
12
|
-
* A lifecycle filter for queries: whether to return live entities, archived
|
|
13
|
-
* ones, or both.
|
|
14
|
-
*/
|
|
15
|
-
export var ModelScope;
|
|
16
|
-
(function (ModelScope) {
|
|
17
|
-
ModelScope["live"] = "live";
|
|
18
|
-
ModelScope["archived"] = "archived";
|
|
19
|
-
ModelScope["all"] = "all";
|
|
20
|
-
})(ModelScope || (ModelScope = {}));
|
|
21
|
-
/**
|
|
22
|
-
* The kinds of property a model can declare. Each kind determines how the
|
|
23
|
-
* property behaves in the sync system — whether it is persisted, how it relates
|
|
24
|
-
* to other models, and how it is loaded.
|
|
25
|
-
*/
|
|
26
|
-
export var PropertyType;
|
|
27
|
-
(function (PropertyType) {
|
|
28
|
-
/** A standard observable field owned by the model, both persisted and synced. */
|
|
29
|
-
PropertyType["property"] = "property";
|
|
30
|
-
/** A runtime-only field that is neither persisted nor synced. */
|
|
31
|
-
PropertyType["ephemeralProperty"] = "ephemeralProperty";
|
|
32
|
-
/** A foreign-key reference that stores only the related model's id. */
|
|
33
|
-
PropertyType["reference"] = "reference";
|
|
34
|
-
/** A single related model resolved on demand from its id, exposed as a getter and setter. */
|
|
35
|
-
PropertyType["referenceModel"] = "referenceModel";
|
|
36
|
-
/** A collection of related models — the many side of a one-to-many relationship. */
|
|
37
|
-
PropertyType["referenceCollection"] = "referenceCollection";
|
|
38
|
-
/** A computed field that follows a relationship in the inverse direction. */
|
|
39
|
-
PropertyType["backReference"] = "backReference";
|
|
40
|
-
/** An array of foreign-key ids — a many-to-many relationship. */
|
|
41
|
-
PropertyType["referenceArray"] = "referenceArray";
|
|
42
|
-
})(PropertyType || (PropertyType = {}));
|
|
43
|
-
// When and how a model's data is loaded from the server. Defined in
|
|
44
|
-
// `../schema/loadStrategy.ts`, which the authoring surface reads from too.
|
|
45
|
-
export { LoadStrategy };
|
|
46
|
-
/**
|
|
47
|
-
* The operation a batch mutation performs on a model row.
|
|
48
|
-
*/
|
|
49
|
-
export var MutationOperationType;
|
|
50
|
-
(function (MutationOperationType) {
|
|
51
|
-
MutationOperationType["ARCHIVE"] = "ARCHIVE";
|
|
52
|
-
MutationOperationType["CREATE"] = "CREATE";
|
|
53
|
-
MutationOperationType["DELETE"] = "DELETE";
|
|
54
|
-
MutationOperationType["UNARCHIVE"] = "UNARCHIVE";
|
|
55
|
-
MutationOperationType["UPDATE"] = "UPDATE";
|
|
56
|
-
})(MutationOperationType || (MutationOperationType = {}));
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The generic record shape for a model's data — a map from field name to value.
|
|
3
|
-
*
|
|
4
|
-
* Because the values are typed as `unknown`, read the data as the
|
|
5
|
-
* schema-inferred entity type rather than accessing fields off this shape
|
|
6
|
-
* directly. It has no imports of its own, so any module can depend on it
|
|
7
|
-
* without creating an import cycle.
|
|
8
|
-
*/
|
|
9
|
-
/** A record mapping each model field name to its value. */
|
|
10
|
-
export type ModelData = Record<string, unknown>;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The generic record shape for a model's data — a map from field name to value.
|
|
3
|
-
*
|
|
4
|
-
* Because the values are typed as `unknown`, read the data as the
|
|
5
|
-
* schema-inferred entity type rather than accessing fields off this shape
|
|
6
|
-
* directly. It has no imports of its own, so any module can depend on it
|
|
7
|
-
* without creating an import cycle.
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The identity of a participant — a person's session, an AI agent, or a system
|
|
3
|
-
* actor — in the coordination protocol.
|
|
4
|
-
*
|
|
5
|
-
* {@link ParticipantRef} is the single identity shape shared by the streams
|
|
6
|
-
* types and the conflict-policy types. It has no imports of its own, so both
|
|
7
|
-
* can depend on it without creating an import cycle. The runtime validator for
|
|
8
|
-
* the same participant kinds lives alongside the other coordination schemas.
|
|
9
|
-
*/
|
|
10
|
-
/** The kind of actor a participant is: a human session, an AI agent, or a system actor. */
|
|
11
|
-
export type ParticipantKind = 'user' | 'agent' | 'system';
|
|
12
|
-
/**
|
|
13
|
-
* A reference to one participant: its {@link ParticipantKind} and its id. Used
|
|
14
|
-
* both for the actor performing an action and for the participant it acts on
|
|
15
|
-
* behalf of.
|
|
16
|
-
*/
|
|
17
|
-
export interface ParticipantRef {
|
|
18
|
-
kind: ParticipantKind;
|
|
19
|
-
id: string;
|
|
20
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The identity of a participant — a person's session, an AI agent, or a system
|
|
3
|
-
* actor — in the coordination protocol.
|
|
4
|
-
*
|
|
5
|
-
* {@link ParticipantRef} is the single identity shape shared by the streams
|
|
6
|
-
* types and the conflict-policy types. It has no imports of its own, so both
|
|
7
|
-
* can depend on it without creating an import cycle. The runtime validator for
|
|
8
|
-
* the same participant kinds lives alongside the other coordination schemas.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|