@abloatai/ablo 0.35.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 -1929
- package/NOTICE +2 -2
- package/README.md +23 -532
- 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 -112
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -161
- 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 +2 -2
- package/docs/api-keys.md +13 -12
- package/docs/api.md +15 -53
- package/docs/audit.md +4 -3
- package/docs/cli.md +11 -11
- package/docs/client-behavior.md +9 -9
- package/docs/concurrency-convention.md +28 -42
- package/docs/coordination.md +228 -86
- package/docs/data-sources.md +5 -5
- package/docs/debugging.md +34 -12
- package/docs/deployment.md +8 -8
- 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/scoped-agent.md +3 -3
- package/docs/examples/server-agent.md +2 -2
- package/docs/groups.md +57 -3
- package/docs/guarantees.md +37 -10
- package/docs/how-it-works.md +32 -8
- package/docs/idempotency.md +6 -6
- package/docs/identity.md +24 -24
- package/docs/index.md +8 -8
- package/docs/integration-guide.md +38 -16
- 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 +9 -9
- package/docs/migration.md +37 -18
- package/docs/projects.md +1 -1
- package/docs/quickstart.md +2 -2
- package/docs/react.md +24 -13
- package/docs/schema-contract.md +3 -3
- package/docs/sessions.md +91 -37
- package/docs/webhooks.md +9 -9
- 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 +12 -12
- package/package.json +64 -174
- package/dist/BaseSyncedStore.d.ts +0 -823
- package/dist/BaseSyncedStore.js +0 -1955
- package/dist/Database.d.ts +0 -335
- package/dist/Database.js +0 -1500
- package/dist/InstanceCache.d.ts +0 -233
- package/dist/InstanceCache.js +0 -1164
- package/dist/LazyReferenceCollection.d.ts +0 -177
- package/dist/LazyReferenceCollection.js +0 -461
- package/dist/Model.d.ts +0 -444
- package/dist/Model.js +0 -909
- package/dist/ModelRegistry.d.ts +0 -221
- package/dist/ModelRegistry.js +0 -537
- package/dist/NetworkMonitor.d.ts +0 -26
- package/dist/NetworkMonitor.js +0 -77
- package/dist/RuntimeContext.d.ts +0 -52
- package/dist/RuntimeContext.js +0 -80
- package/dist/SyncClient.d.ts +0 -551
- package/dist/SyncClient.js +0 -2199
- 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/cli.cjs +0 -288600
- package/dist/client/Ablo.d.ts +0 -231
- package/dist/client/Ablo.js +0 -149
- 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 -46
- package/dist/client/createInternalComponents.js +0 -92
- package/dist/client/createModelProxy.d.ts +0 -228
- package/dist/client/createModelProxy.js +0 -818
- package/dist/client/humans.d.ts +0 -48
- package/dist/client/humans.js +0 -52
- 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 -48
- package/dist/client/reactiveEngine.js +0 -910
- 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/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 -29
- package/dist/context.js +0 -58
- 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/DatabaseManager.d.ts +0 -105
- package/dist/core/DatabaseManager.js +0 -387
- package/dist/core/QueryProcessor.d.ts +0 -75
- package/dist/core/QueryProcessor.js +0 -255
- package/dist/core/QueryView.d.ts +0 -79
- package/dist/core/QueryView.js +0 -218
- package/dist/core/StoreManager.d.ts +0 -112
- package/dist/core/StoreManager.js +0 -302
- package/dist/core/ViewRegistry.d.ts +0 -20
- package/dist/core/ViewRegistry.js +0 -55
- package/dist/core/index.d.ts +0 -33
- package/dist/core/index.js +0 -48
- package/dist/core/openIDBWithTimeout.d.ts +0 -65
- package/dist/core/openIDBWithTimeout.js +0 -153
- package/dist/core/queryUtils.d.ts +0 -45
- package/dist/core/queryUtils.js +0 -69
- package/dist/core/storeContract.d.ts +0 -145
- package/dist/core/storeContract.js +0 -12
- package/dist/docs/catalog.d.ts +0 -72
- package/dist/docs/catalog.js +0 -227
- 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/client.d.ts +0 -61
- package/dist/query/client.js +0 -137
- package/dist/query/types.d.ts +0 -85
- package/dist/query/types.js +0 -16
- package/dist/react/AbloProvider.d.ts +0 -230
- package/dist/react/AbloProvider.js +0 -455
- 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/index.d.ts +0 -61
- package/dist/react/index.js +0 -66
- package/dist/react/internalContext.d.ts +0 -33
- package/dist/react/internalContext.js +0 -3
- package/dist/react/useAblo.d.ts +0 -75
- package/dist/react/useAblo.js +0 -102
- 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 -129
- 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 -41
- package/dist/schema/index.js +0 -76
- 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 -87
- package/dist/schema/serialize.d.ts +0 -115
- package/dist/schema/serialize.js +0 -262
- 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 -81
- package/dist/source/adapter.js +0 -22
- 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/footprint.d.ts +0 -111
- package/dist/source/footprint.js +0 -0
- 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/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/SyncActionStore.d.ts +0 -97
- package/dist/stores/SyncActionStore.js +0 -504
- 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 -280
- package/dist/sync/BootstrapFetcher.js +0 -962
- package/dist/sync/ConnectionManager.d.ts +0 -8
- package/dist/sync/ConnectionManager.js +0 -8
- package/dist/sync/OnDemandLoader.d.ts +0 -228
- package/dist/sync/OnDemandLoader.js +0 -742
- 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 -70
- 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 -113
- package/dist/sync/deltaPipeline.js +0 -261
- package/dist/sync/groupChange.d.ts +0 -113
- package/dist/sync/groupChange.js +0 -242
- package/dist/sync/participants.d.ts +0 -115
- package/dist/sync/participants.js +0 -344
- 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 -70
- 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/testing/fixtures/bootstrap.d.ts +0 -49
- package/dist/testing/fixtures/bootstrap.js +0 -59
- package/dist/testing/fixtures/deltas.d.ts +0 -83
- package/dist/testing/fixtures/deltas.js +0 -136
- package/dist/testing/fixtures/httpResponses.d.ts +0 -70
- package/dist/testing/fixtures/httpResponses.js +0 -90
- package/dist/testing/fixtures/models.d.ts +0 -83
- package/dist/testing/fixtures/models.js +0 -272
- package/dist/testing/helpers/reactWrapper.d.ts +0 -69
- package/dist/testing/helpers/reactWrapper.js +0 -67
- package/dist/testing/helpers/syncEngineHarness.d.ts +0 -54
- package/dist/testing/helpers/syncEngineHarness.js +0 -73
- package/dist/testing/helpers/wait.d.ts +0 -30
- package/dist/testing/helpers/wait.js +0 -49
- package/dist/testing/index.d.ts +0 -23
- package/dist/testing/index.js +0 -33
- package/dist/testing/mocks/FakeDatabase.d.ts +0 -18
- package/dist/testing/mocks/FakeDatabase.js +0 -10
- package/dist/testing/mocks/MockMutationExecutor.d.ts +0 -87
- package/dist/testing/mocks/MockMutationExecutor.js +0 -186
- package/dist/testing/mocks/MockNetworkMonitor.d.ts +0 -20
- package/dist/testing/mocks/MockNetworkMonitor.js +0 -46
- package/dist/testing/mocks/MockSyncContext.d.ts +0 -51
- package/dist/testing/mocks/MockSyncContext.js +0 -72
- package/dist/testing/mocks/MockSyncStore.d.ts +0 -88
- package/dist/testing/mocks/MockSyncStore.js +0 -171
- package/dist/testing/mocks/MockWebSocket.d.ts +0 -71
- package/dist/testing/mocks/MockWebSocket.js +0 -118
- 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 -177
- package/dist/transaction/auth/capability.js +0 -199
- 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 -49
- package/dist/transaction/coordination/awaitClaimGrant.js +0 -112
- package/dist/transaction/coordination/claimHeartbeatLoop.d.ts +0 -50
- package/dist/transaction/coordination/claimHeartbeatLoop.js +0 -88
- 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 -44
- package/dist/transaction/coordination/locator.d.ts +0 -83
- package/dist/transaction/coordination/locator.js +0 -82
- package/dist/transaction/coordination/schema.d.ts +0 -1473
- package/dist/transaction/coordination/schema.js +0 -1013
- package/dist/transaction/coordination/targetConflict.d.ts +0 -2
- package/dist/transaction/coordination/targetConflict.js +0 -103
- 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 -480
- package/dist/transaction/errors.d.ts +0 -428
- package/dist/transaction/errors.js +0 -686
- 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 -192
- package/dist/transaction/plugin.js +0 -87
- 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 -266
- package/dist/transaction/resources/httpResources.js +0 -7
- package/dist/transaction/resources/modelOperations.d.ts +0 -319
- 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 -85
- package/dist/transaction/resources/where.js +0 -70
- 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 -126
- package/dist/transaction/schema/field.js +0 -265
- 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 -57
- package/dist/transaction/schema/openapi.js +0 -340
- package/dist/transaction/schema/relation.d.ts +0 -199
- 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 -324
- package/dist/transaction/schema/schema.js +0 -305
- 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 -123
- package/dist/transaction/transport/httpClient.js +0 -145
- 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 -1276
- 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 -576
- package/dist/transaction/transport/wsTransport.js +0 -1017
- 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 -540
- 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 -25
- package/dist/transaction/utils/duration.js +0 -45
- 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 -351
- package/dist/transaction/wire/accountResponses.js +0 -255
- package/dist/transaction/wire/auth.d.ts +0 -49
- package/dist/transaction/wire/auth.js +0 -57
- 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 -463
- package/dist/transaction/wire/claims.js +0 -229
- 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 -177
- package/dist/transaction/wire/feedEvent.js +0 -39
- 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 -552
- package/dist/transaction/wire/inboundFrames.js +0 -116
- package/dist/transaction/wire/index.d.ts +0 -50
- package/dist/transaction/wire/index.js +0 -74
- package/dist/transaction/wire/listEnvelope.d.ts +0 -37
- package/dist/transaction/wire/listEnvelope.js +0 -42
- package/dist/transaction/wire/modelResponses.d.ts +0 -85
- package/dist/transaction/wire/modelResponses.js +0 -43
- 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 -655
- package/dist/transactions/mutations/MutationQueue.js +0 -2797
- 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 -164
- package/dist/transactions/mutations/commitPayload.js +0 -152
- package/dist/transactions/mutations/deltaConfirmation.d.ts +0 -59
- package/dist/transactions/mutations/deltaConfirmation.js +0 -233
- 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 -186
- package/dist/transactions/mutations/replayValidation.js +0 -163
- package/dist/utils/mobxSetup.d.ts +0 -53
- package/dist/utils/mobxSetup.js +0 -330
- package/dist/webhooks/events.d.ts +0 -43
- package/dist/webhooks/events.js +0 -42
- package/dist/webhooks/index.d.ts +0 -8
- package/dist/webhooks/index.js +0 -8
- package/dist/wire/index.d.ts +0 -1
- package/dist/wire/index.js +0 -8
- package/docs/interaction-model.md +0 -99
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What the ACCOUNT routes answer with — the surface you reach through the
|
|
3
|
-
* `ablo` CLI rather than through a model: `GET /v1/projects`, `GET /api/schema`,
|
|
4
|
-
* `GET /v1/logs`, `GET /v1/usage`.
|
|
5
|
-
*
|
|
6
|
-
* These are the shapes the server, the CLI, and the MCP server all have to
|
|
7
|
-
* agree on. Before this module each of them spelled the shape out again — the
|
|
8
|
-
* server inline in `c.json({ … })`, the others in hand-written interfaces — so
|
|
9
|
-
* a renamed field broke a consumer at runtime with nothing failing in between.
|
|
10
|
-
*
|
|
11
|
-
* None of these endpoints appear in the published OpenAPI contract yet (they
|
|
12
|
-
* sit in the spec test's `NOT_YET_PUBLISHED` set). Deriving the spec from these
|
|
13
|
-
* schemas is what removes them from it.
|
|
14
|
-
*/
|
|
15
|
-
import { z } from 'zod';
|
|
16
|
-
import type { SyncDeltaAction } from './delta.js';
|
|
17
|
-
/**
|
|
18
|
-
* One project — an app's own schema, data planes, and keys. `default` marks the
|
|
19
|
-
* organization's implicit project, whose id is the organization's own.
|
|
20
|
-
*/
|
|
21
|
-
export declare const projectResponseSchema: z.ZodObject<{
|
|
22
|
-
object: z.ZodLiteral<"project">;
|
|
23
|
-
id: z.ZodString;
|
|
24
|
-
slug: z.ZodString;
|
|
25
|
-
name: z.ZodString;
|
|
26
|
-
default: z.ZodBoolean;
|
|
27
|
-
created_at: z.ZodString;
|
|
28
|
-
}, z.core.$strip>;
|
|
29
|
-
export type ProjectResponse = z.infer<typeof projectResponseSchema>;
|
|
30
|
-
/**
|
|
31
|
-
* `GET /v1/projects`.
|
|
32
|
-
*
|
|
33
|
-
* Note what this is NOT: the canonical {@link ListEnvelope}. An org's projects
|
|
34
|
-
* are returned whole, so the route emits `data` with no `has_more`/`next_cursor`
|
|
35
|
-
* beside it. That divergence is real and this schema states it rather than
|
|
36
|
-
* describing a pagination the endpoint does not implement — adding the two
|
|
37
|
-
* fields is an API change, not a documentation fix.
|
|
38
|
-
*/
|
|
39
|
-
export declare const projectListResponseSchema: z.ZodObject<{
|
|
40
|
-
object: z.ZodLiteral<"list">;
|
|
41
|
-
data: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
42
|
-
object: z.ZodLiteral<"project">;
|
|
43
|
-
id: z.ZodString;
|
|
44
|
-
slug: z.ZodString;
|
|
45
|
-
name: z.ZodString;
|
|
46
|
-
default: z.ZodBoolean;
|
|
47
|
-
created_at: z.ZodString;
|
|
48
|
-
}, z.core.$strip>>>;
|
|
49
|
-
}, z.core.$strip>;
|
|
50
|
-
export type ProjectListResponse = z.infer<typeof projectListResponseSchema>;
|
|
51
|
-
/** One minted key, returned exactly once — the plaintext is never readable again. */
|
|
52
|
-
export declare const provisionedKeySchema: z.ZodObject<{
|
|
53
|
-
apiKey: z.ZodString;
|
|
54
|
-
expiresAt: z.ZodOptional<z.ZodString>;
|
|
55
|
-
}, z.core.$strip>;
|
|
56
|
-
export type ProvisionedKey = z.infer<typeof provisionedKeySchema>;
|
|
57
|
-
/**
|
|
58
|
-
* What the CLI device flow gets back once a browser approval is exchanged for
|
|
59
|
-
* credentials: the sandbox key `ablo push` authors with, and the restricted
|
|
60
|
-
* production key that only observes.
|
|
61
|
-
*
|
|
62
|
-
* `project` is the project both keys are scoped to, resolved SERVER-SIDE from
|
|
63
|
-
* the requested slug — null means the organization's default. The server's
|
|
64
|
-
* answer is authoritative because it is what resolved the slug to an id, so the
|
|
65
|
-
* CLI stores keys under the project named here rather than the one it asked
|
|
66
|
-
* for.
|
|
67
|
-
*/
|
|
68
|
-
export declare const provisionKeyResponseSchema: z.ZodObject<{
|
|
69
|
-
test: z.ZodObject<{
|
|
70
|
-
apiKey: z.ZodString;
|
|
71
|
-
expiresAt: z.ZodOptional<z.ZodString>;
|
|
72
|
-
}, z.core.$strip>;
|
|
73
|
-
live: z.ZodOptional<z.ZodObject<{
|
|
74
|
-
apiKey: z.ZodString;
|
|
75
|
-
expiresAt: z.ZodOptional<z.ZodString>;
|
|
76
|
-
}, z.core.$strip>>;
|
|
77
|
-
organizationId: z.ZodOptional<z.ZodString>;
|
|
78
|
-
organizationSlug: z.ZodOptional<z.ZodString>;
|
|
79
|
-
project: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
80
|
-
id: z.ZodString;
|
|
81
|
-
slug: z.ZodString;
|
|
82
|
-
}, z.core.$strip>>>;
|
|
83
|
-
}, z.core.$strip>;
|
|
84
|
-
export type ProvisionKeyResponse = z.infer<typeof provisionKeyResponseSchema>;
|
|
85
|
-
/**
|
|
86
|
-
* A model's declared conflict disposition as it travels on the wire, keyed by
|
|
87
|
-
* committer kind.
|
|
88
|
-
*
|
|
89
|
-
* Spelled here rather than imported from the policy layer, which states the same
|
|
90
|
-
* three members as a TypeScript interface: `wire/` holds runtime-validatable
|
|
91
|
-
* schemas, and it is the protocol leaf — everything depends on it and it depends
|
|
92
|
-
* on nothing. The check that the two never drift therefore lives on the policy
|
|
93
|
-
* side of that edge, next to the interface, in `../policy/types.ts`.
|
|
94
|
-
*/
|
|
95
|
-
export declare const conflictAxisWireSchema: z.ZodObject<{
|
|
96
|
-
user: z.ZodOptional<z.ZodEnum<{
|
|
97
|
-
reject: "reject";
|
|
98
|
-
overwrite: "overwrite";
|
|
99
|
-
notify: "notify";
|
|
100
|
-
}>>;
|
|
101
|
-
agent: z.ZodOptional<z.ZodEnum<{
|
|
102
|
-
reject: "reject";
|
|
103
|
-
overwrite: "overwrite";
|
|
104
|
-
notify: "notify";
|
|
105
|
-
}>>;
|
|
106
|
-
system: z.ZodOptional<z.ZodEnum<{
|
|
107
|
-
reject: "reject";
|
|
108
|
-
overwrite: "overwrite";
|
|
109
|
-
notify: "notify";
|
|
110
|
-
}>>;
|
|
111
|
-
}, z.core.$strip>;
|
|
112
|
-
/** One model in the deployed schema, as the schema read reports it. */
|
|
113
|
-
export declare const schemaModelResponseSchema: z.ZodObject<{
|
|
114
|
-
key: z.ZodString;
|
|
115
|
-
typename: z.ZodString;
|
|
116
|
-
conflict: z.ZodNullable<z.ZodObject<{
|
|
117
|
-
user: z.ZodOptional<z.ZodEnum<{
|
|
118
|
-
reject: "reject";
|
|
119
|
-
overwrite: "overwrite";
|
|
120
|
-
notify: "notify";
|
|
121
|
-
}>>;
|
|
122
|
-
agent: z.ZodOptional<z.ZodEnum<{
|
|
123
|
-
reject: "reject";
|
|
124
|
-
overwrite: "overwrite";
|
|
125
|
-
notify: "notify";
|
|
126
|
-
}>>;
|
|
127
|
-
system: z.ZodOptional<z.ZodEnum<{
|
|
128
|
-
reject: "reject";
|
|
129
|
-
overwrite: "overwrite";
|
|
130
|
-
notify: "notify";
|
|
131
|
-
}>>;
|
|
132
|
-
}, z.core.$strip>>;
|
|
133
|
-
hash: z.ZodString;
|
|
134
|
-
}, z.core.$strip>;
|
|
135
|
-
export type SchemaModelResponse = z.infer<typeof schemaModelResponseSchema>;
|
|
136
|
-
/**
|
|
137
|
-
* `GET /api/schema` — the schema active on the caller's plane.
|
|
138
|
-
*
|
|
139
|
-
* A discriminated union because the two answers carry different fields, and the
|
|
140
|
-
* difference is the one a caller must act on: `active: false` means nothing has
|
|
141
|
-
* been pushed to this plane, so `models` is empty and `ablo push` is the fix.
|
|
142
|
-
* Reporting that as an inactive artifact with absent metadata, rather than as
|
|
143
|
-
* optional fields on one shape, is what stops a consumer from reading a missing
|
|
144
|
-
* `version` as a version of zero.
|
|
145
|
-
*/
|
|
146
|
-
export declare const schemaReadResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
147
|
-
active: z.ZodLiteral<false>;
|
|
148
|
-
environment: z.ZodString;
|
|
149
|
-
project: z.ZodNullable<z.ZodString>;
|
|
150
|
-
models: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
151
|
-
key: z.ZodString;
|
|
152
|
-
typename: z.ZodString;
|
|
153
|
-
conflict: z.ZodNullable<z.ZodObject<{
|
|
154
|
-
user: z.ZodOptional<z.ZodEnum<{
|
|
155
|
-
reject: "reject";
|
|
156
|
-
overwrite: "overwrite";
|
|
157
|
-
notify: "notify";
|
|
158
|
-
}>>;
|
|
159
|
-
agent: z.ZodOptional<z.ZodEnum<{
|
|
160
|
-
reject: "reject";
|
|
161
|
-
overwrite: "overwrite";
|
|
162
|
-
notify: "notify";
|
|
163
|
-
}>>;
|
|
164
|
-
system: z.ZodOptional<z.ZodEnum<{
|
|
165
|
-
reject: "reject";
|
|
166
|
-
overwrite: "overwrite";
|
|
167
|
-
notify: "notify";
|
|
168
|
-
}>>;
|
|
169
|
-
}, z.core.$strip>>;
|
|
170
|
-
hash: z.ZodString;
|
|
171
|
-
}, z.core.$strip>>>;
|
|
172
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
173
|
-
active: z.ZodLiteral<true>;
|
|
174
|
-
environment: z.ZodString;
|
|
175
|
-
project: z.ZodNullable<z.ZodString>;
|
|
176
|
-
models: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
177
|
-
key: z.ZodString;
|
|
178
|
-
typename: z.ZodString;
|
|
179
|
-
conflict: z.ZodNullable<z.ZodObject<{
|
|
180
|
-
user: z.ZodOptional<z.ZodEnum<{
|
|
181
|
-
reject: "reject";
|
|
182
|
-
overwrite: "overwrite";
|
|
183
|
-
notify: "notify";
|
|
184
|
-
}>>;
|
|
185
|
-
agent: z.ZodOptional<z.ZodEnum<{
|
|
186
|
-
reject: "reject";
|
|
187
|
-
overwrite: "overwrite";
|
|
188
|
-
notify: "notify";
|
|
189
|
-
}>>;
|
|
190
|
-
system: z.ZodOptional<z.ZodEnum<{
|
|
191
|
-
reject: "reject";
|
|
192
|
-
overwrite: "overwrite";
|
|
193
|
-
notify: "notify";
|
|
194
|
-
}>>;
|
|
195
|
-
}, z.core.$strip>>;
|
|
196
|
-
hash: z.ZodString;
|
|
197
|
-
}, z.core.$strip>>>;
|
|
198
|
-
schemaId: z.ZodString;
|
|
199
|
-
version: z.ZodNumber;
|
|
200
|
-
hash: z.ZodString;
|
|
201
|
-
pushedAt: z.ZodNullable<z.ZodString>;
|
|
202
|
-
}, z.core.$strip>], "active">;
|
|
203
|
-
export type SchemaReadResponse = z.infer<typeof schemaReadResponseSchema>;
|
|
204
|
-
/**
|
|
205
|
-
* What a log reader calls each kind of entry.
|
|
206
|
-
*
|
|
207
|
-
* The log carries the full delta vocabulary, not just writes, so this has a
|
|
208
|
-
* word for every one of them — a reader should never be shown the stored
|
|
209
|
-
* letter. The eight are the plain-language face of {@link SyncDeltaAction}.
|
|
210
|
-
*/
|
|
211
|
-
export declare const logOpSchema: z.ZodEnum<{
|
|
212
|
-
update: "update";
|
|
213
|
-
visible: "visible";
|
|
214
|
-
create: "create";
|
|
215
|
-
delete: "delete";
|
|
216
|
-
archive: "archive";
|
|
217
|
-
revive: "revive";
|
|
218
|
-
group_added: "group_added";
|
|
219
|
-
group_removed: "group_removed";
|
|
220
|
-
}>;
|
|
221
|
-
export type LogOp = z.infer<typeof logOpSchema>;
|
|
222
|
-
/**
|
|
223
|
-
* The stored action letter, as a log reader sees it.
|
|
224
|
-
*
|
|
225
|
-
* Typed against {@link SyncDeltaAction} so it is total by construction: adding
|
|
226
|
-
* a ninth action to the vocabulary stops this compiling until it has a word.
|
|
227
|
-
* The alternative — a lookup with a fallback — is what let `A` reach callers
|
|
228
|
-
* as the bare letter "a".
|
|
229
|
-
*/
|
|
230
|
-
export declare const LOG_OP_BY_ACTION: Readonly<Record<SyncDeltaAction, LogOp>>;
|
|
231
|
-
/** One entry in the log: what changed, and who changed it. */
|
|
232
|
-
export declare const logEventSchema: z.ZodObject<{
|
|
233
|
-
object: z.ZodLiteral<"log_event">;
|
|
234
|
-
id: z.ZodNumber;
|
|
235
|
-
at: z.ZodString;
|
|
236
|
-
model: z.ZodString;
|
|
237
|
-
op: z.ZodEnum<{
|
|
238
|
-
update: "update";
|
|
239
|
-
visible: "visible";
|
|
240
|
-
create: "create";
|
|
241
|
-
delete: "delete";
|
|
242
|
-
archive: "archive";
|
|
243
|
-
revive: "revive";
|
|
244
|
-
group_added: "group_added";
|
|
245
|
-
group_removed: "group_removed";
|
|
246
|
-
}>;
|
|
247
|
-
recordId: z.ZodString;
|
|
248
|
-
actor: z.ZodNullable<z.ZodString>;
|
|
249
|
-
}, z.core.$strip>;
|
|
250
|
-
export type LogEvent = z.infer<typeof logEventSchema>;
|
|
251
|
-
/**
|
|
252
|
-
* One day's usage. `results` is one row per `group_by` combination, carrying
|
|
253
|
-
* the requested dimensions plus `total` and `count`; with no `group_by` it is a
|
|
254
|
-
* single ungrouped row. The keys therefore depend on the request, which is why
|
|
255
|
-
* the row stays open rather than claiming a fixed shape.
|
|
256
|
-
*
|
|
257
|
-
* `total` arrives as a string — it is a bigint in the database, and JSON has no
|
|
258
|
-
* lossless number for it.
|
|
259
|
-
*/
|
|
260
|
-
export declare const usageBucketSchema: z.ZodObject<{
|
|
261
|
-
starting_at: z.ZodString;
|
|
262
|
-
ending_at: z.ZodString;
|
|
263
|
-
results: z.ZodReadonly<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
264
|
-
}, z.core.$strip>;
|
|
265
|
-
export type UsageBucket = z.infer<typeof usageBucketSchema>;
|
|
266
|
-
/**
|
|
267
|
-
* One of the org's keys, as a management surface may show it.
|
|
268
|
-
*
|
|
269
|
-
* Everything here is safe to display: the prefix identifies a key without being
|
|
270
|
-
* one. There is deliberately no field for the key itself — plaintext exists only
|
|
271
|
-
* in the response to the mint that created it, and the store keeps a SHA-256
|
|
272
|
-
* hash, so no later read can return it.
|
|
273
|
-
*/
|
|
274
|
-
export declare const controlKeySchema: z.ZodObject<{
|
|
275
|
-
id: z.ZodString;
|
|
276
|
-
keyPrefix: z.ZodString;
|
|
277
|
-
label: z.ZodNullable<z.ZodString>;
|
|
278
|
-
kind: z.ZodString;
|
|
279
|
-
scopes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
280
|
-
createdAt: z.ZodString;
|
|
281
|
-
lastUsedAt: z.ZodNullable<z.ZodString>;
|
|
282
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
283
|
-
projectId: z.ZodNullable<z.ZodString>;
|
|
284
|
-
}, z.core.$strip>;
|
|
285
|
-
export type ControlKey = z.infer<typeof controlKeySchema>;
|
|
286
|
-
/**
|
|
287
|
-
* `GET /v1/dashboard/keys` — the org's live, hand-managed keys.
|
|
288
|
-
*
|
|
289
|
-
* Like the project list, this is not the canonical {@link ListEnvelope}: it
|
|
290
|
-
* answers with a bare `keys` array. Stated as it is rather than as the envelope
|
|
291
|
-
* it resembles.
|
|
292
|
-
*/
|
|
293
|
-
export declare const controlKeyListResponseSchema: z.ZodObject<{
|
|
294
|
-
keys: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
295
|
-
id: z.ZodString;
|
|
296
|
-
keyPrefix: z.ZodString;
|
|
297
|
-
label: z.ZodNullable<z.ZodString>;
|
|
298
|
-
kind: z.ZodString;
|
|
299
|
-
scopes: z.ZodReadonly<z.ZodArray<z.ZodString>>;
|
|
300
|
-
createdAt: z.ZodString;
|
|
301
|
-
lastUsedAt: z.ZodNullable<z.ZodString>;
|
|
302
|
-
expiresAt: z.ZodNullable<z.ZodString>;
|
|
303
|
-
projectId: z.ZodNullable<z.ZodString>;
|
|
304
|
-
}, z.core.$strip>>>;
|
|
305
|
-
}, z.core.$strip>;
|
|
306
|
-
export type ControlKeyListResponse = z.infer<typeof controlKeyListResponseSchema>;
|
|
307
|
-
/**
|
|
308
|
-
* `POST /v1/dashboard/keys` — the mint.
|
|
309
|
-
*
|
|
310
|
-
* `plaintext` is the only place the secret ever appears. The store keeps a
|
|
311
|
-
* SHA-256 hash, so nothing can return it again: a consumer that reads the wrong
|
|
312
|
-
* field name here does not get an error, it gets `undefined`, and the key is
|
|
313
|
-
* gone. That is the whole reason this shape is defined once rather than
|
|
314
|
-
* described at each end.
|
|
315
|
-
*/
|
|
316
|
-
export declare const keyMintedResponseSchema: z.ZodObject<{
|
|
317
|
-
id: z.ZodString;
|
|
318
|
-
label: z.ZodNullable<z.ZodString>;
|
|
319
|
-
keyPrefix: z.ZodString;
|
|
320
|
-
createdAt: z.ZodString;
|
|
321
|
-
createdBy: z.ZodNullable<z.ZodString>;
|
|
322
|
-
projectId: z.ZodNullable<z.ZodString>;
|
|
323
|
-
plaintext: z.ZodString;
|
|
324
|
-
}, z.core.$strip>;
|
|
325
|
-
export type KeyMintedResponse = z.infer<typeof keyMintedResponseSchema>;
|
|
326
|
-
/**
|
|
327
|
-
* `DELETE /v1/dashboard/keys/:id`. `activeSessionsClosed` reports how many live
|
|
328
|
-
* connections the revocation cut, so a caller can see it took effect on sessions
|
|
329
|
-
* already open rather than only on future ones. A second revoke of the same key
|
|
330
|
-
* is not an error — it answers `alreadyRevoked` and closes nothing.
|
|
331
|
-
*/
|
|
332
|
-
export declare const keyRevokedResponseSchema: z.ZodObject<{
|
|
333
|
-
id: z.ZodString;
|
|
334
|
-
revoked: z.ZodLiteral<true>;
|
|
335
|
-
revokedAt: z.ZodOptional<z.ZodString>;
|
|
336
|
-
alreadyRevoked: z.ZodOptional<z.ZodBoolean>;
|
|
337
|
-
activeSessionsClosed: z.ZodOptional<z.ZodNumber>;
|
|
338
|
-
}, z.core.$strip>;
|
|
339
|
-
export type KeyRevokedResponse = z.infer<typeof keyRevokedResponseSchema>;
|
|
340
|
-
/** `GET /v1/usage` — daily buckets, shaped after a usage report. */
|
|
341
|
-
export declare const usageReportResponseSchema: z.ZodObject<{
|
|
342
|
-
object: z.ZodLiteral<"usage_report">;
|
|
343
|
-
buckets: z.ZodReadonly<z.ZodArray<z.ZodObject<{
|
|
344
|
-
starting_at: z.ZodString;
|
|
345
|
-
ending_at: z.ZodString;
|
|
346
|
-
results: z.ZodReadonly<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
347
|
-
}, z.core.$strip>>>;
|
|
348
|
-
has_more: z.ZodBoolean;
|
|
349
|
-
data_freshness_seconds: z.ZodNumber;
|
|
350
|
-
}, z.core.$strip>;
|
|
351
|
-
export type UsageReportResponse = z.infer<typeof usageReportResponseSchema>;
|
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What the ACCOUNT routes answer with — the surface you reach through the
|
|
3
|
-
* `ablo` CLI rather than through a model: `GET /v1/projects`, `GET /api/schema`,
|
|
4
|
-
* `GET /v1/logs`, `GET /v1/usage`.
|
|
5
|
-
*
|
|
6
|
-
* These are the shapes the server, the CLI, and the MCP server all have to
|
|
7
|
-
* agree on. Before this module each of them spelled the shape out again — the
|
|
8
|
-
* server inline in `c.json({ … })`, the others in hand-written interfaces — so
|
|
9
|
-
* a renamed field broke a consumer at runtime with nothing failing in between.
|
|
10
|
-
*
|
|
11
|
-
* None of these endpoints appear in the published OpenAPI contract yet (they
|
|
12
|
-
* sit in the spec test's `NOT_YET_PUBLISHED` set). Deriving the spec from these
|
|
13
|
-
* schemas is what removes them from it.
|
|
14
|
-
*/
|
|
15
|
-
import { z } from 'zod';
|
|
16
|
-
import { onStaleModeSchema } from '../coordination/schema.js';
|
|
17
|
-
/**
|
|
18
|
-
* One project — an app's own schema, data planes, and keys. `default` marks the
|
|
19
|
-
* organization's implicit project, whose id is the organization's own.
|
|
20
|
-
*/
|
|
21
|
-
export const projectResponseSchema = z.object({
|
|
22
|
-
object: z.literal('project'),
|
|
23
|
-
id: z.string(),
|
|
24
|
-
slug: z.string(),
|
|
25
|
-
name: z.string(),
|
|
26
|
-
default: z.boolean(),
|
|
27
|
-
created_at: z.string(),
|
|
28
|
-
});
|
|
29
|
-
/**
|
|
30
|
-
* `GET /v1/projects`.
|
|
31
|
-
*
|
|
32
|
-
* Note what this is NOT: the canonical {@link ListEnvelope}. An org's projects
|
|
33
|
-
* are returned whole, so the route emits `data` with no `has_more`/`next_cursor`
|
|
34
|
-
* beside it. That divergence is real and this schema states it rather than
|
|
35
|
-
* describing a pagination the endpoint does not implement — adding the two
|
|
36
|
-
* fields is an API change, not a documentation fix.
|
|
37
|
-
*/
|
|
38
|
-
export const projectListResponseSchema = z.object({
|
|
39
|
-
object: z.literal('list'),
|
|
40
|
-
data: z.array(projectResponseSchema).readonly(),
|
|
41
|
-
});
|
|
42
|
-
/** One minted key, returned exactly once — the plaintext is never readable again. */
|
|
43
|
-
export const provisionedKeySchema = z.object({
|
|
44
|
-
apiKey: z.string(),
|
|
45
|
-
expiresAt: z.string().optional(),
|
|
46
|
-
});
|
|
47
|
-
/**
|
|
48
|
-
* What the CLI device flow gets back once a browser approval is exchanged for
|
|
49
|
-
* credentials: the sandbox key `ablo push` authors with, and the restricted
|
|
50
|
-
* production key that only observes.
|
|
51
|
-
*
|
|
52
|
-
* `project` is the project both keys are scoped to, resolved SERVER-SIDE from
|
|
53
|
-
* the requested slug — null means the organization's default. The server's
|
|
54
|
-
* answer is authoritative because it is what resolved the slug to an id, so the
|
|
55
|
-
* CLI stores keys under the project named here rather than the one it asked
|
|
56
|
-
* for.
|
|
57
|
-
*/
|
|
58
|
-
export const provisionKeyResponseSchema = z.object({
|
|
59
|
-
test: provisionedKeySchema,
|
|
60
|
-
live: provisionedKeySchema.optional(),
|
|
61
|
-
organizationId: z.string().optional(),
|
|
62
|
-
organizationSlug: z.string().optional(),
|
|
63
|
-
project: z.object({ id: z.string(), slug: z.string() }).nullable().optional(),
|
|
64
|
-
});
|
|
65
|
-
/**
|
|
66
|
-
* A model's declared conflict disposition as it travels on the wire, keyed by
|
|
67
|
-
* committer kind.
|
|
68
|
-
*
|
|
69
|
-
* Spelled here rather than imported from the policy layer, which states the same
|
|
70
|
-
* three members as a TypeScript interface: `wire/` holds runtime-validatable
|
|
71
|
-
* schemas, and it is the protocol leaf — everything depends on it and it depends
|
|
72
|
-
* on nothing. The check that the two never drift therefore lives on the policy
|
|
73
|
-
* side of that edge, next to the interface, in `../policy/types.ts`.
|
|
74
|
-
*/
|
|
75
|
-
export const conflictAxisWireSchema = z.object({
|
|
76
|
-
user: onStaleModeSchema.optional(),
|
|
77
|
-
agent: onStaleModeSchema.optional(),
|
|
78
|
-
system: onStaleModeSchema.optional(),
|
|
79
|
-
});
|
|
80
|
-
/** One model in the deployed schema, as the schema read reports it. */
|
|
81
|
-
export const schemaModelResponseSchema = z.object({
|
|
82
|
-
/** The key local code addresses (`ablo.documents`). */
|
|
83
|
-
key: z.string(),
|
|
84
|
-
/** The wire typename the engine routes and gates on. */
|
|
85
|
-
typename: z.string(),
|
|
86
|
-
/** Declared disposition, or null for the engine default. */
|
|
87
|
-
conflict: conflictAxisWireSchema.nullable(),
|
|
88
|
-
/** Per-model content hash — the unit of the client's drift check. */
|
|
89
|
-
hash: z.string(),
|
|
90
|
-
});
|
|
91
|
-
/**
|
|
92
|
-
* `GET /api/schema` — the schema active on the caller's plane.
|
|
93
|
-
*
|
|
94
|
-
* A discriminated union because the two answers carry different fields, and the
|
|
95
|
-
* difference is the one a caller must act on: `active: false` means nothing has
|
|
96
|
-
* been pushed to this plane, so `models` is empty and `ablo push` is the fix.
|
|
97
|
-
* Reporting that as an inactive artifact with absent metadata, rather than as
|
|
98
|
-
* optional fields on one shape, is what stops a consumer from reading a missing
|
|
99
|
-
* `version` as a version of zero.
|
|
100
|
-
*/
|
|
101
|
-
export const schemaReadResponseSchema = z.discriminatedUnion('active', [
|
|
102
|
-
z.object({
|
|
103
|
-
active: z.literal(false),
|
|
104
|
-
environment: z.string(),
|
|
105
|
-
project: z.string().nullable(),
|
|
106
|
-
models: z.array(schemaModelResponseSchema).readonly(),
|
|
107
|
-
}),
|
|
108
|
-
z.object({
|
|
109
|
-
active: z.literal(true),
|
|
110
|
-
environment: z.string(),
|
|
111
|
-
project: z.string().nullable(),
|
|
112
|
-
models: z.array(schemaModelResponseSchema).readonly(),
|
|
113
|
-
schemaId: z.string(),
|
|
114
|
-
version: z.number(),
|
|
115
|
-
hash: z.string(),
|
|
116
|
-
pushedAt: z.string().nullable(),
|
|
117
|
-
}),
|
|
118
|
-
]);
|
|
119
|
-
/**
|
|
120
|
-
* What a log reader calls each kind of entry.
|
|
121
|
-
*
|
|
122
|
-
* The log carries the full delta vocabulary, not just writes, so this has a
|
|
123
|
-
* word for every one of them — a reader should never be shown the stored
|
|
124
|
-
* letter. The eight are the plain-language face of {@link SyncDeltaAction}.
|
|
125
|
-
*/
|
|
126
|
-
export const logOpSchema = z.enum([
|
|
127
|
-
'create',
|
|
128
|
-
'update',
|
|
129
|
-
'delete',
|
|
130
|
-
'archive',
|
|
131
|
-
'revive',
|
|
132
|
-
'visible',
|
|
133
|
-
'group_added',
|
|
134
|
-
'group_removed',
|
|
135
|
-
]);
|
|
136
|
-
/**
|
|
137
|
-
* The stored action letter, as a log reader sees it.
|
|
138
|
-
*
|
|
139
|
-
* Typed against {@link SyncDeltaAction} so it is total by construction: adding
|
|
140
|
-
* a ninth action to the vocabulary stops this compiling until it has a word.
|
|
141
|
-
* The alternative — a lookup with a fallback — is what let `A` reach callers
|
|
142
|
-
* as the bare letter "a".
|
|
143
|
-
*/
|
|
144
|
-
export const LOG_OP_BY_ACTION = {
|
|
145
|
-
I: 'create',
|
|
146
|
-
U: 'update',
|
|
147
|
-
D: 'delete',
|
|
148
|
-
A: 'archive',
|
|
149
|
-
V: 'revive',
|
|
150
|
-
C: 'visible',
|
|
151
|
-
G: 'group_added',
|
|
152
|
-
S: 'group_removed',
|
|
153
|
-
};
|
|
154
|
-
/** One entry in the log: what changed, and who changed it. */
|
|
155
|
-
export const logEventSchema = z.object({
|
|
156
|
-
/**
|
|
157
|
-
* Which arm of the feed this is. `GET /v1/logs` can carry claim transitions
|
|
158
|
-
* alongside commits, and the two are told apart by this tag rather than by
|
|
159
|
-
* sniffing for `op` versus `status` — a discriminator a consumer has to infer
|
|
160
|
-
* is one every consumer infers differently.
|
|
161
|
-
*/
|
|
162
|
-
object: z.literal('log_event'),
|
|
163
|
-
id: z.number(),
|
|
164
|
-
at: z.string(),
|
|
165
|
-
model: z.string(),
|
|
166
|
-
op: logOpSchema,
|
|
167
|
-
recordId: z.string(),
|
|
168
|
-
/** `kind:id` of the committer, or null when the log recorded none. */
|
|
169
|
-
actor: z.string().nullable(),
|
|
170
|
-
});
|
|
171
|
-
/**
|
|
172
|
-
* One day's usage. `results` is one row per `group_by` combination, carrying
|
|
173
|
-
* the requested dimensions plus `total` and `count`; with no `group_by` it is a
|
|
174
|
-
* single ungrouped row. The keys therefore depend on the request, which is why
|
|
175
|
-
* the row stays open rather than claiming a fixed shape.
|
|
176
|
-
*
|
|
177
|
-
* `total` arrives as a string — it is a bigint in the database, and JSON has no
|
|
178
|
-
* lossless number for it.
|
|
179
|
-
*/
|
|
180
|
-
export const usageBucketSchema = z.object({
|
|
181
|
-
starting_at: z.string(),
|
|
182
|
-
ending_at: z.string(),
|
|
183
|
-
results: z.array(z.record(z.string(), z.unknown())).readonly(),
|
|
184
|
-
});
|
|
185
|
-
/**
|
|
186
|
-
* One of the org's keys, as a management surface may show it.
|
|
187
|
-
*
|
|
188
|
-
* Everything here is safe to display: the prefix identifies a key without being
|
|
189
|
-
* one. There is deliberately no field for the key itself — plaintext exists only
|
|
190
|
-
* in the response to the mint that created it, and the store keeps a SHA-256
|
|
191
|
-
* hash, so no later read can return it.
|
|
192
|
-
*/
|
|
193
|
-
export const controlKeySchema = z.object({
|
|
194
|
-
id: z.string(),
|
|
195
|
-
/** The leading, non-secret segment — enough to recognise a key by. */
|
|
196
|
-
keyPrefix: z.string(),
|
|
197
|
-
label: z.string().nullable(),
|
|
198
|
-
kind: z.string(),
|
|
199
|
-
scopes: z.array(z.string()).readonly(),
|
|
200
|
-
createdAt: z.string(),
|
|
201
|
-
lastUsedAt: z.string().nullable(),
|
|
202
|
-
expiresAt: z.string().nullable(),
|
|
203
|
-
/** The project this key is scoped to; null = the org-default project. */
|
|
204
|
-
projectId: z.string().nullable(),
|
|
205
|
-
});
|
|
206
|
-
/**
|
|
207
|
-
* `GET /v1/dashboard/keys` — the org's live, hand-managed keys.
|
|
208
|
-
*
|
|
209
|
-
* Like the project list, this is not the canonical {@link ListEnvelope}: it
|
|
210
|
-
* answers with a bare `keys` array. Stated as it is rather than as the envelope
|
|
211
|
-
* it resembles.
|
|
212
|
-
*/
|
|
213
|
-
export const controlKeyListResponseSchema = z.object({
|
|
214
|
-
keys: z.array(controlKeySchema).readonly(),
|
|
215
|
-
});
|
|
216
|
-
/**
|
|
217
|
-
* `POST /v1/dashboard/keys` — the mint.
|
|
218
|
-
*
|
|
219
|
-
* `plaintext` is the only place the secret ever appears. The store keeps a
|
|
220
|
-
* SHA-256 hash, so nothing can return it again: a consumer that reads the wrong
|
|
221
|
-
* field name here does not get an error, it gets `undefined`, and the key is
|
|
222
|
-
* gone. That is the whole reason this shape is defined once rather than
|
|
223
|
-
* described at each end.
|
|
224
|
-
*/
|
|
225
|
-
export const keyMintedResponseSchema = z.object({
|
|
226
|
-
id: z.string(),
|
|
227
|
-
label: z.string().nullable(),
|
|
228
|
-
keyPrefix: z.string(),
|
|
229
|
-
createdAt: z.string(),
|
|
230
|
-
createdBy: z.string().nullable(),
|
|
231
|
-
projectId: z.string().nullable(),
|
|
232
|
-
/** The secret, in the only response that will ever carry it. */
|
|
233
|
-
plaintext: z.string(),
|
|
234
|
-
});
|
|
235
|
-
/**
|
|
236
|
-
* `DELETE /v1/dashboard/keys/:id`. `activeSessionsClosed` reports how many live
|
|
237
|
-
* connections the revocation cut, so a caller can see it took effect on sessions
|
|
238
|
-
* already open rather than only on future ones. A second revoke of the same key
|
|
239
|
-
* is not an error — it answers `alreadyRevoked` and closes nothing.
|
|
240
|
-
*/
|
|
241
|
-
export const keyRevokedResponseSchema = z.object({
|
|
242
|
-
id: z.string(),
|
|
243
|
-
revoked: z.literal(true),
|
|
244
|
-
revokedAt: z.string().optional(),
|
|
245
|
-
alreadyRevoked: z.boolean().optional(),
|
|
246
|
-
activeSessionsClosed: z.number().optional(),
|
|
247
|
-
});
|
|
248
|
-
/** `GET /v1/usage` — daily buckets, shaped after a usage report. */
|
|
249
|
-
export const usageReportResponseSchema = z.object({
|
|
250
|
-
object: z.literal('usage_report'),
|
|
251
|
-
buckets: z.array(usageBucketSchema).readonly(),
|
|
252
|
-
has_more: z.boolean(),
|
|
253
|
-
/** How stale the rollup behind these numbers may be. */
|
|
254
|
-
data_freshness_seconds: z.number(),
|
|
255
|
-
});
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The request body for minting a session credential.
|
|
3
|
-
*
|
|
4
|
-
* `POST /v1/ephemeral_keys` is the first call any caller makes — nothing else in
|
|
5
|
-
* the API is reachable without the credential it returns. That makes it the one
|
|
6
|
-
* route a published contract cannot omit, so its shape lives here beside the
|
|
7
|
-
* rest of the boundary rather than being read field-by-field out of the handler.
|
|
8
|
-
*
|
|
9
|
-
* The response side already had a home: `EphemeralKeyResponseSchema` in
|
|
10
|
-
* `auth/schemas.ts`.
|
|
11
|
-
*/
|
|
12
|
-
import { z } from 'zod';
|
|
13
|
-
/** The participant this session acts as. */
|
|
14
|
-
export declare const ephemeralKeyUserSchema: z.ZodObject<{
|
|
15
|
-
id: z.ZodString;
|
|
16
|
-
teamIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
17
|
-
}, z.core.$strip>;
|
|
18
|
-
export type EphemeralKeyUser = z.infer<typeof ephemeralKeyUserSchema>;
|
|
19
|
-
/**
|
|
20
|
-
* `POST /v1/ephemeral_keys` — mint a short-lived session credential.
|
|
21
|
-
*
|
|
22
|
-
* Only a secret key (`sk_`) may call this: a session cannot mint itself. By
|
|
23
|
-
* default the key mints into the caller's own organization; naming a different
|
|
24
|
-
* `organizationId` is the multi-tenant case and requires the
|
|
25
|
-
* `ephemeral:mint-any-org` scope, which is the same privilege that allows
|
|
26
|
-
* binding the session's schema to another organization's project.
|
|
27
|
-
*/
|
|
28
|
-
export declare const ephemeralKeyRequestSchema: z.ZodObject<{
|
|
29
|
-
user: z.ZodOptional<z.ZodObject<{
|
|
30
|
-
id: z.ZodString;
|
|
31
|
-
teamIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
32
|
-
}, z.core.$strip>>;
|
|
33
|
-
userId: z.ZodOptional<z.ZodString>;
|
|
34
|
-
organizationId: z.ZodOptional<z.ZodString>;
|
|
35
|
-
schemaProjectId: z.ZodOptional<z.ZodString>;
|
|
36
|
-
schemaOwnerOrgId: z.ZodOptional<z.ZodString>;
|
|
37
|
-
syncGroups: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
38
|
-
ttlSeconds: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
label: z.ZodOptional<z.ZodString>;
|
|
40
|
-
}, z.core.$strip>;
|
|
41
|
-
export type EphemeralKeyRequest = z.infer<typeof ephemeralKeyRequestSchema>;
|
|
42
|
-
/**
|
|
43
|
-
* The capability mint body lives with the rest of the capability vocabulary in
|
|
44
|
-
* `auth/capability.ts` — the grant is one structure, and its request form is a
|
|
45
|
-
* face of it rather than a separate shape. Re-exported here so the wire barrel
|
|
46
|
-
* stays the single import path for the boundary.
|
|
47
|
-
*/
|
|
48
|
-
export { capabilityRequestSchema, grantedOperationSchema, capabilityOperationSchema, } from '../auth/capability.js';
|
|
49
|
-
export type { CapabilityRequest, GrantedOperation, CapabilityOperation, } from '../auth/capability.js';
|