pi-agent-flow 1.8.1 → 1.8.3

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.
Files changed (154) hide show
  1. package/README.md +4 -30
  2. package/agents/audit.md +1 -2
  3. package/agents/build.md +1 -0
  4. package/agents/craft.md +12 -8
  5. package/agents/debug.md +2 -2
  6. package/agents/ideas.md +1 -0
  7. package/agents/scout.md +1 -0
  8. package/dist/agents.d.ts +41 -0
  9. package/dist/agents.d.ts.map +1 -0
  10. package/dist/agents.js +283 -0
  11. package/dist/agents.js.map +1 -0
  12. package/dist/batch/batch-bash.d.ts +87 -0
  13. package/dist/batch/batch-bash.d.ts.map +1 -0
  14. package/dist/batch/batch-bash.js +369 -0
  15. package/dist/batch/batch-bash.js.map +1 -0
  16. package/dist/batch/constants.d.ts +100 -0
  17. package/dist/batch/constants.d.ts.map +1 -0
  18. package/dist/batch/constants.js +15 -0
  19. package/dist/batch/constants.js.map +1 -0
  20. package/dist/batch/execute.d.ts +21 -0
  21. package/dist/batch/execute.d.ts.map +1 -0
  22. package/dist/batch/execute.js +440 -0
  23. package/dist/batch/execute.js.map +1 -0
  24. package/dist/batch/fuzzy-edit.d.ts +29 -0
  25. package/dist/batch/fuzzy-edit.d.ts.map +1 -0
  26. package/dist/batch/fuzzy-edit.js +257 -0
  27. package/dist/batch/fuzzy-edit.js.map +1 -0
  28. package/dist/batch/index.d.ts +85 -0
  29. package/dist/batch/index.d.ts.map +1 -0
  30. package/dist/batch/index.js +422 -0
  31. package/dist/batch/index.js.map +1 -0
  32. package/dist/batch/render.d.ts +14 -0
  33. package/dist/batch/render.d.ts.map +1 -0
  34. package/dist/batch/render.js +74 -0
  35. package/dist/batch/render.js.map +1 -0
  36. package/dist/batch/symbols.d.ts +9 -0
  37. package/dist/batch/symbols.d.ts.map +1 -0
  38. package/dist/batch/symbols.js +310 -0
  39. package/dist/batch/symbols.js.map +1 -0
  40. package/dist/batch.d.ts +12 -0
  41. package/dist/batch.d.ts.map +1 -0
  42. package/dist/batch.js +11 -0
  43. package/dist/batch.js.map +1 -0
  44. package/dist/cli-args.d.ts +27 -0
  45. package/dist/cli-args.d.ts.map +1 -0
  46. package/dist/cli-args.js +265 -0
  47. package/dist/cli-args.js.map +1 -0
  48. package/dist/config.d.ts +58 -0
  49. package/dist/config.d.ts.map +1 -0
  50. package/dist/config.js +296 -0
  51. package/dist/config.js.map +1 -0
  52. package/dist/depth.d.ts +25 -0
  53. package/dist/depth.d.ts.map +1 -0
  54. package/dist/depth.js +160 -0
  55. package/dist/depth.js.map +1 -0
  56. package/dist/executor.d.ts +87 -0
  57. package/dist/executor.d.ts.map +1 -0
  58. package/dist/executor.js +295 -0
  59. package/dist/executor.js.map +1 -0
  60. package/dist/flow-prompt.d.ts +23 -0
  61. package/dist/flow-prompt.d.ts.map +1 -0
  62. package/dist/flow-prompt.js +99 -0
  63. package/dist/flow-prompt.js.map +1 -0
  64. package/dist/flow.d.ts +76 -0
  65. package/dist/flow.d.ts.map +1 -0
  66. package/dist/flow.js +704 -0
  67. package/dist/flow.js.map +1 -0
  68. package/dist/index.d.ts +10 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +327 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/reasoning-strip.d.ts +26 -0
  73. package/dist/reasoning-strip.d.ts.map +1 -0
  74. package/dist/reasoning-strip.js +58 -0
  75. package/dist/reasoning-strip.js.map +1 -0
  76. package/dist/render-utils.d.ts +42 -0
  77. package/dist/render-utils.d.ts.map +1 -0
  78. package/dist/render-utils.js +182 -0
  79. package/dist/render-utils.js.map +1 -0
  80. package/dist/render.d.ts +24 -0
  81. package/dist/render.d.ts.map +1 -0
  82. package/dist/render.js +409 -0
  83. package/dist/render.js.map +1 -0
  84. package/dist/runner-events.d.ts +59 -0
  85. package/dist/runner-events.d.ts.map +1 -0
  86. package/dist/runner-events.js +539 -0
  87. package/dist/runner-events.js.map +1 -0
  88. package/dist/session-mode.d.ts +10 -0
  89. package/dist/session-mode.d.ts.map +1 -0
  90. package/dist/session-mode.js +25 -0
  91. package/dist/session-mode.js.map +1 -0
  92. package/dist/settings-resolver.d.ts +28 -0
  93. package/dist/settings-resolver.d.ts.map +1 -0
  94. package/dist/settings-resolver.js +148 -0
  95. package/dist/settings-resolver.js.map +1 -0
  96. package/dist/sliding-prompt.d.ts +40 -0
  97. package/dist/sliding-prompt.d.ts.map +1 -0
  98. package/dist/sliding-prompt.js +121 -0
  99. package/dist/sliding-prompt.js.map +1 -0
  100. package/dist/snapshot.d.ts +29 -0
  101. package/dist/snapshot.d.ts.map +1 -0
  102. package/dist/snapshot.js +199 -0
  103. package/dist/snapshot.js.map +1 -0
  104. package/dist/structured-output.d.ts +36 -0
  105. package/dist/structured-output.d.ts.map +1 -0
  106. package/dist/structured-output.js +244 -0
  107. package/dist/structured-output.js.map +1 -0
  108. package/dist/timed-bash.d.ts +45 -0
  109. package/dist/timed-bash.d.ts.map +1 -0
  110. package/dist/timed-bash.js +219 -0
  111. package/dist/timed-bash.js.map +1 -0
  112. package/dist/tool-utils.d.ts +20 -0
  113. package/dist/tool-utils.d.ts.map +1 -0
  114. package/dist/tool-utils.js +38 -0
  115. package/dist/tool-utils.js.map +1 -0
  116. package/dist/transitions.d.ts +39 -0
  117. package/dist/transitions.d.ts.map +1 -0
  118. package/dist/transitions.js +59 -0
  119. package/dist/transitions.js.map +1 -0
  120. package/dist/types.d.ts +207 -0
  121. package/dist/types.d.ts.map +1 -0
  122. package/dist/types.js +143 -0
  123. package/dist/types.js.map +1 -0
  124. package/dist/web-tool.d.ts +35 -0
  125. package/dist/web-tool.d.ts.map +1 -0
  126. package/dist/web-tool.js +545 -0
  127. package/dist/web-tool.js.map +1 -0
  128. package/package.json +7 -5
  129. package/src/agents.ts +0 -299
  130. package/src/ambient.d.ts +0 -107
  131. package/src/batch/batch-bash.ts +0 -443
  132. package/src/batch/constants.ts +0 -128
  133. package/src/batch/execute.ts +0 -551
  134. package/src/batch/fuzzy-edit.ts +0 -323
  135. package/src/batch/index.ts +0 -494
  136. package/src/batch/render.ts +0 -81
  137. package/src/batch/symbols.ts +0 -341
  138. package/src/batch.ts +0 -28
  139. package/src/cli-args.ts +0 -315
  140. package/src/config.ts +0 -391
  141. package/src/executor.ts +0 -445
  142. package/src/flow.ts +0 -834
  143. package/src/hooks.ts +0 -294
  144. package/src/index.ts +0 -1132
  145. package/src/render-utils.ts +0 -205
  146. package/src/render.ts +0 -524
  147. package/src/runner-events.ts +0 -692
  148. package/src/session-mode.ts +0 -33
  149. package/src/sliding-prompt.ts +0 -144
  150. package/src/structured-output.ts +0 -195
  151. package/src/timed-bash.ts +0 -270
  152. package/src/transitions.ts +0 -86
  153. package/src/types.ts +0 -386
  154. package/src/web-tool.ts +0 -663
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-events.js","sourceRoot":"","sources":["../src/runner-events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const AGENT_SESSION_MODES: readonly ["fast", "default", "long", "extreme_long"];
2
+ export type AgentSessionMode = typeof AGENT_SESSION_MODES[number];
3
+ export declare const DEFAULT_AGENT_SESSION_MODE: AgentSessionMode;
4
+ export declare const MAX_AGENT_SESSION_TIMEOUT_MS = 1200000;
5
+ export declare const PI_FLOW_SESSION_MODE_ENV = "PI_FLOW_SESSION_MODE";
6
+ export declare const AGENT_SESSION_TIMEOUTS_MS: Record<AgentSessionMode, number>;
7
+ export declare function parseAgentSessionMode(value: unknown): AgentSessionMode | undefined;
8
+ export declare function resolveAgentSessionMode(value: unknown, fallback?: AgentSessionMode): AgentSessionMode;
9
+ export declare function getAgentSessionTimeoutMs(mode: AgentSessionMode): number;
10
+ //# sourceMappingURL=session-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-mode.d.ts","sourceRoot":"","sources":["../src/session-mode.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,sDAAuD,CAAC;AAExF,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElE,eAAO,MAAM,0BAA0B,EAAE,gBAA4B,CAAC;AACtE,eAAO,MAAM,4BAA4B,UAAY,CAAC;AACtD,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAE/D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAKtE,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAMlF;AAED,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,OAAO,EACd,QAAQ,GAAE,gBAA6C,GACrD,gBAAgB,CAElB;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAEvE"}
@@ -0,0 +1,25 @@
1
+ export const AGENT_SESSION_MODES = ["fast", "default", "long", "extreme_long"];
2
+ export const DEFAULT_AGENT_SESSION_MODE = "default";
3
+ export const MAX_AGENT_SESSION_TIMEOUT_MS = 1_200_000;
4
+ export const PI_FLOW_SESSION_MODE_ENV = "PI_FLOW_SESSION_MODE";
5
+ export const AGENT_SESSION_TIMEOUTS_MS = {
6
+ fast: 300_000,
7
+ default: 600_000,
8
+ long: 900_000,
9
+ extreme_long: MAX_AGENT_SESSION_TIMEOUT_MS,
10
+ };
11
+ export function parseAgentSessionMode(value) {
12
+ if (typeof value !== "string")
13
+ return undefined;
14
+ const normalized = value.trim().toLowerCase();
15
+ return AGENT_SESSION_MODES.includes(normalized)
16
+ ? normalized
17
+ : undefined;
18
+ }
19
+ export function resolveAgentSessionMode(value, fallback = DEFAULT_AGENT_SESSION_MODE) {
20
+ return parseAgentSessionMode(value) ?? fallback;
21
+ }
22
+ export function getAgentSessionTimeoutMs(mode) {
23
+ return AGENT_SESSION_TIMEOUTS_MS[mode];
24
+ }
25
+ //# sourceMappingURL=session-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-mode.js","sourceRoot":"","sources":["../src/session-mode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAU,CAAC;AAIxF,MAAM,CAAC,MAAM,0BAA0B,GAAqB,SAAS,CAAC;AACtE,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC;AACtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE/D,MAAM,CAAC,MAAM,yBAAyB,GAAqC;IAC1E,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IACb,YAAY,EAAE,4BAA4B;CAC1C,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,KAAc;IACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAQ,mBAAyC,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrE,CAAC,CAAC,UAA8B;QAChC,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,KAAc,EACd,WAA6B,0BAA0B;IAEvD,OAAO,qBAAqB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAsB;IAC9D,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Settings resolution for session_start handler.
3
+ *
4
+ * Extracted from index.ts for single-responsibility and testability.
5
+ */
6
+ import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
7
+ import { type FlowConfig } from "./agents.js";
8
+ import { type LoadedFlowModelConfigs } from "./config.js";
9
+ import { type AgentSessionMode } from "./session-mode.js";
10
+ export interface ResolvedSettings {
11
+ toolOptimize: boolean;
12
+ structuredOutput: boolean;
13
+ maxConcurrency: number;
14
+ defaultSessionMode: AgentSessionMode;
15
+ discoveredFlows: FlowConfig[];
16
+ loadedFlowModelConfigs: LoadedFlowModelConfigs;
17
+ activeRuntimeFlowMode: string | undefined;
18
+ }
19
+ /**
20
+ * Resolve all flow settings from env vars, CLI flags, and settings files.
21
+ *
22
+ * Called from the session_start handler. Returns the resolved settings
23
+ * plus discovered flows and model configs.
24
+ */
25
+ export declare function resolveSettings(pi: ExtensionAPI, cwd: string): ResolvedSettings & {
26
+ projectFlowsDir: string | null;
27
+ };
28
+ //# sourceMappingURL=settings-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-resolver.d.ts","sourceRoot":"","sources":["../src/settings-resolver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAQN,KAAK,sBAAsB,EAC3B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAIN,KAAK,gBAAgB,EACrB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,WAAW,gBAAgB;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAMD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC9B,EAAE,EAAE,YAAY,EAChB,GAAG,EAAE,MAAM,GACT,gBAAgB,GAAG;IAAE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAgIvD"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Settings resolution for session_start handler.
3
+ *
4
+ * Extracted from index.ts for single-responsibility and testability.
5
+ */
6
+ import * as os from "node:os";
7
+ import { discoverFlows } from "./agents.js";
8
+ import { loadFlowModelConfigs, loadFlowSettings, loadProjectFlowModelConfigName, normalizeFlowModeName, selectFlowModelStrategy, writeGlobalFlowMode, formatFlowModelStrategy, } from "./config.js";
9
+ import { getInheritedCliArgs } from "./cli-args.js";
10
+ import { parseBoolean, FLOW_TOOL_OPTIMIZE_ENV } from "./depth.js";
11
+ import { DEFAULT_AGENT_SESSION_MODE, PI_FLOW_SESSION_MODE_ENV, parseAgentSessionMode, } from "./session-mode.js";
12
+ // ---------------------------------------------------------------------------
13
+ // Resolution
14
+ // ---------------------------------------------------------------------------
15
+ /**
16
+ * Resolve all flow settings from env vars, CLI flags, and settings files.
17
+ *
18
+ * Called from the session_start handler. Returns the resolved settings
19
+ * plus discovered flows and model configs.
20
+ */
21
+ export function resolveSettings(pi, cwd) {
22
+ const inheritedCliArgs = getInheritedCliArgs();
23
+ let toolOptimize = true;
24
+ let structuredOutput = true;
25
+ let maxConcurrency = 4;
26
+ let defaultSessionMode = DEFAULT_AGENT_SESSION_MODE;
27
+ const envToolOptimize = process.env[FLOW_TOOL_OPTIMIZE_ENV];
28
+ if (envToolOptimize !== undefined) {
29
+ const parsed = parseBoolean(envToolOptimize);
30
+ if (parsed !== null)
31
+ toolOptimize = parsed;
32
+ }
33
+ // Auto-discover flows
34
+ const discovery = discoverFlows(cwd, "all");
35
+ const discoveredFlows = discovery.flows;
36
+ let loadedFlowModelConfigs = loadFlowModelConfigs(cwd);
37
+ let activeRuntimeFlowMode = undefined;
38
+ // Resolve --flow-mode persistent switch
39
+ const requestedFlowMode = normalizeFlowModeName(pi.getFlag("flow-mode"));
40
+ if (requestedFlowMode !== undefined) {
41
+ if (!Object.prototype.hasOwnProperty.call(loadedFlowModelConfigs.configs, requestedFlowMode)) {
42
+ const availableModes = Object.keys(loadedFlowModelConfigs.configs).sort().join(", ") || "(none)";
43
+ console.warn(`[pi-agent-flow] Cannot switch flow mode to "${requestedFlowMode}"; no flowModelConfigs.${requestedFlowMode} strategy was found. Available modes: ${availableModes}.`);
44
+ }
45
+ else {
46
+ try {
47
+ writeGlobalFlowMode(requestedFlowMode);
48
+ const strategy = loadedFlowModelConfigs.configs[requestedFlowMode] ?? {};
49
+ const strategyDescription = formatFlowModelStrategy(requestedFlowMode, strategy);
50
+ console.warn(strategyDescription);
51
+ }
52
+ catch (error) {
53
+ const message = error instanceof Error ? error.message : String(error);
54
+ console.warn(`[pi-agent-flow] ${message}`);
55
+ }
56
+ const projectFlowModelConfig = loadProjectFlowModelConfigName(cwd);
57
+ if (projectFlowModelConfig !== undefined && projectFlowModelConfig !== requestedFlowMode) {
58
+ console.warn(`[pi-agent-flow] Switched global flow mode to "${requestedFlowMode}"; this project selects "${projectFlowModelConfig}" in .pi/settings.json, so future runs in this project may still use "${projectFlowModelConfig}" unless project settings are changed.`);
59
+ }
60
+ activeRuntimeFlowMode = requestedFlowMode;
61
+ loadedFlowModelConfigs = selectFlowModelStrategy(loadedFlowModelConfigs.configs, requestedFlowMode);
62
+ }
63
+ }
64
+ // Resolve settings from .pi/settings.json
65
+ const flowSettings = loadFlowSettings(cwd);
66
+ if (typeof flowSettings.structuredOutput === "boolean") {
67
+ structuredOutput = flowSettings.structuredOutput;
68
+ }
69
+ if (typeof flowSettings.maxConcurrency === "number") {
70
+ maxConcurrency = flowSettings.maxConcurrency;
71
+ }
72
+ // Resolve toolOptimize: CLI flag > env var > settings.json > default
73
+ const cliFlag = pi.getFlag("tool-optimize");
74
+ if (typeof flowSettings.toolOptimize === "boolean") {
75
+ toolOptimize = flowSettings.toolOptimize;
76
+ }
77
+ if (envToolOptimize !== undefined) {
78
+ const parsed = parseBoolean(envToolOptimize);
79
+ if (parsed !== null)
80
+ toolOptimize = parsed;
81
+ }
82
+ if (typeof cliFlag === "boolean") {
83
+ toolOptimize = cliFlag;
84
+ }
85
+ else if (typeof cliFlag === "string") {
86
+ const parsed = parseBoolean(cliFlag);
87
+ if (parsed !== null)
88
+ toolOptimize = parsed;
89
+ }
90
+ // Resolve sessionMode: CLI flag > env var > settings.json > default
91
+ defaultSessionMode = flowSettings.sessionMode ?? DEFAULT_AGENT_SESSION_MODE;
92
+ const envSessionModeRaw = process.env[PI_FLOW_SESSION_MODE_ENV];
93
+ if (envSessionModeRaw !== undefined) {
94
+ const envSessionMode = parseAgentSessionMode(envSessionModeRaw);
95
+ if (envSessionMode !== undefined) {
96
+ defaultSessionMode = envSessionMode;
97
+ }
98
+ else {
99
+ console.warn(`[pi-agent-flow] Ignoring invalid ${PI_FLOW_SESSION_MODE_ENV}="${envSessionModeRaw}". Expected fast, default, or long.`);
100
+ }
101
+ }
102
+ const cliSessionModeRaw = pi.getFlag("flow-session-mode");
103
+ if (typeof cliSessionModeRaw === "string") {
104
+ const cliSessionMode = parseAgentSessionMode(cliSessionModeRaw);
105
+ if (cliSessionMode !== undefined) {
106
+ defaultSessionMode = cliSessionMode;
107
+ }
108
+ else {
109
+ console.warn(`[pi-agent-flow] Ignoring invalid --flow-session-mode value "${cliSessionModeRaw}". Expected fast, default, or long.`);
110
+ }
111
+ }
112
+ else if (inheritedCliArgs.flowSessionMode !== undefined) {
113
+ defaultSessionMode = inheritedCliArgs.flowSessionMode;
114
+ }
115
+ // Resolve maxConcurrency: CLI flag > env var > settings.json > default
116
+ const cliConcurrency = pi.getFlag("flow-max-concurrency");
117
+ if (typeof cliConcurrency === "string") {
118
+ const parsed = Number(cliConcurrency);
119
+ if (Number.isSafeInteger(parsed) && parsed >= 1)
120
+ maxConcurrency = parsed;
121
+ }
122
+ else if (typeof cliConcurrency === "number" && Number.isSafeInteger(cliConcurrency) && cliConcurrency >= 1) {
123
+ maxConcurrency = cliConcurrency;
124
+ }
125
+ const envConcurrency = process.env["PI_FLOW_MAX_CONCURRENCY"];
126
+ if (envConcurrency !== undefined && typeof cliConcurrency === "undefined") {
127
+ const parsed = Number(envConcurrency);
128
+ if (Number.isSafeInteger(parsed) && parsed >= 1)
129
+ maxConcurrency = parsed;
130
+ }
131
+ // Cap concurrency to the number of available CPUs
132
+ if (typeof os.availableParallelism === "function") {
133
+ const hwConcurrency = os.availableParallelism();
134
+ if (hwConcurrency > 0)
135
+ maxConcurrency = Math.min(maxConcurrency, hwConcurrency);
136
+ }
137
+ return {
138
+ toolOptimize,
139
+ structuredOutput,
140
+ maxConcurrency,
141
+ defaultSessionMode,
142
+ discoveredFlows,
143
+ loadedFlowModelConfigs,
144
+ activeRuntimeFlowMode,
145
+ projectFlowsDir: discovery.projectFlowsDir,
146
+ };
147
+ }
148
+ //# sourceMappingURL=settings-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-resolver.js","sourceRoot":"","sources":["../src/settings-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Sliding system prompt utilities.
3
+ *
4
+ * Manages the sliding prompt tag that is injected before the latest user
5
+ * message each turn. Provides helpers for stripping, detecting, and building
6
+ * the prompt so they can be tested independently.
7
+ */
8
+ export declare const SLIDING_PROMPT_OPEN_TAG: string;
9
+ export declare const SLIDING_PROMPT_CLOSE_TAG: string;
10
+ export declare const SLIDING_PROMPT: string;
11
+ /** Input-message content types (string or multipart text-part array). */
12
+ type MessageContent = string | Array<{
13
+ type: string;
14
+ text?: string;
15
+ }>;
16
+ /** Strip any old sliding system prompt tags from a string. */
17
+ export declare function stripSlidingPromptText(text: string): string;
18
+ /** Strip sliding prompt tags from content (string or text-part array). */
19
+ export declare function stripSlidingPromptFromContent(content: string | {
20
+ type: string;
21
+ text?: string;
22
+ }[]): string | {
23
+ type: string;
24
+ text?: string;
25
+ }[];
26
+ /** Check whether content (string or text-part array) contains the sliding tag. */
27
+ export declare function contentContainsSlidingTag(content: MessageContent): boolean;
28
+ /** Deep-equality check that handles unordered object keys (unlike JSON.stringify). */
29
+ export declare function isJsonEqual(a: unknown, b: unknown): boolean;
30
+ /** Remove any existing sliding-system-prompt system messages and strip tags from user messages.
31
+ * Returns the sanitized messages and a flag indicating whether anything changed.
32
+ */
33
+ export declare function stripSlidingPromptsFromMessages(messages: any[]): {
34
+ messages: any[];
35
+ changed: boolean;
36
+ };
37
+ /** Build a system message containing the sliding prompt. */
38
+ export declare function makeSlidingPromptMessage(referenceMessage?: any): any;
39
+ export {};
40
+ //# sourceMappingURL=sliding-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sliding-prompt.d.ts","sourceRoot":"","sources":["../src/sliding-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,eAAO,MAAM,uBAAuB,QAAyD,CAAC;AAC9F,eAAO,MAAM,wBAAwB,QAA0D,CAAC;AAEhG,eAAO,MAAM,cAAc,QAMG,CAAC;AAgB/B,yEAAyE;AACzE,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAkBtE,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,0EAA0E;AAC1E,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GACjD,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,CAU5C;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAW1E;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAc3D;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAoBtG;AAED,4DAA4D;AAC5D,wBAAgB,wBAAwB,CAAC,gBAAgB,CAAC,EAAE,GAAG,GAAG,GAAG,CAMpE"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Sliding system prompt utilities.
3
+ *
4
+ * Manages the sliding prompt tag that is injected before the latest user
5
+ * message each turn. Provides helpers for stripping, detecting, and building
6
+ * the prompt so they can be tested independently.
7
+ */
8
+ import { randomUUID } from "node:crypto";
9
+ // ---------------------------------------------------------------------------
10
+ // Tag constants
11
+ // ---------------------------------------------------------------------------
12
+ const SLIDING_PROMPT_UUID = randomUUID();
13
+ export const SLIDING_PROMPT_OPEN_TAG = `<pi-flow-sliding-system id="${SLIDING_PROMPT_UUID}">`;
14
+ export const SLIDING_PROMPT_CLOSE_TAG = `</pi-flow-sliding-system id="${SLIDING_PROMPT_UUID}">`;
15
+ export const SLIDING_PROMPT = `${SLIDING_PROMPT_OPEN_TAG}\n` +
16
+ `You are operating with pi-agent-flow routing.\n` +
17
+ `If the answer is already in context, answer directly; otherwise delegate to the appropriate flow.\n` +
18
+ `For git, bash, CLI, or terminal tasks, delegate to [build].\n` +
19
+ `Child flows inherit your session context — write intents that focus on new work rather than restating what the child already sees.\n` +
20
+ `${SLIDING_PROMPT_CLOSE_TAG}`;
21
+ const SLIDING_PROMPT_RE = new RegExp(SLIDING_PROMPT_OPEN_TAG.replace(/[.*+?^${}()|[\]\\]/g, "\\$&") +
22
+ "[\\s\\S]*?" +
23
+ SLIDING_PROMPT_CLOSE_TAG.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "g");
24
+ /** Legacy regex to strip old bare sliding system prompt tags (no id attribute). */
25
+ const LEGACY_SLIDING_PROMPT_RE = /<pi-flow-sliding-system(?:\s[^>]*)?>[\s\S]*?<\/pi-flow-sliding-system(?:\s[^>]*)?>/g;
26
+ /** Type guard: is this a text-part with a string .text? */
27
+ function isTextPart(part) {
28
+ return (part != null &&
29
+ typeof part === "object" &&
30
+ "type" in part &&
31
+ part.type === "text" &&
32
+ "text" in part &&
33
+ typeof part.text === "string");
34
+ }
35
+ // ---------------------------------------------------------------------------
36
+ // Public helpers
37
+ // ---------------------------------------------------------------------------
38
+ /** Strip any old sliding system prompt tags from a string. */
39
+ export function stripSlidingPromptText(text) {
40
+ return text.replace(SLIDING_PROMPT_RE, "").replace(LEGACY_SLIDING_PROMPT_RE, "");
41
+ }
42
+ /** Strip sliding prompt tags from content (string or text-part array). */
43
+ export function stripSlidingPromptFromContent(content) {
44
+ if (typeof content === "string") {
45
+ return stripSlidingPromptText(content);
46
+ }
47
+ return content.map((c) => {
48
+ if (c.type === "text" && typeof c.text === "string") {
49
+ return { ...c, text: stripSlidingPromptText(c.text) };
50
+ }
51
+ return c;
52
+ });
53
+ }
54
+ /** Check whether content (string or text-part array) contains the sliding tag. */
55
+ export function contentContainsSlidingTag(content) {
56
+ const hasCurrent = (text) => text.includes(SLIDING_PROMPT_OPEN_TAG);
57
+ const hasLegacy = (text) => text.includes("<pi-flow-sliding-system>");
58
+ const check = (text) => hasCurrent(text) || hasLegacy(text);
59
+ if (typeof content === "string") {
60
+ return check(content);
61
+ }
62
+ if (Array.isArray(content)) {
63
+ return content.some((part) => isTextPart(part) && check(part.text));
64
+ }
65
+ return false;
66
+ }
67
+ /** Deep-equality check that handles unordered object keys (unlike JSON.stringify). */
68
+ export function isJsonEqual(a, b) {
69
+ if (Object.is(a, b))
70
+ return true;
71
+ if (a === null || b === null || typeof a !== "object" || typeof b !== "object")
72
+ return false;
73
+ if (Array.isArray(a) !== Array.isArray(b))
74
+ return false;
75
+ const keysA = Object.keys(a);
76
+ const keysB = Object.keys(b);
77
+ if (keysA.length !== keysB.length)
78
+ return false;
79
+ for (const key of keysA) {
80
+ if (!Object.prototype.hasOwnProperty.call(b, key))
81
+ return false;
82
+ if (!isJsonEqual(a[key], b[key]))
83
+ return false;
84
+ }
85
+ return true;
86
+ }
87
+ /** Remove any existing sliding-system-prompt system messages and strip tags from user messages.
88
+ * Returns the sanitized messages and a flag indicating whether anything changed.
89
+ */
90
+ export function stripSlidingPromptsFromMessages(messages) {
91
+ let changed = false;
92
+ const result = messages
93
+ .filter((msg) => {
94
+ // Remove dedicated sliding system prompt messages
95
+ if (msg.role === "system" && contentContainsSlidingTag(msg.content)) {
96
+ changed = true;
97
+ return false;
98
+ }
99
+ return true;
100
+ })
101
+ .map((msg) => {
102
+ // Also strip stray tags embedded in user/assistant messages
103
+ if (!("content" in msg))
104
+ return msg;
105
+ const stripped = stripSlidingPromptFromContent(msg.content);
106
+ if (isJsonEqual(stripped, msg.content))
107
+ return msg;
108
+ changed = true;
109
+ return { ...msg, content: stripped };
110
+ });
111
+ return { messages: result, changed };
112
+ }
113
+ /** Build a system message containing the sliding prompt. */
114
+ export function makeSlidingPromptMessage(referenceMessage) {
115
+ return {
116
+ role: "system",
117
+ content: SLIDING_PROMPT,
118
+ timestamp: referenceMessage?.timestamp,
119
+ };
120
+ }
121
+ //# sourceMappingURL=sliding-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sliding-prompt.js","sourceRoot":"","sources":["../src/sliding-prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Session snapshot building, sanitization, and flow result compression.
3
+ *
4
+ * Extracted from index.ts for single-responsibility and testability.
5
+ */
6
+ import { type CompressedFlowResult } from "./types.js";
7
+ export interface SessionSnapshotSource {
8
+ getHeader: () => unknown;
9
+ getBranch: () => unknown[];
10
+ }
11
+ export declare function buildForkSessionSnapshotJsonl(sessionManager: SessionSnapshotSource): string | null;
12
+ /**
13
+ * Render a compressed flow result as compact text for child context.
14
+ */
15
+ export declare function renderCompressedFlowResult(r: CompressedFlowResult): string;
16
+ /**
17
+ * Compress flow tool results in a sanitized session snapshot.
18
+ *
19
+ * Scans for tool result messages that correspond to flow invocations
20
+ * and replaces their content with compact compressed output.
21
+ */
22
+ export declare function compressFlowToolResults(snapshot: string, cache: Map<string, CompressedFlowResult[]>): string;
23
+ /**
24
+ * Sanitize a fork session snapshot JSONL to remove only non-inheritable
25
+ * artifacts before passing full parent context to child flows: sliding system
26
+ * prompts, legacy reminders, and assistant reasoning/thinking.
27
+ */
28
+ export declare function sanitizeForkSnapshot(snapshot: string | null, cache?: Map<string, CompressedFlowResult[]>): string | null;
29
+ //# sourceMappingURL=snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACN,KAAK,oBAAoB,EAEzB,MAAM,YAAY,CAAC;AAYpB,MAAM,WAAW,qBAAqB;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC;CAC3B;AAMD,wBAAgB,6BAA6B,CAC5C,cAAc,EAAE,qBAAqB,GACnC,MAAM,GAAG,IAAI,CAQf;AAMD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAgB1E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,GAAG,MAAM,CAmF5G;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAa,GAAG,MAAM,GAAG,IAAI,CA0DnI"}