Files
boocode/apps/coder/src/conductor/flows/_util.ts
indifferentketchup 1937af8df9 feat: in-app Orchestrator (Phase 2) — multi-agent conductor
Brings the deterministic Han-flow conductor into BooCode: launch any read-only
flow from BooChat or BooCoder, watch each agent stream live in a Paseo-style
run pane, get an evidence-disciplined report — on local Qwen, persisted and
resumable. Read-only enforced hard via qwen --approval-mode plan (orchestrator
tasks fail closed if qwen is unavailable; never fall to write-capable native).

Backend (apps/coder): re-homed conductor defs, flow_runs/flow_steps schema,
flow-runner + dispatcher onTaskTerminal hook, restart-resume, runs routes
(launch/list/get/cancel), user-channel WS. Contracts: two flow_run_* frames.
Web: orchestrator pane kind + OrchestratorPane, Workflow button + slash flows
(BooChat/BooCoder parity), FlowLauncherDialog, "New Orchestrator" in the + and
split menus, runs history + export. Plan: openspec/changes/orchestrator.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:22:48 +00:00

9 lines
402 B
TypeScript

import type { StepContext } from '../types.js';
/** The flow's subject (question / focus / target / feature / plan path). */
export const q = (ctx: StepContext): string => String(ctx.input.question);
/** A trailing " Repo: <path>." clause when a repo was supplied, else "". */
export const repoLine = (ctx: StepContext): string =>
ctx.input.repoPath ? ` Repo: ${String(ctx.input.repoPath)}.` : '';