@moltzap/client 2026.1002.0 → 2026.1004.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/README.md +2 -2
- package/bin/moltzapd +2 -2
- package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +94 -133
- 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 +141 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +129 -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 +789 -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 +296 -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/{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} +3 -4
- package/dist/endpoint/mcp/owner-tools.js.map +1 -0
- package/dist/endpoint/mcp/schemas.d.ts +60 -0
- package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
- package/dist/endpoint/mcp/schemas.js +116 -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} +229 -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 +19 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -5
- package/dist/index.js.map +1 -1
- package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +8 -4
- package/dist/index.types-check.d.ts.map +1 -0
- package/dist/{contract.types-check.js → index.types-check.js} +4 -3
- package/dist/index.types-check.js.map +1 -0
- package/dist/{daemon/runtime → service}/activation.d.ts +9 -12
- package/dist/service/activation.d.ts.map +1 -0
- package/dist/{daemon/runtime → service}/activation.js +3 -3
- package/dist/service/activation.js.map +1 -0
- package/dist/{daemon → service}/configuration.d.ts +8 -7
- package/dist/service/configuration.d.ts.map +1 -0
- package/dist/{daemon → service}/configuration.js +30 -28
- package/dist/service/configuration.js.map +1 -0
- package/dist/{daemon/runtime → service}/controller.d.ts +8 -6
- 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} +3 -3
- package/dist/service/lifecycle.d.ts.map +1 -0
- package/dist/{daemon/runtime/index.js → service/lifecycle.js} +28 -25
- package/dist/service/lifecycle.js.map +1 -0
- package/dist/{daemon → service}/management.d.ts +2 -2
- package/dist/service/management.d.ts.map +1 -0
- package/dist/{daemon → service}/management.js +2 -13
- package/dist/service/management.js.map +1 -0
- package/dist/{daemon → service}/registration.d.ts +1 -1
- package/dist/service/registration.d.ts.map +1 -0
- package/dist/{daemon → service}/registration.js +1 -2
- package/dist/service/registration.js.map +1 -0
- package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +16 -24
- package/dist/service/supervision.d.ts.map +1 -0
- package/dist/{daemon/runtime/protocol.js → service/supervision.js} +33 -36
- 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/{endpoint/store → store}/deliveries.d.ts +8 -0
- package/dist/store/deliveries.d.ts.map +1 -0
- package/dist/{endpoint/store → store}/deliveries.js +16 -0
- package/dist/store/deliveries.js.map +1 -0
- package/dist/store/dissemination.d.ts.map +1 -0
- package/dist/store/dissemination.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/store/outbound.d.ts.map +1 -0
- package/dist/store/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} +1 -1
- package/dist/store/reads.js.map +1 -0
- package/dist/store/records.d.ts.map +1 -0
- 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} +33 -4
- 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-check.d.ts +22 -0
- package/dist/transport/collectives/answer-check.d.ts.map +1 -0
- package/dist/transport/collectives/answer-check.js +166 -0
- package/dist/transport/collectives/answer-check.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/form-grammar.d.ts +175 -0
- package/dist/transport/collectives/form-grammar.d.ts.map +1 -0
- package/dist/transport/collectives/form-grammar.js +226 -0
- package/dist/transport/collectives/form-grammar.js.map +1 -0
- package/dist/transport/collectives/forms.d.ts +224 -0
- package/dist/transport/collectives/forms.d.ts.map +1 -0
- package/dist/transport/collectives/forms.js +183 -0
- package/dist/transport/collectives/forms.js.map +1 -0
- package/dist/transport/collectives/inbound.d.ts +130 -0
- package/dist/transport/collectives/inbound.d.ts.map +1 -0
- package/dist/transport/collectives/inbound.js +80 -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} +4 -3
- package/dist/transport/collectives/message-text.d.ts.map +1 -0
- package/dist/{message-text.js → transport/collectives/message-text.js} +4 -6
- package/dist/transport/collectives/message-text.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +17 -11
- package/dist/transport/collectives/operation.d.ts.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.js +20 -48
- package/dist/transport/collectives/operation.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/{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 +3 -2
- package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
- package/dist/transport/collectives/shared-answers.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/validation.d.ts +8 -10
- package/dist/transport/collectives/validation.d.ts.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/validation.js +10 -19
- package/dist/transport/collectives/validation.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/wire.d.ts +14 -9
- package/dist/transport/collectives/wire.d.ts.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/wire.js +11 -99
- package/dist/transport/collectives/wire.js.map +1 -0
- package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +38 -5
- package/dist/transport/messaging/address.d.ts.map +1 -0
- package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +100 -21
- 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} +7 -5
- 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} +5 -5
- package/dist/transport/messaging/dissemination.js.map +1 -0
- package/dist/{endpoint/engine-durability.d.ts → transport/messaging/durability.d.ts} +4 -4
- package/dist/{endpoint/engine-durability.d.ts.map → transport/messaging/durability.d.ts.map} +1 -1
- package/dist/{endpoint/engine-durability.js → transport/messaging/durability.js} +4 -13
- package/dist/transport/messaging/durability.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/{endpoint/protocol → transport/messaging}/evidence.d.ts.map +1 -1
- 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} +14 -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 +39 -0
- package/dist/transport/messaging/message.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 +29 -25
- 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/reanchor/empty.d.ts → transport/messaging/recovery/reanchor-empty.d.ts} +6 -6
- package/dist/transport/messaging/recovery/reanchor-empty.d.ts.map +1 -0
- package/dist/{endpoint/recovery/reanchor/empty.js → transport/messaging/recovery/reanchor-empty.js} +4 -4
- package/dist/transport/messaging/recovery/reanchor-empty.js.map +1 -0
- package/dist/{endpoint/recovery/reanchor/index.d.ts → transport/messaging/recovery/reanchor.d.ts} +4 -4
- package/dist/transport/messaging/recovery/reanchor.d.ts.map +1 -0
- package/dist/{endpoint/recovery/reanchor/index.js → transport/messaging/recovery/reanchor.js} +29 -14
- package/dist/transport/messaging/recovery/reanchor.js.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/state.d.ts +5 -5
- package/dist/transport/messaging/recovery/state.d.ts.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/state.js +2 -2
- package/dist/transport/messaging/recovery/state.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/{endpoint/engine-types.d.ts → transport/messaging/types.d.ts} +7 -5
- package/dist/transport/messaging/types.d.ts.map +1 -0
- package/dist/{endpoint/engine-types.js → transport/messaging/types.js} +1 -1
- package/dist/{endpoint/engine-types.js.map → transport/messaging/types.js.map} +1 -1
- 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 +2 -2
- 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/canonical.d.ts} +1 -1
- package/dist/transport/wire/canonical.d.ts.map +1 -0
- package/dist/{endpoint/representation-canonical.js → transport/wire/canonical.js} +1 -1
- package/dist/transport/wire/canonical.js.map +1 -0
- package/dist/{endpoint/representation-codec.d.ts → transport/wire/codec.d.ts} +5 -6
- package/dist/transport/wire/codec.d.ts.map +1 -0
- package/dist/{endpoint/representation-codec.js → transport/wire/codec.js} +5 -24
- package/dist/transport/wire/codec.js.map +1 -0
- package/dist/transport/wire/index.d.ts +7 -0
- package/dist/transport/wire/index.d.ts.map +1 -0
- package/dist/transport/wire/index.js +10 -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 +79 -0
- package/dist/transport/wire/values.d.ts.map +1 -0
- package/dist/transport/wire/values.js +115 -0
- package/dist/transport/wire/values.js.map +1 -0
- package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +4 -4
- package/dist/transport/wire/verification.d.ts.map +1 -0
- package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +5 -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.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.map +0 -1
- 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.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.d.ts.map +0 -1
- package/dist/endpoint/engine.js.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}/dissemination.d.ts +0 -0
- /package/dist/{endpoint/store → store}/dissemination.js +0 -0
- /package/dist/{endpoint/store → store}/outbound.d.ts +0 -0
- /package/dist/{endpoint/store → store}/outbound.js +0 -0
- /package/dist/{endpoint/store → store}/records.d.ts +0 -0
- /package/dist/{endpoint/store → store}/records.js +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,109 @@
|
|
|
1
|
+
/** @file Durable reservation of whole send invocations without protocol replay. */
|
|
2
|
+
import { Deferred, Effect, Schema } from "effect";
|
|
3
|
+
import { decodeRuntimeValue, encodeRuntimeValue, EndpointStoreError, } from "../store/index.js";
|
|
4
|
+
import { CollectiveError, SendInput, } from "../transport/collectives/forms.js";
|
|
5
|
+
import { SendError, sendFailureReasons, } from "../transport/messaging/errors.js";
|
|
6
|
+
import { decodeHarnessSendErrorData, decodeHarnessSendOutcome, decodeHarnessSendRequest, sendErrorData, } from "./operations.js";
|
|
7
|
+
const storedInputSchema = Schema.Struct({
|
|
8
|
+
input: SendInput,
|
|
9
|
+
failureDelivery: Schema.Literal("result", "inbound"),
|
|
10
|
+
});
|
|
11
|
+
const errorOutcome = (error) => ({
|
|
12
|
+
kind: "failure",
|
|
13
|
+
error: sendErrorData(error),
|
|
14
|
+
});
|
|
15
|
+
const isSendReason = (reason) => sendFailureReasons.some((value) => value === reason);
|
|
16
|
+
const decodeStoredOutcome = (bytes) => decodeRuntimeValue(Schema.Unknown, bytes).pipe(Effect.flatMap(decodeHarnessSendOutcome), Effect.catchTag("ParseError", () => Effect.fail(new EndpointStoreError({ reason: "corrupt" }))));
|
|
17
|
+
const storedError = (value) => decodeHarnessSendErrorData(value).pipe(Effect.catchTag("ParseError", () => Effect.fail(new SendError({ reason: "persistence-failed" }))), Effect.flatMap((error) => Effect.fail("failure" in error
|
|
18
|
+
? new CollectiveError({ id: error.id, failure: error.failure })
|
|
19
|
+
: new SendError({
|
|
20
|
+
reason: isSendReason(error.reason)
|
|
21
|
+
? error.reason
|
|
22
|
+
: "outcome-unknown",
|
|
23
|
+
...(error.detail === undefined ? {} : { detail: error.detail }),
|
|
24
|
+
}))));
|
|
25
|
+
const replayOutcome = (bytes) => decodeStoredOutcome(bytes).pipe(Effect.catchTag("EndpointStoreError", () => Effect.fail(new SendError({ reason: "persistence-failed" }))), Effect.flatMap((outcome) => outcome.kind === "success"
|
|
26
|
+
? Effect.succeed(outcome.result)
|
|
27
|
+
: storedError(outcome.error)));
|
|
28
|
+
const runReserved = (runtime, key, request, result) => runtime.execute(request).pipe(Effect.match({
|
|
29
|
+
onFailure: errorOutcome,
|
|
30
|
+
onSuccess: (value) => ({
|
|
31
|
+
kind: "success",
|
|
32
|
+
result: value,
|
|
33
|
+
}),
|
|
34
|
+
}), Effect.flatMap(encodeRuntimeValue), Effect.flatMap((bytes) => runtime.store.finishSendAttempt(key, bytes).pipe(Effect.as(bytes))), Effect.catchTag("EndpointStoreError", () => Effect.fail(new SendError({ reason: "persistence-failed" }))), Effect.flatMap(replayOutcome), Effect.exit, Effect.flatMap((outcome) => Deferred.done(result, outcome)), Effect.ensuring(Effect.sync(() => runtime.pending.delete(key))));
|
|
35
|
+
const existingInvocation = (runtime, key) => Effect.gen(function* () {
|
|
36
|
+
const live = runtime.pending.get(key);
|
|
37
|
+
if (live !== undefined) {
|
|
38
|
+
return Deferred.await(live);
|
|
39
|
+
}
|
|
40
|
+
const retained = yield* runtime.store.readSendAttempt(key);
|
|
41
|
+
return retained?.canonicalOutcome === undefined
|
|
42
|
+
? Effect.fail(new SendError({ reason: "outcome-unknown" }))
|
|
43
|
+
: replayOutcome(retained.canonicalOutcome);
|
|
44
|
+
});
|
|
45
|
+
const reserve = (runtime, key, request) => Effect.gen(function* () {
|
|
46
|
+
const canonicalInput = yield* encodeRuntimeValue({
|
|
47
|
+
input: request.input,
|
|
48
|
+
failureDelivery: request.failureDelivery ?? "result",
|
|
49
|
+
});
|
|
50
|
+
const inserted = yield* runtime.store.beginSendAttempt(key, canonicalInput);
|
|
51
|
+
if (inserted === "existing") {
|
|
52
|
+
return yield* existingInvocation(runtime, key);
|
|
53
|
+
}
|
|
54
|
+
const result = yield* Deferred.make();
|
|
55
|
+
runtime.pending.set(key, result);
|
|
56
|
+
yield* Effect.forkIn(runReserved(runtime, key, request, result).pipe(Effect.interruptible), runtime.scope);
|
|
57
|
+
return Deferred.await(result);
|
|
58
|
+
});
|
|
59
|
+
const keyedSend = (runtime, key, request) => runtime.gate
|
|
60
|
+
.withPermits(1)(reserve(runtime, key, request))
|
|
61
|
+
.pipe(Effect.catchTag("EndpointStoreError", (error) => Effect.fail(new SendError({
|
|
62
|
+
reason: error.reason === "conflict"
|
|
63
|
+
? "idempotency-conflict"
|
|
64
|
+
: "persistence-failed",
|
|
65
|
+
}))), Effect.uninterruptible, Effect.flatten);
|
|
66
|
+
const readSend = (runtime, request) => Effect.gen(function* () {
|
|
67
|
+
const retained = yield* runtime.store.readSendAttempt(request.idempotencyKey);
|
|
68
|
+
if (retained === undefined) {
|
|
69
|
+
return { state: "absent" };
|
|
70
|
+
}
|
|
71
|
+
const { input } = yield* decodeRuntimeValue(storedInputSchema, retained.canonicalInput);
|
|
72
|
+
if (retained.canonicalOutcome === undefined) {
|
|
73
|
+
return {
|
|
74
|
+
state: runtime.pending.has(request.idempotencyKey)
|
|
75
|
+
? "pending"
|
|
76
|
+
: "indeterminate",
|
|
77
|
+
input,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const outcome = yield* decodeStoredOutcome(retained.canonicalOutcome);
|
|
81
|
+
return { state: "returned", input, outcome };
|
|
82
|
+
});
|
|
83
|
+
const send = (runtime, request) => decodeHarnessSendRequest(request).pipe(Effect.catchTag("ParseError", () => Effect.fail(new SendError({ reason: "content-invalid" }))), Effect.flatMap((decoded) => decoded.idempotencyKey === undefined
|
|
84
|
+
? runtime.execute(decoded)
|
|
85
|
+
: keyedSend(runtime, decoded.idempotencyKey, decoded)));
|
|
86
|
+
/**
|
|
87
|
+
* Bind invocation keys before execution and retain observed outcomes, including
|
|
88
|
+
* failures. Restarted reservations remain indeterminate because this boundary
|
|
89
|
+
* does not replay the collective state machine, nonce or deadline.
|
|
90
|
+
* @param store Daemon-owned endpoint persistence.
|
|
91
|
+
* @param execute The underlying send operation, without retry behavior.
|
|
92
|
+
* @param scope Daemon lifetime, independent of the HTTP request.
|
|
93
|
+
* @returns Send and lookup operations sharing live invocation reservations.
|
|
94
|
+
*/
|
|
95
|
+
export const makeSendInvocations = (store, execute, scope) => Effect.gen(function* () {
|
|
96
|
+
const gate = yield* Effect.makeSemaphore(1);
|
|
97
|
+
const runtime = {
|
|
98
|
+
store,
|
|
99
|
+
execute,
|
|
100
|
+
scope,
|
|
101
|
+
gate,
|
|
102
|
+
pending: new Map(),
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
send: (request) => send(runtime, request),
|
|
106
|
+
readSend: (request) => readSend(runtime, request),
|
|
107
|
+
};
|
|
108
|
+
}).pipe(Effect.withSpan("makeSendInvocations"));
|
|
109
|
+
//# sourceMappingURL=send-invocations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-invocations.js","sourceRoot":"","sources":["../../src/delivery/send-invocations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** @file The structural capability one scoped endpoint connection gives its host. */
|
|
2
|
+
import { type Effect, type Stream } from "effect";
|
|
3
|
+
import type { CollectiveError, FailureDelivery, SendInput, SendResult } from "../../transport/collectives/forms.js";
|
|
4
|
+
import type { InboundItem } from "../../transport/collectives/inbound.js";
|
|
5
|
+
import type { DeliveryAcknowledgeError, ListenError, SendError } from "../../transport/messaging/errors.js";
|
|
6
|
+
type ConnectFailure = "transport-failed" | "decode-failed" | "incompatible-daemon";
|
|
7
|
+
declare const ConnectError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
8
|
+
readonly _tag: "ConnectError";
|
|
9
|
+
} & Readonly<A>;
|
|
10
|
+
/** Acquiring the endpoint connection failed. */
|
|
11
|
+
export declare class ConnectError extends ConnectError_base<{
|
|
12
|
+
readonly reason: ConnectFailure;
|
|
13
|
+
}> {
|
|
14
|
+
get message(): string;
|
|
15
|
+
}
|
|
16
|
+
/** One inbound item plus its transport-only acknowledgment. */
|
|
17
|
+
export interface InboundDelivery {
|
|
18
|
+
readonly item: InboundItem;
|
|
19
|
+
readonly acknowledge: Effect.Effect<void, DeliveryAcknowledgeError>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Structural runtime capability owned by one scoped endpoint connection.
|
|
23
|
+
* Every send is one operation or one collective response; the stream yields
|
|
24
|
+
* inbound items.
|
|
25
|
+
*
|
|
26
|
+
* A host whose tool returns before the send completes passes
|
|
27
|
+
* `failureDelivery: "inbound"`: a refused gather, all_gather or response
|
|
28
|
+
* then completes and its error arrives as an `operationFailed` item on the
|
|
29
|
+
* stream. A multicast has no operation id, so its failure is always returned.
|
|
30
|
+
*/
|
|
31
|
+
export interface HarnessEndpoint {
|
|
32
|
+
readonly send: (input: SendInput, options?: Readonly<{
|
|
33
|
+
failureDelivery?: FailureDelivery;
|
|
34
|
+
idempotencyKey?: string;
|
|
35
|
+
}>) => Effect.Effect<SendResult, SendError | CollectiveError>;
|
|
36
|
+
readonly messages: Stream.Stream<InboundDelivery, ListenError>;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
39
|
+
//# sourceMappingURL=capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.d.ts","sourceRoot":"","sources":["../../../src/endpoint/harness-endpoint/capability.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAQ,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,SAAS,EACT,UAAU,EACX,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EACV,wBAAwB,EACxB,WAAW,EACX,SAAS,EACV,MAAM,qCAAqC,CAAC;AAE7C,KAAK,cAAc,GACf,kBAAkB,GAClB,eAAe,GACf,qBAAqB,CAAC;;;;AAE1B,gDAAgD;AAChD,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAE7B;CACF;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;CACrE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,CACb,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACjB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC,KACC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,GAAG,eAAe,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;CAChE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @file The structural capability one scoped endpoint connection gives its host. */
|
|
2
|
+
import { Data } from "effect";
|
|
3
|
+
/** Acquiring the endpoint connection failed. */
|
|
4
|
+
export class ConnectError extends Data.TaggedError("ConnectError") {
|
|
5
|
+
get message() {
|
|
6
|
+
return `connect failed: ${this.reason}`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../src/endpoint/harness-endpoint/capability.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAC;AAmBxD,gDAAgD;AAChD,MAAM,OAAO,YAAa,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAE/D;IACA,IAAa,OAAO;QAClB,OAAO,mBAAmB,IAAI,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @file Scoped draft Events reception through the official HTTP transport. */
|
|
2
|
+
import { Stream } from "effect";
|
|
3
|
+
import { ListenError } from "../../transport/messaging/errors.js";
|
|
4
|
+
/**
|
|
5
|
+
* Attach before reading the inbox so arrivals during catch-up remain visible.
|
|
6
|
+
* The official transport supplies framing and cancellation without a request
|
|
7
|
+
* timeout on the retained stream. Notifications contain no message content.
|
|
8
|
+
* @param endpoint Explicit daemon MCP URL.
|
|
9
|
+
* @returns Coalesced inbox wakeups until the owning host subscription ends.
|
|
10
|
+
*/
|
|
11
|
+
export declare const inboxWakeups: (endpoint: URL) => Stream.Stream<boolean, ListenError>;
|
|
12
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/endpoint/harness-endpoint/events.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAS/E,OAAO,EAML,MAAM,EAEP,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAsOlE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,aACb,GAAG,KACZ,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CA6BlC,CAAC"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/** @file Scoped draft Events reception through the official HTTP transport. */
|
|
2
|
+
import { CLIENT_CAPABILITIES_META_KEY, CLIENT_INFO_META_KEY, PROTOCOL_VERSION_META_KEY, StreamableHTTPClientTransport, SUBSCRIPTION_ID_META_KEY, } from "@modelcontextprotocol/client";
|
|
3
|
+
import { Deferred, Effect, Queue, Schema, Stream, Take, } from "effect";
|
|
4
|
+
import { randomUUID } from "node:crypto";
|
|
5
|
+
import { ListenError } from "../../transport/messaging/errors.js";
|
|
6
|
+
import { INBOX_PENDING_EVENT } from "../mcp/schemas.js";
|
|
7
|
+
const protocolVersion = "2026-07-28";
|
|
8
|
+
const metadataSchema = Schema.Struct({
|
|
9
|
+
[SUBSCRIPTION_ID_META_KEY]: Schema.Union(Schema.String, Schema.Number),
|
|
10
|
+
});
|
|
11
|
+
const positionSchema = Schema.Struct({
|
|
12
|
+
cursor: Schema.optionalWith(Schema.Null, { exact: true }),
|
|
13
|
+
_meta: metadataSchema,
|
|
14
|
+
});
|
|
15
|
+
const eventSchema = Schema.Struct({
|
|
16
|
+
eventId: Schema.NonEmptyString,
|
|
17
|
+
name: Schema.Literal(INBOX_PENDING_EVENT),
|
|
18
|
+
timestamp: Schema.String,
|
|
19
|
+
data: Schema.Struct({ pendingCount: Schema.NonNegativeInt }),
|
|
20
|
+
cursor: Schema.optionalWith(Schema.Null, { exact: true }),
|
|
21
|
+
_meta: metadataSchema,
|
|
22
|
+
});
|
|
23
|
+
const activeSchema = Schema.Struct({
|
|
24
|
+
...positionSchema.fields,
|
|
25
|
+
truncated: Schema.Boolean,
|
|
26
|
+
});
|
|
27
|
+
const errorSchema = Schema.Struct({
|
|
28
|
+
_meta: metadataSchema,
|
|
29
|
+
error: Schema.Struct({ code: Schema.Number, message: Schema.String }),
|
|
30
|
+
});
|
|
31
|
+
const decodeParams = (method, params) => {
|
|
32
|
+
switch (method) {
|
|
33
|
+
case "notifications/events/active":
|
|
34
|
+
return Schema.decodeUnknown(activeSchema)(params);
|
|
35
|
+
case "notifications/events/event":
|
|
36
|
+
return Schema.decodeUnknown(eventSchema)(params);
|
|
37
|
+
case "notifications/events/heartbeat":
|
|
38
|
+
return Schema.decodeUnknown(positionSchema)(params);
|
|
39
|
+
default:
|
|
40
|
+
return Schema.decodeUnknown(errorSchema)(params);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const frameKind = (method) => {
|
|
44
|
+
switch (method) {
|
|
45
|
+
case "notifications/events/active":
|
|
46
|
+
return Effect.succeed("active");
|
|
47
|
+
case "notifications/events/event":
|
|
48
|
+
return Effect.succeed("event");
|
|
49
|
+
case "notifications/events/heartbeat":
|
|
50
|
+
return Effect.succeed("heartbeat");
|
|
51
|
+
case "notifications/events/error":
|
|
52
|
+
return Effect.succeed("error");
|
|
53
|
+
case "notifications/events/terminated":
|
|
54
|
+
return Effect.succeed("terminated");
|
|
55
|
+
default:
|
|
56
|
+
return Effect.fail(new ListenError({ reason: "decode-failed" }));
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const decodeFrame = (method, params, id) => decodeParams(method, params).pipe(Effect.catchTag("ParseError", () => Effect.fail(new ListenError({ reason: "decode-failed" }))), Effect.flatMap((value) => value._meta[SUBSCRIPTION_ID_META_KEY] === id
|
|
60
|
+
? frameKind(method)
|
|
61
|
+
: Effect.fail(new ListenError({ reason: "decode-failed" }))));
|
|
62
|
+
const fail = (state, error) => Effect.gen(function* () {
|
|
63
|
+
if (state.stopped || state.failed) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
state.failed = true;
|
|
67
|
+
yield* Deferred.fail(state.active, error);
|
|
68
|
+
yield* Queue.offer(state.queue, Take.fail(error));
|
|
69
|
+
state.abort.abort();
|
|
70
|
+
});
|
|
71
|
+
const wake = (state) => Effect.suspend(() => {
|
|
72
|
+
if (state.queued || state.stopped || state.failed) {
|
|
73
|
+
return Effect.void;
|
|
74
|
+
}
|
|
75
|
+
state.queued = true;
|
|
76
|
+
return Queue.offer(state.queue, Take.of(true)).pipe(Effect.asVoid);
|
|
77
|
+
});
|
|
78
|
+
const receiveFrame = (state, kind) => Effect.gen(function* () {
|
|
79
|
+
state.lastSeen = Date.now();
|
|
80
|
+
if (kind === "active") {
|
|
81
|
+
state.confirmed = true;
|
|
82
|
+
yield* Deferred.succeed(state.active, undefined);
|
|
83
|
+
yield* wake(state);
|
|
84
|
+
}
|
|
85
|
+
else if (!state.confirmed) {
|
|
86
|
+
yield* fail(state, new ListenError({ reason: "decode-failed" }));
|
|
87
|
+
}
|
|
88
|
+
else if (kind === "event") {
|
|
89
|
+
yield* wake(state);
|
|
90
|
+
}
|
|
91
|
+
else if (kind === "terminated") {
|
|
92
|
+
yield* fail(state, new ListenError({ reason: "transport-failed" }));
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
const protocolFailure = (data) => {
|
|
96
|
+
if (typeof data !== "object" || data === null) {
|
|
97
|
+
return new ListenError({ reason: "transport-failed" });
|
|
98
|
+
}
|
|
99
|
+
return new ListenError({
|
|
100
|
+
reason: "reason" in data && data.reason === "already-listening"
|
|
101
|
+
? "already-listening"
|
|
102
|
+
: "transport-failed",
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const onMessage = (state) => (message) => {
|
|
106
|
+
if (state.stopped || state.failed) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if ("error" in message) {
|
|
110
|
+
const error = message.id === state.id
|
|
111
|
+
? protocolFailure(message.error.data)
|
|
112
|
+
: new ListenError({ reason: "decode-failed" });
|
|
113
|
+
Effect.runFork(fail(state, error));
|
|
114
|
+
}
|
|
115
|
+
else if ("method" in message) {
|
|
116
|
+
if (!message.method.startsWith("notifications/events/")) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
Effect.runFork(decodeFrame(message.method, message.params, state.id).pipe(Effect.flatMap((kind) => receiveFrame(state, kind)), Effect.catchAll((error) => fail(state, error))));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
Effect.runFork(fail(state, new ListenError({ reason: "transport-failed" })));
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
const close = (state) => Effect.sync(() => {
|
|
126
|
+
state.stopped = true;
|
|
127
|
+
state.abort.abort();
|
|
128
|
+
}).pipe(Effect.zipRight(Effect.tryPromise(() => state.transport.close()).pipe(Effect.ignore)), Effect.zipRight(Queue.shutdown(state.queue)));
|
|
129
|
+
const open = (state) => Effect.gen(function* () {
|
|
130
|
+
state.transport.onmessage = onMessage(state);
|
|
131
|
+
state.transport.onerror = () => {
|
|
132
|
+
Effect.runFork(fail(state, new ListenError({ reason: "transport-failed" })));
|
|
133
|
+
};
|
|
134
|
+
state.transport.setProtocolVersion(protocolVersion);
|
|
135
|
+
yield* Effect.tryPromise({
|
|
136
|
+
try: () => state.transport.start(),
|
|
137
|
+
catch: () => new ListenError({ reason: "transport-failed" }),
|
|
138
|
+
});
|
|
139
|
+
yield* Effect.tryPromise({
|
|
140
|
+
try: () => state.transport.send({
|
|
141
|
+
jsonrpc: "2.0",
|
|
142
|
+
id: state.id,
|
|
143
|
+
method: "events/stream",
|
|
144
|
+
params: {
|
|
145
|
+
name: INBOX_PENDING_EVENT,
|
|
146
|
+
arguments: {},
|
|
147
|
+
cursor: null,
|
|
148
|
+
_meta: {
|
|
149
|
+
[PROTOCOL_VERSION_META_KEY]: protocolVersion,
|
|
150
|
+
[CLIENT_INFO_META_KEY]: { name: "moltzap-inbox", version: "1" },
|
|
151
|
+
[CLIENT_CAPABILITIES_META_KEY]: {},
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
}, {
|
|
155
|
+
requestSignal: state.abort.signal,
|
|
156
|
+
onRequestStreamEnd: () => {
|
|
157
|
+
Effect.runFork(fail(state, new ListenError({ reason: "transport-failed" })));
|
|
158
|
+
},
|
|
159
|
+
}),
|
|
160
|
+
catch: () => new ListenError({ reason: "transport-failed" }),
|
|
161
|
+
});
|
|
162
|
+
yield* Deferred.await(state.active);
|
|
163
|
+
}).pipe(Effect.timeoutFail({
|
|
164
|
+
duration: "60 seconds",
|
|
165
|
+
onTimeout: () => new ListenError({ reason: "transport-failed" }),
|
|
166
|
+
}));
|
|
167
|
+
const watchSilence = (state) => Effect.sleep("30 seconds").pipe(Effect.zipRight(Effect.suspend(() => Date.now() - state.lastSeen > 60_000
|
|
168
|
+
? fail(state, new ListenError({ reason: "transport-failed" }))
|
|
169
|
+
: Effect.void)), Effect.forever, Effect.forkScoped);
|
|
170
|
+
/**
|
|
171
|
+
* Attach before reading the inbox so arrivals during catch-up remain visible.
|
|
172
|
+
* The official transport supplies framing and cancellation without a request
|
|
173
|
+
* timeout on the retained stream. Notifications contain no message content.
|
|
174
|
+
* @param endpoint Explicit daemon MCP URL.
|
|
175
|
+
* @returns Coalesced inbox wakeups until the owning host subscription ends.
|
|
176
|
+
*/
|
|
177
|
+
export const inboxWakeups = (endpoint) => Stream.unwrapScoped(Effect.gen(function* () {
|
|
178
|
+
const queue = yield* Queue.unbounded();
|
|
179
|
+
const active = yield* Deferred.make();
|
|
180
|
+
const state = {
|
|
181
|
+
queue,
|
|
182
|
+
active,
|
|
183
|
+
transport: new StreamableHTTPClientTransport(endpoint),
|
|
184
|
+
abort: new AbortController(),
|
|
185
|
+
id: randomUUID(),
|
|
186
|
+
stopped: false,
|
|
187
|
+
failed: false,
|
|
188
|
+
confirmed: false,
|
|
189
|
+
queued: false,
|
|
190
|
+
lastSeen: Date.now(),
|
|
191
|
+
};
|
|
192
|
+
yield* Effect.addFinalizer(() => close(state));
|
|
193
|
+
yield* open(state);
|
|
194
|
+
yield* watchSilence(state);
|
|
195
|
+
return Stream.fromQueue(queue).pipe(Stream.flattenTake, Stream.tap(() => Effect.sync(() => {
|
|
196
|
+
state.queued = false;
|
|
197
|
+
})));
|
|
198
|
+
}).pipe(Effect.withSpan("inboxWakeups")));
|
|
199
|
+
//# sourceMappingURL=events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/endpoint/harness-endpoint/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/** @file Scoped MCP implementation of the public semantic HarnessEndpoint. */
|
|
2
2
|
import { Effect, type Scope } from "effect";
|
|
3
|
-
import { ConnectError, type HarnessEndpoint } from "./
|
|
3
|
+
import { ConnectError, type HarnessEndpoint } from "./capability.js";
|
|
4
4
|
/**
|
|
5
5
|
* Acquire one real MCP-backed endpoint and its scoped connection.
|
|
6
6
|
* @param endpoint Loopback MCP URL for the configured endpoint daemon.
|
|
7
7
|
* @returns An endpoint whose resources remain live for the caller's scope.
|
|
8
8
|
*/
|
|
9
9
|
export declare function acquireHarnessEndpoint(endpoint: URL): Effect.Effect<HarnessEndpoint, ConnectError, Scope.Scope>;
|
|
10
|
-
|
|
10
|
+
/** The capability this module acquires, and its connect and delivery types. */
|
|
11
|
+
export { ConnectError, type HarnessEndpoint, type InboundDelivery, } from "./capability.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/endpoint/harness-endpoint/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAS9E,OAAO,EAAQ,MAAM,EAAO,KAAK,KAAK,EAAU,MAAM,QAAQ,CAAC;AA0B/D,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AAYzB;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,GAAG,GACZ,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,CAI3D;AA0WD,+EAA+E;AAC/E,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
|