@moltzap/client 2026.812.0 → 2026.902.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/LICENSE +202 -21
- package/NOTICE +19 -0
- package/README.md +50 -0
- package/bin/moltzapd +9 -0
- package/dist/client-runtime.d.ts +10 -0
- package/dist/client-runtime.d.ts.map +1 -0
- package/dist/client-runtime.js +218 -0
- package/dist/client-runtime.js.map +1 -0
- package/dist/contract.d.ts +338 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +213 -0
- package/dist/contract.js.map +1 -0
- package/dist/contract.types-check.d.ts +99 -0
- package/dist/contract.types-check.d.ts.map +1 -0
- package/dist/contract.types-check.js +7 -0
- package/dist/contract.types-check.js.map +1 -0
- package/dist/daemon/configuration.d.ts +46 -0
- package/dist/daemon/configuration.d.ts.map +1 -0
- package/dist/daemon/configuration.js +69 -0
- package/dist/daemon/configuration.js.map +1 -0
- package/dist/daemon/management.d.ts +23 -0
- package/dist/daemon/management.d.ts.map +1 -0
- package/dist/daemon/management.js +489 -0
- package/dist/daemon/management.js.map +1 -0
- package/dist/daemon/registration.d.ts +72 -0
- package/dist/daemon/registration.d.ts.map +1 -0
- package/dist/daemon/registration.js +109 -0
- package/dist/daemon/registration.js.map +1 -0
- package/dist/daemon/runtime/activation.d.ts +95 -0
- package/dist/daemon/runtime/activation.d.ts.map +1 -0
- package/dist/daemon/runtime/activation.js +99 -0
- package/dist/daemon/runtime/activation.js.map +1 -0
- package/dist/daemon/runtime/controller.d.ts +34 -0
- package/dist/daemon/runtime/controller.d.ts.map +1 -0
- package/dist/daemon/runtime/controller.js +106 -0
- package/dist/daemon/runtime/controller.js.map +1 -0
- package/dist/daemon/runtime/history-export.d.ts +23 -0
- package/dist/daemon/runtime/history-export.d.ts.map +1 -0
- package/dist/daemon/runtime/history-export.js +47 -0
- package/dist/daemon/runtime/history-export.js.map +1 -0
- package/dist/daemon/runtime/index.d.ts +24 -0
- package/dist/daemon/runtime/index.d.ts.map +1 -0
- package/dist/daemon/runtime/index.js +65 -0
- package/dist/daemon/runtime/index.js.map +1 -0
- package/dist/daemon/runtime/protocol.d.ts +63 -0
- package/dist/daemon/runtime/protocol.d.ts.map +1 -0
- package/dist/daemon/runtime/protocol.js +133 -0
- package/dist/daemon/runtime/protocol.js.map +1 -0
- package/dist/endpoint/addressing/index.d.ts +39 -0
- package/dist/endpoint/addressing/index.d.ts.map +1 -0
- package/dist/endpoint/addressing/index.js +114 -0
- package/dist/endpoint/addressing/index.js.map +1 -0
- package/dist/endpoint/engine-dissemination.d.ts +11 -0
- package/dist/endpoint/engine-dissemination.d.ts.map +1 -0
- package/dist/endpoint/engine-dissemination.js +71 -0
- package/dist/endpoint/engine-dissemination.js.map +1 -0
- package/dist/endpoint/engine-durability.d.ts +69 -0
- package/dist/endpoint/engine-durability.d.ts.map +1 -0
- package/dist/endpoint/engine-durability.js +210 -0
- package/dist/endpoint/engine-durability.js.map +1 -0
- package/dist/endpoint/engine-send.d.ts +50 -0
- package/dist/endpoint/engine-send.d.ts.map +1 -0
- package/dist/endpoint/engine-send.js +422 -0
- package/dist/endpoint/engine-send.js.map +1 -0
- package/dist/endpoint/engine-types.d.ts +132 -0
- package/dist/endpoint/engine-types.d.ts.map +1 -0
- package/dist/endpoint/engine-types.js +13 -0
- package/dist/endpoint/engine-types.js.map +1 -0
- package/dist/endpoint/engine.d.ts +14 -0
- package/dist/endpoint/engine.d.ts.map +1 -0
- package/dist/endpoint/engine.js +280 -0
- package/dist/endpoint/engine.js.map +1 -0
- package/dist/endpoint/protocol/evidence.d.ts +37 -0
- package/dist/endpoint/protocol/evidence.d.ts.map +1 -0
- package/dist/endpoint/protocol/evidence.js +80 -0
- package/dist/endpoint/protocol/evidence.js.map +1 -0
- package/dist/endpoint/protocol/index.d.ts +26 -0
- package/dist/endpoint/protocol/index.d.ts.map +1 -0
- package/dist/endpoint/protocol/index.js +543 -0
- package/dist/endpoint/protocol/index.js.map +1 -0
- package/dist/endpoint/recovery/barrier.d.ts +23 -0
- package/dist/endpoint/recovery/barrier.d.ts.map +1 -0
- package/dist/endpoint/recovery/barrier.js +47 -0
- package/dist/endpoint/recovery/barrier.js.map +1 -0
- package/dist/endpoint/recovery/index.d.ts +29 -0
- package/dist/endpoint/recovery/index.d.ts.map +1 -0
- package/dist/endpoint/recovery/index.js +489 -0
- package/dist/endpoint/recovery/index.js.map +1 -0
- package/dist/endpoint/recovery/reanchor/empty.d.ts +22 -0
- package/dist/endpoint/recovery/reanchor/empty.d.ts.map +1 -0
- package/dist/endpoint/recovery/reanchor/empty.js +163 -0
- package/dist/endpoint/recovery/reanchor/empty.js.map +1 -0
- package/dist/endpoint/recovery/reanchor/index.d.ts +30 -0
- package/dist/endpoint/recovery/reanchor/index.d.ts.map +1 -0
- package/dist/endpoint/recovery/reanchor/index.js +479 -0
- package/dist/endpoint/recovery/reanchor/index.js.map +1 -0
- package/dist/endpoint/recovery/state.d.ts +130 -0
- package/dist/endpoint/recovery/state.d.ts.map +1 -0
- package/dist/endpoint/recovery/state.js +296 -0
- package/dist/endpoint/recovery/state.js.map +1 -0
- package/dist/endpoint/recovery/store-evidence.d.ts +17 -0
- package/dist/endpoint/recovery/store-evidence.d.ts.map +1 -0
- package/dist/endpoint/recovery/store-evidence.js +79 -0
- package/dist/endpoint/recovery/store-evidence.js.map +1 -0
- package/dist/endpoint/recovery/store.d.ts +56 -0
- package/dist/endpoint/recovery/store.d.ts.map +1 -0
- package/dist/endpoint/recovery/store.js +499 -0
- package/dist/endpoint/recovery/store.js.map +1 -0
- package/dist/endpoint/representation-canonical.d.ts +17 -0
- package/dist/endpoint/representation-canonical.d.ts.map +1 -0
- package/dist/endpoint/representation-canonical.js +48 -0
- package/dist/endpoint/representation-canonical.js.map +1 -0
- package/dist/endpoint/representation-codec.d.ts +51 -0
- package/dist/endpoint/representation-codec.d.ts.map +1 -0
- package/dist/endpoint/representation-codec.js +159 -0
- package/dist/endpoint/representation-codec.js.map +1 -0
- package/dist/endpoint/representation-schemas.d.ts +1831 -0
- package/dist/endpoint/representation-schemas.d.ts.map +1 -0
- package/dist/endpoint/representation-schemas.js +195 -0
- package/dist/endpoint/representation-schemas.js.map +1 -0
- package/dist/endpoint/representation-verification.d.ts +79 -0
- package/dist/endpoint/representation-verification.d.ts.map +1 -0
- package/dist/endpoint/representation-verification.js +420 -0
- package/dist/endpoint/representation-verification.js.map +1 -0
- package/dist/endpoint/representation.d.ts +6 -0
- package/dist/endpoint/representation.d.ts.map +1 -0
- package/dist/endpoint/representation.js +8 -0
- package/dist/endpoint/representation.js.map +1 -0
- package/dist/endpoint/router-worker/index.d.ts +16 -0
- package/dist/endpoint/router-worker/index.d.ts.map +1 -0
- package/dist/endpoint/router-worker/index.js +547 -0
- package/dist/endpoint/router-worker/index.js.map +1 -0
- package/dist/endpoint/router-worker/types.d.ts +183 -0
- package/dist/endpoint/router-worker/types.d.ts.map +1 -0
- package/dist/endpoint/router-worker/types.js +31 -0
- package/dist/endpoint/router-worker/types.js.map +1 -0
- package/dist/endpoint/store/anchors.d.ts +83 -0
- package/dist/endpoint/store/anchors.d.ts.map +1 -0
- package/dist/endpoint/store/anchors.js +471 -0
- package/dist/endpoint/store/anchors.js.map +1 -0
- package/dist/endpoint/store/database/index.d.ts +6 -0
- package/dist/endpoint/store/database/index.d.ts.map +1 -0
- package/dist/endpoint/store/database/index.js +6 -0
- package/dist/endpoint/store/database/index.js.map +1 -0
- package/dist/endpoint/store/database/schema.d.ts +44 -0
- package/dist/endpoint/store/database/schema.d.ts.map +1 -0
- package/dist/endpoint/store/database/schema.js +345 -0
- package/dist/endpoint/store/database/schema.js.map +1 -0
- package/dist/endpoint/store/database/values.d.ts +119 -0
- package/dist/endpoint/store/database/values.d.ts.map +1 -0
- package/dist/endpoint/store/database/values.js +194 -0
- package/dist/endpoint/store/database/values.js.map +1 -0
- package/dist/endpoint/store/deliveries.d.ts +38 -0
- package/dist/endpoint/store/deliveries.d.ts.map +1 -0
- package/dist/endpoint/store/deliveries.js +124 -0
- package/dist/endpoint/store/deliveries.js.map +1 -0
- package/dist/endpoint/store/dissemination.d.ts +27 -0
- package/dist/endpoint/store/dissemination.d.ts.map +1 -0
- package/dist/endpoint/store/dissemination.js +139 -0
- package/dist/endpoint/store/dissemination.js.map +1 -0
- package/dist/endpoint/store/index.d.ts +15 -0
- package/dist/endpoint/store/index.d.ts.map +1 -0
- package/dist/endpoint/store/index.js +76 -0
- package/dist/endpoint/store/index.js.map +1 -0
- package/dist/endpoint/store/management.d.ts +42 -0
- package/dist/endpoint/store/management.d.ts.map +1 -0
- package/dist/endpoint/store/management.js +259 -0
- package/dist/endpoint/store/management.js.map +1 -0
- package/dist/endpoint/store/outbound.d.ts +62 -0
- package/dist/endpoint/store/outbound.d.ts.map +1 -0
- package/dist/endpoint/store/outbound.js +278 -0
- package/dist/endpoint/store/outbound.js.map +1 -0
- package/dist/endpoint/store/records.d.ts +56 -0
- package/dist/endpoint/store/records.d.ts.map +1 -0
- package/dist/endpoint/store/records.js +352 -0
- package/dist/endpoint/store/records.js.map +1 -0
- package/dist/endpoint/store/rows/index.d.ts +138 -0
- package/dist/endpoint/store/rows/index.d.ts.map +1 -0
- package/dist/endpoint/store/rows/index.js +307 -0
- package/dist/endpoint/store/rows/index.js.map +1 -0
- package/dist/endpoint/store/types.d.ts +223 -0
- package/dist/endpoint/store/types.d.ts.map +1 -0
- package/dist/endpoint/store/types.js +15 -0
- package/dist/endpoint/store/types.js.map +1 -0
- package/dist/endpoint/store.d.ts +10 -0
- package/dist/endpoint/store.d.ts.map +1 -0
- package/dist/endpoint/store.js +6 -0
- package/dist/endpoint/store.js.map +1 -0
- package/dist/harness-mcp-contract.d.ts +101 -0
- package/dist/harness-mcp-contract.d.ts.map +1 -0
- package/dist/harness-mcp-contract.js +61 -0
- package/dist/harness-mcp-contract.js.map +1 -0
- package/dist/{harness-mcp-server.d.ts → harness-mcp-http.d.ts} +9 -8
- package/dist/harness-mcp-http.d.ts.map +1 -0
- package/dist/{harness-mcp-server.js → harness-mcp-http.js} +38 -60
- package/dist/harness-mcp-http.js.map +1 -0
- package/dist/harness-mcp-subscription.d.ts +12 -7
- package/dist/harness-mcp-subscription.d.ts.map +1 -1
- package/dist/harness-mcp-subscription.js +113 -100
- package/dist/harness-mcp-subscription.js.map +1 -1
- package/dist/harness-mcp-wire.d.ts +24 -49
- package/dist/harness-mcp-wire.d.ts.map +1 -1
- package/dist/harness-mcp-wire.js +381 -124
- package/dist/harness-mcp-wire.js.map +1 -1
- package/dist/index.d.ts +4 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -10
- package/dist/index.js.map +1 -1
- package/dist/management-runtime.d.ts +217 -0
- package/dist/management-runtime.d.ts.map +1 -0
- package/dist/management-runtime.js +127 -0
- package/dist/management-runtime.js.map +1 -0
- package/dist/server.d.ts +16 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +46 -0
- package/dist/server.js.map +1 -0
- package/dist/server.types-check.d.ts +23 -0
- package/dist/server.types-check.d.ts.map +1 -0
- package/dist/server.types-check.js +7 -0
- package/dist/server.types-check.js.map +1 -0
- package/package.json +24 -52
- package/dist/agent-client.d.ts +0 -5
- package/dist/agent-client.d.ts.map +0 -1
- package/dist/agent-client.js +0 -3
- package/dist/agent-client.js.map +0 -1
- package/dist/auth.d.ts +0 -37
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -79
- package/dist/auth.js.map +0 -1
- package/dist/bounded-map.d.ts +0 -32
- package/dist/bounded-map.d.ts.map +0 -1
- package/dist/bounded-map.js +0 -79
- package/dist/bounded-map.js.map +0 -1
- package/dist/channel-base/format-cross-conv.d.ts +0 -43
- package/dist/channel-base/format-cross-conv.d.ts.map +0 -1
- package/dist/channel-base/format-cross-conv.js +0 -65
- package/dist/channel-base/format-cross-conv.js.map +0 -1
- package/dist/channel-base/format-group-block.d.ts +0 -48
- package/dist/channel-base/format-group-block.d.ts.map +0 -1
- package/dist/channel-base/format-group-block.js +0 -62
- package/dist/channel-base/format-group-block.js.map +0 -1
- package/dist/channel-base/index.d.ts +0 -12
- package/dist/channel-base/index.d.ts.map +0 -1
- package/dist/channel-base/index.js +0 -16
- package/dist/channel-base/index.js.map +0 -1
- package/dist/channel-core-enrichment.d.ts +0 -38
- package/dist/channel-core-enrichment.d.ts.map +0 -1
- package/dist/channel-core-enrichment.js +0 -217
- package/dist/channel-core-enrichment.js.map +0 -1
- package/dist/channel-core-test-support.d.ts +0 -75
- package/dist/channel-core-test-support.d.ts.map +0 -1
- package/dist/channel-core-test-support.js +0 -74
- package/dist/channel-core-test-support.js.map +0 -1
- package/dist/channel-core.d.ts +0 -306
- package/dist/channel-core.d.ts.map +0 -1
- package/dist/channel-core.js +0 -365
- package/dist/channel-core.js.map +0 -1
- package/dist/config.d.ts +0 -33
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -51
- package/dist/config.js.map +0 -1
- package/dist/config.test-utils.d.ts +0 -24
- package/dist/config.test-utils.d.ts.map +0 -1
- package/dist/config.test-utils.js +0 -57
- package/dist/config.test-utils.js.map +0 -1
- package/dist/harness/client-runtime.d.ts +0 -31
- package/dist/harness/client-runtime.d.ts.map +0 -1
- package/dist/harness/client-runtime.js +0 -121
- package/dist/harness/client-runtime.js.map +0 -1
- package/dist/harness/index.d.ts +0 -5
- package/dist/harness/index.d.ts.map +0 -1
- package/dist/harness/index.js +0 -5
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/runtime.d.ts +0 -301
- package/dist/harness/runtime.d.ts.map +0 -1
- package/dist/harness/runtime.js +0 -165
- package/dist/harness/runtime.js.map +0 -1
- package/dist/harness-client.d.ts +0 -47
- package/dist/harness-client.d.ts.map +0 -1
- package/dist/harness-client.js +0 -76
- package/dist/harness-client.js.map +0 -1
- package/dist/harness-context-projection.d.ts +0 -35
- package/dist/harness-context-projection.d.ts.map +0 -1
- package/dist/harness-context-projection.js +0 -123
- package/dist/harness-context-projection.js.map +0 -1
- package/dist/harness-mcp-server.d.ts.map +0 -1
- package/dist/harness-mcp-server.js.map +0 -1
- package/dist/local-paths.d.ts +0 -11
- package/dist/local-paths.d.ts.map +0 -1
- package/dist/local-paths.js +0 -21
- package/dist/local-paths.js.map +0 -1
- package/dist/message-rendering.d.ts +0 -4
- package/dist/message-rendering.d.ts.map +0 -1
- package/dist/message-rendering.js +0 -8
- package/dist/message-rendering.js.map +0 -1
- package/dist/moltzapd-catalog.d.ts +0 -35
- package/dist/moltzapd-catalog.d.ts.map +0 -1
- package/dist/moltzapd-catalog.js +0 -117
- package/dist/moltzapd-catalog.js.map +0 -1
- package/dist/moltzapd-child-ipc.d.ts +0 -26
- package/dist/moltzapd-child-ipc.d.ts.map +0 -1
- package/dist/moltzapd-child-ipc.js +0 -31
- package/dist/moltzapd-child-ipc.js.map +0 -1
- package/dist/moltzapd-child.d.ts +0 -55
- package/dist/moltzapd-child.d.ts.map +0 -1
- package/dist/moltzapd-child.js +0 -225
- package/dist/moltzapd-child.js.map +0 -1
- package/dist/moltzapd-main.d.ts +0 -3
- package/dist/moltzapd-main.d.ts.map +0 -1
- package/dist/moltzapd-main.js +0 -18
- package/dist/moltzapd-main.js.map +0 -1
- package/dist/moltzapd-registration.d.ts +0 -40
- package/dist/moltzapd-registration.d.ts.map +0 -1
- package/dist/moltzapd-registration.js +0 -59
- package/dist/moltzapd-registration.js.map +0 -1
- package/dist/moltzapd.d.ts +0 -85
- package/dist/moltzapd.d.ts.map +0 -1
- package/dist/moltzapd.js +0 -150
- package/dist/moltzapd.js.map +0 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +0 -53
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +0 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.js +0 -29
- package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +0 -1
- package/dist/notification/errors.d.ts +0 -41
- package/dist/notification/errors.d.ts.map +0 -1
- package/dist/notification/errors.js +0 -24
- package/dist/notification/errors.js.map +0 -1
- package/dist/notification/index.d.ts +0 -6
- package/dist/notification/index.d.ts.map +0 -1
- package/dist/notification/index.js +0 -6
- package/dist/notification/index.js.map +0 -1
- package/dist/notification/stream.d.ts +0 -75
- package/dist/notification/stream.d.ts.map +0 -1
- package/dist/notification/stream.js +0 -30
- package/dist/notification/stream.js.map +0 -1
- package/dist/notification/trace.d.ts +0 -10
- package/dist/notification/trace.d.ts.map +0 -1
- package/dist/notification/trace.js +0 -34
- package/dist/notification/trace.js.map +0 -1
- package/dist/pagination.d.ts +0 -52
- package/dist/pagination.d.ts.map +0 -1
- package/dist/pagination.js +0 -51
- package/dist/pagination.js.map +0 -1
- package/dist/presentation/index.d.ts +0 -3
- package/dist/presentation/index.d.ts.map +0 -1
- package/dist/presentation/index.js +0 -3
- package/dist/presentation/index.js.map +0 -1
- package/dist/presentation/state.d.ts +0 -77
- package/dist/presentation/state.d.ts.map +0 -1
- package/dist/presentation/state.js +0 -211
- package/dist/presentation/state.js.map +0 -1
- package/dist/profile.d.ts +0 -106
- package/dist/profile.d.ts.map +0 -1
- package/dist/profile.js +0 -171
- package/dist/profile.js.map +0 -1
- package/dist/service-event-trace.d.ts +0 -15
- package/dist/service-event-trace.d.ts.map +0 -1
- package/dist/service-event-trace.js +0 -35
- package/dist/service-event-trace.js.map +0 -1
- package/dist/service.d.ts +0 -228
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -485
- package/dist/service.js.map +0 -1
- package/dist/test-utils/channel-service-fixture.d.ts +0 -53
- package/dist/test-utils/channel-service-fixture.d.ts.map +0 -1
- package/dist/test-utils/channel-service-fixture.js +0 -178
- package/dist/test-utils/channel-service-fixture.js.map +0 -1
- package/dist/test-utils/fake-service.d.ts +0 -82
- package/dist/test-utils/fake-service.d.ts.map +0 -1
- package/dist/test-utils/fake-service.js +0 -108
- package/dist/test-utils/fake-service.js.map +0 -1
- package/dist/test-utils/harness.d.ts +0 -27
- package/dist/test-utils/harness.d.ts.map +0 -1
- package/dist/test-utils/harness.js +0 -33
- package/dist/test-utils/harness.js.map +0 -1
- package/dist/test-utils/ids.d.ts +0 -21
- package/dist/test-utils/ids.d.ts.map +0 -1
- package/dist/test-utils/ids.js +0 -68
- package/dist/test-utils/ids.js.map +0 -1
- package/dist/test-utils/index.d.ts +0 -56
- package/dist/test-utils/index.d.ts.map +0 -1
- package/dist/test-utils/index.js +0 -67
- package/dist/test-utils/index.js.map +0 -1
- package/dist/test-utils/process/reserve-port.d.ts +0 -20
- package/dist/test-utils/process/reserve-port.d.ts.map +0 -1
- package/dist/test-utils/process/reserve-port.js +0 -41
- package/dist/test-utils/process/reserve-port.js.map +0 -1
- package/dist/test-utils/standalone-provisioning.d.ts +0 -22
- package/dist/test-utils/standalone-provisioning.d.ts.map +0 -1
- package/dist/test-utils/standalone-provisioning.js +0 -17
- package/dist/test-utils/standalone-provisioning.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/** @file Private Router worker contracts shared by orchestration and transport. */
|
|
2
|
+
import type { AgentId, AgentSigningAuthority, MessageId, SignedMessage, VerifiedAgentCard, VerifiedSignedMessage } from "@moltzap/identity";
|
|
3
|
+
import type { Registry } from "@moltzap/identity/registry";
|
|
4
|
+
import type { PollCursor, Router, RouterInstanceId } from "@moltzap/router";
|
|
5
|
+
import { type Context, type Effect, type SubscriptionRef } from "effect";
|
|
6
|
+
import type { DecodedOuterBody } from "../representation.js";
|
|
7
|
+
import type { EndpointStore } from "../store.js";
|
|
8
|
+
declare const RouterWorkerAuthenticationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
9
|
+
readonly _tag: "RouterWorkerAuthenticationError";
|
|
10
|
+
} & Readonly<A>;
|
|
11
|
+
/** An outer sender card could not be resolved, pinned, or authenticated. */
|
|
12
|
+
export declare class RouterWorkerAuthenticationError extends RouterWorkerAuthenticationError_base {
|
|
13
|
+
}
|
|
14
|
+
declare const RouterWorkerPersistenceError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
15
|
+
readonly _tag: "RouterWorkerPersistenceError";
|
|
16
|
+
} & Readonly<A>;
|
|
17
|
+
/** Endpoint state needed for cursor advancement could not be persisted. */
|
|
18
|
+
export declare class RouterWorkerPersistenceError extends RouterWorkerPersistenceError_base {
|
|
19
|
+
}
|
|
20
|
+
declare const RouterWorkerPayloadInvalidError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
21
|
+
readonly _tag: "RouterWorkerPayloadInvalidError";
|
|
22
|
+
} & Readonly<A>;
|
|
23
|
+
/** An authenticated outer body is not one closed Client protocol value. */
|
|
24
|
+
export declare class RouterWorkerPayloadInvalidError extends RouterWorkerPayloadInvalidError_base {
|
|
25
|
+
}
|
|
26
|
+
declare const RouterWorkerTransportError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
27
|
+
readonly _tag: "RouterWorkerTransportError";
|
|
28
|
+
} & Readonly<A>;
|
|
29
|
+
/** Router communication exhausted its bounded retry allowance. */
|
|
30
|
+
export declare class RouterWorkerTransportError extends RouterWorkerTransportError_base {
|
|
31
|
+
}
|
|
32
|
+
declare const RouterWorkerProtocolError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
33
|
+
readonly _tag: "RouterWorkerProtocolError";
|
|
34
|
+
} & Readonly<A>;
|
|
35
|
+
/** A Router outcome or local envelope violated the private worker contract. */
|
|
36
|
+
export declare class RouterWorkerProtocolError extends RouterWorkerProtocolError_base {
|
|
37
|
+
}
|
|
38
|
+
declare const RouterWorkerRecoveryError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
39
|
+
readonly _tag: "RouterWorkerRecoveryError";
|
|
40
|
+
} & Readonly<A>;
|
|
41
|
+
/** Certified-history recovery did not complete for the current Router tail. */
|
|
42
|
+
export declare class RouterWorkerRecoveryError extends RouterWorkerRecoveryError_base {
|
|
43
|
+
}
|
|
44
|
+
declare const RouterWorkerDiscontinuityError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
45
|
+
readonly _tag: "RouterWorkerDiscontinuityError";
|
|
46
|
+
} & Readonly<A>;
|
|
47
|
+
/** A caller must resume protocol work from the recovered certified position. */
|
|
48
|
+
export declare class RouterWorkerDiscontinuityError extends RouterWorkerDiscontinuityError_base {
|
|
49
|
+
}
|
|
50
|
+
declare const RouterWorkerUnavailableError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
51
|
+
readonly _tag: "RouterWorkerUnavailableError";
|
|
52
|
+
} & Readonly<A>;
|
|
53
|
+
/** A normal send was attempted while certified-history recovery owns the worker. */
|
|
54
|
+
export declare class RouterWorkerUnavailableError extends RouterWorkerUnavailableError_base {
|
|
55
|
+
}
|
|
56
|
+
/** Closed reason for abandoning process-local protocol folds. */
|
|
57
|
+
export type RouterDiscontinuityReason = "feed_gap" | "cursor_invalid" | "router_restarted";
|
|
58
|
+
/** Empty-tail Router position learned from an omitted-cursor poll. */
|
|
59
|
+
export interface RouterTailAnchor {
|
|
60
|
+
readonly routerInstanceId: RouterInstanceId;
|
|
61
|
+
readonly pollCursor: PollCursor;
|
|
62
|
+
}
|
|
63
|
+
/** A verified protocol input either changed durable state or was conclusively irrelevant. */
|
|
64
|
+
export type RouterIngressDisposition = "accepted" | "ignored";
|
|
65
|
+
/** Closed failures returned by initial and recovery sends. */
|
|
66
|
+
export type RouterWorkerSendError = RouterWorkerAuthenticationError | RouterWorkerPersistenceError | RouterWorkerTransportError | RouterWorkerProtocolError | RouterWorkerRecoveryError | RouterWorkerDiscontinuityError | RouterWorkerUnavailableError;
|
|
67
|
+
/** Closed failures returned by one poll/recovery transition. */
|
|
68
|
+
export type RouterWorkerPollError = RouterWorkerAuthenticationError | RouterWorkerPersistenceError | RouterWorkerTransportError | RouterWorkerProtocolError | RouterWorkerRecoveryError | RouterWorkerDiscontinuityError | RouterWorkerUnavailableError;
|
|
69
|
+
/** Verified outer message and its decoded private Client payload. */
|
|
70
|
+
export interface RouterWorkerIngress<Payload> {
|
|
71
|
+
readonly routerInstanceId: RouterInstanceId;
|
|
72
|
+
readonly message: VerifiedSignedMessage;
|
|
73
|
+
readonly senderCard: VerifiedAgentCard;
|
|
74
|
+
readonly payload: Payload;
|
|
75
|
+
}
|
|
76
|
+
/** Discontinuity recovery input after learning the new empty tail. */
|
|
77
|
+
export interface RouterWorkerRecovery {
|
|
78
|
+
readonly reason: RouterDiscontinuityReason;
|
|
79
|
+
readonly anchor: RouterTailAnchor;
|
|
80
|
+
readonly resume: (outboundId: string) => Effect.Effect<void, RouterWorkerSendError>;
|
|
81
|
+
readonly send: (input: RouterWorkerRecoverySend) => Effect.Effect<void, RouterWorkerSendError>;
|
|
82
|
+
}
|
|
83
|
+
/** One recovery-only message before its complete outer envelope is retained. */
|
|
84
|
+
export interface RouterWorkerRecoverySend {
|
|
85
|
+
readonly conversationId: string;
|
|
86
|
+
readonly message: SignedMessage;
|
|
87
|
+
}
|
|
88
|
+
/** Durable operations required by the Router transport and no other worker path. */
|
|
89
|
+
type RouterWorkerOutbox = Pick<EndpointStore, "enqueueOutbound" | "beginOutbound" | "replaceOutbound" | "completeOutbound">;
|
|
90
|
+
/** Private endpoint callbacks around the Router worker's ordering boundary. */
|
|
91
|
+
export interface RouterWorkerCallbacks<Payload = DecodedOuterBody> {
|
|
92
|
+
readonly pinSenderCard: (card: VerifiedAgentCard) => Effect.Effect<void, RouterWorkerPersistenceError>;
|
|
93
|
+
readonly decodePayload: (message: VerifiedSignedMessage) => Effect.Effect<Payload, RouterWorkerPayloadInvalidError>;
|
|
94
|
+
readonly acceptPayload: (input: RouterWorkerIngress<Payload>) => Effect.Effect<RouterIngressDisposition, RouterWorkerPersistenceError>;
|
|
95
|
+
readonly acceptRecoveryPayload: (input: RouterWorkerIngress<Payload>) => Effect.Effect<RouterIngressDisposition, RouterWorkerPersistenceError>;
|
|
96
|
+
readonly abandonVolatileFolds: (reason: RouterDiscontinuityReason) => Effect.Effect<void>;
|
|
97
|
+
readonly recoverCertifiedHistory: (input: RouterWorkerRecovery) => Effect.Effect<void, RouterWorkerRecoveryError | RouterWorkerSendError>;
|
|
98
|
+
}
|
|
99
|
+
/** Focused test seams that retain production postconditions. */
|
|
100
|
+
interface RouterWorkerOverrides {
|
|
101
|
+
readonly verifyOuter?: (input: {
|
|
102
|
+
readonly signedMessage: SignedMessage;
|
|
103
|
+
readonly agentCard: VerifiedAgentCard;
|
|
104
|
+
}) => Effect.Effect<VerifiedSignedMessage, RouterWorkerAuthenticationError>;
|
|
105
|
+
readonly rewrapOuter?: (input: {
|
|
106
|
+
readonly signedMessage: SignedMessage;
|
|
107
|
+
readonly messageId: MessageId;
|
|
108
|
+
}) => Effect.Effect<SignedMessage, RouterWorkerProtocolError>;
|
|
109
|
+
readonly makeMessageId?: () => Effect.Effect<MessageId, RouterWorkerProtocolError>;
|
|
110
|
+
}
|
|
111
|
+
/** Complete private construction input for one registered endpoint. */
|
|
112
|
+
export interface RouterWorkerInput<Payload = DecodedOuterBody> {
|
|
113
|
+
readonly callerAgentId: AgentId;
|
|
114
|
+
readonly callerAgentCard: VerifiedAgentCard;
|
|
115
|
+
/** Durable membership cards available before Registry connectivity. */
|
|
116
|
+
readonly pinnedSenderCards: readonly VerifiedAgentCard[];
|
|
117
|
+
readonly signingAuthority: AgentSigningAuthority;
|
|
118
|
+
readonly outbox: RouterWorkerOutbox;
|
|
119
|
+
readonly callbacks: RouterWorkerCallbacks<Payload>;
|
|
120
|
+
/** Test seams preserve production postconditions and are not process configuration. */
|
|
121
|
+
readonly overrides?: RouterWorkerOverrides;
|
|
122
|
+
}
|
|
123
|
+
/** One endpoint-wide Router worker. */
|
|
124
|
+
export interface RouterWorker {
|
|
125
|
+
readonly currentAnchor: Effect.Effect<RouterTailAnchor, RouterWorkerUnavailableError>;
|
|
126
|
+
/**
|
|
127
|
+
* The active anchor as soon as one exists: the current anchor while the
|
|
128
|
+
* worker is active, otherwise the anchor the next completed recovery
|
|
129
|
+
* publishes. Callers bound the wait; the worker itself never gives up.
|
|
130
|
+
*/
|
|
131
|
+
readonly awaitAnchor: Effect.Effect<RouterTailAnchor>;
|
|
132
|
+
readonly pollOnce: Effect.Effect<void, RouterWorkerPollError>;
|
|
133
|
+
readonly run: Effect.Effect<never, RouterWorkerPollError>;
|
|
134
|
+
readonly send: (outboundId: string) => Effect.Effect<void, RouterWorkerSendError>;
|
|
135
|
+
}
|
|
136
|
+
/** Volatile cursor state for an active Router instance. */
|
|
137
|
+
export interface RouterWorkerActiveState {
|
|
138
|
+
readonly kind: "active";
|
|
139
|
+
readonly generation: number;
|
|
140
|
+
readonly anchor: RouterTailAnchor;
|
|
141
|
+
}
|
|
142
|
+
/** Volatile discontinuity state while certified history is reconciled. */
|
|
143
|
+
export interface RouterWorkerRecoveringState {
|
|
144
|
+
readonly kind: "recovering";
|
|
145
|
+
readonly generation: number;
|
|
146
|
+
readonly reason: RouterDiscontinuityReason;
|
|
147
|
+
readonly priorRouterInstanceId?: RouterInstanceId;
|
|
148
|
+
readonly volatileFoldsAbandoned: boolean;
|
|
149
|
+
readonly anchor?: RouterTailAnchor;
|
|
150
|
+
}
|
|
151
|
+
/** Closed volatile lifecycle of the Router worker. */
|
|
152
|
+
export type RouterWorkerState = RouterWorkerActiveState | RouterWorkerRecoveringState;
|
|
153
|
+
/** Resolved public capabilities consumed by private worker mechanics. */
|
|
154
|
+
export interface RouterWorkerServices {
|
|
155
|
+
readonly router: Context.Tag.Service<typeof Router>;
|
|
156
|
+
readonly registry: Context.Tag.Service<typeof Registry>;
|
|
157
|
+
}
|
|
158
|
+
/** Shared mutable worker runtime, guarded by its three semaphores. */
|
|
159
|
+
export interface RouterWorkerRuntime<Payload> extends RouterWorkerServices {
|
|
160
|
+
readonly input: RouterWorkerInput<Payload>;
|
|
161
|
+
readonly cards: Map<AgentId, VerifiedAgentCard>;
|
|
162
|
+
readonly state: SubscriptionRef.SubscriptionRef<RouterWorkerState>;
|
|
163
|
+
readonly pollGate: Effect.Semaphore;
|
|
164
|
+
readonly stateGate: Effect.Semaphore;
|
|
165
|
+
readonly recoveryGate: Effect.Semaphore;
|
|
166
|
+
}
|
|
167
|
+
/** Outer message with both sender card and signature verified. */
|
|
168
|
+
export interface RouterWorkerVerifiedIngress {
|
|
169
|
+
readonly message: VerifiedSignedMessage;
|
|
170
|
+
readonly senderCard: VerifiedAgentCard;
|
|
171
|
+
}
|
|
172
|
+
/** Router send outcome relevant above transport representation. */
|
|
173
|
+
export type RouterWorkerSendOutcome = Readonly<{
|
|
174
|
+
kind: "accepted";
|
|
175
|
+
}> | Readonly<{
|
|
176
|
+
kind: "restarted";
|
|
177
|
+
}>;
|
|
178
|
+
/** Complete number of attempts for one ambiguous transport operation. */
|
|
179
|
+
export declare const routerWorkerRetryAttempts = 3;
|
|
180
|
+
/** Fixed interruptible spacing between bounded attempts. */
|
|
181
|
+
export declare const routerWorkerRetryDelay = "25 millis";
|
|
182
|
+
export {};
|
|
183
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/endpoint/router-worker/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** @file Private Router worker contracts shared by orchestration and transport. */
|
|
2
|
+
import { Data } from "effect";
|
|
3
|
+
/** An outer sender card could not be resolved, pinned, or authenticated. */
|
|
4
|
+
export class RouterWorkerAuthenticationError extends Data.TaggedError("RouterWorkerAuthenticationError") {
|
|
5
|
+
}
|
|
6
|
+
/** Endpoint state needed for cursor advancement could not be persisted. */
|
|
7
|
+
export class RouterWorkerPersistenceError extends Data.TaggedError("RouterWorkerPersistenceError") {
|
|
8
|
+
}
|
|
9
|
+
/** An authenticated outer body is not one closed Client protocol value. */
|
|
10
|
+
export class RouterWorkerPayloadInvalidError extends Data.TaggedError("RouterWorkerPayloadInvalidError") {
|
|
11
|
+
}
|
|
12
|
+
/** Router communication exhausted its bounded retry allowance. */
|
|
13
|
+
export class RouterWorkerTransportError extends Data.TaggedError("RouterWorkerTransportError") {
|
|
14
|
+
}
|
|
15
|
+
/** A Router outcome or local envelope violated the private worker contract. */
|
|
16
|
+
export class RouterWorkerProtocolError extends Data.TaggedError("RouterWorkerProtocolError") {
|
|
17
|
+
}
|
|
18
|
+
/** Certified-history recovery did not complete for the current Router tail. */
|
|
19
|
+
export class RouterWorkerRecoveryError extends Data.TaggedError("RouterWorkerRecoveryError") {
|
|
20
|
+
}
|
|
21
|
+
/** A caller must resume protocol work from the recovered certified position. */
|
|
22
|
+
export class RouterWorkerDiscontinuityError extends Data.TaggedError("RouterWorkerDiscontinuityError") {
|
|
23
|
+
}
|
|
24
|
+
/** A normal send was attempted while certified-history recovery owns the worker. */
|
|
25
|
+
export class RouterWorkerUnavailableError extends Data.TaggedError("RouterWorkerUnavailableError") {
|
|
26
|
+
}
|
|
27
|
+
/** Complete number of attempts for one ambiguous transport operation. */
|
|
28
|
+
export const routerWorkerRetryAttempts = 3;
|
|
29
|
+
/** Fixed interruptible spacing between bounded attempts. */
|
|
30
|
+
export const routerWorkerRetryDelay = "25 millis";
|
|
31
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/endpoint/router-worker/types.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAYnF,OAAO,EAAgB,IAAI,EAAqC,MAAM,QAAQ,CAAC;AAI/E,4EAA4E;AAC5E,MAAM,OAAO,+BAAgC,SAAQ,IAAI,CAAC,WAAW,CACnE,iCAAiC,CAClC;CAAG;AAEJ,2EAA2E;AAC3E,MAAM,OAAO,4BAA6B,SAAQ,IAAI,CAAC,WAAW,CAChE,8BAA8B,CAC/B;CAAG;AAEJ,2EAA2E;AAC3E,MAAM,OAAO,+BAAgC,SAAQ,IAAI,CAAC,WAAW,CACnE,iCAAiC,CAClC;CAAG;AAEJ,kEAAkE;AAClE,MAAM,OAAO,0BAA2B,SAAQ,IAAI,CAAC,WAAW,CAC9D,4BAA4B,CAC7B;CAAG;AAEJ,+EAA+E;AAC/E,MAAM,OAAO,yBAA0B,SAAQ,IAAI,CAAC,WAAW,CAC7D,2BAA2B,CAC5B;CAAG;AAEJ,+EAA+E;AAC/E,MAAM,OAAO,yBAA0B,SAAQ,IAAI,CAAC,WAAW,CAC7D,2BAA2B,CAC5B;CAAG;AAEJ,gFAAgF;AAChF,MAAM,OAAO,8BAA+B,SAAQ,IAAI,CAAC,WAAW,CAClE,gCAAgC,CACjC;CAAG;AAEJ,oFAAoF;AACpF,MAAM,OAAO,4BAA6B,SAAQ,IAAI,CAAC,WAAW,CAChE,8BAA8B,CAC/B;CAAG;AA4LJ,yEAAyE;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAC3C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/** @file Atomic identity, post-intent, foundation, and Router-anchor transitions. */
|
|
2
|
+
import type { DatabaseSync } from "node:sqlite";
|
|
3
|
+
import type { CompletedReanchor, ConversationFoundation, EmptyConversationRestart, IdentityBinding, PostIntentBinding, ProposalLock, RestartedEmptyConversation, StagedReanchor, StoreMutation } from "./types.js";
|
|
4
|
+
import { readStoredIdentity } from "./rows/index.js";
|
|
5
|
+
/** Singleton identity binding operations. */
|
|
6
|
+
export declare const bindIdentity: Readonly<{
|
|
7
|
+
read: typeof readStoredIdentity;
|
|
8
|
+
write: typeof writeIdentity;
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* Durably binds one author-scoped post to its immutable canonical intent.
|
|
12
|
+
*
|
|
13
|
+
* @param database Exclusively owned endpoint database.
|
|
14
|
+
* @param binding Canonical post recovery identity and optional new foundation.
|
|
15
|
+
* @returns Whether the same binding was inserted or already durable.
|
|
16
|
+
*/
|
|
17
|
+
export declare function bindPostIntent(database: DatabaseSync, binding: PostIntentBinding): StoreMutation;
|
|
18
|
+
/**
|
|
19
|
+
* Atomically persists the immutable membership and genesis Router anchor.
|
|
20
|
+
*
|
|
21
|
+
* @param database Exclusively owned endpoint database.
|
|
22
|
+
* @param foundation Verified immutable conversation foundation.
|
|
23
|
+
* @returns Whether the same foundation was inserted or already durable.
|
|
24
|
+
*/
|
|
25
|
+
export declare function putConversationFoundation(database: DatabaseSync, foundation: ConversationFoundation): StoreMutation;
|
|
26
|
+
/**
|
|
27
|
+
* Commits the first valid Router-ordered action for one predecessor.
|
|
28
|
+
*
|
|
29
|
+
* A caller signs only after this operation succeeds, so an endpoint cannot
|
|
30
|
+
* sign two actions for the same predecessor across crashes or restarts.
|
|
31
|
+
*
|
|
32
|
+
* @param database Exclusively owned endpoint database.
|
|
33
|
+
* @param proposal Verified action core selected in Router order.
|
|
34
|
+
* @returns Whether the lock was inserted or the same lock already existed.
|
|
35
|
+
*/
|
|
36
|
+
export declare function lockProposal(database: DatabaseSync, proposal: ProposalLock): StoreMutation;
|
|
37
|
+
/**
|
|
38
|
+
* Atomically retains a verified GENESIS foundation and its first-candidate lock.
|
|
39
|
+
*
|
|
40
|
+
* @param database Exclusively owned endpoint database.
|
|
41
|
+
* @param foundation Verified immutable membership and Router anchor.
|
|
42
|
+
* @param proposal Verified gap-free GENESIS action selected in Router order.
|
|
43
|
+
* @returns Whether either exact durable component was inserted.
|
|
44
|
+
*/
|
|
45
|
+
export declare function lockGenesisProposal(database: DatabaseSync, foundation: ConversationFoundation, proposal: ProposalLock): StoreMutation;
|
|
46
|
+
/**
|
|
47
|
+
* Replaces an uncommitted conversation's Router-instance foundation.
|
|
48
|
+
*
|
|
49
|
+
* The exact old foundation and empty certified head prevent this cleanup from
|
|
50
|
+
* erasing committed history or a concurrently advanced anchor.
|
|
51
|
+
*
|
|
52
|
+
* @param database Exclusively owned endpoint database.
|
|
53
|
+
* @param restart Expected old and verified replacement genesis foundations.
|
|
54
|
+
* @returns The replacement foundation and immutable retained post intents.
|
|
55
|
+
*/
|
|
56
|
+
export declare function restartEmptyConversation(database: DatabaseSync, restart: EmptyConversationRestart): RestartedEmptyConversation;
|
|
57
|
+
/**
|
|
58
|
+
* Durably stages at most one re-anchor proposal for one Router-instance scope.
|
|
59
|
+
*
|
|
60
|
+
* @param database Exclusively owned endpoint database.
|
|
61
|
+
* @param reanchor Verified proposal body and stable hash.
|
|
62
|
+
* @returns Whether the same proposal was inserted or already durable.
|
|
63
|
+
*/
|
|
64
|
+
export declare function stageReanchor(database: DatabaseSync, reanchor: StagedReanchor): StoreMutation;
|
|
65
|
+
/**
|
|
66
|
+
* Atomically makes a staged threshold-complete Router anchor current.
|
|
67
|
+
*
|
|
68
|
+
* @param database Exclusively owned endpoint database.
|
|
69
|
+
* @param reanchor Verified completed re-anchor and threshold evidence.
|
|
70
|
+
* @returns Whether completion advanced the current anchor or was idempotent.
|
|
71
|
+
*/
|
|
72
|
+
export declare function completeReanchor(database: DatabaseSync, reanchor: CompletedReanchor): StoreMutation;
|
|
73
|
+
/**
|
|
74
|
+
* Atomically stages and completes exactly one verified catch-up anchor item.
|
|
75
|
+
*
|
|
76
|
+
* @param database Exclusively owned endpoint database.
|
|
77
|
+
* @param reanchor One verified completed re-anchor from catch-up.
|
|
78
|
+
* @returns Whether any durable state was added.
|
|
79
|
+
*/
|
|
80
|
+
export declare function applyCatchUpReanchor(database: DatabaseSync, reanchor: CompletedReanchor): StoreMutation;
|
|
81
|
+
declare function writeIdentity(database: DatabaseSync, binding: IdentityBinding): StoreMutation;
|
|
82
|
+
export {};
|
|
83
|
+
//# sourceMappingURL=anchors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchors.d.ts","sourceRoot":"","sources":["../../../src/endpoint/store/anchors.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EAEf,iBAAiB,EACjB,YAAY,EACZ,0BAA0B,EAC1B,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAapB,OAAO,EAGL,kBAAkB,EAInB,MAAM,iBAAiB,CAAC;AAIzB,6CAA6C;AAC7C,eAAO,MAAM,YAAY;;;EAGvB,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,iBAAiB,GACzB,aAAa,CAyBf;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,sBAAsB,GACjC,aAAa,CAIf;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,GACrB,aAAa,CAKf;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,sBAAsB,EAClC,QAAQ,EAAE,YAAY,GACrB,aAAa,CAkBf;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,GAChC,0BAA0B,CAc5B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,cAAc,GACvB,aAAa,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,iBAAiB,GAC1B,aAAa,CAKf;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,iBAAiB,GAC1B,aAAa,CASf;AA4CD,iBAAS,aAAa,CACpB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,eAAe,GACvB,aAAa,CAkBf"}
|