Show workflows in the subagent track (#2933)
* feat(server): show provider workflows in subagent track Normalize workflow tasks into the provider-subagent contract so shared clients need no workflow awareness. Persisted nonterminal runs replay as failed because their original runtime can no longer deliver a terminal update. * fix(server): preserve workflow replay and tool cards * fix(server): suppress workflow notification cards * fix(server): replay workflow child timelines * fix(server): fail tasks when Claude exits * fix(server): preserve workflow replay parity * fix(server): fail tasks on Claude restart * fix(server): hide workflow child prompts on replay * fix: terminalize workflows on session reload * fix(server): own workflow notification routing * feat(server): show workflow results in detail pane * fix(server): preserve unrestored task notifications * fix(server): normalize replay task notifications
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
export const meta = {
|
||||
name: "paseo-project-inspection",
|
||||
description: "Inspect Paseo and explain what the project does",
|
||||
whenToUse: "Paseo real-provider workflow detail QA",
|
||||
phases: [{ title: "Inspect", detail: "Read the product and architecture sources" }],
|
||||
};
|
||||
|
||||
phase("Inspect");
|
||||
let input = args;
|
||||
if (typeof input === "string") input = JSON.parse(input);
|
||||
const repoPath = input?.repoPath;
|
||||
if (typeof repoPath !== "string" || repoPath.length === 0) {
|
||||
throw new Error("repoPath is required");
|
||||
}
|
||||
const report = await agent(
|
||||
`Inspect the Paseo repository at ${JSON.stringify(repoPath)}.
|
||||
|
||||
Read README.md, docs/product.md, docs/architecture.md, and package.json. Do not edit anything. Return a concise plain-text report with exactly these headings:
|
||||
|
||||
What Paseo is
|
||||
Who it is for
|
||||
How it works
|
||||
Repository structure
|
||||
|
||||
Under each heading, give 1-3 concrete sentences grounded in those files. Mention the supported coding agents and the local-code/privacy model.`,
|
||||
{
|
||||
label: "project-inspector",
|
||||
phase: "Inspect",
|
||||
},
|
||||
);
|
||||
|
||||
return { report };
|
||||
@@ -0,0 +1,30 @@
|
||||
export const meta = {
|
||||
name: "paseo-workflow-row-qa",
|
||||
description: "Verify the workflow row lifecycle",
|
||||
whenToUse: "Paseo real-provider QA only",
|
||||
phases: [{ title: "Verify", detail: "one child returns a fixed marker" }],
|
||||
};
|
||||
|
||||
phase("Verify");
|
||||
let input = args;
|
||||
if (typeof input === "string") input = JSON.parse(input);
|
||||
const gatePath = input?.gatePath;
|
||||
if (typeof gatePath !== "string" || gatePath.length === 0) {
|
||||
throw new Error("gatePath is required");
|
||||
}
|
||||
const child = await agent(
|
||||
`First use Bash to run this command and wait for it to exit:
|
||||
while [ ! -f ${JSON.stringify(gatePath)} ]; do sleep 0.2; done
|
||||
|
||||
Then return exactly this JSON object and do nothing else: {"marker":"PASEO_WORKFLOW_ROW_OK"}`,
|
||||
{
|
||||
label: "workflow-row-child",
|
||||
phase: "Verify",
|
||||
schema: {
|
||||
type: "object",
|
||||
required: ["marker"],
|
||||
properties: { marker: { type: "string" } },
|
||||
},
|
||||
},
|
||||
);
|
||||
return { child };
|
||||
Reference in New Issue
Block a user