@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,108 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* Two axes live in this module, and they are NOT the same axis. They stay
|
|
4
|
-
* together because they convert into each other; they stay distinct because
|
|
5
|
-
* conflating them is how credentials acquire a mode nobody chose.
|
|
6
|
-
*
|
|
7
|
-
* - The PLANE axis ({@link Environment}) — which isolated plane a row, schema
|
|
8
|
-
* artifact, or data source belongs to. Open-ended: `production` is the root
|
|
9
|
-
* plane and any number of others may exist beside it.
|
|
10
|
-
* - The CREDENTIAL axis ({@link KeyEnvironment}) — the mode a key was minted
|
|
11
|
-
* in. Binary, and fixed by the key format: a prefix spells exactly one of
|
|
12
|
-
* `live` or `test`, so a third value is not representable in a key at all.
|
|
13
|
-
*
|
|
14
|
-
* These were one type until this split, which is the shape behind two
|
|
15
|
-
* incidents: an `sk_test_` exchange that minted an `ek_live_` and landed
|
|
16
|
-
* sandbox commits in another tenant's tables, and a rotation that handed back
|
|
17
|
-
* an `rk_live_` in place of an `rk_test_`. Widening the plane axis while the
|
|
18
|
-
* credential axis aliased it would reopen that door one plane name wider, so
|
|
19
|
-
* the split comes first and the conversions below are deliberately narrow.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* The plane names every deployment has: the root, plus the plane every project
|
|
23
|
-
* starts with beside it. This is the well-known set, not the permitted set —
|
|
24
|
-
* {@link environmentSchema} decides what is valid.
|
|
25
|
-
*/
|
|
26
|
-
export const ENVIRONMENTS = ['production', 'sandbox'];
|
|
27
|
-
/** The root plane — the one every other plane is defined relative to. */
|
|
28
|
-
export const ROOT_ENVIRONMENT = 'production';
|
|
29
|
-
/**
|
|
30
|
-
* The modes a credential can be minted in. Deliberately its own list rather
|
|
31
|
-
* than a view of {@link ENVIRONMENTS}: this one is fixed by the key format,
|
|
32
|
-
* which has exactly two prefix spellings, and must not grow when planes do.
|
|
33
|
-
*/
|
|
34
|
-
export const KEY_ENVIRONMENTS = ['production', 'sandbox'];
|
|
35
|
-
/**
|
|
36
|
-
* How a credential's mode is spelled inside an API-key prefix: a `live` key
|
|
37
|
-
* acts on production and a `test` key acts on the sandbox. Convert between this
|
|
38
|
-
* spelling and {@link KeyEnvironment} with {@link environmentFromKeyPrefix} and
|
|
39
|
-
* {@link environmentToKeyPrefix}.
|
|
40
|
-
*/
|
|
41
|
-
export const KEY_PREFIX_ENVIRONMENTS = ['live', 'test'];
|
|
42
|
-
/**
|
|
43
|
-
* Validates a value as a plane name — a lowercase slug that may not lead or
|
|
44
|
-
* trail with a hyphen.
|
|
45
|
-
*
|
|
46
|
-
* The character set is load-bearing rather than cosmetic. A plane name is
|
|
47
|
-
* interpolated into two delimited identifiers: the sync-group prefix
|
|
48
|
-
* (`sandbox:<org>:<slug>`, colon separated) and the tenant secret scope
|
|
49
|
-
* (`<org>/<env>/<project>/<sandbox>`, slash separated). Admitting `:` or `/`
|
|
50
|
-
* would let one plane's name parse as two segments and so collide with a
|
|
51
|
-
* different plane's identity, which is why the pattern excludes every delimiter
|
|
52
|
-
* either format relies on.
|
|
53
|
-
*/
|
|
54
|
-
export const environmentSchema = z
|
|
55
|
-
.string()
|
|
56
|
-
.regex(/^[a-z0-9](?:[a-z0-9-]{0,38}[a-z0-9])?$/, 'must be a lowercase slug');
|
|
57
|
-
/** Validates a value as one of the {@link KEY_ENVIRONMENTS}. */
|
|
58
|
-
export const keyEnvironmentSchema = z.enum(KEY_ENVIRONMENTS);
|
|
59
|
-
/**
|
|
60
|
-
* Coerces an untrusted value into a valid {@link Environment}, returning
|
|
61
|
-
* `fallback` (which defaults to the root plane) when the value is not a
|
|
62
|
-
* well-formed plane name. Use it when reading a plane from configuration or off
|
|
63
|
-
* the wire.
|
|
64
|
-
*/
|
|
65
|
-
export function normalizeEnvironment(value, fallback = ROOT_ENVIRONMENT) {
|
|
66
|
-
const parsed = environmentSchema.safeParse(value);
|
|
67
|
-
return parsed.success ? parsed.data : fallback;
|
|
68
|
-
}
|
|
69
|
-
/** True when the given plane is the root plane. */
|
|
70
|
-
export function isRootEnvironment(value) {
|
|
71
|
-
return value === ROOT_ENVIRONMENT;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* The mode a credential acting on the given plane must be minted in.
|
|
75
|
-
*
|
|
76
|
-
* This is the ONE narrowing from the open plane axis to the binary credential
|
|
77
|
-
* axis, and it is deliberately asymmetric: only the root plane yields a
|
|
78
|
-
* production-mode key, and every other plane — named, numbered, or newly forked
|
|
79
|
-
* — yields a sandbox-mode one. A plane cannot acquire live authority by being
|
|
80
|
-
* spelled a particular way, which is the property that keeps adding planes from
|
|
81
|
-
* widening what any credential is allowed to touch.
|
|
82
|
-
*/
|
|
83
|
-
export function keyEnvironmentForPlane(value) {
|
|
84
|
-
return isRootEnvironment(value) ? 'production' : 'sandbox';
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Maps an API-key prefix spelling to the mode it denotes: a `'test'` key was
|
|
88
|
-
* minted in the sandbox, and anything else in production.
|
|
89
|
-
*/
|
|
90
|
-
export function environmentFromKeyPrefix(value) {
|
|
91
|
-
return value === 'test' ? 'sandbox' : 'production';
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Maps a credential's mode to the spelling used in its key prefix.
|
|
95
|
-
*
|
|
96
|
-
* Takes a {@link KeyEnvironment} rather than an {@link Environment} on purpose.
|
|
97
|
-
* Planes outside the well-known two have no prefix spelling, and a signature
|
|
98
|
-
* that accepted one would silently answer `'live'` for them — minting a
|
|
99
|
-
* production-mode credential for a plane that is not production. That is the
|
|
100
|
-
* 2026-06-10 incident with a new cause, so the type refuses the input instead.
|
|
101
|
-
*/
|
|
102
|
-
export function environmentToKeyPrefix(value) {
|
|
103
|
-
return value === 'sandbox' ? 'test' : 'live';
|
|
104
|
-
}
|
|
105
|
-
/** Returns true when the given environment is the sandbox. */
|
|
106
|
-
export function isSandboxEnvironment(value) {
|
|
107
|
-
return value === 'sandbox';
|
|
108
|
-
}
|
|
@@ -1,403 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The registry of every stable error code Ablo can produce. Error handling has
|
|
3
|
-
* two levels, and this file defines the finer one.
|
|
4
|
-
*
|
|
5
|
-
* - The `type` is the coarse category, and each one corresponds to an
|
|
6
|
-
* {@link AbloError} subclass such as `AbloPermissionError` or
|
|
7
|
-
* `AbloValidationError`. Catching by `instanceof` is equivalent to switching
|
|
8
|
-
* on `error.type`.
|
|
9
|
-
* - The `code` is the fine-grained, machine-readable identifier defined here,
|
|
10
|
-
* written in `snake_case` (for example `entity_claimed` or `queue_too_deep`).
|
|
11
|
-
* This is what you switch on to handle a specific situation, and what the
|
|
12
|
-
* documentation link for an error is built from.
|
|
13
|
-
*
|
|
14
|
-
* The client, the server, and the tool-calling boundary all speak this same
|
|
15
|
-
* vocabulary, which makes the registry part of the API contract. Two things
|
|
16
|
-
* follow from that:
|
|
17
|
-
*
|
|
18
|
-
* 1. {@link ErrorCode} is a closed set — plus the dynamic `policy:${string}`
|
|
19
|
-
* family — so producing a code that is not registered here is a
|
|
20
|
-
* compile-time error. The {@link AbloError} constructor accepts only a
|
|
21
|
-
* registered code. The one place an arbitrary string is accepted as a code
|
|
22
|
-
* is where an incoming response is parsed, which lets an older client
|
|
23
|
-
* tolerate a code from a newer server it does not yet recognize.
|
|
24
|
-
* 2. The codes marked `surface: 'wire'` are the ones that cross the network
|
|
25
|
-
* and are mapped at the HTTP and tool-calling boundaries; the public error
|
|
26
|
-
* documentation is generated from them. Codes marked `surface: 'client'`
|
|
27
|
-
* describe local mistakes — accessing the database before opening it, or
|
|
28
|
-
* writing to a model that was never registered — and are never sent over
|
|
29
|
-
* the network, so they carry no HTTP status.
|
|
30
|
-
*/
|
|
31
|
-
import { z } from 'zod';
|
|
32
|
-
/**
|
|
33
|
-
* The version of the error contract: the envelope shape together with the set of
|
|
34
|
-
* codes and their meanings. It is date-based, and changes only when the contract
|
|
35
|
-
* changes in a way a consumer can observe — a code added or removed, an HTTP
|
|
36
|
-
* status changed, or an envelope field changed. It is emitted in the generated
|
|
37
|
-
* error documentation and returned on the `Ablo-Version` response header, so a
|
|
38
|
-
* consumer can detect when its expected contract has drifted from the server's.
|
|
39
|
-
*/
|
|
40
|
-
export declare const ERROR_CONTRACT_VERSION = "2026-07-23";
|
|
41
|
-
/** A coarse grouping of error codes, used to organize metrics and documentation. */
|
|
42
|
-
export type ErrorCategory = 'auth' | 'permission' | 'capability' | 'claim' | 'conflict' | 'validation' | 'not_found' | 'tenant' | 'schema' | 'bootstrap' | 'transport' | 'rate_limit' | 'server' | 'client';
|
|
43
|
-
/**
|
|
44
|
-
* A closed classification of how a failure can be recovered from — a level above
|
|
45
|
-
* the raw {@link ErrorCode}. Where a code says what went wrong, a recovery class
|
|
46
|
-
* says what a client should do about it, which is exactly the distinction the
|
|
47
|
-
* connection layer needs to decide between retrying, re-minting a credential, and
|
|
48
|
-
* signing the user out. Every code maps to one of these, and the set is
|
|
49
|
-
* validated at runtime.
|
|
50
|
-
*
|
|
51
|
-
* - `access_credential_expiry` — the short-lived access credential the client
|
|
52
|
-
* presents (its ephemeral `ek_` or `rk_` key) has expired, while the
|
|
53
|
-
* underlying login is still valid. The remedy is to mint a fresh key from the
|
|
54
|
-
* session and retry the same request. This does not sign the user out; a
|
|
55
|
-
* short-lived key expiring — for example after a laptop resumes from sleep —
|
|
56
|
-
* is routine.
|
|
57
|
-
* - `session_expiry` — the long-lived login itself is gone. This is terminal:
|
|
58
|
-
* sign out and route to re-authentication.
|
|
59
|
-
* - `auth_blocked` — the server was reachable but rejected the kind or
|
|
60
|
-
* configuration of the credential (wrong key type, untrusted issuer, no
|
|
61
|
-
* organization). Re-authenticating would present the same rejected credential
|
|
62
|
-
* and loop, so the client should stop rather than reconnect or sign out.
|
|
63
|
-
* - `permission` — an authorization denial (403) based on scope, role, or
|
|
64
|
-
* membership.
|
|
65
|
-
* - `transient` — a temporary failure, such as a server error or lease
|
|
66
|
-
* contention, that may succeed if the same request is retried unchanged.
|
|
67
|
-
* - `none` — not a recoverable authentication condition: validation errors,
|
|
68
|
-
* not-found, local invariants, and any code an older client does not
|
|
69
|
-
* recognize.
|
|
70
|
-
*/
|
|
71
|
-
export declare const RECOVERY_CLASSES: readonly ["access_credential_expiry", "session_expiry", "auth_blocked", "permission", "transient", "none"];
|
|
72
|
-
/** A Zod enum over {@link RECOVERY_CLASSES}, for validating a recovery class at
|
|
73
|
-
* runtime. */
|
|
74
|
-
export declare const recoveryClassSchema: z.ZodEnum<{
|
|
75
|
-
permission: "permission";
|
|
76
|
-
access_credential_expiry: "access_credential_expiry";
|
|
77
|
-
session_expiry: "session_expiry";
|
|
78
|
-
auth_blocked: "auth_blocked";
|
|
79
|
-
transient: "transient";
|
|
80
|
-
none: "none";
|
|
81
|
-
}>;
|
|
82
|
-
/** The recovery classification of a failure. See {@link RECOVERY_CLASSES}. */
|
|
83
|
-
export type RecoveryClass = z.infer<typeof recoveryClassSchema>;
|
|
84
|
-
/** One entry in the registry: everything known about a single error code.
|
|
85
|
-
* `httpStatus` is present only for codes that cross the network, since an HTTP
|
|
86
|
-
* status is a property of the wire boundary rather than of a purely local
|
|
87
|
-
* error. */
|
|
88
|
-
export interface ErrorCodeSpec {
|
|
89
|
-
readonly category: ErrorCategory;
|
|
90
|
-
/** `'wire'` for a code that crosses the network and is part of the API
|
|
91
|
-
* contract; `'client'` for a local error that is never serialized. */
|
|
92
|
-
readonly surface: 'wire' | 'client';
|
|
93
|
-
/** Canonical HTTP status for the wire boundary. Omitted for client codes. */
|
|
94
|
-
readonly httpStatus?: number;
|
|
95
|
-
/** Whether the same request can succeed on a later retry without the caller
|
|
96
|
-
* changing anything. `false` for permission, validation, and not-found;
|
|
97
|
-
* `true` for transient transport failures and lease contention. */
|
|
98
|
-
readonly retryable: boolean;
|
|
99
|
-
/** A one-line, human-readable description of the error — also the source text
|
|
100
|
-
* for its documentation page. */
|
|
101
|
-
readonly message: string;
|
|
102
|
-
/**
|
|
103
|
-
* An explicit {@link RecoveryClass}, set only where it differs from what the
|
|
104
|
-
* category, HTTP status, and `retryable` flag already imply — mainly the few
|
|
105
|
-
* authentication codes whose remedy the status alone cannot reveal, such as
|
|
106
|
-
* telling a session expiry apart from an access-credential expiry. For every
|
|
107
|
-
* other code the recovery class is derived by {@link classifyRecovery}, so
|
|
108
|
-
* this field can be left unset.
|
|
109
|
-
*/
|
|
110
|
-
readonly recovery?: RecoveryClass;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* The complete set of stable error codes, keyed by code. A code must be added
|
|
114
|
-
* here before it can be thrown, since the {@link AbloError} constructor accepts
|
|
115
|
-
* only codes from this set.
|
|
116
|
-
*/
|
|
117
|
-
export declare const ERROR_CODES: {
|
|
118
|
-
readonly apikey_invalid: ErrorCodeSpec;
|
|
119
|
-
readonly apikey_revoked: ErrorCodeSpec;
|
|
120
|
-
readonly apikey_expired: ErrorCodeSpec;
|
|
121
|
-
readonly apikey_missing: ErrorCodeSpec;
|
|
122
|
-
readonly api_key_required: ErrorCodeSpec;
|
|
123
|
-
readonly capability_id_missing: ErrorCodeSpec;
|
|
124
|
-
readonly exchange_failed: ErrorCodeSpec;
|
|
125
|
-
readonly identity_resolve_failed: ErrorCodeSpec;
|
|
126
|
-
readonly auth_no_credentials: ErrorCodeSpec;
|
|
127
|
-
readonly identity_missing_organization: ErrorCodeSpec;
|
|
128
|
-
readonly session_expired: ErrorCodeSpec;
|
|
129
|
-
readonly jwt_invalid: ErrorCodeSpec;
|
|
130
|
-
readonly jwt_malformed: ErrorCodeSpec;
|
|
131
|
-
readonly jwt_missing_issuer: ErrorCodeSpec;
|
|
132
|
-
readonly jwt_issuer_untrusted: ErrorCodeSpec;
|
|
133
|
-
readonly jwt_signature_invalid: ErrorCodeSpec;
|
|
134
|
-
readonly jwt_audience_mismatch: ErrorCodeSpec;
|
|
135
|
-
readonly jwt_missing_subject: ErrorCodeSpec;
|
|
136
|
-
readonly jwt_missing_organization: ErrorCodeSpec;
|
|
137
|
-
readonly jwt_expired: ErrorCodeSpec;
|
|
138
|
-
readonly jwt_org_membership_denied: ErrorCodeSpec;
|
|
139
|
-
readonly file_upload_auth_required: ErrorCodeSpec;
|
|
140
|
-
readonly browser_apikey_blocked: ErrorCodeSpec;
|
|
141
|
-
readonly datasource_connection_unsupported: ErrorCodeSpec;
|
|
142
|
-
readonly capability_scope_denied: ErrorCodeSpec;
|
|
143
|
-
readonly issuer_register_forbidden: ErrorCodeSpec;
|
|
144
|
-
readonly capability_invalid: ErrorCodeSpec;
|
|
145
|
-
readonly test_database_not_registered: ErrorCodeSpec;
|
|
146
|
-
readonly tenant_routing_failed: ErrorCodeSpec;
|
|
147
|
-
readonly database_role_cannot_enforce_rls: ErrorCodeSpec;
|
|
148
|
-
readonly database_role_unreadable: ErrorCodeSpec;
|
|
149
|
-
readonly database_tables_unforced_rls: ErrorCodeSpec;
|
|
150
|
-
readonly database_host_not_allowed: ErrorCodeSpec;
|
|
151
|
-
readonly connected_database_unreachable: ErrorCodeSpec;
|
|
152
|
-
readonly byo_role_cannot_enforce_rls: ErrorCodeSpec;
|
|
153
|
-
readonly byo_role_unreadable: ErrorCodeSpec;
|
|
154
|
-
readonly byo_tenant_tables_unforced_rls: ErrorCodeSpec;
|
|
155
|
-
readonly byo_host_not_allowed: ErrorCodeSpec;
|
|
156
|
-
readonly claim_conflict: ErrorCodeSpec;
|
|
157
|
-
readonly claim_lost: ErrorCodeSpec;
|
|
158
|
-
readonly fence_token_stale: ErrorCodeSpec;
|
|
159
|
-
readonly entity_claimed: ErrorCodeSpec;
|
|
160
|
-
readonly malformed_claim: ErrorCodeSpec;
|
|
161
|
-
readonly malformed_subscription: ErrorCodeSpec;
|
|
162
|
-
readonly malformed_response: ErrorCodeSpec;
|
|
163
|
-
readonly model_claimed: ErrorCodeSpec;
|
|
164
|
-
readonly model_claimed_timeout: ErrorCodeSpec;
|
|
165
|
-
readonly model_claim_not_configured: ErrorCodeSpec;
|
|
166
|
-
readonly model_join_not_configured: ErrorCodeSpec;
|
|
167
|
-
readonly stale_context: ErrorCodeSpec;
|
|
168
|
-
readonly contention_exhausted: ErrorCodeSpec;
|
|
169
|
-
readonly update_aborted: ErrorCodeSpec;
|
|
170
|
-
readonly idempotency_conflict: ErrorCodeSpec;
|
|
171
|
-
readonly idempotency_key_expired: ErrorCodeSpec;
|
|
172
|
-
readonly source_transport_pinned: ErrorCodeSpec;
|
|
173
|
-
readonly idempotency_key_too_long: ErrorCodeSpec;
|
|
174
|
-
readonly write_options_invalid: ErrorCodeSpec;
|
|
175
|
-
readonly write_payload_invalid: ErrorCodeSpec;
|
|
176
|
-
readonly source_operation_id_required: ErrorCodeSpec;
|
|
177
|
-
readonly source_adapter_misconfigured: ErrorCodeSpec;
|
|
178
|
-
readonly source_event_invalid: ErrorCodeSpec;
|
|
179
|
-
readonly duration_invalid: ErrorCodeSpec;
|
|
180
|
-
readonly schema_definition_invalid: ErrorCodeSpec;
|
|
181
|
-
readonly cli_invalid_arguments: ErrorCodeSpec;
|
|
182
|
-
readonly commit_operation_required: ErrorCodeSpec;
|
|
183
|
-
readonly commit_operation_invalid: ErrorCodeSpec;
|
|
184
|
-
readonly commit_operation_model_required: ErrorCodeSpec;
|
|
185
|
-
readonly commit_operations_ambiguous: ErrorCodeSpec;
|
|
186
|
-
readonly commit_too_many_operations: ErrorCodeSpec;
|
|
187
|
-
readonly model_required_field_missing: ErrorCodeSpec;
|
|
188
|
-
readonly model_identifier_missing: ErrorCodeSpec;
|
|
189
|
-
readonly snapshot_reserved_key: ErrorCodeSpec;
|
|
190
|
-
readonly mesh_message_invalid_input: ErrorCodeSpec;
|
|
191
|
-
readonly mesh_message_from_id_spoof: ErrorCodeSpec;
|
|
192
|
-
readonly mesh_message_from_kind_mismatch: ErrorCodeSpec;
|
|
193
|
-
readonly agent_perception_missing_context: ErrorCodeSpec;
|
|
194
|
-
readonly entity_not_found: ErrorCodeSpec;
|
|
195
|
-
readonly model_not_found: ErrorCodeSpec;
|
|
196
|
-
readonly mutate_update_entity_not_found: ErrorCodeSpec;
|
|
197
|
-
readonly no_data_source_registered: ErrorCodeSpec;
|
|
198
|
-
readonly task_id_missing: ErrorCodeSpec;
|
|
199
|
-
readonly not_null_violation: ErrorCodeSpec;
|
|
200
|
-
readonly foreign_key_violation: ErrorCodeSpec;
|
|
201
|
-
readonly unique_violation: ErrorCodeSpec;
|
|
202
|
-
readonly check_violation: ErrorCodeSpec;
|
|
203
|
-
readonly constraint_violation: ErrorCodeSpec;
|
|
204
|
-
readonly column_type_mismatch: ErrorCodeSpec;
|
|
205
|
-
readonly server_execute_unknown_model: ErrorCodeSpec;
|
|
206
|
-
readonly mutate_create_unknown_model: ErrorCodeSpec;
|
|
207
|
-
readonly tenant_model_columns_unknown: ErrorCodeSpec;
|
|
208
|
-
readonly tenant_model_missing_organization_id: ErrorCodeSpec;
|
|
209
|
-
readonly schema_mutable_missing_meta: ErrorCodeSpec;
|
|
210
|
-
readonly schema_scope_kind_invalid: ErrorCodeSpec;
|
|
211
|
-
readonly schema_field_not_camelcase: ErrorCodeSpec;
|
|
212
|
-
readonly schema_field_consecutive_caps: ErrorCodeSpec;
|
|
213
|
-
readonly schema_reserved_field: ErrorCodeSpec;
|
|
214
|
-
readonly schema_grants_shape_invalid: ErrorCodeSpec;
|
|
215
|
-
readonly schema_grants_identifier_unsafe: ErrorCodeSpec;
|
|
216
|
-
readonly schema_grants_relation_kind: ErrorCodeSpec;
|
|
217
|
-
readonly schema_grants_relation_missing: ErrorCodeSpec;
|
|
218
|
-
readonly schema_grants_target_not_scope_root: ErrorCodeSpec;
|
|
219
|
-
readonly drop_field: ErrorCodeSpec;
|
|
220
|
-
readonly drop_model: ErrorCodeSpec;
|
|
221
|
-
readonly lossy_recreate: ErrorCodeSpec;
|
|
222
|
-
readonly made_required: ErrorCodeSpec;
|
|
223
|
-
readonly required_field_added: ErrorCodeSpec;
|
|
224
|
-
readonly enum_value_removed: ErrorCodeSpec;
|
|
225
|
-
readonly risky_cast: ErrorCodeSpec;
|
|
226
|
-
readonly claim_lease_unavailable: ErrorCodeSpec;
|
|
227
|
-
readonly claim_not_wired: ErrorCodeSpec;
|
|
228
|
-
readonly claim_queued: ErrorCodeSpec;
|
|
229
|
-
readonly claim_wait_aborted: ErrorCodeSpec;
|
|
230
|
-
readonly grant_timeout: ErrorCodeSpec;
|
|
231
|
-
readonly bootstrap_fetch_timeout: ErrorCodeSpec;
|
|
232
|
-
readonly bootstrap_cancelled: ErrorCodeSpec;
|
|
233
|
-
readonly bootstrap_offline: ErrorCodeSpec;
|
|
234
|
-
readonly bootstrap_offline_no_cache: ErrorCodeSpec;
|
|
235
|
-
readonly bootstrap_response_invalid: ErrorCodeSpec;
|
|
236
|
-
readonly bootstrap_response_schema_invalid: ErrorCodeSpec;
|
|
237
|
-
readonly exchange_malformed_response: ErrorCodeSpec;
|
|
238
|
-
readonly exchange_network_error: ErrorCodeSpec;
|
|
239
|
-
readonly source_network_error: ErrorCodeSpec;
|
|
240
|
-
readonly source_unreachable: ErrorCodeSpec;
|
|
241
|
-
readonly data_source_blocked: ErrorCodeSpec;
|
|
242
|
-
readonly identity_network_error: ErrorCodeSpec;
|
|
243
|
-
readonly commit_no_result: ErrorCodeSpec;
|
|
244
|
-
readonly commit_failed: ErrorCodeSpec;
|
|
245
|
-
readonly replication_lag_timeout: ErrorCodeSpec;
|
|
246
|
-
readonly commit_offline_grace_expired: ErrorCodeSpec;
|
|
247
|
-
readonly queue_too_deep: ErrorCodeSpec;
|
|
248
|
-
readonly flush_timeout: ErrorCodeSpec;
|
|
249
|
-
readonly wait_for_timeout: ErrorCodeSpec;
|
|
250
|
-
readonly instance_at_capacity: ErrorCodeSpec;
|
|
251
|
-
readonly fetch_unavailable: ErrorCodeSpec;
|
|
252
|
-
readonly base_url_missing: ErrorCodeSpec;
|
|
253
|
-
readonly sync_not_ready: ErrorCodeSpec;
|
|
254
|
-
readonly ws_not_ready: ErrorCodeSpec;
|
|
255
|
-
readonly quota_exceeded: ErrorCodeSpec;
|
|
256
|
-
readonly connection_limit_exceeded: ErrorCodeSpec;
|
|
257
|
-
readonly rate_limit_exceeded: ErrorCodeSpec;
|
|
258
|
-
readonly internal_error: ErrorCodeSpec;
|
|
259
|
-
readonly quota_lookup_failed: ErrorCodeSpec;
|
|
260
|
-
readonly rate_limiter_unavailable: ErrorCodeSpec;
|
|
261
|
-
readonly invalid_options: ErrorCodeSpec;
|
|
262
|
-
readonly no_ablo_provider: ErrorCodeSpec;
|
|
263
|
-
readonly no_sync_group_provider: ErrorCodeSpec;
|
|
264
|
-
readonly sync_context_missing_provider: ErrorCodeSpec;
|
|
265
|
-
readonly db_not_opened: ErrorCodeSpec;
|
|
266
|
-
readonly db_store_not_found: ErrorCodeSpec;
|
|
267
|
-
readonly db_unknown_action_type: ErrorCodeSpec;
|
|
268
|
-
readonly idb_unavailable: ErrorCodeSpec;
|
|
269
|
-
readonly meta_db_not_initialized: ErrorCodeSpec;
|
|
270
|
-
readonly sync_client_db_missing: ErrorCodeSpec;
|
|
271
|
-
readonly lazy_ref_db_missing: ErrorCodeSpec;
|
|
272
|
-
readonly lazy_ref_pool_missing: ErrorCodeSpec;
|
|
273
|
-
readonly model_class_not_registered: ErrorCodeSpec;
|
|
274
|
-
readonly model_not_registered: ErrorCodeSpec;
|
|
275
|
-
readonly model_disposed: ErrorCodeSpec;
|
|
276
|
-
readonly pool_model_class_not_registered: ErrorCodeSpec;
|
|
277
|
-
readonly pool_registry_missing: ErrorCodeSpec;
|
|
278
|
-
readonly pool_subscribe_unregistered: ErrorCodeSpec;
|
|
279
|
-
readonly registry_invalid_constructor: ErrorCodeSpec;
|
|
280
|
-
readonly registry_not_initialized: ErrorCodeSpec;
|
|
281
|
-
readonly registry_property_conflict: ErrorCodeSpec;
|
|
282
|
-
readonly registry_reference_unknown_target: ErrorCodeSpec;
|
|
283
|
-
readonly registry_reference_unresolved: ErrorCodeSpec;
|
|
284
|
-
readonly registry_unknown_model: ErrorCodeSpec;
|
|
285
|
-
readonly query_returns_unknown_model: ErrorCodeSpec;
|
|
286
|
-
readonly store_create_schema_missing: ErrorCodeSpec;
|
|
287
|
-
readonly store_manager_unknown_model: ErrorCodeSpec;
|
|
288
|
-
readonly store_query_schema_missing: ErrorCodeSpec;
|
|
289
|
-
readonly store_query_unknown_model: ErrorCodeSpec;
|
|
290
|
-
readonly transaction_mutate_unknown_model: ErrorCodeSpec;
|
|
291
|
-
readonly transaction_read_unknown_model: ErrorCodeSpec;
|
|
292
|
-
readonly mutator_registry_duplicate: ErrorCodeSpec;
|
|
293
|
-
readonly mutator_registry_unnamed_def: ErrorCodeSpec;
|
|
294
|
-
readonly mutators_schema_missing: ErrorCodeSpec;
|
|
295
|
-
readonly undo_scope_schema_missing: ErrorCodeSpec;
|
|
296
|
-
readonly undo_entry_invalid: ErrorCodeSpec;
|
|
297
|
-
readonly mock_mutation_failed: ErrorCodeSpec;
|
|
298
|
-
readonly mock_unsupported_operation: ErrorCodeSpec;
|
|
299
|
-
readonly invalid_body: ErrorCodeSpec;
|
|
300
|
-
readonly invalid_json: ErrorCodeSpec;
|
|
301
|
-
readonly capability_id_required: ErrorCodeSpec;
|
|
302
|
-
readonly organization_mismatch: ErrorCodeSpec;
|
|
303
|
-
readonly project_scope_denied: ErrorCodeSpec;
|
|
304
|
-
readonly project_slug_taken: ErrorCodeSpec;
|
|
305
|
-
readonly forbidden: ErrorCodeSpec;
|
|
306
|
-
readonly source_api_key_unresolved: ErrorCodeSpec;
|
|
307
|
-
readonly capability_auth_disabled: ErrorCodeSpec;
|
|
308
|
-
readonly capability_rotation_unavailable: ErrorCodeSpec;
|
|
309
|
-
readonly provisioner_unavailable: ErrorCodeSpec;
|
|
310
|
-
readonly invalid_model: ErrorCodeSpec;
|
|
311
|
-
readonly invalid_id: ErrorCodeSpec;
|
|
312
|
-
readonly unknown_model: ErrorCodeSpec;
|
|
313
|
-
readonly model_not_tenant_scoped: ErrorCodeSpec;
|
|
314
|
-
readonly source_tenancy_not_enforced: ErrorCodeSpec;
|
|
315
|
-
readonly user_scope_not_enforced: ErrorCodeSpec;
|
|
316
|
-
readonly model_not_provisioned: ErrorCodeSpec;
|
|
317
|
-
readonly schema_table_invalid: ErrorCodeSpec;
|
|
318
|
-
readonly schema_scope_invalid: ErrorCodeSpec;
|
|
319
|
-
readonly entity_fetch_failed: ErrorCodeSpec;
|
|
320
|
-
readonly events_required: ErrorCodeSpec;
|
|
321
|
-
readonly ingest_failed: ErrorCodeSpec;
|
|
322
|
-
readonly migration_failed: ErrorCodeSpec;
|
|
323
|
-
readonly schema_provisioning_forbidden: ErrorCodeSpec;
|
|
324
|
-
readonly model_query_failed: ErrorCodeSpec;
|
|
325
|
-
readonly queries_required: ErrorCodeSpec;
|
|
326
|
-
readonly query_unsupported_operator: ErrorCodeSpec;
|
|
327
|
-
readonly query_invalid_like_pattern: ErrorCodeSpec;
|
|
328
|
-
readonly query_invalid_boolean: ErrorCodeSpec;
|
|
329
|
-
readonly protocol_version_unsupported: ErrorCodeSpec;
|
|
330
|
-
readonly database_unreachable: ErrorCodeSpec;
|
|
331
|
-
readonly database_not_replication_ready: ErrorCodeSpec;
|
|
332
|
-
readonly database_already_connected: ErrorCodeSpec;
|
|
333
|
-
readonly replication_publication_drift: ErrorCodeSpec;
|
|
334
|
-
readonly query_unknown_relation: ErrorCodeSpec;
|
|
335
|
-
readonly query_relation_target_unknown: ErrorCodeSpec;
|
|
336
|
-
readonly query_invalid_identifier: ErrorCodeSpec;
|
|
337
|
-
readonly org_id_required: ErrorCodeSpec;
|
|
338
|
-
readonly presence_identity_required: ErrorCodeSpec;
|
|
339
|
-
readonly upload_fields_required: ErrorCodeSpec;
|
|
340
|
-
readonly upload_items_required: ErrorCodeSpec;
|
|
341
|
-
readonly presigned_url_failed: ErrorCodeSpec;
|
|
342
|
-
readonly upload_not_configured: ErrorCodeSpec;
|
|
343
|
-
readonly task_id_required: ErrorCodeSpec;
|
|
344
|
-
readonly claim_id_required: ErrorCodeSpec;
|
|
345
|
-
readonly commit_operation_action_required: ErrorCodeSpec;
|
|
346
|
-
readonly commit_operation_unsupported: ErrorCodeSpec;
|
|
347
|
-
readonly usage_invalid: ErrorCodeSpec;
|
|
348
|
-
readonly invalid_request: ErrorCodeSpec;
|
|
349
|
-
readonly capability_not_found: ErrorCodeSpec;
|
|
350
|
-
readonly claim_not_found: ErrorCodeSpec;
|
|
351
|
-
readonly invalid_participant_kind: ErrorCodeSpec;
|
|
352
|
-
readonly invalid_sync_group: ErrorCodeSpec;
|
|
353
|
-
readonly narrow_scope_required: ErrorCodeSpec;
|
|
354
|
-
readonly wide_scope_forbidden: ErrorCodeSpec;
|
|
355
|
-
readonly capability_required: ErrorCodeSpec;
|
|
356
|
-
readonly position_missing_parent: ErrorCodeSpec;
|
|
357
|
-
readonly position_unknown_sibling: ErrorCodeSpec;
|
|
358
|
-
readonly schema_too_large: ErrorCodeSpec;
|
|
359
|
-
readonly request_too_large: ErrorCodeSpec;
|
|
360
|
-
readonly invalid_schema: ErrorCodeSpec;
|
|
361
|
-
readonly incompatible_change: ErrorCodeSpec;
|
|
362
|
-
readonly replication_reset_required: ErrorCodeSpec;
|
|
363
|
-
};
|
|
364
|
-
/**
|
|
365
|
-
* The type of a valid error code: any key registered in {@link ERROR_CODES},
|
|
366
|
-
* plus the dynamic `policy:${reason}` family, where a conflict-policy rejection
|
|
367
|
-
* names its reason inline. The {@link AbloError} constructor accepts only this
|
|
368
|
-
* type, so a typo or an unregistered code is a compile-time error. Only the
|
|
369
|
-
* boundary that parses an incoming response casts an arbitrary string to this
|
|
370
|
-
* type, which preserves forward compatibility with a newer server.
|
|
371
|
-
*/
|
|
372
|
-
export type ErrorCode = keyof typeof ERROR_CODES | `policy:${string}`;
|
|
373
|
-
/** The subset of {@link ErrorCode} values that cross the network — the codes
|
|
374
|
-
* that make up the API contract, from which the HTTP and tool-calling
|
|
375
|
-
* boundaries map and the public documentation is generated. */
|
|
376
|
-
export type WireErrorCode = {
|
|
377
|
-
[K in keyof typeof ERROR_CODES]: (typeof ERROR_CODES)[K]['surface'] extends 'wire' ? K : never;
|
|
378
|
-
}[keyof typeof ERROR_CODES];
|
|
379
|
-
/** Looks up the {@link ErrorCodeSpec} for a code. Returns `undefined` for the
|
|
380
|
-
* dynamic `policy:*` family and for any newer code this client does not yet
|
|
381
|
-
* recognize. */
|
|
382
|
-
export declare function errorCodeSpec(code: string): ErrorCodeSpec | undefined;
|
|
383
|
-
/** Reports whether a code is marked retryable. Unknown and dynamic codes
|
|
384
|
-
* default to non-retryable, so an unrecognized failure is never retried
|
|
385
|
-
* automatically. */
|
|
386
|
-
export declare function isRetryableCode(code: string): boolean;
|
|
387
|
-
/**
|
|
388
|
-
* Classifies a code into its {@link RecoveryClass} — the single value the
|
|
389
|
-
* connection layer and the network probe branch on to decide how to recover.
|
|
390
|
-
*
|
|
391
|
-
* The registry is the source of truth. An explicit `recovery` on the code's spec
|
|
392
|
-
* wins; it is set only on the few authentication codes whose remedy the HTTP
|
|
393
|
-
* status cannot reveal. Every other code is derived from its spec:
|
|
394
|
-
* - retryable → `transient`
|
|
395
|
-
* - HTTP 403 → `permission`
|
|
396
|
-
* - remaining `auth` category → `auth_blocked` (the credential-type 401s)
|
|
397
|
-
* - anything else, or unknown → `none`
|
|
398
|
-
*
|
|
399
|
-
* An unknown code, a dynamic `policy:*` code, or a code this client predates
|
|
400
|
-
* (no spec) defaults to `none`, the same safe default as {@link isRetryableCode}:
|
|
401
|
-
* an unrecognized code is never treated as a credential expiry or a sign-out.
|
|
402
|
-
*/
|
|
403
|
-
export declare function classifyRecovery(code: string): RecoveryClass;
|