@esso0428/pi-subagents 0.15.5 → 0.15.7

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 (234) hide show
  1. package/CHANGELOG.md +10 -19
  2. package/README.md +5 -5
  3. package/dist/agent-history-list.d.ts +19 -0
  4. package/dist/agent-history-list.d.ts.map +1 -0
  5. package/dist/agent-history-list.js +69 -0
  6. package/dist/agent-history-list.js.map +1 -0
  7. package/dist/agent-history.d.ts +2 -1
  8. package/dist/agent-history.d.ts.map +1 -0
  9. package/dist/agent-history.js +32 -34
  10. package/dist/agent-history.js.map +1 -0
  11. package/dist/agent-manager.d.ts +24 -8
  12. package/dist/agent-manager.d.ts.map +1 -0
  13. package/dist/agent-manager.js +171 -93
  14. package/dist/agent-manager.js.map +1 -0
  15. package/dist/agent-runner.d.ts +1 -0
  16. package/dist/agent-runner.d.ts.map +1 -0
  17. package/dist/agent-runner.js +75 -86
  18. package/dist/agent-runner.js.map +1 -0
  19. package/dist/agent-types.d.ts +1 -0
  20. package/dist/agent-types.d.ts.map +1 -0
  21. package/dist/agent-types.js +28 -45
  22. package/dist/agent-types.js.map +1 -0
  23. package/dist/context.d.ts +1 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/context.js +3 -6
  26. package/dist/context.js.map +1 -0
  27. package/dist/cross-extension-rpc.d.ts +1 -0
  28. package/dist/cross-extension-rpc.d.ts.map +1 -0
  29. package/dist/cross-extension-rpc.js +6 -9
  30. package/dist/cross-extension-rpc.js.map +1 -0
  31. package/dist/custom-agents.d.ts +1 -0
  32. package/dist/custom-agents.d.ts.map +1 -0
  33. package/dist/custom-agents.js +16 -18
  34. package/dist/custom-agents.js.map +1 -0
  35. package/dist/default-agents.d.ts +1 -0
  36. package/dist/default-agents.d.ts.map +1 -0
  37. package/dist/default-agents.js +2 -4
  38. package/dist/default-agents.js.map +1 -0
  39. package/dist/enabled-models.d.ts +1 -0
  40. package/dist/enabled-models.d.ts.map +1 -0
  41. package/dist/enabled-models.js +12 -16
  42. package/dist/enabled-models.js.map +1 -0
  43. package/dist/env.d.ts +1 -0
  44. package/dist/env.d.ts.map +1 -0
  45. package/dist/env.js +2 -4
  46. package/dist/env.js.map +1 -0
  47. package/dist/group-join.d.ts +1 -0
  48. package/dist/group-join.d.ts.map +1 -0
  49. package/dist/group-join.js +2 -5
  50. package/dist/group-join.js.map +1 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +306 -292
  54. package/dist/index.js.map +1 -0
  55. package/dist/invocation-config.d.ts +1 -0
  56. package/dist/invocation-config.d.ts.map +1 -0
  57. package/dist/invocation-config.js +3 -6
  58. package/dist/invocation-config.js.map +1 -0
  59. package/dist/memory.d.ts +1 -0
  60. package/dist/memory.d.ts.map +1 -0
  61. package/dist/memory.js +25 -34
  62. package/dist/memory.js.map +1 -0
  63. package/dist/model-resolver.d.ts +1 -0
  64. package/dist/model-resolver.d.ts.map +1 -0
  65. package/dist/model-resolver.js +2 -4
  66. package/dist/model-resolver.js.map +1 -0
  67. package/dist/nico-overrides.d.ts +1 -0
  68. package/dist/nico-overrides.d.ts.map +1 -0
  69. package/dist/nico-overrides.js +15 -20
  70. package/dist/nico-overrides.js.map +1 -0
  71. package/dist/output-file.d.ts +1 -0
  72. package/dist/output-file.d.ts.map +1 -0
  73. package/dist/output-file.js +17 -22
  74. package/dist/output-file.js.map +1 -0
  75. package/dist/prompts.d.ts +1 -0
  76. package/dist/prompts.d.ts.map +1 -0
  77. package/dist/prompts.js +2 -4
  78. package/dist/prompts.js.map +1 -0
  79. package/dist/schedule-store.d.ts +1 -0
  80. package/dist/schedule-store.d.ts.map +1 -0
  81. package/dist/schedule-store.js +17 -21
  82. package/dist/schedule-store.js.map +1 -0
  83. package/dist/schedule.d.ts +1 -0
  84. package/dist/schedule.d.ts.map +1 -0
  85. package/dist/schedule.js +9 -12
  86. package/dist/schedule.js.map +1 -0
  87. package/dist/settings.d.ts +1 -0
  88. package/dist/settings.d.ts.map +1 -0
  89. package/dist/settings.js +16 -23
  90. package/dist/settings.js.map +1 -0
  91. package/dist/skill-loader.d.ts +1 -0
  92. package/dist/skill-loader.d.ts.map +1 -0
  93. package/dist/skill-loader.js +21 -23
  94. package/dist/skill-loader.js.map +1 -0
  95. package/dist/status-note.d.ts +1 -0
  96. package/dist/status-note.d.ts.map +1 -0
  97. package/dist/status-note.js +2 -4
  98. package/dist/status-note.js.map +1 -0
  99. package/dist/types.d.ts +5 -1
  100. package/dist/types.d.ts.map +1 -0
  101. package/dist/types.js +2 -4
  102. package/dist/types.js.map +1 -0
  103. package/dist/ui/agent-widget.d.ts +2 -5
  104. package/dist/ui/agent-widget.d.ts.map +1 -0
  105. package/dist/ui/agent-widget.js +29 -51
  106. package/dist/ui/agent-widget.js.map +1 -0
  107. package/dist/ui/ccstyle/diff/ansi-utils.d.ts +11 -0
  108. package/dist/ui/ccstyle/diff/ansi-utils.d.ts.map +1 -0
  109. package/dist/ui/ccstyle/diff/ansi-utils.js +145 -0
  110. package/dist/ui/ccstyle/diff/ansi-utils.js.map +1 -0
  111. package/dist/ui/ccstyle/diff/diff-presentation.d.ts +12 -0
  112. package/dist/ui/ccstyle/diff/diff-presentation.d.ts.map +1 -0
  113. package/dist/ui/ccstyle/diff/diff-presentation.js +49 -0
  114. package/dist/ui/ccstyle/diff/diff-presentation.js.map +1 -0
  115. package/dist/ui/ccstyle/diff/diff-renderer.d.ts +46 -0
  116. package/dist/ui/ccstyle/diff/diff-renderer.d.ts.map +1 -0
  117. package/dist/ui/ccstyle/diff/diff-renderer.js +2044 -0
  118. package/dist/ui/ccstyle/diff/diff-renderer.js.map +1 -0
  119. package/dist/ui/ccstyle/diff/line-width-safety.d.ts +12 -0
  120. package/dist/ui/ccstyle/diff/line-width-safety.d.ts.map +1 -0
  121. package/dist/ui/ccstyle/diff/line-width-safety.js +59 -0
  122. package/dist/ui/ccstyle/diff/line-width-safety.js.map +1 -0
  123. package/dist/ui/ccstyle/diff/render-utils.d.ts +6 -0
  124. package/dist/ui/ccstyle/diff/render-utils.d.ts.map +1 -0
  125. package/dist/ui/ccstyle/diff/render-utils.js +25 -0
  126. package/dist/ui/ccstyle/diff/render-utils.js.map +1 -0
  127. package/dist/ui/ccstyle/diff/types.d.ts +22 -0
  128. package/dist/ui/ccstyle/diff/types.d.ts.map +1 -0
  129. package/dist/ui/ccstyle/diff/types.js +10 -0
  130. package/dist/ui/ccstyle/diff/types.js.map +1 -0
  131. package/dist/ui/ccstyle/diff/write-display-utils.d.ts +2 -0
  132. package/dist/ui/ccstyle/diff/write-display-utils.d.ts.map +1 -0
  133. package/dist/ui/ccstyle/diff/write-display-utils.js +12 -0
  134. package/dist/ui/ccstyle/diff/write-display-utils.js.map +1 -0
  135. package/dist/ui/ccstyle/tool-renderer.d.ts +17 -0
  136. package/dist/ui/ccstyle/tool-renderer.d.ts.map +1 -0
  137. package/dist/ui/ccstyle/tool-renderer.js +58 -0
  138. package/dist/ui/ccstyle/tool-renderer.js.map +1 -0
  139. package/dist/ui/ccstyle/tool-result.d.ts +24 -0
  140. package/dist/ui/ccstyle/tool-result.d.ts.map +1 -0
  141. package/dist/ui/ccstyle/tool-result.js +193 -0
  142. package/dist/ui/ccstyle/tool-result.js.map +1 -0
  143. package/dist/ui/conversation-blocks.d.ts +46 -0
  144. package/dist/ui/conversation-blocks.d.ts.map +1 -0
  145. package/dist/ui/conversation-blocks.js +306 -0
  146. package/dist/ui/conversation-blocks.js.map +1 -0
  147. package/dist/ui/conversation-nvim.d.ts +8 -0
  148. package/dist/ui/conversation-nvim.d.ts.map +1 -0
  149. package/dist/ui/conversation-nvim.js +117 -0
  150. package/dist/ui/conversation-nvim.js.map +1 -0
  151. package/dist/ui/conversation-role.d.ts +13 -0
  152. package/dist/ui/conversation-role.d.ts.map +1 -0
  153. package/dist/ui/conversation-role.js +39 -0
  154. package/dist/ui/conversation-role.js.map +1 -0
  155. package/dist/ui/conversation-search.d.ts +39 -0
  156. package/dist/ui/conversation-search.d.ts.map +1 -0
  157. package/dist/ui/conversation-search.js +124 -0
  158. package/dist/ui/conversation-search.js.map +1 -0
  159. package/dist/ui/conversation-timeline.d.ts +62 -0
  160. package/dist/ui/conversation-timeline.d.ts.map +1 -0
  161. package/dist/ui/conversation-timeline.js +263 -0
  162. package/dist/ui/conversation-timeline.js.map +1 -0
  163. package/dist/ui/conversation-viewer.d.ts +62 -20
  164. package/dist/ui/conversation-viewer.d.ts.map +1 -0
  165. package/dist/ui/conversation-viewer.js +449 -224
  166. package/dist/ui/conversation-viewer.js.map +1 -0
  167. package/dist/ui/fleet-list.d.ts +24 -11
  168. package/dist/ui/fleet-list.d.ts.map +1 -0
  169. package/dist/ui/fleet-list.js +86 -78
  170. package/dist/ui/fleet-list.js.map +1 -0
  171. package/dist/ui/schedule-menu.d.ts +1 -0
  172. package/dist/ui/schedule-menu.d.ts.map +1 -0
  173. package/dist/ui/schedule-menu.js +2 -4
  174. package/dist/ui/schedule-menu.js.map +1 -0
  175. package/dist/ui/viewer-keys.d.ts +1 -0
  176. package/dist/ui/viewer-keys.d.ts.map +1 -0
  177. package/dist/ui/viewer-keys.js +8 -10
  178. package/dist/ui/viewer-keys.js.map +1 -0
  179. package/dist/usage.d.ts +1 -0
  180. package/dist/usage.d.ts.map +1 -0
  181. package/dist/usage.js +5 -10
  182. package/dist/usage.js.map +1 -0
  183. package/dist/worktree.d.ts +1 -0
  184. package/dist/worktree.d.ts.map +1 -0
  185. package/dist/worktree.js +27 -31
  186. package/dist/worktree.js.map +1 -0
  187. package/dist/write-execution.d.ts +42 -0
  188. package/dist/write-execution.d.ts.map +1 -0
  189. package/dist/write-execution.js +138 -0
  190. package/dist/write-execution.js.map +1 -0
  191. package/package.json +1 -1
  192. package/src/agent-history-list.ts +91 -0
  193. package/src/agent-history.ts +12 -17
  194. package/src/agent-manager.ts +169 -81
  195. package/src/agent-runner.ts +12 -13
  196. package/src/index.ts +117 -98
  197. package/src/output-file.ts +1 -1
  198. package/src/types.ts +4 -1
  199. package/src/ui/agent-widget.ts +3 -9
  200. package/src/ui/ccstyle/ATTRIBUTION.md +37 -0
  201. package/src/ui/ccstyle/diff/ansi-utils.ts +168 -0
  202. package/src/ui/ccstyle/diff/diff-presentation.ts +70 -0
  203. package/src/ui/ccstyle/diff/diff-renderer.ts +3148 -0
  204. package/src/ui/ccstyle/diff/line-width-safety.ts +92 -0
  205. package/src/ui/ccstyle/diff/render-utils.ts +32 -0
  206. package/src/ui/ccstyle/diff/types.ts +33 -0
  207. package/src/ui/ccstyle/diff/write-display-utils.ts +12 -0
  208. package/src/ui/ccstyle/tool-renderer.ts +71 -0
  209. package/src/ui/ccstyle/tool-result.ts +238 -0
  210. package/src/ui/conversation-blocks.ts +404 -0
  211. package/src/ui/conversation-nvim.ts +127 -0
  212. package/src/ui/conversation-role.ts +45 -0
  213. package/src/ui/conversation-search.ts +161 -0
  214. package/src/ui/conversation-timeline.ts +315 -0
  215. package/src/ui/conversation-viewer.ts +418 -210
  216. package/src/ui/fleet-list.ts +73 -52
  217. package/src/write-execution.ts +180 -0
  218. package/test/agent-history-list.test.ts +121 -0
  219. package/test/agent-manager-history.test.ts +59 -58
  220. package/test/agent-menu-history-navigation.test.ts +86 -0
  221. package/test/output-file-history.test.ts +50 -0
  222. package/test/ui/conversation-blocks.test.ts +103 -0
  223. package/test/ui/conversation-diff.test.ts +91 -0
  224. package/test/ui/conversation-search.test.ts +55 -0
  225. package/test/ui/conversation-viewer.test.ts +182 -0
  226. package/test/ui/fleet-list.test.ts +131 -0
  227. package/test/write-execution.test.ts +83 -0
  228. package/tsconfig.json +16 -0
  229. package/vitest.temp.config.mts +6 -0
  230. package/dist/ui/markdown-result.d.ts +0 -3
  231. package/dist/ui/markdown-result.js +0 -53
  232. package/src/ui/markdown-result.ts +0 -56
  233. package/test/agent-history.test.ts +0 -63
  234. package/test/ui/markdown-result.test.ts +0 -45
