@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,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The public resource-type surface.
|
|
3
|
-
*
|
|
4
|
-
* The transport-facing half of these types moved down into the settlement core
|
|
5
|
-
* (ADR 0016). This module keeps the
|
|
6
|
-
* consumer-facing import path intact and rejoins it with the model-proxy types
|
|
7
|
-
* that stay here — `ModelOperations` chief among them, because it returns the
|
|
8
|
-
* live participant handle.
|
|
9
|
-
*/
|
|
10
|
-
export * from '../transaction/resources/httpResources.js';
|
|
11
|
-
export type { LocalCountOptions, LocalReadOptions, ModelListScope, ServerReadOptions, ModelRetrieveParams, ModelCreateParams, ModelUpdateParams, ModelDeleteParams, ClaimOptions, ClaimParams, ClaimLookupParams, ClaimReorderParams, Claim, ClaimHeartbeat, ClaimHeartbeatOptions, HeldClaim, HeldLease, } from '../transaction/resources/modelOperations.js';
|
|
12
|
-
export type { ModelOperations } from './createModelProxy.js';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The public resource-type surface.
|
|
3
|
-
*
|
|
4
|
-
* The transport-facing half of these types moved down into the settlement core
|
|
5
|
-
* (ADR 0016). This module keeps the
|
|
6
|
-
* consumer-facing import path intact and rejoins it with the model-proxy types
|
|
7
|
-
* that stay here — `ModelOperations` chief among them, because it returns the
|
|
8
|
-
* live participant handle.
|
|
9
|
-
*/
|
|
10
|
-
export * from '../transaction/resources/httpResources.js';
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Derives engine configuration from a schema. This module holds two pure
|
|
3
|
-
* functions: {@link computeFKDepthPriority} works out a safe row-insertion
|
|
4
|
-
* order from the schema's foreign-key relations, and
|
|
5
|
-
* {@link deriveConfigFromSchema} packages that ordering, together with a few
|
|
6
|
-
* defaults, into the {@link RuntimeConfig} a client uses at startup. Both
|
|
7
|
-
* are deterministic transforms of the schema and hold no engine state.
|
|
8
|
-
*/
|
|
9
|
-
import type { Schema } from '../transaction/schema/schema.js';
|
|
10
|
-
import type { RuntimeConfig } from '../interfaces/index.js';
|
|
11
|
-
/**
|
|
12
|
-
* Computes a create-priority map that gives the engine a safe order for
|
|
13
|
-
* inserting rows, so a child row is never written before the parent its
|
|
14
|
-
* foreign key references.
|
|
15
|
-
*
|
|
16
|
-
* Every `belongsTo` relation is an edge from a child model to its parent. This
|
|
17
|
-
* function runs Tarjan's strongly-connected-components algorithm over that
|
|
18
|
-
* graph, which does two things at once: it groups any models that reference
|
|
19
|
-
* each other in a cycle into a single component, and it produces those
|
|
20
|
-
* components in an order where parents come before children. Each model then
|
|
21
|
-
* gets a numeric priority from that order, where a lower number means "insert
|
|
22
|
-
* earlier". Top-level models with no parent — an organization or a theme, say —
|
|
23
|
-
* come first, and the deepest descendants come last.
|
|
24
|
-
*
|
|
25
|
-
* Models in the same cycle share a priority, so within a cycle the order rows
|
|
26
|
-
* were queued in breaks the tie. To break a cycle deterministically instead,
|
|
27
|
-
* mark one side of it with `belongsTo(target, fk, { defer: true })`. A deferred
|
|
28
|
-
* edge is left out of the graph, which turns the cycle into a chain and gives
|
|
29
|
-
* the deferred child a strictly higher priority than its parent. Pair it with a
|
|
30
|
-
* Postgres `DEFERRABLE INITIALLY DEFERRED` constraint if you also want the
|
|
31
|
-
* database to relax its check. See {@link BelongsToOptions.defer}.
|
|
32
|
-
*
|
|
33
|
-
* The returned map is keyed by each model's wire type name
|
|
34
|
-
* ({@link ModelDef.typename}, falling back to the schema key), because that is
|
|
35
|
-
* the name the engine looks up at commit time. Keying by the schema key would
|
|
36
|
-
* miss that lookup, and every model would fall back to the default priority.
|
|
37
|
-
*
|
|
38
|
-
* The result does not depend on which model the walk starts from, and the
|
|
39
|
-
* algorithm runs in time linear in the number of models plus relations.
|
|
40
|
-
* Reference: Tarjan, R. (1972), "Depth-first search and linear graph
|
|
41
|
-
* algorithms."
|
|
42
|
-
*/
|
|
43
|
-
export declare function computeFKDepthPriority(schema: Schema): ReadonlyMap<string, number>;
|
|
44
|
-
export declare function deriveConfigFromSchema(schema: Schema): RuntimeConfig;
|
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Derives engine configuration from a schema. This module holds two pure
|
|
3
|
-
* functions: {@link computeFKDepthPriority} works out a safe row-insertion
|
|
4
|
-
* order from the schema's foreign-key relations, and
|
|
5
|
-
* {@link deriveConfigFromSchema} packages that ordering, together with a few
|
|
6
|
-
* defaults, into the {@link RuntimeConfig} a client uses at startup. Both
|
|
7
|
-
* are deterministic transforms of the schema and hold no engine state.
|
|
8
|
-
*/
|
|
9
|
-
import { schemaHash, modelHash, toSchemaJSON } from '../schema/serialize.js';
|
|
10
|
-
// ── Config derivation from schema ─────────────────────────────────────────
|
|
11
|
-
/**
|
|
12
|
-
* Computes a create-priority map that gives the engine a safe order for
|
|
13
|
-
* inserting rows, so a child row is never written before the parent its
|
|
14
|
-
* foreign key references.
|
|
15
|
-
*
|
|
16
|
-
* Every `belongsTo` relation is an edge from a child model to its parent. This
|
|
17
|
-
* function runs Tarjan's strongly-connected-components algorithm over that
|
|
18
|
-
* graph, which does two things at once: it groups any models that reference
|
|
19
|
-
* each other in a cycle into a single component, and it produces those
|
|
20
|
-
* components in an order where parents come before children. Each model then
|
|
21
|
-
* gets a numeric priority from that order, where a lower number means "insert
|
|
22
|
-
* earlier". Top-level models with no parent — an organization or a theme, say —
|
|
23
|
-
* come first, and the deepest descendants come last.
|
|
24
|
-
*
|
|
25
|
-
* Models in the same cycle share a priority, so within a cycle the order rows
|
|
26
|
-
* were queued in breaks the tie. To break a cycle deterministically instead,
|
|
27
|
-
* mark one side of it with `belongsTo(target, fk, { defer: true })`. A deferred
|
|
28
|
-
* edge is left out of the graph, which turns the cycle into a chain and gives
|
|
29
|
-
* the deferred child a strictly higher priority than its parent. Pair it with a
|
|
30
|
-
* Postgres `DEFERRABLE INITIALLY DEFERRED` constraint if you also want the
|
|
31
|
-
* database to relax its check. See {@link BelongsToOptions.defer}.
|
|
32
|
-
*
|
|
33
|
-
* The returned map is keyed by each model's wire type name
|
|
34
|
-
* ({@link ModelDef.typename}, falling back to the schema key), because that is
|
|
35
|
-
* the name the engine looks up at commit time. Keying by the schema key would
|
|
36
|
-
* miss that lookup, and every model would fall back to the default priority.
|
|
37
|
-
*
|
|
38
|
-
* The result does not depend on which model the walk starts from, and the
|
|
39
|
-
* algorithm runs in time linear in the number of models plus relations.
|
|
40
|
-
* Reference: Tarjan, R. (1972), "Depth-first search and linear graph
|
|
41
|
-
* algorithms."
|
|
42
|
-
*/
|
|
43
|
-
export function computeFKDepthPriority(schema) {
|
|
44
|
-
// schemaKey → typename (wire name used at transaction time)
|
|
45
|
-
const keyToTypename = new Map();
|
|
46
|
-
for (const [key, def] of Object.entries(schema.models)) {
|
|
47
|
-
keyToTypename.set(key, def.typename ?? key);
|
|
48
|
-
}
|
|
49
|
-
// Adjacency: schemaKey → parent schema keys pulled from `belongsTo`.
|
|
50
|
-
// Parents not in the schema (e.g. external types) are dropped so the
|
|
51
|
-
// graph stays closed. Edges marked `{ defer: true }` are also
|
|
52
|
-
// dropped — the schema author has declared this side of a cycle to
|
|
53
|
-
// be the "soft" one (insert with null FK, patch later), so the
|
|
54
|
-
// dependency-graph walker treats it as if the edge weren't there.
|
|
55
|
-
// That breaks the cycle deterministically and lets the other side
|
|
56
|
-
// become a strict topological predecessor.
|
|
57
|
-
const parentsOf = new Map();
|
|
58
|
-
for (const [key, def] of Object.entries(schema.models)) {
|
|
59
|
-
const out = [];
|
|
60
|
-
for (const rel of Object.values(def.relations)) {
|
|
61
|
-
if (rel.type !== 'belongsTo')
|
|
62
|
-
continue;
|
|
63
|
-
if (!keyToTypename.has(rel.target))
|
|
64
|
-
continue;
|
|
65
|
-
if (rel.options?.defer === true)
|
|
66
|
-
continue;
|
|
67
|
-
out.push(rel.target);
|
|
68
|
-
}
|
|
69
|
-
parentsOf.set(key, out);
|
|
70
|
-
}
|
|
71
|
-
// Tarjan SCC bookkeeping
|
|
72
|
-
const dfsIndex = new Map();
|
|
73
|
-
const lowlink = new Map();
|
|
74
|
-
const onStack = new Set();
|
|
75
|
-
const stack = [];
|
|
76
|
-
const sccs = [];
|
|
77
|
-
let counter = 0;
|
|
78
|
-
function strongconnect(v) {
|
|
79
|
-
dfsIndex.set(v, counter);
|
|
80
|
-
lowlink.set(v, counter);
|
|
81
|
-
counter++;
|
|
82
|
-
stack.push(v);
|
|
83
|
-
onStack.add(v);
|
|
84
|
-
for (const w of parentsOf.get(v) ?? []) {
|
|
85
|
-
if (!dfsIndex.has(w)) {
|
|
86
|
-
strongconnect(w);
|
|
87
|
-
lowlink.set(v, Math.min(lowlink.get(v), lowlink.get(w)));
|
|
88
|
-
}
|
|
89
|
-
else if (onStack.has(w)) {
|
|
90
|
-
// Back-edge into the active DFS path — w is in the same SCC as v.
|
|
91
|
-
lowlink.set(v, Math.min(lowlink.get(v), dfsIndex.get(w)));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// v is the root of an SCC: pop everything down to v inclusive.
|
|
95
|
-
if (lowlink.get(v) === dfsIndex.get(v)) {
|
|
96
|
-
const component = [];
|
|
97
|
-
let w;
|
|
98
|
-
do {
|
|
99
|
-
w = stack.pop();
|
|
100
|
-
onStack.delete(w);
|
|
101
|
-
component.push(w);
|
|
102
|
-
} while (w !== v);
|
|
103
|
-
sccs.push(component);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
for (const key of keyToTypename.keys()) {
|
|
107
|
-
if (!dfsIndex.has(key))
|
|
108
|
-
strongconnect(key);
|
|
109
|
-
}
|
|
110
|
-
// Tarjan emits SCCs in reverse topological order of the condensation.
|
|
111
|
-
// In our edge convention (child→parent), reverse-topo of the
|
|
112
|
-
// condensation means root-SCCs (no outgoing edges = no parents)
|
|
113
|
-
// first, leaf-SCCs (deepest descendants) last. We could just use
|
|
114
|
-
// emit-order as the priority — but that gives independent sibling
|
|
115
|
-
// SCCs different priorities, which is semantically wrong: siblings
|
|
116
|
-
// don't depend on each other and shouldn't be ordered relative to
|
|
117
|
-
// each other.
|
|
118
|
-
//
|
|
119
|
-
// Instead, do one more pass to compute *longest-path depth* on the
|
|
120
|
-
// condensation DAG: depth(SCC) = max(depth(parent SCC)) + 1, or 0
|
|
121
|
-
// for SCCs with no in-schema parents. SCCs at the same depth get
|
|
122
|
-
// the same priority — siblings stay tied, insertion order in the
|
|
123
|
-
// queue breaks the tie. Priority = (depth + 1) * 10.
|
|
124
|
-
//
|
|
125
|
-
// We can compute this in a single pass over the SCCs because
|
|
126
|
-
// Tarjan's emit-order *is* a valid topological order of the
|
|
127
|
-
// condensation: when we process sccs[i], every parent SCC has
|
|
128
|
-
// already been assigned a depth.
|
|
129
|
-
const nodeToSccIdx = new Map();
|
|
130
|
-
sccs.forEach((scc, i) => {
|
|
131
|
-
for (const node of scc)
|
|
132
|
-
nodeToSccIdx.set(node, i);
|
|
133
|
-
});
|
|
134
|
-
const sccDepth = new Map();
|
|
135
|
-
sccs.forEach((scc, i) => {
|
|
136
|
-
let maxParentDepth = -1;
|
|
137
|
-
for (const node of scc) {
|
|
138
|
-
for (const parent of parentsOf.get(node) ?? []) {
|
|
139
|
-
const parentSccIdx = nodeToSccIdx.get(parent);
|
|
140
|
-
if (parentSccIdx === undefined)
|
|
141
|
-
continue;
|
|
142
|
-
if (parentSccIdx === i)
|
|
143
|
-
continue; // intra-SCC edge — not a dep
|
|
144
|
-
const d = sccDepth.get(parentSccIdx);
|
|
145
|
-
if (d !== undefined && d > maxParentDepth)
|
|
146
|
-
maxParentDepth = d;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
sccDepth.set(i, maxParentDepth + 1);
|
|
150
|
-
});
|
|
151
|
-
const out = new Map();
|
|
152
|
-
sccs.forEach((scc, i) => {
|
|
153
|
-
const priority = (sccDepth.get(i) + 1) * 10;
|
|
154
|
-
for (const key of scc) {
|
|
155
|
-
out.set(keyToTypename.get(key), priority);
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
return out;
|
|
159
|
-
}
|
|
160
|
-
export function deriveConfigFromSchema(schema) {
|
|
161
|
-
// Field-level serialization for commits happens in the transaction queue,
|
|
162
|
-
// which reads each model's declared fields from the model registry at commit
|
|
163
|
-
// time. There is no per-field metadata to configure here, so these maps stay
|
|
164
|
-
// empty.
|
|
165
|
-
return {
|
|
166
|
-
modelCreatePriority: computeFKDepthPriority(schema),
|
|
167
|
-
defaultCreatePriority: 40,
|
|
168
|
-
defaultNonCreatePriority: 50,
|
|
169
|
-
essentialFields: {},
|
|
170
|
-
classNameFallbackMap: {},
|
|
171
|
-
// Hash this schema once, so startup can detect when it has drifted from the
|
|
172
|
-
// schema the server currently has active. The server and the `ablo push`
|
|
173
|
-
// command compute this same hash.
|
|
174
|
-
expectedSchemaHash: schemaHash(schema),
|
|
175
|
-
// Per-model hashes for the SEMANTIC drift check: on a whole-hash mismatch
|
|
176
|
-
// the client compares only the models it declares, so an additive server
|
|
177
|
-
// change stays silent and a real divergence names the exact models.
|
|
178
|
-
expectedModelHashes: Object.fromEntries(Object.entries(toSchemaJSON(schema).models).map(([key, model]) => [key, modelHash(model)])),
|
|
179
|
-
// For a projection (`selectModels`/`omitModels`), also carry the full source
|
|
180
|
-
// schema's hash. The drift check accepts a server match on either hash, so a
|
|
181
|
-
// subset client stays quiet against a server running its full source schema.
|
|
182
|
-
// Undefined for a directly-authored schema — plain equality applies there.
|
|
183
|
-
expectedSourceSchemaHash: schema.sourceSchemaHash,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates the options passed when constructing a client, before any
|
|
3
|
-
* connection is attempted. Returns the first problem it finds as an
|
|
4
|
-
* {@link AbloError}, or null when every check passes. The caller records that
|
|
5
|
-
* error on the client's sync status, so a misconfiguration surfaces through the
|
|
6
|
-
* normal status channel rather than throwing at the call site.
|
|
7
|
-
*
|
|
8
|
-
* The order of checks matters: a missing `url` is reported before any identity
|
|
9
|
-
* problem, because the identity error messages mention the URL and would
|
|
10
|
-
* mislead if the URL were the thing actually missing.
|
|
11
|
-
*/
|
|
12
|
-
import { AbloError } from '../transaction/errors.js';
|
|
13
|
-
import type { ParticipantKind } from '../transaction/types/participant.js';
|
|
14
|
-
/**
|
|
15
|
-
* The subset of client options this validator reads. It is declared as its own
|
|
16
|
-
* interface, structurally compatible with the full options type, so a real
|
|
17
|
-
* options object satisfies it without the validator having to depend on the
|
|
18
|
-
* complete type.
|
|
19
|
-
*/
|
|
20
|
-
export interface ValidatableAbloOptions {
|
|
21
|
-
readonly schema?: {
|
|
22
|
-
readonly models?: Record<string, unknown>;
|
|
23
|
-
} | null;
|
|
24
|
-
readonly kind?: ParticipantKind;
|
|
25
|
-
readonly user?: {
|
|
26
|
-
readonly id?: string;
|
|
27
|
-
} | undefined;
|
|
28
|
-
readonly agentId?: string | undefined;
|
|
29
|
-
readonly capabilityToken?: string | undefined;
|
|
30
|
-
}
|
|
31
|
-
export interface ValidateAbloOptionsInput {
|
|
32
|
-
readonly options: ValidatableAbloOptions;
|
|
33
|
-
readonly url: string;
|
|
34
|
-
/**
|
|
35
|
-
* Truthy when an API key was supplied (string or callable). The
|
|
36
|
-
* validator only inspects presence, never the value, so the input
|
|
37
|
-
* shape stays loose to accept whatever the caller resolved.
|
|
38
|
-
*/
|
|
39
|
-
readonly configuredApiKey: unknown;
|
|
40
|
-
readonly configuredAuthToken: unknown;
|
|
41
|
-
}
|
|
42
|
-
export declare function validateAbloOptions(input: ValidateAbloOptionsInput): AbloError | null;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validates the options passed when constructing a client, before any
|
|
3
|
-
* connection is attempted. Returns the first problem it finds as an
|
|
4
|
-
* {@link AbloError}, or null when every check passes. The caller records that
|
|
5
|
-
* error on the client's sync status, so a misconfiguration surfaces through the
|
|
6
|
-
* normal status channel rather than throwing at the call site.
|
|
7
|
-
*
|
|
8
|
-
* The order of checks matters: a missing `url` is reported before any identity
|
|
9
|
-
* problem, because the identity error messages mention the URL and would
|
|
10
|
-
* mislead if the URL were the thing actually missing.
|
|
11
|
-
*/
|
|
12
|
-
import { AbloError, AbloValidationError } from '../transaction/errors.js';
|
|
13
|
-
export function validateAbloOptions(input) {
|
|
14
|
-
const { options, url, configuredApiKey, configuredAuthToken } = input;
|
|
15
|
-
const kind = options.kind ?? 'user';
|
|
16
|
-
if (!url) {
|
|
17
|
-
return new AbloValidationError('Ablo: `url` is required. Pass the sync server URL, e.g. ' +
|
|
18
|
-
`Ablo({ baseURL: 'wss://api.abloatai.com', schema, user })`, { code: 'base_url_missing' });
|
|
19
|
-
}
|
|
20
|
-
if (!options.schema?.models) {
|
|
21
|
-
return new AbloValidationError('Ablo: `schema` is required. Define it once and access models as `ablo.<model>`.', { code: 'invalid_options', param: 'schema' });
|
|
22
|
-
}
|
|
23
|
-
if (!configuredApiKey &&
|
|
24
|
-
!configuredAuthToken &&
|
|
25
|
-
!options.capabilityToken &&
|
|
26
|
-
kind === 'user' &&
|
|
27
|
-
options.user &&
|
|
28
|
-
!options.user.id) {
|
|
29
|
-
return new AbloValidationError('Ablo: `user.id` must be a non-empty string when `user` is provided.', { code: 'invalid_options', param: 'user.id' });
|
|
30
|
-
}
|
|
31
|
-
if (!configuredApiKey && !configuredAuthToken && kind === 'agent' && !options.agentId) {
|
|
32
|
-
return new AbloValidationError('Ablo: provide either `apiKey` or `agentId` for `kind: "agent"`. ' +
|
|
33
|
-
'Hosted-cloud consumers pass `apiKey` and the server derives the ' +
|
|
34
|
-
'agent identity from its scope; self-hosted passes `agentId` + ' +
|
|
35
|
-
'`capabilityToken` directly.', { code: 'invalid_options', param: 'agentId' });
|
|
36
|
-
}
|
|
37
|
-
if (!configuredApiKey && !configuredAuthToken && kind === 'agent' && !options.capabilityToken) {
|
|
38
|
-
return new AbloValidationError('Ablo: provide either `apiKey` (hosted cloud — SDK exchanges internally) ' +
|
|
39
|
-
'or `capabilityToken` (self-hosted — your auth layer mints + hands in). ' +
|
|
40
|
-
'See https://abloatai.com/docs/api-keys for the full pattern.', { code: 'invalid_options', param: 'capabilityToken' });
|
|
41
|
-
}
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The default {@link MutationExecutor}. It sends each change as a `commit`
|
|
3
|
-
* frame over the sync engine's own WebSocket, resolving that socket lazily at
|
|
4
|
-
* commit time because it does not exist yet when the executor is created. A
|
|
5
|
-
* client wires this up automatically unless you supply your own executor.
|
|
6
|
-
*/
|
|
7
|
-
import type { ReadDependency, TrackDependency } from '../transaction/coordination/schema.js';
|
|
8
|
-
import type { MutationExecutor, MutationOperation } from '../interfaces/index.js';
|
|
9
|
-
import type { CommitAck } from '../sync/commitFrames.js';
|
|
10
|
-
/**
|
|
11
|
-
* Creates the default mutation executor, which sends each change as a `commit`
|
|
12
|
-
* frame over the sync engine's own WebSocket. The engine owns its socket, so
|
|
13
|
-
* you pass a URL and credentials rather than transport callbacks.
|
|
14
|
-
*
|
|
15
|
-
* The factory takes a `getWs` accessor instead of a socket directly because the
|
|
16
|
-
* socket is created later during client startup and does not exist yet when
|
|
17
|
-
* this executor is constructed. The accessor is called at commit time to reach
|
|
18
|
-
* the ready socket.
|
|
19
|
-
*
|
|
20
|
-
* When set, `options.idempotencyKey` is sent as the wire-level `clientTxId`, so
|
|
21
|
-
* retrying a call with the same key is safe. MutationQueue always supplies
|
|
22
|
-
* this key before its first attempt and owns reuse across retries. The fallback
|
|
23
|
-
* generation below exists only for direct, one-shot executor consumers.
|
|
24
|
-
*/
|
|
25
|
-
export declare function createDefaultMutationExecutor(getWs: () => {
|
|
26
|
-
sendCommit?: (operations: readonly MutationOperation[], clientTxId: string, timeoutMs?: number, reads?: readonly ReadDependency[] | null, track?: readonly TrackDependency[] | null) => Promise<CommitAck>;
|
|
27
|
-
} | null): MutationExecutor;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The default {@link MutationExecutor}. It sends each change as a `commit`
|
|
3
|
-
* frame over the sync engine's own WebSocket, resolving that socket lazily at
|
|
4
|
-
* commit time because it does not exist yet when the executor is created. A
|
|
5
|
-
* client wires this up automatically unless you supply your own executor.
|
|
6
|
-
*/
|
|
7
|
-
import { AbloError, AbloConnectionError } from '../transaction/errors.js';
|
|
8
|
-
// ── Default mutation executor (wire: `commit` frame over WebSocket) ──────
|
|
9
|
-
/**
|
|
10
|
-
* Creates the default mutation executor, which sends each change as a `commit`
|
|
11
|
-
* frame over the sync engine's own WebSocket. The engine owns its socket, so
|
|
12
|
-
* you pass a URL and credentials rather than transport callbacks.
|
|
13
|
-
*
|
|
14
|
-
* The factory takes a `getWs` accessor instead of a socket directly because the
|
|
15
|
-
* socket is created later during client startup and does not exist yet when
|
|
16
|
-
* this executor is constructed. The accessor is called at commit time to reach
|
|
17
|
-
* the ready socket.
|
|
18
|
-
*
|
|
19
|
-
* When set, `options.idempotencyKey` is sent as the wire-level `clientTxId`, so
|
|
20
|
-
* retrying a call with the same key is safe. MutationQueue always supplies
|
|
21
|
-
* this key before its first attempt and owns reuse across retries. The fallback
|
|
22
|
-
* generation below exists only for direct, one-shot executor consumers.
|
|
23
|
-
*/
|
|
24
|
-
export function createDefaultMutationExecutor(getWs) {
|
|
25
|
-
async function commit(operations, options) {
|
|
26
|
-
const ws = getWs();
|
|
27
|
-
if (!ws?.sendCommit) {
|
|
28
|
-
throw new AbloConnectionError('SyncWebSocket not ready for commit. The engine must finish bootstrap ' +
|
|
29
|
-
'before mutations can be sent.', { code: 'ws_not_ready' });
|
|
30
|
-
}
|
|
31
|
-
const clientTxId = options?.idempotencyKey ??
|
|
32
|
-
(typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'
|
|
33
|
-
? crypto.randomUUID()
|
|
34
|
-
: `tx_${Date.now()}_${Math.random().toString(36).slice(2, 10)}`);
|
|
35
|
-
try {
|
|
36
|
-
return await ws.sendCommit(operations, clientTxId, undefined, // use sendCommit's built-in 15s default; no per-call override
|
|
37
|
-
options?.reads, options?.track);
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
// Wrap transport-level failures as connection errors so the transaction
|
|
41
|
-
// queue's retry classifier treats them as transient and retries them.
|
|
42
|
-
if (err instanceof AbloError)
|
|
43
|
-
throw err;
|
|
44
|
-
if (err instanceof Error) {
|
|
45
|
-
if (/not connected|timed out|connection|ECONN/i.test(err.message)) {
|
|
46
|
-
const wrapped = new AbloConnectionError(err.message, { cause: err });
|
|
47
|
-
// Preserve any `diagnostics` snapshot the underlying SyncWebSocket
|
|
48
|
-
// attached to the rejection. Without this, the wrapped error
|
|
49
|
-
// bottoms out at "AbloConnectionError: not connected" with no
|
|
50
|
-
// attribution to which close code / heartbeat trip / session
|
|
51
|
-
// error caused it. See SyncWebSocket.notConnectedError().
|
|
52
|
-
if (err &&
|
|
53
|
-
typeof err === 'object' &&
|
|
54
|
-
'diagnostics' in err &&
|
|
55
|
-
err.diagnostics) {
|
|
56
|
-
wrapped.diagnostics = err.diagnostics;
|
|
57
|
-
}
|
|
58
|
-
throw wrapped;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
throw err;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
commit,
|
|
66
|
-
executeCreate: (model, id, input, _txId, options) => commit([{ type: 'CREATE', model: model.toLowerCase(), id, input }], options).then(() => { }),
|
|
67
|
-
executeUpdate: (model, id, data, _txId, options) => commit([{ type: 'UPDATE', model: model.toLowerCase(), id, input: data }], options),
|
|
68
|
-
executeDelete: (model, id, _txId, options) => commit([{ type: 'DELETE', model: model.toLowerCase(), id }], options).then(() => { }),
|
|
69
|
-
executeArchive: (model, id, _txId, options) => commit([{ type: 'ARCHIVE', model: model.toLowerCase(), id }], options).then(() => { }),
|
|
70
|
-
executeUnarchive: (model, id, _txId, options) => commit([{ type: 'UNARCHIVE', model: model.toLowerCase(), id }], options).then(() => { }),
|
|
71
|
-
};
|
|
72
|
-
}
|
package/dist/context.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Module-level accessor for the sync engine's runtime context.
|
|
3
|
-
*
|
|
4
|
-
* The context is set once, during initialization, by {@link initRuntime}.
|
|
5
|
-
* Code throughout the package reaches its shared dependencies — logger,
|
|
6
|
-
* observability, online-status detector, configuration, and the mutation
|
|
7
|
-
* executor — through {@link getContext} instead of receiving them through every
|
|
8
|
-
* constructor.
|
|
9
|
-
*/
|
|
10
|
-
import type { RuntimeContext } from './RuntimeContext.js';
|
|
11
|
-
/**
|
|
12
|
-
* Install the caller-provided runtime dependencies. Must be called before any
|
|
13
|
-
* operation that reaches {@link getContext}.
|
|
14
|
-
*/
|
|
15
|
-
export declare function initRuntime(context: RuntimeContext): void;
|
|
16
|
-
/**
|
|
17
|
-
* Get the current sync engine context.
|
|
18
|
-
* Returns a safe fallback with no-op implementations if not yet initialized,
|
|
19
|
-
* so SDK files can import at module load time without crashing.
|
|
20
|
-
*/
|
|
21
|
-
export declare function getContext(): RuntimeContext;
|
|
22
|
-
/**
|
|
23
|
-
* Check if the sync engine has been initialized.
|
|
24
|
-
*/
|
|
25
|
-
export declare function isRuntimeInitialized(): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Reset context (for testing or cleanup).
|
|
28
|
-
*/
|
|
29
|
-
export declare function resetRuntime(): void;
|
package/dist/context.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Module-level accessor for the sync engine's runtime context.
|
|
3
|
-
*
|
|
4
|
-
* The context is set once, during initialization, by {@link initRuntime}.
|
|
5
|
-
* Code throughout the package reaches its shared dependencies — logger,
|
|
6
|
-
* observability, online-status detector, configuration, and the mutation
|
|
7
|
-
* executor — through {@link getContext} instead of receiving them through every
|
|
8
|
-
* constructor.
|
|
9
|
-
*/
|
|
10
|
-
import { noopLogger, noopObservability, browserOnlineStatus, defaultSessionErrorDetector, emptyConfig, } from './RuntimeContext.js';
|
|
11
|
-
let _context = null;
|
|
12
|
-
/**
|
|
13
|
-
* Install the caller-provided runtime dependencies. Must be called before any
|
|
14
|
-
* operation that reaches {@link getContext}.
|
|
15
|
-
*/
|
|
16
|
-
export function initRuntime(context) {
|
|
17
|
-
_context = context;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Get the current sync engine context.
|
|
21
|
-
* Returns a safe fallback with no-op implementations if not yet initialized,
|
|
22
|
-
* so SDK files can import at module load time without crashing.
|
|
23
|
-
*/
|
|
24
|
-
export function getContext() {
|
|
25
|
-
if (!_context) {
|
|
26
|
-
return _fallback;
|
|
27
|
-
}
|
|
28
|
-
return _context;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Check if the sync engine has been initialized.
|
|
32
|
-
*/
|
|
33
|
-
export function isRuntimeInitialized() {
|
|
34
|
-
return _context !== null;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Reset context (for testing or cleanup).
|
|
38
|
-
*/
|
|
39
|
-
export function resetRuntime() {
|
|
40
|
-
_context = null;
|
|
41
|
-
}
|
|
42
|
-
/** Fallback context with no-op implementations */
|
|
43
|
-
const _fallback = {
|
|
44
|
-
logger: noopLogger,
|
|
45
|
-
observability: noopObservability,
|
|
46
|
-
onlineStatus: browserOnlineStatus,
|
|
47
|
-
sessionErrorDetector: defaultSessionErrorDetector,
|
|
48
|
-
config: emptyConfig,
|
|
49
|
-
getModelMetadata: () => undefined,
|
|
50
|
-
mutationExecutor: {
|
|
51
|
-
commit: () => Promise.resolve({ lastSyncId: 0, status: 'confirmed' }),
|
|
52
|
-
executeCreate: () => Promise.resolve(),
|
|
53
|
-
executeUpdate: () => Promise.resolve(null),
|
|
54
|
-
executeDelete: () => Promise.resolve(),
|
|
55
|
-
executeArchive: () => Promise.resolve(),
|
|
56
|
-
executeUnarchive: () => Promise.resolve(),
|
|
57
|
-
},
|
|
58
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync-engine compatibility adapter for the transaction layer's narrow claim
|
|
3
|
-
* log. The core log knows only claim/conflict events; this subclass supplies
|
|
4
|
-
* inert implementations for the client lifecycle hooks required by
|
|
5
|
-
* `ObservabilityProvider`, preserving `Ablo({ observability: new ClaimLog() })`
|
|
6
|
-
* without leaking bootstrap, storage, or WebSocket vocabulary into the core.
|
|
7
|
-
*/
|
|
8
|
-
import { ClaimLog as CoordinationClaimLog } from '../transaction/coordination/trace.js';
|
|
9
|
-
import type { ObservabilityProvider } from '../interfaces/index.js';
|
|
10
|
-
export { formatClaim, formatConflict } from '../transaction/coordination/trace.js';
|
|
11
|
-
export type { ClaimLogEntry } from '../transaction/coordination/trace.js';
|
|
12
|
-
export declare class ClaimLog extends CoordinationClaimLog implements ObservabilityProvider {
|
|
13
|
-
setContext(): void;
|
|
14
|
-
setConnectionState(): void;
|
|
15
|
-
breadcrumb(): void;
|
|
16
|
-
captureRollback(): void;
|
|
17
|
-
captureMutationFailure(): void;
|
|
18
|
-
captureBootstrapFailure(): void;
|
|
19
|
-
captureReconciliation(): void;
|
|
20
|
-
captureDeltaRetryExhausted(): void;
|
|
21
|
-
captureWebSocketError(): void;
|
|
22
|
-
captureSelfHealing(): void;
|
|
23
|
-
captureCommitZeroSyncId(): void;
|
|
24
|
-
startSpan<T>(_name: string, _op: string, fn: () => T): T;
|
|
25
|
-
startSpanAsync<T>(_name: string, _op: string, fn: () => Promise<T>): Promise<T>;
|
|
26
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sync-engine compatibility adapter for the transaction layer's narrow claim
|
|
3
|
-
* log. The core log knows only claim/conflict events; this subclass supplies
|
|
4
|
-
* inert implementations for the client lifecycle hooks required by
|
|
5
|
-
* `ObservabilityProvider`, preserving `Ablo({ observability: new ClaimLog() })`
|
|
6
|
-
* without leaking bootstrap, storage, or WebSocket vocabulary into the core.
|
|
7
|
-
*/
|
|
8
|
-
import { ClaimLog as CoordinationClaimLog } from '../transaction/coordination/trace.js';
|
|
9
|
-
export { formatClaim, formatConflict } from '../transaction/coordination/trace.js';
|
|
10
|
-
export class ClaimLog extends CoordinationClaimLog {
|
|
11
|
-
// Client-lifecycle hooks the claim log has no notion of. Every body below is
|
|
12
|
-
// deliberately inert: the log records claims and conflicts, nothing else.
|
|
13
|
-
setContext() { }
|
|
14
|
-
setConnectionState() { }
|
|
15
|
-
breadcrumb() { }
|
|
16
|
-
captureRollback() { }
|
|
17
|
-
captureMutationFailure() { }
|
|
18
|
-
captureBootstrapFailure() { }
|
|
19
|
-
captureReconciliation() { }
|
|
20
|
-
captureDeltaRetryExhausted() { }
|
|
21
|
-
captureWebSocketError() { }
|
|
22
|
-
captureSelfHealing() { }
|
|
23
|
-
captureCommitZeroSyncId() { }
|
|
24
|
-
// Spans run their body untimed; the trailing `attributes` argument callers
|
|
25
|
-
// pass has nowhere to go here, so it is left off the signature.
|
|
26
|
-
startSpan(_name, _op, fn) {
|
|
27
|
-
return fn();
|
|
28
|
-
}
|
|
29
|
-
startSpanAsync(_name, _op, fn) {
|
|
30
|
-
return fn();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from '../transaction/coordination/index.js';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Moved to @ablo/transaction (ADR 0013 — the settlement core extraction).
|
|
2
|
-
// This shim re-exports it at the original path so in-package importers of
|
|
3
|
-
// `coordination/index.js` keep working; rewire to `@ablo/transaction/coordination`
|
|
4
|
-
// and delete this shim once the core package is fully wired.
|
|
5
|
-
//
|
|
6
|
-
// Line comments on purpose: tsc copies a leading JSDoc block into the
|
|
7
|
-
// published `.d.ts`, and this note names a package npm has never heard of.
|
|
8
|
-
export * from '../transaction/coordination/index.js';
|