eve 0.27.13 → 0.29.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 +38 -0
- package/dist/src/channel/adapter.d.ts +5 -5
- package/dist/src/channel/session.d.ts +2 -2
- package/dist/src/channel/types.d.ts +16 -6
- package/dist/src/chunks/{use-eve-agent-CWYe-vqE.js → use-eve-agent-CyDt3Lny.js} +92 -1
- package/dist/src/chunks/{use-eve-agent-CsSQOKnp.js → use-eve-agent-DaH3cf8K.js} +92 -1
- package/dist/src/cli/commands/agent-prompt/collect-intent.md +1 -1
- package/dist/src/cli/commands/channels.d.ts +0 -17
- package/dist/src/cli/commands/channels.js +1 -1
- package/dist/src/cli/commands/deploy.js +1 -1
- package/dist/src/cli/commands/extension-init.js +1 -1
- package/dist/src/cli/commands/init.js +1 -1
- package/dist/src/cli/commands/integration-connect.d.ts +29 -0
- package/dist/src/cli/commands/integration-connect.js +1 -0
- package/dist/src/cli/commands/integration-setup.d.ts +2 -3
- package/dist/src/cli/commands/integration-setup.js +1 -1
- package/dist/src/cli/commands/register-integration-commands.js +1 -1
- package/dist/src/cli/commands/registry-setup-command.d.ts +13 -3
- package/dist/src/cli/commands/registry-setup-command.js +2 -1
- package/dist/src/cli/commands/registry.d.ts +35 -1
- package/dist/src/cli/commands/registry.js +1 -1
- package/dist/src/cli/commands/trace.js +1 -1
- package/dist/src/cli/dev/tui/agent-header.js +1 -1
- package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
- package/dist/src/cli/dev/tui/prompt-commands.d.ts +1 -1
- package/dist/src/cli/dev/tui/prompt-commands.js +1 -1
- package/dist/src/cli/dev/tui/remote-auth-command.js +1 -1
- package/dist/src/cli/dev/tui/runner.d.ts +8 -7
- package/dist/src/cli/dev/tui/runner.js +1 -1
- package/dist/src/cli/dev/tui/setup-commands.d.ts +8 -13
- package/dist/src/cli/dev/tui/setup-commands.js +3 -2
- package/dist/src/cli/dev/tui/setup-flow.d.ts +14 -5
- package/dist/src/cli/dev/tui/setup-panel.d.ts +5 -1
- package/dist/src/cli/dev/tui/setup-panel.js +2 -2
- package/dist/src/cli/dev/tui/status-line.d.ts +1 -1
- package/dist/src/cli/dev/tui/status-line.js +1 -1
- package/dist/src/cli/dev/tui/subagent-pump.d.ts +8 -2
- package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
- package/dist/src/cli/dev/tui/terminal-renderer.d.ts +2 -5
- package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
- package/dist/src/cli/dev/tui/test/fake-setup-flow-renderer.js +1 -1
- package/dist/src/cli/dev/tui/tui-prompter.js +1 -1
- package/dist/src/cli/dev/tui/tui.d.ts +2 -0
- package/dist/src/cli/dev/tui/tui.js +1 -1
- package/dist/src/cli/dev/tui/vercel-status.d.ts +1 -6
- package/dist/src/cli/dev/tui/vercel-status.js +1 -1
- package/dist/src/cli/invoke/result.d.ts +15 -0
- package/dist/src/cli/invoke/result.js +1 -1
- package/dist/src/cli/option-parsers.d.ts +11 -0
- package/dist/src/cli/option-parsers.js +1 -0
- package/dist/src/cli/run.d.ts +1 -12
- package/dist/src/cli/run.js +3 -3
- package/dist/src/cli/shutdown.d.ts +2 -0
- package/dist/src/cli/shutdown.js +1 -1
- package/dist/src/client/eve-agent-store.d.ts +7 -4
- package/dist/src/client/eve-agent-store.js +1 -1
- package/dist/src/client/index.d.ts +3 -3
- package/dist/src/client/index.js +1 -1
- package/dist/src/client/message-action-parts.js +1 -1
- package/dist/src/client/message-reducer-types.d.ts +5 -3
- package/dist/src/client/message-response.d.ts +4 -4
- package/dist/src/client/ndjson.d.ts +3 -3
- package/dist/src/client/open-stream.d.ts +2 -2
- package/dist/src/client/output-schema.d.ts +2 -2
- package/dist/src/client/reducer.d.ts +2 -2
- package/dist/src/client/session-utils.d.ts +5 -5
- package/dist/src/client/session.d.ts +2 -2
- package/dist/src/client/types.d.ts +2 -2
- package/dist/src/compiled/.vendor-stamp.json +5 -5
- package/dist/src/compiled/@workflow/core/index.js +1 -1
- package/dist/src/compiled/@workflow/core/private.d.ts +21 -5
- package/dist/src/compiled/@workflow/core/private.js +1 -1
- package/dist/src/compiled/@workflow/core/runtime/world.d.ts +10 -5
- package/dist/src/compiled/@workflow/core/runtime.js +3 -3
- package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
- package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
- package/dist/src/compiled/@workflow/core/workflow.js +1 -1
- package/dist/src/compiled/@workflow/world-local/index.js +3 -3
- package/dist/src/compiled/@workflow/world-vercel/index.js +13 -13
- package/dist/src/compiled/_chunks/workflow/{attribute-changes-DeZc2RZz.js → attribute-changes-1LmTKuTT.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{private-Cre8uYkA.js → private-BcwCGTV5.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{resume-hook-ip1hbn1b.js → resume-hook-D1_5NCZ6.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/{run-CWytxfIp.js → run-C240Ctf4.js} +1 -1
- package/dist/src/compiled/_chunks/workflow/sleep-De802yfX.js +1 -0
- package/dist/src/compiled/_chunks/workflow/{wait-until-De9yESQN.js → wait-until-z48sPUjU.js} +2 -2
- package/dist/src/compiled/shadcn-registry/index.d.ts +1 -0
- package/dist/src/compiler/compile-from-memory.d.ts +1 -0
- package/dist/src/compiler/extension-compatibility.d.ts +8 -8
- package/dist/src/compiler/extension-compatibility.js +1 -1
- package/dist/src/compiler/manifest.d.ts +2 -2
- package/dist/src/compiler/manifest.js +1 -1
- package/dist/src/compiler/normalize-agent-config.js +1 -1
- package/dist/src/context/dynamic-instruction-lifecycle.d.ts +2 -2
- package/dist/src/context/dynamic-model-lifecycle.d.ts +2 -2
- package/dist/src/context/dynamic-skill-lifecycle.d.ts +2 -2
- package/dist/src/context/dynamic-tool-lifecycle.d.ts +2 -2
- package/dist/src/context/hook-lifecycle.d.ts +2 -2
- package/dist/src/evals/assertions/collector.d.ts +2 -10
- package/dist/src/evals/assertions/collector.js +1 -1
- package/dist/src/evals/assertions/run.d.ts +3 -3
- package/dist/src/evals/cli/eval.d.ts +6 -2
- package/dist/src/evals/cli/eval.js +2 -2
- package/dist/src/evals/cli/filter.d.ts +14 -0
- package/dist/src/evals/cli/filter.js +1 -0
- package/dist/src/evals/context.js +1 -1
- package/dist/src/evals/diagnostics.d.ts +8 -0
- package/dist/src/evals/diagnostics.js +1 -0
- package/dist/src/evals/expect/index.d.ts +1 -1
- package/dist/src/evals/expect/index.js +1 -1
- package/dist/src/evals/index.d.ts +1 -1
- package/dist/src/evals/judge.js +2 -1
- package/dist/src/evals/match.d.ts +4 -4
- package/dist/src/evals/runner/artifacts.js +1 -1
- package/dist/src/evals/runner/derive-run-facts.d.ts +2 -2
- package/dist/src/evals/runner/reporters/assertion-diagnostics.d.ts +3 -0
- package/dist/src/evals/runner/reporters/assertion-diagnostics.js +3 -0
- package/dist/src/evals/runner/reporters/braintrust.js +1 -1
- package/dist/src/evals/runner/reporters/console.js +1 -1
- package/dist/src/evals/runner/reporters/junit.js +2 -2
- package/dist/src/evals/session.d.ts +3 -3
- package/dist/src/evals/types.d.ts +33 -17
- package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
- package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
- package/dist/src/execution/route-child-delivery.d.ts +4 -3
- package/dist/src/execution/route-child-delivery.js +1 -1
- package/dist/src/execution/session-delivery-hook.d.ts +1 -0
- package/dist/src/execution/session-delivery-hook.js +1 -1
- package/dist/src/execution/session-timeout-control.d.ts +9 -0
- package/dist/src/execution/session-timeout-control.js +1 -0
- package/dist/src/execution/session-timeout-steps.d.ts +13 -0
- package/dist/src/execution/session-timeout-steps.js +1 -0
- package/dist/src/execution/session-timeout-workflow.d.ts +6 -0
- package/dist/src/execution/session-timeout-workflow.js +1 -0
- package/dist/src/execution/session-timeout.d.ts +2 -0
- package/dist/src/execution/session-timeout.js +1 -0
- package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
- package/dist/src/execution/subagent-event-proxy-step.js +1 -1
- package/dist/src/execution/subagent-hitl-proxy.d.ts +5 -1
- package/dist/src/execution/subagent-hitl-proxy.js +1 -1
- package/dist/src/execution/terminal-session-completion-step.d.ts +5 -0
- package/dist/src/execution/terminal-session-completion-step.js +1 -0
- package/dist/src/execution/terminal-session-failure-step.js +1 -1
- package/dist/src/execution/turn-cancellation-control.js +1 -1
- package/dist/src/execution/turn-workflow.js +1 -1
- package/dist/src/execution/workflow-entry.d.ts +1 -0
- package/dist/src/execution/workflow-entry.js +1 -1
- package/dist/src/execution/workflow-runtime.d.ts +4 -0
- package/dist/src/execution/workflow-runtime.js +1 -1
- package/dist/src/execution/workflow-steps.d.ts +12 -2
- package/dist/src/execution/workflow-steps.js +1 -1
- package/dist/src/harness/agent-otel-provider.js +1 -1
- package/dist/src/harness/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/harness/input-extraction.js +1 -1
- package/dist/src/harness/input-request-class.d.ts +23 -0
- package/dist/src/harness/input-request-class.js +1 -0
- package/dist/src/harness/input-requests.d.ts +20 -9
- package/dist/src/harness/input-requests.js +1 -1
- package/dist/src/harness/instrumentation-lifecycle.d.ts +12 -1
- package/dist/src/harness/proxy-input-requests.d.ts +10 -4
- package/dist/src/harness/proxy-input-requests.js +1 -1
- package/dist/src/harness/session-limit-continuation.d.ts +0 -11
- package/dist/src/harness/session-limit-continuation.js +1 -1
- package/dist/src/harness/session-limit-enforcement.d.ts +3 -2
- package/dist/src/harness/session-limit-enforcement.js +1 -1
- package/dist/src/harness/session-token-limits.d.ts +41 -0
- package/dist/src/harness/session-token-limits.js +1 -0
- package/dist/src/harness/stale-input-responses.js +1 -1
- package/dist/src/harness/subagent-token-budget.d.ts +6 -4
- package/dist/src/harness/subagent-token-budget.js +1 -1
- package/dist/src/harness/tool-loop.js +1 -1
- package/dist/src/harness/turn-sleep.d.ts +12 -0
- package/dist/src/harness/turn-sleep.js +1 -0
- package/dist/src/harness/turn-tag-state.d.ts +26 -17
- package/dist/src/harness/turn-tag-state.js +1 -1
- package/dist/src/harness/types.d.ts +4 -4
- package/dist/src/harness/workflow-lifecycle.d.ts +2 -2
- package/dist/src/internal/application/compiled-artifacts.js +7 -7
- package/dist/src/internal/application/package.js +1 -1
- package/dist/src/internal/authored-definition/core.js +1 -1
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.d.ts +4 -0
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
- package/dist/src/internal/nitro/host/start-development-server.js +2 -2
- package/dist/src/internal/workflow/development-world-protocol.js +1 -1
- package/dist/src/internal/workflow/world-target.d.ts +7 -0
- package/dist/src/internal/workflow/world-target.js +1 -0
- package/dist/src/internal/workflow-bundle/workflow-core-shim.d.ts +1 -1
- package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -1
- package/dist/src/protocol/event-dedupe.d.ts +25 -0
- package/dist/src/protocol/event-dedupe.js +1 -0
- package/dist/src/protocol/event-id.d.ts +16 -0
- package/dist/src/protocol/event-id.js +1 -0
- package/dist/src/protocol/message.d.ts +39 -23
- package/dist/src/protocol/message.js +2 -2
- package/dist/src/protocol/routes.d.ts +4 -0
- package/dist/src/protocol/routes.js +1 -1
- package/dist/src/public/channels/discord/discordChannel.d.ts +3 -3
- package/dist/src/public/channels/github/githubChannel.d.ts +3 -3
- package/dist/src/public/channels/linear/linearChannel.d.ts +3 -3
- package/dist/src/public/channels/slack/hitl.js +1 -1
- package/dist/src/public/channels/slack/slackChannel.d.ts +3 -3
- package/dist/src/public/channels/teams/hitl.js +1 -1
- package/dist/src/public/channels/teams/teamsChannel.d.ts +3 -3
- package/dist/src/public/channels/telegram/telegramChannel.d.ts +3 -3
- package/dist/src/public/channels/twilio/twilioChannel.d.ts +3 -3
- package/dist/src/public/definitions/channel.d.ts +4 -4
- package/dist/src/public/definitions/hook.d.ts +2 -2
- package/dist/src/public/tools/sleep/index.d.ts +18 -0
- package/dist/src/public/tools/sleep/index.js +1 -0
- package/dist/src/react/use-eve-agent.d.ts +3 -2
- package/dist/src/runtime/framework-tools/ask-question.js +1 -1
- package/dist/src/runtime/framework-tools/sleep.d.ts +15 -0
- package/dist/src/runtime/framework-tools/sleep.js +1 -0
- package/dist/src/runtime/hooks/registry.d.ts +2 -2
- package/dist/src/runtime/input/types.d.ts +19 -4
- package/dist/src/runtime/input/types.js +1 -1
- package/dist/src/runtime/resolve-agent.js +1 -1
- package/dist/src/runtime/types.d.ts +2 -2
- package/dist/src/services/dev-client/runtime-artifacts.d.ts +7 -0
- package/dist/src/services/dev-client/runtime-artifacts.js +1 -1
- package/dist/src/setup/boxes/apply-ai-gateway-credential.js +1 -1
- package/dist/src/setup/boxes/deploy-project.d.ts +3 -3
- package/dist/src/setup/flows/deploy.js +1 -1
- package/dist/src/setup/flows/ensure-vercel-project.d.ts +17 -0
- package/dist/src/setup/flows/ensure-vercel-project.js +1 -0
- package/dist/src/setup/flows/in-project.d.ts +1 -1
- package/dist/src/setup/flows/link.js +1 -1
- package/dist/src/setup/flows/model.js +1 -1
- package/dist/src/setup/flows/provider.js +1 -1
- package/dist/src/setup/flows/registry.d.ts +20 -0
- package/dist/src/setup/flows/registry.js +1 -0
- package/dist/src/setup/index.d.ts +0 -1
- package/dist/src/setup/index.js +1 -1
- package/dist/src/setup/{channel-setup-environment.d.ts → integrations/channels/environment.d.ts} +2 -2
- package/dist/src/setup/integrations/channels/environment.js +1 -0
- package/dist/src/setup/{channel-setup-integrations.d.ts → integrations/channels/index.d.ts} +3 -3
- package/dist/src/setup/integrations/channels/index.js +1 -0
- package/dist/src/setup/{channel-setup-runner.d.ts → integrations/channels/runner.d.ts} +1 -1
- package/dist/src/setup/integrations/channels/runner.js +1 -0
- package/dist/src/setup/{boxes/add-channels.d.ts → integrations/channels/setup.d.ts} +32 -22
- package/dist/src/setup/integrations/channels/setup.js +2 -0
- package/dist/src/setup/{channel-setup-slack.d.ts → integrations/channels/slack.d.ts} +1 -1
- package/dist/src/setup/integrations/channels/slack.js +1 -0
- package/dist/src/setup/{channel-setup-integration.d.ts → integrations/channels/types.d.ts} +23 -7
- package/dist/src/setup/{channel-setup-ui.d.ts → integrations/channels/ui.d.ts} +2 -2
- package/dist/src/setup/integrations/channels/ui.js +2 -0
- package/dist/src/setup/{channel-setup-web.d.ts → integrations/channels/web.d.ts} +1 -1
- package/dist/src/setup/integrations/channels/web.js +1 -0
- package/dist/src/setup/primitives/run-vercel.d.ts +1 -0
- package/dist/src/setup/primitives/run-vercel.js +1 -1
- package/dist/src/setup/prompter.d.ts +16 -3
- package/dist/src/setup/prompter.js +1 -1
- package/dist/src/setup/registry-setup-client.d.ts +18 -0
- package/dist/src/setup/registry-setup-client.js +2 -0
- package/dist/src/setup/registry-setup-protocol.d.ts +93 -0
- package/dist/src/setup/registry-setup-protocol.js +1 -0
- package/dist/src/setup/scaffold/channels-catalog.d.ts +1 -1
- package/dist/src/setup/scaffold/create/extension.js +2 -2
- package/dist/src/setup/scaffold/create/project.js +2 -2
- package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
- package/dist/src/setup/scaffold/create/web-template.js +2 -2
- package/dist/src/setup/scaffold/create-in-place.d.ts +1 -0
- package/dist/src/setup/scaffold/create-in-place.js +1 -0
- package/dist/src/setup/scaffold/index.js +1 -1
- package/dist/src/setup/scaffold/update/connections.js +3 -3
- package/dist/src/setup/scaffold/update/update-connection-connector.js +1 -1
- package/dist/src/setup/vercel-project-framework.d.ts +1 -1
- package/dist/src/setup/vercel-project-framework.js +1 -1
- package/dist/src/setup/vercel-project.d.ts +17 -2
- package/dist/src/setup/vercel-project.js +0 -0
- package/dist/src/shared/agent-definition.d.ts +12 -0
- package/dist/src/shared/dynamic-tool-definition.d.ts +2 -2
- package/dist/src/shared/ulid.d.ts +39 -0
- package/dist/src/shared/ulid.js +1 -0
- package/dist/src/svelte/index.js +1 -1
- package/dist/src/svelte/use-eve-agent.d.ts +4 -4
- package/dist/src/svelte/use-eve-agent.js +1 -1
- package/dist/src/vue/index.js +1 -1
- package/dist/src/vue/use-eve-agent.d.ts +4 -4
- package/dist/src/vue/use-eve-agent.js +1 -1
- package/docs/agent-config.md +28 -16
- package/docs/channels/overview.mdx +1 -1
- package/docs/channels/slack.mdx +2 -2
- package/docs/concepts/default-harness.md +12 -0
- package/docs/concepts/execution-model-and-durability.mdx +1 -1
- package/docs/concepts/sessions-runs-and-streaming.md +61 -0
- package/docs/evals/assertions.mdx +8 -1
- package/docs/evals/judge.mdx +11 -1
- package/docs/evals/reporters.mdx +1 -1
- package/docs/evals/running.mdx +3 -0
- package/docs/guides/client/streaming.mdx +9 -3
- package/docs/guides/dev-tui.md +9 -14
- package/docs/guides/frontend/overview.mdx +4 -2
- package/docs/guides/frontend/use-eve-agent-svelte.mdx +1 -1
- package/docs/guides/frontend/use-eve-agent-vue.mdx +10 -10
- package/docs/guides/hooks.md +40 -2
- package/docs/guides/instrumentation.md +5 -1
- package/docs/reference/cli.md +25 -38
- package/docs/reference/typescript-api.md +2 -1
- package/docs/tools/human-in-the-loop.md +5 -0
- package/docs/tutorial/ship-it.mdx +2 -2
- package/package.json +11 -6
- package/dist/src/compiled/@workflow/core/runtime/world-target.d.ts +0 -11
- package/dist/src/compiled/_chunks/workflow/sleep-BjrUxUcs.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/index.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/parse-name.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/promise.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/time.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/workflow-routes.js +0 -1
- package/dist/src/node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/world-target.js +0 -1
- package/dist/src/node_modules/.pnpm/ms@2.1.3/node_modules/ms/index.js +0 -1
- package/dist/src/setup/boxes/add-channels.js +0 -2
- package/dist/src/setup/boxes/add-connections.d.ts +0 -26
- package/dist/src/setup/boxes/add-connections.js +0 -1
- package/dist/src/setup/boxes/install-channel-registry-items.d.ts +0 -8
- package/dist/src/setup/boxes/install-channel-registry-items.js +0 -1
- package/dist/src/setup/boxes/one-shot-next-steps.d.ts +0 -18
- package/dist/src/setup/boxes/one-shot-next-steps.js +0 -2
- package/dist/src/setup/boxes/preflight.d.ts +0 -37
- package/dist/src/setup/boxes/preflight.js +0 -1
- package/dist/src/setup/boxes/resolve-target.d.ts +0 -58
- package/dist/src/setup/boxes/resolve-target.js +0 -1
- package/dist/src/setup/boxes/scaffold.d.ts +0 -40
- package/dist/src/setup/boxes/scaffold.js +0 -1
- package/dist/src/setup/boxes/select-channels.d.ts +0 -49
- package/dist/src/setup/boxes/select-channels.js +0 -1
- package/dist/src/setup/boxes/select-chat.d.ts +0 -38
- package/dist/src/setup/boxes/select-chat.js +0 -1
- package/dist/src/setup/boxes/select-connections.d.ts +0 -30
- package/dist/src/setup/boxes/select-connections.js +0 -1
- package/dist/src/setup/boxes/select-setup-mode.d.ts +0 -32
- package/dist/src/setup/boxes/select-setup-mode.js +0 -1
- package/dist/src/setup/channel-setup-deployment.d.ts +0 -11
- package/dist/src/setup/channel-setup-deployment.js +0 -1
- package/dist/src/setup/channel-setup-environment.js +0 -1
- package/dist/src/setup/channel-setup-integration.js +0 -1
- package/dist/src/setup/channel-setup-integrations.js +0 -1
- package/dist/src/setup/channel-setup-runner.js +0 -1
- package/dist/src/setup/channel-setup-slack.js +0 -1
- package/dist/src/setup/channel-setup-ui.js +0 -2
- package/dist/src/setup/channel-setup-web.js +0 -1
- package/dist/src/setup/flows/channels.d.ts +0 -57
- package/dist/src/setup/flows/channels.js +0 -1
- package/dist/src/setup/flows/connections.d.ts +0 -37
- package/dist/src/setup/flows/connections.js +0 -3
- package/dist/src/setup/onboarding.d.ts +0 -60
- package/dist/src/setup/onboarding.js +0 -1
- /package/dist/src/{node_modules/.pnpm/@workflow_utils@5.0.0-beta.7/node_modules/@workflow/utils/dist/pluralize.js → setup/integrations/channels/types.js} +0 -0
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { AddCommandOptions } from "#cli/commands/registry.js";
|
|
2
|
-
import type { AddChannelsDeps } from "../boxes/add-channels.js";
|
|
3
|
-
import { inspectExistingChannelRegistrations } from "../channel-add-conflicts.js";
|
|
4
|
-
import { detectDeployment } from "../project-resolution.js";
|
|
5
|
-
import type { Prompter } from "../prompter.js";
|
|
6
|
-
import { getVercelAuthStatus } from "../vercel-project.js";
|
|
7
|
-
/** Injected for tests; defaults to the real detection and box effects. */
|
|
8
|
-
export interface ChannelsFlowDeps {
|
|
9
|
-
detectDeployment: typeof detectDeployment;
|
|
10
|
-
inspectExistingChannelRegistrations: typeof inspectExistingChannelRegistrations;
|
|
11
|
-
getVercelAuthStatus: typeof getVercelAuthStatus;
|
|
12
|
-
addChannels?: AddChannelsDeps;
|
|
13
|
-
installRegistryItem(appRoot: string, item: string, options?: AddCommandOptions): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
export type ChannelsFlowResult = {
|
|
16
|
-
kind: "done";
|
|
17
|
-
addedChannels: readonly string[];
|
|
18
|
-
} | {
|
|
19
|
-
/**
|
|
20
|
-
* The user chose "Deploy and chat" on the post-Slack "See it live"
|
|
21
|
-
* prompt. The caller deploys, then points them at this workspace.
|
|
22
|
-
*/
|
|
23
|
-
kind: "deploy-and-chat";
|
|
24
|
-
addedChannels: readonly string[];
|
|
25
|
-
chat: {
|
|
26
|
-
chatUrl?: string;
|
|
27
|
-
workspaceName?: string;
|
|
28
|
-
};
|
|
29
|
-
} | {
|
|
30
|
-
kind: "cancelled";
|
|
31
|
-
} | {
|
|
32
|
-
kind: "failed";
|
|
33
|
-
addedChannels: readonly string[];
|
|
34
|
-
message: string;
|
|
35
|
-
};
|
|
36
|
-
/** Title for Slack's optional deploy-and-chat continuation. */
|
|
37
|
-
export declare const SEE_IT_LIVE_MESSAGE = "See it live";
|
|
38
|
-
/**
|
|
39
|
-
* THE CHANNELS FLOW for the dev TUI's `/channels`: a task list that loops.
|
|
40
|
-
* Pick an unregistered channel, run its add sub-flow (Slack provisioning
|
|
41
|
-
* included), and land back on the repainted list with that channel checked;
|
|
42
|
-
* "Done" or Esc leaves. Filesystem effects can land before the runner applies
|
|
43
|
-
* their in-memory payload, so every cancelled or failed sub-flow re-inspects
|
|
44
|
-
* authored registrations and preserves a channel that became durable. Esc on
|
|
45
|
-
* the list after something was added reports the additions exactly like Done;
|
|
46
|
-
* only an empty exit folds to cancelled.
|
|
47
|
-
*
|
|
48
|
-
* The outer loop owns only picker lifecycle, conflict validation, and durable
|
|
49
|
-
* re-inspection. Each selected integration owns its prompts, provisioning,
|
|
50
|
-
* scaffold choices, deployment continuation, and next-step guidance.
|
|
51
|
-
*/
|
|
52
|
-
export declare function runChannelsFlow(input: {
|
|
53
|
-
appRoot: string;
|
|
54
|
-
prompter: Prompter;
|
|
55
|
-
signal?: AbortSignal;
|
|
56
|
-
deps?: Partial<ChannelsFlowDeps>;
|
|
57
|
-
}): Promise<ChannelsFlowResult>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{interactiveAsker}from"../ask.js";import{detectDeployment,projectResolutionFromDeployment}from"../project-resolution.js";import{createDefaultSetupState}from"../state.js";import{WizardCancelledError}from"../step.js";import{withSpinner}from"../with-spinner.js";import{getVercelAuthStatus}from"../vercel-project.js";import{CHANNELS_PROMPT_MESSAGE}from"../boxes/select-channels.js";import{assertCanAddSelectedChannels,inspectExistingChannelRegistrations}from"../channel-add-conflicts.js";import{channelSetupEnvironment}from"../channel-setup-environment.js";import{createChannelSetupUi}from"../channel-setup-ui.js";import{CHANNEL_SETUP_INTEGRATIONS,channelSetupIntegration}from"../channel-setup-integrations.js";import{toErrorMessage}from"#shared/errors.js";const SEE_IT_LIVE_MESSAGE=`See it live`;async function offerDeployAndChat(e){try{return await e.select({message:SEE_IT_LIVE_MESSAGE,options:[{value:`deploy`,label:`Deploy and chat`},{value:`later`,label:`Later`}]})===`deploy`}catch(e){if(e instanceof WizardCancelledError)return!1;throw e}}function channelAlreadyAdded(e,t){return t===`web`?e.webAppPresent:e.slackOwners.length>0}function appendChannel(e,t){return e.includes(t)?[...e]:[...e,t]}async function pickChannel(e,t){let n=channelListRows(t),r=!n.some(e=>e.value!==`done`&&e.completed!==!0&&e.disabled!==!0),a={message:CHANNELS_PROMPT_MESSAGE,options:n,hintLayout:`inline`};r&&(a.initialValue=`done`);try{return{kind:`picked`,value:await e.select(a)}}catch(e){if(e instanceof WizardCancelledError)return{kind:`cancelled`};throw e}}function channelLandedDuringSubflow(e,t,n){return!channelAlreadyAdded(e,n)&&channelAlreadyAdded(t,n)}function deployAndChatDetails(e){let t={};return e.slackChatUrl!==void 0&&(t.chatUrl=e.slackChatUrl),e.slackWorkspaceName!==void 0&&(t.workspaceName=e.slackWorkspaceName),t}function channelListRows(e){let t=[{value:`repl`,label:`Terminal UI`,completed:!0,focusHint:`Already installed`}];for(let n of CHANNEL_SETUP_INTEGRATIONS){if(channelAlreadyAdded(e,n.kind)){t.push({value:n.kind,label:n.label,completed:!0,focusHint:`Already installed`});continue}let r=e.disabledChannelReasons[n.kind];if(r!==void 0){t.push({value:n.kind,label:n.label,disabled:!0,disabledReason:r});continue}let i={value:n.kind,label:n.label};n.hint!==void 0&&(i.hint=n.hint),t.push(i)}return t.push({value:`done`,label:`Done`,trailingAction:!0}),t}async function runChannelsFlow(s){let{appRoot:c,prompter:l,signal:u}=s,d={detectDeployment,inspectExistingChannelRegistrations,getVercelAuthStatus,installRegistryItem:async(e,t,n)=>{let{installOfficialRegistryItem:r}=await import(`#cli/commands/registry.js`);await r(e,t,n)},...s.deps},[f,p,m]=await withSpinner(l,`Checking the project…`,()=>Promise.all([d.detectDeployment(c,{signal:u}),d.inspectExistingChannelRegistrations(c),d.getVercelAuthStatus(c,{signal:u})]));u?.throwIfAborted();let h=p,g=channelSetupEnvironment(m,projectResolutionFromDeployment(f)),_={...createDefaultSetupState(),project:projectResolutionFromDeployment(f),projectPath:{kind:`resolved`,inPlace:!0,path:c}},v;for(;;){let t=await pickChannel(l,h);if(t.kind===`cancelled`){if(_.channels.length===0)return{kind:`cancelled`};break}let n=t.value;if(n===`done`)break;if(n===`repl`||channelAlreadyAdded(h,n))continue;assertCanAddSelectedChannels([n],h),await d.installRegistryItem(c,`channel/${n}`);let r;try{r=await channelSetupIntegration(n).setup({environment:g,state:{..._,channelSelection:[n]},ui:createChannelSetupUi({asker:interactiveAsker(l),prompter:l}),signal:u,skipDependencyMutation:!0,deps:d.addChannels})}catch(e){let t=u?.aborted===!0?await d.inspectExistingChannelRegistrations(c):await withSpinner(l,`Checking the project…`,()=>d.inspectExistingChannelRegistrations(c));if(channelLandedDuringSubflow(h,t,n)){if(_={..._,channels:appendChannel(_.channels,n)},h=t,e instanceof WizardCancelledError||(v=toErrorMessage(e)),u?.aborted===!0)break;continue}if(e instanceof WizardCancelledError){h=t;continue}throw e}r.kind===`done`&&(_=r.state);let o=u?.aborted===!0?await d.inspectExistingChannelRegistrations(c):await withSpinner(l,`Checking the project…`,()=>d.inspectExistingChannelRegistrations(c));if(channelLandedDuringSubflow(h,o,n)&&(_={..._,channels:appendChannel(_.channels,n)}),h=o,u?.aborted===!0)break;if(r.kind!==`cancelled`&&n===`slack`&&_.slackbotAttached&&await offerDeployAndChat(l))return{kind:`deploy-and-chat`,addedChannels:_.channels,chat:deployAndChatDetails(_)}}return v===void 0?{kind:`done`,addedChannels:_.channels}:{kind:`failed`,addedChannels:_.channels,message:v}}export{SEE_IT_LIVE_MESSAGE,runChannelsFlow};
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { ensureConnectionDependencies, listAuthoredConnections } from "#setup/scaffold/index.js";
|
|
2
|
-
import { detectPackageManager } from "#setup/package-manager.js";
|
|
3
|
-
import { runPackageManagerInstall } from "#setup/primitives/pm/run.js";
|
|
4
|
-
import { type AddConnectionsDeps } from "../boxes/add-connections.js";
|
|
5
|
-
import { detectDeployment } from "../project-resolution.js";
|
|
6
|
-
import type { Prompter } from "../prompter.js";
|
|
7
|
-
import { getVercelAuthStatus } from "../vercel-project.js";
|
|
8
|
-
import { runLinkFlow } from "./link.js";
|
|
9
|
-
export declare const CONNECTIONS_PROMPT_MESSAGE = "Select an MCP server to add to your agent through Vercel Connect";
|
|
10
|
-
export interface ConnectionsFlowDeps {
|
|
11
|
-
detectDeployment: typeof detectDeployment;
|
|
12
|
-
detectPackageManager: typeof detectPackageManager;
|
|
13
|
-
getVercelAuthStatus: typeof getVercelAuthStatus;
|
|
14
|
-
runLinkFlow: typeof runLinkFlow;
|
|
15
|
-
ensureConnectionDependencies: typeof ensureConnectionDependencies;
|
|
16
|
-
listAuthoredConnections: typeof listAuthoredConnections;
|
|
17
|
-
runPackageManagerInstall: typeof runPackageManagerInstall;
|
|
18
|
-
addConnections?: AddConnectionsDeps;
|
|
19
|
-
}
|
|
20
|
-
export type ConnectionsFlowResult = {
|
|
21
|
-
kind: "done";
|
|
22
|
-
addedConnections: readonly string[];
|
|
23
|
-
} | {
|
|
24
|
-
kind: "cancelled";
|
|
25
|
-
} | {
|
|
26
|
-
kind: "failed";
|
|
27
|
-
addedConnections: readonly string[];
|
|
28
|
-
message: string;
|
|
29
|
-
};
|
|
30
|
-
/** Runs `/connect`, linking a project on first selection when needed. */
|
|
31
|
-
export declare function runConnectionsFlow(input: {
|
|
32
|
-
appRoot: string;
|
|
33
|
-
prompter: Prompter;
|
|
34
|
-
signal?: AbortSignal;
|
|
35
|
-
disabledConnectionReasons?: Readonly<Record<string, string>>;
|
|
36
|
-
deps?: Partial<ConnectionsFlowDeps>;
|
|
37
|
-
}): Promise<ConnectionsFlowResult>;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{interactiveAsker}from"../ask.js";import{detectDeployment,isProjectResolved,projectResolutionFromDeployment}from"../project-resolution.js";import{snapshotSetupState}from"../state.js";import{WizardCancelledError}from"../step.js";import{withSpinner}from"../with-spinner.js";import{getVercelAuthStatus,vercelAuthBlockerReason}from"../vercel-project.js";import{selectConnections}from"../boxes/select-connections.js";import{addConnections}from"../boxes/add-connections.js";import{runInteractive}from"../runner.js";import{inProjectSetupState,prompterSink}from"./in-project.js";import{runLinkFlow}from"./link.js";import{CONNECTION_CATALOG,ensureConnectionDependencies,listAuthoredConnections}from"#setup/scaffold/index.js";import{detectPackageManager}from"#setup/package-manager.js";import{toErrorMessage}from"#shared/errors.js";import{createPromptCommandOutput,withPhase}from"#setup/cli/index.js";import{runPackageManagerInstall}from"#setup/primitives/pm/run.js";const CONNECTIONS_PROMPT_MESSAGE=`Select an MCP server to add to your agent through Vercel Connect`,CONNECT_CONNECTIONS=CONNECTION_CATALOG.filter(e=>e.auth.kind===`connect`);function connectionRows(e,t,n){let r=vercelAuthBlockerReason(t),i=CONNECT_CONNECTIONS.map(t=>{let i={value:t.slug,label:t.label};if(e.has(t.slug))return{...i,completed:!0,focusHint:`Already added`};let a=n[t.slug];return a===void 0?r===void 0?{...i,hint:t.hint}:{...i,disabled:!0,disabledReason:r,disabledReasonTone:`warning`}:{...i,disabled:!0,disabledReason:a,disabledReasonTone:`warning`}});return i.push({value:`done`,label:`Done`,trailingAction:!0}),i}async function pickConnection(e,t,n,r){let i=connectionRows(t,n,r),o={message:CONNECTIONS_PROMPT_MESSAGE,options:i,hintLayout:`inline`,search:!0,placeholder:`type to search MCP servers`};i.some(e=>e.value!==`done`&&e.disabled!==!0&&e.completed!==!0)||(o.initialValue=`done`);try{return await e.select(o)}catch(e){if(e instanceof WizardCancelledError)return;throw e}}async function runConnectionsFlow(s){let{appRoot:c,prompter:l,signal:u}=s,d={detectDeployment,detectPackageManager,ensureConnectionDependencies,getVercelAuthStatus,listAuthoredConnections,runLinkFlow,runPackageManagerInstall,...s.deps},[f,p,m]=await withSpinner(l,`Checking the project…`,()=>Promise.all([d.detectDeployment(c,{signal:u}),d.listAuthoredConnections(c),d.getVercelAuthStatus(c,{signal:u})]));u?.throwIfAborted();let h=inProjectSetupState(c,projectResolutionFromDeployment(f)),g=new Set(p),_=await pickConnection(l,g,m,s.disabledConnectionReasons??{});if(_===void 0)return{kind:`cancelled`};if(_===`done`||g.has(_))return{kind:`done`,addedConnections:[]};try{if(!isProjectResolved(h.project)){if((await d.runLinkFlow({appRoot:c,prompter:l,signal:u,projectSelection:`create-or-link`,teamSelectMessage:()=>`You need to link to a project to use Vercel Connect.
|
|
2
|
-
|
|
3
|
-
Select your team`})).kind===`cancelled`)return{kind:`cancelled`};let e=projectResolutionFromDeployment(await withSpinner(l,`Checking the project…`,()=>d.detectDeployment(c,{signal:u})));if(!isProjectResolved(e))throw Error(`Project link was not found after linking.`);h={...h,project:e}}let t=await d.detectPackageManager(c);if(await d.ensureConnectionDependencies({projectRoot:c}),!await withPhase(l.log,`Installing connection dependencies (${t.kind} install)...`,()=>d.runPackageManagerInstall(t.kind,c,{onOutput:createPromptCommandOutput(l.log),signal:u})))throw Error(`Dependency installation failed. Run \`${t.kind} install\`.`);if((await runInteractive([selectConnections({asker:interactiveAsker(l),presetConnections:[_]}),addConnections({prompter:l,signal:u,deps:d.addConnections})],h,prompterSink(l),{snapshot:snapshotSetupState,signal:u})).kind!==`done`)return{kind:`cancelled`};if(!new Set(await d.listAuthoredConnections(c)).has(_))throw Error(`Connection "${_}" was not added.`);return{kind:`done`,addedConnections:[_]}}catch(e){return e instanceof WizardCancelledError?{kind:`cancelled`}:{kind:`failed`,addedConnections:new Set(await d.listAuthoredConnections(c)).has(_)?[_]:[],message:toErrorMessage(e)}}}export{CONNECTIONS_PROMPT_MESSAGE,runConnectionsFlow};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { Prompter } from "./prompter.js";
|
|
2
|
-
import type { AnySetupBox } from "./runner.js";
|
|
3
|
-
import type { EvePackageContract } from "./scaffold/index.js";
|
|
4
|
-
import type { ArgsHeadlessAiGateway, ArgsHeadlessProject, ChannelKind, ChatPreference, SetupMode, SetupState } from "./state.js";
|
|
5
|
-
/**
|
|
6
|
-
* Options for {@link composeOnboardingBoxes}. These carry exactly what the
|
|
7
|
-
* create flow's options carried: the preset answers that let each box resolve
|
|
8
|
-
* without prompting, plus the directory and headless dispatch decisions.
|
|
9
|
-
*/
|
|
10
|
-
export interface OnboardingBoxesOptions {
|
|
11
|
-
prompter: Prompter;
|
|
12
|
-
/** Skip the name prompt and use this value. */
|
|
13
|
-
presetName?: string;
|
|
14
|
-
/** Skip the setup-mode prompt and use this value. */
|
|
15
|
-
presetMode?: SetupMode;
|
|
16
|
-
/** Skip the model prompt and use this value. */
|
|
17
|
-
presetModel?: string;
|
|
18
|
-
/** Skip the channels prompt and use these kinds. */
|
|
19
|
-
presetChannels?: ChannelKind[];
|
|
20
|
-
/** Skip the connections picker and scaffold these catalog slugs. */
|
|
21
|
-
presetConnections?: string[];
|
|
22
|
-
/** Skip the "Create slackbot?" prompt inside the add-to-agent step. */
|
|
23
|
-
presetCreateSlackbot?: boolean;
|
|
24
|
-
/** Headless-only Vercel provisioning flags. Ignored on the interactive path. */
|
|
25
|
-
provisioning?: {
|
|
26
|
-
project: ArgsHeadlessProject;
|
|
27
|
-
aiGateway: ArgsHeadlessAiGateway;
|
|
28
|
-
};
|
|
29
|
-
/** Skip the chat-preference prompt and use this value. */
|
|
30
|
-
presetChatPreference?: ChatPreference;
|
|
31
|
-
/** Parent directory the project folder is created inside. Defaults to cwd. */
|
|
32
|
-
targetDirectory?: string;
|
|
33
|
-
/** Scaffold into cwd or targetDirectory instead of creating a child directory. */
|
|
34
|
-
inPlace?: boolean;
|
|
35
|
-
/** Allow the in-place scaffold to replace eve scaffold files that already exist. */
|
|
36
|
-
overwriteExisting?: boolean;
|
|
37
|
-
/** Skip the post-channel Vercel deployment entirely. */
|
|
38
|
-
presetNoDeploy?: boolean;
|
|
39
|
-
/**
|
|
40
|
-
* Headless mode: never prompt or spawn an interactive Vercel command. Boxes
|
|
41
|
-
* needing a human/browser action throw `HumanActionRequiredError`. Slack
|
|
42
|
-
* setup remains an interactive/onboarding handoff, not a headless flow.
|
|
43
|
-
*/
|
|
44
|
-
headless?: boolean;
|
|
45
|
-
/** eve package metadata baked into the scaffolded `package.json`. */
|
|
46
|
-
evePackage?: EvePackageContract;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Composes the full programmatic onboarding flow.
|
|
50
|
-
*
|
|
51
|
-
* 1. The interview phase: name, then the agent itself (model, channels,
|
|
52
|
-
* connections), then where it runs (the provisioning plans).
|
|
53
|
-
* 2. Input preflight before filesystem writes.
|
|
54
|
-
* 3. The scaffold box writes or reuses the agent template.
|
|
55
|
-
* 4. Project and gateway facts are detected and executed from the plans.
|
|
56
|
-
* 5. Channel setup writes Web/Slack surfaces and returns setup facts.
|
|
57
|
-
* 6. Deploy runs once when Slack was added (the connector needs a public URL).
|
|
58
|
-
* 7. Chat preference is picked from the final channel state.
|
|
59
|
-
*/
|
|
60
|
-
export declare function composeOnboardingBoxes(options: OnboardingBoxesOptions): AnySetupBox<SetupState>[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{headlessAsker,interactiveAsker}from"./ask.js";import{addChannels}from"./boxes/add-channels.js";import{selectConnections}from"./boxes/select-connections.js";import{addConnections}from"./boxes/add-connections.js";import{detectAiGateway}from"./boxes/detect-ai-gateway.js";import{applyAiGatewayCredential}from"./boxes/apply-ai-gateway-credential.js";import{deployProject}from"./boxes/deploy-project.js";import{installChannelRegistryItems}from"./boxes/install-channel-registry-items.js";import{linkVercelProject}from"./boxes/link-project.js";import{oneShotNextSteps}from"./boxes/one-shot-next-steps.js";import{preflight}from"./boxes/preflight.js";import{resolveProvisioning}from"./boxes/resolve-provisioning.js";import{resolveTarget}from"./boxes/resolve-target.js";import{scaffold}from"./boxes/scaffold.js";import{selectChannels}from"./boxes/select-channels.js";import{selectChat}from"./boxes/select-chat.js";import{selectModel}from"./boxes/select-model.js";import{selectSetupMode}from"./boxes/select-setup-mode.js";import{resolve}from"node:path";function onlyWhen(e,t){return{...t,shouldRun:n=>e(n)&&(t.shouldRun?.(n)??!0)}}function completeSetupOnly(e){return onlyWhen(e=>e.setupMode===`complete`,e)}function composeOnboardingBoxes(r){let i=r.headless?{headless:!0,project:r.provisioning?.project??{},aiGateway:r.provisioning?.aiGateway??{}}:{headless:!1},a=r.headless?headlessAsker():interactiveAsker(r.prompter);return[resolveTarget({asker:a,notify:e=>r.prompter.note(e),presetName:r.presetName,targetDirectory:r.targetDirectory,inPlace:r.inPlace,resumeExisting:r.headless}),selectSetupMode({asker:a,presetMode:r.presetMode,presetModel:r.presetModel}),...[selectModel({asker:a,presetModel:r.presetModel}),selectChannels({asker:a,presetChannels:r.presetChannels,variant:`onboarding`}),selectConnections({asker:a,presetConnections:r.presetConnections,headless:r.headless}),resolveProvisioning({asker:a,prompter:r.prompter,targetDirectory:r.targetDirectory,mode:i})].map(completeSetupOnly),preflight({cwd:resolve(r.targetDirectory??process.cwd()),headless:r.headless}),scaffold({prompter:r.prompter,evePackage:r.evePackage,targetDirectory:r.targetDirectory,overwriteExisting:r.overwriteExisting,headless:r.headless}),...[detectAiGateway(),linkVercelProject({prompter:r.prompter,headless:r.headless}),applyAiGatewayCredential({prompter:r.prompter}),installChannelRegistryItems(),addChannels({asker:a,prompter:r.prompter,evePackage:r.evePackage,presetCreateSlackbot:r.presetCreateSlackbot,headless:r.headless,slackbotFailure:`warn-and-continue`,skipDependencyMutation:!0}),addConnections({prompter:r.prompter})].map(completeSetupOnly),completeSetupOnly(onlyWhen(e=>e.slackScaffolded,deployProject({prompter:r.prompter,skip:r.presetNoDeploy,headless:r.headless}))),completeSetupOnly(selectChat({asker:a,presetPreference:r.presetChatPreference})),oneShotNextSteps({prompter:r.prompter})]}export{composeOnboardingBoxes};
|