@bastani/atomic 0.9.13-alpha.1 → 0.9.13-alpha.2
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 +130 -0
- package/README.md +35 -17
- package/dist/builtin/i-have-adhd/CHANGELOG.md +17 -0
- package/dist/builtin/i-have-adhd/LICENSE +21 -0
- package/dist/builtin/i-have-adhd/README.md +18 -0
- package/dist/builtin/i-have-adhd/index.ts +238 -0
- package/dist/builtin/i-have-adhd/package.json +56 -0
- package/dist/builtin/i-have-adhd/skills/i-have-adhd/SKILL.md +140 -0
- package/dist/builtin/intercom/CHANGELOG.md +19 -0
- package/dist/builtin/intercom/README.md +25 -4
- package/dist/builtin/intercom/broker/bounded-stderr-install.ts +18 -0
- package/dist/builtin/intercom/broker/bounded-stderr.ts +132 -0
- package/dist/builtin/intercom/broker/broker.ts +12 -23
- package/dist/builtin/intercom/broker/client.ts +70 -3
- package/dist/builtin/intercom/broker/paths.ts +9 -0
- package/dist/builtin/intercom/broker/presence-handler.ts +103 -0
- package/dist/builtin/intercom/broker/spawn.ts +128 -29
- package/dist/builtin/intercom/foreground-detach-handoff.ts +30 -14
- package/dist/builtin/intercom/group.ts +64 -25
- package/dist/builtin/intercom/index-heavy.ts +38 -5
- package/dist/builtin/intercom/index.ts +7 -3
- package/dist/builtin/intercom/intercom-tool.ts +82 -5
- package/dist/builtin/intercom/lazy-subagent-ack.ts +11 -6
- package/dist/builtin/intercom/package.json +2 -3
- package/dist/builtin/intercom/runtime-group.ts +13 -0
- package/dist/builtin/intercom/skills/intercom/SKILL.md +30 -2
- package/dist/builtin/intercom/subagent-relay.ts +32 -16
- package/dist/builtin/intercom/terminal-ordering-barrier.ts +21 -4
- package/dist/builtin/intercom/types.ts +3 -1
- package/dist/builtin/intercom/ui/compose.ts +8 -6
- package/dist/builtin/intercom/ui/session-list.ts +7 -5
- package/dist/builtin/mcp/CHANGELOG.md +13 -0
- package/dist/builtin/mcp/glimpse-ui.ts +2 -1
- package/dist/builtin/mcp/index.ts +1 -11
- package/dist/builtin/mcp/mcp-panel.ts +35 -34
- package/dist/builtin/mcp/mcp-setup-panel.ts +35 -33
- package/dist/builtin/mcp/npx-resolver.ts +3 -2
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/mcp/sampling-handler.ts +5 -1
- package/dist/builtin/mcp/server-manager.ts +4 -7
- package/dist/builtin/subagents/CHANGELOG.md +33 -0
- package/dist/builtin/subagents/README.md +124 -323
- package/dist/builtin/subagents/agents/worker.md +1 -1
- package/dist/builtin/subagents/package.json +5 -5
- package/dist/builtin/subagents/prompts/parallel-context-build.md +2 -2
- package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +4 -4
- package/dist/builtin/subagents/prompts/review-loop.md +1 -1
- package/dist/builtin/subagents/skills/subagent/SKILL.md +39 -102
- package/dist/builtin/subagents/src/agents/agent-discovery.ts +1 -29
- package/dist/builtin/subagents/src/agents/agent-loaders.ts +1 -40
- package/dist/builtin/subagents/src/agents/agent-management-helpers.ts +6 -135
- package/dist/builtin/subagents/src/agents/agent-management.ts +52 -282
- package/dist/builtin/subagents/src/agents/agent-paths.ts +0 -22
- package/dist/builtin/subagents/src/agents/agent-types.ts +0 -40
- package/dist/builtin/subagents/src/agents/agents.ts +0 -3
- package/dist/builtin/subagents/src/agents/identity.ts +2 -4
- package/dist/builtin/subagents/src/agents/skills-paths.ts +8 -1
- package/dist/builtin/subagents/src/extension/doctor.ts +3 -23
- package/dist/builtin/subagents/src/extension/index.ts +9 -7
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +2 -2
- package/dist/builtin/subagents/src/extension/schemas.ts +1 -157
- package/dist/builtin/subagents/src/extension/startup-maintenance.ts +0 -2
- package/dist/builtin/subagents/src/extension/tool-description.ts +4 -13
- package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +6 -2
- package/dist/builtin/subagents/src/intercom/result-intercom.ts +20 -22
- package/dist/builtin/subagents/src/intercom/supervisor-authorization.ts +9 -2
- package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +97 -16
- package/dist/builtin/subagents/src/runs/background/completion-notification.ts +8 -3
- package/dist/builtin/subagents/src/runs/background/notify.ts +54 -18
- package/dist/builtin/subagents/src/runs/foreground/execution-updates.ts +0 -5
- package/dist/builtin/subagents/src/runs/foreground/execution.ts +1 -4
- package/dist/builtin/subagents/src/runs/foreground/inprocess-run-sync.ts +117 -15
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +11 -40
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +11 -22
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +10 -173
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +6 -4
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +9 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +9 -2
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +32 -12
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -6
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-worktree.ts +1 -14
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +56 -31
- package/dist/builtin/subagents/src/runs/inprocess/background-single.ts +46 -30
- package/dist/builtin/subagents/src/runs/inprocess/background.ts +2 -1
- package/dist/builtin/subagents/src/runs/inprocess/runner.ts +343 -89
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-projection.ts +0 -2
- package/dist/builtin/subagents/src/runs/inprocess/runtime-support/nested-sanitize.ts +1 -3
- package/dist/builtin/subagents/src/runs/shared/intercom-group.ts +23 -7
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +0 -86
- package/dist/builtin/subagents/src/runs/shared/worktree.ts +7 -2
- package/dist/builtin/subagents/src/shared/formatters.ts +2 -56
- package/dist/builtin/subagents/src/shared/settings.ts +14 -350
- package/dist/builtin/subagents/src/shared/types-async.ts +8 -31
- package/dist/builtin/subagents/src/shared/types-config.ts +20 -22
- package/dist/builtin/subagents/src/shared/types-depth.ts +30 -56
- package/dist/builtin/subagents/src/shared/types-results.ts +9 -58
- package/dist/builtin/subagents/src/shared/types-runtime.ts +0 -1
- package/dist/builtin/subagents/src/shared/utils.ts +5 -0
- package/dist/builtin/subagents/src/slash/bridge-settlement.ts +87 -0
- package/dist/builtin/subagents/src/slash/prompt-template-bridge.ts +47 -7
- package/dist/builtin/subagents/src/slash/slash-bridge.ts +27 -7
- package/dist/builtin/subagents/src/slash/slash-commands.ts +37 -82
- package/dist/builtin/subagents/src/slash/slash-live-state.ts +1 -92
- package/dist/builtin/subagents/src/tui/render-event-formatting.ts +2 -35
- package/dist/builtin/subagents/src/tui/render-progress.ts +89 -0
- package/dist/builtin/subagents/src/tui/render-result-compact.ts +43 -71
- package/dist/builtin/subagents/src/tui/render-result.ts +41 -90
- package/dist/builtin/subagents/src/tui/render-stable-output.ts +0 -5
- package/dist/builtin/subagents/src/tui/render-widget-graph.ts +6 -55
- package/dist/builtin/web-access/CHANGELOG.md +14 -0
- package/dist/builtin/web-access/chrome-cookies.ts +3 -2
- package/dist/builtin/web-access/github-api.ts +7 -6
- package/dist/builtin/web-access/github-extract.ts +2 -1
- package/dist/builtin/web-access/package.json +3 -3
- package/dist/builtin/web-access/subprocess.ts +3 -1
- package/dist/builtin/web-access/summary-review.ts +2 -2
- package/dist/builtin/web-access/web-search-features.ts +38 -22
- package/dist/builtin/web-access/web-search-summary.ts +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +45 -0
- package/dist/builtin/workflows/README.md +41 -1
- package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +3 -0
- package/dist/builtin/workflows/builtin/ralph-models.ts +25 -20
- package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -2
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/src/durable/backend.ts +18 -1
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +60 -3
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +67 -1
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +22 -7
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +4 -0
- package/dist/builtin/workflows/src/durable/local-command.ts +2 -1
- package/dist/builtin/workflows/src/durable/types.ts +17 -1
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +3 -1
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +1 -1
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +10 -2
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +9 -2
- package/dist/builtin/workflows/src/extension/atomic-stage-session.ts +7 -1
- package/dist/builtin/workflows/src/extension/companions.ts +1 -1
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +947 -447
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +31 -3
- package/dist/builtin/workflows/src/extension/mcp.ts +13 -2
- package/dist/builtin/workflows/src/extension/render-result.ts +1 -0
- package/dist/builtin/workflows/src/extension/ui-surface.ts +7 -20
- package/dist/builtin/workflows/src/extension/wiring.ts +33 -6
- package/dist/builtin/workflows/src/extension/workflow-ports.ts +14 -6
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +11 -6
- package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +8 -0
- package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +2 -0
- package/dist/builtin/workflows/src/intercom/intercom-routing.ts +12 -6
- package/dist/builtin/workflows/src/intercom/result-intercom.ts +35 -4
- package/dist/builtin/workflows/src/runs/background/status.ts +15 -0
- package/dist/builtin/workflows/src/runs/foreground/executor-abort.ts +11 -3
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +2 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-exit-manager.ts +26 -2
- package/dist/builtin/workflows/src/runs/foreground/executor-run-finalizers.ts +3 -2
- package/dist/builtin/workflows/src/runs/shared/worktree-git-runner.ts +5 -2
- package/dist/builtin/workflows/src/runs/shared/worktree-setup.ts +2 -0
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +5 -3
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +5 -3
- package/dist/builtin/workflows/src/shared/graph-store-snapshot.ts +34 -2
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +23 -6
- package/dist/builtin/workflows/src/shared/stage-ui-broker.ts +10 -4
- package/dist/builtin/workflows/src/shared/store-public-types.ts +4 -2
- package/dist/builtin/workflows/src/shared/store-types.ts +1 -1
- package/dist/builtin/workflows/src/shared/workflow-artifact-env.ts +21 -0
- package/dist/builtin/workflows/src/shared/workflow-artifacts.ts +2 -5
- package/dist/builtin/workflows/src/tui/dispatch-confirm.ts +37 -2
- package/dist/builtin/workflows/src/tui/graph-view-constants.ts +0 -15
- package/dist/builtin/workflows/src/tui/graph-view-graph-render.ts +38 -47
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +48 -45
- package/dist/builtin/workflows/src/tui/graph-view-layout.ts +266 -0
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +1 -86
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +209 -91
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +5 -7
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +13 -7
- package/dist/builtin/workflows/src/tui/inline-form-editor.ts +8 -6
- package/dist/builtin/workflows/src/tui/inline-form-overlay.ts +2 -1
- package/dist/builtin/workflows/src/tui/inputs-overlay.ts +7 -4
- package/dist/builtin/workflows/src/tui/inputs-picker-input.ts +66 -0
- package/dist/builtin/workflows/src/tui/keybindings-adapter.ts +1 -0
- package/dist/builtin/workflows/src/tui/node-card.ts +1 -1
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +18 -46
- package/dist/builtin/workflows/src/tui/overlay-terminal-modes.ts +15 -26
- package/dist/builtin/workflows/src/tui/session-overlays.ts +5 -2
- package/dist/builtin/workflows/src/tui/session-picker.ts +27 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +5 -14
- package/dist/builtin/workflows/src/tui/stage-chat-view-input.ts +8 -7
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +12 -3
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +1 -11
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +0 -8
- package/dist/builtin/workflows/src/tui/status-list.ts +1 -0
- package/dist/builtin/workflows/src/tui/store-widget-installer.ts +2 -6
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -15
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +2 -26
- package/dist/builtin/workflows/src/tui/workflow-status.ts +3 -3
- package/dist/bun/split-loader.js +2 -0
- package/dist/bun/split-loader.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +6 -2
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/auth-check.d.ts +35 -0
- package/dist/cli/auth-check.d.ts.map +1 -0
- package/dist/cli/auth-check.js +100 -0
- package/dist/cli/auth-check.js.map +1 -0
- package/dist/cli/auth-command.d.ts +27 -0
- package/dist/cli/auth-command.d.ts.map +1 -0
- package/dist/cli/auth-command.js +150 -0
- package/dist/cli/auth-command.js.map +1 -0
- package/dist/cli/config-selector.js +2 -2
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts +18 -23
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js +42 -88
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts +16 -0
- package/dist/cli/experimental/auth.d.ts.map +1 -0
- package/dist/cli/experimental/auth.js +13 -0
- package/dist/cli/experimental/auth.js.map +1 -0
- package/dist/cli/experimental/cli.d.ts +6 -0
- package/dist/cli/experimental/cli.d.ts.map +1 -0
- package/dist/cli/experimental/cli.js +5 -0
- package/dist/cli/experimental/cli.js.map +1 -0
- package/dist/cli/experimental/command-options.d.ts +17 -0
- package/dist/cli/experimental/command-options.d.ts.map +1 -0
- package/dist/cli/experimental/command-options.js +35 -0
- package/dist/cli/experimental/command-options.js.map +1 -0
- package/dist/cli/experimental/command.d.ts +63 -0
- package/dist/cli/experimental/command.d.ts.map +1 -0
- package/dist/cli/experimental/command.js +127 -0
- package/dist/cli/experimental/command.js.map +1 -0
- package/dist/cli/experimental/commands/client.d.ts +13 -0
- package/dist/cli/experimental/commands/client.d.ts.map +1 -0
- package/dist/cli/experimental/commands/client.js +25 -0
- package/dist/cli/experimental/commands/client.js.map +1 -0
- package/dist/cli/experimental/commands/pi.d.ts +15 -0
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -0
- package/dist/cli/experimental/commands/pi.js +28 -0
- package/dist/cli/experimental/commands/pi.js.map +1 -0
- package/dist/cli/experimental/commands/server.d.ts +13 -0
- package/dist/cli/experimental/commands/server.d.ts.map +1 -0
- package/dist/cli/experimental/commands/server.js +25 -0
- package/dist/cli/experimental/commands/server.js.map +1 -0
- package/dist/cli/experimental/transport-address.d.ts +10 -0
- package/dist/cli/experimental/transport-address.d.ts.map +1 -0
- package/dist/cli/experimental/transport-address.js +38 -0
- package/dist/cli/experimental/transport-address.js.map +1 -0
- package/dist/cli/session-picker.js +2 -2
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +4 -10
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts +3 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +3 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/remote-session.d.ts +64 -0
- package/dist/client/remote-session.d.ts.map +1 -0
- package/dist/client/remote-session.js +351 -0
- package/dist/client/remote-session.js.map +1 -0
- package/dist/client/transcript.d.ts +12 -0
- package/dist/client/transcript.d.ts.map +1 -0
- package/dist/client/transcript.js +98 -0
- package/dist/client/transcript.js.map +1 -0
- package/dist/core/agent-session-auto-compaction.d.ts +17 -13
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +146 -64
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +2 -0
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +3 -6
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +64 -28
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-events.d.ts +1 -11
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +15 -23
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +4 -2
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +6 -2
- package/dist/core/agent-session-methods.d.ts.map +1 -1
- package/dist/core/agent-session-methods.js.map +1 -1
- package/dist/core/agent-session-models.d.ts +1 -0
- package/dist/core/agent-session-models.d.ts.map +1 -1
- package/dist/core/agent-session-models.js +11 -4
- package/dist/core/agent-session-models.js.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +22 -6
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts.map +1 -1
- package/dist/core/agent-session-runtime-auth.js +3 -0
- package/dist/core/agent-session-runtime-auth.js.map +1 -1
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +25 -14
- package/dist/core/agent-session-tool-hooks.js.map +1 -1
- package/dist/core/agent-session-tool-registry.d.ts.map +1 -1
- package/dist/core/agent-session-tool-registry.js +4 -0
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +2 -0
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +6 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +30 -0
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/atomic-guide-command.d.ts.map +1 -1
- package/dist/core/atomic-guide-command.js +2 -3
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-storage.d.ts +18 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +83 -0
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +5 -0
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +43 -19
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/builtin-packages.d.ts.map +1 -1
- package/dist/core/builtin-packages.js +6 -0
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/codex-fast-mode.d.ts.map +1 -1
- package/dist/core/codex-fast-mode.js +8 -3
- package/dist/core/codex-fast-mode.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js +4 -3
- package/dist/core/exec.js.map +1 -1
- package/dist/core/extensions/agent-events.d.ts +0 -1
- package/dist/core/extensions/agent-events.d.ts.map +1 -1
- package/dist/core/extensions/agent-events.js.map +1 -1
- package/dist/core/extensions/api-types.d.ts +5 -3
- package/dist/core/extensions/api-types.d.ts.map +1 -1
- package/dist/core/extensions/api-types.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +15 -0
- package/dist/core/extensions/context-types.d.ts.map +1 -1
- package/dist/core/extensions/context-types.js.map +1 -1
- package/dist/core/extensions/event-results.d.ts +5 -0
- package/dist/core/extensions/event-results.d.ts.map +1 -1
- package/dist/core/extensions/event-results.js.map +1 -1
- package/dist/core/extensions/index.d.ts +2 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js +1 -0
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader-api.d.ts.map +1 -1
- package/dist/core/extensions/loader-api.js +14 -1
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-discovery.d.ts.map +1 -1
- package/dist/core/extensions/loader-discovery.js +3 -23
- package/dist/core/extensions/loader-discovery.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +20 -3
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
- package/dist/core/extensions/loader-virtual-modules.js +7 -1
- package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +6 -0
- package/dist/core/extensions/message-types.d.ts.map +1 -1
- package/dist/core/extensions/message-types.js.map +1 -1
- package/dist/core/extensions/provider-types.d.ts +9 -3
- package/dist/core/extensions/provider-types.d.ts.map +1 -1
- package/dist/core/extensions/provider-types.js.map +1 -1
- package/dist/core/extensions/runner-registries.d.ts +2 -1
- package/dist/core/extensions/runner-registries.d.ts.map +1 -1
- package/dist/core/extensions/runner-registries.js +3 -0
- package/dist/core/extensions/runner-registries.js.map +1 -1
- package/dist/core/extensions/runner-ui.d.ts.map +1 -1
- package/dist/core/extensions/runner-ui.js +1 -0
- package/dist/core/extensions/runner-ui.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +2 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +6 -2
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +4 -1
- package/dist/core/extensions/runtime-types.d.ts.map +1 -1
- package/dist/core/extensions/runtime-types.js.map +1 -1
- package/dist/core/extensions/stale-context.d.ts +5 -0
- package/dist/core/extensions/stale-context.d.ts.map +1 -0
- package/dist/core/extensions/stale-context.js +11 -0
- package/dist/core/extensions/stale-context.js.map +1 -0
- package/dist/core/extensions/ui-types.d.ts +14 -11
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js +3 -2
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/intercom-runtime-group.d.ts +13 -0
- package/dist/core/intercom-runtime-group.d.ts.map +1 -0
- package/dist/core/intercom-runtime-group.js +23 -0
- package/dist/core/intercom-runtime-group.js.map +1 -0
- package/dist/core/keybindings.d.ts +44 -4
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/model-config.d.ts +39 -5
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +6 -0
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts +12 -5
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +20 -12
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-cli.d.ts.map +1 -1
- package/dist/core/model-resolver-cli.js +46 -14
- package/dist/core/model-resolver-cli.js.map +1 -1
- package/dist/core/model-resolver-defaults.d.ts.map +1 -1
- package/dist/core/model-resolver-defaults.js +2 -0
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-resolver-scope.d.ts +2 -0
- package/dist/core/model-resolver-scope.d.ts.map +1 -1
- package/dist/core/model-resolver-scope.js +12 -9
- package/dist/core/model-resolver-scope.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime-snapshot.d.ts +10 -0
- package/dist/core/model-runtime-snapshot.d.ts.map +1 -1
- package/dist/core/model-runtime-snapshot.js +14 -1
- package/dist/core/model-runtime-snapshot.js.map +1 -1
- package/dist/core/model-runtime-streaming.d.ts +3 -1
- package/dist/core/model-runtime-streaming.d.ts.map +1 -1
- package/dist/core/model-runtime-streaming.js +16 -0
- package/dist/core/model-runtime-streaming.js.map +1 -1
- package/dist/core/model-runtime-types.d.ts +2 -0
- package/dist/core/model-runtime-types.d.ts.map +1 -1
- package/dist/core/model-runtime-types.js.map +1 -1
- package/dist/core/model-runtime.d.ts +37 -10
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js +312 -113
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/oauth-login.d.ts.map +1 -1
- package/dist/core/oauth-login.js +2 -1
- package/dist/core/oauth-login.js.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -1
- package/dist/core/openai-responses-payload-sanitizer.js +18 -2
- package/dist/core/openai-responses-payload-sanitizer.js.map +1 -1
- package/dist/core/package-manager-git.d.ts.map +1 -1
- package/dist/core/package-manager-git.js +56 -10
- package/dist/core/package-manager-git.js.map +1 -1
- package/dist/core/package-manager-manifest.d.ts +1 -1
- package/dist/core/package-manager-manifest.d.ts.map +1 -1
- package/dist/core/package-manager-manifest.js +19 -9
- package/dist/core/package-manager-manifest.js.map +1 -1
- package/dist/core/package-manager-resource-collector.js.map +1 -1
- package/dist/core/package-manager-resource-files.d.ts.map +1 -1
- package/dist/core/package-manager-resource-files.js +1 -2
- package/dist/core/package-manager-resource-files.js.map +1 -1
- package/dist/core/provider-composer-internal.d.ts +10 -2
- package/dist/core/provider-composer-internal.d.ts.map +1 -1
- package/dist/core/provider-composer-internal.js +7 -3
- package/dist/core/provider-composer-internal.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js +19 -12
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/provider-display-names.d.ts.map +1 -1
- package/dist/core/provider-display-names.js +2 -0
- package/dist/core/provider-display-names.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +77 -67
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js +3 -0
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader-context-files.d.ts.map +1 -1
- package/dist/core/resource-loader-context-files.js +13 -5
- package/dist/core/resource-loader-context-files.js.map +1 -1
- package/dist/core/runtime-credentials.d.ts +5 -5
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js +8 -8
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/session-manager-list.d.ts.map +1 -1
- package/dist/core/session-manager-list.js +3 -1
- package/dist/core/session-manager-list.js.map +1 -1
- package/dist/core/settings-manager-ui-accessors.d.ts +8 -1
- package/dist/core/settings-manager-ui-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-ui-accessors.js +31 -0
- package/dist/core/settings-manager-ui-accessors.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-merge.d.ts.map +1 -1
- package/dist/core/settings-merge.js +13 -16
- package/dist/core/settings-merge.js.map +1 -1
- package/dist/core/settings-types.d.ts +5 -0
- package/dist/core/settings-types.d.ts.map +1 -1
- package/dist/core/settings-types.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +0 -2
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts +2 -2
- package/dist/core/tools/ask-user-question/state/questionnaire-session.d.ts.map +1 -1
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js +39 -2
- package/dist/core/tools/ask-user-question/state/questionnaire-session.js.map +1 -1
- package/dist/core/tools/bash-async-execution.d.ts +2 -0
- package/dist/core/tools/bash-async-execution.d.ts.map +1 -1
- package/dist/core/tools/bash-async-execution.js +4 -1
- package/dist/core/tools/bash-async-execution.js.map +1 -1
- package/dist/core/tools/bash-async-output.d.ts +1 -0
- package/dist/core/tools/bash-async-output.d.ts.map +1 -1
- package/dist/core/tools/bash-async-output.js +62 -27
- package/dist/core/tools/bash-async-output.js.map +1 -1
- package/dist/core/tools/bash-pty-native.d.ts.map +1 -1
- package/dist/core/tools/bash-pty-native.js +2 -1
- package/dist/core/tools/bash-pty-native.js.map +1 -1
- package/dist/core/tools/bash.d.ts +9 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +34 -16
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/directory-tree.d.ts +11 -0
- package/dist/core/tools/directory-tree.d.ts.map +1 -1
- package/dist/core/tools/directory-tree.js +26 -0
- package/dist/core/tools/directory-tree.js.map +1 -1
- package/dist/core/tools/edit.d.ts +4 -0
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +12 -8
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/errno.d.ts +25 -0
- package/dist/core/tools/errno.d.ts.map +1 -0
- package/dist/core/tools/errno.js +29 -0
- package/dist/core/tools/errno.js.map +1 -0
- package/dist/core/tools/find.d.ts +8 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js +20 -15
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js +5 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts +7 -7
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +7 -7
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/ls.d.ts +4 -0
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js +5 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/output-accumulator.d.ts +8 -1
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js +50 -28
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/oversized-tool-result.d.ts.map +1 -1
- package/dist/core/tools/oversized-tool-result.js +129 -22
- package/dist/core/tools/oversized-tool-result.js.map +1 -1
- package/dist/core/tools/persisted-output-file.d.ts +80 -0
- package/dist/core/tools/persisted-output-file.d.ts.map +1 -0
- package/dist/core/tools/persisted-output-file.js +284 -0
- package/dist/core/tools/persisted-output-file.js.map +1 -0
- package/dist/core/tools/read.d.ts +10 -0
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js +20 -8
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/search.d.ts +4 -0
- package/dist/core/tools/search.d.ts.map +1 -1
- package/dist/core/tools/search.js +5 -1
- package/dist/core/tools/search.js.map +1 -1
- package/dist/core/tools/session-temp-cleanup.d.ts +133 -0
- package/dist/core/tools/session-temp-cleanup.d.ts.map +1 -0
- package/dist/core/tools/session-temp-cleanup.js +669 -0
- package/dist/core/tools/session-temp-cleanup.js.map +1 -0
- package/dist/core/tools/session-temp-dir.d.ts +116 -0
- package/dist/core/tools/session-temp-dir.d.ts.map +1 -0
- package/dist/core/tools/session-temp-dir.js +409 -0
- package/dist/core/tools/session-temp-dir.js.map +1 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +2 -0
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/tool-limits.d.ts +11 -0
- package/dist/core/tools/tool-limits.d.ts.map +1 -1
- package/dist/core/tools/tool-limits.js +11 -0
- package/dist/core/tools/tool-limits.js.map +1 -1
- package/dist/core/tools/windows-directory-security.d.ts +82 -0
- package/dist/core/tools/windows-directory-security.d.ts.map +1 -0
- package/dist/core/tools/windows-directory-security.js +238 -0
- package/dist/core/tools/windows-directory-security.js.map +1 -0
- package/dist/core/tools/write.d.ts +4 -0
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js +8 -4
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.js +1 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts +1 -1
- package/dist/extensions/llama/huggingface-ui.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface-ui.js +6 -5
- package/dist/extensions/llama/huggingface-ui.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +11 -2
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +24 -8
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js +5 -2
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/index-extensions.d.ts +2 -2
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/main-runtime-api-key.d.ts +2 -2
- package/dist/main-runtime-api-key.d.ts.map +1 -1
- package/dist/main-runtime-api-key.js +7 -2
- package/dist/main-runtime-api-key.js.map +1 -1
- package/dist/main-session.js +2 -2
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +130 -26
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +1 -0
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts +6 -2
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js +18 -5
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js +5 -4
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts +2 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js +3 -2
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.d.ts +17 -7
- package/dist/modes/interactive/components/chat-message-renderer.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-message-renderer.js +35 -69
- package/dist/modes/interactive/components/chat-message-renderer.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-actions.js +11 -3
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-events.js +25 -15
- package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-rendering.js +9 -4
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +2 -0
- package/dist/modes/interactive/components/chat-session-host-state.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.js +2 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +9 -0
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +14 -0
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.d.ts +32 -0
- package/dist/modes/interactive/components/chat-transcript.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-transcript.js +173 -5
- package/dist/modes/interactive/components/chat-transcript.js.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/config-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector-list.js +9 -8
- package/dist/modes/interactive/components/config-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js +32 -10
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +2 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +3 -2
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +3 -2
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js +1 -0
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js +4 -0
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.d.ts +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/fast-mode-selector.js +7 -5
- package/dist/modes/interactive/components/fast-mode-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js +3 -0
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.js +1 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts +1 -1
- package/dist/modes/interactive/components/host-input-form.d.ts.map +1 -1
- package/dist/modes/interactive/components/host-input-form.js +6 -5
- package/dist/modes/interactive/components/host-input-form.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js +2 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts +3 -0
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -0
- package/dist/modes/interactive/components/markdown-transform.js +19 -0
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -0
- package/dist/modes/interactive/components/mermaid.d.ts +11 -0
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -0
- package/dist/modes/interactive/components/mermaid.js +81 -0
- package/dist/modes/interactive/components/mermaid.js.map +1 -0
- package/dist/modes/interactive/components/model-selector.d.ts +2 -2
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +9 -6
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js +3 -2
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts +6 -2
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +39 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-delete.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-delete.js +2 -1
- package/dist/modes/interactive/components/session-selector-delete.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-list.js +12 -11
- package/dist/modes/interactive/components/session-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js +3 -3
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-handlers.js +9 -0
- package/dist/modes/interactive/components/settings-selector-handlers.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-items.js +21 -0
- package/dist/modes/interactive/components/settings-selector-items.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts +3 -3
- package/dist/modes/interactive/components/settings-selector-submenus.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js +6 -1
- package/dist/modes/interactive/components/settings-selector-submenus.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts +8 -1
- package/dist/modes/interactive/components/settings-selector-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector-types.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts +2 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js +3 -2
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts +2 -0
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js +50 -27
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-component.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-component.js +2 -3
- package/dist/modes/interactive/components/tree-selector-component.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-help.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-help.js +3 -1
- package/dist/modes/interactive/components/tree-selector-help.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-label-input.js +1 -0
- package/dist/modes/interactive/components/tree-selector-label-input.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.d.ts +1 -1
- package/dist/modes/interactive/components/tree-selector-list.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-list.js +3 -0
- package/dist/modes/interactive/components/tree-selector-list.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js +4 -0
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js +4 -0
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts +4 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js +10 -2
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-agent-events.js +36 -18
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +9 -2
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +5 -1
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.js +16 -4
- package/dist/modes/interactive/interactive-bash-compact.js.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-deferred-startup.js +3 -0
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-editor-actions.js +2 -0
- package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-context.js +12 -7
- package/dist/modes/interactive/interactive-extension-context.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-custom-ui.js +1 -0
- package/dist/modes/interactive/interactive-extension-custom-ui.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-dialogs.js +7 -0
- package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-widgets.js +7 -24
- package/dist/modes/interactive/interactive-extension-widgets.js.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +9 -8
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +52 -3
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +143 -5
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -2
- package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.js +2 -2
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -3
- package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +1 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +107 -41
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js +1 -1
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-render-chat.js +24 -6
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-selectors.js +44 -5
- package/dist/modes/interactive/interactive-selectors.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +1 -0
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +9 -4
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +37 -18
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-tui.d.ts +21 -0
- package/dist/modes/interactive/interactive-tui.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-tui.js +279 -0
- package/dist/modes/interactive/interactive-tui.js.map +1 -0
- package/dist/modes/interactive/streaming-assistant-message.d.ts +34 -0
- package/dist/modes/interactive/streaming-assistant-message.d.ts.map +1 -0
- package/dist/modes/interactive/streaming-assistant-message.js +76 -0
- package/dist/modes/interactive/streaming-assistant-message.js.map +1 -0
- package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-latte.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -0
- package/dist/modes/interactive/theme/catppuccin-mocha.json +1 -0
- package/dist/modes/interactive/theme/dark.json +1 -0
- package/dist/modes/interactive/theme/light.json +1 -0
- package/dist/modes/interactive/theme/terminal-detection.d.ts +10 -0
- package/dist/modes/interactive/theme/terminal-detection.d.ts.map +1 -1
- package/dist/modes/interactive/theme/terminal-detection.js +19 -0
- package/dist/modes/interactive/theme/terminal-detection.js.map +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts +2 -2
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +5 -1
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts +3 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js +10 -13
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.js +1 -0
- package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +4 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.js +2 -1
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +5 -1
- package/dist/modes/interactive/theme/theme.d.ts +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +1 -1
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +28 -11
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js +3 -3
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +2 -2
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +7 -0
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +7 -0
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +12 -10
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +14 -11
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-component.d.ts +11 -1
- package/dist/modes/interactive-engine/remote-component.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-component.js +48 -8
- package/dist/modes/interactive-engine/remote-component.js.map +1 -1
- package/dist/modes/interactive-engine/terminal-mode-controller.d.ts +19 -12
- package/dist/modes/interactive-engine/terminal-mode-controller.d.ts.map +1 -1
- package/dist/modes/interactive-engine/terminal-mode-controller.js +54 -35
- package/dist/modes/interactive-engine/terminal-mode-controller.js.map +1 -1
- package/dist/modes/json-event.d.ts +28 -0
- package/dist/modes/json-event.d.ts.map +1 -0
- package/dist/modes/json-event.js +12 -0
- package/dist/modes/json-event.js.map +1 -0
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +2 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts +1 -0
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +5 -1
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +7 -2
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +1 -1
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-event-buffer.d.ts +9 -0
- package/dist/modes/rpc/rpc-event-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-event-buffer.js +10 -5
- package/dist/modes/rpc/rpc-event-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-extension-ui.js +3 -0
- package/dist/modes/rpc/rpc-extension-ui.js.map +1 -1
- package/dist/modes/rpc/rpc-input.js +1 -1
- package/dist/modes/rpc/rpc-input.js.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.d.ts +9 -0
- package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.js +10 -5
- package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.js +3 -0
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -1
- package/dist/modes/rpc/rpc-responses.d.ts +1 -1
- package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-responses.js +13 -1
- package/dist/modes/rpc/rpc-responses.js.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-session-binding.js +2 -1
- package/dist/modes/rpc/rpc-session-binding.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +9 -2
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/rpc-entry.js +2 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/self-update-plan.d.ts.map +1 -1
- package/dist/self-update-plan.js +5 -4
- package/dist/self-update-plan.js.map +1 -1
- package/dist/server/create-harness.d.ts +53 -0
- package/dist/server/create-harness.d.ts.map +1 -0
- package/dist/server/create-harness.js +349 -0
- package/dist/server/create-harness.js.map +1 -0
- package/dist/utils/agent-attribution.d.ts +2 -0
- package/dist/utils/agent-attribution.d.ts.map +1 -0
- package/dist/utils/agent-attribution.js +2 -0
- package/dist/utils/agent-attribution.js.map +1 -0
- package/dist/utils/child-process.d.ts +3 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js +24 -4
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js +2 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +12 -3
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/management-http.d.ts +23 -0
- package/dist/utils/management-http.d.ts.map +1 -0
- package/dist/utils/management-http.js +50 -0
- package/dist/utils/management-http.js.map +1 -0
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js +2 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +13 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +17 -4
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts +17 -0
- package/dist/utils/tool-result-images.d.ts.map +1 -0
- package/dist/utils/tool-result-images.js +41 -0
- package/dist/utils/tool-result-images.js.map +1 -0
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js +7 -8
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts +4 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +20 -2
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +2 -1
- package/docs/custom-provider.md +15 -7
- package/docs/development.md +1 -0
- package/docs/docs.json +1 -0
- package/docs/environment-variables.md +4 -0
- package/docs/extensions.md +102 -18
- package/docs/i-have-adhd.md +36 -0
- package/docs/intercom.md +26 -6
- package/docs/json.md +2 -2
- package/docs/keybindings.md +55 -12
- package/docs/models/model-selection.md +34 -8
- package/docs/models.md +28 -3
- package/docs/providers.md +20 -2
- package/docs/quickstart.md +5 -5
- package/docs/rpc.md +18 -12
- package/docs/sdk.md +43 -7
- package/docs/security.md +10 -10
- package/docs/sessions.md +2 -0
- package/docs/settings.md +25 -5
- package/docs/subagents.md +15 -30
- package/docs/themes.md +5 -3
- package/docs/tools.md +21 -1
- package/docs/tui.md +41 -24
- package/docs/usage.md +40 -14
- package/docs/windows.md +2 -0
- package/docs/workflows.md +216 -20
- package/examples/extensions/custom-provider-anthropic/index.ts +9 -2
- package/examples/extensions/custom-provider-gitlab-duo/index.ts +9 -2
- package/examples/extensions/modal-editor.ts +8 -10
- package/examples/extensions/rainbow-editor.ts +3 -2
- package/examples/extensions/subagent/README.md +16 -45
- package/examples/extensions/subagent/index.ts +6 -96
- package/examples/extensions/subagent/render.ts +0 -78
- package/examples/extensions/subagent/runner.ts +0 -3
- package/examples/extensions/subagent/schemas.ts +0 -13
- package/examples/extensions/subagent/types.ts +1 -2
- package/examples/sdk/09-api-keys-and-oauth.ts +6 -2
- package/examples/sdk/12-full-control.ts +8 -2
- package/examples/sdk/README.md +4 -1
- package/npm-shrinkwrap.json +191 -634
- package/package.json +14 -7
- package/dist/builtin/subagents/src/agents/chain-serializer.ts +0 -257
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-details.ts +0 -38
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +0 -280
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +0 -217
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +0 -271
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +0 -271
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +0 -200
- package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +0 -184
- package/dist/builtin/subagents/src/runs/foreground/execution-structured-retries.ts +0 -19
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +0 -109
- package/dist/builtin/subagents/src/runs/shared/chain-outputs.ts +0 -126
- package/dist/builtin/subagents/src/runs/shared/dynamic-fanout.ts +0 -393
- package/dist/builtin/subagents/src/runs/shared/structured-output.ts +0 -150
- package/dist/builtin/subagents/src/runs/shared/workflow-graph.ts +0 -232
- package/dist/builtin/subagents/src/slash/saved-chain-mapping.ts +0 -60
- package/dist/builtin/subagents/src/tui/render-chain-graph.ts +0 -341
- package/examples/extensions/subagent/prompts/implement-and-review.md +0 -10
- package/examples/extensions/subagent/prompts/implement.md +0 -10
- package/examples/extensions/subagent/prompts/scout-and-plan.md +0 -9
|
@@ -27,7 +27,6 @@ import type {
|
|
|
27
27
|
PiKeybindings,
|
|
28
28
|
PiOverlayHandle,
|
|
29
29
|
PiOverlayOptions,
|
|
30
|
-
PiRemoteTerminalControl,
|
|
31
30
|
PiTheme,
|
|
32
31
|
} from "../extension/wiring.js";
|
|
33
32
|
import type { StageControlRegistry } from "../runs/foreground/stage-control-registry.js";
|
|
@@ -38,7 +37,7 @@ import { readGraphStoreSnapshot, subscribeStoreInvalidation } from "../shared/st
|
|
|
38
37
|
import type { StoreSnapshot } from "../shared/store-types.js";
|
|
39
38
|
import { deriveGraphThemeFromPiTheme } from "./graph-theme.js";
|
|
40
39
|
import type { OverlayTerminalOutput } from "./overlay-terminal-modes.js";
|
|
41
|
-
import { remoteTerminalControlFrom,
|
|
40
|
+
import { remoteTerminalControlFrom, setTerminalAutowrap } from "./overlay-terminal-modes.js";
|
|
42
41
|
import { WorkflowAttachPane } from "./workflow-attach-pane.js";
|
|
43
42
|
import type { PostMortemHandleResolution } from "./workflow-attach-pane-types.js";
|
|
44
43
|
import { WORKFLOW_STATUS_KEY } from "./workflow-status.js";
|
|
@@ -81,24 +80,8 @@ export interface GraphOverlayPort {
|
|
|
81
80
|
}
|
|
82
81
|
|
|
83
82
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
* `width`/`maxHeight` would expand against terminal dimensions so the
|
|
87
|
-
* popup fills the entire frame, with `margin: 0` removing the breathing
|
|
88
|
-
* room a centered popup needs.
|
|
89
|
-
*
|
|
90
|
-
* Current pi interactive `ExtensionUiController.custom` ignores
|
|
91
|
-
* this object: it always mounts overlays with `{ anchor:
|
|
92
|
-
* "bottom-center", width: "100%", maxHeight: "100%", margin: 0 }`. The
|
|
93
|
-
* value is retained for `onHandle`-based toggle support and forward
|
|
94
|
-
* compatibility — see `PiCustomOverlayOptions` for the host-compat
|
|
95
|
-
* note.
|
|
96
|
-
*
|
|
97
|
-
* Note: percent geometry is necessary but not sufficient for a true
|
|
98
|
-
* full-screen overlay — pi-tui positions the popup based on the
|
|
99
|
-
* rendered overlay line count, so the mounted component must also
|
|
100
|
-
* emit `terminal.rows` lines per frame. That row count is threaded
|
|
101
|
-
* through `WorkflowAttachPane.getViewportRows` below.
|
|
83
|
+
* Full-screen overlay geometry. The host TUI owns terminal dimensions and
|
|
84
|
+
* the graph layout consumes them while rendering its ScrollView frame.
|
|
102
85
|
*/
|
|
103
86
|
const FULLSCREEN_OVERLAY_OPTIONS: PiOverlayOptions = {
|
|
104
87
|
anchor: "center",
|
|
@@ -147,14 +130,12 @@ export function buildGraphOverlayAdapter(
|
|
|
147
130
|
process.stdout.write(data);
|
|
148
131
|
},
|
|
149
132
|
};
|
|
150
|
-
// Isolated interactive mode exposes a remote
|
|
151
|
-
//
|
|
152
|
-
//
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
else setMouseScrollTracking(enabled, terminalOutput);
|
|
157
|
-
};
|
|
133
|
+
// Isolated interactive mode exposes a remote autowrap capability; prefer it
|
|
134
|
+
// so the real host TTY (not the child's non-TTY JSONL stdout) gets the mode.
|
|
135
|
+
// Otherwise fall back to the local process.stdout seam, except when the
|
|
136
|
+
// host's fullscreen renderer already owns autowrap.
|
|
137
|
+
let remoteTerminalControl: { setAutowrap(enabled: boolean): void } | null = null;
|
|
138
|
+
let localTerminalModesSuppressed = false;
|
|
158
139
|
let currentView: WorkflowAttachPane | null = null;
|
|
159
140
|
// pi-tui returns an OverlayHandle via `options.onHandle`. We hold onto
|
|
160
141
|
// it so toggle() can flip `setHidden` rather than remounting the
|
|
@@ -180,7 +161,7 @@ export function buildGraphOverlayAdapter(
|
|
|
180
161
|
if (terminalOutput.platform === "win32") remoteTerminalControl.setAutowrap(!visible);
|
|
181
162
|
return;
|
|
182
163
|
}
|
|
183
|
-
setTerminalAutowrap(!visible, terminalOutput);
|
|
164
|
+
if (!localTerminalModesSuppressed) setTerminalAutowrap(!visible, terminalOutput);
|
|
184
165
|
}
|
|
185
166
|
|
|
186
167
|
function readHostCustomUiActive(ui: OverlayUISurface | undefined = observedUi): boolean {
|
|
@@ -218,7 +199,6 @@ export function buildGraphOverlayAdapter(
|
|
|
218
199
|
}
|
|
219
200
|
|
|
220
201
|
function close(): void {
|
|
221
|
-
updateMouseScrollTracking(false);
|
|
222
202
|
currentHandle?.hide();
|
|
223
203
|
updateTerminalAutowrap(false);
|
|
224
204
|
finishMounted?.();
|
|
@@ -229,6 +209,7 @@ export function buildGraphOverlayAdapter(
|
|
|
229
209
|
currentView = null;
|
|
230
210
|
mounted = false;
|
|
231
211
|
remoteTerminalControl = null;
|
|
212
|
+
localTerminalModesSuppressed = false;
|
|
232
213
|
requestMountedRender = null;
|
|
233
214
|
clearHostCustomUiObservation();
|
|
234
215
|
}
|
|
@@ -249,7 +230,6 @@ export function buildGraphOverlayAdapter(
|
|
|
249
230
|
* same mounted overlay can be reopened later.
|
|
250
231
|
*/
|
|
251
232
|
function hideMounted(): void {
|
|
252
|
-
updateMouseScrollTracking(false);
|
|
253
233
|
observedUi?.setStatus?.(MAIN_CHAT_INPUT_STATUS_KEY, undefined);
|
|
254
234
|
if (currentHandle) {
|
|
255
235
|
currentView?.setVisible(false);
|
|
@@ -290,14 +270,14 @@ export function buildGraphOverlayAdapter(
|
|
|
290
270
|
const unsubscribe = subscribeStoreInvalidation(store, onStoreUpdate);
|
|
291
271
|
return {
|
|
292
272
|
render: (width: number) => view.render(width),
|
|
293
|
-
handleInput: (data: string) => {
|
|
273
|
+
handleInput: (data: string): boolean => {
|
|
294
274
|
const consumed = view.handleInput(data);
|
|
295
275
|
if (consumed) tui.requestRender?.();
|
|
276
|
+
return consumed === true;
|
|
296
277
|
},
|
|
297
278
|
invalidate: () => tui.requestRender?.(),
|
|
298
279
|
dispose: () => {
|
|
299
280
|
updateTerminalAutowrap(false);
|
|
300
|
-
updateMouseScrollTracking(false);
|
|
301
281
|
remoteTerminalControl = null;
|
|
302
282
|
requestMountedRender = null;
|
|
303
283
|
unsubscribe();
|
|
@@ -315,7 +295,6 @@ export function buildGraphOverlayAdapter(
|
|
|
315
295
|
currentView?.retarget(runId, stageId, stageRunId);
|
|
316
296
|
currentView?.setVisible(true);
|
|
317
297
|
updateTerminalAutowrap(true);
|
|
318
|
-
updateMouseScrollTracking(currentView?.wantsMouseScrollTracking() ?? true);
|
|
319
298
|
currentHandle.setHidden(false);
|
|
320
299
|
currentHandle.focus();
|
|
321
300
|
requestMountedRender?.();
|
|
@@ -324,7 +303,6 @@ export function buildGraphOverlayAdapter(
|
|
|
324
303
|
if (mounted) {
|
|
325
304
|
currentView?.retarget(runId, stageId, stageRunId);
|
|
326
305
|
updateTerminalAutowrap(true);
|
|
327
|
-
updateMouseScrollTracking(currentView?.wantsMouseScrollTracking() ?? true);
|
|
328
306
|
// Restore keyboard focus to the visible overlay after retargeting.
|
|
329
307
|
// pi-tui dispatches key events only to the focused component, so a
|
|
330
308
|
// mounted-but-visible overlay that is retargeted (e.g. to a stage-scoped
|
|
@@ -345,13 +323,15 @@ export function buildGraphOverlayAdapter(
|
|
|
345
323
|
keybindings: PiKeybindings,
|
|
346
324
|
done: (result: undefined) => void,
|
|
347
325
|
): PiCustomComponent => {
|
|
348
|
-
// Prefer the host's remote
|
|
326
|
+
// Prefer the host's remote autowrap capability (isolated mode);
|
|
349
327
|
// stays null for non-isolated hosts, keeping the local process.stdout seam.
|
|
328
|
+
// In a fullscreen host, pi-tui already enabled and owns autowrap; the
|
|
329
|
+
// local fallback must not turn it off on overlay close.
|
|
330
|
+
localTerminalModesSuppressed = tui.mode === "fullscreen";
|
|
350
331
|
remoteTerminalControl = remoteTerminalControlFrom(tui);
|
|
351
332
|
const finish = (): void => {
|
|
352
333
|
if (settled) return;
|
|
353
334
|
settled = true;
|
|
354
|
-
updateMouseScrollTracking(false);
|
|
355
335
|
observedUi?.setStatus?.(MAIN_CHAT_INPUT_STATUS_KEY, undefined);
|
|
356
336
|
currentView?.dispose();
|
|
357
337
|
currentView = null;
|
|
@@ -365,6 +345,7 @@ export function buildGraphOverlayAdapter(
|
|
|
365
345
|
} finally {
|
|
366
346
|
updateTerminalAutowrap(false);
|
|
367
347
|
remoteTerminalControl = null;
|
|
348
|
+
localTerminalModesSuppressed = false;
|
|
368
349
|
}
|
|
369
350
|
};
|
|
370
351
|
const view = new WorkflowAttachPane({
|
|
@@ -386,12 +367,6 @@ export function buildGraphOverlayAdapter(
|
|
|
386
367
|
getToolsExpanded: ui?.getToolsExpanded,
|
|
387
368
|
setToolsExpanded: ui?.setToolsExpanded,
|
|
388
369
|
footerData: ui?.getFooterDataProvider?.(),
|
|
389
|
-
// Pi-tui owns terminal dimensions; thread its row count down
|
|
390
|
-
// so the overlay frame fills the actual viewport rather than
|
|
391
|
-
// a hard-coded 32-row rectangle. Returning `undefined` keeps
|
|
392
|
-
// the existing fallback for hosts that don't expose
|
|
393
|
-
// `tui.terminal`.
|
|
394
|
-
getViewportRows: () => tui.terminal?.rows,
|
|
395
370
|
// Drive the graph-view animation tick. Short-circuit when the
|
|
396
371
|
// overlay is hidden so a `setHidden(true)`-ed overlay does
|
|
397
372
|
// not waste CPU on render passes the user can't see. The
|
|
@@ -416,7 +391,6 @@ export function buildGraphOverlayAdapter(
|
|
|
416
391
|
if (currentHandle?.isFocused() === true) return;
|
|
417
392
|
currentHandle?.focus();
|
|
418
393
|
},
|
|
419
|
-
setMouseScrollTracking: updateMouseScrollTracking,
|
|
420
394
|
now: buildOpts.now,
|
|
421
395
|
} as ConstructorParameters<typeof WorkflowAttachPane>[0] & {
|
|
422
396
|
piTui?: PiCustomOverlayFactoryTui;
|
|
@@ -427,7 +401,6 @@ export function buildGraphOverlayAdapter(
|
|
|
427
401
|
finishMounted = finish;
|
|
428
402
|
mounted = true;
|
|
429
403
|
updateTerminalAutowrap(true);
|
|
430
|
-
updateMouseScrollTracking(view.wantsMouseScrollTracking());
|
|
431
404
|
updateMainChatInputHint(readHostCustomUiActive(ui));
|
|
432
405
|
return makeComponent(view, tui);
|
|
433
406
|
};
|
|
@@ -456,7 +429,6 @@ export function buildGraphOverlayAdapter(
|
|
|
456
429
|
const nowHidden = !currentHandle.isHidden();
|
|
457
430
|
currentView?.setVisible(!nowHidden);
|
|
458
431
|
if (!nowHidden) updateTerminalAutowrap(true);
|
|
459
|
-
updateMouseScrollTracking(nowHidden ? false : (currentView?.wantsMouseScrollTracking() ?? true));
|
|
460
432
|
currentHandle.setHidden(nowHidden);
|
|
461
433
|
if (nowHidden) updateTerminalAutowrap(false);
|
|
462
434
|
else {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Terminal-mode seams for the workflow graph overlay:
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
* Terminal-mode seams for the workflow graph overlay: autowrap (DECAWM)
|
|
3
|
+
* escape sequences for the local TTY, plus extraction of the isolated host's
|
|
4
|
+
* remote autowrap capability.
|
|
5
|
+
*
|
|
6
|
+
* Fullscreen pi-tui owns mouse reporting and application selection; workflow
|
|
7
|
+
* overlays do not toggle that terminal mode.
|
|
5
8
|
*
|
|
6
9
|
* cross-ref: src/tui/overlay-adapter.ts (sole consumer)
|
|
7
10
|
*/
|
|
8
11
|
|
|
9
|
-
import type { PiCustomOverlayFactoryTui
|
|
12
|
+
import type { PiCustomOverlayFactoryTui } from "../extension/wiring.js";
|
|
10
13
|
|
|
11
|
-
const MOUSE_SCROLL_TRACKING_ON = "\x1b[?1000h\x1b[?1002h\x1b[?1006h";
|
|
12
|
-
const MOUSE_SCROLL_TRACKING_OFF = "\x1b[?1006l\x1b[?1002l\x1b[?1000l";
|
|
13
14
|
const TERMINAL_AUTOWRAP_ON = "\x1b[?7h";
|
|
14
15
|
const TERMINAL_AUTOWRAP_OFF = "\x1b[?7l";
|
|
15
16
|
|
|
@@ -19,32 +20,20 @@ export interface OverlayTerminalOutput {
|
|
|
19
20
|
write(data: string): void;
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
export function setMouseScrollTracking(enabled: boolean, output: OverlayTerminalOutput): void {
|
|
23
|
-
if (!output.isTTY) return;
|
|
24
|
-
output.write(enabled ? MOUSE_SCROLL_TRACKING_ON : MOUSE_SCROLL_TRACKING_OFF);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
23
|
export function setTerminalAutowrap(enabled: boolean, output: OverlayTerminalOutput): void {
|
|
28
24
|
if (output.platform !== "win32" || !output.isTTY) return;
|
|
29
25
|
output.write(enabled ? TERMINAL_AUTOWRAP_ON : TERMINAL_AUTOWRAP_OFF);
|
|
30
26
|
}
|
|
31
27
|
|
|
32
28
|
/**
|
|
33
|
-
* Extract the host's remote
|
|
34
|
-
*
|
|
35
|
-
*
|
|
29
|
+
* Extract the host's remote autowrap capability from the factory TUI — present
|
|
30
|
+
* in isolated interactive mode (drives the real host TTY over the allowlisted
|
|
31
|
+
* engine protocol); `null` for non-isolated hosts and test seams.
|
|
36
32
|
*/
|
|
37
|
-
export function remoteTerminalControlFrom(
|
|
33
|
+
export function remoteTerminalControlFrom(
|
|
34
|
+
tui: PiCustomOverlayFactoryTui,
|
|
35
|
+
): { setAutowrap(enabled: boolean): void } | null {
|
|
38
36
|
const terminal = tui.terminal;
|
|
39
|
-
if (
|
|
40
|
-
|
|
41
|
-
typeof terminal.setMouseScrollTracking !== "function" ||
|
|
42
|
-
typeof terminal.setAutowrap !== "function"
|
|
43
|
-
) {
|
|
44
|
-
return null;
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
setMouseScrollTracking: terminal.setMouseScrollTracking.bind(terminal),
|
|
48
|
-
setAutowrap: terminal.setAutowrap.bind(terminal),
|
|
49
|
-
};
|
|
37
|
+
if (terminal === undefined || typeof terminal.setAutowrap !== "function") return null;
|
|
38
|
+
return { setAutowrap: terminal.setAutowrap.bind(terminal) };
|
|
50
39
|
}
|
|
@@ -31,6 +31,7 @@ import {
|
|
|
31
31
|
createSessionPickerResumeCandidateCache,
|
|
32
32
|
createSessionPickerState,
|
|
33
33
|
handleSessionPickerInput,
|
|
34
|
+
isSessionPickerKey,
|
|
34
35
|
renderSessionPicker,
|
|
35
36
|
selectRunsForPicker,
|
|
36
37
|
} from "./session-picker.js";
|
|
@@ -127,16 +128,18 @@ export function openSessionPicker(
|
|
|
127
128
|
const rows = selectRows();
|
|
128
129
|
return renderSessionPicker({ width, theme, rows, state, allRuns: store.runs() });
|
|
129
130
|
},
|
|
130
|
-
handleInput: (data: string) => {
|
|
131
|
+
handleInput: (data: string): boolean => {
|
|
131
132
|
const rows = selectRows();
|
|
133
|
+
const consumed = isSessionPickerKey(data, state, rows);
|
|
132
134
|
const action = handleSessionPickerInput(data, state, rows);
|
|
133
135
|
if (action.kind === "noop") {
|
|
134
136
|
tui.requestRender?.();
|
|
135
|
-
return;
|
|
137
|
+
return consumed;
|
|
136
138
|
}
|
|
137
139
|
if (action.kind === "close") finish({ kind: "close" });
|
|
138
140
|
else if (action.kind === "connect") finish(toResult(action));
|
|
139
141
|
else finish(toResult(action));
|
|
142
|
+
return true;
|
|
140
143
|
},
|
|
141
144
|
invalidate: () => tui.requestRender?.(),
|
|
142
145
|
dispose: () => {
|
|
@@ -386,6 +386,33 @@ export function renderSessionPicker(opts: SessionPickerRenderOpts): string[] {
|
|
|
386
386
|
|
|
387
387
|
export type SessionPickerAction = { kind: "noop" } | { kind: "close" } | { kind: "connect"; runId: string };
|
|
388
388
|
|
|
389
|
+
export function isSessionPickerKey(data: string, state: SessionPickerState, rows: readonly PickerRow[]): boolean {
|
|
390
|
+
if (state.filterFocused) {
|
|
391
|
+
return (
|
|
392
|
+
matchesKey(data, Key.escape) ||
|
|
393
|
+
data === DOUBLE_ESCAPE_SEQUENCE ||
|
|
394
|
+
matchesKey(data, Key.enter) ||
|
|
395
|
+
matchesKey(data, Key.backspace) ||
|
|
396
|
+
(data.length === 1 && data >= " " && data <= "~")
|
|
397
|
+
);
|
|
398
|
+
}
|
|
399
|
+
if (
|
|
400
|
+
matchesKey(data, "/") ||
|
|
401
|
+
matchesKey(data, Key.escape) ||
|
|
402
|
+
matchesKey(data, "q") ||
|
|
403
|
+
matchesKey(data, Key.shift("q")) ||
|
|
404
|
+
matchesKey(data, "a") ||
|
|
405
|
+
matchesKey(data, Key.shift("a")) ||
|
|
406
|
+
matchesKey(data, Key.down) ||
|
|
407
|
+
matchesKey(data, "j") ||
|
|
408
|
+
matchesKey(data, Key.up) ||
|
|
409
|
+
matchesKey(data, "k")
|
|
410
|
+
) {
|
|
411
|
+
return true;
|
|
412
|
+
}
|
|
413
|
+
return matchesKey(data, Key.enter) && rows[state.selectedIndex] !== undefined;
|
|
414
|
+
}
|
|
415
|
+
|
|
389
416
|
/**
|
|
390
417
|
* Pure key handler — never mutates anything outside `state`. Returns an
|
|
391
418
|
* action describing what the host should do next (for example, mount the GraphView).
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
trailingWidgetBorderChar,
|
|
13
13
|
widgetHintTargetLineIndex,
|
|
14
14
|
} from "./stage-chat-view-render-helpers.js";
|
|
15
|
-
import {
|
|
15
|
+
import type { StageChatViewContext } from "./stage-chat-view-types.js";
|
|
16
16
|
import { truncateToWidth, visibleWidth } from "./text-helpers.js";
|
|
17
17
|
|
|
18
18
|
export function renderHeader(ctx: StageChatViewContext, width: number, stage: StageSnapshot | undefined): string[] {
|
|
@@ -136,22 +136,13 @@ function mergeOrchestratorReturnHintIntoLine(
|
|
|
136
136
|
minimumPrefixWidth?: number;
|
|
137
137
|
} = {},
|
|
138
138
|
): string {
|
|
139
|
-
const copyModeState = ctx.mouseScrollCaptureEnabled ? "off" : "on";
|
|
140
139
|
const fullHint = {
|
|
141
|
-
plain:
|
|
142
|
-
styled:
|
|
143
|
-
paint("ctrl+x", ctx.theme.text, { bold: true }) +
|
|
144
|
-
paint(" return to graph · ", ctx.theme.textMuted) +
|
|
145
|
-
paint(STAGE_CHAT_MOUSE_SCROLL_TOGGLE_LABEL, ctx.theme.text, { bold: true }) +
|
|
146
|
-
paint(` copy mode ${copyModeState}`, ctx.theme.textMuted),
|
|
140
|
+
plain: "ctrl+x return to graph",
|
|
141
|
+
styled: paint("ctrl+x", ctx.theme.text, { bold: true }) + paint(" return to graph", ctx.theme.textMuted),
|
|
147
142
|
};
|
|
148
143
|
const compactHint = {
|
|
149
|
-
plain:
|
|
150
|
-
styled:
|
|
151
|
-
paint("ctrl+x", ctx.theme.text, { bold: true }) +
|
|
152
|
-
paint(" graph · ", ctx.theme.textMuted) +
|
|
153
|
-
paint(STAGE_CHAT_MOUSE_SCROLL_TOGGLE_LABEL, ctx.theme.text, { bold: true }) +
|
|
154
|
-
paint(` ${copyModeState}`, ctx.theme.textMuted),
|
|
144
|
+
plain: "ctrl+x graph",
|
|
145
|
+
styled: paint("ctrl+x", ctx.theme.text, { bold: true }) + paint(" graph", ctx.theme.textMuted),
|
|
155
146
|
};
|
|
156
147
|
const trailingBorder = options.preserveTrailingBorder === true ? trailingWidgetBorderChar(line) : "";
|
|
157
148
|
const suffixWidth = visibleWidth(trailingBorder);
|
|
@@ -18,6 +18,12 @@ import { PROMPT_SCROLL_STEP_ROWS, type StageChatViewContext } from "./stage-chat
|
|
|
18
18
|
import { Key, matchesKey } from "./text-helpers.js";
|
|
19
19
|
|
|
20
20
|
export function handleStageChatInput(ctx: StageChatViewContext, data: string): boolean {
|
|
21
|
+
const keybindings = isKeybindingsLike(ctx.piKeybindings) ? ctx.piKeybindings : undefined;
|
|
22
|
+
// Only the default physical Ctrl+T belongs to the host thinking action. A
|
|
23
|
+
// user remap may reuse an editor key, so let that key reach the composer.
|
|
24
|
+
if (matchesKey(data, Key.ctrl("t")) && matchesAction(keybindings, data, APP_ACTION.thinkingToggle)) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
21
27
|
if (matchesKey(data, Key.ctrl("x"))) {
|
|
22
28
|
if (ctx.mountedCustomUi) releaseMountedCustomUi(ctx);
|
|
23
29
|
else {
|
|
@@ -28,11 +34,6 @@ export function handleStageChatInput(ctx: StageChatViewContext, data: string): b
|
|
|
28
34
|
ctx.onDetach();
|
|
29
35
|
return true;
|
|
30
36
|
}
|
|
31
|
-
if (matchesKey(data, Key.ctrl("t"))) {
|
|
32
|
-
ctx.mouseScrollCaptureEnabled = !ctx.mouseScrollCaptureEnabled;
|
|
33
|
-
ctx.requestRender?.();
|
|
34
|
-
return true;
|
|
35
|
-
}
|
|
36
37
|
if (ctx.mountedCustomUi) {
|
|
37
38
|
return handleMountedCustomUiInput(ctx, data);
|
|
38
39
|
}
|
|
@@ -112,9 +113,9 @@ function handleMountedCustomUiInput(ctx: StageChatViewContext, data: string): bo
|
|
|
112
113
|
|
|
113
114
|
const component = mounted.component;
|
|
114
115
|
setComponentFocused(component, ctx.focused);
|
|
115
|
-
component.handleInput?.(data);
|
|
116
|
+
const handled = component.handleInput?.(data) === true;
|
|
116
117
|
ctx.requestRender?.();
|
|
117
|
-
return
|
|
118
|
+
return handled;
|
|
118
119
|
}
|
|
119
120
|
|
|
120
121
|
function handlePromptInput(ctx: StageChatViewContext, data: string): void {
|
|
@@ -49,7 +49,6 @@ export function initializeStageChatView(ctx: StageChatViewContext, opts: StageCh
|
|
|
49
49
|
ctx.requestRender = opts.requestRender;
|
|
50
50
|
ctx.requestFocus = opts.requestFocus;
|
|
51
51
|
ctx.focusHoldTimer = undefined;
|
|
52
|
-
ctx.getViewportRows = opts.getViewportRows;
|
|
53
52
|
ctx.piTui = opts.piTui;
|
|
54
53
|
ctx.piTheme = opts.piTheme;
|
|
55
54
|
ctx.piKeybindings = opts.piKeybindings;
|
|
@@ -69,7 +68,6 @@ export function initializeStageChatView(ctx: StageChatViewContext, opts: StageCh
|
|
|
69
68
|
ctx.promptMaxScroll = 0;
|
|
70
69
|
ctx.promptVisibleRows = 0;
|
|
71
70
|
ctx.localPaused = false;
|
|
72
|
-
ctx.mouseScrollCaptureEnabled = true;
|
|
73
71
|
ctx.lastObservedStageStatus = undefined;
|
|
74
72
|
ctx.lastObservedRunStatus = undefined;
|
|
75
73
|
ctx.seenNoticeIds = new Set<string>();
|
|
@@ -315,10 +313,21 @@ function handleStoreUpdate(ctx: StageChatViewContext): void {
|
|
|
315
313
|
if (changed || hadAnimationTick !== ctx.chatHost.hasAnimationTick()) ctx.requestRender?.();
|
|
316
314
|
}
|
|
317
315
|
|
|
316
|
+
/**
|
|
317
|
+
* Snapshot the transcript a freshly mounted chat has to start from.
|
|
318
|
+
*
|
|
319
|
+
* The handle reports settled messages; an assistant message still streaming is
|
|
320
|
+
* not one of them until its turn ends. `message_update` carries only the next
|
|
321
|
+
* delta, so a chat opened part-way through a stage's turn would otherwise show
|
|
322
|
+
* nothing until that turn finished — a stage held mid-turn shows nothing at
|
|
323
|
+
* all. The session's in-flight message closes that window, and the live
|
|
324
|
+
* subscription installed after this continues it delta by delta.
|
|
325
|
+
*/
|
|
318
326
|
function snapshotMessagesFromHandle(ctx: StageChatViewContext): void {
|
|
319
327
|
const handle = liveHandle(ctx);
|
|
320
328
|
if (!handle) return;
|
|
321
329
|
ctx.chatHost.appendMessages(handle.messages);
|
|
330
|
+
ctx.chatHost.hydrateStreamingAssistantMessage(handle.agentSession?.agent?.state.streamingMessage);
|
|
322
331
|
}
|
|
323
332
|
|
|
324
333
|
function snapshotMessagesFromSessionFile(ctx: StageChatViewContext, stage: StageSnapshot | undefined): void {
|
|
@@ -460,7 +469,7 @@ export function resolvePromptResponse(
|
|
|
460
469
|
}
|
|
461
470
|
|
|
462
471
|
export function viewLineCount(ctx: StageChatViewContext): number {
|
|
463
|
-
const reported = ctx.
|
|
472
|
+
const reported = ctx.piTui?.terminal?.rows;
|
|
464
473
|
if (typeof reported !== "number" || !Number.isFinite(reported)) {
|
|
465
474
|
return VIEW_LINE_COUNT;
|
|
466
475
|
}
|
|
@@ -13,12 +13,12 @@ import type { RunStatus, StageNotice, StageStatus } from "../shared/store-types.
|
|
|
13
13
|
import type { GraphTheme } from "./graph-theme.js";
|
|
14
14
|
import type { PromptCardState } from "./prompt-card.js";
|
|
15
15
|
|
|
16
|
+
/** Unhosted fallback frame height used when no host terminal supplies rows. */
|
|
16
17
|
export const VIEW_LINE_COUNT = 32;
|
|
17
18
|
export const PROMPT_SCROLL_STEP_ROWS = 4;
|
|
18
19
|
/** Header rows reserved by prompt paging for the normal UUID continuation shape. */
|
|
19
20
|
export const HEADER_ROWS = 2;
|
|
20
21
|
export const SEP_ROWS = 1;
|
|
21
|
-
export const STAGE_CHAT_MOUSE_SCROLL_TOGGLE_LABEL = "ctrl+t";
|
|
22
22
|
|
|
23
23
|
export function isReadOnlyArchiveStatus(status: StageStatus): boolean {
|
|
24
24
|
return status === "completed" || status === "failed" || status === "skipped";
|
|
@@ -66,14 +66,6 @@ export interface StageChatViewOpts {
|
|
|
66
66
|
setToolsExpanded?: (expanded: boolean) => void;
|
|
67
67
|
/** Parent footer data provider inherited from the host UI for core footer/usage rendering. */
|
|
68
68
|
footerData?: ReadonlyFooterDataProvider;
|
|
69
|
-
/**
|
|
70
|
-
* Optional accessor returning the current terminal row count. The chat
|
|
71
|
-
* surface expands its body band to roughly `viewportRows` minus the fixed
|
|
72
|
-
* header / loader / editor / footer rows so the popup fills the
|
|
73
|
-
* terminal under pi-tui's `width: "100%" / maxHeight: "100%"` geometry.
|
|
74
|
-
* Returning `undefined` falls back to the constant 32-row frame.
|
|
75
|
-
*/
|
|
76
|
-
getViewportRows?: () => number | undefined;
|
|
77
69
|
/** Broker that routes stage-local custom UI, such as ask_user_question, into this node. */
|
|
78
70
|
stageUiBroker?: StageUiBroker;
|
|
79
71
|
/**
|
|
@@ -130,7 +122,6 @@ export interface StageChatViewContext {
|
|
|
130
122
|
requestRender: (() => void) | undefined;
|
|
131
123
|
requestFocus: (() => void) | undefined;
|
|
132
124
|
focusHoldTimer: ReturnType<typeof setInterval> | undefined;
|
|
133
|
-
getViewportRows: (() => number | undefined) | undefined;
|
|
134
125
|
piTui: TUI | undefined;
|
|
135
126
|
piTheme: unknown;
|
|
136
127
|
piKeybindings: unknown;
|
|
@@ -151,7 +142,6 @@ export interface StageChatViewContext {
|
|
|
151
142
|
promptMaxScroll: number;
|
|
152
143
|
promptVisibleRows: number;
|
|
153
144
|
localPaused: boolean;
|
|
154
|
-
mouseScrollCaptureEnabled: boolean;
|
|
155
145
|
lastObservedStageStatus: StageStatus | undefined;
|
|
156
146
|
lastObservedRunStatus: RunStatus | undefined;
|
|
157
147
|
seenNoticeIds: Set<string>;
|
|
@@ -79,7 +79,6 @@ export class StageChatView implements Component, Focusable {
|
|
|
79
79
|
private requestRender!: StageChatViewContext["requestRender"];
|
|
80
80
|
private requestFocus!: StageChatViewContext["requestFocus"];
|
|
81
81
|
private focusHoldTimer!: StageChatViewContext["focusHoldTimer"];
|
|
82
|
-
private getViewportRows!: StageChatViewContext["getViewportRows"];
|
|
83
82
|
private piTui!: StageChatViewContext["piTui"];
|
|
84
83
|
private piTheme!: StageChatViewContext["piTheme"];
|
|
85
84
|
private piKeybindings!: StageChatViewContext["piKeybindings"];
|
|
@@ -100,7 +99,6 @@ export class StageChatView implements Component, Focusable {
|
|
|
100
99
|
private promptMaxScroll!: StageChatViewContext["promptMaxScroll"];
|
|
101
100
|
private promptVisibleRows!: StageChatViewContext["promptVisibleRows"];
|
|
102
101
|
private localPaused!: StageChatViewContext["localPaused"];
|
|
103
|
-
private mouseScrollCaptureEnabled!: StageChatViewContext["mouseScrollCaptureEnabled"];
|
|
104
102
|
private seenNoticeIds!: StageChatViewContext["seenNoticeIds"];
|
|
105
103
|
private _unsubscribeStore!: StageChatViewContext["_unsubscribeStore"];
|
|
106
104
|
private _unsubscribeHandle!: StageChatViewContext["_unsubscribeHandle"];
|
|
@@ -186,10 +184,6 @@ export class StageChatView implements Component, Focusable {
|
|
|
186
184
|
return fitStageChatFrame(lines, totalRows, blankLine(w));
|
|
187
185
|
}
|
|
188
186
|
|
|
189
|
-
wantsMouseScrollTracking(): boolean {
|
|
190
|
-
return this.mouseScrollCaptureEnabled;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
187
|
handleInput(data: string): boolean {
|
|
194
188
|
return handleStageChatInput(this._ctx(), data);
|
|
195
189
|
}
|
|
@@ -218,7 +212,6 @@ export class StageChatView implements Component, Focusable {
|
|
|
218
212
|
void this.requestRender;
|
|
219
213
|
void this.requestFocus;
|
|
220
214
|
void this.focusHoldTimer;
|
|
221
|
-
void this.getViewportRows;
|
|
222
215
|
void this.piTui;
|
|
223
216
|
void this.piTheme;
|
|
224
217
|
void this.piKeybindings;
|
|
@@ -235,7 +228,6 @@ export class StageChatView implements Component, Focusable {
|
|
|
235
228
|
void this.promptScrollOffset;
|
|
236
229
|
void this.promptMaxScroll;
|
|
237
230
|
void this.promptVisibleRows;
|
|
238
|
-
void this.mouseScrollCaptureEnabled;
|
|
239
231
|
void this.seenNoticeIds;
|
|
240
232
|
void this._unsubscribeStore;
|
|
241
233
|
void this._unsubscribeHandle;
|
|
@@ -230,6 +230,7 @@ function runCardMeta(run: RunSnapshot, now: number): string {
|
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
if (effectiveRunStatus(run) === "failed" || effectiveRunStatus(run) === "killed") {
|
|
233
|
+
if (run.exitReason !== undefined && run.exitReason.length > 0 && run.exited === true) parts.push(run.exitReason);
|
|
233
234
|
const failed = run.stages.find((s) => s.status === "failed");
|
|
234
235
|
if (failed && isChain) parts.push(`failed at ${failed.name}`);
|
|
235
236
|
else if (failed) parts.push(failed.name);
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
import {
|
|
39
39
|
decideReactiveWidgetAction,
|
|
40
40
|
installReactiveWidget,
|
|
41
|
+
isStaleExtensionContextError,
|
|
41
42
|
type ReactiveWidgetAction,
|
|
42
43
|
type ReactiveWidgetFactory,
|
|
43
44
|
type ReactiveWidgetRenderState,
|
|
@@ -80,11 +81,6 @@ export interface LiveWidgetAPI {
|
|
|
80
81
|
}
|
|
81
82
|
|
|
82
83
|
const WIDGET_KEY = "workflow.run";
|
|
83
|
-
const STALE_CONTEXT = "This extension ctx is stale";
|
|
84
|
-
|
|
85
|
-
function isStale(err: unknown): boolean {
|
|
86
|
-
return err instanceof Error && err.message.includes(STALE_CONTEXT);
|
|
87
|
-
}
|
|
88
84
|
|
|
89
85
|
function liveWidgetSnapshot(storeInstance: Store): StoreSnapshot {
|
|
90
86
|
return {
|
|
@@ -124,7 +120,7 @@ export function installStoreWidget(
|
|
|
124
120
|
// must not broadcast a host-wide render (each one becomes terminal
|
|
125
121
|
// writes that fight native main-chat scrollback).
|
|
126
122
|
requestRenderOnStateNoop: false,
|
|
127
|
-
isStaleError:
|
|
123
|
+
isStaleError: isStaleExtensionContextError,
|
|
128
124
|
});
|
|
129
125
|
|
|
130
126
|
return () => controller.dispose();
|
|
@@ -56,14 +56,6 @@ export interface WorkflowAttachPaneOpts {
|
|
|
56
56
|
initialAttachStageId?: string;
|
|
57
57
|
/** Owning nested run for `initialAttachStageId`; omitted stages resolve through the root graph. */
|
|
58
58
|
initialAttachRunId?: string;
|
|
59
|
-
/**
|
|
60
|
-
* Optional accessor returning the current terminal row count. Threaded
|
|
61
|
-
* into both `GraphView` and `StageChatView` so the overlay renders a
|
|
62
|
-
* frame that fills the full viewport instead of a fixed 32-row pane.
|
|
63
|
-
* Returns `undefined` when the host has not surfaced terminal
|
|
64
|
-
* dimensions; views fall back to their constant row budget.
|
|
65
|
-
*/
|
|
66
|
-
getViewportRows?: () => number | undefined;
|
|
67
59
|
/**
|
|
68
60
|
* Render-tick callback supplied by the overlay host. Forwarded to the
|
|
69
61
|
* embedded `GraphView` so its 10 FPS animation tick (running-stage
|
|
@@ -78,13 +70,6 @@ export interface WorkflowAttachPaneOpts {
|
|
|
78
70
|
* the overlay and the UI is not left input-dead (#1120).
|
|
79
71
|
*/
|
|
80
72
|
requestFocus?: () => void;
|
|
81
|
-
/**
|
|
82
|
-
* Host hook for terminal mouse reporting. Graph mode uses wheel input
|
|
83
|
-
* for canvas scrolling. Stage-chat mode captures wheel input by default so
|
|
84
|
-
* transcript/prompt scrolling stays inside the active workflow chat; ctrl+t
|
|
85
|
-
* toggles copy mode, which disables capture for terminal text selection.
|
|
86
|
-
*/
|
|
87
|
-
setMouseScrollTracking?: (enabled: boolean) => void;
|
|
88
73
|
/** Optional clock injection for deterministic transition-quarantine tests. */
|
|
89
74
|
now?: () => number;
|
|
90
75
|
}
|