@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
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Answer validation against a collective request's form-mode schema.
|
|
3
|
+
*
|
|
4
|
+
* Validation runs field by field so a failure names each failing field rather
|
|
5
|
+
* than one combined message. The form-mode grammar is flat, so a field's
|
|
6
|
+
* property schema is the whole rule for that field.
|
|
7
|
+
*
|
|
8
|
+
* Each keyword has its JSON Schema 2020-12 meaning, and every failing keyword
|
|
9
|
+
* is reported: a keyword that constrains one JSON type applies only to a
|
|
10
|
+
* value of that type, while `type`, `enum` and `oneOf` apply to any value.
|
|
11
|
+
*/
|
|
12
|
+
import { Effect, Predicate } from "effect";
|
|
13
|
+
import { matchesFormat } from "./answer-formats.js";
|
|
14
|
+
import { answerFieldsText, } from "./forms.js";
|
|
15
|
+
const ALLOWED_VALUES = "must be one of the allowed values";
|
|
16
|
+
/** Every JSON Schema check a form field's keywords make of an answer. */
|
|
17
|
+
const keywordChecks = [
|
|
18
|
+
typeIssues,
|
|
19
|
+
limitIssues,
|
|
20
|
+
formatIssues,
|
|
21
|
+
enumIssues,
|
|
22
|
+
oneOfIssues,
|
|
23
|
+
itemIssues,
|
|
24
|
+
];
|
|
25
|
+
/** The limit keywords, each applying to one JSON type. */
|
|
26
|
+
const limitKeywords = [
|
|
27
|
+
{
|
|
28
|
+
keyword: "minLength",
|
|
29
|
+
measure: codePointLength,
|
|
30
|
+
fails: below,
|
|
31
|
+
requires: (limit) => `must have at least ${limit} characters`,
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
keyword: "maxLength",
|
|
35
|
+
measure: codePointLength,
|
|
36
|
+
fails: above,
|
|
37
|
+
requires: (limit) => `must have at most ${limit} characters`,
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
keyword: "minimum",
|
|
41
|
+
measure: numericValue,
|
|
42
|
+
fails: below,
|
|
43
|
+
requires: (limit) => `must be >= ${limit}`,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
keyword: "maximum",
|
|
47
|
+
measure: numericValue,
|
|
48
|
+
fails: above,
|
|
49
|
+
requires: (limit) => `must be <= ${limit}`,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
keyword: "minItems",
|
|
53
|
+
measure: itemCount,
|
|
54
|
+
fails: below,
|
|
55
|
+
requires: (limit) => `must have at least ${limit} items`,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
keyword: "maxItems",
|
|
59
|
+
measure: itemCount,
|
|
60
|
+
fails: above,
|
|
61
|
+
requires: (limit) => `must have at most ${limit} items`,
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
/**
|
|
65
|
+
* Field names come from peers, so a lookup ignores the prototype chain: an
|
|
66
|
+
* answer field named `constructor` must not find `Object.prototype.constructor`.
|
|
67
|
+
*/
|
|
68
|
+
const ownValue = (record, key) => (Object.hasOwn(record, key) ? record[key] : undefined);
|
|
69
|
+
function fieldFailure(requestedSchema, content, field) {
|
|
70
|
+
const definition = ownValue(requestedSchema.properties, field);
|
|
71
|
+
if (definition === undefined) {
|
|
72
|
+
return { field, reason: "unexpected" };
|
|
73
|
+
}
|
|
74
|
+
const value = ownValue(content, field);
|
|
75
|
+
if (value === undefined) {
|
|
76
|
+
return requestedSchema.required?.includes(field) === true
|
|
77
|
+
? { field, reason: "missing" }
|
|
78
|
+
: undefined;
|
|
79
|
+
}
|
|
80
|
+
const issues = answerIssues(definition, value);
|
|
81
|
+
return issues.length === 0
|
|
82
|
+
? undefined
|
|
83
|
+
: { field, reason: "invalid", detail: issues.join(", ") };
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check an answer against the schema its request carried.
|
|
87
|
+
* @param requestedSchema The request's form-mode schema.
|
|
88
|
+
* @param content The member's answer.
|
|
89
|
+
* @returns The answer unchanged, or every failing field.
|
|
90
|
+
*/
|
|
91
|
+
export const validateAnswer = (requestedSchema, content) => {
|
|
92
|
+
const fields = new Set([
|
|
93
|
+
...Object.keys(requestedSchema.properties),
|
|
94
|
+
...Object.keys(content),
|
|
95
|
+
]);
|
|
96
|
+
const [first, ...rest] = [...fields].flatMap((field) => {
|
|
97
|
+
const failure = fieldFailure(requestedSchema, content, field);
|
|
98
|
+
return failure === undefined ? [] : [failure];
|
|
99
|
+
});
|
|
100
|
+
return first === undefined
|
|
101
|
+
? Effect.succeed(content)
|
|
102
|
+
: Effect.fail([first, ...rest]);
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Record a received response as the member's outcome. An `accept` whose content
|
|
106
|
+
* fails the request's schema is recorded as invalid rather than rejected.
|
|
107
|
+
* @param requestedSchema The schema the request carried.
|
|
108
|
+
* @param response The member's decoded response.
|
|
109
|
+
* @returns The member's outcome.
|
|
110
|
+
*/
|
|
111
|
+
export const outcomeOfResponse = (requestedSchema, response) => {
|
|
112
|
+
switch (response.action) {
|
|
113
|
+
case "accept":
|
|
114
|
+
return validateAnswer(requestedSchema, response.content).pipe(Effect.match({
|
|
115
|
+
onFailure: (fields) => ({
|
|
116
|
+
kind: "invalid",
|
|
117
|
+
reason: answerFieldsText(fields),
|
|
118
|
+
}),
|
|
119
|
+
onSuccess: (content) => ({
|
|
120
|
+
kind: "answered",
|
|
121
|
+
content,
|
|
122
|
+
}),
|
|
123
|
+
}));
|
|
124
|
+
case "decline":
|
|
125
|
+
return Effect.succeed({ kind: "declined" });
|
|
126
|
+
default: {
|
|
127
|
+
const exhaustive = response;
|
|
128
|
+
return exhaustive;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Every failing keyword of one answer value. A titled single-select's value
|
|
134
|
+
* must equal exactly one option, so options repeating a `const` admit
|
|
135
|
+
* neither.
|
|
136
|
+
* @param field The field's admitted property schema.
|
|
137
|
+
* @param value The answer's value for the field.
|
|
138
|
+
* @returns Each failing keyword with what it requires; empty when the value
|
|
139
|
+
* satisfies the field.
|
|
140
|
+
*/
|
|
141
|
+
function answerIssues(field, value) {
|
|
142
|
+
return keywordChecks.flatMap((check) => check(field, value));
|
|
143
|
+
}
|
|
144
|
+
function typeIssues(field, value) {
|
|
145
|
+
return hasType(field, value) ? [] : [`type: must be ${field.type}`];
|
|
146
|
+
}
|
|
147
|
+
function hasType(field, value) {
|
|
148
|
+
switch (field.type) {
|
|
149
|
+
case "string":
|
|
150
|
+
return typeof value === "string";
|
|
151
|
+
case "number":
|
|
152
|
+
return typeof value === "number";
|
|
153
|
+
case "integer":
|
|
154
|
+
return typeof value === "number" && Number.isInteger(value);
|
|
155
|
+
case "boolean":
|
|
156
|
+
return typeof value === "boolean";
|
|
157
|
+
case "array":
|
|
158
|
+
return Array.isArray(value);
|
|
159
|
+
default: {
|
|
160
|
+
const exhaustive = field;
|
|
161
|
+
return exhaustive;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
function limitIssues(field, value) {
|
|
166
|
+
return limitKeywords.flatMap(({ keyword, measure, fails, requires }) => {
|
|
167
|
+
const limit = limitOf(field, keyword);
|
|
168
|
+
const measured = measure(value);
|
|
169
|
+
return limit === undefined ||
|
|
170
|
+
measured === undefined ||
|
|
171
|
+
!fails(measured, limit)
|
|
172
|
+
? []
|
|
173
|
+
: [`${keyword}: ${requires(limit)}`];
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
function limitOf(field, keyword) {
|
|
177
|
+
const limit = Predicate.hasProperty(field, keyword)
|
|
178
|
+
? field[keyword]
|
|
179
|
+
: undefined;
|
|
180
|
+
return typeof limit === "number" ? limit : undefined;
|
|
181
|
+
}
|
|
182
|
+
function formatIssues(field, value) {
|
|
183
|
+
if (typeof value !== "string" ||
|
|
184
|
+
!("format" in field) ||
|
|
185
|
+
field.format === undefined) {
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
return matchesFormat(field.format, value)
|
|
189
|
+
? []
|
|
190
|
+
: [`format: must match format "${field.format}"`];
|
|
191
|
+
}
|
|
192
|
+
function enumIssues(field, value) {
|
|
193
|
+
return "enum" in field && !field.enum.some((allowed) => allowed === value)
|
|
194
|
+
? [`enum: ${ALLOWED_VALUES}`]
|
|
195
|
+
: [];
|
|
196
|
+
}
|
|
197
|
+
function oneOfIssues(field, value) {
|
|
198
|
+
return "oneOf" in field &&
|
|
199
|
+
field.oneOf.filter((option) => option.const === value).length !== 1
|
|
200
|
+
? ["oneOf: must equal exactly one option's const"]
|
|
201
|
+
: [];
|
|
202
|
+
}
|
|
203
|
+
function itemIssues(field, value) {
|
|
204
|
+
if (typeof value !== "object" || !("items" in field)) {
|
|
205
|
+
return [];
|
|
206
|
+
}
|
|
207
|
+
const { items } = field;
|
|
208
|
+
return value.flatMap((item, index) => selectedItemIssues(items, item, index));
|
|
209
|
+
}
|
|
210
|
+
function selectedItemIssues(items, item, index) {
|
|
211
|
+
if ("enum" in items) {
|
|
212
|
+
return items.enum.includes(item)
|
|
213
|
+
? []
|
|
214
|
+
: [`items[${index}].enum: ${ALLOWED_VALUES}`];
|
|
215
|
+
}
|
|
216
|
+
return items.anyOf.some((option) => option.const === item)
|
|
217
|
+
? []
|
|
218
|
+
: [`items[${index}].anyOf: must equal some option's const`];
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* A string's length in Unicode code points, as JSON Schema counts it, so an
|
|
222
|
+
* astral character such as an emoji counts once.
|
|
223
|
+
*/
|
|
224
|
+
function codePointLength(value) {
|
|
225
|
+
return typeof value === "string" ? Array.from(value).length : undefined;
|
|
226
|
+
}
|
|
227
|
+
function numericValue(value) {
|
|
228
|
+
return typeof value === "number" ? value : undefined;
|
|
229
|
+
}
|
|
230
|
+
function itemCount(value) {
|
|
231
|
+
return Array.isArray(value) ? value.length : undefined;
|
|
232
|
+
}
|
|
233
|
+
function below(measured, limit) {
|
|
234
|
+
return measured < limit;
|
|
235
|
+
}
|
|
236
|
+
function above(measured, limit) {
|
|
237
|
+
return measured > limit;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/transport/collectives/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
import type { Registry } from "@moltzap/identity/registry";
|
|
3
3
|
import { AgentName, type VerifiedAgentCard } from "@moltzap/identity";
|
|
4
4
|
import { type Context, Effect } from "effect";
|
|
5
|
-
import { AgentAddress, GroupAddress, type MessageAddressInput
|
|
5
|
+
import { AgentAddress, GroupAddress, type MessageAddressInput } from "../wire/values.js";
|
|
6
|
+
import { SendError } from "./errors.js";
|
|
6
7
|
/** Minimal Registry capability required by address resolution. */
|
|
7
8
|
export type AddressRegistryPort = Pick<Context.Tag.Service<typeof Registry>, "lookup">;
|
|
8
9
|
/** Resolved deterministic membership for a direct destination. */
|
|
@@ -48,8 +49,10 @@ export type CanonicalMessageAddress = {
|
|
|
48
49
|
/**
|
|
49
50
|
* Put one destination in canonical form, the rule every send shares. An
|
|
50
51
|
* `agent:` address names one other agent. A `group:` address names each agent
|
|
51
|
-
* once
|
|
52
|
-
*
|
|
52
|
+
* once and the local agent is added when absent. Naming one other agent makes
|
|
53
|
+
* it that agent's direct address, since the two-member set is the direct
|
|
54
|
+
* conversation; otherwise the complete group has 3 to `maximumMembers` members
|
|
55
|
+
* in unsigned ASCII name order.
|
|
53
56
|
* @param to The validated destination input.
|
|
54
57
|
* @param localAgentName The local agent's Registry name.
|
|
55
58
|
* @returns The canonical address with its names, local agent included for a
|
|
@@ -57,4 +60,4 @@ export type CanonicalMessageAddress = {
|
|
|
57
60
|
*/
|
|
58
61
|
export declare function canonicalMessageAddress(to: MessageAddressInput, localAgentName: string): Effect.Effect<CanonicalMessageAddress, SendError>;
|
|
59
62
|
export {};
|
|
60
|
-
//# sourceMappingURL=
|
|
63
|
+
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/transport/messaging/address.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AACtD,OAAO,EAEL,YAAY,EAIZ,YAAY,EAEZ,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,EACpC,QAAQ,CACT,CAAC;AAEF,kEAAkE;AAClE,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;CACvE;AAED,uEAAuE;AACvE,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS;QAC7B,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,GAAG,iBAAiB,EAAE;KACvB,CAAC;CACH;AAED,8EAA8E;AAC9E,MAAM,MAAM,sBAAsB,GAC9B,qBAAqB,GACrB,oBAAoB,CAAC;AAEzB,UAAU,0BAA0B;IAClC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAAC,MAAM,CAAC,sBAAsB,EAAE,SAAS,CAAC,CASlD;AAED,mEAAmE;AACnE,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;CAChC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,SAAS,SAAS,EAAE,CAAC;CAC5C,CAAC;AAEN;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CACrC,EAAE,EAAE,mBAAmB,EACvB,cAAc,EAAE,MAAM,GACrB,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAInD"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
/** @file Private address resolution from runtime names to immutable cards. */
|
|
2
2
|
import { AgentName } from "@moltzap/identity";
|
|
3
3
|
import { Effect, Schema } from "effect";
|
|
4
|
-
import { AgentAddress, GroupAddress,
|
|
5
|
-
import {
|
|
6
|
-
const AGENT_ADDRESS_PREFIX = "agent:";
|
|
7
|
-
const GROUP_ADDRESS_PREFIX = "group:";
|
|
8
|
-
const MAXIMUM_GROUP_MEMBERS = 32;
|
|
4
|
+
import { AGENT_ADDRESS_PREFIX, AgentAddress, compareAgentIds, compareAscii, GROUP_ADDRESS_PREFIX, GroupAddress, maximumMembers, } from "../wire/values.js";
|
|
5
|
+
import { SendError } from "./errors.js";
|
|
9
6
|
/**
|
|
10
7
|
* Resolve one explicit runtime destination to canonical immutable membership.
|
|
11
8
|
* @param input Local verified identity, Registry lookup, and validated input.
|
|
@@ -19,8 +16,10 @@ export function resolveMessageAddress(input) {
|
|
|
19
16
|
/**
|
|
20
17
|
* Put one destination in canonical form, the rule every send shares. An
|
|
21
18
|
* `agent:` address names one other agent. A `group:` address names each agent
|
|
22
|
-
* once
|
|
23
|
-
*
|
|
19
|
+
* once and the local agent is added when absent. Naming one other agent makes
|
|
20
|
+
* it that agent's direct address, since the two-member set is the direct
|
|
21
|
+
* conversation; otherwise the complete group has 3 to `maximumMembers` members
|
|
22
|
+
* in unsigned ASCII name order.
|
|
24
23
|
* @param to The validated destination input.
|
|
25
24
|
* @param localAgentName The local agent's Registry name.
|
|
26
25
|
* @returns The canonical address with its names, local agent included for a
|
|
@@ -34,8 +33,14 @@ export function canonicalMessageAddress(to, localAgentName) {
|
|
|
34
33
|
function invalidAddress() {
|
|
35
34
|
return new SendError({ reason: "invalid-address" });
|
|
36
35
|
}
|
|
37
|
-
function invalidMembership() {
|
|
38
|
-
return new SendError({ reason: "membership-invalid" });
|
|
36
|
+
function invalidMembership(detail) {
|
|
37
|
+
return new SendError({ reason: "membership-invalid", detail });
|
|
38
|
+
}
|
|
39
|
+
function unknownAgent(agentName) {
|
|
40
|
+
return new SendError({
|
|
41
|
+
reason: "unknown-agent",
|
|
42
|
+
detail: `${AGENT_ADDRESS_PREFIX}${agentName} is not a known agent`,
|
|
43
|
+
});
|
|
39
44
|
}
|
|
40
45
|
function mapRegistryFailure(error) {
|
|
41
46
|
return new SendError({
|
|
@@ -44,16 +49,6 @@ function mapRegistryFailure(error) {
|
|
|
44
49
|
: "network-unavailable",
|
|
45
50
|
});
|
|
46
51
|
}
|
|
47
|
-
function compareAscii(left, right) {
|
|
48
|
-
const sharedLength = Math.min(left.length, right.length);
|
|
49
|
-
for (let index = 0; index < sharedLength; index += 1) {
|
|
50
|
-
const difference = left.charCodeAt(index) - right.charCodeAt(index);
|
|
51
|
-
if (difference !== 0) {
|
|
52
|
-
return difference;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return left.length - right.length;
|
|
56
|
-
}
|
|
57
52
|
function orderMemberCards(cards) {
|
|
58
53
|
const ordered = cards.slice();
|
|
59
54
|
ordered.sort((left, right) => compareAgentIds(left.agentId, right.agentId));
|
|
@@ -65,18 +60,18 @@ function decodeAgentName(value) {
|
|
|
65
60
|
function lookupCard(registry, agentName) {
|
|
66
61
|
return registry.lookup({ agentName }).pipe(Effect.mapError(mapRegistryFailure), Effect.flatMap((result) => {
|
|
67
62
|
if (result.kind === "not_found") {
|
|
68
|
-
return Effect.fail(
|
|
63
|
+
return Effect.fail(unknownAgent(agentName));
|
|
69
64
|
}
|
|
70
65
|
return result.agentCard.agentName === agentName
|
|
71
66
|
? Effect.succeed(result.agentCard)
|
|
72
|
-
: Effect.fail(
|
|
67
|
+
: Effect.fail(unknownAgent(agentName));
|
|
73
68
|
}));
|
|
74
69
|
}
|
|
75
70
|
function canonicalDirect(to, localAgentName) {
|
|
76
71
|
return Effect.gen(function* () {
|
|
77
72
|
const remoteName = yield* decodeAgentName(to.slice(AGENT_ADDRESS_PREFIX.length));
|
|
78
73
|
if (remoteName === localAgentName) {
|
|
79
|
-
return yield* invalidMembership();
|
|
74
|
+
return yield* invalidMembership("the address names only you");
|
|
80
75
|
}
|
|
81
76
|
const address = yield* Schema.decodeUnknown(AgentAddress)(to).pipe(Effect.mapError(invalidAddress));
|
|
82
77
|
return { kind: "direct", address, remoteName };
|
|
@@ -86,14 +81,23 @@ function canonicalGroup(to, localAgentName) {
|
|
|
86
81
|
return Effect.gen(function* () {
|
|
87
82
|
const explicitNames = yield* Effect.forEach(to.slice(GROUP_ADDRESS_PREFIX.length).split(","), decodeAgentName, { concurrency: 1 });
|
|
88
83
|
if (new Set(explicitNames).size !== explicitNames.length) {
|
|
89
|
-
return yield* invalidMembership();
|
|
84
|
+
return yield* invalidMembership("the address names an agent more than once");
|
|
90
85
|
}
|
|
91
86
|
const localName = yield* decodeAgentName(localAgentName);
|
|
92
87
|
const memberNames = explicitNames.includes(localName)
|
|
93
88
|
? explicitNames.slice()
|
|
94
89
|
: [...explicitNames, localName];
|
|
95
|
-
|
|
96
|
-
|
|
90
|
+
const others = memberNames.filter((name) => name !== localName);
|
|
91
|
+
const [onlyOther] = others;
|
|
92
|
+
if (onlyOther === undefined) {
|
|
93
|
+
return yield* invalidMembership("the address names only you");
|
|
94
|
+
}
|
|
95
|
+
if (others.length === 1) {
|
|
96
|
+
const address = yield* Schema.decodeUnknown(AgentAddress)(`${AGENT_ADDRESS_PREFIX}${onlyOther}`).pipe(Effect.mapError(invalidAddress));
|
|
97
|
+
return { kind: "direct", address, remoteName: onlyOther };
|
|
98
|
+
}
|
|
99
|
+
if (memberNames.length > maximumMembers) {
|
|
100
|
+
return yield* invalidMembership(`a group has at most ${String(maximumMembers)} members`);
|
|
97
101
|
}
|
|
98
102
|
memberNames.sort(compareAscii);
|
|
99
103
|
const address = yield* Schema.decodeUnknown(GroupAddress)(`${GROUP_ADDRESS_PREFIX}${memberNames.join(",")}`).pipe(Effect.mapError(invalidAddress));
|
|
@@ -135,4 +139,4 @@ function resolveGroup(input, canonical) {
|
|
|
135
139
|
};
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
|
-
//# sourceMappingURL=
|
|
142
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/transport/messaging/address.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @file Router-ordered proposal selection and addressed record certification. */
|
|
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 } from "../router/index.js";
|
|
5
|
+
import { type DecodedOuterBody } from "../wire/index.js";
|
|
6
6
|
/**
|
|
7
7
|
* Apply one semantically verified Router-ordered protocol value.
|
|
8
8
|
* @param runtime Current engine state and durable protocol dependencies.
|
|
@@ -23,4 +23,4 @@ export declare const acceptEngineRecoveryIngress: (runtime: EngineRuntime, ingre
|
|
|
23
23
|
* @returns Completion after all resumable evidence work has been queued.
|
|
24
24
|
*/
|
|
25
25
|
export declare const resumeEngineFolds: (runtime: EngineRuntime) => Effect.Effect<void, RouterWorkerPersistenceError>;
|
|
26
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=certification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certification.d.ts","sourceRoot":"","sources":["../../../src/transport/messaging/certification.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAGlF,OAAO,EAAY,MAAM,EAAgC,MAAM,QAAQ,CAAC;AAOxE,OAAO,KAAK,EAIV,aAAa,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EASL,KAAK,gBAAgB,EAetB,MAAM,kBAAkB,CAAC;AA85B1B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,YACrB,aAAa,WACb,mBAAmB,CAAC,gBAAgB,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAalE,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,YAC7B,aAAa,WACb,mBAAmB,CAAC,gBAAgB,CAAC,KAC7C,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE,4BAA4B,CAkBlE,CAAC;AAEN;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,YACnB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CA0B9C,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/** @file Router-ordered proposal selection and addressed record certification. */
|
|
2
2
|
import { MOLTZAP_VERSION } from "@moltzap/identity";
|
|
3
3
|
import { Deferred, Effect, SubscriptionRef } from "effect";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { ActionCore as ActionCoreSchema, ClientRepresentationError, encodeCanonical, GenesisAnchorBody, hashAnchor, MembershipDescriptor, quorumThreshold, signEvidenceMessage, verifyActionCertifiedRecord, verifyActionProposal, verifyCertifiedRecord, verifyMembershipDescriptor, verifyOuterMessage, verifyStableEvidence, } from "../representation.js";
|
|
7
|
-
import { RouterWorkerPersistenceError, } from "../router-worker/index.js";
|
|
4
|
+
import { RouterWorkerPersistenceError, } from "../router/index.js";
|
|
5
|
+
import { ActionCore as ActionCoreSchema, ClientRepresentationError, encodeCanonical, GenesisAnchorBody, hashAnchor, MembershipDescriptor, quorumThreshold, signEvidenceMessage, verifyActionCertifiedRecord, verifyActionProposal, verifyCertifiedRecord, verifyMembershipDescriptor, verifyOuterMessage, verifyStableEvidence, } from "../wire/index.js";
|
|
8
6
|
import { evidenceMatchesFold, evidenceRoute, verifiedEvidenceForRoute, } from "./evidence.js";
|
|
7
|
+
import { inboundDelivery, makeActionCertifiedRecord, makeCertifiedRecord, protocolEvidence, recordAnchorHash, stagedRecord, storedCertifiedRecord, } from "./records/index.js";
|
|
9
8
|
const persistenceFailure = () => new RouterWorkerPersistenceError();
|
|
10
9
|
const isSemanticStoreRejection = (error) => error.reason === "conflict" || error.reason === "invalid-input";
|
|
11
10
|
const localRepresentationFailure = () => persistenceFailure();
|
|
@@ -120,7 +119,7 @@ const localActionEvidence = (runtime, fold) => Effect.gen(function* () {
|
|
|
120
119
|
if (!retained) {
|
|
121
120
|
yield* mergeEvidence(runtime, fold, "action", evidence);
|
|
122
121
|
}
|
|
123
|
-
yield* Effect.uninterruptible(queueEvidence(runtime, fold.conversation, evidence).pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(Effect.sync(() => {
|
|
122
|
+
yield* Effect.uninterruptible(runtime.phases.queueEvidence(runtime, fold.conversation, evidence).pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(Effect.sync(() => {
|
|
124
123
|
fold.localActionEvidenceQueued = true;
|
|
125
124
|
}))));
|
|
126
125
|
});
|
|
@@ -194,7 +193,7 @@ const localDurabilityEvidence = (runtime, fold) => Effect.gen(function* () {
|
|
|
194
193
|
if (retained === undefined) {
|
|
195
194
|
yield* mergeEvidence(runtime, fold, "durability", evidence);
|
|
196
195
|
}
|
|
197
|
-
yield* Effect.uninterruptible(queueEvidence(runtime, fold.conversation, evidence).pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(Effect.sync(() => {
|
|
196
|
+
yield* Effect.uninterruptible(runtime.phases.queueEvidence(runtime, fold.conversation, evidence).pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(Effect.sync(() => {
|
|
198
197
|
fold.localDurabilityEvidenceQueued = true;
|
|
199
198
|
}))));
|
|
200
199
|
});
|
|
@@ -216,6 +215,8 @@ function completePromotion(runtime, fold, record) {
|
|
|
216
215
|
: Deferred.succeed(intent.completion, record.actionCertifiedRecord.recordHash).pipe(Effect.asVoid)));
|
|
217
216
|
}
|
|
218
217
|
const reproposalDispositionByReason = {
|
|
218
|
+
"idempotency-conflict": "fail",
|
|
219
|
+
"outcome-unknown": "fail",
|
|
219
220
|
"certification-unavailable": "ignore",
|
|
220
221
|
"content-invalid": "fail",
|
|
221
222
|
"invalid-address": "fail",
|
|
@@ -226,7 +227,7 @@ const reproposalDispositionByReason = {
|
|
|
226
227
|
"unknown-agent": "fail",
|
|
227
228
|
"version-mismatch": "fail",
|
|
228
229
|
};
|
|
229
|
-
const reproposePendingIntent = (runtime, pending) => proposeIntent(runtime, pending).pipe(Effect.asVoid, Effect.catchTag("SendError", (error) => reproposalDispositionByReason[error.reason] === "ignore"
|
|
230
|
+
const reproposePendingIntent = (runtime, pending) => runtime.phases.proposeIntent(runtime, pending).pipe(Effect.asVoid, Effect.catchTag("SendError", (error) => reproposalDispositionByReason[error.reason] === "ignore"
|
|
230
231
|
? Effect.void
|
|
231
232
|
: Effect.fail(persistenceFailure())));
|
|
232
233
|
const rebasePendingIntents = (runtime, conversationId) => Effect.forEach(runtime.intents.values(), (pending) => pending.intent.conversationId === conversationId &&
|
|
@@ -277,7 +278,9 @@ const promote = (runtime, fold, record, source) => Effect.gen(function* () {
|
|
|
277
278
|
? persistPromotionWithoutDelivery(runtime, stored, source)
|
|
278
279
|
: persistPromotionWithDelivery(runtime, stored, source, delivery);
|
|
279
280
|
const queuePromotion = source === "assembled"
|
|
280
|
-
?
|
|
281
|
+
? runtime.phases
|
|
282
|
+
.queueCertifiedPacket(runtime, fold.conversation, record)
|
|
283
|
+
.pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(markCertifiedPacketQueued(fold)))
|
|
281
284
|
: Effect.sync(() => {
|
|
282
285
|
fold.actionCertifiedRecordQueued = true;
|
|
283
286
|
fold.certifiedRecordQueued = true;
|
|
@@ -317,7 +320,9 @@ const stageActionCertificate = (runtime, fold, record, source) => Effect.gen(fun
|
|
|
317
320
|
runtime.recordFolds.set(record.recordHash, fold);
|
|
318
321
|
});
|
|
319
322
|
if (source === "assembled") {
|
|
320
|
-
yield* Effect.uninterruptible(
|
|
323
|
+
yield* Effect.uninterruptible(runtime.phases
|
|
324
|
+
.queueCertifiedPacket(runtime, fold.conversation, record)
|
|
325
|
+
.pipe(Effect.mapError(() => persistenceFailure()), Effect.zipRight(Effect.sync(() => {
|
|
321
326
|
fold.actionCertifiedRecordQueued = true;
|
|
322
327
|
})), Effect.zipRight(updateFold)));
|
|
323
328
|
}
|
|
@@ -537,4 +542,4 @@ export const resumeEngineFolds = (runtime) => runtime.gate
|
|
|
537
542
|
}
|
|
538
543
|
}), { concurrency: 1, discard: true }))
|
|
539
544
|
.pipe(Effect.catchTag("EndpointStoreError", () => Effect.fail(persistenceFailure())), Effect.withSpan("resumeEngineFolds"));
|
|
540
|
-
//# sourceMappingURL=
|
|
545
|
+
//# sourceMappingURL=certification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"certification.js","sourceRoot":"","sources":["../../../src/transport/messaging/certification.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/** @file Recovery of durable certified-record dissemination obligations. */
|
|
2
2
|
import { Effect } from "effect";
|
|
3
|
-
import type { EngineRuntime } from "./
|
|
4
|
-
import { RouterWorkerPersistenceError } from "
|
|
3
|
+
import type { EngineRuntime } from "./runtime/index.js";
|
|
4
|
+
import { RouterWorkerPersistenceError } from "../router/index.js";
|
|
5
5
|
/**
|
|
6
6
|
* Attach every durable certification obligation that lacks an outer envelope.
|
|
7
7
|
* @param runtime Recovered engine state and durable protocol dependencies.
|
|
8
8
|
* @returns Completion after every obligation has one exact retained outbox row.
|
|
9
9
|
*/
|
|
10
10
|
export declare function resumeDisseminationObligations(runtime: EngineRuntime): Effect.Effect<void, RouterWorkerPersistenceError>;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=dissemination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dissemination.d.ts","sourceRoot":"","sources":["../../../src/transport/messaging/dissemination.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAoB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAiBlE;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,aAAa,GACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAanD"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/** @file Recovery of durable certified-record dissemination obligations. */
|
|
2
2
|
import { Effect, Schema } from "effect";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { RouterWorkerPersistenceError } from "./router-worker/index.js";
|
|
3
|
+
import { RouterWorkerPersistenceError } from "../router/index.js";
|
|
4
|
+
import { ConversationId, RecordHash, } from "../wire/index.js";
|
|
5
|
+
import { makeActionCertifiedRecord, recordAnchorHash, } from "./records/index.js";
|
|
7
6
|
/**
|
|
8
7
|
* Attach every durable certification obligation that lacks an outer envelope.
|
|
9
8
|
* @param runtime Recovered engine state and durable protocol dependencies.
|
|
@@ -16,7 +15,9 @@ function attachObligation(runtime, obligation) {
|
|
|
16
15
|
return Effect.gen(function* () {
|
|
17
16
|
const { fold, recordHash } = yield* obligationFold(runtime, obligation);
|
|
18
17
|
const packet = yield* packetForObligation(fold, obligation, recordHash);
|
|
19
|
-
yield* Effect.uninterruptible(
|
|
18
|
+
yield* Effect.uninterruptible(runtime.phases
|
|
19
|
+
.queueCertifiedPacket(runtime, fold.conversation, packet)
|
|
20
|
+
.pipe(Effect.mapError(persistenceFailure), Effect.zipRight(markQueued(fold, obligation.kind))));
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
function obligationFold(runtime, obligation) {
|
|
@@ -68,4 +69,4 @@ function markQueued(fold, kind) {
|
|
|
68
69
|
function persistenceFailure() {
|
|
69
70
|
return new RouterWorkerPersistenceError();
|
|
70
71
|
}
|
|
71
|
-
//# sourceMappingURL=
|
|
72
|
+
//# sourceMappingURL=dissemination.js.map
|