@@ -1,47 +1,31 @@
1
- "use strict";
2
1
  /**
3
2
  * agent-runner.ts — Core execution engine: creates sessions, runs agents, collects results.
4
3
  */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SUBAGENT_TOOL_NAMES = void 0;
7
- exports.extensionCanonicalName = extensionCanonicalName;
8
- exports.extensionCanonicalNames = extensionCanonicalNames;
9
- exports.parseExtensionsSpec = parseExtensionsSpec;
10
- exports.parseExtSelectors = parseExtSelectors;
11
- exports.installExtensionToolScope = installExtensionToolScope;
12
- exports.normalizeMaxTurns = normalizeMaxTurns;
13
- exports.getDefaultMaxTurns = getDefaultMaxTurns;
14
- exports.setDefaultMaxTurns = setDefaultMaxTurns;
15
- exports.getGraceTurns = getGraceTurns;
16
- exports.setGraceTurns = setGraceTurns;
17
- exports.runAgent = runAgent;
18
- exports.resumeAgent = resumeAgent;
19
- exports.steerAgent = steerAgent;
20
- exports.getAgentConversation = getAgentConversation;
21
- const node_fs_1 = require("node:fs");
22
- const node_os_1 = require("node:os");
23
- const node_path_1 = require("node:path");
24
- const pi_coding_agent_1 = require("@earendil-works/pi-coding-agent");
25
- const agent_types_js_1 = require("./agent-types.js");
26
- const context_js_1 = require("./context.js");
27
- const default_agents_js_1 = require("./default-agents.js");
28
- const env_js_1 = require("./env.js");
29
- const memory_js_1 = require("./memory.js");
30
- const prompts_js_1 = require("./prompts.js");
31
- const skill_loader_js_1 = require("./skill-loader.js");
4
+ import { readFileSync } from "node:fs";
5
+ import { homedir } from "node:os";
6
+ import { basename, dirname, isAbsolute, join, resolve } from "node:path";
7
+ import { createAgentSession, DefaultResourceLoader, getAgentDir, SessionManager, SettingsManager, } from "@earendil-works/pi-coding-agent";
8
+ import { BUILTIN_TOOL_NAMES, getAgentConfig, getConfig, getMemoryToolNames, getReadOnlyMemoryToolNames, getToolNamesForType } from "./agent-types.js";
9
+ import { buildParentContext, extractText } from "./context.js";
10
+ import { DEFAULT_AGENTS } from "./default-agents.js";
11
+ import { detectEnv } from "./env.js";
12
+ import { buildMemoryBlock, buildReadOnlyMemoryBlock } from "./memory.js";
13
+ import { buildAgentPrompt } from "./prompts.js";
14
+ import { preloadSkills } from "./skill-loader.js";
15
+ import { createTrackedWriteTool } from "./write-execution.js";
32
16
  /**
33
17
  * Tool names registered by THIS extension. Single source of truth so the
34
18
  * registration sites (index.ts) and the subagent exclusion list below can't
35
19
  * drift apart. These are our own tools, not pi built-ins, so they can't be
36
20
  * derived from pi — but they only need defining once.
37
21
  */
