@moltzap/client 2026.811.0 → 2026.902.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/LICENSE +202 -21
- package/NOTICE +19 -0
- package/README.md +50 -0
- package/bin/moltzapd +9 -0
- package/dist/client-runtime.d.ts +10 -0
- package/dist/client-runtime.d.ts.map +1 -0
- package/dist/client-runtime.js +218 -0
- package/dist/client-runtime.js.map +1 -0
- package/dist/contract.d.ts +338 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +213 -0
- package/dist/contract.js.map +1 -0
- package/dist/contract.types-check.d.ts +99 -0
- package/dist/contract.types-check.d.ts.map +1 -0
- package/dist/contract.types-check.js +7 -0
- package/dist/contract.types-check.js.map +1 -0
- package/dist/daemon/configuration.d.ts +46 -0
- package/dist/daemon/configuration.d.ts.map +1 -0
- package/dist/daemon/configuration.js +69 -0
- package/dist/daemon/configuration.js.map +1 -0
- package/dist/daemon/management.d.ts +23 -0
- package/dist/daemon/management.d.ts.map +1 -0
- package/dist/daemon/management.js +489 -0
- package/dist/daemon/management.js.map +1 -0
- package/dist/daemon/registration.d.ts +72 -0
- package/dist/daemon/registration.d.ts.map +1 -0
- package/dist/daemon/registration.js +109 -0
- package/dist/daemon/registration.js.map +1 -0
- package/dist/daemon/runtime/activation.d.ts +95 -0
- package/dist/daemon/runtime/activation.d.ts.map +1 -0
- package/dist/daemon/runtime/activation.js +99 -0
- package/dist/daemon/runtime/activation.js.map +1 -0
- package/dist/daemon/runtime/controller.d.ts +34 -0
- package/dist/daemon/runtime/controller.d.ts.map +1 -0
- package/dist/daemon/runtime/controller.js +106 -0
- package/dist/daemon/runtime/controller.js.map +1 -0
- package/dist/daemon/runtime/history-export.d.ts +23 -0
- package/dist/daemon/runtime/history-export.d.ts.map +1 -0
- package/dist/daemon/runtime/history-export.js +47 -0
- package/dist/daemon/runtime/history-export.js.map +1 -0
- package/dist/daemon/runtime/index.d.ts +24 -0
- package/dist/daemon/runtime/index.d.ts.map +1 -0
- package/dist/daemon/runtime/index.js +65 -0
- package/dist/daemon/runtime/index.js.map +1 -0
- package/dist/daemon/runtime/protocol.d.ts +63 -0
- package/dist/daemon/runtime/protocol.d.ts.map +1 -0
- package/dist/daemon/runtime/protocol.js +133 -0
- package/dist/daemon/runtime/protocol.js.map +1 -0
- package/dist/endpoint/addressing/index.d.ts +39 -0
- package/dist/endpoint/addressing/index.d.ts.map +1 -0
- package/dist/endpoint/addressing/index.js +114 -0
- package/dist/endpoint/addressing/index.js.map +1 -0
- package/dist/endpoint/engine-dissemination.d.ts +11 -0
- package/dist/endpoint/engine-dissemination.d.ts.map +1 -0
- package/dist/endpoint/engine-dissemination.js +71 -0
- package/dist/endpoint/engine-dissemination.js.map +1 -0
- package/dist/endpoint/engine-durability.d.ts +69 -0
- package/dist/endpoint/engine-durability.d.ts.map +1 -0
- package/dist/endpoint/engine-durability.js +210 -0
- package/dist/endpoint/engine-durability.js.map +1 -0
- package/dist/endpoint/engine-send.d.ts +50 -0
- package/dist/endpoint/engine-send.d.ts.map +1 -0
- package/dist/endpoint/engine-send.js +422 -0
- package/dist/endpoint/engine-send.js.map +1 -0
- package/dist/endpoint/engine-types.d.ts +132 -0
- package/dist/endpoint/engine-types.d.ts.map +1 -0
- package/dist/endpoint/engine-types.js +13 -0
- package/dist/endpoint/engine-types.js.map +1 -0
- package/dist/endpoint/engine.d.ts +14 -0
- package/dist/endpoint/engine.d.ts.map +1 -0
- package/dist/endpoint/engine.js +280 -0
- package/dist/endpoint/engine.js.map +1 -0
- package/dist/endpoint/protocol/evidence.d.ts +37 -0
- package/dist/endpoint/protocol/evidence.d.ts.map +1 -0
- package/dist/endpoint/protocol/evidence.js +80 -0
- package/dist/endpoint/protocol/evidence.js.map +1 -0
- package/dist/endpoint/protocol/index.d.ts +26 -0
- package/dist/endpoint/protocol/index.d.ts.map +1 -0
- package/dist/endpoint/protocol/index.js +543 -0
- package/dist/endpoint/protocol/index.js.map +1 -0
- package/dist/endpoint/recovery/barrier.d.ts +23 -0
- package/dist/endpoint/recovery/barrier.d.ts.map +1 -0
- package/dist/endpoint/recovery/barrier.js +47 -0
- package/dist/endpoint/recovery/barrier.js.map +1 -0
- package/dist/endpoint/recovery/index.d.ts +29 -0
- package/dist/endpoint/recovery/index.d.ts.map +1 -0
- package/dist/endpoint/recovery/index.js +489 -0
- package/dist/endpoint/recovery/index.js.map +1 -0
- package/dist/endpoint/recovery/reanchor/empty.d.ts +22 -0
- package/dist/endpoint/recovery/reanchor/empty.d.ts.map +1 -0
- package/dist/endpoint/recovery/reanchor/empty.js +163 -0
- package/dist/endpoint/recovery/reanchor/empty.js.map +1 -0
- package/dist/endpoint/recovery/reanchor/index.d.ts +30 -0
- package/dist/endpoint/recovery/reanchor/index.d.ts.map +1 -0
- package/dist/endpoint/recovery/reanchor/index.js +479 -0
- package/dist/endpoint/recovery/reanchor/index.js.map +1 -0
- package/dist/endpoint/recovery/state.d.ts +130 -0
- package/dist/endpoint/recovery/state.d.ts.map +1 -0
- package/dist/endpoint/recovery/state.js +296 -0
- package/dist/endpoint/recovery/state.js.map +1 -0
- package/dist/endpoint/recovery/store-evidence.d.ts +17 -0
- package/dist/endpoint/recovery/store-evidence.d.ts.map +1 -0
- package/dist/endpoint/recovery/store-evidence.js +79 -0
- package/dist/endpoint/recovery/store-evidence.js.map +1 -0
- package/dist/endpoint/recovery/store.d.ts +56 -0
- package/dist/endpoint/recovery/store.d.ts.map +1 -0
- package/dist/endpoint/recovery/store.js +499 -0
- package/dist/endpoint/recovery/store.js.map +1 -0
- package/dist/endpoint/representation-canonical.d.ts +17 -0
- package/dist/endpoint/representation-canonical.d.ts.map +1 -0
- package/dist/endpoint/representation-canonical.js +48 -0
- package/dist/endpoint/representation-canonical.js.map +1 -0
- package/dist/endpoint/representation-codec.d.ts +51 -0
- package/dist/endpoint/representation-codec.d.ts.map +1 -0
- package/dist/endpoint/representation-codec.js +159 -0
- package/dist/endpoint/representation-codec.js.map +1 -0
- package/dist/endpoint/representation-schemas.d.ts +1831 -0
- package/dist/endpoint/representation-schemas.d.ts.map +1 -0
- package/dist/endpoint/representation-schemas.js +195 -0
- package/dist/endpoint/representation-schemas.js.map +1 -0
- package/dist/endpoint/representation-verification.d.ts +79 -0
- package/dist/endpoint/representation-verification.d.ts.map +1 -0
- package/dist/endpoint/representation-verification.js +420 -0
- package/dist/endpoint/representation-verification.js.map +1 -0
- package/dist/endpoint/representation.d.ts +6 -0
- package/dist/endpoint/representation.d.ts.map +1 -0
- package/dist/endpoint/representation.js +8 -0
- package/dist/endpoint/representation.js.map +1 -0
- package/dist/endpoint/router-worker/index.d.ts +16 -0
- package/dist/endpoint/router-worker/index.d.ts.map +1 -0
- package/dist/endpoint/router-worker/index.js +547 -0
- package/dist/endpoint/router-worker/index.js.map +1 -0
- package/dist/endpoint/router-worker/types.d.ts +183 -0
- package/dist/endpoint/router-worker/types.d.ts.map +1 -0
- package/dist/endpoint/router-worker/types.js +31 -0
- package/dist/endpoint/router-worker/types.js.map +1 -0
- package/dist/endpoint/store/anchors.d.ts +83 -0
- package/dist/endpoint/store/anchors.d.ts.map +1 -0
- package/dist/endpoint/store/anchors.js +471 -0
- package/dist/endpoint/store/anchors.js.map +1 -0
- package/dist/endpoint/store/database/index.d.ts +6 -0
- package/dist/endpoint/store/database/index.d.ts.map +1 -0
- package/dist/endpoint/store/database/index.js +6 -0
- package/dist/endpoint/store/database/index.js.map +1 -0
- package/dist/endpoint/store/database/schema.d.ts +44 -0
- package/dist/endpoint/store/database/schema.d.ts.map +1 -0
- package/dist/endpoint/store/database/schema.js +345 -0
- package/dist/endpoint/store/database/schema.js.map +1 -0
- package/dist/endpoint/store/database/values.d.ts +119 -0
- package/dist/endpoint/store/database/values.d.ts.map +1 -0
- package/dist/endpoint/store/database/values.js +194 -0
- package/dist/endpoint/store/database/values.js.map +1 -0
- package/dist/endpoint/store/deliveries.d.ts +38 -0
- package/dist/endpoint/store/deliveries.d.ts.map +1 -0
- package/dist/endpoint/store/deliveries.js +124 -0
- package/dist/endpoint/store/deliveries.js.map +1 -0
- package/dist/endpoint/store/dissemination.d.ts +27 -0
- package/dist/endpoint/store/dissemination.d.ts.map +1 -0
- package/dist/endpoint/store/dissemination.js +139 -0
- package/dist/endpoint/store/dissemination.js.map +1 -0
- package/dist/endpoint/store/index.d.ts +15 -0
- package/dist/endpoint/store/index.d.ts.map +1 -0
- package/dist/endpoint/store/index.js +76 -0
- package/dist/endpoint/store/index.js.map +1 -0
- package/dist/endpoint/store/management.d.ts +42 -0
- package/dist/endpoint/store/management.d.ts.map +1 -0
- package/dist/endpoint/store/management.js +259 -0
- package/dist/endpoint/store/management.js.map +1 -0
- package/dist/endpoint/store/outbound.d.ts +62 -0
- package/dist/endpoint/store/outbound.d.ts.map +1 -0
- package/dist/endpoint/store/outbound.js +278 -0
- package/dist/endpoint/store/outbound.js.map +1 -0
- package/dist/endpoint/store/records.d.ts +56 -0
- package/dist/endpoint/store/records.d.ts.map +1 -0
- package/dist/endpoint/store/records.js +352 -0
- package/dist/endpoint/store/records.js.map +1 -0
- package/dist/endpoint/store/rows/index.d.ts +138 -0
- package/dist/endpoint/store/rows/index.d.ts.map +1 -0
- package/dist/endpoint/store/rows/index.js +307 -0
- package/dist/endpoint/store/rows/index.js.map +1 -0
- package/dist/endpoint/store/types.d.ts +223 -0
- package/dist/endpoint/store/types.d.ts.map +1 -0
- package/dist/endpoint/store/types.js +15 -0
- package/dist/endpoint/store/types.js.map +1 -0
- package/dist/endpoint/store.d.ts +10 -0
- package/dist/endpoint/store.d.ts.map +1 -0
- package/dist/endpoint/store.js +6 -0
- package/dist/endpoint/store.js.map +1 -0
- package/dist/harness-mcp-contract.d.ts +101 -0
- package/dist/harness-mcp-contract.d.ts.map +1 -0
- package/dist/harness-mcp-contract.js +61 -0
- package/dist/harness-mcp-contract.js.map +1 -0
- package/dist/harness-mcp-http.d.ts +19 -0
- package/dist/harness-mcp-http.d.ts.map +1 -0
- package/dist/{harness-mcp-server.js → harness-mcp-http.js} +43 -71
- package/dist/harness-mcp-http.js.map +1 -0
- package/dist/harness-mcp-subscription.d.ts +12 -7
- package/dist/harness-mcp-subscription.d.ts.map +1 -1
- package/dist/harness-mcp-subscription.js +113 -100
- package/dist/harness-mcp-subscription.js.map +1 -1
- package/dist/harness-mcp-wire.d.ts +26 -19
- package/dist/harness-mcp-wire.d.ts.map +1 -1
- package/dist/harness-mcp-wire.js +380 -67
- package/dist/harness-mcp-wire.js.map +1 -1
- package/dist/index.d.ts +4 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -8
- package/dist/index.js.map +1 -1
- package/dist/management-runtime.d.ts +217 -0
- package/dist/management-runtime.d.ts.map +1 -0
- package/dist/management-runtime.js +127 -0
- package/dist/management-runtime.js.map +1 -0
- package/dist/server.d.ts +16 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +46 -0
- package/dist/server.js.map +1 -0
- package/dist/server.types-check.d.ts +23 -0
- package/dist/server.types-check.d.ts.map +1 -0
- package/dist/server.types-check.js +7 -0
- package/dist/server.types-check.js.map +1 -0
- package/package.json +45 -47
- package/dist/agent-client.d.ts +0 -5
- package/dist/agent-client.d.ts.map +0 -1
- package/dist/agent-client.js +0 -3
- package/dist/agent-client.js.map +0 -1
- package/dist/auth.d.ts +0 -37
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -79
- package/dist/auth.js.map +0 -1
- package/dist/bounded-map.d.ts +0 -32
- package/dist/bounded-map.d.ts.map +0 -1
- package/dist/bounded-map.js +0 -79
- package/dist/bounded-map.js.map +0 -1
- package/dist/channel-base/format-cross-conv.d.ts +0 -43
- package/dist/channel-base/format-cross-conv.d.ts.map +0 -1
- package/dist/channel-base/format-cross-conv.js +0 -65
- package/dist/channel-base/format-cross-conv.js.map +0 -1
- package/dist/channel-base/format-group-block.d.ts +0 -48
- package/dist/channel-base/format-group-block.d.ts.map +0 -1
- package/dist/channel-base/format-group-block.js +0 -62
- package/dist/channel-base/format-group-block.js.map +0 -1
- package/dist/channel-base/index.d.ts +0 -12
- package/dist/channel-base/index.d.ts.map +0 -1
- package/dist/channel-base/index.js +0 -13
- package/dist/channel-base/index.js.map +0 -1
- package/dist/channel-core-enrichment.d.ts +0 -14
- package/dist/channel-core-enrichment.d.ts.map +0 -1
- package/dist/channel-core-enrichment.js +0 -143
- package/dist/channel-core-enrichment.js.map +0 -1
- package/dist/channel-core-test-support.d.ts +0 -75
- package/dist/channel-core-test-support.d.ts.map +0 -1
- package/dist/channel-core-test-support.js +0 -74
- package/dist/channel-core-test-support.js.map +0 -1
- package/dist/channel-core.d.ts +0 -304
- package/dist/channel-core.d.ts.map +0 -1
- package/dist/channel-core.js +0 -363
- package/dist/channel-core.js.map +0 -1
- package/dist/cli/adapters.d.ts +0 -21
- package/dist/cli/adapters.d.ts.map +0 -1
- package/dist/cli/adapters.js +0 -111
- package/dist/cli/adapters.js.map +0 -1
- package/dist/cli/commands/agents.d.ts +0 -11
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/agents.js +0 -27
- package/dist/cli/commands/agents.js.map +0 -1
- package/dist/cli/commands/conversations.d.ts +0 -18
- package/dist/cli/commands/conversations.d.ts.map +0 -1
- package/dist/cli/commands/conversations.js +0 -33
- package/dist/cli/commands/conversations.js.map +0 -1
- package/dist/cli/commands/messages.d.ts +0 -41
- package/dist/cli/commands/messages.d.ts.map +0 -1
- package/dist/cli/commands/messages.js +0 -39
- package/dist/cli/commands/messages.js.map +0 -1
- package/dist/cli/commands/register.d.ts +0 -46
- package/dist/cli/commands/register.d.ts.map +0 -1
- package/dist/cli/commands/register.js +0 -103
- package/dist/cli/commands/register.js.map +0 -1
- package/dist/cli/commands/send.d.ts +0 -53
- package/dist/cli/commands/send.d.ts.map +0 -1
- package/dist/cli/commands/send.js +0 -57
- package/dist/cli/commands/send.js.map +0 -1
- package/dist/cli/commands/start.d.ts +0 -34
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -59
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -7
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -16
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/test-transport.d.ts +0 -28
- package/dist/cli/commands/test-transport.d.ts.map +0 -1
- package/dist/cli/commands/test-transport.js +0 -40
- package/dist/cli/commands/test-transport.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js +0 -105
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/output.d.ts +0 -14
- package/dist/cli/output.d.ts.map +0 -1
- package/dist/cli/output.js +0 -19
- package/dist/cli/output.js.map +0 -1
- package/dist/cli/socket-client.d.ts +0 -28
- package/dist/cli/socket-client.d.ts.map +0 -1
- package/dist/cli/socket-client.js +0 -63
- package/dist/cli/socket-client.js.map +0 -1
- package/dist/cli/transport.d.ts +0 -132
- package/dist/cli/transport.d.ts.map +0 -1
- package/dist/cli/transport.js +0 -127
- package/dist/cli/transport.js.map +0 -1
- package/dist/config.d.ts +0 -33
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -45
- package/dist/config.js.map +0 -1
- package/dist/config.test-utils.d.ts +0 -18
- package/dist/config.test-utils.d.ts.map +0 -1
- package/dist/config.test-utils.js +0 -53
- package/dist/config.test-utils.js.map +0 -1
- package/dist/harness/client-runtime.d.ts +0 -24
- package/dist/harness/client-runtime.d.ts.map +0 -1
- package/dist/harness/client-runtime.js +0 -107
- package/dist/harness/client-runtime.js.map +0 -1
- package/dist/harness/index.d.ts +0 -5
- package/dist/harness/index.d.ts.map +0 -1
- package/dist/harness/index.js +0 -5
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/runtime.d.ts +0 -149
- package/dist/harness/runtime.d.ts.map +0 -1
- package/dist/harness/runtime.js +0 -68
- package/dist/harness/runtime.js.map +0 -1
- package/dist/harness-client.d.ts +0 -43
- package/dist/harness-client.d.ts.map +0 -1
- package/dist/harness-client.js +0 -21
- package/dist/harness-client.js.map +0 -1
- package/dist/harness-mcp-server.d.ts +0 -19
- package/dist/harness-mcp-server.d.ts.map +0 -1
- package/dist/harness-mcp-server.js.map +0 -1
- package/dist/local-daemon-rpc.d.ts +0 -1170
- package/dist/local-daemon-rpc.d.ts.map +0 -1
- package/dist/local-daemon-rpc.js +0 -178
- package/dist/local-daemon-rpc.js.map +0 -1
- package/dist/local-history.d.ts +0 -75
- package/dist/local-history.d.ts.map +0 -1
- package/dist/local-history.js +0 -82
- package/dist/local-history.js.map +0 -1
- package/dist/local-paths.d.ts +0 -22
- package/dist/local-paths.d.ts.map +0 -1
- package/dist/local-paths.js +0 -33
- package/dist/local-paths.js.map +0 -1
- package/dist/local-socket-server.d.ts +0 -33
- package/dist/local-socket-server.d.ts.map +0 -1
- package/dist/local-socket-server.js +0 -100
- package/dist/local-socket-server.js.map +0 -1
- package/dist/message-rendering.d.ts +0 -4
- package/dist/message-rendering.d.ts.map +0 -1
- package/dist/message-rendering.js +0 -8
- package/dist/message-rendering.js.map +0 -1
- package/dist/moltzapd.d.ts +0 -38
- package/dist/moltzapd.d.ts.map +0 -1
- package/dist/moltzapd.js +0 -78
- package/dist/moltzapd.js.map +0 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts +0 -53
- package/dist/notification/__tests__/subscribe-signatures.types-check.d.ts.map +0 -1
- package/dist/notification/__tests__/subscribe-signatures.types-check.js +0 -29
- package/dist/notification/__tests__/subscribe-signatures.types-check.js.map +0 -1
- package/dist/notification/errors.d.ts +0 -41
- package/dist/notification/errors.d.ts.map +0 -1
- package/dist/notification/errors.js +0 -24
- package/dist/notification/errors.js.map +0 -1
- package/dist/notification/index.d.ts +0 -6
- package/dist/notification/index.d.ts.map +0 -1
- package/dist/notification/index.js +0 -6
- package/dist/notification/index.js.map +0 -1
- package/dist/notification/stream.d.ts +0 -75
- package/dist/notification/stream.d.ts.map +0 -1
- package/dist/notification/stream.js +0 -30
- package/dist/notification/stream.js.map +0 -1
- package/dist/pagination.d.ts +0 -52
- package/dist/pagination.d.ts.map +0 -1
- package/dist/pagination.js +0 -51
- package/dist/pagination.js.map +0 -1
- package/dist/profile.d.ts +0 -104
- package/dist/profile.d.ts.map +0 -1
- package/dist/profile.js +0 -163
- package/dist/profile.js.map +0 -1
- package/dist/refs.d.ts +0 -18
- package/dist/refs.d.ts.map +0 -1
- package/dist/refs.js +0 -18
- package/dist/refs.js.map +0 -1
- package/dist/service-event-trace.d.ts +0 -15
- package/dist/service-event-trace.d.ts.map +0 -1
- package/dist/service-event-trace.js +0 -35
- package/dist/service-event-trace.js.map +0 -1
- package/dist/service-helpers.d.ts +0 -55
- package/dist/service-helpers.d.ts.map +0 -1
- package/dist/service-helpers.js +0 -108
- package/dist/service-helpers.js.map +0 -1
- package/dist/service-local-daemon.d.ts +0 -32
- package/dist/service-local-daemon.d.ts.map +0 -1
- package/dist/service-local-daemon.js +0 -153
- package/dist/service-local-daemon.js.map +0 -1
- package/dist/service.d.ts +0 -299
- package/dist/service.d.ts.map +0 -1
- package/dist/service.js +0 -789
- package/dist/service.js.map +0 -1
- package/dist/test-utils/channel-service-fixture.d.ts +0 -53
- package/dist/test-utils/channel-service-fixture.d.ts.map +0 -1
- package/dist/test-utils/channel-service-fixture.js +0 -178
- package/dist/test-utils/channel-service-fixture.js.map +0 -1
- package/dist/test-utils/fake-service.d.ts +0 -84
- package/dist/test-utils/fake-service.d.ts.map +0 -1
- package/dist/test-utils/fake-service.js +0 -108
- package/dist/test-utils/fake-service.js.map +0 -1
- package/dist/test-utils/harness.d.ts +0 -27
- package/dist/test-utils/harness.d.ts.map +0 -1
- package/dist/test-utils/harness.js +0 -33
- package/dist/test-utils/harness.js.map +0 -1
- package/dist/test-utils/ids.d.ts +0 -21
- package/dist/test-utils/ids.d.ts.map +0 -1
- package/dist/test-utils/ids.js +0 -68
- package/dist/test-utils/ids.js.map +0 -1
- package/dist/test-utils/index.d.ts +0 -54
- package/dist/test-utils/index.d.ts.map +0 -1
- package/dist/test-utils/index.js +0 -65
- package/dist/test-utils/index.js.map +0 -1
- package/dist/test-utils/standalone-provisioning.d.ts +0 -22
- package/dist/test-utils/standalone-provisioning.d.ts.map +0 -1
- package/dist/test-utils/standalone-provisioning.js +0 -17
- package/dist/test-utils/standalone-provisioning.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/channel-core.js
DELETED
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Channel core: serialized inbound turn delivery over a MoltZapService.
|
|
3
|
-
* Owns the inbound queue, same-conversation coalescing, the interceptor
|
|
4
|
-
* gate, the per-turn timeout, and channel teardown. Enriched adapter delivery
|
|
5
|
-
* uses channel-core-enrichment.ts; raw daemon delivery receives the coalesced
|
|
6
|
-
* Message batch without reading or committing presentation context.
|
|
7
|
-
*/
|
|
8
|
-
import { Cause, Chunk, Duration, Effect, Fiber, Option, Queue } from "effect";
|
|
9
|
-
import { enrichChannelMessage } from "./channel-core-enrichment.js";
|
|
10
|
-
function errorSummary(err) {
|
|
11
|
-
if (err instanceof Error) {
|
|
12
|
-
return {
|
|
13
|
-
errorName: err.name,
|
|
14
|
-
errorMessage: err.message,
|
|
15
|
-
errorStack: err.stack,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
errorValue: String(err),
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
function effectLogDebug(message, annotations) {
|
|
23
|
-
return Effect.logDebug(message).pipe(Effect.annotateLogs(annotations));
|
|
24
|
-
}
|
|
25
|
-
function effectLogWarning(message, annotations) {
|
|
26
|
-
return Effect.logWarning(message).pipe(Effect.annotateLogs(annotations));
|
|
27
|
-
}
|
|
28
|
-
function effectLogError(message, annotations) {
|
|
29
|
-
return Effect.logError(message).pipe(Effect.annotateLogs(annotations));
|
|
30
|
-
}
|
|
31
|
-
function runBackgroundLog(effect) {
|
|
32
|
-
Effect.runFork(effect);
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Wraps a `MoltZapService` with one-turn-at-a-time inbound delivery and a send
|
|
36
|
-
* helper. Adapter handlers receive enriched messages. A daemon handler may
|
|
37
|
-
* instead receive the admitted coalesced raw Message batch. One core per
|
|
38
|
-
* service — `getContextEntries()` is side-effectful (advances
|
|
39
|
-
* per-conversation markers), so a second core would consume entries the first
|
|
40
|
-
* expected.
|
|
41
|
-
*
|
|
42
|
-
* Turn-taking is entirely endpoint-local: the server delivers every message
|
|
43
|
-
* it accepts, and this core decides when the runtime sees them.
|
|
44
|
-
*
|
|
45
|
-
* Inbound path from wire bytes to user handler:.
|
|
46
|
-
*
|
|
47
|
-
* ```mermaid
|
|
48
|
-
* sequenceDiagram
|
|
49
|
-
* participant server
|
|
50
|
-
* participant ws as MoltZapAgentClient
|
|
51
|
-
* participant svc as MoltZapService
|
|
52
|
-
* participant core as MoltZapChannelCore
|
|
53
|
-
* participant raw as RawInboundHandler
|
|
54
|
-
* participant enriched as InboundHandler
|
|
55
|
-
*
|
|
56
|
-
* server->>ws: agent/message/received notification
|
|
57
|
-
* ws->>svc: subscribers.dispatch — fanout(message)
|
|
58
|
-
* svc->>core: message listener
|
|
59
|
-
* Note over core: dedup via recordMessageIdIfNew, drop when stopped or no handler is installed, then Queue.unsafeOffer(inboundQueue, message)
|
|
60
|
-
* Note over core: consumer fiber — Queue.take
|
|
61
|
-
* Note over core: takeCoalescedConversationMessages drains same-conv backlog into one turn
|
|
62
|
-
* alt raw daemon handler
|
|
63
|
-
* Note over core: inboundInterceptor — deliver or drop this batch
|
|
64
|
-
* core->>raw: rawInboundHandler(messages)
|
|
65
|
-
* raw-->>core: Effect.void
|
|
66
|
-
* else enriched adapter handler
|
|
67
|
-
* Note over core: enrichMessage — sender name, conversation, context entries
|
|
68
|
-
* Note over core: inboundInterceptor — deliver or drop this turn
|
|
69
|
-
* core->>enriched: inboundHandler(enriched)
|
|
70
|
-
* enriched-->>core: Effect.void
|
|
71
|
-
* Note over core: completed handler commits presentation context
|
|
72
|
-
* end
|
|
73
|
-
* Note over core: handler exceeds turnTimeoutMs — turn abandoned, drain continues
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* The single consumer fiber awaits the handler inline, so at most one turn
|
|
77
|
-
* runs at a time and messages that arrive mid-turn wait in the queue.
|
|
78
|
-
*/
|
|
79
|
-
export class MoltZapChannelCore {
|
|
80
|
-
service;
|
|
81
|
-
turnTimeoutMs;
|
|
82
|
-
inboundInterceptor;
|
|
83
|
-
connected = false;
|
|
84
|
-
// Terminal stop: disconnect() interrupts the sole consumer fiber and it is
|
|
85
|
-
// never restarted, while the service deliberately keeps message listeners
|
|
86
|
-
// registered across close()/connect() cycles. Without this flag a
|
|
87
|
-
// reconnected service would keep offering inbound messages into a queue
|
|
88
|
-
// nothing drains — unbounded growth and silent non-delivery. Stopped means
|
|
89
|
-
// stopped: inbound observed after disconnect() is dropped at the listener.
|
|
90
|
-
stopped = false;
|
|
91
|
-
inboundHandler = null;
|
|
92
|
-
/**
|
|
93
|
-
* Inbound messages with an installed handler enqueue synchronously; a single
|
|
94
|
-
* forked consumer fiber serialises delivery so handlers execute
|
|
95
|
-
* one-at-a-time in arrival order.
|
|
96
|
-
*/
|
|
97
|
-
inboundQueue = Effect.runSync(Queue.unbounded());
|
|
98
|
-
consumerFiber;
|
|
99
|
-
disconnectHandlers = [];
|
|
100
|
-
constructor(opts) {
|
|
101
|
-
this.service = opts.service;
|
|
102
|
-
if (opts.turnTimeoutMs !== undefined) {
|
|
103
|
-
this.turnTimeoutMs = opts.turnTimeoutMs;
|
|
104
|
-
}
|
|
105
|
-
if (opts.inboundInterceptor !== undefined) {
|
|
106
|
-
this.inboundInterceptor = opts.inboundInterceptor;
|
|
107
|
-
}
|
|
108
|
-
this.registerMessageListener();
|
|
109
|
-
this.consumerFiber = this.startConsumerFiber();
|
|
110
|
-
this.registerConnectionListeners();
|
|
111
|
-
}
|
|
112
|
-
registerMessageListener() {
|
|
113
|
-
this.service.on("message", ({ message }) => {
|
|
114
|
-
// A core with no handler — a daemon that owns the connection without
|
|
115
|
-
// running a turn loop — observes messages it will never deliver.
|
|
116
|
-
// Dropping here keeps the queue from holding work nothing consumes, and
|
|
117
|
-
// makes the pre-registration window a definite drop rather than a race
|
|
118
|
-
// between the consumer fiber and the embedder's onInbound call.
|
|
119
|
-
if (this.stopped || this.inboundHandler === null) {
|
|
120
|
-
return;
|
|
121
|
-
}
|
|
122
|
-
Queue.unsafeOffer(this.inboundQueue, message);
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
startConsumerFiber() {
|
|
126
|
-
const consumer = Effect.forever(Queue.take(this.inboundQueue).pipe(Effect.flatMap((message) => this.runInboundTurn(message).pipe(Effect.catchAllCause((cause) => this.logInboundFailure(message, cause))))));
|
|
127
|
-
return Effect.runFork(consumer);
|
|
128
|
-
}
|
|
129
|
-
logInboundFailure(message, cause) {
|
|
130
|
-
return effectLogError("MoltZapChannelCore: inbound handler failed", {
|
|
131
|
-
messageId: message.id,
|
|
132
|
-
conversationId: message.conversationId,
|
|
133
|
-
causePretty: Cause.pretty(cause),
|
|
134
|
-
...errorSummary(Cause.squash(cause)),
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
registerConnectionListeners() {
|
|
138
|
-
this.service.on("disconnect", () => {
|
|
139
|
-
this.connected = false;
|
|
140
|
-
this.fanout(this.disconnectHandlers, "disconnect");
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Replaces any previous handler.
|
|
145
|
-
* @param handler Handler invoked for matching requests.
|
|
146
|
-
*/
|
|
147
|
-
onInbound(handler) {
|
|
148
|
-
this.inboundHandler = { _tag: "enriched", handler };
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Replaces any previous handler with a raw coalesced-turn handler. The
|
|
152
|
-
* admitted batch passes the interceptor and reaches the handler without
|
|
153
|
-
* enrichment or presentation-context commits.
|
|
154
|
-
* @param handler Handler invoked for each admitted raw batch.
|
|
155
|
-
*/
|
|
156
|
-
onRawInbound(handler) {
|
|
157
|
-
this.inboundHandler = { _tag: "raw", handler };
|
|
158
|
-
}
|
|
159
|
-
onDisconnect(handler) {
|
|
160
|
-
this.disconnectHandlers.push(handler);
|
|
161
|
-
}
|
|
162
|
-
fanout(handlers, label) {
|
|
163
|
-
for (const h of handlers) {
|
|
164
|
-
try {
|
|
165
|
-
h();
|
|
166
|
-
}
|
|
167
|
-
catch (err) {
|
|
168
|
-
runBackgroundLog(effectLogError(`MoltZapChannelCore: ${label} handler threw`, {
|
|
169
|
-
err,
|
|
170
|
-
label,
|
|
171
|
-
}));
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
connect() {
|
|
176
|
-
// A stopped core has no consumer fiber and its listener drops every
|
|
177
|
-
// inbound message; reporting a successful connect here would hand the
|
|
178
|
-
// embedder a healthy-looking channel that is permanently deaf. Stopped
|
|
179
|
-
// is terminal — reconnecting means constructing a new core.
|
|
180
|
-
if (this.stopped) {
|
|
181
|
-
return Effect.dieMessage("MoltZapChannelCore.connect called after disconnect; a stopped core cannot be reconnected — construct a new core");
|
|
182
|
-
}
|
|
183
|
-
return this.service.connect().pipe(Effect.tap(() => Effect.sync(() => {
|
|
184
|
-
this.connected = true;
|
|
185
|
-
})), Effect.asVoid);
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Tear the channel down, resolving only once the service's own transports
|
|
189
|
-
* are closed. A scoped owner releases this before its process exits, so
|
|
190
|
-
* fire-and-forget teardown would leave sockets open past the scope.
|
|
191
|
-
*
|
|
192
|
-
* Service shutdown runs concurrently with interrupting the consumer fiber
|
|
193
|
-
* because an in-flight turn's finalizer can take arbitrarily long. Awaiting
|
|
194
|
-
* the interrupt first would hold the transports open for exactly as long as
|
|
195
|
-
* that finalizer runs.
|
|
196
|
-
* @returns Completion of the channel-owned teardown.
|
|
197
|
-
*/
|
|
198
|
-
disconnect() {
|
|
199
|
-
return Effect.gen(function* () {
|
|
200
|
-
this.connected = false;
|
|
201
|
-
this.stopped = true;
|
|
202
|
-
// Interrupt the consumer fiber so any queued inbound messages are
|
|
203
|
-
// dropped rather than delivered after the channel is torn down.
|
|
204
|
-
const stopConsumer = Fiber.interrupt(this.consumerFiber);
|
|
205
|
-
const shutdown = this.service.shutdown?.();
|
|
206
|
-
if (shutdown === undefined) {
|
|
207
|
-
this.service.close();
|
|
208
|
-
yield* stopConsumer;
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
yield* Effect.all([stopConsumer, shutdown], {
|
|
212
|
-
concurrency: 2,
|
|
213
|
-
discard: true,
|
|
214
|
-
});
|
|
215
|
-
}.bind(this));
|
|
216
|
-
}
|
|
217
|
-
isConnected() {
|
|
218
|
-
return this.connected;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Reply into a conversation.
|
|
222
|
-
* @param conversationId Value supplied to the operation.
|
|
223
|
-
* @param text Text to process.
|
|
224
|
-
* @returns The send result.
|
|
225
|
-
*/
|
|
226
|
-
sendReply(conversationId, text) {
|
|
227
|
-
return this.service.send(conversationId, text);
|
|
228
|
-
}
|
|
229
|
-
runInboundTurn(primary) {
|
|
230
|
-
return Effect.gen(function* () {
|
|
231
|
-
const messages = yield* this.takeCoalescedConversationMessages(primary);
|
|
232
|
-
const registered = this.inboundHandler;
|
|
233
|
-
if (registered === null) {
|
|
234
|
-
return;
|
|
235
|
-
}
|
|
236
|
-
if (registered._tag === "raw") {
|
|
237
|
-
if (!(yield* this.interceptTurn(messages))) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
yield* this.awaitHandlerTurn(registered.handler, messages, primary);
|
|
241
|
-
return;
|
|
242
|
-
}
|
|
243
|
-
const { enriched, commitContext } = yield* MoltZapChannelCore.enrichMessage(this.service, messages);
|
|
244
|
-
if (!(yield* this.interceptTurn(messages))) {
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
const completed = yield* this.awaitHandlerTurn(registered.handler, enriched, primary);
|
|
248
|
-
// Context markers advance only for a turn the handler finished. A
|
|
249
|
-
// dropped or abandoned one leaves its entries for the next turn.
|
|
250
|
-
if (completed && commitContext) {
|
|
251
|
-
commitContext();
|
|
252
|
-
}
|
|
253
|
-
}.bind(this));
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Consult the interceptor for this turn, if one is installed.
|
|
257
|
-
* @param messages The coalesced batch, primary first.
|
|
258
|
-
* @returns Whether the handler runs for this batch.
|
|
259
|
-
*/
|
|
260
|
-
interceptTurn(messages) {
|
|
261
|
-
const interceptor = this.inboundInterceptor;
|
|
262
|
-
if (interceptor === undefined) {
|
|
263
|
-
return Effect.succeed(true);
|
|
264
|
-
}
|
|
265
|
-
const newest =
|
|
266
|
-
/* Safe because a coalesced batch always holds at least its primary. */ messages[messages.length - 1];
|
|
267
|
-
// Suspended so an interceptor that throws before returning its Effect
|
|
268
|
-
// becomes a defect this pipeline can fail open on, not one the consumer
|
|
269
|
-
// fiber catches after the turn is already lost.
|
|
270
|
-
return Effect.suspend(() => interceptor(newest)).pipe(Effect.flatMap((decision) => this.applyInterceptDecision(newest, decision)), Effect.catchAllCause((cause) =>
|
|
271
|
-
// Interruption is teardown, not an interceptor bug: re-raise it so a
|
|
272
|
-
// disconnected channel stops draining instead of delivering the turn.
|
|
273
|
-
Cause.isInterruptedOnly(cause)
|
|
274
|
-
? Effect.failCause(cause)
|
|
275
|
-
: this.logInterceptorFailure(newest, cause).pipe(Effect.as(true))));
|
|
276
|
-
}
|
|
277
|
-
/**
|
|
278
|
-
* Apply a verdict, logging the drops at debug so a quiet channel can be
|
|
279
|
-
* traced back to its gate.
|
|
280
|
-
* @param newest Message the interceptor judged.
|
|
281
|
-
* @param decision Verdict for the whole coalesced batch.
|
|
282
|
-
* @returns Whether the handler runs.
|
|
283
|
-
*/
|
|
284
|
-
applyInterceptDecision(newest, decision) {
|
|
285
|
-
if (decision._tag === "deliver") {
|
|
286
|
-
return Effect.succeed(true);
|
|
287
|
-
}
|
|
288
|
-
return effectLogDebug("MoltZapChannelCore: inbound turn dropped by interceptor", {
|
|
289
|
-
messageId: newest.id,
|
|
290
|
-
conversationId: newest.conversationId,
|
|
291
|
-
...(decision.reason !== undefined ? { reason: decision.reason } : {}),
|
|
292
|
-
}).pipe(Effect.as(false));
|
|
293
|
-
}
|
|
294
|
-
logInterceptorFailure(newest, cause) {
|
|
295
|
-
return effectLogWarning("MoltZapChannelCore: inbound interceptor failed, delivering anyway", {
|
|
296
|
-
messageId: newest.id,
|
|
297
|
-
conversationId: newest.conversationId,
|
|
298
|
-
causePretty: Cause.pretty(cause),
|
|
299
|
-
...errorSummary(Cause.squash(cause)),
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
/**
|
|
303
|
-
* Await the user handler, bounded by `turnTimeoutMs` when it is set.
|
|
304
|
-
* @param handler Installed inbound handler.
|
|
305
|
-
* @param input Value delivered to the selected handler.
|
|
306
|
-
* @param primary Message that opened this turn.
|
|
307
|
-
* @returns Whether the handler ran to completion.
|
|
308
|
-
*/
|
|
309
|
-
awaitHandlerTurn(handler, input, primary) {
|
|
310
|
-
// The handler is user code returning an Effect — yield it directly so its
|
|
311
|
-
// typed error channel propagates to the consumer fiber, which logs and
|
|
312
|
-
// continues. Awaiting it inline preserves arrival-order delivery.
|
|
313
|
-
const turn = handler(input);
|
|
314
|
-
const timeoutMs = this.turnTimeoutMs;
|
|
315
|
-
if (timeoutMs === undefined) {
|
|
316
|
-
return turn.pipe(Effect.as(true));
|
|
317
|
-
}
|
|
318
|
-
return turn.pipe(Effect.timeoutOption(Duration.millis(timeoutMs)), Effect.tap((finished) => Option.isNone(finished)
|
|
319
|
-
? effectLogWarning("MoltZapChannelCore: inbound turn abandoned after timeout", {
|
|
320
|
-
messageId: primary.id,
|
|
321
|
-
conversationId: primary.conversationId,
|
|
322
|
-
timeoutMs,
|
|
323
|
-
})
|
|
324
|
-
: Effect.void), Effect.map(Option.isSome));
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Drain every queued message for the primary's conversation into one turn,
|
|
328
|
-
* leaving other conversations queued in arrival order. Coalescing keeps a
|
|
329
|
-
* burst in one conversation from costing one turn per message.
|
|
330
|
-
* @param primary Message that opened this turn.
|
|
331
|
-
* @returns The messages belonging to this turn, primary first.
|
|
332
|
-
*/
|
|
333
|
-
takeCoalescedConversationMessages(primary) {
|
|
334
|
-
return Effect.sync(() => {
|
|
335
|
-
const queued = Chunk.toReadonlyArray(Effect.runSync(Queue.takeAll(this.inboundQueue)));
|
|
336
|
-
const sameConversation = [primary];
|
|
337
|
-
const remaining = [];
|
|
338
|
-
for (const queuedMessage of queued) {
|
|
339
|
-
if (queuedMessage.conversationId === primary.conversationId) {
|
|
340
|
-
sameConversation.push(queuedMessage);
|
|
341
|
-
}
|
|
342
|
-
else {
|
|
343
|
-
remaining.push(queuedMessage);
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
for (const remainingMessage of remaining) {
|
|
347
|
-
Queue.unsafeOffer(this.inboundQueue, remainingMessage);
|
|
348
|
-
}
|
|
349
|
-
return sameConversation;
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
/**
|
|
353
|
-
* Stateless enrichment helper. Falls back to `sender.id` if
|
|
354
|
-
* `resolveAgentName` throws (e.g. Service not yet connected).
|
|
355
|
-
* @param service Value supplied to the operation.
|
|
356
|
-
* @param messageOrMessages Value supplied to the operation.
|
|
357
|
-
* @returns The enriched message and its context-commit callback.
|
|
358
|
-
*/
|
|
359
|
-
static enrichMessage(service, messageOrMessages) {
|
|
360
|
-
return enrichChannelMessage(service, messageOrMessages);
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
//# sourceMappingURL=channel-core.js.map
|
package/dist/channel-core.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"channel-core.js","sourceRoot":"","sources":["../src/channel-core.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/adapters.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared adapters between Effect schemas and the command-line interface.
|
|
3
|
-
*/
|
|
4
|
-
import { Options } from "@effect/cli";
|
|
5
|
-
import { Schema } from "effect";
|
|
6
|
-
interface SchemaOptionPresentation {
|
|
7
|
-
readonly name?: string;
|
|
8
|
-
readonly description?: string;
|
|
9
|
-
}
|
|
10
|
-
type SchemaOptionPresentations<I> = Partial<Record<Extract<keyof I, string>, SchemaOptionPresentation>>;
|
|
11
|
-
/**
|
|
12
|
-
* Generates scalar named CLI options from a closed Effect Struct schema.
|
|
13
|
-
* The assembled encoded object is decoded once through the complete schema,
|
|
14
|
-
* keeping brands, transformations, refinements, and defaults authoritative.
|
|
15
|
-
* @param schema Value supplied to the operation.
|
|
16
|
-
* @param presentations Value supplied to the operation.
|
|
17
|
-
* @returns The options from schema result.
|
|
18
|
-
*/
|
|
19
|
-
export declare const optionsFromSchema: <A extends Readonly<Record<string, unknown>>, I extends Readonly<Record<string, unknown>>>(schema: Schema.Schema<A, I>, presentations?: SchemaOptionPresentations<I>) => Options.Options<A>;
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=adapters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/cli/adapters.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAU,MAAM,EAAa,MAAM,QAAQ,CAAC;AAEnD,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,KAAK,yBAAyB,CAAC,CAAC,IAAI,OAAO,CACzC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,wBAAwB,CAAC,CAC3D,CAAC;AAqIF;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAC5B,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC3C,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UAEnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,kBACZ,yBAAyB,CAAC,CAAC,CAAC,KAC1C,OAAO,CAAC,OAAO,CAAC,CAAC,CA2CnB,CAAC"}
|
package/dist/cli/adapters.js
DELETED
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared adapters between Effect schemas and the command-line interface.
|
|
3
|
-
*/
|
|
4
|
-
import { Options } from "@effect/cli";
|
|
5
|
-
import { Option, Schema, SchemaAST } from "effect";
|
|
6
|
-
class UnsupportedCliSchemaError extends Error {
|
|
7
|
-
constructor(field, astTag, reason) {
|
|
8
|
-
super(`Cannot generate CLI option for "${field}" (${astTag}): ${reason}`);
|
|
9
|
-
this.name = "UnsupportedCliSchemaError";
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
const unsupported = (field, astTag, reason) => {
|
|
13
|
-
throw new UnsupportedCliSchemaError(field, astTag, reason);
|
|
14
|
-
};
|
|
15
|
-
const kebabCase = (value) => value
|
|
16
|
-
.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`)
|
|
17
|
-
.replace(/^-/, "");
|
|
18
|
-
const withoutUndefined = (ast) => {
|
|
19
|
-
if (!SchemaAST.isUnion(ast)) {
|
|
20
|
-
return ast;
|
|
21
|
-
}
|
|
22
|
-
const members = ast.types.filter((member) => !SchemaAST.isUndefinedKeyword(member));
|
|
23
|
-
return SchemaAST.Union.make(members, ast.annotations);
|
|
24
|
-
};
|
|
25
|
-
const hasIntegerRefinement = (ast) => {
|
|
26
|
-
if (SchemaAST.isRefinement(ast)) {
|
|
27
|
-
return (Option.contains(SchemaAST.getSchemaIdAnnotation(ast), Schema.IntSchemaId) || hasIntegerRefinement(ast.from));
|
|
28
|
-
}
|
|
29
|
-
if (SchemaAST.isUnion(ast)) {
|
|
30
|
-
return ast.types.some(hasIntegerRefinement);
|
|
31
|
-
}
|
|
32
|
-
if (SchemaAST.isTransformation(ast)) {
|
|
33
|
-
return hasIntegerRefinement(ast.to);
|
|
34
|
-
}
|
|
35
|
-
return false;
|
|
36
|
-
};
|
|
37
|
-
const propertyName = (property) => typeof property.name === "string"
|
|
38
|
-
? property.name
|
|
39
|
-
: unsupported(String(property.name), property.type._tag, "symbol property keys are not supported");
|
|
40
|
-
const closedProperties = (ast, side) => {
|
|
41
|
-
if (!SchemaAST.isTypeLiteral(ast) || ast.indexSignatures.length > 0) {
|
|
42
|
-
return unsupported("<root>", ast._tag, `the top-level ${side} schema must be a closed Struct`);
|
|
43
|
-
}
|
|
44
|
-
return ast.propertySignatures;
|
|
45
|
-
};
|
|
46
|
-
const scalarOption = (field, name, encodedAst, validationAst) => {
|
|
47
|
-
if (SchemaAST.isStringKeyword(encodedAst)) {
|
|
48
|
-
return Options.text(name);
|
|
49
|
-
}
|
|
50
|
-
if (SchemaAST.isNumberKeyword(encodedAst)) {
|
|
51
|
-
return hasIntegerRefinement(validationAst)
|
|
52
|
-
? Options.integer(name)
|
|
53
|
-
: Options.float(name);
|
|
54
|
-
}
|
|
55
|
-
return unsupported(field, encodedAst._tag, "only encoded string and number scalar fields are supported");
|
|
56
|
-
};
|
|
57
|
-
const fragmentForProperty = (property, validationProperty, presentation, claimedNames) => {
|
|
58
|
-
const field = propertyName(property);
|
|
59
|
-
const name = presentation.name ?? kebabCase(field);
|
|
60
|
-
if (claimedNames.has(name)) {
|
|
61
|
-
return unsupported(field, "OptionNameCollision", `the option name "${name}" is already in use`);
|
|
62
|
-
}
|
|
63
|
-
claimedNames.add(name);
|
|
64
|
-
const encodedAst = property.isOptional
|
|
65
|
-
? withoutUndefined(property.type)
|
|
66
|
-
: property.type;
|
|
67
|
-
const validationAst = validationProperty.isOptional
|
|
68
|
-
? withoutUndefined(validationProperty.type)
|
|
69
|
-
: validationProperty.type;
|
|
70
|
-
const primitive = scalarOption(field, name, encodedAst, validationAst);
|
|
71
|
-
const presented = presentation.description === undefined
|
|
72
|
-
? primitive
|
|
73
|
-
: primitive.pipe(Options.withDescription(presentation.description));
|
|
74
|
-
if (!property.isOptional) {
|
|
75
|
-
return presented.pipe(Options.map((value) => ({ [field]: value })));
|
|
76
|
-
}
|
|
77
|
-
return presented.pipe(Options.optional, Options.map(Option.match({
|
|
78
|
-
onNone: () => ({}),
|
|
79
|
-
onSome: (value) => ({ [field]: value }),
|
|
80
|
-
})));
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* Generates scalar named CLI options from a closed Effect Struct schema.
|
|
84
|
-
* The assembled encoded object is decoded once through the complete schema,
|
|
85
|
-
* keeping brands, transformations, refinements, and defaults authoritative.
|
|
86
|
-
* @param schema Value supplied to the operation.
|
|
87
|
-
* @param presentations Value supplied to the operation.
|
|
88
|
-
* @returns The options from schema result.
|
|
89
|
-
*/
|
|
90
|
-
export const optionsFromSchema = (schema, presentations = {}) => {
|
|
91
|
-
const properties = closedProperties(Schema.encodedSchema(schema).ast, "encoded");
|
|
92
|
-
if (properties.length === 0) {
|
|
93
|
-
return unsupported("<root>", "TypeLiteral", "empty Structs do not define any CLI options");
|
|
94
|
-
}
|
|
95
|
-
const validationProperties = new Map(closedProperties(Schema.typeSchema(schema).ast, "type").map((property) => [
|
|
96
|
-
propertyName(property),
|
|
97
|
-
property,
|
|
98
|
-
]));
|
|
99
|
-
const presentationByField = new Map(Object.entries(presentations));
|
|
100
|
-
const claimedNames = new Set();
|
|
101
|
-
const fragments = properties.map((property) => {
|
|
102
|
-
const field = propertyName(property);
|
|
103
|
-
const validationProperty = validationProperties.get(field);
|
|
104
|
-
if (validationProperty === undefined) {
|
|
105
|
-
return unsupported(field, "RenamedProperty", "encoded and type-side property names must match");
|
|
106
|
-
}
|
|
107
|
-
return fragmentForProperty(property, validationProperty, presentationByField.get(field) ?? {}, claimedNames);
|
|
108
|
-
});
|
|
109
|
-
return Options.all(fragments).pipe(Options.map((parts) => Object.assign({}, ...parts)), Options.withSchema(schema));
|
|
110
|
-
};
|
|
111
|
-
//# sourceMappingURL=adapters.js.map
|
package/dist/cli/adapters.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/cli/adapters.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Command } from "@effect/cli";
|
|
2
|
-
/**
|
|
3
|
-
* `moltzap agents [list|lookup]` — default (no subcommand) lists all agents,
|
|
4
|
-
* `lookup` resolves one or more names.
|
|
5
|
-
*/
|
|
6
|
-
export declare const agentsCommand: Command.Command<"agents", import("../transport.js").Transport, never, {
|
|
7
|
-
readonly subcommand: import("effect/Option").Option<{} | {
|
|
8
|
-
readonly names: string[];
|
|
9
|
-
}>;
|
|
10
|
-
}>;
|
|
11
|
-
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAC;AA4C5C;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;EAKzB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Args, Command } from "@effect/cli";
|
|
2
|
-
import { Effect } from "effect";
|
|
3
|
-
import { localDaemonCommands } from "../../local-daemon-rpc.js";
|
|
4
|
-
import { command, runHandler } from "../transport.js";
|
|
5
|
-
import { logJson, logLines } from "../output.js";
|
|
6
|
-
// safer-arch-ignore folder-explicit-api-required: the CLI entrypoint deliberately composes private one-command-per-file leaves; this folder is not a reusable API.
|
|
7
|
-
// safer-arch-ignore no-trivial-sink-file: this command is a private one-command-per-file leaf consistent with the CLI commands folder convention.
|
|
8
|
-
const listAgents = Command.make("list", {}, () => runHandler(command(localDaemonCommands.agentsList, {}).pipe(Effect.flatMap(logJson), Effect.asVoid))).pipe(Command.withDescription("List agents (default)"));
|
|
9
|
-
const namesArg = Args.text({ name: "name" }).pipe(Args.withDescription("Agent names to look up"), Args.repeated);
|
|
10
|
-
const lookupAgents = Command.make("lookup", { names: namesArg }, ({ names }) => runHandler(command(localDaemonCommands.agentsSearch, { names }).pipe(Effect.flatMap((result) => {
|
|
11
|
-
if (result.agents.length === 0) {
|
|
12
|
-
return Effect.log("No agents found.");
|
|
13
|
-
}
|
|
14
|
-
return logLines(result.agents.map((agent) => {
|
|
15
|
-
let line = `Agent: ${agent.name}\n ID: ${agent.id}\n Status: ${agent.status}`;
|
|
16
|
-
if (agent.description) {
|
|
17
|
-
line += `\n Description: ${agent.description}`;
|
|
18
|
-
}
|
|
19
|
-
return `${line}\n`;
|
|
20
|
-
}));
|
|
21
|
-
}), Effect.asVoid))).pipe(Command.withDescription("Look up agents by name"));
|
|
22
|
-
/**
|
|
23
|
-
* `moltzap agents [list|lookup]` — default (no subcommand) lists all agents,
|
|
24
|
-
* `lookup` resolves one or more names.
|
|
25
|
-
*/
|
|
26
|
-
export const agentsCommand = Command.make("agents", {}, () => listAgents.handler({})).pipe(Command.withDescription("List and look up agents on MoltZap"), Command.withSubcommands([listAgents, lookupAgents]));
|
|
27
|
-
//# sourceMappingURL=agents.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../../src/cli/commands/agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEjD,mKAAmK;AACnK,kJAAkJ;AAClJ,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,CAC/C,UAAU,CACR,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAC9C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,CACd,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAC/C,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAC9C,IAAI,CAAC,QAAQ,CACd,CAAC;AAEF,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7E,UAAU,CACR,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,CACvD,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;IACxB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CACb,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,IAAI,IAAI,GAAG,UAAU,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,EAAE,eAAe,KAAK,CAAC,MAAM,EAAE,CAAC;QAChF,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,IAAI,oBAAoB,KAAK,CAAC,WAAW,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,EACF,MAAM,CAAC,MAAM,CACd,CACF,CACF,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAC3D,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CACvB,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CAAC,oCAAoC,CAAC,EAC7D,OAAO,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CACpD,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Command } from "@effect/cli";
|
|
2
|
-
import { Option } from "effect";
|
|
3
|
-
import { type ConversationId } from "@moltzap/protocol/conversation";
|
|
4
|
-
/** Provides the conversations command runtime value. */
|
|
5
|
-
export declare const conversationsCommand: Command.Command<"conversations", import("../transport.js").Transport, never, {
|
|
6
|
-
readonly subcommand: Option.Option<{
|
|
7
|
-
readonly conversationId: ConversationId;
|
|
8
|
-
readonly limit: number;
|
|
9
|
-
readonly sessionKey: Option.Option<string>;
|
|
10
|
-
}>;
|
|
11
|
-
}>;
|
|
12
|
-
/** Top-level `moltzap history <conversationId>` — identical to `conversations history`. */
|
|
13
|
-
export declare const historyCommand: Command.Command<"history", import("../transport.js").Transport, never, {
|
|
14
|
-
readonly conversationId: ConversationId;
|
|
15
|
-
readonly limit: number;
|
|
16
|
-
readonly sessionKey: Option.Option<string>;
|
|
17
|
-
}>;
|
|
18
|
-
//# sourceMappingURL=conversations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAW,MAAM,aAAa,CAAC;AACrD,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,gCAAgC,CAAC;AAqDxC,wDAAwD;AACxD,eAAO,MAAM,oBAAoB;;;;;;EAQhC,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,cAAc;;;;EAQ+C,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Args, Command, Options } from "@effect/cli";
|
|
2
|
-
import { Effect, Option } from "effect";
|
|
3
|
-
import { conversationId, } from "@moltzap/protocol/conversation";
|
|
4
|
-
import { localDaemonCommands } from "../../local-daemon-rpc.js";
|
|
5
|
-
import { command, runHandler } from "../transport.js";
|
|
6
|
-
import { logJson, logLines } from "../output.js";
|
|
7
|
-
const DEFAULT_HISTORY_LIMIT = 50;
|
|
8
|
-
const historyLimitOption = Options.integer("limit").pipe(Options.withDefault(DEFAULT_HISTORY_LIMIT), Options.withDescription("Max messages to show"));
|
|
9
|
-
const sessionKeyOption = Options.text("session-key").pipe(Options.withDescription("Session key for cross-conversation context"), Options.optional);
|
|
10
|
-
const conversationIdArg = Args.text({ name: "conversationId" }).pipe(Args.withSchema(conversationId), Args.withDescription("Conversation ID"));
|
|
11
|
-
const historyHandler = ({ conversationId, limit, sessionKey, }) => {
|
|
12
|
-
const params = Option.isSome(sessionKey)
|
|
13
|
-
? { conversationId, limit, sessionKey: sessionKey.value }
|
|
14
|
-
: { conversationId, limit };
|
|
15
|
-
return runHandler(command(localDaemonCommands.history, params).pipe(Effect.flatMap(logJson), Effect.asVoid));
|
|
16
|
-
};
|
|
17
|
-
const historySubcommand = Command.make("history", {
|
|
18
|
-
conversationId: conversationIdArg,
|
|
19
|
-
limit: historyLimitOption,
|
|
20
|
-
sessionKey: sessionKeyOption,
|
|
21
|
-
}, historyHandler).pipe(Command.withDescription("Show message history for a conversation"));
|
|
22
|
-
/** Provides the conversations command runtime value. */
|
|
23
|
-
export const conversationsCommand = Command.make("conversations", {}, () => logLines([
|
|
24
|
-
"moltzap conversations: only `history` is supported in this release.",
|
|
25
|
-
"See `moltzap conversations history --help`.",
|
|
26
|
-
])).pipe(Command.withDescription("Show conversation history"), Command.withSubcommands([historySubcommand]));
|
|
27
|
-
/** Top-level `moltzap history <conversationId>` — identical to `conversations history`. */
|
|
28
|
-
export const historyCommand = Command.make("history", {
|
|
29
|
-
conversationId: conversationIdArg,
|
|
30
|
-
limit: historyLimitOption,
|
|
31
|
-
sessionKey: sessionKeyOption,
|
|
32
|
-
}, historyHandler).pipe(Command.withDescription("Show message history for a conversation"));
|
|
33
|
-
//# sourceMappingURL=conversations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../../src/cli/commands/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAEL,cAAc,GACf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CACtD,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAC1C,OAAO,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAChD,CAAC;AAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CACvD,OAAO,CAAC,eAAe,CAAC,4CAA4C,CAAC,EACrE,OAAO,CAAC,QAAQ,CACjB,CAAC;AAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAClE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAC/B,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CACxC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,EACtB,cAAc,EACd,KAAK,EACL,UAAU,GAKX,EAAE,EAAE;IACH,MAAM,MAAM,GAAmB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACtD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,KAAK,EAAE;QACzD,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IAC9B,OAAO,UAAU,CACf,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAC/C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EACvB,MAAM,CAAC,MAAM,CACd,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CACpC,SAAS,EACT;IACE,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,gBAAgB;CAC7B,EACD,cAAc,CACf,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAAC,CAAC;AAE3E,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,GAAG,EAAE,CACzE,QAAQ,CAAC;IACP,qEAAqE;IACrE,6CAA6C;CAC9C,CAAC,CACH,CAAC,IAAI,CACJ,OAAO,CAAC,eAAe,CAAC,2BAA2B,CAAC,EACpD,OAAO,CAAC,eAAe,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAC7C,CAAC;AAEF,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CACxC,SAAS,EACT;IACE,cAAc,EAAE,iBAAiB;IACjC,KAAK,EAAE,kBAAkB;IACzB,UAAU,EAAE,gBAAgB;CAC7B,EACD,cAAc,CACf,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,yCAAyC,CAAC,CAAC,CAAC"}
|