eve 0.83.3 → 0.84.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 +41 -0
- package/README.md +1 -5
- package/dist/src/_virtual/_rolldown/runtime.js +1 -1
- package/dist/src/acp/adapter.d.ts +8 -5
- package/dist/src/acp/adapter.js +1 -1
- package/dist/src/ai/decide.d.ts +3 -7
- package/dist/src/ai/decide.js +1 -1
- package/dist/src/ai/decision-adapter.d.ts +7 -0
- package/dist/src/ai/decision-adapter.js +1 -0
- package/dist/src/ai/decision-types.d.ts +86 -0
- package/dist/src/approval/definition.d.ts +5 -12
- package/dist/src/approval/evaluation.d.ts +48 -0
- package/dist/src/approval/evaluation.js +1 -0
- package/dist/src/approval/status.d.ts +14 -0
- package/dist/src/approval/status.js +1 -0
- package/dist/src/channel/adapter-context.d.ts +1 -3
- package/dist/src/channel/adapter-context.js +1 -1
- package/dist/src/channel/adapter.d.ts +34 -26
- package/dist/src/channel/adapter.js +1 -1
- package/dist/src/channel/audience.d.ts +0 -3
- package/dist/src/channel/audience.js +1 -1
- package/dist/src/channel/auth/definitions.d.ts +532 -0
- package/dist/src/channel/auth/definitions.js +1 -0
- package/dist/src/channel/auth/jwt-ecdsa.js +1 -1
- package/dist/src/channel/auth/jwt-hmac.js +1 -1
- package/dist/src/channel/auth/oidc.js +1 -1
- package/dist/src/channel/channel-address.d.ts +12 -10
- package/dist/src/channel/channel-address.js +1 -1
- package/dist/src/channel/channel-operations.d.ts +21 -22
- package/dist/src/channel/channel-operations.js +1 -1
- package/dist/src/channel/compiled-channel.d.ts +4 -4
- package/dist/src/channel/conversation-context.js +1 -1
- package/dist/src/channel/cors.d.ts +2 -2
- package/dist/src/channel/cors.js +1 -1
- package/dist/src/channel/cross-channel-receive.d.ts +3 -3
- package/dist/src/channel/delivery-idempotency.d.ts +6 -0
- package/dist/src/channel/delivery-idempotency.js +1 -1
- package/dist/src/channel/delivery-metadata.d.ts +2 -2
- package/dist/src/channel/delivery.d.ts +8 -0
- package/dist/src/channel/delivery.js +1 -0
- package/dist/src/channel/interaction-prompts.d.ts +54 -0
- package/dist/src/channel/interaction-prompts.js +1 -0
- package/dist/src/channel/invoke-tool.d.ts +11 -18
- package/dist/src/channel/pending-authorization.d.ts +3 -14
- package/dist/src/channel/pending-authorization.js +1 -1
- package/dist/src/channel/prompt-queue.d.ts +11 -19
- package/dist/src/channel/prompt-queue.js +1 -1
- package/dist/src/channel/resolve-text.d.ts +11 -18
- package/dist/src/channel/resolve-text.js +2 -2
- package/dist/src/channel/resolved-prompt.d.ts +7 -5
- package/dist/src/channel/resolved-prompt.js +1 -1
- package/dist/src/channel/routes.d.ts +4 -4
- package/dist/src/channel/schedule.d.ts +2 -2
- package/dist/src/channel/schedule.js +1 -1
- package/dist/src/channel/send-input.d.ts +3 -3
- package/dist/src/channel/send-input.js +1 -1
- package/dist/src/channel/session-callback.js +1 -1
- package/dist/src/channel/session-not-active-error.d.ts +8 -12
- package/dist/src/channel/session-not-active-error.js +1 -1
- package/dist/src/channel/session.d.ts +33 -59
- package/dist/src/channel/session.js +1 -1
- package/dist/src/channel/sign-in.d.ts +61 -0
- package/dist/src/channel/sign-in.js +3 -0
- package/dist/src/channel/surface.d.ts +44 -0
- package/dist/src/channel/surface.js +1 -0
- package/dist/src/channel/task-card.d.ts +24 -114
- package/dist/src/channel/task-card.js +1 -1
- package/dist/src/channel/types.d.ts +116 -110
- package/dist/src/channel/types.js +1 -1
- package/dist/src/chunks/use-eve-agent-BbbguIdB.js +5030 -0
- package/dist/src/chunks/use-eve-agent-DWjyzplb.js +5077 -0
- package/dist/src/cli/commands/logs-events.d.ts +2 -0
- package/dist/src/cli/commands/logs-events.js +2 -2
- package/dist/src/cli/dev/command.js +1 -1
- package/dist/src/cli/dev/remote-print.d.ts +8 -0
- package/dist/src/cli/dev/remote-print.js +1 -0
- package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
- package/dist/src/cli/dev/tui/conversation-view.js +1 -1
- package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
- package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
- package/dist/src/cli/dev/tui/errors.d.ts +9 -65
- package/dist/src/cli/dev/tui/errors.js +1 -1
- package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
- package/dist/src/cli/dev/tui/runner.js +3 -3
- package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
- package/dist/src/cli/dev/tui/task-records.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
- package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
- package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
- package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
- package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
- package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
- package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
- package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
- package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
- package/dist/src/cli/dev/tui/transcript.js +1 -1
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/run.d.ts +0 -2
- package/dist/src/cli/run.js +1 -1
- package/dist/src/cli/telemetry/index.js +1 -1
- package/dist/src/client/agent-base-url.d.ts +4 -0
- package/dist/src/client/agent-base-url.js +1 -0
- package/dist/src/client/agent-info-schema.d.ts +1 -923
- package/dist/src/client/agent-info-schema.js +1 -1
- package/dist/src/client/agent-info-types.d.ts +281 -0
- package/dist/src/client/agent-session.d.ts +19 -22
- package/dist/src/client/agent-session.js +1 -1
- package/dist/src/client/agent-stream-follower.d.ts +11 -20
- package/dist/src/client/agent-stream-follower.js +1 -1
- package/dist/src/client/client-error.d.ts +2 -1
- package/dist/src/client/client-error.js +1 -1
- package/dist/src/client/client.d.ts +1 -1
- package/dist/src/client/client.js +1 -1
- package/dist/src/client/conversation-client.d.ts +37 -28
- package/dist/src/client/conversation-client.js +1 -1
- package/dist/src/client/conversation-state.d.ts +70 -73
- package/dist/src/client/conversation-state.js +1 -1
- package/dist/src/client/conversation.d.ts +51 -0
- package/dist/src/client/conversation.js +1 -0
- package/dist/src/client/delivery-events.d.ts +3 -0
- package/dist/src/client/delivery-events.js +1 -0
- package/dist/src/client/delivery.d.ts +36 -0
- package/dist/src/client/delivery.js +1 -0
- package/dist/src/client/file-parts.d.ts +9 -4
- package/dist/src/client/file-parts.js +1 -1
- package/dist/src/client/health-schema.d.ts +1 -1
- package/dist/src/client/health-types.d.ts +6 -0
- package/dist/src/client/index.d.ts +17 -23
- package/dist/src/client/index.js +1 -1
- package/dist/src/client/message-types.d.ts +92 -0
- package/dist/src/client/message-types.js +1 -0
- package/dist/src/client/messages.d.ts +30 -0
- package/dist/src/client/messages.js +1 -0
- package/dist/src/client/ndjson.d.ts +6 -11
- package/dist/src/client/ndjson.js +3 -3
- package/dist/src/client/open-stream.d.ts +47 -20
- package/dist/src/client/open-stream.js +1 -1
- package/dist/src/client/optimistic-message-submissions.d.ts +10 -18
- package/dist/src/client/optimistic-message-submissions.js +1 -1
- package/dist/src/client/session-controls.d.ts +23 -26
- package/dist/src/client/session-controls.js +1 -1
- package/dist/src/client/session-event-stream.d.ts +5 -16
- package/dist/src/client/session-event-stream.js +1 -1
- package/dist/src/client/session-store-helpers.d.ts +8 -0
- package/dist/src/client/session-store-helpers.js +2 -0
- package/dist/src/client/session-store-state.d.ts +80 -0
- package/dist/src/client/session-store-state.js +1 -0
- package/dist/src/client/session-store.d.ts +48 -0
- package/dist/src/client/session-store.js +1 -0
- package/dist/src/client/session-utils.d.ts +45 -41
- package/dist/src/client/session-utils.js +2 -1
- package/dist/src/client/session.d.ts +32 -23
- package/dist/src/client/session.js +1 -1
- package/dist/src/client/sessions.d.ts +2 -2
- package/dist/src/client/stream-version.d.ts +3 -1
- package/dist/src/client/stream-version.js +1 -1
- package/dist/src/client/transcript.d.ts +43 -0
- package/dist/src/client/transcript.js +2 -0
- package/dist/src/client/types.d.ts +21 -82
- package/dist/src/client/url.d.ts +3 -3
- package/dist/src/compiled/.vendor-stamp.json +1 -1
- package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
- package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
- package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
- package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
- package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
- package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
- package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
- package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
- package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
- package/dist/src/compiled/semver/index.d.ts +2 -0
- package/dist/src/compiler/development-extensions.js +1 -1
- package/dist/src/compiler/extension-compatibility.d.ts +19 -290
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.d.ts +1 -9
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/compiler/normalize-connection.js +1 -1
- package/dist/src/compiler/normalize-hook.js +1 -1
- package/dist/src/compiler/normalize-instructions.js +1 -1
- package/dist/src/compiler/normalize-manifest.js +1 -1
- package/dist/src/compiler/normalize-memory.js +1 -1
- package/dist/src/compiler/normalize-schedule.js +1 -1
- package/dist/src/compiler/normalize-skill.js +1 -1
- package/dist/src/compiler/normalize-subagent.d.ts +0 -5
- package/dist/src/compiler/normalize-subagent.js +1 -1
- package/dist/src/compiler/normalize-tool.js +1 -1
- package/dist/src/compiler/remote-agent-node.d.ts +1 -6
- package/dist/src/compiler/source-graph.d.ts +0 -1
- package/dist/src/compiler/source-graph.js +1 -1
- package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
- package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
- package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
- package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
- package/dist/src/connections/errors.d.ts +3 -3
- package/dist/src/context/accessors.d.ts +0 -13
- package/dist/src/context/accessors.js +1 -1
- package/dist/src/context/container.d.ts +8 -11
- package/dist/src/context/container.js +1 -1
- package/dist/src/context/key-names.d.ts +1 -0
- package/dist/src/context/key-names.js +1 -1
- package/dist/src/context/keys.d.ts +20 -104
- package/dist/src/context/keys.js +1 -1
- package/dist/src/context/memory-tools.d.ts +4 -2
- package/dist/src/context/memory-tools.js +1 -1
- package/dist/src/context/providers/connection.js +1 -1
- package/dist/src/context/providers/session.js +1 -1
- package/dist/src/context/schedule-collection-tools.d.ts +2 -2
- package/dist/src/context/schedule-collection-tools.js +1 -1
- package/dist/src/context/session-context.d.ts +4 -2
- package/dist/src/discover/extensions.d.ts +2 -3
- package/dist/src/discover/extensions.js +1 -1
- package/dist/src/discover/manifest.js +1 -1
- package/dist/src/discover/skills.js +1 -1
- package/dist/src/dynamic/definition.d.ts +98 -108
- package/dist/src/dynamic/definition.js +1 -1
- package/dist/src/evals/assertions/collector.js +1 -1
- package/dist/src/evals/assertions/run.d.ts +12 -11
- package/dist/src/evals/assertions/run.js +2 -2
- package/dist/src/evals/assertions/scoped.js +1 -1
- package/dist/src/evals/cli/eval-client.js +1 -1
- package/dist/src/evals/cli/eval.js +2 -2
- package/dist/src/evals/context.js +1 -1
- package/dist/src/evals/expect/index.d.ts +0 -1
- package/dist/src/evals/index.d.ts +2 -5
- package/dist/src/evals/judge.js +1 -1
- package/dist/src/evals/match.d.ts +20 -17
- package/dist/src/evals/match.js +1 -1
- package/dist/src/evals/mock-model.d.ts +5 -1
- package/dist/src/evals/mock-model.js +1 -1
- package/dist/src/evals/output.d.ts +3 -0
- package/dist/src/evals/output.js +1 -0
- package/dist/src/evals/reported-tool-name.js +1 -1
- package/dist/src/evals/reporters/index.d.ts +4 -4
- package/dist/src/evals/reporters/index.js +1 -1
- package/dist/src/evals/runner/artifacts.js +1 -1
- package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
- package/dist/src/evals/runner/derive-run-facts.js +1 -1
- package/dist/src/evals/runner/execute-eval.js +1 -1
- package/dist/src/evals/runner/execute-task.d.ts +3 -1
- package/dist/src/evals/runner/execute-task.js +1 -1
- package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
- package/dist/src/evals/runner/reporters/braintrust.js +2 -2
- package/dist/src/evals/runner/reporters/console.d.ts +1 -1
- package/dist/src/evals/runner/reporters/console.js +1 -1
- package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
- package/dist/src/evals/runner/reporters/datadog.js +2 -2
- package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
- package/dist/src/evals/runner/reporters/junit.js +2 -2
- package/dist/src/evals/runner/reporters/types.d.ts +2 -2
- package/dist/src/evals/runner/run-evals.d.ts +1 -1
- package/dist/src/evals/session-cleanup.d.ts +1 -1
- package/dist/src/evals/session-cleanup.js +1 -1
- package/dist/src/evals/session-content.d.ts +2 -2
- package/dist/src/evals/session-content.js +2 -1
- package/dist/src/evals/session-manager.d.ts +3 -6
- package/dist/src/evals/session-manager.js +1 -1
- package/dist/src/evals/session.d.ts +33 -24
- package/dist/src/evals/session.js +2 -2
- package/dist/src/evals/target.js +1 -1
- package/dist/src/evals/types.d.ts +115 -94
- package/dist/src/eve-channel/create-request.d.ts +3 -5
- package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
- package/dist/src/eve-channel/descendant-stream.js +1 -0
- package/dist/src/eve-channel/index.d.ts +2 -2
- package/dist/src/eve-channel/index.js +1 -1
- package/dist/src/eve-channel/request.d.ts +7 -6
- package/dist/src/eve-channel/request.js +1 -3
- package/dist/src/eve-channel/stream-headers.d.ts +1 -1
- package/dist/src/eve-channel/stream-headers.js +1 -1
- package/dist/src/eve-channel/support.d.ts +25 -13
- package/dist/src/eve-channel/support.js +2 -2
- package/dist/src/eve-channel/types.d.ts +7 -30
- package/dist/src/execution/agent-sessions/message.d.ts +4 -0
- package/dist/src/execution/agent-sessions/message.js +1 -0
- package/dist/src/execution/agent-sessions/metadata.js +1 -1
- package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
- package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
- package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
- package/dist/src/execution/agent-sessions/remote.js +1 -1
- package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
- package/dist/src/execution/agent-sessions/requests.js +1 -1
- package/dist/src/execution/agent-sessions/session.js +1 -1
- package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
- package/dist/src/execution/agent-sessions/steps.js +1 -1
- package/dist/src/execution/agent-sessions/target.d.ts +2 -1
- package/dist/src/execution/agent-sessions/target.js +1 -1
- package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
- package/dist/src/execution/agent-sessions/usage.js +1 -1
- package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
- package/dist/src/execution/cancelled-model-call-batch.js +1 -1
- package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
- package/dist/src/execution/cancelled-turn-message.js +1 -1
- package/dist/src/execution/catalog/connection-entry.js +1 -1
- package/dist/src/execution/catalog/search.js +1 -1
- package/dist/src/execution/catalog/skills.js +1 -1
- package/dist/src/execution/catalog/step-catalog.js +1 -1
- package/dist/src/execution/child-binding.d.ts +19 -0
- package/dist/src/execution/child-binding.js +1 -0
- package/dist/src/execution/close-session-stream-step.d.ts +9 -0
- package/dist/src/execution/close-session-stream-step.js +1 -0
- package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
- package/dist/src/execution/coordination-dispatch-shared.js +1 -1
- package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
- package/dist/src/execution/coordination-dispatch-step.js +1 -1
- package/dist/src/execution/deliver-payloads.js +1 -1
- package/dist/src/execution/durable-session-store.d.ts +2 -5
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
- package/dist/src/execution/failure-summary.d.ts +11 -0
- package/dist/src/execution/failure-summary.js +1 -0
- package/dist/src/execution/forward-session-input.d.ts +2 -2
- package/dist/src/execution/forward-session-input.js +1 -1
- package/dist/src/execution/invoke-tool.js +1 -1
- package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
- package/dist/src/execution/legacy-session/snapshot.js +1 -1
- package/dist/src/execution/model-call-batching.d.ts +3 -3
- package/dist/src/execution/model-call-batching.js +1 -1
- package/dist/src/execution/ndjson-stream.d.ts +1 -1
- package/dist/src/execution/node-step.d.ts +2 -8
- package/dist/src/execution/node-step.js +1 -1
- package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
- package/dist/src/execution/proxied-deliver-step.js +1 -1
- package/dist/src/execution/public-destination.d.ts +34 -0
- package/dist/src/execution/public-destination.js +1 -0
- package/dist/src/execution/publish-session-events.d.ts +98 -36
- package/dist/src/execution/publish-session-events.js +1 -1
- package/dist/src/execution/runtime-context.js +1 -1
- package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
- package/dist/src/execution/sandbox/bash.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
- package/dist/src/execution/sandbox/bindings/docker.js +1 -1
- package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
- package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
- package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
- package/dist/src/execution/sandbox/ensure.js +1 -1
- package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
- package/dist/src/execution/sandbox/grep-search.js +6 -0
- package/dist/src/execution/sandbox/read-file.d.ts +1 -1
- package/dist/src/execution/sandbox/session.js +1 -1
- package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
- package/dist/src/execution/sandbox/workspace-root.js +1 -0
- package/dist/src/execution/session/active-turn.d.ts +12 -6
- package/dist/src/execution/session/active-turn.js +1 -1
- package/dist/src/execution/session/admission.d.ts +7 -2
- package/dist/src/execution/session/admission.js +1 -1
- package/dist/src/execution/session/answer-caller.d.ts +4 -4
- package/dist/src/execution/session/answer-caller.js +1 -1
- package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
- package/dist/src/execution/session/checkpoint-migrations.js +1 -1
- package/dist/src/execution/session/control-delivery.d.ts +4 -0
- package/dist/src/execution/session/control-delivery.js +1 -0
- package/dist/src/execution/session/delivery-facts.d.ts +27 -0
- package/dist/src/execution/session/delivery-facts.js +1 -0
- package/dist/src/execution/session/end-sandbox-step.js +1 -1
- package/dist/src/execution/session/entry.js +1 -1
- package/dist/src/execution/session/finalization.d.ts +4 -0
- package/dist/src/execution/session/finalization.js +1 -1
- package/dist/src/execution/session/handoff-state.js +1 -1
- package/dist/src/execution/session/handoff-steps.d.ts +0 -8
- package/dist/src/execution/session/handoff-steps.js +1 -1
- package/dist/src/execution/session/handoff.d.ts +4 -3
- package/dist/src/execution/session/handoff.js +1 -1
- package/dist/src/execution/session/input-queue.d.ts +8 -2
- package/dist/src/execution/session/input-queue.js +1 -1
- package/dist/src/execution/session/interrupted-step.d.ts +64 -0
- package/dist/src/execution/session/interrupted-step.js +3 -0
- package/dist/src/execution/session/next-input.d.ts +7 -1
- package/dist/src/execution/session/next-input.js +1 -1
- package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
- package/dist/src/execution/session/pending-turn-state.js +1 -1
- package/dist/src/execution/session/prewarm-step.d.ts +1 -1
- package/dist/src/execution/session/prewarm-step.js +1 -1
- package/dist/src/execution/session/program.js +1 -1
- package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
- package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
- package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
- package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
- package/dist/src/execution/session/state-delta.d.ts +2 -12
- package/dist/src/execution/session/state-delta.js +1 -1
- package/dist/src/execution/session/step-decision-check.d.ts +9 -0
- package/dist/src/execution/session/step-decision-check.js +1 -0
- package/dist/src/execution/session/step-state-delta.d.ts +16 -0
- package/dist/src/execution/session/step-state-delta.js +1 -0
- package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
- package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
- package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
- package/dist/src/execution/session/turn-event-handler.js +1 -1
- package/dist/src/execution/session/turn-step-result.d.ts +7 -2
- package/dist/src/execution/session/turn-step-result.js +1 -1
- package/dist/src/execution/session/turn-step-types.d.ts +35 -33
- package/dist/src/execution/session/turn-step.js +1 -1
- package/dist/src/execution/session/turn.d.ts +19 -32
- package/dist/src/execution/session/turn.js +1 -1
- package/dist/src/execution/session-callback-request.d.ts +7 -1
- package/dist/src/execution/session-callback-request.js +1 -1
- package/dist/src/execution/session-event-stream.d.ts +37 -16
- package/dist/src/execution/session-event-stream.js +1 -1
- package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
- package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
- package/dist/src/execution/session-inbox/inbox.js +1 -1
- package/dist/src/execution/session-inbox/owner.d.ts +5 -2
- package/dist/src/execution/session-inbox/owner.js +1 -1
- package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
- package/dist/src/execution/session-inbox/pre-v27.js +1 -0
- package/dist/src/execution/session-inbox/protocol.js +1 -1
- package/dist/src/execution/session-inbox/resume.js +1 -1
- package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
- package/dist/src/execution/session-workflow-tool-run.js +1 -1
- package/dist/src/execution/session.d.ts +3 -14
- package/dist/src/execution/session.js +2 -2
- package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/stop-runs.d.ts +35 -0
- package/dist/src/execution/stop-runs.js +1 -0
- package/dist/src/execution/tasks/model-step.d.ts +5 -9
- package/dist/src/execution/tasks/model-step.js +1 -1
- package/dist/src/execution/tasks/render.d.ts +5 -2
- package/dist/src/execution/tasks/render.js +1 -1
- package/dist/src/execution/tasks/session.d.ts +6 -3
- package/dist/src/execution/tasks/session.js +1 -1
- package/dist/src/execution/tasks/start.d.ts +9 -6
- package/dist/src/execution/tasks/start.js +1 -1
- package/dist/src/execution/tasks/steps.d.ts +11 -6
- package/dist/src/execution/tasks/steps.js +1 -1
- package/dist/src/execution/tasks/table.d.ts +18 -5
- package/dist/src/execution/tasks/table.js +1 -1
- package/dist/src/execution/tasks/task-id-input.js +1 -1
- package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
- package/dist/src/execution/terminal-session-completion-step.js +1 -1
- package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
- package/dist/src/execution/terminal-session-failure-step.js +1 -1
- package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
- package/dist/src/execution/terminate-child-sessions-step.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
- package/dist/src/execution/tools/workflow/answer.js +1 -1
- package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
- package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
- package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
- package/dist/src/execution/tools/workflow/body.js +1 -1
- package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
- package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
- package/dist/src/execution/tools/workflow/messages.js +1 -1
- package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
- package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
- package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
- package/dist/src/execution/tools/workflow/owner.js +1 -1
- package/dist/src/execution/tools/workflow/serve.js +1 -1
- package/dist/src/execution/tools/workflow/step.js +1 -1
- package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
- package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
- package/dist/src/execution/v26-history.d.ts +28 -0
- package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
- package/dist/src/execution/v26-history.fixtures.js +2 -0
- package/dist/src/execution/v26-history.js +1 -0
- package/dist/src/execution/web-fetch/request.js +1 -1
- package/dist/src/execution/workflow-errors.d.ts +5 -0
- package/dist/src/execution/workflow-errors.js +1 -1
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/extensions/code/extension/extension.d.ts +1 -11
- package/dist/src/extensions/code/extension/extension.js +1 -1
- package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
- package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
- package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
- package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
- package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
- package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
- package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
- package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
- package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
- package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
- package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
- package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
- package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
- package/dist/src/extensions/code/extension/tools/grep.js +1 -1
- package/dist/src/extensions/code/sandbox.d.ts +1 -0
- package/dist/src/extensions/code/sandbox.js +1 -0
- package/dist/src/extensions/code/tools.d.ts +1 -5
- package/dist/src/extensions/code/tools.js +1 -1
- package/dist/src/extensions/git/extension/extension.d.ts +3 -3
- package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
- package/dist/src/extensions/git/extension/instructions/github.js +1 -1
- package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
- package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
- package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
- package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
- package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
- package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
- package/dist/src/extensions/git/extension/skills/pr.js +1 -1
- package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
- package/dist/src/extensions/git/extension/tools/gh.js +1 -1
- package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
- package/dist/src/harness/action-presentation.d.ts +3 -5
- package/dist/src/harness/action-presentation.js +1 -1
- package/dist/src/harness/action-result-helpers.d.ts +2 -8
- package/dist/src/harness/action-result-helpers.js +1 -1
- package/dist/src/harness/approval-outcome.d.ts +32 -0
- package/dist/src/harness/approval-outcome.js +1 -0
- package/dist/src/harness/attachment-staging.js +1 -1
- package/dist/src/harness/authorization.d.ts +2 -3
- package/dist/src/harness/authorization.js +1 -1
- package/dist/src/harness/call-executor.d.ts +118 -0
- package/dist/src/harness/call-executor.js +1 -0
- package/dist/src/harness/call-facts.d.ts +31 -0
- package/dist/src/harness/call-facts.js +1 -0
- package/dist/src/harness/call-outcome.d.ts +6 -0
- package/dist/src/harness/call-outcome.js +1 -0
- package/dist/src/harness/compaction/engine.d.ts +11 -0
- package/dist/src/harness/compaction/engine.js +2 -2
- package/dist/src/harness/compaction/step.d.ts +25 -5
- package/dist/src/harness/compaction/step.js +1 -1
- package/dist/src/harness/coordination.js +1 -1
- package/dist/src/harness/current-messages.d.ts +10 -0
- package/dist/src/harness/current-messages.js +1 -1
- package/dist/src/harness/emission.d.ts +9 -20
- package/dist/src/harness/emission.js +1 -1
- package/dist/src/harness/execute-call.d.ts +6 -23
- package/dist/src/harness/execute-call.js +1 -1
- package/dist/src/harness/execute-tool.d.ts +7 -3
- package/dist/src/harness/facts.d.ts +82 -0
- package/dist/src/harness/facts.js +1 -0
- package/dist/src/harness/finish-reason.d.ts +6 -1
- package/dist/src/harness/generation-steering.d.ts +4 -2
- package/dist/src/harness/generation-steering.js +1 -1
- package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
- package/dist/src/harness/hitl/approval-prompt.js +3 -3
- package/dist/src/harness/hitl/approvals.d.ts +66 -78
- package/dist/src/harness/hitl/approvals.js +2 -1
- package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
- package/dist/src/harness/hitl/approved-calls.js +1 -1
- package/dist/src/harness/hitl/budget-request.d.ts +8 -46
- package/dist/src/harness/hitl/budget-request.js +1 -1
- package/dist/src/harness/hitl/budget.d.ts +9 -8
- package/dist/src/harness/hitl/budget.js +1 -1
- package/dist/src/harness/hitl/delivery.d.ts +16 -17
- package/dist/src/harness/hitl/delivery.js +1 -1
- package/dist/src/harness/hitl/index.d.ts +14 -19
- package/dist/src/harness/hitl/index.js +1 -1
- package/dist/src/harness/hitl/intake.d.ts +32 -43
- package/dist/src/harness/hitl/intake.js +1 -1
- package/dist/src/harness/hitl/relays.d.ts +7 -51
- package/dist/src/harness/hitl/relays.js +1 -1
- package/dist/src/harness/hitl/requests.d.ts +11 -53
- package/dist/src/harness/hitl/requests.js +1 -1
- package/dist/src/harness/hitl/responders.d.ts +50 -0
- package/dist/src/harness/hitl/responders.js +1 -0
- package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
- package/dist/src/harness/hitl/sign-ins.js +1 -1
- package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
- package/dist/src/harness/hitl/stale-responses.js +3 -3
- package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
- package/dist/src/harness/inline-tool-authorization.js +1 -1
- package/dist/src/harness/interaction-facts.d.ts +36 -0
- package/dist/src/harness/interaction-facts.js +1 -0
- package/dist/src/harness/interaction-relay.d.ts +10 -0
- package/dist/src/harness/interaction-relay.js +1 -0
- package/dist/src/harness/interrupted-attempt.d.ts +19 -0
- package/dist/src/harness/interrupted-attempt.js +2 -0
- package/dist/src/harness/messages.d.ts +28 -15
- package/dist/src/harness/messages.js +1 -1
- package/dist/src/harness/model-call/call.d.ts +25 -11
- package/dist/src/harness/model-call/call.js +1 -1
- package/dist/src/harness/model-call/errors.js +1 -1
- package/dist/src/harness/model-call/failure.d.ts +4 -49
- package/dist/src/harness/model-call/failure.js +1 -1
- package/dist/src/harness/model-call/model.js +1 -1
- package/dist/src/harness/model-call/recovery.d.ts +4 -32
- package/dist/src/harness/model-call/recovery.js +1 -1
- package/dist/src/harness/model-call/request.d.ts +0 -1
- package/dist/src/harness/model-call/request.js +1 -1
- package/dist/src/harness/model-call/response.d.ts +22 -12
- package/dist/src/harness/model-call/response.js +1 -1
- package/dist/src/harness/model-call/retry.d.ts +23 -6
- package/dist/src/harness/model-call/retry.js +1 -1
- package/dist/src/harness/model-call/run.d.ts +4 -12
- package/dist/src/harness/model-call/run.js +1 -1
- package/dist/src/harness/model-call/tools.d.ts +0 -19
- package/dist/src/harness/model-call/tools.js +1 -1
- package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
- package/dist/src/harness/model-call/unique-call-ids.js +1 -0
- package/dist/src/harness/model-call/usage.d.ts +7 -5
- package/dist/src/harness/model-call/usage.js +1 -1
- package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
- package/dist/src/harness/ordered-stream-emitter.js +1 -1
- package/dist/src/harness/provider-tool-history.js +1 -1
- package/dist/src/harness/publication.d.ts +4 -0
- package/dist/src/harness/publication.js +1 -0
- package/dist/src/harness/request-envelope.d.ts +0 -3
- package/dist/src/harness/request-envelope.js +1 -1
- package/dist/src/harness/running-work.d.ts +10 -0
- package/dist/src/harness/running-work.js +1 -0
- package/dist/src/harness/session-machine/cascade.d.ts +17 -0
- package/dist/src/harness/session-machine/cascade.js +1 -0
- package/dist/src/harness/session-machine/commit.d.ts +16 -16
- package/dist/src/harness/session-machine/commit.js +1 -1
- package/dist/src/harness/session-machine/current.d.ts +25 -17
- package/dist/src/harness/session-machine/current.js +1 -1
- package/dist/src/harness/session-machine/state.d.ts +43 -16
- package/dist/src/harness/session-machine/state.js +1 -1
- package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
- package/dist/src/harness/session-machine/suspended-steps.js +1 -0
- package/dist/src/harness/session-machine/transitions.d.ts +144 -120
- package/dist/src/harness/session-machine/transitions.js +1 -1
- package/dist/src/harness/session-machine/view.d.ts +12 -8
- package/dist/src/harness/session-machine/view.js +1 -1
- package/dist/src/harness/session-machine/waiting.d.ts +16 -0
- package/dist/src/harness/session-machine/waiting.js +1 -0
- package/dist/src/harness/session-usage.d.ts +22 -0
- package/dist/src/harness/session-usage.js +1 -0
- package/dist/src/harness/step/after-model.d.ts +1 -4
- package/dist/src/harness/step/after-model.js +1 -1
- package/dist/src/harness/step/context.d.ts +21 -21
- package/dist/src/harness/step/context.js +1 -1
- package/dist/src/harness/step/intake.d.ts +7 -8
- package/dist/src/harness/step/intake.js +1 -1
- package/dist/src/harness/step/park.d.ts +19 -0
- package/dist/src/harness/step/park.js +1 -0
- package/dist/src/harness/step/prompt.d.ts +4 -5
- package/dist/src/harness/step/prompt.js +1 -1
- package/dist/src/harness/step-hooks.d.ts +24 -24
- package/dist/src/harness/step-hooks.js +1 -1
- package/dist/src/harness/stream-actions.d.ts +3 -9
- package/dist/src/harness/stream-actions.js +1 -1
- package/dist/src/harness/token-estimate.js +1 -1
- package/dist/src/harness/tool-history-repair.js +1 -1
- package/dist/src/harness/tool-loop.js +1 -1
- package/dist/src/harness/tools.d.ts +22 -38
- package/dist/src/harness/tools.js +1 -1
- package/dist/src/harness/types.d.ts +69 -67
- package/dist/src/harness/user-parts.d.ts +4 -0
- package/dist/src/harness/user-parts.js +1 -0
- package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
- package/dist/src/harness/workflow-tool-runs.js +1 -1
- package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
- package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
- package/dist/src/instrumentation/channel-delivery.js +1 -1
- package/dist/src/instrumentation/content.d.ts +1 -7
- package/dist/src/instrumentation/content.js +1 -1
- package/dist/src/instrumentation/dispatch.js +1 -1
- package/dist/src/instrumentation/lifecycle.d.ts +135 -198
- package/dist/src/instrumentation/lifecycle.js +1 -1
- package/dist/src/instrumentation/memory.d.ts +4 -2
- package/dist/src/instrumentation/memory.js +1 -1
- package/dist/src/instrumentation/native-events.d.ts +17 -10
- package/dist/src/instrumentation/native-events.js +1 -1
- package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
- package/dist/src/instrumentation/provider.d.ts +20 -28
- package/dist/src/instrumentation/providers.js +1 -1
- package/dist/src/instrumentation/runtime-context.d.ts +1 -0
- package/dist/src/instrumentation/runtime-context.js +1 -1
- package/dist/src/instrumentation/runtime.d.ts +9 -30
- package/dist/src/instrumentation/runtime.js +1 -1
- package/dist/src/instrumentation/scope.d.ts +6 -0
- package/dist/src/instrumentation/scope.js +1 -0
- package/dist/src/instrumentation/session-context.d.ts +1 -1
- package/dist/src/instrumentation/session-context.js +1 -1
- package/dist/src/instrumentation/session-init.js +1 -1
- package/dist/src/instrumentation/setup-context.d.ts +2 -2
- package/dist/src/instrumentation/setup-context.js +1 -1
- package/dist/src/instrumentation/state.d.ts +0 -21
- package/dist/src/instrumentation/state.js +1 -1
- package/dist/src/internal/application/dev-environment.d.ts +8 -2
- package/dist/src/internal/application/dev-environment.js +1 -1
- package/dist/src/internal/application/optional-package-install.js +1 -1
- package/dist/src/internal/application/stamped-package-version.js +1 -1
- package/dist/src/internal/authored-definition/approval.d.ts +2 -4
- package/dist/src/internal/authored-definition/approval.js +1 -1
- package/dist/src/internal/authored-definition/connection.js +1 -1
- package/dist/src/internal/authored-definition/core.d.ts +1 -1
- package/dist/src/internal/authored-definition/core.js +1 -1
- package/dist/src/internal/authored-definition/memory.js +1 -1
- package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
- package/dist/src/internal/authored-definition/schema-backed.js +1 -1
- package/dist/src/internal/authored-module-loader.d.ts +0 -1
- package/dist/src/internal/authored-module-loader.js +1 -1
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/git.d.ts +2 -0
- package/dist/src/internal/git.js +1 -0
- package/dist/src/internal/grep.d.ts +1 -0
- package/dist/src/internal/grep.js +1 -0
- package/dist/src/internal/helpers/markdown.js +1 -1
- package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
- package/dist/src/internal/invocation/metadata.d.ts +0 -2
- package/dist/src/internal/invocation/metadata.js +1 -1
- package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
- package/dist/src/internal/invocation/workflow-execution.js +1 -1
- package/dist/src/internal/legacy-events.d.ts +5 -0
- package/dist/src/internal/legacy-events.js +1 -0
- package/dist/src/internal/logging.d.ts +0 -12
- package/dist/src/internal/logging.js +1 -1
- package/dist/src/internal/mcp/protected-resource.js +1 -1
- package/dist/src/internal/mcp/published-tools.js +1 -1
- package/dist/src/internal/model-auth/api-key.js +1 -1
- package/dist/src/internal/model-auth/development-broker-client.js +1 -1
- package/dist/src/internal/model-auth/development-broker-server.js +1 -1
- package/dist/src/internal/model-auth/transport.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
- package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
- package/dist/src/internal/nitro/host/build-extension.js +2 -2
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
- package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
- package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +1 -1
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
- package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
- package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
- package/dist/src/internal/nitro/routes/info.js +1 -1
- package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
- package/dist/src/internal/scaffold.d.ts +5 -0
- package/dist/src/internal/scaffold.js +1 -0
- package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
- package/dist/src/internal/workflow/development-world-client.js +1 -1
- package/dist/src/internal/workflow/development-world-server.js +1 -1
- package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
- package/dist/src/internal/workspace.d.ts +1 -0
- package/dist/src/internal/workspace.js +1 -0
- package/dist/src/models/auto.d.ts +27 -14
- package/dist/src/models/auto.js +2 -2
- package/dist/src/protocol/delivery.d.ts +11 -0
- package/dist/src/protocol/delivery.js +1 -0
- package/dist/src/protocol/descendant-observation.d.ts +12 -0
- package/dist/src/protocol/descendant-observation.js +1 -0
- package/dist/src/protocol/interaction-json.d.ts +66 -0
- package/dist/src/protocol/interaction-json.js +1 -0
- package/dist/src/protocol/interaction-options.d.ts +4 -0
- package/dist/src/protocol/interaction-options.js +1 -0
- package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
- package/dist/src/protocol/remote-agent-protocol.js +1 -1
- package/dist/src/protocol/routes.d.ts +3 -2
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/protocol/session-event.d.ts +22 -0
- package/dist/src/protocol/session-event.js +1 -0
- package/dist/src/protocol/session-events/authoring.d.ts +2 -0
- package/dist/src/protocol/session-events/authoring.js +1 -0
- package/dist/src/protocol/session-events/catalog.d.ts +50 -0
- package/dist/src/protocol/session-events/catalog.js +1 -0
- package/dist/src/protocol/session-events/checker.d.ts +23 -0
- package/dist/src/protocol/session-events/checker.js +1 -0
- package/dist/src/protocol/session-events/common.d.ts +105 -0
- package/dist/src/protocol/session-events/common.js +1 -0
- package/dist/src/protocol/session-events/envelope.d.ts +174 -0
- package/dist/src/protocol/session-events/envelope.js +1 -0
- package/dist/src/protocol/session-events/facts.d.ts +24 -0
- package/dist/src/protocol/session-events/facts.js +1 -0
- package/dist/src/protocol/session-events/families/call.d.ts +142 -0
- package/dist/src/protocol/session-events/families/call.js +1 -0
- package/dist/src/protocol/session-events/families/child.d.ts +51 -0
- package/dist/src/protocol/session-events/families/child.js +1 -0
- package/dist/src/protocol/session-events/families/content.d.ts +56 -0
- package/dist/src/protocol/session-events/families/content.js +1 -0
- package/dist/src/protocol/session-events/families/context.d.ts +55 -0
- package/dist/src/protocol/session-events/families/context.js +1 -0
- package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
- package/dist/src/protocol/session-events/families/delivery.js +1 -0
- package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
- package/dist/src/protocol/session-events/families/interaction.js +1 -0
- package/dist/src/protocol/session-events/families/model.d.ts +88 -0
- package/dist/src/protocol/session-events/families/model.js +1 -0
- package/dist/src/protocol/session-events/families/response.d.ts +66 -0
- package/dist/src/protocol/session-events/families/response.js +1 -0
- package/dist/src/protocol/session-events/families/session.d.ts +73 -0
- package/dist/src/protocol/session-events/families/session.js +1 -0
- package/dist/src/protocol/session-events/families/task.d.ts +46 -0
- package/dist/src/protocol/session-events/families/task.js +1 -0
- package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
- package/dist/src/protocol/session-events/families/turn.js +1 -0
- package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
- package/dist/src/protocol/session-events/families/usage.js +1 -0
- package/dist/src/protocol/session-events/guards.d.ts +11 -0
- package/dist/src/protocol/session-events/guards.js +1 -0
- package/dist/src/protocol/session-events/index.d.ts +16 -0
- package/dist/src/protocol/session-events/index.js +1 -0
- package/dist/src/protocol/session-events/json.d.ts +20 -0
- package/dist/src/protocol/session-events/json.js +1 -0
- package/dist/src/protocol/session-events/schemas.d.ts +320 -0
- package/dist/src/protocol/session-events/schemas.js +1 -0
- package/dist/src/protocol/session-http.d.ts +7 -0
- package/dist/src/protocol/session-http.js +1 -0
- package/dist/src/protocol/session-lines.d.ts +19 -0
- package/dist/src/protocol/session-lines.js +1 -0
- package/dist/src/protocol/session-projection/fold.d.ts +75 -0
- package/dist/src/protocol/session-projection/fold.js +1 -0
- package/dist/src/protocol/session-projection/index.d.ts +4 -0
- package/dist/src/protocol/session-projection/index.js +1 -0
- package/dist/src/protocol/session-projection/observations.d.ts +150 -0
- package/dist/src/protocol/session-projection/observations.js +1 -0
- package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
- package/dist/src/protocol/session-projection/public-view.js +1 -0
- package/dist/src/protocol/session-projection/reader.d.ts +62 -0
- package/dist/src/protocol/session-projection/reader.js +1 -0
- package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
- package/dist/src/protocol/session-projection/request-status.js +1 -0
- package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
- package/dist/src/protocol/session-projection/selectors.js +2 -0
- package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
- package/dist/src/protocol/session-projection/session-view.js +1 -0
- package/dist/src/protocol/session-projection/tables.d.ts +237 -0
- package/dist/src/protocol/session-projection/tables.js +1 -0
- package/dist/src/protocol/session-projection/tree.d.ts +72 -0
- package/dist/src/protocol/session-projection/tree.js +1 -0
- package/dist/src/protocol/session-projection.d.ts +38 -157
- package/dist/src/protocol/session-projection.js +1 -1
- package/dist/src/protocol/task-tools.d.ts +8 -6
- package/dist/src/protocol/task-tools.js +1 -1
- package/dist/src/protocol/v26-interactions.d.ts +11 -0
- package/dist/src/protocol/v26-interactions.js +1 -0
- package/dist/src/protocol/v26-lines.d.ts +5 -0
- package/dist/src/protocol/v26-lines.js +1 -0
- package/dist/src/public/agents/auth.d.ts +2 -2
- package/dist/src/public/agents/auth.js +1 -1
- package/dist/src/public/ai/index.d.ts +1 -0
- package/dist/src/public/channels/auth.d.ts +2 -532
- package/dist/src/public/channels/auth.js +1 -1
- package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
- package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +10 -10
- package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
- package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
- package/dist/src/public/channels/chat-sdk/index.js +1 -1
- package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
- package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
- package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
- package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
- package/dist/src/public/channels/discord/api.d.ts +8 -11
- package/dist/src/public/channels/discord/api.js +1 -1
- package/dist/src/public/channels/discord/attachments.d.ts +2 -2
- package/dist/src/public/channels/discord/authorization.d.ts +3 -13
- package/dist/src/public/channels/discord/authorization.js +2 -2
- package/dist/src/public/channels/discord/credentials.d.ts +11 -0
- package/dist/src/public/channels/discord/credentials.js +1 -0
- package/dist/src/public/channels/discord/defaults.d.ts +7 -1
- package/dist/src/public/channels/discord/defaults.js +1 -3
- package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
- package/dist/src/public/channels/discord/discordChannel.js +1 -1
- package/dist/src/public/channels/discord/hitl.d.ts +5 -4
- package/dist/src/public/channels/discord/hitl.js +1 -1
- package/dist/src/public/channels/discord/index.d.ts +4 -12
- package/dist/src/public/channels/discord/index.js +1 -1
- package/dist/src/public/channels/discord/messages.js +1 -1
- package/dist/src/public/channels/github/defaults.js +2 -4
- package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
- package/dist/src/public/channels/github/githubChannel.js +1 -1
- package/dist/src/public/channels/github/index.d.ts +3 -2
- package/dist/src/public/channels/github/index.js +1 -1
- package/dist/src/public/channels/github/state.d.ts +2 -0
- package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
- package/dist/src/public/channels/index.d.ts +16 -37
- package/dist/src/public/channels/index.js +1 -1
- package/dist/src/public/channels/linear/defaults.js +2 -4
- package/dist/src/public/channels/linear/hitl.d.ts +3 -3
- package/dist/src/public/channels/linear/hitl.js +2 -2
- package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
- package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
- package/dist/src/public/channels/linear/inbound.d.ts +5 -3
- package/dist/src/public/channels/linear/inbound.js +1 -1
- package/dist/src/public/channels/linear/index.d.ts +4 -6
- package/dist/src/public/channels/linear/index.js +1 -1
- package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
- package/dist/src/public/channels/linear/linearChannel.js +1 -1
- package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
- package/dist/src/public/channels/linq/inboundContent.js +1 -1
- package/dist/src/public/channels/linq/index.d.ts +1 -1
- package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
- package/dist/src/public/channels/mcp.d.ts +2 -2
- package/dist/src/public/channels/mcp.js +1 -1
- package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
- package/dist/src/public/channels/photon/inboundContent.js +1 -1
- package/dist/src/public/channels/photon/index.d.ts +1 -1
- package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
- package/dist/src/public/channels/reply.d.ts +22 -0
- package/dist/src/public/channels/reply.js +3 -0
- package/dist/src/public/channels/slack/action-status.js +1 -1
- package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
- package/dist/src/public/channels/slack/answers.js +1 -0
- package/dist/src/public/channels/slack/api.d.ts +5 -2
- package/dist/src/public/channels/slack/api.js +1 -1
- package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
- package/dist/src/public/channels/slack/approval-cards.js +2 -2
- package/dist/src/public/channels/slack/attachments.d.ts +6 -6
- package/dist/src/public/channels/slack/attachments.js +1 -1
- package/dist/src/public/channels/slack/blocks.d.ts +1 -1
- package/dist/src/public/channels/slack/blocks.js +1 -1
- package/dist/src/public/channels/slack/cards.d.ts +576 -0
- package/dist/src/public/channels/slack/cards.js +1 -0
- package/dist/src/public/channels/slack/connections.d.ts +4 -22
- package/dist/src/public/channels/slack/connections.js +1 -1
- package/dist/src/public/channels/slack/defaults.d.ts +13 -2
- package/dist/src/public/channels/slack/defaults.js +5 -5
- package/dist/src/public/channels/slack/hitl.d.ts +20 -19
- package/dist/src/public/channels/slack/hitl.js +3 -3
- package/dist/src/public/channels/slack/index.d.ts +7 -16
- package/dist/src/public/channels/slack/index.js +1 -1
- package/dist/src/public/channels/slack/interaction-cards.js +1 -1
- package/dist/src/public/channels/slack/interactions.d.ts +2 -2
- package/dist/src/public/channels/slack/interactions.js +1 -1
- package/dist/src/public/channels/slack/limits.js +1 -1
- package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
- package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
- package/dist/src/public/channels/slack/renderers.d.ts +21 -27
- package/dist/src/public/channels/slack/renderers.js +1 -1
- package/dist/src/public/channels/slack/reply-delivery.d.ts +4 -4
- package/dist/src/public/channels/slack/reply-delivery.js +1 -1
- package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
- package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.d.ts +30 -37
- package/dist/src/public/channels/slack/slackChannel.js +1 -1
- package/dist/src/public/channels/slack/task-card.d.ts +9 -9
- package/dist/src/public/channels/slack/task-card.js +1 -1
- package/dist/src/public/channels/teams/api.d.ts +3 -7
- package/dist/src/public/channels/teams/attachments.d.ts +4 -4
- package/dist/src/public/channels/teams/authorization.d.ts +5 -9
- package/dist/src/public/channels/teams/authorization.js +1 -1
- package/dist/src/public/channels/teams/credentials.d.ts +13 -0
- package/dist/src/public/channels/teams/credentials.js +1 -0
- package/dist/src/public/channels/teams/defaults.d.ts +2 -6
- package/dist/src/public/channels/teams/defaults.js +1 -3
- package/dist/src/public/channels/teams/hitl.d.ts +8 -7
- package/dist/src/public/channels/teams/hitl.js +1 -1
- package/dist/src/public/channels/teams/index.d.ts +6 -8
- package/dist/src/public/channels/teams/index.js +1 -1
- package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
- package/dist/src/public/channels/teams/teamsChannel.js +1 -1
- package/dist/src/public/channels/telegram/api.d.ts +3 -4
- package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
- package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
- package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
- package/dist/src/public/channels/telegram/authorization.js +2 -2
- package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
- package/dist/src/public/channels/telegram/credentials.js +1 -0
- package/dist/src/public/channels/telegram/defaults.js +1 -3
- package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
- package/dist/src/public/channels/telegram/hitl.js +2 -2
- package/dist/src/public/channels/telegram/index.d.ts +5 -7
- package/dist/src/public/channels/telegram/index.js +1 -1
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
- package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
- package/dist/src/public/channels/text.d.ts +4 -0
- package/dist/src/public/channels/text.js +1 -0
- package/dist/src/public/channels/twilio/api.d.ts +8 -8
- package/dist/src/public/channels/twilio/api.js +1 -1
- package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
- package/dist/src/public/channels/twilio/credentials.js +1 -0
- package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
- package/dist/src/public/channels/twilio/defaults.js +1 -5
- package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
- package/dist/src/public/channels/twilio/index.d.ts +4 -4
- package/dist/src/public/channels/twilio/index.js +1 -1
- package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
- package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
- package/dist/src/public/channels/twilio/verify.d.ts +6 -4
- package/dist/src/public/channels/undelivered-reply.d.ts +2 -2
- package/dist/src/public/channels/upload-policy.d.ts +7 -7
- package/dist/src/public/connections/index.d.ts +3 -5
- package/dist/src/public/context/index.d.ts +3 -2
- package/dist/src/public/definitions/agent.d.ts +18 -18
- package/dist/src/public/definitions/agent.js +1 -1
- package/dist/src/public/definitions/approval.d.ts +1 -1
- package/dist/src/public/definitions/channel.d.ts +57 -60
- package/dist/src/public/definitions/channel.js +1 -1
- package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
- package/dist/src/public/definitions/connections/dynamic.js +1 -1
- package/dist/src/public/definitions/connections/events.d.ts +9 -9
- package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
- package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
- package/dist/src/public/definitions/extension.d.ts +2 -4
- package/dist/src/public/definitions/extension.js +1 -1
- package/dist/src/public/definitions/hook.d.ts +63 -85
- package/dist/src/public/definitions/hook.js +1 -1
- package/dist/src/public/definitions/instructions.d.ts +3 -10
- package/dist/src/public/definitions/instructions.js +1 -1
- package/dist/src/public/definitions/model.d.ts +21 -0
- package/dist/src/public/definitions/model.js +1 -0
- package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
- package/dist/src/public/definitions/removed-event-keys.js +1 -0
- package/dist/src/public/definitions/sandbox.d.ts +1 -1
- package/dist/src/public/definitions/schedule.d.ts +4 -4
- package/dist/src/public/definitions/skill.d.ts +5 -0
- package/dist/src/public/definitions/skill.js +1 -1
- package/dist/src/public/events/index.d.ts +27 -0
- package/dist/src/public/events/index.js +1 -0
- package/dist/src/public/experimental/connections/index.d.ts +1 -0
- package/dist/src/public/experimental/connections/index.js +1 -0
- package/dist/src/public/experimental/schedules/client.js +1 -1
- package/dist/src/public/hooks/index.d.ts +4 -3
- package/dist/src/public/index.d.ts +3 -2
- package/dist/src/public/instructions/index.d.ts +2 -2
- package/dist/src/public/instrumentation/index.d.ts +9 -28
- package/dist/src/public/instrumentation/index.js +1 -1
- package/dist/src/public/instrumentation/otel.d.ts +1 -1
- package/dist/src/public/instrumentation/otel.js +1 -1
- package/dist/src/public/instrumentation/provider.d.ts +1 -1
- package/dist/src/public/instrumentation/provider.js +1 -1
- package/dist/src/public/local-dev.d.ts +3 -1
- package/dist/src/public/memory/file/backend.d.ts +1 -1
- package/dist/src/public/memory/file/backends/in-memory.js +1 -1
- package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
- package/dist/src/public/memory/file/provider.js +1 -1
- package/dist/src/public/memory/index.d.ts +14 -20
- package/dist/src/public/models/index.d.ts +3 -0
- package/dist/src/public/models/index.js +1 -1
- package/dist/src/public/models/openai/index.d.ts +0 -2
- package/dist/src/public/models/openai/index.js +1 -1
- package/dist/src/public/next/index.d.ts +5 -36
- package/dist/src/public/next/index.js +1 -1
- package/dist/src/public/nuxt/index.d.ts +1 -1
- package/dist/src/public/nuxt/module.d.ts +5 -2
- package/dist/src/public/sandbox/index.d.ts +1 -1
- package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
- package/dist/src/public/sandbox/vercel.d.ts +1 -1
- package/dist/src/public/schedules/subscription.d.ts +5 -8
- package/dist/src/public/server/index.d.ts +2 -14
- package/dist/src/public/server/index.js +1 -1
- package/dist/src/public/sessions/index.d.ts +6 -0
- package/dist/src/public/sessions/index.js +1 -0
- package/dist/src/public/skills/index.d.ts +2 -2
- package/dist/src/public/skills/index.js +1 -1
- package/dist/src/public/sveltekit/routing.d.ts +0 -4
- package/dist/src/public/sveltekit/routing.js +1 -1
- package/dist/src/public/tools/approval/index.d.ts +1 -1
- package/dist/src/public/tools/bash.d.ts +1 -1
- package/dist/src/public/tools/bash.js +1 -1
- package/dist/src/public/tools/glob.d.ts +1 -1
- package/dist/src/public/tools/glob.js +1 -1
- package/dist/src/public/tools/grep.d.ts +1 -1
- package/dist/src/public/tools/grep.js +1 -1
- package/dist/src/public/tools/index.d.ts +5 -9
- package/dist/src/public/tools/index.js +1 -1
- package/dist/src/public/tools/read-file.d.ts +1 -1
- package/dist/src/public/tools/read-file.js +1 -1
- package/dist/src/public/tools/result.d.ts +17 -9
- package/dist/src/public/tools/result.js +1 -1
- package/dist/src/public/tools/web-fetch.d.ts +1 -1
- package/dist/src/public/tools/web-fetch.js +1 -1
- package/dist/src/public/tools/web-search.d.ts +1 -3
- package/dist/src/public/tools/web-search.js +1 -1
- package/dist/src/public/tools/write-file.d.ts +1 -1
- package/dist/src/public/tools/write-file.js +1 -1
- package/dist/src/public/workflow-modules.d.ts +8 -2
- package/dist/src/react/index.d.ts +4 -7
- package/dist/src/react/index.js +1 -1
- package/dist/src/react/use-eve-agent.d.ts +68 -50
- package/dist/src/react/use-eve-agent.js +1 -1
- package/dist/src/reactions/bundle.d.ts +4 -0
- package/dist/src/reactions/bundle.js +1 -0
- package/dist/src/reactions/frame.d.ts +13 -0
- package/dist/src/reactions/frame.js +1 -0
- package/dist/src/reactions/intents.d.ts +22 -0
- package/dist/src/reactions/intents.js +1 -0
- package/dist/src/reactions/kinds/connection.d.ts +18 -0
- package/dist/src/reactions/kinds/connection.js +1 -0
- package/dist/src/reactions/kinds/hook.d.ts +8 -0
- package/dist/src/reactions/kinds/hook.js +1 -0
- package/dist/src/reactions/kinds/instructions.d.ts +21 -0
- package/dist/src/reactions/kinds/instructions.js +1 -0
- package/dist/src/reactions/kinds/memory.d.ts +72 -0
- package/dist/src/reactions/kinds/memory.js +1 -0
- package/dist/src/reactions/kinds/model.d.ts +21 -0
- package/dist/src/reactions/kinds/model.js +1 -0
- package/dist/src/reactions/kinds/skill.d.ts +27 -0
- package/dist/src/reactions/kinds/skill.js +1 -0
- package/dist/src/reactions/kinds/subagent.d.ts +16 -0
- package/dist/src/reactions/kinds/subagent.js +1 -0
- package/dist/src/reactions/kinds/tool.d.ts +16 -0
- package/dist/src/reactions/kinds/tool.js +1 -0
- package/dist/src/reactions/policy.d.ts +13 -0
- package/dist/src/reactions/policy.js +1 -0
- package/dist/src/reactions/reaction.d.ts +83 -0
- package/dist/src/reactions/reaction.js +1 -0
- package/dist/src/reactions/records.d.ts +40 -0
- package/dist/src/reactions/records.js +1 -0
- package/dist/src/reactions/remote.d.ts +25 -0
- package/dist/src/reactions/remote.js +1 -0
- package/dist/src/reactions/runner.d.ts +45 -0
- package/dist/src/reactions/runner.js +1 -0
- package/dist/src/reactions/state.d.ts +102 -0
- package/dist/src/reactions/state.js +1 -0
- package/dist/src/reactions/turn.d.ts +12 -0
- package/dist/src/reactions/turn.js +2 -0
- package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
- package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
- package/dist/src/runtime/agent/resolve-model.js +1 -1
- package/dist/src/runtime/connections/principal.d.ts +2 -0
- package/dist/src/runtime/connections/principal.js +1 -1
- package/dist/src/runtime/connections/registry.d.ts +2 -2
- package/dist/src/runtime/connections/registry.js +1 -1
- package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
- package/dist/src/runtime/connections/scoped-authorization.js +1 -1
- package/dist/src/runtime/graph.d.ts +0 -6
- package/dist/src/runtime/local-dev-capability.d.ts +2 -3
- package/dist/src/runtime/local-dev-capability.js +1 -1
- package/dist/src/runtime/resolve-agent-graph.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/resolve-connection.js +1 -1
- package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
- package/dist/src/runtime/resolve-dynamic.js +1 -0
- package/dist/src/runtime/resolve-hook.js +1 -1
- package/dist/src/runtime/resolve-memory.js +1 -1
- package/dist/src/runtime/resolve-tool.js +1 -1
- package/dist/src/runtime/schedules/collection-client.js +1 -1
- package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
- package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +0 -2
- package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
- package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
- package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
- package/dist/src/runtime/subagents/workflow.js +1 -1
- package/dist/src/runtime/types.d.ts +22 -39
- package/dist/src/sandbox/provider.d.ts +3 -3
- package/dist/src/sandbox/providers/default.d.ts +4 -2
- package/dist/src/sandbox/providers/default.js +1 -1
- package/dist/src/self-modification/agent.d.ts +3 -3
- package/dist/src/self-modification/agent.js +1 -1
- package/dist/src/self-modification/config.d.ts +1 -1
- package/dist/src/self-modification/config.js +1 -1
- package/dist/src/self-modification/deployed-sandbox.js +1 -1
- package/dist/src/self-modification/extension/extension.d.ts +1 -0
- package/dist/src/self-modification/extension/local-only.d.ts +1 -1
- package/dist/src/self-modification/extension/local-only.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
- package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
- package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
- package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
- package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
- package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
- package/dist/src/self-modification/mode.d.ts +8 -0
- package/dist/src/self-modification/mode.js +1 -1
- package/dist/src/self-modification/remote/config.d.ts +3 -6
- package/dist/src/self-modification/remote/extension.d.ts +1 -0
- package/dist/src/self-modification/remote/production-registry-add.js +1 -1
- package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
- package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
- package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
- package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
- package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
- package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
- package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
- package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
- package/dist/src/self-modification/scaffold.js +1 -1
- package/dist/src/self-modification/setup.js +3 -6
- package/dist/src/services/dev-client/client-options.js +1 -1
- package/dist/src/services/dev-client.d.ts +4 -4
- package/dist/src/services/dev-client.js +1 -1
- package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
- package/dist/src/setup/integrations/self-modification/setup.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
- package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
- package/dist/src/setup/verified-remote-agent.js +1 -1
- package/dist/src/shared/action-label.d.ts +5 -3
- package/dist/src/shared/action-label.js +1 -1
- package/dist/src/shared/action-types.d.ts +5 -0
- package/dist/src/shared/action-types.js +1 -1
- package/dist/src/shared/agent-definition.d.ts +14 -9
- package/dist/src/shared/answers-delivery-id.d.ts +1 -0
- package/dist/src/shared/answers-delivery-id.js +1 -0
- package/dist/src/shared/channel-context.d.ts +12 -0
- package/dist/src/shared/channel-context.js +1 -0
- package/dist/src/shared/channel-definition.d.ts +19 -26
- package/dist/src/shared/channel-delivery.d.ts +16 -0
- package/dist/src/shared/channel-delivery.js +1 -0
- package/dist/src/shared/connection-events.d.ts +2 -2
- package/dist/src/shared/connection-types.d.ts +7 -32
- package/dist/src/shared/conversation-context.d.ts +4 -13
- package/dist/src/shared/delivery.d.ts +38 -0
- package/dist/src/shared/delivery.js +1 -0
- package/dist/src/shared/history-message.d.ts +190 -0
- package/dist/src/shared/history-message.js +1 -0
- package/dist/src/shared/input.d.ts +23 -97
- package/dist/src/shared/input.js +1 -1
- package/dist/src/shared/instructions-definition.d.ts +2 -8
- package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
- package/dist/src/shared/instrumentation-channel.d.ts +12 -0
- package/dist/src/shared/instrumentation-channel.js +1 -0
- package/dist/src/shared/json.d.ts +2 -18
- package/dist/src/shared/memory-state.d.ts +4 -40
- package/dist/src/shared/memory-state.js +1 -1
- package/dist/src/shared/message-content.d.ts +19 -0
- package/dist/src/shared/message-content.js +1 -0
- package/dist/src/shared/network-address.d.ts +9 -0
- package/dist/src/shared/network-address.js +1 -1
- package/dist/src/shared/sandbox-environment.d.ts +2 -2
- package/dist/src/shared/sandbox-provider.d.ts +1 -1
- package/dist/src/shared/sandbox-session.d.ts +60 -85
- package/dist/src/shared/schedule-definition.d.ts +5 -5
- package/dist/src/shared/serialized-observability-state.d.ts +0 -2
- package/dist/src/shared/serialized-observability-state.js +1 -1
- package/dist/src/shared/session-history.d.ts +2 -2
- package/dist/src/shared/session.d.ts +22 -0
- package/dist/src/shared/session.js +1 -0
- package/dist/src/shared/skill-definition.d.ts +1 -1
- package/dist/src/shared/skill-package.d.ts +2 -2
- package/dist/src/shared/skill-package.js +1 -1
- package/dist/src/shared/token-usage-math.d.ts +5 -0
- package/dist/src/shared/token-usage-math.js +1 -0
- package/dist/src/shared/token-usage.d.ts +0 -2
- package/dist/src/shared/token-usage.js +1 -1
- package/dist/src/shared/validate-authorization.js +1 -1
- package/dist/src/shared/wait-with-signal.d.ts +2 -0
- package/dist/src/shared/wait-with-signal.js +1 -0
- package/dist/src/subagents/adapter.d.ts +3 -5
- 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 +6 -9
- package/dist/src/subagents/event-proxy-step.js +1 -1
- package/dist/src/subagents/hitl-proxy.d.ts +11 -23
- package/dist/src/subagents/hitl-proxy.js +1 -1
- package/dist/src/subagents/invocation.d.ts +8 -8
- package/dist/src/subagents/invocation.js +2 -2
- package/dist/src/subagents/parent-notification.d.ts +5 -0
- package/dist/src/subagents/parent-notification.js +1 -1
- package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
- package/dist/src/subagents/protocol-two-callback.js +1 -0
- package/dist/src/svelte/index.d.ts +3 -6
- package/dist/src/svelte/index.js +2 -39
- package/dist/src/svelte/use-eve-agent.d.ts +67 -56
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/tool-stubs/rules.js +1 -1
- package/dist/src/tools/approval/policies.d.ts +4 -16
- package/dist/src/tools/approval/policies.js +1 -1
- package/dist/src/tools/auth.d.ts +3 -3
- package/dist/src/tools/definition.d.ts +13 -35
- package/dist/src/tools/definition.js +1 -1
- package/dist/src/tools/dynamic.d.ts +13 -72
- package/dist/src/tools/dynamic.js +1 -1
- package/dist/src/tools/framework/agent.js +1 -1
- package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
- package/dist/src/tools/provided/ask-question-workflow.js +1 -1
- package/dist/src/tools/provided/ask-question.d.ts +2 -2
- package/dist/src/tools/provided/ask-question.js +1 -1
- package/dist/src/tools/provided/grep.d.ts +2 -15
- package/dist/src/tools/provided/grep.js +1 -2
- package/dist/src/tools/provided/no-reply.d.ts +2 -2
- package/dist/src/tools/provided/no-reply.js +1 -1
- package/dist/src/tools/provided/sleep-workflow.js +1 -1
- package/dist/src/tools/provided/sleep.d.ts +2 -2
- package/dist/src/tools/provided/sleep.js +1 -1
- package/dist/src/tools/provided/workflow.js +1 -1
- package/dist/src/tools/workflow-definition.d.ts +17 -15
- package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
- package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
- package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
- package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
- package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
- package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
- package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
- package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
- package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
- package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
- package/dist/src/tracing/eve/delegation.d.ts +4 -4
- package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
- package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
- package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
- package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
- package/dist/src/tracing/eve/otel-declaration.js +1 -1
- package/dist/src/tracing/eve/policy.d.ts +2 -2
- package/dist/src/tracing/eve/policy.js +1 -1
- package/dist/src/tracing/eve/session.d.ts +4 -3
- package/dist/src/tracing/eve/session.js +1 -1
- package/dist/src/vue/index.d.ts +3 -6
- package/dist/src/vue/index.js +2 -39
- package/dist/src/vue/use-eve-agent.d.ts +70 -59
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +40 -44
- package/docs/channels/chat-sdk.mdx +19 -13
- package/docs/channels/custom.mdx +106 -85
- package/docs/channels/discord.mdx +12 -12
- package/docs/channels/eve.mdx +48 -15
- package/docs/channels/github.mdx +2 -2
- package/docs/channels/linear.mdx +8 -8
- package/docs/channels/linq.mdx +1 -1
- package/docs/channels/mcp.mdx +2 -2
- package/docs/channels/overview.mdx +11 -1
- package/docs/channels/photon.mdx +1 -1
- package/docs/channels/slack.mdx +64 -57
- package/docs/channels/teams.mdx +4 -4
- package/docs/channels/telegram.mdx +1 -1
- package/docs/channels/twilio.mdx +2 -2
- package/docs/code-extension.mdx +19 -7
- package/docs/concepts/built-in-tools.md +21 -9
- package/docs/concepts/context-control.md +5 -8
- package/docs/concepts/default-harness.md +7 -8
- package/docs/concepts/execution-model-and-durability.mdx +119 -12
- package/docs/concepts/meta.json +1 -0
- package/docs/concepts/sessions-runs-and-streaming.md +244 -138
- package/docs/concepts/state.md +1 -1
- package/docs/concepts/upgrade-to-v27-events.md +128 -0
- package/docs/connections/mcp.mdx +38 -34
- package/docs/connections/openapi.mdx +23 -2
- package/docs/connections/overview.mdx +66 -57
- package/docs/evals/assertions.mdx +30 -24
- package/docs/evals/cases.mdx +19 -24
- package/docs/evals/judge.mdx +2 -2
- package/docs/evals/overview.mdx +7 -7
- package/docs/evals/reporters.mdx +15 -11
- package/docs/evals/targets.mdx +5 -3
- package/docs/evals/tool-stubs.mdx +2 -2
- package/docs/extensions.md +6 -3
- package/docs/guides/client/continuations.mdx +10 -10
- package/docs/guides/client/messages.mdx +50 -48
- package/docs/guides/client/output-schema.mdx +13 -13
- package/docs/guides/client/overview.mdx +12 -12
- package/docs/guides/client/streaming.mdx +160 -123
- package/docs/guides/decide.md +15 -9
- package/docs/guides/deployment/self-hosting.md +5 -40
- package/docs/guides/dynamic-capabilities.md +151 -406
- package/docs/guides/frontend/nextjs.mdx +1 -1
- package/docs/guides/frontend/nuxt.mdx +2 -2
- package/docs/guides/frontend/overview.mdx +257 -181
- package/docs/guides/frontend/sveltekit.mdx +4 -4
- package/docs/guides/frontend/tanstack.mdx +5 -5
- package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
- package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
- package/docs/guides/hooks.md +67 -55
- package/docs/guides/instrumentation/instrumentation.mdx +33 -27
- package/docs/guides/instrumentation/otel.mdx +4 -2
- package/docs/guides/remote-agents.md +116 -50
- package/docs/guides/self-modification.md +11 -7
- package/docs/instructions.mdx +4 -6
- package/docs/memory/custom-provider.md +63 -56
- package/docs/memory/file.md +1 -1
- package/docs/memory/overview.mdx +10 -18
- package/docs/patterns/durable-cross-channel-notifications.md +4 -3
- package/docs/patterns/multi-tenant-approvals.md +3 -3
- package/docs/patterns/multi-tenant-auth.md +3 -3
- package/docs/patterns/multi-tenant-memory.md +6 -7
- package/docs/patterns/voice-notes.md +1 -1
- package/docs/reference/cli.md +8 -24
- package/docs/reference/typescript-api.md +85 -60
- package/docs/sandbox/custom-providers.mdx +13 -14
- package/docs/sandbox/default.mdx +1 -1
- package/docs/sandbox/docker.mdx +10 -0
- package/docs/sandbox/index.mdx +4 -0
- package/docs/sandbox/vercel.mdx +6 -6
- package/docs/schedules.mdx +4 -4
- package/docs/skills.mdx +6 -6
- package/docs/subagents/index.mdx +25 -34
- package/docs/tools/human-in-the-loop.md +42 -34
- package/docs/tools/overview.mdx +14 -12
- package/docs/tools/tasks-upgrade.md +13 -1
- package/docs/tools/tasks.md +58 -89
- package/docs/tools/workflows.mdx +44 -33
- package/docs/tutorial/guard-the-spend.mdx +1 -1
- package/docs/tutorial/run-analysis.mdx +15 -12
- package/docs/tutorial/team-playbooks.mdx +19 -23
- package/package.json +146 -95
- package/dist/src/chunks/use-eve-agent-BE2_zd5q.js +0 -4968
- package/dist/src/chunks/use-eve-agent-e8a5vcFO.js +0 -4926
- package/dist/src/cli/invoke/command.d.ts +0 -19
- package/dist/src/cli/invoke/command.js +0 -1
- package/dist/src/cli/invoke/invoke.d.ts +0 -27
- package/dist/src/cli/invoke/invoke.js +0 -1
- package/dist/src/cli/invoke/result.d.ts +0 -137
- package/dist/src/cli/invoke/result.js +0 -1
- package/dist/src/client/agent-host.d.ts +0 -4
- package/dist/src/client/agent-host.js +0 -1
- package/dist/src/client/authorization-message-parts.d.ts +0 -4
- package/dist/src/client/authorization-message-parts.js +0 -1
- package/dist/src/client/conversation-projection.d.ts +0 -4
- package/dist/src/client/conversation-projection.js +0 -1
- package/dist/src/client/conversation-reducer.d.ts +0 -29
- package/dist/src/client/conversation-reducer.js +0 -1
- package/dist/src/client/eve-agent-projection.d.ts +0 -28
- package/dist/src/client/eve-agent-projection.js +0 -1
- package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
- package/dist/src/client/eve-agent-store-helpers.js +0 -2
- package/dist/src/client/eve-agent-store-state.d.ts +0 -96
- package/dist/src/client/eve-agent-store.d.ts +0 -45
- package/dist/src/client/eve-agent-store.js +0 -1
- package/dist/src/client/message-action-parts.d.ts +0 -37
- package/dist/src/client/message-action-parts.js +0 -1
- package/dist/src/client/message-reducer-primitives.d.ts +0 -6
- package/dist/src/client/message-reducer-primitives.js +0 -1
- package/dist/src/client/message-reducer-types.d.ts +0 -244
- package/dist/src/client/message-reducer.d.ts +0 -14
- package/dist/src/client/message-reducer.js +0 -1
- package/dist/src/client/message-response.d.ts +0 -74
- package/dist/src/client/message-response.js +0 -1
- package/dist/src/client/message-run-parts.d.ts +0 -22
- package/dist/src/client/message-run-parts.js +0 -1
- package/dist/src/client/output-schema.d.ts +0 -5
- package/dist/src/client/output-schema.js +0 -1
- package/dist/src/client/reducer.d.ts +0 -67
- package/dist/src/client/session-turn-dispatch.d.ts +0 -15
- package/dist/src/client/session-turn-dispatch.js +0 -1
- package/dist/src/client/tool-call-state.d.ts +0 -23
- package/dist/src/client/tool-call-state.js +0 -1
- package/dist/src/client/tool-part-state.d.ts +0 -7
- package/dist/src/client/tool-part-state.js +0 -1
- package/dist/src/client/transcript-reducer.d.ts +0 -49
- package/dist/src/client/transcript-reducer.js +0 -2
- package/dist/src/context/build-dynamic-tools.d.ts +0 -10
- package/dist/src/context/build-dynamic-tools.js +0 -1
- package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
- package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
- package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
- package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
- package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
- package/dist/src/context/dynamic-model-lifecycle.js +0 -1
- package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
- package/dist/src/context/dynamic-resolve-context.js +0 -1
- package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
- package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
- package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
- package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
- package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
- package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
- package/dist/src/context/dynamic-tool-metadata.js +0 -1
- package/dist/src/context/effective-model.d.ts +0 -5
- package/dist/src/context/effective-model.js +0 -1
- package/dist/src/context/hook-lifecycle.d.ts +0 -15
- package/dist/src/context/hook-lifecycle.js +0 -1
- package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
- package/dist/src/context/memory-event-lifecycle.js +0 -1
- package/dist/src/context/memory-lifecycle.d.ts +0 -47
- package/dist/src/context/memory-lifecycle.js +0 -1
- package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
- package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
- package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
- package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
- package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
- package/dist/src/execution/dynamic-connection-recovery.js +0 -1
- package/dist/src/execution/dynamic-connections.d.ts +0 -12
- package/dist/src/execution/dynamic-connections.js +0 -1
- package/dist/src/execution/history-view.d.ts +0 -10
- package/dist/src/execution/history-view.js +0 -1
- package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
- package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
- package/dist/src/execution/runtime-errors.d.ts +0 -13
- package/dist/src/execution/runtime-errors.js +0 -1
- package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
- package/dist/src/execution/sandbox/grep-tool.js +0 -3
- package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
- package/dist/src/execution/session/turn-waiting-step.js +0 -1
- package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
- package/dist/src/execution/tools/workflow/cancel.js +0 -1
- package/dist/src/execution/workflow-trace-context.d.ts +0 -8
- package/dist/src/execution/workflow-trace-context.js +0 -1
- package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
- package/dist/src/extensions/code/extension/instructions/github.js +0 -1
- package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
- package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
- package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
- package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
- package/dist/src/extensions/code/extension/skills/pr.js +0 -1
- package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
- package/dist/src/extensions/code/extension/tools/gh.js +0 -1
- package/dist/src/harness/approval-recheck.d.ts +0 -7
- package/dist/src/harness/approval-recheck.js +0 -1
- package/dist/src/harness/authorization-event-fields.d.ts +0 -16
- package/dist/src/harness/authorization-event-fields.js +0 -1
- package/dist/src/harness/hitl/candidates.d.ts +0 -139
- package/dist/src/harness/hitl/candidates.js +0 -1
- package/dist/src/harness/hitl/coordinator.d.ts +0 -35
- package/dist/src/harness/hitl/coordinator.js +0 -1
- package/dist/src/harness/input-extraction.d.ts +0 -13
- package/dist/src/harness/input-extraction.js +0 -1
- package/dist/src/harness/input-request-class.d.ts +0 -3
- package/dist/src/harness/input-request-class.js +0 -1
- package/dist/src/harness/input-request-resolution.d.ts +0 -39
- package/dist/src/harness/input-request-resolution.js +0 -1
- package/dist/src/harness/open-input-request.d.ts +0 -8
- package/dist/src/harness/open-input-request.js +0 -1
- package/dist/src/harness/session-machine/events.d.ts +0 -6
- package/dist/src/harness/session-machine/events.js +0 -1
- package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
- package/dist/src/harness/session-machine/resolver-events.js +0 -1
- package/dist/src/harness/tool-call-action.d.ts +0 -9
- package/dist/src/harness/tool-call-action.js +0 -1
- package/dist/src/harness/tool-interrupts.d.ts +0 -22
- package/dist/src/harness/tool-interrupts.js +0 -1
- package/dist/src/harness/tool-presentation.d.ts +0 -5
- package/dist/src/harness/tool-presentation.js +0 -1
- package/dist/src/harness/turn-tag-state.d.ts +0 -115
- package/dist/src/harness/turn-tag-state.js +0 -1
- package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
- package/dist/src/internal/dynamic-tool-rebind.js +0 -1
- package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
- package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
- package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
- package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
- package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
- package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
- package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
- package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
- package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
- package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
- package/dist/src/protocol/event-dedupe.d.ts +0 -26
- package/dist/src/protocol/event-dedupe.js +0 -1
- package/dist/src/protocol/event-id.d.ts +0 -10
- package/dist/src/protocol/event-id.js +0 -1
- package/dist/src/protocol/message-version.d.ts +0 -53
- package/dist/src/protocol/message-version.js +0 -1
- package/dist/src/protocol/message.d.ts +0 -1198
- package/dist/src/protocol/message.js +0 -2
- package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
- package/dist/src/public/channels/slack/input-response.js +0 -1
- package/dist/src/runtime/hooks/registry.d.ts +0 -34
- package/dist/src/runtime/hooks/registry.js +0 -1
- package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
- package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
- package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
- package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
- package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
- package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
- package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
- package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
- package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
- package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
- package/dist/src/self-modification/migration.d.ts +0 -9
- package/dist/src/self-modification/migration.js +0 -28
- package/dist/src/shared/history-view.d.ts +0 -22
- package/dist/src/shared/history-view.js +0 -1
- package/dist/src/shared/package-version.d.ts +0 -2
- package/dist/src/shared/package-version.js +0 -1
- package/dist/src/tools/durable-callbacks.d.ts +0 -118
- package/dist/src/tools/durable-callbacks.js +0 -1
- package/dist/src/tools/durable-schema.d.ts +0 -16
- package/dist/src/tools/durable-schema.js +0 -1
- /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
- /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
- /package/dist/src/client/{reducer.js → health-types.js} +0 -0
- /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
- /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
import { type ToolContext } from "eve/tools";
|
|
2
1
|
import { type GitHubConfig } from "./github-shell.ts";
|
|
3
2
|
export declare const GH_TOOL_DESCRIPTION = "Run one authenticated GitHub command in the sandbox. The full gh CLI surface is available. Commands run without an approval prompt; description records the GitHub-side result the command intends to produce. Declare exactly one repository in the configured GitHub organization: Connect mints the real token for only that repository, and the sandbox process receives only a placeholder GH_TOKEN that the firewall exchanges on matching GitHub requests. GitHub rejects access outside the token's server-side repository scope; commands that explicitly name another repository with -R, --repo, --repo=, or a repository argument to gh repo clone, view, or fork are denied before minting. Use simple argv quoting only, never environment assignments, pipes, redirects, substitutions, or other shell syntax. gh alias and extension commands may execute local code, but remain sandboxed. Use git here only for authenticated fetch, pull, push, or ls-remote against a strictly validated origin, and use gh-signed-commit only with --repo. Use ordinary bash for local git status, diff, add, commit, and rebase.";
|
|
4
|
-
/**
|
|
5
|
-
* The Connect-brokered `gh` tool, bound to one extension's GitHub config.
|
|
6
|
-
*
|
|
7
|
-
* Callbacks declare durable descriptors with empty closures: eve's transform
|
|
8
|
-
* would capture the `github` getter, which is not JSON, and imports through
|
|
9
|
-
* `eve/extensions/git/sandbox` are not transformed. The getter is boot-time
|
|
10
|
-
* wiring, not per-tool data; a fresh process reruns the dynamic resolver
|
|
11
|
-
* before replay, which binds a new getter.
|
|
12
|
-
*/
|
|
3
|
+
/** The Connect-brokered `gh` tool, rebuilt by the dynamic resolver with its current config. */
|
|
13
4
|
export declare function defineGhTool(github: () => GitHubConfig | undefined, description?: string): import("eve/tools").ToolDefinition<{
|
|
14
5
|
command: string;
|
|
15
6
|
permissions: {
|
|
@@ -34,5 +25,5 @@ export declare function defineGhTool(github: () => GitHubConfig | undefined, des
|
|
|
34
25
|
}[];
|
|
35
26
|
description: string;
|
|
36
27
|
workingDirectory?: string | undefined;
|
|
37
|
-
}, ctx: ToolContext): Promise<import("./github-shell.ts").GitHubShellOutput>;
|
|
28
|
+
}, ctx: import("eve/tools").ToolContext): Promise<import("./github-shell.ts").GitHubShellOutput>;
|
|
38
29
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeGitHubShell,githubShellApproval}from"./github-shell.js";import{githubShellInputSchema}from"./github-shell-schema.js";import{z}from"#compiled/zod/index.js";import{
|
|
1
|
+
import{executeGitHubShell,githubShellApproval}from"./github-shell.js";import{githubShellInputSchema}from"./github-shell-schema.js";import{z}from"#compiled/zod/index.js";import{defineTool}from"eve/tools";const GH_TOOL_DESCRIPTION=`Run one authenticated GitHub command in the sandbox. The full gh CLI surface is available. Commands run without an approval prompt; description records the GitHub-side result the command intends to produce. Declare exactly one repository in the configured GitHub organization: Connect mints the real token for only that repository, and the sandbox process receives only a placeholder GH_TOKEN that the firewall exchanges on matching GitHub requests. GitHub rejects access outside the token's server-side repository scope; commands that explicitly name another repository with -R, --repo, --repo=, or a repository argument to gh repo clone, view, or fork are denied before minting. Use simple argv quoting only, never environment assignments, pipes, redirects, substitutions, or other shell syntax. gh alias and extension commands may execute local code, but remain sandboxed. Use git here only for authenticated fetch, pull, push, or ls-remote against a strictly validated origin, and use gh-signed-commit only with --repo. Use ordinary bash for local git status, diff, add, commit, and rebase.`,ghOutputSchema=z.object({exitCode:z.number().int(),stderr:z.string(),stdout:z.string(),truncated:z.boolean()});function defineGhTool(e,t=GH_TOOL_DESCRIPTION){return defineTool({description:t,approval:({toolInput:e})=>githubShellApproval(e),inputSchema:githubShellInputSchema,outputSchema:ghOutputSchema,execute(t,n){return executeGitHubShell(t,e(),{context:n,auth:n.session.auth.current,getSandbox:()=>n.getSandbox(),sessionId:n.session.id})}})}export{GH_TOOL_DESCRIPTION,defineGhTool};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getToken } from "@vercel/connect";
|
|
2
1
|
import type { SessionAuthContext } from "eve/context";
|
|
3
2
|
import type { SandboxSession } from "eve/sandbox";
|
|
4
3
|
import type { ToolContext } from "eve/tools";
|
|
@@ -21,6 +20,8 @@ export interface GitHubShellOutput {
|
|
|
21
20
|
readonly stdout: string;
|
|
22
21
|
readonly truncated: boolean;
|
|
23
22
|
}
|
|
23
|
+
/** Resolves the co-author credited by this turn's GitHub publishing commands. */
|
|
24
|
+
export type GitHubAttribution = (ctx: ToolContext) => GitHubCoAuthor | null | PromiseLike<GitHubCoAuthor | null>;
|
|
24
25
|
export interface GitHubConfig {
|
|
25
26
|
/**
|
|
26
27
|
* Resolves who the current turn publishes for. When it returns a person,
|
|
@@ -29,7 +30,7 @@ export interface GitHubConfig {
|
|
|
29
30
|
* receives the `gh` tool's context, so `ctx.getToken` can resolve the
|
|
30
31
|
* requester's linked accounts.
|
|
31
32
|
*/
|
|
32
|
-
readonly attribution?:
|
|
33
|
+
readonly attribution?: GitHubAttribution;
|
|
33
34
|
readonly authorize?: GitHubAuthorize;
|
|
34
35
|
readonly broker: (sandbox: SandboxSession, rules: Readonly<Record<string, readonly GitHubLeaseRule[]>> | null) => Promise<void>;
|
|
35
36
|
readonly connector: string;
|
|
@@ -66,7 +67,16 @@ interface GitHubShellDependencies {
|
|
|
66
67
|
/** The calling tool's context, passed to `attribution`. */
|
|
67
68
|
readonly context?: ToolContext;
|
|
68
69
|
readonly auth?: SessionAuthContext | null;
|
|
69
|
-
readonly getConnectToken?:
|
|
70
|
+
readonly getConnectToken?: (connector: string, params: {
|
|
71
|
+
authorizationDetails: {
|
|
72
|
+
type: "github_app_installation";
|
|
73
|
+
org: string;
|
|
74
|
+
repositories: string[];
|
|
75
|
+
}[];
|
|
76
|
+
subject: {
|
|
77
|
+
type: "app";
|
|
78
|
+
};
|
|
79
|
+
}) => Promise<string>;
|
|
70
80
|
readonly getSandbox: () => Promise<SandboxSession>;
|
|
71
81
|
/** Serializes credential leases per eve session; every `ctx.getSandbox()` call returns a new handle. */
|
|
72
82
|
readonly sessionId: string;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
/** Consumer-facing helpers exported as `eve/extensions/git/sandbox`. */
|
|
2
2
|
export { executeGitHubShell, githubShellApproval, type GitHubCoAuthor, type GitHubConfig, type GitHubLeaseRule, type GitHubShellInput, type GitHubShellOutput, } from "./github-shell.ts";
|
|
3
|
-
export { GH_SIGNED_COMMIT_SOURCE, GH_SIGNED_COMMIT_VERSION } from "./signed-commit.ts";
|
|
4
|
-
export { GITHUB_TOOLING_PATHS } from "./tooling.ts";
|
|
5
|
-
export { defineGhTool, GH_TOOL_DESCRIPTION } from "./gh-tool.ts";
|
|
6
|
-
export { githubInstructions, prSkillDescription, prSkillMarkdown } from "./github-guidance.ts";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{executeGitHubShell,githubShellApproval}from"./github-shell.js";export{executeGitHubShell,githubShellApproval};
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
declare const _default: import("eve/skills").DynamicSentinel<
|
|
2
|
-
description: string;
|
|
3
|
-
markdown: string;
|
|
4
|
-
}>;
|
|
1
|
+
declare const _default: import("eve/skills").DynamicSentinel<import("eve/skills").DynamicSkillResult, import("eve/skills").DynamicContext>;
|
|
5
2
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import extension_default from"../extension.js";import{prSkillDescription,prSkillMarkdown}from"../lib/github-guidance.js";import{defineDynamic,defineSkill}from"eve/skills";var pr_default=defineDynamic(
|
|
1
|
+
import extension_default from"../extension.js";import{prSkillDescription,prSkillMarkdown}from"../lib/github-guidance.js";import{defineDynamic,defineSkill}from"eve/skills";var pr_default=defineDynamic(()=>{let e=extension_default.config.github!==void 0;return defineSkill({description:prSkillDescription(e),content:prSkillMarkdown(e)})});export{pr_default as default};
|
|
@@ -1,28 +1,3 @@
|
|
|
1
1
|
/** Present only with `github` config; otherwise agents use `gh` from their own shell. */
|
|
2
|
-
declare const _default: import("eve/tools").DynamicSentinel<(import("eve/tools").
|
|
3
|
-
command: string;
|
|
4
|
-
permissions: {
|
|
5
|
-
provider: "github";
|
|
6
|
-
repositories: string[];
|
|
7
|
-
access: "write";
|
|
8
|
-
}[];
|
|
9
|
-
description: string;
|
|
10
|
-
workingDirectory?: string | undefined;
|
|
11
|
-
}, {
|
|
12
|
-
exitCode: number;
|
|
13
|
-
stderr: string;
|
|
14
|
-
stdout: string;
|
|
15
|
-
truncated: boolean;
|
|
16
|
-
}> & {
|
|
17
|
-
execute(input: {
|
|
18
|
-
command: string;
|
|
19
|
-
permissions: {
|
|
20
|
-
provider: "github";
|
|
21
|
-
repositories: string[];
|
|
22
|
-
access: "write";
|
|
23
|
-
}[];
|
|
24
|
-
description: string;
|
|
25
|
-
workingDirectory?: string | undefined;
|
|
26
|
-
}, ctx: import("eve/tools").ToolContext): Promise<import("../lib/github-shell.ts").GitHubShellOutput>;
|
|
27
|
-
}) | null>;
|
|
2
|
+
declare const _default: import("eve/tools").DynamicSentinel<import("eve/tools").DynamicToolResult, import("eve/tools").DynamicContext>;
|
|
28
3
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import extension_default from"../extension.js";import{defineGhTool}from"../lib/gh-tool.js";import{defineDynamic}from"eve/tools";var gh_default=defineDynamic(
|
|
1
|
+
import extension_default from"../extension.js";import{defineGhTool}from"../lib/gh-tool.js";import{defineDynamic}from"eve/tools";var gh_default=defineDynamic(()=>extension_default.config.github===void 0?null:defineGhTool(()=>extension_default.config.github));export{gh_default as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getAuthoredModuleExport,materializeAuthoredModuleExport}from"#internal/authored-module.js";import{defineDynamic}from"#dynamic/definition.js";import{isScheduleCollectionDefinition,stampScheduleCollectionSource}from"#shared/schedule-collection-definition.js";import{normalizeScheduleCollectionDefinition}from"#internal/authored-definition/schedule-collection.js";import{createScheduleCollectionToolDynamicDefinition}from"#context/schedule-collection-tools.js";async function loadScheduleCollectionWrapperNamespace(e){let t=e.parameters.application,n=e.parameters.collection,r=e.parameters.collectionLogicalPath,i=e.parameters.collectionExportName,a=e.dependencies.collection;if(typeof t!=`string`||typeof n!=`string`||typeof r!=`string`||typeof i!=`string`||a===void 0)throw Error(`The compiled schedule collection wrapper is missing its selected collection source.`);let o=await materializeAuthoredModuleExport(getAuthoredModuleExport(a,{exportName:i,logicalPath:r}));if(!isScheduleCollectionDefinition(o))return{default:defineDynamic(
|
|
1
|
+
import{getAuthoredModuleExport,materializeAuthoredModuleExport}from"#internal/authored-module.js";import{defineDynamic}from"#dynamic/definition.js";import{isScheduleCollectionDefinition,stampScheduleCollectionSource}from"#shared/schedule-collection-definition.js";import{normalizeScheduleCollectionDefinition}from"#internal/authored-definition/schedule-collection.js";import{createScheduleCollectionToolDynamicDefinition}from"#context/schedule-collection-tools.js";async function loadScheduleCollectionWrapperNamespace(e){let t=e.parameters.application,n=e.parameters.collection,r=e.parameters.collectionLogicalPath,i=e.parameters.collectionExportName,a=e.dependencies.collection;if(typeof t!=`string`||typeof n!=`string`||typeof r!=`string`||typeof i!=`string`||a===void 0)throw Error(`The compiled schedule collection wrapper is missing its selected collection source.`);let o=await materializeAuthoredModuleExport(getAuthoredModuleExport(a,{exportName:i,logicalPath:r}));if(!isScheduleCollectionDefinition(o))return{default:defineDynamic(()=>null)};let s=normalizeScheduleCollectionDefinition(o,`Expected the schedule collection export "${i}" from "${r}" to be created with defineDynamicSchedules().`);return stampScheduleCollectionSource(o,{application:t,collection:n,logicalPath:r,sourceId:String(e.parameters.collectionSourceId??``)}),{default:createScheduleCollectionToolDynamicDefinition(s,{application:t,collection:n})}}export{loadScheduleCollectionWrapperNamespace};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { ToolSet, TypedToolCall } from "ai";
|
|
2
|
-
import type { ActionPresentationByCallId } from "#protocol/message.js";
|
|
3
2
|
import type { HarnessToolDefinition } from "#harness/execute-tool.js";
|
|
4
3
|
import type { HarnessToolLookup } from "#harness/types.js";
|
|
5
4
|
import type { RuntimeActionRequest } from "#shared/action-types.js";
|
|
@@ -11,8 +10,7 @@ export declare function createPresentedRuntimeActionRequestFromToolCall(input: {
|
|
|
11
10
|
readonly toolCall: TypedToolCall<ToolSet>;
|
|
12
11
|
readonly tools: HarnessToolLookup;
|
|
13
12
|
}): RuntimeActionRequestProjection;
|
|
14
|
-
/**
|
|
15
|
-
export declare function
|
|
13
|
+
/** Label callbacks share normalization, detached input, and failure isolation. */
|
|
14
|
+
export declare function projectToolLabel(definition: {
|
|
16
15
|
readonly label?: HarnessToolDefinition["label"];
|
|
17
|
-
} | undefined, input: unknown): string | undefined;
|
|
18
|
-
export declare function collectActionPresentation(actions: readonly RuntimeActionRequestProjection[]): ActionPresentationByCallId | undefined;
|
|
16
|
+
} | undefined, phase: "start" | "delta" | "complete", input: unknown, output?: unknown): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{parseJsonObject}from"#shared/json.js";import{createRuntimeActionRequestFromToolCall}from"#harness/coordination.js";import{normalizePresentationText}from"#shared/presentation-text.js";function createPresentedRuntimeActionRequestFromToolCall(e){let t=createRuntimeActionRequestFromToolCall(e),n=projectToolLabel(e.tools.get(e.toolCall.toolName),`start`,t.input);return n===void 0?{action:t}:{action:t,presentationLabel:n}}function projectToolLabel(e,t,n,r){let i=e?.label?.[t];if(i!==void 0&&n!==void 0)try{let e=normalizePresentationText(i(parseJsonObject(n),r));return e===``?void 0:e}catch{return}}export{createPresentedRuntimeActionRequestFromToolCall,projectToolLabel};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ModelMessage, ToolSet, TypedToolError, TypedToolResult } from "ai";
|
|
2
|
-
import type {
|
|
2
|
+
import type { RuntimeToolResultActionResult } from "#shared/action-types.js";
|
|
3
3
|
type ToolResponsePart = Extract<ModelMessage, {
|
|
4
4
|
role: "tool";
|
|
5
5
|
}>["content"][number];
|
|
@@ -9,7 +9,7 @@ type ToolResultPart = Extract<ToolResponsePart, {
|
|
|
9
9
|
/**
|
|
10
10
|
* Builds a `RuntimeToolResultActionResult` from a raw tool output value.
|
|
11
11
|
*
|
|
12
|
-
* This is the single coercion point for `
|
|
12
|
+
* This is the single coercion point for `call.settled` projection. Both
|
|
13
13
|
* native tool execution (via {@link createRuntimeToolResultFromStepResult} /
|
|
14
14
|
* {@link createRuntimeToolResultFromMessagePart}) and Workflow child calls
|
|
15
15
|
* funnel through here, so the raw-output-vs-`toModelOutput` decision —
|
|
@@ -33,12 +33,6 @@ export declare function createRuntimeToolResultFromStepResult(toolResult: TypedT
|
|
|
33
33
|
* `tool-error` part.
|
|
34
34
|
*/
|
|
35
35
|
export declare function createRuntimeToolResultFromToolError(toolError: TypedToolError<ToolSet>): RuntimeToolResultActionResult;
|
|
36
|
-
/**
|
|
37
|
-
* The action result a call's tool result reports. A skill load reports the
|
|
38
|
-
* `load-skill-result` of the skill its `input` names, as its call reports a
|
|
39
|
-
* `load-skill` action.
|
|
40
|
-
*/
|
|
41
|
-
export declare function toActionResult(result: RuntimeToolResultActionResult, input: unknown): RuntimeActionResult;
|
|
42
36
|
/**
|
|
43
37
|
* Builds the inline tool-result message part that repairs model history after a
|
|
44
38
|
* local tool execution error.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{toError}from"#shared/errors.js";import{parseJsonValue}from"#shared/json.js";import{authorizationPendingAsJsonObject,isAuthorizationPendingModelOutput,isAuthorizationSignal}from"#harness/authorization.js";import{withToolOutputSerializationError}from"#harness/tool-output-serialization.js";function toJsonValue(e){return isAuthorizationSignal(e)?parseJsonValue(authorizationPendingAsJsonObject({connections:e.challenges.map(e=>e.name)})):isAuthorizationPendingModelOutput(e)?parseJsonValue(authorizationPendingAsJsonObject(e)):parseJsonValue(e===void 0?null:e)}function createRuntimeToolResultFromValue(e){let t=e.isError===!0&&e.output instanceof Error?e.output:void 0,n={callId:e.callId,kind:`tool-result`,output:toolResultOutputToJsonValue({output:{type:e.isError===!0?`error-json`:`json`,value:t===void 0?e.output:t.message},toolCallId:e.callId,toolName:e.toolName}),toolName:e.toolName};return e.isError===!0?t===void 0?{...n,isError:!0}:{...n,errorName:t.name,isError:!0}:n}function createRuntimeToolResultFromStepResult(e){return createRuntimeToolResultFromValue({callId:e.toolCallId,output:e.output,toolName:e.toolName})}function createRuntimeToolResultFromToolError(e){return createRuntimeToolResultFromValue({callId:e.toolCallId,isError:!0,output:toError(e.error),toolName:e.toolName})}function createToolResultMessagePartFromToolError(e){return{type:`tool-result`,toolCallId:e.toolCallId,toolName:e.toolName,output:{type:`error-text`,value:toError(e.error).message}}}function createRuntimeToolResultFromMessagePart(e,t){return createRuntimeToolResultFromValue({callId:e.toolCallId,output:toolResultOutputToJsonValue({output:e.output,toolCallId:e.toolCallId,toolName:t}),toolName:t,isError:isToolResultError(e.output)})}function toolResultOutputToJsonValue(e){return withToolOutputSerializationError({boundary:`action.result`,toolCallId:e.toolCallId,toolName:e.toolName},()=>{switch(e.output.type){case`text`:case`error-text`:return e.output.value;case`json`:case`error-json`:return toJsonValue(e.output.value);case`execution-denied`:return{code:`TOOL_EXECUTION_DENIED`,message:e.output.reason??`Tool execution was denied.`};case`content`:return toJsonValue(e.output.value)}})}function isToolResultError(e){return e.type===`error-json`||e.type===`error-text`||e.type===`execution-denied`}export{createRuntimeToolResultFromMessagePart,createRuntimeToolResultFromStepResult,createRuntimeToolResultFromToolError,createRuntimeToolResultFromValue,createToolResultMessagePartFromToolError,isToolResultError};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { SettledCall } from "#harness/session-machine/transitions.js";
|
|
2
|
+
import type { ResponseValue } from "#protocol/session-events/families/response.js";
|
|
3
|
+
export declare const TOOL_EXECUTION_DENIED_MESSAGE = "Tool execution was denied.";
|
|
4
|
+
type ApprovalTerminalStatus = "approved" | "denied" | "ignored" | "invalid";
|
|
5
|
+
export declare function resolveApprovalOutcome(response: ResponseValue | undefined): {
|
|
6
|
+
readonly approved: boolean;
|
|
7
|
+
readonly reason: string | undefined;
|
|
8
|
+
readonly status: ApprovalTerminalStatus;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* What the model reads when a call's tool went away before the call could run.
|
|
12
|
+
* `searchable` says whether the agent has `eve__search` to find another.
|
|
13
|
+
*/
|
|
14
|
+
export declare function unavailableToolMessage(toolName: string, searchable: boolean): string;
|
|
15
|
+
/** Whether a parked call's dynamic entry has changed since the model was offered it. */
|
|
16
|
+
export declare function changedSinceOffered(call: {
|
|
17
|
+
readonly version?: string;
|
|
18
|
+
}, definition: {
|
|
19
|
+
readonly version?: string;
|
|
20
|
+
} | undefined): boolean;
|
|
21
|
+
/** What the model reads when a call's dynamic entry changed before the call could run. */
|
|
22
|
+
export declare function changedToolMessage(toolName: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* A call that ends without running: its failed runtime result, which the lifecycle reports at the
|
|
25
|
+
* step's coordinates, and the `error-text` result the model reads.
|
|
26
|
+
*/
|
|
27
|
+
export declare function failedCall(call: {
|
|
28
|
+
readonly callId: string;
|
|
29
|
+
readonly message: string | Error;
|
|
30
|
+
readonly toolName: string;
|
|
31
|
+
}): Required<Pick<SettledCall, "part" | "result">>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{SEARCH_TOOL_NAME}from"#protocol/catalog-tools.js";import{createRuntimeToolResultFromValue}from"#harness/action-result-helpers.js";const TOOL_EXECUTION_DENIED_MESSAGE=`Tool execution was denied.`;function resolveApprovalOutcome(e){if(e===void 0)return{approved:!1,reason:`Ignored because the user continued without responding.`,status:`ignored`};if(e.optionId===`approve`)return{approved:!0,reason:void 0,status:`approved`};if(e.optionId===`cancel`||e.optionId===`deny`){let t=e.text?.trim();return{approved:!1,reason:t?`${TOOL_EXECUTION_DENIED_MESSAGE} The person who denied it wrote: ${JSON.stringify(t)}`:TOOL_EXECUTION_DENIED_MESSAGE,status:`denied`}}return{approved:!1,reason:`Invalid approval response.`,status:`invalid`}}function unavailableToolMessage(e,t){return`The tool "${e}" is no longer available, so the call didn't run. If the task still needs it, ${t?`find an available tool with ${SEARCH_TOOL_NAME} and make a new call`:`make a new call with an available tool`}.`}function changedSinceOffered(e,t){return t!==void 0&&e.version!==t.version}function changedToolMessage(e){return`The tool "${e}" changed since it was offered, so the call didn't run. If the task still needs it, request it again.`}function failedCall(e){let{callId:t,message:n,toolName:r}=e;return{part:{output:{type:`error-text`,value:n instanceof Error?n.message:n},toolCallId:t,toolName:r,type:`tool-result`},result:createRuntimeToolResultFromValue({callId:t,isError:!0,output:n,toolName:r})}}export{TOOL_EXECUTION_DENIED_MESSAGE,changedSinceOffered,changedToolMessage,failedCall,resolveApprovalOutcome,unavailableToolMessage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createHash}from"node:crypto";import{buildSessionHandle}from"#channel/session.js";import{createLogger}from"#internal/logging.js";import{getAdapterKind}from"#channel/adapter.js";import{contextStorage,loadContext}from"#context/container.js";import{SandboxKey,SessionIdKey}from"#context/keys.js";import{deserializeUrlFilePart,isSerializedUrlFilePart}from"#internal/attachments/url-refs.js";import{basename,dirname,extname}from"node:path";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{createFrameworkUserMessage}from"#harness/messages.js";import{DEFAULT_UPLOAD_POLICY,isMediaTypeAllowed}from"#public/channels/upload-policy.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{verifyMediaType}from"#internal/attachments/media-metadata.js";import{readMediaMetadata}from"#internal/attachments/read-media-metadata.js";import{decodeSandboxRef,encodeSandboxRef,inlinesSandboxRefAsBytes,isSandboxRefUrl}from"#internal/attachments/sandbox-refs.js";import{isUnresolvedFileData,readFileData}from"#internal/attachments/data.js";import{EveAttachmentError}from"#internal/attachments/errors.js";import{maxBytesOf}from"#internal/attachments/limited-read.js";import{createPublicDownloads}from"#internal/attachments/public-link.js";const log=createLogger(`harness.attachment-staging`),UNSAFE_FILENAME_CHARS=/[^\w.-]+/g,CACHED_REF_BYTES_LIMIT=67108864,cachedRefBytes=new Map;let cachedRefBytesTotal=0;const MEDIA_TYPE_EXTENSIONS={"application/pdf":`.pdf`,"image/gif":`.gif`,"image/jpeg":`.jpg`,"image/png":`.png`,"image/webp":`.webp`};async function stageAttachmentsForAdapter(e,t,n){if(typeof e==`string`)return e;let r=reconstitueFilePartUrls(e),i=n.ctx.get(ChannelKey)?.uploadPolicy,a=createPublicDownloads(maxBytesOf(i??DEFAULT_UPLOAD_POLICY));return Promise.all(r.map(async e=>e.type===`file`?stageFilePart(e,t,n,a,i):e))}async function stageAttachmentsToSandbox(e){if(typeof e==`string`||!Array.isArray(e)||!hasFileParts(e))return e;let t=loadContext(),n=await activeSandbox(t.get(SandboxKey));if(n===null)return e.map(e=>e.type===`file`&&!isSandboxRefUrl(e.data)&&readFileData(e.data).kind!==`reference`?attachmentNote(e,`could not be stored: no sandbox is available.`):e);let r=t.get(ChannelKey);return stageAttachmentsForAdapter(e,n,r?buildAdapterContext(r,t):{ctx:t,state:{},session:buildSessionHandle(t)})}async function stageToolResultMedia(e){if(!e.some(hasInlineToolResultFile))return[...e];let t=await activeSandbox(contextStorage.getStore()?.get(SandboxKey));return Promise.all(e.map(async e=>{if(e.role!==`tool`||!hasInlineToolResultFile(e))return e;let n=await Promise.all(e.content.map(async e=>e.type===`tool-result`?{...e,output:await stageToolOutputFiles(e.output,t)}:e));return{...e,content:n}}))}async function hydrateSandboxAttachments(e){let t=replaceUnresolvedFileParts(e);if(!messagesContainSandboxRef(t))return t;let n=loadContext(),r=sandboxRefReader(n.get(SandboxKey),n.get(SessionIdKey));return Promise.all(t.map(async e=>{if(!messageContainsSandboxRef(e))return e;let t=await hydrateMessageContent(e.content,r);return{...e,content:t}}))}function sandboxRefReader(e,t){let n;return async r=>{let i=cacheKey(t,r),a=i===void 0?void 0:readCachedRefBytes(i);if(a!==void 0)return a;if(e===void 0)throw Error(`Cannot hydrate attachment ${r.path}: no SandboxKey is bound on the active eve context. Hydration must run inside a step scope with the framework sandbox provider installed.`);n??=activeSandbox(e);let o=await readSandboxRefBytes(r,await n);return o!==null&&i!==void 0&&cacheRefBytes(i,o),o}}function cacheKey(e,t){if(e!==void 0)return JSON.stringify([e,t.path,t.size,t.mediaType])}function readCachedRefBytes(e){let t=cachedRefBytes.get(e);return t!==void 0&&(cachedRefBytes.delete(e),cachedRefBytes.set(e,t)),t}function cacheRefBytes(e,t){if(!(t.byteLength>CACHED_REF_BYTES_LIMIT||cachedRefBytes.has(e))){cachedRefBytes.set(e,Buffer.from(t)),cachedRefBytesTotal+=t.byteLength;for(let[e,t]of cachedRefBytes){if(cachedRefBytesTotal<=CACHED_REF_BYTES_LIMIT)break;cachedRefBytes.delete(e),cachedRefBytesTotal-=t.byteLength}}}async function activeSandbox(e){if(e===void 0)return null;try{return await e.open()}catch(e){return log.warn(`session sandbox unavailable, degrading attachments to text`,{error:e}),null}}function replaceUnresolvedFileParts(e){let t=!1,n=e.map(e=>{if(e.role!==`user`||!Array.isArray(e.content)||!e.content.some(isUnresolvedFilePart))return e;t=!0;let n=e.content.map(e=>isUnresolvedFilePart(e)?attachmentNote(e,`could not be retrieved.`):e);return{...e,content:n}});return t?n:e}function isUnresolvedFilePart(e){return e.type===`file`&&!isSandboxRefUrl(e.data)&&isUnresolvedFileData(e.data)}function hasFileParts(e){for(let t of e)if(t.type===`file`)return!0;return!1}function messagesContainSandboxRef(e){for(let t of e)if(messageContainsSandboxRef(t))return!0;return!1}function messageContainsSandboxRef(e){let t=e.content;if(!Array.isArray(t))return!1;for(let e of t)if(isSandboxRefFilePart(e)||e.type===`tool-result`&&contentOutputParts(e.output).some(isToolOutputRefFile))return!0;return!1}function contentOutputParts(e){return e.type===`content`?e.value:[]}function hasInlineToolResultFile(e){return e.role===`tool`&&e.content.some(e=>e.type===`tool-result`&&contentOutputParts(e.output).some(isInlineToolOutputFile))}function isInlineToolOutputFile(e){return e.type===`file`&&e.data.type===`data`}function isToolOutputRefFile(e){return e.type===`file`&&e.data.type===`url`&&isSandboxRefUrl(e.data.url)}async function stageToolOutputFiles(e,t){if(e.type!==`content`||!e.value.some(isInlineToolOutputFile))return e;let n=await Promise.all(e.value.map(async e=>{if(!isInlineToolOutputFile(e)||e.data.type!==`data`)return e;let n=readFileData(e.data.data);if(n.kind===`link`)return e;if(t===null||n.kind!==`bytes`)return{text:`Returned file ${e.filename??`file`} (${e.mediaType}) could not be stored.`,type:`text`};let r=await writeSandboxRef(n.bytes,e.mediaType,e.filename,t);return{...e,data:{type:`url`,url:encodeSandboxRef(r)},mediaType:r.mediaType}}));return{...e,value:n}}function isSandboxRefFilePart(e){return typeof e==`object`&&!!e&&e.type===`file`&&isSandboxRefUrl(e.data)}async function hydrateMessageContent(e,t){return Array.isArray(e)?(await Promise.all(e.map(async e=>{if(isSandboxRefFilePart(e)){let n=decodeSandboxRef(e.data),r=renderSandboxRefAsTextPart(n);if(!inlinesSandboxRefAsBytes(n))return[r];let i=await t(n);return i===null?[renderMissingSandboxRef(n)]:[r,{...e,data:i,mediaType:n.mediaType}]}if(e.type===`tool-result`){let n=e;return[{...n,output:await hydrateToolOutput(n.output,t)}]}return[e]}))).flat():e}async function hydrateToolOutput(e,t){if(e.type!==`content`||!e.value.some(isToolOutputRefFile))return e;let n=await Promise.all(e.value.map(async e=>{if(!isToolOutputRefFile(e)||e.data.type!==`url`)return[e];let n=decodeSandboxRef(e.data.url),r=renderSandboxRefAsTextPart(n);if(!inlinesSandboxRefAsBytes(n))return[r];let i=await t(n);return i===null?[renderMissingSandboxRef(n)]:[r,{...e,data:{data:Buffer.from(i).toString(`base64`),type:`data`}}]}));return{...e,value:n.flat()}}async function readSandboxRefBytes(e,t){if(t===null)return null;let n=await t.readBinaryFile({path:e.path});return n===null?(log.warn(`sandbox-ref attachment bytes missing on hydration — degrading to text reference`,{mediaType:e.mediaType,path:e.path,size:e.size}),null):n.byteLength!==e.size||sha256Prefix(n)!==basename(dirname(e.path))?(log.warn(`sandbox-ref attachment bytes changed since staging — degrading to text reference`,{mediaType:e.mediaType,path:e.path,size:e.size}),null):n}function renderMissingSandboxRef(e){return{text:`FileNotFound: Current snapshot may be newer and does not contain ${e.path}.`,type:`text`}}function moveToolResultFilesToUserMessages(e){let t=[],n=[];for(let r of e){if(r.role!==`tool`&&n.length>0&&(t.push(createReturnedFilesMessage(n)),n=[]),r.role!==`tool`){t.push(r);continue}let e=r.content.map(e=>{if(e.type!==`tool-result`||e.output.type!==`content`)return e;let t=e.output.value.map(e=>{if(e.type!==`file`)return e;let t={data:e.data,mediaType:e.mediaType,type:`file`};return e.filename!==void 0&&(t.filename=e.filename),n.push(t),{text:`Attached file ${e.filename??`file`} (${e.mediaType}) follows this tool result.`,type:`text`}});return{...e,output:{...e.output,value:t}}});t.push({...r,content:e})}return n.length>0&&t.push(createReturnedFilesMessage(n)),t}function createReturnedFilesMessage(e){return createFrameworkUserMessage(`context.state`,[{text:`Files returned by the preceding tool results:`,type:`text`},...e])}function renderSandboxRefAsTextPart(e){return{text:`Attached file ${e.path} (${e.mediaType})`,type:`text`}}async function stageFilePart(e,t,n,r,i){if(isSandboxRefUrl(e.data))return e;let a=readFileData(e.data);if(a.kind===`bytes`)return stageResolvedBytes(e,{bytes:a.bytes},t,i);if(a.kind===`reference`)return e;if(a.kind===`unreadable`)return log.warn(`attachment data is not bytes, base64, or a URL — degrading to text part`,{filename:e.filename,mediaType:e.mediaType}),attachmentNote(e,`could not be read.`);let o;try{o=await resolveLink(a.url,n,r)}catch(t){if(!(t instanceof EveAttachmentError))throw t;return log.warn(`attachment resolver failed — degrading to text part`,{adapterKind:t.adapterKind,error:t.cause,filename:e.filename,kind:t.kind}),attachmentNote(e,`could not be retrieved: ${t.message}`)}return stageResolvedBytes(e,o,t,i)}function attachmentNote(e,t){return{text:`Attachment ${e.filename?.trim()||`file`} ${t}`,type:`text`}}async function stageResolvedBytes(e,t,n,r){let i=verifyMediaType(t.bytes,t.mediaType??e.mediaType??`application/octet-stream`);if(r!==void 0){let n=maxBytesOf(r);if(t.bytes.byteLength>n)return attachmentNote(e,`was not accepted: it is ${t.bytes.byteLength} bytes, over this channel's ${n}-byte upload limit.`);if(!isMediaTypeAllowed(i,r))return attachmentNote(e,`was not accepted: this channel doesn't accept ${i} files.`)}let a=await writeSandboxRef(t.bytes,i,t.filename??e.filename,n);return{...e,data:encodeSandboxRef(a),filename:a.path,mediaType:a.mediaType}}async function writeSandboxRef(e,t,n,r){let i=verifyMediaType(e,t),a=sha256Prefix(e),o=`.eve/attachments/${a}/${safeFilename(n,a,i)}`;await r.writeBinaryFile({content:e,path:o});let s={...readMediaMetadata(e,i),path:r.resolvePath(o)},c=cacheKey(contextStorage.getStore()?.get(SessionIdKey),s);return c!==void 0&&inlinesSandboxRefAsBytes(s)&&cacheRefBytes(c,e),s}async function resolveLink(e,t,n){let r=t.ctx.get(ChannelKey),i=r===void 0?`none`:getAdapterKind(r);if(r?.fetchFile!==void 0){let n;try{n=await r.fetchFile(e.href,t)}catch(e){throw e instanceof EveAttachmentError?new EveAttachmentError({adapterKind:i,cause:e.cause,kind:e.kind,message:e.message}):new EveAttachmentError({adapterKind:i,cause:e,kind:`resolver-threw`,message:`Attachment retrieval failed in the "${i}" channel.`})}if(n!==null)return Buffer.isBuffer(n)?{bytes:n}:n}return n(e,i)}function reconstitueFilePartUrls(e){let t=!1,n=e.map(e=>e.type===`file`&&isSerializedUrlFilePart(e.data)?(t=!0,{...e,data:deserializeUrlFilePart(e.data)}):e);return t?n:e}function sha256Prefix(e){return createHash(`sha256`).update(e).digest(`hex`).slice(0,16)}function safeFilename(e,t,n){let r=e===void 0?``:basename(e).replace(UNSAFE_FILENAME_CHARS,`_`),i=r.length>0?r:`file-${t}`,a=MEDIA_TYPE_EXTENSIONS[n];return a===void 0||extname(i)!==``?i:`${i}${a}`}export{hydrateSandboxAttachments,moveToolResultFilesToUserMessages,stageAttachmentsForAdapter,stageAttachmentsToSandbox,stageToolResultMedia};
|
|
1
|
+
import{createHash}from"node:crypto";import{buildChannelContext}from"#channel/session.js";import{createLogger}from"#internal/logging.js";import{getAdapterKind}from"#channel/adapter.js";import{contextStorage,loadContext}from"#context/container.js";import{SandboxKey,SessionIdKey}from"#context/keys.js";import{deserializeUrlFilePart,isSerializedUrlFilePart}from"#internal/attachments/url-refs.js";import{basename,dirname,extname}from"node:path";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{DEFAULT_UPLOAD_POLICY,isMediaTypeAllowed}from"#public/channels/upload-policy.js";import{createFrameworkUserMessage}from"#harness/messages.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{verifyMediaType}from"#internal/attachments/media-metadata.js";import{readMediaMetadata}from"#internal/attachments/read-media-metadata.js";import{decodeSandboxRef,encodeSandboxRef,inlinesSandboxRefAsBytes,isSandboxRefUrl}from"#internal/attachments/sandbox-refs.js";import{isUnresolvedFileData,readFileData}from"#internal/attachments/data.js";import{EveAttachmentError}from"#internal/attachments/errors.js";import{maxBytesOf}from"#internal/attachments/limited-read.js";import{createPublicDownloads}from"#internal/attachments/public-link.js";const log=createLogger(`harness.attachment-staging`),UNSAFE_FILENAME_CHARS=/[^\w.-]+/g,CACHED_REF_BYTES_LIMIT=67108864,cachedRefBytes=new Map;let cachedRefBytesTotal=0;const MEDIA_TYPE_EXTENSIONS={"application/pdf":`.pdf`,"image/gif":`.gif`,"image/jpeg":`.jpg`,"image/png":`.png`,"image/webp":`.webp`};async function stageAttachmentsForAdapter(e,t,n){if(typeof e==`string`)return e;let r=reconstitueFilePartUrls(e),i=n.ctx.get(ChannelKey)?.uploadPolicy,a=createPublicDownloads(maxBytesOf(i??DEFAULT_UPLOAD_POLICY));return Promise.all(r.map(async e=>e.type===`file`?stageFilePart(e,t,n,a,i):e))}async function stageAttachmentsToSandbox(e){if(typeof e==`string`||!Array.isArray(e)||!hasFileParts(e))return e;let t=loadContext(),n=await activeSandbox(t.get(SandboxKey));if(n===null)return e.map(e=>e.type===`file`&&!isSandboxRefUrl(e.data)&&readFileData(e.data).kind!==`reference`?attachmentNote(e,`could not be stored: no sandbox is available.`):e);let r=t.get(ChannelKey);return stageAttachmentsForAdapter(e,n,r?buildAdapterContext(r,t):{ctx:t,state:{},session:buildChannelContext(t).session})}async function stageToolResultMedia(e){if(!e.some(hasInlineToolResultFile))return[...e];let t=await activeSandbox(contextStorage.getStore()?.get(SandboxKey));return Promise.all(e.map(async e=>{if(e.role!==`tool`||!hasInlineToolResultFile(e))return e;let n=await Promise.all(e.content.map(async e=>e.type===`tool-result`?{...e,output:await stageToolOutputFiles(e.output,t)}:e));return{...e,content:n}}))}async function hydrateSandboxAttachments(e){let t=replaceUnresolvedFileParts(e);if(!messagesContainSandboxRef(t))return t;let n=loadContext(),r=sandboxRefReader(n.get(SandboxKey),n.get(SessionIdKey));return Promise.all(t.map(async e=>{if(!messageContainsSandboxRef(e))return e;let t=await hydrateMessageContent(e.content,r);return{...e,content:t}}))}function sandboxRefReader(e,t){let n;return async r=>{let i=cacheKey(t,r),a=i===void 0?void 0:readCachedRefBytes(i);if(a!==void 0)return a;if(e===void 0)throw Error(`Cannot hydrate attachment ${r.path}: no SandboxKey is bound on the active eve context. Hydration must run inside a step scope with the framework sandbox provider installed.`);n??=activeSandbox(e);let o=await readSandboxRefBytes(r,await n);return o!==null&&i!==void 0&&cacheRefBytes(i,o),o}}function cacheKey(e,t){if(e!==void 0)return JSON.stringify([e,t.path,t.size,t.mediaType])}function readCachedRefBytes(e){let t=cachedRefBytes.get(e);return t!==void 0&&(cachedRefBytes.delete(e),cachedRefBytes.set(e,t)),t}function cacheRefBytes(e,t){if(!(t.byteLength>CACHED_REF_BYTES_LIMIT||cachedRefBytes.has(e))){cachedRefBytes.set(e,Buffer.from(t)),cachedRefBytesTotal+=t.byteLength;for(let[e,t]of cachedRefBytes){if(cachedRefBytesTotal<=CACHED_REF_BYTES_LIMIT)break;cachedRefBytes.delete(e),cachedRefBytesTotal-=t.byteLength}}}async function activeSandbox(e){if(e===void 0)return null;try{return await e.open()}catch(e){return log.warn(`session sandbox unavailable, degrading attachments to text`,{error:e}),null}}function replaceUnresolvedFileParts(e){let t=!1,n=e.map(e=>{if(e.role!==`user`||!Array.isArray(e.content)||!e.content.some(isUnresolvedFilePart))return e;t=!0;let n=e.content.map(e=>isUnresolvedFilePart(e)?attachmentNote(e,`could not be retrieved.`):e);return{...e,content:n}});return t?n:e}function isUnresolvedFilePart(e){return e.type===`file`&&!isSandboxRefUrl(e.data)&&isUnresolvedFileData(e.data)}function hasFileParts(e){for(let t of e)if(t.type===`file`)return!0;return!1}function messagesContainSandboxRef(e){for(let t of e)if(messageContainsSandboxRef(t))return!0;return!1}function messageContainsSandboxRef(e){let t=e.content;if(!Array.isArray(t))return!1;for(let e of t)if(isSandboxRefFilePart(e)||e.type===`tool-result`&&contentOutputParts(e.output).some(isToolOutputRefFile))return!0;return!1}function contentOutputParts(e){return e.type===`content`?e.value:[]}function hasInlineToolResultFile(e){return e.role===`tool`&&e.content.some(e=>e.type===`tool-result`&&contentOutputParts(e.output).some(isInlineToolOutputFile))}function isInlineToolOutputFile(e){return e.type===`file`&&e.data.type===`data`}function isToolOutputRefFile(e){return e.type===`file`&&e.data.type===`url`&&isSandboxRefUrl(e.data.url)}async function stageToolOutputFiles(e,t){if(e.type!==`content`||!e.value.some(isInlineToolOutputFile))return e;let n=await Promise.all(e.value.map(async e=>{if(!isInlineToolOutputFile(e)||e.data.type!==`data`)return e;let n=readFileData(e.data.data);if(n.kind===`link`)return e;if(t===null||n.kind!==`bytes`)return{text:`Returned file ${e.filename??`file`} (${e.mediaType}) could not be stored.`,type:`text`};let r=await writeSandboxRef(n.bytes,e.mediaType,e.filename,t);return{...e,data:{type:`url`,url:encodeSandboxRef(r)},mediaType:r.mediaType}}));return{...e,value:n}}function isSandboxRefFilePart(e){return typeof e==`object`&&!!e&&e.type===`file`&&isSandboxRefUrl(e.data)}async function hydrateMessageContent(e,t){return Array.isArray(e)?(await Promise.all(e.map(async e=>{if(isSandboxRefFilePart(e)){let n=decodeSandboxRef(e.data),r=renderSandboxRefAsTextPart(n);if(!inlinesSandboxRefAsBytes(n))return[r];let i=await t(n);return i===null?[renderMissingSandboxRef(n)]:[r,{...e,data:i,mediaType:n.mediaType}]}if(e.type===`tool-result`){let n=e;return[{...n,output:await hydrateToolOutput(n.output,t)}]}return[e]}))).flat():e}async function hydrateToolOutput(e,t){if(e.type!==`content`||!e.value.some(isToolOutputRefFile))return e;let n=await Promise.all(e.value.map(async e=>{if(!isToolOutputRefFile(e)||e.data.type!==`url`)return[e];let n=decodeSandboxRef(e.data.url),r=renderSandboxRefAsTextPart(n);if(!inlinesSandboxRefAsBytes(n))return[r];let i=await t(n);return i===null?[renderMissingSandboxRef(n)]:[r,{...e,data:{data:Buffer.from(i).toString(`base64`),type:`data`}}]}));return{...e,value:n.flat()}}async function readSandboxRefBytes(e,t){if(t===null)return null;let n=await t.readBinaryFile({path:e.path});return n===null?(log.warn(`sandbox-ref attachment bytes missing on hydration — degrading to text reference`,{mediaType:e.mediaType,path:e.path,size:e.size}),null):n.byteLength!==e.size||sha256Prefix(n)!==basename(dirname(e.path))?(log.warn(`sandbox-ref attachment bytes changed since staging — degrading to text reference`,{mediaType:e.mediaType,path:e.path,size:e.size}),null):n}function renderMissingSandboxRef(e){return{text:`FileNotFound: Current snapshot may be newer and does not contain ${e.path}.`,type:`text`}}function moveToolResultFilesToUserMessages(e){let t=[],n=[];for(let r of e){if(r.role!==`tool`&&n.length>0&&(t.push(createReturnedFilesMessage(n)),n=[]),r.role!==`tool`){t.push(r);continue}let e=r.content.map(e=>{if(e.type!==`tool-result`||e.output.type!==`content`)return e;let t=e.output.value.map(e=>{if(e.type!==`file`)return e;let t={data:e.data,mediaType:e.mediaType,type:`file`};return e.filename!==void 0&&(t.filename=e.filename),n.push(t),{text:`Attached file ${e.filename??`file`} (${e.mediaType}) follows this tool result.`,type:`text`}});return{...e,output:{...e.output,value:t}}});t.push({...r,content:e})}return n.length>0&&t.push(createReturnedFilesMessage(n)),t}function createReturnedFilesMessage(e){return createFrameworkUserMessage(`context.state`,[{text:`Files returned by the preceding tool results:`,type:`text`},...e])}function renderSandboxRefAsTextPart(e){return{text:`Attached file ${e.path} (${e.mediaType})`,type:`text`}}async function stageFilePart(e,t,n,r,i){if(isSandboxRefUrl(e.data))return e;let a=readFileData(e.data);if(a.kind===`bytes`)return stageResolvedBytes(e,{bytes:a.bytes},t,i);if(a.kind===`reference`)return e;if(a.kind===`unreadable`)return log.warn(`attachment data is not bytes, base64, or a URL — degrading to text part`,{filename:e.filename,mediaType:e.mediaType}),attachmentNote(e,`could not be read.`);let o;try{o=await resolveLink(a.url,n,r)}catch(t){if(!(t instanceof EveAttachmentError))throw t;return log.warn(`attachment resolver failed — degrading to text part`,{adapterKind:t.adapterKind,error:t.cause,filename:e.filename,kind:t.kind}),attachmentNote(e,`could not be retrieved: ${t.message}`)}return stageResolvedBytes(e,o,t,i)}function attachmentNote(e,t){return{text:`Attachment ${e.filename?.trim()||`file`} ${t}`,type:`text`}}async function stageResolvedBytes(e,t,n,r){let i=verifyMediaType(t.bytes,t.mediaType??e.mediaType??`application/octet-stream`);if(r!==void 0){let n=maxBytesOf(r);if(t.bytes.byteLength>n)return attachmentNote(e,`was not accepted: it is ${t.bytes.byteLength} bytes, over this channel's ${n}-byte upload limit.`);if(!isMediaTypeAllowed(i,r))return attachmentNote(e,`was not accepted: this channel doesn't accept ${i} files.`)}let a=await writeSandboxRef(t.bytes,i,t.filename??e.filename,n);return{...e,data:encodeSandboxRef(a),filename:a.path,mediaType:a.mediaType}}async function writeSandboxRef(e,t,n,r){let i=verifyMediaType(e,t),a=sha256Prefix(e),o=`.eve/attachments/${a}/${safeFilename(n,a,i)}`;await r.writeBinaryFile({content:e,path:o});let s={...readMediaMetadata(e,i),path:r.resolvePath(o)},c=cacheKey(contextStorage.getStore()?.get(SessionIdKey),s);return c!==void 0&&inlinesSandboxRefAsBytes(s)&&cacheRefBytes(c,e),s}async function resolveLink(e,t,n){let r=t.ctx.get(ChannelKey),i=r===void 0?`none`:getAdapterKind(r);if(r?.fetchFile!==void 0){let n;try{n=await r.fetchFile(e.href,t)}catch(e){throw e instanceof EveAttachmentError?new EveAttachmentError({adapterKind:i,cause:e.cause,kind:e.kind,message:e.message}):new EveAttachmentError({adapterKind:i,cause:e,kind:`resolver-threw`,message:`Attachment retrieval failed in the "${i}" channel.`})}if(n!==null)return Buffer.isBuffer(n)?{bytes:n}:n}return n(e,i)}function reconstitueFilePartUrls(e){let t=!1,n=e.map(e=>e.type===`file`&&isSerializedUrlFilePart(e.data)?(t=!0,{...e,data:deserializeUrlFilePart(e.data)}):e);return t?n:e}function sha256Prefix(e){return createHash(`sha256`).update(e).digest(`hex`).slice(0,16)}function safeFilename(e,t,n){let r=e===void 0?``:basename(e).replace(UNSAFE_FILENAME_CHARS,`_`),i=r.length>0?r:`file-${t}`,a=MEDIA_TYPE_EXTENSIONS[n];return a===void 0||extname(i)!==``?i:`${i}${a}`}export{hydrateSandboxAttachments,moveToolResultFilesToUserMessages,stageAttachmentsForAdapter,stageAttachmentsToSandbox,stageToolResultMedia};
|
|
@@ -60,7 +60,7 @@ export interface AuthorizationResult {
|
|
|
60
60
|
* Creates an authorization signal. Return this from a tool's execute
|
|
61
61
|
* to suspend the session for OAuth or other external authorization.
|
|
62
62
|
*
|
|
63
|
-
* The harness emits `
|
|
63
|
+
* The harness emits sign-in `interaction.opened` events for each challenge
|
|
64
64
|
* and parks the session. Channels render sign-in buttons.
|
|
65
65
|
*/
|
|
66
66
|
export declare function requestAuthorization(challenges: readonly AuthorizationChallenge[]): AuthorizationSignal;
|
|
@@ -106,7 +106,7 @@ export declare function isAuthorizationSignal(value: unknown): value is Authoriz
|
|
|
106
106
|
export declare function isAuthorizationPendingModelOutput(value: unknown): value is AuthorizationPendingModelOutput;
|
|
107
107
|
/**
|
|
108
108
|
* JSON-safe pending authorization output for model-facing tool results and
|
|
109
|
-
* wire surfaces (`
|
|
109
|
+
* wire surfaces (`call.settled`, telemetry). Omits OAuth URLs and user
|
|
110
110
|
* codes — connection names only.
|
|
111
111
|
*/
|
|
112
112
|
export declare function authorizationPendingAsJsonObject(input: {
|
|
@@ -119,7 +119,6 @@ export declare function authorizationPendingAsJsonObject(input: {
|
|
|
119
119
|
export declare function modelFacingAuthorizationOutput(signal: AuthorizationSignal): AuthorizationPendingModelOutput;
|
|
120
120
|
/** Human-readable tool output for {@link modelFacingAuthorizationOutput}. */
|
|
121
121
|
export declare function authorizationPendingModelText(connections: readonly string[]): string;
|
|
122
|
-
export declare function isPendingAuthorizationToolOutput(value: unknown): boolean;
|
|
123
122
|
/**
|
|
124
123
|
* Physical hook token embedded in a session's authorization callback URLs.
|
|
125
124
|
* The callback route resumes exactly this hook, so it is the stable inbox's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{loadContext}from"#context/container.js";import{SessionIdKey}from"#context/keys.js";import{createEveConnectionCallbackRoutePath}from"#protocol/routes.js";import{ContextKey}from"#context/key.js";import{createBrowserCallbackUrl}from"#execution/workflow-callback-url.js";import{createUlid}from"#shared/ulid.js";const AUTHORIZATION_BRAND=`__eveAuthorization`,AUTHORIZATION_PENDING_BRAND=`__eveAuthorizationPending`;function requestAuthorization(e){return{[AUTHORIZATION_BRAND]:!0,challenges:e}}function getAuthorizationResult(e){let t=loadContext().get(PendingAuthorizationResultKey);if(t&&t.length!==0)return e===void 0?t[0]:t.find(t=>t.name===e)}function getAuthorizationResults(){return loadContext().get(PendingAuthorizationResultKey)??[]}function consumeAuthorizationResult(e,t){let n=loadContext(),r=n.get(PendingAuthorizationResultKey);if(!r||r.length===0)return;let i=r.findIndex(n=>n.name===e&&n.instanceId===t);if(i===-1&&t!==void 0&&r.some(t=>t.name===e&&t.instanceId!==void 0))throw Error(`Authorization for "${e}" cannot complete because its resolved connection changed while sign-in was pending. Start sign-in again.`);if(i===-1)return;let a=r[i],o=r.filter((e,t)=>t!==i);return n.delete(PendingAuthorizationResultKey),o.length>0&&n.set(PendingAuthorizationResultKey,o),a}function getHookUrl(e,t){let n=loadContext(),r=n.get(SessionIdKey),i=n.get(CallbackBaseUrlKey),a=n.get(AuthorizationHookKey)??(r?authHookToken(r):void 0);if(a&&i)return createBrowserCallbackUrl(i,createEveConnectionCallbackRoutePath(e,t,a))}function createAuthorizationAttempt(e){let t=createUlid(),n=getHookUrl(e,t);return n===void 0?void 0:{attemptId:t,hookUrl:n}}function isAuthorizationSignal(e){return typeof e!=`object`||!e?!1:e[AUTHORIZATION_BRAND]===!0}function isAuthorizationPendingModelOutput(e){return typeof e!=`object`||!e?!1:e[AUTHORIZATION_PENDING_BRAND]===!0}function authorizationPendingAsJsonObject(e){return{[AUTHORIZATION_PENDING_BRAND]:!0,connections:[...e.connections]}}function modelFacingAuthorizationOutput(e){return authorizationPendingAsJsonObject({connections:e.challenges.map(e=>e.name)})}function authorizationPendingModelText(e){return e.length===0?`Authorization required. Waiting for the user to sign in.`:e.length===1?`Authorization required for ${e[0]}. Waiting for the user to sign in.`:`Authorization required for ${e.join(`, `)}. Waiting for the user to sign in.`}function
|
|
1
|
+
import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{loadContext}from"#context/container.js";import{SessionIdKey}from"#context/keys.js";import{createEveConnectionCallbackRoutePath}from"#protocol/routes.js";import{ContextKey}from"#context/key.js";import{createBrowserCallbackUrl}from"#execution/workflow-callback-url.js";import{createUlid}from"#shared/ulid.js";const AUTHORIZATION_BRAND=`__eveAuthorization`,AUTHORIZATION_PENDING_BRAND=`__eveAuthorizationPending`;function requestAuthorization(e){return{[AUTHORIZATION_BRAND]:!0,challenges:e}}function getAuthorizationResult(e){let t=loadContext().get(PendingAuthorizationResultKey);if(t&&t.length!==0)return e===void 0?t[0]:t.find(t=>t.name===e)}function getAuthorizationResults(){return loadContext().get(PendingAuthorizationResultKey)??[]}function consumeAuthorizationResult(e,t){let n=loadContext(),r=n.get(PendingAuthorizationResultKey);if(!r||r.length===0)return;let i=r.findIndex(n=>n.name===e&&n.instanceId===t);if(i===-1&&t!==void 0&&r.some(t=>t.name===e&&t.instanceId!==void 0))throw Error(`Authorization for "${e}" cannot complete because its resolved connection changed while sign-in was pending. Start sign-in again.`);if(i===-1)return;let a=r[i],o=r.filter((e,t)=>t!==i);return n.delete(PendingAuthorizationResultKey),o.length>0&&n.set(PendingAuthorizationResultKey,o),a}function getHookUrl(e,t){let n=loadContext(),r=n.get(SessionIdKey),i=n.get(CallbackBaseUrlKey),a=n.get(AuthorizationHookKey)??(r?authHookToken(r):void 0);if(a&&i)return createBrowserCallbackUrl(i,createEveConnectionCallbackRoutePath(e,t,a))}function createAuthorizationAttempt(e){let t=createUlid(),n=getHookUrl(e,t);return n===void 0?void 0:{attemptId:t,hookUrl:n}}function isAuthorizationSignal(e){return typeof e!=`object`||!e?!1:e[AUTHORIZATION_BRAND]===!0}function isAuthorizationPendingModelOutput(e){return typeof e!=`object`||!e?!1:e[AUTHORIZATION_PENDING_BRAND]===!0}function authorizationPendingAsJsonObject(e){return{[AUTHORIZATION_PENDING_BRAND]:!0,connections:[...e.connections]}}function modelFacingAuthorizationOutput(e){return authorizationPendingAsJsonObject({connections:e.challenges.map(e=>e.name)})}function authorizationPendingModelText(e){return e.length===0?`Authorization required. Waiting for the user to sign in.`:e.length===1?`Authorization required for ${e[0]}. Waiting for the user to sign in.`:`Authorization required for ${e.join(`, `)}. Waiting for the user to sign in.`}function authHookToken(e){return sessionInboxHookToken(sessionCommandHookToken(e))}const PendingAuthorizationResultKey=new ContextKey(`eve.pendingAuthorizationResult`),CallbackBaseUrlKey=new ContextKey(`eve.callbackBaseUrl`),AuthorizationHookKey=new ContextKey(`eve.authorizationHook`);export{AuthorizationHookKey,CallbackBaseUrlKey,PendingAuthorizationResultKey,authHookToken,authorizationPendingAsJsonObject,authorizationPendingModelText,consumeAuthorizationResult,createAuthorizationAttempt,getAuthorizationResult,getAuthorizationResults,getHookUrl,isAuthorizationPendingModelOutput,isAuthorizationSignal,modelFacingAuthorizationOutput,requestAuthorization};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { ApprovalMemory, RememberRequest } from "#approval/evaluation.js";
|
|
2
|
+
import type { SessionAuthContext } from "#channel/types.js";
|
|
3
|
+
import type { ClearedBy } from "#protocol/session-events/families/call.js";
|
|
4
|
+
import { type ModelMessage, type TelemetryOptions, type ToolResultPart, type ToolSet, type TypedToolCall, type TypedToolResult } from "ai";
|
|
5
|
+
import { type AuthorizationSignal } from "#harness/authorization.js";
|
|
6
|
+
import { type RunnableTool } from "#harness/tools.js";
|
|
7
|
+
import type { HandleEventFn, HarnessToolLookup } from "#harness/types.js";
|
|
8
|
+
import type { ApprovalAsk } from "#harness/session-machine/view.js";
|
|
9
|
+
type ToolResponsePart = Extract<ModelMessage, {
|
|
10
|
+
role: "tool";
|
|
11
|
+
}>["content"][number];
|
|
12
|
+
/** A call's result, as the model reads it. */
|
|
13
|
+
export interface CallResult {
|
|
14
|
+
readonly part: Extract<ToolResponsePart, {
|
|
15
|
+
type: "tool-result";
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
/** What the model reads for an approved call the turn's cancellation cut short. */
|
|
19
|
+
export declare const APPROVED_CALL_INTERRUPTED_MESSAGE = "The turn was cancelled while this approved tool call was running. It may have partially run; it was not retried.";
|
|
20
|
+
/** How a call's approval is decided before it runs. */
|
|
21
|
+
type CallApproval =
|
|
22
|
+
/** A person approved it; the policy may still refuse it now. */
|
|
23
|
+
"recheck"
|
|
24
|
+
/** The model just made it; the policy decides whether it runs, waits for a person, or is denied. */
|
|
25
|
+
| "evaluate";
|
|
26
|
+
/** A call that stopped for a sign-in: the tool returned the challenge instead of a result. */
|
|
27
|
+
export interface ToolSignIn {
|
|
28
|
+
readonly callId: string;
|
|
29
|
+
readonly input: unknown;
|
|
30
|
+
readonly toolName: string;
|
|
31
|
+
readonly signal: AuthorizationSignal;
|
|
32
|
+
readonly version?: string;
|
|
33
|
+
}
|
|
34
|
+
/** How one call came out: its result for the model, or what it waits on instead. */
|
|
35
|
+
export interface CallOutcome {
|
|
36
|
+
readonly remember?: RememberRequest;
|
|
37
|
+
readonly clearedBy?: ClearedBy;
|
|
38
|
+
readonly settled: readonly CallResult[];
|
|
39
|
+
/** What `execute` returned, for `endsTurn`. */
|
|
40
|
+
readonly toolResults: readonly TypedToolResult<ToolSet>[];
|
|
41
|
+
readonly awaitsApproval?: true;
|
|
42
|
+
readonly signIn?: ToolSignIn;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Runs one local call: it decides the approval, streams the call's progress and result, and
|
|
46
|
+
* returns the result the model reads. A call a person approved revalidates its input first.
|
|
47
|
+
*/
|
|
48
|
+
export declare function executeToolCall(call: {
|
|
49
|
+
readonly callId: string;
|
|
50
|
+
readonly input: unknown;
|
|
51
|
+
readonly toolName: string;
|
|
52
|
+
}, input: {
|
|
53
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
54
|
+
readonly approvalMemory?: ApprovalMemory;
|
|
55
|
+
readonly definition: RunnableTool;
|
|
56
|
+
readonly messages: readonly ModelMessage[];
|
|
57
|
+
readonly publish: HandleEventFn;
|
|
58
|
+
readonly telemetry?: TelemetryOptions;
|
|
59
|
+
/** The AI SDK's ID for the model call that made a fresh call. */
|
|
60
|
+
readonly modelCallId?: string;
|
|
61
|
+
/** Runs just before the tool does, as the step's steering protection. */
|
|
62
|
+
readonly beforeExecute?: () => void;
|
|
63
|
+
/** What cleared a call a person approved: the interaction that asked them. */
|
|
64
|
+
readonly clearedBy?: ClearedBy;
|
|
65
|
+
/** Who approved the call, which it reads as `ctx.approval`; it still runs as the requester. */
|
|
66
|
+
readonly responder?: SessionAuthContext;
|
|
67
|
+
/**
|
|
68
|
+
* Runs once the call settles, just before its result is reported: with why it didn't succeed,
|
|
69
|
+
* if it didn't. Not when it stops for a sign-in or the turn's cancellation cuts it short.
|
|
70
|
+
*/
|
|
71
|
+
readonly beforeResult?: (failure?: Error | string) => Promise<void>;
|
|
72
|
+
}, approval: CallApproval): Promise<CallOutcome>;
|
|
73
|
+
/** What the local calls of one model response produced. */
|
|
74
|
+
export interface InlineCallResults {
|
|
75
|
+
/** The calls' results, for the response's tool message. */
|
|
76
|
+
readonly parts: readonly ToolResultPart[];
|
|
77
|
+
/** What each call's `execute` returned, for `endsTurn`. */
|
|
78
|
+
readonly toolResults: readonly TypedToolResult<ToolSet>[];
|
|
79
|
+
/** The calls that wait on a person's approval. */
|
|
80
|
+
readonly approvals: readonly ApprovalAsk[];
|
|
81
|
+
/** The calls that stopped for a sign-in. */
|
|
82
|
+
readonly signIns: readonly ToolSignIn[];
|
|
83
|
+
readonly policyApprovals?: Readonly<Record<string, ClearedBy>>;
|
|
84
|
+
}
|
|
85
|
+
/** Nothing ran: the response ended early, or made no local calls. */
|
|
86
|
+
export declare const NO_INLINE_CALLS: InlineCallResults;
|
|
87
|
+
/**
|
|
88
|
+
* Runs the local calls a model response made. The AI SDK only calls the model: eve decides each
|
|
89
|
+
* call's approval and runs it the way it runs a call a person approved. A call to a tool that runs
|
|
90
|
+
* outside the step (a workflow or task tool) is decided here and left for the runtime.
|
|
91
|
+
*/
|
|
92
|
+
export declare function executeInlineCalls(input: {
|
|
93
|
+
readonly toolCalls: readonly TypedToolCall<ToolSet>[];
|
|
94
|
+
/** Calls whose input failed validation; they already have their result. */
|
|
95
|
+
readonly excludedCallIds: ReadonlySet<string>;
|
|
96
|
+
/** The step's entries: each call already names the entry it runs. */
|
|
97
|
+
readonly tools: HarnessToolLookup;
|
|
98
|
+
readonly approvalMemory: ApprovalMemory;
|
|
99
|
+
/** The conversation the tools read as `ctx.messages`. */
|
|
100
|
+
readonly messages: readonly ModelMessage[];
|
|
101
|
+
readonly publish: HandleEventFn;
|
|
102
|
+
readonly abortSignal: AbortSignal | undefined;
|
|
103
|
+
readonly telemetry?: TelemetryOptions;
|
|
104
|
+
/** The AI SDK's ID for the model call that made the calls. */
|
|
105
|
+
readonly modelCallId?: string;
|
|
106
|
+
/** Runs just before each tool does, so steering no longer interrupts the step. */
|
|
107
|
+
readonly beforeExecute: () => void;
|
|
108
|
+
}): Promise<InlineCallResults>;
|
|
109
|
+
/** Reports a call its approval policy refused: it settles rejected, without running. */
|
|
110
|
+
export declare function publishDenial(call: {
|
|
111
|
+
readonly callId: string;
|
|
112
|
+
readonly input: unknown;
|
|
113
|
+
readonly toolName: string;
|
|
114
|
+
}, input: {
|
|
115
|
+
readonly publish: HandleEventFn;
|
|
116
|
+
readonly reason: string | undefined;
|
|
117
|
+
}): Promise<CallOutcome>;
|
|
118
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{asSchema,generateId}from"ai";import{createLogger,logError}from"#internal/logging.js";import{displayTitle}from"#protocol/session-projection/display-name.js";import{toError}from"#shared/errors.js";import{toModelSchema}from"#tools/schema.js";import{isAuthorizationSignal,modelFacingAuthorizationOutput}from"#harness/authorization.js";import{toolCallModelOutput}from"#harness/tool-call-io.js";import{resolveToolCallInputObject}from"#harness/coordination.js";import{callProgress,callSettledFrom,callStarted}from"#harness/call-facts.js";import{decideApproval,invokeTool,isRunnableTool}from"#harness/tools.js";import{isAsyncIterable}from"#shared/async-iterable.js";import{throwIfTurnAborted}from"#harness/turn-cancellation.js";import{createRuntimeToolResultFromValue}from"#harness/action-result-helpers.js";import{TOOL_EXECUTION_DENIED_MESSAGE,failedCall}from"#harness/approval-outcome.js";import{isInvalidToolCall}from"#harness/tool-call-input-errors.js";import{projectToolLabel}from"#harness/action-presentation.js";const log=createLogger(`harness.tool-loop`),APPROVED_CALL_INTERRUPTED_MESSAGE=`The turn was cancelled while this approved tool call was running. It may have partially run; it was not retried.`;async function executeToolCall(e,t,n){let{callId:r,toolName:i,input:a}=e,{definition:o}=t,s=[],c=[],l=!1,u;try{if(throwIfTurnAborted(t.abortSignal),(n===`recheck`?await asSchema(toModelSchema(o.inputSchema,`input`)).validate?.(a):void 0)?.success===!1){let e=`The approved input is no longer valid for tool "${i}". Request a new tool call and approval.`;return await t.beforeResult?.(e),await t.publish(callSettledFrom(createRuntimeToolResultFromValue({callId:r,isError:!0,output:e,toolName:i}),{})),{settled:[{part:{type:`tool-result`,toolCallId:r,toolName:i,output:{type:`error-text`,value:e}}}],toolResults:c}}let e=await decideApproval(o,{abortSignal:t.abortSignal,callId:r,input:a,approvalMemory:t.approvalMemory,recheck:n===`recheck`});if(e.awaitsPerson===!0)return{awaitsApproval:!0,remember:e.remember,settled:s,toolResults:c};if(e.denied){await t.beforeResult?.(e.reason??TOOL_EXECUTION_DENIED_MESSAGE);let n=await publishDenial({callId:r,input:a,toolName:i},{publish:t.publish,reason:e.reason});return{settled:[...s,...n.settled],toolResults:c}}let d=t.clearedBy??e.clearedBy,f,p=!1,m=``,h,g=toolTelemetry(t.telemetry,{callId:t.modelCallId??`approved:${r}`,messages:[...t.messages],toolCall:{input:a,toolCallId:r,toolName:i,type:`tool-call`}});t.beforeExecute?.(),await g.started();let _=0;try{await g.execute(async()=>{let e=performance.now();try{l=!0,await t.publish(callStarted(r,d===void 0?{}:{clearedBy:d}));let e=invokeTool(o,a,{...t.responder!==void 0&&{approval:{responder:t.responder}},abortSignal:t.abortSignal,messages:[...t.messages],toolCallId:r}),i=n===`evaluate`?t.abortSignal:void 0;if(isAsyncIterable(e))for await(let n of untilAborted(e,i)){f=n;let e=withoutSignInSecrets(n);await t.publish(callProgress(r,e,projectToolLabel(o,`delta`,a,e)))}else f=await raceAbort(Promise.resolve(e),i)}finally{_=performance.now()-e}})}catch(e){await g.ended({error:e,input:a,toolCallId:r,toolName:i,type:`tool-error`},_),throwIfTurnAborted(t.abortSignal),logError(log,`tool execution failed`,e,{toolName:i,toolCallId:r}),p=!0,h=toError(e),f=h.message,m=modelFacingError(e)}if(p||await g.ended({input:a,output:withoutSignInSecrets(f),toolCallId:r,toolName:i,type:`tool-result`},_),!p&&isAuthorizationSignal(f)){let e={callId:r,input:a,signal:f,toolName:i};return{settled:s,signIn:o.version===void 0?e:{...e,version:o.version},toolResults:c}}return c.push({input:a,output:f,toolCallId:r,toolName:i,type:`tool-result`}),u={part:{output:p?{type:`error-text`,value:m}:await toolCallModelOutput(o,f,r),toolCallId:r,toolName:i,type:`tool-result`}},s.push(u),await t.beforeResult?.(p?h:void 0),await t.publish(callSettledFrom(createRuntimeToolResultFromValue({callId:r,isError:p,output:h??f,toolName:i}),{label:p?void 0:projectToolLabel(o,`complete`,a,f)})),{settled:s,toolResults:c}}catch(e){if(t.abortSignal?.aborted===!0)return l||throwIfTurnAborted(t.abortSignal),u===void 0?{settled:[interruptedResult(r,i)],toolResults:c}:{settled:[u],toolResults:c};let n=toError(e);logError(log,`tool call failed`,e,{toolName:i,toolCallId:r}),await t.beforeResult?.(n);let a=failedCall({callId:r,toolName:i,message:n});return await t.publish(callSettledFrom(a.result)),{settled:[{part:a.part}],toolResults:c}}}async function raceAbort(e,t){if(t===void 0)return await e;e.catch(()=>{}),t.throwIfAborted();let onAbort,n=new Promise((e,n)=>{onAbort=()=>n(t.reason),t.addEventListener(`abort`,onAbort,{once:!0})});try{return await Promise.race([e,n])}finally{t.removeEventListener(`abort`,onAbort)}}async function*untilAborted(e,t){let n=e[Symbol.asyncIterator](),r=!1;try{for(;;){let e=await raceAbort(n.next(),t);if(e.done===!0){r=!0;return}yield e.value}}finally{!r&&n.return!==void 0&&await raceAbort(Promise.resolve(n.return()),t)}}function modelFacingError(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}function withoutSignInSecrets(e){return isAuthorizationSignal(e)?modelFacingAuthorizationOutput(e):e}function interruptedResult(e,t){return{part:{output:{type:`error-text`,value:APPROVED_CALL_INTERRUPTED_MESSAGE},toolCallId:e,toolName:t,type:`tool-result`}}}function toolTelemetry(e,t){let n=e===void 0||e.isEnabled===!1?[]:[e.integrations??[]].flat(),r={...t,functionId:e?.functionId,recordInputs:e?.recordInputs,recordOutputs:e?.recordOutputs,toolContext:void 0},notify=async e=>{await Promise.allSettled(n.map(async t=>await e(t)))};return{started:()=>notify(e=>e.onToolExecutionStart?.(r)),execute:async e=>{let wrapped=e;for(let e of n){if(e.executeTool===void 0)continue;let n=wrapped;wrapped=()=>e.executeTool({...r,execute:n,toolCallId:t.toolCall.toolCallId})}await wrapped()},ended:(e,t)=>notify(n=>n.onToolExecutionEnd?.({...r,toolExecutionMs:t,toolOutput:e}))}}const NO_INLINE_CALLS={approvals:[],parts:[],signIns:[],toolResults:[]};async function executeInlineCalls(e){let t=e.toolCalls.filter(t=>t.providerExecuted!==!0&&!isInvalidToolCall(t)&&!e.excludedCallIds.has(t.toolCallId)&&e.tools.get(t.toolName)!==void 0),n=await Promise.allSettled(t.map(async t=>{let n=e.tools.get(t.toolName),r={callId:t.toolCallId,input:t.input,toolName:t.toolName};try{let i=isRunnableTool(n)?await executeToolCall(r,{...e,definition:n},`evaluate`):await decideDeferredCall(r,n,e);return{call:t,executed:i,approval:i.awaitsApproval===!0?{...approvalRequest(t,n),remember:i.remember}:void 0}}catch(n){throwIfTurnAborted(e.abortSignal);let i=failedCall({...r,message:toError(n)});return await e.publish(callSettledFrom(i.result)),{call:t,executed:{settled:[{part:i.part}],toolResults:[]}}}})),r=n.find(e=>e.status===`rejected`);if(r?.status===`rejected`)throw r.reason;let i=n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]);return{policyApprovals:Object.fromEntries(i.flatMap(({call:e,executed:t})=>t.clearedBy===void 0?[]:[[e.toolCallId,t.clearedBy]])),approvals:i.flatMap(({approval:e})=>e===void 0?[]:[e]),parts:i.flatMap(({executed:e})=>e.settled.map(e=>e.part)),signIns:i.flatMap(({executed:e})=>e.signIn===void 0?[]:[e.signIn]),toolResults:i.flatMap(({executed:e})=>e.toolResults)}}async function decideDeferredCall(e,t,n){if(t.approval===void 0)return{settled:[],toolResults:[]};let r=await decideApproval(t,{abortSignal:n.abortSignal,approvalMemory:n.approvalMemory,callId:e.callId,input:e.input});return r.awaitsPerson===!0?{awaitsApproval:!0,remember:r.remember,settled:[],toolResults:[]}:r.denied?await publishDenial(e,{publish:n.publish,reason:r.reason}):{settled:[],toolResults:[],clearedBy:r.clearedBy}}async function publishDenial(e,t){let n={output:{reason:t.reason,type:`execution-denied`},toolCallId:e.callId,toolName:e.toolName,type:`tool-result`};return await t.publish(callSettledFrom({callId:e.callId,isError:!0,kind:`tool-result`,output:{code:`TOOL_EXECUTION_DENIED`,message:t.reason??TOOL_EXECUTION_DENIED_MESSAGE,tool:{result:`not_run`}},toolName:e.toolName},{rejected:!0})),{settled:[{part:n}],toolResults:[]}}function approvalRequest(e,t){let{toolCallId:n,toolName:r}=e,i=resolveToolCallInputObject(e.input,{callId:n,toolName:r}),a=projectToolLabel(t,`start`,i)??displayTitle(r),o=authoredApprovalPrompt(e,t);return{call:{callId:n,input:i,toolName:r,...t?.version!==void 0&&{version:t.version}},interactionId:generateId(),request:{allowFreeform:!1,display:`confirmation`,kind:`approval`,options:[{id:`approve`,label:`Approve`},{id:`deny`,label:`Deny`}],prompt:o??`Approve ${a}?`}}}function authoredApprovalPrompt(e,t){let n=t?.approval;if(n===void 0||typeof n==`function`)return;let r=typeof e.input==`object`&&e.input!==null&&!Array.isArray(e.input)?e.input:{},i=n.prompt?.({callId:e.toolCallId,input:r,toolName:e.toolName});if(i!==void 0&&typeof i!=`string`)throw Error(`Tool "${e.toolName}" approval prompt must return a string.`);return i}export{APPROVED_CALL_INTERRUPTED_MESSAGE,NO_INLINE_CALLS,executeInlineCalls,executeToolCall,publishDenial};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SessionEvent } from "#protocol/session-event.js";
|
|
2
|
+
import type { Cause, ErrorInfo, JsonValue } from "#protocol/session-events/envelope.js";
|
|
3
|
+
import type { FactOf } from "#protocol/session-events/facts.js";
|
|
4
|
+
import type { Capability, CapabilityKind, CallOwner, ClearedBy } from "#protocol/session-events/families/call.js";
|
|
5
|
+
import type { HarnessToolDefinition } from "#harness/execute-tool.js";
|
|
6
|
+
import type { RuntimeActionRequest, RuntimeActionResult } from "#shared/action-types.js";
|
|
7
|
+
/** What a call invokes: a tool, an agent, the skill it loads, or a task control, with its label. */
|
|
8
|
+
export declare function capabilityOf(action: RuntimeActionRequest, label?: string): Capability;
|
|
9
|
+
/** What a call to an entry invokes, as its input starts streaming. */
|
|
10
|
+
export declare function announcedKind(name: string, definition: Pick<HarnessToolDefinition, "behavior"> | undefined): CapabilityKind;
|
|
11
|
+
/** The model asked for a call. */
|
|
12
|
+
export declare function callRequested(input: {
|
|
13
|
+
readonly action: RuntimeActionRequest;
|
|
14
|
+
readonly owner: CallOwner;
|
|
15
|
+
readonly label?: string;
|
|
16
|
+
readonly inputError?: ErrorInfo;
|
|
17
|
+
}): FactOf<"call.requested">;
|
|
18
|
+
/** A call was cleared and began running. */
|
|
19
|
+
export declare function callStarted(callId: string, options?: {
|
|
20
|
+
readonly clearedBy?: ClearedBy;
|
|
21
|
+
}): FactOf<"call.started">;
|
|
22
|
+
/** A call settled from its runtime result: failed if the result says so, otherwise completed. */
|
|
23
|
+
export declare function callSettledFrom(result: RuntimeActionResult, options?: {
|
|
24
|
+
readonly label?: string;
|
|
25
|
+
readonly rejected?: boolean;
|
|
26
|
+
readonly cause?: Cause;
|
|
27
|
+
}): FactOf<"call.settled">;
|
|
28
|
+
/** A call's partial output, as progress. */
|
|
29
|
+
export declare function callProgress(callId: string, output: unknown, label?: string): SessionEvent;
|
|
30
|
+
/** A value as the wire carries it: JSON, with anything else as its string form. */
|
|
31
|
+
export declare function toJsonValue(value: unknown): JsonValue;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{isTaskControlTool}from"#protocol/task-tools.js";import{SKILL_ENTRY_NAME}from"#protocol/catalog-tools.js";import{defined,fact}from"#harness/facts.js";import{callOutcomeOf}from"#harness/call-outcome.js";function capabilityOf(e,t){let n=e.kind===`load-skill`?{kind:`skill`,name:e.name}:e.kind===`subagent-call`?{kind:`agent`,name:e.name}:e.kind===`remote-agent-call`?{kind:`agent`,name:e.name,remote:!0}:{kind:toolKind(e.toolName),name:e.toolName};return t===void 0?n:{...n,label:t}}function announcedKind(e,t){if(e===SKILL_ENTRY_NAME)return`skill`;let n=t?.behavior?.handling;return n?.kind===`dispatch`&&n.target.kind!==`workflow-tool-call`?`agent`:toolKind(e)}function toolKind(e){return isTaskControlTool(e)?`control`:`tool`}function callRequested(e){let{action:t,inputError:n}=e;return fact(`call.requested`,{callId:t.callId,capability:capabilityOf(t,e.label),input:n===void 0?toJsonValue(t.input):void 0,inputError:n,owner:e.owner})}function callStarted(e,t={}){return fact(`call.started`,{callId:e,clearedBy:t.clearedBy})}function callSettledFrom(e,t={}){let{error:n,outcome:r}=callOutcomeOf(e),i=t.rejected===!0;return fact(`call.settled`,{callId:e.callId,cause:t.cause??(i?{policy:`approval`}:void 0),error:n,outcome:i?`rejected`:r,output:e.output===void 0?void 0:toJsonValue(e.output),label:t.label})}function callProgress(e,t,n){return{data:defined({callId:e,output:toJsonValue(t),label:n}),type:`call.progress`}}function toJsonValue(e){if(e===void 0)return null;if(e===null||typeof e==`string`||typeof e==`boolean`)return e;if(typeof e==`number`)return Number.isFinite(e)?e:String(e);if(typeof e==`bigint`||typeof e==`symbol`||typeof e==`function`)return String(e);try{return JSON.parse(JSON.stringify(e))}catch{return String(e)}}export{announcedKind,callProgress,callRequested,callSettledFrom,callStarted,capabilityOf,toJsonValue};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ErrorInfo } from "#protocol/session-events/envelope.js";
|
|
2
|
+
import type { RuntimeActionResult } from "#shared/action-types.js";
|
|
3
|
+
export declare function callOutcomeOf(result: RuntimeActionResult): {
|
|
4
|
+
readonly outcome: "completed" | "failed";
|
|
5
|
+
readonly error?: ErrorInfo;
|
|
6
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function callOutcomeOf(e){if(e.isError===!0){let t=readOutputError(e.output)??{code:`ACTION_RESULT_FAILED`,message:formatOutput(e.output)};return{error:`errorName`in e&&e.errorName!==void 0?{...t,name:e.errorName}:t,outcome:`failed`}}return{outcome:`completed`}}function readOutputError(e){let t=parseRecord(e);if(t===void 0)return;let n=typeof t.code==`string`&&t.code.length>0?t.code:void 0,r=typeof t.message==`string`&&t.message.length>0?t.message:void 0;return n===void 0||r===void 0?void 0:{code:n,message:r}}function parseRecord(e){if(typeof e==`object`&&e)return e;if(typeof e!=`string`)return;let t=e.trim();if(t.length!==0)try{let e=JSON.parse(t);return typeof e==`object`&&e?e:void 0}catch{return}}function formatOutput(e){if(typeof e==`string`)return e;let t=JSON.stringify(e);return typeof t==`string`&&t.length>0?t:`Action failed.`}export{callOutcomeOf};
|
|
@@ -6,6 +6,17 @@ import type { CompactionConfig } from "#harness/types.js";
|
|
|
6
6
|
* appended since.
|
|
7
7
|
*/
|
|
8
8
|
export declare function getInputTokenCount(messages: readonly ModelMessage[], config: CompactionConfig, requestEnvelopeTokens?: number, previousEnvelopeTokens?: number): number;
|
|
9
|
+
/** The settings without the last measured prompt, which a rewritten history no longer matches. */
|
|
10
|
+
export declare function withoutPromptMeasurement(config: CompactionConfig): CompactionConfig;
|
|
11
|
+
/**
|
|
12
|
+
* The settings with a model-reported prompt measurement and the envelope around it. Without a
|
|
13
|
+
* usable measurement, the next count is an estimate, and no envelope baseline applies.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withPromptMeasurement(config: CompactionConfig, measured: {
|
|
16
|
+
readonly inputTokens?: number;
|
|
17
|
+
readonly promptMessageCount?: number;
|
|
18
|
+
readonly requestEnvelopeTokens?: number;
|
|
19
|
+
}): CompactionConfig;
|
|
9
20
|
/**
|
|
10
21
|
* Returns true when the message history and fixed compaction-prompt envelope
|
|
11
22
|
* exceed the compaction threshold.
|