@moltzap/client 2026.1002.0 → 2026.1005.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/NOTICE +1 -6
- package/README.md +2 -2
- package/bin/moltzapd +2 -2
- package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +96 -136
- package/dist/delivery/history-export.d.ts.map +1 -0
- package/dist/{daemon/runtime → delivery}/history-export.js +36 -3
- package/dist/delivery/history-export.js.map +1 -0
- package/dist/delivery/host-delivery.d.ts +51 -0
- package/dist/delivery/host-delivery.d.ts.map +1 -0
- package/dist/delivery/host-delivery.js +109 -0
- package/dist/delivery/host-delivery.js.map +1 -0
- package/dist/delivery/inbox.d.ts +142 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +130 -0
- package/dist/delivery/inbox.js.map +1 -0
- package/dist/delivery/index.d.ts +4 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +4 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/operations.d.ts +787 -0
- package/dist/delivery/operations.d.ts.map +1 -0
- package/dist/delivery/operations.js +162 -0
- package/dist/delivery/operations.js.map +1 -0
- package/dist/delivery/pass.d.ts +91 -0
- package/dist/delivery/pass.d.ts.map +1 -0
- package/dist/{daemon/runtime/pending-delivery.js → delivery/pass.js} +61 -34
- package/dist/delivery/pass.js.map +1 -0
- package/dist/delivery/send-invocations.d.ts +106 -0
- package/dist/delivery/send-invocations.d.ts.map +1 -0
- package/dist/delivery/send-invocations.js +109 -0
- package/dist/delivery/send-invocations.js.map +1 -0
- package/dist/endpoint/harness-endpoint/capability.d.ts +39 -0
- package/dist/endpoint/harness-endpoint/capability.d.ts.map +1 -0
- package/dist/endpoint/harness-endpoint/capability.js +9 -0
- package/dist/endpoint/harness-endpoint/capability.js.map +1 -0
- package/dist/endpoint/harness-endpoint/events.d.ts +12 -0
- package/dist/endpoint/harness-endpoint/events.d.ts.map +1 -0
- package/dist/endpoint/harness-endpoint/events.js +199 -0
- package/dist/endpoint/harness-endpoint/events.js.map +1 -0
- package/dist/{client-runtime.d.ts → endpoint/harness-endpoint/index.d.ts} +4 -2
- package/dist/endpoint/harness-endpoint/index.d.ts.map +1 -0
- package/dist/{client-runtime.js → endpoint/harness-endpoint/index.js} +115 -115
- package/dist/endpoint/harness-endpoint/index.js.map +1 -0
- package/dist/endpoint/implementation.d.ts +4 -0
- package/dist/endpoint/implementation.d.ts.map +1 -0
- package/dist/endpoint/implementation.js +5 -0
- package/dist/endpoint/implementation.js.map +1 -0
- package/dist/endpoint/mcp/auth.d.ts +31 -0
- package/dist/endpoint/mcp/auth.d.ts.map +1 -0
- package/dist/endpoint/mcp/auth.js +42 -0
- package/dist/endpoint/mcp/auth.js.map +1 -0
- package/dist/endpoint/mcp/event-schemas.d.ts +151 -0
- package/dist/endpoint/mcp/event-schemas.d.ts.map +1 -0
- package/dist/endpoint/mcp/event-schemas.js +72 -0
- package/dist/endpoint/mcp/event-schemas.js.map +1 -0
- package/dist/endpoint/mcp/event-signing.d.ts +62 -0
- package/dist/endpoint/mcp/event-signing.d.ts.map +1 -0
- package/dist/endpoint/mcp/event-signing.js +185 -0
- package/dist/endpoint/mcp/event-signing.js.map +1 -0
- package/dist/endpoint/mcp/events.d.ts +45 -0
- package/dist/endpoint/mcp/events.d.ts.map +1 -0
- package/dist/endpoint/mcp/events.js +308 -0
- package/dist/endpoint/mcp/events.js.map +1 -0
- package/dist/{harness-mcp-http.d.ts → endpoint/mcp/http.d.ts} +1 -1
- package/dist/endpoint/mcp/http.d.ts.map +1 -0
- package/dist/{harness-mcp-http.js → endpoint/mcp/http.js} +1 -1
- package/dist/endpoint/mcp/http.js.map +1 -0
- package/dist/endpoint/mcp/index.d.ts +10 -0
- package/dist/endpoint/mcp/index.d.ts.map +1 -0
- package/dist/endpoint/mcp/index.js +8 -0
- package/dist/endpoint/mcp/index.js.map +1 -0
- package/dist/endpoint/mcp/names.d.ts +18 -0
- package/dist/endpoint/mcp/names.d.ts.map +1 -0
- package/dist/endpoint/mcp/names.js +18 -0
- package/dist/endpoint/mcp/names.js.map +1 -0
- package/dist/{management-runtime.d.ts → endpoint/mcp/owner-tools.d.ts} +7 -7
- package/dist/endpoint/mcp/owner-tools.d.ts.map +1 -0
- package/dist/{management-runtime.js → endpoint/mcp/owner-tools.js} +2 -4
- package/dist/endpoint/mcp/owner-tools.js.map +1 -0
- package/dist/endpoint/mcp/schemas.d.ts +42 -0
- package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
- package/dist/endpoint/mcp/schemas.js +89 -0
- package/dist/endpoint/mcp/schemas.js.map +1 -0
- package/dist/{harness-mcp-wire.d.ts → endpoint/mcp/tools.d.ts} +17 -14
- package/dist/endpoint/mcp/tools.d.ts.map +1 -0
- package/dist/{harness-mcp-wire.js → endpoint/mcp/tools.js} +230 -110
- package/dist/endpoint/mcp/tools.js.map +1 -0
- package/dist/endpoint/mcp/webhook.d.ts +15 -0
- package/dist/endpoint/mcp/webhook.d.ts.map +1 -0
- package/dist/endpoint/mcp/webhook.js +359 -0
- package/dist/endpoint/mcp/webhook.js.map +1 -0
- package/dist/identity/credentials.d.ts +46 -0
- package/dist/identity/credentials.d.ts.map +1 -0
- package/dist/identity/credentials.js +55 -0
- package/dist/identity/credentials.js.map +1 -0
- package/dist/identity/index.d.ts +4 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +4 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -5
- package/dist/index.js.map +1 -1
- package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +12 -7
- package/dist/index.types-check.d.ts.map +1 -0
- package/dist/{contract.types-check.js → index.types-check.js} +6 -5
- package/dist/index.types-check.js.map +1 -0
- package/dist/{daemon/runtime/activation.d.ts → service/activation/index.d.ts} +11 -13
- package/dist/service/activation/index.d.ts.map +1 -0
- package/dist/{daemon/runtime/activation.js → service/activation/index.js} +3 -3
- package/dist/service/activation/index.js.map +1 -0
- package/dist/{daemon/configuration.d.ts → service/bootstrap.d.ts} +9 -17
- package/dist/service/bootstrap.d.ts.map +1 -0
- package/dist/service/bootstrap.js +6 -0
- package/dist/service/bootstrap.js.map +1 -0
- package/dist/service/configuration.d.ts +13 -0
- package/dist/service/configuration.d.ts.map +1 -0
- package/dist/service/configuration.js +75 -0
- package/dist/service/configuration.js.map +1 -0
- package/dist/{daemon/runtime → service}/controller.d.ts +9 -7
- package/dist/service/controller.d.ts.map +1 -0
- package/dist/service/controller.js +106 -0
- package/dist/service/controller.js.map +1 -0
- package/dist/{server.d.ts → service/index.d.ts} +7 -4
- package/dist/service/index.d.ts.map +1 -0
- package/dist/{server.js → service/index.js} +17 -15
- package/dist/service/index.js.map +1 -0
- package/dist/{server.types-check.d.ts → service/index.types-check.d.ts} +7 -7
- package/dist/service/index.types-check.d.ts.map +1 -0
- package/dist/{server.types-check.js → service/index.types-check.js} +1 -1
- package/dist/service/index.types-check.js.map +1 -0
- package/dist/{daemon/runtime/index.d.ts → service/lifecycle.d.ts} +4 -4
- package/dist/service/lifecycle.d.ts.map +1 -0
- package/dist/{daemon/runtime/index.js → service/lifecycle.js} +29 -26
- package/dist/service/lifecycle.js.map +1 -0
- package/dist/{daemon → service}/management.d.ts +3 -3
- package/dist/service/management.d.ts.map +1 -0
- package/dist/{daemon → service}/management.js +4 -14
- package/dist/service/management.js.map +1 -0
- package/dist/{daemon/registration.d.ts → service/registration/index.d.ts} +3 -3
- package/dist/service/registration/index.d.ts.map +1 -0
- package/dist/{daemon/registration.js → service/registration/index.js} +2 -3
- package/dist/service/registration/index.js.map +1 -0
- package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +17 -25
- package/dist/service/supervision.d.ts.map +1 -0
- package/dist/{daemon/runtime/protocol.js → service/supervision.js} +34 -37
- package/dist/service/supervision.js.map +1 -0
- package/dist/store/anchors.d.ts.map +1 -0
- package/dist/store/anchors.js.map +1 -0
- package/dist/store/database/index.d.ts.map +1 -0
- package/dist/store/database/index.js.map +1 -0
- package/dist/store/database/schema.d.ts.map +1 -0
- package/dist/{endpoint/store → store}/database/schema.js +42 -6
- package/dist/store/database/schema.js.map +1 -0
- package/dist/store/database/values.d.ts.map +1 -0
- package/dist/store/database/values.js.map +1 -0
- package/dist/store/inbox.d.ts +86 -0
- package/dist/store/inbox.d.ts.map +1 -0
- package/dist/store/inbox.js +269 -0
- package/dist/store/inbox.js.map +1 -0
- package/dist/store/index.d.ts +12 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +8 -0
- package/dist/store/index.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/deliveries.d.ts +9 -1
- package/dist/store/queues/deliveries.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/deliveries.js +19 -3
- package/dist/store/queues/deliveries.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/dissemination.d.ts +4 -2
- package/dist/store/queues/dissemination.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/dissemination.js +5 -4
- package/dist/store/queues/dissemination.js.map +1 -0
- package/dist/store/queues/index.d.ts +5 -0
- package/dist/store/queues/index.d.ts.map +1 -0
- package/dist/store/queues/index.js +7 -0
- package/dist/store/queues/index.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/outbound.d.ts +1 -1
- package/dist/store/queues/outbound.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/outbound.js +1 -1
- package/dist/store/queues/outbound.js.map +1 -0
- package/dist/{endpoint/store/management.d.ts → store/reads.d.ts} +1 -1
- package/dist/store/reads.d.ts.map +1 -0
- package/dist/{endpoint/store/management.js → store/reads.js} +2 -4
- package/dist/store/reads.js.map +1 -0
- package/dist/store/records.d.ts.map +1 -0
- package/dist/{endpoint/store → store}/records.js +1 -2
- package/dist/store/records.js.map +1 -0
- package/dist/store/rows/index.d.ts.map +1 -0
- package/dist/store/rows/index.js.map +1 -0
- package/dist/store/runtime-codec.d.ts +17 -0
- package/dist/store/runtime-codec.d.ts.map +1 -0
- package/dist/store/runtime-codec.js +32 -0
- package/dist/store/runtime-codec.js.map +1 -0
- package/dist/{endpoint/store/index.d.ts → store/store.d.ts} +2 -2
- package/dist/store/store.d.ts.map +1 -0
- package/dist/{endpoint/store/index.js → store/store.js} +34 -7
- package/dist/store/store.js.map +1 -0
- package/dist/{endpoint/store → store}/types.d.ts +41 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js.map +1 -0
- package/dist/transport/collectives/answer-formats.d.ts +21 -0
- package/dist/transport/collectives/answer-formats.d.ts.map +1 -0
- package/dist/transport/collectives/answer-formats.js +127 -0
- package/dist/transport/collectives/answer-formats.js.map +1 -0
- package/dist/transport/collectives/failures.d.ts +34 -0
- package/dist/transport/collectives/failures.d.ts.map +1 -0
- package/dist/transport/collectives/failures.js +40 -0
- package/dist/transport/collectives/failures.js.map +1 -0
- package/dist/transport/collectives/forms.d.ts +260 -0
- package/dist/transport/collectives/forms.d.ts.map +1 -0
- package/dist/transport/collectives/forms.js +214 -0
- package/dist/transport/collectives/forms.js.map +1 -0
- package/dist/transport/collectives/inbound.d.ts +129 -0
- package/dist/transport/collectives/inbound.d.ts.map +1 -0
- package/dist/transport/collectives/inbound.js +81 -0
- package/dist/transport/collectives/inbound.js.map +1 -0
- package/dist/transport/collectives/index.d.ts +10 -0
- package/dist/transport/collectives/index.d.ts.map +1 -0
- package/dist/transport/collectives/index.js +8 -0
- package/dist/transport/collectives/index.js.map +1 -0
- package/dist/{message-text.d.ts → transport/collectives/message-text.d.ts} +8 -4
- package/dist/transport/collectives/message-text.d.ts.map +1 -0
- package/dist/{message-text.js → transport/collectives/message-text.js} +23 -47
- package/dist/transport/collectives/message-text.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +35 -24
- package/dist/transport/collectives/operation.d.ts.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.js +70 -105
- package/dist/transport/collectives/operation.js.map +1 -0
- package/dist/transport/collectives/part/grammar.d.ts +175 -0
- package/dist/transport/collectives/part/grammar.d.ts.map +1 -0
- package/dist/transport/collectives/part/grammar.js +222 -0
- package/dist/transport/collectives/part/grammar.js.map +1 -0
- package/dist/{endpoint/collective/wire.d.ts → transport/collectives/part/index.d.ts} +38 -51
- package/dist/transport/collectives/part/index.d.ts.map +1 -0
- package/dist/{endpoint/collective/wire.js → transport/collectives/part/index.js} +20 -122
- package/dist/transport/collectives/part/index.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/received-request.d.ts +2 -1
- package/dist/transport/collectives/received-request.d.ts.map +1 -0
- package/dist/transport/collectives/received-request.js.map +1 -0
- package/dist/transport/collectives/render.d.ts +40 -0
- package/dist/transport/collectives/render.d.ts.map +1 -0
- package/dist/transport/collectives/render.js +74 -0
- package/dist/transport/collectives/render.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/request-sends.d.ts +3 -2
- package/dist/transport/collectives/request-sends.d.ts.map +1 -0
- package/dist/transport/collectives/request-sends.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/shared-answers.d.ts +4 -3
- package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
- package/dist/transport/collectives/shared-answers.js.map +1 -0
- package/dist/transport/collectives/validation.d.ts +31 -0
- package/dist/transport/collectives/validation.d.ts.map +1 -0
- package/dist/transport/collectives/validation.js +239 -0
- package/dist/transport/collectives/validation.js.map +1 -0
- package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +7 -4
- package/dist/transport/messaging/address.d.ts.map +1 -0
- package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +30 -26
- package/dist/transport/messaging/address.js.map +1 -0
- package/dist/{endpoint/protocol/index.d.ts → transport/messaging/certification.d.ts} +4 -4
- package/dist/transport/messaging/certification.d.ts.map +1 -0
- package/dist/{endpoint/protocol/index.js → transport/messaging/certification.js} +15 -10
- package/dist/transport/messaging/certification.js.map +1 -0
- package/dist/{endpoint/engine-dissemination.d.ts → transport/messaging/dissemination.d.ts} +3 -3
- package/dist/transport/messaging/dissemination.d.ts.map +1 -0
- package/dist/{endpoint/engine-dissemination.js → transport/messaging/dissemination.js} +7 -6
- package/dist/transport/messaging/dissemination.js.map +1 -0
- package/dist/transport/messaging/errors.d.ts +50 -0
- package/dist/transport/messaging/errors.d.ts.map +1 -0
- package/dist/transport/messaging/errors.js +64 -0
- package/dist/transport/messaging/errors.js.map +1 -0
- package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts +3 -3
- package/dist/transport/messaging/evidence.d.ts.map +1 -0
- package/dist/{endpoint/protocol → transport/messaging}/evidence.js +1 -1
- package/dist/transport/messaging/evidence.js.map +1 -0
- package/dist/{endpoint/engine.d.ts → transport/messaging/index.d.ts} +4 -4
- package/dist/transport/messaging/index.d.ts.map +1 -0
- package/dist/{endpoint/engine.js → transport/messaging/index.js} +25 -9
- package/dist/transport/messaging/index.js.map +1 -0
- package/dist/transport/messaging/message.d.ts +112 -0
- package/dist/transport/messaging/message.d.ts.map +1 -0
- package/dist/transport/messaging/message.js +38 -0
- package/dist/transport/messaging/message.js.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.d.ts +5 -5
- package/dist/transport/messaging/reanchor/empty.d.ts.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.js +3 -3
- package/dist/transport/messaging/reanchor/empty.js.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.d.ts +3 -3
- package/dist/transport/messaging/reanchor/index.d.ts.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.js +27 -12
- package/dist/transport/messaging/reanchor/index.js.map +1 -0
- package/dist/{endpoint/engine-durability.d.ts → transport/messaging/records/index.d.ts} +9 -6
- package/dist/transport/messaging/records/index.d.ts.map +1 -0
- package/dist/{endpoint/engine-durability.js → transport/messaging/records/index.js} +9 -15
- package/dist/transport/messaging/records/index.js.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/barrier.d.ts +1 -1
- package/dist/transport/messaging/recovery/barrier.d.ts.map +1 -0
- package/dist/transport/messaging/recovery/barrier.js.map +1 -0
- package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts} +5 -5
- package/dist/transport/messaging/recovery/evidence.d.ts.map +1 -0
- package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js} +3 -3
- package/dist/transport/messaging/recovery/evidence.js.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/index.d.ts +4 -4
- package/dist/transport/messaging/recovery/index.d.ts.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/index.js +41 -32
- package/dist/transport/messaging/recovery/index.js.map +1 -0
- package/dist/{endpoint/recovery/store.d.ts → transport/messaging/recovery/persistence.d.ts} +5 -5
- package/dist/transport/messaging/recovery/persistence.d.ts.map +1 -0
- package/dist/{endpoint/recovery/store.js → transport/messaging/recovery/persistence.js} +4 -4
- package/dist/transport/messaging/recovery/persistence.js.map +1 -0
- package/dist/{endpoint/recovery/state.d.ts → transport/messaging/recovery-session/index.d.ts} +6 -6
- package/dist/transport/messaging/recovery-session/index.d.ts.map +1 -0
- package/dist/{endpoint/recovery/state.js → transport/messaging/recovery-session/index.js} +3 -3
- package/dist/transport/messaging/recovery-session/index.js.map +1 -0
- package/dist/{endpoint/engine-types.d.ts → transport/messaging/runtime/index.d.ts} +22 -5
- package/dist/transport/messaging/runtime/index.d.ts.map +1 -0
- package/dist/{endpoint/engine-types.js → transport/messaging/runtime/index.js} +1 -1
- package/dist/transport/messaging/runtime/index.js.map +1 -0
- package/dist/{endpoint/engine-send.d.ts → transport/messaging/send.d.ts} +5 -4
- package/dist/transport/messaging/send.d.ts.map +1 -0
- package/dist/{endpoint/engine-send.js → transport/messaging/send.js} +4 -4
- package/dist/transport/messaging/send.js.map +1 -0
- package/dist/transport/router/index.d.ts.map +1 -0
- package/dist/{endpoint/router-worker → transport/router}/index.js +1 -1
- package/dist/transport/router/index.js.map +1 -0
- package/dist/transport/router/outage.d.ts.map +1 -0
- package/dist/transport/router/outage.js.map +1 -0
- package/dist/{endpoint/router-worker → transport/router}/types.d.ts +3 -4
- package/dist/transport/router/types.d.ts.map +1 -0
- package/dist/transport/router/types.js.map +1 -0
- package/dist/{endpoint/representation-canonical.d.ts → transport/wire/encoding/canonical.d.ts} +1 -2
- package/dist/transport/wire/encoding/canonical.d.ts.map +1 -0
- package/dist/{endpoint/representation-canonical.js → transport/wire/encoding/canonical.js} +2 -2
- package/dist/transport/wire/encoding/canonical.js.map +1 -0
- package/dist/{endpoint/representation-codec.d.ts → transport/wire/encoding/codec.d.ts} +5 -9
- package/dist/transport/wire/encoding/codec.d.ts.map +1 -0
- package/dist/{endpoint/representation-codec.js → transport/wire/encoding/codec.js} +7 -27
- package/dist/transport/wire/encoding/codec.js.map +1 -0
- package/dist/transport/wire/encoding/index.d.ts +4 -0
- package/dist/transport/wire/encoding/index.d.ts.map +1 -0
- package/dist/transport/wire/encoding/index.js +6 -0
- package/dist/transport/wire/encoding/index.js.map +1 -0
- package/dist/transport/wire/index.d.ts +6 -0
- package/dist/transport/wire/index.d.ts.map +1 -0
- package/dist/transport/wire/index.js +9 -0
- package/dist/transport/wire/index.js.map +1 -0
- package/dist/{endpoint/representation-schemas.d.ts → transport/wire/schemas.d.ts} +76 -98
- package/dist/transport/wire/schemas.d.ts.map +1 -0
- package/dist/{endpoint/representation-schemas.js → transport/wire/schemas.js} +7 -19
- package/dist/transport/wire/schemas.js.map +1 -0
- package/dist/transport/wire/values.d.ts +114 -0
- package/dist/transport/wire/values.d.ts.map +1 -0
- package/dist/transport/wire/values.js +192 -0
- package/dist/transport/wire/values.js.map +1 -0
- package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +3 -4
- package/dist/transport/wire/verification.d.ts.map +1 -0
- package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +4 -4
- package/dist/transport/wire/verification.js.map +1 -0
- package/package.json +6 -6
- package/dist/client-runtime.d.ts.map +0 -1
- package/dist/client-runtime.js.map +0 -1
- package/dist/contract.d.ts +0 -721
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -441
- package/dist/contract.js.map +0 -1
- package/dist/contract.types-check.d.ts.map +0 -1
- package/dist/contract.types-check.js.map +0 -1
- package/dist/daemon/configuration.d.ts.map +0 -1
- package/dist/daemon/configuration.js +0 -75
- package/dist/daemon/configuration.js.map +0 -1
- package/dist/daemon/management.d.ts.map +0 -1
- package/dist/daemon/management.js.map +0 -1
- package/dist/daemon/registration.d.ts.map +0 -1
- package/dist/daemon/registration.js.map +0 -1
- package/dist/daemon/runtime/activation.d.ts.map +0 -1
- package/dist/daemon/runtime/activation.js.map +0 -1
- package/dist/daemon/runtime/controller.d.ts.map +0 -1
- package/dist/daemon/runtime/controller.js +0 -138
- package/dist/daemon/runtime/controller.js.map +0 -1
- package/dist/daemon/runtime/history-export.d.ts +0 -33
- package/dist/daemon/runtime/history-export.d.ts.map +0 -1
- package/dist/daemon/runtime/history-export.js.map +0 -1
- package/dist/daemon/runtime/index.d.ts.map +0 -1
- package/dist/daemon/runtime/index.js.map +0 -1
- package/dist/daemon/runtime/pending-delivery.d.ts +0 -49
- package/dist/daemon/runtime/pending-delivery.d.ts.map +0 -1
- package/dist/daemon/runtime/pending-delivery.js.map +0 -1
- package/dist/daemon/runtime/protocol.d.ts.map +0 -1
- package/dist/daemon/runtime/protocol.js.map +0 -1
- package/dist/endpoint/addressing/index.d.ts.map +0 -1
- package/dist/endpoint/addressing/index.js.map +0 -1
- package/dist/endpoint/collective/operation.d.ts.map +0 -1
- package/dist/endpoint/collective/operation.js.map +0 -1
- package/dist/endpoint/collective/received-request.d.ts.map +0 -1
- package/dist/endpoint/collective/received-request.js.map +0 -1
- package/dist/endpoint/collective/request-sends.d.ts.map +0 -1
- package/dist/endpoint/collective/request-sends.js.map +0 -1
- package/dist/endpoint/collective/shared-answers.d.ts.map +0 -1
- package/dist/endpoint/collective/shared-answers.js.map +0 -1
- package/dist/endpoint/collective/validation.d.ts +0 -49
- package/dist/endpoint/collective/validation.d.ts.map +0 -1
- package/dist/endpoint/collective/validation.js +0 -97
- package/dist/endpoint/collective/validation.js.map +0 -1
- package/dist/endpoint/collective/wire.d.ts.map +0 -1
- package/dist/endpoint/collective/wire.js.map +0 -1
- package/dist/endpoint/engine-dissemination.d.ts.map +0 -1
- package/dist/endpoint/engine-dissemination.js.map +0 -1
- package/dist/endpoint/engine-durability.d.ts.map +0 -1
- package/dist/endpoint/engine-durability.js.map +0 -1
- package/dist/endpoint/engine-send.d.ts.map +0 -1
- package/dist/endpoint/engine-send.js.map +0 -1
- package/dist/endpoint/engine-types.d.ts.map +0 -1
- package/dist/endpoint/engine-types.js.map +0 -1
- package/dist/endpoint/engine.d.ts.map +0 -1
- package/dist/endpoint/engine.js.map +0 -1
- package/dist/endpoint/protocol/evidence.d.ts.map +0 -1
- package/dist/endpoint/protocol/evidence.js.map +0 -1
- package/dist/endpoint/protocol/index.d.ts.map +0 -1
- package/dist/endpoint/protocol/index.js.map +0 -1
- package/dist/endpoint/recovery/barrier.d.ts.map +0 -1
- package/dist/endpoint/recovery/barrier.js.map +0 -1
- package/dist/endpoint/recovery/index.d.ts.map +0 -1
- package/dist/endpoint/recovery/index.js.map +0 -1
- package/dist/endpoint/recovery/reanchor/empty.d.ts.map +0 -1
- package/dist/endpoint/recovery/reanchor/empty.js.map +0 -1
- package/dist/endpoint/recovery/reanchor/index.d.ts.map +0 -1
- package/dist/endpoint/recovery/reanchor/index.js.map +0 -1
- package/dist/endpoint/recovery/state.d.ts.map +0 -1
- package/dist/endpoint/recovery/state.js.map +0 -1
- package/dist/endpoint/recovery/store-evidence.d.ts.map +0 -1
- package/dist/endpoint/recovery/store-evidence.js.map +0 -1
- package/dist/endpoint/recovery/store.d.ts.map +0 -1
- package/dist/endpoint/recovery/store.js.map +0 -1
- package/dist/endpoint/representation-canonical.d.ts.map +0 -1
- package/dist/endpoint/representation-canonical.js.map +0 -1
- package/dist/endpoint/representation-codec.d.ts.map +0 -1
- package/dist/endpoint/representation-codec.js.map +0 -1
- package/dist/endpoint/representation-schemas.d.ts.map +0 -1
- package/dist/endpoint/representation-schemas.js.map +0 -1
- package/dist/endpoint/representation-verification.d.ts.map +0 -1
- package/dist/endpoint/representation-verification.js.map +0 -1
- package/dist/endpoint/representation.d.ts +0 -6
- package/dist/endpoint/representation.d.ts.map +0 -1
- package/dist/endpoint/representation.js +0 -8
- package/dist/endpoint/representation.js.map +0 -1
- package/dist/endpoint/router-worker/index.d.ts.map +0 -1
- package/dist/endpoint/router-worker/index.js.map +0 -1
- package/dist/endpoint/router-worker/outage.d.ts.map +0 -1
- package/dist/endpoint/router-worker/outage.js.map +0 -1
- package/dist/endpoint/router-worker/types.d.ts.map +0 -1
- package/dist/endpoint/router-worker/types.js.map +0 -1
- package/dist/endpoint/store/anchors.d.ts.map +0 -1
- package/dist/endpoint/store/anchors.js.map +0 -1
- package/dist/endpoint/store/database/index.d.ts.map +0 -1
- package/dist/endpoint/store/database/index.js.map +0 -1
- package/dist/endpoint/store/database/schema.d.ts.map +0 -1
- package/dist/endpoint/store/database/schema.js.map +0 -1
- package/dist/endpoint/store/database/values.d.ts.map +0 -1
- package/dist/endpoint/store/database/values.js.map +0 -1
- package/dist/endpoint/store/deliveries.d.ts.map +0 -1
- package/dist/endpoint/store/deliveries.js.map +0 -1
- package/dist/endpoint/store/dissemination.d.ts.map +0 -1
- package/dist/endpoint/store/dissemination.js.map +0 -1
- package/dist/endpoint/store/index.d.ts.map +0 -1
- package/dist/endpoint/store/index.js.map +0 -1
- package/dist/endpoint/store/management.d.ts.map +0 -1
- package/dist/endpoint/store/management.js.map +0 -1
- package/dist/endpoint/store/outbound.d.ts.map +0 -1
- package/dist/endpoint/store/outbound.js.map +0 -1
- package/dist/endpoint/store/records.d.ts.map +0 -1
- package/dist/endpoint/store/records.js.map +0 -1
- package/dist/endpoint/store/rows/index.d.ts.map +0 -1
- package/dist/endpoint/store/rows/index.js.map +0 -1
- package/dist/endpoint/store/types.d.ts.map +0 -1
- package/dist/endpoint/store/types.js.map +0 -1
- package/dist/endpoint/store.d.ts +0 -10
- package/dist/endpoint/store.d.ts.map +0 -1
- package/dist/endpoint/store.js +0 -6
- package/dist/endpoint/store.js.map +0 -1
- package/dist/harness-mcp-contract.d.ts.map +0 -1
- package/dist/harness-mcp-contract.js +0 -113
- package/dist/harness-mcp-contract.js.map +0 -1
- package/dist/harness-mcp-http.d.ts.map +0 -1
- package/dist/harness-mcp-http.js.map +0 -1
- package/dist/harness-mcp-subscription.d.ts +0 -30
- package/dist/harness-mcp-subscription.d.ts.map +0 -1
- package/dist/harness-mcp-subscription.js +0 -361
- package/dist/harness-mcp-subscription.js.map +0 -1
- package/dist/harness-mcp-wire.d.ts.map +0 -1
- package/dist/harness-mcp-wire.js.map +0 -1
- package/dist/management-runtime.d.ts.map +0 -1
- package/dist/management-runtime.js.map +0 -1
- package/dist/message-text.d.ts.map +0 -1
- package/dist/message-text.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/server.types-check.d.ts.map +0 -1
- package/dist/server.types-check.js.map +0 -1
- /package/dist/{endpoint/store → store}/anchors.d.ts +0 -0
- /package/dist/{endpoint/store → store}/anchors.js +0 -0
- /package/dist/{endpoint/store → store}/database/index.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/index.js +0 -0
- /package/dist/{endpoint/store → store}/database/schema.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/values.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/values.js +0 -0
- /package/dist/{endpoint/store → store}/records.d.ts +0 -0
- /package/dist/{endpoint/store → store}/rows/index.d.ts +0 -0
- /package/dist/{endpoint/store → store}/rows/index.js +0 -0
- /package/dist/{endpoint/store → store}/types.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/received-request.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/request-sends.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/shared-answers.js +0 -0
- /package/dist/{endpoint → transport/messaging}/recovery/barrier.js +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/index.d.ts +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/outage.d.ts +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/outage.js +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/types.js +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @file Threshold Router re-anchor orchestration for one active recovery run. */
|
|
2
2
|
import { MOLTZAP_VERSION, SignedMessage, } from "@moltzap/identity";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import { AnchorHash, compareAgentIds, CompletedReanchor, decodeCanonical, encodeCanonical, EvidenceStatement, hashAnchor, quorumThreshold, ReanchorBody, RecordHash, signEvidenceMessage, verifyCompletedReanchor, verifyOuterMessage, verifyStableEvidence, } from "../../
|
|
6
|
-
import {
|
|
7
|
-
import { currentRecoveryState, durablePosition, markConversationRecovered, observedAnchorIsResolved, observedHeadIsResolved, queueRecoveryEvidence, queueRecoveryPacket, requestCertifiedHistory, } from "../
|
|
4
|
+
import { RouterWorkerPersistenceError, } from "../../router/index.js";
|
|
5
|
+
import { AnchorHash, compareAgentIds, CompletedReanchor, decodeCanonical, encodeCanonical, EvidenceStatement, hashAnchor, quorumThreshold, ReanchorBody, RecordHash, signEvidenceMessage, verifyCompletedReanchor, verifyOuterMessage, verifyStableEvidence, } from "../../wire/index.js";
|
|
6
|
+
import { protocolEvidence } from "../records/index.js";
|
|
7
|
+
import { currentRecoveryState, durablePosition, markConversationRecovered, observedAnchorIsResolved, observedHeadIsResolved, queueRecoveryEvidence, queueRecoveryPacket, requestCertifiedHistory, } from "../recovery-session/index.js";
|
|
8
8
|
import { restartEmptyPosition } from "./empty.js";
|
|
9
9
|
const acceptedDisposition = "accepted";
|
|
10
10
|
const ignoredDisposition = "ignored";
|
|
@@ -59,6 +59,9 @@ function finishRestartedPosition(runtime, state, membership) {
|
|
|
59
59
|
return Effect.fail(persistenceFailure());
|
|
60
60
|
}
|
|
61
61
|
if (position.headRecordHash === undefined) {
|
|
62
|
+
if (currentAnchorForRecovery(runtime, state, conversationId) !== undefined) {
|
|
63
|
+
return markConversationRecovered(runtime, conversationId);
|
|
64
|
+
}
|
|
62
65
|
return restartEmptyPosition({
|
|
63
66
|
runtime,
|
|
64
67
|
state,
|
|
@@ -82,7 +85,7 @@ function finishRestartedPosition(runtime, state, membership) {
|
|
|
82
85
|
function advanceRestartedPosition(input) {
|
|
83
86
|
const { head, membership, position, recovery, runtime, state } = input;
|
|
84
87
|
const conversationId = membership.descriptor.conversationId;
|
|
85
|
-
if (
|
|
88
|
+
if (currentAnchorForRecovery(runtime, state, conversationId) !== undefined) {
|
|
86
89
|
return finishAnchoredPosition(runtime, state, membership);
|
|
87
90
|
}
|
|
88
91
|
if (hasStagedSuccessor(recovery, conversationId, head)) {
|
|
@@ -104,10 +107,10 @@ function advanceRestartedPosition(input) {
|
|
|
104
107
|
*/
|
|
105
108
|
function finishAnchoredPosition(runtime, state, membership) {
|
|
106
109
|
const conversationId = membership.descriptor.conversationId;
|
|
107
|
-
const
|
|
108
|
-
const relay =
|
|
109
|
-
?
|
|
110
|
-
:
|
|
110
|
+
const anchor = currentAnchorForRecovery(runtime, state, conversationId);
|
|
111
|
+
const relay = anchor?.kind === "completed_reanchor"
|
|
112
|
+
? queueRecoveryPacket(runtime, membership, anchor)
|
|
113
|
+
: Effect.void;
|
|
111
114
|
return relay.pipe(Effect.zipRight(markConversationRecovered(runtime, conversationId)));
|
|
112
115
|
}
|
|
113
116
|
function observedHeadsResolve(state, recovery, conversationId, head) {
|
|
@@ -117,10 +120,22 @@ function observedHeadsResolve(state, recovery, conversationId, head) {
|
|
|
117
120
|
}
|
|
118
121
|
return [...observed].every((candidate) => observedHeadIsResolved(recovery, conversationId, candidate, head));
|
|
119
122
|
}
|
|
120
|
-
|
|
123
|
+
/**
|
|
124
|
+
* A daemon restart does not replace a verified anchor for the same Router.
|
|
125
|
+
* @param runtime Engine containing the current verified conversation anchors.
|
|
126
|
+
* @param state Recovery with an authenticated Router instance.
|
|
127
|
+
* @param conversationId Fixed conversation whose anchor is being reconciled.
|
|
128
|
+
* @returns The retained anchor only when it already names the current Router.
|
|
129
|
+
*/
|
|
130
|
+
function currentAnchorForRecovery(runtime, state, conversationId) {
|
|
121
131
|
const anchor = runtime.conversations.get(conversationId)?.currentAnchor;
|
|
122
|
-
|
|
123
|
-
|
|
132
|
+
if (anchor === undefined) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
const routerInstanceId = anchor.kind === "genesis_anchor_body"
|
|
136
|
+
? anchor.routerInstanceId
|
|
137
|
+
: anchor.reanchor.routerInstanceId;
|
|
138
|
+
return routerInstanceId === state.recovery.anchor.routerInstanceId
|
|
124
139
|
? anchor
|
|
125
140
|
: undefined;
|
|
126
141
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/messaging/reanchor/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** @file Record certification, evidence persistence, and host projection. */
|
|
2
2
|
import { type AgentId, SignedMessage } from "@moltzap/identity";
|
|
3
3
|
import { Effect } from "effect";
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import { type ActionCertifiedRecord, type AnchorHash, type CertifiedRecord, ClientRepresentationError, type RecordCore } from "
|
|
4
|
+
import type { InboundDeliveryInput, ProtocolEvidence, StagedRecord, CertifiedRecord as StoredCertifiedRecord } from "../../../store/index.js";
|
|
5
|
+
import type { EngineActionFold, EngineConversation } from "../runtime/index.js";
|
|
6
|
+
import { type ActionCertifiedRecord, type AnchorHash, type CertifiedRecord, ClientRepresentationError, type RecordCore } from "../../wire/index.js";
|
|
7
7
|
/**
|
|
8
8
|
* Resolve the immutable Router anchor bound when one action fold is created.
|
|
9
9
|
* @param fold Selected action and its action-specific Router anchor.
|
|
@@ -48,8 +48,11 @@ export declare const stagedRecord: (record: ActionCertifiedRecord) => Effect.Eff
|
|
|
48
48
|
export declare const storedCertifiedRecord: (record: CertifiedRecord, fold: EngineActionFold) => Effect.Effect<StoredCertifiedRecord, ClientRepresentationError>;
|
|
49
49
|
/**
|
|
50
50
|
* Encode the remote projection atomically retained during promotion.
|
|
51
|
-
*
|
|
52
|
-
*
|
|
51
|
+
* @param conversation The verified conversation the record belongs to.
|
|
52
|
+
* @param record The certified record projected for the local host.
|
|
53
|
+
* @param recipientAgentId The local agent that owns the pending delivery,
|
|
54
|
+
* which `AgentId` cannot express and nothing here checks.
|
|
55
|
+
* @returns The canonical inbound message bound to its recipient.
|
|
53
56
|
*/
|
|
54
57
|
export declare const inboundDelivery: (conversation: EngineConversation, record: CertifiedRecord, recipientAgentId: AgentId) => Effect.Effect<InboundDeliveryInput, ClientRepresentationError>;
|
|
55
|
-
//# sourceMappingURL=
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/messaging/records/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,OAAO,EACL,KAAK,OAAO,EAEZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,eAAe,IAAI,qBAAqB,EACzC,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,yBAAyB,EAKzB,KAAK,UAAU,EAEhB,MAAM,qBAAqB,CAAC;AAqB7B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SACrB,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,yBAAyB,CAGV,CAAC;AA0B7C;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,mBACX,MAAM,QAChB,gBAAgB,CAAC,MAAM,CAAC,aACnB,MAAM,WACR,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,CASzD,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,SAC9B,gBAAgB,cACV,UAAU,CAAC,YAAY,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAyBV,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,0BACP,qBAAqB,QACtC,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAgBxD,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,YAAY,WACf,qBAAqB,KAC5B,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,yBAAyB,CAoBvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,WACxB,eAAe,QACjB,gBAAgB,KACrB,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CA0Bd,CAAC;AAsEpD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,iBACZ,kBAAkB,UACxB,eAAe,oBACL,OAAO,KACxB,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,yBAAyB,CAI7D,CAAC"}
|
|
@@ -1,18 +1,9 @@
|
|
|
1
1
|
/** @file Record certification, evidence persistence, and host projection. */
|
|
2
2
|
import { MOLTZAP_VERSION, SignedMessage, } from "@moltzap/identity";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const length = Math.min(left.length, right.length);
|
|
8
|
-
for (let index = 0; index < length; index += 1) {
|
|
9
|
-
const difference = left.charCodeAt(index) - right.charCodeAt(index);
|
|
10
|
-
if (difference !== 0) {
|
|
11
|
-
return difference;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return left.length - right.length;
|
|
15
|
-
};
|
|
4
|
+
import { ClientRepresentationError, compareAgentIds, encodeCanonical, hashAnchor, hashRecord, RecordCore as RecordCoreSchema, } from "../../wire/index.js";
|
|
5
|
+
import { AgentAddress, compareAscii, GroupAddress } from "../../wire/values.js";
|
|
6
|
+
import { InboundMessage, } from "../message.js";
|
|
16
7
|
function requireNonEmpty(values) {
|
|
17
8
|
const first = values[0];
|
|
18
9
|
if (first === undefined) {
|
|
@@ -192,8 +183,11 @@ const projectInboundMessage = (conversation, record) => Effect.gen(function* ()
|
|
|
192
183
|
}).pipe(Effect.withSpan("projectInboundMessage"));
|
|
193
184
|
/**
|
|
194
185
|
* Encode the remote projection atomically retained during promotion.
|
|
195
|
-
*
|
|
196
|
-
*
|
|
186
|
+
* @param conversation The verified conversation the record belongs to.
|
|
187
|
+
* @param record The certified record projected for the local host.
|
|
188
|
+
* @param recipientAgentId The local agent that owns the pending delivery,
|
|
189
|
+
* which `AgentId` cannot express and nothing here checks.
|
|
190
|
+
* @returns The canonical inbound message bound to its recipient.
|
|
197
191
|
*/
|
|
198
192
|
export const inboundDelivery = (conversation, record, recipientAgentId) => projectInboundMessage(conversation, record).pipe(Effect.flatMap((message) => encodeCanonical(InboundMessage, message)), Effect.map((canonicalMessage) => ({ recipientAgentId, canonicalMessage })));
|
|
199
|
-
//# sourceMappingURL=
|
|
193
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/messaging/records/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** @file Completion barrier shared by protocol activation and recovery. */
|
|
2
2
|
import { Deferred, Effect } from "effect";
|
|
3
|
-
import type { EngineRuntime } from "../
|
|
3
|
+
import type { EngineRuntime } from "../runtime/index.js";
|
|
4
4
|
/**
|
|
5
5
|
* Install the one completion barrier shared by all retries of a discontinuity.
|
|
6
6
|
* @param runtime Engine entering Router recovery under its protocol gate.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barrier.d.ts","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/barrier.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOzD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAerB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,GACrB,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,SAAS,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAgBrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"barrier.js","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/barrier.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG1C,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAGjC,CAAC;AAEJ;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAsB;IAEtB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAa,CAAC,IAAI,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAsB;IAEtB,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAsB,EACtB,OAAqC;IAErC,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;YAC9C,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;YACf,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;gBAC9C,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CACH,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** @file Verified reconstruction of active protocol evidence from store rows. */
|
|
2
2
|
import { Effect, type ParseResult } from "effect";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import type { EndpointRecovery } from "../../../store/index.js";
|
|
4
|
+
import type { EngineActionFold } from "../runtime/index.js";
|
|
5
|
+
import { RouterWorkerPersistenceError } from "../../router/index.js";
|
|
6
|
+
import { type ActionHash, type ClientRepresentationError, type RecordHash as RecordHashValue } from "../../wire/index.js";
|
|
7
7
|
type StoredEvidenceError = ClientRepresentationError | ParseResult.ParseError | RouterWorkerPersistenceError;
|
|
8
8
|
/**
|
|
9
9
|
* Restore only evidence whose signer, subject, and conversation still match.
|
|
@@ -14,4 +14,4 @@ type StoredEvidenceError = ClientRepresentationError | ParseResult.ParseError |
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function recoverFoldEvidence(recovery: EndpointRecovery, actionFolds: Map<ActionHash, EngineActionFold>, recordFolds: Map<RecordHashValue, EngineActionFold>): Effect.Effect<void, StoredEvidenceError>;
|
|
16
16
|
export {};
|
|
17
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/evidence.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAGjF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAU,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EACL,KAAK,UAAU,EAEf,KAAK,yBAAyB,EAI9B,KAAK,UAAU,IAAI,eAAe,EAEnC,MAAM,qBAAqB,CAAC;AAE7B,KAAK,mBAAmB,GACpB,yBAAyB,GACzB,WAAW,CAAC,UAAU,GACtB,4BAA4B,CAAC;AAOjC;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,EAC9C,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAClD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAiB1C"}
|
package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @file Verified reconstruction of active protocol evidence from store rows. */
|
|
2
2
|
import { SignedMessage } from "@moltzap/identity";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { RouterWorkerPersistenceError } from "../../router/index.js";
|
|
5
|
+
import { ActionHash as ActionHashSchema, decodeCanonical, RecordHash, verifyStableEvidence, } from "../../wire/index.js";
|
|
6
6
|
/**
|
|
7
7
|
* Restore only evidence whose signer, subject, and conversation still match.
|
|
8
8
|
* @param recovery Complete endpoint-store snapshot.
|
|
@@ -76,4 +76,4 @@ function durabilityEvidenceMatches(row, fold, statement) {
|
|
|
76
76
|
function persistenceFailure() {
|
|
77
77
|
return new RouterWorkerPersistenceError();
|
|
78
78
|
}
|
|
79
|
-
//# sourceMappingURL=
|
|
79
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evidence.js","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/evidence.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** @file Authenticated catch-up coordination and recovery lifecycle. */
|
|
2
2
|
import { Effect } from "effect";
|
|
3
|
-
import type { EngineRuntime } from "../
|
|
4
|
-
import { type
|
|
5
|
-
import { type
|
|
3
|
+
import type { EngineRuntime } from "../runtime/index.js";
|
|
4
|
+
import { type RouterIngressDisposition, type RouterWorkerIngress, RouterWorkerPersistenceError, type RouterWorkerRecovery, RouterWorkerRecoveryError, type RouterWorkerSendError } from "../../router/index.js";
|
|
5
|
+
import { type DecodedOuterBody } from "../../wire/index.js";
|
|
6
6
|
/** Reconstruct the complete private engine state from durable storage. */
|
|
7
|
-
export { recoverEngineState } from "./
|
|
7
|
+
export { recoverEngineState } from "./persistence.js";
|
|
8
8
|
/**
|
|
9
9
|
* Accept active protocol traffic and answer authenticated catch-up requests.
|
|
10
10
|
* @param runtime Engine whose active protocol state receives the ingress.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAOxE,OAAO,EAAY,MAAM,EAAoC,MAAM,QAAQ,CAAC;AAK5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EASL,KAAK,gBAAgB,EAWtB,MAAM,qBAAqB,CAAC;AA2B7B,0EAA0E;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAoBtD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,uCAAuC,CACrD,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,GAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAAC,CAKvE;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,YACzB,aAAa,iBACP,oBAAoB,KAClC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,GAAG,qBAAqB,CAyCnB,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
/** @file Authenticated catch-up coordination and recovery lifecycle. */
|
|
2
2
|
import { MOLTZAP_VERSION, SignedMessage, } from "@moltzap/identity";
|
|
3
3
|
import { Deferred, Effect, Fiber, Queue, Schema } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { RouterWorkerPersistenceError, RouterWorkerRecoveryError, } from "../router-worker/index.js";
|
|
4
|
+
import { RouterWorkerPersistenceError, RouterWorkerRecoveryError, } from "../../router/index.js";
|
|
5
|
+
import { CompletedReanchor, encodeCanonical, memberCard, ReanchorBody, signEvidenceMessage, verifyCatchUpIncomplete, verifyCatchUpPage, verifyOuterMessage, } from "../../wire/index.js";
|
|
6
|
+
import { acceptCompletedReanchor, acceptReanchorVote, positionReady, } from "../reanchor/index.js";
|
|
7
|
+
import { clearRecoveryState, completeRecoveryIfIdle, currentRecoveryState, installRecoveryState, makeRecoveryState, outboundCommitted, queueRecoveryPacket, recoverMemberships, requestCertifiedHistory, } from "../recovery-session/index.js";
|
|
9
8
|
import { completeRecoveryBarrier, currentRecoveryBarrier } from "./barrier.js";
|
|
10
|
-
import {
|
|
11
|
-
import { clearRecoveryState, completeRecoveryIfIdle, currentRecoveryState, installRecoveryState, makeRecoveryState, outboundCommitted, queueRecoveryPacket, recoverMemberships, requestCertifiedHistory, } from "./state.js";
|
|
12
|
-
import { decodeStoredAnchor, durableRouterInstanceId, recordFromStore, verifyRecoveredHistory, verifyStoredOutbounds, } from "./store.js";
|
|
9
|
+
import { decodeStoredAnchor, durableRouterInstanceId, recordFromStore, verifyRecoveredHistory, verifyStoredOutbounds, } from "./persistence.js";
|
|
13
10
|
/** Reconstruct the complete private engine state from durable storage. */
|
|
14
|
-
export { recoverEngineState } from "./
|
|
11
|
+
export { recoverEngineState } from "./persistence.js";
|
|
15
12
|
const acceptedDisposition = "accepted";
|
|
16
13
|
const ignoredDisposition = "ignored";
|
|
17
14
|
/**
|
|
@@ -24,7 +21,7 @@ export function acceptEngineIngressWithRecovery(runtime, ingress) {
|
|
|
24
21
|
return ingress.payload.kind === "direct" &&
|
|
25
22
|
ingress.payload.packet.kind === "catch_up_request"
|
|
26
23
|
? acceptCatchUpRequest(runtime, ingress, ingress.payload.packet)
|
|
27
|
-
:
|
|
24
|
+
: runtime.phases.acceptIngress(runtime, ingress);
|
|
28
25
|
}
|
|
29
26
|
/**
|
|
30
27
|
* Dispatch only certified-history and re-anchor traffic during recovery.
|
|
@@ -98,18 +95,29 @@ function prepareRecoveryOutbox(runtime, snapshot, memberships, reanchoring) {
|
|
|
98
95
|
return verifyStoredOutbounds(runtime.input, snapshot.outboundMessages, memberships).pipe(Effect.mapError(recoveryFailure), Effect.flatMap((outbounds) => discardRestartedOutbounds(runtime, outbounds.filter((outbound) => reanchoring.has(outbound.conversationId))).pipe(Effect.as(outbounds.filter((outbound) => !reanchoring.has(outbound.conversationId))))), Effect.withSpan("prepareRecoveryOutbox"));
|
|
99
96
|
}
|
|
100
97
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
98
|
+
* Queue retained envelopes until the Router worker enables normal ingress.
|
|
99
|
+
* Recovery polling ignores proposals and action votes, so transmitting these
|
|
100
|
+
* envelopes through its transport could consume the evidence they need.
|
|
101
|
+
* @param runtime Engine whose ordinary sender waits for the recovery fence.
|
|
103
102
|
* @param outbounds Verified current envelopes retained by the endpoint store.
|
|
104
|
-
* @returns Completion after
|
|
103
|
+
* @returns Completion after retained identities are queued in durable order.
|
|
105
104
|
*/
|
|
106
|
-
function resumeRecoveryOutbox(
|
|
107
|
-
return Effect.
|
|
105
|
+
function resumeRecoveryOutbox(runtime, outbounds) {
|
|
106
|
+
return Effect.sync(() => {
|
|
107
|
+
for (const outbound of outbounds) {
|
|
108
|
+
if (!runtime.outbound.includes(outbound.outboundId)) {
|
|
109
|
+
runtime.outbound.push(outbound.outboundId);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}).pipe(Effect.zipRight(Queue.offer(runtime.outboundSignal, undefined)), Effect.asVoid, Effect.withSpan("resumeRecoveryOutbox"));
|
|
108
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Retire verified envelopes whose conversations require a new Router anchor.
|
|
116
|
+
* @param runtime Engine whose durable outbox retains the envelopes.
|
|
117
|
+
* @param outbounds Envelopes bound to the replaced Router instance.
|
|
118
|
+
* @returns Completion once the stale envelopes are inactive.
|
|
119
|
+
*/
|
|
109
120
|
function discardRestartedOutbounds(runtime, outbounds) {
|
|
110
|
-
if (outbounds.length === 0) {
|
|
111
|
-
return Effect.void;
|
|
112
|
-
}
|
|
113
121
|
return runtime.input.store
|
|
114
122
|
.discardOutbound(outbounds)
|
|
115
123
|
.pipe(Effect.mapError(recoveryFailure), Effect.asVoid);
|
|
@@ -332,7 +340,9 @@ function applyCatchUpPage(runtime, ingress, page) {
|
|
|
332
340
|
...ingress,
|
|
333
341
|
payload: { kind: "direct", packet: page.item },
|
|
334
342
|
};
|
|
335
|
-
return
|
|
343
|
+
return runtime.phases
|
|
344
|
+
.acceptRecoveryIngress(runtime, recordIngress)
|
|
345
|
+
.pipe(Effect.flatMap((disposition) => disposition === "accepted"
|
|
336
346
|
? Effect.void
|
|
337
347
|
: Effect.fail(persistenceFailure())));
|
|
338
348
|
}
|
|
@@ -428,7 +438,7 @@ function pendingCatchUpContext(runtime, request, senderAgentId) {
|
|
|
428
438
|
return { state, membership, pending };
|
|
429
439
|
}
|
|
430
440
|
function acceptRecoveryRecord(runtime, ingress) {
|
|
431
|
-
return
|
|
441
|
+
return runtime.phases.acceptRecoveryIngress(runtime, ingress).pipe(Effect.tap((disposition) => {
|
|
432
442
|
if (disposition !== "accepted" ||
|
|
433
443
|
ingress.payload.kind !== "direct" ||
|
|
434
444
|
ingress.payload.packet.kind !== "certified_record") {
|
|
@@ -444,9 +454,13 @@ function runRecovery(runtime, state, retainedOutbounds) {
|
|
|
444
454
|
yield* recoverPositions(runtime, state).pipe(Effect.mapError(recoveryFailure));
|
|
445
455
|
yield* completeRecoveryIfIdle(state);
|
|
446
456
|
yield* Effect.raceFirst(Deferred.await(state.completion), Fiber.join(sender));
|
|
447
|
-
yield*
|
|
448
|
-
yield*
|
|
449
|
-
|
|
457
|
+
yield* resumeRecoveryOutbox(runtime, retainedOutbounds);
|
|
458
|
+
yield* runtime.phases
|
|
459
|
+
.resumeDissemination(runtime)
|
|
460
|
+
.pipe(Effect.mapError(recoveryFailure));
|
|
461
|
+
yield* runtime.phases
|
|
462
|
+
.resumeFolds(runtime)
|
|
463
|
+
.pipe(Effect.mapError(recoveryFailure));
|
|
450
464
|
yield* resumePendingIntents(runtime, state);
|
|
451
465
|
});
|
|
452
466
|
}
|
|
@@ -457,7 +471,7 @@ function recoverPositions(runtime, state) {
|
|
|
457
471
|
return Effect.forEach(state.memberships.keys(), (conversationId) => requestCertifiedHistory(runtime, conversationId), { concurrency: 1, discard: true });
|
|
458
472
|
}
|
|
459
473
|
function resumePendingIntents(runtime, state) {
|
|
460
|
-
return runtime.outboundGate.withPermits(1)(resetReanchoredIntents(runtime, state.reanchoring).pipe(Effect.zipRight(resumeUncompletedIntents(runtime))
|
|
474
|
+
return runtime.outboundGate.withPermits(1)(resetReanchoredIntents(runtime, state.reanchoring).pipe(Effect.zipRight(resumeUncompletedIntents(runtime))));
|
|
461
475
|
}
|
|
462
476
|
/**
|
|
463
477
|
* Forget proposals bound to a replaced anchor so they repropose at the new one.
|
|
@@ -478,13 +492,8 @@ function resetReanchoredIntents(runtime, reanchoring) {
|
|
|
478
492
|
function resumeUncompletedIntents(runtime) {
|
|
479
493
|
return Effect.forEach(runtime.intents.values(), (intent) => runtime.completedPosts.has(intent.intent.postId)
|
|
480
494
|
? Effect.void
|
|
481
|
-
:
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
return Effect.sync(() => runtime.outbound.shift()).pipe(Effect.flatMap((outboundId) => outboundId === undefined
|
|
485
|
-
? Effect.void
|
|
486
|
-
: recovery
|
|
487
|
-
.resume(outboundId)
|
|
488
|
-
.pipe(Effect.zipRight(sendResumedOutbound(runtime, recovery)))));
|
|
495
|
+
: runtime.phases
|
|
496
|
+
.proposeIntent(runtime, intent)
|
|
497
|
+
.pipe(Effect.mapError(recoveryFailure)), { concurrency: 1, discard: true });
|
|
489
498
|
}
|
|
490
499
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** @file Verified reconstruction of endpoint history from one store snapshot. */
|
|
2
2
|
import { Effect, type ParseResult } from "effect";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import type { EndpointRecovery, StoredOutboundMessage } from "../../../store/index.js";
|
|
4
|
+
import type { EndpointEngineInput, EngineActionFold, EngineConversation, EngineRuntime } from "../runtime/index.js";
|
|
5
|
+
import { RouterWorkerPersistenceError, RouterWorkerRecoveryError } from "../../router/index.js";
|
|
6
|
+
import { type ActionHash, type CertifiedRecord, type ClientRepresentationError, type ConversationId as ConversationIdValue, type GenesisAnchorBody as GenesisAnchorBodyValue, type RecordHash as RecordHashValue, type VerifiedMembership } from "../../wire/index.js";
|
|
7
7
|
type RecoveryStoreError = ClientRepresentationError | ParseResult.ParseError | RouterWorkerPersistenceError;
|
|
8
8
|
/** Complete process-local projections recovered before protocol work resumes. */
|
|
9
9
|
interface RecoveredEngineState {
|
|
@@ -60,4 +60,4 @@ export declare function verifyStoredOutbounds(input: EndpointEngineInput, outbou
|
|
|
60
60
|
*/
|
|
61
61
|
export declare function verifyRecoveredHistory(runtime: EngineRuntime, recovery: EndpointRecovery, memberships: Map<ConversationIdValue, VerifiedMembership>): Effect.Effect<void, RouterWorkerRecoveryError>;
|
|
62
62
|
export {};
|
|
63
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../../src/transport/messaging/recovery/persistence.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAOjF,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAU,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,EACV,gBAAgB,EAEhB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAEhB,kBAAkB,EAClB,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,UAAU,EAIf,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAK9B,KAAK,cAAc,IAAI,mBAAmB,EAG1C,KAAK,iBAAiB,IAAI,sBAAsB,EAMhD,KAAK,UAAU,IAAI,eAAe,EAElC,KAAK,kBAAkB,EAOxB,MAAM,qBAAqB,CAAC;AAG7B,KAAK,kBAAkB,GACnB,yBAAyB,GACzB,WAAW,CAAC,UAAU,GACtB,4BAA4B,CAAC;AAEjC,iFAAiF;AACjF,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,aAAa,EAAE,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;IACrE,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAC7D,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,SAAS,qBAAqB,EAAE,CAAC;CAC7D;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,UACtB,mBAAmB,YAChB,gBAAgB,KACzB,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAyCT,CAAC;AAEjD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,UACnB,mBAAmB,UAClB,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,gBACtC,kBAAkB,CAAC,eAAe,CAAC,KAChD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAejD,CAAC;AAEJ;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,gBAAgB,GACzB,MAAM,CAAC,MAAM,CACd,sBAAsB,CAAC,kBAAkB,CAAC,EAC1C,yBAAyB,CAC1B,CAqBA;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAC1C,MAAM,CAAC,MAAM,CACd,kBAAkB,CAAC,eAAe,CAAC,EACnC,4BAA4B,CAC7B,CAMA;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,WAAW,EAAE,WAAW,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAChE,MAAM,CAAC,MAAM,CAAC,SAAS,qBAAqB,EAAE,EAAE,kBAAkB,CAAC,CAMrE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GACxD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAShD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** @file Verified reconstruction of endpoint history from one store snapshot. */
|
|
2
2
|
import { SignedMessage, } from "@moltzap/identity";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { recoverFoldEvidence } from "./
|
|
4
|
+
import { RouterWorkerPersistenceError, RouterWorkerRecoveryError, } from "../../router/index.js";
|
|
5
|
+
import { ActionCore, ActionHash as ActionHashSchema, AnchorHash, compareAgentIds, CompletedReanchor, ConversationId, decodeCanonical, GenesisAnchorBody, hashAnchor, MembershipDescriptor, RecordCore as RecordCoreSchema, RecordHash, verifyActionCore, verifyCertifiedRecord, verifyCompletedReanchor, verifyMembershipDescriptor, verifyOuterMessage, verifyRecordCore, } from "../../wire/index.js";
|
|
6
|
+
import { recoverFoldEvidence } from "./evidence.js";
|
|
7
7
|
/**
|
|
8
8
|
* Rebuild only state whose hashes, signatures, and cross-fields still verify.
|
|
9
9
|
* @param input Engine dependencies used to verify persisted representation.
|
|
@@ -518,4 +518,4 @@ function persistenceFailure() {
|
|
|
518
518
|
function recoveryFailure() {
|
|
519
519
|
return new RouterWorkerRecoveryError();
|
|
520
520
|
}
|
|
521
|
-
//# sourceMappingURL=
|
|
521
|
+
//# sourceMappingURL=persistence.js.map
|