From dde600209e930b287443a88ef40ab2488e076c4e Mon Sep 17 00:00:00 2001 From: Braedon Saunders Date: Tue, 24 Feb 2026 23:07:52 -0500 Subject: [PATCH 1/2] Hydrate orchestrator run counts --- .../src/components/orchestrate/phase-bar.tsx | 11 +- packages/app/src/components/terminal.tsx | 60 +- packages/app/src/context/orchestrate.tsx | 62 +- packages/app/src/pages/deploy.tsx | 411 +++++-------- packages/app/src/pages/orchestrate.tsx | 7 +- packages/desktop/src-tauri/src/cli.rs | 26 +- packages/oneshot/src/cli/cmd/serve.ts | 41 +- packages/oneshot/src/deploy/session.ts | 193 +++++- .../runtime/dependency-bootstrap.ts | 566 ++++++++++++++++++ .../orchestrator/runtime/langgraph-engine.ts | 62 ++ .../src/orchestrator/runtime/local-deploy.ts | 166 ++++- .../orchestrator/runtime/mission-control.ts | 14 +- .../src/orchestrator/runtime/verification.ts | 76 ++- .../orchestrator/runtime/worktree-ingest.ts | 21 +- packages/oneshot/src/pty/index.ts | 88 ++- 15 files changed, 1443 insertions(+), 361 deletions(-) create mode 100644 packages/oneshot/src/orchestrator/runtime/dependency-bootstrap.ts diff --git a/packages/app/src/components/orchestrate/phase-bar.tsx b/packages/app/src/components/orchestrate/phase-bar.tsx index 703970f..2a48730 100644 --- a/packages/app/src/components/orchestrate/phase-bar.tsx +++ b/packages/app/src/components/orchestrate/phase-bar.tsx @@ -94,6 +94,13 @@ export const PhaseBar: Component = (props) => { if (props.runStatus === "failed" || props.runStatus === "killed") return true return !props.runStatus && props.phase === "failed" } + const showResume = () => !!props.onResume && !!props.runId && canResume() + const showPause = () => + !!props.onPause + && !!props.runId + && isActive() + && !isPaused() + && !showResume() const pendingQuestions = () => props.pendingQuestionCount ?? 0 const isActionPending = () => !!props.isPausing || !!props.isResuming || !!props.isDeleting || !!props.isDeploying @@ -208,7 +215,7 @@ export const PhaseBar: Component = (props) => {
- + - -
- {(detected) => ( @@ -1140,36 +1109,46 @@ export default function DeployPage() { > {guide().status} - Source: {guide().source} -
- - - {(summary) =>
{summary()}
} -
- - 0}> -
    - {(step) =>
  1. {step}
  2. }
    -
-
- -
- Manual review is still required. If a button or flow fails, post exact steps and expected behavior - in chat so Deploy can rerun and patch. -
- -
+ Source: {guide().source}
+ + + + {(summary) =>
{summary()}
} +
+ + 0}> +
    + {(step) =>
  1. {step}
  2. }
    +
+
+ +
+ Manual review is still required. If a button or flow fails, post exact steps and expected behavior + in chat so Deploy can rerun and patch. +
+ +
+ +
+
)} @@ -1188,7 +1167,12 @@ export default function DeployPage() {
-
+
{ + chatScrollRef = el + }} + class="relative min-h-0 h-full min-w-0 w-full overflow-y-auto session-scroller" + >
{session() ? "No messages yet. Ask the deploy agent to validate this repo." - : "No deploy session selected. Click New Session to start manually."} + : "Deploy thread is initializing. It should appear automatically."}
} > @@ -1364,7 +1348,9 @@ export default function DeployPage() { class={`h-full min-h-0 shrink-0 overflow-hidden transition-[width,transform,opacity] duration-400 ease-out ${ toolPaneOpen() ? "translate-x-0 opacity-100" : "pointer-events-none translate-x-full opacity-0" }`} - style={{ width: toolPaneOpen() ? TOOL_PANE_WIDTH : "0px" }} + style={{ + width: toolPaneOpen() ? TOOL_PANE_WIDTH : "0px", + }} >
Tool Flight Deck
- Expanded view for active tools, web surface, and large command output. + Active tool details and live terminal output.
Configured tools: {tools().length}
@@ -1423,94 +1409,29 @@ export default function DeployPage() {
-
- - No active tool yet. Ask the deploy agent in chat to run validation. -
- } - > - {(invocation) => ( -
{ - if (activeInvocationId() !== invocation().id) { - setActiveInvocationId(invocation().id) - } - }} - > - window.open(url, "_blank", "noopener,noreferrer")} - /> -
- )} - - -
-
-
Web Surface
-
- - -
+ + No active tool yet. Ask the deploy agent in chat to run validation.
-
- No preview URL yet.
} - > - {(src) =>