actoviq-agent-sdk 0.4.11 → 0.4.13

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 (308) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/dist/src/computer/hadamardComputerUse.d.ts +15 -0
  3. package/dist/src/computer/hadamardComputerUse.d.ts.map +1 -1
  4. package/dist/src/computer/hadamardComputerUse.js +120 -4
  5. package/dist/src/computer/hadamardComputerUse.js.map +1 -1
  6. package/dist/src/config/agentDefinitionMigration.d.ts +125 -0
  7. package/dist/src/config/agentDefinitionMigration.d.ts.map +1 -0
  8. package/dist/src/config/agentDefinitionMigration.js +540 -0
  9. package/dist/src/config/agentDefinitionMigration.js.map +1 -0
  10. package/dist/src/config/agentProfiles.d.ts +23 -0
  11. package/dist/src/config/agentProfiles.d.ts.map +1 -1
  12. package/dist/src/config/agentProfiles.js +69 -13
  13. package/dist/src/config/agentProfiles.js.map +1 -1
  14. package/dist/src/config/hadamardHome.js +0 -1
  15. package/dist/src/config/hadamardHome.js.map +1 -1
  16. package/dist/src/config/modelConfigurationCatalog.d.ts +25 -0
  17. package/dist/src/config/modelConfigurationCatalog.d.ts.map +1 -0
  18. package/dist/src/config/modelConfigurationCatalog.js +50 -0
  19. package/dist/src/config/modelConfigurationCatalog.js.map +1 -0
  20. package/dist/src/config/projectSettings.d.ts +62 -0
  21. package/dist/src/config/projectSettings.d.ts.map +1 -0
  22. package/dist/src/config/projectSettings.js +242 -0
  23. package/dist/src/config/projectSettings.js.map +1 -0
  24. package/dist/src/config/resolveRuntimeConfig.d.ts.map +1 -1
  25. package/dist/src/config/resolveRuntimeConfig.js +97 -4
  26. package/dist/src/config/resolveRuntimeConfig.js.map +1 -1
  27. package/dist/src/goal/goalCommandService.d.ts +11 -0
  28. package/dist/src/goal/goalCommandService.d.ts.map +1 -0
  29. package/dist/src/goal/goalCommandService.js +138 -0
  30. package/dist/src/goal/goalCommandService.js.map +1 -0
  31. package/dist/src/goal/goalContinuation.d.ts +50 -0
  32. package/dist/src/goal/goalContinuation.d.ts.map +1 -0
  33. package/dist/src/goal/goalContinuation.js +131 -0
  34. package/dist/src/goal/goalContinuation.js.map +1 -0
  35. package/dist/src/goal/goalController.d.ts +42 -0
  36. package/dist/src/goal/goalController.d.ts.map +1 -0
  37. package/dist/src/goal/goalController.js +281 -0
  38. package/dist/src/goal/goalController.js.map +1 -0
  39. package/dist/src/goal/goalPrompt.d.ts +3 -0
  40. package/dist/src/goal/goalPrompt.d.ts.map +1 -1
  41. package/dist/src/goal/goalPrompt.js +28 -2
  42. package/dist/src/goal/goalPrompt.js.map +1 -1
  43. package/dist/src/goal/goalService.d.ts +68 -2
  44. package/dist/src/goal/goalService.d.ts.map +1 -1
  45. package/dist/src/goal/goalService.js +500 -8
  46. package/dist/src/goal/goalService.js.map +1 -1
  47. package/dist/src/goal/goalStore.d.ts.map +1 -1
  48. package/dist/src/goal/goalStore.js +172 -5
  49. package/dist/src/goal/goalStore.js.map +1 -1
  50. package/dist/src/goal/goalTools.d.ts +2 -1
  51. package/dist/src/goal/goalTools.d.ts.map +1 -1
  52. package/dist/src/goal/goalTools.js +70 -5
  53. package/dist/src/goal/goalTools.js.map +1 -1
  54. package/dist/src/goal/goalWorkCoordinator.d.ts +43 -0
  55. package/dist/src/goal/goalWorkCoordinator.d.ts.map +1 -0
  56. package/dist/src/goal/goalWorkCoordinator.js +72 -0
  57. package/dist/src/goal/goalWorkCoordinator.js.map +1 -0
  58. package/dist/src/goal/index.d.ts +10 -4
  59. package/dist/src/goal/index.d.ts.map +1 -1
  60. package/dist/src/goal/index.js +7 -1
  61. package/dist/src/goal/index.js.map +1 -1
  62. package/dist/src/goal/projectGoalApi.d.ts +82 -0
  63. package/dist/src/goal/projectGoalApi.d.ts.map +1 -0
  64. package/dist/src/goal/projectGoalApi.js +287 -0
  65. package/dist/src/goal/projectGoalApi.js.map +1 -0
  66. package/dist/src/goal/projectGoalStore.d.ts +131 -0
  67. package/dist/src/goal/projectGoalStore.d.ts.map +1 -0
  68. package/dist/src/goal/projectGoalStore.js +808 -0
  69. package/dist/src/goal/projectGoalStore.js.map +1 -0
  70. package/dist/src/goal/types.d.ts +127 -3
  71. package/dist/src/goal/types.d.ts.map +1 -1
  72. package/dist/src/goal/types.js +2 -2
  73. package/dist/src/goal/types.js.map +1 -1
  74. package/dist/src/gui/agentTargetPicker.d.ts +32 -0
  75. package/dist/src/gui/agentTargetPicker.d.ts.map +1 -0
  76. package/dist/src/gui/agentTargetPicker.js +99 -0
  77. package/dist/src/gui/agentTargetPicker.js.map +1 -0
  78. package/dist/src/gui/electronMain.js +10 -3
  79. package/dist/src/gui/electronMain.js.map +1 -1
  80. package/dist/src/gui/hadamardGui.d.ts +24 -0
  81. package/dist/src/gui/hadamardGui.d.ts.map +1 -1
  82. package/dist/src/gui/hadamardGui.js +6321 -1327
  83. package/dist/src/gui/hadamardGui.js.map +1 -1
  84. package/dist/src/gui/projectWorkbench.d.ts +13 -2
  85. package/dist/src/gui/projectWorkbench.d.ts.map +1 -1
  86. package/dist/src/gui/projectWorkbench.js +109 -67
  87. package/dist/src/gui/projectWorkbench.js.map +1 -1
  88. package/dist/src/gui/promptTemplates.d.ts +18 -0
  89. package/dist/src/gui/promptTemplates.d.ts.map +1 -0
  90. package/dist/src/gui/promptTemplates.js +178 -0
  91. package/dist/src/gui/promptTemplates.js.map +1 -0
  92. package/dist/src/gui/terminalManager.d.ts +14 -0
  93. package/dist/src/gui/terminalManager.d.ts.map +1 -1
  94. package/dist/src/gui/terminalManager.js +25 -5
  95. package/dist/src/gui/terminalManager.js.map +1 -1
  96. package/dist/src/gui/transcript/clientBundle.d.ts +6 -1
  97. package/dist/src/gui/transcript/clientBundle.d.ts.map +1 -1
  98. package/dist/src/gui/transcript/clientBundle.js +6 -1
  99. package/dist/src/gui/transcript/clientBundle.js.map +1 -1
  100. package/dist/src/help/productCapabilities.d.ts +17 -0
  101. package/dist/src/help/productCapabilities.d.ts.map +1 -0
  102. package/dist/src/help/productCapabilities.js +146 -0
  103. package/dist/src/help/productCapabilities.js.map +1 -0
  104. package/dist/src/index.d.ts +21 -6
  105. package/dist/src/index.d.ts.map +1 -1
  106. package/dist/src/index.js +15 -5
  107. package/dist/src/index.js.map +1 -1
  108. package/dist/src/issues/issueExecution.d.ts.map +1 -1
  109. package/dist/src/issues/issueExecution.js +29 -9
  110. package/dist/src/issues/issueExecution.js.map +1 -1
  111. package/dist/src/manager/assistantGlobalTools.d.ts +44 -0
  112. package/dist/src/manager/assistantGlobalTools.d.ts.map +1 -1
  113. package/dist/src/manager/assistantGlobalTools.js +565 -34
  114. package/dist/src/manager/assistantGlobalTools.js.map +1 -1
  115. package/dist/src/manager/assistantProposals.d.ts +87 -0
  116. package/dist/src/manager/assistantProposals.d.ts.map +1 -0
  117. package/dist/src/manager/assistantProposals.js +207 -0
  118. package/dist/src/manager/assistantProposals.js.map +1 -0
  119. package/dist/src/manager/referenceIndex.d.ts +82 -0
  120. package/dist/src/manager/referenceIndex.d.ts.map +1 -0
  121. package/dist/src/manager/referenceIndex.js +167 -0
  122. package/dist/src/manager/referenceIndex.js.map +1 -0
  123. package/dist/src/manager/referenceOperations.d.ts +108 -0
  124. package/dist/src/manager/referenceOperations.d.ts.map +1 -0
  125. package/dist/src/manager/referenceOperations.js +821 -0
  126. package/dist/src/manager/referenceOperations.js.map +1 -0
  127. package/dist/src/manager/resolveTargetRef.d.ts +67 -0
  128. package/dist/src/manager/resolveTargetRef.d.ts.map +1 -0
  129. package/dist/src/manager/resolveTargetRef.js +81 -0
  130. package/dist/src/manager/resolveTargetRef.js.map +1 -0
  131. package/dist/src/memory/durableMemoryPipeline.d.ts +51 -0
  132. package/dist/src/memory/durableMemoryPipeline.d.ts.map +1 -0
  133. package/dist/src/memory/durableMemoryPipeline.js +266 -0
  134. package/dist/src/memory/durableMemoryPipeline.js.map +1 -0
  135. package/dist/src/memory/durableMemoryStore.d.ts +59 -0
  136. package/dist/src/memory/durableMemoryStore.d.ts.map +1 -0
  137. package/dist/src/memory/durableMemoryStore.js +194 -0
  138. package/dist/src/memory/durableMemoryStore.js.map +1 -0
  139. package/dist/src/memory/hadamardDream.d.ts +18 -0
  140. package/dist/src/memory/hadamardDream.d.ts.map +1 -1
  141. package/dist/src/memory/hadamardDream.js +119 -39
  142. package/dist/src/memory/hadamardDream.js.map +1 -1
  143. package/dist/src/memory/hadamardMemory.d.ts +20 -39
  144. package/dist/src/memory/hadamardMemory.d.ts.map +1 -1
  145. package/dist/src/memory/hadamardMemory.js +112 -450
  146. package/dist/src/memory/hadamardMemory.js.map +1 -1
  147. package/dist/src/memory/hadamardSessionMemoryState.d.ts +2 -5
  148. package/dist/src/memory/hadamardSessionMemoryState.d.ts.map +1 -1
  149. package/dist/src/memory/hadamardSessionMemoryState.js +5 -61
  150. package/dist/src/memory/hadamardSessionMemoryState.js.map +1 -1
  151. package/dist/src/memory/memoryCommandService.d.ts +25 -0
  152. package/dist/src/memory/memoryCommandService.d.ts.map +1 -0
  153. package/dist/src/memory/memoryCommandService.js +93 -0
  154. package/dist/src/memory/memoryCommandService.js.map +1 -0
  155. package/dist/src/memory/memoryProposalCommandService.d.ts.map +1 -1
  156. package/dist/src/memory/memoryProposalCommandService.js +2 -1
  157. package/dist/src/memory/memoryProposalCommandService.js.map +1 -1
  158. package/dist/src/memory/memoryProposalTools.d.ts +1 -0
  159. package/dist/src/memory/memoryProposalTools.d.ts.map +1 -1
  160. package/dist/src/memory/memoryProposalTools.js +16 -11
  161. package/dist/src/memory/memoryProposalTools.js.map +1 -1
  162. package/dist/src/parity/bridgeConfigs.d.ts +4 -0
  163. package/dist/src/parity/bridgeConfigs.d.ts.map +1 -1
  164. package/dist/src/parity/bridgeConfigs.js +30 -1
  165. package/dist/src/parity/bridgeConfigs.js.map +1 -1
  166. package/dist/src/router/modelRouter.d.ts +22 -2
  167. package/dist/src/router/modelRouter.d.ts.map +1 -1
  168. package/dist/src/router/modelRouter.js +76 -9
  169. package/dist/src/router/modelRouter.js.map +1 -1
  170. package/dist/src/runtime/agentClient.d.ts +24 -4
  171. package/dist/src/runtime/agentClient.d.ts.map +1 -1
  172. package/dist/src/runtime/agentClient.js +581 -262
  173. package/dist/src/runtime/agentClient.js.map +1 -1
  174. package/dist/src/runtime/agentSession.d.ts +8 -3
  175. package/dist/src/runtime/agentSession.d.ts.map +1 -1
  176. package/dist/src/runtime/agentSession.js +10 -3
  177. package/dist/src/runtime/agentSession.js.map +1 -1
  178. package/dist/src/runtime/agentTemplates.d.ts +28 -0
  179. package/dist/src/runtime/agentTemplates.d.ts.map +1 -0
  180. package/dist/src/runtime/agentTemplates.js +73 -0
  181. package/dist/src/runtime/agentTemplates.js.map +1 -0
  182. package/dist/src/runtime/conversationEngine.d.ts +4 -0
  183. package/dist/src/runtime/conversationEngine.d.ts.map +1 -1
  184. package/dist/src/runtime/conversationEngine.js +52 -3
  185. package/dist/src/runtime/conversationEngine.js.map +1 -1
  186. package/dist/src/runtime/defaultHadamardAgents.d.ts.map +1 -1
  187. package/dist/src/runtime/defaultHadamardAgents.js +9 -47
  188. package/dist/src/runtime/defaultHadamardAgents.js.map +1 -1
  189. package/dist/src/runtime/effectiveAgentRunOptions.d.ts +49 -0
  190. package/dist/src/runtime/effectiveAgentRunOptions.d.ts.map +1 -0
  191. package/dist/src/runtime/effectiveAgentRunOptions.js +50 -0
  192. package/dist/src/runtime/effectiveAgentRunOptions.js.map +1 -0
  193. package/dist/src/runtime/externalAgentRunner.d.ts +25 -0
  194. package/dist/src/runtime/externalAgentRunner.d.ts.map +1 -0
  195. package/dist/src/runtime/externalAgentRunner.js +57 -0
  196. package/dist/src/runtime/externalAgentRunner.js.map +1 -0
  197. package/dist/src/runtime/hadamardAgentDefinitions.d.ts +15 -0
  198. package/dist/src/runtime/hadamardAgentDefinitions.d.ts.map +1 -1
  199. package/dist/src/runtime/hadamardAgentDefinitions.js +42 -2
  200. package/dist/src/runtime/hadamardAgentDefinitions.js.map +1 -1
  201. package/dist/src/runtime/hadamardAgents.d.ts +6 -0
  202. package/dist/src/runtime/hadamardAgents.d.ts.map +1 -1
  203. package/dist/src/runtime/hadamardAgents.js +52 -1
  204. package/dist/src/runtime/hadamardAgents.js.map +1 -1
  205. package/dist/src/runtime/hadamardCompact.d.ts +12 -1
  206. package/dist/src/runtime/hadamardCompact.d.ts.map +1 -1
  207. package/dist/src/runtime/hadamardCompact.js +91 -35
  208. package/dist/src/runtime/hadamardCompact.js.map +1 -1
  209. package/dist/src/runtime/hadamardPermissions.d.ts +1 -0
  210. package/dist/src/runtime/hadamardPermissions.d.ts.map +1 -1
  211. package/dist/src/runtime/hadamardPermissions.js +6 -0
  212. package/dist/src/runtime/hadamardPermissions.js.map +1 -1
  213. package/dist/src/runtime/hadamardSlashCommands.d.ts +7 -1
  214. package/dist/src/runtime/hadamardSlashCommands.d.ts.map +1 -1
  215. package/dist/src/runtime/hadamardSlashCommands.js +47 -5
  216. package/dist/src/runtime/hadamardSlashCommands.js.map +1 -1
  217. package/dist/src/runtime/tools.d.ts.map +1 -1
  218. package/dist/src/runtime/tools.js +2 -0
  219. package/dist/src/runtime/tools.js.map +1 -1
  220. package/dist/src/team/executorTarget.d.ts +26 -0
  221. package/dist/src/team/executorTarget.d.ts.map +1 -0
  222. package/dist/src/team/executorTarget.js +15 -0
  223. package/dist/src/team/executorTarget.js.map +1 -0
  224. package/dist/src/team/modelTeam.d.ts +5 -1
  225. package/dist/src/team/modelTeam.d.ts.map +1 -1
  226. package/dist/src/team/modelTeam.js +157 -41
  227. package/dist/src/team/modelTeam.js.map +1 -1
  228. package/dist/src/team/teamComposition.d.ts +20 -0
  229. package/dist/src/team/teamComposition.d.ts.map +1 -0
  230. package/dist/src/team/teamComposition.js +78 -0
  231. package/dist/src/team/teamComposition.js.map +1 -0
  232. package/dist/src/team/teamDefinitions.d.ts +10 -1
  233. package/dist/src/team/teamDefinitions.d.ts.map +1 -1
  234. package/dist/src/team/teamDefinitions.js +123 -16
  235. package/dist/src/team/teamDefinitions.js.map +1 -1
  236. package/dist/src/team/teamGraph.d.ts +1 -1
  237. package/dist/src/team/teamGraph.d.ts.map +1 -1
  238. package/dist/src/team/teamGraph.js +1 -1
  239. package/dist/src/team/teamGraph.js.map +1 -1
  240. package/dist/src/team/teamPrompts.d.ts.map +1 -1
  241. package/dist/src/team/teamPrompts.js +0 -4
  242. package/dist/src/team/teamPrompts.js.map +1 -1
  243. package/dist/src/team/teamProposalService.d.ts +9 -1
  244. package/dist/src/team/teamProposalService.d.ts.map +1 -1
  245. package/dist/src/team/teamProposalService.js +66 -6
  246. package/dist/src/team/teamProposalService.js.map +1 -1
  247. package/dist/src/team/teamPropose.d.ts +3 -1
  248. package/dist/src/team/teamPropose.d.ts.map +1 -1
  249. package/dist/src/team/teamPropose.js +16 -10
  250. package/dist/src/team/teamPropose.js.map +1 -1
  251. package/dist/src/team/teamRuntime.d.ts +5 -0
  252. package/dist/src/team/teamRuntime.d.ts.map +1 -1
  253. package/dist/src/team/teamRuntime.js +23 -5
  254. package/dist/src/team/teamRuntime.js.map +1 -1
  255. package/dist/src/team/workflowSquad.d.ts +10 -2
  256. package/dist/src/team/workflowSquad.d.ts.map +1 -1
  257. package/dist/src/team/workflowSquad.js +250 -12
  258. package/dist/src/team/workflowSquad.js.map +1 -1
  259. package/dist/src/tools/enterWorktree.d.ts.map +1 -1
  260. package/dist/src/tools/enterWorktree.js +3 -0
  261. package/dist/src/tools/enterWorktree.js.map +1 -1
  262. package/dist/src/tools/exaSearch.d.ts +2 -2
  263. package/dist/src/tools/exitWorktree.d.ts.map +1 -1
  264. package/dist/src/tools/exitWorktree.js +3 -1
  265. package/dist/src/tools/exitWorktree.js.map +1 -1
  266. package/dist/src/tools/hadamardCoreTools.d.ts +5 -14
  267. package/dist/src/tools/hadamardCoreTools.d.ts.map +1 -1
  268. package/dist/src/tools/hadamardCoreTools.js +31 -0
  269. package/dist/src/tools/hadamardCoreTools.js.map +1 -1
  270. package/dist/src/tools/hadamardFileTools.d.ts.map +1 -1
  271. package/dist/src/tools/hadamardFileTools.js +116 -38
  272. package/dist/src/tools/hadamardFileTools.js.map +1 -1
  273. package/dist/src/tools/planMode/PlanModeTools.d.ts +22 -0
  274. package/dist/src/tools/planMode/PlanModeTools.d.ts.map +1 -1
  275. package/dist/src/tools/planMode/PlanModeTools.js +102 -5
  276. package/dist/src/tools/planMode/PlanModeTools.js.map +1 -1
  277. package/dist/src/tools/todo/TodoWriteTool.d.ts +1 -1
  278. package/dist/src/tui/hadamardTui.d.ts.map +1 -1
  279. package/dist/src/tui/hadamardTui.js +387 -168
  280. package/dist/src/tui/hadamardTui.js.map +1 -1
  281. package/dist/src/tui/pendingInput.d.ts +17 -0
  282. package/dist/src/tui/pendingInput.d.ts.map +1 -0
  283. package/dist/src/tui/pendingInput.js +23 -0
  284. package/dist/src/tui/pendingInput.js.map +1 -0
  285. package/dist/src/tui/reasoningDisplay.d.ts +13 -0
  286. package/dist/src/tui/reasoningDisplay.d.ts.map +1 -0
  287. package/dist/src/tui/reasoningDisplay.js +45 -0
  288. package/dist/src/tui/reasoningDisplay.js.map +1 -0
  289. package/dist/src/tui/screen.d.ts +11 -1
  290. package/dist/src/tui/screen.d.ts.map +1 -1
  291. package/dist/src/tui/screen.js +64 -34
  292. package/dist/src/tui/screen.js.map +1 -1
  293. package/dist/src/types.d.ts +210 -77
  294. package/dist/src/types.d.ts.map +1 -1
  295. package/dist/src/types.js.map +1 -1
  296. package/dist/src/ui/commandSurface.d.ts +8 -0
  297. package/dist/src/ui/commandSurface.d.ts.map +1 -1
  298. package/dist/src/ui/commandSurface.js +78 -13
  299. package/dist/src/ui/commandSurface.js.map +1 -1
  300. package/dist/src/update/appUpdateService.d.ts +34 -1
  301. package/dist/src/update/appUpdateService.d.ts.map +1 -1
  302. package/dist/src/update/appUpdateService.js +114 -9
  303. package/dist/src/update/appUpdateService.js.map +1 -1
  304. package/package.json +3 -2
  305. package/dist/src/prompts/outputStyles.d.ts +0 -20
  306. package/dist/src/prompts/outputStyles.d.ts.map +0 -1
  307. package/dist/src/prompts/outputStyles.js +0 -35
  308. package/dist/src/prompts/outputStyles.js.map +0 -1