38
- exports.SUBAGENT_TOOL_NAMES = {
22
+ export const SUBAGENT_TOOL_NAMES = {
39
23
  AGENT: "Agent",
40
24
  GET_RESULT: "get_subagent_result",
41
25
  STEER: "steer_subagent",
42
26
  };
43
27
  /** Names of tools registered by this extension that subagents must NOT inherit. */
44
- const EXCLUDED_TOOL_NAMES = Object.values(exports.SUBAGENT_TOOL_NAMES);
28
+ const EXCLUDED_TOOL_NAMES = Object.values(SUBAGENT_TOOL_NAMES);
45
29
  /**
46
30
  * Canonical name of an extension for `extensions: [...]` allowlist matching.
47
31
  * Lowercased — extension names match case-insensitively so `extensions: [Mcp]`
@@ -49,10 +33,10 @@ const EXCLUDED_TOOL_NAMES = Object.values(exports.SUBAGENT_TOOL_NAMES);
49
33
  * Directory extensions (`foo/index.ts`) resolve to the parent directory name;
50
34
  * single-file extensions to the basename minus `.ts`/`.js`.
51
35
  */
52
- function extensionCanonicalName(extPath) {
53
- const base = (0, node_path_1.basename)(extPath);
36
+ export function extensionCanonicalName(extPath) {
37
+ const base = basename(extPath);
54
38
  const name = base === "index.ts" || base === "index.js"
55
- ? (0, node_path_1.basename)((0, node_path_1.dirname)(extPath))
39
+ ? basename(dirname(extPath))
56
40
  : base.replace(/\.(ts|js)$/, "");
57
41
  return name.toLowerCase();
58
42
  }
@@ -76,18 +60,18 @@ function extensionCanonicalName(extPath) {
76
60
  * co-located file to `pi-subagents`.
77
61
  */
78
62
  function extensionPackageName(extPath) {
79
- const entry = (0, node_path_1.resolve)(extPath);
80
- let dir = (0, node_path_1.dirname)(extPath);
63
+ const entry = resolve(extPath);
64
+ let dir = dirname(extPath);
81
65
  for (;;) {
82
66
  // Climbing into node_modules means we've left the owning package's tree.
83
- if ((0, node_path_1.basename)(dir) === "node_modules")
67
+ if (basename(dir) === "node_modules")
84
68
  return undefined;
85
69
  let pkg;
86
70
  try {
87
- pkg = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(dir, "package.json"), "utf-8"));
71
+ pkg = JSON.parse(readFileSync(join(dir, "package.json"), "utf-8"));
88
72
  }
89
73
  catch {
90
- const parent = (0, node_path_1.dirname)(dir);
74
+ const parent = dirname(dir);
91
75
  if (parent === dir)
92
76
  return undefined; // walked to the filesystem root
93
77
  dir = parent;
@@ -97,7 +81,7 @@ function extensionPackageName(extPath) {
97
81
  const entries = pkg.pi?.extensions;
98
82
  if (typeof pkg.name === "string" &&
99
83
  Array.isArray(entries) &&
100
- entries.some((e) => typeof e === "string" && (0, node_path_1.resolve)(dir, e) === entry)) {
84
+ entries.some((e) => typeof e === "string" && resolve(dir, e) === entry)) {
101
85
  const short = pkg.name.startsWith("@") ? pkg.name.slice(pkg.name.indexOf("/") + 1) : pkg.name;
102
86
  return short.toLowerCase();
103
87
  }
@@ -112,7 +96,7 @@ function extensionPackageName(extPath) {
112
96
  * otherwise only ever match as `src` (the source directory), never by its
113
97
  * package name. The path-derived name is preserved, so it keeps matching too.
114
98
  */
115
- function extensionCanonicalNames(extPath) {
99
+ export function extensionCanonicalNames(extPath) {
116
100
  const canonical = extensionCanonicalName(extPath);
117
101
  const pkg = extensionPackageName(extPath);
118
102
  return pkg && pkg !== canonical ? [canonical, pkg] : [canonical];
@@ -128,7 +112,7 @@ function extensionCanonicalNames(extPath) {
128
112
  * everything by canonical name, so path-loaded extensions are matched via their name
129
113
  * rather than their post-staging `Extension.path`.
130
114
  */
131
- function parseExtensionsSpec(entries, cwd) {
115
+ export function parseExtensionsSpec(entries, cwd) {
132
116
  const names = new Set();
133
117
  const paths = [];
134
118
  let wildcard = false;
@@ -146,9 +130,9 @@ function parseExtensionsSpec(entries, cwd) {
146
130
  }
147
131
  let p = entry;
148
132
  if (p === "~" || p.startsWith("~/") || p.startsWith("~\\")) {
149
- p = (0, node_os_1.homedir)() + p.slice(1);
133
+ p = homedir() + p.slice(1);
150
134
  }
151
- const abs = (0, node_path_1.isAbsolute)(p) ? p : (0, node_path_1.resolve)(cwd, p);
135
+ const abs = isAbsolute(p) ? p : resolve(cwd, p);
152
136
  paths.push(abs);
153
137
  names.add(extensionCanonicalName(abs));
154
138
  }
@@ -164,7 +148,7 @@ function parseExtensionsSpec(entries, cwd) {
164
148
  * `ext:foo` alongside `ext:foo/bar` leaves narrowing in effect (narrowing wins).
165
149
  * The split is on the first `/`; extension canonical names never contain `/`.
166
150
  */
167
- function parseExtSelectors(entries) {
151
+ export function parseExtSelectors(entries) {
168
152
  const extNames = new Set();
169
153
  const narrowing = new Map();
170
154
  for (const raw of entries) {
@@ -218,7 +202,7 @@ function parseExtSelectors(entries) {
218
202
  * Only meaningful when extensions are loaded — under `noExtensions`/`isolated` the
219
203
  * static `allowedToolNames` allowlist already gates the registry itself.
220
204
  */
221
- function installExtensionToolScope(session, ctx) {
205
+ export function installExtensionToolScope(session, ctx) {
222
206
  const { loader, toolNames, disallowedSet, extNames, narrowing } = ctx;
223
207
  // The names allowed right now. Mirrors the `ext:` opt-in flip: when any `ext:`
224
208
  // selector is present, extension tools become an explicit allowlist — a loaded
@@ -277,21 +261,21 @@ function installExtensionToolScope(session, ctx) {
277
261
  /** Default max turns. undefined = unlimited (no turn limit). */
278
262
  let defaultMaxTurns;
279
263
  /** Normalize max turns. undefined or 0 = unlimited, otherwise minimum 1. */
280
- function normalizeMaxTurns(n) {
264
+ export function normalizeMaxTurns(n) {
281
265
  if (n == null || n === 0)
282
266
  return undefined;
283
267
  return Math.max(1, n);
284
268
  }
285
269
  /** Get the default max turns value. undefined = unlimited. */
286
- function getDefaultMaxTurns() { return defaultMaxTurns; }
270
+ export function getDefaultMaxTurns() { return defaultMaxTurns; }
287
271
  /** Set the default max turns value. undefined or 0 = unlimited, otherwise minimum 1. */
288
- function setDefaultMaxTurns(n) { defaultMaxTurns = normalizeMaxTurns(n); }
272
+ export function setDefaultMaxTurns(n) { defaultMaxTurns = normalizeMaxTurns(n); }
289
273
  /** Additional turns allowed after the soft limit steer message. */
290
274
  let graceTurns = 5;
291
275
  /** Get the grace turns value. */
292
- function getGraceTurns() { return graceTurns; }
276
+ export function getGraceTurns() { return graceTurns; }
293
277
  /** Set the grace turns value (minimum 1). */
294
- function setGraceTurns(n) { graceTurns = Math.max(1, n); }
278
+ export function setGraceTurns(n) { graceTurns = Math.max(1, n); }
295
279
  /**
296
280
  * Try to find the right model for an agent type.
297
281
  * Priority: explicit option > config.model > parent model.
@@ -346,7 +330,7 @@ function getLastAssistantText(session, startIndex = 0) {
346
330
  const msg = session.messages[i];
347
331
  if (msg.role !== "assistant")
348
332
  continue;
349
- const text = (0, context_js_1.extractText)(msg.content).trim();
333
+ const text = extractText(msg.content).trim();
350
334
  if (text)
351
335
  return text;
352
336
  }
@@ -374,7 +358,7 @@ function finalTurnError(session, startIndex = 0) {
374
358
  if (msg.stopReason === "error") {
375
359
  return msg.errorMessage?.trim() || "provider error with no output";
376
360
  }
377
- if (msg.stopReason === "length" && !(0, context_js_1.extractText)(msg.content).trim()) {
361
+ if (msg.stopReason === "length" && !extractText(msg.content).trim()) {
378
362
  return "run hit the output token limit before producing any text";
379
363
  }
380
364
  return undefined;
@@ -396,20 +380,20 @@ function resolveConfiguredSessionDir(sessionDir, cwd) {
396
380
  if (!sessionDir)
397
381
  return undefined;
398
382
  if (sessionDir === "~" || sessionDir.startsWith("~/"))
399
- return (0, node_path_1.resolve)((0, node_os_1.homedir)(), sessionDir.slice(2));
400
- if ((0, node_path_1.isAbsolute)(sessionDir))
383
+ return resolve(homedir(), sessionDir.slice(2));
384
+ if (isAbsolute(sessionDir))
401
385
  return sessionDir;
402
- return (0, node_path_1.resolve)(cwd, sessionDir);
386
+ return resolve(cwd, sessionDir);
403
387
  }
404
- async function runAgent(ctx, type, prompt, options) {
405
- const config = (0, agent_types_js_1.getConfig)(type);
406
- const agentConfig = (0, agent_types_js_1.getAgentConfig)(type);
388
+ export async function runAgent(ctx, type, prompt, options) {
389
+ const config = getConfig(type);
390
+ const agentConfig = getAgentConfig(type);
407
391
  // Resolve working directory: worktree override > parent cwd
408
392
  const effectiveCwd = options.cwd ?? ctx.cwd;
409
393
  // Filesystem work happens in effectiveCwd; config discovery in configCwd.
410
394
  // They differ only for SpawnOptions.cwd spawns (config stays with the parent).
411
395
  const configCwd = options.configCwd ?? effectiveCwd;
412
- const env = await (0, env_js_1.detectEnv)(options.pi, effectiveCwd);
396
+ const env = await detectEnv(options.pi, effectiveCwd);
413
397
  // Get parent system prompt for append-mode agents
414
398
  const parentSystemPrompt = ctx.getSystemPrompt();
415
399
  // Build prompt extras (memory, skill preloading)
@@ -422,12 +406,12 @@ async function runAgent(ctx, type, prompt, options) {
422
406
  const skills = options.isolated ? false : config.skills;
423
407
  // Skill preloading: when skills is string[], preload their content into prompt
424
408
  if (Array.isArray(skills)) {
425
- const loaded = (0, skill_loader_js_1.preloadSkills)(skills, configCwd);
409
+ const loaded = preloadSkills(skills, configCwd);
426
410
  if (loaded.length > 0) {
427
411
  extras.skillBlocks = loaded;
428
412
  }
429
413
  }
430
- let toolNames = (0, agent_types_js_1.getToolNamesForType)(type);
414
+ let toolNames = getToolNamesForType(type);
431
415
  // Persistent memory: detect write capability and branch accordingly.
432
416
  // Account for disallowedTools — a tool in the base set but on the denylist is not truly available.
433
417
  if (agentConfig?.memory) {
@@ -437,36 +421,36 @@ async function runAgent(ctx, type, prompt, options) {
437
421
  const hasWriteTools = effectivelyHas("write") || effectivelyHas("edit");
438
422
  if (hasWriteTools) {
439
423
  // Read-write memory: add any missing memory tool names (read/write/edit)
440
- const extraNames = (0, agent_types_js_1.getMemoryToolNames)(existingNames);
424
+ const extraNames = getMemoryToolNames(existingNames);
441
425
  if (extraNames.length > 0)
442
426
  toolNames = [...toolNames, ...extraNames];
443
- extras.memoryBlock = (0, memory_js_1.buildMemoryBlock)(agentConfig.name, agentConfig.memory, configCwd);
427
+ extras.memoryBlock = buildMemoryBlock(agentConfig.name, agentConfig.memory, configCwd);
444
428
  }
445
429
  else {
446
430
  // Read-only memory: only add read tool name, use read-only prompt
447
- const extraNames = (0, agent_types_js_1.getReadOnlyMemoryToolNames)(existingNames);
431
+ const extraNames = getReadOnlyMemoryToolNames(existingNames);
448
432
  if (extraNames.length > 0)
449
433
  toolNames = [...toolNames, ...extraNames];
450
- extras.memoryBlock = (0, memory_js_1.buildReadOnlyMemoryBlock)(agentConfig.name, agentConfig.memory, configCwd);
434
+ extras.memoryBlock = buildReadOnlyMemoryBlock(agentConfig.name, agentConfig.memory, configCwd);
451
435
  }
452
436
  }
453
437
  // Build system prompt from agent config
454
438
  let systemPrompt;
455
439
  if (agentConfig) {
456
- systemPrompt = (0, prompts_js_1.buildAgentPrompt)(agentConfig, effectiveCwd, env, parentSystemPrompt, extras);
440
+ systemPrompt = buildAgentPrompt(agentConfig, effectiveCwd, env, parentSystemPrompt, extras);
457
441
  }
458
442
  else {
459
443
  // Unknown type fallback: spread the canonical general-purpose config (defensive —
460
444
  // unreachable in practice since index.ts resolves unknown types before calling runAgent).
461
- const fallback = default_agents_js_1.DEFAULT_AGENTS.get("general-purpose");
445
+ const fallback = DEFAULT_AGENTS.get("general-purpose");
462
446
  if (!fallback)
463
447
  throw new Error(`No fallback config available for unknown type "${type}"`);
464
- systemPrompt = (0, prompts_js_1.buildAgentPrompt)({ ...fallback, name: type }, effectiveCwd, env, parentSystemPrompt, extras);
448
+ systemPrompt = buildAgentPrompt({ ...fallback, name: type }, effectiveCwd, env, parentSystemPrompt, extras);
465
449
  }
466
450
  // When skills is string[], we've already preloaded them into the prompt.
467
451
  // Still pass noSkills: true since we don't need the skill loader to load them again.
468
452
  const noSkills = skills === false || Array.isArray(skills);
469
- const agentDir = (0, pi_coding_agent_1.getAgentDir)();
453
+ const agentDir = getAgentDir();
470
454
  // Extension loading:
471
455
  // - true → all default-discovered extensions
472
456
  // - false → none (noExtensions)
@@ -519,7 +503,7 @@ async function runAgent(ctx, type, prompt, options) {
519
503
  }),
520
504
  };
521
505
  };
522
- const loader = new pi_coding_agent_1.DefaultResourceLoader({
506
+ const loader = new DefaultResourceLoader({
523
507
  cwd: configCwd,
524
508
  agentDir,
525
509
  noExtensions,
@@ -538,7 +522,7 @@ async function runAgent(ctx, type, prompt, options) {
538
522
  // this produced a silently broken agent (#75) — pi-mono accepted the bogus name
539
523
  // into the allowlist, then dropped it at registration with no signal back.
540
524
  if (agentConfig?.builtinToolNames?.length) {
541
- const knownBuiltins = new Set(agent_types_js_1.BUILTIN_TOOL_NAMES);
525
+ const knownBuiltins = new Set(BUILTIN_TOOL_NAMES);
542
526
  for (const name of agentConfig.builtinToolNames) {
543
527
  if (!knownBuiltins.has(name)) {
544
528
  options.onToolActivity?.({
@@ -641,7 +625,7 @@ async function runAgent(ctx, type, prompt, options) {
641
625
  else {
642
626
  const denyTools = new Set(EXCLUDED_TOOL_NAMES);
643
627
  // Keep only the built-ins the agent asked for — deny the rest.
644
- for (const name of agent_types_js_1.BUILTIN_TOOL_NAMES) {
628
+ for (const name of BUILTIN_TOOL_NAMES) {
645
629
  if (!builtinToolNameSet.has(name))
646
630
  denyTools.add(name);
647
631
  }
@@ -651,28 +635,32 @@ async function runAgent(ctx, type, prompt, options) {
651
635
  }
652
636
  sessionExcludeTools = [...denyTools];
653
637
  }
654
- const settingsManager = pi_coding_agent_1.SettingsManager.create(configCwd, agentDir);
638
+ const settingsManager = SettingsManager.create(configCwd, agentDir);
655
639
  const configuredSessionDir = resolveConfiguredSessionDir(agentConfig?.sessionDir, effectiveCwd);
656
640
  const defaultSessionDir = process.env.PI_CODING_AGENT_SESSION_DIR ?? settingsManager.getSessionDir?.();
657
641
  const sessionManager = agentConfig?.persistSession
658
- ? pi_coding_agent_1.SessionManager.create(effectiveCwd, configuredSessionDir ?? defaultSessionDir)
659
- : pi_coding_agent_1.SessionManager.inMemory(effectiveCwd);
642
+ ? SessionManager.create(effectiveCwd, configuredSessionDir ?? defaultSessionDir)
643
+ : SessionManager.inMemory(effectiveCwd);
644
+ // Keep write tracking session-local. The custom definition shadows only this
645
+ // child session's built-in write entry; the parent registry is untouched.
646
+ const trackedWriteTool = toolNames.includes("write")
647
+ ? createTrackedWriteTool(effectiveCwd)
648
+ : undefined;
660
649
  // Pi 0.80.8 replaced createAgentSession's modelRegistry option with
661
650
  // modelRuntime, but ExtensionContext still exposes only the registry facade.
662
651
  // Pass both so the full supported Pi range retains the parent's providers.
663
- const parentModelRuntime = ctx.modelRegistry.runtime;
652
+ const parentModelRuntime = ctx.modelRegistry.runtime ?? undefined;
664
653
  const sessionOpts = {
665
654
  cwd: effectiveCwd,
666
655
  agentDir,
667
656
  sessionManager,
668
657
  settingsManager,
669
658
  modelRegistry: ctx.modelRegistry,
670
- ...(parentModelRuntime != null && {
671
- modelRuntime: parentModelRuntime,
672
- }),
659
+ ...(parentModelRuntime !== undefined && { modelRuntime: parentModelRuntime }),
673
660
  model,
674
661
  tools: sessionTools,
675
662
  resourceLoader: loader,
663
+ ...(trackedWriteTool && { customTools: [trackedWriteTool] }),
676
664
  };
677
665
  if (sessionExcludeTools) {
678
666
  sessionOpts.excludeTools = sessionExcludeTools;
@@ -680,7 +668,7 @@ async function runAgent(ctx, type, prompt, options) {
680
668
  if (thinkingLevel) {
681
669
  sessionOpts.thinkingLevel = thinkingLevel;
682
670
  }
683
- const { session } = await (0, pi_coding_agent_1.createAgentSession)(sessionOpts);
671
+ const { session } = await createAgentSession(sessionOpts);
684
672
  const baseSessionName = agentConfig?.name ?? type;
685
673
  session.setSessionName(options.agentId ? `${baseSessionName}#${options.agentId.slice(0, 8)}` : baseSessionName);
686
674
  // Bind extensions so that session_start fires and extensions can initialize
@@ -763,7 +751,7 @@ async function runAgent(ctx, type, prompt, options) {
763
751
  // Build the effective prompt: optionally prepend parent context
764
752
  let effectivePrompt = prompt;
765
753
  if (options.inheritContext) {
766
- const parentContext = (0, context_js_1.buildParentContext)(ctx);
754
+ const parentContext = buildParentContext(ctx);
767
755
  if (parentContext) {
768
756
  effectivePrompt = parentContext + prompt;
769
757
  }
@@ -785,7 +773,7 @@ async function runAgent(ctx, type, prompt, options) {
785
773
  /**
786
774
  * Send a new prompt to an existing session (resume).
787
775
  */
788
- async function resumeAgent(session, prompt, options = {}) {
776
+ export async function resumeAgent(session, prompt, options = {}) {
789
777
  // Boundary for the history fallback: the session already holds prior turns,
790
778
  // so only assistant text produced by THIS resume prompt counts as its output
791
779
  // — a failed resume must not surface the previous turn's answer (#144).
@@ -829,19 +817,19 @@ async function resumeAgent(session, prompt, options = {}) {
829
817
  * Send a steering message to a running subagent.
830
818
  * The message will interrupt the agent after its current tool execution.
831
819
  */
832
- async function steerAgent(session, message) {
820
+ export async function steerAgent(session, message) {
833
821
  await session.steer(message);
834
822
  }
835
823
  /**
836
824
  * Get the subagent's conversation messages as formatted text.
837
825
  */
838
- function getAgentConversation(session) {
826
+ export function getAgentConversation(session) {
839
827
  const parts = [];
840
828
  for (const msg of session.messages) {
841
829
  if (msg.role === "user") {
842
830
  const text = typeof msg.content === "string"
843
831
  ? msg.content
844
- : (0, context_js_1.extractText)(msg.content);
832
+ : extractText(msg.content);
845
833
  if (text.trim())
846
834
  parts.push(`[User]: ${text.trim()}`);
847
835
  }
@@ -860,10 +848,11 @@ function getAgentConversation(session) {
860
848
  parts.push(`[Tool Calls]:\n${toolCalls.join("\n")}`);
861
849
  }
862
850
  else if (msg.role === "toolResult") {
863
- const text = (0, context_js_1.extractText)(msg.content);
851
+ const text = extractText(msg.content);
864
852
  const truncated = text.length > 200 ? text.slice(0, 200) + "..." : text;
865
853
  parts.push(`[Tool Result (${msg.toolName})]: ${truncated}`);
866
854
  }
867
855
  }
868
856
  return parts.join("\n\n");
869
857
  }
858
+ //# sourceMappingURL=agent-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-runner.js","sourceRoot":"","sources":["../src/agent-runner.ts"],"names":[],"mappings":"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"}
@@ -65,3 +65,4 @@ export declare function getConfig(type: string): {
65
65
  skills: true | string[] | false;
66
66
  promptMode: "replace" | "append";
67
67
  };
68
+ //# sourceMappingURL=agent-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-types.d.ts","sourceRoot":"","sources":["../src/agent-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,EAEtC,CAAC;AAQF,iDAAiD;AACjD,wBAAgB,kBAAkB,IAAI,OAAO,CAA4B;AAEzE,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAAyB;AAE9E;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAczE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC;AAYD,sFAAsF;AACtF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE5D;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAGpE;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED,6DAA6D;AAC7D,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAI/C;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED,+DAA+D;AAC/D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAIjD;AAKD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE3E;AAKD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAEnF;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAO1D;AAED,+HAA+H;AAC/H,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC,CAsCA"}