@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 @@
|
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/endpoint/mcp/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** @file Durable MCP webhook registration and classified item handoff. */
|
|
2
|
+
import { HttpClient } from "@effect/platform";
|
|
3
|
+
import { ProtocolError } from "@modelcontextprotocol/server";
|
|
4
|
+
import { Effect } from "effect";
|
|
5
|
+
import { type EventStore } from "../../delivery/operations.js";
|
|
6
|
+
import { type HarnessWebhookEvents } from "./event-schemas.js";
|
|
7
|
+
/**
|
|
8
|
+
* Retain exact callback bytes across retries and retire inbox items on HTTP receipt.
|
|
9
|
+
* State transitions share the push ownership gate; callback I/O runs outside it.
|
|
10
|
+
* @param store Daemon-owned registration and delivery persistence.
|
|
11
|
+
* @param gate Serializes subscription state with native push ownership.
|
|
12
|
+
* @returns Protocol operations using the current Effect HTTP client and clock.
|
|
13
|
+
*/
|
|
14
|
+
export declare const makeWebhookEvents: (store: EventStore, gate: Effect.Semaphore) => Effect.Effect<HarnessWebhookEvents, ProtocolError, HttpClient.HttpClient>;
|
|
15
|
+
//# sourceMappingURL=webhook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../src/endpoint/mcp/webhook.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAc,MAAM,EAAU,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAQ1E,OAAO,EAGL,KAAK,oBAAoB,EAG1B,MAAM,oBAAoB,CAAC;AA6gB5B;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,UACrB,UAAU,QACX,MAAM,CAAC,SAAS,KACrB,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CA0B5B,CAAC"}
|
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/** @file Durable MCP webhook registration and classified item handoff. */
|
|
2
|
+
import { HttpClient } from "@effect/platform";
|
|
3
|
+
import { ProtocolError } from "@modelcontextprotocol/server";
|
|
4
|
+
import { Effect, Schema } from "effect";
|
|
5
|
+
import { createHash, randomUUID, timingSafeEqual } from "node:crypto";
|
|
6
|
+
import { eventIdOf } from "../../delivery/operations.js";
|
|
7
|
+
import { decodeRuntimeValue, DeliveryToken, encodeRuntimeValue, } from "../../store/index.js";
|
|
8
|
+
import { InboundItem } from "../../transport/collectives/inbound.js";
|
|
9
|
+
import { callbackReasons, maximumEventBytes, } from "./event-schemas.js";
|
|
10
|
+
import { readWebhookChallenge, sendWebhook, validWebhookSecret, webhookUrl, } from "./event-signing.js";
|
|
11
|
+
import { INBOX_ITEM_EVENT } from "./schemas.js";
|
|
12
|
+
/** Persist the returned bytes before transmitting; retries must not regenerate them. */
|
|
13
|
+
const encodeItemEvent = (entry, timestamp) => Effect.gen(function* () {
|
|
14
|
+
const item = yield* decodeRuntimeValue(InboundItem, entry.canonicalItem);
|
|
15
|
+
const envelope = {
|
|
16
|
+
eventId: eventIdOf(entry.deliveryToken),
|
|
17
|
+
name: INBOX_ITEM_EVENT,
|
|
18
|
+
timestamp: new Date(timestamp).toISOString(),
|
|
19
|
+
cursor: null,
|
|
20
|
+
};
|
|
21
|
+
const body = JSON.stringify({ ...envelope, data: { kind: "item", item } });
|
|
22
|
+
return Buffer.byteLength(body, "utf8") <= maximumEventBytes
|
|
23
|
+
? body
|
|
24
|
+
: JSON.stringify({
|
|
25
|
+
...envelope,
|
|
26
|
+
data: {
|
|
27
|
+
kind: "reference",
|
|
28
|
+
itemKind: item.kind,
|
|
29
|
+
bytes: entry.canonicalItem.byteLength,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}).pipe(Effect.withSpan("encodeItemEvent"));
|
|
33
|
+
const maximumRetryDelay = 5 * 60_000;
|
|
34
|
+
const maximumLease = 24 * 60 * 60_000;
|
|
35
|
+
const verificationLifetime = 10 * 60_000;
|
|
36
|
+
const outboxSchema = Schema.Struct({
|
|
37
|
+
deliveryToken: DeliveryToken,
|
|
38
|
+
id: Schema.String,
|
|
39
|
+
body: Schema.String,
|
|
40
|
+
attempts: Schema.NonNegativeInt,
|
|
41
|
+
firstAttemptAt: Schema.NonNegativeInt,
|
|
42
|
+
nextAttemptAt: Schema.NonNegativeInt,
|
|
43
|
+
});
|
|
44
|
+
const registrationSchema = Schema.Struct({
|
|
45
|
+
id: Schema.String,
|
|
46
|
+
principal: Schema.String,
|
|
47
|
+
url: Schema.String,
|
|
48
|
+
secret: Schema.String,
|
|
49
|
+
expiresAt: Schema.NonNegativeInt,
|
|
50
|
+
stalled: Schema.NullOr(Schema.Literal("callback", "terminal")),
|
|
51
|
+
lastError: Schema.NullOr(Schema.Literal(...callbackReasons)),
|
|
52
|
+
outbox: Schema.NullOr(outboxSchema),
|
|
53
|
+
});
|
|
54
|
+
const stateSchema = Schema.Struct({
|
|
55
|
+
registration: Schema.NullOr(registrationSchema),
|
|
56
|
+
});
|
|
57
|
+
const challengeSchema = Schema.parseJson(Schema.Struct({ challenge: Schema.String }));
|
|
58
|
+
const persistenceFailure = () => new ProtocolError(-32603, "Event persistence failed");
|
|
59
|
+
const callbackFailure = (reason) => new ProtocolError(-32015, "Callback verification failed", { reason });
|
|
60
|
+
const subscriptionId = (principal, url) => `sub_${createHash("sha256")
|
|
61
|
+
.update(JSON.stringify([principal, url, INBOX_ITEM_EVENT, {}]))
|
|
62
|
+
.digest("hex")}`;
|
|
63
|
+
const now = (runtime) => runtime.clock.unsafeCurrentTimeMillis();
|
|
64
|
+
const active = (runtime) => runtime.state.registration !== null &&
|
|
65
|
+
runtime.state.registration.expiresAt > now(runtime);
|
|
66
|
+
const save = (runtime, registration) => encodeRuntimeValue({ registration }).pipe(Effect.flatMap(runtime.store.writeEventState), Effect.mapError(persistenceFailure), Effect.tap(() => Effect.sync(() => {
|
|
67
|
+
runtime.state = { registration };
|
|
68
|
+
})), Effect.uninterruptible);
|
|
69
|
+
const retire = (runtime) => save(runtime, null).pipe(Effect.tap(() => Effect.sync(() => {
|
|
70
|
+
runtime.generation += 1;
|
|
71
|
+
})), Effect.uninterruptible);
|
|
72
|
+
const post = (runtime, input) => sendWebhook(input).pipe(Effect.provideService(HttpClient.HttpClient, runtime.client));
|
|
73
|
+
const verify = (runtime, input) => Effect.gen(function* () {
|
|
74
|
+
const secretDigest = createHash("sha256")
|
|
75
|
+
.update(input.secret)
|
|
76
|
+
.digest("hex");
|
|
77
|
+
if (runtime.verified?.id === input.id &&
|
|
78
|
+
runtime.verified.secretDigest === secretDigest &&
|
|
79
|
+
runtime.verified.until > now(runtime)) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const challenge = randomUUID();
|
|
83
|
+
const response = yield* readWebhookChallenge({
|
|
84
|
+
...input,
|
|
85
|
+
subscriptionId: input.id,
|
|
86
|
+
messageId: `msg_verification_${randomUUID()}`,
|
|
87
|
+
body: JSON.stringify({ type: "verification", challenge }),
|
|
88
|
+
timestamp: now(runtime),
|
|
89
|
+
}).pipe(Effect.provideService(HttpClient.HttpClient, runtime.client), Effect.mapError((error) => callbackFailure(error.reason)));
|
|
90
|
+
const decoded = yield* Schema.decodeUnknown(challengeSchema)(response).pipe(Effect.mapError(() => callbackFailure("challenge_failed")));
|
|
91
|
+
const expected = Buffer.from(challenge);
|
|
92
|
+
const received = Buffer.from(decoded.challenge);
|
|
93
|
+
if (received.length !== expected.length ||
|
|
94
|
+
!timingSafeEqual(received, expected)) {
|
|
95
|
+
return yield* Effect.fail(callbackFailure("challenge_failed"));
|
|
96
|
+
}
|
|
97
|
+
runtime.verified = {
|
|
98
|
+
id: input.id,
|
|
99
|
+
secretDigest,
|
|
100
|
+
until: now(runtime) + verificationLifetime,
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
const resetAttempt = (registration, timestamp) => registration.outbox === null
|
|
104
|
+
? null
|
|
105
|
+
: {
|
|
106
|
+
...registration.outbox,
|
|
107
|
+
attempts: 0,
|
|
108
|
+
firstAttemptAt: timestamp,
|
|
109
|
+
nextAttemptAt: timestamp,
|
|
110
|
+
};
|
|
111
|
+
const refresh = (previous, secret, expiresAt, timestamp) => ({
|
|
112
|
+
...previous,
|
|
113
|
+
secret,
|
|
114
|
+
expiresAt,
|
|
115
|
+
stalled: previous.stalled === "callback" ? null : previous.stalled,
|
|
116
|
+
outbox: previous.stalled === "callback"
|
|
117
|
+
? resetAttempt(previous, timestamp)
|
|
118
|
+
: previous.outbox,
|
|
119
|
+
});
|
|
120
|
+
const initialRegistration = (input) => ({
|
|
121
|
+
...input,
|
|
122
|
+
stalled: null,
|
|
123
|
+
lastError: null,
|
|
124
|
+
outbox: null,
|
|
125
|
+
});
|
|
126
|
+
const checkRegistration = (runtime, id) => Effect.suspend(() => runtime.state.registration !== null && runtime.state.registration.id !== id
|
|
127
|
+
? Effect.fail(new ProtocolError(-32013, "Revoke the retained subscription before configuring another callback", {
|
|
128
|
+
limit: "subscriptions",
|
|
129
|
+
max: 1,
|
|
130
|
+
}))
|
|
131
|
+
: Effect.void);
|
|
132
|
+
const activateRegistration = (runtime, input, principal, verification) => runtime.gate.withPermits(1)(Effect.gen(function* () {
|
|
133
|
+
yield* verification.authorize;
|
|
134
|
+
const { url, secret } = input.delivery;
|
|
135
|
+
const id = subscriptionId(principal, url);
|
|
136
|
+
yield* checkRegistration(runtime, id);
|
|
137
|
+
if (verification.generation !== runtime.generation) {
|
|
138
|
+
return yield* Effect.fail(new ProtocolError(-32012, "Subscription changed during verification"));
|
|
139
|
+
}
|
|
140
|
+
const previous = runtime.state.registration;
|
|
141
|
+
const expiresAt = now(runtime) +
|
|
142
|
+
Math.max(60_000, Math.min(input.ttlMs ?? maximumLease, maximumLease));
|
|
143
|
+
yield* save(runtime, previous === null
|
|
144
|
+
? initialRegistration({ id, principal, url, secret, expiresAt })
|
|
145
|
+
: refresh(previous, secret, expiresAt, now(runtime)));
|
|
146
|
+
runtime.generation += 1;
|
|
147
|
+
return {
|
|
148
|
+
id,
|
|
149
|
+
refreshBefore: new Date(expiresAt).toISOString(),
|
|
150
|
+
cursor: null,
|
|
151
|
+
truncated: false,
|
|
152
|
+
};
|
|
153
|
+
}).pipe(Effect.uninterruptible));
|
|
154
|
+
const subscribe = (runtime, input, principal, authorize) => Effect.gen(function* () {
|
|
155
|
+
const { url, secret } = input.delivery;
|
|
156
|
+
if (webhookUrl(url) === undefined || !validWebhookSecret(secret)) {
|
|
157
|
+
return yield* Effect.fail(new ProtocolError(-32602, "Invalid webhook URL or secret"));
|
|
158
|
+
}
|
|
159
|
+
const id = subscriptionId(principal, url);
|
|
160
|
+
const generation = yield* runtime.gate.withPermits(1)(authorize.pipe(Effect.zipRight(checkRegistration(runtime, id)), Effect.map(() => runtime.generation)));
|
|
161
|
+
yield* verify(runtime, { id, url, secret });
|
|
162
|
+
return yield* activateRegistration(runtime, input, principal, {
|
|
163
|
+
generation,
|
|
164
|
+
authorize,
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
const failedDelivery = (registration, occurrence, timestamp, error) => {
|
|
168
|
+
const attempts = occurrence.attempts + 1;
|
|
169
|
+
const suspended = attempts >= 100 && timestamp - occurrence.firstAttemptAt >= 60 * 60_000;
|
|
170
|
+
const retryStalled = suspended ? "callback" : null;
|
|
171
|
+
return {
|
|
172
|
+
...registration,
|
|
173
|
+
lastError: error.reason,
|
|
174
|
+
stalled: error.discardOccurrence === true ? "terminal" : retryStalled,
|
|
175
|
+
outbox: {
|
|
176
|
+
...occurrence,
|
|
177
|
+
attempts,
|
|
178
|
+
nextAttemptAt: timestamp +
|
|
179
|
+
Math.min(maximumRetryDelay, 1000 * 2 ** Math.min(attempts, 9)),
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
/** A successful receipt retires exactly the item bound to these persisted bytes. */
|
|
184
|
+
const commitReceipt = (runtime, registration, occurrence) => Effect.gen(function* () {
|
|
185
|
+
const next = { ...registration, outbox: null, lastError: null };
|
|
186
|
+
const bytes = yield* encodeRuntimeValue({ registration: next });
|
|
187
|
+
yield* runtime.store.completeWebhookDelivery(occurrence.deliveryToken, bytes);
|
|
188
|
+
yield* Effect.sync(() => {
|
|
189
|
+
runtime.state = { registration: next };
|
|
190
|
+
});
|
|
191
|
+
return true;
|
|
192
|
+
}).pipe(Effect.mapError(persistenceFailure), Effect.uninterruptible);
|
|
193
|
+
/** Revocation and replacement fence responses from an earlier consumer. */
|
|
194
|
+
const completeDelivery = (runtime, registration, occurrence, error) => runtime.gate.withPermits(1)(Effect.suspend(() => {
|
|
195
|
+
const current = runtime.state.registration;
|
|
196
|
+
if (current === null ||
|
|
197
|
+
current.id !== registration.id ||
|
|
198
|
+
current.outbox !== occurrence) {
|
|
199
|
+
return Effect.succeed(false);
|
|
200
|
+
}
|
|
201
|
+
return error === undefined
|
|
202
|
+
? commitReceipt(runtime, current, occurrence)
|
|
203
|
+
: save(runtime, failedDelivery(current, occurrence, now(runtime), error)).pipe(Effect.as(false));
|
|
204
|
+
}));
|
|
205
|
+
const deliver = (runtime, registration) => {
|
|
206
|
+
const occurrence = registration.outbox;
|
|
207
|
+
if (occurrence === null ||
|
|
208
|
+
occurrence.nextAttemptAt > now(runtime) ||
|
|
209
|
+
registration.stalled !== null) {
|
|
210
|
+
return Effect.succeed(false);
|
|
211
|
+
}
|
|
212
|
+
return post(runtime, {
|
|
213
|
+
url: registration.url,
|
|
214
|
+
secret: registration.secret,
|
|
215
|
+
subscriptionId: registration.id,
|
|
216
|
+
messageId: occurrence.id,
|
|
217
|
+
body: occurrence.body,
|
|
218
|
+
timestamp: now(runtime),
|
|
219
|
+
}).pipe(Effect.matchEffect({
|
|
220
|
+
onSuccess: () => completeDelivery(runtime, registration, occurrence),
|
|
221
|
+
onFailure: (error) => completeDelivery(runtime, registration, occurrence, error),
|
|
222
|
+
}));
|
|
223
|
+
};
|
|
224
|
+
/** Restart recovery can retire a request whose volatile response context was lost. */
|
|
225
|
+
const removeRetiredOccurrence = (runtime, registration) => Effect.gen(function* () {
|
|
226
|
+
if (registration.outbox === null) {
|
|
227
|
+
return registration;
|
|
228
|
+
}
|
|
229
|
+
const retained = yield* runtime.store
|
|
230
|
+
.readInboxItem(registration.outbox.deliveryToken)
|
|
231
|
+
.pipe(Effect.mapError(persistenceFailure));
|
|
232
|
+
if (retained !== undefined && !retained.acknowledged) {
|
|
233
|
+
return registration;
|
|
234
|
+
}
|
|
235
|
+
const next = { ...registration, outbox: null };
|
|
236
|
+
yield* save(runtime, next);
|
|
237
|
+
return next;
|
|
238
|
+
});
|
|
239
|
+
const prepareOccurrence = (runtime) => runtime.gate.withPermits(1)(Effect.gen(function* () {
|
|
240
|
+
const current = runtime.state.registration;
|
|
241
|
+
if (current === null || !active(runtime) || current.stalled !== null) {
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
const registration = yield* removeRetiredOccurrence(runtime, current);
|
|
245
|
+
if (registration.outbox !== null) {
|
|
246
|
+
return registration;
|
|
247
|
+
}
|
|
248
|
+
const page = yield* runtime.store
|
|
249
|
+
.readInbox({ limit: 1 })
|
|
250
|
+
.pipe(Effect.mapError(persistenceFailure));
|
|
251
|
+
const entry = page.items[0];
|
|
252
|
+
if (entry === undefined) {
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
const timestamp = now(runtime);
|
|
256
|
+
const body = yield* encodeItemEvent(entry, timestamp).pipe(Effect.mapError(persistenceFailure));
|
|
257
|
+
const next = {
|
|
258
|
+
...registration,
|
|
259
|
+
outbox: {
|
|
260
|
+
deliveryToken: entry.deliveryToken,
|
|
261
|
+
id: eventIdOf(entry.deliveryToken),
|
|
262
|
+
body,
|
|
263
|
+
attempts: 0,
|
|
264
|
+
firstAttemptAt: timestamp,
|
|
265
|
+
nextAttemptAt: timestamp,
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
yield* save(runtime, next);
|
|
269
|
+
return next;
|
|
270
|
+
}));
|
|
271
|
+
/** Drain immediately after receipts; the timer is only a retry and expiry wakeup. */
|
|
272
|
+
const observe = (runtime) => runtime.deliveryGate.withPermits(1)(Effect.gen(function* () {
|
|
273
|
+
while (true) {
|
|
274
|
+
const registration = yield* prepareOccurrence(runtime);
|
|
275
|
+
if (registration === null || !(yield* deliver(runtime, registration))) {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}));
|
|
280
|
+
const status = (runtime) => {
|
|
281
|
+
const registration = runtime.state.registration;
|
|
282
|
+
if (registration === null) {
|
|
283
|
+
return { mode: "none" };
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
mode: "webhook",
|
|
287
|
+
id: registration.id,
|
|
288
|
+
refreshBefore: new Date(registration.expiresAt).toISOString(),
|
|
289
|
+
stalled: registration.stalled,
|
|
290
|
+
lastError: registration.lastError,
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
const resume = (runtime) => Effect.suspend(() => {
|
|
294
|
+
const registration = runtime.state.registration;
|
|
295
|
+
if (registration === null || registration.stalled === null) {
|
|
296
|
+
return Effect.void;
|
|
297
|
+
}
|
|
298
|
+
if (registration.stalled === "terminal") {
|
|
299
|
+
return Effect.fail(new ProtocolError(-32014, "Terminal callback rejection requires consumer reconfiguration"));
|
|
300
|
+
}
|
|
301
|
+
return save(runtime, {
|
|
302
|
+
...registration,
|
|
303
|
+
stalled: null,
|
|
304
|
+
outbox: resetAttempt(registration, now(runtime)),
|
|
305
|
+
});
|
|
306
|
+
});
|
|
307
|
+
const unsubscribe = (runtime, url, principal) => Effect.suspend(() => {
|
|
308
|
+
const registration = runtime.state.registration;
|
|
309
|
+
if (registration === null ||
|
|
310
|
+
registration.id !== subscriptionId(principal, url)) {
|
|
311
|
+
return Effect.fail(new ProtocolError(-32011, "Subscription not found", {
|
|
312
|
+
kind: "subscription",
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
315
|
+
return retire(runtime);
|
|
316
|
+
});
|
|
317
|
+
const webhookOperations = (runtime) => ({
|
|
318
|
+
hasActiveSubscription: () => active(runtime),
|
|
319
|
+
subscribe: (input, principal, authorize) => subscribe(runtime, input, principal, authorize ?? Effect.void),
|
|
320
|
+
unsubscribe: (input, principal) => runtime.gate.withPermits(1)(unsubscribe(runtime, input.delivery.url, principal)),
|
|
321
|
+
observe: () => observe(runtime),
|
|
322
|
+
status: runtime.gate.withPermits(1)(runtime.store.readInboxSummary().pipe(Effect.map((summary) => {
|
|
323
|
+
const result = status(runtime);
|
|
324
|
+
return result.mode === "none"
|
|
325
|
+
? result
|
|
326
|
+
: { ...result, pendingCount: summary.pendingCount };
|
|
327
|
+
}), Effect.mapError(persistenceFailure))),
|
|
328
|
+
revoke: runtime.gate.withPermits(1)(retire(runtime)),
|
|
329
|
+
resume: runtime.gate.withPermits(1)(resume(runtime)),
|
|
330
|
+
});
|
|
331
|
+
/**
|
|
332
|
+
* Retain exact callback bytes across retries and retire inbox items on HTTP receipt.
|
|
333
|
+
* State transitions share the push ownership gate; callback I/O runs outside it.
|
|
334
|
+
* @param store Daemon-owned registration and delivery persistence.
|
|
335
|
+
* @param gate Serializes subscription state with native push ownership.
|
|
336
|
+
* @returns Protocol operations using the current Effect HTTP client and clock.
|
|
337
|
+
*/
|
|
338
|
+
export const makeWebhookEvents = (store, gate) => Effect.gen(function* () {
|
|
339
|
+
const client = (yield* HttpClient.HttpClient).pipe(HttpClient.withTracerDisabledWhen(() => true));
|
|
340
|
+
const clock = yield* Effect.clock;
|
|
341
|
+
const retained = yield* store
|
|
342
|
+
.readEventState()
|
|
343
|
+
.pipe(Effect.mapError(persistenceFailure));
|
|
344
|
+
const state = retained === undefined
|
|
345
|
+
? { registration: null }
|
|
346
|
+
: yield* decodeRuntimeValue(stateSchema, retained).pipe(Effect.mapError(persistenceFailure));
|
|
347
|
+
const deliveryGate = yield* Effect.makeSemaphore(1);
|
|
348
|
+
const runtime = {
|
|
349
|
+
store,
|
|
350
|
+
client,
|
|
351
|
+
clock,
|
|
352
|
+
state,
|
|
353
|
+
gate,
|
|
354
|
+
deliveryGate,
|
|
355
|
+
generation: 0,
|
|
356
|
+
};
|
|
357
|
+
return webhookOperations(runtime);
|
|
358
|
+
}).pipe(Effect.withSpan("makeWebhookEvents"));
|
|
359
|
+
//# sourceMappingURL=webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/endpoint/mcp/webhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** @file Fail-closed loading of the agent key and secret credential files. */
|
|
2
|
+
import { AgentSigningAuthority } from "@moltzap/identity";
|
|
3
|
+
import { Effect, Redacted, Schema } from "effect";
|
|
4
|
+
declare const CredentialError_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 & {
|
|
5
|
+
readonly _tag: "CredentialError";
|
|
6
|
+
} & Readonly<A>;
|
|
7
|
+
/**
|
|
8
|
+
* One non-diagnostic credential loading failure. Its stage says whether
|
|
9
|
+
* reading the file as exact UTF-8 failed or the text it holds was refused, so
|
|
10
|
+
* callers map it onto their own closed reasons without ever seeing
|
|
11
|
+
* the path, the bytes, or the decoder detail.
|
|
12
|
+
*/
|
|
13
|
+
export declare class CredentialError extends CredentialError_base<{
|
|
14
|
+
readonly stage: "file" | "value";
|
|
15
|
+
}> {
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Grammar of an admission credential: 8 to 512 token characters with optional
|
|
19
|
+
* base64 padding, exactly as the file holds it with no surrounding whitespace.
|
|
20
|
+
* Other bearer credentials narrow it.
|
|
21
|
+
*/
|
|
22
|
+
export declare const credentialText: Schema.filter<Schema.filter<Schema.filter<typeof Schema.String>>>;
|
|
23
|
+
/**
|
|
24
|
+
* Reads one secret file and accepts its exact text.
|
|
25
|
+
*
|
|
26
|
+
* @param path Redacted location of the credential file.
|
|
27
|
+
* @param grammar Grammar the whole file text must satisfy.
|
|
28
|
+
* @returns The redacted credential.
|
|
29
|
+
*/
|
|
30
|
+
export declare const readCredential: (path: Redacted.Redacted, grammar: Schema.Schema<string>) => Effect.Effect<Redacted.Redacted, CredentialError>;
|
|
31
|
+
/**
|
|
32
|
+
* Reads the agent's PKCS#8 private key and constructs its Ed25519 authority.
|
|
33
|
+
*
|
|
34
|
+
* @param path Redacted location of the private key file.
|
|
35
|
+
* @returns Opaque signing authority for the configured agent.
|
|
36
|
+
*/
|
|
37
|
+
export declare const loadSigningAuthority: (path: Redacted.Redacted) => Effect.Effect<AgentSigningAuthority, CredentialError>;
|
|
38
|
+
/**
|
|
39
|
+
* Reads the admission credential an unregistered agent presents.
|
|
40
|
+
*
|
|
41
|
+
* @param path Redacted location of the admission credential file.
|
|
42
|
+
* @returns The redacted admission credential.
|
|
43
|
+
*/
|
|
44
|
+
export declare const loadAdmissionCredential: (path: Redacted.Redacted) => Effect.Effect<Redacted.Redacted, CredentialError>;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/identity/credentials.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAQ,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;AAIxD;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,qBAAoC;IACvE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAClC,CAAC;CAAG;AAEL;;;;GAIG;AACH,eAAO,MAAM,cAAc,mEAI1B,CAAC;AA2BF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,SACnB,QAAQ,CAAC,QAAQ,WACd,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAMhD,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,SACzB,QAAQ,CAAC,QAAQ,KACtB,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAOpD,CAAC;AAEJ;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,SAC5B,QAAQ,CAAC,QAAQ,KACtB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CACb,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** @file Fail-closed loading of the agent key and secret credential files. */
|
|
2
|
+
import { AgentSigningAuthority } from "@moltzap/identity";
|
|
3
|
+
import { Data, Effect, Redacted, Schema } from "effect";
|
|
4
|
+
// eslint-disable-next-line agent-code-guard/prefer-effect-platform -- Bootstrap reads configured credential files before the daemon composes its platform services.
|
|
5
|
+
import { readFile } from "node:fs/promises";
|
|
6
|
+
/**
|
|
7
|
+
* One non-diagnostic credential loading failure. Its stage says whether
|
|
8
|
+
* reading the file as exact UTF-8 failed or the text it holds was refused, so
|
|
9
|
+
* callers map it onto their own closed reasons without ever seeing
|
|
10
|
+
* the path, the bytes, or the decoder detail.
|
|
11
|
+
*/
|
|
12
|
+
export class CredentialError extends Data.TaggedError("CredentialError") {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Grammar of an admission credential: 8 to 512 token characters with optional
|
|
16
|
+
* base64 padding, exactly as the file holds it with no surrounding whitespace.
|
|
17
|
+
* Other bearer credentials narrow it.
|
|
18
|
+
*/
|
|
19
|
+
export const credentialText = Schema.String.pipe(Schema.minLength(8), Schema.maxLength(512), Schema.pattern(/^[A-Za-z0-9\-._~+/]+=*$/u));
|
|
20
|
+
const utf8Decoder = new TextDecoder("utf-8", {
|
|
21
|
+
fatal: true,
|
|
22
|
+
ignoreBOM: true,
|
|
23
|
+
});
|
|
24
|
+
const fileFailure = () => new CredentialError({ stage: "file" });
|
|
25
|
+
const valueFailure = () => new CredentialError({ stage: "value" });
|
|
26
|
+
const readExactUtf8 = (path) => Effect.tryPromise({
|
|
27
|
+
try: () => readFile(Redacted.value(path)),
|
|
28
|
+
catch: fileFailure,
|
|
29
|
+
}).pipe(Effect.flatMap((bytes) => Effect.try({
|
|
30
|
+
try: () => utf8Decoder.decode(bytes),
|
|
31
|
+
catch: fileFailure,
|
|
32
|
+
})));
|
|
33
|
+
/**
|
|
34
|
+
* Reads one secret file and accepts its exact text.
|
|
35
|
+
*
|
|
36
|
+
* @param path Redacted location of the credential file.
|
|
37
|
+
* @param grammar Grammar the whole file text must satisfy.
|
|
38
|
+
* @returns The redacted credential.
|
|
39
|
+
*/
|
|
40
|
+
export const readCredential = (path, grammar) => readExactUtf8(path).pipe(Effect.flatMap((text) => Schema.decodeUnknown(grammar)(text).pipe(Effect.mapError(valueFailure))), Effect.map(Redacted.make));
|
|
41
|
+
/**
|
|
42
|
+
* Reads the agent's PKCS#8 private key and constructs its Ed25519 authority.
|
|
43
|
+
*
|
|
44
|
+
* @param path Redacted location of the private key file.
|
|
45
|
+
* @returns Opaque signing authority for the configured agent.
|
|
46
|
+
*/
|
|
47
|
+
export const loadSigningAuthority = (path) => readExactUtf8(path).pipe(Effect.flatMap((privateKey) => AgentSigningAuthority.fromPkcs8(Redacted.make(privateKey)).pipe(Effect.mapError(valueFailure))));
|
|
48
|
+
/**
|
|
49
|
+
* Reads the admission credential an unregistered agent presents.
|
|
50
|
+
*
|
|
51
|
+
* @param path Redacted location of the admission credential file.
|
|
52
|
+
* @returns The redacted admission credential.
|
|
53
|
+
*/
|
|
54
|
+
export const loadAdmissionCredential = (path) => readCredential(path, credentialText);
|
|
55
|
+
//# sourceMappingURL=credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/identity/credentials.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxD,oKAAoK;AACpK,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C;;;;;GAKG;AACH,MAAM,OAAO,eAAgB,SAAQ,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAErE;CAAG;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAC9C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EACnB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EACrB,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAC3C,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE;IAC3C,KAAK,EAAE,IAAI;IACX,SAAS,EAAE,IAAI;CAChB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,GAAoB,EAAE,CACxC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACzC,MAAM,YAAY,GAAG,GAAoB,EAAE,CACzC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AAE1C,MAAM,aAAa,GAAG,CACpB,IAAuB,EACiB,EAAE,CAC1C,MAAM,CAAC,UAAU,CAAC;IAChB,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IACpC,KAAK,EAAE,WAAW;CACnB,CAAC,CACH,CACF,CAAC;AAEJ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,IAAuB,EACvB,OAA8B,EACqB,EAAE,CACrD,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CACtB,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CACxE,EACD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC1B,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAAuB,EACgC,EAAE,CACzD,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CACtB,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5B,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC9B,CACF,CACF,CAAC;AAEJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,IAAuB,EAC4B,EAAE,CACrD,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** @file Agent key and secret credential loading, below every other Client domain. */
|
|
2
|
+
/** Fail-closed loaders for the agent key and secret credential files, and their one error. */
|
|
3
|
+
export { CredentialError, credentialText, loadAdmissionCredential, loadSigningAuthority, readCredential, } from "./credentials.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,8FAA8F;AAC9F,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** @file Agent key and secret credential loading, below every other Client domain. */
|
|
2
|
+
/** Fail-closed loaders for the agent key and secret credential files, and their one error. */
|
|
3
|
+
export { CredentialError, credentialText, loadAdmissionCredential, loadSigningAuthority, readCredential, } from "./credentials.js";
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,8FAA8F;AAC9F,OAAO,EACL,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
/** @file Public barrel for the final endpoint runtime capability. */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { MessageTextError, parseMessageText } from "./message-text.js";
|
|
2
|
+
/** The endpoint capability a host acquires, and its connect and delivery types. */
|
|
3
|
+
export { ConnectError, type HarnessEndpoint, type InboundDelivery, } from "./endpoint/harness-endpoint/index.js";
|
|
5
4
|
/** Acquire the structural endpoint for one loopback daemon endpoint. */
|
|
6
|
-
export { acquireHarnessEndpoint } from "./
|
|
5
|
+
export { acquireHarnessEndpoint } from "./endpoint/harness-endpoint/index.js";
|
|
6
|
+
/** One line of the daemon's optional history export. */
|
|
7
|
+
export { HistoryExportRecord } from "./delivery/history-export.js";
|
|
8
|
+
/** Send input and the closed error of a refused collective send. */
|
|
9
|
+
export { CollectiveError, SendInput, type SendResult, } from "./transport/collectives/forms.js";
|
|
10
|
+
/** The items an endpoint delivers to its host. */
|
|
11
|
+
export { InboundItem } from "./transport/collectives/inbound.js";
|
|
12
|
+
/** The operation a native host's message text states. */
|
|
13
|
+
export { MessageTextError, parseMessageText, } from "./transport/collectives/message-text.js";
|
|
14
|
+
/** Explicit direct and group addresses. */
|
|
15
|
+
export { AgentAddress, GroupAddress, MessageAddressInput, } from "./transport/messaging/address.js";
|
|
16
|
+
/** The closed errors of sending, listening, and acknowledging delivery. */
|
|
17
|
+
export { DeliveryAcknowledgeError, ListenError, SendError, } from "./transport/messaging/errors.js";
|
|
18
|
+
/** Certified inbound messages, direct or to a fixed group. */
|
|
19
|
+
export { type DirectMessage, type GroupMessage, InboundMessage, } from "./transport/messaging/message.js";
|
|
20
|
+
/** Post ids and the closed semantic content of a message. */
|
|
21
|
+
export { Content, ContentPart, JsonValue, PostId, } from "./transport/wire/values.js";
|
|
7
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAKrE,mFAAmF;AACnF,OAAO,EACL,YAAY,EACZ,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,sCAAsC,CAAC;AAC9C,wEAAwE;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,wDAAwD;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,oEAAoE;AACpE,OAAO,EACL,eAAe,EACf,SAAS,EACT,KAAK,UAAU,GAChB,MAAM,kCAAkC,CAAC;AAC1C,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,yDAAyD;AACzD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,2CAA2C;AAC3C,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAC1C,2EAA2E;AAC3E,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,SAAS,GACV,MAAM,iCAAiC,CAAC;AACzC,8DAA8D;AAC9D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,cAAc,GACf,MAAM,kCAAkC,CAAC;AAC1C,6DAA6D;AAC7D,OAAO,EACL,OAAO,EACP,WAAW,EACX,SAAS,EACT,MAAM,GACP,MAAM,4BAA4B,CAAC"}
|