@@ -43,7 +43,7 @@ const Read = (opts) => tool({
43
43
  isReadOnly: () => true,
44
44
  prompt: fileReadPrompt,
45
45
  }, async (input, context) => {
46
- const resolvedPath = resolvePath(input.file_path, opts.cwd);
46
+ const resolvedPath = resolvePath(input.file_path, context.cwd || opts.cwd);
47
47
  await context.sandboxExecutor?.assertPathAllowed(resolvedPath, 'read');
48
48
  let fileStats;
49
49
  try {
@@ -99,7 +99,7 @@ const Write = (opts) => tool({
99
99
  isDestructive: () => true,
100
100
  prompt: fileWritePrompt,
101
101
  }, async (input, context) => {
102
- const resolvedPath = resolvePath(input.file_path, opts.cwd);
102
+ const resolvedPath = resolvePath(input.file_path, context.cwd || opts.cwd);
103
103
  await context.sandboxExecutor?.assertPathAllowed(resolvedPath, 'write');
104
104
  let existing;
105
105
  try {
@@ -142,7 +142,7 @@ const Edit = (opts) => tool({
142
142
  isDestructive: () => true,
143
143
  prompt: fileEditPrompt,
144
144
  }, async (input, context) => {
145
- const resolvedPath = resolvePath(input.file_path, opts.cwd);
145
+ const resolvedPath = resolvePath(input.file_path, context.cwd || opts.cwd);
146
146
  await context.sandboxExecutor?.assertPathAllowed(resolvedPath, 'write');
147
147
  let fileStats;
148
148
  try {
@@ -195,7 +195,7 @@ const Glob = (opts) => tool({
195
195
  isReadOnly: () => true,
196
196
  prompt: fileSearchPrompt,
197
197
  }, async (input, context) => {
198
- const searchRoot = resolvePath(input.path ?? opts.cwd, opts.cwd);
198
+ const searchRoot = resolvePath(input.path ?? (context.cwd || opts.cwd), context.cwd || opts.cwd);
199
199
  await context.sandboxExecutor?.assertPathAllowed(searchRoot, 'read');
200
200
  const matches = [];
201
201
  const stream = glob.stream(input.pattern, {
@@ -246,7 +246,7 @@ const Grep = (opts) => tool({
246
246
  isReadOnly: () => true,
247
247
  prompt: fileSearchPrompt,
248
248
  }, async (input, context) => {
249
- const searchRoot = resolvePath(input.path ?? opts.cwd, opts.cwd);
249
+ const searchRoot = resolvePath(input.path ?? (context.cwd || opts.cwd), context.cwd || opts.cwd);
250
250
  await context.sandboxExecutor?.assertPathAllowed(searchRoot, 'read');
251
251
  const outputMode = input.output_mode ?? 'files_with_matches';
252
252
  const limit = input.head_limit ?? opts.defaultGrepLimit;
@@ -273,42 +273,54 @@ const Grep = (opts) => tool({
273
273
  throw new ToolExecutionError('Grep', `Invalid regular expression "${input.pattern}": ${message}`);
274
274
  }
275
275
  const files = await findFiles(searchRoot, input.glob);
276
+ const searchRootIsFile = (await fsStat(searchRoot)).isFile();
276
277
  for (const f of files) {
278
+ await context.sandboxExecutor?.assertPathAllowed(f, 'read');
279
+ let buffer;
277
280
  try {
278
- await context.sandboxExecutor?.assertPathAllowed(f, 'read');
279
- const buffer = await readFile(f);
280
- if (isProbablyBinary(buffer))
281
+ buffer = await readFile(f);
282
+ }
283
+ catch (error) {
284
+ if (isUnreadableFileError(error))
281
285
  continue;
282
- const content = buffer.toString('utf-8');
283
- const relPath = path.relative(searchRoot, f) || f;
284
- if (outputMode === 'files_with_matches') {
285
- if (matchRegex.test(content))
286
- matchedFiles.push(relPath);
287
- }
288
- else if (outputMode === 'count') {
289
- globalMatchRegex.lastIndex = 0;
290
- const count = [...content.matchAll(globalMatchRegex)].length;
291
- if (count > 0) {
292
- totalMatches += count;
293
- countEntries.push({ file: relPath, count });
294
- }
286
+ throw error;
287
+ }
288
+ if (isProbablyBinary(buffer))
289
+ continue;
290
+ const content = buffer.toString('utf-8');
291
+ const lines = content.split(/\r?\n/);
292
+ const relPath = path.relative(searchRootIsFile ? path.dirname(searchRoot) : searchRoot, f) || path.basename(f);
293
+ if (outputMode === 'files_with_matches') {
294
+ const found = multiline
295
+ ? matchRegex.test(content)
296
+ : lines.some(line => matchRegex.test(line));
297
+ if (found)
298
+ matchedFiles.push(relPath);
299
+ }
300
+ else if (outputMode === 'count') {
301
+ const count = multiline
302
+ ? countRegexMatches(content, globalMatchRegex)
303
+ : lines.reduce((sum, line) => sum + countRegexMatches(line, globalMatchRegex), 0);
304
+ if (count > 0) {
305
+ totalMatches += count;
306
+ countEntries.push({ file: relPath, count });
295
307
  }
296
- else {
297
- const lines = content.split(/\r?\n/);
298
- const visited = new Set();
299
- for (let i = 0; i < lines.length; i++) {
300
- if (!matchRegex.test(lines[i]))
308
+ }
309
+ else {
310
+ const matches = multiline
311
+ ? multilineMatchLines(content, globalMatchRegex)
312
+ : lineMatchIndexes(lines, globalMatchRegex);
313
+ totalMatches += matches.matchCount;
314
+ const visited = new Set();
315
+ for (const index of matches.lineIndexes) {
316
+ for (let j = Math.max(0, index - before); j <= Math.min(lines.length - 1, index + after); j++) {
317
+ if (visited.has(j))
301
318
  continue;
302
- for (let j = Math.max(0, i - before); j <= Math.min(lines.length - 1, i + after); j++) {
303
- if (visited.has(j))
304
- continue;
305
- visited.add(j);
306
- contentLines.push(input['-n'] === false ? `${relPath}:${lines[j]}` : `${relPath}:${j + 1}:${lines[j]}`);
307
- }
319
+ visited.add(j);
320
+ contentLines.push(input['-n'] === false ? `${relPath}:${lines[j]}` : `${relPath}:${j + 1}:${lines[j]}`);
308
321
  }
309
322
  }
310
323
  }
311
- catch { /* skip unreadable files */ }
312
324
  }
313
325
  const off = input.offset ?? 0;
314
326
  if (outputMode === 'files_with_matches') {
@@ -321,7 +333,7 @@ const Grep = (opts) => tool({
321
333
  return { mode: outputMode, root: searchRoot, filenames: sliced, totalMatches };
322
334
  }
323
335
  const sliced = limit === 0 ? contentLines.slice(off) : contentLines.slice(off, off + limit);
324
- return { mode: outputMode, root: searchRoot, filenames: sliced, totalMatches: contentLines.length };
336
+ return { mode: outputMode, root: searchRoot, filenames: sliced, totalMatches };
325
337
  });
326
338
  // ── Factory ─────────────────────────────────────────────────────
327
339
  export function createHadamardFileTools(options = {}) {
@@ -358,9 +370,22 @@ function ensurePreviouslyRead(readState, filePath, mtimeMs, toolName) {
358
370
  }
359
371
  }
360
372
  async function findFiles(searchRoot, globPattern) {
361
- if (!globPattern)
362
- return listAllFiles(searchRoot);
363
- return listGlobMatches(globPattern, searchRoot);
373
+ let stats;
374
+ try {
375
+ stats = await fsStat(searchRoot);
376
+ }
377
+ catch {
378
+ throw new ToolExecutionError('Grep', `Search path not found: ${searchRoot}`);
379
+ }
380
+ if (stats.isFile())
381
+ return [searchRoot];
382
+ if (!stats.isDirectory()) {
383
+ throw new ToolExecutionError('Grep', `Search path is not a file or directory: ${searchRoot}`);
384
+ }
385
+ const files = globPattern
386
+ ? await listGlobMatches(globPattern, searchRoot)
387
+ : await listAllFiles(searchRoot);
388
+ return files.sort((left, right) => left.localeCompare(right));
364
389
  }
365
390
  async function listGlobMatches(pattern, root) {
366
391
  const matches = [];
@@ -376,7 +401,7 @@ async function listAllFiles(dir) {
376
401
  for (const entry of await readdirSafe(dir)) {
377
402
  const full = path.join(dir, entry.name);
378
403
  if (entry.isDirectory()) {
379
- if (entry.name === '.git' || entry.name === 'node_modules')
404
+ if (['.git', 'node_modules', '.svn', '.hg', '.jj', '.sl'].includes(entry.name))
380
405
  continue;
381
406
  results.push(...await listAllFiles(full));
382
407
  }
@@ -388,6 +413,59 @@ async function listAllFiles(dir) {
388
413
  catch { /* skip */ }
389
414
  return results;
390
415
  }
416
+ function countRegexMatches(text, regex) {
417
+ regex.lastIndex = 0;
418
+ return [...text.matchAll(regex)].length;
419
+ }
420
+ function lineMatchIndexes(lines, regex) {
421
+ const lineIndexes = [];
422
+ let matchCount = 0;
423
+ for (let index = 0; index < lines.length; index += 1) {
424
+ const count = countRegexMatches(lines[index], regex);
425
+ if (count === 0)
426
+ continue;
427
+ lineIndexes.push(index);
428
+ matchCount += count;
429
+ }
430
+ return { lineIndexes, matchCount };
431
+ }
432
+ function multilineMatchLines(content, regex) {
433
+ const starts = [0];
434
+ for (let index = 0; index < content.length; index += 1) {
435
+ if (content[index] === '\n')
436
+ starts.push(index + 1);
437
+ }
438
+ const lineIndexes = new Set();
439
+ let matchCount = 0;
440
+ regex.lastIndex = 0;
441
+ for (const match of content.matchAll(regex)) {
442
+ const start = match.index ?? 0;
443
+ const end = start + Math.max(match[0].length - 1, 0);
444
+ const startLine = lineIndexAtOffset(starts, start);
445
+ const endLine = lineIndexAtOffset(starts, end);
446
+ for (let line = startLine; line <= endLine; line += 1)
447
+ lineIndexes.add(line);
448
+ matchCount += 1;
449
+ }
450
+ return { lineIndexes: [...lineIndexes].sort((a, b) => a - b), matchCount };
451
+ }
452
+ function lineIndexAtOffset(starts, offset) {
453
+ let low = 0;
454
+ let high = starts.length - 1;
455
+ while (low <= high) {
456
+ const mid = Math.floor((low + high) / 2);
457
+ if (starts[mid] <= offset)
458
+ low = mid + 1;
459
+ else
460
+ high = mid - 1;
461
+ }
462
+ return Math.max(high, 0);
463
+ }
464
+ function isUnreadableFileError(error) {
465
+ if (typeof error !== 'object' || error === null || !('code' in error))
466
+ return false;
467
+ return ['EACCES', 'EPERM', 'ENOENT', 'EISDIR'].includes(String(error.code));
468
+ }
391
469
  async function readdirSafe(dir) {
392
470
  const fs = await import('node:fs/promises');
393
471
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"hadamardFileTools.js","sourceRoot":"","sources":["../../../src/tools/hadamardFileTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hadamardFileTools.js","sourceRoot":"","sources":["../../../src/tools/hadamardFileTools.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,37 @@
1
1
  import type { AgentToolDefinition, HadamardPermissionMode } from '../../types.js';
2
2
  export declare const ENTER_PLAN_MODE_TOOL_NAME = "EnterPlanMode";
3
3
  export declare const EXIT_PLAN_MODE_TOOL_NAME = "ExitPlanMode";
4
+ /** Pointer file that names the latest plan markdown (relative basename). */
5
+ export declare const PLAN_CURRENT_POINTER = "plan.current";
6
+ /** Versioned plan files: plan-20260804T100930Z-<uuid>.md */
7
+ export declare const PLAN_FILE_PATTERN: RegExp;
8
+ /** Legacy single-file name kept readable as a fallback. */
9
+ export declare const LEGACY_PLAN_FILE = "plan.md";
4
10
  export declare const EXIT_PLAN_MODE_PROMPT = "## ExitPlanMode\n\nUse this tool ONLY when you have finished researching and are ready to present a plan. Calling it writes the plan to the project's plan file and signals the user to review it. While in plan mode you must NOT attempt to make changes \u2014 research with read-only tools (Read/Glob/Grep/Bash read-only), then call ExitPlanMode with a concise plan. After the user approves, the plan is the source of truth: implement it, tracking progress with TodoWrite.";
5
11
  export interface PlanModeToolContext {
6
12
  /** Called when the agent requests entering/exiting plan mode. */
7
13
  onPlanModeChange?: (mode: HadamardPermissionMode) => void | Promise<void>;
8
14
  /** Per-project plan directory (plan file is written here). */
9
15
  planDir?: string;
16
+ /** Optional clock/uuid hooks for tests. */
17
+ now?: () => Date;
18
+ createId?: () => string;
10
19
  }
20
+ export declare function planDirFor(workDir: string): string;
21
+ /** UTC stamp suitable for filenames and lexical sort (newest last). */
22
+ export declare function formatPlanTimestamp(date?: Date): string;
23
+ export declare function buildPlanFileName(opts?: {
24
+ now?: Date;
25
+ id?: string;
26
+ }): string;
27
+ /**
28
+ * Absolute path of the current (latest) plan file for this workDir.
29
+ * Prefers `plan.current` pointer, then newest versioned file, then legacy `plan.md`.
30
+ */
11
31
  export declare function planFilePath(workDir: string): string;
12
32
  export declare function readPlanFile(workDir: string): string | null;
33
+ /** All retained plan files for a workDir, oldest → newest. */
34
+ export declare function listPlanFiles(workDir: string): string[];
13
35
  /**
14
36
  * Build the two plan-mode tools. EnterPlanMode is read-only; ExitPlanMode is
15
37
  * read-only too (it writes only the plan file, never workspace code).
@@ -1 +1 @@
1
- {"version":3,"file":"PlanModeTools.d.ts","sourceRoot":"","sources":["../../../../src/tools/planMode/PlanModeTools.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAElF,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,eAAO,MAAM,qBAAqB,2dAE6Z,CAAC;AAEhc,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,mBAAwB,GAC5B,mBAAmB,EAAE,CAiDvB"}
1
+ {"version":3,"file":"PlanModeTools.d.ts","sourceRoot":"","sources":["../../../../src/tools/planMode/PlanModeTools.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAElF,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AACzD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AAEnD,4DAA4D;AAC5D,eAAO,MAAM,iBAAiB,QAA+C,CAAC;AAE9E,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,eAAO,MAAM,qBAAqB,2dAE6Z,CAAC;AAEhc,MAAM,WAAW,mBAAmB;IAClC,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;CACzB;AA8BD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAGnE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAI5E;AAkBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUpD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG3D;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAOvD;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,mBAAwB,GAC5B,mBAAmB,EAAE,CAsDvB"}
@@ -7,29 +7,121 @@
7
7
  * its plan. EnterPlanMode flips the session to plan mode; ExitPlanMode writes
8
8
  * the plan to a per-project plan file and returns it so the TUI can show it
9
9
  * and the user can approve (switching out of plan mode) or revise.
10
+ *
11
+ * Each ExitPlanMode call writes a unique file
12
+ * (`plan-<UTC-timestamp>-<uuid>.md`) so history is preserved. A small
13
+ * `plan.current` pointer tracks the latest plan for `/plan view|open|approve`.
10
14
  */
11
- import { readFileSync, existsSync } from 'node:fs';
15
+ import { readFileSync, existsSync, readdirSync, writeFileSync } from 'node:fs';
12
16
  import { mkdir, writeFile } from 'node:fs/promises';
17
+ import { randomUUID } from 'node:crypto';
13
18
  import path from 'node:path';
14
19
  import { z } from 'zod';
15
20
  import { tool } from '../../runtime/tools.js';
16
21
  import { resolveHadamardHome } from '../../config/hadamardHome.js';
22
+ import { getHadamardProjectSessionDirectory } from '../../config/projectSessionDirectory.js';
17
23
  export const ENTER_PLAN_MODE_TOOL_NAME = 'EnterPlanMode';
18
24
  export const EXIT_PLAN_MODE_TOOL_NAME = 'ExitPlanMode';
25
+ /** Pointer file that names the latest plan markdown (relative basename). */
26
+ export const PLAN_CURRENT_POINTER = 'plan.current';
27
+ /** Versioned plan files: plan-20260804T100930Z-<uuid>.md */
28
+ export const PLAN_FILE_PATTERN = /^plan-(\d{8}T\d{6}Z)-([0-9a-f-]{36})\.md$/i;
29
+ /** Legacy single-file name kept readable as a fallback. */
30
+ export const LEGACY_PLAN_FILE = 'plan.md';
19
31
  export const EXIT_PLAN_MODE_PROMPT = `## ExitPlanMode
20
32
 
21
33
  Use this tool ONLY when you have finished researching and are ready to present a plan. Calling it writes the plan to the project's plan file and signals the user to review it. While in plan mode you must NOT attempt to make changes — research with read-only tools (Read/Glob/Grep/Bash read-only), then call ExitPlanMode with a concise plan. After the user approves, the plan is the source of truth: implement it, tracking progress with TodoWrite.`;
22
34
  function resolvePlanDir(workDir) {
35
+ return getHadamardProjectSessionDirectory(workDir, resolveHadamardHome());
36
+ }
37
+ /** Legacy sanitized-basename plan dir (pre session-directory unification). */
38
+ function legacySanitizedPlanDir(workDir) {
23
39
  const projectKey = workDir.replace(/[^A-Za-z0-9]+/g, '_').slice(0, 40) || 'default';
24
40
  return path.join(resolveHadamardHome(), 'projects', projectKey);
25
41
  }
42
+ function listPlansInDir(planDir) {
43
+ const versioned = listVersionedPlanNames(planDir).map(name => path.join(planDir, name));
44
+ const legacy = path.join(planDir, LEGACY_PLAN_FILE);
45
+ if (versioned.length === 0 && existsSync(legacy))
46
+ return [legacy];
47
+ return versioned;
48
+ }
49
+ function currentPlanInDir(planDir) {
50
+ const pointed = readCurrentPointer(planDir);
51
+ if (pointed)
52
+ return pointed;
53
+ const versioned = listVersionedPlanNames(planDir);
54
+ if (versioned.length > 0) {
55
+ return path.join(planDir, versioned[versioned.length - 1]);
56
+ }
57
+ const legacy = path.join(planDir, LEGACY_PLAN_FILE);
58
+ return existsSync(legacy) ? legacy : null;
59
+ }
60
+ export function planDirFor(workDir) {
61
+ return resolvePlanDir(workDir);
62
+ }
63
+ /** UTC stamp suitable for filenames and lexical sort (newest last). */
64
+ export function formatPlanTimestamp(date = new Date()) {
65
+ const iso = date.toISOString(); // 2026-08-04T10:09:30.123Z
66
+ return iso.replace(/[-:]/g, '').replace(/\.\d{3}Z$/, 'Z');
67
+ }
68
+ export function buildPlanFileName(opts) {
69
+ const stamp = formatPlanTimestamp(opts?.now ?? new Date());
70
+ const id = opts?.id ?? randomUUID();
71
+ return `plan-${stamp}-${id}.md`;
72
+ }
73
+ function readCurrentPointer(planDir) {
74
+ const pointerPath = path.join(planDir, PLAN_CURRENT_POINTER);
75
+ if (!existsSync(pointerPath))
76
+ return null;
77
+ const name = readFileSync(pointerPath, 'utf-8').trim();
78
+ if (!name || name.includes('/') || name.includes('\\') || name.includes('..'))
79
+ return null;
80
+ const full = path.join(planDir, name);
81
+ return existsSync(full) ? full : null;
82
+ }
83
+ function listVersionedPlanNames(planDir) {
84
+ if (!existsSync(planDir))
85
+ return [];
86
+ return readdirSync(planDir)
87
+ .filter(name => PLAN_FILE_PATTERN.test(name))
88
+ .sort();
89
+ }
90
+ /**
91
+ * Absolute path of the current (latest) plan file for this workDir.
92
+ * Prefers `plan.current` pointer, then newest versioned file, then legacy `plan.md`.
93
+ */
26
94
  export function planFilePath(workDir) {
27
- return path.join(resolvePlanDir(workDir), 'plan.md');
95
+ const planDir = resolvePlanDir(workDir);
96
+ const current = currentPlanInDir(planDir);
97
+ if (current)
98
+ return current;
99
+ const legacyDir = legacySanitizedPlanDir(workDir);
100
+ if (legacyDir !== planDir) {
101
+ const legacyCurrent = currentPlanInDir(legacyDir);
102
+ if (legacyCurrent)
103
+ return legacyCurrent;
104
+ }
105
+ return path.join(planDir, LEGACY_PLAN_FILE);
28
106
  }
29
107
  export function readPlanFile(workDir) {
30
108
  const p = planFilePath(workDir);
31
109
  return existsSync(p) ? readFileSync(p, 'utf-8') : null;
32
110
  }
111
+ /** All retained plan files for a workDir, oldest → newest. */
112
+ export function listPlanFiles(workDir) {
113
+ const planDir = resolvePlanDir(workDir);
114
+ const plans = listPlansInDir(planDir);
115
+ if (plans.length > 0)
116
+ return plans;
117
+ const legacyDir = legacySanitizedPlanDir(workDir);
118
+ if (legacyDir === planDir)
119
+ return [];
120
+ return listPlansInDir(legacyDir);
121
+ }
122
+ function writeCurrentPointerSync(planDir, fileName) {
123
+ writeFileSync(path.join(planDir, PLAN_CURRENT_POINTER), `${fileName}\n`, 'utf-8');
124
+ }
33
125
  /**
34
126
  * Build the two plan-mode tools. EnterPlanMode is read-only; ExitPlanMode is
35
127
  * read-only too (it writes only the plan file, never workspace code).
@@ -38,10 +130,10 @@ export function createPlanModeTools(workDir, ctx = {}) {
38
130
  const planDir = ctx.planDir ?? resolvePlanDir(workDir);
39
131
  const enter = tool({
40
132
  name: ENTER_PLAN_MODE_TOOL_NAME,
41
- description: 'Enter plan mode. Use at the start of a task that needs research before changes — researching, designing, and presenting a plan for approval before any code is written. In plan mode, mutating tools are blocked.',
133
+ description: 'Enter plan mode. Use at the start of a task that needs research before changes — researching, designing, and presenting a plan for approval before any code is written. In plan mode, mutating tools are blocked, but you may delegate read-only research to read-only subagents (e.g. Explore) via the Agent tool.',
42
134
  inputSchema: z.strictObject({}),
43
135
  isReadOnly: () => true,
44
- prompt: () => `## EnterPlanMode\n\nCall this to enter plan mode for a task that warrants research-then-propose. While in plan mode, you may only read/explore — do not attempt edits. When your plan is ready, call ExitPlanMode.`,
136
+ prompt: () => `## EnterPlanMode\n\nCall this to enter plan mode for a task that warrants research-then-propose. While in plan mode, you may only read/explore — do not attempt edits. You may delegate read-only investigation to read-only subagents (e.g. Explore) with the Agent tool; delegations to write-capable agents are blocked like direct edits. When your plan is ready, call ExitPlanMode.`,
45
137
  }, async () => {
46
138
  await ctx.onPlanModeChange?.('plan');
47
139
  return { mode: 'plan', note: 'Entered plan mode. Mutating tools are now blocked. Research, then call ExitPlanMode with your plan.' };
@@ -58,9 +150,14 @@ export function createPlanModeTools(workDir, ctx = {}) {
58
150
  isReadOnly: () => true,
59
151
  prompt: () => EXIT_PLAN_MODE_PROMPT,
60
152
  }, async ({ plan }) => {
61
- const planFile = path.join(planDir, 'plan.md');
153
+ const fileName = buildPlanFileName({
154
+ now: ctx.now?.() ?? new Date(),
155
+ id: ctx.createId?.() ?? randomUUID(),
156
+ });
157
+ const planFile = path.join(planDir, fileName);
62
158
  await mkdir(planDir, { recursive: true });
63
159
  await writeFile(planFile, plan, 'utf-8');
160
+ writeCurrentPointerSync(planDir, fileName);
64
161
  return {
65
162
  plan,
66
163
  planFile,
@@ -1 +1 @@
1
- {"version":3,"file":"PlanModeTools.js","sourceRoot":"","sources":["../../../../src/tools/planMode/PlanModeTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlanModeTools.js","sourceRoot":"","sources":["../../../../src/tools/planMode/PlanModeTools.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ export declare const TODO_WRITE_TOOL_NAME = "TodoWrite";
4
4
  declare const TodoItemSchema: z.ZodObject<{
5
5
  content: z.ZodString;
6
6
  status: z.ZodEnum<{
7
- completed: "completed";
8
7
  pending: "pending";
8
+ completed: "completed";
9
9
  in_progress: "in_progress";
10
10
  }>;
11
11
  activeForm: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"hadamardTui.d.ts","sourceRoot":"","sources":["../../../src/tui/hadamardTui.ts"],"names":[],"mappings":"AAwFA,OAAO,KAAK,EAIV,sBAAsB,EAMtB,cAAc,EAGf,MAAM,aAAa,CAAC;AA8ErB,eAAO,MAAM,kBAAkB,wBAAgC,CAAC;AA4ChE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYzC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,EAAE,CAqCtG;AAwED,wBAAsB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA03KpF"}
1
+ {"version":3,"file":"hadamardTui.d.ts","sourceRoot":"","sources":["../../../src/tui/hadamardTui.ts"],"names":[],"mappings":"AAyFA,OAAO,KAAK,EAIV,sBAAsB,EAMtB,cAAc,EAGf,MAAM,aAAa,CAAC;AA2FrB,eAAO,MAAM,kBAAkB,wBAAgC,CAAC;AA4ChE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,OAAO,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAYzC;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,sBAAsB,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoDD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,EAAE,CAqCtG;AAwED,wBAAsB,cAAc,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6lLpF"}