@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
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authoring helpers for a model's `conflict` axis — the setting that decides
|
|
3
|
-
* what happens when two writers touch the same row. Instead of writing a raw
|
|
4
|
-
* disposition map, you name the rules the way the rest of the schema DSL reads
|
|
5
|
-
* (`relation.belongsTo()`, `field.string()`), and chain them the way a field
|
|
6
|
-
* chains its own modifiers:
|
|
7
|
-
*
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { coordination } from '@abloatai/ablo/schema';
|
|
10
|
-
*
|
|
11
|
-
* conflict: coordination.humansOverwrite().agentsReject()
|
|
12
|
-
* // → { user: 'overwrite', agent: 'reject' } (a human's write wins, an agent's yields)
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* Each rule is named for the disposition it applies — drawn from the same
|
|
16
|
-
* `overwrite | reject | notify` vocabulary the write guards use (`onStale`) —
|
|
17
|
-
* and every one of them is also available as a standalone function, which
|
|
18
|
-
* {@link coordination} merges when the rules are assembled dynamically rather
|
|
19
|
-
* than written out:
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* conflict: coordination(humansOverwrite(), agentsReject())
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* Either way the result is plain, serializable data that the engine reads at
|
|
26
|
-
* commit time. The `humans`/`agents` wording belongs to the author; the `user`/
|
|
27
|
-
* `agent`/`system` keys belong to the wire, and this module is the one place
|
|
28
|
-
* the two are mapped to each other.
|
|
29
|
-
*/
|
|
30
|
-
import type { ConflictAxis } from '../transaction/policy/types.js';
|
|
31
|
-
/**
|
|
32
|
-
* One coordination rule: a partial {@link ConflictAxis} produced by a
|
|
33
|
-
* disposition helper below. Compose with {@link coordination}.
|
|
34
|
-
*/
|
|
35
|
-
export type ConflictRule = ConflictAxis;
|
|
36
|
-
/** A human's conflicting write wins and overwrites the other; it is never blocked. Among humans this gives last-write-wins. */
|
|
37
|
-
export declare const humansOverwrite: () => ConflictRule;
|
|
38
|
-
/** A human's conflicting write is rejected, yielding to a held claim or a stale snapshot. */
|
|
39
|
-
export declare const humansReject: () => ConflictRule;
|
|
40
|
-
/** A human's stale write triggers a notification: it re-reads and re-applies rather than clobbering. */
|
|
41
|
-
export declare const humansNotify: () => ConflictRule;
|
|
42
|
-
/** An agent's conflicting write wins and overwrites the other (rarely what you want). */
|
|
43
|
-
export declare const agentsOverwrite: () => ConflictRule;
|
|
44
|
-
/** An agent's conflicting write is rejected, yielding to a held claim or a stale snapshot. */
|
|
45
|
-
export declare const agentsReject: () => ConflictRule;
|
|
46
|
-
/** An agent's stale write triggers a notification: it re-reads and re-applies rather than clobbering. */
|
|
47
|
-
export declare const agentsNotify: () => ConflictRule;
|
|
48
|
-
/** A system or automation write wins and overwrites the other. */
|
|
49
|
-
export declare const systemOverwrite: () => ConflictRule;
|
|
50
|
-
/** A system or automation write is rejected. */
|
|
51
|
-
export declare const systemReject: () => ConflictRule;
|
|
52
|
-
/** A system or automation stale write triggers a notification: it re-reads and re-applies. */
|
|
53
|
-
export declare const systemNotify: () => ConflictRule;
|
|
54
|
-
/**
|
|
55
|
-
* A conflict axis that is still open to more rules. Every method applies one
|
|
56
|
-
* disposition and hands back a new axis, so a model's whole stance reads as a
|
|
57
|
-
* single sentence and the reader never has to hold a merge in their head.
|
|
58
|
-
*
|
|
59
|
-
* Each method delegates to the standalone rule of the same name, so a
|
|
60
|
-
* disposition map like `{ user: 'overwrite' }` is written in exactly one place
|
|
61
|
-
* no matter which authoring style a schema uses. Dispositions are own
|
|
62
|
-
* enumerable properties and the methods live on the prototype, so an axis
|
|
63
|
-
* serializes to the same plain object the server has always received.
|
|
64
|
-
*/
|
|
65
|
-
declare class CoordinationAxis implements ConflictAxis {
|
|
66
|
-
readonly user?: ConflictAxis['user'];
|
|
67
|
-
readonly agent?: ConflictAxis['agent'];
|
|
68
|
-
readonly system?: ConflictAxis['system'];
|
|
69
|
-
constructor(axis: ConflictAxis);
|
|
70
|
-
/** Apply one more rule, later winning on a repeated kind. */
|
|
71
|
-
private and;
|
|
72
|
-
humansOverwrite(): CoordinationAxis;
|
|
73
|
-
humansReject(): CoordinationAxis;
|
|
74
|
-
humansNotify(): CoordinationAxis;
|
|
75
|
-
agentsOverwrite(): CoordinationAxis;
|
|
76
|
-
agentsReject(): CoordinationAxis;
|
|
77
|
-
agentsNotify(): CoordinationAxis;
|
|
78
|
-
systemOverwrite(): CoordinationAxis;
|
|
79
|
-
systemReject(): CoordinationAxis;
|
|
80
|
-
systemNotify(): CoordinationAxis;
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Merges coordination rules into a single {@link ConflictAxis}. Later rules win
|
|
84
|
-
* on key collisions, and a committer kind you leave out falls through to the
|
|
85
|
-
* engine's default at commit time.
|
|
86
|
-
*
|
|
87
|
-
* ```ts
|
|
88
|
-
* coordination(humansOverwrite(), agentsReject()) // → { user: 'overwrite', agent: 'reject' }
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
declare function mergeRules(...rules: readonly ConflictRule[]): ConflictAxis;
|
|
92
|
-
/**
|
|
93
|
-
* The coordination vocabulary, reachable through one name. Call it to merge
|
|
94
|
-
* rules you have assembled; reach through it to start a chain.
|
|
95
|
-
*
|
|
96
|
-
* ```ts
|
|
97
|
-
* conflict: coordination.humansOverwrite().agentsReject()
|
|
98
|
-
* conflict: coordination(humansOverwrite(), agentsReject())
|
|
99
|
-
* ```
|
|
100
|
-
*/
|
|
101
|
-
export declare const coordination: typeof mergeRules & {
|
|
102
|
-
humansOverwrite: () => CoordinationAxis;
|
|
103
|
-
humansReject: () => CoordinationAxis;
|
|
104
|
-
humansNotify: () => CoordinationAxis;
|
|
105
|
-
agentsOverwrite: () => CoordinationAxis;
|
|
106
|
-
agentsReject: () => CoordinationAxis;
|
|
107
|
-
agentsNotify: () => CoordinationAxis;
|
|
108
|
-
systemOverwrite: () => CoordinationAxis;
|
|
109
|
-
systemReject: () => CoordinationAxis;
|
|
110
|
-
systemNotify: () => CoordinationAxis;
|
|
111
|
-
};
|
|
112
|
-
export {};
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Authoring helpers for a model's `conflict` axis — the setting that decides
|
|
3
|
-
* what happens when two writers touch the same row. Instead of writing a raw
|
|
4
|
-
* disposition map, you name the rules the way the rest of the schema DSL reads
|
|
5
|
-
* (`relation.belongsTo()`, `field.string()`), and chain them the way a field
|
|
6
|
-
* chains its own modifiers:
|
|
7
|
-
*
|
|
8
|
-
* ```ts
|
|
9
|
-
* import { coordination } from '@abloatai/ablo/schema';
|
|
10
|
-
*
|
|
11
|
-
* conflict: coordination.humansOverwrite().agentsReject()
|
|
12
|
-
* // → { user: 'overwrite', agent: 'reject' } (a human's write wins, an agent's yields)
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* Each rule is named for the disposition it applies — drawn from the same
|
|
16
|
-
* `overwrite | reject | notify` vocabulary the write guards use (`onStale`) —
|
|
17
|
-
* and every one of them is also available as a standalone function, which
|
|
18
|
-
* {@link coordination} merges when the rules are assembled dynamically rather
|
|
19
|
-
* than written out:
|
|
20
|
-
*
|
|
21
|
-
* ```ts
|
|
22
|
-
* conflict: coordination(humansOverwrite(), agentsReject())
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* Either way the result is plain, serializable data that the engine reads at
|
|
26
|
-
* commit time. The `humans`/`agents` wording belongs to the author; the `user`/
|
|
27
|
-
* `agent`/`system` keys belong to the wire, and this module is the one place
|
|
28
|
-
* the two are mapped to each other.
|
|
29
|
-
*/
|
|
30
|
-
// ── Humans (user sessions) ──────────────────────────────────────────────
|
|
31
|
-
/** A human's conflicting write wins and overwrites the other; it is never blocked. Among humans this gives last-write-wins. */
|
|
32
|
-
export const humansOverwrite = () => ({ user: 'overwrite' });
|
|
33
|
-
/** A human's conflicting write is rejected, yielding to a held claim or a stale snapshot. */
|
|
34
|
-
export const humansReject = () => ({ user: 'reject' });
|
|
35
|
-
/** A human's stale write triggers a notification: it re-reads and re-applies rather than clobbering. */
|
|
36
|
-
export const humansNotify = () => ({ user: 'notify' });
|
|
37
|
-
// ── Agents (AI) ─────────────────────────────────────────────────────────
|
|
38
|
-
/** An agent's conflicting write wins and overwrites the other (rarely what you want). */
|
|
39
|
-
export const agentsOverwrite = () => ({ agent: 'overwrite' });
|
|
40
|
-
/** An agent's conflicting write is rejected, yielding to a held claim or a stale snapshot. */
|
|
41
|
-
export const agentsReject = () => ({ agent: 'reject' });
|
|
42
|
-
/** An agent's stale write triggers a notification: it re-reads and re-applies rather than clobbering. */
|
|
43
|
-
export const agentsNotify = () => ({ agent: 'notify' });
|
|
44
|
-
// ── System / automation ─────────────────────────────────────────────────
|
|
45
|
-
/** A system or automation write wins and overwrites the other. */
|
|
46
|
-
export const systemOverwrite = () => ({ system: 'overwrite' });
|
|
47
|
-
/** A system or automation write is rejected. */
|
|
48
|
-
export const systemReject = () => ({ system: 'reject' });
|
|
49
|
-
/** A system or automation stale write triggers a notification: it re-reads and re-applies. */
|
|
50
|
-
export const systemNotify = () => ({ system: 'notify' });
|
|
51
|
-
/**
|
|
52
|
-
* A conflict axis that is still open to more rules. Every method applies one
|
|
53
|
-
* disposition and hands back a new axis, so a model's whole stance reads as a
|
|
54
|
-
* single sentence and the reader never has to hold a merge in their head.
|
|
55
|
-
*
|
|
56
|
-
* Each method delegates to the standalone rule of the same name, so a
|
|
57
|
-
* disposition map like `{ user: 'overwrite' }` is written in exactly one place
|
|
58
|
-
* no matter which authoring style a schema uses. Dispositions are own
|
|
59
|
-
* enumerable properties and the methods live on the prototype, so an axis
|
|
60
|
-
* serializes to the same plain object the server has always received.
|
|
61
|
-
*/
|
|
62
|
-
class CoordinationAxis {
|
|
63
|
-
constructor(axis) {
|
|
64
|
-
Object.assign(this, Object.fromEntries(Object.entries(axis).filter(([, mode]) => mode !== undefined)));
|
|
65
|
-
}
|
|
66
|
-
/** Apply one more rule, later winning on a repeated kind. */
|
|
67
|
-
and(rule) {
|
|
68
|
-
// Assigned rather than spread, and for the reason the merge form below
|
|
69
|
-
// assigns too: what carries forward is the dispositions, which are own
|
|
70
|
-
// enumerable properties. The chaining methods live on the prototype and the
|
|
71
|
-
// constructor puts them back, so a chain accumulates nothing but data.
|
|
72
|
-
return new CoordinationAxis(Object.assign({}, this, rule));
|
|
73
|
-
}
|
|
74
|
-
humansOverwrite() {
|
|
75
|
-
return this.and(humansOverwrite());
|
|
76
|
-
}
|
|
77
|
-
humansReject() {
|
|
78
|
-
return this.and(humansReject());
|
|
79
|
-
}
|
|
80
|
-
humansNotify() {
|
|
81
|
-
return this.and(humansNotify());
|
|
82
|
-
}
|
|
83
|
-
agentsOverwrite() {
|
|
84
|
-
return this.and(agentsOverwrite());
|
|
85
|
-
}
|
|
86
|
-
agentsReject() {
|
|
87
|
-
return this.and(agentsReject());
|
|
88
|
-
}
|
|
89
|
-
agentsNotify() {
|
|
90
|
-
return this.and(agentsNotify());
|
|
91
|
-
}
|
|
92
|
-
systemOverwrite() {
|
|
93
|
-
return this.and(systemOverwrite());
|
|
94
|
-
}
|
|
95
|
-
systemReject() {
|
|
96
|
-
return this.and(systemReject());
|
|
97
|
-
}
|
|
98
|
-
systemNotify() {
|
|
99
|
-
return this.and(systemNotify());
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Merges coordination rules into a single {@link ConflictAxis}. Later rules win
|
|
104
|
-
* on key collisions, and a committer kind you leave out falls through to the
|
|
105
|
-
* engine's default at commit time.
|
|
106
|
-
*
|
|
107
|
-
* ```ts
|
|
108
|
-
* coordination(humansOverwrite(), agentsReject()) // → { user: 'overwrite', agent: 'reject' }
|
|
109
|
-
* ```
|
|
110
|
-
*/
|
|
111
|
-
function mergeRules(...rules) {
|
|
112
|
-
return Object.assign({}, ...rules);
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* The coordination vocabulary, reachable through one name. Call it to merge
|
|
116
|
-
* rules you have assembled; reach through it to start a chain.
|
|
117
|
-
*
|
|
118
|
-
* ```ts
|
|
119
|
-
* conflict: coordination.humansOverwrite().agentsReject()
|
|
120
|
-
* conflict: coordination(humansOverwrite(), agentsReject())
|
|
121
|
-
* ```
|
|
122
|
-
*/
|
|
123
|
-
export const coordination = Object.assign(mergeRules, {
|
|
124
|
-
humansOverwrite: () => new CoordinationAxis(humansOverwrite()),
|
|
125
|
-
humansReject: () => new CoordinationAxis(humansReject()),
|
|
126
|
-
humansNotify: () => new CoordinationAxis(humansNotify()),
|
|
127
|
-
agentsOverwrite: () => new CoordinationAxis(agentsOverwrite()),
|
|
128
|
-
agentsReject: () => new CoordinationAxis(agentsReject()),
|
|
129
|
-
agentsNotify: () => new CoordinationAxis(agentsNotify()),
|
|
130
|
-
systemOverwrite: () => new CoordinationAxis(systemOverwrite()),
|
|
131
|
-
systemReject: () => new CoordinationAxis(systemReject()),
|
|
132
|
-
systemNotify: () => new CoordinationAxis(systemNotify()),
|
|
133
|
-
});
|
package/dist/schema/ddl.d.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Turns a schema definition into the ordered Postgres DDL that provisions and
|
|
3
|
-
* migrates its tables. A schema built with `defineSchema(...)` and serialized to
|
|
4
|
-
* {@link SchemaJSON} is the single source of truth, and this module lowers it to
|
|
5
|
-
* ordered SQL strings.
|
|
6
|
-
*
|
|
7
|
-
* The same generators run wherever tables are created — in a hosted server
|
|
8
|
-
* applying them to the Postgres it manages, and in the `ablo migrate` CLI
|
|
9
|
-
* applying them to a customer's own Postgres — so the SQL, from column types to
|
|
10
|
-
* row-level security to enum checks, is identical no matter who runs it.
|
|
11
|
-
*
|
|
12
|
-
* Everything here is pure: it returns strings and touches no database. The
|
|
13
|
-
* execution side — the transaction and advisory lock that actually run the
|
|
14
|
-
* statements — lives with each caller, because it is coupled to that caller's
|
|
15
|
-
* Postgres client and error types.
|
|
16
|
-
*
|
|
17
|
-
* - {@link generateProvisionPlan} builds an additive, idempotent plan (CREATE
|
|
18
|
-
* and ADD … IF NOT EXISTS, plus row-level security) that never loses data —
|
|
19
|
-
* the "create my tables" primitive.
|
|
20
|
-
* - {@link generateMigrationPlan} is its destructive-aware counterpart, driven
|
|
21
|
-
* by a {@link diffSchema} step list: drops, renames, type casts, and
|
|
22
|
-
* backfills.
|
|
23
|
-
*/
|
|
24
|
-
import type { SchemaJSON, ModelJSON } from './serialize.js';
|
|
25
|
-
import type { MigrationStep, BackfillValue } from './diff.js';
|
|
26
|
-
export interface ProvisionPlan {
|
|
27
|
-
/** The Postgres schema the tables live in (`app_<id>` or `public`). */
|
|
28
|
-
readonly appSchema: string;
|
|
29
|
-
/** Ordered, idempotent DDL statements. Safe to run repeatedly. Executors run
|
|
30
|
-
* these together in one transaction. */
|
|
31
|
-
readonly statements: readonly string[];
|
|
32
|
-
/** Post-commit, non-transactional DDL (`VALIDATE CONSTRAINT`, `CREATE INDEX
|
|
33
|
-
* CONCURRENTLY`) — run after {@link statements} commit, each outside any
|
|
34
|
-
* transaction, best-effort. Keeps the lock-heavy and scan-heavy work off the
|
|
35
|
-
* main transaction so adding a foreign key never freezes a large, live table.
|
|
36
|
-
* Optional: when absent, there is nothing to run. */
|
|
37
|
-
readonly concurrent?: readonly string[];
|
|
38
|
-
}
|
|
39
|
-
export interface ProvisionOptions {
|
|
40
|
-
/**
|
|
41
|
-
* Emit `DEFERRABLE INITIALLY DEFERRED` foreign-key constraints for the
|
|
42
|
-
* belongsTo relations that opt in; see {@link foreignKeyStatements} for exactly
|
|
43
|
-
* which relations qualify. Off by default, so soft references keep out-of-order
|
|
44
|
-
* sync robust. Turn it on for a customer's own database, where a clean,
|
|
45
|
-
* navigable relational schema is wanted and the database starts empty, so a
|
|
46
|
-
* constraint has nothing to fail against.
|
|
47
|
-
*/
|
|
48
|
-
readonly foreignKeys?: boolean;
|
|
49
|
-
}
|
|
50
|
-
export interface MigrationPlan {
|
|
51
|
-
/** The app Postgres schema the DDL targets (`app_<id>` or `public`). */
|
|
52
|
-
readonly appSchema: string;
|
|
53
|
-
/** Ordered DDL statements (expand → contract). Run in one transaction. */
|
|
54
|
-
readonly statements: readonly string[];
|
|
55
|
-
/** Post-commit, non-transactional DDL — see {@link ProvisionPlan.concurrent}. */
|
|
56
|
-
readonly concurrent?: readonly string[];
|
|
57
|
-
}
|
|
58
|
-
/** Per-app schema name for an app (organization) id. */
|
|
59
|
-
export declare function appSchemaName(organizationId: string): string;
|
|
60
|
-
export declare function camelToSnake(identifier: string): string;
|
|
61
|
-
/**
|
|
62
|
-
* Converts snake_case to camelCase — the inverse of {@link camelToSnake}. This
|
|
63
|
-
* is the read-side translation: a column read back from a customer's own
|
|
64
|
-
* database maps to the same JavaScript field the SDK wrote, so
|
|
65
|
-
* `camelToSnake('operatorId') === 'operator_id'` and
|
|
66
|
-
* `snakeToCamel('operator_id') === 'operatorId'` round-trip.
|
|
67
|
-
*/
|
|
68
|
-
export declare function snakeToCamel(identifier: string): string;
|
|
69
|
-
/** Quote an identifier (defense-in-depth; inputs are already slug/snake). */
|
|
70
|
-
export declare function q(identifier: string): string;
|
|
71
|
-
export declare function sqlType(fieldType: ModelJSON['fields'][string]['type']): string;
|
|
72
|
-
/**
|
|
73
|
-
* Builds the additive, idempotent provisioning plan for an app. Pure — it does
|
|
74
|
-
* not touch a database.
|
|
75
|
-
*
|
|
76
|
-
* `targetSchema` is where the tables live: a per-app Postgres schema such as
|
|
77
|
-
* `app_<id>`, or `public` when the database itself is the isolation boundary
|
|
78
|
-
* (for example a customer's own database). For `public` the `CREATE SCHEMA`
|
|
79
|
-
* statement is skipped, since it always exists.
|
|
80
|
-
*/
|
|
81
|
-
export declare function generateProvisionPlan(schema: SchemaJSON, targetSchema: string, opts?: ProvisionOptions): ProvisionPlan;
|
|
82
|
-
/**
|
|
83
|
-
* Lower an ordered migration step list to DDL. `next` is the schema being pushed
|
|
84
|
-
* (the target column shapes are read from it), `prev` the active one (used to
|
|
85
|
-
* resolve the *old* table name on a model rename).
|
|
86
|
-
*/
|
|
87
|
-
export declare function generateMigrationPlan(steps: readonly MigrationStep[], opts: {
|
|
88
|
-
readonly prev: SchemaJSON | null;
|
|
89
|
-
readonly next: SchemaJSON;
|
|
90
|
-
readonly targetSchema: string;
|
|
91
|
-
/** Constant seed values that let a required-field add / made-required step
|
|
92
|
-
* set NOT NULL on a non-empty table. Keyed by (model, field). */
|
|
93
|
-
readonly backfills?: readonly BackfillValue[];
|
|
94
|
-
/** Emit deferrable foreign-key constraints for the relations that opt in.
|
|
95
|
-
* Off by default — see {@link ProvisionOptions.foreignKeys}. */
|
|
96
|
-
readonly foreignKeys?: boolean;
|
|
97
|
-
}): MigrationPlan;
|