@moltzap/client 2026.1002.0 → 2026.1005.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +1 -6
- package/README.md +2 -2
- package/bin/moltzapd +2 -2
- package/dist/{harness-mcp-contract.d.ts → delivery/history-export.d.ts} +96 -136
- package/dist/delivery/history-export.d.ts.map +1 -0
- package/dist/{daemon/runtime → delivery}/history-export.js +36 -3
- package/dist/delivery/history-export.js.map +1 -0
- package/dist/delivery/host-delivery.d.ts +51 -0
- package/dist/delivery/host-delivery.d.ts.map +1 -0
- package/dist/delivery/host-delivery.js +109 -0
- package/dist/delivery/host-delivery.js.map +1 -0
- package/dist/delivery/inbox.d.ts +142 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +130 -0
- package/dist/delivery/inbox.js.map +1 -0
- package/dist/delivery/index.d.ts +4 -0
- package/dist/delivery/index.d.ts.map +1 -0
- package/dist/delivery/index.js +4 -0
- package/dist/delivery/index.js.map +1 -0
- package/dist/delivery/operations.d.ts +787 -0
- package/dist/delivery/operations.d.ts.map +1 -0
- package/dist/delivery/operations.js +162 -0
- package/dist/delivery/operations.js.map +1 -0
- package/dist/delivery/pass.d.ts +91 -0
- package/dist/delivery/pass.d.ts.map +1 -0
- package/dist/{daemon/runtime/pending-delivery.js → delivery/pass.js} +61 -34
- package/dist/delivery/pass.js.map +1 -0
- package/dist/delivery/send-invocations.d.ts +106 -0
- package/dist/delivery/send-invocations.d.ts.map +1 -0
- package/dist/delivery/send-invocations.js +109 -0
- package/dist/delivery/send-invocations.js.map +1 -0
- package/dist/endpoint/harness-endpoint/capability.d.ts +39 -0
- package/dist/endpoint/harness-endpoint/capability.d.ts.map +1 -0
- package/dist/endpoint/harness-endpoint/capability.js +9 -0
- package/dist/endpoint/harness-endpoint/capability.js.map +1 -0
- package/dist/endpoint/harness-endpoint/events.d.ts +12 -0
- package/dist/endpoint/harness-endpoint/events.d.ts.map +1 -0
- package/dist/endpoint/harness-endpoint/events.js +199 -0
- package/dist/endpoint/harness-endpoint/events.js.map +1 -0
- package/dist/{client-runtime.d.ts → endpoint/harness-endpoint/index.d.ts} +4 -2
- package/dist/endpoint/harness-endpoint/index.d.ts.map +1 -0
- package/dist/{client-runtime.js → endpoint/harness-endpoint/index.js} +115 -115
- package/dist/endpoint/harness-endpoint/index.js.map +1 -0
- package/dist/endpoint/implementation.d.ts +4 -0
- package/dist/endpoint/implementation.d.ts.map +1 -0
- package/dist/endpoint/implementation.js +5 -0
- package/dist/endpoint/implementation.js.map +1 -0
- package/dist/endpoint/mcp/auth.d.ts +31 -0
- package/dist/endpoint/mcp/auth.d.ts.map +1 -0
- package/dist/endpoint/mcp/auth.js +42 -0
- package/dist/endpoint/mcp/auth.js.map +1 -0
- package/dist/endpoint/mcp/event-schemas.d.ts +151 -0
- package/dist/endpoint/mcp/event-schemas.d.ts.map +1 -0
- package/dist/endpoint/mcp/event-schemas.js +72 -0
- package/dist/endpoint/mcp/event-schemas.js.map +1 -0
- package/dist/endpoint/mcp/event-signing.d.ts +62 -0
- package/dist/endpoint/mcp/event-signing.d.ts.map +1 -0
- package/dist/endpoint/mcp/event-signing.js +185 -0
- package/dist/endpoint/mcp/event-signing.js.map +1 -0
- package/dist/endpoint/mcp/events.d.ts +45 -0
- package/dist/endpoint/mcp/events.d.ts.map +1 -0
- package/dist/endpoint/mcp/events.js +308 -0
- package/dist/endpoint/mcp/events.js.map +1 -0
- package/dist/{harness-mcp-http.d.ts → endpoint/mcp/http.d.ts} +1 -1
- package/dist/endpoint/mcp/http.d.ts.map +1 -0
- package/dist/{harness-mcp-http.js → endpoint/mcp/http.js} +1 -1
- package/dist/endpoint/mcp/http.js.map +1 -0
- package/dist/endpoint/mcp/index.d.ts +10 -0
- package/dist/endpoint/mcp/index.d.ts.map +1 -0
- package/dist/endpoint/mcp/index.js +8 -0
- package/dist/endpoint/mcp/index.js.map +1 -0
- package/dist/endpoint/mcp/names.d.ts +18 -0
- package/dist/endpoint/mcp/names.d.ts.map +1 -0
- package/dist/endpoint/mcp/names.js +18 -0
- package/dist/endpoint/mcp/names.js.map +1 -0
- package/dist/{management-runtime.d.ts → endpoint/mcp/owner-tools.d.ts} +7 -7
- package/dist/endpoint/mcp/owner-tools.d.ts.map +1 -0
- package/dist/{management-runtime.js → endpoint/mcp/owner-tools.js} +2 -4
- package/dist/endpoint/mcp/owner-tools.js.map +1 -0
- package/dist/endpoint/mcp/schemas.d.ts +42 -0
- package/dist/endpoint/mcp/schemas.d.ts.map +1 -0
- package/dist/endpoint/mcp/schemas.js +89 -0
- package/dist/endpoint/mcp/schemas.js.map +1 -0
- package/dist/{harness-mcp-wire.d.ts → endpoint/mcp/tools.d.ts} +17 -14
- package/dist/endpoint/mcp/tools.d.ts.map +1 -0
- package/dist/{harness-mcp-wire.js → endpoint/mcp/tools.js} +230 -110
- package/dist/endpoint/mcp/tools.js.map +1 -0
- package/dist/endpoint/mcp/webhook.d.ts +15 -0
- package/dist/endpoint/mcp/webhook.d.ts.map +1 -0
- package/dist/endpoint/mcp/webhook.js +359 -0
- package/dist/endpoint/mcp/webhook.js.map +1 -0
- package/dist/identity/credentials.d.ts +46 -0
- package/dist/identity/credentials.d.ts.map +1 -0
- package/dist/identity/credentials.js +55 -0
- package/dist/identity/credentials.js.map +1 -0
- package/dist/identity/index.d.ts +4 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +4 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +21 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -5
- package/dist/index.js.map +1 -1
- package/dist/{contract.types-check.d.ts → index.types-check.d.ts} +12 -7
- package/dist/index.types-check.d.ts.map +1 -0
- package/dist/{contract.types-check.js → index.types-check.js} +6 -5
- package/dist/index.types-check.js.map +1 -0
- package/dist/{daemon/runtime/activation.d.ts → service/activation/index.d.ts} +11 -13
- package/dist/service/activation/index.d.ts.map +1 -0
- package/dist/{daemon/runtime/activation.js → service/activation/index.js} +3 -3
- package/dist/service/activation/index.js.map +1 -0
- package/dist/{daemon/configuration.d.ts → service/bootstrap.d.ts} +9 -17
- package/dist/service/bootstrap.d.ts.map +1 -0
- package/dist/service/bootstrap.js +6 -0
- package/dist/service/bootstrap.js.map +1 -0
- package/dist/service/configuration.d.ts +13 -0
- package/dist/service/configuration.d.ts.map +1 -0
- package/dist/service/configuration.js +75 -0
- package/dist/service/configuration.js.map +1 -0
- package/dist/{daemon/runtime → service}/controller.d.ts +9 -7
- package/dist/service/controller.d.ts.map +1 -0
- package/dist/service/controller.js +106 -0
- package/dist/service/controller.js.map +1 -0
- package/dist/{server.d.ts → service/index.d.ts} +7 -4
- package/dist/service/index.d.ts.map +1 -0
- package/dist/{server.js → service/index.js} +17 -15
- package/dist/service/index.js.map +1 -0
- package/dist/{server.types-check.d.ts → service/index.types-check.d.ts} +7 -7
- package/dist/service/index.types-check.d.ts.map +1 -0
- package/dist/{server.types-check.js → service/index.types-check.js} +1 -1
- package/dist/service/index.types-check.js.map +1 -0
- package/dist/{daemon/runtime/index.d.ts → service/lifecycle.d.ts} +4 -4
- package/dist/service/lifecycle.d.ts.map +1 -0
- package/dist/{daemon/runtime/index.js → service/lifecycle.js} +29 -26
- package/dist/service/lifecycle.js.map +1 -0
- package/dist/{daemon → service}/management.d.ts +3 -3
- package/dist/service/management.d.ts.map +1 -0
- package/dist/{daemon → service}/management.js +4 -14
- package/dist/service/management.js.map +1 -0
- package/dist/{daemon/registration.d.ts → service/registration/index.d.ts} +3 -3
- package/dist/service/registration/index.d.ts.map +1 -0
- package/dist/{daemon/registration.js → service/registration/index.js} +2 -3
- package/dist/service/registration/index.js.map +1 -0
- package/dist/{daemon/runtime/protocol.d.ts → service/supervision.d.ts} +17 -25
- package/dist/service/supervision.d.ts.map +1 -0
- package/dist/{daemon/runtime/protocol.js → service/supervision.js} +34 -37
- package/dist/service/supervision.js.map +1 -0
- package/dist/store/anchors.d.ts.map +1 -0
- package/dist/store/anchors.js.map +1 -0
- package/dist/store/database/index.d.ts.map +1 -0
- package/dist/store/database/index.js.map +1 -0
- package/dist/store/database/schema.d.ts.map +1 -0
- package/dist/{endpoint/store → store}/database/schema.js +42 -6
- package/dist/store/database/schema.js.map +1 -0
- package/dist/store/database/values.d.ts.map +1 -0
- package/dist/store/database/values.js.map +1 -0
- package/dist/store/inbox.d.ts +86 -0
- package/dist/store/inbox.d.ts.map +1 -0
- package/dist/store/inbox.js +269 -0
- package/dist/store/inbox.js.map +1 -0
- package/dist/store/index.d.ts +12 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +8 -0
- package/dist/store/index.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/deliveries.d.ts +9 -1
- package/dist/store/queues/deliveries.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/deliveries.js +19 -3
- package/dist/store/queues/deliveries.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/dissemination.d.ts +4 -2
- package/dist/store/queues/dissemination.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/dissemination.js +5 -4
- package/dist/store/queues/dissemination.js.map +1 -0
- package/dist/store/queues/index.d.ts +5 -0
- package/dist/store/queues/index.d.ts.map +1 -0
- package/dist/store/queues/index.js +7 -0
- package/dist/store/queues/index.js.map +1 -0
- package/dist/{endpoint/store → store/queues}/outbound.d.ts +1 -1
- package/dist/store/queues/outbound.d.ts.map +1 -0
- package/dist/{endpoint/store → store/queues}/outbound.js +1 -1
- package/dist/store/queues/outbound.js.map +1 -0
- package/dist/{endpoint/store/management.d.ts → store/reads.d.ts} +1 -1
- package/dist/store/reads.d.ts.map +1 -0
- package/dist/{endpoint/store/management.js → store/reads.js} +2 -4
- package/dist/store/reads.js.map +1 -0
- package/dist/store/records.d.ts.map +1 -0
- package/dist/{endpoint/store → store}/records.js +1 -2
- package/dist/store/records.js.map +1 -0
- package/dist/store/rows/index.d.ts.map +1 -0
- package/dist/store/rows/index.js.map +1 -0
- package/dist/store/runtime-codec.d.ts +17 -0
- package/dist/store/runtime-codec.d.ts.map +1 -0
- package/dist/store/runtime-codec.js +32 -0
- package/dist/store/runtime-codec.js.map +1 -0
- package/dist/{endpoint/store/index.d.ts → store/store.d.ts} +2 -2
- package/dist/store/store.d.ts.map +1 -0
- package/dist/{endpoint/store/index.js → store/store.js} +34 -7
- package/dist/store/store.js.map +1 -0
- package/dist/{endpoint/store → store}/types.d.ts +41 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js.map +1 -0
- package/dist/transport/collectives/answer-formats.d.ts +21 -0
- package/dist/transport/collectives/answer-formats.d.ts.map +1 -0
- package/dist/transport/collectives/answer-formats.js +127 -0
- package/dist/transport/collectives/answer-formats.js.map +1 -0
- package/dist/transport/collectives/failures.d.ts +34 -0
- package/dist/transport/collectives/failures.d.ts.map +1 -0
- package/dist/transport/collectives/failures.js +40 -0
- package/dist/transport/collectives/failures.js.map +1 -0
- package/dist/transport/collectives/forms.d.ts +260 -0
- package/dist/transport/collectives/forms.d.ts.map +1 -0
- package/dist/transport/collectives/forms.js +214 -0
- package/dist/transport/collectives/forms.js.map +1 -0
- package/dist/transport/collectives/inbound.d.ts +129 -0
- package/dist/transport/collectives/inbound.d.ts.map +1 -0
- package/dist/transport/collectives/inbound.js +81 -0
- package/dist/transport/collectives/inbound.js.map +1 -0
- package/dist/transport/collectives/index.d.ts +10 -0
- package/dist/transport/collectives/index.d.ts.map +1 -0
- package/dist/transport/collectives/index.js +8 -0
- package/dist/transport/collectives/index.js.map +1 -0
- package/dist/{message-text.d.ts → transport/collectives/message-text.d.ts} +8 -4
- package/dist/transport/collectives/message-text.d.ts.map +1 -0
- package/dist/{message-text.js → transport/collectives/message-text.js} +23 -47
- package/dist/transport/collectives/message-text.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.d.ts +35 -24
- package/dist/transport/collectives/operation.d.ts.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/operation.js +70 -105
- package/dist/transport/collectives/operation.js.map +1 -0
- package/dist/transport/collectives/part/grammar.d.ts +175 -0
- package/dist/transport/collectives/part/grammar.d.ts.map +1 -0
- package/dist/transport/collectives/part/grammar.js +222 -0
- package/dist/transport/collectives/part/grammar.js.map +1 -0
- package/dist/{endpoint/collective/wire.d.ts → transport/collectives/part/index.d.ts} +38 -51
- package/dist/transport/collectives/part/index.d.ts.map +1 -0
- package/dist/{endpoint/collective/wire.js → transport/collectives/part/index.js} +20 -122
- package/dist/transport/collectives/part/index.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/received-request.d.ts +2 -1
- package/dist/transport/collectives/received-request.d.ts.map +1 -0
- package/dist/transport/collectives/received-request.js.map +1 -0
- package/dist/transport/collectives/render.d.ts +40 -0
- package/dist/transport/collectives/render.d.ts.map +1 -0
- package/dist/transport/collectives/render.js +74 -0
- package/dist/transport/collectives/render.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/request-sends.d.ts +3 -2
- package/dist/transport/collectives/request-sends.d.ts.map +1 -0
- package/dist/transport/collectives/request-sends.js.map +1 -0
- package/dist/{endpoint/collective → transport/collectives}/shared-answers.d.ts +4 -3
- package/dist/transport/collectives/shared-answers.d.ts.map +1 -0
- package/dist/transport/collectives/shared-answers.js.map +1 -0
- package/dist/transport/collectives/validation.d.ts +31 -0
- package/dist/transport/collectives/validation.d.ts.map +1 -0
- package/dist/transport/collectives/validation.js +239 -0
- package/dist/transport/collectives/validation.js.map +1 -0
- package/dist/{endpoint/addressing/index.d.ts → transport/messaging/address.d.ts} +7 -4
- package/dist/transport/messaging/address.d.ts.map +1 -0
- package/dist/{endpoint/addressing/index.js → transport/messaging/address.js} +30 -26
- package/dist/transport/messaging/address.js.map +1 -0
- package/dist/{endpoint/protocol/index.d.ts → transport/messaging/certification.d.ts} +4 -4
- package/dist/transport/messaging/certification.d.ts.map +1 -0
- package/dist/{endpoint/protocol/index.js → transport/messaging/certification.js} +15 -10
- package/dist/transport/messaging/certification.js.map +1 -0
- package/dist/{endpoint/engine-dissemination.d.ts → transport/messaging/dissemination.d.ts} +3 -3
- package/dist/transport/messaging/dissemination.d.ts.map +1 -0
- package/dist/{endpoint/engine-dissemination.js → transport/messaging/dissemination.js} +7 -6
- package/dist/transport/messaging/dissemination.js.map +1 -0
- package/dist/transport/messaging/errors.d.ts +50 -0
- package/dist/transport/messaging/errors.d.ts.map +1 -0
- package/dist/transport/messaging/errors.js +64 -0
- package/dist/transport/messaging/errors.js.map +1 -0
- package/dist/{endpoint/protocol → transport/messaging}/evidence.d.ts +3 -3
- package/dist/transport/messaging/evidence.d.ts.map +1 -0
- package/dist/{endpoint/protocol → transport/messaging}/evidence.js +1 -1
- package/dist/transport/messaging/evidence.js.map +1 -0
- package/dist/{endpoint/engine.d.ts → transport/messaging/index.d.ts} +4 -4
- package/dist/transport/messaging/index.d.ts.map +1 -0
- package/dist/{endpoint/engine.js → transport/messaging/index.js} +25 -9
- package/dist/transport/messaging/index.js.map +1 -0
- package/dist/transport/messaging/message.d.ts +112 -0
- package/dist/transport/messaging/message.d.ts.map +1 -0
- package/dist/transport/messaging/message.js +38 -0
- package/dist/transport/messaging/message.js.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.d.ts +5 -5
- package/dist/transport/messaging/reanchor/empty.d.ts.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/empty.js +3 -3
- package/dist/transport/messaging/reanchor/empty.js.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.d.ts +3 -3
- package/dist/transport/messaging/reanchor/index.d.ts.map +1 -0
- package/dist/{endpoint/recovery → transport/messaging}/reanchor/index.js +27 -12
- package/dist/transport/messaging/reanchor/index.js.map +1 -0
- package/dist/{endpoint/engine-durability.d.ts → transport/messaging/records/index.d.ts} +9 -6
- package/dist/transport/messaging/records/index.d.ts.map +1 -0
- package/dist/{endpoint/engine-durability.js → transport/messaging/records/index.js} +9 -15
- package/dist/transport/messaging/records/index.js.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/barrier.d.ts +1 -1
- package/dist/transport/messaging/recovery/barrier.d.ts.map +1 -0
- package/dist/transport/messaging/recovery/barrier.js.map +1 -0
- package/dist/{endpoint/recovery/store-evidence.d.ts → transport/messaging/recovery/evidence.d.ts} +5 -5
- package/dist/transport/messaging/recovery/evidence.d.ts.map +1 -0
- package/dist/{endpoint/recovery/store-evidence.js → transport/messaging/recovery/evidence.js} +3 -3
- package/dist/transport/messaging/recovery/evidence.js.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/index.d.ts +4 -4
- package/dist/transport/messaging/recovery/index.d.ts.map +1 -0
- package/dist/{endpoint → transport/messaging}/recovery/index.js +41 -32
- package/dist/transport/messaging/recovery/index.js.map +1 -0
- package/dist/{endpoint/recovery/store.d.ts → transport/messaging/recovery/persistence.d.ts} +5 -5
- package/dist/transport/messaging/recovery/persistence.d.ts.map +1 -0
- package/dist/{endpoint/recovery/store.js → transport/messaging/recovery/persistence.js} +4 -4
- package/dist/transport/messaging/recovery/persistence.js.map +1 -0
- package/dist/{endpoint/recovery/state.d.ts → transport/messaging/recovery-session/index.d.ts} +6 -6
- package/dist/transport/messaging/recovery-session/index.d.ts.map +1 -0
- package/dist/{endpoint/recovery/state.js → transport/messaging/recovery-session/index.js} +3 -3
- package/dist/transport/messaging/recovery-session/index.js.map +1 -0
- package/dist/{endpoint/engine-types.d.ts → transport/messaging/runtime/index.d.ts} +22 -5
- package/dist/transport/messaging/runtime/index.d.ts.map +1 -0
- package/dist/{endpoint/engine-types.js → transport/messaging/runtime/index.js} +1 -1
- package/dist/transport/messaging/runtime/index.js.map +1 -0
- package/dist/{endpoint/engine-send.d.ts → transport/messaging/send.d.ts} +5 -4
- package/dist/transport/messaging/send.d.ts.map +1 -0
- package/dist/{endpoint/engine-send.js → transport/messaging/send.js} +4 -4
- package/dist/transport/messaging/send.js.map +1 -0
- package/dist/transport/router/index.d.ts.map +1 -0
- package/dist/{endpoint/router-worker → transport/router}/index.js +1 -1
- package/dist/transport/router/index.js.map +1 -0
- package/dist/transport/router/outage.d.ts.map +1 -0
- package/dist/transport/router/outage.js.map +1 -0
- package/dist/{endpoint/router-worker → transport/router}/types.d.ts +3 -4
- package/dist/transport/router/types.d.ts.map +1 -0
- package/dist/transport/router/types.js.map +1 -0
- package/dist/{endpoint/representation-canonical.d.ts → transport/wire/encoding/canonical.d.ts} +1 -2
- package/dist/transport/wire/encoding/canonical.d.ts.map +1 -0
- package/dist/{endpoint/representation-canonical.js → transport/wire/encoding/canonical.js} +2 -2
- package/dist/transport/wire/encoding/canonical.js.map +1 -0
- package/dist/{endpoint/representation-codec.d.ts → transport/wire/encoding/codec.d.ts} +5 -9
- package/dist/transport/wire/encoding/codec.d.ts.map +1 -0
- package/dist/{endpoint/representation-codec.js → transport/wire/encoding/codec.js} +7 -27
- package/dist/transport/wire/encoding/codec.js.map +1 -0
- package/dist/transport/wire/encoding/index.d.ts +4 -0
- package/dist/transport/wire/encoding/index.d.ts.map +1 -0
- package/dist/transport/wire/encoding/index.js +6 -0
- package/dist/transport/wire/encoding/index.js.map +1 -0
- package/dist/transport/wire/index.d.ts +6 -0
- package/dist/transport/wire/index.d.ts.map +1 -0
- package/dist/transport/wire/index.js +9 -0
- package/dist/transport/wire/index.js.map +1 -0
- package/dist/{endpoint/representation-schemas.d.ts → transport/wire/schemas.d.ts} +76 -98
- package/dist/transport/wire/schemas.d.ts.map +1 -0
- package/dist/{endpoint/representation-schemas.js → transport/wire/schemas.js} +7 -19
- package/dist/transport/wire/schemas.js.map +1 -0
- package/dist/transport/wire/values.d.ts +114 -0
- package/dist/transport/wire/values.d.ts.map +1 -0
- package/dist/transport/wire/values.js +192 -0
- package/dist/transport/wire/values.js.map +1 -0
- package/dist/{endpoint/representation-verification.d.ts → transport/wire/verification.d.ts} +3 -4
- package/dist/transport/wire/verification.d.ts.map +1 -0
- package/dist/{endpoint/representation-verification.js → transport/wire/verification.js} +4 -4
- package/dist/transport/wire/verification.js.map +1 -0
- package/package.json +6 -6
- package/dist/client-runtime.d.ts.map +0 -1
- package/dist/client-runtime.js.map +0 -1
- package/dist/contract.d.ts +0 -721
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -441
- package/dist/contract.js.map +0 -1
- package/dist/contract.types-check.d.ts.map +0 -1
- package/dist/contract.types-check.js.map +0 -1
- package/dist/daemon/configuration.d.ts.map +0 -1
- package/dist/daemon/configuration.js +0 -75
- package/dist/daemon/configuration.js.map +0 -1
- package/dist/daemon/management.d.ts.map +0 -1
- package/dist/daemon/management.js.map +0 -1
- package/dist/daemon/registration.d.ts.map +0 -1
- package/dist/daemon/registration.js.map +0 -1
- package/dist/daemon/runtime/activation.d.ts.map +0 -1
- package/dist/daemon/runtime/activation.js.map +0 -1
- package/dist/daemon/runtime/controller.d.ts.map +0 -1
- package/dist/daemon/runtime/controller.js +0 -138
- package/dist/daemon/runtime/controller.js.map +0 -1
- package/dist/daemon/runtime/history-export.d.ts +0 -33
- package/dist/daemon/runtime/history-export.d.ts.map +0 -1
- package/dist/daemon/runtime/history-export.js.map +0 -1
- package/dist/daemon/runtime/index.d.ts.map +0 -1
- package/dist/daemon/runtime/index.js.map +0 -1
- package/dist/daemon/runtime/pending-delivery.d.ts +0 -49
- package/dist/daemon/runtime/pending-delivery.d.ts.map +0 -1
- package/dist/daemon/runtime/pending-delivery.js.map +0 -1
- package/dist/daemon/runtime/protocol.d.ts.map +0 -1
- package/dist/daemon/runtime/protocol.js.map +0 -1
- package/dist/endpoint/addressing/index.d.ts.map +0 -1
- package/dist/endpoint/addressing/index.js.map +0 -1
- package/dist/endpoint/collective/operation.d.ts.map +0 -1
- package/dist/endpoint/collective/operation.js.map +0 -1
- package/dist/endpoint/collective/received-request.d.ts.map +0 -1
- package/dist/endpoint/collective/received-request.js.map +0 -1
- package/dist/endpoint/collective/request-sends.d.ts.map +0 -1
- package/dist/endpoint/collective/request-sends.js.map +0 -1
- package/dist/endpoint/collective/shared-answers.d.ts.map +0 -1
- package/dist/endpoint/collective/shared-answers.js.map +0 -1
- package/dist/endpoint/collective/validation.d.ts +0 -49
- package/dist/endpoint/collective/validation.d.ts.map +0 -1
- package/dist/endpoint/collective/validation.js +0 -97
- package/dist/endpoint/collective/validation.js.map +0 -1
- package/dist/endpoint/collective/wire.d.ts.map +0 -1
- package/dist/endpoint/collective/wire.js.map +0 -1
- package/dist/endpoint/engine-dissemination.d.ts.map +0 -1
- package/dist/endpoint/engine-dissemination.js.map +0 -1
- package/dist/endpoint/engine-durability.d.ts.map +0 -1
- package/dist/endpoint/engine-durability.js.map +0 -1
- package/dist/endpoint/engine-send.d.ts.map +0 -1
- package/dist/endpoint/engine-send.js.map +0 -1
- package/dist/endpoint/engine-types.d.ts.map +0 -1
- package/dist/endpoint/engine-types.js.map +0 -1
- package/dist/endpoint/engine.d.ts.map +0 -1
- package/dist/endpoint/engine.js.map +0 -1
- package/dist/endpoint/protocol/evidence.d.ts.map +0 -1
- package/dist/endpoint/protocol/evidence.js.map +0 -1
- package/dist/endpoint/protocol/index.d.ts.map +0 -1
- package/dist/endpoint/protocol/index.js.map +0 -1
- package/dist/endpoint/recovery/barrier.d.ts.map +0 -1
- package/dist/endpoint/recovery/barrier.js.map +0 -1
- package/dist/endpoint/recovery/index.d.ts.map +0 -1
- package/dist/endpoint/recovery/index.js.map +0 -1
- package/dist/endpoint/recovery/reanchor/empty.d.ts.map +0 -1
- package/dist/endpoint/recovery/reanchor/empty.js.map +0 -1
- package/dist/endpoint/recovery/reanchor/index.d.ts.map +0 -1
- package/dist/endpoint/recovery/reanchor/index.js.map +0 -1
- package/dist/endpoint/recovery/state.d.ts.map +0 -1
- package/dist/endpoint/recovery/state.js.map +0 -1
- package/dist/endpoint/recovery/store-evidence.d.ts.map +0 -1
- package/dist/endpoint/recovery/store-evidence.js.map +0 -1
- package/dist/endpoint/recovery/store.d.ts.map +0 -1
- package/dist/endpoint/recovery/store.js.map +0 -1
- package/dist/endpoint/representation-canonical.d.ts.map +0 -1
- package/dist/endpoint/representation-canonical.js.map +0 -1
- package/dist/endpoint/representation-codec.d.ts.map +0 -1
- package/dist/endpoint/representation-codec.js.map +0 -1
- package/dist/endpoint/representation-schemas.d.ts.map +0 -1
- package/dist/endpoint/representation-schemas.js.map +0 -1
- package/dist/endpoint/representation-verification.d.ts.map +0 -1
- package/dist/endpoint/representation-verification.js.map +0 -1
- package/dist/endpoint/representation.d.ts +0 -6
- package/dist/endpoint/representation.d.ts.map +0 -1
- package/dist/endpoint/representation.js +0 -8
- package/dist/endpoint/representation.js.map +0 -1
- package/dist/endpoint/router-worker/index.d.ts.map +0 -1
- package/dist/endpoint/router-worker/index.js.map +0 -1
- package/dist/endpoint/router-worker/outage.d.ts.map +0 -1
- package/dist/endpoint/router-worker/outage.js.map +0 -1
- package/dist/endpoint/router-worker/types.d.ts.map +0 -1
- package/dist/endpoint/router-worker/types.js.map +0 -1
- package/dist/endpoint/store/anchors.d.ts.map +0 -1
- package/dist/endpoint/store/anchors.js.map +0 -1
- package/dist/endpoint/store/database/index.d.ts.map +0 -1
- package/dist/endpoint/store/database/index.js.map +0 -1
- package/dist/endpoint/store/database/schema.d.ts.map +0 -1
- package/dist/endpoint/store/database/schema.js.map +0 -1
- package/dist/endpoint/store/database/values.d.ts.map +0 -1
- package/dist/endpoint/store/database/values.js.map +0 -1
- package/dist/endpoint/store/deliveries.d.ts.map +0 -1
- package/dist/endpoint/store/deliveries.js.map +0 -1
- package/dist/endpoint/store/dissemination.d.ts.map +0 -1
- package/dist/endpoint/store/dissemination.js.map +0 -1
- package/dist/endpoint/store/index.d.ts.map +0 -1
- package/dist/endpoint/store/index.js.map +0 -1
- package/dist/endpoint/store/management.d.ts.map +0 -1
- package/dist/endpoint/store/management.js.map +0 -1
- package/dist/endpoint/store/outbound.d.ts.map +0 -1
- package/dist/endpoint/store/outbound.js.map +0 -1
- package/dist/endpoint/store/records.d.ts.map +0 -1
- package/dist/endpoint/store/records.js.map +0 -1
- package/dist/endpoint/store/rows/index.d.ts.map +0 -1
- package/dist/endpoint/store/rows/index.js.map +0 -1
- package/dist/endpoint/store/types.d.ts.map +0 -1
- package/dist/endpoint/store/types.js.map +0 -1
- package/dist/endpoint/store.d.ts +0 -10
- package/dist/endpoint/store.d.ts.map +0 -1
- package/dist/endpoint/store.js +0 -6
- package/dist/endpoint/store.js.map +0 -1
- package/dist/harness-mcp-contract.d.ts.map +0 -1
- package/dist/harness-mcp-contract.js +0 -113
- package/dist/harness-mcp-contract.js.map +0 -1
- package/dist/harness-mcp-http.d.ts.map +0 -1
- package/dist/harness-mcp-http.js.map +0 -1
- package/dist/harness-mcp-subscription.d.ts +0 -30
- package/dist/harness-mcp-subscription.d.ts.map +0 -1
- package/dist/harness-mcp-subscription.js +0 -361
- package/dist/harness-mcp-subscription.js.map +0 -1
- package/dist/harness-mcp-wire.d.ts.map +0 -1
- package/dist/harness-mcp-wire.js.map +0 -1
- package/dist/management-runtime.d.ts.map +0 -1
- package/dist/management-runtime.js.map +0 -1
- package/dist/message-text.d.ts.map +0 -1
- package/dist/message-text.js.map +0 -1
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/server.types-check.d.ts.map +0 -1
- package/dist/server.types-check.js.map +0 -1
- /package/dist/{endpoint/store → store}/anchors.d.ts +0 -0
- /package/dist/{endpoint/store → store}/anchors.js +0 -0
- /package/dist/{endpoint/store → store}/database/index.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/index.js +0 -0
- /package/dist/{endpoint/store → store}/database/schema.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/values.d.ts +0 -0
- /package/dist/{endpoint/store → store}/database/values.js +0 -0
- /package/dist/{endpoint/store → store}/records.d.ts +0 -0
- /package/dist/{endpoint/store → store}/rows/index.d.ts +0 -0
- /package/dist/{endpoint/store → store}/rows/index.js +0 -0
- /package/dist/{endpoint/store → store}/types.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/received-request.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/request-sends.js +0 -0
- /package/dist/{endpoint/collective → transport/collectives}/shared-answers.js +0 -0
- /package/dist/{endpoint → transport/messaging}/recovery/barrier.js +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/index.d.ts +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/outage.d.ts +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/outage.js +0 -0
- /package/dist/{endpoint/router-worker → transport/router}/types.js +0 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/** @file Collective operations, answers and the closed errors of a refused collective send. */
|
|
2
|
+
import { Data, ParseResult, Schema } from "effect";
|
|
3
|
+
import { sendFailureReasons, sendFailureText, } from "../messaging/errors.js";
|
|
4
|
+
import { AgentAddress, exactStruct, isCanonicalIdentifier, JsonValue, MessageAddressInput, wellFormedString, } from "../wire/values.js";
|
|
5
|
+
/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- Effect Schemas share their domain names with the nominal values they decode. */
|
|
6
|
+
/**
|
|
7
|
+
* Identity of one gather or all_gather, minted by the requesting endpoint.
|
|
8
|
+
* The request, each member's answer post, an all_gather's close, the result
|
|
9
|
+
* and any failure carry it. An answer that matches no single open request is
|
|
10
|
+
* refused under an id minted for the refusal, so its failure is named too.
|
|
11
|
+
*/
|
|
12
|
+
export const CollectiveId = Schema.String.pipe(Schema.filter((value) => isCanonicalIdentifier("col_", value), {
|
|
13
|
+
description: "A collective operation id: col_ followed by 43 base64url characters",
|
|
14
|
+
}), Schema.brand("CollectiveId"));
|
|
15
|
+
/** One property of a form-mode schema as a caller states it. */
|
|
16
|
+
const formProperty = Schema.Record({ key: Schema.String, value: JsonValue });
|
|
17
|
+
/**
|
|
18
|
+
* The MCP form-mode `requestedSchema` of a collecting operation: a flat object
|
|
19
|
+
* of primitive properties. This schema fixes its outline; the sending endpoint
|
|
20
|
+
* checks each property against the MCP form-mode grammar before any post.
|
|
21
|
+
*/
|
|
22
|
+
export const RequestedSchema = exactStruct({
|
|
23
|
+
$schema: Schema.optionalWith(Schema.String, { exact: true }),
|
|
24
|
+
type: Schema.Literal("object"),
|
|
25
|
+
properties: Schema.Record({ key: Schema.String, value: formProperty }),
|
|
26
|
+
required: Schema.optionalWith(Schema.Array(Schema.String), { exact: true }),
|
|
27
|
+
});
|
|
28
|
+
/**
|
|
29
|
+
* One answer to a collecting operation, field by field. Its value space is MCP
|
|
30
|
+
* `ElicitResult` content's; the request's schema decides which fields apply.
|
|
31
|
+
*/
|
|
32
|
+
export const AnswerContent = Schema.Record({
|
|
33
|
+
key: Schema.String,
|
|
34
|
+
value: Schema.Union(Schema.String, Schema.Number.pipe(Schema.finite()), Schema.Boolean, Schema.Array(Schema.String)),
|
|
35
|
+
}).annotations({
|
|
36
|
+
description: "The answer, one field per requestedSchema property",
|
|
37
|
+
});
|
|
38
|
+
/** The longest deadline a collecting operation may state: 30 days, in seconds. */
|
|
39
|
+
export const MAXIMUM_DEADLINE_SECONDS = 2_592_000;
|
|
40
|
+
/** A collecting operation's relative deadline: whole seconds, up to 30 days. */
|
|
41
|
+
export const DeadlineSeconds = Schema.Number.pipe(Schema.int(), Schema.between(1, MAXIMUM_DEADLINE_SECONDS));
|
|
42
|
+
/**
|
|
43
|
+
* Multicast: one post to the `to` address, complete when certified. `op`
|
|
44
|
+
* defaults to multicast, so an omitted `op` and an omitted `collective` mean
|
|
45
|
+
* the same operation.
|
|
46
|
+
*/
|
|
47
|
+
const multicastOperation = exactStruct({
|
|
48
|
+
op: Schema.optionalWith(Schema.Literal("multicast"), { exact: true }),
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* A collecting operation: the text is a question to every member of `to`.
|
|
52
|
+
* A gather sends one request post to each member, in that member's direct
|
|
53
|
+
* conversation with the requester, and only the requester receives the
|
|
54
|
+
* result. An all_gather sends one request post to the `group:` conversation
|
|
55
|
+
* `to` names; members answer there, no model sees a peer's answer before the
|
|
56
|
+
* requester's close, and every member receives the same result. The deadline
|
|
57
|
+
* is relative, in whole seconds; the sending endpoint converts it to an
|
|
58
|
+
* absolute time at send.
|
|
59
|
+
*/
|
|
60
|
+
const collectingOperation = exactStruct({
|
|
61
|
+
op: Schema.Literal("gather", "all_gather"),
|
|
62
|
+
deadline: DeadlineSeconds,
|
|
63
|
+
requestedSchema: RequestedSchema,
|
|
64
|
+
});
|
|
65
|
+
/** The collective operation one send performs, discriminated by `op`. */
|
|
66
|
+
const CollectiveOperation = Schema.Union(multicastOperation, collectingOperation);
|
|
67
|
+
/** An `accept` answer, the only one that carries content. */
|
|
68
|
+
export const AcceptResponse = exactStruct({
|
|
69
|
+
action: Schema.Literal("accept"),
|
|
70
|
+
content: AnswerContent,
|
|
71
|
+
});
|
|
72
|
+
/** A `decline` answer. */
|
|
73
|
+
export const DeclineResponse = exactStruct({
|
|
74
|
+
action: Schema.Literal("decline"),
|
|
75
|
+
});
|
|
76
|
+
/**
|
|
77
|
+
* A member's answer to the one request open in the conversation it is sent
|
|
78
|
+
* to: the requester's direct conversation for a gather, the group for an
|
|
79
|
+
* all_gather. It is MCP's `ElicitResult`; only `accept` carries content,
|
|
80
|
+
* valid against the request's schema.
|
|
81
|
+
*/
|
|
82
|
+
const CollectiveResponse = Schema.Union(AcceptResponse, DeclineResponse);
|
|
83
|
+
/**
|
|
84
|
+
* One send to one address: text with its collective operation, multicast
|
|
85
|
+
* when `collective` is omitted, or an answer to the request open in that
|
|
86
|
+
* address's conversation. `parseMessageText` reads both from a message's
|
|
87
|
+
* text.
|
|
88
|
+
*/
|
|
89
|
+
export const SendInput = Schema.Union(exactStruct({
|
|
90
|
+
to: MessageAddressInput,
|
|
91
|
+
text: wellFormedString,
|
|
92
|
+
collective: Schema.optionalWith(CollectiveOperation, { exact: true }),
|
|
93
|
+
}), exactStruct({
|
|
94
|
+
to: MessageAddressInput,
|
|
95
|
+
collectiveResponse: CollectiveResponse,
|
|
96
|
+
})).annotations({ identifier: "SendInput" });
|
|
97
|
+
/** Members a send could not reach, each with its send failure's reason. */
|
|
98
|
+
const unreachableMembers = Schema.NonEmptyArray(exactStruct({
|
|
99
|
+
member: AgentAddress,
|
|
100
|
+
reason: Schema.Literal(...sendFailureReasons),
|
|
101
|
+
}));
|
|
102
|
+
/**
|
|
103
|
+
* Why a collective send was refused, discriminated by `kind`: a gather or
|
|
104
|
+
* all_gather whose schema is outside the form-mode grammar or whose request
|
|
105
|
+
* post some member could not receive, or a response the member's endpoint
|
|
106
|
+
* cannot send.
|
|
107
|
+
*/
|
|
108
|
+
const collectiveFailure = Schema.Union(exactStruct({
|
|
109
|
+
kind: Schema.Literal("members-unreachable"),
|
|
110
|
+
members: unreachableMembers,
|
|
111
|
+
}), exactStruct({
|
|
112
|
+
kind: Schema.Literal("schema-invalid"),
|
|
113
|
+
detail: Schema.String,
|
|
114
|
+
}), exactStruct({
|
|
115
|
+
kind: Schema.Literal("answer-invalid"),
|
|
116
|
+
fields: Schema.NonEmptyArray(exactStruct({
|
|
117
|
+
field: Schema.String,
|
|
118
|
+
reason: Schema.Literal("missing", "unexpected", "invalid"),
|
|
119
|
+
detail: Schema.optionalWith(Schema.String, { exact: true }),
|
|
120
|
+
})),
|
|
121
|
+
}), exactStruct({ kind: Schema.Literal("request-none") }), exactStruct({ kind: Schema.Literal("request-ambiguous") }), exactStruct({ kind: Schema.Literal("request-answered") }), exactStruct({ kind: Schema.Literal("request-expired") }));
|
|
122
|
+
/**
|
|
123
|
+
* Decode a collective failure carried across the loopback MCP boundary.
|
|
124
|
+
* @param value Untrusted failure detail from a refused send's error data.
|
|
125
|
+
* @returns The validated failure.
|
|
126
|
+
*/
|
|
127
|
+
export const decodeCollectiveFailure = Schema.decodeUnknown(collectiveFailure);
|
|
128
|
+
/**
|
|
129
|
+
* The text of an all_gather whose close could not be certified: no member
|
|
130
|
+
* received a result, so the question ended without one.
|
|
131
|
+
* @param reason Why the close post failed.
|
|
132
|
+
* @returns The `operationFailed` text the asker's model reads.
|
|
133
|
+
*/
|
|
134
|
+
export function closeFailureText(reason) {
|
|
135
|
+
return `all_gather failed: the result could not be shared with the group: ${sendFailureText[reason]}`;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* One line per issue of a decode failure, each led by its path, such as
|
|
139
|
+
* `requestedSchema.type: Expected "object", actual "obj"`, joined by `; `.
|
|
140
|
+
* A model repairs its input from this text alone.
|
|
141
|
+
* @param error The failed decode.
|
|
142
|
+
* @returns The issues as text.
|
|
143
|
+
*/
|
|
144
|
+
export const describeIssues = (error) => ParseResult.ArrayFormatter.formatErrorSync(error)
|
|
145
|
+
.map(({ path, message }) => path.length === 0 ? message : `${path.map(String).join(".")}: ${message}`)
|
|
146
|
+
.join("; ");
|
|
147
|
+
/** What each answer-field problem means. */
|
|
148
|
+
const answerFieldText = {
|
|
149
|
+
missing: "is missing",
|
|
150
|
+
unexpected: "is not in the form",
|
|
151
|
+
invalid: "is invalid",
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Name each failing answer field, such as `field "slot" is invalid (enum)`.
|
|
155
|
+
* A refused reply and a member's `invalid` outcome read the same.
|
|
156
|
+
* @param fields The failing fields, in validation order.
|
|
157
|
+
* @returns One clause per field, joined by `; `.
|
|
158
|
+
*/
|
|
159
|
+
export function answerFieldsText(fields) {
|
|
160
|
+
return fields
|
|
161
|
+
.map(({ field, reason, detail }) => {
|
|
162
|
+
const problem = answerFieldText[reason];
|
|
163
|
+
return detail === undefined
|
|
164
|
+
? `field "${field}" ${problem}`
|
|
165
|
+
: `field "${field}" ${problem} (${detail})`;
|
|
166
|
+
})
|
|
167
|
+
.join("; ");
|
|
168
|
+
}
|
|
169
|
+
function describeCollectiveFailure(failure) {
|
|
170
|
+
switch (failure.kind) {
|
|
171
|
+
case "members-unreachable":
|
|
172
|
+
return `send failed: ${failure.members
|
|
173
|
+
.map(({ member, reason }) => reason === "unknown-agent"
|
|
174
|
+
? `${member} is not a known agent`
|
|
175
|
+
: `${member} could not be reached: ${sendFailureText[reason]}`)
|
|
176
|
+
.join("; ")}`;
|
|
177
|
+
case "schema-invalid":
|
|
178
|
+
return `send failed: the form is invalid (${failure.detail})`;
|
|
179
|
+
case "answer-invalid":
|
|
180
|
+
return `reply failed: ${answerFieldsText(failure.fields)}`;
|
|
181
|
+
case "request-none":
|
|
182
|
+
return "reply failed: no question is open in this conversation";
|
|
183
|
+
case "request-ambiguous":
|
|
184
|
+
return "reply failed: more than one question is open in this conversation, and answering one of several is not supported";
|
|
185
|
+
case "request-answered":
|
|
186
|
+
return "reply failed: the question was already answered";
|
|
187
|
+
case "request-expired":
|
|
188
|
+
return "reply failed: the question's deadline has passed";
|
|
189
|
+
default: {
|
|
190
|
+
const exhaustive = failure;
|
|
191
|
+
return exhaustive;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* The service could not keep an item the layer emitted. The service has
|
|
197
|
+
* already reported its own failure, so the layer only stops the work that
|
|
198
|
+
* emitted the item.
|
|
199
|
+
*/
|
|
200
|
+
export class CollectiveEmitError extends Data.TaggedError("CollectiveEmitError") {
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* A gather, all_gather or answer was refused. The message is what a host
|
|
204
|
+
* hands its model as the tool error: the failed action and its cause, naming
|
|
205
|
+
* each unreachable member or failing field. The operation id stays in the
|
|
206
|
+
* error's data, not its message.
|
|
207
|
+
*/
|
|
208
|
+
export class CollectiveError extends Data.TaggedError("CollectiveError") {
|
|
209
|
+
get message() {
|
|
210
|
+
return describeCollectiveFailure(this.failure);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/* eslint-enable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- Restore the package naming rules after the Schema/type pairs. */
|
|
214
|
+
//# sourceMappingURL=forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../src/transport/collectives/forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/** @file The items an endpoint delivers to its host: messages and collective requests, results and failures. */
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
/**
|
|
4
|
+
* One member's outcome in a completed gather or all_gather, discriminated by
|
|
5
|
+
* `kind`. `no-answer` covers every member that did not answer: one whose
|
|
6
|
+
* request post was refused or not certified in time, and one silent at the
|
|
7
|
+
* deadline.
|
|
8
|
+
*/
|
|
9
|
+
declare const memberOutcome: Schema.Union<[Schema.Struct<{
|
|
10
|
+
kind: Schema.Literal<["answered"]>;
|
|
11
|
+
content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
|
|
12
|
+
}>, Schema.Struct<{
|
|
13
|
+
kind: Schema.Literal<["declined"]>;
|
|
14
|
+
}>, Schema.Struct<{
|
|
15
|
+
kind: Schema.Literal<["invalid"]>;
|
|
16
|
+
reason: typeof Schema.String;
|
|
17
|
+
}>, Schema.Struct<{
|
|
18
|
+
kind: Schema.Literal<["no-answer"]>;
|
|
19
|
+
}>]>;
|
|
20
|
+
/** One member's recorded outcome. */
|
|
21
|
+
export type CollectiveMemberOutcome = typeof memberOutcome.Type;
|
|
22
|
+
/**
|
|
23
|
+
* One inbound item, discriminated by `kind`. The endpoint consumes the
|
|
24
|
+
* collective layer's protocol posts, posts whose collective part is malformed
|
|
25
|
+
* or duplicated, and multicasts that carry nothing besides that part; every
|
|
26
|
+
* other certified post becomes one item, and the endpoint itself emits
|
|
27
|
+
* results and failures.
|
|
28
|
+
*/
|
|
29
|
+
export declare const InboundItem: Schema.Union<[Schema.Struct<{
|
|
30
|
+
kind: Schema.Literal<["multicast"]>;
|
|
31
|
+
message: Schema.Union<[Schema.filter<Schema.Struct<{
|
|
32
|
+
kind: Schema.Literal<["direct"]>;
|
|
33
|
+
postId: Schema.brand<Schema.filter<typeof Schema.String>, "PostId">;
|
|
34
|
+
address: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
|
|
35
|
+
sender: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
|
|
36
|
+
content: Schema.refine<readonly [{
|
|
37
|
+
readonly type: "text";
|
|
38
|
+
readonly text: string;
|
|
39
|
+
} | {
|
|
40
|
+
readonly type: "data";
|
|
41
|
+
readonly value: import("../wire/values.js").JsonValue;
|
|
42
|
+
}, ...({
|
|
43
|
+
readonly type: "text";
|
|
44
|
+
readonly text: string;
|
|
45
|
+
} | {
|
|
46
|
+
readonly type: "data";
|
|
47
|
+
readonly value: import("../wire/values.js").JsonValue;
|
|
48
|
+
})[]], Schema.NonEmptyArray<Schema.Union<[Schema.Struct<{
|
|
49
|
+
type: Schema.Literal<["text"]>;
|
|
50
|
+
text: Schema.filter<typeof Schema.String>;
|
|
51
|
+
}>, Schema.Struct<{
|
|
52
|
+
type: Schema.Literal<["data"]>;
|
|
53
|
+
value: Schema.Schema<import("../wire/values.js").JsonValue, import("../wire/values.js").JsonValue, never>;
|
|
54
|
+
}>]>>>;
|
|
55
|
+
}>>, Schema.filter<Schema.Struct<{
|
|
56
|
+
kind: Schema.Literal<["group"]>;
|
|
57
|
+
postId: Schema.brand<Schema.filter<typeof Schema.String>, "PostId">;
|
|
58
|
+
address: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "GroupAddress">;
|
|
59
|
+
sender: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
|
|
60
|
+
members: Schema.filter<Schema.TupleType<readonly [Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">, Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">, Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">], [Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">]>>;
|
|
61
|
+
content: Schema.refine<readonly [{
|
|
62
|
+
readonly type: "text";
|
|
63
|
+
readonly text: string;
|
|
64
|
+
} | {
|
|
65
|
+
readonly type: "data";
|
|
66
|
+
readonly value: import("../wire/values.js").JsonValue;
|
|
67
|
+
}, ...({
|
|
68
|
+
readonly type: "text";
|
|
69
|
+
readonly text: string;
|
|
70
|
+
} | {
|
|
71
|
+
readonly type: "data";
|
|
72
|
+
readonly value: import("../wire/values.js").JsonValue;
|
|
73
|
+
})[]], Schema.NonEmptyArray<Schema.Union<[Schema.Struct<{
|
|
74
|
+
type: Schema.Literal<["text"]>;
|
|
75
|
+
text: Schema.filter<typeof Schema.String>;
|
|
76
|
+
}>, Schema.Struct<{
|
|
77
|
+
type: Schema.Literal<["data"]>;
|
|
78
|
+
value: Schema.Schema<import("../wire/values.js").JsonValue, import("../wire/values.js").JsonValue, never>;
|
|
79
|
+
}>]>>>;
|
|
80
|
+
}>>]>;
|
|
81
|
+
}>, Schema.Struct<{
|
|
82
|
+
kind: Schema.Literal<["collectiveRequest"]>;
|
|
83
|
+
op: Schema.Literal<["gather", "all_gather"]>;
|
|
84
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
|
|
85
|
+
postId: Schema.brand<Schema.filter<typeof Schema.String>, "PostId">;
|
|
86
|
+
from: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
|
|
87
|
+
to: Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">;
|
|
88
|
+
question: Schema.filter<typeof Schema.String>;
|
|
89
|
+
requestedSchema: Schema.Struct<{
|
|
90
|
+
$schema: Schema.optionalWith<typeof Schema.String, {
|
|
91
|
+
exact: true;
|
|
92
|
+
}>;
|
|
93
|
+
type: Schema.Literal<["object"]>;
|
|
94
|
+
properties: Schema.Record$<typeof Schema.String, Schema.Record$<typeof Schema.String, Schema.Schema<import("../wire/values.js").JsonValue, import("../wire/values.js").JsonValue, never>>>;
|
|
95
|
+
required: Schema.optionalWith<Schema.Array$<typeof Schema.String>, {
|
|
96
|
+
exact: true;
|
|
97
|
+
}>;
|
|
98
|
+
}>;
|
|
99
|
+
deadlineAt: Schema.filter<Schema.filter<typeof Schema.Number>>;
|
|
100
|
+
}>, Schema.Struct<{
|
|
101
|
+
kind: Schema.Literal<["collectiveResult"]>;
|
|
102
|
+
op: Schema.Literal<["gather", "all_gather"]>;
|
|
103
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
|
|
104
|
+
to: Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">;
|
|
105
|
+
question: Schema.filter<typeof Schema.String>;
|
|
106
|
+
outcomes: Schema.NonEmptyArray<Schema.Struct<{
|
|
107
|
+
member: Schema.brand<Schema.filter<Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">>, "AgentAddress">;
|
|
108
|
+
outcome: Schema.Union<[Schema.Struct<{
|
|
109
|
+
kind: Schema.Literal<["answered"]>;
|
|
110
|
+
content: Schema.Record$<typeof Schema.String, Schema.Union<[typeof Schema.String, Schema.filter<typeof Schema.Number>, typeof Schema.Boolean, Schema.Array$<typeof Schema.String>]>>;
|
|
111
|
+
}>, Schema.Struct<{
|
|
112
|
+
kind: Schema.Literal<["declined"]>;
|
|
113
|
+
}>, Schema.Struct<{
|
|
114
|
+
kind: Schema.Literal<["invalid"]>;
|
|
115
|
+
reason: typeof Schema.String;
|
|
116
|
+
}>, Schema.Struct<{
|
|
117
|
+
kind: Schema.Literal<["no-answer"]>;
|
|
118
|
+
}>]>;
|
|
119
|
+
}>>;
|
|
120
|
+
}>, Schema.Struct<{
|
|
121
|
+
kind: Schema.Literal<["operationFailed"]>;
|
|
122
|
+
id: Schema.brand<Schema.filter<typeof Schema.String>, "CollectiveId">;
|
|
123
|
+
to: Schema.brand<Schema.filter<typeof Schema.String>, "MessageAddressInput">;
|
|
124
|
+
error: typeof Schema.String;
|
|
125
|
+
}>]>;
|
|
126
|
+
/** A validated inbound item. */
|
|
127
|
+
export type InboundItem = typeof InboundItem.Type;
|
|
128
|
+
export {};
|
|
129
|
+
//# sourceMappingURL=inbound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/inbound.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAEhH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA8ChC;;;;;GAKG;AACH,QAAA,MAAM,aAAa;;;;;;;;;;IAKlB,CAAC;AACF,qCAAqC;AACrC,MAAM,MAAM,uBAAuB,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC;AAiChE;;;;;;GAMG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOtB,CAAC;AACH,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/** @file The items an endpoint delivers to its host: messages and collective requests, results and failures. */
|
|
2
|
+
import { Schema } from "effect";
|
|
3
|
+
import { InboundMessage } from "../messaging/message.js";
|
|
4
|
+
import { AgentAddress, exactStruct, MessageAddressInput, PostId, wellFormedString, } from "../wire/values.js";
|
|
5
|
+
import { AnswerContent, CollectiveId, RequestedSchema } from "./forms.js";
|
|
6
|
+
/* eslint-disable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- Effect Schemas share their domain names with the nominal values they decode. */
|
|
7
|
+
/**
|
|
8
|
+
* A multicast delivered to this endpoint. The message content is the post's
|
|
9
|
+
* content without the collective layer's part.
|
|
10
|
+
*/
|
|
11
|
+
const multicastItem = exactStruct({
|
|
12
|
+
kind: Schema.Literal("multicast"),
|
|
13
|
+
message: InboundMessage,
|
|
14
|
+
});
|
|
15
|
+
/** Absolute epoch milliseconds; endpoints assume zero clock skew. */
|
|
16
|
+
const epochMillis = Schema.Number.pipe(Schema.int(), Schema.positive());
|
|
17
|
+
/** Which collecting operation an item belongs to. */
|
|
18
|
+
const collectingOp = Schema.Literal("gather", "all_gather");
|
|
19
|
+
/**
|
|
20
|
+
* A question another agent asked this one. `postId` is the certified request
|
|
21
|
+
* post's and `to` the conversation it arrived in: the requester's `agent:`
|
|
22
|
+
* address for a gather, the group's `group:` address for an all_gather. The
|
|
23
|
+
* member answers once with a `collectiveResponse` sent to `to`.
|
|
24
|
+
*/
|
|
25
|
+
const collectiveRequestItem = exactStruct({
|
|
26
|
+
kind: Schema.Literal("collectiveRequest"),
|
|
27
|
+
op: collectingOp,
|
|
28
|
+
id: CollectiveId,
|
|
29
|
+
postId: PostId,
|
|
30
|
+
from: AgentAddress,
|
|
31
|
+
to: MessageAddressInput,
|
|
32
|
+
question: wellFormedString,
|
|
33
|
+
requestedSchema: RequestedSchema,
|
|
34
|
+
deadlineAt: epochMillis,
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* One member's outcome in a completed gather or all_gather, discriminated by
|
|
38
|
+
* `kind`. `no-answer` covers every member that did not answer: one whose
|
|
39
|
+
* request post was refused or not certified in time, and one silent at the
|
|
40
|
+
* deadline.
|
|
41
|
+
*/
|
|
42
|
+
const memberOutcome = Schema.Union(exactStruct({ kind: Schema.Literal("answered"), content: AnswerContent }), exactStruct({ kind: Schema.Literal("declined") }), exactStruct({ kind: Schema.Literal("invalid"), reason: Schema.String }), exactStruct({ kind: Schema.Literal("no-answer") }));
|
|
43
|
+
/**
|
|
44
|
+
* The result of a gather this endpoint started, or of an all_gather this
|
|
45
|
+
* endpoint started or was asked: exactly one outcome per member, in member
|
|
46
|
+
* order. `to` is the address the operation named. Every member's all_gather
|
|
47
|
+
* result is built from exactly the answers the requester's close lists, so
|
|
48
|
+
* each endpoint's result is the same.
|
|
49
|
+
*/
|
|
50
|
+
const collectiveResultItem = exactStruct({
|
|
51
|
+
kind: Schema.Literal("collectiveResult"),
|
|
52
|
+
op: collectingOp,
|
|
53
|
+
id: CollectiveId,
|
|
54
|
+
to: MessageAddressInput,
|
|
55
|
+
question: wellFormedString,
|
|
56
|
+
outcomes: Schema.NonEmptyArray(exactStruct({ member: AgentAddress, outcome: memberOutcome })),
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* A collective send that failed after the host's tool had returned, or an
|
|
60
|
+
* all_gather whose close could not be certified. `to` is the operation's
|
|
61
|
+
* address, or the request's conversation for a response; `error` is the text
|
|
62
|
+
* a waiting host would have received as the tool error.
|
|
63
|
+
*/
|
|
64
|
+
const operationFailedItem = exactStruct({
|
|
65
|
+
kind: Schema.Literal("operationFailed"),
|
|
66
|
+
id: CollectiveId,
|
|
67
|
+
to: MessageAddressInput,
|
|
68
|
+
error: Schema.String,
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* One inbound item, discriminated by `kind`. The endpoint consumes the
|
|
72
|
+
* collective layer's protocol posts, posts whose collective part is malformed
|
|
73
|
+
* or duplicated, and multicasts that carry nothing besides that part; every
|
|
74
|
+
* other certified post becomes one item, and the endpoint itself emits
|
|
75
|
+
* results and failures.
|
|
76
|
+
*/
|
|
77
|
+
export const InboundItem = Schema.Union(multicastItem, collectiveRequestItem, collectiveResultItem, operationFailedItem).annotations({
|
|
78
|
+
identifier: "InboundItem",
|
|
79
|
+
});
|
|
80
|
+
/* eslint-enable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- Restore the package naming rules after the Schema/type pairs. */
|
|
81
|
+
//# sourceMappingURL=inbound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../../src/transport/collectives/inbound.ts"],"names":[],"mappings":"AAAA,gHAAgH;AAEhH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,MAAM,EACN,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE1E,0KAA0K;AAE1K;;;GAGG;AACH,MAAM,aAAa,GAAG,WAAW,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;IACjC,OAAO,EAAE,cAAc;CACxB,CAAC,CAAC;AAEH,qEAAqE;AACrE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAExE,qDAAqD;AACrD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,qBAAqB,GAAG,WAAW,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACzC,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,gBAAgB;IAC1B,eAAe,EAAE,eAAe;IAChC,UAAU,EAAE,WAAW;CACxB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAChC,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EACzE,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EACjD,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EACvE,WAAW,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CACnD,CAAC;AAIF;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,WAAW,CAAC;IACvC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACxC,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,mBAAmB;IACvB,QAAQ,EAAE,gBAAgB;IAC1B,QAAQ,EAAE,MAAM,CAAC,aAAa,CAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAC9D;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACvC,EAAE,EAAE,YAAY;IAChB,EAAE,EAAE,mBAAmB;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM;CACrB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CACrC,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,CACpB,CAAC,WAAW,CAAC;IACZ,UAAU,EAAE,aAAa;CAC1B,CAAC,CAAC;AAIH,0JAA0J"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @file The collective operations the daemon service composes. */
|
|
2
|
+
/** The daemon's stateful gather and all_gather operations. */
|
|
3
|
+
export { type CollectiveOperations, makeCollectiveOperations, } from "./operation.js";
|
|
4
|
+
/** The failure an emit port returns when the service cannot keep an item. */
|
|
5
|
+
export { CollectiveEmitError } from "./forms.js";
|
|
6
|
+
/** The items those operations emit. */
|
|
7
|
+
export type { InboundItem } from "./inbound.js";
|
|
8
|
+
/** The collective part carried in a post's content. */
|
|
9
|
+
export { collectiveIdOf, readCollectiveValue } from "./part/index.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,8DAA8D;AAC9D,OAAO,EACL,KAAK,oBAAoB,EACzB,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,6EAA6E;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,uCAAuC;AACvC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** @file The collective operations the daemon service composes. */
|
|
2
|
+
/** The daemon's stateful gather and all_gather operations. */
|
|
3
|
+
export { makeCollectiveOperations, } from "./operation.js";
|
|
4
|
+
/** The failure an emit port returns when the service cannot keep an item. */
|
|
5
|
+
export { CollectiveEmitError } from "./forms.js";
|
|
6
|
+
/** The collective part carried in a post's content. */
|
|
7
|
+
export { collectiveIdOf, readCollectiveValue } from "./part/index.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transport/collectives/index.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,8DAA8D;AAC9D,OAAO,EAEL,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,6EAA6E;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGjD,uDAAuD;AACvD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Reads the operation a message's text states.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* as message text
|
|
4
|
+
* In native hosts, a model reaches every operation through the ordinary
|
|
5
|
+
* message tool, as message text. The OpenClaw and NanoClaw adapters use
|
|
6
6
|
* {@link parseMessageText}, so both hosts accept the same text:
|
|
7
7
|
*
|
|
8
8
|
* ```
|
|
@@ -20,9 +20,13 @@
|
|
|
20
20
|
* the operation and the error names the field to fix.
|
|
21
21
|
*/
|
|
22
22
|
import { Either } from "effect";
|
|
23
|
-
import { type MessageAddressInput
|
|
23
|
+
import { type MessageAddressInput } from "../wire/values.js";
|
|
24
|
+
import { SendInput } from "./forms.js";
|
|
25
|
+
/** The operations that ask a question, in the order their keys are read. */
|
|
26
|
+
declare const COLLECTING_OPERATIONS: readonly ["gather", "all_gather"];
|
|
27
|
+
type CollectingOperation = (typeof COLLECTING_OPERATIONS)[number];
|
|
24
28
|
/** Which operation a refused text stated. */
|
|
25
|
-
type StatedOperation = "message" |
|
|
29
|
+
type StatedOperation = "message" | CollectingOperation | "answer";
|
|
26
30
|
declare const MessageTextError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
|
|
27
31
|
readonly _tag: "MessageTextError";
|
|
28
32
|
} & Readonly<A>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-text.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/message-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAQ,MAAM,EAA6B,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAe,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAOL,SAAS,EACV,MAAM,YAAY,CAAC;AAIpB,4EAA4E;AAC5E,QAAA,MAAM,qBAAqB,YAAI,QAAQ,EAAE,YAAY,CAAU,CAAC;AAEhE,KAAK,mBAAmB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAElE,6CAA6C;AAC7C,KAAK,eAAe,GAAG,SAAS,GAAG,mBAAmB,GAAG,QAAQ,CAAC;;;;AAElE;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,sBAAqC;IACzE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;IACA,IAAa,OAAO,IAAI,MAAM,CAG7B;CACF;AA0BD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,OACvB,mBAAmB,QACjB,MAAM,KACX,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,gBAAgB,CAKxC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @file Reads the operation a message's text states.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* as message text
|
|
4
|
+
* In native hosts, a model reaches every operation through the ordinary
|
|
5
|
+
* message tool, as message text. The OpenClaw and NanoClaw adapters use
|
|
6
6
|
* {@link parseMessageText}, so both hosts accept the same text:
|
|
7
7
|
*
|
|
8
8
|
* ```
|
|
@@ -19,8 +19,12 @@
|
|
|
19
19
|
* fails validation is refused, never sent as text, because the model meant
|
|
20
20
|
* the operation and the error names the field to fix.
|
|
21
21
|
*/
|
|
22
|
-
import { Data, Either, Option,
|
|
23
|
-
import {
|
|
22
|
+
import { Data, Either, Option, Predicate, Schema } from "effect";
|
|
23
|
+
import { exactStruct } from "../wire/values.js";
|
|
24
|
+
import { AcceptResponse, DeadlineSeconds, DeclineResponse, describeIssues, RequestedSchema, SendInput, } from "./forms.js";
|
|
25
|
+
/* eslint-disable @typescript-eslint/naming-convention -- Effect Schemas are named for the text shapes they decode. */
|
|
26
|
+
/** The operations that ask a question, in the order their keys are read. */
|
|
27
|
+
const COLLECTING_OPERATIONS = ["gather", "all_gather"];
|
|
24
28
|
/**
|
|
25
29
|
* A message text states an operation it does not validly carry, or is plain
|
|
26
30
|
* text that is not well-formed Unicode. The message names each failing field
|
|
@@ -28,29 +32,19 @@ import { AnswerContent, DeadlineSeconds, RequestedSchema, SendInput, } from "./c
|
|
|
28
32
|
*/
|
|
29
33
|
export class MessageTextError extends Data.TaggedError("MessageTextError") {
|
|
30
34
|
get message() {
|
|
31
|
-
|
|
35
|
+
const action = this.operation === "answer" ? "reply" : "send";
|
|
36
|
+
return `${action} failed: invalid ${this.operation}: ${this.detail}`;
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
requestedSchema: RequestedSchema,
|
|
41
|
-
});
|
|
42
|
-
const AllGatherText = exactStruct({
|
|
43
|
-
all_gather: Schema.String,
|
|
39
|
+
/**
|
|
40
|
+
* A gather or all_gather, its question under the operation's own key, read
|
|
41
|
+
* as `question` so both share one decode.
|
|
42
|
+
*/
|
|
43
|
+
const collectingText = (op) => exactStruct({
|
|
44
|
+
question: Schema.propertySignature(Schema.String).pipe(Schema.fromKey(op)),
|
|
44
45
|
deadline: DeadlineSeconds,
|
|
45
46
|
requestedSchema: RequestedSchema,
|
|
46
47
|
});
|
|
47
|
-
const AcceptText = exactStruct({
|
|
48
|
-
action: Schema.Literal("accept"),
|
|
49
|
-
content: AnswerContent,
|
|
50
|
-
});
|
|
51
|
-
const DeclineText = exactStruct({
|
|
52
|
-
action: Schema.Literal("decline"),
|
|
53
|
-
});
|
|
54
48
|
/** The `action` key alone, so an unknown action is named as that field. */
|
|
55
49
|
const AnswerAction = Schema.Struct({
|
|
56
50
|
action: Schema.Literal("accept", "decline"),
|
|
@@ -76,30 +70,21 @@ export const parseMessageText = (to, text) => Option.match(jsonObject(text), {
|
|
|
76
70
|
* none of `gather`, `all_gather` and `action` and so is plain text.
|
|
77
71
|
*/
|
|
78
72
|
function statedOperation(to, value) {
|
|
79
|
-
|
|
80
|
-
|
|
73
|
+
const op = COLLECTING_OPERATIONS.find((key) => Object.hasOwn(value, key));
|
|
74
|
+
if (op !== undefined) {
|
|
75
|
+
return decodeText(op, collectingText(op), value).pipe(Either.flatMap(({ question, ...collective }) => sendInput(op, {
|
|
81
76
|
to,
|
|
82
|
-
text:
|
|
83
|
-
collective: { ...
|
|
84
|
-
})));
|
|
85
|
-
}
|
|
86
|
-
if (Object.hasOwn(value, "all_gather")) {
|
|
87
|
-
return decodeText("all_gather", AllGatherText, value).pipe(Either.flatMap((stated) => sendInput("all_gather", {
|
|
88
|
-
to,
|
|
89
|
-
text: stated.all_gather,
|
|
90
|
-
collective: { ...collecting(stated), op: "all_gather" },
|
|
77
|
+
text: question,
|
|
78
|
+
collective: { ...collective, op },
|
|
91
79
|
})));
|
|
92
80
|
}
|
|
93
81
|
return Object.hasOwn(value, "action") ? answer(to, value) : undefined;
|
|
94
82
|
}
|
|
95
|
-
function collecting(stated) {
|
|
96
|
-
return { deadline: stated.deadline, requestedSchema: stated.requestedSchema };
|
|
97
|
-
}
|
|
98
83
|
/** An answer: `action` decides which shape the rest must have. */
|
|
99
84
|
function answer(to, value) {
|
|
100
85
|
return decodeText("answer", AnswerAction, value).pipe(Either.flatMap(({ action }) => action === "accept"
|
|
101
|
-
? decodeText("answer",
|
|
102
|
-
: decodeText("answer",
|
|
86
|
+
? decodeText("answer", AcceptResponse, value)
|
|
87
|
+
: decodeText("answer", DeclineResponse, value)), Either.flatMap((collectiveResponse) => sendInput("answer", { to, collectiveResponse })));
|
|
103
88
|
}
|
|
104
89
|
function sendInput(operation, value) {
|
|
105
90
|
return decodeText(operation, SendInput, value);
|
|
@@ -107,14 +92,5 @@ function sendInput(operation, value) {
|
|
|
107
92
|
function decodeText(operation, schema, value) {
|
|
108
93
|
return Schema.decodeUnknownEither(schema, { errors: "all" })(value).pipe(Either.mapLeft((error) => new MessageTextError({ operation, detail: describeIssues(error) })));
|
|
109
94
|
}
|
|
110
|
-
/**
|
|
111
|
-
* One line per issue, each led by its field path, such as
|
|
112
|
-
* `requestedSchema.type: Expected "object", actual "obj"`.
|
|
113
|
-
*/
|
|
114
|
-
function describeIssues(error) {
|
|
115
|
-
return ParseResult.ArrayFormatter.formatErrorSync(error)
|
|
116
|
-
.map(({ path, message }) => path.length === 0 ? message : `${path.map(String).join(".")}: ${message}`)
|
|
117
|
-
.join("; ");
|
|
118
|
-
}
|
|
119
95
|
/* eslint-enable @typescript-eslint/naming-convention -- Restore the package naming rules after the text Schemas. */
|
|
120
96
|
//# sourceMappingURL=message-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-text.js","sourceRoot":"","sources":["../../../src/transport/collectives/message-text.ts"],"names":[],"mappings":"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"}
|