eve 0.67.2 → 0.69.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/CHANGELOG.md +120 -0
- package/bin/eve.js +15 -0
- package/dist/src/_virtual/_rolldown/runtime.js +1 -1
- package/dist/src/approval/definition.d.ts +19 -5
- package/dist/src/channel/adapter.d.ts +2 -0
- package/dist/src/channel/auth/oidc.js +1 -1
- package/dist/src/channel/channel-address.d.ts +1 -4
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/channel-operations.d.ts +4 -11
- package/dist/src/channel/channel-operations.js +1 -1
- package/dist/src/channel/compiled-channel.d.ts +0 -2
- package/dist/src/channel/compiled-channel.js +2 -2
- package/dist/src/channel/cross-channel-receive.d.ts +1 -3
- package/dist/src/channel/cross-channel-receive.js +1 -1
- package/dist/src/channel/forwarded-principal.js +1 -1
- package/dist/src/channel/schedule-auth.d.ts +16 -0
- package/dist/src/channel/schedule-auth.js +1 -1
- package/dist/src/channel/session-callback.js +1 -1
- package/dist/src/channel/session.d.ts +3 -8
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/task-card.d.ts +121 -0
- package/dist/src/channel/task-card.js +1 -0
- package/dist/src/channel/types.d.ts +12 -54
- package/dist/src/chunks/{use-eve-agent-DXcE_8Ja.js → use-eve-agent-D_5129A9.js} +295 -205
- package/dist/src/chunks/{use-eve-agent-D4HVZBjn.js → use-eve-agent-Dab2MnT2.js} +295 -205
- package/dist/src/cli/commands/info.d.ts +11 -0
- package/dist/src/cli/commands/info.js +1 -1
- package/dist/src/cli/commands/init-agent-workspace.js +1 -1
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/dev/command-options.d.ts +3 -2
- package/dist/src/cli/dev/command.js +1 -1
- package/dist/src/cli/dev/local-server-process.js +1 -1
- package/dist/src/cli/dev/tui/blocks.d.ts +19 -18
- package/dist/src/cli/dev/tui/blocks.js +3 -3
- package/dist/src/cli/dev/tui/command-typeahead.d.ts +3 -6
- package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +10 -0
- package/dist/src/cli/dev/tui/diagnostic-presentation.js +3 -2
- package/dist/src/cli/dev/tui/prompt-placeholder.d.ts +2 -0
- package/dist/src/cli/dev/tui/prompt-placeholder.js +1 -0
- package/dist/src/cli/dev/tui/rail.d.ts +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +25 -2
- package/dist/src/cli/dev/tui/runner.js +3 -3
- package/dist/src/cli/dev/tui/status-line.d.ts +4 -2
- package/dist/src/cli/dev/tui/status-line.js +1 -1
- package/dist/src/cli/dev/tui/subagent-pump.d.ts +44 -52
- package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
- package/dist/src/cli/dev/tui/task-activity.d.ts +55 -0
- package/dist/src/cli/dev/tui/task-activity.js +1 -0
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +13 -30
- package/dist/src/cli/dev/tui/terminal-renderer.js +11 -11
- package/dist/src/cli/dev/tui/theme.d.ts +1 -1
- package/dist/src/cli/dev/tui/theme.js +1 -1
- package/dist/src/cli/dev/tui/tool-block-groups.d.ts +6 -9
- package/dist/src/cli/dev/tui/tool-block-groups.js +1 -1
- package/dist/src/cli/dev/tui/tool-presentation.d.ts +16 -3
- package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
- package/dist/src/cli/dev/tui/traces/trace-conversation.js +3 -1
- package/dist/src/cli/dev/tui/traces/trace-view.js +1 -1
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/dev/tui/types.d.ts +11 -5
- package/dist/src/cli/dev/ui-options.d.ts +2 -2
- package/dist/src/cli/option-parsers.d.ts +3 -1
- package/dist/src/cli/option-parsers.js +1 -1
- package/dist/src/cli/ui/terminal-text.js +1 -1
- package/dist/src/client/agent-info-schema.d.ts +150 -9
- package/dist/src/client/agent-info-schema.js +1 -1
- package/dist/src/client/agent-session.d.ts +28 -0
- package/dist/src/client/agent-session.js +1 -0
- package/dist/src/client/eve-agent-store-helpers.d.ts +1 -1
- package/dist/src/client/eve-agent-store-helpers.js +2 -2
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/index.d.ts +2 -1
- package/dist/src/client/index.js +1 -1
- package/dist/src/client/message-action-parts.js +1 -1
- package/dist/src/client/message-reducer.js +1 -1
- package/dist/src/client/message-task-parts.d.ts +8 -0
- package/dist/src/client/message-task-parts.js +1 -0
- package/dist/src/client/optimistic-message-submissions.js +1 -1
- package/dist/src/client/session-controls.d.ts +0 -1
- package/dist/src/client/session-utils.d.ts +10 -0
- package/dist/src/client/session-utils.js +1 -1
- package/dist/src/client/session.d.ts +8 -16
- package/dist/src/client/session.js +1 -1
- package/dist/src/client/stream-version.js +1 -1
- package/dist/src/client/types.d.ts +2 -4
- package/dist/src/compiled/.vendor-stamp.json +3 -2
- package/dist/src/compiled/@eve/catalog/index.js +1 -1
- package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
- package/dist/src/compiled/@vercel/blob/index.js +1 -1
- package/dist/src/compiled/@vercel/connect/LICENSE +202 -0
- package/dist/src/compiled/@vercel/connect/authorization-details.d.ts +11 -0
- package/dist/src/compiled/@vercel/connect/authorization.d.ts +47 -0
- package/dist/src/compiled/@vercel/connect/connector.d.ts +32 -0
- package/dist/src/compiled/@vercel/connect/index.d.ts +5 -0
- package/dist/src/compiled/@vercel/connect/index.js +26 -0
- package/dist/src/compiled/@vercel/connect/installation.d.ts +48 -0
- package/dist/src/compiled/@vercel/connect/token.d.ts +137 -0
- package/dist/src/compiled/@vercel/oidc/index.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime.js +3 -3
- package/dist/src/compiled/@workflow/world-vercel/index.js +1 -1
- package/dist/src/compiler/bundled-extension.d.ts +7 -1
- package/dist/src/compiler/bundled-extension.js +1 -1
- package/dist/src/compiler/default-tool-policy.d.ts +2 -2
- package/dist/src/compiler/default-tool-policy.js +1 -1
- package/dist/src/compiler/development-extensions.js +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +54 -18
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/extension-mount-bindings.d.ts +5 -0
- package/dist/src/compiler/extension-mount-bindings.js +1 -0
- package/dist/src/compiler/load-binding-namespace.d.ts +10 -2
- package/dist/src/compiler/load-binding-namespace.js +1 -1
- package/dist/src/compiler/manifest.d.ts +19 -17
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/module-lifecycle.d.ts +2 -2
- package/dist/src/compiler/module-lifecycle.js +1 -1
- package/dist/src/compiler/module-map.d.ts +1 -1
- package/dist/src/compiler/module-map.js +3 -3
- package/dist/src/compiler/normalize-manifest-helpers.d.ts +18 -1
- package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
- package/dist/src/compiler/normalize-manifest-types.d.ts +2 -0
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/project-sources.d.ts +4 -0
- package/dist/src/compiler/project-sources.js +1 -1
- package/dist/src/compiler/remote-agent-node.js +1 -1
- package/dist/src/compiler/source-graph.d.ts +5 -0
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/computer-use/extension/extension.d.ts +2 -0
- package/dist/src/computer-use/extension/extension.js +1 -0
- package/dist/src/computer-use/extension/lib/command-failure.d.ts +7 -0
- package/dist/src/computer-use/extension/lib/command-failure.js +2 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.d.ts +8 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.js +3 -3
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.d.ts +2 -0
- package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.js +2 -1
- package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -0
- package/dist/src/computer-use/extension/lib/sandbox.js +1 -0
- package/dist/src/computer-use/extension/lib/shell.d.ts +1 -0
- package/dist/src/computer-use/extension/lib/shell.js +1 -0
- package/dist/src/computer-use/extension/tools/computer_use.js +1 -0
- package/dist/src/computer-use/tools.d.ts +1 -0
- package/dist/src/computer-use/tools.js +1 -0
- package/dist/src/context/build-dynamic-tools.js +1 -1
- package/dist/src/context/dynamic-subagent-lifecycle.d.ts +5 -0
- package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +1 -1
- package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
- package/dist/src/context/dynamic-tool-metadata.d.ts +1 -1
- package/dist/src/context/hook-lifecycle.d.ts +4 -3
- package/dist/src/context/hook-lifecycle.js +1 -1
- package/dist/src/context/key-names.d.ts +0 -1
- package/dist/src/context/key-names.js +1 -1
- package/dist/src/context/keys.d.ts +8 -14
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/memory-lifecycle.js +1 -1
- package/dist/src/context/memory-tools.d.ts +0 -1
- package/dist/src/context/provider.d.ts +1 -3
- package/dist/src/context/run-step.d.ts +2 -3
- package/dist/src/context/run-step.js +1 -1
- package/dist/src/context/serialize.js +1 -1
- package/dist/src/discover/bundled-extension.js +1 -1
- package/dist/src/discover/discover-agent.js +1 -1
- package/dist/src/discover/extensions.d.ts +0 -7
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/manifest.d.ts +4 -0
- package/dist/src/evals/assertions/run.d.ts +4 -3
- package/dist/src/evals/assertions/run.js +1 -1
- package/dist/src/evals/index.d.ts +1 -1
- package/dist/src/evals/match.d.ts +4 -4
- package/dist/src/evals/mock-model.js +1 -1
- package/dist/src/evals/runner/derive-run-facts.d.ts +3 -3
- package/dist/src/evals/runner/derive-run-facts.js +1 -1
- package/dist/src/evals/runner/reporters/assertion-scores.d.ts +19 -0
- package/dist/src/evals/runner/reporters/assertion-scores.js +1 -0
- package/dist/src/evals/runner/reporters/braintrust.js +1 -1
- package/dist/src/evals/runner/reporters/datadog-client.d.ts +123 -0
- package/dist/src/evals/runner/reporters/datadog-client.js +4 -0
- package/dist/src/evals/runner/reporters/datadog.d.ts +9 -98
- package/dist/src/evals/runner/reporters/datadog.js +2 -3
- package/dist/src/evals/session-content.js +1 -1
- package/dist/src/evals/session.d.ts +4 -4
- package/dist/src/evals/session.js +2 -2
- package/dist/src/evals/types.d.ts +18 -15
- package/dist/src/eve-channel/create-request.d.ts +5 -4
- package/dist/src/eve-channel/create-request.js +1 -1
- package/dist/src/eve-channel/index.d.ts +0 -9
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.d.ts +3 -7
- package/dist/src/eve-channel/request.js +1 -1
- package/dist/src/eve-channel/support.d.ts +15 -5
- package/dist/src/eve-channel/support.js +1 -1
- package/dist/src/eve-channel/turn-policy-request.d.ts +2 -0
- package/dist/src/eve-channel/turn-policy-request.js +1 -0
- package/dist/src/eve-channel/types.d.ts +4 -0
- package/dist/src/execution/agent-sessions/context.d.ts +60 -0
- package/dist/src/execution/agent-sessions/context.js +1 -0
- package/dist/src/{subagents/remote-dispatch.d.ts → execution/agent-sessions/remote.d.ts} +17 -40
- package/dist/src/execution/agent-sessions/remote.js +1 -0
- package/dist/src/execution/agent-sessions/requests.d.ts +20 -0
- package/dist/src/execution/agent-sessions/requests.js +1 -0
- package/dist/src/execution/agent-sessions/session.d.ts +12 -0
- package/dist/src/execution/agent-sessions/session.js +1 -0
- package/dist/src/execution/agent-sessions/steps.d.ts +59 -0
- package/dist/src/execution/agent-sessions/steps.js +1 -0
- package/dist/src/execution/agent-sessions/target.d.ts +45 -0
- package/dist/src/execution/agent-sessions/target.js +1 -0
- package/dist/src/execution/agent-sessions/usage.d.ts +18 -0
- package/dist/src/execution/agent-sessions/usage.js +1 -0
- package/dist/src/execution/authorization-callback-match.d.ts +2 -4
- package/dist/src/execution/authorization-callback-match.js +1 -1
- package/dist/src/execution/cancel-descendant-turns-step.d.ts +1 -5
- package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
- package/dist/src/execution/cancelled-model-call-batch.js +1 -1
- package/dist/src/execution/connection-announcement.d.ts +7 -0
- package/dist/src/execution/connection-announcement.js +4 -0
- package/dist/src/execution/continuation-conflict-step.d.ts +2 -3
- package/dist/src/execution/continuation-conflict-step.js +1 -1
- package/dist/src/execution/coordination-dispatch-shared.d.ts +9 -27
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/coordination-dispatch-step.d.ts +3 -2
- package/dist/src/execution/coordination-dispatch-step.js +1 -1
- package/dist/src/execution/create-session-step.d.ts +0 -1
- package/dist/src/execution/create-session-step.js +1 -1
- package/dist/src/execution/deliver-payloads.js +1 -1
- package/dist/src/execution/durable-session-store.d.ts +0 -1
- package/dist/src/execution/dynamic-connections.js +1 -1
- package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
- package/dist/src/execution/dynamic-workflow/schema.d.ts +1 -3
- package/dist/src/execution/dynamic-workflow/schema.js +1 -1
- package/dist/src/execution/dynamic-workflow/tool.d.ts +1 -1
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
- package/dist/src/execution/forward-session-input.d.ts +4 -0
- package/dist/src/execution/forward-session-input.js +1 -0
- package/dist/src/execution/legacy-remote-agent/protocol.d.ts +41 -0
- package/dist/src/execution/legacy-remote-agent/protocol.js +1 -0
- package/dist/src/execution/legacy-session/authorization.js +1 -1
- package/dist/src/execution/legacy-session/completion-step.js +1 -1
- package/dist/src/execution/legacy-session/inbox.js +1 -1
- package/dist/src/execution/legacy-session/input.js +1 -1
- package/dist/src/execution/legacy-session/interrupt-step.js +1 -1
- package/dist/src/execution/model-call-batching.js +1 -1
- package/dist/src/execution/node-step.d.ts +1 -1
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/proxied-deliver-step.d.ts +9 -6
- package/dist/src/execution/proxied-deliver-step.js +1 -1
- package/dist/src/execution/publish-session-events.d.ts +130 -0
- package/dist/src/execution/publish-session-events.js +1 -0
- package/dist/src/execution/route-child-delivery.d.ts +5 -4
- package/dist/src/execution/route-child-delivery.js +1 -3
- package/dist/src/execution/runtime-context.js +1 -1
- package/dist/src/execution/sandbox/prewarm.js +1 -1
- package/dist/src/execution/session/admission.d.ts +1 -12
- package/dist/src/execution/session/admission.js +1 -1
- package/dist/src/execution/session/entry-input.d.ts +0 -2
- package/dist/src/execution/session/entry.js +1 -1
- package/dist/src/execution/session/finalization.js +1 -1
- package/dist/src/execution/session/handoff-steps.d.ts +13 -2
- package/dist/src/execution/session/handoff-steps.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +17 -3
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/input-queue.d.ts +27 -28
- package/dist/src/execution/session/input-queue.js +1 -1
- package/dist/src/execution/session/next-input.d.ts +5 -0
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/pending-turn-state.d.ts +2 -0
- package/dist/src/execution/session/pending-turn-state.js +1 -1
- package/dist/src/execution/session/principal.d.ts +14 -0
- package/dist/src/execution/session/principal.js +1 -0
- package/dist/src/execution/session/program.js +1 -1
- package/dist/src/execution/session/route-selected-delivery.js +1 -1
- package/dist/src/execution/session/state-cursor.d.ts +17 -15
- package/dist/src/execution/session/state-cursor.js +1 -1
- package/dist/src/execution/session/state-delta.d.ts +33 -0
- package/dist/src/execution/session/state-delta.js +1 -0
- package/dist/src/execution/session/timeout-steps.js +1 -1
- package/dist/src/execution/session/turn-event-handler.d.ts +27 -0
- package/dist/src/execution/session/turn-event-handler.js +1 -0
- package/dist/src/execution/session/turn-step-result.d.ts +1 -3
- package/dist/src/execution/session/turn-step-result.js +1 -1
- package/dist/src/execution/session/turn-step-types.d.ts +24 -15
- package/dist/src/execution/session/turn-step.d.ts +2 -2
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn-waiting-step.d.ts +4 -0
- package/dist/src/execution/session/turn-waiting-step.js +1 -0
- package/dist/src/execution/session/turn.d.ts +33 -2
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/session-callback-request.js +1 -1
- package/dist/src/execution/session-event-stream.d.ts +33 -0
- package/dist/src/execution/session-event-stream.js +1 -0
- package/dist/src/execution/session-inbox/inbox.d.ts +2 -0
- package/dist/src/execution/session-inbox/inbox.js +1 -1
- package/dist/src/execution/session-inbox/protocol.js +1 -1
- package/dist/src/execution/session-inbox/release-step.js +1 -1
- package/dist/src/execution/session-inbox/resume.js +1 -1
- package/dist/src/execution/session-workflow-tool-run.d.ts +11 -2
- package/dist/src/execution/session-workflow-tool-run.js +1 -1
- package/dist/src/execution/session.d.ts +0 -1
- package/dist/src/execution/session.js +2 -2
- package/dist/src/execution/settle-cancelled-turn-step.d.ts +21 -9
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/stable-workflow-names.d.ts +0 -1
- package/dist/src/execution/stable-workflow-names.js +1 -1
- package/dist/src/execution/tasks/calls.d.ts +42 -0
- package/dist/src/execution/tasks/calls.js +1 -0
- package/dist/src/execution/tasks/model-step.d.ts +58 -0
- package/dist/src/execution/tasks/model-step.js +1 -0
- package/dist/src/execution/tasks/render.d.ts +66 -0
- package/dist/src/execution/tasks/render.js +8 -0
- package/dist/src/execution/tasks/session.d.ts +19 -0
- package/dist/src/execution/tasks/session.js +1 -0
- package/dist/src/execution/tasks/start.d.ts +34 -0
- package/dist/src/execution/tasks/start.js +1 -0
- package/dist/src/execution/tasks/steps.d.ts +31 -0
- package/dist/src/execution/tasks/steps.js +1 -0
- package/dist/src/execution/tasks/table.d.ts +192 -0
- package/dist/src/execution/tasks/table.js +1 -0
- package/dist/src/execution/tasks/task-id-input.d.ts +19 -0
- package/dist/src/execution/tasks/task-id-input.js +1 -0
- package/dist/src/execution/tasks/tool-entry-point.d.ts +11 -0
- package/dist/src/execution/tasks/tool-entry-point.js +1 -0
- package/dist/src/execution/tasks/workflow-target.d.ts +2 -0
- package/dist/src/execution/tasks/workflow-target.js +1 -1
- package/dist/src/execution/terminal-session-completion-step.js +1 -1
- package/dist/src/execution/terminal-session-failure-step.js +1 -1
- package/dist/src/execution/terminate-child-sessions-step.d.ts +2 -9
- package/dist/src/execution/terminate-child-sessions-step.js +1 -1
- package/dist/src/execution/tool-auth.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.d.ts +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/agent-router.d.ts +1 -1
- package/dist/src/execution/tools/agent-router.js +1 -1
- package/dist/src/execution/tools/connection-approval.d.ts +25 -0
- package/dist/src/execution/tools/connection-approval.js +1 -0
- package/dist/src/execution/tools/connection-search-rank.d.ts +21 -0
- package/dist/src/execution/tools/connection-search-rank.js +1 -0
- package/dist/src/execution/tools/connection-target.d.ts +13 -0
- package/dist/src/execution/tools/connection-target.js +1 -0
- package/dist/src/execution/tools/connection-tools.d.ts +10 -0
- package/dist/src/execution/tools/connection-tools.js +2 -0
- package/dist/src/execution/tools/load-skill.js +1 -1
- package/dist/src/execution/tools/workflow/answer.d.ts +10 -4
- package/dist/src/execution/tools/workflow/answer.js +1 -1
- package/dist/src/execution/tools/workflow/ask.d.ts +73 -10
- package/dist/src/execution/tools/workflow/ask.js +1 -1
- package/dist/src/execution/tools/workflow/body.d.ts +60 -19
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/execution/tools/workflow/cancel.d.ts +7 -2
- package/dist/src/execution/tools/workflow/cancel.js +1 -1
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +10 -4
- package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +1 -1
- package/dist/src/execution/tools/workflow/{background.d.ts → harness-definition.d.ts} +6 -6
- package/dist/src/execution/tools/workflow/harness-definition.js +1 -0
- package/dist/src/execution/tools/workflow/interrupt.d.ts +6 -0
- package/dist/src/execution/tools/workflow/interrupt.js +1 -0
- package/dist/src/execution/tools/workflow/messages.d.ts +135 -10
- package/dist/src/execution/tools/workflow/messages.js +1 -1
- package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
- package/dist/src/execution/tools/workflow/owner.d.ts +15 -4
- package/dist/src/execution/tools/workflow/owner.js +1 -1
- package/dist/src/execution/tools/workflow/serve.d.ts +3 -0
- package/dist/src/execution/tools/workflow/serve.js +1 -0
- package/dist/src/execution/tools/workflow/start.d.ts +18 -11
- package/dist/src/execution/tools/workflow/start.js +1 -1
- package/dist/src/execution/tools/workflow/step-execution.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/tools/workflow/types.d.ts +0 -10
- package/dist/src/execution/tools/workflow/withdraw-step.d.ts +31 -0
- package/dist/src/execution/tools/workflow/withdraw-step.js +1 -0
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.d.ts +3 -5
- package/dist/src/execution/tools/workflow/workflow-owner-blocking.js +1 -1
- package/dist/src/execution/tools/workflow/workflow.d.ts +3 -3
- package/dist/src/execution/tools/workflow/workflow.js +1 -1
- package/dist/src/execution/web-fetch/request.js +1 -1
- package/dist/src/execution/workflow-callback-url.d.ts +0 -5
- package/dist/src/execution/workflow-callback-url.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +3 -5
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/execution/workflow-webhook-route.js +1 -1
- package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -1
- package/dist/src/extensions/code/extension/lib/github-shell.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/extensions/code/extension/lib/sandbox.d.ts +3 -2
- package/dist/src/extensions/code/extension/lib/sandbox.js +1 -1
- package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +1 -1
- package/dist/src/extensions/code/extension/lib/signed-commit.js +2 -2
- package/dist/src/extensions/code/tools.d.ts +2 -1
- package/dist/src/extensions/code/tools.js +1 -1
- package/dist/src/framework/sources/modules/agent.d.ts +1 -0
- package/dist/src/framework/sources/modules/agent.js +1 -1
- package/dist/src/framework/sources/registry.js +1 -1
- package/dist/src/harness/action-presentation.js +1 -1
- package/dist/src/harness/action-result-helpers.d.ts +1 -0
- package/dist/src/harness/action-result-helpers.js +1 -1
- package/dist/src/harness/advertised-tools.d.ts +1 -1
- package/dist/src/harness/advertised-tools.js +1 -1
- package/dist/src/harness/announcements.d.ts +22 -0
- package/dist/src/harness/announcements.js +1 -0
- package/dist/src/harness/approval-candidates.d.ts +10 -2
- package/dist/src/harness/approval-candidates.js +1 -1
- package/dist/src/harness/approval-delivery-coordinator.d.ts +4 -5
- package/dist/src/harness/approval-delivery-coordinator.js +1 -1
- package/dist/src/harness/approval-recheck.d.ts +7 -0
- package/dist/src/harness/approval-recheck.js +1 -0
- package/dist/src/harness/authorization-event-fields.d.ts +13 -0
- package/dist/src/harness/authorization-event-fields.js +1 -0
- package/dist/src/harness/authorization.d.ts +2 -1
- package/dist/src/harness/authorization.js +1 -1
- package/dist/src/harness/coordination.d.ts +31 -27
- package/dist/src/harness/coordination.js +1 -1
- package/dist/src/harness/current-messages.d.ts +6 -1
- package/dist/src/harness/current-messages.js +1 -1
- package/dist/src/harness/emission.d.ts +7 -1
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/execute-tool.d.ts +4 -15
- package/dist/src/harness/hitl/session-limit-input-requests.d.ts +2 -0
- package/dist/src/harness/hitl/session-limit-input-requests.js +1 -1
- package/dist/src/harness/input-request-resolution.d.ts +5 -2
- package/dist/src/harness/input-request-resolution.js +1 -1
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/messages.d.ts +11 -3
- package/dist/src/harness/messages.js +1 -1
- package/dist/src/harness/nested-actions.d.ts +23 -0
- package/dist/src/harness/nested-actions.js +1 -0
- package/dist/src/harness/pending-input-batches.d.ts +8 -6
- package/dist/src/harness/pending-input-batches.js +1 -1
- package/dist/src/harness/provider-tool-history.d.ts +7 -2
- package/dist/src/harness/provider-tool-history.js +1 -1
- package/dist/src/harness/proxy-input-requests.d.ts +41 -36
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/stale-input-responses.js +1 -1
- package/dist/src/harness/step-hooks.js +1 -1
- package/dist/src/harness/tool-loop.js +2 -2
- package/dist/src/harness/tool-model-output.js +1 -1
- package/dist/src/harness/tool-presentation.js +1 -1
- package/dist/src/harness/tools.d.ts +1 -5
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/harness/turn-tag-state.d.ts +6 -5
- package/dist/src/harness/types.d.ts +7 -15
- package/dist/src/harness/workflow-dispatch.d.ts +30 -0
- package/dist/src/harness/workflow-dispatch.js +1 -0
- package/dist/src/harness/workflow-tool-runs.d.ts +5 -65
- package/dist/src/harness/workflow-tool-runs.js +1 -1
- package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/lifecycle.d.ts +5 -2
- package/dist/src/instrumentation/lifecycle.js +1 -1
- package/dist/src/instrumentation/native-events.d.ts +0 -7
- package/dist/src/instrumentation/native-events.js +1 -1
- package/dist/src/instrumentation/runtime.d.ts +1 -4
- package/dist/src/instrumentation/runtime.js +1 -1
- package/dist/src/instrumentation/state.d.ts +0 -6
- package/dist/src/instrumentation/state.js +1 -1
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/schema-backed.d.ts +10 -0
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/authored-module-loader.d.ts +12 -6
- package/dist/src/internal/authored-module-loader.js +2 -2
- package/dist/src/internal/authored-module-map-loader.js +1 -1
- package/dist/src/internal/authored-package-boundary.d.ts +3 -0
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/bundler/extension-mount-plugin.d.ts +14 -0
- package/dist/src/internal/bundler/extension-mount-plugin.js +1 -0
- package/dist/src/internal/bundler/extension-scope-plugin.d.ts +8 -11
- package/dist/src/internal/bundler/extension-scope-plugin.js +2 -3
- package/dist/src/internal/invocation/workflow-execution.d.ts +2 -2
- package/dist/src/internal/invocation/workflow-execution.js +1 -1
- package/dist/src/internal/mount-state.d.ts +1 -0
- package/dist/src/internal/mount-state.js +1 -0
- package/dist/src/internal/nitro/dev-runtime-artifacts-retention.d.ts +2 -2
- package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +2 -4
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-generation-metadata.d.ts +13 -0
- package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -0
- package/dist/src/internal/nitro/development-generation.d.ts +2 -0
- package/dist/src/internal/nitro/development-generation.js +1 -1
- package/dist/src/internal/nitro/host/build-application.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +1 -0
- package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
- package/dist/src/internal/nitro/host/dev-workflow-world-setup.d.ts +1 -0
- package/dist/src/internal/nitro/host/dev-workflow-world-setup.js +1 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +1 -1
- package/dist/src/internal/nitro/host/types.d.ts +2 -0
- package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
- package/dist/src/internal/nitro/routes/runtime-stack.js +1 -1
- package/dist/src/internal/node-esm-compat-banner.js +1 -1
- package/dist/src/internal/workflow/cancel-expired-development-run.d.ts +2 -0
- package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -0
- package/dist/src/internal/workflow/development-runtime-compatibility.d.ts +12 -0
- package/dist/src/internal/workflow/development-runtime-compatibility.js +1 -0
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-protocol.d.ts +9 -0
- package/dist/src/internal/workflow/development-world-server.d.ts +2 -0
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow/is-inactive-workflow-run-error.d.ts +2 -0
- package/dist/src/internal/workflow/is-inactive-workflow-run-error.js +1 -0
- package/dist/src/internal/workflow-bundle/authored-workflow-directives.d.ts +4 -3
- package/dist/src/internal/workflow-bundle/authored-workflow-directives.js +1 -1
- package/dist/src/internal/workflow-bundle/builder.js +1 -1
- package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +1 -1
- package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
- package/dist/src/models/auto.d.ts +6 -0
- package/dist/src/models/auto.js +2 -2
- package/dist/src/protocol/message-version.d.ts +1 -0
- package/dist/src/protocol/message-version.js +1 -1
- package/dist/src/protocol/message.d.ts +126 -67
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/protocol/remote-agent-protocol.d.ts +16 -0
- package/dist/src/protocol/remote-agent-protocol.js +1 -0
- package/dist/src/protocol/routes.d.ts +0 -6
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/protocol/task-tools.d.ts +21 -0
- package/dist/src/protocol/task-tools.js +1 -0
- package/dist/src/public/channels/auth.js +1 -1
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +25 -16
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
- package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
- package/dist/src/public/channels/chat-sdk/input-actions.d.ts +8 -0
- package/dist/src/public/channels/chat-sdk/input-actions.js +1 -0
- package/dist/src/public/channels/index.d.ts +1 -1
- package/dist/src/public/channels/linq/linqChannel.js +1 -1
- package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
- package/dist/src/public/channels/slack/action-status.d.ts +11 -12
- package/dist/src/public/channels/slack/action-status.js +1 -1
- package/dist/src/public/channels/slack/api.js +1 -1
- package/dist/src/public/channels/slack/attachments.js +1 -1
- package/dist/src/public/channels/slack/auth.d.ts +3 -0
- package/dist/src/public/channels/slack/auth.js +1 -1
- package/dist/src/public/channels/slack/connections.d.ts +6 -6
- package/dist/src/public/channels/slack/connections.js +1 -1
- package/dist/src/public/channels/slack/defaults.d.ts +13 -19
- package/dist/src/public/channels/slack/defaults.js +4 -4
- package/dist/src/public/channels/slack/hitl.d.ts +22 -13
- package/dist/src/public/channels/slack/hitl.js +2 -2
- package/dist/src/public/channels/slack/index.d.ts +4 -3
- package/dist/src/public/channels/slack/index.js +1 -1
- package/dist/src/public/channels/slack/input-response.d.ts +1 -5
- package/dist/src/public/channels/slack/input-response.js +1 -1
- package/dist/src/public/channels/slack/interaction-cards.js +1 -1
- package/dist/src/public/channels/slack/interactions.js +1 -1
- package/dist/src/public/channels/slack/renderers.d.ts +76 -0
- package/dist/src/public/channels/slack/renderers.js +1 -0
- package/dist/src/public/channels/slack/session-operations.d.ts +6 -0
- package/dist/src/public/channels/slack/session-operations.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.d.ts +47 -103
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/slack/task-card.d.ts +24 -0
- package/dist/src/public/channels/slack/task-card.js +1 -0
- package/dist/src/public/channels/telegram/hitl.d.ts +7 -1
- package/dist/src/public/channels/telegram/hitl.js +2 -1
- package/dist/src/public/channels/telegram/state.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +5 -0
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/definitions/channel.d.ts +6 -1
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/definitions/connections/mcp.d.ts +4 -6
- package/dist/src/public/definitions/connections/openapi.d.ts +7 -8
- package/dist/src/public/definitions/extension.d.ts +2 -2
- package/dist/src/public/definitions/extension.js +1 -1
- package/dist/src/public/definitions/hook.d.ts +16 -4
- package/dist/src/public/definitions/state.d.ts +4 -2
- package/dist/src/public/definitions/state.js +1 -1
- package/dist/src/public/memory/index.d.ts +0 -1
- package/dist/src/public/models/openai/index.d.ts +1 -1
- package/dist/src/public/models/openai/index.js +1 -1
- package/dist/src/public/schedules/index.d.ts +1 -0
- package/dist/src/public/schedules/index.js +1 -1
- package/dist/src/public/server/index.d.ts +28 -0
- package/dist/src/public/server/index.js +1 -0
- package/dist/src/public/tools/index.d.ts +3 -2
- package/dist/src/public/tools/index.js +1 -1
- package/dist/src/public/tools/no-reply.d.ts +1 -0
- package/dist/src/public/tools/no-reply.js +1 -0
- package/dist/src/runtime/agent/bootstrap-model-utils.d.ts +6 -7
- package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -1
- package/dist/src/runtime/agent/bootstrap.d.ts +0 -1
- package/dist/src/runtime/agent/bootstrap.js +1 -1
- package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
- package/dist/src/runtime/agent/mock-model-fixtures.d.ts +1 -1
- package/dist/src/runtime/agent/mock-model-fixtures.js +2 -2
- package/dist/src/runtime/channels/registry.js +1 -1
- package/dist/src/runtime/connections/mcp-client.d.ts +1 -2
- package/dist/src/runtime/connections/openapi-client.js +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +1 -1
- package/dist/src/runtime/connections/scoped-authorization.js +1 -1
- package/dist/src/runtime/connections/tool-result.d.ts +27 -0
- package/dist/src/runtime/connections/tool-result.js +2 -0
- package/dist/src/runtime/connections/tool-signature.d.ts +14 -0
- package/dist/src/runtime/connections/tool-signature.js +1 -0
- package/dist/src/runtime/local-dev-capability.js +1 -1
- package/dist/src/runtime/prompt/compose.d.ts +1 -3
- package/dist/src/runtime/prompt/compose.js +3 -3
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-tool.js +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
- package/dist/src/runtime/sessions/runtime-context-keys.js +1 -1
- package/dist/src/runtime/sessions/turn.d.ts +1 -16
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
- package/dist/src/runtime/subagents/registry.js +1 -1
- package/dist/src/runtime/subagents/workflow-reference.d.ts +6 -3
- package/dist/src/runtime/subagents/workflow-reference.js +1 -1
- package/dist/src/runtime/subagents/workflow.d.ts +12 -6
- package/dist/src/runtime/subagents/workflow.js +1 -1
- package/dist/src/runtime/tools/registry.js +1 -1
- package/dist/src/self-modification/extension/classify-registry-item.d.ts +3 -0
- package/dist/src/self-modification/extension/classify-registry-item.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/instructions.js +7 -7
- package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.d.ts +2 -0
- package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.js +1 -1
- package/dist/src/self-modification/scaffold.d.ts +2 -0
- package/dist/src/self-modification/scaffold.js +7 -0
- package/dist/src/self-modification/setup.js +1 -7
- package/dist/src/setup/boxes/model-capabilities.d.ts +2 -2
- package/dist/src/setup/boxes/model-capabilities.js +1 -1
- package/dist/src/setup/boxes/select-model.js +1 -1
- package/dist/src/setup/integrations/shopify/templates.d.ts +1 -1
- package/dist/src/setup/integrations/shopify/templates.js +31 -19
- package/dist/src/setup/integrations/web/setup.d.ts +0 -2
- package/dist/src/setup/integrations/web/setup.js +3 -3
- package/dist/src/setup/scaffold/create/agent-paths.d.ts +5 -0
- package/dist/src/setup/scaffold/create/agent-paths.js +1 -0
- package/dist/src/setup/scaffold/create/instructions-template.d.ts +1 -0
- package/dist/src/setup/scaffold/create/instructions-template.js +8 -0
- package/dist/src/setup/scaffold/create/project.js +3 -10
- package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
- package/dist/src/setup/scaffold/create/web-template.js +1 -1
- package/dist/src/shared/action-request-name.d.ts +3 -0
- package/dist/src/shared/action-request-name.js +1 -0
- package/dist/src/shared/action-types.d.ts +49 -21
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +0 -7
- package/dist/src/shared/chatgpt-model.d.ts +1 -1
- package/dist/src/shared/chatgpt-model.js +1 -1
- package/dist/src/shared/connection-types.d.ts +2 -3
- package/dist/src/shared/default-agent-model.d.ts +10 -1
- package/dist/src/shared/default-agent-model.js +1 -1
- package/dist/src/shared/extension-mount.d.ts +2 -0
- package/dist/src/shared/extension-mount.js +1 -0
- package/dist/src/shared/format-duration.d.ts +2 -0
- package/dist/src/shared/format-duration.js +1 -0
- package/dist/src/shared/gateway-model-catalog.d.ts +25 -2
- package/dist/src/shared/gateway-model-catalog.js +1 -1
- package/dist/src/shared/input.d.ts +1 -0
- package/dist/src/shared/memory-state.d.ts +1 -0
- package/dist/src/shared/memory-state.js +1 -1
- package/dist/src/shared/model-helper.d.ts +2 -2
- package/dist/src/shared/model-helper.js +1 -1
- package/dist/src/shared/model-summary.d.ts +2 -6
- package/dist/src/shared/model-summary.js +1 -1
- package/dist/src/shared/presentation-text.d.ts +5 -0
- package/dist/src/shared/presentation-text.js +1 -1
- package/dist/src/shared/serialized-observability-state.d.ts +0 -4
- package/dist/src/shared/serialized-observability-state.js +1 -1
- package/dist/src/shared/value-delta.d.ts +39 -0
- package/dist/src/shared/value-delta.js +1 -0
- package/dist/src/subagents/adapter-state.d.ts +0 -2
- package/dist/src/subagents/adapter-state.js +1 -1
- package/dist/src/subagents/adapter.js +1 -1
- package/dist/src/subagents/callback-route.js +1 -1
- package/dist/src/subagents/event-proxy-step.d.ts +16 -29
- package/dist/src/subagents/event-proxy-step.js +1 -1
- package/dist/src/subagents/hitl-proxy.d.ts +35 -17
- package/dist/src/subagents/hitl-proxy.js +1 -1
- package/dist/src/subagents/invocation.d.ts +1 -2
- package/dist/src/subagents/parent-notification.d.ts +2 -1
- package/dist/src/subagents/parent-notification.js +1 -1
- package/dist/src/subagents/token-budget.d.ts +8 -9
- package/dist/src/subagents/token-budget.js +1 -1
- package/dist/src/subagents/tool.d.ts +6 -12
- package/dist/src/subagents/tool.js +1 -1
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tools/behavior.d.ts +5 -5
- package/dist/src/tools/definition.d.ts +58 -14
- package/dist/src/tools/definition.js +1 -1
- package/dist/src/tools/durable-callbacks.d.ts +1 -1
- package/dist/src/tools/dynamic.d.ts +6 -0
- package/dist/src/tools/framework/agent-contract.d.ts +2 -5
- package/dist/src/tools/framework/agent-contract.js +1 -1
- package/dist/src/tools/framework/agent.d.ts +2 -5
- package/dist/src/tools/framework/agent.js +1 -1
- package/dist/src/tools/framework/connection-tools.d.ts +3 -0
- package/dist/src/tools/framework/connection-tools.js +1 -0
- package/dist/src/tools/provided/agent-router.d.ts +6 -3
- package/dist/src/tools/provided/agent-router.js +1 -1
- package/dist/src/{execution/tools → tools/provided}/ask-question-workflow.d.ts +3 -4
- package/dist/src/tools/provided/ask-question-workflow.js +1 -0
- package/dist/src/tools/provided/ask-question.d.ts +20 -5
- package/dist/src/tools/provided/ask-question.js +2 -1
- package/dist/src/tools/provided/interrupted.d.ts +18 -0
- package/dist/src/tools/provided/interrupted.js +1 -0
- package/dist/src/tools/provided/no-reply.d.ts +19 -0
- package/dist/src/tools/provided/no-reply.js +1 -0
- package/dist/src/tools/provided/sleep-workflow.d.ts +4 -0
- package/dist/src/tools/provided/sleep-workflow.js +1 -0
- package/dist/src/tools/provided/sleep.d.ts +11 -5
- package/dist/src/tools/provided/sleep.js +1 -1
- package/dist/src/tools/provided/task-cancel.d.ts +6 -0
- package/dist/src/tools/provided/task-cancel.js +1 -0
- package/dist/src/tools/provided/task-wait.d.ts +9 -0
- package/dist/src/tools/provided/task-wait.js +1 -0
- package/dist/src/tools/provided/workflow.d.ts +2 -2
- package/dist/src/tools/provided/workflow.js +1 -1
- package/dist/src/tools/schema-emission.d.ts +23 -0
- package/dist/src/tools/schema-emission.js +1 -0
- package/dist/src/tools/schema.d.ts +22 -8
- package/dist/src/tools/schema.js +1 -1
- package/dist/src/tools/workflow-definition.d.ts +187 -85
- package/dist/src/tools/workflow-definition.js +1 -1
- package/dist/src/tools/workflow-entry-point.d.ts +3 -0
- package/dist/src/tools/workflow-entry-point.js +1 -0
- package/dist/src/tracing/agent-action-instrumentation.d.ts +1 -3
- package/dist/src/tracing/agent-action-instrumentation.js +1 -1
- package/dist/src/tracing/agent-invocation-coordinator.d.ts +9 -18
- package/dist/src/tracing/agent-invocation-coordinator.js +1 -1
- package/dist/src/tracing/agent-otel-content.d.ts +0 -2
- package/dist/src/tracing/agent-otel-content.js +3 -3
- package/dist/src/tracing/agent-otel-provider.js +2 -2
- package/dist/src/tracing/agent-otel-runtime-context.d.ts +20 -0
- package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
- package/dist/src/tracing/agent-otel-usage.js +1 -1
- package/dist/src/tracing/agent-span-contract.d.ts +1 -1
- package/dist/src/tracing/agent-span-contract.js +1 -1
- package/dist/src/tracing/agent-span-id-generator.d.ts +0 -1
- package/dist/src/tracing/agent-span-id-generator.js +1 -1
- package/dist/src/tracing/agent-trace-context-codec.d.ts +1 -2
- package/dist/src/tracing/agent-trace-context-codec.js +1 -1
- package/dist/src/tracing/agent-trace-context-store.d.ts +2 -27
- package/dist/src/tracing/agent-trace-context-store.js +1 -1
- package/dist/src/tracing/agent-trace-state.d.ts +1 -19
- package/dist/src/tracing/content-attributes.js +1 -1
- package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +36 -13
- package/docs/channels/chat-sdk.mdx +15 -4
- package/docs/channels/custom.mdx +89 -17
- package/docs/channels/eve.mdx +1 -1
- package/docs/channels/mcp.mdx +1 -1
- package/docs/channels/overview.mdx +14 -56
- package/docs/channels/slack.mdx +230 -35
- package/docs/channels/telegram.mdx +2 -0
- package/docs/concepts/built-in-tools.md +36 -28
- package/docs/concepts/context-control.md +2 -2
- package/docs/concepts/execution-model-and-durability.mdx +10 -11
- package/docs/concepts/project-structure.mdx +1 -1
- package/docs/concepts/sessions-runs-and-streaming.md +67 -47
- package/docs/connections/mcp.mdx +4 -4
- package/docs/connections/openapi.mdx +2 -2
- package/docs/connections/overview.mdx +2 -2
- package/docs/evals/assertions.mdx +5 -5
- package/docs/evals/cases.mdx +1 -1
- package/docs/evals/reporters.mdx +6 -4
- package/docs/extensions.md +11 -2
- package/docs/guides/auth-and-route-protection.md +1 -1
- package/docs/guides/client/streaming.mdx +31 -11
- package/docs/guides/deployment/vercel.mdx +1 -1
- package/docs/guides/dev-tui.md +13 -3
- package/docs/guides/dynamic-capabilities.md +15 -10
- package/docs/guides/evaluate.md +29 -2
- package/docs/guides/frontend/overview.mdx +5 -7
- package/docs/guides/hooks.md +48 -12
- package/docs/guides/instrumentation/instrumentation.mdx +2 -0
- package/docs/guides/remote-agents.md +12 -14
- package/docs/guides/self-modification.md +10 -0
- package/docs/install-integrations.mdx +1 -1
- package/docs/instructions.mdx +1 -1
- package/docs/patterns/multi-tenant-approvals.md +1 -1
- package/docs/protocols/ucp.mdx +20 -16
- package/docs/reference/cli.md +96 -22
- package/docs/reference/typescript-api.md +43 -41
- package/docs/schedules.mdx +14 -34
- package/docs/subagents/index.mdx +24 -56
- package/docs/tools/human-in-the-loop.md +50 -13
- package/docs/tools/meta.json +1 -1
- package/docs/tools/overview.mdx +79 -59
- package/docs/tools/tasks-upgrade.md +201 -0
- package/docs/tools/tasks.md +315 -0
- package/docs/tools/workflows.mdx +368 -154
- package/package.json +41 -14
- package/dist/src/channel/activity-renderer.d.ts +0 -21
- package/dist/src/channel/activity-renderer.js +0 -1
- package/dist/src/channel/activity-sink.d.ts +0 -2
- package/dist/src/channel/activity-sink.js +0 -1
- package/dist/src/eve-channel/activity-observer-request.d.ts +0 -7
- package/dist/src/eve-channel/activity-observer-request.js +0 -1
- package/dist/src/eve-channel/delivery-policy-request.d.ts +0 -4
- package/dist/src/eve-channel/delivery-policy-request.js +0 -1
- package/dist/src/execution/activity-cohort.d.ts +0 -20
- package/dist/src/execution/activity-cohort.js +0 -1
- package/dist/src/execution/activity-collector.d.ts +0 -12
- package/dist/src/execution/activity-collector.js +0 -1
- package/dist/src/execution/activity-events.d.ts +0 -8
- package/dist/src/execution/activity-events.js +0 -1
- package/dist/src/execution/activity-route.d.ts +0 -2
- package/dist/src/execution/activity-route.js +0 -1
- package/dist/src/execution/activity-work-id.d.ts +0 -9
- package/dist/src/execution/activity-work-id.js +0 -1
- package/dist/src/execution/activity-work.d.ts +0 -30
- package/dist/src/execution/activity-work.js +0 -1
- package/dist/src/execution/cancel-indexed-session-tasks-step.d.ts +0 -7
- package/dist/src/execution/cancel-indexed-session-tasks-step.js +0 -1
- package/dist/src/execution/dispatch-action-failures.d.ts +0 -8
- package/dist/src/execution/dispatch-action-failures.js +0 -1
- package/dist/src/execution/dispatch-start-operation.d.ts +0 -15
- package/dist/src/execution/dispatch-start-operation.js +0 -1
- package/dist/src/execution/publish-channel-event.d.ts +0 -23
- package/dist/src/execution/publish-channel-event.js +0 -1
- package/dist/src/execution/scheduled-launch-delivery.d.ts +0 -7
- package/dist/src/execution/scheduled-launch-delivery.js +0 -1
- package/dist/src/execution/session/event-sink.d.ts +0 -26
- package/dist/src/execution/session/event-sink.js +0 -1
- package/dist/src/execution/session-activity-projection.d.ts +0 -16
- package/dist/src/execution/session-activity-projection.js +0 -1
- package/dist/src/execution/session-activity-renderer-step.d.ts +0 -15
- package/dist/src/execution/session-activity-renderer-step.js +0 -1
- package/dist/src/execution/session-activity.d.ts +0 -3
- package/dist/src/execution/session-activity.js +0 -1
- package/dist/src/execution/submit-activity.d.ts +0 -7
- package/dist/src/execution/submit-activity.js +0 -1
- package/dist/src/execution/task-event-callback.d.ts +0 -12
- package/dist/src/execution/task-event-callback.js +0 -1
- package/dist/src/execution/task-input-capability.d.ts +0 -4
- package/dist/src/execution/task-input-capability.js +0 -1
- package/dist/src/execution/task-input-response-route.d.ts +0 -2
- package/dist/src/execution/task-input-response-route.js +0 -1
- package/dist/src/execution/tasks/child/notify.d.ts +0 -44
- package/dist/src/execution/tasks/child/notify.js +0 -1
- package/dist/src/execution/tasks/parent/control-shared.d.ts +0 -23
- package/dist/src/execution/tasks/parent/control-shared.js +0 -1
- package/dist/src/execution/tasks/parent/delegate.d.ts +0 -35
- package/dist/src/execution/tasks/parent/delegate.js +0 -1
- package/dist/src/execution/tasks/parent/dispatch.d.ts +0 -22
- package/dist/src/execution/tasks/parent/dispatch.js +0 -1
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.d.ts +0 -27
- package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +0 -1
- package/dist/src/execution/tasks/parent/run-parent.d.ts +0 -58
- package/dist/src/execution/tasks/parent/run-parent.js +0 -1
- package/dist/src/execution/tasks/parent/subagent-task-projection.d.ts +0 -26
- package/dist/src/execution/tasks/parent/subagent-task-projection.js +0 -1
- package/dist/src/execution/tasks/parent/task-cancel.d.ts +0 -12
- package/dist/src/execution/tasks/parent/task-cancel.js +0 -1
- package/dist/src/execution/tasks/parent/tool-execution.d.ts +0 -45
- package/dist/src/execution/tasks/parent/tool-execution.js +0 -1
- package/dist/src/execution/terminal-session-event.d.ts +0 -13
- package/dist/src/execution/terminal-session-event.js +0 -1
- package/dist/src/execution/tools/ask-question-workflow.js +0 -1
- package/dist/src/execution/tools/ask-question.d.ts +0 -19
- package/dist/src/execution/tools/ask-question.js +0 -2
- package/dist/src/execution/tools/connection-search.d.ts +0 -2
- package/dist/src/execution/tools/connection-search.js +0 -2
- package/dist/src/execution/tools/sleep-workflow.d.ts +0 -3
- package/dist/src/execution/tools/sleep-workflow.js +0 -1
- package/dist/src/execution/tools/sleep.d.ts +0 -10
- package/dist/src/execution/tools/sleep.js +0 -1
- package/dist/src/execution/tools/subagent/accept-event-step.d.ts +0 -7
- package/dist/src/execution/tools/subagent/accept-event-step.js +0 -1
- package/dist/src/execution/tools/subagent/emit-event-step.d.ts +0 -12
- package/dist/src/execution/tools/subagent/emit-event-step.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-agent.d.ts +0 -42
- package/dist/src/execution/tools/subagent/invoke-agent.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +0 -44
- package/dist/src/execution/tools/subagent/invoke-preparation.js +0 -1
- package/dist/src/execution/tools/subagent/invoke-step.d.ts +0 -64
- package/dist/src/execution/tools/subagent/invoke-step.js +0 -1
- package/dist/src/execution/tools/subagent/receipt-identity.d.ts +0 -11
- package/dist/src/execution/tools/subagent/receipt-identity.js +0 -1
- package/dist/src/execution/tools/subagent/start.d.ts +0 -51
- package/dist/src/execution/tools/subagent/start.js +0 -1
- package/dist/src/execution/tools/subagent/steer.d.ts +0 -13
- package/dist/src/execution/tools/subagent/steer.js +0 -1
- package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +0 -24
- package/dist/src/execution/tools/subagent/task-agent-requests.js +0 -1
- package/dist/src/execution/tools/subagent/task-cancel.d.ts +0 -10
- package/dist/src/execution/tools/subagent/task-cancel.js +0 -1
- package/dist/src/execution/tools/tasks.d.ts +0 -3
- package/dist/src/execution/tools/tasks.js +0 -1
- package/dist/src/execution/tools/workflow/background.js +0 -1
- package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +0 -14
- package/dist/src/execution/tools/workflow/workflow-owner-background.js +0 -1
- package/dist/src/extensions/code/extension/tools/computer_use.js +0 -1
- package/dist/src/harness/background-tools.d.ts +0 -45
- package/dist/src/harness/background-tools.js +0 -1
- package/dist/src/instrumentation/background-task-runtime.d.ts +0 -18
- package/dist/src/instrumentation/background-task-runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.3.0/node_modules/@vercel/cli-config/dist/index.js +0 -21
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/authorization.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/connector.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/installation.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/base-url.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/default-scopes.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/env.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/url-validation.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/auth-errors.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-context.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/oauth.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-error.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-io.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-util.js +0 -2
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +0 -1
- package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/version.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +0 -1
- package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +0 -2
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +0 -1
- package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +0 -1
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +0 -1
- package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +0 -1
- package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +0 -1
- package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +0 -1
- package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +0 -1
- package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +0 -1
- package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +0 -1
- package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +0 -1
- package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +0 -1
- package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +0 -1
- package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +0 -1
- package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +0 -1
- package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +0 -1
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +0 -1
- package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +0 -1
- package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +0 -2
- package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +0 -1
- package/dist/src/protocol/activity.d.ts +0 -112
- package/dist/src/protocol/activity.js +0 -1
- package/dist/src/protocol/agent-handle-error.d.ts +0 -13
- package/dist/src/protocol/agent-handle-error.js +0 -1
- package/dist/src/public/channels/slack/activity-plan.d.ts +0 -5
- package/dist/src/public/channels/slack/activity-plan.js +0 -1
- package/dist/src/public/channels/slack/activity.d.ts +0 -63
- package/dist/src/public/channels/slack/activity.js +0 -2
- package/dist/src/public/tools/connection-search.d.ts +0 -1
- package/dist/src/public/tools/connection-search.js +0 -1
- package/dist/src/public/tools/task-cancel.d.ts +0 -1
- package/dist/src/public/tools/task-cancel.js +0 -1
- package/dist/src/runtime/prompt/connections.d.ts +0 -9
- package/dist/src/runtime/prompt/connections.js +0 -2
- package/dist/src/shared/boundary-hook-error.d.ts +0 -4
- package/dist/src/shared/boundary-hook-error.js +0 -1
- package/dist/src/shared/empty-delivery.d.ts +0 -3
- package/dist/src/shared/empty-delivery.js +0 -1
- package/dist/src/subagents/agent-handle-errors.d.ts +0 -25
- package/dist/src/subagents/agent-handle-errors.js +0 -1
- package/dist/src/subagents/callback-step.d.ts +0 -11
- package/dist/src/subagents/callback-step.js +0 -1
- package/dist/src/subagents/continuation-bundle.d.ts +0 -13
- package/dist/src/subagents/continuation-bundle.js +0 -1
- package/dist/src/subagents/handle-dispatch.d.ts +0 -65
- package/dist/src/subagents/handle-dispatch.js +0 -1
- package/dist/src/subagents/handles/operation-id.d.ts +0 -15
- package/dist/src/subagents/handles/operation-id.js +0 -1
- package/dist/src/subagents/handles/prompt.d.ts +0 -52
- package/dist/src/subagents/handles/prompt.js +0 -3
- package/dist/src/subagents/handles/query.d.ts +0 -41
- package/dist/src/subagents/handles/query.js +0 -1
- package/dist/src/subagents/handles/state-key.d.ts +0 -8
- package/dist/src/subagents/handles/state-key.js +0 -1
- package/dist/src/subagents/handles/store.d.ts +0 -217
- package/dist/src/subagents/handles/store.js +0 -1
- package/dist/src/subagents/handles/transitions.d.ts +0 -103
- package/dist/src/subagents/handles/transitions.js +0 -1
- package/dist/src/subagents/remote-dispatch.js +0 -1
- package/dist/src/subagents/start-local.d.ts +0 -29
- package/dist/src/subagents/start-local.js +0 -1
- package/dist/src/subagents/start-remote.d.ts +0 -21
- package/dist/src/subagents/start-remote.js +0 -1
- package/dist/src/tasks/delivery-context.d.ts +0 -32
- package/dist/src/tasks/delivery-context.js +0 -4
- package/dist/src/tasks/delivery-policy.d.ts +0 -14
- package/dist/src/tasks/delivery-policy.js +0 -1
- package/dist/src/tasks/json.d.ts +0 -88
- package/dist/src/tasks/json.js +0 -1
- package/dist/src/tasks/notification.d.ts +0 -10
- package/dist/src/tasks/notification.js +0 -1
- package/dist/src/tasks/task-id.d.ts +0 -31
- package/dist/src/tasks/task-id.js +0 -1
- package/dist/src/tasks/task-inbox-token.d.ts +0 -2
- package/dist/src/tasks/task-inbox-token.js +0 -1
- package/dist/src/tasks/transitions.d.ts +0 -17
- package/dist/src/tasks/transitions.js +0 -1
- package/dist/src/tasks/types.d.ts +0 -136
- package/dist/src/tasks/types.js +0 -1
- package/dist/src/tools/framework/connection-search.d.ts +0 -3
- package/dist/src/tools/framework/connection-search.js +0 -1
- package/dist/src/tools/framework/task-cancel.d.ts +0 -4
- package/dist/src/tools/framework/task-cancel.js +0 -1
- package/dist/src/tools/framework/task-contract.d.ts +0 -19
- package/dist/src/tools/framework/task-contract.js +0 -1
- package/dist/src/tools/native-definition.d.ts +0 -7
- package/dist/src/tools/native-definition.js +0 -1
- package/dist/src/tracing/agent-invocation-terminal.d.ts +0 -18
- package/dist/src/tracing/agent-invocation-terminal.js +0 -1
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.d.ts +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.js +0 -0
- /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.d.ts +0 -0
- /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.d.ts +0 -0
- /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.js +0 -0
package/docs/tools/workflows.mdx
CHANGED
|
@@ -8,14 +8,18 @@ A workflow tool is a static tool defined with `defineWorkflowTool` from `eve/too
|
|
|
8
8
|
`"use workflow"` as the first statement of its executor. Each call starts a durable Workflow run. Use one when a tool must wait for a person, webhook, or timer,
|
|
9
9
|
delegate work to subagents, or coordinate retryable steps over a long period.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
A workflow tool defines exactly one entry point, and the entry point decides how its calls run. A
|
|
12
|
+
call to an `execute(input, ctx)` tool blocks its turn until the workflow settles, and the parent
|
|
13
|
+
agent receives the workflow's output as the tool result. While the body waits durably, the turn
|
|
14
|
+
parks without holding compute. A `task(input, ctx)` tool runs each call as a
|
|
15
|
+
[task](#run-calls-as-tasks-task) instead: the model gets a receipt at once and the result arrives
|
|
16
|
+
later. A `serve(receive, ctx)` tool runs a [resumable task](#resumable-tasks-serve), which the
|
|
17
|
+
model can send more calls by its `taskId`. See [Tasks](/docs/tools/tasks) for choosing
|
|
18
|
+
between them and for what the model sees while tasks work.
|
|
15
19
|
|
|
16
20
|
Workflow tools use the [Workflow SDK](https://workflow-sdk.dev): `"use workflow"`, `"use step"`, `createHook`,
|
|
17
21
|
`createWebhook`, `sleep`, retries, and replay. eve provides `ctx.ask` for questions answered through
|
|
18
|
-
the session's channel, `ctx.agents` for effective callable-agent descriptions, and `ctx.agent` for
|
|
22
|
+
the session's channel, `ctx.agents` for effective callable-agent descriptions, and `ctx.agent` for sessions with other agents. Use `yield` to report
|
|
19
23
|
progress and `await` on a workflow operation to wait durably. Values needed after a durable wait
|
|
20
24
|
stay in local variables in the workflow body.
|
|
21
25
|
|
|
@@ -67,18 +71,24 @@ or days later, the run resumes, deploys, and returns. The model sees one tool re
|
|
|
67
71
|
|
|
68
72
|
### Rules
|
|
69
73
|
|
|
70
|
-
- Export `defineWorkflowTool({ ... })` as the default export.
|
|
71
|
-
|
|
72
|
-
the same module or an imported application module.
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
- Export `defineWorkflowTool({ ... })` as the default export. Define exactly one entry point,
|
|
75
|
+
`execute`, `task`, or `serve`, written inline or referenced as a top-level `async function` in
|
|
76
|
+
the same module or an imported application module. `execute` and `task` can be async functions
|
|
77
|
+
or async generators; `serve` is an async function. Defining none, or more than one, throws at
|
|
78
|
+
definition time. Start the entry point with `"use workflow"` as its
|
|
79
|
+
first statement. A missing directive is a build error, even if another function in the module
|
|
80
|
+
has one.
|
|
75
81
|
- `"use step"` marks a top-level `async function` in the tool module, or any module it imports, as a
|
|
76
82
|
step. Side effects, clocks, randomness, `process.env`, and Node.js APIs belong in steps; the body
|
|
77
83
|
is replayed and must stay deterministic.
|
|
78
84
|
- Import `createHook`, `createWebhook`, `sleep`, and `FatalError` from `workflow` in the body.
|
|
79
85
|
`start`, `getRun`, and `resumeHook` from `workflow/api` belong in steps. Your app does not install
|
|
80
86
|
the SDK; for types, new projects list `eve/workflow-modules` in the tsconfig `types`.
|
|
81
|
-
- In
|
|
87
|
+
- In an `execute` or `task` body, `ctx` is a `WorkflowToolContext` with `session`, `callId`,
|
|
88
|
+
`toolName`, `abortSignal`, `agent`, `agents`, and `ask`. A `serve` body gets a
|
|
89
|
+
`WorkflowServeContext` with `session`, `toolName`,
|
|
90
|
+
`agent`, `agents`, `ask`, and `reply`; each call it receives carries its own `callId` and
|
|
91
|
+
`abortSignal`.
|
|
82
92
|
A `"use step"` helper that receives `ctx` directly gets a restricted `WorkflowStepToolContext` with
|
|
83
93
|
`session`, `callId`, `toolName`, `abortSignal`, `getToken`, and `requireAuth`. Read `ctx.agents`, call
|
|
84
94
|
`ctx.agent()`, and call `ctx.ask()` in the workflow body; pass only the serializable values the step needs.
|
|
@@ -86,7 +96,8 @@ or days later, the run resumes, deploys, and returns. The model sees one tool re
|
|
|
86
96
|
- The tool's input must be a JSON object. Workflow bodies are for static tools under `agent/tools/`,
|
|
87
97
|
not tools returned from `defineDynamic` resolvers.
|
|
88
98
|
|
|
89
|
-
`ctx.agent`, `ctx.agents`, and `ctx.ask` are available only on `WorkflowToolContext`
|
|
99
|
+
`ctx.agent`, `ctx.agents`, and `ctx.ask` are available only on `WorkflowToolContext` and
|
|
100
|
+
`WorkflowServeContext` in the workflow body.
|
|
90
101
|
Ordinary tools, channel handlers, schedule handlers, and workflow steps do not receive these methods. Type
|
|
91
102
|
step helpers with `WorkflowStepToolContext` from `eve/tools` when they need step-safe context capabilities.
|
|
92
103
|
|
|
@@ -112,8 +123,11 @@ import { workflow } from "eve/tools/workflow";
|
|
|
112
123
|
export default workflow({ maxSubagents: 20 });
|
|
113
124
|
```
|
|
114
125
|
|
|
115
|
-
The
|
|
116
|
-
|
|
126
|
+
The `workflow` tool runs each call as a [task](#run-calls-as-tasks-task), so the program's return
|
|
127
|
+
value reaches the model in a `task.result` message. The model supplies an async function body
|
|
128
|
+
through the tool's `js` input. Its only host capability is
|
|
129
|
+
`ctx.agent(name, { message, outputSchema? })`, which sends the message to a new session with that
|
|
130
|
+
agent and resolves to its reply, or to the structured value when `outputSchema` is set. This can invoke subagents configured with `tool: false` or hidden by a same-named `disableTool()` file. Include those path-derived names in the workflow tool description or agent instructions when the model writes the program. For example:
|
|
117
131
|
|
|
118
132
|
```js
|
|
119
133
|
const [triage, review] = await Promise.all([
|
|
@@ -125,12 +139,13 @@ return { triage, review };
|
|
|
125
139
|
|
|
126
140
|
`maxSubagents` defaults to `100` and must be an integer from `1` through `128`. The generated
|
|
127
141
|
program cannot access the workflow context, session state,
|
|
128
|
-
credentials, imports, or ordinary tools.
|
|
129
|
-
|
|
142
|
+
credentials, imports, or ordinary tools. Each call starts a new child session; a program cannot
|
|
143
|
+
continue a child from an earlier call. Agent authorization, questions, approvals, and cancellation
|
|
144
|
+
behave as they do for sessions an authored workflow tool opens with `ctx.agent`.
|
|
130
145
|
|
|
131
146
|
The sandbox resumes after every pending call in the current batch settles. `Promise.all` supports
|
|
132
147
|
fan-out followed by fan-in, but `Promise.race` does not resume after only the first child settles.
|
|
133
|
-
A child
|
|
148
|
+
A failed child turn throws at the corresponding `ctx.agent` call, so generated code can catch it.
|
|
134
149
|
The program must return a JSON-serializable value.
|
|
135
150
|
|
|
136
151
|
### Migrate from `experimental_workflow`
|
|
@@ -159,27 +174,39 @@ an agent catalog. Calls use the same target resolution, availability, and author
|
|
|
159
174
|
### Migrate an authored workflow tool
|
|
160
175
|
|
|
161
176
|
Replace `defineTool` with `defineWorkflowTool`, keep the executor's `"use workflow"` directive,
|
|
162
|
-
and replace `agent(ctx, input)` and `ask(ctx, request)` with
|
|
163
|
-
`ctx.ask(request)`. The `eve/workflow` entry point
|
|
164
|
-
|
|
177
|
+
and replace `agent(ctx, input)` and `ask(ctx, request)` with an agent session from
|
|
178
|
+
[`ctx.agent(name)`](#delegate-work-ctxagent) and `ctx.ask(request)`. The `eve/workflow` entry point
|
|
179
|
+
has been removed. Import `WorkflowToolContext`, `AgentSession`,
|
|
180
|
+
`ToolInputRequest`, `ToolInputRequestOptions`, and `ToolInputResponse` from `eve/tools` when you
|
|
181
|
+
need explicit types.
|
|
165
182
|
|
|
166
|
-
|
|
183
|
+
`ctx.ask` no longer accepts `dismissible`, and its `dismissed` status is now `cancelled`. A
|
|
184
|
+
steering message withdraws a question an `execute` call asks, so drop the option. To keep a
|
|
185
|
+
question open while the conversation continues, ask it from a [`task`](#run-calls-as-tasks-task).
|
|
167
186
|
|
|
168
|
-
|
|
169
|
-
|
|
187
|
+
```diff
|
|
188
|
+
-const answer = await ctx.ask({ prompt, dismissible: true });
|
|
189
|
+
+const answer = await ctx.ask({ prompt });
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
See [Upgrade to Tasks](/docs/tools/tasks-upgrade) for `task` replacing `execution: "background"`
|
|
193
|
+
and the other changes in this release.
|
|
194
|
+
|
|
195
|
+
## Wait for the result
|
|
196
|
+
|
|
197
|
+
A call to an `execute` tool works like any other tool call from the model's point of view:
|
|
170
198
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
| Cancel | Cancelling the turn cancels the run. | `task_cancel`, or the session ending. |
|
|
199
|
+
- **Tool result:** the workflow's output after the body finishes.
|
|
200
|
+
- **Parent turn:** waits for the call to settle, then continues with the result.
|
|
201
|
+
- **Durable wait inside the body:** suspends the workflow while the tool call stays pending.
|
|
202
|
+
- **Cancel:** cancelling the turn cancels the run.
|
|
203
|
+
- **Steering:** a new message aborts the call's `ctx.abortSignal`, and the call settles with what
|
|
204
|
+
the body returns. See [Stop early for a new message](#stop-early-for-a-new-message).
|
|
178
205
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
206
|
+
To keep the conversation going while a call works, [define `task` instead](#run-calls-as-tasks-task).
|
|
207
|
+
|
|
208
|
+
`defineWorkflowTool` does not accept an `execution` option. Passing one throws
|
|
209
|
+
`"execution" was replaced by task(). Define task(input, ctx) to run each call as a task.`
|
|
183
210
|
|
|
184
211
|
### How suspension works
|
|
185
212
|
|
|
@@ -201,15 +228,157 @@ async *execute(input, ctx) {
|
|
|
201
228
|
```
|
|
202
229
|
|
|
203
230
|
The yield reports a snapshot, and eve advances the generator to `ctx.ask`. Awaiting the unanswered
|
|
204
|
-
request is the durable wait.
|
|
205
|
-
the
|
|
206
|
-
already returned a task receipt, and the workflow can suspend while the conversation continues.
|
|
207
|
-
Answering resumes the body in either mode.
|
|
231
|
+
request is the durable wait. The original tool call remains pending until the answer arrives and
|
|
232
|
+
the body returns.
|
|
208
233
|
|
|
209
|
-
`yield` itself does not wait for approval
|
|
234
|
+
`yield` itself does not wait for approval. An ordinary
|
|
210
235
|
Promise or Node.js timer inside a step also does not create a durable workflow suspension; use
|
|
211
236
|
the workflow operations for waits that must survive a restart.
|
|
212
237
|
|
|
238
|
+
## Run calls as tasks: `task`
|
|
239
|
+
|
|
240
|
+
Define `task(input, ctx)` in place of `execute` when the conversation should continue while a call
|
|
241
|
+
works, such as a twenty-minute deploy or research the model may not need right away. An `execute`
|
|
242
|
+
tool holds the conversation until each call settles, however long it runs. A question, a sleep, or
|
|
243
|
+
an approval inside an `execute` call already parks durably and holds no compute, so waiting alone
|
|
244
|
+
doesn't need a task.
|
|
245
|
+
|
|
246
|
+
```ts title="agent/tools/deploy.ts"
|
|
247
|
+
import { defineWorkflowTool } from "eve/tools";
|
|
248
|
+
import { z } from "zod";
|
|
249
|
+
import { runDeploy } from "../lib/deploy";
|
|
250
|
+
|
|
251
|
+
export default defineWorkflowTool({
|
|
252
|
+
description: "Deploy a service.",
|
|
253
|
+
inputSchema: z.object({ service: z.string() }),
|
|
254
|
+
async task({ service }, ctx) {
|
|
255
|
+
"use workflow";
|
|
256
|
+
return await runDeploy(service, ctx.abortSignal);
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
A `task` body is written like an `execute` body, with the same `WorkflowToolContext`: returning
|
|
262
|
+
settles the call, a throw fails it, and an `async *task` generator can `yield` progress. A
|
|
263
|
+
steering message never aborts a task's `abortSignal`.
|
|
264
|
+
|
|
265
|
+
Each call is a task with its own id, `<tool>-<6 characters>`:
|
|
266
|
+
|
|
267
|
+
- **Receipt:** the call's tool result is a receipt, such as
|
|
268
|
+
`Started task deploy-4hd8sa. Its result will arrive in a <task_result> message.`, and the model
|
|
269
|
+
continues at once.
|
|
270
|
+
- **Result:** the body's return value or its error arrives later as a `<task_result>` block in a
|
|
271
|
+
`task.result` message, which eve appends at the next step boundary. `toModelOutput` projects the
|
|
272
|
+
result, not the receipt.
|
|
273
|
+
|
|
274
|
+
The model waits for results with `task_wait` and stops a task with `task_cancel`, and a turn can't
|
|
275
|
+
end while tasks are working. `task_cancel`, `session.cancel()`, a failed turn, and the
|
|
276
|
+
end of the session abort the call's `abortSignal`; the run waits up to 30 seconds for the body to
|
|
277
|
+
finish unwinding, then ends as cancelled. See [Tasks](/docs/tools/tasks) for what the model sees,
|
|
278
|
+
how held turns look on the stream, steering, events, and limits.
|
|
279
|
+
|
|
280
|
+
## Resumable tasks: `serve`
|
|
281
|
+
|
|
282
|
+
Define `serve(receive, ctx)` when the model should be able to send a running task more input, such
|
|
283
|
+
as a revision request. A `serve` body runs once per task and gets its calls from `receive()`
|
|
284
|
+
instead of taking an input:
|
|
285
|
+
|
|
286
|
+
```ts title="agent/tools/release-plan.ts"
|
|
287
|
+
import { defineWorkflowTool } from "eve/tools";
|
|
288
|
+
import { z } from "zod";
|
|
289
|
+
import { revise, type Plan } from "../lib/release-plan";
|
|
290
|
+
|
|
291
|
+
export default defineWorkflowTool({
|
|
292
|
+
description: "Draft a release plan and revise it on request.",
|
|
293
|
+
inputSchema: z.object({ request: z.string() }),
|
|
294
|
+
async serve(receive, ctx) {
|
|
295
|
+
"use workflow";
|
|
296
|
+
let plan: Plan | undefined;
|
|
297
|
+
for (;;) {
|
|
298
|
+
const { input, abortSignal } = await receive(); // the first call, then each by taskId
|
|
299
|
+
try {
|
|
300
|
+
plan = await revise(plan, input.request, { signal: abortSignal });
|
|
301
|
+
ctx.reply(plan); // a result; the task stays available
|
|
302
|
+
} catch (error) {
|
|
303
|
+
if (!abortSignal.aborted) throw error; // cancelled: wait for the next call
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
});
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
A `serve` tool's calls are tasks, with the receipts and results
|
|
311
|
+
[described above](#run-calls-as-tasks-task) and the waiting, turn rule, ownership, and limit
|
|
312
|
+
described in [Tasks](/docs/tools/tasks). What differs:
|
|
313
|
+
|
|
314
|
+
- **`receive()`:** resolves with the next call, `{ input, callId, abortSignal }`, with `input`
|
|
315
|
+
validated by `inputSchema`. The first `receive()` resolves at once with the call that started
|
|
316
|
+
the task, without a step or a durable wait, and replays deterministically. After that, it
|
|
317
|
+
resolves with each call made with the task's `taskId`, in arrival order. Calls that arrive while
|
|
318
|
+
the body isn't waiting are kept. A pending `receive()` is shared, so calling it again returns the
|
|
319
|
+
same promise. A call counts as received as soon as its promise resolves, even if that promise
|
|
320
|
+
lost a `Promise.race`, and the next `ctx.reply()` settles it. If you race `receive()`, keep its
|
|
321
|
+
promise until you read the call instead of calling `receive()` again.
|
|
322
|
+
- **`taskId` on the model input:** eve adds an optional `taskId` to the tool's model input and
|
|
323
|
+
appends a sentence explaining it to the description. A call without `taskId` starts a new task,
|
|
324
|
+
whose receipt names it and ends with
|
|
325
|
+
`To send it another message, call release-plan again with taskId release-plan-7k2m9q.` A call
|
|
326
|
+
with `taskId` goes to that task and returns a receipt that starts
|
|
327
|
+
`Sent to task release-plan-7k2m9q.` The build fails if `inputSchema` declares its own
|
|
328
|
+
`taskId`.
|
|
329
|
+
- **Unknown tasks:** the id must name an unfinished task this tool started; otherwise the call
|
|
330
|
+
fails with `UNKNOWN_TASK`. The call can come from any caller in the session.
|
|
331
|
+
- **`ctx.session` and `ctx.agents` describe the call being served:** a later call can come in a
|
|
332
|
+
later turn than the one that started the task. Its `task.started` and `task.settled` carry that
|
|
333
|
+
call's `callId` and `turnId`, and so do the questions, sign-ins, and `agent.started` events the
|
|
334
|
+
body causes while serving it. From the moment `receive()` resolves with a call, `ctx.session` is that call's view of
|
|
335
|
+
the session, including in a step that receives `ctx`: `ctx.session.turn` is the call's turn, and
|
|
336
|
+
`ctx.session.auth` is the auth the session admitted the call with, which may belong to a
|
|
337
|
+
different caller than the one that started the task. `getToken`, `requireAuth`, and connections
|
|
338
|
+
in a step use the current call's auth. `ctx.agents` lists the
|
|
339
|
+
agents the current call may open, including dynamic agents selected in its turn.
|
|
340
|
+
- **Body state spans callers:** variables the body keeps between calls, such as `plan` in the
|
|
341
|
+
example, may hold what an earlier call from another caller produced. Key per-caller data on
|
|
342
|
+
the whole principal in `ctx.session.auth.current`: `authenticator`, `issuer`, `principalType`,
|
|
343
|
+
and `principalId` together, because a `principalId` is unique only within its authenticator and
|
|
344
|
+
issuer. Anonymous callers, whose `current` is `null` or whose `principalType` is `"anonymous"`,
|
|
345
|
+
share one identity, so don't keep per-person data for them. Any caller in the session can
|
|
346
|
+
continue or cancel the task; see [Tasks](/docs/tools/tasks#ownership-and-limits).
|
|
347
|
+
- **Agents belong to the call that opened them:** a session the body opens with `ctx.agent` while
|
|
348
|
+
serving a call is that call's child. Its `session.parent` names the call's `callId` and turn, and
|
|
349
|
+
its trace continues from the call's tool span. The session keeps that lineage for its later
|
|
350
|
+
messages, even after the task receives another call. Auth belongs to each message instead: a
|
|
351
|
+
message carries the auth of the call being served when it's sent.
|
|
352
|
+
- **Results:** `ctx.reply(output)` settles every call received so far with `output`, all at once.
|
|
353
|
+
Each settled call reports its own `task.settled`, and the model receives the reply once. The task
|
|
354
|
+
then goes idle until its next call. A reply with
|
|
355
|
+
no call left to settle is dropped, and `ctx.ask` throws while no call is waiting for a result.
|
|
356
|
+
A reply also withdraws the questions still pending for the calls it settles, but doesn't abort
|
|
357
|
+
their `abortSignal`, so work the body continues after replying keeps running.
|
|
358
|
+
Returning settles the calls still waiting and ends the task; a throw fails them. `serve` is not
|
|
359
|
+
a generator, so it can't `yield` progress.
|
|
360
|
+
- **Working and idle:** a resumable task is working while one of its calls has no result, and idle
|
|
361
|
+
otherwise. An idle task doesn't hold the turn and doesn't count toward the limit of 32; a call
|
|
362
|
+
that makes it work again does. The `[Tasks]` note lists the 10 most recently used idle tasks
|
|
363
|
+
after the working ones, so the model can find them again.
|
|
364
|
+
- **One `abortSignal` per stretch of work:** a stretch starts when a call reaches an idle task and
|
|
365
|
+
ends when a reply or a cancel settles its calls. Calls that arrive during a stretch share its
|
|
366
|
+
signal, and the next stretch gets a new one, so a task can be cancelled any number of times.
|
|
367
|
+
- **Cancellation:** `task_cancel`, `session.cancel()`, and a failed turn settle the task's waiting
|
|
368
|
+
calls as `cancelled` and abort the stretch's `abortSignal`. The run keeps waiting for more calls,
|
|
369
|
+
so the task becomes idle and stays available. `task_cancel` on an idle task says the task had no
|
|
370
|
+
work to stop. To stay available, a body must catch its stretch's abort and
|
|
371
|
+
return to `receive()`, as the example does; an abort that escapes the body finishes the task. A
|
|
372
|
+
body that ignores the signal keeps working and its reply is dropped, but a body that doesn't
|
|
373
|
+
return to `receive()` within 30 seconds of a cancel ends, and the task finishes.
|
|
374
|
+
- **Finishing:** the task finishes when its body returns or throws, or when the session ends,
|
|
375
|
+
which aborts the current stretch's signal and rejects a pending `receive()`.
|
|
376
|
+
|
|
377
|
+
Every [agent tool](/docs/subagents), including the built-in `agent` tool and remote agents, is a
|
|
378
|
+
`serve` tool that eve builds this way on public API: each task opens one session with
|
|
379
|
+
[`ctx.agent`](#delegate-work-ctxagent), sends each call's `message` with that call's `abortSignal`,
|
|
380
|
+
and replies with the final response of each agent turn.
|
|
381
|
+
|
|
213
382
|
## Authorize inside a step
|
|
214
383
|
|
|
215
384
|
Pass `ctx` directly to a step helper and call `ctx.getToken(provider)` there. User-scoped providers
|
|
@@ -233,7 +402,7 @@ async function readRepository(ctx: WorkflowStepToolContext, repository: string)
|
|
|
233
402
|
}
|
|
234
403
|
```
|
|
235
404
|
|
|
236
|
-
|
|
405
|
+
Connection tools called through `connection_execute`, ordinary tools, and workflow steps use the same
|
|
237
406
|
authorization machinery for requester identity, token caching, callback completion, and rejection
|
|
238
407
|
after sign-in. The execution runtime owns the wait: an agent returns to its model after authorization,
|
|
239
408
|
while a workflow retries the interrupted step and continues the authored body.
|
|
@@ -260,27 +429,23 @@ code. If that code later fails and the step retries, eve reads the token from th
|
|
|
260
429
|
of exchanging the same callback again. The provider must persist the grant or token; the marker
|
|
261
430
|
itself contains no credentials.
|
|
262
431
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
its callback. Cancellation uses the existing turn or task cancellation path rather than a separate
|
|
266
|
-
authorization completion event.
|
|
267
|
-
|
|
268
|
-
Background workflow authorization requires a new session after upgrading. In older sessions,
|
|
269
|
-
`ctx.getToken` and `ctx.requireAuth` fail immediately with an instruction to start a new session.
|
|
270
|
-
Blocking workflows and background workflows without auth are unaffected.
|
|
432
|
+
Cancelling an authorization wait withdraws its callback. Cancellation uses the existing turn
|
|
433
|
+
cancellation path rather than a separate authorization completion event.
|
|
271
434
|
|
|
272
435
|
## Ask a human: `ctx.ask`
|
|
273
436
|
|
|
274
437
|
```ts
|
|
275
|
-
const answer = await ctx.ask(
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
}
|
|
438
|
+
const answer = await ctx.ask(
|
|
439
|
+
{
|
|
440
|
+
prompt: string,
|
|
441
|
+
display?: "confirmation" | "select" | "text",
|
|
442
|
+
options?: { id: string; label: string; description?: string; style?: "primary" | "danger" | "default" }[],
|
|
443
|
+
allowFreeform?: boolean,
|
|
444
|
+
},
|
|
445
|
+
{ signal?: AbortSignal },
|
|
446
|
+
);
|
|
282
447
|
// | { status: "answered"; optionId?: string; text?: string }
|
|
283
|
-
// | { status: "
|
|
448
|
+
// | { status: "cancelled" }
|
|
284
449
|
// | { status: "unavailable" }
|
|
285
450
|
```
|
|
286
451
|
|
|
@@ -291,14 +456,16 @@ The `ask_question` tool is a workflow tool built on `ctx.ask`.
|
|
|
291
456
|
The answer's `status` tells the body what happened:
|
|
292
457
|
|
|
293
458
|
- `answered`: the person picked an option (`optionId`) or typed a reply (`text`).
|
|
294
|
-
- `
|
|
295
|
-
|
|
459
|
+
- `cancelled`: the request was withdrawn before anyone answered it, because the `signal` passed to
|
|
460
|
+
`ctx.ask` or the call's `abortSignal` aborted, or because a `serve` body replied to the call. The
|
|
461
|
+
session emits `input.resolved` with
|
|
462
|
+
`outcome: "cancelled"`, so clients stop offering the question.
|
|
296
463
|
- `unavailable`: the session cannot request input, such as a scheduled run. `ctx.ask` returns this
|
|
297
464
|
immediately instead of waiting for an answer no one can give.
|
|
298
465
|
|
|
299
466
|
A plain follow-up message answers the request when it is the only pending question and the message
|
|
300
|
-
matches an option or the request allows free text.
|
|
301
|
-
|
|
467
|
+
matches an option or the request allows free text. Answer a question from a subagent with a
|
|
468
|
+
structured response.
|
|
302
469
|
|
|
303
470
|
`ctx.ask` composes with the SDK's own constructs; race it against a deadline:
|
|
304
471
|
|
|
@@ -308,8 +475,8 @@ const answer = await Promise.race([pending, sleep("4h")]);
|
|
|
308
475
|
if (answer === undefined) return { deployed: false, reason: "timed out" };
|
|
309
476
|
```
|
|
310
477
|
|
|
311
|
-
- The request belongs to the run, not the turn. It stays answerable until it is answered,
|
|
312
|
-
or the run ends.
|
|
478
|
+
- The request belongs to the run, not the turn. It stays answerable until it is answered, withdrawn,
|
|
479
|
+
or the run ends.
|
|
313
480
|
- A request is answered once. Ask again for the next answer.
|
|
314
481
|
- Choose option `id`s that read well on their own, such as `approve` or the option's label. A
|
|
315
482
|
response carries only the `id`. If a person answers after the request has already resolved, for
|
|
@@ -317,31 +484,71 @@ if (answer === undefined) return { deployed: false, reason: "timed out" };
|
|
|
317
484
|
- Ending the run, by returning, throwing, or cancellation, withdraws its pending requests.
|
|
318
485
|
- Several requests may be outstanding at once.
|
|
319
486
|
- A response never steers. A new human message that does not answer a pending request follows the
|
|
320
|
-
session's normal `turnPolicy`.
|
|
487
|
+
session's normal `turnPolicy`. A steering message aborts the `abortSignal` of each `execute` call
|
|
488
|
+
the turn waits on, which withdraws that call's questions, such as `ask_question`'s. A task's
|
|
489
|
+
questions stay open.
|
|
490
|
+
- An aborted `signal` asks the session to withdraw the question, and the session decides. If a
|
|
491
|
+
person's answer reached the session first, the ask resolves as `answered` even though the signal
|
|
492
|
+
aborted, and the channel shows it answered. Branch on `status`, not on the signal.
|
|
321
493
|
|
|
322
494
|
Compare the [`approval`](/docs/human-in-the-loop) policy, which gates the call before `execute` runs
|
|
323
495
|
and can only show the model's input. Both compose: `approval` before the run, `ctx.ask` inside it.
|
|
324
496
|
|
|
325
497
|
## Delegate work: `ctx.agent`
|
|
326
498
|
|
|
327
|
-
|
|
499
|
+
`ctx.agent(name)` returns a session with an agent, shaped like the TypeScript client's session. The
|
|
500
|
+
session opens on its first `send`, and each `response.result()` resolves when that message's turn
|
|
501
|
+
ends:
|
|
328
502
|
|
|
329
503
|
```ts
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
},
|
|
337
|
-
required: ["findings"],
|
|
338
|
-
},
|
|
504
|
+
import { z } from "zod";
|
|
505
|
+
|
|
506
|
+
const reviewer = ctx.agent("reviewer");
|
|
507
|
+
const response = await reviewer.send("Review the deployment plan for security risks.", {
|
|
508
|
+
outputSchema: z.object({ findings: z.array(z.string()) }),
|
|
509
|
+
signal: ctx.abortSignal,
|
|
339
510
|
});
|
|
511
|
+
const { data, message, status } = await response.result();
|
|
340
512
|
```
|
|
341
513
|
|
|
342
|
-
The
|
|
343
|
-
|
|
344
|
-
|
|
514
|
+
The name is an available agent target. On the root agent, `"agent"` starts a copy of the root agent.
|
|
515
|
+
A declared subagent uses its path-derived name and remains callable when hidden with `tool: false`
|
|
516
|
+
or `disableTool()`. Delegated root copies and declared subagent contexts do not expose the built-in
|
|
517
|
+
root-copy target. The invocation name `agent` is reserved, so a declared subagent cannot shadow it.
|
|
518
|
+
An unavailable name rejects the first `send`.
|
|
519
|
+
|
|
520
|
+
`send(message, options?)` accepts:
|
|
521
|
+
|
|
522
|
+
| Option | Description |
|
|
523
|
+
| -------------- | -------------------------------------------------------------------------------------------------------- |
|
|
524
|
+
| `outputSchema` | Structured output for the turn, as a Standard JSON Schema such as a Zod schema, or a JSON Schema object. |
|
|
525
|
+
| `signal` | Aborting it cancels the turn the message started or joined. The turn still reports, as cancelled. |
|
|
526
|
+
|
|
527
|
+
A message sent while the session's turn is running joins that turn, and its response resolves with
|
|
528
|
+
that turn's result. If the turn ends before the agent reads the message, the message starts the next
|
|
529
|
+
turn instead, and its response resolves with that turn's result. The responses of earlier messages
|
|
530
|
+
that are still waiting resolve with the same result. A message sent while the session is idle starts
|
|
531
|
+
the next turn, and the session keeps its conversation between turns. `result()` returns the
|
|
532
|
+
client's `MessageResult` fields, plus `error` when the turn failed:
|
|
533
|
+
|
|
534
|
+
| Field | Description |
|
|
535
|
+
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
536
|
+
| `data` | The structured value, when the turn requested `outputSchema`. |
|
|
537
|
+
| `message` | The agent's final reply text, when the turn did not request `outputSchema`. |
|
|
538
|
+
| `status` | `"waiting"` when the session waits for its next message, `"completed"` when the session ended with the turn, or `"failed"` when the turn failed. A cancelled turn is `"waiting"` with neither `data` nor `message`. |
|
|
539
|
+
| `error` | `{ message }` with the reason the turn failed, present only when `status` is `"failed"`. |
|
|
540
|
+
|
|
541
|
+
Every `ctx.agent(name)` call returns a new session that only the workflow run can address. The model
|
|
542
|
+
does not see it; it sees what the tool returns. The session runs as the caller's principal with the
|
|
543
|
+
caller's capabilities, and a person answers its questions and sign-ins at the root session, as for
|
|
544
|
+
any subagent. The session ends when the run finishes, which cancels any turn still running.
|
|
545
|
+
|
|
546
|
+
The parent stream announces each session with `agent.started`, which carries the `callId` and
|
|
547
|
+
`turnId` of the tool call the run is serving when it opens the session (for a `serve` task, the
|
|
548
|
+
latest call it received), the
|
|
549
|
+
`taskId` when the call runs as a task, the agent `name`, the child's `sessionId`, and a
|
|
550
|
+
`streamPath`. Pass the event to
|
|
551
|
+
[`session.agent(started).stream()`](/docs/guides/client/streaming#follow-a-subagent) to follow the child.
|
|
345
552
|
|
|
346
553
|
### Route to a hidden subagent with Jev
|
|
347
554
|
|
|
@@ -422,14 +629,17 @@ export default defineWorkflowTool({
|
|
|
422
629
|
ctx.abortSignal,
|
|
423
630
|
);
|
|
424
631
|
|
|
425
|
-
|
|
632
|
+
const response = await ctx.agent(target).send(task, { signal: ctx.abortSignal });
|
|
633
|
+
const { error, message, status } = await response.result();
|
|
634
|
+
if (status === "failed") throw new Error(`${target} failed: ${error?.message}`);
|
|
635
|
+
return message ?? null;
|
|
426
636
|
},
|
|
427
637
|
});
|
|
428
638
|
```
|
|
429
639
|
|
|
430
|
-
The evaluation runs in a step so workflow replay records its result instead of making the routing request again. The parent model receives `agent-router`, but not `researcher` or `operator`. Jev returns the typed `"researcher" | "operator"` choice, and the selected subagent's
|
|
640
|
+
The evaluation runs in a step so workflow replay records its result instead of making the routing request again. The parent model receives `agent-router`, but not `researcher` or `operator`. Jev returns the typed `"researcher" | "operator"` choice, and the selected subagent's reply becomes the `agent-router` tool result.
|
|
431
641
|
|
|
432
|
-
`ctx.agents` is a replay-stable metadata snapshot taken when the
|
|
642
|
+
`ctx.agents` is a replay-stable metadata snapshot taken when the session admits the call. In a `serve` task, it follows the call being served. In a top-level root workflow, `ctx.agents.agent` always represents the root-copy target and carries the root's authored `description` when provided. The snapshot also includes declared agents hidden from the parent model with `tool: false` or `disableTool()`, but exposes no model definitions, credentials, or callbacks. A delegated root copy omits `agent`, so `agentRouter()` cannot select another root copy recursively. Invocation still checks each target's availability through `ctx.agent()`.
|
|
433
643
|
|
|
434
644
|
#### Route across every agent target
|
|
435
645
|
|
|
@@ -441,7 +651,8 @@ import { agentRouter } from "eve/tools/agent-router";
|
|
|
441
651
|
export default agentRouter();
|
|
442
652
|
```
|
|
443
653
|
|
|
444
|
-
Its input is `{ message: string }`. `agentRouter()` ignores entries without a non-empty description. With two or more described targets, it sends the message and effective descriptions to Jev, then
|
|
654
|
+
Its input is `{ message: string }`. `agentRouter()` ignores entries without a non-empty description. With two or more described targets, it sends the message and effective descriptions to Jev, then sends the message to a new session with the selected agent through `ctx.agent()` and returns its reply. It invokes a sole target without evaluation. Each call
|
|
655
|
+
runs as a [task](#run-calls-as-tasks-task), so the reply reaches the model as the task's result. In a top-level root session, the candidates include the root-copy `agent`; delegated root copies and declared subagent contexts include only their declared targets.
|
|
445
656
|
|
|
446
657
|
When an authored tool accepts a JSON Schema supplied by the model, represent that input with a permissive object such as `z.looseObject({})`. Avoid `z.record(z.string(), z.json())`: its generated JSON Schema uses `propertyNames`, which OpenAI does not support. Validate the supplied value at the point where your tool consumes it.
|
|
447
658
|
|
|
@@ -449,23 +660,21 @@ This pattern controls specialist selection, not whether the parent model delegat
|
|
|
449
660
|
|
|
450
661
|
## Report progress: `yield`
|
|
451
662
|
|
|
452
|
-
A workflow body may be an async generator
|
|
453
|
-
|
|
454
|
-
stream. After processing a yield, eve advances the generator; use an awaited workflow operation
|
|
455
|
-
when the body needs to suspend.
|
|
663
|
+
A workflow body may be an async generator whose yields report progress. After processing a yield,
|
|
664
|
+
eve advances the generator; use an awaited workflow operation when the body needs to suspend.
|
|
456
665
|
|
|
457
|
-
| Operation |
|
|
458
|
-
| --------------- | ----------------------------------------------------------------- |
|
|
459
|
-
| `yield value` | Emits an `action.partial` snapshot for the pending tool call. |
|
|
460
|
-
| `return value` | Settles the tool call with its output. |
|
|
461
|
-
| No return value | Uses the last yield as output, or `null` if there were no yields. |
|
|
666
|
+
| Operation | Behavior |
|
|
667
|
+
| --------------- | ----------------------------------------------------------------- |
|
|
668
|
+
| `yield value` | Emits an `action.partial` snapshot for the pending tool call. |
|
|
669
|
+
| `return value` | Settles the tool call with its output. |
|
|
670
|
+
| No return value | Uses the last yield as output, or `null` if there were no yields. |
|
|
462
671
|
|
|
463
|
-
|
|
672
|
+
An explicit `return null` also falls back to the last yield. Prefer an
|
|
464
673
|
explicit object return when progress snapshots and the final result have different shapes.
|
|
465
674
|
Progress snapshots are last-write-wins by tool call id and do not enter model history as
|
|
466
675
|
intermediate tool results. A snapshot used as the final output does enter history as the tool result.
|
|
467
676
|
|
|
468
|
-
This
|
|
677
|
+
This workflow reports progress, then suspends until its timer expires:
|
|
469
678
|
|
|
470
679
|
```ts title="agent/tools/remind_with_progress.ts"
|
|
471
680
|
import { defineWorkflowTool } from "eve/tools";
|
|
@@ -475,27 +684,25 @@ import { z } from "zod";
|
|
|
475
684
|
export default defineWorkflowTool({
|
|
476
685
|
description: "Schedule a reminder.",
|
|
477
686
|
inputSchema: z.object({ note: z.string(), delay: z.string() }),
|
|
478
|
-
execution: "background",
|
|
479
687
|
async *execute({ note, delay }) {
|
|
480
688
|
"use workflow";
|
|
481
|
-
yield { status: "preparing reminder" }; //
|
|
689
|
+
yield { status: "preparing reminder" }; // Published as progress for the pending call.
|
|
482
690
|
await sleep(delay); // Durable suspension while the timer is pending.
|
|
483
|
-
return { reminder: note }; //
|
|
691
|
+
return { reminder: note }; // The tool result.
|
|
484
692
|
},
|
|
485
693
|
});
|
|
486
694
|
```
|
|
487
695
|
|
|
488
|
-
Use [`ctx.ask`](#ask-a-human-ctxask) when the workflow needs a human answer.
|
|
489
|
-
|
|
490
|
-
waits for the final reminder as the tool result. See [yield and return](/docs/tools#yield-and-return) for the
|
|
491
|
-
final-output rules.
|
|
696
|
+
Use [`ctx.ask`](#ask-a-human-ctxask) when the workflow needs a human answer. See
|
|
697
|
+
[yield and return](/docs/tools#yield-and-return) for the final-output rules.
|
|
492
698
|
|
|
493
699
|
## Cancel and clean up: `ctx.abortSignal`
|
|
494
700
|
|
|
495
|
-
`ctx.abortSignal` aborts when the
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
701
|
+
`ctx.abortSignal` aborts when the call is cancelled: by `session.cancel()`, or, for a task, by
|
|
702
|
+
`task_cancel`, a failed turn, or the end of the session. A steering message also aborts it for an
|
|
703
|
+
`execute` call; see [Stop early for a new message](#stop-early-for-a-new-message). It is durable:
|
|
704
|
+
it survives replay, and a step that receives it observes the abort. Pass it into the steps that
|
|
705
|
+
should stop, and clean up in `try/finally`:
|
|
499
706
|
|
|
500
707
|
```ts
|
|
501
708
|
async execute({ projectId }, ctx) {
|
|
@@ -509,22 +716,58 @@ async execute({ projectId }, ctx) {
|
|
|
509
716
|
}
|
|
510
717
|
```
|
|
511
718
|
|
|
512
|
-
After the signal
|
|
513
|
-
as cancelled whether or not it did. A body parked on a hook or a `sleep` does not observe
|
|
514
|
-
it is abandoned when the grace period ends. Steps that received the signal are how you
|
|
515
|
-
first.
|
|
719
|
+
After a cancel aborts the signal, the run waits up to 30 seconds for the body to finish unwinding,
|
|
720
|
+
then ends as cancelled whether or not it did. A body parked on a hook or a `sleep` does not observe
|
|
721
|
+
the signal; it is abandoned when the grace period ends. Steps that received the signal are how you
|
|
722
|
+
clean up first.
|
|
516
723
|
|
|
517
724
|
The caller waits up to 35 seconds for a cooperatively cancelled run to settle before forcing it
|
|
518
|
-
to stop. This includes time for the run to publish its outcome after body cleanup.
|
|
519
|
-
|
|
520
|
-
|
|
725
|
+
to stop. This includes time for the run to publish its outcome after body cleanup.
|
|
726
|
+
|
|
727
|
+
## Stop early for a new message
|
|
728
|
+
|
|
729
|
+
A steering message aborts the `ctx.abortSignal` of each `execute` call the turn waits on. A
|
|
730
|
+
steering message is one sent with `turnPolicy: "steer"`, the default, that does not answer a pending
|
|
731
|
+
question; a message that answers a question never stops a call. Steering never touches a
|
|
732
|
+
[task](#run-calls-as-tasks-task).
|
|
733
|
+
|
|
734
|
+
Steering does not cancel the call or end the turn. The call settles with what the body returns, and
|
|
735
|
+
the model reads the new message after the step's workflow tool calls settle:
|
|
736
|
+
|
|
737
|
+
- **Questions:** a pending `ctx.ask` question is withdrawn and resolves as `cancelled`, unless a
|
|
738
|
+
person's answer reached the session first.
|
|
739
|
+
- **Rejections:** a body that rejects after the abort, such as one whose step received the signal,
|
|
740
|
+
settles as `{ interrupted: true }` instead of failing.
|
|
741
|
+
- **No grace period:** a body that doesn't observe the signal, such as one parked on a hook or a
|
|
742
|
+
`sleep`, keeps the turn waiting until it finishes.
|
|
743
|
+
|
|
744
|
+
The body doesn't need to tell a steering message from a cancel: in both cases, stop and return what
|
|
745
|
+
you have. After a cancel, eve discards the result. The provided `sleep` tool races its timer
|
|
746
|
+
against the signal:
|
|
747
|
+
|
|
748
|
+
```ts
|
|
749
|
+
import { sleep } from "workflow";
|
|
750
|
+
|
|
751
|
+
async execute(input, ctx) {
|
|
752
|
+
"use workflow";
|
|
753
|
+
const stopped = new Promise<"stopped">((resolve) =>
|
|
754
|
+
ctx.abortSignal.addEventListener("abort", () => resolve("stopped"), { once: true }),
|
|
755
|
+
);
|
|
756
|
+
const elapsed = sleep(input.seconds * 1_000).then(() => "elapsed" as const);
|
|
757
|
+
const woke = await Promise.race([elapsed, stopped]);
|
|
758
|
+
return woke === "elapsed" ? { waitedSeconds: input.seconds } : { interrupted: true };
|
|
759
|
+
}
|
|
760
|
+
```
|
|
761
|
+
|
|
762
|
+
To keep a question or long work going while the conversation continues, define
|
|
763
|
+
[`task`](#run-calls-as-tasks-task) instead of `execute`.
|
|
521
764
|
|
|
522
765
|
## Workflow tool examples
|
|
523
766
|
|
|
524
767
|
### Approve with a deadline and an escalation
|
|
525
768
|
|
|
526
769
|
```ts
|
|
527
|
-
async
|
|
770
|
+
async task({ service }, ctx) {
|
|
528
771
|
"use workflow";
|
|
529
772
|
const plan = await planDeploy(service);
|
|
530
773
|
const pending = ctx.ask({ prompt: `Deploy ${service}?`, display: "confirmation", options: APPROVE_OR_CANCEL });
|
|
@@ -543,8 +786,9 @@ async execute({ service }, ctx) {
|
|
|
543
786
|
}
|
|
544
787
|
```
|
|
545
788
|
|
|
546
|
-
One request stays on the channel the whole time. `
|
|
547
|
-
and
|
|
789
|
+
One request stays on the channel the whole time. As a `task`, the call doesn't hold the
|
|
790
|
+
conversation, and a steering message doesn't withdraw the request. `sleep` is the deadline,
|
|
791
|
+
`pageOnCall` is a step, and returning withdraws the request.
|
|
548
792
|
|
|
549
793
|
### Wait for an external system to call back
|
|
550
794
|
|
|
@@ -585,7 +829,6 @@ import { issueRefund } from "../lib/refunds";
|
|
|
585
829
|
export default defineWorkflowTool({
|
|
586
830
|
description: "Request approval to refund an order, then issue the refund once approved.",
|
|
587
831
|
inputSchema: z.object({ orderId: z.string(), amount: z.number() }),
|
|
588
|
-
execution: "background",
|
|
589
832
|
async execute({ orderId, amount }, ctx) {
|
|
590
833
|
"use workflow";
|
|
591
834
|
const decision = await ctx.ask({
|
|
@@ -605,58 +848,29 @@ export default defineWorkflowTool({
|
|
|
605
848
|
});
|
|
606
849
|
```
|
|
607
850
|
|
|
608
|
-
The
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
### Remind me later
|
|
612
|
-
|
|
613
|
-
```ts title="agent/tools/remind.ts"
|
|
614
|
-
import { defineWorkflowTool } from "eve/tools";
|
|
615
|
-
import { sleep } from "workflow";
|
|
616
|
-
import { z } from "zod";
|
|
617
|
-
|
|
618
|
-
export default defineWorkflowTool({
|
|
619
|
-
description: "Remind the user about something after a delay.",
|
|
620
|
-
inputSchema: z.object({ note: z.string(), delay: z.string() }),
|
|
621
|
-
execution: "background",
|
|
622
|
-
async execute({ note, delay }) {
|
|
623
|
-
"use workflow";
|
|
624
|
-
await sleep(delay);
|
|
625
|
-
return { reminder: note };
|
|
626
|
-
},
|
|
627
|
-
});
|
|
628
|
-
```
|
|
629
|
-
|
|
630
|
-
The session parks between the receipt and the wake. The agent receives the return value and relays
|
|
631
|
-
it.
|
|
851
|
+
The turn parks while the approval card stays on the channel. When it is answered, the refund runs
|
|
852
|
+
and the agent receives the outcome as the tool result.
|
|
632
853
|
|
|
633
854
|
## Semantics
|
|
634
855
|
|
|
635
|
-
One call, one result. A
|
|
636
|
-
cancellation.
|
|
637
|
-
in one automatic report after every task in its cohort is terminal. A cohort includes overlapping
|
|
638
|
-
background work in the same session, including tasks launched in later user turns while earlier
|
|
639
|
-
work remains open.
|
|
640
|
-
|
|
641
|
-
While a waiting tool runs, the turn is parked. A `queue` message waits for it. A `steer` message
|
|
642
|
-
cancels the turn, which cancels the run, which withdraws its requests. Input responses never steer.
|
|
643
|
-
|
|
644
|
-
Background runs belong to the session. They survive turn completion and cancellation, appear in the
|
|
645
|
-
session's task index, can be cancelled with `task_cancel`, and are cancelled when the session ends.
|
|
856
|
+
One call, one result. A workflow tool call resolves once, with the return value, the error, or a
|
|
857
|
+
cancellation.
|
|
646
858
|
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
859
|
+
While an `execute` call runs, the turn is parked. A `queue` message waits for it. A `steer` message
|
|
860
|
+
that answers no pending question aborts the call's `ctx.abortSignal` and reaches the model once the
|
|
861
|
+
call settles; it never cancels the run. Input responses never steer. A task doesn't park the
|
|
862
|
+
turn, and steering never touches it.
|
|
650
863
|
|
|
651
864
|
Errors follow the SDK. A thrown error in a step retries per the step's policy; `FatalError` does
|
|
652
865
|
not. An error that escapes the body fails the tool invocation.
|
|
653
866
|
|
|
654
|
-
Starting a
|
|
867
|
+
Starting a workflow tool can also be retried. If dispatch is interrupted after starting a
|
|
655
868
|
run, its retry starts another run, and both may execute. The parent tracks the run returned by the
|
|
656
869
|
successful dispatch attempt. Use an application idempotency key for side effects that must happen
|
|
657
870
|
only once.
|
|
658
871
|
|
|
659
|
-
The workflow id derives from the
|
|
660
|
-
the tool module and the name `execute`; imported
|
|
872
|
+
The workflow id derives from the entry point's module path and function name. Inline entry points
|
|
873
|
+
use the tool module and the name `execute`, `task`, or `serve`; imported ones use their declaring module and
|
|
874
|
+
name.
|
|
661
875
|
Renaming or moving that function creates a new workflow. Runs in flight finish on the deployment that started them; a run that
|
|
662
876
|
resumes on a deployment without its tool fails with an error naming the missing workflow.
|