feat(ui): ralpi-style chat progress and pipeline-overview footer
phases.ts becomes a live chat widget (spinner + tool-call tree) and the check-runner posts per-agent tool-call summaries and an expandable completion tree through a custom message renderer; footer.ts adds the static pipeline-overview status strip for single checks and /pygienium-all.
This commit is contained in:
@@ -9,10 +9,7 @@
|
||||
* @module pygienium/commands
|
||||
*/
|
||||
|
||||
import type {
|
||||
ExtensionCommandContext,
|
||||
ExtensionUIContext,
|
||||
} from "@earendil-works/pi-coding-agent";
|
||||
import type { ExtensionCommandContext } from "@earendil-works/pi-coding-agent";
|
||||
import { resolve } from "node:path";
|
||||
import {
|
||||
getAllChecks,
|
||||
@@ -20,6 +17,9 @@ import {
|
||||
type CheckDefinition,
|
||||
} from "./checks/registry.js";
|
||||
import { runCheck, parseCheckArgs } from "./modes/check-runner.js";
|
||||
import {
|
||||
runCheck,
|
||||
parseCheckArgs,
|
||||
import { parseAllArgs, runAllChecks, allSummaryPath } from "./modes/all.js";
|
||||
import { buildPygieniumHelpLines } from "./help.js";
|
||||
import {
|
||||
@@ -38,12 +38,16 @@ import {
|
||||
exportBundlePath,
|
||||
type ExportFilters,
|
||||
} from "./export.js";
|
||||
import type { SendChatMessage } from "./phases.js";
|
||||
|
||||
/** Narrow context slice handlers need (a subset of `ExtensionCommandContext`). */
|
||||
export type PygieniumCtx = Pick<
|
||||
ExtensionCommandContext,
|
||||
"cwd" | "mode" | "hasUI" | "ui"
|
||||
>;
|
||||
> & {
|
||||
/** Optional callback to post messages to the chat window. */
|
||||
sendChatMessage?: SendChatMessage;
|
||||
};
|
||||
|
||||
function print(ctx: PygieniumCtx, line: string): void {
|
||||
// In TUI mode, also surface the first line as a notification.
|
||||
@@ -162,6 +166,7 @@ export async function handleAllCommand(
|
||||
only: parsed.only,
|
||||
ui: ctx.ui,
|
||||
hasUI: ctx.hasUI,
|
||||
sendChatMessage: ctx.sendChatMessage,
|
||||
});
|
||||
const giNote = outcome.gitignoreAppended
|
||||
? " · .pygienium/ added to .gitignore"
|
||||
@@ -341,6 +346,3 @@ export function registerPygieniumCommands(register: RegisterCommandFn): void {
|
||||
handler: handleExportCommand,
|
||||
});
|
||||
}
|
||||
|
||||
/** Re-export for index.ts convenience. */
|
||||
export type { ExtensionUIContext };
|
||||
|
||||
Reference in New Issue
Block a user