experimental-ash 0.2.0-alpha.2 → 0.2.0-alpha.21
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/dist/src/channel/http-channel.d.ts +26 -0
- package/dist/src/channel/http-channel.d.ts.map +1 -0
- package/dist/src/channel/http-channel.js +24 -0
- package/dist/src/channel/http-channel.js.map +1 -0
- package/dist/src/channel/resolve-text.d.ts +20 -0
- package/dist/src/channel/resolve-text.d.ts.map +1 -0
- package/dist/src/channel/resolve-text.js +60 -0
- package/dist/src/channel/resolve-text.js.map +1 -0
- package/dist/src/channel/schedule-channel.d.ts +16 -0
- package/dist/src/channel/schedule-channel.d.ts.map +1 -0
- package/dist/src/channel/schedule-channel.js +20 -0
- package/dist/src/channel/schedule-channel.js.map +1 -0
- package/dist/src/channel/schedule.d.ts +4 -6
- package/dist/src/channel/schedule.d.ts.map +1 -1
- package/dist/src/channel/schedule.js +6 -9
- package/dist/src/channel/schedule.js.map +1 -1
- package/dist/src/channel/slack-channel.d.ts +125 -0
- package/dist/src/channel/slack-channel.d.ts.map +1 -0
- package/dist/src/channel/slack-channel.js +320 -0
- package/dist/src/channel/slack-channel.js.map +1 -0
- package/dist/src/channel/subagent-channel.d.ts +41 -0
- package/dist/src/channel/subagent-channel.d.ts.map +1 -0
- package/dist/src/channel/{subagent-emitter.js → subagent-channel.js} +15 -19
- package/dist/src/channel/subagent-channel.js.map +1 -0
- package/dist/src/channel/types.d.ts +157 -90
- package/dist/src/channel/types.d.ts.map +1 -1
- package/dist/src/channel/types.js +64 -1
- package/dist/src/channel/types.js.map +1 -1
- package/dist/src/cli/dev/input-requests.d.ts +4 -4
- package/dist/src/cli/dev/input-requests.d.ts.map +1 -1
- package/dist/src/cli/dev/input-requests.js +34 -65
- package/dist/src/cli/dev/input-requests.js.map +1 -1
- package/dist/src/cli/dev/repl.d.ts.map +1 -1
- package/dist/src/cli/dev/repl.js +41 -24
- package/dist/src/cli/dev/repl.js.map +1 -1
- package/dist/src/client/index.d.ts +3 -2
- package/dist/src/client/index.d.ts.map +1 -1
- package/dist/src/client/index.js +1 -0
- package/dist/src/client/index.js.map +1 -1
- package/dist/src/client/message-response.d.ts +5 -5
- package/dist/src/client/message-response.d.ts.map +1 -1
- package/dist/src/client/message-response.js +6 -6
- package/dist/src/client/message-response.js.map +1 -1
- package/dist/src/client/open-stream.d.ts +1 -1
- package/dist/src/client/open-stream.d.ts.map +1 -1
- package/dist/src/client/open-stream.js +1 -1
- package/dist/src/client/open-stream.js.map +1 -1
- package/dist/src/client/session-utils.d.ts +3 -3
- package/dist/src/client/session-utils.d.ts.map +1 -1
- package/dist/src/client/session-utils.js +4 -4
- package/dist/src/client/session-utils.js.map +1 -1
- package/dist/src/client/session.d.ts +5 -5
- package/dist/src/client/session.js +28 -28
- package/dist/src/client/session.js.map +1 -1
- package/dist/src/client/types.d.ts +8 -8
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/compiler/channel-url.d.ts +1 -1
- package/dist/src/compiler/channel-url.js +1 -1
- package/dist/src/compiler/manifest.d.ts +38 -5
- package/dist/src/compiler/manifest.d.ts.map +1 -1
- package/dist/src/compiler/manifest.js +15 -1
- package/dist/src/compiler/manifest.js.map +1 -1
- package/dist/src/compiler/module-map.js +8 -0
- package/dist/src/compiler/module-map.js.map +1 -1
- package/dist/src/compiler/normalize-channel.d.ts +1 -1
- package/dist/src/compiler/normalize-channel.js +3 -3
- package/dist/src/compiler/normalize-channel.js.map +1 -1
- package/dist/src/compiler/normalize-connection.d.ts +14 -0
- package/dist/src/compiler/normalize-connection.d.ts.map +1 -0
- package/dist/src/compiler/normalize-connection.js +29 -0
- package/dist/src/compiler/normalize-connection.js.map +1 -0
- package/dist/src/compiler/normalize-manifest.d.ts.map +1 -1
- package/dist/src/compiler/normalize-manifest.js +2 -0
- package/dist/src/compiler/normalize-manifest.js.map +1 -1
- package/dist/src/context/accessors.d.ts +13 -12
- package/dist/src/context/accessors.d.ts.map +1 -1
- package/dist/src/context/accessors.js +16 -17
- package/dist/src/context/accessors.js.map +1 -1
- package/dist/src/context/container.d.ts +17 -19
- package/dist/src/context/container.d.ts.map +1 -1
- package/dist/src/context/container.js +21 -14
- package/dist/src/context/container.js.map +1 -1
- package/dist/src/context/durable-context.d.ts +18 -0
- package/dist/src/context/durable-context.d.ts.map +1 -0
- package/dist/src/context/durable-context.js +49 -0
- package/dist/src/context/durable-context.js.map +1 -0
- package/dist/src/context/key.d.ts +43 -83
- package/dist/src/context/key.d.ts.map +1 -1
- package/dist/src/context/key.js +58 -80
- package/dist/src/context/key.js.map +1 -1
- package/dist/src/context/keys.d.ts +8 -20
- package/dist/src/context/keys.d.ts.map +1 -1
- package/dist/src/context/keys.js +20 -34
- package/dist/src/context/keys.js.map +1 -1
- package/dist/src/context/provider.d.ts +2 -2
- package/dist/src/context/provider.d.ts.map +1 -1
- package/dist/src/context/providers/connection.d.ts +4 -0
- package/dist/src/context/providers/connection.d.ts.map +1 -0
- package/dist/src/context/providers/connection.js +18 -0
- package/dist/src/context/providers/connection.js.map +1 -0
- package/dist/src/context/providers/session.d.ts.map +1 -1
- package/dist/src/context/providers/session.js +1 -2
- package/dist/src/context/providers/session.js.map +1 -1
- package/dist/src/context/providers/skill.d.ts.map +1 -1
- package/dist/src/context/providers/skill.js +2 -15
- package/dist/src/context/providers/skill.js.map +1 -1
- package/dist/src/context/run-step.d.ts +6 -8
- package/dist/src/context/run-step.d.ts.map +1 -1
- package/dist/src/context/run-step.js +15 -17
- package/dist/src/context/run-step.js.map +1 -1
- package/dist/src/context/seed-keys.d.ts +21 -0
- package/dist/src/context/seed-keys.d.ts.map +1 -0
- package/dist/src/context/seed-keys.js +31 -0
- package/dist/src/context/seed-keys.js.map +1 -0
- package/dist/src/context/serialize.d.ts +8 -9
- package/dist/src/context/serialize.d.ts.map +1 -1
- package/dist/src/context/serialize.js +38 -15
- package/dist/src/context/serialize.js.map +1 -1
- package/dist/src/discover/connections.d.ts +48 -0
- package/dist/src/discover/connections.d.ts.map +1 -0
- package/dist/src/discover/connections.js +169 -0
- package/dist/src/discover/connections.js.map +1 -0
- package/dist/src/discover/discover-agent.d.ts +1 -0
- package/dist/src/discover/discover-agent.d.ts.map +1 -1
- package/dist/src/discover/discover-agent.js +8 -0
- package/dist/src/discover/discover-agent.js.map +1 -1
- package/dist/src/discover/discover-subagent.js +7 -0
- package/dist/src/discover/discover-subagent.js.map +1 -1
- package/dist/src/discover/filesystem.d.ts +3 -3
- package/dist/src/discover/filesystem.d.ts.map +1 -1
- package/dist/src/discover/filesystem.js +7 -0
- package/dist/src/discover/filesystem.js.map +1 -1
- package/dist/src/discover/grammar.d.ts +20 -4
- package/dist/src/discover/grammar.d.ts.map +1 -1
- package/dist/src/discover/grammar.js +31 -5
- package/dist/src/discover/grammar.js.map +1 -1
- package/dist/src/discover/manifest.d.ts +28 -1
- package/dist/src/discover/manifest.d.ts.map +1 -1
- package/dist/src/discover/manifest.js +11 -1
- package/dist/src/discover/manifest.js.map +1 -1
- package/dist/src/evals/runner/artifacts.js +1 -1
- package/dist/src/evals/runner/artifacts.js.map +1 -1
- package/dist/src/evals/runner/derive-run-facts.js +5 -5
- package/dist/src/evals/runner/derive-run-facts.js.map +1 -1
- package/dist/src/evals/runner/execute-case.js +4 -4
- package/dist/src/evals/runner/execute-case.js.map +1 -1
- package/dist/src/evals/runner/execute-suite.js +1 -1
- package/dist/src/evals/runner/execute-suite.js.map +1 -1
- package/dist/src/evals/runner/reporters/braintrust.js +2 -2
- package/dist/src/evals/runner/reporters/braintrust.js.map +1 -1
- package/dist/src/evals/types.d.ts +4 -4
- package/dist/src/evals/types.d.ts.map +1 -1
- package/dist/src/execution/continuous-entry.d.ts +18 -9
- package/dist/src/execution/continuous-entry.d.ts.map +1 -1
- package/dist/src/execution/continuous-entry.js +62 -18
- package/dist/src/execution/continuous-entry.js.map +1 -1
- package/dist/src/execution/continuous-runtime.d.ts +1 -1
- package/dist/src/execution/continuous-runtime.d.ts.map +1 -1
- package/dist/src/execution/continuous-runtime.js +14 -10
- package/dist/src/execution/continuous-runtime.js.map +1 -1
- package/dist/src/execution/node-step.d.ts +1 -2
- package/dist/src/execution/node-step.d.ts.map +1 -1
- package/dist/src/execution/node-step.js +42 -55
- package/dist/src/execution/node-step.js.map +1 -1
- package/dist/src/execution/runtime-context.d.ts +3 -0
- package/dist/src/execution/runtime-context.d.ts.map +1 -1
- package/dist/src/execution/runtime-context.js +6 -4
- package/dist/src/execution/runtime-context.js.map +1 -1
- package/dist/src/execution/session.d.ts +2 -1
- package/dist/src/execution/session.d.ts.map +1 -1
- package/dist/src/execution/session.js +1 -0
- package/dist/src/execution/session.js.map +1 -1
- package/dist/src/execution/skills/access.d.ts.map +1 -1
- package/dist/src/execution/skills/instructions.d.ts +6 -6
- package/dist/src/execution/skills/instructions.d.ts.map +1 -1
- package/dist/src/execution/skills/instructions.js +15 -15
- package/dist/src/execution/skills/instructions.js.map +1 -1
- package/dist/src/execution/skills/types.d.ts +4 -4
- package/dist/src/execution/skills/types.d.ts.map +1 -1
- package/dist/src/execution/step-context.d.ts +27 -0
- package/dist/src/execution/step-context.d.ts.map +1 -0
- package/dist/src/execution/step-context.js +54 -0
- package/dist/src/execution/step-context.js.map +1 -0
- package/dist/src/execution/subagent-tool.d.ts +1 -1
- package/dist/src/execution/subagent-tool.d.ts.map +1 -1
- package/dist/src/execution/subagent-tool.js +3 -4
- package/dist/src/execution/subagent-tool.js.map +1 -1
- package/dist/src/execution/tool-compaction.d.ts +1 -3
- package/dist/src/execution/tool-compaction.d.ts.map +1 -1
- package/dist/src/execution/tool-compaction.js +6 -20
- package/dist/src/execution/tool-compaction.js.map +1 -1
- package/dist/src/execution/types.d.ts +1 -1
- package/dist/src/execution/types.d.ts.map +1 -1
- package/dist/src/execution/workflow-entry.d.ts +4 -5
- package/dist/src/execution/workflow-entry.d.ts.map +1 -1
- package/dist/src/execution/workflow-entry.js +7 -2
- package/dist/src/execution/workflow-entry.js.map +1 -1
- package/dist/src/execution/workflow-runtime.d.ts.map +1 -1
- package/dist/src/execution/workflow-runtime.js +10 -5
- package/dist/src/execution/workflow-runtime.js.map +1 -1
- package/dist/src/execution/workflow-steps.d.ts +13 -6
- package/dist/src/execution/workflow-steps.d.ts.map +1 -1
- package/dist/src/execution/workflow-steps.js +24 -19
- package/dist/src/execution/workflow-steps.js.map +1 -1
- package/dist/src/harness/emission.d.ts +36 -27
- package/dist/src/harness/emission.d.ts.map +1 -1
- package/dist/src/harness/emission.js +130 -84
- package/dist/src/harness/emission.js.map +1 -1
- package/dist/src/harness/execute-tool.d.ts +52 -0
- package/dist/src/harness/execute-tool.d.ts.map +1 -0
- package/dist/src/harness/execute-tool.js +59 -0
- package/dist/src/harness/execute-tool.js.map +1 -0
- package/dist/src/harness/input-extraction.d.ts +3 -3
- package/dist/src/harness/input-extraction.d.ts.map +1 -1
- package/dist/src/harness/input-extraction.js +15 -8
- package/dist/src/harness/input-extraction.js.map +1 -1
- package/dist/src/harness/input-requests.d.ts +46 -40
- package/dist/src/harness/input-requests.d.ts.map +1 -1
- package/dist/src/harness/input-requests.js +169 -245
- package/dist/src/harness/input-requests.js.map +1 -1
- package/dist/src/harness/messages.d.ts +10 -9
- package/dist/src/harness/messages.d.ts.map +1 -1
- package/dist/src/harness/messages.js +23 -20
- package/dist/src/harness/messages.js.map +1 -1
- package/dist/src/harness/provider-tools.d.ts +2 -2
- package/dist/src/harness/provider-tools.d.ts.map +1 -1
- package/dist/src/harness/provider-tools.js +7 -3
- package/dist/src/harness/provider-tools.js.map +1 -1
- package/dist/src/harness/step-hooks.d.ts +77 -0
- package/dist/src/harness/step-hooks.d.ts.map +1 -0
- package/dist/src/harness/step-hooks.js +192 -0
- package/dist/src/harness/step-hooks.js.map +1 -0
- package/dist/src/harness/tool-loop.d.ts +4 -2
- package/dist/src/harness/tool-loop.d.ts.map +1 -1
- package/dist/src/harness/tool-loop.js +130 -181
- package/dist/src/harness/tool-loop.js.map +1 -1
- package/dist/src/harness/tools.d.ts +12 -16
- package/dist/src/harness/tools.d.ts.map +1 -1
- package/dist/src/harness/tools.js +39 -33
- package/dist/src/harness/tools.js.map +1 -1
- package/dist/src/harness/types.d.ts +44 -28
- package/dist/src/harness/types.d.ts.map +1 -1
- package/dist/src/harness/types.js +6 -1
- package/dist/src/harness/types.js.map +1 -1
- package/dist/src/internal/application/compiled-artifacts.d.ts +5 -3
- package/dist/src/internal/application/compiled-artifacts.d.ts.map +1 -1
- package/dist/src/internal/application/compiled-artifacts.js +19 -40
- package/dist/src/internal/application/compiled-artifacts.js.map +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/channel.d.ts +3 -3
- package/dist/src/internal/authored-definition/channel.d.ts.map +1 -1
- package/dist/src/internal/authored-definition/channel.js +28 -4
- package/dist/src/internal/authored-definition/channel.js.map +1 -1
- package/dist/src/internal/authored-definition/connection.d.ts +10 -0
- package/dist/src/internal/authored-definition/connection.d.ts.map +1 -0
- package/dist/src/internal/authored-definition/connection.js +134 -0
- package/dist/src/internal/authored-definition/connection.js.map +1 -0
- package/dist/src/internal/authored-module.js +1 -1
- package/dist/src/internal/authored-module.js.map +1 -1
- package/dist/src/internal/message/builder.d.ts +1 -2
- package/dist/src/internal/message/builder.d.ts.map +1 -1
- package/dist/src/internal/message/builder.js +4 -12
- package/dist/src/internal/message/builder.js.map +1 -1
- package/dist/src/internal/nitro/host/configure-message-routes.d.ts +3 -1
- package/dist/src/internal/nitro/host/configure-message-routes.d.ts.map +1 -1
- package/dist/src/internal/nitro/host/configure-message-routes.js +124 -25
- package/dist/src/internal/nitro/host/configure-message-routes.js.map +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.d.ts.map +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +63 -21
- package/dist/src/internal/nitro/host/create-application-nitro.js.map +1 -1
- package/dist/src/internal/nitro/host/load-home-page-web-assets.d.ts +13 -0
- package/dist/src/internal/nitro/host/load-home-page-web-assets.d.ts.map +1 -0
- package/dist/src/internal/nitro/host/load-home-page-web-assets.js +35 -0
- package/dist/src/internal/nitro/host/load-home-page-web-assets.js.map +1 -0
- package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
- package/dist/src/internal/nitro/host/prepare-application-host.js.map +1 -1
- package/dist/src/internal/nitro/routes/channel-dispatch.d.ts +10 -18
- package/dist/src/internal/nitro/routes/channel-dispatch.d.ts.map +1 -1
- package/dist/src/internal/nitro/routes/channel-dispatch.js +16 -45
- package/dist/src/internal/nitro/routes/channel-dispatch.js.map +1 -1
- package/dist/src/internal/nitro/routes/home-page/build-home-page-response.d.ts +88 -0
- package/dist/src/internal/nitro/routes/home-page/build-home-page-response.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/home-page/build-home-page-response.js +175 -0
- package/dist/src/internal/nitro/routes/home-page/build-home-page-response.js.map +1 -0
- package/dist/src/internal/nitro/routes/home.d.ts +7 -0
- package/dist/src/internal/nitro/routes/home.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/home.js +22 -0
- package/dist/src/internal/nitro/routes/home.js.map +1 -0
- package/dist/src/internal/nitro/routes/index.d.ts +3 -8
- package/dist/src/internal/nitro/routes/index.d.ts.map +1 -1
- package/dist/src/internal/nitro/routes/index.js +18 -36
- package/dist/src/internal/nitro/routes/index.js.map +1 -1
- package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts +10 -3
- package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts.map +1 -1
- package/dist/src/internal/nitro/routes/runtime-artifacts.js +2 -9
- package/dist/src/internal/nitro/routes/runtime-artifacts.js.map +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts +8 -7
- package/dist/src/internal/nitro/routes/runtime-stack.d.ts.map +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.js +10 -10
- package/dist/src/internal/nitro/routes/runtime-stack.js.map +1 -1
- package/dist/src/internal/nitro/routes/schedule-task.d.ts +7 -7
- package/dist/src/internal/nitro/routes/schedule-task.d.ts.map +1 -1
- package/dist/src/internal/nitro/routes/schedule-task.js +22 -30
- package/dist/src/internal/nitro/routes/schedule-task.js.map +1 -1
- package/dist/src/internal/nitro/routes/web-ui/assets/index.js +10 -0
- package/dist/src/internal/nitro/routes/web-ui/assets/style.css +2 -0
- package/dist/src/internal/nitro/routes/web-ui/index.html +17 -0
- package/dist/src/internal/nitro/routes/workflow-data.d.ts +32 -0
- package/dist/src/internal/nitro/routes/workflow-data.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-data.js +142 -0
- package/dist/src/internal/nitro/routes/workflow-data.js.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-route-helpers.d.ts +46 -0
- package/dist/src/internal/nitro/routes/workflow-route-helpers.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-route-helpers.js +137 -0
- package/dist/src/internal/nitro/routes/workflow-route-helpers.js.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run-events.d.ts +14 -0
- package/dist/src/internal/nitro/routes/workflow-run-events.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run-events.js +42 -0
- package/dist/src/internal/nitro/routes/workflow-run-events.js.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run-steps.d.ts +14 -0
- package/dist/src/internal/nitro/routes/workflow-run-steps.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run-steps.js +42 -0
- package/dist/src/internal/nitro/routes/workflow-run-steps.js.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run.d.ts +13 -0
- package/dist/src/internal/nitro/routes/workflow-run.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-run.js +35 -0
- package/dist/src/internal/nitro/routes/workflow-run.js.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-runs.d.ts +11 -0
- package/dist/src/internal/nitro/routes/workflow-runs.d.ts.map +1 -0
- package/dist/src/internal/nitro/routes/workflow-runs.js +29 -0
- package/dist/src/internal/nitro/routes/workflow-runs.js.map +1 -0
- package/dist/src/protocol/message.d.ts +160 -76
- package/dist/src/protocol/message.d.ts.map +1 -1
- package/dist/src/protocol/message.js +92 -36
- package/dist/src/protocol/message.js.map +1 -1
- package/dist/src/protocol/routes.d.ts +11 -3
- package/dist/src/protocol/routes.d.ts.map +1 -1
- package/dist/src/protocol/routes.js +12 -4
- package/dist/src/protocol/routes.js.map +1 -1
- package/dist/src/public/channels/auth.d.ts +32 -81
- package/dist/src/public/channels/auth.d.ts.map +1 -1
- package/dist/src/public/channels/auth.js +23 -86
- package/dist/src/public/channels/auth.js.map +1 -1
- package/dist/src/public/channels/http.d.ts +66 -26
- package/dist/src/public/channels/http.d.ts.map +1 -1
- package/dist/src/public/channels/http.js +88 -78
- package/dist/src/public/channels/http.js.map +1 -1
- package/dist/src/public/channels/index.d.ts +9 -10
- package/dist/src/public/channels/index.d.ts.map +1 -1
- package/dist/src/public/channels/index.js +9 -9
- package/dist/src/public/channels/index.js.map +1 -1
- package/dist/src/public/channels/slack/index.d.ts +104 -37
- package/dist/src/public/channels/slack/index.d.ts.map +1 -1
- package/dist/src/public/channels/slack/index.js +168 -47
- package/dist/src/public/channels/slack/index.js.map +1 -1
- package/dist/src/public/channels/slack/lowlevel.d.ts +5 -5
- package/dist/src/public/channels/slack/lowlevel.d.ts.map +1 -1
- package/dist/src/public/channels/slack/lowlevel.js +4 -4
- package/dist/src/public/channels/slack/lowlevel.js.map +1 -1
- package/dist/src/public/connections/index.d.ts +25 -0
- package/dist/src/public/connections/index.d.ts.map +1 -0
- package/dist/src/public/connections/index.js +24 -0
- package/dist/src/public/connections/index.js.map +1 -0
- package/dist/src/public/definitions/channel.d.ts +89 -60
- package/dist/src/public/definitions/channel.d.ts.map +1 -1
- package/dist/src/public/definitions/channel.js +42 -24
- package/dist/src/public/definitions/channel.js.map +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +60 -0
- package/dist/src/public/definitions/connections/mcp.d.ts.map +1 -0
- package/dist/src/public/definitions/connections/mcp.js +7 -0
- package/dist/src/public/definitions/connections/mcp.js.map +1 -0
- package/dist/src/public/definitions/tool.d.ts +14 -7
- package/dist/src/public/definitions/tool.d.ts.map +1 -1
- package/dist/src/public/definitions/tool.js.map +1 -1
- package/dist/src/public/index.d.ts +10 -9
- package/dist/src/public/index.d.ts.map +1 -1
- package/dist/src/public/index.js +7 -6
- package/dist/src/public/index.js.map +1 -1
- package/dist/src/public/sandboxes/internal.d.ts +1 -1
- package/dist/src/public/sandboxes/internal.js +1 -1
- package/dist/src/public/tools/defaults.d.ts +6 -6
- package/dist/src/public/tools/defaults.d.ts.map +1 -1
- package/dist/src/public/tools/defaults.js +6 -6
- package/dist/src/public/tools/defaults.js.map +1 -1
- package/dist/src/public/tools/internal.d.ts +1 -1
- package/dist/src/public/tools/internal.js +1 -1
- package/dist/src/runtime/actions/types.d.ts +21 -18
- package/dist/src/runtime/actions/types.d.ts.map +1 -1
- package/dist/src/runtime/actions/types.js +22 -19
- package/dist/src/runtime/actions/types.js.map +1 -1
- package/dist/src/runtime/agent/bootstrap-model-utils.d.ts +37 -0
- package/dist/src/runtime/agent/bootstrap-model-utils.d.ts.map +1 -0
- package/dist/src/runtime/agent/bootstrap-model-utils.js +149 -0
- package/dist/src/runtime/agent/bootstrap-model-utils.js.map +1 -0
- package/dist/src/runtime/agent/bootstrap-model.d.ts.map +1 -1
- package/dist/src/runtime/agent/bootstrap-model.js +11 -80
- package/dist/src/runtime/agent/bootstrap-model.js.map +1 -1
- package/dist/src/runtime/agent/bootstrap.d.ts.map +1 -1
- package/dist/src/runtime/agent/bootstrap.js +4 -1
- package/dist/src/runtime/agent/bootstrap.js.map +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.d.ts.map +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.js +72 -134
- package/dist/src/runtime/agent/mock-model-adapter.js.map +1 -1
- package/dist/src/runtime/channels/registry.d.ts +21 -0
- package/dist/src/runtime/channels/registry.d.ts.map +1 -0
- package/dist/src/runtime/channels/registry.js +65 -0
- package/dist/src/runtime/channels/registry.js.map +1 -0
- package/dist/src/runtime/connections/mcp-client.d.ts +48 -0
- package/dist/src/runtime/connections/mcp-client.d.ts.map +1 -0
- package/dist/src/runtime/connections/mcp-client.js +182 -0
- package/dist/src/runtime/connections/mcp-client.js.map +1 -0
- package/dist/src/runtime/connections/registry.d.ts +33 -0
- package/dist/src/runtime/connections/registry.d.ts.map +1 -0
- package/dist/src/runtime/connections/registry.js +54 -0
- package/dist/src/runtime/connections/registry.js.map +1 -0
- package/dist/src/runtime/connections/types.d.ts +75 -0
- package/dist/src/runtime/connections/types.d.ts.map +1 -0
- package/dist/src/runtime/connections/types.js +9 -0
- package/dist/src/runtime/connections/types.js.map +1 -0
- package/dist/src/runtime/framework-channels/index.d.ts +6 -6
- package/dist/src/runtime/framework-channels/index.d.ts.map +1 -1
- package/dist/src/runtime/framework-channels/index.js +16 -14
- package/dist/src/runtime/framework-channels/index.js.map +1 -1
- package/dist/src/runtime/framework-tools/ask-question.js +4 -4
- package/dist/src/runtime/framework-tools/ask-question.js.map +1 -1
- package/dist/src/runtime/framework-tools/connection-execute.d.ts +10 -0
- package/dist/src/runtime/framework-tools/connection-execute.d.ts.map +1 -0
- package/dist/src/runtime/framework-tools/connection-execute.js +50 -0
- package/dist/src/runtime/framework-tools/connection-execute.js.map +1 -0
- package/dist/src/runtime/framework-tools/connection-search.d.ts +43 -0
- package/dist/src/runtime/framework-tools/connection-search.d.ts.map +1 -0
- package/dist/src/runtime/framework-tools/connection-search.js +135 -0
- package/dist/src/runtime/framework-tools/connection-search.js.map +1 -0
- package/dist/src/runtime/framework-tools/file-state.d.ts +5 -5
- package/dist/src/runtime/framework-tools/file-state.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/file-state.js +6 -8
- package/dist/src/runtime/framework-tools/file-state.js.map +1 -1
- package/dist/src/runtime/framework-tools/index.d.ts +3 -1
- package/dist/src/runtime/framework-tools/index.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/index.js +10 -1
- package/dist/src/runtime/framework-tools/index.js.map +1 -1
- package/dist/src/runtime/framework-tools/skill.d.ts +4 -4
- package/dist/src/runtime/framework-tools/skill.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/skill.js +14 -11
- package/dist/src/runtime/framework-tools/skill.js.map +1 -1
- package/dist/src/runtime/framework-tools/todo.d.ts.map +1 -1
- package/dist/src/runtime/framework-tools/todo.js +2 -4
- package/dist/src/runtime/framework-tools/todo.js.map +1 -1
- package/dist/src/runtime/input/types.d.ts +40 -115
- package/dist/src/runtime/input/types.d.ts.map +1 -1
- package/dist/src/runtime/input/types.js +28 -66
- package/dist/src/runtime/input/types.js.map +1 -1
- package/dist/src/runtime/loaders/module-map.js +8 -0
- package/dist/src/runtime/loaders/module-map.js.map +1 -1
- package/dist/src/runtime/prompt/compose.d.ts +4 -1
- package/dist/src/runtime/prompt/compose.d.ts.map +1 -1
- package/dist/src/runtime/prompt/compose.js +18 -1
- package/dist/src/runtime/prompt/compose.js.map +1 -1
- package/dist/src/runtime/prompt/connections.d.ts +10 -0
- package/dist/src/runtime/prompt/connections.d.ts.map +1 -0
- package/dist/src/runtime/prompt/connections.js +25 -0
- package/dist/src/runtime/prompt/connections.js.map +1 -0
- package/dist/src/runtime/resolve-agent-graph.d.ts.map +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +29 -7
- package/dist/src/runtime/resolve-agent-graph.js.map +1 -1
- package/dist/src/runtime/resolve-agent.d.ts.map +1 -1
- package/dist/src/runtime/resolve-agent.js +3 -0
- package/dist/src/runtime/resolve-agent.js.map +1 -1
- package/dist/src/runtime/resolve-channel.d.ts.map +1 -1
- package/dist/src/runtime/resolve-channel.js +1 -0
- package/dist/src/runtime/resolve-channel.js.map +1 -1
- package/dist/src/runtime/resolve-connection.d.ts +16 -0
- package/dist/src/runtime/resolve-connection.d.ts.map +1 -0
- package/dist/src/runtime/resolve-connection.js +69 -0
- package/dist/src/runtime/resolve-connection.js.map +1 -0
- package/dist/src/runtime/resolve-tool.d.ts.map +1 -1
- package/dist/src/runtime/resolve-tool.js +8 -0
- package/dist/src/runtime/resolve-tool.js.map +1 -1
- package/dist/src/runtime/sessions/auth.d.ts +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +2 -0
- package/dist/src/runtime/sessions/compiled-agent-cache.d.ts.map +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.js +14 -0
- package/dist/src/runtime/sessions/compiled-agent-cache.js.map +1 -1
- package/dist/src/runtime/skills/fragment-context.d.ts +2 -2
- package/dist/src/runtime/skills/fragment-context.d.ts.map +1 -1
- package/dist/src/runtime/skills/fragment-context.js +2 -2
- package/dist/src/runtime/skills/fragment-context.js.map +1 -1
- package/dist/src/runtime/standard-schema.d.ts +28 -0
- package/dist/src/runtime/standard-schema.d.ts.map +1 -0
- package/dist/src/runtime/standard-schema.js +65 -0
- package/dist/src/runtime/standard-schema.js.map +1 -0
- package/dist/src/runtime/types.d.ts +29 -3
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/services/dev-client/send-message.d.ts +2 -2
- package/dist/src/services/dev-client/send-message.d.ts.map +1 -1
- package/dist/src/services/dev-client/send-message.js +21 -22
- package/dist/src/services/dev-client/send-message.js.map +1 -1
- package/dist/src/services/dev-client/session.d.ts +5 -5
- package/dist/src/services/dev-client/session.d.ts.map +1 -1
- package/dist/src/services/dev-client/session.js +2 -2
- package/dist/src/services/dev-client/session.js.map +1 -1
- package/dist/src/services/dev-client.d.ts +6 -6
- package/dist/src/services/dev-client.d.ts.map +1 -1
- package/dist/src/services/dev-client.js +3 -3
- package/dist/src/services/dev-client.js.map +1 -1
- package/docs/external-agent-protocol.md +37 -34
- package/docs/internals/channels.md +15 -12
- package/docs/internals/context.md +81 -161
- package/docs/internals/message-runtime.md +28 -26
- package/docs/public/README.md +22 -20
- package/docs/public/auth-and-route-protection.md +15 -12
- package/docs/public/channels/README.md +16 -11
- package/docs/public/cli-build-and-debugging.md +1 -1
- package/docs/public/context-control.md +7 -3
- package/docs/public/evals.md +3 -3
- package/docs/public/getting-started.md +15 -12
- package/docs/public/human-in-the-loop.md +45 -57
- package/docs/public/migration-guide.md +71 -0
- package/docs/public/project-layout.md +5 -0
- package/docs/public/runs-and-streaming.md +32 -25
- package/docs/public/schedules.md +4 -4
- package/docs/public/session-context.md +131 -15
- package/docs/public/skills.md +27 -3
- package/docs/public/subagents.md +2 -2
- package/docs/public/tools.md +23 -30
- package/docs/public/typescript-api.md +16 -12
- package/docs/public/vercel-deployment.md +3 -4
- package/docs/public/workspace.md +11 -11
- package/package.json +18 -11
- package/dist/src/channel/emitter-registry.d.ts +0 -34
- package/dist/src/channel/emitter-registry.d.ts.map +0 -1
- package/dist/src/channel/emitter-registry.js +0 -63
- package/dist/src/channel/emitter-registry.js.map +0 -1
- package/dist/src/channel/http-emitter.d.ts +0 -16
- package/dist/src/channel/http-emitter.d.ts.map +0 -1
- package/dist/src/channel/http-emitter.js +0 -22
- package/dist/src/channel/http-emitter.js.map +0 -1
- package/dist/src/channel/schedule-emitter.d.ts +0 -15
- package/dist/src/channel/schedule-emitter.d.ts.map +0 -1
- package/dist/src/channel/schedule-emitter.js +0 -21
- package/dist/src/channel/schedule-emitter.js.map +0 -1
- package/dist/src/channel/slack-emitter.d.ts +0 -56
- package/dist/src/channel/slack-emitter.d.ts.map +0 -1
- package/dist/src/channel/slack-emitter.js +0 -235
- package/dist/src/channel/slack-emitter.js.map +0 -1
- package/dist/src/channel/subagent-emitter.d.ts +0 -41
- package/dist/src/channel/subagent-emitter.d.ts.map +0 -1
- package/dist/src/channel/subagent-emitter.js.map +0 -1
- package/dist/src/context/state.d.ts +0 -27
- package/dist/src/context/state.d.ts.map +0 -1
- package/dist/src/context/state.js +0 -53
- package/dist/src/context/state.js.map +0 -1
- package/dist/src/internal/message/nitro-route-shims.d.ts +0 -6
- package/dist/src/internal/message/nitro-route-shims.d.ts.map +0 -1
- package/dist/src/internal/message/nitro-route-shims.js +0 -38
- package/dist/src/internal/message/nitro-route-shims.js.map +0 -1
- package/dist/src/internal/message/rewrite-generated-imports.d.ts +0 -15
- package/dist/src/internal/message/rewrite-generated-imports.d.ts.map +0 -1
- package/dist/src/internal/message/rewrite-generated-imports.js +0 -59
- package/dist/src/internal/message/rewrite-generated-imports.js.map +0 -1
- package/dist/src/internal/nitro/host/channel-url-matcher.d.ts +0 -35
- package/dist/src/internal/nitro/host/channel-url-matcher.d.ts.map +0 -1
- package/dist/src/internal/nitro/host/channel-url-matcher.js +0 -57
- package/dist/src/internal/nitro/host/channel-url-matcher.js.map +0 -1
- package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts +0 -11
- package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.d.ts.map +0 -1
- package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js +0 -264
- package/dist/src/internal/nitro/routes/home-page/build-home-page-view-model.js.map +0 -1
- package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts +0 -9
- package/dist/src/internal/nitro/routes/home-page/render-home-page.d.ts.map +0 -1
- package/dist/src/internal/nitro/routes/home-page/render-home-page.js +0 -15
- package/dist/src/internal/nitro/routes/home-page/render-home-page.js.map +0 -1
- package/dist/src/internal/nitro/routes/index.html +0 -525
- package/dist/src/internal/nitro/runtime-configuration.d.ts +0 -16
- package/dist/src/internal/nitro/runtime-configuration.d.ts.map +0 -1
- package/dist/src/internal/nitro/runtime-configuration.js +0 -23
- package/dist/src/internal/nitro/runtime-configuration.js.map +0 -1
- package/dist/src/internal/nitro/shims/runtime-configuration-plugin.d.ts +0 -10
- package/dist/src/internal/nitro/shims/runtime-configuration-plugin.d.ts.map +0 -1
- package/dist/src/internal/nitro/shims/runtime-configuration-plugin.js +0 -17
- package/dist/src/internal/nitro/shims/runtime-configuration-plugin.js.map +0 -1
- package/dist/src/runtime/tools/execute-tool.d.ts +0 -20
- package/dist/src/runtime/tools/execute-tool.d.ts.map +0 -1
- package/dist/src/runtime/tools/execute-tool.js +0 -69
- package/dist/src/runtime/tools/execute-tool.js.map +0 -1
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { ChannelEmitterClass } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Registers a {@link ChannelEmitterClass} so the framework can rebuild
|
|
4
|
-
* instances after a workflow step boundary. Call this once at module load
|
|
5
|
-
* time, alongside the class definition.
|
|
6
|
-
*
|
|
7
|
-
* Framework-shipped emitters (Slack, subagent, schedule, http) call this at
|
|
8
|
-
* the bottom of their module file. User-authored emitters do the same in
|
|
9
|
-
* their channel module so importing the channel file is enough to make the
|
|
10
|
-
* emitter discoverable to the runtime codec.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```ts
|
|
14
|
-
* class MyEmitter implements ChannelEmitter {
|
|
15
|
-
* static readonly kind = "my-emitter";
|
|
16
|
-
* readonly kind = "my-emitter";
|
|
17
|
-
* // ...
|
|
18
|
-
* }
|
|
19
|
-
* registerChannelEmitter(MyEmitter);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export declare function registerChannelEmitter<E extends ChannelEmitterClass>(cls: E): void;
|
|
23
|
-
/**
|
|
24
|
-
* Returns the registered {@link ChannelEmitterClass} for one `kind`, or
|
|
25
|
-
* `undefined` if no class has been registered. The codec throws a more
|
|
26
|
-
* descriptive error when `undefined` is returned at deserialization time.
|
|
27
|
-
*/
|
|
28
|
-
export declare function getChannelEmitterClass(kind: string): ChannelEmitterClass | undefined;
|
|
29
|
-
/**
|
|
30
|
-
* Returns the set of currently-registered emitter kinds. Used by tests and
|
|
31
|
-
* by diagnostic tooling that wants to enumerate available emitters.
|
|
32
|
-
*/
|
|
33
|
-
export declare function listRegisteredChannelEmitterKinds(): readonly string[];
|
|
34
|
-
//# sourceMappingURL=emitter-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emitter-registry.d.ts","sourceRoot":"","sources":["../../../src/channel/emitter-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiBtD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,mBAAmB,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAoBlF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEpF;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,SAAS,MAAM,EAAE,CAErE"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process-global registry mapping a {@link ChannelEmitterClass.kind} to its
|
|
3
|
-
* class. Populated by side-effecting `registerChannelEmitter` calls at
|
|
4
|
-
* module load time.
|
|
5
|
-
*
|
|
6
|
-
* Used by the {@link ChannelEmitterKey} codec in `context/keys.ts` to
|
|
7
|
-
* deserialize emitter state across workflow step boundaries — the codec
|
|
8
|
-
* has no compile-time knowledge of which emitters exist, so it asks the
|
|
9
|
-
* registry by `kind` instead.
|
|
10
|
-
*
|
|
11
|
-
* The registry is keyed by string `kind`. Two distinct classes registering
|
|
12
|
-
* the same `kind` is a programming error and throws.
|
|
13
|
-
*/
|
|
14
|
-
const REGISTRY = new Map();
|
|
15
|
-
/**
|
|
16
|
-
* Registers a {@link ChannelEmitterClass} so the framework can rebuild
|
|
17
|
-
* instances after a workflow step boundary. Call this once at module load
|
|
18
|
-
* time, alongside the class definition.
|
|
19
|
-
*
|
|
20
|
-
* Framework-shipped emitters (Slack, subagent, schedule, http) call this at
|
|
21
|
-
* the bottom of their module file. User-authored emitters do the same in
|
|
22
|
-
* their channel module so importing the channel file is enough to make the
|
|
23
|
-
* emitter discoverable to the runtime codec.
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* class MyEmitter implements ChannelEmitter {
|
|
28
|
-
* static readonly kind = "my-emitter";
|
|
29
|
-
* readonly kind = "my-emitter";
|
|
30
|
-
* // ...
|
|
31
|
-
* }
|
|
32
|
-
* registerChannelEmitter(MyEmitter);
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
export function registerChannelEmitter(cls) {
|
|
36
|
-
if (typeof cls.kind !== "string" || cls.kind.length === 0) {
|
|
37
|
-
throw new TypeError("registerChannelEmitter: class must declare a non-empty static `kind` field.");
|
|
38
|
-
}
|
|
39
|
-
if (typeof cls.deserialize !== "function") {
|
|
40
|
-
throw new TypeError(`registerChannelEmitter: class for kind "${cls.kind}" must declare a static \`deserialize\` method.`);
|
|
41
|
-
}
|
|
42
|
-
const existing = REGISTRY.get(cls.kind);
|
|
43
|
-
if (existing !== undefined && existing !== cls) {
|
|
44
|
-
throw new Error(`registerChannelEmitter: duplicate registration for kind "${cls.kind}". A different class is already registered.`);
|
|
45
|
-
}
|
|
46
|
-
REGISTRY.set(cls.kind, cls);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Returns the registered {@link ChannelEmitterClass} for one `kind`, or
|
|
50
|
-
* `undefined` if no class has been registered. The codec throws a more
|
|
51
|
-
* descriptive error when `undefined` is returned at deserialization time.
|
|
52
|
-
*/
|
|
53
|
-
export function getChannelEmitterClass(kind) {
|
|
54
|
-
return REGISTRY.get(kind);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Returns the set of currently-registered emitter kinds. Used by tests and
|
|
58
|
-
* by diagnostic tooling that wants to enumerate available emitters.
|
|
59
|
-
*/
|
|
60
|
-
export function listRegisteredChannelEmitterKinds() {
|
|
61
|
-
return [...REGISTRY.keys()];
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=emitter-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emitter-registry.js","sourceRoot":"","sources":["../../../src/channel/emitter-registry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,sBAAsB,CAAgC,GAAM;IAC1E,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CACjB,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,SAAS,CACjB,2CAA2C,GAAG,CAAC,IAAI,iDAAiD,CACrG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,4DAA4D,GAAG,CAAC,IAAI,6CAA6C,CAClH,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { HandleMessageStreamEvent } from "../protocol/message.js";
|
|
2
|
-
import type { ChannelEmitter, EventEmitFn } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Stateless emitter for the HTTP channel.
|
|
5
|
-
*
|
|
6
|
-
* Passes every event straight through to the stream. Consumers read events
|
|
7
|
-
* from the stream endpoint.
|
|
8
|
-
*/
|
|
9
|
-
export declare class HttpChannelEmitter implements ChannelEmitter {
|
|
10
|
-
static readonly kind = "http";
|
|
11
|
-
readonly kind = "http";
|
|
12
|
-
onEvent(event: HandleMessageStreamEvent, emit: EventEmitFn): Promise<void>;
|
|
13
|
-
serialize(): Record<string, unknown>;
|
|
14
|
-
static deserialize(_state: Record<string, unknown>): HttpChannelEmitter;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=http-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-emitter.d.ts","sourceRoot":"","sources":["../../../src/channel/http-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACvD,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU;IAC9B,QAAQ,CAAC,IAAI,UAAU;IAEjB,OAAO,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB;CAGxE"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { registerChannelEmitter } from "./emitter-registry.js";
|
|
2
|
-
/**
|
|
3
|
-
* Stateless emitter for the HTTP channel.
|
|
4
|
-
*
|
|
5
|
-
* Passes every event straight through to the stream. Consumers read events
|
|
6
|
-
* from the stream endpoint.
|
|
7
|
-
*/
|
|
8
|
-
export class HttpChannelEmitter {
|
|
9
|
-
static kind = "http";
|
|
10
|
-
kind = "http";
|
|
11
|
-
async onEvent(event, emit) {
|
|
12
|
-
await emit(event);
|
|
13
|
-
}
|
|
14
|
-
serialize() {
|
|
15
|
-
return {};
|
|
16
|
-
}
|
|
17
|
-
static deserialize(_state) {
|
|
18
|
-
return new HttpChannelEmitter();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
registerChannelEmitter(HttpChannelEmitter);
|
|
22
|
-
//# sourceMappingURL=http-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-emitter.js","sourceRoot":"","sources":["../../../src/channel/http-emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,MAAM,CAAU,IAAI,GAAG,MAAM,CAAC;IACrB,IAAI,GAAG,MAAM,CAAC;IAEvB,KAAK,CAAC,OAAO,CAAC,KAA+B,EAAE,IAAiB;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA+B;QAChD,OAAO,IAAI,kBAAkB,EAAE,CAAC;IAClC,CAAC;;AAGH,sBAAsB,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { HandleMessageStreamEvent } from "../protocol/message.js";
|
|
2
|
-
import type { ChannelEmitter, EventEmitFn } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Stateless emitter for the schedule channel.
|
|
5
|
-
*
|
|
6
|
-
* Passes every event straight through to the stream.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ScheduleChannelEmitter implements ChannelEmitter {
|
|
9
|
-
static readonly kind = "schedule";
|
|
10
|
-
readonly kind = "schedule";
|
|
11
|
-
onEvent(event: HandleMessageStreamEvent, emit: EventEmitFn): Promise<void>;
|
|
12
|
-
serialize(): Record<string, unknown>;
|
|
13
|
-
static deserialize(_state: Record<string, unknown>): ScheduleChannelEmitter;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=schedule-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-emitter.d.ts","sourceRoot":"","sources":["../../../src/channel/schedule-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAClC,QAAQ,CAAC,IAAI,cAAc;IAErB,OAAO,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB;CAG5E"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { registerChannelEmitter } from "./emitter-registry.js";
|
|
2
|
-
/**
|
|
3
|
-
* Stateless emitter for the schedule channel.
|
|
4
|
-
*
|
|
5
|
-
* Passes every event straight through to the stream.
|
|
6
|
-
*/
|
|
7
|
-
export class ScheduleChannelEmitter {
|
|
8
|
-
static kind = "schedule";
|
|
9
|
-
kind = "schedule";
|
|
10
|
-
async onEvent(event, emit) {
|
|
11
|
-
await emit(event);
|
|
12
|
-
}
|
|
13
|
-
serialize() {
|
|
14
|
-
return {};
|
|
15
|
-
}
|
|
16
|
-
static deserialize(_state) {
|
|
17
|
-
return new ScheduleChannelEmitter();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
registerChannelEmitter(ScheduleChannelEmitter);
|
|
21
|
-
//# sourceMappingURL=schedule-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedule-emitter.js","sourceRoot":"","sources":["../../../src/channel/schedule-emitter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IACzB,IAAI,GAAG,UAAU,CAAC;IAE3B,KAAK,CAAC,OAAO,CAAC,KAA+B,EAAE,IAAiB;QAC9D,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAA+B;QAChD,OAAO,IAAI,sBAAsB,EAAE,CAAC;IACtC,CAAC;;AAGH,sBAAsB,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { SerializedThread } from "chat";
|
|
2
|
-
import type { HandleMessageStreamEvent } from "../protocol/message.js";
|
|
3
|
-
import type { RuntimeInputRequest, RuntimeInputResult } from "../runtime/input/types.js";
|
|
4
|
-
import type { ChannelEmitter, EventEmitFn } from "./types.js";
|
|
5
|
-
/**
|
|
6
|
-
* Minimal serializable state for the Slack emitter.
|
|
7
|
-
*/
|
|
8
|
-
export interface SlackChannelEmitterState {
|
|
9
|
-
readonly botToken?: string;
|
|
10
|
-
readonly serializedThread: SerializedThread;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Returns `true` when the lowercased, trimmed text is an affirmative
|
|
14
|
-
* response. Used by {@link SlackChannelEmitter.resolveInput} to decide
|
|
15
|
-
* whether a Slack reply approves or denies a pending tool call.
|
|
16
|
-
*/
|
|
17
|
-
export declare function isAffirmativeText(text: string): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* Emitter that rehydrates a Chat SDK `Thread` from serialized state and
|
|
20
|
-
* uses `thread.startTyping()` to show typing status with tool names while
|
|
21
|
-
* the agent is working, then posts the final reply via `thread.post()`.
|
|
22
|
-
*/
|
|
23
|
-
export declare class SlackChannelEmitter implements ChannelEmitter {
|
|
24
|
-
static readonly kind = "slack";
|
|
25
|
-
readonly kind = "slack";
|
|
26
|
-
private readonly _state;
|
|
27
|
-
private _pendingToolCallMessage;
|
|
28
|
-
private _thread;
|
|
29
|
-
constructor(state: SlackChannelEmitterState);
|
|
30
|
-
get botToken(): string | undefined;
|
|
31
|
-
get serializedThread(): SerializedThread;
|
|
32
|
-
serialize(): Record<string, unknown>;
|
|
33
|
-
static deserialize(state: Record<string, unknown>): SlackChannelEmitter;
|
|
34
|
-
resolveInput(input: {
|
|
35
|
-
readonly message: string;
|
|
36
|
-
readonly requests: readonly RuntimeInputRequest[];
|
|
37
|
-
}): readonly RuntimeInputResult[] | undefined;
|
|
38
|
-
onEvent(event: HandleMessageStreamEvent, emit: EventEmitFn): Promise<void>;
|
|
39
|
-
private consumePendingToolCallMessage;
|
|
40
|
-
private consumePendingToolCallStatus;
|
|
41
|
-
private clearPendingToolCallMessage;
|
|
42
|
-
private setPendingToolCallMessage;
|
|
43
|
-
private post;
|
|
44
|
-
private startTyping;
|
|
45
|
-
/**
|
|
46
|
-
* Lazily rehydrates the Chat SDK Thread from serialized state.
|
|
47
|
-
*
|
|
48
|
-
* `@chat-adapter/slack` and `chat` are listed in
|
|
49
|
-
* `WORKFLOW_BUILDER_DEFERRED_PACKAGES` so the initial
|
|
50
|
-
* `@workflow/builders` pass externalizes them (avoiding `node:*`
|
|
51
|
-
* errors in the workflow VM). esbuild's final Vercel-function
|
|
52
|
-
* re-bundle resolves and inlines them with `platform: "node"`.
|
|
53
|
-
*/
|
|
54
|
-
private getThread;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=slack-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-emitter.d.ts","sourceRoot":"","sources":["../../../src/channel/slack-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAC7C;AAmDD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAmBD;;;;GAIG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD,MAAM,CAAC,QAAQ,CAAC,IAAI,WAAW;IAC/B,QAAQ,CAAC,IAAI,WAAW;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,OAAO,CAAiC;gBAEpC,KAAK,EAAE,wBAAwB;IAI3C,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,gBAAgB,IAAI,gBAAgB,CAEvC;IAED,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,mBAAmB;IAOvE,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,CAAC;KACnD,GAAG,SAAS,kBAAkB,EAAE,GAAG,SAAS;IA2CvC,OAAO,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyChF,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,yBAAyB;YAKnB,IAAI;YAWJ,WAAW;IASzB;;;;;;;;OAQG;YACW,SAAS;CAexB"}
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import { registerChannelEmitter } from "./emitter-registry.js";
|
|
2
|
-
function labelForAction(action) {
|
|
3
|
-
switch (action.kind) {
|
|
4
|
-
case "activate-skill":
|
|
5
|
-
return "activate-skill";
|
|
6
|
-
case "subagent-call":
|
|
7
|
-
return action.subagentName;
|
|
8
|
-
case "tool-call":
|
|
9
|
-
return action.toolName;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function labelForInputRequest(request) {
|
|
13
|
-
switch (request.kind) {
|
|
14
|
-
case "question":
|
|
15
|
-
return "question";
|
|
16
|
-
case "tool-approval":
|
|
17
|
-
return request.toolName;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
// ---------------------------------------------------------------------------
|
|
21
|
-
// Text classification
|
|
22
|
-
// ---------------------------------------------------------------------------
|
|
23
|
-
const AFFIRMATIVE_PATTERNS = new Set([
|
|
24
|
-
"y",
|
|
25
|
-
"yes",
|
|
26
|
-
"yeah",
|
|
27
|
-
"yep",
|
|
28
|
-
"yup",
|
|
29
|
-
"ok",
|
|
30
|
-
"okay",
|
|
31
|
-
"sure",
|
|
32
|
-
"approve",
|
|
33
|
-
"approved",
|
|
34
|
-
"confirm",
|
|
35
|
-
"confirmed",
|
|
36
|
-
"go",
|
|
37
|
-
"go ahead",
|
|
38
|
-
"do it",
|
|
39
|
-
"proceed",
|
|
40
|
-
"accept",
|
|
41
|
-
]);
|
|
42
|
-
/**
|
|
43
|
-
* Returns `true` when the lowercased, trimmed text is an affirmative
|
|
44
|
-
* response. Used by {@link SlackChannelEmitter.resolveInput} to decide
|
|
45
|
-
* whether a Slack reply approves or denies a pending tool call.
|
|
46
|
-
*/
|
|
47
|
-
export function isAffirmativeText(text) {
|
|
48
|
-
return AFFIRMATIVE_PATTERNS.has(text);
|
|
49
|
-
}
|
|
50
|
-
function derivePendingToolCallStatus(text) {
|
|
51
|
-
const firstLine = text
|
|
52
|
-
.split(/\r?\n/u)
|
|
53
|
-
.map((line) => line.trim())
|
|
54
|
-
.find((line) => line.length > 0);
|
|
55
|
-
if (firstLine === undefined) {
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
return firstLine.replace(/\s+/gu, " ");
|
|
59
|
-
}
|
|
60
|
-
// ---------------------------------------------------------------------------
|
|
61
|
-
// Emitter
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
/**
|
|
64
|
-
* Emitter that rehydrates a Chat SDK `Thread` from serialized state and
|
|
65
|
-
* uses `thread.startTyping()` to show typing status with tool names while
|
|
66
|
-
* the agent is working, then posts the final reply via `thread.post()`.
|
|
67
|
-
*/
|
|
68
|
-
export class SlackChannelEmitter {
|
|
69
|
-
static kind = "slack";
|
|
70
|
-
kind = "slack";
|
|
71
|
-
_state;
|
|
72
|
-
_pendingToolCallMessage = null;
|
|
73
|
-
_thread = null;
|
|
74
|
-
constructor(state) {
|
|
75
|
-
this._state = state;
|
|
76
|
-
}
|
|
77
|
-
get botToken() {
|
|
78
|
-
return this._state.botToken;
|
|
79
|
-
}
|
|
80
|
-
get serializedThread() {
|
|
81
|
-
return this._state.serializedThread;
|
|
82
|
-
}
|
|
83
|
-
serialize() {
|
|
84
|
-
return {
|
|
85
|
-
botToken: this._state.botToken,
|
|
86
|
-
serializedThread: this._state.serializedThread,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
static deserialize(state) {
|
|
90
|
-
return new SlackChannelEmitter({
|
|
91
|
-
botToken: state.botToken,
|
|
92
|
-
serializedThread: state.serializedThread,
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
resolveInput(input) {
|
|
96
|
-
const text = input.message.trim().toLowerCase();
|
|
97
|
-
if (text.length === 0) {
|
|
98
|
-
return undefined;
|
|
99
|
-
}
|
|
100
|
-
const approved = isAffirmativeText(text);
|
|
101
|
-
const results = [];
|
|
102
|
-
for (const request of input.requests) {
|
|
103
|
-
if (request.kind === "tool-approval") {
|
|
104
|
-
const result = approved
|
|
105
|
-
? { approvalId: request.approvalId, approved: true, kind: "tool-approval-result" }
|
|
106
|
-
: {
|
|
107
|
-
approvalId: request.approvalId,
|
|
108
|
-
approved: false,
|
|
109
|
-
kind: "tool-approval-result",
|
|
110
|
-
reason: `User replied: "${input.message.trim()}"`,
|
|
111
|
-
};
|
|
112
|
-
results.push(result);
|
|
113
|
-
}
|
|
114
|
-
else if (request.kind === "question") {
|
|
115
|
-
const matchedOption = request.options?.find((opt) => opt.id.toLowerCase() === text || opt.label.toLowerCase() === text);
|
|
116
|
-
if (matchedOption) {
|
|
117
|
-
results.push({
|
|
118
|
-
callId: request.action.callId,
|
|
119
|
-
kind: "question-result",
|
|
120
|
-
output: { optionId: matchedOption.id, status: "answered" },
|
|
121
|
-
});
|
|
122
|
-
}
|
|
123
|
-
else if (request.allowFreeform !== false) {
|
|
124
|
-
results.push({
|
|
125
|
-
callId: request.action.callId,
|
|
126
|
-
kind: "question-result",
|
|
127
|
-
output: { status: "answered", text: input.message.trim() },
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return results.length > 0 ? results : undefined;
|
|
133
|
-
}
|
|
134
|
-
async onEvent(event, emit) {
|
|
135
|
-
await emit(event);
|
|
136
|
-
switch (event.type) {
|
|
137
|
-
case "turn.started":
|
|
138
|
-
this.clearPendingToolCallMessage();
|
|
139
|
-
await this.startTyping("Thinking…");
|
|
140
|
-
break;
|
|
141
|
-
case "actions.requested": {
|
|
142
|
-
const labels = event.data.actions.map(labelForAction);
|
|
143
|
-
await this.startTyping(this.consumePendingToolCallStatus() ?? `Running ${labels.join(", ")}…`);
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
case "input.requested": {
|
|
147
|
-
const pendingMessage = this.consumePendingToolCallMessage();
|
|
148
|
-
if (pendingMessage !== null) {
|
|
149
|
-
await this.post(pendingMessage);
|
|
150
|
-
}
|
|
151
|
-
const labels = event.data.requests.map(labelForInputRequest);
|
|
152
|
-
await this.startTyping(`Waiting on ${labels.join(", ")}…`);
|
|
153
|
-
break;
|
|
154
|
-
}
|
|
155
|
-
case "message.completed":
|
|
156
|
-
if (event.data.message !== null) {
|
|
157
|
-
if (event.data.finishReason === "tool-calls") {
|
|
158
|
-
this.setPendingToolCallMessage(event.data.message);
|
|
159
|
-
}
|
|
160
|
-
else {
|
|
161
|
-
this.clearPendingToolCallMessage();
|
|
162
|
-
await this.post(event.data.message);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
break;
|
|
166
|
-
case "run.failed":
|
|
167
|
-
this.clearPendingToolCallMessage();
|
|
168
|
-
await this.post("Something went wrong.");
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
consumePendingToolCallMessage() {
|
|
173
|
-
const message = this._pendingToolCallMessage;
|
|
174
|
-
this._pendingToolCallMessage = null;
|
|
175
|
-
return message;
|
|
176
|
-
}
|
|
177
|
-
consumePendingToolCallStatus() {
|
|
178
|
-
const message = this.consumePendingToolCallMessage();
|
|
179
|
-
if (message === null) {
|
|
180
|
-
return null;
|
|
181
|
-
}
|
|
182
|
-
return derivePendingToolCallStatus(message);
|
|
183
|
-
}
|
|
184
|
-
clearPendingToolCallMessage() {
|
|
185
|
-
this._pendingToolCallMessage = null;
|
|
186
|
-
}
|
|
187
|
-
setPendingToolCallMessage(text) {
|
|
188
|
-
const normalized = text.trim();
|
|
189
|
-
this._pendingToolCallMessage = normalized.length > 0 ? normalized : null;
|
|
190
|
-
}
|
|
191
|
-
async post(text) {
|
|
192
|
-
try {
|
|
193
|
-
const thread = await this.getThread();
|
|
194
|
-
// Route assistant output through the chat SDK's markdown renderer so
|
|
195
|
-
// Slack-native mrkdwn and table blocks are used when available.
|
|
196
|
-
await thread.post({ markdown: text });
|
|
197
|
-
}
|
|
198
|
-
catch (error) {
|
|
199
|
-
console.error("[ash] Slack message delivery failed.", error);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
async startTyping(status) {
|
|
203
|
-
try {
|
|
204
|
-
const thread = await this.getThread();
|
|
205
|
-
await thread.startTyping(status);
|
|
206
|
-
}
|
|
207
|
-
catch {
|
|
208
|
-
// Best-effort — not all apps support typing status.
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* Lazily rehydrates the Chat SDK Thread from serialized state.
|
|
213
|
-
*
|
|
214
|
-
* `@chat-adapter/slack` and `chat` are listed in
|
|
215
|
-
* `WORKFLOW_BUILDER_DEFERRED_PACKAGES` so the initial
|
|
216
|
-
* `@workflow/builders` pass externalizes them (avoiding `node:*`
|
|
217
|
-
* errors in the workflow VM). esbuild's final Vercel-function
|
|
218
|
-
* re-bundle resolves and inlines them with `platform: "node"`.
|
|
219
|
-
*/
|
|
220
|
-
async getThread() {
|
|
221
|
-
if (this._thread !== null) {
|
|
222
|
-
return this._thread;
|
|
223
|
-
}
|
|
224
|
-
const [slackModule, chatModule] = (await Promise.all([
|
|
225
|
-
import("@chat-adapter/slack"),
|
|
226
|
-
import("chat"),
|
|
227
|
-
]));
|
|
228
|
-
const adapter = slackModule.createSlackAdapter({ botToken: this.botToken });
|
|
229
|
-
const thread = chatModule.ThreadImpl.fromJSON(this.serializedThread, adapter);
|
|
230
|
-
this._thread = thread;
|
|
231
|
-
return thread;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
registerChannelEmitter(SlackChannelEmitter);
|
|
235
|
-
//# sourceMappingURL=slack-emitter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"slack-emitter.js","sourceRoot":"","sources":["../../../src/channel/slack-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { type HandleMessageStreamEvent } from "../protocol/message.js";
|
|
2
|
-
import type { ChannelEmitter, EventEmitFn } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Serializable state for the subagent emitter.
|
|
5
|
-
*
|
|
6
|
-
* Both fields are constant for the lifetime of one child run and are
|
|
7
|
-
* round-tripped through the {@link ChannelEmitterKey} codec so the
|
|
8
|
-
* emitter can be reconstructed at every workflow step boundary.
|
|
9
|
-
*/
|
|
10
|
-
export interface SubagentChannelEmitterState {
|
|
11
|
-
readonly callId: string;
|
|
12
|
-
readonly subagentName: string;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Channel emitter attached to a delegated subagent child run.
|
|
16
|
-
*
|
|
17
|
-
* Wraps every event in a `subagent.event` envelope tagged with the
|
|
18
|
-
* child's call id and subagent name and writes the envelope to the
|
|
19
|
-
* child's event stream. The parent's subagent tool wrapper drains
|
|
20
|
-
* that stream and forwards each pre-wrapped envelope verbatim to its
|
|
21
|
-
* own emit function — no envelope-construction logic in the pump.
|
|
22
|
-
*
|
|
23
|
-
* Holding the wrapping responsibility inside the channel emitter
|
|
24
|
-
* (rather than in the parent-side pump) keeps delivery policy in the
|
|
25
|
-
* channel layer (CLAUDE.md rule 17) and makes the subagent emitter
|
|
26
|
-
* structurally and behaviorally parallel to other channel emitters
|
|
27
|
-
* like {@link SlackChannelEmitter} that hold serializable state and
|
|
28
|
-
* do real work in `onEvent`.
|
|
29
|
-
*/
|
|
30
|
-
export declare class SubagentChannelEmitter implements ChannelEmitter {
|
|
31
|
-
static readonly kind = "subagent";
|
|
32
|
-
readonly kind = "subagent";
|
|
33
|
-
private readonly _state;
|
|
34
|
-
constructor(state: SubagentChannelEmitterState);
|
|
35
|
-
get callId(): string;
|
|
36
|
-
get subagentName(): string;
|
|
37
|
-
onEvent(event: HandleMessageStreamEvent, emit: EventEmitFn): Promise<void>;
|
|
38
|
-
serialize(): Record<string, unknown>;
|
|
39
|
-
static deserialize(state: Record<string, unknown>): SubagentChannelEmitter;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=subagent-emitter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-emitter.d.ts","sourceRoot":"","sources":["../../../src/channel/subagent-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,MAAM,CAAC,QAAQ,CAAC,IAAI,cAAc;IAClC,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;gBAEzC,KAAK,EAAE,2BAA2B;IAI9C,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAEK,OAAO,CAAC,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAUhF,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOpC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,sBAAsB;CAM3E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-emitter.js","sourceRoot":"","sources":["../../../src/channel/subagent-emitter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,GAE9B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAe/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAU,IAAI,GAAG,UAAU,CAAC;IACzB,IAAI,GAAG,UAAU,CAAC;IAEV,MAAM,CAA8B;IAErD,YAAY,KAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAA+B,EAAE,IAAiB;QAC9D,MAAM,IAAI,CACR,6BAA6B,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SACvC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC1B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAA8B;QAC/C,OAAO,IAAI,sBAAsB,CAAC;YAChC,MAAM,EAAE,KAAK,CAAC,MAAgB;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAsB;SAC3C,CAAC,CAAC;IACL,CAAC;;AAGH,sBAAsB,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { HarnessSession } from "../harness/types.js";
|
|
2
|
-
import type { AshContext } from "./container.js";
|
|
3
|
-
/**
|
|
4
|
-
* Opaque snapshot returned by {@link hydrateStateKeys} and consumed by
|
|
5
|
-
* {@link commitStateKeys} for reference-equality change detection.
|
|
6
|
-
*/
|
|
7
|
-
export type StateSnapshot = ReadonlyMap<string, unknown>;
|
|
8
|
-
/**
|
|
9
|
-
* Hydrates all registered state keys onto the context from `session.state`.
|
|
10
|
-
*
|
|
11
|
-
* For each state key in the global registry:
|
|
12
|
-
* - If `session.state[key.name]` exists, deserializes it (via codec if present).
|
|
13
|
-
* - Otherwise, uses `key.initial()` to produce the default value.
|
|
14
|
-
*
|
|
15
|
-
* Returns an opaque snapshot used by {@link commitStateKeys} to detect which
|
|
16
|
-
* keys were modified during the step.
|
|
17
|
-
*/
|
|
18
|
-
export declare function hydrateStateKeys(ctx: AshContext, session: HarnessSession): Promise<StateSnapshot>;
|
|
19
|
-
/**
|
|
20
|
-
* Commits modified state keys back to `session.state`.
|
|
21
|
-
*
|
|
22
|
-
* Compares each state key's current context value against the snapshot taken
|
|
23
|
-
* during hydration. Only keys whose value changed (reference inequality) are
|
|
24
|
-
* written. Returns the session unchanged when nothing was modified.
|
|
25
|
-
*/
|
|
26
|
-
export declare function commitStateKeys(ctx: AshContext, session: HarnessSession, snapshot: StateSnapshot): HarnessSession;
|
|
27
|
-
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/context/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAcxB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,aAAa,GACtB,cAAc,CAiBhB"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { getStateKeys } from "./key.js";
|
|
2
|
-
/**
|
|
3
|
-
* Hydrates all registered state keys onto the context from `session.state`.
|
|
4
|
-
*
|
|
5
|
-
* For each state key in the global registry:
|
|
6
|
-
* - If `session.state[key.name]` exists, deserializes it (via codec if present).
|
|
7
|
-
* - Otherwise, uses `key.initial()` to produce the default value.
|
|
8
|
-
*
|
|
9
|
-
* Returns an opaque snapshot used by {@link commitStateKeys} to detect which
|
|
10
|
-
* keys were modified during the step.
|
|
11
|
-
*/
|
|
12
|
-
export async function hydrateStateKeys(ctx, session) {
|
|
13
|
-
const snapshot = new Map();
|
|
14
|
-
for (const key of getStateKeys()) {
|
|
15
|
-
const raw = session.state?.[key.name];
|
|
16
|
-
let value;
|
|
17
|
-
if (raw !== undefined) {
|
|
18
|
-
value = key.codec ? await key.codec.deserialize(raw) : raw;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
value = key.initial?.();
|
|
22
|
-
}
|
|
23
|
-
ctx.set(key, value);
|
|
24
|
-
snapshot.set(key.name, value);
|
|
25
|
-
}
|
|
26
|
-
return snapshot;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Commits modified state keys back to `session.state`.
|
|
30
|
-
*
|
|
31
|
-
* Compares each state key's current context value against the snapshot taken
|
|
32
|
-
* during hydration. Only keys whose value changed (reference inequality) are
|
|
33
|
-
* written. Returns the session unchanged when nothing was modified.
|
|
34
|
-
*/
|
|
35
|
-
export function commitStateKeys(ctx, session, snapshot) {
|
|
36
|
-
let newState = null;
|
|
37
|
-
for (const key of getStateKeys()) {
|
|
38
|
-
if (ctx.has(key)) {
|
|
39
|
-
const current = ctx.get(key);
|
|
40
|
-
if (current !== snapshot.get(key.name)) {
|
|
41
|
-
if (newState === null) {
|
|
42
|
-
newState = { ...session.state };
|
|
43
|
-
}
|
|
44
|
-
newState[key.name] = key.codec ? key.codec.serialize(current) : current;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (newState !== null) {
|
|
49
|
-
return { ...session, state: newState };
|
|
50
|
-
}
|
|
51
|
-
return session;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/context/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAe,EACf,OAAuB;IAEvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAc,CAAC;QACnB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1B,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAe,EACf,OAAuB,EACvB,QAAuB;IAEvB,IAAI,QAAQ,GAAmC,IAAI,CAAC;IACpD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClC,CAAC;gBACD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|