@bastani/atomic 0.9.11-alpha.5 → 0.9.11-alpha.7
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 +63 -0
- package/README.md +12 -5
- package/dist/builtin/intercom/package.json +2 -2
- package/dist/builtin/mcp/CHANGELOG.md +6 -0
- package/dist/builtin/mcp/README.md +3 -3
- package/dist/builtin/mcp/cli.js +0 -1
- package/dist/builtin/mcp/config.ts +0 -2
- package/dist/builtin/mcp/package.json +3 -3
- package/dist/builtin/mcp/types.ts +0 -1
- package/dist/builtin/subagents/CHANGELOG.md +12 -0
- package/dist/builtin/subagents/README.md +1 -1
- package/dist/builtin/subagents/agents/code-simplifier.md +47 -102
- package/dist/builtin/subagents/agents/codebase-analyzer.md +27 -130
- package/dist/builtin/subagents/agents/codebase-locator.md +24 -83
- package/dist/builtin/subagents/agents/codebase-online-researcher.md +60 -259
- package/dist/builtin/subagents/agents/codebase-pattern-finder.md +29 -207
- package/dist/builtin/subagents/agents/codebase-research-analyzer.md +28 -150
- package/dist/builtin/subagents/agents/codebase-research-locator.md +21 -118
- package/dist/builtin/subagents/agents/debugger.md +27 -65
- package/dist/builtin/subagents/agents/worker.md +23 -30
- package/dist/builtin/subagents/package.json +4 -4
- package/dist/builtin/subagents/prompts/gather-context-and-clarify.md +18 -11
- package/dist/builtin/subagents/prompts/parallel-cleanup.md +34 -33
- package/dist/builtin/subagents/prompts/parallel-context-build.md +22 -36
- package/dist/builtin/subagents/prompts/parallel-handoff-plan.md +20 -52
- package/dist/builtin/subagents/prompts/parallel-research.md +17 -41
- package/dist/builtin/subagents/prompts/parallel-review.md +23 -28
- package/dist/builtin/subagents/prompts/review-loop.md +18 -27
- package/dist/builtin/subagents/src/extension/prompt-guidance.ts +1 -1
- package/dist/builtin/subagents/src/runs/background/async-execution-chain.ts +23 -4
- package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +2 -0
- package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +10 -0
- package/dist/builtin/subagents/src/runs/background/subagent-runner-step.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +2 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +8 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +6 -0
- package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +2 -0
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +7 -0
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +1 -0
- package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +3 -0
- package/dist/builtin/subagents/src/runs/shared/mcp-direct-tool-allowlist.ts +1 -2
- package/dist/builtin/subagents/src/runs/shared/parallel-utils.ts +1 -0
- package/dist/builtin/subagents/src/runs/shared/pi-args.ts +5 -3
- package/dist/builtin/subagents/src/shared/settings.ts +4 -0
- package/dist/builtin/web-access/package.json +2 -2
- package/dist/builtin/workflows/CHANGELOG.md +44 -0
- package/dist/builtin/workflows/README.md +72 -70
- package/dist/builtin/workflows/ambient.d.ts +0 -5
- package/dist/builtin/workflows/builtin/adversarial-verification-prompts.ts +7 -4
- package/dist/builtin/workflows/builtin/adversarial-verification-runner.ts +1 -1
- package/dist/builtin/workflows/builtin/adversarial-verification.ts +2 -1
- package/dist/builtin/workflows/builtin/classify-and-act-prompts.ts +5 -2
- package/dist/builtin/workflows/builtin/classify-and-act-runner.ts +5 -7
- package/dist/builtin/workflows/builtin/classify-and-act.ts +3 -2
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize-prompts.ts +6 -3
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize-runner.ts +5 -5
- package/dist/builtin/workflows/builtin/fan-out-and-synthesize.ts +3 -2
- package/dist/builtin/workflows/builtin/generate-and-filter-prompts.ts +7 -4
- package/dist/builtin/workflows/builtin/generate-and-filter-runner.ts +6 -3
- package/dist/builtin/workflows/builtin/generate-and-filter.ts +3 -2
- package/dist/builtin/workflows/builtin/goal-models.ts +14 -18
- package/dist/builtin/workflows/builtin/goal-orchestrator-prompts.ts +39 -78
- package/dist/builtin/workflows/builtin/goal-prompts.ts +64 -244
- package/dist/builtin/workflows/builtin/goal-runner.ts +32 -64
- package/dist/builtin/workflows/builtin/goal.ts +2 -1
- package/dist/builtin/workflows/builtin/index.d.ts +17 -112
- package/dist/builtin/workflows/builtin/index.ts +1 -2
- package/dist/builtin/workflows/builtin/loop-until-done-prompts.ts +20 -12
- package/dist/builtin/workflows/builtin/loop-until-done-runner.ts +3 -0
- package/dist/builtin/workflows/builtin/loop-until-done.ts +3 -2
- package/dist/builtin/workflows/builtin/open-claude-design-phases.ts +52 -55
- package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +45 -52
- package/dist/builtin/workflows/builtin/open-claude-design-setup.ts +41 -46
- package/dist/builtin/workflows/builtin/open-claude-design-utils.ts +16 -21
- package/dist/builtin/workflows/builtin/open-claude-design.ts +2 -1
- package/dist/builtin/workflows/builtin/ralph-core.ts +61 -57
- package/dist/builtin/workflows/builtin/ralph-forked-prompts.ts +41 -45
- package/dist/builtin/workflows/builtin/ralph-models.ts +33 -43
- package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +35 -120
- package/dist/builtin/workflows/builtin/ralph-runner.ts +81 -108
- package/dist/builtin/workflows/builtin/ralph.ts +2 -1
- package/dist/builtin/workflows/builtin/shared-prompts.ts +110 -93
- package/dist/builtin/workflows/builtin/steering-context.ts +51 -0
- package/dist/builtin/workflows/builtin/tournament-prompts.ts +21 -12
- package/dist/builtin/workflows/builtin/tournament-runner.ts +3 -0
- package/dist/builtin/workflows/builtin/tournament.ts +3 -2
- package/dist/builtin/workflows/package.json +2 -2
- package/dist/builtin/workflows/skills/create-spec/SKILL.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/SKILL.md +33 -129
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_asset_producer.toml +11 -3
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_documenter.toml +26 -0
- package/dist/builtin/workflows/skills/impeccable/agents/impeccable_finish_reviewer.toml +35 -0
- package/dist/builtin/workflows/skills/impeccable/reference/android.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/animate.md +72 -189
- package/dist/builtin/workflows/skills/impeccable/reference/audit.md +10 -9
- package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +19 -108
- package/dist/builtin/workflows/skills/impeccable/reference/clarify.md +59 -253
- package/dist/builtin/workflows/skills/impeccable/reference/colorize.md +51 -222
- package/dist/builtin/workflows/skills/impeccable/reference/craft-floor.md +45 -0
- package/dist/builtin/workflows/skills/impeccable/reference/craft.md +3 -121
- package/dist/builtin/workflows/skills/impeccable/reference/critique.md +28 -20
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/asset-producer.md +97 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/documenter.md +23 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/finish-reviewer.md +32 -0
- package/dist/builtin/workflows/skills/impeccable/reference/degraded/manual-edit-applier.md +92 -0
- package/dist/builtin/workflows/skills/impeccable/reference/delight.md +47 -279
- package/dist/builtin/workflows/skills/impeccable/reference/distill.md +2 -2
- package/dist/builtin/workflows/skills/impeccable/reference/doctor.md +53 -0
- package/dist/builtin/workflows/skills/impeccable/reference/document.md +60 -73
- package/dist/builtin/workflows/skills/impeccable/reference/harden.md +1 -12
- package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +23 -12
- package/dist/builtin/workflows/skills/impeccable/reference/init.md +64 -163
- package/dist/builtin/workflows/skills/impeccable/reference/ios.md +1 -1
- package/dist/builtin/workflows/skills/impeccable/reference/layout.md +52 -153
- package/dist/builtin/workflows/skills/impeccable/reference/live.md +47 -36
- package/dist/builtin/workflows/skills/impeccable/reference/new-work.md +105 -0
- package/dist/builtin/workflows/skills/impeccable/reference/{product.md → operate.md} +6 -5
- package/dist/builtin/workflows/skills/impeccable/reference/optimize.md +4 -4
- package/dist/builtin/workflows/skills/impeccable/reference/overdrive.md +1 -4
- package/dist/builtin/workflows/skills/impeccable/reference/polish.md +68 -212
- package/dist/builtin/workflows/skills/impeccable/reference/quieter.md +3 -3
- package/dist/builtin/workflows/skills/impeccable/reference/routing.md +18 -0
- package/dist/builtin/workflows/skills/impeccable/reference/shape.md +38 -144
- package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +48 -269
- package/dist/builtin/workflows/skills/impeccable/reference/visualize.md +38 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/command-metadata.json +1 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/concept-seed.mjs +584 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +117 -9
- package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +486 -59
- package/dist/builtin/workflows/skills/impeccable/scripts/critique-storage.mjs +16 -45
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +96 -10
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +143 -26
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +181 -12
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +3187 -182
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs +102 -7
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +282 -70
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs +183 -15
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs +22 -7
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/findings.mjs +7 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/node/file-system.mjs +16 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +155 -42
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +2988 -155
- package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/constants.mjs +11 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/doctor.mjs +336 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/generate-image.mjs +232 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +92 -30
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +414 -120
- package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +25 -8
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/artifact-schema.mjs +93 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/composition-catalog.mjs +165 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/concept-catalog.mjs +329 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +20 -5
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-paths.mjs +16 -8
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/provider.mjs +1 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-deep.mjs +455 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness-notice.mjs +169 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/staleness.mjs +457 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/surface-briefs.mjs +151 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/target-slug.mjs +33 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/lib/template-extensions.mjs +146 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/completion.mjs +10 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live/event-validation.mjs +15 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/generation-preflight.mjs +149 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/poll-lanes.mjs +14 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/session-store.mjs +109 -32
- package/dist/builtin/workflows/skills/impeccable/scripts/live/source-lock.mjs +105 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/source-search.mjs +105 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live/sveltekit-adapter.mjs +8 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/live/tanstack-adapter.mjs +280 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +208 -68
- package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +565 -115
- package/dist/builtin/workflows/skills/impeccable/scripts/live-commit-manual-edits.mjs +3 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/live-inject.mjs +198 -14
- package/dist/builtin/workflows/skills/impeccable/scripts/live-insert.mjs +24 -6
- package/dist/builtin/workflows/skills/impeccable/scripts/live-manual-edit-evidence.mjs +6 -1
- package/dist/builtin/workflows/skills/impeccable/scripts/live-poll.mjs +44 -14
- package/dist/builtin/workflows/skills/impeccable/scripts/live-server.mjs +398 -33
- package/dist/builtin/workflows/skills/impeccable/scripts/live-status.mjs +9 -5
- package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +81 -67
- package/dist/builtin/workflows/skills/impeccable/scripts/live.mjs +7 -2
- package/dist/builtin/workflows/skills/impeccable/scripts/palette.mjs +76 -81
- package/dist/builtin/workflows/skills/impeccable/scripts/pin.mjs +4 -4
- package/dist/builtin/workflows/skills/impeccable/scripts/serve-question.mjs +890 -0
- package/dist/builtin/workflows/skills/impeccable/scripts/surface-brief.mjs +74 -0
- package/dist/builtin/workflows/skills/prompt-engineer/SKILL.md +57 -252
- package/dist/builtin/workflows/skills/prompt-engineer/references/advanced_patterns.md +70 -226
- package/dist/builtin/workflows/skills/prompt-engineer/references/core_prompting.md +64 -103
- package/dist/builtin/workflows/skills/prompt-engineer/references/quality_improvement.md +81 -155
- package/dist/builtin/workflows/src/authoring.d.ts +5 -1
- package/dist/builtin/workflows/src/durable/backend.ts +68 -9
- package/dist/builtin/workflows/src/durable/boundary-lifecycle.ts +148 -0
- package/dist/builtin/workflows/src/durable/boundary-topology.ts +420 -0
- package/dist/builtin/workflows/src/durable/child-invocation.ts +14 -0
- package/dist/builtin/workflows/src/durable/child-primitive.ts +74 -44
- package/dist/builtin/workflows/src/durable/completed-catalog-stage-groups.ts +250 -0
- package/dist/builtin/workflows/src/durable/completed-catalog.ts +205 -131
- package/dist/builtin/workflows/src/durable/completed-inspection.ts +8 -2
- package/dist/builtin/workflows/src/durable/completed-subtree.ts +31 -0
- package/dist/builtin/workflows/src/durable/dbos-backend.ts +28 -24
- package/dist/builtin/workflows/src/durable/dbos-envelope.ts +130 -3
- package/dist/builtin/workflows/src/durable/dbos-metadata.ts +18 -0
- package/dist/builtin/workflows/src/durable/scoped-backend.ts +64 -17
- package/dist/builtin/workflows/src/durable/stage-primitive.ts +60 -60
- package/dist/builtin/workflows/src/durable/stage-topology-validation.ts +234 -0
- package/dist/builtin/workflows/src/durable/stage-topology.ts +53 -0
- package/dist/builtin/workflows/src/durable/tool-failure-checkpoint.ts +49 -0
- package/dist/builtin/workflows/src/durable/tool-outcome.ts +120 -0
- package/dist/builtin/workflows/src/durable/tool-primitive.ts +367 -58
- package/dist/builtin/workflows/src/durable/types.ts +97 -0
- package/dist/builtin/workflows/src/durable/ui-primitive.ts +46 -0
- package/dist/builtin/workflows/src/durable/workflow-child-result.ts +58 -0
- package/dist/builtin/workflows/src/engine/options.ts +1 -0
- package/dist/builtin/workflows/src/engine/primitives/workflow.ts +19 -10
- package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +11 -1
- package/dist/builtin/workflows/src/engine/run-durable-topology.ts +190 -18
- package/dist/builtin/workflows/src/engine/run-terminal-event.ts +37 -0
- package/dist/builtin/workflows/src/engine/run-terminal-failure.ts +50 -0
- package/dist/builtin/workflows/src/engine/run-tool-execution-tracker.ts +152 -0
- package/dist/builtin/workflows/src/engine/run-tool-node-lifecycle.ts +87 -0
- package/dist/builtin/workflows/src/engine/run.ts +111 -110
- package/dist/builtin/workflows/src/engine/runtime.ts +15 -2
- package/dist/builtin/workflows/src/extension/extension-factory.ts +1 -0
- package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +11 -0
- package/dist/builtin/workflows/src/extension/index.bundle.mjs +6710 -4810
- package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +16 -5
- package/dist/builtin/workflows/src/extension/render-result.ts +16 -2
- package/dist/builtin/workflows/src/extension/runtime-durable-resume.ts +3 -0
- package/dist/builtin/workflows/src/extension/runtime.ts +4 -0
- package/dist/builtin/workflows/src/extension/wiring.ts +3 -1
- package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +1 -0
- package/dist/builtin/workflows/src/extension/workflow-durable-resume-command.ts +9 -3
- package/dist/builtin/workflows/src/extension/workflow-module-loader.ts +18 -3
- package/dist/builtin/workflows/src/extension/workflow-prompts.ts +22 -11
- package/dist/builtin/workflows/src/extension/workflow-status-summary.ts +43 -0
- package/dist/builtin/workflows/src/extension/workflow-targets.ts +34 -30
- package/dist/builtin/workflows/src/extension/workflow-tool-content.ts +12 -5
- package/dist/builtin/workflows/src/extension/workflow-tool-send.ts +162 -63
- package/dist/builtin/workflows/src/runs/background/run-inspect.ts +7 -1
- package/dist/builtin/workflows/src/runs/background/status.ts +18 -8
- package/dist/builtin/workflows/src/runs/background/workflow-lifecycle-aggregate.ts +3 -11
- package/dist/builtin/workflows/src/runs/foreground/executor-child-boundary.ts +24 -21
- package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-lifecycle.ts +30 -13
- package/dist/builtin/workflows/src/runs/foreground/executor-prompt-nodes.ts +102 -53
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-call.ts +13 -5
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +49 -17
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +11 -4
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-replay.ts +1 -0
- package/dist/builtin/workflows/src/runs/foreground/executor-stage-types.ts +4 -1
- package/dist/builtin/workflows/src/runs/foreground/executor-types.ts +7 -1
- package/dist/builtin/workflows/src/runs/foreground/postmortem-stage-chat.ts +53 -4
- package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +146 -17
- package/dist/builtin/workflows/src/runs/foreground/stage-delivery-activity.ts +86 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-context.ts +18 -6
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +45 -46
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-options.ts +5 -1
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-pause.ts +195 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-send-user-message.ts +8 -0
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-session-options.ts +0 -13
- package/dist/builtin/workflows/src/runs/foreground/stage-runner-types.ts +30 -2
- package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +3 -143
- package/dist/builtin/workflows/src/sdk-surface.ts +1 -1
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +6 -11
- package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +6 -11
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.d.ts +57 -6
- package/dist/builtin/workflows/src/shared/authoring-contract-ui.ts +76 -11
- package/dist/builtin/workflows/src/shared/expanded-workflow-graph.ts +206 -116
- package/dist/builtin/workflows/src/shared/intercom-group.ts +17 -10
- package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +30 -0
- package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +5 -0
- package/dist/builtin/workflows/src/shared/render-inputs-schema.ts +3 -3
- package/dist/builtin/workflows/src/shared/store-factory.ts +2 -0
- package/dist/builtin/workflows/src/shared/store-internal.ts +8 -0
- package/dist/builtin/workflows/src/shared/store-public-types.ts +8 -0
- package/dist/builtin/workflows/src/shared/store-run-methods.ts +9 -0
- package/dist/builtin/workflows/src/shared/store-stage-methods.ts +2 -0
- package/dist/builtin/workflows/src/shared/store-tool-node-methods.ts +46 -0
- package/dist/builtin/workflows/src/shared/store-types.ts +34 -0
- package/dist/builtin/workflows/src/shared/types.ts +14 -24
- package/dist/builtin/workflows/src/shared/workflow-failures-classifier.ts +11 -5
- package/dist/builtin/workflows/src/shared/workflow-failures-signals.ts +58 -0
- package/dist/builtin/workflows/src/shared/workflow-run-ownership.ts +53 -0
- package/dist/builtin/workflows/src/tui/graph-view-input.ts +2 -8
- package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +11 -4
- package/dist/builtin/workflows/src/tui/graph-view-render.ts +1 -0
- package/dist/builtin/workflows/src/tui/graph-view-state.ts +27 -9
- package/dist/builtin/workflows/src/tui/graph-view-types.ts +4 -3
- package/dist/builtin/workflows/src/tui/node-card.ts +4 -3
- package/dist/builtin/workflows/src/tui/overlay-adapter.ts +0 -4
- package/dist/builtin/workflows/src/tui/run-detail.ts +53 -17
- package/dist/builtin/workflows/src/tui/session-list.ts +8 -4
- package/dist/builtin/workflows/src/tui/stage-chat-view-delivery-activity.ts +121 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-live-events.ts +42 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-helpers.ts +12 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +21 -1
- package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +19 -19
- package/dist/builtin/workflows/src/tui/stage-chat-view-types.ts +4 -0
- package/dist/builtin/workflows/src/tui/stage-chat-view.ts +4 -2
- package/dist/builtin/workflows/src/tui/switcher.ts +13 -3
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-handle.ts +1 -1
- package/dist/builtin/workflows/src/tui/workflow-attach-pane-types.ts +0 -9
- package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +16 -49
- package/dist/builtin/workflows/src/tui/workflow-status.ts +7 -0
- package/dist/builtin/workflows/src/workflows/identity.ts +1 -1
- package/dist/cli/args.d.ts +0 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +1 -20
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/config-selector.js +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js +1 -2
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js +2 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.js +2 -2
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/config-self-update.js +1 -1
- package/dist/config-self-update.js.map +1 -1
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +34 -10
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session-accessors.d.ts.map +1 -1
- package/dist/core/agent-session-accessors.js +2 -1
- package/dist/core/agent-session-accessors.js.map +1 -1
- package/dist/core/agent-session-auto-compaction.d.ts +4 -3
- package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-auto-compaction.js +55 -59
- package/dist/core/agent-session-auto-compaction.js.map +1 -1
- package/dist/core/agent-session-bash.d.ts +9 -6
- package/dist/core/agent-session-bash.d.ts.map +1 -1
- package/dist/core/agent-session-bash.js +32 -13
- package/dist/core/agent-session-bash.js.map +1 -1
- package/dist/core/agent-session-compaction.d.ts +11 -1
- package/dist/core/agent-session-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-compaction.js +87 -19
- package/dist/core/agent-session-compaction.js.map +1 -1
- package/dist/core/agent-session-custom-message-commit.d.ts +14 -0
- package/dist/core/agent-session-custom-message-commit.d.ts.map +1 -0
- package/dist/core/agent-session-custom-message-commit.js +141 -0
- package/dist/core/agent-session-custom-message-commit.js.map +1 -0
- package/dist/core/agent-session-delivery-forwarding.d.ts +9 -0
- package/dist/core/agent-session-delivery-forwarding.d.ts.map +1 -0
- package/dist/core/agent-session-delivery-forwarding.js +36 -0
- package/dist/core/agent-session-delivery-forwarding.js.map +1 -0
- package/dist/core/agent-session-events.d.ts +1 -1
- package/dist/core/agent-session-events.d.ts.map +1 -1
- package/dist/core/agent-session-events.js +45 -14
- package/dist/core/agent-session-events.js.map +1 -1
- package/dist/core/agent-session-extension-bindings.d.ts +2 -6
- package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
- package/dist/core/agent-session-extension-bindings.js +18 -11
- package/dist/core/agent-session-extension-bindings.js.map +1 -1
- package/dist/core/agent-session-message-queue.d.ts +5 -2
- package/dist/core/agent-session-message-queue.d.ts.map +1 -1
- package/dist/core/agent-session-message-queue.js +91 -97
- package/dist/core/agent-session-message-queue.js.map +1 -1
- package/dist/core/agent-session-methods.d.ts +47 -39
- 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 +2 -38
- package/dist/core/agent-session-models.d.ts.map +1 -1
- package/dist/core/agent-session-models.js +5 -147
- package/dist/core/agent-session-models.js.map +1 -1
- package/dist/core/agent-session-persistent-custom-messages.d.ts +47 -0
- package/dist/core/agent-session-persistent-custom-messages.d.ts.map +1 -0
- package/dist/core/agent-session-persistent-custom-messages.js +267 -0
- package/dist/core/agent-session-persistent-custom-messages.js.map +1 -0
- package/dist/core/agent-session-post-tool-compaction.d.ts.map +1 -1
- package/dist/core/agent-session-post-tool-compaction.js +34 -9
- package/dist/core/agent-session-post-tool-compaction.js.map +1 -1
- package/dist/core/agent-session-prompt.d.ts +2 -0
- package/dist/core/agent-session-prompt.d.ts.map +1 -1
- package/dist/core/agent-session-prompt.js +42 -16
- package/dist/core/agent-session-prompt.js.map +1 -1
- package/dist/core/agent-session-queue-pause.d.ts +10 -0
- package/dist/core/agent-session-queue-pause.d.ts.map +1 -0
- package/dist/core/agent-session-queue-pause.js +86 -0
- package/dist/core/agent-session-queue-pause.js.map +1 -0
- package/dist/core/agent-session-retry.d.ts +0 -11
- package/dist/core/agent-session-retry.d.ts.map +1 -1
- package/dist/core/agent-session-retry.js +8 -57
- package/dist/core/agent-session-retry.js.map +1 -1
- package/dist/core/agent-session-runtime-auth.d.ts +6 -0
- package/dist/core/agent-session-runtime-auth.d.ts.map +1 -0
- package/dist/core/agent-session-runtime-auth.js +26 -0
- package/dist/core/agent-session-runtime-auth.js.map +1 -0
- package/dist/core/agent-session-runtime.d.ts +13 -2
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js +32 -6
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts +0 -2
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +6 -7
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session-state.d.ts.map +1 -1
- package/dist/core/agent-session-state.js +3 -0
- package/dist/core/agent-session-state.js.map +1 -1
- package/dist/core/agent-session-tool-hooks.d.ts.map +1 -1
- package/dist/core/agent-session-tool-hooks.js +6 -1
- 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 +2 -18
- package/dist/core/agent-session-tool-registry.js.map +1 -1
- package/dist/core/agent-session-transfer.d.ts +4 -0
- package/dist/core/agent-session-transfer.d.ts.map +1 -0
- package/dist/core/agent-session-transfer.js +71 -0
- package/dist/core/agent-session-transfer.js.map +1 -0
- package/dist/core/agent-session-tree.js +1 -1
- package/dist/core/agent-session-tree.js.map +1 -1
- package/dist/core/agent-session-types.d.ts +5 -11
- package/dist/core/agent-session-types.d.ts.map +1 -1
- package/dist/core/agent-session-types.js +0 -3
- package/dist/core/agent-session-types.js.map +1 -1
- package/dist/core/agent-session.d.ts +12 -2
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +8 -2
- 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 +31 -33
- package/dist/core/atomic-guide-command.js.map +1 -1
- package/dist/core/auth-storage.js +2 -2
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/bash-executor.d.ts +5 -3
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js +5 -4
- 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 +0 -6
- package/dist/core/builtin-packages.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts +8 -3
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +17 -6
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction-boundary.d.ts +18 -1
- package/dist/core/compaction/compaction-boundary.d.ts.map +1 -1
- package/dist/core/compaction/compaction-boundary.js +2 -2
- package/dist/core/compaction/compaction-boundary.js.map +1 -1
- package/dist/core/compaction/compaction-runner.d.ts +61 -6
- package/dist/core/compaction/compaction-runner.d.ts.map +1 -1
- package/dist/core/compaction/compaction-runner.js +242 -18
- package/dist/core/compaction/compaction-runner.js.map +1 -1
- package/dist/core/compaction/compaction-types.d.ts +53 -2
- package/dist/core/compaction/compaction-types.d.ts.map +1 -1
- package/dist/core/compaction/compaction-types.js.map +1 -1
- package/dist/core/compaction/fallback-planner.d.ts +64 -0
- package/dist/core/compaction/fallback-planner.d.ts.map +1 -0
- package/dist/core/compaction/fallback-planner.js +75 -0
- package/dist/core/compaction/fallback-planner.js.map +1 -0
- package/dist/core/compaction/index.d.ts +3 -0
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js +3 -0
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/planner-outcome.d.ts +86 -0
- package/dist/core/compaction/planner-outcome.d.ts.map +1 -0
- package/dist/core/compaction/planner-outcome.js +122 -0
- package/dist/core/compaction/planner-outcome.js.map +1 -0
- package/dist/core/compaction/range-planner-diagnostics.d.ts +58 -6
- package/dist/core/compaction/range-planner-diagnostics.d.ts.map +1 -1
- package/dist/core/compaction/range-planner-diagnostics.js +69 -31
- package/dist/core/compaction/range-planner-diagnostics.js.map +1 -1
- package/dist/core/compaction/range-planner.d.ts +36 -8
- package/dist/core/compaction/range-planner.d.ts.map +1 -1
- package/dist/core/compaction/range-planner.js +136 -51
- package/dist/core/compaction/range-planner.js.map +1 -1
- package/dist/core/compaction/region-trimming.d.ts +34 -0
- package/dist/core/compaction/region-trimming.d.ts.map +1 -0
- package/dist/core/compaction/region-trimming.js +73 -0
- package/dist/core/compaction/region-trimming.js.map +1 -0
- package/dist/core/compaction/transcript-serialization.d.ts +8 -1
- package/dist/core/compaction/transcript-serialization.d.ts.map +1 -1
- package/dist/core/compaction/transcript-serialization.js +78 -27
- package/dist/core/compaction/transcript-serialization.js.map +1 -1
- package/dist/core/context-tool-pairing.d.ts +19 -0
- package/dist/core/context-tool-pairing.d.ts.map +1 -0
- package/dist/core/context-tool-pairing.js +50 -0
- package/dist/core/context-tool-pairing.js.map +1 -0
- package/dist/core/diagnostics.d.ts +8 -0
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/extensions/context-types.d.ts +3 -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/index.d.ts +2 -0
- package/dist/core/extensions/index.d.ts.map +1 -1
- 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 +48 -27
- package/dist/core/extensions/loader-api.js.map +1 -1
- package/dist/core/extensions/loader-runtime.d.ts +2 -4
- package/dist/core/extensions/loader-runtime.d.ts.map +1 -1
- package/dist/core/extensions/loader-runtime.js +199 -18
- package/dist/core/extensions/loader-runtime.js.map +1 -1
- package/dist/core/extensions/message-types.d.ts +7 -4
- 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 -4
- 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-context.d.ts +2 -0
- package/dist/core/extensions/runner-context.d.ts.map +1 -1
- package/dist/core/extensions/runner-context.js +4 -0
- package/dist/core/extensions/runner-context.js.map +1 -1
- package/dist/core/extensions/runner.d.ts +1 -0
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js +28 -20
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/runtime-types.d.ts +25 -0
- 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/tool-types.d.ts +7 -3
- package/dist/core/extensions/tool-types.d.ts.map +1 -1
- package/dist/core/extensions/tool-types.js.map +1 -1
- package/dist/core/extensions/ui-types.d.ts +14 -4
- package/dist/core/extensions/ui-types.d.ts.map +1 -1
- package/dist/core/extensions/ui-types.js.map +1 -1
- package/dist/core/fallback-models.d.ts +37 -0
- package/dist/core/fallback-models.d.ts.map +1 -0
- package/dist/core/fallback-models.js +48 -0
- package/dist/core/fallback-models.js.map +1 -0
- package/dist/core/flattened-tool-arguments.d.ts +4 -7
- package/dist/core/flattened-tool-arguments.d.ts.map +1 -1
- package/dist/core/flattened-tool-arguments.js +4 -7
- package/dist/core/flattened-tool-arguments.js.map +1 -1
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js +0 -5
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/messages.d.ts +14 -2
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js +28 -4
- package/dist/core/messages.js.map +1 -1
- package/dist/core/model-capabilities.d.ts +18 -0
- package/dist/core/model-capabilities.d.ts.map +1 -0
- package/dist/core/model-capabilities.js +23 -0
- package/dist/core/model-capabilities.js.map +1 -0
- package/dist/core/model-registry-auth.d.ts.map +1 -1
- package/dist/core/model-registry-auth.js +0 -2
- package/dist/core/model-registry-auth.js.map +1 -1
- package/dist/core/model-registry-builtins.d.ts +0 -2
- package/dist/core/model-registry-builtins.d.ts.map +1 -1
- package/dist/core/model-registry-builtins.js +9 -76
- package/dist/core/model-registry-builtins.js.map +1 -1
- package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
- package/dist/core/model-registry-custom-loader.js +1 -12
- package/dist/core/model-registry-custom-loader.js.map +1 -1
- package/dist/core/model-registry-dynamic.d.ts.map +1 -1
- package/dist/core/model-registry-dynamic.js +3 -15
- package/dist/core/model-registry-dynamic.js.map +1 -1
- package/dist/core/model-registry-extension-refresh.d.ts +23 -0
- package/dist/core/model-registry-extension-refresh.d.ts.map +1 -0
- package/dist/core/model-registry-extension-refresh.js +32 -0
- package/dist/core/model-registry-extension-refresh.js.map +1 -0
- package/dist/core/model-registry-schemas.d.ts +118 -9
- package/dist/core/model-registry-schemas.d.ts.map +1 -1
- package/dist/core/model-registry-schemas.js +10 -3
- package/dist/core/model-registry-schemas.js.map +1 -1
- package/dist/core/model-registry-types.d.ts +5 -5
- package/dist/core/model-registry-types.d.ts.map +1 -1
- package/dist/core/model-registry-types.js.map +1 -1
- package/dist/core/model-registry-validation.d.ts +7 -0
- package/dist/core/model-registry-validation.d.ts.map +1 -0
- package/dist/core/model-registry-validation.js +12 -0
- package/dist/core/model-registry-validation.js.map +1 -0
- package/dist/core/model-registry.d.ts +5 -3
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js +34 -33
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver-defaults.d.ts.map +1 -1
- package/dist/core/model-resolver-defaults.js +0 -1
- package/dist/core/model-resolver-defaults.js.map +1 -1
- package/dist/core/model-resolver-initial.d.ts.map +1 -1
- package/dist/core/model-resolver-initial.js +9 -0
- package/dist/core/model-resolver-initial.js.map +1 -1
- package/dist/core/model-resolver-patterns.d.ts.map +1 -1
- package/dist/core/model-resolver-patterns.js +0 -2
- package/dist/core/model-resolver-patterns.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 +18 -4
- package/dist/core/model-resolver-scope.js.map +1 -1
- package/dist/core/model-resolver-types.d.ts +2 -0
- package/dist/core/model-resolver-types.d.ts.map +1 -1
- package/dist/core/model-resolver-types.js.map +1 -1
- package/dist/core/oauth-provider-bridge.d.ts +21 -0
- package/dist/core/oauth-provider-bridge.d.ts.map +1 -1
- package/dist/core/oauth-provider-bridge.js +68 -7
- package/dist/core/oauth-provider-bridge.js.map +1 -1
- package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
- package/dist/core/package-manager-auto-resources.js +12 -4
- package/dist/core/package-manager-auto-resources.js.map +1 -1
- package/dist/core/package-manager-resolver.d.ts.map +1 -1
- package/dist/core/package-manager-resolver.js +42 -11
- package/dist/core/package-manager-resolver.js.map +1 -1
- package/dist/core/package-manager-types.d.ts +2 -0
- package/dist/core/package-manager-types.d.ts.map +1 -1
- package/dist/core/package-manager-types.js.map +1 -1
- package/dist/core/package-manager.d.ts +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +17 -11
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/resource-loader-assets.d.ts.map +1 -1
- package/dist/core/resource-loader-assets.js +30 -4
- package/dist/core/resource-loader-assets.js.map +1 -1
- package/dist/core/resource-loader-context-files.d.ts.map +1 -1
- package/dist/core/resource-loader-context-files.js +3 -1
- package/dist/core/resource-loader-context-files.js.map +1 -1
- package/dist/core/resource-loader-core.d.ts +2 -1
- package/dist/core/resource-loader-core.d.ts.map +1 -1
- package/dist/core/resource-loader-core.js +3 -0
- package/dist/core/resource-loader-core.js.map +1 -1
- package/dist/core/resource-loader-extensions.d.ts +1 -0
- package/dist/core/resource-loader-extensions.d.ts.map +1 -1
- package/dist/core/resource-loader-extensions.js +120 -7
- package/dist/core/resource-loader-extensions.js.map +1 -1
- package/dist/core/resource-loader-package-resources.d.ts.map +1 -1
- package/dist/core/resource-loader-package-resources.js +14 -1
- package/dist/core/resource-loader-package-resources.js.map +1 -1
- package/dist/core/resource-loader-reload.d.ts.map +1 -1
- package/dist/core/resource-loader-reload.js +2 -1
- package/dist/core/resource-loader-reload.js.map +1 -1
- package/dist/core/resource-loader-source-info.d.ts.map +1 -1
- package/dist/core/resource-loader-source-info.js +6 -3
- package/dist/core/resource-loader-source-info.js.map +1 -1
- package/dist/core/sdk-types.d.ts +11 -10
- package/dist/core/sdk-types.d.ts.map +1 -1
- package/dist/core/sdk-types.js.map +1 -1
- package/dist/core/sdk.d.ts +1 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +13 -84
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/session-manager-core.d.ts +3 -3
- package/dist/core/session-manager-core.d.ts.map +1 -1
- package/dist/core/session-manager-core.js +18 -25
- package/dist/core/session-manager-core.js.map +1 -1
- package/dist/core/session-manager-entries.d.ts +2 -5
- package/dist/core/session-manager-entries.d.ts.map +1 -1
- package/dist/core/session-manager-entries.js +2 -8
- package/dist/core/session-manager-entries.js.map +1 -1
- package/dist/core/session-manager-history.d.ts +3 -3
- package/dist/core/session-manager-history.d.ts.map +1 -1
- package/dist/core/session-manager-history.js +49 -27
- package/dist/core/session-manager-history.js.map +1 -1
- package/dist/core/session-manager-storage.d.ts +6 -0
- package/dist/core/session-manager-storage.d.ts.map +1 -1
- package/dist/core/session-manager-storage.js +38 -5
- package/dist/core/session-manager-storage.js.map +1 -1
- package/dist/core/session-manager-types.d.ts +6 -6
- package/dist/core/session-manager-types.d.ts.map +1 -1
- package/dist/core/session-manager-types.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager-basic-accessors.d.ts +0 -4
- package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
- package/dist/core/settings-manager-basic-accessors.js +0 -50
- package/dist/core/settings-manager-basic-accessors.js.map +1 -1
- package/dist/core/settings-manager-core.d.ts +2 -4
- package/dist/core/settings-manager-core.d.ts.map +1 -1
- package/dist/core/settings-manager-core.js +5 -51
- package/dist/core/settings-manager-core.js.map +1 -1
- package/dist/core/settings-manager.d.ts +1 -1
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/settings-storage.d.ts +3 -1
- package/dist/core/settings-storage.d.ts.map +1 -1
- package/dist/core/settings-storage.js +22 -0
- package/dist/core/settings-storage.js.map +1 -1
- package/dist/core/settings-types.d.ts +2 -4
- 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 +68 -22
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts +3 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js +2 -0
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js +1 -1
- package/dist/core/tools/ask-user-question/ask-user-question.js.map +1 -1
- package/dist/core/tools/bash-session-environment.d.ts +13 -0
- package/dist/core/tools/bash-session-environment.d.ts.map +1 -0
- package/dist/core/tools/bash-session-environment.js +35 -0
- package/dist/core/tools/bash-session-environment.js.map +1 -0
- package/dist/core/tools/bash.d.ts +4 -1
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js +16 -8
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +3 -0
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +10 -2
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/extensions/index.js +1 -1
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts +3 -2
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js +9 -3
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/index-extensions.d.ts +1 -1
- package/dist/index-extensions.d.ts.map +1 -1
- package/dist/index-extensions.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/main-session-options.d.ts.map +1 -1
- package/dist/main-session-options.js +0 -4
- package/dist/main-session-options.js.map +1 -1
- package/dist/main-session.d.ts.map +1 -1
- package/dist/main-session.js +2 -1
- package/dist/main-session.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -17
- package/dist/main.js.map +1 -1
- package/dist/modes/index.d.ts +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts +1 -1
- package/dist/modes/interactive/chat-input-actions.d.ts.map +1 -1
- package/dist/modes/interactive/chat-input-actions.js +14 -96
- package/dist/modes/interactive/chat-input-actions.js.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.d.ts +9 -8
- package/dist/modes/interactive/components/atomic-banner.d.ts.map +1 -1
- package/dist/modes/interactive/components/atomic-banner.js +68 -24
- package/dist/modes/interactive/components/atomic-banner.js.map +1 -1
- package/dist/modes/interactive/components/atomic-working-status.d.ts +52 -0
- package/dist/modes/interactive/components/atomic-working-status.d.ts.map +1 -0
- package/dist/modes/interactive/components/atomic-working-status.js +202 -0
- package/dist/modes/interactive/components/atomic-working-status.js.map +1 -0
- package/dist/modes/interactive/components/chat-message-renderer.js +1 -1
- 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 +87 -7
- package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-editor.js +3 -3
- package/dist/modes/interactive/components/chat-session-host-editor.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 +61 -9
- 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 +23 -7
- package/dist/modes/interactive/components/chat-session-host-rendering.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts +27 -0
- package/dist/modes/interactive/components/chat-session-host-runtime.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-runtime.js +120 -18
- package/dist/modes/interactive/components/chat-session-host-runtime.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-state.d.ts +9 -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 +5 -0
- package/dist/modes/interactive/components/chat-session-host-state.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.d.ts +10 -0
- package/dist/modes/interactive/components/chat-session-host-types.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host-types.js.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.d.ts +13 -0
- package/dist/modes/interactive/components/chat-session-host.d.ts.map +1 -1
- package/dist/modes/interactive/components/chat-session-host.js +22 -1
- package/dist/modes/interactive/components/chat-session-host.js.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-boundary-message.js +2 -1
- package/dist/modes/interactive/components/compaction-boundary-message.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts +3 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js +9 -2
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts +3 -2
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js +14 -43
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js +18 -13
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/startup-identity.d.ts +22 -0
- package/dist/modes/interactive/components/startup-identity.d.ts.map +1 -0
- package/dist/modes/interactive/components/startup-identity.js +58 -0
- package/dist/modes/interactive/components/startup-identity.js.map +1 -0
- package/dist/modes/interactive/components/tree-selector-content.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-content.js +0 -6
- package/dist/modes/interactive/components/tree-selector-content.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector-model.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector-model.js +0 -1
- package/dist/modes/interactive/components/tree-selector-model.js.map +1 -1
- package/dist/modes/interactive/components/working-status.d.ts +5 -11
- package/dist/modes/interactive/components/working-status.d.ts.map +1 -1
- package/dist/modes/interactive/components/working-status.js +14 -15
- package/dist/modes/interactive/components/working-status.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts +23 -0
- package/dist/modes/interactive/external-editor.d.ts.map +1 -0
- package/dist/modes/interactive/external-editor.js +120 -0
- package/dist/modes/interactive/external-editor.js.map +1 -0
- package/dist/modes/interactive/interactive-agent-events.js +33 -22
- package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-login.js +16 -6
- package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
- package/dist/modes/interactive/interactive-auth-routing.js +3 -0
- package/dist/modes/interactive/interactive-auth-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.d.ts +2 -1
- package/dist/modes/interactive/interactive-bash-compact.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-bash-compact.js +8 -0
- 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 +49 -19
- package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-editor-actions.js +4 -3
- package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-dialogs.js +1 -1
- package/dist/modes/interactive/interactive-extension-dialogs.js.map +1 -1
- package/dist/modes/interactive/interactive-extension-runtime.js +3 -2
- package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-initial-session-binding.d.ts +4 -0
- package/dist/modes/interactive/interactive-initial-session-binding.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-initial-session-binding.js +23 -0
- package/dist/modes/interactive/interactive-initial-session-binding.js.map +1 -0
- package/dist/modes/interactive/interactive-input-handling.d.ts +2 -1
- package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-input-handling.js +27 -51
- package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.d.ts +11 -7
- package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-base.js +14 -6
- package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.d.ts +2 -4
- package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode-deps.js +2 -4
- package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
- package/dist/modes/interactive/interactive-mode-surface.d.ts +9 -8
- 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-catalog-startup.d.ts +2 -3
- package/dist/modes/interactive/interactive-model-catalog-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-model-catalog-startup.js +3 -6
- package/dist/modes/interactive/interactive-model-catalog-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-model-routing.js +26 -97
- package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
- package/dist/modes/interactive/interactive-pause.d.ts +4 -0
- package/dist/modes/interactive/interactive-pause.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-pause.js +8 -0
- package/dist/modes/interactive/interactive-pause.js.map +1 -0
- package/dist/modes/interactive/interactive-process-lifecycle.js +5 -4
- package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
- package/dist/modes/interactive/interactive-prompt-turn.d.ts +2 -0
- package/dist/modes/interactive/interactive-prompt-turn.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-prompt-turn.js +41 -0
- package/dist/modes/interactive/interactive-prompt-turn.js.map +1 -0
- package/dist/modes/interactive/interactive-render-chat.js +20 -8
- package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-paths.js +11 -2
- package/dist/modes/interactive/interactive-resource-paths.js.map +1 -1
- package/dist/modes/interactive/interactive-resource-rendering.js +99 -0
- package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js +1 -1
- package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js +1 -1
- package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
- package/dist/modes/interactive/interactive-startup-chat-container.d.ts +20 -0
- package/dist/modes/interactive/interactive-startup-chat-container.d.ts.map +1 -0
- package/dist/modes/interactive/interactive-startup-chat-container.js +26 -0
- package/dist/modes/interactive/interactive-startup-chat-container.js.map +1 -0
- package/dist/modes/interactive/interactive-startup.d.ts +1 -1
- package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-startup.js +30 -25
- package/dist/modes/interactive/interactive-startup.js.map +1 -1
- package/dist/modes/interactive/interactive-summarization-retry-events.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-summarization-retry-events.js +9 -3
- package/dist/modes/interactive/interactive-summarization-retry-events.js.map +1 -1
- package/dist/modes/interactive/theme/catppuccin-frappe.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-latte.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-macchiato.json +1 -1
- package/dist/modes/interactive/theme/catppuccin-mocha.json +9 -1
- package/dist/modes/interactive/theme/dark.json +1 -1
- package/dist/modes/interactive/theme/light.json +1 -1
- package/dist/modes/interactive/theme/theme-class.d.ts +4 -0
- package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-class.js +7 -0
- package/dist/modes/interactive/theme/theme-class.js.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-loading.js +4 -0
- package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.d.ts +32 -0
- package/dist/modes/interactive/theme/theme-schema.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.js +8 -0
- package/dist/modes/interactive/theme/theme-schema.js.map +1 -1
- package/dist/modes/interactive/theme/theme-schema.json +15 -2
- package/dist/modes/interactive/whimsical-messages.d.ts +1 -0
- package/dist/modes/interactive/whimsical-messages.d.ts.map +1 -1
- package/dist/modes/interactive/whimsical-messages.js +2 -2
- package/dist/modes/interactive/whimsical-messages.js.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.js +3 -1
- package/dist/modes/interactive-engine/create-isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/engine-args.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-args.js +0 -1
- package/dist/modes/interactive-engine/engine-args.js.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-custom-ui.js +5 -17
- package/dist/modes/interactive-engine/engine-custom-ui.js.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.d.ts.map +1 -1
- package/dist/modes/interactive-engine/engine-render-service.js +8 -19
- package/dist/modes/interactive-engine/engine-render-service.js.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts +2 -0
- package/dist/modes/interactive-engine/extension-ui-bridge.d.ts.map +1 -1
- package/dist/modes/interactive-engine/extension-ui-bridge.js +3 -0
- package/dist/modes/interactive-engine/extension-ui-bridge.js.map +1 -1
- package/dist/modes/interactive-engine/isolated-auth.d.ts +10 -0
- package/dist/modes/interactive-engine/isolated-auth.d.ts.map +1 -0
- package/dist/modes/interactive-engine/isolated-auth.js +14 -0
- package/dist/modes/interactive-engine/isolated-auth.js.map +1 -0
- package/dist/modes/interactive-engine/isolated-runtime.d.ts +9 -1
- package/dist/modes/interactive-engine/isolated-runtime.d.ts.map +1 -1
- package/dist/modes/interactive-engine/isolated-runtime.js +46 -34
- package/dist/modes/interactive-engine/isolated-runtime.js.map +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts +1 -1
- package/dist/modes/interactive-engine/protocol.d.ts.map +1 -1
- package/dist/modes/interactive-engine/protocol.js +3 -10
- package/dist/modes/interactive-engine/protocol.js.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts +1 -0
- package/dist/modes/interactive-engine/remote-model-catalog.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js +10 -1
- package/dist/modes/interactive-engine/remote-model-catalog.js.map +1 -1
- package/dist/modes/interactive-engine/remote-queue-pause.d.ts +13 -0
- package/dist/modes/interactive-engine/remote-queue-pause.d.ts.map +1 -0
- package/dist/modes/interactive-engine/remote-queue-pause.js +38 -0
- package/dist/modes/interactive-engine/remote-queue-pause.js.map +1 -0
- package/dist/modes/interactive-engine/remote-renderer.d.ts +3 -1
- package/dist/modes/interactive-engine/remote-renderer.d.ts.map +1 -1
- package/dist/modes/interactive-engine/remote-renderer.js +4 -1
- package/dist/modes/interactive-engine/remote-renderer.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js +5 -0
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts +2 -7
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js +7 -24
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/queued-writer.d.ts +19 -0
- package/dist/modes/rpc/queued-writer.d.ts.map +1 -0
- package/dist/modes/rpc/{bounded-writer.js → queued-writer.js} +7 -30
- package/dist/modes/rpc/queued-writer.js.map +1 -0
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts +24 -0
- package/dist/modes/rpc/rpc-bash-request-owners.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-bash-request-owners.js +45 -0
- package/dist/modes/rpc/rpc-bash-request-owners.js.map +1 -0
- package/dist/modes/rpc/rpc-client-api.d.ts +8 -5
- package/dist/modes/rpc/rpc-client-api.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-api.js +10 -11
- package/dist/modes/rpc/rpc-client-api.js.map +1 -1
- package/dist/modes/rpc/rpc-client-process.d.ts +1 -4
- package/dist/modes/rpc/rpc-client-process.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client-process.js +2 -14
- package/dist/modes/rpc/rpc-client-process.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts +8 -4
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js +21 -30
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.d.ts +7 -4
- package/dist/modes/rpc/rpc-command-handler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-command-handler.js +76 -93
- package/dist/modes/rpc/rpc-command-handler.js.map +1 -1
- package/dist/modes/rpc/rpc-input-scheduler.d.ts +3 -3
- package/dist/modes/rpc/rpc-input-scheduler.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-input-scheduler.js +7 -4
- package/dist/modes/rpc/rpc-input-scheduler.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +5 -5
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts +4 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.js +11 -0
- package/dist/modes/rpc/rpc-model-fallback-prompt.js.map +1 -0
- package/dist/modes/rpc/rpc-oauth-client.d.ts +22 -0
- package/dist/modes/rpc/rpc-oauth-client.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-oauth-client.js +74 -0
- package/dist/modes/rpc/rpc-oauth-client.js.map +1 -0
- package/dist/modes/rpc/rpc-oauth-interaction.d.ts +9 -0
- package/dist/modes/rpc/rpc-oauth-interaction.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-oauth-interaction.js +49 -0
- package/dist/modes/rpc/rpc-oauth-interaction.js.map +1 -0
- package/dist/modes/rpc/rpc-output-buffer.d.ts +2 -1
- package/dist/modes/rpc/rpc-output-buffer.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-output-buffer.js +4 -39
- package/dist/modes/rpc/rpc-output-buffer.js.map +1 -1
- package/dist/modes/rpc/rpc-provider-auth.d.ts +23 -0
- package/dist/modes/rpc/rpc-provider-auth.d.ts.map +1 -0
- package/dist/modes/rpc/rpc-provider-auth.js +145 -0
- package/dist/modes/rpc/rpc-provider-auth.js.map +1 -0
- package/dist/modes/rpc/rpc-responses.d.ts +0 -1
- package/dist/modes/rpc/rpc-responses.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-responses.js +0 -14
- package/dist/modes/rpc/rpc-responses.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +83 -27
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js +21 -8
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +3 -1
- package/dist/utils/version-check.js.map +1 -1
- package/docs/changelog.mdx +12 -1
- package/docs/compaction.md +101 -18
- package/docs/custom-provider.md +13 -4
- package/docs/docs.json +1 -0
- package/docs/environment-variables.md +37 -0
- package/docs/extensions.md +45 -9
- package/docs/index.md +1 -0
- package/docs/intercom.md +1 -1
- package/docs/json.md +4 -4
- package/docs/keybindings.md +4 -2
- package/docs/llama-cpp.md +3 -1
- package/docs/models.md +29 -43
- package/docs/providers.md +18 -24
- package/docs/quickstart.md +19 -16
- package/docs/rpc.md +38 -85
- package/docs/sdk.md +15 -22
- package/docs/session-format.md +2 -15
- package/docs/sessions.md +1 -1
- package/docs/settings.md +10 -15
- package/docs/skills.md +8 -0
- package/docs/subagents.md +17 -9
- package/docs/themes.md +10 -1
- package/docs/tui.md +10 -5
- package/docs/usage.md +21 -2
- package/docs/windows.md +1 -1
- package/docs/workflows.md +1096 -518
- package/examples/extensions/README.md +1 -1
- package/examples/extensions/handoff.ts +8 -1
- package/examples/extensions/message-renderer.ts +2 -2
- package/examples/extensions/summarize.ts +3 -0
- package/examples/extensions/working-indicator.ts +2 -2
- package/npm-shrinkwrap.json +40 -46
- package/package.json +9 -7
- package/dist/builtin/cursor/CHANGELOG.md +0 -281
- package/dist/builtin/cursor/LICENSE +0 -26
- package/dist/builtin/cursor/README.md +0 -24
- package/dist/builtin/cursor/index.ts +0 -9
- package/dist/builtin/cursor/package.json +0 -47
- package/dist/builtin/cursor/src/auth.ts +0 -352
- package/dist/builtin/cursor/src/catalog-cache.ts +0 -155
- package/dist/builtin/cursor/src/config.ts +0 -123
- package/dist/builtin/cursor/src/conversation-state.ts +0 -135
- package/dist/builtin/cursor/src/cursor-models-raw.json +0 -412
- package/dist/builtin/cursor/src/model-mapper.ts +0 -369
- package/dist/builtin/cursor/src/model-reference.ts +0 -282
- package/dist/builtin/cursor/src/models.ts +0 -54
- package/dist/builtin/cursor/src/native-loader.ts +0 -71
- package/dist/builtin/cursor/src/proto/README.md +0 -34
- package/dist/builtin/cursor/src/proto/agent_pb.ts +0 -15294
- package/dist/builtin/cursor/src/proto/protobuf-codec-base64.ts +0 -22
- package/dist/builtin/cursor/src/proto/protobuf-codec-json.ts +0 -44
- package/dist/builtin/cursor/src/proto/protobuf-codec-request.ts +0 -311
- package/dist/builtin/cursor/src/proto/protobuf-codec-wire.ts +0 -248
- package/dist/builtin/cursor/src/proto/protobuf-codec.ts +0 -200
- package/dist/builtin/cursor/src/provider.ts +0 -301
- package/dist/builtin/cursor/src/stream.ts +0 -494
- package/dist/builtin/cursor/src/transport-errors.ts +0 -74
- package/dist/builtin/cursor/src/transport-frame.ts +0 -56
- package/dist/builtin/cursor/src/transport-http2.ts +0 -122
- package/dist/builtin/cursor/src/transport-native-client.ts +0 -161
- package/dist/builtin/cursor/src/transport-run-stream.ts +0 -188
- package/dist/builtin/cursor/src/transport-timeouts.ts +0 -87
- package/dist/builtin/cursor/src/transport-types.ts +0 -143
- package/dist/builtin/cursor/src/transport.ts +0 -26
- package/dist/builtin/workflows/builtin/deep-research-codebase-runner.ts +0 -492
- package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +0 -383
- package/dist/builtin/workflows/builtin/deep-research-codebase.d.ts +0 -35
- package/dist/builtin/workflows/builtin/deep-research-codebase.ts +0 -47
- package/dist/builtin/workflows/skills/impeccable/reference/brand.md +0 -108
- package/dist/builtin/workflows/skills/impeccable/reference/codex.md +0 -105
- package/dist/builtin/workflows/skills/impeccable/reference/interaction-design.md +0 -189
- package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +0 -516
- package/dist/core/context-window.d.ts +0 -54
- package/dist/core/context-window.d.ts.map +0 -1
- package/dist/core/context-window.js +0 -110
- package/dist/core/context-window.js.map +0 -1
- package/dist/core/copilot-anthropic-sse-repair.d.ts +0 -23
- package/dist/core/copilot-anthropic-sse-repair.d.ts.map +0 -1
- package/dist/core/copilot-anthropic-sse-repair.js +0 -340
- package/dist/core/copilot-anthropic-sse-repair.js.map +0 -1
- package/dist/core/copilot-errors.d.ts +0 -9
- package/dist/core/copilot-errors.d.ts.map +0 -1
- package/dist/core/copilot-errors.js +0 -32
- package/dist/core/copilot-errors.js.map +0 -1
- package/dist/core/copilot-gemini-payload-sanitizer.d.ts +0 -72
- package/dist/core/copilot-gemini-payload-sanitizer.d.ts.map +0 -1
- package/dist/core/copilot-gemini-payload-sanitizer.js +0 -296
- package/dist/core/copilot-gemini-payload-sanitizer.js.map +0 -1
- package/dist/core/copilot-gemini-reasoning.d.ts +0 -126
- package/dist/core/copilot-gemini-reasoning.d.ts.map +0 -1
- package/dist/core/copilot-gemini-reasoning.js +0 -265
- package/dist/core/copilot-gemini-reasoning.js.map +0 -1
- package/dist/core/copilot-gemini-tool-arguments.d.ts +0 -42
- package/dist/core/copilot-gemini-tool-arguments.d.ts.map +0 -1
- package/dist/core/copilot-gemini-tool-arguments.js +0 -159
- package/dist/core/copilot-gemini-tool-arguments.js.map +0 -1
- package/dist/core/copilot-hosts.d.ts +0 -12
- package/dist/core/copilot-hosts.d.ts.map +0 -1
- package/dist/core/copilot-hosts.js +0 -33
- package/dist/core/copilot-hosts.js.map +0 -1
- package/dist/core/copilot-model-catalog.d.ts +0 -114
- package/dist/core/copilot-model-catalog.d.ts.map +0 -1
- package/dist/core/copilot-model-catalog.js +0 -392
- package/dist/core/copilot-model-catalog.js.map +0 -1
- package/dist/core/copilot-model-static-fallbacks.d.ts +0 -43
- package/dist/core/copilot-model-static-fallbacks.d.ts.map +0 -1
- package/dist/core/copilot-model-static-fallbacks.js +0 -50
- package/dist/core/copilot-model-static-fallbacks.js.map +0 -1
- package/dist/core/copilot-model-synthesis.d.ts +0 -10
- package/dist/core/copilot-model-synthesis.d.ts.map +0 -1
- package/dist/core/copilot-model-synthesis.js +0 -91
- package/dist/core/copilot-model-synthesis.js.map +0 -1
- package/dist/modes/interactive/components/context-window-selector.d.ts +0 -53
- package/dist/modes/interactive/components/context-window-selector.d.ts.map +0 -1
- package/dist/modes/interactive/components/context-window-selector.js +0 -136
- package/dist/modes/interactive/components/context-window-selector.js.map +0 -1
- package/dist/modes/rpc/bounded-writer.d.ts +0 -27
- package/dist/modes/rpc/bounded-writer.d.ts.map +0 -1
- package/dist/modes/rpc/bounded-writer.js.map +0 -1
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
expandWorkflowGraph,
|
|
12
12
|
type ExpandedWorkflowGraph,
|
|
13
13
|
type ExpandedWorkflowStage,
|
|
14
|
+
type ExpandedWorkflowStageTarget,
|
|
14
15
|
} from "../shared/expanded-workflow-graph.js";
|
|
15
16
|
import type { GraphTheme } from "./graph-theme.js";
|
|
16
17
|
import type { LayoutNode } from "./layout.js";
|
|
@@ -60,6 +61,7 @@ export abstract class GraphViewState {
|
|
|
60
61
|
protected onStageAttach?: (runId: string, stageId: string) => void;
|
|
61
62
|
protected onDetach?: () => void;
|
|
62
63
|
protected initialFocusedStageId?: string;
|
|
64
|
+
protected initialFocusedRunId?: string;
|
|
63
65
|
protected getViewportRows?: () => number | undefined;
|
|
64
66
|
protected requestRender?: () => void;
|
|
65
67
|
protected piKeybindings?: unknown;
|
|
@@ -74,7 +76,7 @@ export abstract class GraphViewState {
|
|
|
74
76
|
protected toastManager = createToastManager();
|
|
75
77
|
protected detailsExpanded = true;
|
|
76
78
|
protected cachedLayout: LayoutNode[] = [];
|
|
77
|
-
protected expandedGraph: ExpandedWorkflowGraph = { stages: [], targets: new Map() };
|
|
79
|
+
protected expandedGraph: ExpandedWorkflowGraph = { stages: [], renderStages: [], tools: [], nodes: [], targets: new Map() };
|
|
78
80
|
protected currentSnapshot: StoreSnapshot | null = null;
|
|
79
81
|
protected graphScrollOffset = 0;
|
|
80
82
|
protected graphScrollColOffset = 0;
|
|
@@ -99,6 +101,7 @@ export abstract class GraphViewState {
|
|
|
99
101
|
this.onStageAttach = opts.onStageAttach;
|
|
100
102
|
this.onDetach = opts.onDetach;
|
|
101
103
|
this.initialFocusedStageId = opts.initialFocusedStageId;
|
|
104
|
+
this.initialFocusedRunId = opts.initialFocusedRunId;
|
|
102
105
|
this.getViewportRows = opts.getViewportRows;
|
|
103
106
|
this.requestRender = opts.requestRender;
|
|
104
107
|
this.piKeybindings = opts.piKeybindings;
|
|
@@ -134,7 +137,7 @@ export abstract class GraphViewState {
|
|
|
134
137
|
const run = this._getCurrentRun();
|
|
135
138
|
if (!run) {
|
|
136
139
|
this.cachedLayout = [];
|
|
137
|
-
this.expandedGraph = { stages: [], targets: new Map() };
|
|
140
|
+
this.expandedGraph = { stages: [], renderStages: [], tools: [], nodes: [], targets: new Map() };
|
|
138
141
|
this.focusedIndex = 0;
|
|
139
142
|
this.graphScrollOffset = 0;
|
|
140
143
|
this.graphScrollColOffset = 0;
|
|
@@ -158,16 +161,19 @@ export abstract class GraphViewState {
|
|
|
158
161
|
// uses this when swapping back from chat mode so the focus lands on
|
|
159
162
|
// the same node the user just attached to.
|
|
160
163
|
if (this.initialFocusedStageId !== undefined) {
|
|
161
|
-
const idx = this.cachedLayout.findIndex(
|
|
162
|
-
(
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
const idx = this.cachedLayout.findIndex((node) => {
|
|
165
|
+
const target = expandedStageTarget(this.expandedGraph, node.stage.id);
|
|
166
|
+
if (this.initialFocusedRunId === undefined) {
|
|
167
|
+
return node.stage.id === this.initialFocusedStageId || target?.stageId === this.initialFocusedStageId;
|
|
168
|
+
}
|
|
169
|
+
return target !== undefined && target.stageId === this.initialFocusedStageId && target.runId === this.initialFocusedRunId;
|
|
170
|
+
});
|
|
166
171
|
if (idx >= 0 && idx !== this.focusedIndex) {
|
|
167
172
|
this.focusedIndex = idx;
|
|
168
173
|
focusNeedsReveal = true;
|
|
169
174
|
}
|
|
170
175
|
this.initialFocusedStageId = undefined;
|
|
176
|
+
this.initialFocusedRunId = undefined;
|
|
171
177
|
} else if (previousFocusedStageId !== undefined) {
|
|
172
178
|
const idx = this.cachedLayout.findIndex(
|
|
173
179
|
(n) => n.stage.id === previousFocusedStageId,
|
|
@@ -241,8 +247,8 @@ export abstract class GraphViewState {
|
|
|
241
247
|
protected _graphStages(run: RunSnapshot): ExpandedWorkflowStage[] {
|
|
242
248
|
this.expandedGraph = this.currentSnapshot
|
|
243
249
|
? expandWorkflowGraph(this.currentSnapshot, run.id)
|
|
244
|
-
: { stages: [], targets: new Map() };
|
|
245
|
-
const stages = [...this.expandedGraph.
|
|
250
|
+
: { stages: [], renderStages: [], tools: [], nodes: [], targets: new Map() };
|
|
251
|
+
const stages = [...this.expandedGraph.renderStages];
|
|
246
252
|
const hasStagePrompt = stages.some((stage) =>
|
|
247
253
|
stage.pendingPrompt !== undefined ||
|
|
248
254
|
(stage.status === "awaiting_input" && stage.promptFootprint?.kind === "custom")
|
|
@@ -275,6 +281,18 @@ export abstract class GraphViewState {
|
|
|
275
281
|
}
|
|
276
282
|
}
|
|
277
283
|
|
|
284
|
+
/** Stage-only control target shared by hints and activation. */
|
|
285
|
+
protected _stageChatTarget(
|
|
286
|
+
stage: StageSnapshot | undefined,
|
|
287
|
+
): ExpandedWorkflowStageTarget | undefined {
|
|
288
|
+
if (!stage || stage.nodeKind === "tool") return undefined;
|
|
289
|
+
return expandedStageTarget(this.expandedGraph, stage.id);
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
protected _focusedStageChatTarget(): ExpandedWorkflowStageTarget | undefined {
|
|
293
|
+
return this._stageChatTarget(this.cachedLayout[this.focusedIndex]?.stage);
|
|
294
|
+
}
|
|
295
|
+
|
|
278
296
|
protected _getCurrentRun(): RunSnapshot | null {
|
|
279
297
|
if (!this.currentSnapshot) return null;
|
|
280
298
|
// Pin to the first run we see so a completed run stays visible after
|
|
@@ -35,11 +35,12 @@ export interface GraphViewOpts {
|
|
|
35
35
|
*/
|
|
36
36
|
onDetach?: () => void;
|
|
37
37
|
/**
|
|
38
|
-
* When provided, GraphView restores focus to this stage on construction
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* When provided, GraphView restores focus to this stage on construction.
|
|
39
|
+
* `initialFocusedRunId` disambiguates identical local stage IDs in nested runs.
|
|
40
|
+
* The attach shell uses the pair when returning from stage chat.
|
|
41
41
|
*/
|
|
42
42
|
initialFocusedStageId?: string;
|
|
43
|
+
initialFocusedRunId?: string;
|
|
43
44
|
/**
|
|
44
45
|
* Optional accessor returning the current terminal row count. When
|
|
45
46
|
* present in overlay mode the renderer expands the frame to roughly
|
|
@@ -278,12 +278,13 @@ export function renderNodeCard(stage: StageSnapshot, opts: NodeCardOpts): string
|
|
|
278
278
|
// body row for the child workflow identity and the final row for a
|
|
279
279
|
// terse child-run summary. This keeps the graph dense while making
|
|
280
280
|
// the boundary explain what actually ran.
|
|
281
|
-
const bodyText =
|
|
282
|
-
stage.
|
|
281
|
+
const bodyText = stage.nodeKind === "tool"
|
|
282
|
+
? (stage.error ?? stage.result ?? "durable tool")
|
|
283
|
+
: stage.status === "blocked"
|
|
283
284
|
? blockedBadgeText(stage, opts.stages, innerWidth)
|
|
284
285
|
: workflowChildSummaryText(stage);
|
|
285
286
|
const bodyHex = durationColor(stage.status, theme);
|
|
286
|
-
const statusText = `${statusIcon(stage.status)} ${statusLabel(stage.status)}`;
|
|
287
|
+
const statusText = `${statusIcon(stage.status)} ${stage.toolStatus ?? statusLabel(stage.status)}`;
|
|
287
288
|
const statusLine =
|
|
288
289
|
`${bg}${bc}│${RESET}` +
|
|
289
290
|
centreColored(statusText, innerWidth, bodyHex, bg, {
|
|
@@ -228,7 +228,6 @@ export function buildGraphOverlayAdapter(
|
|
|
228
228
|
currentHandle?.hide();
|
|
229
229
|
updateTerminalAutowrap(false);
|
|
230
230
|
finishMounted?.();
|
|
231
|
-
observedUi?.setStatus?.(WORKFLOW_STATUS_KEY, undefined);
|
|
232
231
|
observedUi?.setStatus?.(MAIN_CHAT_INPUT_STATUS_KEY, undefined);
|
|
233
232
|
currentView?.dispose();
|
|
234
233
|
currentHandle = null;
|
|
@@ -351,7 +350,6 @@ export function buildGraphOverlayAdapter(
|
|
|
351
350
|
|
|
352
351
|
const custom = ui?.custom;
|
|
353
352
|
if (typeof custom !== "function") return;
|
|
354
|
-
const uiStatus = ui;
|
|
355
353
|
|
|
356
354
|
let settled = false;
|
|
357
355
|
const factory = (
|
|
@@ -367,7 +365,6 @@ export function buildGraphOverlayAdapter(
|
|
|
367
365
|
if (settled) return;
|
|
368
366
|
settled = true;
|
|
369
367
|
updateMouseScrollTracking(false);
|
|
370
|
-
observedUi?.setStatus?.(WORKFLOW_STATUS_KEY, undefined);
|
|
371
368
|
observedUi?.setStatus?.(MAIN_CHAT_INPUT_STATUS_KEY, undefined);
|
|
372
369
|
currentView?.dispose();
|
|
373
370
|
currentView = null;
|
|
@@ -390,7 +387,6 @@ export function buildGraphOverlayAdapter(
|
|
|
390
387
|
stageControlRegistry: registry,
|
|
391
388
|
resolvePostMortemHandle,
|
|
392
389
|
stageUiBroker,
|
|
393
|
-
uiStatus,
|
|
394
390
|
onClose: finish,
|
|
395
391
|
onHide: hideMounted,
|
|
396
392
|
initialAttachStageId: stageId,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import type { RunDetail } from "../runs/background/status.js";
|
|
21
|
-
import type { StageSnapshot } from "../shared/store-types.js";
|
|
21
|
+
import type { StageSnapshot, ToolNodeSnapshot, ToolNodeStatus } from "../shared/store-types.js";
|
|
22
22
|
import { elapsedRunMs, elapsedStageMs } from "../shared/timing.js";
|
|
23
23
|
import type { GraphTheme } from "./graph-theme.js";
|
|
24
24
|
import { renderRoundedBox } from "./chat-surface.js";
|
|
@@ -70,15 +70,18 @@ function renderPlain(detail: RunDetail, now: number, width: number): string {
|
|
|
70
70
|
}
|
|
71
71
|
out.push("");
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
if (detail.stages.length === 0) {
|
|
75
|
-
out.push("
|
|
76
|
-
|
|
77
|
-
for (const stage of detail.stages)
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
const tools = detail.tools ?? [];
|
|
74
|
+
if (detail.stages.length > 0 || tools.length === 0) {
|
|
75
|
+
out.push(" STAGES ");
|
|
76
|
+
if (detail.stages.length === 0) out.push(" (no stages recorded yet) ");
|
|
77
|
+
else for (const stage of detail.stages) out.push(...renderStageRowsPlain(stage, now, width - 4));
|
|
78
|
+
out.push("");
|
|
79
|
+
}
|
|
80
|
+
if (tools.length > 0) {
|
|
81
|
+
out.push(" TOOLS ");
|
|
82
|
+
for (const tool of tools) out.push(...renderToolRowsPlain(tool, now, width - 4));
|
|
83
|
+
out.push("");
|
|
80
84
|
}
|
|
81
|
-
out.push("");
|
|
82
85
|
|
|
83
86
|
const artifactRows = artifactRowsFor(detail);
|
|
84
87
|
if (artifactRows.length > 0) {
|
|
@@ -126,15 +129,18 @@ function renderThemed(detail: RunDetail, now: number, theme: GraphTheme, width:
|
|
|
126
129
|
}
|
|
127
130
|
out.push("");
|
|
128
131
|
|
|
129
|
-
|
|
130
|
-
if (detail.stages.length === 0) {
|
|
131
|
-
out.push(`
|
|
132
|
-
}
|
|
133
|
-
for (const stage of detail.stages)
|
|
134
|
-
|
|
135
|
-
|
|
132
|
+
const tools = detail.tools ?? [];
|
|
133
|
+
if (detail.stages.length > 0 || tools.length === 0) {
|
|
134
|
+
out.push(` ${muted}${BOLD}STAGES${RESET} `);
|
|
135
|
+
if (detail.stages.length === 0) out.push(` ${dim}(no stages recorded yet)${RESET} `);
|
|
136
|
+
else for (const stage of detail.stages) out.push(...renderStageRowsThemed(stage, now, theme, width - 4));
|
|
137
|
+
out.push("");
|
|
138
|
+
}
|
|
139
|
+
if (tools.length > 0) {
|
|
140
|
+
out.push(` ${muted}${BOLD}TOOLS${RESET} `);
|
|
141
|
+
for (const tool of tools) out.push(...renderToolRowsThemed(tool, now, theme, width - 4));
|
|
142
|
+
out.push("");
|
|
136
143
|
}
|
|
137
|
-
out.push("");
|
|
138
144
|
|
|
139
145
|
const artifactRows = artifactRowsFor(detail);
|
|
140
146
|
if (artifactRows.length > 0) {
|
|
@@ -270,6 +276,36 @@ function renderStageRowsThemed(
|
|
|
270
276
|
return rows;
|
|
271
277
|
}
|
|
272
278
|
|
|
279
|
+
function toolDisplayStatus(status: ToolNodeStatus): "pending" | "running" | "completed" | "failed" | "cancelled" {
|
|
280
|
+
return status === "cached" ? "completed" : status;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function toolDurationString(tool: ToolNodeSnapshot, now: number): string | undefined {
|
|
284
|
+
if (tool.startedAt === undefined) return undefined;
|
|
285
|
+
return fmtDuration(Math.max(0, (tool.endedAt ?? now) - tool.startedAt));
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
function renderToolRowsPlain(tool: ToolNodeSnapshot, now: number, width: number): string[] {
|
|
289
|
+
const icon = statusIcon(toolDisplayStatus(tool.status));
|
|
290
|
+
const duration = toolDurationString(tool, now);
|
|
291
|
+
const line = ` ${pad(`${icon} ${tool.name}`, STAGE_NAME_COL + 2)}${pad(tool.status, 10)}${duration ?? ""} `;
|
|
292
|
+
const rows = [truncateToWidth(line, width, "…")];
|
|
293
|
+
if (tool.error) rows.push(` error ${truncateToWidth(tool.error.split("\n")[0] ?? "", Math.max(1, width - 10), "…")} `);
|
|
294
|
+
return rows;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
function renderToolRowsThemed(tool: ToolNodeSnapshot, now: number, theme: GraphTheme, width: number): string[] {
|
|
298
|
+
const displayStatus = toolDisplayStatus(tool.status);
|
|
299
|
+
const stateFg = hexToAnsi(statusColor(displayStatus, theme));
|
|
300
|
+
const text = hexToAnsi(theme.text);
|
|
301
|
+
const dim = hexToAnsi(theme.dim);
|
|
302
|
+
const duration = toolDurationString(tool, now);
|
|
303
|
+
const line = ` ${stateFg}${statusIcon(displayStatus)}${RESET} ${text}${pad(tool.name, STAGE_NAME_COL)}${RESET} ${stateFg}${pad(tool.status, 10)}${RESET}${duration ? `${dim}${duration}${RESET}` : ""} `;
|
|
304
|
+
const rows = [truncateToWidth(line, width, "…")];
|
|
305
|
+
if (tool.error) rows.push(` ${hexToAnsi(theme.textMuted)}error${RESET} ${hexToAnsi(theme.error)}${truncateToWidth(tool.error.split("\n")[0] ?? "", Math.max(1, width - 12), "…")}${RESET} `);
|
|
306
|
+
return rows;
|
|
307
|
+
}
|
|
308
|
+
|
|
273
309
|
function stageDurationString(stage: StageSnapshot, now: number): string | undefined {
|
|
274
310
|
const elapsed = elapsedStageMs(stage, now);
|
|
275
311
|
return elapsed === undefined ? undefined : fmtDuration(elapsed);
|
|
@@ -29,9 +29,13 @@ export function renderSessionList(
|
|
|
29
29
|
const now = opts.now ?? Date.now();
|
|
30
30
|
const rows = selectRunsForPicker(runs, "", opts.includeAll, now);
|
|
31
31
|
const snapshot: StoreSnapshot = { runs, notices: [], version: 0 };
|
|
32
|
-
const filtered = rows.map((row) =>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const filtered = rows.map((row) => {
|
|
33
|
+
const graph = expandWorkflowGraph(snapshot, row.run.id);
|
|
34
|
+
return {
|
|
35
|
+
...row.run,
|
|
36
|
+
stages: graph.stages.map((stage) => structuredClone(stage)),
|
|
37
|
+
toolNodes: graph.tools.map((tool) => structuredClone(tool)),
|
|
38
|
+
};
|
|
39
|
+
});
|
|
36
40
|
return renderStatusList(filtered, { theme: opts.theme, now });
|
|
37
41
|
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Maps workflow-owned stage delivery lifecycle facts onto the attached chat's
|
|
3
|
+
* existing Working lifecycle.
|
|
4
|
+
*
|
|
5
|
+
* A workflow definition that auto-sends to its own retained stage starts a real
|
|
6
|
+
* backend turn well before the public `agent_start` reaches this view. Without
|
|
7
|
+
* this bridge the pane sits with `sdkBusy=false` and no requested render while
|
|
8
|
+
* the model is already running, so it looks idle.
|
|
9
|
+
*
|
|
10
|
+
* Starting the host's ordinary lifecycle here — rather than synthesising an SDK
|
|
11
|
+
* event — keeps `agent_start`, `turn_start`, `turn_end`, `agent_end`, retry,
|
|
12
|
+
* fallback, compaction, and terminal cleanup in charge of everything after
|
|
13
|
+
* startup, and lets a settled delivery that never produced a turn clean up.
|
|
14
|
+
*
|
|
15
|
+
* cross-ref: src/runs/foreground/stage-delivery-activity.ts
|
|
16
|
+
*/
|
|
17
|
+
import type { StageDeliveryActivityEvent } from "../runs/foreground/stage-delivery-activity.js";
|
|
18
|
+
import { isTerminalStageChatState } from "./stage-chat-view-status.js";
|
|
19
|
+
import type { StageChatViewContext } from "./stage-chat-view-types.js";
|
|
20
|
+
|
|
21
|
+
export function subscribeStageChatDeliveryActivity(
|
|
22
|
+
ctx: StageChatViewContext,
|
|
23
|
+
): (() => void) | null {
|
|
24
|
+
const handle = ctx.handle;
|
|
25
|
+
if (!handle?.subscribeDeliveryActivity) return null;
|
|
26
|
+
return handle.subscribeDeliveryActivity((event) => {
|
|
27
|
+
applyStageChatDeliveryActivityEvent(ctx, event);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function applyStageChatDeliveryActivityEvent(
|
|
32
|
+
ctx: StageChatViewContext,
|
|
33
|
+
event: StageDeliveryActivityEvent,
|
|
34
|
+
): void {
|
|
35
|
+
if (event.type === "delivery_start") {
|
|
36
|
+
// Replaces any lifecycle this same delivery id already owned; the map keeps
|
|
37
|
+
// one live token per delivery so settlement stays correlated. A start that
|
|
38
|
+
// arrives after terminal cleanup is fresh authorization for a retained
|
|
39
|
+
// post-mortem turn, so it also lifts the stale-start fence.
|
|
40
|
+
ctx.terminalLifecycleFenced = false;
|
|
41
|
+
ctx.deliveryLifecycles.set(event.deliveryId, ctx.chatHost.beginExternalPromptLifecycle());
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (!ctx.deliveryLifecycles.has(event.deliveryId)) return;
|
|
45
|
+
const generation = ctx.deliveryLifecycles.get(event.deliveryId);
|
|
46
|
+
ctx.deliveryLifecycles.delete(event.deliveryId);
|
|
47
|
+
// A pre-turn compaction reasserts one lifecycle and hands the same token to
|
|
48
|
+
// every lease still open, so several deliveries can alias one generation.
|
|
49
|
+
// Only the last owner may settle it; otherwise the first lease to finish
|
|
50
|
+
// would stop Working while another accepted delivery is still running.
|
|
51
|
+
// Distinct generations — including stale ones — keep reaching the host's own
|
|
52
|
+
// generation fence exactly as before.
|
|
53
|
+
if (!ownsStageChatLifecycleGeneration(ctx, generation)) {
|
|
54
|
+
ctx.chatHost.settleExternalPromptLifecycle(generation);
|
|
55
|
+
}
|
|
56
|
+
// The map is the reference count: overlapping leases keep authorization open,
|
|
57
|
+
// and the last one to settle on a finished stage restores stale-start
|
|
58
|
+
// suppression. Otherwise the fence stayed open forever after the first
|
|
59
|
+
// post-terminal delivery and a late start could repaint a settled chat.
|
|
60
|
+
if (!hasActiveStageChatDelivery(ctx) && isStageChatContextTerminal(ctx)) {
|
|
61
|
+
ctx.terminalLifecycleFenced = true;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** True while another still-active delivery references this exact lifecycle token. */
|
|
66
|
+
function ownsStageChatLifecycleGeneration(
|
|
67
|
+
ctx: StageChatViewContext,
|
|
68
|
+
generation: number | undefined,
|
|
69
|
+
): boolean {
|
|
70
|
+
for (const active of ctx.deliveryLifecycles.values()) {
|
|
71
|
+
if (active === generation) return true;
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** True while at least one admitted delivery still owns this chat's Working period. */
|
|
77
|
+
export function hasActiveStageChatDelivery(ctx: StageChatViewContext): boolean {
|
|
78
|
+
return ctx.deliveryLifecycles.size > 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/** True when the last observed run or stage status is terminal. */
|
|
82
|
+
export function isStageChatContextTerminal(ctx: StageChatViewContext): boolean {
|
|
83
|
+
return (
|
|
84
|
+
isTerminalStageChatState(ctx.lastObservedRunStatus) ||
|
|
85
|
+
isTerminalStageChatState(ctx.lastObservedStageStatus)
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Restore delivery-owned Working after a temporary overlay ended.
|
|
91
|
+
*
|
|
92
|
+
* A pre-turn `compaction_end` clears busy state and the Working lifecycle even
|
|
93
|
+
* though the accepted delivery has not started its turn yet, so the pane would
|
|
94
|
+
* sit idle until the public `agent_start`. Reassertion preserves factual status
|
|
95
|
+
* text, so a compaction error still outranks ordinary Working.
|
|
96
|
+
*/
|
|
97
|
+
export function reconcileStageChatDeliveryLifecycle(ctx: StageChatViewContext): void {
|
|
98
|
+
if (!hasActiveStageChatDelivery(ctx)) return;
|
|
99
|
+
if (ctx.chatHost.isStreaming() && ctx.chatHost.hasAnimationTick()) return;
|
|
100
|
+
const generation = ctx.chatHost.reassertExternalPromptLifecycle();
|
|
101
|
+
for (const deliveryId of [...ctx.deliveryLifecycles.keys()]) {
|
|
102
|
+
ctx.deliveryLifecycles.set(deliveryId, generation);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Drop every delivery lease admitted before a workflow terminal transition and
|
|
108
|
+
* arm the stale-start fence.
|
|
109
|
+
*
|
|
110
|
+
* Those turns can no longer authorize activity on this chat, and keeping them
|
|
111
|
+
* would let a queued late `agent_start` restart Working on a finished stage. A
|
|
112
|
+
* settlement for a dropped id is then an ordinary unknown settlement.
|
|
113
|
+
*
|
|
114
|
+
* The fence is armed only by an observed transition. A chat that mounts onto an
|
|
115
|
+
* already-terminal stage never cleaned up in-flight work, so a later
|
|
116
|
+
* `agent_start` there is genuine retained-session work and stays visible.
|
|
117
|
+
*/
|
|
118
|
+
export function invalidateStageChatDeliveryLifecycles(ctx: StageChatViewContext): void {
|
|
119
|
+
ctx.deliveryLifecycles.clear();
|
|
120
|
+
ctx.terminalLifecycleFenced = true;
|
|
121
|
+
}
|
|
@@ -1,18 +1,60 @@
|
|
|
1
1
|
import type { AgentSessionEvent } from "@bastani/atomic";
|
|
2
2
|
import type { StageChatViewContext } from "./stage-chat-view-types.js";
|
|
3
3
|
import { isTerminalStageChatState } from "./stage-chat-view-status.js";
|
|
4
|
+
import {
|
|
5
|
+
hasActiveStageChatDelivery,
|
|
6
|
+
reconcileStageChatDeliveryLifecycle,
|
|
7
|
+
} from "./stage-chat-view-delivery-activity.js";
|
|
4
8
|
|
|
5
9
|
export function applyStageChatLiveHandleEvent(
|
|
6
10
|
ctx: StageChatViewContext,
|
|
7
11
|
event: AgentSessionEvent,
|
|
8
12
|
): void {
|
|
13
|
+
const staleTerminalStart = isStaleTerminalLifecycleStart(ctx, event);
|
|
9
14
|
ctx.chatHost.applyAgentEvent(event);
|
|
15
|
+
if (staleTerminalStart) {
|
|
16
|
+
retainTerminalCleanup(ctx);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
if (isCompactionEndEvent(event)) reconcileStageChatDeliveryLifecycle(ctx);
|
|
10
20
|
if (!shouldCleanupAfterLiveEvent(ctx, event)) return;
|
|
21
|
+
retainTerminalCleanup(ctx);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function retainTerminalCleanup(ctx: StageChatViewContext): void {
|
|
11
25
|
const hadAnimationTick = ctx.chatHost.hasAnimationTick();
|
|
12
26
|
ctx.chatHost.clearBusyForTerminalWorkflowStage();
|
|
13
27
|
if (hadAnimationTick !== ctx.chatHost.hasAnimationTick()) ctx.requestRender?.();
|
|
14
28
|
}
|
|
15
29
|
|
|
30
|
+
/**
|
|
31
|
+
* A turn start queued before the stage finished must not repaint Working on a
|
|
32
|
+
* settled stage.
|
|
33
|
+
*
|
|
34
|
+
* The fence is armed only when this chat actually observed a terminal
|
|
35
|
+
* transition and cleaned up in-flight work. Work admitted after that carries
|
|
36
|
+
* its own authorization and is left alone: a live workflow delivery lease
|
|
37
|
+
* (including one replayed at attach time), or a prompt this chat submitted
|
|
38
|
+
* itself, which is already busy by the time its `agent_start` arrives.
|
|
39
|
+
* `turn_start` is guarded too, otherwise it would restart the lifecycle a
|
|
40
|
+
* suppressed `agent_start` just stopped.
|
|
41
|
+
*/
|
|
42
|
+
function isStaleTerminalLifecycleStart(
|
|
43
|
+
ctx: StageChatViewContext,
|
|
44
|
+
event: AgentSessionEvent,
|
|
45
|
+
): boolean {
|
|
46
|
+
if (!ctx.terminalLifecycleFenced) return false;
|
|
47
|
+
const type = String((event as { type?: unknown }).type ?? "");
|
|
48
|
+
if (type !== "agent_start" && type !== "turn_start") return false;
|
|
49
|
+
if (hasActiveStageChatDelivery(ctx)) return false;
|
|
50
|
+
if (ctx.chatHost.isStreaming()) return false;
|
|
51
|
+
return isCurrentRunOrStageTerminal(ctx);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function isCompactionEndEvent(event: AgentSessionEvent): boolean {
|
|
55
|
+
return String((event as { type?: unknown }).type ?? "") === "compaction_end";
|
|
56
|
+
}
|
|
57
|
+
|
|
16
58
|
function shouldCleanupAfterLiveEvent(
|
|
17
59
|
ctx: StageChatViewContext,
|
|
18
60
|
event: AgentSessionEvent,
|
|
@@ -138,6 +138,18 @@ export function blendBg(baseHex: string, tintHex: string, alpha: number): string
|
|
|
138
138
|
return lerpColor(baseHex, tintHex, Math.max(0, Math.min(1, alpha)));
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
export function workingIndicatorPalette(theme: GraphTheme) {
|
|
142
|
+
const { selection: dark, accent, text: peak } = theme;
|
|
143
|
+
return {
|
|
144
|
+
dark,
|
|
145
|
+
lift: lerpColor(dark, accent, 0.25),
|
|
146
|
+
muted: lerpColor(dark, accent, 0.6),
|
|
147
|
+
accent,
|
|
148
|
+
bright: lerpColor(accent, peak, 0.55),
|
|
149
|
+
peak,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
141
153
|
export function renderHintsForPrompt(
|
|
142
154
|
kind: PendingPrompt["kind"],
|
|
143
155
|
theme: GraphTheme,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type { ChatMessageRenderOptions } from "@bastani/atomic";
|
|
1
|
+
import type { ChatMessageRenderOptions, ChatSessionHostStyle } from "@bastani/atomic";
|
|
2
|
+
import { editorRuleColor } from "./stage-chat-view-footer-status.js";
|
|
3
|
+
import { blankLine, cursorBlock, paint, workingIndicatorPalette } from "./stage-chat-view-render-helpers.js";
|
|
2
4
|
import type { StageChatViewContext, StageChatViewOpts } from "./stage-chat-view-types.js";
|
|
5
|
+
import { hexToAnsi, RESET } from "./color-utils.js";
|
|
3
6
|
|
|
4
7
|
type StageChatRenderSettings = Partial<Omit<ChatMessageRenderOptions, "ui" | "cwd">>;
|
|
5
8
|
|
|
@@ -25,3 +28,20 @@ export function stageChatRenderSettings(
|
|
|
25
28
|
rendererHost.extensionRunner?.getMessageRenderer?.(customType) ?? inherited?.getCustomMessageRenderer?.(customType),
|
|
26
29
|
};
|
|
27
30
|
}
|
|
31
|
+
|
|
32
|
+
export function chatHostStyle(ctx: StageChatViewContext): ChatSessionHostStyle {
|
|
33
|
+
return {
|
|
34
|
+
dim: (text) => paint(text, ctx.theme.dim),
|
|
35
|
+
text: (text) => paint(text, ctx.theme.text),
|
|
36
|
+
textMuted: (text) => paint(text, ctx.theme.textMuted),
|
|
37
|
+
accent: (text) => paint(text, ctx.theme.accent),
|
|
38
|
+
accentBold: (text) => paint(text, ctx.theme.accent, { bold: true }),
|
|
39
|
+
workingIndicatorPalette: ctx.piTheme === undefined ? () => workingIndicatorPalette(ctx.theme) : undefined,
|
|
40
|
+
workingIndicatorUseGlobalTheme: ctx.piTheme !== undefined,
|
|
41
|
+
rule: (hex, text) => hexToAnsi(hex) + text + RESET,
|
|
42
|
+
cursor: () => cursorBlock(),
|
|
43
|
+
blank: (width) => blankLine(width),
|
|
44
|
+
editorRuleColor: (disabled, agentSession, state) =>
|
|
45
|
+
editorRuleColor(ctx, disabled, agentSession, state),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { ChatSessionHost
|
|
1
|
+
import { ChatSessionHost } from "@bastani/atomic";
|
|
2
2
|
import { Editor, type EditorComponent } from "@earendil-works/pi-tui";
|
|
3
3
|
import type { PendingPrompt, RunSnapshot, StageSnapshot } from "../shared/store-types.js";
|
|
4
4
|
import { stageUiBroker } from "../shared/stage-ui-broker.js";
|
|
5
5
|
import { resolveStageChatViewportRows } from "./stage-chat-layout.js";
|
|
6
6
|
import { createPromptCardState } from "./prompt-card.js";
|
|
7
7
|
import { hideMountedCustomUi, releaseMountedCustomUi, showCustomUi } from "./stage-chat-view-custom-ui.js";
|
|
8
|
-
import {
|
|
9
|
-
import { blankLine, cursorBlock, editorThemeFromGraphTheme, paint, setEditorBorderColor, setEditorPlaceholder } from "./stage-chat-view-render-helpers.js";
|
|
8
|
+
import { editorThemeFromGraphTheme, setEditorBorderColor, setEditorPlaceholder } from "./stage-chat-view-render-helpers.js";
|
|
10
9
|
import {
|
|
11
10
|
HEADER_ROWS,
|
|
12
11
|
SEP_ROWS,
|
|
@@ -19,8 +18,12 @@ import {
|
|
|
19
18
|
} from "./stage-chat-view-types.js";
|
|
20
19
|
import { noticeRow, noticeSummary } from "./stage-chat-view-transcript.js";
|
|
21
20
|
import { applyStageChatLiveHandleEvent } from "./stage-chat-view-live-events.js";
|
|
21
|
+
import {
|
|
22
|
+
invalidateStageChatDeliveryLifecycles,
|
|
23
|
+
subscribeStageChatDeliveryActivity,
|
|
24
|
+
} from "./stage-chat-view-delivery-activity.js";
|
|
22
25
|
import { replayPendingToolExecutions } from "./stage-chat-view-pending-tools.js";
|
|
23
|
-
import { stageChatRenderSettings } from "./stage-chat-view-render-settings.js";
|
|
26
|
+
import { chatHostStyle, stageChatRenderSettings } from "./stage-chat-view-render-settings.js";
|
|
24
27
|
import { hexToAnsi, RESET } from "./color-utils.js";
|
|
25
28
|
import {
|
|
26
29
|
isTerminalOrNonStreamingStageChatStatus,
|
|
@@ -67,8 +70,11 @@ export function initializeStageChatView(
|
|
|
67
70
|
ctx.lastObservedStageStatus = undefined;
|
|
68
71
|
ctx.lastObservedRunStatus = undefined;
|
|
69
72
|
ctx.seenNoticeIds = new Set<string>();
|
|
73
|
+
ctx.deliveryLifecycles = new Map<number, number | undefined>();
|
|
74
|
+
ctx.terminalLifecycleFenced = false;
|
|
70
75
|
ctx._unsubscribeStore = null;
|
|
71
76
|
ctx._unsubscribeHandle = null;
|
|
77
|
+
ctx._unsubscribeDeliveryActivity = null;
|
|
72
78
|
ctx._unsubscribeFooterData = null;
|
|
73
79
|
ctx._unregisterStageUiHost = null;
|
|
74
80
|
installFocusHold(ctx);
|
|
@@ -99,6 +105,10 @@ export function initializeStageChatView(
|
|
|
99
105
|
ctx._unsubscribeFooterData = ctx.footerData?.onBranchChange(() => ctx.requestRender?.()) ?? null;
|
|
100
106
|
|
|
101
107
|
if (ctx.handle) {
|
|
108
|
+
// Delivery activity first: its replay must be in place before the SDK
|
|
109
|
+
// stream, so a synchronously replayed `agent_start` on a retained terminal
|
|
110
|
+
// stage can see that a live delivery authorizes it.
|
|
111
|
+
ctx._unsubscribeDeliveryActivity = subscribeStageChatDeliveryActivity(ctx);
|
|
102
112
|
ctx._unsubscribeHandle = ctx.handle.subscribe((event) => applyStageChatLiveHandleEvent(ctx, event));
|
|
103
113
|
}
|
|
104
114
|
ctx.chatHost.syncAnimationTick();
|
|
@@ -189,21 +199,6 @@ function createChatHost(
|
|
|
189
199
|
});
|
|
190
200
|
}
|
|
191
201
|
|
|
192
|
-
function chatHostStyle(ctx: StageChatViewContext): ChatSessionHostStyle {
|
|
193
|
-
return {
|
|
194
|
-
dim: (text) => paint(text, ctx.theme.dim),
|
|
195
|
-
text: (text) => paint(text, ctx.theme.text),
|
|
196
|
-
textMuted: (text) => paint(text, ctx.theme.textMuted),
|
|
197
|
-
accent: (text) => paint(text, ctx.theme.accent),
|
|
198
|
-
accentBold: (text) => paint(text, ctx.theme.accent, { bold: true }),
|
|
199
|
-
rule: (hex, text) => hexToAnsi(hex) + text + RESET,
|
|
200
|
-
cursor: () => cursorBlock(),
|
|
201
|
-
blank: (width) => blankLine(width),
|
|
202
|
-
editorRuleColor: (disabled, agentSession, state) =>
|
|
203
|
-
editorRuleColor(ctx, disabled, agentSession, state),
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
202
|
function handleStoreUpdate(ctx: StageChatViewContext): void {
|
|
208
203
|
const run = currentRun(ctx);
|
|
209
204
|
const stage = run?.stages.find((s) => s.id === ctx.stageId);
|
|
@@ -225,6 +220,8 @@ function handleStoreUpdate(ctx: StageChatViewContext): void {
|
|
|
225
220
|
}
|
|
226
221
|
if (isTerminalStageChatTransition(ctx.lastObservedStageStatus, currentStageStatus) || isTerminalStageChatTransition(ctx.lastObservedRunStatus, currentRunStatus)) {
|
|
227
222
|
ctx.chatHost.clearBusyForTerminalWorkflowStage();
|
|
223
|
+
// Leases admitted before this transition can no longer authorize activity.
|
|
224
|
+
invalidateStageChatDeliveryLifecycles(ctx);
|
|
228
225
|
changed = true;
|
|
229
226
|
}
|
|
230
227
|
ctx.lastObservedRunStatus = currentRunStatus;
|
|
@@ -484,6 +481,9 @@ export function disposeStageChatView(ctx: StageChatViewContext): void {
|
|
|
484
481
|
ctx._unsubscribeStore = null;
|
|
485
482
|
ctx._unsubscribeHandle?.();
|
|
486
483
|
ctx._unsubscribeHandle = null;
|
|
484
|
+
ctx._unsubscribeDeliveryActivity?.();
|
|
485
|
+
ctx._unsubscribeDeliveryActivity = null;
|
|
486
|
+
ctx.deliveryLifecycles.clear();
|
|
487
487
|
ctx._unsubscribeFooterData?.();
|
|
488
488
|
ctx._unsubscribeFooterData = null;
|
|
489
489
|
releaseMountedCustomUi(ctx);
|
|
@@ -162,8 +162,12 @@ export interface StageChatViewContext {
|
|
|
162
162
|
lastObservedStageStatus: StageStatus | undefined;
|
|
163
163
|
lastObservedRunStatus: RunStatus | undefined;
|
|
164
164
|
seenNoticeIds: Set<string>;
|
|
165
|
+
deliveryLifecycles: Map<number, number | undefined>;
|
|
166
|
+
/** True once this chat observed a terminal transition and cleaned up in-flight work. */
|
|
167
|
+
terminalLifecycleFenced: boolean;
|
|
165
168
|
_unsubscribeStore: (() => void) | null;
|
|
166
169
|
_unsubscribeHandle: (() => void) | null;
|
|
170
|
+
_unsubscribeDeliveryActivity: (() => void) | null;
|
|
167
171
|
_unsubscribeFooterData: (() => void) | null;
|
|
168
172
|
_unregisterStageUiHost: (() => void) | null;
|
|
169
173
|
}
|
|
@@ -126,7 +126,7 @@ export class StageChatView implements Component, Focusable {
|
|
|
126
126
|
const readOnlyArchive = isReadOnlyArchive(ctx, stage);
|
|
127
127
|
|
|
128
128
|
const customUiLines = customUiActive ? renderCustomUi(ctx, w) : [];
|
|
129
|
-
const chatChromeHidden = customUiActive || promptActive || readOnlyArchive;
|
|
129
|
+
const chatChromeHidden = customUiActive || promptActive || readOnlyArchive || blocked;
|
|
130
130
|
const pendingLines = chatChromeHidden ? [] : this.chatHost.renderPendingMessages(w);
|
|
131
131
|
const workingLines = chatChromeHidden ? [] : this.chatHost.renderWorkingStatus(w);
|
|
132
132
|
const usageLines = chatChromeHidden ? [] : this.chatHost.renderUsage(w);
|
|
@@ -149,7 +149,9 @@ export class StageChatView implements Component, Focusable {
|
|
|
149
149
|
footerRows: footerLines.length,
|
|
150
150
|
});
|
|
151
151
|
const visiblePendingLines = takeRows(pendingLines, plan.pendingRows);
|
|
152
|
-
const visibleWorkingLines =
|
|
152
|
+
const visibleWorkingLines = workingLines.slice(
|
|
153
|
+
Math.max(0, workingLines.length - plan.workingRows),
|
|
154
|
+
);
|
|
153
155
|
const visibleUsageLines = takeRows(usageLines, plan.usageRows);
|
|
154
156
|
const editorSlotLines = customUiActive ? customUiLines : editorLines;
|
|
155
157
|
const visibleEditorLines = takeRows(editorSlotLines, plan.editorRows);
|