@abloatai/transaction 0.57.0 → 0.58.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/CONVENTIONS.md +51 -41
- package/README.md +3 -1
- package/dist/ai-sdk/modelTools.d.ts +3 -3
- package/dist/ai-sdk/modelTools.d.ts.map +1 -1
- package/dist/ai-sdk/modelTools.js +1 -1
- package/dist/ai-sdk/modelTools.js.map +1 -1
- package/dist/ai-sdk/updateTool.d.ts +5 -7
- package/dist/ai-sdk/updateTool.d.ts.map +1 -1
- package/dist/ai-sdk/updateTool.js +3 -5
- package/dist/ai-sdk/updateTool.js.map +1 -1
- package/dist/auth/capability.d.ts +5 -0
- package/dist/auth/capability.d.ts.map +1 -1
- package/dist/auth/capability.js +5 -0
- package/dist/auth/capability.js.map +1 -1
- package/dist/auth/capabilityLifecycle.d.ts +1 -1
- package/dist/auth/capabilityLifecycle.d.ts.map +1 -1
- package/dist/auth/credentialPolicy.d.ts +1 -1
- package/dist/auth/credentialPolicy.d.ts.map +1 -1
- package/dist/auth/identity.d.ts +3 -3
- package/dist/auth/identity.d.ts.map +1 -1
- package/dist/auth/identity.js +5 -5
- package/dist/auth/identity.js.map +1 -1
- package/dist/auth/index.d.ts +4 -208
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +4 -330
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/runtime.d.ts +218 -0
- package/dist/auth/runtime.d.ts.map +1 -0
- package/dist/auth/runtime.js +336 -0
- package/dist/auth/runtime.js.map +1 -0
- package/dist/auth/sessionMint.d.ts +1 -1
- package/dist/auth/sessionMint.d.ts.map +1 -1
- package/dist/auth/sessionMint.js +2 -1
- package/dist/auth/sessionMint.js.map +1 -1
- package/dist/branches.d.ts +25 -21
- package/dist/branches.d.ts.map +1 -1
- package/dist/branches.js +3 -0
- package/dist/branches.js.map +1 -1
- package/dist/{coordination/awaitClaimGrant.d.ts → claims/awaitGrant.d.ts} +1 -1
- package/dist/claims/awaitGrant.d.ts.map +1 -0
- package/dist/{coordination/awaitClaimGrant.js → claims/awaitGrant.js} +4 -4
- package/dist/claims/awaitGrant.js.map +1 -0
- package/dist/{wire/claims.d.ts → claims/contract.d.ts} +1 -1
- package/dist/claims/contract.d.ts.map +1 -0
- package/dist/{wire/claims.js → claims/contract.js} +2 -2
- package/dist/claims/contract.js.map +1 -0
- package/dist/{wire/claimEvent.d.ts → claims/eventContract.d.ts} +1 -1
- package/dist/claims/eventContract.d.ts.map +1 -0
- package/dist/{wire/claimEvent.js → claims/eventContract.js} +1 -1
- package/dist/claims/eventContract.js.map +1 -0
- package/dist/{coordination → claims}/events.d.ts +7 -11
- package/dist/claims/events.d.ts.map +1 -0
- package/dist/claims/events.js +8 -0
- package/dist/claims/events.js.map +1 -0
- package/dist/{coordination/claimHeartbeatLoop.d.ts → claims/heartbeat.d.ts} +1 -1
- package/dist/claims/heartbeat.d.ts.map +1 -0
- package/dist/{coordination/claimHeartbeatLoop.js → claims/heartbeat.js} +1 -1
- package/dist/claims/heartbeat.js.map +1 -0
- package/dist/claims/index.d.ts +17 -0
- package/dist/claims/index.d.ts.map +1 -0
- package/dist/claims/index.js +16 -0
- package/dist/claims/index.js.map +1 -0
- package/dist/claims/lifetime.d.ts +26 -0
- package/dist/claims/lifetime.d.ts.map +1 -0
- package/dist/claims/lifetime.js +62 -0
- package/dist/claims/lifetime.js.map +1 -0
- package/dist/{coordination → claims}/locator.d.ts +1 -1
- package/dist/claims/locator.d.ts.map +1 -0
- package/dist/{coordination → claims}/locator.js +2 -2
- package/dist/claims/locator.js.map +1 -0
- package/dist/{coordination/claimMeta.d.ts → claims/meta.d.ts} +1 -1
- package/dist/claims/meta.d.ts.map +1 -0
- package/dist/{coordination/claimMeta.js → claims/meta.js} +1 -1
- package/dist/claims/meta.js.map +1 -0
- package/dist/claims/routes.d.ts +59 -0
- package/dist/claims/routes.d.ts.map +1 -0
- package/dist/claims/routes.js +69 -0
- package/dist/claims/routes.js.map +1 -0
- package/dist/claims/targetConflict.d.ts.map +1 -0
- package/dist/claims/targetConflict.js.map +1 -0
- package/dist/{coordination → claims}/trace.d.ts +2 -2
- package/dist/claims/trace.d.ts.map +1 -0
- package/dist/{coordination → claims}/trace.js +5 -5
- package/dist/claims/trace.js.map +1 -0
- package/dist/{ablo.d.ts → client/ablo.d.ts} +6 -15
- package/dist/client/ablo.d.ts.map +1 -0
- package/dist/{ablo.js → client/ablo.js} +2 -2
- package/dist/client/ablo.js.map +1 -0
- package/dist/{transactionLayer.d.ts → client/contract.d.ts} +12 -14
- package/dist/client/contract.d.ts.map +1 -0
- package/dist/{transactionLayer.js → client/contract.js} +4 -5
- package/dist/client/contract.js.map +1 -0
- package/dist/{headlessClient.d.ts → client/headless.d.ts} +4 -4
- package/dist/client/headless.d.ts.map +1 -0
- package/dist/{headlessClient.js → client/headless.js} +8 -10
- package/dist/{headlessClient.js.map → client/headless.js.map} +1 -1
- package/dist/client/index.d.ts +11 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +11 -0
- package/dist/client/index.js.map +1 -0
- package/dist/{resources → client/resources}/functionalUpdate.d.ts +4 -4
- package/dist/client/resources/functionalUpdate.d.ts.map +1 -0
- package/dist/{resources → client/resources}/functionalUpdate.js +3 -3
- package/dist/client/resources/functionalUpdate.js.map +1 -0
- package/dist/{resources → client/resources}/httpResources.d.ts +51 -57
- package/dist/client/resources/httpResources.d.ts.map +1 -0
- package/dist/{resources → client/resources}/httpResources.js +1 -1
- package/dist/client/resources/httpResources.js.map +1 -0
- package/dist/{resources → client/resources}/modelCreate.d.ts +1 -1
- package/dist/client/resources/modelCreate.d.ts.map +1 -0
- package/dist/{resources → client/resources}/modelCreate.js +1 -1
- package/dist/client/resources/modelCreate.js.map +1 -0
- package/dist/{resources → client/resources}/modelOperations.d.ts +35 -51
- package/dist/client/resources/modelOperations.d.ts.map +1 -0
- package/dist/{resources → client/resources}/modelOperations.js +1 -1
- package/dist/client/resources/modelOperations.js.map +1 -0
- package/dist/{resources → client/resources}/mutationOptions.d.ts +4 -17
- package/dist/client/resources/mutationOptions.d.ts.map +1 -0
- package/dist/client/resources/mutationOptions.js.map +1 -0
- package/dist/client/resources/where.d.ts.map +1 -0
- package/dist/{resources → client/resources}/where.js +1 -1
- package/dist/client/resources/where.js.map +1 -0
- package/dist/{resources → client/resources}/writeOptionsSchema.d.ts +2 -35
- package/dist/client/resources/writeOptionsSchema.d.ts.map +1 -0
- package/dist/{resources → client/resources}/writeOptionsSchema.js +5 -18
- package/dist/client/resources/writeOptionsSchema.js.map +1 -0
- package/dist/{transactions → commit}/confirmation/commitEnvelope.d.ts +1 -37
- package/dist/commit/confirmation/commitEnvelope.d.ts.map +1 -0
- package/dist/{transactions → commit}/confirmation/commitEnvelope.js +2 -7
- package/dist/commit/confirmation/commitEnvelope.js.map +1 -0
- package/dist/commit/confirmation/httpCommitEnvelope.d.ts.map +1 -0
- package/dist/{transactions → commit}/confirmation/httpCommitEnvelope.js +1 -1
- package/dist/commit/confirmation/httpCommitEnvelope.js.map +1 -0
- package/dist/commit/confirmation/idempotencyKey.d.ts.map +1 -0
- package/dist/commit/confirmation/idempotencyKey.js.map +1 -0
- package/dist/{transactions → commit}/confirmation/pendingWrite.d.ts +2 -33
- package/dist/commit/confirmation/pendingWrite.d.ts.map +1 -0
- package/dist/{transactions → commit}/confirmation/pendingWrite.js +1 -1
- package/dist/commit/confirmation/pendingWrite.js.map +1 -0
- package/dist/commit/contract.d.ts +1404 -0
- package/dist/commit/contract.d.ts.map +1 -0
- package/dist/{wire/commit.js → commit/contract.js} +13 -20
- package/dist/commit/contract.js.map +1 -0
- package/dist/{durableWrites.d.ts → commit/durableWrites.d.ts} +6 -6
- package/dist/commit/durableWrites.d.ts.map +1 -0
- package/dist/{durableWrites.js → commit/durableWrites.js} +5 -5
- package/dist/commit/durableWrites.js.map +1 -0
- package/dist/{transport/httpCommitRequest.d.ts → commit/httpRequest.d.ts} +6 -6
- package/dist/commit/httpRequest.d.ts.map +1 -0
- package/dist/{transport/httpCommitRequest.js → commit/httpRequest.js} +2 -3
- package/dist/commit/httpRequest.js.map +1 -0
- package/dist/commit/index.d.ts +17 -0
- package/dist/commit/index.d.ts.map +1 -0
- package/dist/commit/index.js +17 -0
- package/dist/commit/index.js.map +1 -0
- package/dist/{readSetContext.d.ts → commit/readSetContext.d.ts} +7 -15
- package/dist/commit/readSetContext.d.ts.map +1 -0
- package/dist/{readSetContext.js → commit/readSetContext.js} +10 -25
- package/dist/commit/readSetContext.js.map +1 -0
- package/dist/{commitRecordRuntime.d.ts → commit/recordRuntime.d.ts} +3 -5
- package/dist/commit/recordRuntime.d.ts.map +1 -0
- package/dist/{commitRecordRuntime.js → commit/recordRuntime.js} +13 -54
- package/dist/commit/recordRuntime.js.map +1 -0
- package/dist/coordination/index.d.ts +6 -8
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +3 -9
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/schema.d.ts +11 -459
- package/dist/coordination/schema.d.ts.map +1 -1
- package/dist/coordination/schema.js +13 -261
- package/dist/coordination/schema.js.map +1 -1
- package/dist/errorCodes.d.ts +15 -9
- package/dist/errorCodes.d.ts.map +1 -1
- package/dist/errorCodes.js +13 -6
- package/dist/errorCodes.js.map +1 -1
- package/dist/errorObservation.d.ts +2 -2
- package/dist/errors.d.ts +3 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +27 -11
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/internal/read-set.d.ts +3 -3
- package/dist/internal/read-set.d.ts.map +1 -1
- package/dist/internal/read-set.js +2 -2
- package/dist/internal/read-set.js.map +1 -1
- package/dist/observability.d.ts +4 -4
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +2 -2
- package/dist/{wire/delta.d.ts → observation/contract.d.ts} +8 -8
- package/dist/observation/contract.d.ts.map +1 -0
- package/dist/{wire/delta.js → observation/contract.js} +3 -3
- package/dist/observation/contract.js.map +1 -0
- package/dist/{wire/feedCursor.d.ts → observation/cursor.d.ts} +1 -1
- package/dist/observation/cursor.d.ts.map +1 -0
- package/dist/{wire/feedCursor.js → observation/cursor.js} +1 -1
- package/dist/observation/cursor.js.map +1 -0
- package/dist/{wire/deltaDelivery.d.ts → observation/deliveryContract.d.ts} +1 -1
- package/dist/observation/deliveryContract.d.ts.map +1 -0
- package/dist/{wire/deltaDelivery.js → observation/deliveryContract.js} +1 -1
- package/dist/observation/deliveryContract.js.map +1 -0
- package/dist/{wire/feedEvent.d.ts → observation/feedContract.d.ts} +10 -10
- package/dist/observation/feedContract.d.ts.map +1 -0
- package/dist/{wire/feedEvent.js → observation/feedContract.js} +4 -4
- package/dist/observation/feedContract.js.map +1 -0
- package/dist/observation/httpFeed.d.ts +4 -0
- package/dist/observation/httpFeed.d.ts.map +1 -0
- package/dist/{transport → observation}/httpFeed.js +1 -1
- package/dist/{transport → observation}/httpFeed.js.map +1 -1
- package/dist/observation/index.d.ts +13 -0
- package/dist/observation/index.d.ts.map +1 -0
- package/dist/observation/index.js +13 -0
- package/dist/observation/index.js.map +1 -0
- package/dist/{log → observation/persistence}/syncDeltaRow.d.ts +8 -8
- package/dist/observation/persistence/syncDeltaRow.d.ts.map +1 -0
- package/dist/{log → observation/persistence}/syncDeltaRow.js +4 -4
- package/dist/observation/persistence/syncDeltaRow.js.map +1 -0
- package/dist/pricing.d.ts +20 -12
- package/dist/pricing.d.ts.map +1 -1
- package/dist/pricing.js +46 -26
- package/dist/pricing.js.map +1 -1
- package/dist/schema/index.d.ts +5 -6
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +4 -7
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/model.d.ts +0 -27
- package/dist/schema/model.d.ts.map +1 -1
- package/dist/schema/model.js +0 -2
- package/dist/schema/model.js.map +1 -1
- package/dist/schema/openapi.d.ts.map +1 -1
- package/dist/schema/openapi.js +45 -6
- package/dist/schema/openapi.js.map +1 -1
- package/dist/schema/schema.d.ts +11 -3
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +9 -2
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/serialize.d.ts +1 -4
- package/dist/schema/serialize.d.ts.map +1 -1
- package/dist/schema/serialize.js +0 -4
- package/dist/schema/serialize.js.map +1 -1
- package/dist/schema/tenancy.d.ts +1 -1
- package/dist/server/adapter.d.ts +1 -1
- package/dist/server/adapter.d.ts.map +1 -1
- package/dist/server/commit.d.ts +6 -14
- package/dist/server/commit.d.ts.map +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/storageMode.d.ts +1 -1
- package/dist/source/{adapter.d.ts → adapters/adapter.d.ts} +10 -4
- package/dist/source/adapters/adapter.d.ts.map +1 -0
- package/dist/source/adapters/adapter.js.map +1 -0
- package/dist/source/adapters/adapterFactory.d.ts.map +1 -0
- package/dist/source/{adapterFactory.js → adapters/adapterFactory.js} +1 -1
- package/dist/source/adapters/adapterFactory.js.map +1 -0
- package/dist/source/adapters/adapterProfile.d.ts.map +1 -0
- package/dist/source/adapters/adapterProfile.js.map +1 -0
- package/dist/source/{conformance.d.ts → adapters/conformance.d.ts} +1 -1
- package/dist/source/adapters/conformance.d.ts.map +1 -0
- package/dist/source/{conformance.js → adapters/conformance.js} +1 -1
- package/dist/source/adapters/conformance.js.map +1 -0
- package/dist/source/{contract.d.ts → adapters/contract.d.ts} +8 -77
- package/dist/source/adapters/contract.d.ts.map +1 -0
- package/dist/source/{contract.js → adapters/contract.js} +12 -57
- package/dist/source/adapters/contract.js.map +1 -0
- package/dist/source/adapters/drizzle.d.ts +1 -1
- package/dist/source/adapters/drizzle.d.ts.map +1 -1
- package/dist/source/adapters/drizzle.js +21 -23
- package/dist/source/adapters/drizzle.js.map +1 -1
- package/dist/source/adapters/idempotency.d.ts.map +1 -0
- package/dist/source/{idempotency.js → adapters/idempotency.js} +2 -2
- package/dist/source/adapters/idempotency.js.map +1 -0
- package/dist/source/adapters/index.d.ts +21 -0
- package/dist/source/adapters/index.d.ts.map +1 -0
- package/dist/source/adapters/index.js +21 -0
- package/dist/source/adapters/index.js.map +1 -0
- package/dist/source/adapters/kysely.d.ts +1 -1
- package/dist/source/adapters/kysely.d.ts.map +1 -1
- package/dist/source/adapters/kysely.js +18 -20
- package/dist/source/adapters/kysely.js.map +1 -1
- package/dist/source/adapters/kyselyMutationCore.d.ts +2 -2
- package/dist/source/adapters/kyselyMutationCore.d.ts.map +1 -1
- package/dist/source/adapters/kyselyMutationCore.js +1 -1
- package/dist/source/adapters/kyselyMutationCore.js.map +1 -1
- package/dist/source/adapters/memory.d.ts +3 -3
- package/dist/source/adapters/memory.d.ts.map +1 -1
- package/dist/source/adapters/memory.js +19 -7
- package/dist/source/adapters/memory.js.map +1 -1
- package/dist/source/adapters/migration.d.ts +8 -0
- package/dist/source/adapters/migration.d.ts.map +1 -0
- package/dist/source/adapters/migration.js +9 -0
- package/dist/source/adapters/migration.js.map +1 -0
- package/dist/source/{migrations.d.ts → adapters/migrations.d.ts} +3 -4
- package/dist/source/adapters/migrations.d.ts.map +1 -0
- package/dist/source/{migrations.js → adapters/migrations.js} +4 -52
- package/dist/source/adapters/migrations.js.map +1 -0
- package/dist/source/adapters/prisma.d.ts +1 -1
- package/dist/source/adapters/prisma.d.ts.map +1 -1
- package/dist/source/adapters/prisma.js +21 -28
- package/dist/source/adapters/prisma.js.map +1 -1
- package/dist/source/{subjectAuthorization.d.ts → adapters/subjectAuthorization.d.ts} +1 -1
- package/dist/source/adapters/subjectAuthorization.d.ts.map +1 -0
- package/dist/source/{subjectAuthorization.js → adapters/subjectAuthorization.js} +2 -2
- package/dist/source/adapters/subjectAuthorization.js.map +1 -0
- package/dist/source/{connector.d.ts → connector/client.d.ts} +6 -1
- package/dist/source/connector/client.d.ts.map +1 -0
- package/dist/source/{connector.js → connector/client.js} +28 -11
- package/dist/source/connector/client.js.map +1 -0
- package/dist/source/connector/index.d.ts +4 -0
- package/dist/source/connector/index.d.ts.map +1 -0
- package/dist/source/connector/index.js +4 -0
- package/dist/source/connector/index.js.map +1 -0
- package/dist/source/{connectorProtocol.d.ts → connector/protocol.d.ts} +8 -1
- package/dist/source/connector/protocol.d.ts.map +1 -0
- package/dist/source/{connectorProtocol.js → connector/protocol.js} +10 -3
- package/dist/source/connector/protocol.js.map +1 -0
- package/dist/source/delivery/index.d.ts +3 -0
- package/dist/source/delivery/index.d.ts.map +1 -0
- package/dist/source/delivery/index.js +3 -0
- package/dist/source/delivery/index.js.map +1 -0
- package/dist/source/{pushQueue.d.ts → delivery/pushQueue.d.ts} +1 -1
- package/dist/source/delivery/pushQueue.d.ts.map +1 -0
- package/dist/source/{pushQueue.js → delivery/pushQueue.js} +1 -1
- package/dist/source/delivery/pushQueue.js.map +1 -0
- package/dist/source/{factory.d.ts → endpoint/factory.d.ts} +3 -3
- package/dist/source/endpoint/factory.d.ts.map +1 -0
- package/dist/source/{factory.js → endpoint/factory.js} +9 -4
- package/dist/source/endpoint/factory.js.map +1 -0
- package/dist/source/endpoint/index.d.ts +5 -0
- package/dist/source/endpoint/index.d.ts.map +1 -0
- package/dist/source/endpoint/index.js +5 -0
- package/dist/source/endpoint/index.js.map +1 -0
- package/dist/source/{next.d.ts → endpoint/next.d.ts} +2 -2
- package/dist/source/endpoint/next.d.ts.map +1 -0
- package/dist/source/{next.js → endpoint/next.js} +1 -1
- package/dist/source/endpoint/next.js.map +1 -0
- package/dist/source/{signing.d.ts → endpoint/signing.d.ts} +1 -1
- package/dist/source/endpoint/signing.d.ts.map +1 -0
- package/dist/source/{signing.js → endpoint/signing.js} +1 -1
- package/dist/source/endpoint/signing.js.map +1 -0
- package/dist/source/index.d.ts +14 -12
- package/dist/source/index.d.ts.map +1 -1
- package/dist/source/index.js +13 -11
- package/dist/source/index.js.map +1 -1
- package/dist/source/outbox/contract.d.ts +50 -0
- package/dist/source/outbox/contract.d.ts.map +1 -0
- package/dist/source/outbox/contract.js +50 -0
- package/dist/source/outbox/contract.js.map +1 -0
- package/dist/source/outbox/envelope.d.ts +9 -0
- package/dist/source/outbox/envelope.d.ts.map +1 -0
- package/dist/source/outbox/envelope.js +36 -0
- package/dist/source/outbox/envelope.js.map +1 -0
- package/dist/source/outbox/index.d.ts +11 -0
- package/dist/source/outbox/index.d.ts.map +1 -0
- package/dist/source/outbox/index.js +11 -0
- package/dist/source/outbox/index.js.map +1 -0
- package/dist/source/outbox/migrations.d.ts +4 -0
- package/dist/source/outbox/migrations.d.ts.map +1 -0
- package/dist/source/outbox/migrations.js +67 -0
- package/dist/source/outbox/migrations.js.map +1 -0
- package/dist/source/outbox/retention.d.ts +3 -0
- package/dist/source/outbox/retention.d.ts.map +1 -0
- package/dist/source/outbox/retention.js +3 -0
- package/dist/source/outbox/retention.js.map +1 -0
- package/dist/source/types.d.ts +16 -17
- package/dist/source/types.d.ts.map +1 -1
- package/dist/source/types.js +1 -0
- package/dist/source/types.js.map +1 -1
- package/dist/syncLog/contract.d.ts +19 -2
- package/dist/syncLog/contract.d.ts.map +1 -1
- package/dist/syncLog/contract.js +19 -2
- package/dist/syncLog/contract.js.map +1 -1
- package/dist/transport/{credentialLifecycle.d.ts → connection/credentialLifecycle.d.ts} +3 -3
- package/dist/transport/connection/credentialLifecycle.d.ts.map +1 -0
- package/dist/transport/{credentialLifecycle.js → connection/credentialLifecycle.js} +2 -2
- package/dist/transport/connection/credentialLifecycle.js.map +1 -0
- package/dist/transport/connection/index.d.ts +5 -0
- package/dist/transport/connection/index.d.ts.map +1 -0
- package/dist/transport/connection/index.js +5 -0
- package/dist/transport/connection/index.js.map +1 -0
- package/dist/transport/{connectionManager.d.ts → connection/manager.d.ts} +13 -5
- package/dist/transport/connection/manager.d.ts.map +1 -0
- package/dist/transport/{connectionManager.js → connection/manager.js} +6 -4
- package/dist/transport/connection/manager.js.map +1 -0
- package/dist/transport/{networkProbe.d.ts → connection/networkProbe.d.ts} +2 -2
- package/dist/transport/connection/networkProbe.d.ts.map +1 -0
- package/dist/transport/{networkProbe.js → connection/networkProbe.js} +4 -4
- package/dist/transport/connection/networkProbe.js.map +1 -0
- package/dist/transport/{httpClient.d.ts → http/client.d.ts} +26 -45
- package/dist/transport/http/client.d.ts.map +1 -0
- package/dist/transport/{httpClient.js → http/client.js} +84 -124
- package/dist/transport/http/client.js.map +1 -0
- package/dist/transport/{httpTransportHelpers.d.ts → http/helpers.d.ts} +5 -5
- package/dist/transport/http/helpers.d.ts.map +1 -0
- package/dist/transport/{httpTransportHelpers.js → http/helpers.js} +5 -5
- package/dist/transport/http/helpers.js.map +1 -0
- package/dist/transport/http/index.d.ts +6 -0
- package/dist/transport/http/index.d.ts.map +1 -0
- package/dist/transport/http/index.js +6 -0
- package/dist/transport/http/index.js.map +1 -0
- package/dist/transport/{httpOptions.d.ts → http/options.d.ts} +7 -7
- package/dist/transport/{httpOptions.d.ts.map → http/options.d.ts.map} +1 -1
- package/dist/transport/{httpOptions.js → http/options.js} +1 -1
- package/dist/transport/http/options.js.map +1 -0
- package/dist/transport/http/subscription.d.ts +16 -0
- package/dist/transport/http/subscription.d.ts.map +1 -0
- package/dist/transport/http/subscription.js +146 -0
- package/dist/transport/http/subscription.js.map +1 -0
- package/dist/transport/{httpTransport.d.ts → http/transport.d.ts} +9 -6
- package/dist/transport/http/transport.d.ts.map +1 -0
- package/dist/transport/{httpTransport.js → http/transport.js} +95 -93
- package/dist/transport/http/transport.js.map +1 -0
- package/dist/transport/index.d.ts +8 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +8 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/{commitFrames.d.ts → websocket/commitFrames.d.ts} +8 -20
- package/dist/transport/websocket/commitFrames.d.ts.map +1 -0
- package/dist/transport/{commitFrames.js → websocket/commitFrames.js} +6 -25
- package/dist/transport/websocket/commitFrames.js.map +1 -0
- package/dist/transport/{wsFrameHandlers.d.ts → websocket/frameHandlers.d.ts} +5 -5
- package/dist/transport/websocket/frameHandlers.d.ts.map +1 -0
- package/dist/transport/{wsFrameHandlers.js → websocket/frameHandlers.js} +10 -51
- package/dist/transport/websocket/frameHandlers.js.map +1 -0
- package/dist/transport/{heartbeat.d.ts → websocket/heartbeat.d.ts} +1 -1
- package/dist/transport/websocket/heartbeat.d.ts.map +1 -0
- package/dist/transport/{heartbeat.js → websocket/heartbeat.js} +2 -2
- package/dist/transport/websocket/heartbeat.js.map +1 -0
- package/dist/transport/websocket/index.d.ts +6 -0
- package/dist/transport/websocket/index.d.ts.map +1 -0
- package/dist/transport/websocket/index.js +6 -0
- package/dist/transport/websocket/index.js.map +1 -0
- package/dist/transport/{wsTransport.d.ts → websocket/transport.d.ts} +13 -25
- package/dist/transport/websocket/transport.d.ts.map +1 -0
- package/dist/transport/{wsTransport.js → websocket/transport.js} +14 -14
- package/dist/transport/websocket/transport.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/streams.d.ts +8 -48
- package/dist/types/streams.d.ts.map +1 -1
- package/dist/types/streams.js +2 -2
- package/dist/wire/accountResponses.d.ts +4 -72
- package/dist/wire/accountResponses.d.ts.map +1 -1
- package/dist/wire/accountResponses.js +2 -10
- package/dist/wire/accountResponses.js.map +1 -1
- package/dist/wire/frames.d.ts +6 -83
- package/dist/wire/frames.d.ts.map +1 -1
- package/dist/wire/frames.js +4 -11
- package/dist/wire/frames.js.map +1 -1
- package/dist/wire/inboundFrames.d.ts +6 -131
- package/dist/wire/inboundFrames.d.ts.map +1 -1
- package/dist/wire/inboundFrames.js +3 -3
- package/dist/wire/inboundFrames.js.map +1 -1
- package/dist/wire/index.d.ts +17 -15
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +11 -8
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/modelMutations.d.ts +1 -32
- package/dist/wire/modelMutations.d.ts.map +1 -1
- package/dist/wire/modelMutations.js +1 -8
- package/dist/wire/modelMutations.js.map +1 -1
- package/package.json +130 -10
- package/src/ai-sdk/modelTools.ts +5 -5
- package/src/ai-sdk/updateTool.ts +5 -7
- package/src/auth/capability.ts +5 -0
- package/src/auth/capabilityLifecycle.ts +1 -1
- package/src/auth/credentialPolicy.ts +1 -1
- package/src/auth/identity.ts +7 -7
- package/src/auth/index.ts +4 -663
- package/src/auth/runtime.ts +669 -0
- package/src/auth/sessionMint.ts +3 -2
- package/src/branches.ts +3 -0
- package/src/{coordination/awaitClaimGrant.ts → claims/awaitGrant.ts} +4 -4
- package/src/{wire/claims.ts → claims/contract.ts} +1 -1
- package/src/{coordination → claims}/events.ts +7 -11
- package/src/claims/index.ts +21 -0
- package/src/claims/lifetime.ts +78 -0
- package/src/{coordination → claims}/locator.ts +3 -3
- package/src/claims/routes.ts +81 -0
- package/src/{coordination → claims}/trace.ts +5 -5
- package/src/{ablo.ts → client/ablo.ts} +8 -20
- package/src/{transactionLayer.ts → client/contract.ts} +11 -13
- package/src/{headlessClient.ts → client/headless.ts} +13 -15
- package/src/client/index.ts +10 -0
- package/src/{resources → client/resources}/functionalUpdate.ts +4 -4
- package/src/{resources → client/resources}/httpResources.ts +48 -68
- package/src/{resources → client/resources}/modelCreate.ts +2 -2
- package/src/{resources → client/resources}/modelOperations.ts +46 -55
- package/src/{resources → client/resources}/mutationOptions.ts +4 -17
- package/src/{resources → client/resources}/where.ts +1 -1
- package/src/{resources → client/resources}/writeOptionsSchema.ts +7 -27
- package/src/{transactions → commit}/confirmation/commitEnvelope.ts +2 -12
- package/src/{transactions → commit}/confirmation/httpCommitEnvelope.ts +1 -1
- package/src/{transactions → commit}/confirmation/pendingWrite.ts +1 -1
- package/src/{wire/commit.ts → commit/contract.ts} +11 -25
- package/src/{durableWrites.ts → commit/durableWrites.ts} +7 -7
- package/src/{transport/httpCommitRequest.ts → commit/httpRequest.ts} +6 -7
- package/src/commit/index.ts +16 -0
- package/src/{readSetContext.ts → commit/readSetContext.ts} +16 -41
- package/src/{commitRecordRuntime.ts → commit/recordRuntime.ts} +12 -67
- package/src/coordination/index.ts +4 -52
- package/src/coordination/schema.ts +15 -302
- package/src/errorCodes.ts +56 -10
- package/src/errors.ts +32 -10
- package/src/index.ts +8 -8
- package/src/internal/read-set.ts +3 -6
- package/src/observability.ts +4 -4
- package/src/{wire/delta.ts → observation/contract.ts} +2 -2
- package/src/{wire/feedEvent.ts → observation/feedContract.ts} +3 -4
- package/src/{transport → observation}/httpFeed.ts +3 -3
- package/src/observation/index.ts +12 -0
- package/src/{log → observation/persistence}/syncDeltaRow.ts +6 -7
- package/src/pricing.ts +46 -25
- package/src/schema/index.ts +4 -20
- package/src/schema/model.ts +0 -33
- package/src/schema/openapi.ts +47 -7
- package/src/schema/schema.ts +23 -3
- package/src/schema/serialize.ts +0 -8
- package/src/server/adapter.ts +1 -1
- package/src/server/commit.ts +6 -14
- package/src/server/index.ts +1 -1
- package/src/source/{adapter.ts → adapters/adapter.ts} +9 -5
- package/src/source/{adapterFactory.ts → adapters/adapterFactory.ts} +1 -1
- package/src/source/{conformance.ts → adapters/conformance.ts} +1 -1
- package/src/source/{contract.ts → adapters/contract.ts} +16 -64
- package/src/source/adapters/drizzle.ts +29 -27
- package/src/source/{idempotency.ts → adapters/idempotency.ts} +2 -2
- package/src/source/adapters/index.ts +20 -0
- package/src/source/adapters/kysely.ts +32 -25
- package/src/source/adapters/kyselyMutationCore.ts +3 -3
- package/src/source/adapters/memory.ts +25 -9
- package/src/source/adapters/migration.ts +11 -0
- package/src/source/{migrations.ts → adapters/migrations.ts} +6 -54
- package/src/source/adapters/prisma.ts +33 -32
- package/src/source/{subjectAuthorization.ts → adapters/subjectAuthorization.ts} +2 -2
- package/src/source/{connector.ts → connector/client.ts} +35 -12
- package/src/source/connector/index.ts +3 -0
- package/src/source/{connectorProtocol.ts → connector/protocol.ts} +10 -2
- package/src/source/delivery/index.ts +2 -0
- package/src/source/{pushQueue.ts → delivery/pushQueue.ts} +2 -2
- package/src/source/{factory.ts → endpoint/factory.ts} +13 -8
- package/src/source/endpoint/index.ts +4 -0
- package/src/source/{next.ts → endpoint/next.ts} +2 -2
- package/src/source/{signing.ts → endpoint/signing.ts} +1 -1
- package/src/source/index.ts +22 -19
- package/src/source/outbox/contract.ts +56 -0
- package/src/source/outbox/envelope.ts +47 -0
- package/src/source/outbox/index.ts +15 -0
- package/src/source/outbox/migrations.ts +71 -0
- package/src/source/outbox/retention.ts +2 -0
- package/src/source/types.ts +17 -17
- package/src/syncLog/contract.ts +19 -2
- package/src/transport/{credentialLifecycle.ts → connection/credentialLifecycle.ts} +3 -3
- package/src/transport/connection/index.ts +4 -0
- package/src/transport/{connectionManager.ts → connection/manager.ts} +13 -4
- package/src/transport/{networkProbe.ts → connection/networkProbe.ts} +4 -4
- package/src/transport/{httpClient.ts → http/client.ts} +128 -209
- package/src/transport/{httpTransportHelpers.ts → http/helpers.ts} +7 -7
- package/src/transport/http/index.ts +5 -0
- package/src/transport/{httpOptions.ts → http/options.ts} +6 -6
- package/src/transport/http/subscription.ts +174 -0
- package/src/transport/{httpTransport.ts → http/transport.ts} +127 -113
- package/src/transport/index.ts +7 -0
- package/src/transport/{commitFrames.ts → websocket/commitFrames.ts} +14 -46
- package/src/transport/{wsFrameHandlers.ts → websocket/frameHandlers.ts} +11 -54
- package/src/transport/{heartbeat.ts → websocket/heartbeat.ts} +2 -2
- package/src/transport/websocket/index.ts +5 -0
- package/src/transport/{wsTransport.ts → websocket/transport.ts} +16 -30
- package/src/types/index.ts +2 -6
- package/src/types/streams.ts +7 -61
- package/src/webhooks/events.ts +1 -1
- package/src/wire/accountResponses.ts +3 -12
- package/src/wire/frames.ts +5 -15
- package/src/wire/inboundFrames.ts +3 -3
- package/src/wire/index.ts +19 -15
- package/src/wire/modelMutations.ts +1 -14
- package/dist/ablo.d.ts.map +0 -1
- package/dist/ablo.js.map +0 -1
- package/dist/commitRecordRuntime.d.ts.map +0 -1
- package/dist/commitRecordRuntime.js.map +0 -1
- package/dist/coordination/awaitClaimGrant.d.ts.map +0 -1
- package/dist/coordination/awaitClaimGrant.js.map +0 -1
- package/dist/coordination/claimHeartbeatLoop.d.ts.map +0 -1
- package/dist/coordination/claimHeartbeatLoop.js.map +0 -1
- package/dist/coordination/claimMeta.d.ts.map +0 -1
- package/dist/coordination/claimMeta.js.map +0 -1
- package/dist/coordination/events.d.ts.map +0 -1
- package/dist/coordination/events.js +0 -8
- package/dist/coordination/events.js.map +0 -1
- package/dist/coordination/locator.d.ts.map +0 -1
- package/dist/coordination/locator.js.map +0 -1
- package/dist/coordination/targetConflict.d.ts.map +0 -1
- package/dist/coordination/targetConflict.js.map +0 -1
- package/dist/coordination/trace.d.ts.map +0 -1
- package/dist/coordination/trace.js.map +0 -1
- package/dist/durableWrites.d.ts.map +0 -1
- package/dist/durableWrites.js.map +0 -1
- package/dist/headlessClient.d.ts.map +0 -1
- package/dist/log/syncDeltaRow.d.ts.map +0 -1
- package/dist/log/syncDeltaRow.js.map +0 -1
- package/dist/policy/types.d.ts +0 -226
- package/dist/policy/types.d.ts.map +0 -1
- package/dist/policy/types.js +0 -127
- package/dist/policy/types.js.map +0 -1
- package/dist/readSetContext.d.ts.map +0 -1
- package/dist/readSetContext.js.map +0 -1
- package/dist/resources/functionalUpdate.d.ts.map +0 -1
- package/dist/resources/functionalUpdate.js.map +0 -1
- package/dist/resources/httpResources.d.ts.map +0 -1
- package/dist/resources/httpResources.js.map +0 -1
- package/dist/resources/modelCreate.d.ts.map +0 -1
- package/dist/resources/modelCreate.js.map +0 -1
- package/dist/resources/modelOperations.d.ts.map +0 -1
- package/dist/resources/modelOperations.js.map +0 -1
- package/dist/resources/mutationOptions.d.ts.map +0 -1
- package/dist/resources/mutationOptions.js.map +0 -1
- package/dist/resources/where.d.ts.map +0 -1
- package/dist/resources/where.js.map +0 -1
- package/dist/resources/writeOptionsSchema.d.ts.map +0 -1
- package/dist/resources/writeOptionsSchema.js.map +0 -1
- package/dist/schema/coordination.d.ts +0 -113
- package/dist/schema/coordination.d.ts.map +0 -1
- package/dist/schema/coordination.js +0 -134
- package/dist/schema/coordination.js.map +0 -1
- package/dist/source/adapter.d.ts.map +0 -1
- package/dist/source/adapter.js.map +0 -1
- package/dist/source/adapterFactory.d.ts.map +0 -1
- package/dist/source/adapterFactory.js.map +0 -1
- package/dist/source/adapterProfile.d.ts.map +0 -1
- package/dist/source/adapterProfile.js.map +0 -1
- package/dist/source/conformance.d.ts.map +0 -1
- package/dist/source/conformance.js.map +0 -1
- package/dist/source/connector.d.ts.map +0 -1
- package/dist/source/connector.js.map +0 -1
- package/dist/source/connectorProtocol.d.ts.map +0 -1
- package/dist/source/connectorProtocol.js.map +0 -1
- package/dist/source/contract.d.ts.map +0 -1
- package/dist/source/contract.js.map +0 -1
- package/dist/source/drizzle.d.ts +0 -2
- package/dist/source/drizzle.d.ts.map +0 -1
- package/dist/source/drizzle.js +0 -2
- package/dist/source/drizzle.js.map +0 -1
- package/dist/source/factory.d.ts.map +0 -1
- package/dist/source/factory.js.map +0 -1
- package/dist/source/idempotency.d.ts.map +0 -1
- package/dist/source/idempotency.js.map +0 -1
- package/dist/source/kysely.d.ts +0 -3
- package/dist/source/kysely.d.ts.map +0 -1
- package/dist/source/kysely.js +0 -3
- package/dist/source/kysely.js.map +0 -1
- package/dist/source/migrations.d.ts.map +0 -1
- package/dist/source/migrations.js.map +0 -1
- package/dist/source/next.d.ts.map +0 -1
- package/dist/source/next.js.map +0 -1
- package/dist/source/pushQueue.d.ts.map +0 -1
- package/dist/source/pushQueue.js.map +0 -1
- package/dist/source/signing.d.ts.map +0 -1
- package/dist/source/signing.js.map +0 -1
- package/dist/source/subjectAuthorization.d.ts.map +0 -1
- package/dist/source/subjectAuthorization.js.map +0 -1
- package/dist/transactionLayer.d.ts.map +0 -1
- package/dist/transactionLayer.js.map +0 -1
- package/dist/transactions/confirmation/commitEnvelope.d.ts.map +0 -1
- package/dist/transactions/confirmation/commitEnvelope.js.map +0 -1
- package/dist/transactions/confirmation/httpCommitEnvelope.d.ts.map +0 -1
- package/dist/transactions/confirmation/httpCommitEnvelope.js.map +0 -1
- package/dist/transactions/confirmation/idempotencyKey.d.ts.map +0 -1
- package/dist/transactions/confirmation/idempotencyKey.js.map +0 -1
- package/dist/transactions/confirmation/pendingWrite.d.ts.map +0 -1
- package/dist/transactions/confirmation/pendingWrite.js.map +0 -1
- package/dist/transport/commitFrames.d.ts.map +0 -1
- package/dist/transport/commitFrames.js.map +0 -1
- package/dist/transport/connectionManager.d.ts.map +0 -1
- package/dist/transport/connectionManager.js.map +0 -1
- package/dist/transport/credentialLifecycle.d.ts.map +0 -1
- package/dist/transport/credentialLifecycle.js.map +0 -1
- package/dist/transport/heartbeat.d.ts.map +0 -1
- package/dist/transport/heartbeat.js.map +0 -1
- package/dist/transport/httpClient.d.ts.map +0 -1
- package/dist/transport/httpClient.js.map +0 -1
- package/dist/transport/httpCommitRequest.d.ts.map +0 -1
- package/dist/transport/httpCommitRequest.js.map +0 -1
- package/dist/transport/httpFeed.d.ts +0 -4
- package/dist/transport/httpFeed.d.ts.map +0 -1
- package/dist/transport/httpOptions.js.map +0 -1
- package/dist/transport/httpTransport.d.ts.map +0 -1
- package/dist/transport/httpTransport.js.map +0 -1
- package/dist/transport/httpTransportHelpers.d.ts.map +0 -1
- package/dist/transport/httpTransportHelpers.js.map +0 -1
- package/dist/transport/networkProbe.d.ts.map +0 -1
- package/dist/transport/networkProbe.js.map +0 -1
- package/dist/transport/wsFrameHandlers.d.ts.map +0 -1
- package/dist/transport/wsFrameHandlers.js.map +0 -1
- package/dist/transport/wsTransport.d.ts.map +0 -1
- package/dist/transport/wsTransport.js.map +0 -1
- package/dist/wire/claimEvent.d.ts.map +0 -1
- package/dist/wire/claimEvent.js.map +0 -1
- package/dist/wire/claims.d.ts.map +0 -1
- package/dist/wire/claims.js.map +0 -1
- package/dist/wire/commit.d.ts +0 -2866
- package/dist/wire/commit.d.ts.map +0 -1
- package/dist/wire/commit.js.map +0 -1
- package/dist/wire/delta.d.ts.map +0 -1
- package/dist/wire/delta.js.map +0 -1
- package/dist/wire/deltaDelivery.d.ts.map +0 -1
- package/dist/wire/deltaDelivery.js.map +0 -1
- package/dist/wire/feedCursor.d.ts.map +0 -1
- package/dist/wire/feedCursor.js.map +0 -1
- package/dist/wire/feedEvent.d.ts.map +0 -1
- package/dist/wire/feedEvent.js.map +0 -1
- package/src/policy/types.ts +0 -300
- package/src/schema/coordination.ts +0 -161
- package/src/source/drizzle.ts +0 -1
- package/src/source/kysely.ts +0 -2
- /package/dist/{coordination → claims}/targetConflict.d.ts +0 -0
- /package/dist/{coordination → claims}/targetConflict.js +0 -0
- /package/dist/{resources → client/resources}/mutationOptions.js +0 -0
- /package/dist/{resources → client/resources}/where.d.ts +0 -0
- /package/dist/{transactions → commit}/confirmation/httpCommitEnvelope.d.ts +0 -0
- /package/dist/{transactions → commit}/confirmation/idempotencyKey.d.ts +0 -0
- /package/dist/{transactions → commit}/confirmation/idempotencyKey.js +0 -0
- /package/dist/source/{adapter.js → adapters/adapter.js} +0 -0
- /package/dist/source/{adapterFactory.d.ts → adapters/adapterFactory.d.ts} +0 -0
- /package/dist/source/{adapterProfile.d.ts → adapters/adapterProfile.d.ts} +0 -0
- /package/dist/source/{adapterProfile.js → adapters/adapterProfile.js} +0 -0
- /package/dist/source/{idempotency.d.ts → adapters/idempotency.d.ts} +0 -0
- /package/src/{wire/claimEvent.ts → claims/eventContract.ts} +0 -0
- /package/src/{coordination/claimHeartbeatLoop.ts → claims/heartbeat.ts} +0 -0
- /package/src/{coordination/claimMeta.ts → claims/meta.ts} +0 -0
- /package/src/{coordination → claims}/targetConflict.ts +0 -0
- /package/src/{transactions → commit}/confirmation/idempotencyKey.ts +0 -0
- /package/src/{wire/feedCursor.ts → observation/cursor.ts} +0 -0
- /package/src/{wire/deltaDelivery.ts → observation/deliveryContract.ts} +0 -0
- /package/src/source/{adapterProfile.ts → adapters/adapterProfile.ts} +0 -0
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
import {
|
|
21
21
|
createHttpTransport,
|
|
22
22
|
type HttpTransport,
|
|
23
|
-
} from './
|
|
24
|
-
import { modelWireNames } from '
|
|
25
|
-
import type { HttpClientConfig } from './
|
|
23
|
+
} from './transport.js';
|
|
24
|
+
import { modelWireNames } from '../../auth/capability.js';
|
|
25
|
+
import type { HttpClientConfig } from './options.js';
|
|
26
26
|
import type {
|
|
27
27
|
CommitResource,
|
|
28
28
|
CommitReceipt,
|
|
@@ -36,41 +36,37 @@ import type {
|
|
|
36
36
|
CreateSessionParams,
|
|
37
37
|
AbloSession,
|
|
38
38
|
SessionResource,
|
|
39
|
-
} from '
|
|
40
|
-
import { collectModelList, modelList } from '
|
|
41
|
-
import { resolveCreateId } from '
|
|
39
|
+
} from '../../client/resources/httpResources.js';
|
|
40
|
+
import { collectModelList, modelList } from '../../client/resources/httpResources.js';
|
|
41
|
+
import { resolveCreateId } from '../../client/resources/modelCreate.js';
|
|
42
42
|
import type {
|
|
43
43
|
ModelCreateParams,
|
|
44
44
|
ModelCreateManyParams,
|
|
45
45
|
ModelDeleteParams,
|
|
46
46
|
ServerReadOptions,
|
|
47
47
|
ListAllOptions,
|
|
48
|
-
|
|
49
|
-
ModelTrackParams,
|
|
50
|
-
ModelTrackResult,
|
|
48
|
+
ModelReadParams,
|
|
51
49
|
ModelUpdateParams,
|
|
52
|
-
} from '
|
|
53
|
-
import type { Schema, SchemaRecord, InferModel, InferCreate } from '
|
|
54
|
-
import { omittedModelError } from '
|
|
50
|
+
} from '../../client/resources/modelOperations.js';
|
|
51
|
+
import type { Schema, SchemaRecord, InferModel, InferCreate } from '../../schema/schema.js';
|
|
52
|
+
import { omittedModelError } from '../../schema/select.js';
|
|
55
53
|
import {
|
|
56
54
|
reconcileFunctionalUpdate,
|
|
57
55
|
type ModelUpdater,
|
|
58
56
|
type FunctionalUpdateOptions,
|
|
59
|
-
} from '
|
|
60
|
-
import type { HeldClaim } from '
|
|
61
|
-
import { AbloConnectionError, AbloValidationError } from '
|
|
62
|
-
import type {
|
|
57
|
+
} from '../../client/resources/functionalUpdate.js';
|
|
58
|
+
import type { HeldClaim, HeldLease } from '../../types/streams.js';
|
|
59
|
+
import { AbloConnectionError, AbloValidationError } from '../../errors.js';
|
|
60
|
+
import type { ReadDependency } from '../../coordination/schema.js';
|
|
63
61
|
import {
|
|
64
|
-
abortReadSetCommit,
|
|
65
62
|
capturePointRead,
|
|
66
63
|
createReadSetContext,
|
|
67
|
-
consumeReadSet,
|
|
68
64
|
kReadEvidence,
|
|
69
65
|
prepareReadSet,
|
|
70
66
|
type ReadSetContext,
|
|
71
|
-
} from '
|
|
72
|
-
import { recordHttpCommitReceipt } from '
|
|
73
|
-
import type { EffectiveAuthority } from '
|
|
67
|
+
} from '../../commit/readSetContext.js';
|
|
68
|
+
import { recordHttpCommitReceipt } from '../../commit/recordRuntime.js';
|
|
69
|
+
import type { EffectiveAuthority } from '../../auth/capability.js';
|
|
74
70
|
|
|
75
71
|
export interface AbloHttpClientOptions<S extends SchemaRecord>
|
|
76
72
|
extends HttpClientConfig<S> {
|
|
@@ -96,9 +92,10 @@ export type HttpModelMutationParams<P> = Omit<P, 'reads'> & {
|
|
|
96
92
|
|
|
97
93
|
/**
|
|
98
94
|
* The per-model surface of the stateless HTTP client — everything reachable over
|
|
99
|
-
* request/response: reads (`get` and `list`),
|
|
100
|
-
*
|
|
101
|
-
*
|
|
95
|
+
* request/response: observational reads (`get` and `list`), declared decision
|
|
96
|
+
* reads (`read`), writes (`create`, `update`,
|
|
97
|
+
* and `delete`), and the durable-lease {@link HttpClaimApi | claim} plane for
|
|
98
|
+
* coordinated writes.
|
|
102
99
|
* It deliberately omits the stateful client's local-only
|
|
103
100
|
* reads (the `local` namespace) and live subscriptions (`onChange`), which need
|
|
104
101
|
* a resident graph and a persistent socket; those are absent from the type, so
|
|
@@ -108,39 +105,37 @@ export type HttpModelMutationParams<P> = Omit<P, 'reads'> & {
|
|
|
108
105
|
* than a parallel list it happens to agree with — a verb added here arrives
|
|
109
106
|
* there without a second edit.
|
|
110
107
|
*
|
|
111
|
-
* The typed model contract is transport-independent: `get`
|
|
112
|
-
* `list` returns rows, `create`/`update` return the resulting row, and `delete`
|
|
108
|
+
* The typed model contract is transport-independent: `get` and `read` return
|
|
109
|
+
* one row, `list` returns rows, `create`/`update` return the resulting row, and `delete`
|
|
113
110
|
* returns nothing. The low-level protocol client keeps its read watermark and
|
|
114
111
|
* commit receipt envelopes internally; callers should not have to change data
|
|
115
112
|
* access syntax when they switch transport.
|
|
116
113
|
*/
|
|
117
114
|
export interface HttpModelClient<T, C = T> {
|
|
115
|
+
/** Reads one current row without declaring it as input to a later decision. */
|
|
116
|
+
get(params: ModelReadParams & ModelReadOptions): Promise<T | undefined>;
|
|
118
117
|
/**
|
|
119
118
|
* Reads one row by id. Resolves to `undefined` when no such row exists — a
|
|
120
119
|
* miss is data-absence, not an error.
|
|
121
120
|
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
* synchronous `local.get` exists alongside this: same read, restricted
|
|
126
|
-
* to what is already here.
|
|
121
|
+
* Unlike `get`, the exact returned object privately carries model, id, and
|
|
122
|
+
* readAt evidence. Pass it in one mutation's `reads` array when that mutation
|
|
123
|
+
* was decided from this version.
|
|
127
124
|
*/
|
|
128
|
-
|
|
129
|
-
get(params: ModelRetrieveParams & ModelReadOptions): Promise<CapturedRow<T> | undefined>;
|
|
130
|
-
/** @deprecated Use `get({ id })` for an authoritative point lookup. */
|
|
131
|
-
retrieve(params: ModelRetrieveParams & ModelReadOptions): Promise<CapturedRow<T> | undefined>;
|
|
125
|
+
read(params: ModelReadParams & ModelReadOptions): Promise<CapturedRow<T> | undefined>;
|
|
132
126
|
/**
|
|
133
|
-
*
|
|
134
|
-
*
|
|
127
|
+
* Observes the rows matching a filter, deduplicating concurrent identical
|
|
128
|
+
* calls. List rows are plain values; deliberately `read({ id })` any row a
|
|
129
|
+
* later mutation depends on.
|
|
135
130
|
*/
|
|
136
131
|
/**
|
|
137
132
|
* The rows are an array as before; `hasMore` and `nextCursor` on the result
|
|
138
133
|
* say whether the collection continues past this page. Pass `nextCursor`
|
|
139
134
|
* back as `cursor`, with the same `where` and `orderBy`, to walk it.
|
|
140
135
|
*/
|
|
141
|
-
list(options?: ServerReadOptions<T>): Promise<ModelList<
|
|
136
|
+
list(options?: ServerReadOptions<T>): Promise<ModelList<T>>;
|
|
142
137
|
/** Reads every matching row, following cursors with a bounded traversal. */
|
|
143
|
-
listAll(options?: ListAllOptions<T>): Promise<
|
|
138
|
+
listAll(options?: ListAllOptions<T>): Promise<T[]>;
|
|
144
139
|
/**
|
|
145
140
|
* Creates a row and returns it, including any framework-applied defaults.
|
|
146
141
|
* Passing an id that already exists is idempotent: the existing row is
|
|
@@ -175,24 +170,6 @@ export interface HttpModelClient<T, C = T> {
|
|
|
175
170
|
): Promise<T | undefined>;
|
|
176
171
|
delete(params: HttpModelMutationParams<ModelDeleteParams<T, C>>): Promise<void>;
|
|
177
172
|
claim: HttpClaimApi<T, C>;
|
|
178
|
-
/**
|
|
179
|
-
* Registers a durable premise on a row — "keep telling me about this one".
|
|
180
|
-
* Any change that lands on the tracked row rides back on the `notifications`
|
|
181
|
-
* of this client's next commit, so a long-running agent learns its context
|
|
182
|
-
* went stale without re-reading. A track it already holds is refreshed, not
|
|
183
|
-
* duplicated.
|
|
184
|
-
*
|
|
185
|
-
* ```ts
|
|
186
|
-
* await ablo.items.track({ id: 'item_42' });
|
|
187
|
-
* // …minutes of other work later, on the next write…
|
|
188
|
-
* const res = await ablo.commits.create({ operations: [ … ] });
|
|
189
|
-
* res.notifications; // populated if item_42 moved in the meantime
|
|
190
|
-
* ```
|
|
191
|
-
*
|
|
192
|
-
* The returned `notifications` are only the tracks that had ALREADY fired at
|
|
193
|
-
* registration time; the ongoing signal arrives on later receipts.
|
|
194
|
-
*/
|
|
195
|
-
track(params: ModelTrackParams): Promise<ModelTrackResult>;
|
|
196
173
|
}
|
|
197
174
|
|
|
198
175
|
/**
|
|
@@ -213,7 +190,7 @@ export type AbloHttpClient<S extends SchemaRecord> = {
|
|
|
213
190
|
ready(): Promise<void>;
|
|
214
191
|
/** Replays every pending durable HTTP write in seal order and waits for confirmation. */
|
|
215
192
|
waitForFlush(): Promise<void>;
|
|
216
|
-
readonly commits: CommitResource
|
|
193
|
+
readonly commits: CommitResource<ReadDependency | CapturedRow>;
|
|
217
194
|
/**
|
|
218
195
|
* Claim-ticket operations keyed by `claimId`: `retrieve` polls a queued
|
|
219
196
|
* ticket to its grant, `heartbeat` keeps one lease (held or queued) alive,
|
|
@@ -276,7 +253,7 @@ function createHttpModelClient<T, C = T>(
|
|
|
276
253
|
readSetContext: ReadSetContext | undefined,
|
|
277
254
|
): HttpModelClient<T, C> {
|
|
278
255
|
async function readRow(id: string): Promise<T | undefined> {
|
|
279
|
-
const read = await protocol.
|
|
256
|
+
const read = await protocol.read({ id });
|
|
280
257
|
capturePointRead(readSetContext, clientIdentity, modelName, id, read.data, read.stamp);
|
|
281
258
|
return read.data;
|
|
282
259
|
}
|
|
@@ -310,7 +287,6 @@ function createHttpModelClient<T, C = T>(
|
|
|
310
287
|
readonly claim?: unknown;
|
|
311
288
|
readonly idempotencyKey?: string | null;
|
|
312
289
|
readonly readAt?: number | null;
|
|
313
|
-
readonly onStale?: OnStaleMode | null;
|
|
314
290
|
readonly reads?: readonly unknown[] | null;
|
|
315
291
|
}>(
|
|
316
292
|
params: P,
|
|
@@ -319,22 +295,16 @@ function createHttpModelClient<T, C = T>(
|
|
|
319
295
|
readSetContext,
|
|
320
296
|
clientIdentity,
|
|
321
297
|
params.readAt,
|
|
322
|
-
params.onStale,
|
|
323
298
|
params.idempotencyKey,
|
|
324
299
|
params.reads,
|
|
325
300
|
);
|
|
326
301
|
return {
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
? { idempotencyKey: prepared.idempotencyKey }
|
|
334
|
-
: {}),
|
|
335
|
-
},
|
|
336
|
-
consumed: prepared.consumed,
|
|
337
|
-
automaticCommit: prepared.automaticCommit,
|
|
302
|
+
...mutationOptions(params),
|
|
303
|
+
...(prepared.readAt !== undefined ? { readAt: prepared.readAt } : {}),
|
|
304
|
+
...(prepared.reads !== undefined ? { reads: prepared.reads } : {}),
|
|
305
|
+
...(prepared.idempotencyKey !== undefined
|
|
306
|
+
? { idempotencyKey: prepared.idempotencyKey }
|
|
307
|
+
: {}),
|
|
338
308
|
};
|
|
339
309
|
}
|
|
340
310
|
|
|
@@ -367,7 +337,7 @@ function createHttpModelClient<T, C = T>(
|
|
|
367
337
|
model: modelName,
|
|
368
338
|
id: arg,
|
|
369
339
|
readFresh: async () => {
|
|
370
|
-
const read = await protocol.
|
|
340
|
+
const read = await protocol.read({ id: arg });
|
|
371
341
|
capturePointRead(
|
|
372
342
|
readSetContext,
|
|
373
343
|
clientIdentity,
|
|
@@ -379,69 +349,49 @@ function createHttpModelClient<T, C = T>(
|
|
|
379
349
|
return { data: read.data, stamp: read.stamp };
|
|
380
350
|
},
|
|
381
351
|
writeNext: async (patch, readAt) => {
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
...prepared.options,
|
|
392
|
-
id: arg,
|
|
393
|
-
data: patch,
|
|
394
|
-
});
|
|
395
|
-
consumeReadSet(
|
|
396
|
-
readSetContext,
|
|
397
|
-
clientIdentity,
|
|
398
|
-
prepared.consumed,
|
|
399
|
-
prepared.automaticCommit,
|
|
400
|
-
);
|
|
401
|
-
return result;
|
|
402
|
-
} catch (error) {
|
|
403
|
-
abortReadSetCommit(readSetContext, prepared.automaticCommit);
|
|
404
|
-
throw error;
|
|
405
|
-
}
|
|
352
|
+
const opts = preparedMutation({
|
|
353
|
+
readAt,
|
|
354
|
+
reads: options?.reads,
|
|
355
|
+
});
|
|
356
|
+
return await protocol.update({
|
|
357
|
+
...opts,
|
|
358
|
+
id: arg,
|
|
359
|
+
data: patch,
|
|
360
|
+
});
|
|
406
361
|
},
|
|
407
362
|
},
|
|
408
363
|
);
|
|
409
364
|
return receipt === undefined ? undefined : requireUpdatedRow(arg);
|
|
410
365
|
}
|
|
411
366
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
data: arg.data,
|
|
418
|
-
});
|
|
419
|
-
} catch (error) {
|
|
420
|
-
abortReadSetCommit(readSetContext, prepared.automaticCommit);
|
|
421
|
-
throw error;
|
|
422
|
-
}
|
|
423
|
-
consumeReadSet(
|
|
424
|
-
readSetContext,
|
|
425
|
-
clientIdentity,
|
|
426
|
-
prepared.consumed,
|
|
427
|
-
prepared.automaticCommit,
|
|
428
|
-
);
|
|
367
|
+
await protocol.update({
|
|
368
|
+
...preparedMutation(arg),
|
|
369
|
+
id: arg.id,
|
|
370
|
+
data: arg.data,
|
|
371
|
+
});
|
|
429
372
|
return requireUpdatedRow(arg.id);
|
|
430
373
|
}
|
|
431
374
|
|
|
432
375
|
const get = async (
|
|
433
|
-
params:
|
|
376
|
+
params: ModelReadParams & ModelReadOptions,
|
|
377
|
+
): Promise<T | undefined> => {
|
|
378
|
+
const result = await protocol.read(params);
|
|
379
|
+
return result.data;
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
const read = async (
|
|
383
|
+
params: ModelReadParams & ModelReadOptions,
|
|
434
384
|
): Promise<CapturedRow<T> | undefined> => {
|
|
435
|
-
const
|
|
385
|
+
const result = await protocol.read(params);
|
|
436
386
|
capturePointRead(
|
|
437
387
|
readSetContext,
|
|
438
388
|
clientIdentity,
|
|
439
389
|
modelName,
|
|
440
390
|
params.id,
|
|
441
|
-
|
|
442
|
-
|
|
391
|
+
result.data,
|
|
392
|
+
result.stamp,
|
|
443
393
|
);
|
|
444
|
-
return
|
|
394
|
+
return result.data as CapturedRow<T> | undefined;
|
|
445
395
|
};
|
|
446
396
|
|
|
447
397
|
// `create` is overloaded: one row, or a list of them as one atomic commit.
|
|
@@ -458,91 +408,41 @@ function createHttpModelClient<T, C = T>(
|
|
|
458
408
|
| HttpModelMutationParams<ModelCreateParams<T, C>>
|
|
459
409
|
| HttpModelMutationParams<ModelCreateManyParams<C>>,
|
|
460
410
|
): Promise<CapturedRow<T> | CapturedRow<T>[]> {
|
|
461
|
-
const
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
? { idempotencyKey: prepared.options.idempotencyKey }
|
|
470
|
-
: {}),
|
|
471
|
-
...(prepared.options.reads
|
|
472
|
-
? { reads: [...prepared.options.reads] }
|
|
473
|
-
: {}),
|
|
474
|
-
...(prepared.options.track
|
|
475
|
-
? { track: [...prepared.options.track] }
|
|
476
|
-
: {}),
|
|
477
|
-
});
|
|
478
|
-
consumeReadSet(
|
|
479
|
-
readSetContext,
|
|
480
|
-
clientIdentity,
|
|
481
|
-
prepared.consumed,
|
|
482
|
-
prepared.automaticCommit,
|
|
483
|
-
);
|
|
484
|
-
return rows as CapturedRow<T>[];
|
|
485
|
-
}
|
|
486
|
-
const single = params as HttpModelMutationParams<ModelCreateParams<T, C>>;
|
|
487
|
-
const resolvedId = resolveCreateId(single.id, single.data);
|
|
488
|
-
const row = await protocol.create({
|
|
489
|
-
...prepared.options,
|
|
490
|
-
...(resolvedId !== undefined ? { id: resolvedId } : {}),
|
|
491
|
-
data: single.data as Record<string, unknown>,
|
|
411
|
+
const opts = preparedMutation(params);
|
|
412
|
+
// The list form is one atomic commit through the protocol's batch door.
|
|
413
|
+
// Same verb because it is the same act; the argument says how many.
|
|
414
|
+
if (Array.isArray(params.data)) {
|
|
415
|
+
const rows = await protocol.createMany({
|
|
416
|
+
data: params.data as readonly Record<string, unknown>[],
|
|
417
|
+
...(opts.idempotencyKey ? { idempotencyKey: opts.idempotencyKey } : {}),
|
|
418
|
+
...(opts.reads ? { reads: [...opts.reads] } : {}),
|
|
492
419
|
});
|
|
493
|
-
|
|
494
|
-
readSetContext,
|
|
495
|
-
clientIdentity,
|
|
496
|
-
prepared.consumed,
|
|
497
|
-
prepared.automaticCommit,
|
|
498
|
-
);
|
|
499
|
-
return row as CapturedRow<T>;
|
|
500
|
-
} catch (error) {
|
|
501
|
-
abortReadSetCommit(readSetContext, prepared.automaticCommit);
|
|
502
|
-
throw error;
|
|
420
|
+
return rows as CapturedRow<T>[];
|
|
503
421
|
}
|
|
422
|
+
const single = params as HttpModelMutationParams<ModelCreateParams<T, C>>;
|
|
423
|
+
const resolvedId = resolveCreateId(single.id, single.data);
|
|
424
|
+
const row = await protocol.create({
|
|
425
|
+
...opts,
|
|
426
|
+
...(resolvedId !== undefined ? { id: resolvedId } : {}),
|
|
427
|
+
data: single.data as Record<string, unknown>,
|
|
428
|
+
});
|
|
429
|
+
return row as CapturedRow<T>;
|
|
504
430
|
}
|
|
505
431
|
|
|
506
432
|
const list = async (
|
|
507
433
|
options?: ServerReadOptions<T>,
|
|
508
|
-
): Promise<ModelList<
|
|
434
|
+
): Promise<ModelList<T>> => {
|
|
509
435
|
const snapshot = await protocol.list(options);
|
|
510
|
-
|
|
511
|
-
snapshot.data
|
|
436
|
+
return modelList<T>(
|
|
437
|
+
snapshot.data,
|
|
512
438
|
snapshot,
|
|
513
|
-
// Following pages re-enter this same read, so each one is captured into
|
|
514
|
-
// the read set exactly as the first was. A `for await` over the result
|
|
515
|
-
// therefore carries the same evidence a manual cursor walk would.
|
|
516
439
|
(cursor) => list({ ...options, cursor }),
|
|
517
440
|
);
|
|
518
|
-
const registry = readSetContext?.getStore();
|
|
519
|
-
if (!registry) return page;
|
|
520
|
-
if (!snapshot.evidence) {
|
|
521
|
-
throw new AbloConnectionError(
|
|
522
|
-
`${modelName}.list did not return row evidence. Upgrade the Ablo server or use get({ id }).`,
|
|
523
|
-
{ code: 'commit_no_result' },
|
|
524
|
-
);
|
|
525
|
-
}
|
|
526
|
-
const byId = new Map(snapshot.evidence.map((entry) => [entry.id, entry.stamp]));
|
|
527
|
-
for (const row of snapshot.data) {
|
|
528
|
-
const id = typeof row === 'object' && row !== null
|
|
529
|
-
? Reflect.get(row as object, 'id')
|
|
530
|
-
: undefined;
|
|
531
|
-
const stamp = typeof id === 'string' ? byId.get(id) : undefined;
|
|
532
|
-
if (typeof id !== 'string' || stamp === undefined) {
|
|
533
|
-
throw new AbloConnectionError(
|
|
534
|
-
`${modelName}.list returned a row without matching evidence.`,
|
|
535
|
-
{ code: 'commit_no_result' },
|
|
536
|
-
);
|
|
537
|
-
}
|
|
538
|
-
capturePointRead(readSetContext, clientIdentity, modelName, id, row, stamp);
|
|
539
|
-
}
|
|
540
|
-
return page;
|
|
541
441
|
};
|
|
542
442
|
|
|
543
443
|
const listAll = async (
|
|
544
444
|
options: ListAllOptions<T> = {},
|
|
545
|
-
): Promise<
|
|
445
|
+
): Promise<T[]> => {
|
|
546
446
|
const { maxPages, signal, ...readOptions } = options;
|
|
547
447
|
signal?.throwIfAborted();
|
|
548
448
|
const first = await list(readOptions);
|
|
@@ -551,12 +451,15 @@ function createHttpModelClient<T, C = T>(
|
|
|
551
451
|
|
|
552
452
|
// Claim acquisition performs its authoritative read only after the grant.
|
|
553
453
|
// Preserve that exact post-grant watermark while retaining the callable
|
|
554
|
-
// namespace and all of its state/queue/release members through the proxy.
|
|
454
|
+
// namespace and all of its state/list/queue/release/reorder members through the proxy.
|
|
555
455
|
const claim = new Proxy(protocol.claim, {
|
|
556
456
|
apply(target, thisArg, argArray) {
|
|
557
|
-
const result = Reflect.apply(target, thisArg, argArray) as Promise<
|
|
457
|
+
const result = Reflect.apply(target, thisArg, argArray) as Promise<
|
|
458
|
+
HeldClaim<T> | HeldLease | null
|
|
459
|
+
>;
|
|
558
460
|
return result.then((held) => {
|
|
559
|
-
|
|
461
|
+
// A row-free lease (`claim(id)`) carries no snapshot: nothing to capture.
|
|
462
|
+
if (held && 'data' in held && held.readAt !== undefined) {
|
|
560
463
|
capturePointRead(
|
|
561
464
|
readSetContext,
|
|
562
465
|
clientIdentity,
|
|
@@ -573,28 +476,15 @@ function createHttpModelClient<T, C = T>(
|
|
|
573
476
|
|
|
574
477
|
return {
|
|
575
478
|
get,
|
|
576
|
-
|
|
479
|
+
read,
|
|
577
480
|
list,
|
|
578
481
|
listAll,
|
|
579
482
|
create: createModel,
|
|
580
483
|
update,
|
|
581
484
|
async delete(params): Promise<void> {
|
|
582
|
-
|
|
583
|
-
try {
|
|
584
|
-
await protocol.delete({ ...prepared.options, id: params.id });
|
|
585
|
-
} catch (error) {
|
|
586
|
-
abortReadSetCommit(readSetContext, prepared.automaticCommit);
|
|
587
|
-
throw error;
|
|
588
|
-
}
|
|
589
|
-
consumeReadSet(
|
|
590
|
-
readSetContext,
|
|
591
|
-
clientIdentity,
|
|
592
|
-
prepared.consumed,
|
|
593
|
-
prepared.automaticCommit,
|
|
594
|
-
);
|
|
485
|
+
await protocol.delete({ ...preparedMutation(params), id: params.id });
|
|
595
486
|
},
|
|
596
487
|
claim,
|
|
597
|
-
track: (params) => protocol.track(params),
|
|
598
488
|
};
|
|
599
489
|
}
|
|
600
490
|
|
|
@@ -643,12 +533,41 @@ export function createAbloHttpClient<S extends SchemaRecord>(
|
|
|
643
533
|
return created;
|
|
644
534
|
};
|
|
645
535
|
|
|
536
|
+
const commits: CommitResource<ReadDependency | CapturedRow> = {
|
|
537
|
+
async create(commitOptions) {
|
|
538
|
+
const prepared = prepareReadSet(
|
|
539
|
+
readSetContext,
|
|
540
|
+
clientIdentity,
|
|
541
|
+
commitOptions.readAt,
|
|
542
|
+
commitOptions.idempotencyKey,
|
|
543
|
+
commitOptions.reads,
|
|
544
|
+
);
|
|
545
|
+
return transport.commits.create({
|
|
546
|
+
operations: commitOptions.operations,
|
|
547
|
+
...(commitOptions.claim !== undefined ? { claim: commitOptions.claim } : {}),
|
|
548
|
+
...(commitOptions.wait !== undefined ? { wait: commitOptions.wait } : {}),
|
|
549
|
+
...(prepared.readAt !== undefined ? { readAt: prepared.readAt } : {}),
|
|
550
|
+
...(prepared.reads !== undefined ? { reads: prepared.reads } : {}),
|
|
551
|
+
...(prepared.idempotencyKey !== undefined
|
|
552
|
+
? { idempotencyKey: prepared.idempotencyKey }
|
|
553
|
+
: {}),
|
|
554
|
+
});
|
|
555
|
+
},
|
|
556
|
+
get: (options) => transport.commits.get(options),
|
|
557
|
+
list: (options) => transport.commits.list(options),
|
|
558
|
+
};
|
|
559
|
+
|
|
646
560
|
const facade = new Proxy<Partial<AbloHttpClient<S>>>({}, {
|
|
647
561
|
get(_target, prop) {
|
|
648
562
|
if (prop === kReadEvidence) {
|
|
649
|
-
return {
|
|
563
|
+
return {
|
|
564
|
+
context: readSetContext,
|
|
565
|
+
client: clientIdentity,
|
|
566
|
+
onChange: transport.onChange,
|
|
567
|
+
};
|
|
650
568
|
}
|
|
651
569
|
if (typeof prop !== 'string') return undefined;
|
|
570
|
+
if (prop === 'commits') return commits;
|
|
652
571
|
// Real protocol members pass through unchanged.
|
|
653
572
|
if (isProtocolMember(prop)) {
|
|
654
573
|
return transport[prop];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AbloClaimedError, AbloConnectionError } from '
|
|
2
|
-
import { commitReceiptSchema, type CommitReceiptWire } from '
|
|
3
|
-
import type { ClaimHeartbeatReply } from '
|
|
4
|
-
import type { ModelClaim } from '
|
|
5
|
-
import { subTarget, streamTarget } from '
|
|
6
|
-
import { declaredMeta } from '
|
|
7
|
-
import type { Claim, ClaimHeartbeat } from '
|
|
1
|
+
import { AbloClaimedError, AbloConnectionError } from '../../errors.js';
|
|
2
|
+
import { commitReceiptSchema, type CommitReceiptWire } from '../../commit/contract.js';
|
|
3
|
+
import type { ClaimHeartbeatReply } from '../../claims/contract.js';
|
|
4
|
+
import type { ModelClaim } from '../../client/resources/httpResources.js';
|
|
5
|
+
import { subTarget, streamTarget } from '../../claims/locator.js';
|
|
6
|
+
import { declaredMeta } from '../../claims/meta.js';
|
|
7
|
+
import type { Claim, ClaimHeartbeat } from '../../types/streams.js';
|
|
8
8
|
|
|
9
9
|
/** Interpret a heartbeat reply for a lease this handle currently holds. */
|
|
10
10
|
export function heldHeartbeatReply(
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
* without declaring `extends`; the composition root keeps owning its own type.
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import type { Schema, SchemaRecord } from '
|
|
14
|
-
import type { AuthClientOptions } from '
|
|
15
|
-
import type { CoordinationObservability } from '
|
|
16
|
-
import type { CommitOutboxScope } from '
|
|
17
|
-
import type { CommitReceiptWire } from '
|
|
13
|
+
import type { Schema, SchemaRecord } from '../../schema/schema.js';
|
|
14
|
+
import type { AuthClientOptions } from '../../auth/apiKey.js';
|
|
15
|
+
import type { CoordinationObservability } from '../../observability.js';
|
|
16
|
+
import type { CommitOutboxScope } from '../../commit/confirmation/commitEnvelope.js';
|
|
17
|
+
import type { CommitReceiptWire } from '../../commit/contract.js';
|
|
18
18
|
import type {
|
|
19
19
|
DurableWriteStore,
|
|
20
20
|
DurableWritesConfig,
|
|
21
|
-
} from '
|
|
21
|
+
} from '../../commit/durableWrites.js';
|
|
22
22
|
|
|
23
23
|
export interface HttpClientConfig<S extends SchemaRecord = SchemaRecord>
|
|
24
24
|
// The credential fields come from the one place that defines them, so this
|