pi-agent-flow 1.8.40 → 2.0.1
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/README.md +33 -37
- package/agents/audit.md +21 -22
- package/agents/build.md +23 -22
- package/agents/craft.md +23 -27
- package/agents/debug.md +24 -28
- package/agents/ideas.md +21 -101
- package/agents/scout.md +20 -19
- package/dist/batch/batch-bash.d.ts +2 -2
- package/dist/batch/batch-bash.d.ts.map +1 -1
- package/dist/batch/batch-bash.js +30 -7
- package/dist/batch/batch-bash.js.map +1 -1
- package/dist/batch/constants.d.ts +31 -5
- package/dist/batch/constants.d.ts.map +1 -1
- package/dist/batch/constants.js +50 -3
- package/dist/batch/constants.js.map +1 -1
- package/dist/batch/execute.d.ts +0 -1
- package/dist/batch/execute.d.ts.map +1 -1
- package/dist/batch/execute.js +210 -6
- package/dist/batch/execute.js.map +1 -1
- package/dist/batch/fuzzy-edit.d.ts +0 -6
- package/dist/batch/fuzzy-edit.d.ts.map +1 -1
- package/dist/batch/fuzzy-edit.js +1 -1
- package/dist/batch/fuzzy-edit.js.map +1 -1
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +87 -16
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/render.d.ts +0 -1
- package/dist/batch/render.d.ts.map +1 -1
- package/dist/batch/render.js +7 -101
- package/dist/batch/render.js.map +1 -1
- package/dist/batch/shell-compress.d.ts +25 -0
- package/dist/batch/shell-compress.d.ts.map +1 -0
- package/dist/batch/shell-compress.js +602 -0
- package/dist/batch/shell-compress.js.map +1 -0
- package/dist/batch/summary.d.ts +5 -0
- package/dist/batch/summary.d.ts.map +1 -0
- package/dist/batch/summary.js +101 -0
- package/dist/batch/summary.js.map +1 -0
- package/dist/batch/symbols.d.ts.map +1 -1
- package/dist/batch/symbols.js +12 -7
- package/dist/batch/symbols.js.map +1 -1
- package/dist/{config.d.ts → config/config.d.ts} +39 -2
- package/dist/config/config.d.ts.map +1 -0
- package/dist/{config.js → config/config.js} +220 -9
- package/dist/config/config.js.map +1 -0
- package/dist/config/log.d.ts +27 -0
- package/dist/config/log.d.ts.map +1 -0
- package/dist/config/log.js +104 -0
- package/dist/config/log.js.map +1 -0
- package/dist/config/models.d.ts +2 -0
- package/dist/config/models.d.ts.map +1 -0
- package/dist/config/models.js +49 -0
- package/dist/config/models.js.map +1 -0
- package/dist/{settings-resolver.d.ts → config/settings-resolver.d.ts} +9 -2
- package/dist/config/settings-resolver.d.ts.map +1 -0
- package/dist/config/settings-resolver.js +275 -0
- package/dist/config/settings-resolver.js.map +1 -0
- package/dist/core/agents.d.ts.map +1 -0
- package/dist/{agents.js → core/agents.js} +13 -12
- package/dist/core/agents.js.map +1 -0
- package/dist/core/delegation.d.ts +24 -0
- package/dist/core/delegation.d.ts.map +1 -0
- package/dist/core/delegation.js +48 -0
- package/dist/core/delegation.js.map +1 -0
- package/dist/core/depth.d.ts.map +1 -0
- package/dist/{depth.js → core/depth.js} +9 -8
- package/dist/core/depth.js.map +1 -0
- package/dist/{executor.d.ts → core/executor.d.ts} +18 -3
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/{executor.js → core/executor.js} +53 -14
- package/dist/core/executor.js.map +1 -0
- package/dist/{flow.d.ts → core/flow.d.ts} +13 -1
- package/dist/core/flow.d.ts.map +1 -0
- package/dist/{flow.js → core/flow.js} +125 -64
- package/dist/core/flow.js.map +1 -0
- package/dist/{session-mode.d.ts → core/session-mode.d.ts} +2 -1
- package/dist/core/session-mode.d.ts.map +1 -0
- package/dist/{session-mode.js → core/session-mode.js} +2 -1
- package/dist/core/session-mode.js.map +1 -0
- package/dist/core/session-registry.d.ts +16 -0
- package/dist/core/session-registry.d.ts.map +1 -0
- package/dist/core/session-registry.js +30 -0
- package/dist/core/session-registry.js.map +1 -0
- package/dist/core/transitions.d.ts.map +1 -0
- package/dist/{transitions.js → core/transitions.js} +1 -1
- package/dist/core/transitions.js.map +1 -0
- package/dist/flow/auto-warp.d.ts +12 -0
- package/dist/flow/auto-warp.d.ts.map +1 -0
- package/dist/flow/auto-warp.js +29 -0
- package/dist/flow/auto-warp.js.map +1 -0
- package/dist/flow/command.d.ts +8 -0
- package/dist/flow/command.d.ts.map +1 -0
- package/dist/flow/command.js +194 -0
- package/dist/flow/command.js.map +1 -0
- package/dist/flow/continuation.d.ts +16 -0
- package/dist/flow/continuation.d.ts.map +1 -0
- package/dist/flow/continuation.js +188 -0
- package/dist/flow/continuation.js.map +1 -0
- package/dist/flow/index.d.ts +18 -0
- package/dist/flow/index.d.ts.map +1 -0
- package/dist/flow/index.js +25 -0
- package/dist/flow/index.js.map +1 -0
- package/dist/flow/loop-command.d.ts +8 -0
- package/dist/flow/loop-command.d.ts.map +1 -0
- package/dist/flow/loop-command.js +99 -0
- package/dist/flow/loop-command.js.map +1 -0
- package/dist/flow/loop-templates.d.ts +7 -0
- package/dist/flow/loop-templates.d.ts.map +1 -0
- package/dist/flow/loop-templates.js +38 -0
- package/dist/flow/loop-templates.js.map +1 -0
- package/dist/flow/loop.d.ts +19 -0
- package/dist/flow/loop.d.ts.map +1 -0
- package/dist/flow/loop.js +95 -0
- package/dist/flow/loop.js.map +1 -0
- package/dist/flow/perform-warp.d.ts +28 -0
- package/dist/flow/perform-warp.d.ts.map +1 -0
- package/dist/flow/perform-warp.js +127 -0
- package/dist/flow/perform-warp.js.map +1 -0
- package/dist/flow/settings-command.d.ts +51 -0
- package/dist/flow/settings-command.d.ts.map +1 -0
- package/dist/flow/settings-command.js +937 -0
- package/dist/flow/settings-command.js.map +1 -0
- package/dist/flow/store.d.ts +26 -0
- package/dist/flow/store.d.ts.map +1 -0
- package/dist/flow/store.js +166 -0
- package/dist/flow/store.js.map +1 -0
- package/dist/flow/template-shared.d.ts +9 -0
- package/dist/flow/template-shared.d.ts.map +1 -0
- package/dist/flow/template-shared.js +13 -0
- package/dist/flow/template-shared.js.map +1 -0
- package/dist/flow/template-strings.d.ts +8 -0
- package/dist/flow/template-strings.d.ts.map +1 -0
- package/dist/flow/template-strings.js +36 -0
- package/dist/flow/template-strings.js.map +1 -0
- package/dist/flow/types.d.ts +61 -0
- package/dist/flow/types.d.ts.map +1 -0
- package/dist/flow/types.js +5 -0
- package/dist/flow/types.js.map +1 -0
- package/dist/flow/warp-command.d.ts +8 -0
- package/dist/flow/warp-command.d.ts.map +1 -0
- package/dist/flow/warp-command.js +144 -0
- package/dist/flow/warp-command.js.map +1 -0
- package/dist/flow/warp-utils.d.ts +11 -0
- package/dist/flow/warp-utils.d.ts.map +1 -0
- package/dist/flow/warp-utils.js +187 -0
- package/dist/flow/warp-utils.js.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +115 -31
- package/dist/index.js.map +1 -1
- package/dist/{notify-state.d.ts → notify/notify-state.d.ts} +2 -1
- package/dist/notify/notify-state.d.ts.map +1 -0
- package/dist/notify/notify-state.js.map +1 -0
- package/dist/notify/notify.d.ts.map +1 -0
- package/dist/{notify.js → notify/notify.js} +3 -2
- package/dist/notify/notify.js.map +1 -0
- package/dist/{cli-args.d.ts → snapshot/cli-args.d.ts} +4 -2
- package/dist/snapshot/cli-args.d.ts.map +1 -0
- package/dist/{cli-args.js → snapshot/cli-args.js} +13 -1
- package/dist/snapshot/cli-args.js.map +1 -0
- package/dist/snapshot/index.d.ts +2 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +2 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/{reasoning-strip.d.ts → snapshot/reasoning-strip.d.ts} +0 -4
- package/dist/snapshot/reasoning-strip.d.ts.map +1 -0
- package/dist/{reasoning-strip.js → snapshot/reasoning-strip.js} +2 -2
- package/dist/snapshot/reasoning-strip.js.map +1 -0
- package/dist/snapshot/runner-events.d.ts.map +1 -0
- package/dist/{runner-events.js → snapshot/runner-events.js} +1 -1
- package/dist/snapshot/runner-events.js.map +1 -0
- package/dist/{snapshot.d.ts → snapshot/snapshot.d.ts} +24 -18
- package/dist/snapshot/snapshot.d.ts.map +1 -0
- package/dist/snapshot/snapshot.js +1791 -0
- package/dist/snapshot/snapshot.js.map +1 -0
- package/dist/{structured-output.d.ts → snapshot/structured-output.d.ts} +1 -1
- package/dist/snapshot/structured-output.d.ts.map +1 -0
- package/dist/snapshot/structured-output.js.map +1 -0
- package/dist/{flow-prompt.d.ts → steering/flow-prompt.d.ts} +2 -2
- package/dist/steering/flow-prompt.d.ts.map +1 -0
- package/dist/{flow-prompt.js → steering/flow-prompt.js} +1 -1
- package/dist/steering/flow-prompt.js.map +1 -0
- package/dist/{sliding-prompt.d.ts → steering/sliding-prompt.d.ts} +8 -7
- package/dist/steering/sliding-prompt.d.ts.map +1 -0
- package/dist/{sliding-prompt.js → steering/sliding-prompt.js} +18 -64
- package/dist/steering/sliding-prompt.js.map +1 -0
- package/dist/{tool-utils.d.ts → steering/tool-utils.d.ts} +1 -0
- package/dist/steering/tool-utils.d.ts.map +1 -0
- package/dist/{tool-utils.js → steering/tool-utils.js} +10 -3
- package/dist/steering/tool-utils.js.map +1 -0
- package/dist/{ask-user.d.ts → tools/ask-user.d.ts} +3 -15
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +778 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/{timed-bash.d.ts → tools/timed-bash.d.ts} +2 -7
- package/dist/tools/timed-bash.d.ts.map +1 -0
- package/dist/{timed-bash.js → tools/timed-bash.js} +11 -2
- package/dist/tools/timed-bash.js.map +1 -0
- package/dist/{web-tool.d.ts → tools/web-tool.d.ts} +1 -1
- package/dist/tools/web-tool.d.ts.map +1 -0
- package/dist/{web-tool.js → tools/web-tool.js} +8 -7
- package/dist/tools/web-tool.js.map +1 -0
- package/dist/tui/flow-colors.d.ts +55 -0
- package/dist/tui/flow-colors.d.ts.map +1 -0
- package/dist/tui/flow-colors.js +22 -0
- package/dist/tui/flow-colors.js.map +1 -0
- package/dist/{render-utils.d.ts → tui/render-utils.d.ts} +6 -2
- package/dist/tui/render-utils.d.ts.map +1 -0
- package/dist/{render-utils.js → tui/render-utils.js} +40 -12
- package/dist/tui/render-utils.js.map +1 -0
- package/dist/tui/render.d.ts +21 -0
- package/dist/tui/render.d.ts.map +1 -0
- package/dist/tui/render.js +786 -0
- package/dist/tui/render.js.map +1 -0
- package/dist/tui/scramble/algorithm.d.ts +7 -0
- package/dist/tui/scramble/algorithm.d.ts.map +1 -0
- package/dist/tui/scramble/algorithm.js +227 -0
- package/dist/tui/scramble/algorithm.js.map +1 -0
- package/dist/tui/scramble/constants.d.ts +99 -0
- package/dist/tui/scramble/constants.d.ts.map +1 -0
- package/dist/tui/scramble/constants.js +101 -0
- package/dist/tui/scramble/constants.js.map +1 -0
- package/dist/tui/scramble/index.d.ts +6 -0
- package/dist/tui/scramble/index.d.ts.map +1 -0
- package/dist/tui/scramble/index.js +6 -0
- package/dist/tui/scramble/index.js.map +1 -0
- package/dist/tui/scramble/manager.d.ts +44 -0
- package/dist/tui/scramble/manager.d.ts.map +1 -0
- package/dist/tui/scramble/manager.js +899 -0
- package/dist/tui/scramble/manager.js.map +1 -0
- package/dist/tui/scramble/utils.d.ts +18 -0
- package/dist/tui/scramble/utils.d.ts.map +1 -0
- package/dist/tui/scramble/utils.js +145 -0
- package/dist/tui/scramble/utils.js.map +1 -0
- package/dist/tui/single-select-layout.d.ts +17 -0
- package/dist/tui/single-select-layout.d.ts.map +1 -0
- package/dist/{single-select-layout.js → tui/single-select-layout.js} +8 -25
- package/dist/tui/single-select-layout.js.map +1 -0
- package/dist/types/flow.d.ts +112 -0
- package/dist/types/flow.d.ts.map +1 -0
- package/dist/{types.js → types/flow.js} +3 -54
- package/dist/types/flow.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +7 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/output.d.ts +110 -0
- package/dist/types/output.d.ts.map +1 -0
- package/dist/types/output.js +5 -0
- package/dist/types/output.js.map +1 -0
- package/dist/types/ui.d.ts +24 -0
- package/dist/types/ui.d.ts.map +1 -0
- package/dist/types/ui.js +55 -0
- package/dist/types/ui.js.map +1 -0
- package/package.json +1 -1
- package/dist/agents.d.ts.map +0 -1
- package/dist/agents.js.map +0 -1
- package/dist/ask-user.d.ts.map +0 -1
- package/dist/ask-user.js +0 -1405
- package/dist/ask-user.js.map +0 -1
- package/dist/batch.d.ts +0 -12
- package/dist/batch.d.ts.map +0 -1
- package/dist/batch.js +0 -11
- package/dist/batch.js.map +0 -1
- package/dist/cli-args.d.ts.map +0 -1
- package/dist/cli-args.js.map +0 -1
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/depth.d.ts.map +0 -1
- package/dist/depth.js.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js.map +0 -1
- package/dist/flow-prompt.d.ts.map +0 -1
- package/dist/flow-prompt.js.map +0 -1
- package/dist/flow.d.ts.map +0 -1
- package/dist/flow.js.map +0 -1
- package/dist/notify-state.d.ts.map +0 -1
- package/dist/notify-state.js.map +0 -1
- package/dist/notify.d.ts.map +0 -1
- package/dist/notify.js.map +0 -1
- package/dist/reasoning-strip.d.ts.map +0 -1
- package/dist/reasoning-strip.js.map +0 -1
- package/dist/render-utils.d.ts.map +0 -1
- package/dist/render-utils.js.map +0 -1
- package/dist/render.d.ts +0 -24
- package/dist/render.d.ts.map +0 -1
- package/dist/render.js +0 -592
- package/dist/render.js.map +0 -1
- package/dist/runner-events.d.ts.map +0 -1
- package/dist/runner-events.js.map +0 -1
- package/dist/scramble.d.ts +0 -183
- package/dist/scramble.d.ts.map +0 -1
- package/dist/scramble.js +0 -2478
- package/dist/scramble.js.map +0 -1
- package/dist/session-mode.d.ts.map +0 -1
- package/dist/session-mode.js.map +0 -1
- package/dist/settings-resolver.d.ts.map +0 -1
- package/dist/settings-resolver.js +0 -148
- package/dist/settings-resolver.js.map +0 -1
- package/dist/single-select-layout.d.ts +0 -20
- package/dist/single-select-layout.d.ts.map +0 -1
- package/dist/single-select-layout.js.map +0 -1
- package/dist/sliding-prompt.d.ts.map +0 -1
- package/dist/sliding-prompt.js.map +0 -1
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/snapshot.js +0 -797
- package/dist/snapshot.js.map +0 -1
- package/dist/spec-mode.d.ts +0 -13
- package/dist/spec-mode.d.ts.map +0 -1
- package/dist/spec-mode.js +0 -90
- package/dist/spec-mode.js.map +0 -1
- package/dist/structured-output.d.ts.map +0 -1
- package/dist/structured-output.js.map +0 -1
- package/dist/timed-bash.d.ts.map +0 -1
- package/dist/timed-bash.js.map +0 -1
- package/dist/tool-utils.d.ts.map +0 -1
- package/dist/tool-utils.js.map +0 -1
- package/dist/transitions.d.ts.map +0 -1
- package/dist/transitions.js.map +0 -1
- package/dist/types.d.ts +0 -224
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/web-tool.d.ts.map +0 -1
- package/dist/web-tool.js.map +0 -1
- /package/dist/{agents.d.ts → core/agents.d.ts} +0 -0
- /package/dist/{depth.d.ts → core/depth.d.ts} +0 -0
- /package/dist/{transitions.d.ts → core/transitions.d.ts} +0 -0
- /package/dist/{notify-state.js → notify/notify-state.js} +0 -0
- /package/dist/{notify.d.ts → notify/notify.d.ts} +0 -0
- /package/dist/{runner-events.d.ts → snapshot/runner-events.d.ts} +0 -0
- /package/dist/{structured-output.js → snapshot/structured-output.js} +0 -0
|
@@ -13,6 +13,7 @@ import { parseFrontmatter } from "@mariozechner/pi-coding-agent";
|
|
|
13
13
|
import * as fs from "node:fs";
|
|
14
14
|
import * as os from "node:os";
|
|
15
15
|
import * as path from "node:path";
|
|
16
|
+
import { logWarn } from "../config/log.js";
|
|
16
17
|
/** Determine the model tier for a given flow name. */
|
|
17
18
|
export function getFlowTier(flowName) {
|
|
18
19
|
const normalized = flowName.toLowerCase().trim();
|
|
@@ -53,7 +54,7 @@ function getBundledFlowsDir() {
|
|
|
53
54
|
if (import.meta.url) {
|
|
54
55
|
const pluginDir = path.dirname(new URL(import.meta.url).pathname);
|
|
55
56
|
// Check same directory first, then parent (for src/ layout)
|
|
56
|
-
for (const base of [pluginDir, path.dirname(pluginDir)]) {
|
|
57
|
+
for (const base of [pluginDir, path.dirname(pluginDir), path.dirname(path.dirname(pluginDir))]) {
|
|
57
58
|
const dir = path.join(base, "agents");
|
|
58
59
|
if (fs.existsSync(dir))
|
|
59
60
|
return dir;
|
|
@@ -64,7 +65,7 @@ function getBundledFlowsDir() {
|
|
|
64
65
|
// Method 2: __dirname (CommonJS / jiti)
|
|
65
66
|
try {
|
|
66
67
|
if (typeof __dirname !== "undefined") {
|
|
67
|
-
for (const base of [__dirname, path.dirname(__dirname)]) {
|
|
68
|
+
for (const base of [__dirname, path.dirname(__dirname), path.dirname(path.dirname(__dirname))]) {
|
|
68
69
|
const dir = path.join(base, "agents");
|
|
69
70
|
if (fs.existsSync(dir))
|
|
70
71
|
return dir;
|
|
@@ -111,7 +112,7 @@ function parseFlowFile(filePath, source) {
|
|
|
111
112
|
}
|
|
112
113
|
catch (err) {
|
|
113
114
|
const message = err instanceof Error ? err.message : String(err);
|
|
114
|
-
|
|
115
|
+
logWarn(`[pi-agent-flow] Skipping invalid flow file "${filePath}": ${message}`);
|
|
115
116
|
return null;
|
|
116
117
|
}
|
|
117
118
|
const frontmatter = parsed.frontmatter ?? {};
|
|
@@ -120,9 +121,9 @@ function parseFlowFile(filePath, source) {
|
|
|
120
121
|
const description = typeof frontmatter.description === "string" ? frontmatter.description.trim() : "";
|
|
121
122
|
if (!name || !description) {
|
|
122
123
|
if (!name)
|
|
123
|
-
|
|
124
|
+
logWarn(`[pi-agent-flow] Skipping flow file "${filePath}": missing or empty 'name' field.`);
|
|
124
125
|
if (!description)
|
|
125
|
-
|
|
126
|
+
logWarn(`[pi-agent-flow] Skipping flow file "${filePath}": missing or empty 'description' field.`);
|
|
126
127
|
return null;
|
|
127
128
|
}
|
|
128
129
|
// Warn about unknown frontmatter keys
|
|
@@ -132,14 +133,14 @@ function parseFlowFile(filePath, source) {
|
|
|
132
133
|
]);
|
|
133
134
|
for (const key of Object.keys(frontmatter)) {
|
|
134
135
|
if (!knownKeys.has(key)) {
|
|
135
|
-
|
|
136
|
+
logWarn(`[pi-agent-flow] Unknown frontmatter key "${key}" in "${filePath}". This field will be ignored.`);
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
let tools;
|
|
139
140
|
if (typeof frontmatter.tools === "string") {
|
|
140
141
|
const parsedTools = frontmatter.tools
|
|
141
142
|
.split(",")
|
|
142
|
-
.
|
|
143
|
+
.flatMap((t) => t.trim().split(/\s+/))
|
|
143
144
|
.filter(Boolean);
|
|
144
145
|
if (parsedTools.length > 0)
|
|
145
146
|
tools = parsedTools;
|
|
@@ -147,13 +148,13 @@ function parseFlowFile(filePath, source) {
|
|
|
147
148
|
else if (Array.isArray(frontmatter.tools)) {
|
|
148
149
|
const parsedTools = frontmatter.tools
|
|
149
150
|
.filter((t) => typeof t === "string")
|
|
150
|
-
.
|
|
151
|
+
.flatMap((t) => t.trim().split(/\s+/))
|
|
151
152
|
.filter(Boolean);
|
|
152
153
|
if (parsedTools.length > 0)
|
|
153
154
|
tools = parsedTools;
|
|
154
155
|
}
|
|
155
156
|
else if (frontmatter.tools !== undefined) {
|
|
156
|
-
|
|
157
|
+
logWarn(`[pi-agent-flow] Ignoring invalid tools field in "${filePath}". Expected a comma-separated string or string array.`);
|
|
157
158
|
}
|
|
158
159
|
let maxDepth;
|
|
159
160
|
if (typeof frontmatter.maxDepth === "number") {
|
|
@@ -177,11 +178,11 @@ function parseFlowFile(filePath, source) {
|
|
|
177
178
|
inheritContext = false;
|
|
178
179
|
}
|
|
179
180
|
else {
|
|
180
|
-
|
|
181
|
+
logWarn(`[pi-agent-flow] Ignoring invalid inheritContext value "${frontmatter.inheritContext}" in "${filePath}". Expected true/false.`);
|
|
181
182
|
}
|
|
182
183
|
}
|
|
183
184
|
else if (frontmatter.inheritContext !== undefined) {
|
|
184
|
-
|
|
185
|
+
logWarn(`[pi-agent-flow] Ignoring invalid inheritContext field in "${filePath}". Expected boolean or string.`);
|
|
185
186
|
}
|
|
186
187
|
// Tier: prefer explicit frontmatter, fall back to name-based inference
|
|
187
188
|
let tier;
|
|
@@ -191,7 +192,7 @@ function parseFlowFile(filePath, source) {
|
|
|
191
192
|
tier = normalized;
|
|
192
193
|
}
|
|
193
194
|
else {
|
|
194
|
-
|
|
195
|
+
logWarn(`[pi-agent-flow] Ignoring invalid tier "${frontmatter.tier}" in "${filePath}". Expected lite, flash, or full.`);
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
198
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation logic extracted from flow.ts.
|
|
3
|
+
*
|
|
4
|
+
* Computes depth/canDelegate state and builds delegation-related
|
|
5
|
+
* prompt fragments for child flow activation.
|
|
6
|
+
*/
|
|
7
|
+
import type { FlowConfig } from "./agents.js";
|
|
8
|
+
export interface DelegationState {
|
|
9
|
+
currentDepth: number;
|
|
10
|
+
effectiveMaxDepth: number;
|
|
11
|
+
canDelegate: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function computeDelegationState(parentDepth: number, maxDepth: number): DelegationState;
|
|
14
|
+
export declare function buildGuardLine(currentDepth: number, effectiveMaxDepth: number, preventCycles: boolean, parentFlowStack: string[]): string;
|
|
15
|
+
export declare function buildDelegationRule(canDelegate: boolean, guardLine: string): string;
|
|
16
|
+
export declare function buildFlowListSection(canDelegate: boolean, discoveredFlows: FlowConfig[]): string;
|
|
17
|
+
export declare function buildLineage(flowName: string, parentFlowStack: string[]): string;
|
|
18
|
+
export declare function buildParentLineageHint(_parentFlowStack: string[]): string;
|
|
19
|
+
export declare function computeChildPropagation(parentDepth: number, maxDepth: number, parentFlowStack: string[], normalizedFlowName: string): {
|
|
20
|
+
nextDepth: number;
|
|
21
|
+
propagatedMaxDepth: number;
|
|
22
|
+
propagatedStack: string[];
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=delegation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../../src/core/delegation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;CACrB;AAMD,wBAAgB,sBAAsB,CACrC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACd,eAAe,CAKjB;AAMD,wBAAgB,cAAc,CAC7B,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,OAAO,EACtB,eAAe,EAAE,MAAM,EAAE,GACvB,MAAM,CAGR;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,OAAO,EACpB,eAAe,EAAE,UAAU,EAAE,GAC3B,MAAM,CAOR;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,MAAM,CAEhF;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,CAEzE;AAMD,wBAAgB,uBAAuB,CACtC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EAAE,EACzB,kBAAkB,EAAE,MAAM,GACxB;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC1B,CAKA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegation logic extracted from flow.ts.
|
|
3
|
+
*
|
|
4
|
+
* Computes depth/canDelegate state and builds delegation-related
|
|
5
|
+
* prompt fragments for child flow activation.
|
|
6
|
+
*/
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Depth / delegation state
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
export function computeDelegationState(parentDepth, maxDepth) {
|
|
11
|
+
const currentDepth = Math.max(0, Math.floor(parentDepth)) + 1;
|
|
12
|
+
const effectiveMaxDepth = Math.max(0, Math.floor(maxDepth));
|
|
13
|
+
const canDelegate = currentDepth < effectiveMaxDepth;
|
|
14
|
+
return { currentDepth, effectiveMaxDepth, canDelegate };
|
|
15
|
+
}
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
// Prompt fragment builders
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
export function buildGuardLine(currentDepth, effectiveMaxDepth, preventCycles, parentFlowStack) {
|
|
20
|
+
const stackLabel = parentFlowStack.length > 0 ? parentFlowStack.join(" -> ") : "root";
|
|
21
|
+
return `depth ${currentDepth}/${effectiveMaxDepth} · stack: ${stackLabel}`;
|
|
22
|
+
}
|
|
23
|
+
export function buildDelegationRule(canDelegate, guardLine) {
|
|
24
|
+
return `Deleg: ${canDelegate ? "on" : "off"} (${guardLine})`;
|
|
25
|
+
}
|
|
26
|
+
export function buildFlowListSection(canDelegate, discoveredFlows) {
|
|
27
|
+
if (!canDelegate || discoveredFlows.length === 0)
|
|
28
|
+
return "";
|
|
29
|
+
return (`Available flows:\n${discoveredFlows
|
|
30
|
+
.map((f) => `- ${f.name}`)
|
|
31
|
+
.join("\n")}\n`);
|
|
32
|
+
}
|
|
33
|
+
export function buildLineage(flowName, parentFlowStack) {
|
|
34
|
+
return ["orchestrator", ...parentFlowStack, flowName].join(" → ");
|
|
35
|
+
}
|
|
36
|
+
export function buildParentLineageHint(_parentFlowStack) {
|
|
37
|
+
return "";
|
|
38
|
+
}
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Child env propagation
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
export function computeChildPropagation(parentDepth, maxDepth, parentFlowStack, normalizedFlowName) {
|
|
43
|
+
const nextDepth = Math.max(0, Math.floor(parentDepth)) + 1;
|
|
44
|
+
const propagatedMaxDepth = Math.max(0, Math.floor(maxDepth));
|
|
45
|
+
const propagatedStack = [...parentFlowStack, normalizedFlowName];
|
|
46
|
+
return { nextDepth, propagatedMaxDepth, propagatedStack };
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=delegation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delegation.js","sourceRoot":"","sources":["../../src/core/delegation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,UAAU,sBAAsB,CACrC,WAAmB,EACnB,QAAgB;IAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,YAAY,GAAG,iBAAiB,CAAC;IACrD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E,MAAM,UAAU,cAAc,CAC7B,YAAoB,EACpB,iBAAyB,EACzB,aAAsB,EACtB,eAAyB;IAEzB,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACtF,OAAO,SAAS,YAAY,IAAI,iBAAiB,aAAa,UAAU,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,WAAoB,EAAE,SAAiB;IAC1E,OAAO,UAAU,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,GAAG,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,oBAAoB,CACnC,WAAoB,EACpB,eAA6B;IAE7B,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5D,OAAO,CACN,qBAAqB,eAAe;SAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;SACzB,IAAI,CAAC,IAAI,CAAC,IAAI,CAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,eAAyB;IACvE,OAAO,CAAC,cAAc,EAAE,GAAG,eAAe,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,gBAA0B;IAChE,OAAO,EAAE,CAAC;AACX,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,UAAU,uBAAuB,CACtC,WAAmB,EACnB,QAAgB,EAChB,eAAyB,EACzB,kBAA0B;IAM1B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,CAAC,GAAG,eAAe,EAAE,kBAAkB,CAAC,CAAC;IACjE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../src/core/depth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAOlE,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,gCAAgC,OAAO,CAAC;AACrD,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AACtD,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAM9D,MAAM,WAAW,eAAe;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;CACvB;AAMD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAOzD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI,CAiB5D;AAuCD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,eAAe,CAmGxE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Extracted from index.ts for single-responsibility and testability.
|
|
5
5
|
*/
|
|
6
|
+
import { logWarn } from "../config/log.js";
|
|
6
7
|
// ---------------------------------------------------------------------------
|
|
7
8
|
// Constants
|
|
8
9
|
// ---------------------------------------------------------------------------
|
|
@@ -96,23 +97,23 @@ export function resolveFlowDepthConfig(pi) {
|
|
|
96
97
|
const depthRaw = process.env[FLOW_DEPTH_ENV];
|
|
97
98
|
const parsedDepth = parseNonNegativeInt(depthRaw);
|
|
98
99
|
if (depthRaw !== undefined && parsedDepth === null) {
|
|
99
|
-
|
|
100
|
+
logWarn(`[pi-agent-flow] Ignoring invalid ${FLOW_DEPTH_ENV}="${depthRaw}". Expected a non-negative integer.`);
|
|
100
101
|
}
|
|
101
102
|
const currentDepth = parsedDepth ?? 0;
|
|
102
103
|
const stackRaw = process.env[FLOW_STACK_ENV];
|
|
103
104
|
const ancestorFlowStack = parseFlowStack(stackRaw);
|
|
104
105
|
if (stackRaw !== undefined && ancestorFlowStack === null) {
|
|
105
|
-
|
|
106
|
+
logWarn(`[pi-agent-flow] Ignoring invalid ${FLOW_STACK_ENV} value. Expected a JSON array of flow names.`);
|
|
106
107
|
}
|
|
107
108
|
const envMaxDepthRaw = process.env[FLOW_MAX_DEPTH_ENV];
|
|
108
109
|
const envMaxDepth = parseNonNegativeInt(envMaxDepthRaw);
|
|
109
110
|
if (envMaxDepthRaw !== undefined && envMaxDepth === null) {
|
|
110
|
-
|
|
111
|
+
logWarn(`[pi-agent-flow] Ignoring invalid ${FLOW_MAX_DEPTH_ENV}="${envMaxDepthRaw}". Expected a non-negative integer.`);
|
|
111
112
|
}
|
|
112
113
|
const argvFlagRaw = getMaxDepthFlagFromArgv(process.argv);
|
|
113
114
|
const argvFlagMaxDepth = argvFlagRaw !== null ? parseNonNegativeInt(argvFlagRaw) : null;
|
|
114
115
|
if (argvFlagRaw !== null && argvFlagMaxDepth === null) {
|
|
115
|
-
|
|
116
|
+
logWarn(`[pi-agent-flow] Ignoring invalid --flow-max-depth value "${argvFlagRaw}". Expected a non-negative integer.`);
|
|
116
117
|
}
|
|
117
118
|
const runtimeFlagValue = pi.getFlag("flow-max-depth");
|
|
118
119
|
const runtimeFlagMaxDepth = typeof runtimeFlagValue === "string"
|
|
@@ -121,12 +122,12 @@ export function resolveFlowDepthConfig(pi) {
|
|
|
121
122
|
if (argvFlagRaw === null &&
|
|
122
123
|
typeof runtimeFlagValue === "string" &&
|
|
123
124
|
runtimeFlagMaxDepth === null) {
|
|
124
|
-
|
|
125
|
+
logWarn(`[pi-agent-flow] Ignoring invalid --flow-max-depth value "${runtimeFlagValue}". Expected a non-negative integer.`);
|
|
125
126
|
}
|
|
126
127
|
const envPreventCyclesRaw = process.env[FLOW_PREVENT_CYCLES_ENV];
|
|
127
128
|
const envPreventCycles = parseBoolean(envPreventCyclesRaw);
|
|
128
129
|
if (envPreventCyclesRaw !== undefined && envPreventCycles === null) {
|
|
129
|
-
|
|
130
|
+
logWarn(`[pi-agent-flow] Ignoring invalid ${FLOW_PREVENT_CYCLES_ENV}="${envPreventCyclesRaw}". Expected true/false.`);
|
|
130
131
|
}
|
|
131
132
|
const argvPreventCyclesRaw = getPreventCyclesFlagFromArgv(process.argv);
|
|
132
133
|
const argvPreventCycles = typeof argvPreventCyclesRaw === "boolean"
|
|
@@ -134,14 +135,14 @@ export function resolveFlowDepthConfig(pi) {
|
|
|
134
135
|
: parseBoolean(argvPreventCyclesRaw);
|
|
135
136
|
if (typeof argvPreventCyclesRaw === "string" &&
|
|
136
137
|
argvPreventCycles === null) {
|
|
137
|
-
|
|
138
|
+
logWarn(`[pi-agent-flow] Ignoring invalid --flow-prevent-cycles value "${argvPreventCyclesRaw}". Expected true/false.`);
|
|
138
139
|
}
|
|
139
140
|
const runtimePreventCyclesRaw = pi.getFlag("flow-prevent-cycles");
|
|
140
141
|
const runtimePreventCycles = parseBoolean(runtimePreventCyclesRaw);
|
|
141
142
|
if (argvPreventCyclesRaw === null &&
|
|
142
143
|
runtimePreventCyclesRaw !== undefined &&
|
|
143
144
|
runtimePreventCycles === null) {
|
|
144
|
-
|
|
145
|
+
logWarn(`[pi-agent-flow] Ignoring invalid --flow-prevent-cycles value "${String(runtimePreventCyclesRaw)}". Expected true/false.`);
|
|
145
146
|
}
|
|
146
147
|
const flagMaxDepth = argvFlagMaxDepth ?? runtimeFlagMaxDepth;
|
|
147
148
|
const maxDepth = flagMaxDepth ?? envMaxDepth ?? DEFAULT_MAX_DELEGATION_DEPTH;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depth.js","sourceRoot":"","sources":["../../src/core/depth.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,11 @@
|
|
|
6
6
|
* and telemetry.
|
|
7
7
|
*/
|
|
8
8
|
import type { FlowConfig } from "./agents.js";
|
|
9
|
-
import type { SingleResult, FlowDetails,
|
|
10
|
-
import {
|
|
9
|
+
import type { SingleResult, FlowDetails, FlowMetrics } from "../types/flow.js";
|
|
10
|
+
import type { CompressedFlowResult } from "../types/output.js";
|
|
11
|
+
import { type LoadedFlowModelConfigs } from "../config/config.js";
|
|
11
12
|
import { type AgentSessionMode } from "./session-mode.js";
|
|
13
|
+
import type { GoalContext } from '../flow/types.js';
|
|
12
14
|
export interface FlowExecutorDeps {
|
|
13
15
|
/** All discovered flow configs. */
|
|
14
16
|
flows: FlowConfig[];
|
|
@@ -46,14 +48,22 @@ export interface FlowExecutorDeps {
|
|
|
46
48
|
fallbackModel?: string;
|
|
47
49
|
/** Fork session snapshot JSONL. */
|
|
48
50
|
forkSessionSnapshotJsonl: string | null;
|
|
51
|
+
/** Compression statistics from sanitizeForkSnapshot for dump header generation. */
|
|
52
|
+
forkSessionSnapshotStats?: {
|
|
53
|
+
preBytes: number;
|
|
54
|
+
postBytes: number;
|
|
55
|
+
reductionPercent: number;
|
|
56
|
+
passesApplied: string[];
|
|
57
|
+
} | null;
|
|
49
58
|
/** Flow result cache for compression. */
|
|
50
59
|
flowResultCache: Map<string, CompressedFlowResult[]>;
|
|
51
60
|
/** Project flows directory. */
|
|
52
61
|
projectFlowsDir: string | null;
|
|
53
|
-
/** Session manager for fork snapshot. */
|
|
62
|
+
/** Session manager for fork snapshot and session identification. */
|
|
54
63
|
sessionManager: {
|
|
55
64
|
getHeader: () => unknown;
|
|
56
65
|
getBranch: () => unknown[];
|
|
66
|
+
getSessionId: () => string;
|
|
57
67
|
};
|
|
58
68
|
/** Whether UI is available for confirmation. */
|
|
59
69
|
hasUI: boolean;
|
|
@@ -63,6 +73,10 @@ export interface FlowExecutorDeps {
|
|
|
63
73
|
onFlowMetrics?: (metrics: FlowMetrics) => void;
|
|
64
74
|
/** Whether to prompt the user before running project-local flows. Default: true. */
|
|
65
75
|
confirmProjectFlows?: boolean;
|
|
76
|
+
/** Optional callback invoked after all flows complete to record goal usage. */
|
|
77
|
+
goalContinuationCallback?: (results: SingleResult[]) => Promise<void>;
|
|
78
|
+
/** Optional active goal context to inject into child flow prompts. */
|
|
79
|
+
goalContext?: GoalContext;
|
|
66
80
|
}
|
|
67
81
|
export interface ExecuteFlowParams {
|
|
68
82
|
type: string;
|
|
@@ -79,6 +93,7 @@ export interface ExecuteFlowResult {
|
|
|
79
93
|
}>;
|
|
80
94
|
details: FlowDetails;
|
|
81
95
|
isError?: boolean;
|
|
96
|
+
_toolCallId?: string;
|
|
82
97
|
}
|
|
83
98
|
/** Evict oldest entries from the cache when it exceeds the cap. */
|
|
84
99
|
export declare function evictCacheOverflow(cache: Map<string, unknown>): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,13 +5,16 @@
|
|
|
5
5
|
* project-flow confirmation, parallel execution with failover, caching,
|
|
6
6
|
* and telemetry.
|
|
7
7
|
*/
|
|
8
|
-
import { isFlowSuccess, isFlowError, isFlowComplete, emptyFlowUsage } from "
|
|
8
|
+
import { isFlowSuccess, isFlowError, isFlowComplete, emptyFlowUsage } from "../types/flow.js";
|
|
9
9
|
import { getTransitionAdvice } from "./transitions.js";
|
|
10
10
|
import { mapFlowConcurrent, runFlow } from "./flow.js";
|
|
11
|
-
import { getFlowSummaryText } from "
|
|
12
|
-
import { normalizeFlowModeName, resolveFlowModelCandidates, selectFlowModelStrategy } from "
|
|
11
|
+
import { getFlowSummaryText } from "../snapshot/runner-events.js";
|
|
12
|
+
import { normalizeFlowModeName, resolveFlowModelCandidates, resolveModelContextWindow, selectFlowModelStrategy } from "../config/config.js";
|
|
13
13
|
import { getAgentSessionTimeoutMs, resolveAgentSessionMode } from "./session-mode.js";
|
|
14
|
-
import { setFlowComplete } from "
|
|
14
|
+
import { setFlowComplete } from "../notify/notify-state.js";
|
|
15
|
+
import { setLiveText } from '../tui/scramble/index.js';
|
|
16
|
+
import { logWarn } from '../config/log.js';
|
|
17
|
+
import { markFlowCompleted } from '../flow/index.js';
|
|
15
18
|
// ---------------------------------------------------------------------------
|
|
16
19
|
// Helpers
|
|
17
20
|
// ---------------------------------------------------------------------------
|
|
@@ -60,7 +63,7 @@ export function evictCacheOverflow(cache) {
|
|
|
60
63
|
if (cache.size <= FLOW_RESULT_CACHE_MAX_ENTRIES)
|
|
61
64
|
return;
|
|
62
65
|
const excess = cache.size - FLOW_RESULT_CACHE_MAX_ENTRIES;
|
|
63
|
-
|
|
66
|
+
logWarn(`[pi-agent-flow] Flow result cache overflow: evicting ${excess} oldest entries. ` +
|
|
64
67
|
`Raising PI_FLOW_CACHE_MAX_ENTRIES (currently ${FLOW_RESULT_CACHE_MAX_ENTRIES}) may help for long sessions.`);
|
|
65
68
|
const keys = cache.keys();
|
|
66
69
|
for (let i = 0; i < excess; i++) {
|
|
@@ -96,7 +99,7 @@ function shouldFailover(result) {
|
|
|
96
99
|
* project confirmation, parallel execution with model failover, and telemetry.
|
|
97
100
|
*/
|
|
98
101
|
export async function executeFlows(deps, params, toolCallId) {
|
|
99
|
-
const { flows, currentDepth, maxDepth, ancestorFlowStack, preventCycles, toolOptimize, structuredOutput, cwd, loadedFlowModelConfigs, maxConcurrency, defaultSessionMode, signal, onUpdate, makeDetails, getFlag, tierOverrideResolver, fallbackModel, forkSessionSnapshotJsonl, flowResultCache, projectFlowsDir, hasUI, uiConfirm, onFlowMetrics, confirmProjectFlows, } = deps;
|
|
102
|
+
const { flows, currentDepth, maxDepth, ancestorFlowStack, preventCycles, toolOptimize, structuredOutput, cwd, loadedFlowModelConfigs, maxConcurrency, defaultSessionMode, signal, onUpdate, makeDetails, getFlag, tierOverrideResolver, fallbackModel, forkSessionSnapshotJsonl, flowResultCache, projectFlowsDir, hasUI, uiConfirm, onFlowMetrics, confirmProjectFlows, goalContext, } = deps;
|
|
100
103
|
const requested = new Set(params.map((f) => f.type.toLowerCase()));
|
|
101
104
|
// Cycle check
|
|
102
105
|
if (preventCycles) {
|
|
@@ -129,7 +132,7 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
129
132
|
const cliFlowMode = normalizeFlowModeName(getFlag("flow-mode"));
|
|
130
133
|
const cliFlowModelConfig = normalizeFlowModeName(getFlag("flow-model-config"));
|
|
131
134
|
if (cliFlowMode !== undefined && cliFlowModelConfig !== undefined && cliFlowMode !== cliFlowModelConfig) {
|
|
132
|
-
|
|
135
|
+
logWarn(`[pi-agent-flow] Both --flow-mode "${cliFlowMode}" and --flow-model-config "${cliFlowModelConfig}" were provided. Using --flow-mode.`);
|
|
133
136
|
}
|
|
134
137
|
const selectedFlowModelConfig = selectFlowModelStrategy(loadedFlowModelConfigs.configs, cliFlowMode ?? cliFlowModelConfig ?? loadedFlowModelConfigs.selectedName);
|
|
135
138
|
// Pre-allocate results array
|
|
@@ -148,14 +151,29 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
148
151
|
};
|
|
149
152
|
}
|
|
150
153
|
// Streaming progress
|
|
151
|
-
let lastStreamingText = "";
|
|
152
154
|
let lastEmittedSignature;
|
|
153
155
|
const emitProgress = (streamingText) => {
|
|
156
|
+
const activeStreamingText = allResults
|
|
157
|
+
.filter((r) => r.exitCode === -1)
|
|
158
|
+
.map((r) => r.streamingText)
|
|
159
|
+
.filter((text) => Boolean(text))
|
|
160
|
+
.at(-1);
|
|
161
|
+
const text = streamingText ?? activeStreamingText ?? "";
|
|
162
|
+
// (debug trace removed — was writing to /tmp/pi-flow-debug.log on every emitProgress call)
|
|
163
|
+
// Update live text store FIRST — always
|
|
164
|
+
const key = toolCallId || 'collapsed';
|
|
165
|
+
setLiveText(key, text);
|
|
166
|
+
setLiveText('collapsed', text);
|
|
167
|
+
for (let i = 0; i < allResults.length; i++) {
|
|
168
|
+
const r = allResults[i];
|
|
169
|
+
if (r.streamingText) {
|
|
170
|
+
setLiveText(`${key}#${i}`, r.streamingText);
|
|
171
|
+
setLiveText(`collapsed#${i}`, r.streamingText);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Now check onUpdate for host callback
|
|
154
175
|
if (!onUpdate)
|
|
155
176
|
return;
|
|
156
|
-
if (streamingText !== undefined)
|
|
157
|
-
lastStreamingText = streamingText;
|
|
158
|
-
const text = lastStreamingText || "";
|
|
159
177
|
const signature = text +
|
|
160
178
|
"|" +
|
|
161
179
|
allResults
|
|
@@ -172,10 +190,10 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
172
190
|
onUpdate({
|
|
173
191
|
content: [{ type: "text", text }],
|
|
174
192
|
details: makeDetails([...allResults]),
|
|
193
|
+
_toolCallId: toolCallId,
|
|
175
194
|
});
|
|
176
195
|
};
|
|
177
|
-
|
|
178
|
-
emitProgress();
|
|
196
|
+
emitProgress();
|
|
179
197
|
// Execute all flows in parallel
|
|
180
198
|
const executionStart = Date.now();
|
|
181
199
|
const results = await mapFlowConcurrent(params, maxConcurrency, async (item, index) => {
|
|
@@ -202,6 +220,7 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
202
220
|
attemptedModels.push(candidateModel);
|
|
203
221
|
const attemptStartMs = Date.now();
|
|
204
222
|
const attemptTimeoutMs = getAgentSessionTimeoutMs(sessionMode);
|
|
223
|
+
const maxContextTokens = resolveModelContextWindow(candidateModel);
|
|
205
224
|
allResults[index] = {
|
|
206
225
|
type: normalizedType,
|
|
207
226
|
agentSource: targetFlow?.source ?? "unknown",
|
|
@@ -214,6 +233,7 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
214
233
|
model: candidateModel,
|
|
215
234
|
startedAtMs: attemptStartMs,
|
|
216
235
|
deadlineAtMs: attemptStartMs + attemptTimeoutMs,
|
|
236
|
+
...(maxContextTokens !== undefined ? { maxContextTokens } : {}),
|
|
217
237
|
};
|
|
218
238
|
emitProgress();
|
|
219
239
|
result = await runFlow({
|
|
@@ -225,6 +245,7 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
225
245
|
acceptance: item.acceptance,
|
|
226
246
|
taskCwd: item.cwd,
|
|
227
247
|
forkSessionSnapshotJsonl: shouldInheritContext ? forkSessionSnapshotJsonl : null,
|
|
248
|
+
compressionStats: shouldInheritContext ? deps.forkSessionSnapshotStats : null,
|
|
228
249
|
parentDepth: currentDepth,
|
|
229
250
|
parentFlowStack: ancestorFlowStack,
|
|
230
251
|
maxDepth: effectiveMaxDepth,
|
|
@@ -233,10 +254,18 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
233
254
|
structuredOutput,
|
|
234
255
|
sessionMode,
|
|
235
256
|
model: candidateModel,
|
|
257
|
+
maxContextTokens,
|
|
258
|
+
goalContext: deps.goalContext,
|
|
236
259
|
signal,
|
|
237
260
|
onUpdate: (partial) => {
|
|
238
261
|
if (partial.details?.results[0]) {
|
|
239
262
|
allResults[index] = partial.details.results[0];
|
|
263
|
+
// Update per-flow live text
|
|
264
|
+
const flowText = partial.content?.[0]?.text;
|
|
265
|
+
if (flowText !== undefined) {
|
|
266
|
+
setLiveText(`${toolCallId || 'collapsed'}#${index}`, flowText);
|
|
267
|
+
setLiveText(`collapsed#${index}`, flowText); // ← predictable fallback
|
|
268
|
+
}
|
|
240
269
|
emitProgress(partial.content?.[0]?.text);
|
|
241
270
|
}
|
|
242
271
|
},
|
|
@@ -280,11 +309,20 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
280
309
|
if (lastResult) {
|
|
281
310
|
setFlowComplete(lastResult.type, lastResult.acceptance, results.length - 1, results.length);
|
|
282
311
|
}
|
|
312
|
+
// Mark flow completion for the continuation hold — gives the user
|
|
313
|
+
// time to read the result before the next flow auto-spawns.
|
|
314
|
+
markFlowCompleted(deps.sessionManager.getSessionId());
|
|
315
|
+
// Goal continuation callback
|
|
316
|
+
if (deps.goalContinuationCallback) {
|
|
317
|
+
await deps.goalContinuationCallback(results);
|
|
318
|
+
}
|
|
283
319
|
// Cache flow results
|
|
284
320
|
for (const result of results) {
|
|
285
321
|
const so = result.structuredOutput;
|
|
286
|
-
if (!so)
|
|
322
|
+
if (!so) {
|
|
323
|
+
logWarn(`[pi-agent-flow] Flow result for toolCallId=${toolCallId} type=${result.type} has no structuredOutput — cache entry skipped. This means child flows will see placeholder text instead of compressed results.`);
|
|
287
324
|
continue;
|
|
325
|
+
}
|
|
288
326
|
const compressed = {
|
|
289
327
|
type: result.type,
|
|
290
328
|
status: isFlowError(result) ? "failed" : "accomplished",
|
|
@@ -334,6 +372,7 @@ export async function executeFlows(deps, params, toolCallId) {
|
|
|
334
372
|
text: `Flow: ${successCount}/${results.length} completed\n\n${flowReports.join("\n\n---\n\n")}${advisorBlock}`,
|
|
335
373
|
}],
|
|
336
374
|
details: makeDetails(results),
|
|
375
|
+
_toolCallId: toolCallId,
|
|
337
376
|
};
|
|
338
377
|
}
|
|
339
378
|
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentToolResult } from "@mariozechner/pi-agent-core";
|
|
8
8
|
import { type FlowConfig } from "./agents.js";
|
|
9
|
-
import { type SingleResult, type FlowDetails } from "
|
|
9
|
+
import { type SingleResult, type FlowDetails } from "../types/flow.js";
|
|
10
10
|
import { type AgentSessionMode } from "./session-mode.js";
|
|
11
|
+
import type { GoalContext } from "../flow/types.js";
|
|
11
12
|
/** Register a child process group for cleanup on shutdown. */
|
|
12
13
|
export declare function registerChildGroup(pid: number, name: string): void;
|
|
13
14
|
/** Unregister a completed/stopped child process group. */
|
|
@@ -62,6 +63,17 @@ export interface RunFlowOptions {
|
|
|
62
63
|
makeDetails: (results: SingleResult[]) => FlowDetails;
|
|
63
64
|
/** Child-flow session mode. Default: "default" (600s). */
|
|
64
65
|
sessionMode?: AgentSessionMode;
|
|
66
|
+
/** Optional flow goal context to inject into the child prompt. */
|
|
67
|
+
goalContext?: GoalContext;
|
|
68
|
+
/** Compression statistics from sanitizeForkSnapshot for dump header generation. */
|
|
69
|
+
compressionStats?: {
|
|
70
|
+
preBytes: number;
|
|
71
|
+
postBytes: number;
|
|
72
|
+
reductionPercent: number;
|
|
73
|
+
passesApplied: string[];
|
|
74
|
+
} | null;
|
|
75
|
+
/** Optional max context token budget to record in the result. */
|
|
76
|
+
maxContextTokens?: number;
|
|
65
77
|
}
|
|
66
78
|
/**
|
|
67
79
|
* Spawn a single flow process with forked session context.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../src/core/flow.ts"],"names":[],"mappings":"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"}
|