pi-agent-flow 2.0.1 → 2.0.5
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 +126 -489
- package/agents/audit.md +24 -15
- package/agents/build.md +4 -3
- package/agents/craft.md +4 -4
- package/agents/debug.md +5 -4
- package/agents/ideas.md +6 -5
- package/agents/scout.md +10 -8
- package/agents/trace.md +23 -0
- package/dist/batch/apply-patch.d.ts +60 -0
- package/dist/batch/apply-patch.d.ts.map +1 -0
- package/dist/batch/apply-patch.js +477 -0
- package/dist/batch/apply-patch.js.map +1 -0
- package/dist/batch/batch-bash.d.ts +10 -6
- package/dist/batch/batch-bash.d.ts.map +1 -1
- package/dist/batch/batch-bash.js +59 -11
- package/dist/batch/batch-bash.js.map +1 -1
- package/dist/batch/constants.d.ts +38 -6
- package/dist/batch/constants.d.ts.map +1 -1
- package/dist/batch/constants.js +26 -4
- package/dist/batch/constants.js.map +1 -1
- package/dist/batch/execute.d.ts +8 -2
- package/dist/batch/execute.d.ts.map +1 -1
- package/dist/batch/execute.js +222 -67
- package/dist/batch/execute.js.map +1 -1
- package/dist/batch/fuzzy-edit.d.ts +4 -1
- package/dist/batch/fuzzy-edit.d.ts.map +1 -1
- package/dist/batch/fuzzy-edit.js +7 -2
- package/dist/batch/fuzzy-edit.js.map +1 -1
- package/dist/batch/index.d.ts +10 -24
- package/dist/batch/index.d.ts.map +1 -1
- package/dist/batch/index.js +120 -120
- package/dist/batch/index.js.map +1 -1
- package/dist/batch/render.d.ts +22 -5
- package/dist/batch/render.d.ts.map +1 -1
- package/dist/batch/render.js +353 -15
- package/dist/batch/render.js.map +1 -1
- package/dist/batch/summary.d.ts.map +1 -1
- package/dist/batch/summary.js +26 -4
- package/dist/batch/summary.js.map +1 -1
- package/dist/config/config.d.ts +5 -4
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +15 -5
- package/dist/config/config.js.map +1 -1
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +7 -1
- package/dist/config/models.js.map +1 -1
- package/dist/config/settings-resolver.d.ts +5 -4
- package/dist/config/settings-resolver.d.ts.map +1 -1
- package/dist/config/settings-resolver.js +50 -21
- package/dist/config/settings-resolver.js.map +1 -1
- package/dist/core2/snapshot.d.ts +21 -0
- package/dist/core2/snapshot.d.ts.map +1 -0
- package/dist/core2/snapshot.js +214 -0
- package/dist/core2/snapshot.js.map +1 -0
- package/dist/{core → flow}/agents.d.ts.map +1 -1
- package/dist/{core → flow}/agents.js +5 -2
- package/dist/{core → flow}/agents.js.map +1 -1
- package/dist/flow/auto-warp.d.ts +1 -1
- package/dist/flow/auto-warp.js +1 -1
- package/dist/flow/command.d.ts +1 -1
- package/dist/flow/command.d.ts.map +1 -1
- package/dist/flow/complexity.d.ts +20 -0
- package/dist/flow/complexity.d.ts.map +1 -0
- package/dist/flow/complexity.js +34 -0
- package/dist/flow/complexity.js.map +1 -0
- package/dist/flow/continuation.d.ts +1 -1
- package/dist/flow/continuation.d.ts.map +1 -1
- package/dist/flow/continuation.js +4 -3
- package/dist/flow/continuation.js.map +1 -1
- package/dist/{core → flow}/depth.d.ts +4 -4
- package/dist/{core → flow}/depth.d.ts.map +1 -1
- package/dist/{core → flow}/depth.js +5 -5
- package/dist/{core → flow}/depth.js.map +1 -1
- package/dist/{core → flow}/executor.d.ts +42 -22
- package/dist/flow/executor.d.ts.map +1 -0
- package/dist/flow/executor.js +727 -0
- package/dist/flow/executor.js.map +1 -0
- package/dist/flow/index.d.ts +4 -4
- package/dist/flow/index.d.ts.map +1 -1
- package/dist/flow/index.js +4 -4
- package/dist/flow/index.js.map +1 -1
- package/dist/flow/loop-command.d.ts +1 -1
- package/dist/flow/loop-command.d.ts.map +1 -1
- package/dist/flow/loop-command.js +3 -0
- package/dist/flow/loop-command.js.map +1 -1
- package/dist/{core/flow.d.ts → flow/runner.d.ts} +20 -16
- package/dist/flow/runner.d.ts.map +1 -0
- package/dist/{core/flow.js → flow/runner.js} +105 -61
- package/dist/flow/runner.js.map +1 -0
- package/dist/{core → flow}/session-registry.d.ts.map +1 -1
- package/dist/{core → flow}/session-registry.js.map +1 -1
- package/dist/flow/settings-command.d.ts +3 -3
- package/dist/flow/settings-command.d.ts.map +1 -1
- package/dist/flow/settings-command.js +43 -22
- package/dist/flow/settings-command.js.map +1 -1
- package/dist/{core/delegation.d.ts → flow/transition.d.ts} +8 -8
- package/dist/{core/delegation.d.ts.map → flow/transition.d.ts.map} +1 -1
- package/dist/{core/delegation.js → flow/transition.js} +12 -12
- package/dist/{core/delegation.js.map → flow/transition.js.map} +1 -1
- package/dist/flow/types.d.ts +4 -0
- package/dist/flow/types.d.ts.map +1 -1
- package/dist/flow/warp.d.ts +15 -0
- package/dist/flow/warp.d.ts.map +1 -0
- package/dist/flow/warp.js +207 -0
- package/dist/flow/warp.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +237 -89
- package/dist/index.js.map +1 -1
- package/dist/notify/notify.d.ts +1 -1
- package/dist/notify/notify.d.ts.map +1 -1
- package/dist/notify/notify.js +1 -1
- package/dist/snapshot/cli-args.d.ts +2 -2
- package/dist/snapshot/cli-args.d.ts.map +1 -1
- package/dist/snapshot/cli-args.js +21 -5
- package/dist/snapshot/cli-args.js.map +1 -1
- package/dist/snapshot/runner-events.d.ts +7 -2
- package/dist/snapshot/runner-events.d.ts.map +1 -1
- package/dist/snapshot/runner-events.js +137 -19
- package/dist/snapshot/runner-events.js.map +1 -1
- package/dist/snapshot/structured-output.d.ts +1 -1
- package/dist/snapshot/structured-output.d.ts.map +1 -1
- package/dist/snapshot/structured-output.js +20 -2
- package/dist/snapshot/structured-output.js.map +1 -1
- package/dist/steering/flow-prompt.d.ts +4 -4
- package/dist/steering/flow-prompt.d.ts.map +1 -1
- package/dist/steering/flow-prompt.js +18 -37
- package/dist/steering/flow-prompt.js.map +1 -1
- package/dist/steering/sliding-prompt.d.ts.map +1 -1
- package/dist/steering/sliding-prompt.js +8 -7
- package/dist/steering/sliding-prompt.js.map +1 -1
- package/dist/steering/tool-utils.d.ts +31 -8
- package/dist/steering/tool-utils.d.ts.map +1 -1
- package/dist/steering/tool-utils.js +63 -30
- package/dist/steering/tool-utils.js.map +1 -1
- package/dist/tools/ask-user.d.ts +2 -19
- package/dist/tools/ask-user.d.ts.map +1 -1
- package/dist/tools/ask-user.js +14 -38
- package/dist/tools/ask-user.js.map +1 -1
- package/dist/tools/timed-bash.d.ts +1 -1
- package/dist/tools/timed-bash.d.ts.map +1 -1
- package/dist/tools/timed-bash.js +11 -9
- package/dist/tools/timed-bash.js.map +1 -1
- package/dist/tools/trace.d.ts +34 -0
- package/dist/tools/trace.d.ts.map +1 -0
- package/dist/tools/trace.js +180 -0
- package/dist/tools/trace.js.map +1 -0
- package/dist/tools/web-ops.d.ts +85 -0
- package/dist/tools/web-ops.d.ts.map +1 -0
- package/dist/tools/{web-tool.js → web-ops.js} +51 -127
- package/dist/tools/web-ops.js.map +1 -0
- package/dist/tui/flow-colors.d.ts +1 -0
- package/dist/tui/flow-colors.d.ts.map +1 -1
- package/dist/tui/flow-colors.js +2 -2
- package/dist/tui/flow-colors.js.map +1 -1
- package/dist/tui/render-utils.d.ts.map +1 -1
- package/dist/tui/render-utils.js +2 -4
- package/dist/tui/render-utils.js.map +1 -1
- package/dist/tui/render.d.ts +41 -1
- package/dist/tui/render.d.ts.map +1 -1
- package/dist/tui/render.js +724 -189
- package/dist/tui/render.js.map +1 -1
- package/dist/tui/scramble/algorithm.d.ts +4 -2
- package/dist/tui/scramble/algorithm.d.ts.map +1 -1
- package/dist/tui/scramble/algorithm.js +44 -12
- package/dist/tui/scramble/algorithm.js.map +1 -1
- package/dist/tui/scramble/constants.d.ts +3 -0
- package/dist/tui/scramble/constants.d.ts.map +1 -1
- package/dist/tui/scramble/constants.js +4 -1
- package/dist/tui/scramble/constants.js.map +1 -1
- package/dist/tui/scramble/index.d.ts +3 -2
- package/dist/tui/scramble/index.d.ts.map +1 -1
- package/dist/tui/scramble/index.js +2 -2
- package/dist/tui/scramble/index.js.map +1 -1
- package/dist/tui/scramble/manager.d.ts +2 -2
- package/dist/tui/scramble/manager.d.ts.map +1 -1
- package/dist/tui/scramble/manager.js +37 -20
- package/dist/tui/scramble/manager.js.map +1 -1
- package/dist/tui/scramble/utils.js +1 -1
- package/dist/tui/scramble/utils.js.map +1 -1
- package/dist/types/flow.d.ts +17 -1
- package/dist/types/flow.d.ts.map +1 -1
- package/dist/types/flow.js +11 -2
- package/dist/types/flow.js.map +1 -1
- package/dist/types/output.d.ts +11 -36
- package/dist/types/output.d.ts.map +1 -1
- package/dist/types/output.js +1 -1
- package/dist/types/ui.d.ts +1 -1
- package/dist/types/ui.d.ts.map +1 -1
- package/package.json +10 -10
- package/dist/core/executor.d.ts.map +0 -1
- package/dist/core/executor.js +0 -378
- package/dist/core/executor.js.map +0 -1
- package/dist/core/flow.d.ts.map +0 -1
- package/dist/core/flow.js.map +0 -1
- package/dist/core/session-mode.d.ts +0 -11
- package/dist/core/session-mode.d.ts.map +0 -1
- package/dist/core/session-mode.js +0 -26
- package/dist/core/session-mode.js.map +0 -1
- package/dist/core/transitions.d.ts +0 -39
- package/dist/core/transitions.d.ts.map +0 -1
- package/dist/core/transitions.js +0 -59
- package/dist/core/transitions.js.map +0 -1
- package/dist/flow/perform-warp.d.ts +0 -28
- package/dist/flow/perform-warp.d.ts.map +0 -1
- package/dist/flow/perform-warp.js +0 -127
- package/dist/flow/perform-warp.js.map +0 -1
- package/dist/flow/warp-command.d.ts +0 -8
- package/dist/flow/warp-command.d.ts.map +0 -1
- package/dist/flow/warp-command.js +0 -144
- package/dist/flow/warp-command.js.map +0 -1
- package/dist/flow/warp-utils.d.ts +0 -11
- package/dist/flow/warp-utils.d.ts.map +0 -1
- package/dist/flow/warp-utils.js +0 -187
- package/dist/flow/warp-utils.js.map +0 -1
- package/dist/snapshot/index.d.ts +0 -2
- package/dist/snapshot/index.d.ts.map +0 -1
- package/dist/snapshot/index.js +0 -2
- package/dist/snapshot/index.js.map +0 -1
- package/dist/snapshot/reasoning-strip.d.ts +0 -22
- package/dist/snapshot/reasoning-strip.d.ts.map +0 -1
- package/dist/snapshot/reasoning-strip.js +0 -58
- package/dist/snapshot/reasoning-strip.js.map +0 -1
- package/dist/snapshot/snapshot.d.ts +0 -77
- package/dist/snapshot/snapshot.d.ts.map +0 -1
- package/dist/snapshot/snapshot.js +0 -1791
- package/dist/snapshot/snapshot.js.map +0 -1
- package/dist/tools/web-tool.d.ts +0 -46
- package/dist/tools/web-tool.d.ts.map +0 -1
- package/dist/tools/web-tool.js.map +0 -1
- /package/dist/{core → flow}/agents.d.ts +0 -0
- /package/dist/{core → flow}/session-registry.d.ts +0 -0
- /package/dist/{core → flow}/session-registry.js +0 -0
|
@@ -10,29 +10,43 @@ import * as os from "node:os";
|
|
|
10
10
|
import * as path from "node:path";
|
|
11
11
|
import { getFlowTier } from "./agents.js";
|
|
12
12
|
import { getInheritedCliArgs } from "../snapshot/cli-args.js";
|
|
13
|
-
import { processFlowJsonLine, drainStreamingText, drainStreamingEstimate, drainCtxEstimate, updateSmoothedTps, drainSmoothedTps } from "../snapshot/runner-events.js";
|
|
13
|
+
import { processFlowJsonLine, drainStreamingText, drainStreamingEstimate, drainToolCallEstimate, drainCtxEstimate, updateSmoothedTps, drainSmoothedTps } from "../snapshot/runner-events.js";
|
|
14
14
|
import { emptyFlowUsage, getFlowOutput, normalizeFlowResult, } from "../types/flow.js";
|
|
15
15
|
import { extractStructuredOutput, generateCommandsFromHistory } from "../snapshot/structured-output.js";
|
|
16
16
|
import { logWarn, logError } from '../config/log.js';
|
|
17
|
-
import {
|
|
17
|
+
import { DEFAULT_COMPLEXITY, getComplexityTimeoutMs } from "./complexity.js";
|
|
18
|
+
function getEnvInt(name, fallback) {
|
|
19
|
+
const raw = process.env[name];
|
|
20
|
+
if (!raw)
|
|
21
|
+
return fallback;
|
|
22
|
+
const parsed = parseInt(raw, 10);
|
|
23
|
+
return Number.isFinite(parsed) ? parsed : fallback;
|
|
24
|
+
}
|
|
18
25
|
const isWindows = process.platform === "win32";
|
|
19
|
-
const SIGKILL_TIMEOUT_MS = 5000;
|
|
20
|
-
const FINISH_KILL_GRACE_MS = 5_000; // wait 5s after finish() before force-killing the child process
|
|
21
|
-
const AGENT_END_GRACE_MS = 2000;
|
|
22
|
-
const FLOW_TIME_BUDGET_WARNING_MS = 2 * 60 * 1000; // warn 2 min before kill
|
|
23
|
-
const FLOW_FINAL_URGE_MS = 135 * 1000; // final urge 135 s (2m15s) before kill (increased from 30s for wider summary window)
|
|
24
|
-
const REPORTING_GRACE_MS = 90_000; // grace period after timeout for agent to report findings (increased from 10s to 90s)
|
|
25
|
-
const SNAP_THRESHOLD_MS = 120_000; // threshold for proportional short-budget timer logic
|
|
26
|
+
const SIGKILL_TIMEOUT_MS = getEnvInt("PI_FLOW_SIGKILL_TIMEOUT_MS", 5000);
|
|
27
|
+
const FINISH_KILL_GRACE_MS = getEnvInt("PI_FLOW_FINISH_KILL_GRACE_MS", 5_000); // wait 5s after finish() before force-killing the child process
|
|
28
|
+
const AGENT_END_GRACE_MS = getEnvInt("PI_FLOW_AGENT_END_GRACE_MS", 2000);
|
|
29
|
+
const FLOW_TIME_BUDGET_WARNING_MS = getEnvInt("PI_FLOW_TIME_BUDGET_WARNING_MS", 2 * 60 * 1000); // warn 2 min before kill
|
|
30
|
+
const FLOW_FINAL_URGE_MS = getEnvInt("PI_FLOW_FINAL_URGE_MS", 135 * 1000); // final urge 135 s (2m15s) before kill (increased from 30s for wider summary window)
|
|
31
|
+
const REPORTING_GRACE_MS = getEnvInt("PI_FLOW_REPORTING_GRACE_MS", 90_000); // grace period after timeout for agent to report findings (increased from 10s to 90s)
|
|
32
|
+
const SNAP_THRESHOLD_MS = getEnvInt("PI_FLOW_SNAP_THRESHOLD_MS", 120_000); // threshold for proportional short-budget timer logic
|
|
26
33
|
const FLOW_TOOL_SUMMARY_GRACE_MS = FLOW_FINAL_URGE_MS; // bash/tool abort lead time so the agent can summarize
|
|
27
34
|
import { FLOW_DEPTH_ENV, FLOW_MAX_DEPTH_ENV, FLOW_STACK_ENV, FLOW_PREVENT_CYCLES_ENV, FLOW_TOOL_OPTIMIZE_ENV, } from "./depth.js";
|
|
28
|
-
import {
|
|
35
|
+
import { computeTransitionState, buildGuardLine, buildTransitionRule, buildFlowListSection, buildLineage, computeChildPropagation, } from "./transition.js";
|
|
29
36
|
const FLOW_DEADLINE_ENV = "PI_FLOW_DEADLINE_MS";
|
|
30
37
|
const FLOW_TOOL_SUMMARY_GRACE_ENV = "PI_FLOW_TOOL_SUMMARY_GRACE_MS";
|
|
31
38
|
const PI_OFFLINE_ENV = "PI_OFFLINE";
|
|
32
39
|
const FLOW_REMINDER_FILE_ENV = "PI_FLOW_REMINDER_FILE";
|
|
33
40
|
const FLOW_DUMP_SNAPSHOT_ENV = "PI_FLOW_DUMP_SNAPSHOT";
|
|
34
41
|
const packageJsonPath = path.join(path.dirname(new URL(import.meta.url).pathname), "../..", "package.json");
|
|
35
|
-
|
|
42
|
+
let pipelineVersion = "0.0.0";
|
|
43
|
+
try {
|
|
44
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
|
|
45
|
+
pipelineVersion = pkg.version ?? "0.0.0";
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
/* best-effort: fallback to 0.0.0 if package.json is missing or malformed */
|
|
49
|
+
}
|
|
36
50
|
// ---------------------------------------------------------------------------
|
|
37
51
|
// Global child process group tracking for signal propagation
|
|
38
52
|
// ---------------------------------------------------------------------------
|
|
@@ -137,8 +151,8 @@ function cleanupFlowTempDir(dir) {
|
|
|
137
151
|
try {
|
|
138
152
|
fs.rmSync(dir, { recursive: true, force: true });
|
|
139
153
|
}
|
|
140
|
-
catch {
|
|
141
|
-
|
|
154
|
+
catch (err) {
|
|
155
|
+
logWarn(`[pi-agent-flow] cleanupFlowTempDir failed: ${err}`);
|
|
142
156
|
}
|
|
143
157
|
}
|
|
144
158
|
// ---------------------------------------------------------------------------
|
|
@@ -197,13 +211,15 @@ function cleanupStaleDumps(dumpPath, maxAgeHours = 168) {
|
|
|
197
211
|
logError(`[pi-agent-flow] Cleaned ${deleted} stale dump file(s) from ${dir}`);
|
|
198
212
|
}
|
|
199
213
|
}
|
|
200
|
-
catch {
|
|
214
|
+
catch (err) {
|
|
215
|
+
logWarn(`[pi-agent-flow] cleanupStaleDumps failed: ${err}`);
|
|
216
|
+
}
|
|
201
217
|
}
|
|
202
218
|
// ---------------------------------------------------------------------------
|
|
203
219
|
// Reminder file helpers
|
|
204
220
|
// ---------------------------------------------------------------------------
|
|
205
221
|
/**
|
|
206
|
-
* Write a reminder message to the reminder file so the
|
|
222
|
+
* Write a reminder message to the reminder file so the flow state can see it
|
|
207
223
|
* via the timed-bash wrapper before its next tool call.
|
|
208
224
|
* Creates the file if it doesn't exist; appends the message.
|
|
209
225
|
*/
|
|
@@ -236,7 +252,7 @@ export function getOptimizedTools(flowTools, toolOptimize) {
|
|
|
236
252
|
? filtered
|
|
237
253
|
: [...filtered, "batch"];
|
|
238
254
|
}
|
|
239
|
-
function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, maxDepth = 0, toolOptimize = false, structuredOutput = true,
|
|
255
|
+
function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, maxDepth = 0, toolOptimize = false, structuredOutput = true, complexity = DEFAULT_COMPLEXITY, sessionTimeoutMs = getComplexityTimeoutMs(complexity), acceptance, discoveredFlows = [], parentFlowStack = [], preventCycles = true, goalContext, cwd, tools, preDispatchResults) {
|
|
240
256
|
const args = [
|
|
241
257
|
"--mode",
|
|
242
258
|
"json",
|
|
@@ -250,8 +266,8 @@ function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, ma
|
|
|
250
266
|
if (inheritedCliArgs.flowModelConfig) {
|
|
251
267
|
args.push("--flow-model-config", inheritedCliArgs.flowModelConfig);
|
|
252
268
|
}
|
|
253
|
-
if (inheritedCliArgs.
|
|
254
|
-
args.push("--flow-
|
|
269
|
+
if (inheritedCliArgs.flowComplexity) {
|
|
270
|
+
args.push("--flow-complexity", inheritedCliArgs.flowComplexity);
|
|
255
271
|
}
|
|
256
272
|
if (inheritedCliArgs.tieredModels?.lite) {
|
|
257
273
|
args.push("--flow-lite-model", inheritedCliArgs.tieredModels.lite);
|
|
@@ -270,33 +286,34 @@ function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, ma
|
|
|
270
286
|
const rawSkipSo = process.env["PI_FLOW_SKIP_STRUCTURED_DIRECTIVE"];
|
|
271
287
|
const skipStructuredDirective = rawSkipSo !== undefined && ["1", "true", "yes"].includes(rawSkipSo.trim().toLowerCase());
|
|
272
288
|
// Do not inherit the parent CLI `--thinking` level. Child flows often use a
|
|
273
|
-
// different tier/model than the
|
|
289
|
+
// different tier/model than the root state; inheriting `--thinking high` can
|
|
274
290
|
// be incompatible with the child model.
|
|
275
291
|
const thinking = flow.thinking;
|
|
276
292
|
if (thinking)
|
|
277
293
|
args.push("--thinking", thinking);
|
|
278
|
-
// Compute
|
|
279
|
-
//
|
|
280
|
-
const { currentDepth, effectiveMaxDepth,
|
|
294
|
+
// Compute transition depth before building tool list — children that can
|
|
295
|
+
// transition need the "flow" tool in their available set.
|
|
296
|
+
const { currentDepth, effectiveMaxDepth, canTransition } = computeTransitionState(parentDepth, maxDepth);
|
|
281
297
|
// Default tools for child flows. Legacy read/write/edit are NOT registered
|
|
282
298
|
// for children — only batch (which includes read/write ops) is available.
|
|
283
299
|
// The flow's frontmatter `tools` field overrides this default when set.
|
|
284
300
|
const defaultTools = toolOptimize
|
|
285
|
-
?
|
|
286
|
-
? ["batch", "bash", "flow"
|
|
287
|
-
: ["batch", "bash"
|
|
288
|
-
:
|
|
289
|
-
? ["batch", "bash", "flow"
|
|
290
|
-
: ["batch", "bash"
|
|
301
|
+
? canTransition
|
|
302
|
+
? ["batch", "bash", "flow"]
|
|
303
|
+
: ["batch", "bash"]
|
|
304
|
+
: canTransition
|
|
305
|
+
? ["batch", "bash", "flow"]
|
|
306
|
+
: ["batch", "bash"];
|
|
291
307
|
// getOptimizedTools replaces legacy read/write/edit with batch when
|
|
292
308
|
// toolOptimize is on. If the flow's frontmatter explicitly lists "flow",
|
|
293
309
|
// it passes through; otherwise the defaultTools above handle it.
|
|
294
|
-
const
|
|
310
|
+
const sourceTools = tools ?? flow.tools;
|
|
311
|
+
const optimizedTools = getOptimizedTools(sourceTools, toolOptimize) ?? defaultTools;
|
|
295
312
|
let harnessTools = optimizedTools;
|
|
296
313
|
// If the flow explicitly listed only tools that got filtered (e.g. just
|
|
297
314
|
// "web"), or the remaining tools lack essentials (batch/bash), fall back
|
|
298
315
|
// to defaultTools so the child isn't orphaned.
|
|
299
|
-
const hasEssentials = harnessTools.some((t) => t === "batch" || t === "bash");
|
|
316
|
+
const hasEssentials = harnessTools.some((t) => t === "batch" || t === "bash" || t === "batch_read");
|
|
300
317
|
if (harnessTools.length === 0 || !hasEssentials) {
|
|
301
318
|
harnessTools = [...new Set([...defaultTools, ...harnessTools])];
|
|
302
319
|
}
|
|
@@ -309,15 +326,15 @@ function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, ma
|
|
|
309
326
|
`The conversation above is sealed — it is your session history for situational awareness only.\n` +
|
|
310
327
|
`Your task begins NOW. Do not respond to or continue anything from the history.\n` +
|
|
311
328
|
`</context-seal>`;
|
|
312
|
-
// Phase 2: Activation — role, tools, depth,
|
|
329
|
+
// Phase 2: Activation — role, tools, depth, transition rules (dynamically generated)
|
|
313
330
|
const guardLine = buildGuardLine(currentDepth, effectiveMaxDepth, preventCycles, parentFlowStack);
|
|
314
|
-
const
|
|
315
|
-
const flowListSection = buildFlowListSection(
|
|
331
|
+
const transitionRule = buildTransitionRule(canTransition, guardLine);
|
|
332
|
+
const flowListSection = buildFlowListSection(canTransition, discoveredFlows);
|
|
316
333
|
const effectiveTier = flow.tier ?? getFlowTier(flow.name);
|
|
317
334
|
const lineage = buildLineage(flow.name, parentFlowStack);
|
|
318
335
|
const activation = `\n\n<activation flow="${flow.name}" depth="${currentDepth}" tools="${availableTools}" tier="${effectiveTier}" lineage="${lineage}">\n` +
|
|
319
336
|
`You are a [${flow.name}] agent operating at depth ${currentDepth}.\n` +
|
|
320
|
-
`${
|
|
337
|
+
`${transitionRule}\n` +
|
|
321
338
|
`${flowListSection}` +
|
|
322
339
|
`Do not attempt to use any tool outside the available set — it will fail.\n` +
|
|
323
340
|
`</activation>`;
|
|
@@ -325,9 +342,13 @@ function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, ma
|
|
|
325
342
|
let directiveBody = flow.systemPrompt.trim();
|
|
326
343
|
// Append structured output instructions when enabled (unless opted out via env).
|
|
327
344
|
if (structuredOutput && directiveBody && !skipStructuredDirective) {
|
|
345
|
+
const isAudit = flow.name.toLowerCase() === "audit";
|
|
346
|
+
const auditFields = isAudit
|
|
347
|
+
? " Also include `verdict: 'pass' | 'rework'` and `feedback: string` (required when verdict is 'rework', optional when 'pass'). When auditing multiple builds, also include `builds: { index: number, verdict: 'pass' | 'rework', feedback?: string }[]` with per-build verdicts."
|
|
348
|
+
: "";
|
|
328
349
|
directiveBody +=
|
|
329
350
|
`\n\n## Structured Output\n` +
|
|
330
|
-
`End with a \`\`\`json block: { version, status, summary, files[], actions[], notDone[], nextSteps[], reasoning[], notes[] }. Commands auto-extracted; omit empty arrays. Keep snippets under 300 chars. List at most 10 items per array
|
|
351
|
+
`End with a \`\`\`json block: { version, status, summary, files[], actions[], notDone[], nextSteps[], reasoning[], notes[]${isAudit ? ", verdict, feedback, builds" : ""} }. Commands auto-extracted; omit empty arrays. Keep snippets under 300 chars. List at most 10 items per array.${auditFields}`;
|
|
331
352
|
}
|
|
332
353
|
const directive = directiveBody
|
|
333
354
|
? `\n\n<directive>\n${directiveBody}\n</directive>`
|
|
@@ -339,17 +360,32 @@ function buildFlowArgs(flow, intent, forkSessionPath, model, parentDepth = 0, ma
|
|
|
339
360
|
`Follow the output format specified in your directive.\n` +
|
|
340
361
|
`</mission>`;
|
|
341
362
|
// Phase 4.5: Flow goal context (optional)
|
|
342
|
-
|
|
343
|
-
|
|
363
|
+
let goalSection = "";
|
|
364
|
+
if (goalContext?.objective) {
|
|
365
|
+
const completedSummary = goalContext.completedFlows?.length
|
|
366
|
+
? `\nCompleted steps:\n${goalContext.completedFlows.map(f => `- [${f.type}] ${f.aim}`).join("\n")}`
|
|
367
|
+
: "";
|
|
368
|
+
goalSection = `\n\n<flow>\nObjective: ${goalContext.objective}\n${goalContext.acceptance ? `Acceptance: ${goalContext.acceptance}\n` : ""}${goalContext.maxFlows !== undefined ? `Progress: ${goalContext.flowCount ?? 0}/${goalContext.maxFlows} flows used.\n` : ""}${completedSummary}\n</flow>`;
|
|
369
|
+
}
|
|
370
|
+
// Phase 4.6: Pre-dispatch results (optional)
|
|
371
|
+
const preDispatchSection = preDispatchResults
|
|
372
|
+
? `\n\n<pre-dispatch>\nThe following tool calls were already executed on your behalf. Continue your exploration from there, or synthesize the outputs, pick up necessary tool id to keep.\n\n${preDispatchResults}\n</pre-dispatch>`
|
|
344
373
|
: "";
|
|
345
374
|
// -p must immediately precede the prompt so the CLI parser binds it correctly
|
|
346
|
-
args.push("-p", `${contextSeal}${activation}${directive}${mission}${goalSection}`);
|
|
375
|
+
args.push("-p", `${contextSeal}${activation}${directive}${mission}${goalSection}${preDispatchSection}`);
|
|
347
376
|
return args;
|
|
348
377
|
}
|
|
349
378
|
/**
|
|
350
379
|
* Spawn a single flow process with forked session context.
|
|
351
380
|
*
|
|
352
381
|
* Returns a SingleResult even on failure (exitCode > 0, stderr populated).
|
|
382
|
+
*
|
|
383
|
+
* Why `spawn` instead of `pi.exec()`:
|
|
384
|
+
* - `pi.exec()` is designed for simple command execution (one-shot, wait for exit).
|
|
385
|
+
* - Flows need process-group isolation (detached mode on Unix), signal propagation,
|
|
386
|
+
* soft-timeout with background continuation, streaming stdout parsing, and
|
|
387
|
+
* mid-flight kill semantics. `spawn` gives full control over stdio, process
|
|
388
|
+
* groups, and lifecycle that `pi.exec()` does not expose.
|
|
353
389
|
*/
|
|
354
390
|
export async function runFlow(opts) {
|
|
355
391
|
const { cwd, flows, flowName, intent, aim, taskCwd, forkSessionSnapshotJsonl, parentDepth, parentFlowStack, maxDepth, preventCycles, toolOptimize = false, structuredOutput = true, model, signal, onUpdate, makeDetails, } = opts;
|
|
@@ -370,8 +406,8 @@ export async function runFlow(opts) {
|
|
|
370
406
|
...(resolvedMaxContextTokens !== undefined ? { maxContextTokens: resolvedMaxContextTokens } : {}),
|
|
371
407
|
};
|
|
372
408
|
}
|
|
373
|
-
const
|
|
374
|
-
const effectiveTimeout =
|
|
409
|
+
const effectiveComplexity = opts.complexity ?? DEFAULT_COMPLEXITY;
|
|
410
|
+
const effectiveTimeout = getComplexityTimeoutMs(effectiveComplexity);
|
|
375
411
|
const startedAtMs = Date.now();
|
|
376
412
|
const deadlineAtMs = effectiveTimeout > 0 ? startedAtMs + effectiveTimeout : undefined;
|
|
377
413
|
const resolvedModel = model ?? flow.model ?? inheritedCliArgs.fallbackModel;
|
|
@@ -400,15 +436,20 @@ export async function runFlow(opts) {
|
|
|
400
436
|
liveStreamingText += streamingDelta;
|
|
401
437
|
// Live text is stored per-toolCallId by the executor's emitProgress, not here.
|
|
402
438
|
const estimatedTokens = drainStreamingEstimate(result);
|
|
439
|
+
const toolCallTokens = drainToolCallEstimate(result);
|
|
403
440
|
if (result.usage.output !== lastActualOutputTokens) {
|
|
404
441
|
lastActualOutputTokens = result.usage.output;
|
|
405
442
|
liveEstimatedOutputTokens = result.usage.output;
|
|
406
443
|
}
|
|
407
|
-
liveEstimatedOutputTokens += estimatedTokens;
|
|
444
|
+
liveEstimatedOutputTokens += estimatedTokens + toolCallTokens;
|
|
408
445
|
const ctxEst = drainCtxEstimate(result);
|
|
409
446
|
updateSmoothedTps(result, estimatedTokens);
|
|
410
447
|
const smoothedTps = drainSmoothedTps(result);
|
|
411
|
-
|
|
448
|
+
// Fallback TPS for providers that don't emit streaming deltas (e.g., Fireworks k2p6).
|
|
449
|
+
const elapsedSec = (Date.now() - startedAtMs) / 1000;
|
|
450
|
+
const fallbackTps = elapsedSec > 0.5 && smoothedTps <= 0 ? result.usage.output / elapsedSec : 0;
|
|
451
|
+
const displayTps = smoothedTps > 0 ? smoothedTps : fallbackTps;
|
|
452
|
+
const mergedUsage = mergeStreamingUsage(result.usage, liveEstimatedOutputTokens, ctxEst, displayTps);
|
|
412
453
|
onUpdate?.({
|
|
413
454
|
content: [
|
|
414
455
|
{
|
|
@@ -427,7 +468,7 @@ export async function runFlow(opts) {
|
|
|
427
468
|
forkSessionTmpDir = forkTmp.dir;
|
|
428
469
|
forkSessionTmpPath = forkTmp.filePath;
|
|
429
470
|
}
|
|
430
|
-
// Create a temp dir for the reminder file so the
|
|
471
|
+
// Create a temp dir for the reminder file so the flow state can read timeout warnings
|
|
431
472
|
// via the timed-bash wrapper before its next tool call.
|
|
432
473
|
let reminderTmpDir = null;
|
|
433
474
|
let reminderFilePath = null;
|
|
@@ -435,8 +476,15 @@ export async function runFlow(opts) {
|
|
|
435
476
|
reminderTmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "pi-flow-reminder-"));
|
|
436
477
|
reminderFilePath = path.join(reminderTmpDir, "reminder.txt");
|
|
437
478
|
}
|
|
479
|
+
if (signal?.aborted) {
|
|
480
|
+
result.exitCode = 130;
|
|
481
|
+
result.stopReason = "aborted";
|
|
482
|
+
result.errorMessage = "Flow was aborted.";
|
|
483
|
+
result.stderr = "Flow was aborted.";
|
|
484
|
+
return result;
|
|
485
|
+
}
|
|
438
486
|
try {
|
|
439
|
-
const piArgs = buildFlowArgs(flow, intent, forkSessionTmpPath, model, parentDepth, maxDepth, toolOptimize, structuredOutput,
|
|
487
|
+
const piArgs = buildFlowArgs(flow, intent, forkSessionTmpPath, model, parentDepth, maxDepth, toolOptimize, structuredOutput, effectiveComplexity, effectiveTimeout, opts.acceptance, flows, parentFlowStack, preventCycles, opts.goalContext, cwd, opts.tools, opts.preDispatchResults);
|
|
440
488
|
// Dump verbatim child payload to disk for debugging when requested.
|
|
441
489
|
const dumpPath = process.env[FLOW_DUMP_SNAPSHOT_ENV] || inheritedCliArgs.dumpPath;
|
|
442
490
|
if (dumpPath) {
|
|
@@ -444,16 +492,8 @@ export async function runFlow(opts) {
|
|
|
444
492
|
cleanupStaleDumps(dumpPath, Number.isFinite(maxAgeHours) && maxAgeHours > 0 ? maxAgeHours : 168);
|
|
445
493
|
const promptIndex = piArgs.indexOf("-p");
|
|
446
494
|
const prompt = promptIndex >= 0 ? piArgs[promptIndex + 1] : "";
|
|
447
|
-
// Use out-of-band compression stats provided via RunFlowOptions.
|
|
448
|
-
let compressionStats = "";
|
|
449
|
-
let passesApplied = [];
|
|
450
|
-
if (opts.compressionStats) {
|
|
451
|
-
compressionStats = `\n\n## Compression Stats\n\n- Pre-sanitization: ${opts.compressionStats.preBytes} bytes\n- Post-sanitization: ${opts.compressionStats.postBytes} bytes\n- Reduction: ${opts.compressionStats.reductionPercent}%`;
|
|
452
|
-
passesApplied = Array.isArray(opts.compressionStats.passesApplied) ? opts.compressionStats.passesApplied : [];
|
|
453
|
-
}
|
|
454
495
|
const effectiveTier = flow.tier ?? getFlowTier(flow.name);
|
|
455
|
-
const
|
|
456
|
-
const sanitizationHeader = `<!-- pi-agent-flow dump | State: post-sanitization | Passes: ${passesList} | Flow: ${flow.name} | Tier: ${effectiveTier} | Pipeline: ${pipelineVersion} | Generated: ${new Date().toISOString()} -->`;
|
|
496
|
+
const sanitizationHeader = `<!-- pi-agent-flow dump | Flow: ${flow.name} | Tier: ${effectiveTier} | Pipeline: ${pipelineVersion} | Generated: ${new Date().toISOString()} -->`;
|
|
457
497
|
const markdownParts = [
|
|
458
498
|
sanitizationHeader,
|
|
459
499
|
``,
|
|
@@ -461,7 +501,7 @@ export async function runFlow(opts) {
|
|
|
461
501
|
if (forkSessionSnapshotJsonl) {
|
|
462
502
|
markdownParts.push(`## Session Snapshot (JSONL)`, ``, ...forkSessionSnapshotJsonl.split("\n"), ``);
|
|
463
503
|
}
|
|
464
|
-
markdownParts.push(`## Activation Prompt (-p)`, ``, prompt
|
|
504
|
+
markdownParts.push(`## Activation Prompt (-p)`, ``, prompt);
|
|
465
505
|
const markdown = markdownParts.join("\n");
|
|
466
506
|
const uniqueDumpPath = makeUniqueDumpPath(dumpPath, flow.name);
|
|
467
507
|
const uniqueTxtPath = makeUniqueDumpTxtPath(uniqueDumpPath);
|
|
@@ -493,7 +533,7 @@ export async function runFlow(opts) {
|
|
|
493
533
|
const { command, prefixArgs } = resolveFlowSpawn();
|
|
494
534
|
if (dumpPath) {
|
|
495
535
|
const distDir = path.dirname(new URL(import.meta.url).pathname);
|
|
496
|
-
const srcDir = path.join(distDir, "..", "src");
|
|
536
|
+
const srcDir = path.join(distDir, "..", "..", "src");
|
|
497
537
|
const checkStale = (srcFile, distFile) => {
|
|
498
538
|
try {
|
|
499
539
|
const srcMtime = fs.statSync(path.join(srcDir, srcFile)).mtimeMs;
|
|
@@ -504,7 +544,7 @@ export async function runFlow(opts) {
|
|
|
504
544
|
return false;
|
|
505
545
|
}
|
|
506
546
|
};
|
|
507
|
-
if (checkStale("snapshot.ts", "snapshot.js") || checkStale("flow.ts", "
|
|
547
|
+
if (checkStale("core2/snapshot.ts", "../core2/snapshot.js") || checkStale("flow/runner.ts", "runner.js")) {
|
|
508
548
|
logWarn("⚠️ Source newer than dist — run npm run build for accurate dumps");
|
|
509
549
|
}
|
|
510
550
|
}
|
|
@@ -514,6 +554,7 @@ export async function runFlow(opts) {
|
|
|
514
554
|
stdio: ["pipe", "pipe", "pipe"],
|
|
515
555
|
// Process group on Unix so we can kill all descendants on timeout/abort.
|
|
516
556
|
detached: !isWindows,
|
|
557
|
+
...(signal ? { signal } : {}),
|
|
517
558
|
env: {
|
|
518
559
|
...process.env,
|
|
519
560
|
[FLOW_DEPTH_ENV]: String(nextDepth),
|
|
@@ -744,7 +785,7 @@ export async function runFlow(opts) {
|
|
|
744
785
|
const remainingSec = Math.round(FLOW_TIME_BUDGET_WARNING_MS / 1000);
|
|
745
786
|
const warnMsg = `\n[Flow warning] ${remainingSec}s remaining before hard timeout. The agent should wrap up now.`;
|
|
746
787
|
result.stderr += warnMsg;
|
|
747
|
-
// Write to reminder file so the
|
|
788
|
+
// Write to reminder file so the flow state sees it on its next bash call.
|
|
748
789
|
writeReminderFile(reminderFilePath, `[Flow warning] ${remainingSec}s remaining before hard timeout. Wrap up your work and output structured findings.`);
|
|
749
790
|
// Force an update so the parent UI shows the warning immediately.
|
|
750
791
|
emitUpdate();
|
|
@@ -760,7 +801,7 @@ export async function runFlow(opts) {
|
|
|
760
801
|
const remainingSec = Math.round(FLOW_FINAL_URGE_MS / 1000);
|
|
761
802
|
const urgeMsg = `\n[Flow warning] ${remainingSec}s remaining before hard timeout. Stop all work and output your structured findings.`;
|
|
762
803
|
result.stderr += urgeMsg;
|
|
763
|
-
// Write to reminder file so the
|
|
804
|
+
// Write to reminder file so the flow state sees it on its next bash call.
|
|
764
805
|
writeReminderFile(reminderFilePath, `[Flow urge] ${remainingSec}s remaining before hard timeout. STOP all tool use and output your structured findings NOW.`);
|
|
765
806
|
emitUpdate();
|
|
766
807
|
}, urgeMs);
|
|
@@ -790,8 +831,11 @@ export async function runFlow(opts) {
|
|
|
790
831
|
// During streaming, emitUpdate() only merges smoothedTps into a temporary display object;
|
|
791
832
|
// without this, result.usage.smoothedTps stays at 0 and the UI shows a dash.
|
|
792
833
|
const finalSmoothedTps = drainSmoothedTps(result);
|
|
793
|
-
|
|
794
|
-
|
|
834
|
+
const finalElapsedSec = (Date.now() - startedAtMs) / 1000;
|
|
835
|
+
const finalTps = finalSmoothedTps > 0 ? finalSmoothedTps
|
|
836
|
+
: (finalElapsedSec > 0 ? result.usage.output / finalElapsedSec : 0);
|
|
837
|
+
if (finalTps > 0) {
|
|
838
|
+
result.usage.smoothedTps = finalTps;
|
|
795
839
|
}
|
|
796
840
|
const normalized = normalizeFlowResult(result, wasAborted);
|
|
797
841
|
// Extract structured JSON output from the final assistant text
|
|
@@ -833,4 +877,4 @@ export async function mapFlowConcurrent(items, concurrency, fn) {
|
|
|
833
877
|
await Promise.all(Array.from({ length: limit }, () => worker()));
|
|
834
878
|
return results;
|
|
835
879
|
}
|
|
836
|
-
//# sourceMappingURL=
|
|
880
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/flow/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-registry.d.ts","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"session-registry.d.ts","sourceRoot":"","sources":["../../src/flow/session-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAK5C;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5D;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,MAAM,GAAG,SAAS,CAE3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../../src/flow/session-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,mBAAmB;AAC/D,IAAI,QAA4B,CAAC;AAEjC,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,SAAiB;IACrD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7B,QAAQ,GAAG,GAAG,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;QACrB,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,MAAM;IACpB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* /flow:settings slash command registration.
|
|
3
3
|
*
|
|
4
4
|
* Subcommands: steering, strategic-hint, animation, glitch,
|
|
5
|
-
* tool-optimize, structured-output,
|
|
5
|
+
* tool-optimize, structured-output, complexity, max-concurrency, reset
|
|
6
6
|
*
|
|
7
7
|
* When called with no arguments, opens an interactive TUI overlay.
|
|
8
8
|
*/
|
|
9
|
-
import type { ExtensionAPI } from "@
|
|
10
|
-
import { type Component, type KeybindingsManager } from "@
|
|
9
|
+
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
10
|
+
import { type Component, type KeybindingsManager } from "@earendil-works/pi-tui";
|
|
11
11
|
export interface SettingItem {
|
|
12
12
|
id: string;
|
|
13
13
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-command.d.ts","sourceRoot":"","sources":["../../src/flow/settings-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAkC,MAAM
|
|
1
|
+
{"version":3,"file":"settings-command.d.ts","sourceRoot":"","sources":["../../src/flow/settings-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAkC,MAAM,iCAAiC,CAAC;AAMpG,OAAO,EAEN,KAAK,SAAS,EAEd,KAAK,kBAAkB,EAUvB,MAAM,wBAAwB,CAAC;AAWhC,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,KAAK,IAAI,KAAK,SAAS,CAAC;IACtF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,CAAC;IACnD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/B;AAED,qBAAa,YAAa,YAAW,SAAS;IAC7C,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAuB;gBAG9C,KAAK,EAAE,WAAW,EAAE,EACpB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EAChD,QAAQ,EAAE,MAAM,IAAI;IAUrB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO/C,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAO/B,OAAO,CAAC,cAAc;IAkEtB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA4B/B,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;CAInB;AAyXD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CA8b3D"}
|