@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
|
@@ -7,119 +7,21 @@
|
|
|
7
7
|
* carries a `kind` discriminant so an endpoint classifies a part without trying
|
|
8
8
|
* each shape in turn.
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import { Content, exactStruct, RecordHash } from "../representation.js";
|
|
10
|
+
import { Data, Effect, Option, Schema } from "effect";
|
|
11
|
+
import { createHash, randomBytes } from "node:crypto";
|
|
12
|
+
import { Content, exactStruct, RecordHash, } from "../../wire/index.js";
|
|
13
|
+
import { AcceptResponse, CollectiveId, DeclineResponse, RequestedSchema, } from "../forms.js";
|
|
14
|
+
import { FormFieldSchema } from "./grammar.js";
|
|
16
15
|
/** The `data` part key under which the collective layer carries its value. */
|
|
17
16
|
export const COLLECTIVE_DATA_KEY = "xyz.moltzap/collective";
|
|
18
|
-
const mcpPrimitiveSchemaDefinition = specTypeSchemas.PrimitiveSchemaDefinition["~standard"];
|
|
19
|
-
const McpPrimitiveSchema = Schema.declare((value) => mcpPrimitiveSchemaDefinition.validate(value).issues === undefined, { identifier: "PrimitiveSchemaDefinition" });
|
|
20
|
-
const declares = (property, ...types) => Predicate.hasProperty(property, "type") &&
|
|
21
|
-
types.some((type) => type === property.type);
|
|
22
|
-
/** Form-mode shapes, each listed before any shape it refines. */
|
|
23
|
-
const formModeShapes = [
|
|
24
|
-
{
|
|
25
|
-
expected: 'a titled single-select is {"type":"string","oneOf":[{"const":"a","title":"A"}]}',
|
|
26
|
-
check: specTypeSchemas.TitledSingleSelectEnumSchema["~standard"],
|
|
27
|
-
intends: (property) => declares(property, "string") && Predicate.hasProperty(property, "oneOf"),
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
expected: 'a single-select is {"type":"string","enum":["a","b"]}',
|
|
31
|
-
check: specTypeSchemas.UntitledSingleSelectEnumSchema["~standard"],
|
|
32
|
-
intends: (property) => declares(property, "string") && Predicate.hasProperty(property, "enum"),
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
expected: 'a string is {"type":"string"} with optional minLength, maxLength or format',
|
|
36
|
-
check: specTypeSchemas.StringSchema["~standard"],
|
|
37
|
-
intends: (property) => declares(property, "string"),
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
expected: 'a number is {"type":"number"} or {"type":"integer"} with optional minimum and maximum',
|
|
41
|
-
check: specTypeSchemas.NumberSchema["~standard"],
|
|
42
|
-
intends: (property) => declares(property, "number", "integer"),
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
expected: 'a boolean is {"type":"boolean"}',
|
|
46
|
-
check: specTypeSchemas.BooleanSchema["~standard"],
|
|
47
|
-
intends: (property) => declares(property, "boolean"),
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
expected: 'a titled multi-select is {"type":"array","items":{"anyOf":[{"const":"a","title":"A"}]}}',
|
|
51
|
-
check: specTypeSchemas.TitledMultiSelectEnumSchema["~standard"],
|
|
52
|
-
intends: (property) => declares(property, "array") &&
|
|
53
|
-
Predicate.hasProperty(property, "items") &&
|
|
54
|
-
Predicate.hasProperty(property.items, "anyOf"),
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
expected: 'a multi-select is {"type":"array","items":{"type":"string","enum":["a","b"]}}',
|
|
58
|
-
check: specTypeSchemas.UntitledMultiSelectEnumSchema["~standard"],
|
|
59
|
-
intends: (property) => declares(property, "array"),
|
|
60
|
-
},
|
|
61
|
-
];
|
|
62
|
-
/**
|
|
63
|
-
* Say why a property is outside the form-mode grammar: each keyword its
|
|
64
|
-
* intended shape rejects, by path within the property, then that shape.
|
|
65
|
-
* @param property A property the SDK's grammar rejected.
|
|
66
|
-
* @returns For example `items.type: Invalid input: expected "string"; a
|
|
67
|
-
* multi-select is {"type":"array","items":{"type":"string","enum":["a","b"]}}`.
|
|
68
|
-
*/
|
|
69
|
-
function formModeViolation(property) {
|
|
70
|
-
const shape = formModeShapes.find(({ intends }) => intends(property));
|
|
71
|
-
if (shape === undefined) {
|
|
72
|
-
return '"type" must be "string", "number", "integer", "boolean" or "array"';
|
|
73
|
-
}
|
|
74
|
-
return [
|
|
75
|
-
...(shape.check.validate(property).issues ?? []).map(({ path, message }) => issueAt(path ?? [], message)),
|
|
76
|
-
shape.expected,
|
|
77
|
-
].join("; ");
|
|
78
|
-
}
|
|
79
|
-
function issueAt(path, message) {
|
|
80
|
-
const keys = path.map((segment) => String(Predicate.isObject(segment) ? segment.key : segment));
|
|
81
|
-
return keys.length === 0 ? message : `${keys.join(".")}: ${message}`;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* One property of an MCP form-mode `requestedSchema`, as the MCP SDK's
|
|
85
|
-
* `PrimitiveSchemaDefinition` accepts it. Decoding keeps the SDK's parsed
|
|
86
|
-
* value, so keywords outside the form-mode grammar never travel or reach
|
|
87
|
-
* answer validation. The SDK grammar admits some schemas its own validator
|
|
88
|
-
* cannot compile, such as an empty `enum`; decoding compiles each property
|
|
89
|
-
* so answer validation never meets one.
|
|
90
|
-
*/
|
|
91
|
-
const PrimitiveSchemaDefinition = Schema.transformOrFail(Schema.Unknown, McpPrimitiveSchema, {
|
|
92
|
-
strict: true,
|
|
93
|
-
decode: (value) => {
|
|
94
|
-
const result = mcpPrimitiveSchemaDefinition.validate(value);
|
|
95
|
-
const invalid = (message) => new ParseResult.Type(McpPrimitiveSchema.ast, value, message);
|
|
96
|
-
if (result.issues !== undefined) {
|
|
97
|
-
return ParseResult.fail(invalid(formModeViolation(value)));
|
|
98
|
-
}
|
|
99
|
-
const definition = result.value;
|
|
100
|
-
return ParseResult.try({
|
|
101
|
-
try: () => {
|
|
102
|
-
new AjvJsonSchemaValidator().getValidator(definition);
|
|
103
|
-
return definition;
|
|
104
|
-
},
|
|
105
|
-
catch: (cause) => invalid(`not a compilable form-mode primitive schema: ${cause instanceof Error ? cause.message : String(cause)}`),
|
|
106
|
-
});
|
|
107
|
-
},
|
|
108
|
-
encode: (definition) => ParseResult.succeed(definition),
|
|
109
|
-
});
|
|
110
17
|
/**
|
|
111
18
|
* The MCP form-mode `requestedSchema`: a flat object of primitive properties.
|
|
112
19
|
* Every `required` name must be a declared property, since an answer can carry
|
|
113
20
|
* no other field.
|
|
114
21
|
*/
|
|
115
22
|
export const FormModeSchema = exactStruct({
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
properties: Schema.Record({
|
|
119
|
-
key: Schema.String,
|
|
120
|
-
value: PrimitiveSchemaDefinition,
|
|
121
|
-
}),
|
|
122
|
-
required: Schema.optional(Schema.Array(Schema.String)),
|
|
23
|
+
...RequestedSchema.fields,
|
|
24
|
+
properties: Schema.Record({ key: Schema.String, value: FormFieldSchema }),
|
|
123
25
|
}).pipe(Schema.filter((schema) => {
|
|
124
26
|
const undeclared = (schema.required ?? []).filter((name) => !Object.hasOwn(schema.properties, name));
|
|
125
27
|
return (undeclared.length === 0 || {
|
|
@@ -145,6 +47,15 @@ const decodeCollectiveId = Schema.decodeUnknownSync(CollectiveId);
|
|
|
145
47
|
export const collectiveIdOf = (requester, nonce) => decodeCollectiveId(`col_${createHash("sha256")
|
|
146
48
|
.update(`xyz.moltzap/collective-id\0${requester}\0${nonce}`)
|
|
147
49
|
.digest("base64url")}`);
|
|
50
|
+
/**
|
|
51
|
+
* A fresh nonce and the id it binds to the requester.
|
|
52
|
+
* @param requester The address the id names as the operation's requester.
|
|
53
|
+
* @returns The nonce and the collective id derived from it.
|
|
54
|
+
*/
|
|
55
|
+
export const mintCollectiveId = (requester) => Effect.sync(() => {
|
|
56
|
+
const nonce = randomBytes(32).toString("base64url");
|
|
57
|
+
return { id: collectiveIdOf(requester, nonce), nonce };
|
|
58
|
+
});
|
|
148
59
|
/** A plain post: multicast carries neither a deadline nor a schema. */
|
|
149
60
|
const MulticastOperation = exactStruct({
|
|
150
61
|
kind: Schema.Literal("operation"),
|
|
@@ -164,17 +75,10 @@ const CollectingOperation = exactStruct({
|
|
|
164
75
|
deadlineAt: Schema.Int.pipe(Schema.positive()),
|
|
165
76
|
requestedSchema: FormModeSchema,
|
|
166
77
|
});
|
|
78
|
+
/** The request a member's reply answers. */
|
|
79
|
+
const responseHead = { kind: Schema.Literal("response"), id: CollectiveId };
|
|
167
80
|
/** A member's reply to one request; only `accept` carries content. */
|
|
168
|
-
const CollectiveResponse = Schema.Union(exactStruct({
|
|
169
|
-
kind: Schema.Literal("response"),
|
|
170
|
-
id: CollectiveId,
|
|
171
|
-
action: Schema.Literal("accept"),
|
|
172
|
-
content: AnswerContent,
|
|
173
|
-
}), exactStruct({
|
|
174
|
-
kind: Schema.Literal("response"),
|
|
175
|
-
id: CollectiveId,
|
|
176
|
-
action: Schema.Literal("decline"),
|
|
177
|
-
}));
|
|
81
|
+
const CollectiveResponse = Schema.Union(exactStruct({ ...responseHead, ...AcceptResponse.fields }), exactStruct({ ...responseHead, ...DeclineResponse.fields }));
|
|
178
82
|
/** The requester's all_gather close: the included answers by certified record hash. */
|
|
179
83
|
const CollectiveClose = exactStruct({
|
|
180
84
|
kind: Schema.Literal("close"),
|
|
@@ -214,12 +118,6 @@ export const withoutCollectivePart = (content) => content.filter((part) => Optio
|
|
|
214
118
|
* @returns The validated value.
|
|
215
119
|
*/
|
|
216
120
|
export const decodeCollectiveValue = Schema.decodeUnknown(CollectiveValue);
|
|
217
|
-
/**
|
|
218
|
-
* Decode one untrusted collective response.
|
|
219
|
-
* @param value A member's response as it arrives.
|
|
220
|
-
* @returns The validated response.
|
|
221
|
-
*/
|
|
222
|
-
export const decodeCollectiveResponse = Schema.decodeUnknown(CollectiveResponse);
|
|
223
121
|
/**
|
|
224
122
|
* Find and decode the collective value in one post's content.
|
|
225
123
|
* @param content Certified post content.
|
|
@@ -247,4 +145,4 @@ export const encodeCollectiveContent = (value, text) => Schema.encode(Collective
|
|
|
247
145
|
{ type: "data", value: { [COLLECTIVE_DATA_KEY]: encoded } },
|
|
248
146
|
])), Effect.catchTag("ParseError", () => Effect.fail(new CollectiveContentError())));
|
|
249
147
|
/* eslint-enable @typescript-eslint/naming-convention, @typescript-eslint/no-redeclare -- Restore the package naming rules after the Schema/type pairs. */
|
|
250
|
-
//# sourceMappingURL=
|
|
148
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transport/collectives/part/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* supported, so that answer is refused rather than guessed.
|
|
9
9
|
*/
|
|
10
10
|
import { Either } from "effect";
|
|
11
|
-
import type {
|
|
11
|
+
import type { MessageAddressInput } from "../wire/values.js";
|
|
12
|
+
import type { CollectiveFailure, CollectiveId } from "./forms.js";
|
|
12
13
|
/**
|
|
13
14
|
* What matching reads of a received request: `to` is the conversation it
|
|
14
15
|
* arrived in. `sending` holds the one answer in flight, so a member answers
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"received-request.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/received-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,mBAAmB,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;CAC5D;AAED,sDAAsD;AACtD,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,aAAa;IACxD,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,6CAA6C;AAC7C,KAAK,eAAe,GAAG,OAAO,CAC5B,iBAAiB,CAAC,MAAM,CAAC,EACzB,WAAW,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EAAE,CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,aAAa,YAClD,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,gBAC9B,mBAAmB,OAC5B,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,eAAe,CAoBrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"received-request.js","sourceRoot":"","sources":["../../../src/transport/collectives/received-request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AA2BhC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAA4C,EAC5C,YAAiC,EACjC,GAAW,EAC2C,EAAE;IACxD,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,YAAY,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvB,EAAE;QACF,OAAO;QACP,WAAW,EAAE,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC;KAC9C,CAAC,CAAC,CAAC;IACN,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACpB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAAW,KAAK,kBAAkB,CAAC,EAAE,CAAC;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,SAAS,kBAAkB,CACzB,OAAsB,EACtB,GAAW;IAEX,QAAQ,OAAO,CAAC,KAAK,EAAE,CAAC;QACtB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,kBAAkB,CAAC;QAC5B,KAAK,QAAQ;YACX,OAAO,iBAAiB,CAAC;QAC3B,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC,KAAK,CAAC;YACxC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** @file The text a host's model reads for a delivered message, question or result, the same on every host. */
|
|
2
|
+
import type { Content, MessageAddressInput } from "../wire/values.js";
|
|
3
|
+
import type { InboundItem } from "./inbound.js";
|
|
4
|
+
type CollectiveRequestItem = Extract<InboundItem, {
|
|
5
|
+
readonly kind: "collectiveRequest";
|
|
6
|
+
}>;
|
|
7
|
+
type CollectiveResultItem = Extract<InboundItem, {
|
|
8
|
+
readonly kind: "collectiveResult";
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* A message's content as the text a model reads: each text part as written,
|
|
12
|
+
* each data part as JSON, one part per line.
|
|
13
|
+
* @param content The delivered message's content.
|
|
14
|
+
* @returns The text a host puts in the model's turn.
|
|
15
|
+
*/
|
|
16
|
+
export declare function renderContent(content: Content): string;
|
|
17
|
+
/**
|
|
18
|
+
* The agents a group address names, as `agent:` addresses, in its order; a
|
|
19
|
+
* direct address names none. Hosts list them on a group turn.
|
|
20
|
+
* @param address A canonical address an item carries.
|
|
21
|
+
* @returns The group's member addresses, or an empty list.
|
|
22
|
+
*/
|
|
23
|
+
export declare function groupMembers(address: MessageAddressInput): readonly string[];
|
|
24
|
+
/**
|
|
25
|
+
* A question another agent asked: who asked and until when, the question,
|
|
26
|
+
* its form, and the exact text that answers it. Only the last line differs
|
|
27
|
+
* by host, since each host's model sends the answer through its own tool.
|
|
28
|
+
* @param item The delivered question.
|
|
29
|
+
* @param howToAnswer The host's sentence naming the tool that sends the answer to `item.to`.
|
|
30
|
+
* @returns The text of the model's turn.
|
|
31
|
+
*/
|
|
32
|
+
export declare function renderCollectiveRequest(item: CollectiveRequestItem, howToAnswer: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* A gather's or all_gather's result: the question and one line per member.
|
|
35
|
+
* @param item The delivered result.
|
|
36
|
+
* @returns The text of the model's turn.
|
|
37
|
+
*/
|
|
38
|
+
export declare function renderCollectiveResult(item: CollectiveResultItem): string;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/render.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAE/G,OAAO,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,KAAK,qBAAqB,GAAG,OAAO,CAClC,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CACvC,CAAC;AACF,KAAK,oBAAoB,GAAG,OAAO,CACjC,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CACtC,CAAC;AAGF;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAMtD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,SAAS,MAAM,EAAE,CAO5E;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,qBAAqB,EAC3B,WAAW,EAAE,MAAM,GAClB,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,CAOzE"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/** @file The text a host's model reads for a delivered message, question or result, the same on every host. */
|
|
2
|
+
/**
|
|
3
|
+
* A message's content as the text a model reads: each text part as written,
|
|
4
|
+
* each data part as JSON, one part per line.
|
|
5
|
+
* @param content The delivered message's content.
|
|
6
|
+
* @returns The text a host puts in the model's turn.
|
|
7
|
+
*/
|
|
8
|
+
export function renderContent(content) {
|
|
9
|
+
return content
|
|
10
|
+
.map((part) => part.type === "text" ? part.text : (JSON.stringify(part.value) ?? "null"))
|
|
11
|
+
.join("\n");
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The agents a group address names, as `agent:` addresses, in its order; a
|
|
15
|
+
* direct address names none. Hosts list them on a group turn.
|
|
16
|
+
* @param address A canonical address an item carries.
|
|
17
|
+
* @returns The group's member addresses, or an empty list.
|
|
18
|
+
*/
|
|
19
|
+
export function groupMembers(address) {
|
|
20
|
+
return address.startsWith("group:")
|
|
21
|
+
? address
|
|
22
|
+
.slice("group:".length)
|
|
23
|
+
.split(",")
|
|
24
|
+
.map((name) => `agent:${name}`)
|
|
25
|
+
: [];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A question another agent asked: who asked and until when, the question,
|
|
29
|
+
* its form, and the exact text that answers it. Only the last line differs
|
|
30
|
+
* by host, since each host's model sends the answer through its own tool.
|
|
31
|
+
* @param item The delivered question.
|
|
32
|
+
* @param howToAnswer The host's sentence naming the tool that sends the answer to `item.to`.
|
|
33
|
+
* @returns The text of the model's turn.
|
|
34
|
+
*/
|
|
35
|
+
export function renderCollectiveRequest(item, howToAnswer) {
|
|
36
|
+
const asked = item.op === "all_gather"
|
|
37
|
+
? `all_gather from ${item.from} to ${item.to}`
|
|
38
|
+
: `gather from ${item.from}`;
|
|
39
|
+
return [
|
|
40
|
+
`${asked}, open until ${new Date(item.deadlineAt).toISOString()}.`,
|
|
41
|
+
`Question: ${item.question}`,
|
|
42
|
+
`Form: ${JSON.stringify(item.requestedSchema)}`,
|
|
43
|
+
'Answer with: {"action":"accept","content":{...}} where content matches the form, or {"action":"decline"}',
|
|
44
|
+
howToAnswer,
|
|
45
|
+
].join("\n");
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* A gather's or all_gather's result: the question and one line per member.
|
|
49
|
+
* @param item The delivered result.
|
|
50
|
+
* @returns The text of the model's turn.
|
|
51
|
+
*/
|
|
52
|
+
export function renderCollectiveResult(item) {
|
|
53
|
+
return [
|
|
54
|
+
`${item.op} result for the question sent to ${item.to}: ${item.question}`,
|
|
55
|
+
...item.outcomes.map(({ member, outcome }) => `- ${member}: ${renderOutcome(outcome)}`),
|
|
56
|
+
].join("\n");
|
|
57
|
+
}
|
|
58
|
+
function renderOutcome(outcome) {
|
|
59
|
+
switch (outcome.kind) {
|
|
60
|
+
case "answered":
|
|
61
|
+
return `answered ${JSON.stringify(outcome.content)}`;
|
|
62
|
+
case "declined":
|
|
63
|
+
return "declined";
|
|
64
|
+
case "invalid":
|
|
65
|
+
return `answered outside the form (${outcome.reason})`;
|
|
66
|
+
case "no-answer":
|
|
67
|
+
return "no answer";
|
|
68
|
+
default: {
|
|
69
|
+
const exhaustive = outcome;
|
|
70
|
+
return exhaustive;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/transport/collectives/render.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAe/G;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAC1E;SACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4B;IACvD,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,OAAO;aACJ,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;aACtB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAA2B,EAC3B,WAAmB;IAEnB,MAAM,KAAK,GACT,IAAI,CAAC,EAAE,KAAK,YAAY;QACtB,CAAC,CAAC,mBAAmB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE;QAC9C,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO;QACL,GAAG,KAAK,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,GAAG;QAClE,aAAa,IAAI,CAAC,QAAQ,EAAE;QAC5B,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;QAC/C,0GAA0G;QAC1G,WAAW;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA0B;IAC/D,OAAO;QACL,GAAG,IAAI,CAAC,EAAE,oCAAoC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;QACzE,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAClB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,KAAK,aAAa,CAAC,OAAO,CAAC,EAAE,CAClE;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,OAAO,YAAY,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,KAAK,UAAU;YACb,OAAO,UAAU,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,8BAA8B,OAAO,CAAC,MAAM,GAAG,CAAC;QACzD,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,SAAS,CAAC;YACR,MAAM,UAAU,GAAU,OAAO,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* settled when the requester stops waiting.
|
|
4
4
|
*/
|
|
5
5
|
import { Effect, Either, Fiber } from "effect";
|
|
6
|
-
import type {
|
|
7
|
-
import type { EngineSentPost } from "../
|
|
6
|
+
import type { SendError } from "../messaging/errors.js";
|
|
7
|
+
import type { EngineSentPost } from "../messaging/index.js";
|
|
8
|
+
import type { AgentAddress } from "../wire/values.js";
|
|
8
9
|
/** A member whose request post was refused, and why. */
|
|
9
10
|
export type RequestRefusal = Readonly<{
|
|
10
11
|
member: AgentAddress;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-sends.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/request-sends.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,MAAM,EAEN,MAAM,EAEN,KAAK,EAEN,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,wDAAwD;AACxD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;CAC7B,CAAC,CAAC;AAEH,2EAA2E;AAC3E,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,CAC1C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAC9C,CAAC;AAeF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,YAAa,cAAc,KAAG,OACrB,CAAC;AAEvC;;;;;GAKG;AACH,eAAO,MAAM,cAAc,YAChB,SAAS,YAAY,EAAE,UACxB,CAAC,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAC/D,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAc9B,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,YACf,SAAS,YAAY,EAAE,SACzB,SAAS,WAAW,EAAE,KAC5B,MAAM,CAAC,MAAM,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;CACpC,CAsBE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-sends.js","sourceRoot":"","sources":["../../../src/transport/collectives/request-sends.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,MAAM,EACN,KAAK,IAAI,WAAW,EACpB,MAAM,EACN,IAAI,EACJ,KAAK,EACL,MAAM,GACP,MAAM,QAAQ,CAAC;AAgBhB,6EAA6E;AAC7E,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC;;;GAGG;AACH,MAAM,gBAAgB,GAAqC,IAAI,GAAG,CAAC;IACjE,iBAAiB;IACjB,eAAe;IACf,oBAAoB;CACrB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAuB,EAAW,EAAE,CACnE,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAgC,EAChC,MAAgE,EAC/B,EAAE,CACnC,MAAM,CAAC,OAAO,CACZ,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACjB,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,GAAG,CACR,CAAC,KAAK,EAAkB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAC9D,EACD,MAAM,CAAC,MAAM,CACd,EACH,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAC3C,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3E,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAgC,EAChC,KAA6B,EAI5B,EAAE,CACH,MAAM,CAAC,OAAO,CACZ,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAC/B,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CACjB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACnB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,MAAM;IACN,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAC/D;CACF,CAAC,CAAC,CACJ,EACH,EAAE,WAAW,EAAE,CAAC,EAAE,CACnB,CAAC,IAAI,CACJ,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACnC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CACxD;IACD,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACrC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CACvD;CACF,CAAC,CAAC,CACJ,CAAC"}
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* its result from exactly the answers it holds under the listed hashes. The
|
|
9
9
|
* requester's result uses the same member ordering.
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
11
|
+
import type { PostId, RecordHash } from "../wire/index.js";
|
|
12
|
+
import type { AgentAddress } from "../wire/values.js";
|
|
13
|
+
import type { CollectiveMemberOutcome, InboundItem } from "./inbound.js";
|
|
14
|
+
import type { CollectiveValue } from "./part/index.js";
|
|
14
15
|
/** The members a collecting operation asks, in member order. */
|
|
15
16
|
export type Members = readonly [AgentAddress, ...AgentAddress[]];
|
|
16
17
|
/** A member's response value, as its post carries it. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-answers.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,YAAY,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;AAEjE,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,eAAe,EACf;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAC9B,CAAC;AAEF,2DAA2D;AAC3D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,WAAW,EACX;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,CACtC,CAAC;AAEF,kEAAkE;AAClE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACrD,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,eAAe,GACtB,IAAI,CAIN;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,SAAS,UAAU,EAAE;;;;;;;EAkBhC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,WAAW,CAAC,YAAY,EAAE,uBAAuB,CAAC,GAC3D,oBAAoB,CAAC,UAAU,CAAC,CAOlC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-answers.js","sourceRoot":"","sources":["../../../src/transport/collectives/shared-answers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA8CH;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAqB,EACrB,MAAoB,EACpB,MAAuB;IAEvB,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAqB,EACrB,QAA+B;IAE/B,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU;QACjB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;KACtC,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QACzC,QAAQ,EACN,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM;KACxE,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAgB,EAChB,QAA4D;IAE5D,MAAM,OAAO,GAAG,CAAC,MAAoB,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAoB,EAAE;KAChE,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACjC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Answer validation against a collective request's form-mode schema.
|
|
3
|
+
*
|
|
4
|
+
* Validation runs field by field so a failure names each failing field rather
|
|
5
|
+
* than one combined message. The form-mode grammar is flat, so a field's
|
|
6
|
+
* property schema is the whole rule for that field.
|
|
7
|
+
*
|
|
8
|
+
* Each keyword has its JSON Schema 2020-12 meaning, and every failing keyword
|
|
9
|
+
* is reported: a keyword that constrains one JSON type applies only to a
|
|
10
|
+
* value of that type, while `type`, `enum` and `oneOf` apply to any value.
|
|
11
|
+
*/
|
|
12
|
+
import { Effect } from "effect";
|
|
13
|
+
import type { CollectiveMemberOutcome } from "./inbound.js";
|
|
14
|
+
import type { FormModeSchema } from "./part/index.js";
|
|
15
|
+
import { type AnswerContent, type AnswerFieldFailures, type CollectiveResponse } from "./forms.js";
|
|
16
|
+
/**
|
|
17
|
+
* Check an answer against the schema its request carried.
|
|
18
|
+
* @param requestedSchema The request's form-mode schema.
|
|
19
|
+
* @param content The member's answer.
|
|
20
|
+
* @returns The answer unchanged, or every failing field.
|
|
21
|
+
*/
|
|
22
|
+
export declare const validateAnswer: (requestedSchema: FormModeSchema, content: AnswerContent) => Effect.Effect<AnswerContent, AnswerFieldFailures>;
|
|
23
|
+
/**
|
|
24
|
+
* Record a received response as the member's outcome. An `accept` whose content
|
|
25
|
+
* fails the request's schema is recorded as invalid rather than rejected.
|
|
26
|
+
* @param requestedSchema The schema the request carried.
|
|
27
|
+
* @param response The member's decoded response.
|
|
28
|
+
* @returns The member's outcome.
|
|
29
|
+
*/
|
|
30
|
+
export declare const outcomeOfResponse: (requestedSchema: FormModeSchema, response: CollectiveResponse) => Effect.Effect<CollectiveMemberOutcome>;
|
|
31
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/transport/collectives/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAa,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EAExB,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAuHpB;;;;;GAKG;AACH,eAAO,MAAM,cAAc,oBACR,cAAc,WACtB,aAAa,KACrB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAYlD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,oBACX,cAAc,YACrB,kBAAkB,KAC3B,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAsBvC,CAAC"}
|