@slopus/rig 0.0.4 → 0.0.6

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 (374) hide show
  1. package/README.md +144 -1
  2. package/dist/agent/Agent.d.ts +16 -0
  3. package/dist/agent/Agent.d.ts.map +1 -1
  4. package/dist/agent/Agent.js +106 -0
  5. package/dist/agent/compaction/compactConversation.d.ts +22 -0
  6. package/dist/agent/compaction/compactConversation.d.ts.map +1 -0
  7. package/dist/agent/compaction/compactConversation.js +77 -0
  8. package/dist/agent/compaction/estimateMessagesTokens.d.ts +3 -0
  9. package/dist/agent/compaction/estimateMessagesTokens.d.ts.map +1 -0
  10. package/dist/agent/compaction/estimateMessagesTokens.js +39 -0
  11. package/dist/agent/compaction/formatMessagesForCompaction.d.ts +3 -0
  12. package/dist/agent/compaction/formatMessagesForCompaction.d.ts.map +1 -0
  13. package/dist/agent/compaction/formatMessagesForCompaction.js +30 -0
  14. package/dist/agent/compaction/requestCompactionSummary.d.ts +11 -0
  15. package/dist/agent/compaction/requestCompactionSummary.d.ts.map +1 -0
  16. package/dist/agent/compaction/requestCompactionSummary.js +43 -0
  17. package/dist/agent/context/AgentContext.d.ts +8 -0
  18. package/dist/agent/context/AgentContext.d.ts.map +1 -1
  19. package/dist/agent/context/BashContext.d.ts +23 -0
  20. package/dist/agent/context/BashContext.d.ts.map +1 -1
  21. package/dist/agent/context/GoalContext.d.ts +7 -0
  22. package/dist/agent/context/GoalContext.d.ts.map +1 -0
  23. package/dist/agent/context/GoalContext.js +1 -0
  24. package/dist/agent/context/SubagentContext.d.ts +20 -1
  25. package/dist/agent/context/SubagentContext.d.ts.map +1 -1
  26. package/dist/agent/context/TaskContext.d.ts +8 -0
  27. package/dist/agent/context/TaskContext.d.ts.map +1 -0
  28. package/dist/agent/context/TaskContext.js +1 -0
  29. package/dist/agent/context/UserInputContext.d.ts +7 -0
  30. package/dist/agent/context/UserInputContext.d.ts.map +1 -0
  31. package/dist/agent/context/UserInputContext.js +1 -0
  32. package/dist/agent/context/assertCanWritePath.d.ts +3 -0
  33. package/dist/agent/context/assertCanWritePath.d.ts.map +1 -0
  34. package/dist/agent/context/assertCanWritePath.js +11 -0
  35. package/dist/agent/context/createJustBashBashContext.d.ts.map +1 -1
  36. package/dist/agent/context/createJustBashBashContext.js +127 -0
  37. package/dist/agent/context/createNodeAgentContext.d.ts +8 -0
  38. package/dist/agent/context/createNodeAgentContext.d.ts.map +1 -1
  39. package/dist/agent/context/createNodeAgentContext.js +15 -2
  40. package/dist/agent/context/createNodeBashContext.d.ts +2 -0
  41. package/dist/agent/context/createNodeBashContext.d.ts.map +1 -1
  42. package/dist/agent/context/createNodeBashContext.js +123 -4
  43. package/dist/agent/context/createNodeFileSystemContext.d.ts +2 -0
  44. package/dist/agent/context/createNodeFileSystemContext.d.ts.map +1 -1
  45. package/dist/agent/context/createNodeFileSystemContext.js +18 -8
  46. package/dist/agent/context/createSandboxedCommand.d.ts +7 -0
  47. package/dist/agent/context/createSandboxedCommand.d.ts.map +1 -0
  48. package/dist/agent/context/createSandboxedCommand.js +47 -0
  49. package/dist/agent/context/findGitWritablePaths.d.ts +2 -0
  50. package/dist/agent/context/findGitWritablePaths.d.ts.map +1 -0
  51. package/dist/agent/context/findGitWritablePaths.js +54 -0
  52. package/dist/agent/context/isPathInsideWorkspace.d.ts +2 -0
  53. package/dist/agent/context/isPathInsideWorkspace.d.ts.map +1 -0
  54. package/dist/agent/context/isPathInsideWorkspace.js +14 -0
  55. package/dist/agent/context/resolvePotentialPath.d.ts +2 -0
  56. package/dist/agent/context/resolvePotentialPath.d.ts.map +1 -0
  57. package/dist/agent/context/resolvePotentialPath.js +32 -0
  58. package/dist/agent/createPermissionInstructions.d.ts +3 -0
  59. package/dist/agent/createPermissionInstructions.d.ts.map +1 -0
  60. package/dist/agent/createPermissionInstructions.js +12 -0
  61. package/dist/agent/createSubagentInstructions.js +1 -1
  62. package/dist/agent/createSystemPrompt.d.ts.map +1 -1
  63. package/dist/agent/createSystemPrompt.js +4 -0
  64. package/dist/agent/index.d.ts +7 -3
  65. package/dist/agent/index.d.ts.map +1 -1
  66. package/dist/agent/loop.d.ts +16 -2
  67. package/dist/agent/loop.d.ts.map +1 -1
  68. package/dist/agent/loop.js +115 -15
  69. package/dist/agent/printAgentMessageToConsole.d.ts +1 -0
  70. package/dist/agent/printAgentMessageToConsole.d.ts.map +1 -1
  71. package/dist/agent/types.d.ts +1 -0
  72. package/dist/agent/types.d.ts.map +1 -1
  73. package/dist/app/CodingAssistantAgentBackend.d.ts +11 -1
  74. package/dist/app/CodingAssistantAgentBackend.d.ts.map +1 -1
  75. package/dist/app/CodingAssistantApp.d.ts +7 -1
  76. package/dist/app/CodingAssistantApp.d.ts.map +1 -1
  77. package/dist/app/CodingAssistantApp.js +678 -45
  78. package/dist/app/ScrollbackPreservingTerminal.d.ts +5 -0
  79. package/dist/app/ScrollbackPreservingTerminal.d.ts.map +1 -0
  80. package/dist/app/ScrollbackPreservingTerminal.js +7 -0
  81. package/dist/app/StartupStatusApp.js +1 -1
  82. package/dist/app/createCodingAssistantAgent.d.ts +6 -1
  83. package/dist/app/createCodingAssistantAgent.d.ts.map +1 -1
  84. package/dist/app/createCodingAssistantAgent.js +22 -5
  85. package/dist/app/createSlashCommands.d.ts.map +1 -1
  86. package/dist/app/createSlashCommands.js +42 -0
  87. package/dist/app/highlightAgentCode.d.ts.map +1 -1
  88. package/dist/app/highlightAgentCode.js +10 -7
  89. package/dist/app/humanizeGoalStatus.d.ts +3 -0
  90. package/dist/app/humanizeGoalStatus.d.ts.map +1 -0
  91. package/dist/app/humanizeGoalStatus.js +9 -0
  92. package/dist/app/humanizePermissionMode.d.ts +3 -0
  93. package/dist/app/humanizePermissionMode.d.ts.map +1 -0
  94. package/dist/app/humanizePermissionMode.js +9 -0
  95. package/dist/app/humanizeToolName.d.ts +2 -0
  96. package/dist/app/humanizeToolName.d.ts.map +1 -0
  97. package/dist/app/humanizeToolName.js +40 -0
  98. package/dist/app/main.d.ts.map +1 -1
  99. package/dist/app/main.js +4 -0
  100. package/dist/app/renderAgentMarkdown.d.ts.map +1 -1
  101. package/dist/app/renderAgentMarkdown.js +2 -1
  102. package/dist/app/runApp.d.ts +2 -0
  103. package/dist/app/runApp.d.ts.map +1 -1
  104. package/dist/app/runApp.js +48 -3
  105. package/dist/app/sanitizeTerminalText.d.ts +2 -0
  106. package/dist/app/sanitizeTerminalText.d.ts.map +1 -0
  107. package/dist/app/sanitizeTerminalText.js +55 -0
  108. package/dist/app/upsertSubagentSummary.d.ts +3 -0
  109. package/dist/app/upsertSubagentSummary.d.ts.map +1 -0
  110. package/dist/app/upsertSubagentSummary.js +6 -0
  111. package/dist/client/ProtocolHttpClient.d.ts +12 -1
  112. package/dist/client/ProtocolHttpClient.d.ts.map +1 -1
  113. package/dist/client/ProtocolHttpClient.js +21 -0
  114. package/dist/client/RemoteAgent.d.ts +11 -1
  115. package/dist/client/RemoteAgent.d.ts.map +1 -1
  116. package/dist/client/RemoteAgent.js +91 -1
  117. package/dist/config/createConfigFile.d.ts.map +1 -1
  118. package/dist/config/createConfigFile.js +5 -0
  119. package/dist/config/defaultConfig.d.ts.map +1 -1
  120. package/dist/config/defaultConfig.js +2 -0
  121. package/dist/config/mergeConfigValues.d.ts.map +1 -1
  122. package/dist/config/mergeConfigValues.js +8 -1
  123. package/dist/config/parseConfigToml.d.ts.map +1 -1
  124. package/dist/config/parseConfigToml.js +88 -0
  125. package/dist/config/serializeMcpServers.d.ts +3 -0
  126. package/dist/config/serializeMcpServers.d.ts.map +1 -0
  127. package/dist/config/serializeMcpServers.js +34 -0
  128. package/dist/config/types.d.ts +6 -0
  129. package/dist/config/types.d.ts.map +1 -1
  130. package/dist/config/writeRuntimeConfig.d.ts.map +1 -1
  131. package/dist/config/writeRuntimeConfig.js +3 -0
  132. package/dist/goals/SessionGoal.d.ts +14 -0
  133. package/dist/goals/SessionGoal.d.ts.map +1 -0
  134. package/dist/goals/SessionGoal.js +1 -0
  135. package/dist/goals/createGoalContinuationPrompt.d.ts +3 -0
  136. package/dist/goals/createGoalContinuationPrompt.d.ts.map +1 -0
  137. package/dist/goals/createGoalContinuationPrompt.js +17 -0
  138. package/dist/goals/index.d.ts +5 -0
  139. package/dist/goals/index.d.ts.map +1 -0
  140. package/dist/goals/index.js +3 -0
  141. package/dist/goals/isGoalStatus.d.ts +3 -0
  142. package/dist/goals/isGoalStatus.d.ts.map +1 -0
  143. package/dist/goals/isGoalStatus.js +3 -0
  144. package/dist/goals/normalizeGoalObjective.d.ts +3 -0
  145. package/dist/goals/normalizeGoalObjective.d.ts.map +1 -0
  146. package/dist/goals/normalizeGoalObjective.js +11 -0
  147. package/dist/mcp/McpClientManager.d.ts +12 -0
  148. package/dist/mcp/McpClientManager.d.ts.map +1 -0
  149. package/dist/mcp/McpClientManager.js +123 -0
  150. package/dist/mcp/connectMcpServer.d.ts +8 -0
  151. package/dist/mcp/connectMcpServer.d.ts.map +1 -0
  152. package/dist/mcp/connectMcpServer.js +47 -0
  153. package/dist/mcp/createMcpTool.d.ts +11 -0
  154. package/dist/mcp/createMcpTool.d.ts.map +1 -0
  155. package/dist/mcp/createMcpTool.js +43 -0
  156. package/dist/mcp/index.d.ts +5 -0
  157. package/dist/mcp/index.d.ts.map +1 -0
  158. package/dist/mcp/index.js +3 -0
  159. package/dist/mcp/loadMcpServerConfigs.d.ts +4 -0
  160. package/dist/mcp/loadMcpServerConfigs.d.ts.map +1 -0
  161. package/dist/mcp/loadMcpServerConfigs.js +122 -0
  162. package/dist/mcp/mcpResultToContentBlocks.d.ts +3 -0
  163. package/dist/mcp/mcpResultToContentBlocks.d.ts.map +1 -0
  164. package/dist/mcp/mcpResultToContentBlocks.js +51 -0
  165. package/dist/mcp/mergeMcpTools.d.ts +7 -0
  166. package/dist/mcp/mergeMcpTools.d.ts.map +1 -0
  167. package/dist/mcp/mergeMcpTools.js +34 -0
  168. package/dist/mcp/normalizeMcpName.d.ts +2 -0
  169. package/dist/mcp/normalizeMcpName.d.ts.map +1 -0
  170. package/dist/mcp/normalizeMcpName.js +3 -0
  171. package/dist/mcp/types.d.ts +37 -0
  172. package/dist/mcp/types.d.ts.map +1 -0
  173. package/dist/mcp/types.js +1 -0
  174. package/dist/permissions/PermissionContext.d.ts +7 -0
  175. package/dist/permissions/PermissionContext.d.ts.map +1 -0
  176. package/dist/permissions/PermissionContext.js +1 -0
  177. package/dist/permissions/PermissionMode.d.ts +3 -0
  178. package/dist/permissions/PermissionMode.d.ts.map +1 -0
  179. package/dist/permissions/PermissionMode.js +1 -0
  180. package/dist/permissions/createPermissionContext.d.ts +4 -0
  181. package/dist/permissions/createPermissionContext.d.ts.map +1 -0
  182. package/dist/permissions/createPermissionContext.js +16 -0
  183. package/dist/permissions/index.d.ts +13 -0
  184. package/dist/permissions/index.d.ts.map +1 -0
  185. package/dist/permissions/index.js +9 -0
  186. package/dist/permissions/isPermissionMode.d.ts +3 -0
  187. package/dist/permissions/isPermissionMode.d.ts.map +1 -0
  188. package/dist/permissions/isPermissionMode.js +6 -0
  189. package/dist/permissions/parseAutoPermissionReview.d.ts +7 -0
  190. package/dist/permissions/parseAutoPermissionReview.d.ts.map +1 -0
  191. package/dist/permissions/parseAutoPermissionReview.js +33 -0
  192. package/dist/permissions/parsePermissionMode.d.ts +3 -0
  193. package/dist/permissions/parsePermissionMode.d.ts.map +1 -0
  194. package/dist/permissions/parsePermissionMode.js +6 -0
  195. package/dist/permissions/requestAutoPermissionApproval.d.ts +9 -0
  196. package/dist/permissions/requestAutoPermissionApproval.d.ts.map +1 -0
  197. package/dist/permissions/requestAutoPermissionApproval.js +26 -0
  198. package/dist/permissions/reviewAutoPermission.d.ts +13 -0
  199. package/dist/permissions/reviewAutoPermission.d.ts.map +1 -0
  200. package/dist/permissions/reviewAutoPermission.js +70 -0
  201. package/dist/permissions/shouldElevateToolInAutoMode.d.ts +2 -0
  202. package/dist/permissions/shouldElevateToolInAutoMode.d.ts.map +1 -0
  203. package/dist/permissions/shouldElevateToolInAutoMode.js +37 -0
  204. package/dist/permissions/shouldReviewToolInAutoMode.d.ts +2 -0
  205. package/dist/permissions/shouldReviewToolInAutoMode.d.ts.map +1 -0
  206. package/dist/permissions/shouldReviewToolInAutoMode.js +85 -0
  207. package/dist/permissions/summarizePermissionAction.d.ts +2 -0
  208. package/dist/permissions/summarizePermissionAction.d.ts.map +1 -0
  209. package/dist/permissions/summarizePermissionAction.js +29 -0
  210. package/dist/protocol/SessionProtocol.d.ts +49 -2
  211. package/dist/protocol/SessionProtocol.d.ts.map +1 -1
  212. package/dist/protocol/index.d.ts +4 -1
  213. package/dist/protocol/index.d.ts.map +1 -1
  214. package/dist/providers/claude-sdk.d.ts.map +1 -1
  215. package/dist/providers/claude-sdk.js +7 -6
  216. package/dist/providers/models.d.ts +12 -12
  217. package/dist/providers/models.d.ts.map +1 -1
  218. package/dist/providers/models.js +18 -0
  219. package/dist/providers/types.d.ts +3 -0
  220. package/dist/providers/types.d.ts.map +1 -1
  221. package/dist/review/createCodeReviewPrompt.d.ts +2 -0
  222. package/dist/review/createCodeReviewPrompt.d.ts.map +1 -0
  223. package/dist/review/createCodeReviewPrompt.js +11 -0
  224. package/dist/review/index.d.ts +2 -0
  225. package/dist/review/index.d.ts.map +1 -0
  226. package/dist/review/index.js +1 -0
  227. package/dist/server/AgentSessionManager.d.ts +10 -1
  228. package/dist/server/AgentSessionManager.d.ts.map +1 -1
  229. package/dist/server/AgentSessionManager.js +203 -12
  230. package/dist/server/InMemorySession.d.ts +34 -1
  231. package/dist/server/InMemorySession.d.ts.map +1 -1
  232. package/dist/server/InMemorySession.js +558 -10
  233. package/dist/server/InMemorySessionStore.d.ts +2 -0
  234. package/dist/server/InMemorySessionStore.d.ts.map +1 -1
  235. package/dist/server/InMemorySessionStore.js +7 -0
  236. package/dist/server/PersistentSessionStore.d.ts +2 -0
  237. package/dist/server/PersistentSessionStore.d.ts.map +1 -1
  238. package/dist/server/PersistentSessionStore.js +80 -5
  239. package/dist/server/createGoalTitle.d.ts +2 -0
  240. package/dist/server/createGoalTitle.d.ts.map +1 -0
  241. package/dist/server/createGoalTitle.js +4 -0
  242. package/dist/server/createProtocolHttpServer.d.ts.map +1 -1
  243. package/dist/server/createProtocolHttpServer.js +119 -2
  244. package/dist/server/runLocalProtocolServer.d.ts.map +1 -1
  245. package/dist/server/runLocalProtocolServer.js +18 -2
  246. package/dist/tasks/index.d.ts +2 -0
  247. package/dist/tasks/index.d.ts.map +1 -0
  248. package/dist/tasks/index.js +1 -0
  249. package/dist/tasks/types.d.ts +39 -0
  250. package/dist/tasks/types.d.ts.map +1 -0
  251. package/dist/tasks/types.js +1 -0
  252. package/dist/tools/Agent.d.ts +13 -3
  253. package/dist/tools/Agent.d.ts.map +1 -1
  254. package/dist/tools/Agent.js +40 -12
  255. package/dist/tools/claude/AskUserQuestion.d.ts +23 -0
  256. package/dist/tools/claude/AskUserQuestion.d.ts.map +1 -0
  257. package/dist/tools/claude/AskUserQuestion.js +52 -0
  258. package/dist/tools/claude/Bash.d.ts +2 -0
  259. package/dist/tools/claude/Bash.d.ts.map +1 -1
  260. package/dist/tools/claude/Bash.js +20 -2
  261. package/dist/tools/claude/SendMessage.d.ts +10 -0
  262. package/dist/tools/claude/SendMessage.d.ts.map +1 -0
  263. package/dist/tools/claude/SendMessage.js +33 -0
  264. package/dist/tools/claude/TaskCreate.d.ts +12 -0
  265. package/dist/tools/claude/TaskCreate.d.ts.map +1 -0
  266. package/dist/tools/claude/TaskCreate.js +34 -0
  267. package/dist/tools/claude/TaskGet.d.ts +16 -0
  268. package/dist/tools/claude/TaskGet.d.ts.map +1 -0
  269. package/dist/tools/claude/TaskGet.js +44 -0
  270. package/dist/tools/claude/TaskList.d.ts +10 -0
  271. package/dist/tools/claude/TaskList.d.ts.map +1 -0
  272. package/dist/tools/claude/TaskList.js +51 -0
  273. package/dist/tools/claude/TaskOutput.d.ts +17 -0
  274. package/dist/tools/claude/TaskOutput.d.ts.map +1 -0
  275. package/dist/tools/claude/TaskOutput.js +74 -0
  276. package/dist/tools/claude/TaskStop.d.ts +10 -0
  277. package/dist/tools/claude/TaskStop.d.ts.map +1 -0
  278. package/dist/tools/claude/TaskStop.js +42 -0
  279. package/dist/tools/claude/TaskUpdate.d.ts +21 -0
  280. package/dist/tools/claude/TaskUpdate.d.ts.map +1 -0
  281. package/dist/tools/claude/TaskUpdate.js +55 -0
  282. package/dist/tools/claude/index.d.ts +111 -5
  283. package/dist/tools/claude/index.d.ts.map +1 -1
  284. package/dist/tools/claude/index.js +24 -2
  285. package/dist/tools/claude/parseBackgroundTaskId.d.ts +2 -0
  286. package/dist/tools/claude/parseBackgroundTaskId.d.ts.map +1 -0
  287. package/dist/tools/claude/parseBackgroundTaskId.js +7 -0
  288. package/dist/tools/claude/taskSchemas.d.ts +14 -0
  289. package/dist/tools/claude/taskSchemas.d.ts.map +1 -0
  290. package/dist/tools/claude/taskSchemas.js +18 -0
  291. package/dist/tools/codex/exec_command.d.ts +8 -6
  292. package/dist/tools/codex/exec_command.d.ts.map +1 -1
  293. package/dist/tools/codex/exec_command.js +37 -18
  294. package/dist/tools/codex/followup_task.d.ts +11 -0
  295. package/dist/tools/codex/followup_task.d.ts.map +1 -0
  296. package/dist/tools/codex/followup_task.js +18 -0
  297. package/dist/tools/codex/humanizeTaskName.d.ts +2 -0
  298. package/dist/tools/codex/humanizeTaskName.d.ts.map +1 -0
  299. package/dist/tools/codex/humanizeTaskName.js +4 -0
  300. package/dist/tools/codex/index.d.ts +90 -7
  301. package/dist/tools/codex/index.d.ts.map +1 -1
  302. package/dist/tools/codex/index.js +24 -0
  303. package/dist/tools/codex/interrupt_agent.d.ts +10 -0
  304. package/dist/tools/codex/interrupt_agent.d.ts.map +1 -0
  305. package/dist/tools/codex/interrupt_agent.js +17 -0
  306. package/dist/tools/codex/list_agents.d.ts +12 -0
  307. package/dist/tools/codex/list_agents.d.ts.map +1 -0
  308. package/dist/tools/codex/list_agents.js +23 -0
  309. package/dist/tools/codex/request_user_input.d.ts +16 -0
  310. package/dist/tools/codex/request_user_input.d.ts.map +1 -0
  311. package/dist/tools/codex/request_user_input.js +58 -0
  312. package/dist/tools/codex/requireSubagentContext.d.ts +3 -0
  313. package/dist/tools/codex/requireSubagentContext.d.ts.map +1 -0
  314. package/dist/tools/codex/requireSubagentContext.js +6 -0
  315. package/dist/tools/codex/spawn_agent.d.ts +9 -0
  316. package/dist/tools/codex/spawn_agent.d.ts.map +1 -0
  317. package/dist/tools/codex/spawn_agent.js +35 -0
  318. package/dist/tools/codex/subagentSchemas.d.ts +8 -0
  319. package/dist/tools/codex/subagentSchemas.d.ts.map +1 -0
  320. package/dist/tools/codex/subagentSchemas.js +13 -0
  321. package/dist/tools/codex/unifiedExecOutput.d.ts +14 -0
  322. package/dist/tools/codex/unifiedExecOutput.d.ts.map +1 -0
  323. package/dist/tools/codex/unifiedExecOutput.js +44 -0
  324. package/dist/tools/codex/update_plan.d.ts +10 -0
  325. package/dist/tools/codex/update_plan.d.ts.map +1 -0
  326. package/dist/tools/codex/update_plan.js +34 -0
  327. package/dist/tools/codex/wait_agent.d.ts +13 -0
  328. package/dist/tools/codex/wait_agent.d.ts.map +1 -0
  329. package/dist/tools/codex/wait_agent.js +32 -0
  330. package/dist/tools/codex/write_stdin.d.ts +6 -1
  331. package/dist/tools/codex/write_stdin.d.ts.map +1 -1
  332. package/dist/tools/codex/write_stdin.js +44 -12
  333. package/dist/tools/goals/create_goal.d.ts +11 -0
  334. package/dist/tools/goals/create_goal.d.ts.map +1 -0
  335. package/dist/tools/goals/create_goal.js +29 -0
  336. package/dist/tools/goals/get_goal.d.ts +9 -0
  337. package/dist/tools/goals/get_goal.d.ts.map +1 -0
  338. package/dist/tools/goals/get_goal.js +26 -0
  339. package/dist/tools/goals/goalSchemas.d.ts +8 -0
  340. package/dist/tools/goals/goalSchemas.d.ts.map +1 -0
  341. package/dist/tools/goals/goalSchemas.js +13 -0
  342. package/dist/tools/goals/index.d.ts +30 -0
  343. package/dist/tools/goals/index.d.ts.map +1 -0
  344. package/dist/tools/goals/index.js +7 -0
  345. package/dist/tools/goals/update_goal.d.ts +11 -0
  346. package/dist/tools/goals/update_goal.d.ts.map +1 -0
  347. package/dist/tools/goals/update_goal.js +33 -0
  348. package/dist/tools/index.d.ts +1 -0
  349. package/dist/tools/index.d.ts.map +1 -1
  350. package/dist/tools/index.js +1 -0
  351. package/dist/tools/pi/bash.d.ts.map +1 -1
  352. package/dist/tools/pi/bash.js +2 -0
  353. package/dist/tools/utils/readSessionWithProgress.d.ts +9 -0
  354. package/dist/tools/utils/readSessionWithProgress.d.ts.map +1 -0
  355. package/dist/tools/utils/readSessionWithProgress.js +27 -0
  356. package/dist/tools/utils/shell.d.ts +2 -0
  357. package/dist/tools/utils/shell.d.ts.map +1 -1
  358. package/dist/tools/utils/shell.js +37 -0
  359. package/dist/tools/utils/summarizeShellOutput.d.ts.map +1 -1
  360. package/dist/tools/utils/summarizeShellOutput.js +2 -0
  361. package/dist/user-input/index.d.ts +2 -0
  362. package/dist/user-input/index.d.ts.map +1 -0
  363. package/dist/user-input/index.js +1 -0
  364. package/dist/user-input/types.d.ts +19 -0
  365. package/dist/user-input/types.d.ts.map +1 -0
  366. package/dist/user-input/types.js +1 -0
  367. package/dist/web/assets/highlighted-body-OFNGDK62-BuJOCQJD.js +1 -0
  368. package/dist/web/assets/highlighted-body-OFNGDK62-TwhCqUaJ.js +1 -0
  369. package/dist/web/assets/index-B6Bc6sUJ.css +1 -0
  370. package/dist/web/assets/index-BC99-iZC.js +341 -0
  371. package/dist/web/assets/index-BZN9jSiw.js +341 -0
  372. package/dist/web/assets/index-CcF0unjO.css +1 -0
  373. package/dist/web/index.html +2 -2
  374. package/package.json +2 -1
@@ -0,0 +1,10 @@
1
+ export declare const claudeTaskStopTool: import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
2
+ task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
3
+ shell_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ }>, import("@sinclair/typebox").TObject<{
5
+ command: import("@sinclair/typebox").TString;
6
+ message: import("@sinclair/typebox").TString;
7
+ task_id: import("@sinclair/typebox").TString;
8
+ task_type: import("@sinclair/typebox").TLiteral<"local_bash">;
9
+ }>>;
10
+ //# sourceMappingURL=TaskStop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskStop.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/TaskStop.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;;;;;;;GAqC7B,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { defineTool } from "../../agent/types.js";
3
+ import { parseBackgroundTaskId } from "./parseBackgroundTaskId.js";
4
+ export const claudeTaskStopTool = defineTool({
5
+ name: "TaskStop",
6
+ label: "TaskStop",
7
+ description: "Stop a running background shell task by its identifier.",
8
+ arguments: Type.Object({
9
+ task_id: Type.Optional(Type.String({ description: "The background task identifier." })),
10
+ shell_id: Type.Optional(Type.String({ description: "Legacy alias for the background task identifier." })),
11
+ }),
12
+ returnType: Type.Object({
13
+ command: Type.String(),
14
+ message: Type.String(),
15
+ task_id: Type.String(),
16
+ task_type: Type.Literal("local_bash"),
17
+ }),
18
+ execute: async ({ shell_id, task_id }, context) => {
19
+ const id = task_id ?? shell_id;
20
+ if (id === undefined)
21
+ throw new Error("A background task identifier is required.");
22
+ const sessionId = parseBackgroundTaskId(id);
23
+ const current = await context.bash.readSession(sessionId);
24
+ if (current === undefined)
25
+ throw new Error("The background task was not found.");
26
+ if (current.status !== "running") {
27
+ throw new Error("The background task is not running.");
28
+ }
29
+ const snapshot = await context.bash.killSession(sessionId);
30
+ if (snapshot === undefined)
31
+ throw new Error("The background task was not found.");
32
+ return {
33
+ command: snapshot.command,
34
+ message: "The background command was stopped.",
35
+ task_id: id,
36
+ task_type: "local_bash",
37
+ };
38
+ },
39
+ toLLM: (result) => [{ type: "text", text: JSON.stringify(result) }],
40
+ toUI: (result) => result.message,
41
+ locks: [],
42
+ });
@@ -0,0 +1,21 @@
1
+ export declare const claudeTaskUpdateTool: import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
2
+ taskId: import("@sinclair/typebox").TString;
3
+ subject: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
5
+ activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
6
+ status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>, import("@sinclair/typebox").TLiteral<"deleted">]>>;
7
+ addBlocks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
8
+ addBlockedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
9
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
11
+ }>, import("@sinclair/typebox").TObject<{
12
+ success: import("@sinclair/typebox").TBoolean;
13
+ taskId: import("@sinclair/typebox").TString;
14
+ updatedFields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
15
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ statusChange: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
17
+ from: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
18
+ to: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>, import("@sinclair/typebox").TLiteral<"deleted">]>;
19
+ }>>;
20
+ }>>;
21
+ //# sourceMappingURL=TaskUpdate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskUpdate.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/TaskUpdate.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;GAiE/B,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { defineTool } from "../../agent/types.js";
3
+ import { taskMetadataSchema, taskStatusSchema } from "./taskSchemas.js";
4
+ export const claudeTaskUpdateTool = defineTool({
5
+ name: "TaskUpdate",
6
+ label: "TaskUpdate",
7
+ description: "Update a task's status, details, owner, or dependencies. Use deleted to remove a task.",
8
+ arguments: Type.Object({
9
+ taskId: Type.String({ description: "The ID of the task to update." }),
10
+ subject: Type.Optional(Type.String()),
11
+ description: Type.Optional(Type.String()),
12
+ activeForm: Type.Optional(Type.String()),
13
+ status: Type.Optional(Type.Union([taskStatusSchema, Type.Literal("deleted")])),
14
+ addBlocks: Type.Optional(Type.Array(Type.String())),
15
+ addBlockedBy: Type.Optional(Type.Array(Type.String())),
16
+ owner: Type.Optional(Type.String()),
17
+ metadata: Type.Optional(taskMetadataSchema),
18
+ }, { additionalProperties: false }),
19
+ returnType: Type.Object({
20
+ success: Type.Boolean(),
21
+ taskId: Type.String(),
22
+ updatedFields: Type.Array(Type.String()),
23
+ error: Type.Optional(Type.String()),
24
+ statusChange: Type.Optional(Type.Object({
25
+ from: taskStatusSchema,
26
+ to: Type.Union([taskStatusSchema, Type.Literal("deleted")]),
27
+ })),
28
+ }),
29
+ execute({ taskId, ...request }, context) {
30
+ if (context.tasks === undefined) {
31
+ throw new Error("Task tracking is unavailable in this session.");
32
+ }
33
+ const result = context.tasks.update(taskId, request);
34
+ const response = {
35
+ success: result.success,
36
+ taskId: result.taskId,
37
+ updatedFields: [...result.updatedFields],
38
+ };
39
+ if (result.error !== undefined)
40
+ response.error = result.error;
41
+ if (result.statusChange !== undefined)
42
+ response.statusChange = { ...result.statusChange };
43
+ return response;
44
+ },
45
+ toLLM: (result) => [
46
+ {
47
+ type: "text",
48
+ text: result.success
49
+ ? `Task #${result.taskId} updated successfully: ${result.updatedFields.join(", ") || "no changes"}`
50
+ : `Task #${result.taskId} could not be updated: ${result.error ?? "unknown error"}`,
51
+ },
52
+ ],
53
+ toUI: (result) => result.success ? `Updated task ${result.taskId}` : `Task ${result.taskId} was not updated`,
54
+ locks: ["tasks"],
55
+ });
@@ -4,15 +4,40 @@ export { claudeGlobTool } from "./Glob.js";
4
4
  export { claudeGrepTool } from "./Grep.js";
5
5
  export { claudeReadTool } from "./Read.js";
6
6
  export { claudeTodoWriteTool } from "./TodoWrite.js";
7
+ export { claudeTaskCreateTool } from "./TaskCreate.js";
8
+ export { claudeTaskGetTool } from "./TaskGet.js";
9
+ export { claudeTaskListTool } from "./TaskList.js";
10
+ export { claudeTaskUpdateTool } from "./TaskUpdate.js";
11
+ export { claudeTaskOutputTool } from "./TaskOutput.js";
12
+ export { claudeTaskStopTool } from "./TaskStop.js";
7
13
  export { claudeWebFetchTool } from "./WebFetch.js";
8
14
  export { claudeWebSearchTool } from "./WebSearch.js";
9
15
  export { claudeWriteTool } from "./Write.js";
16
+ export { claudeAskUserQuestionTool } from "./AskUserQuestion.js";
17
+ export { claudeSendMessageTool } from "./SendMessage.js";
10
18
  export declare const claudeCodeTools: readonly [import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
19
+ task_id: import("@sinclair/typebox").TString;
20
+ block: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
21
+ timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
22
+ }>, import("@sinclair/typebox").TObject<{
23
+ retrieval_status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"not_ready">, import("@sinclair/typebox").TLiteral<"success">, import("@sinclair/typebox").TLiteral<"timeout">]>;
24
+ task: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
25
+ command: import("@sinclair/typebox").TString;
26
+ description: import("@sinclair/typebox").TString;
27
+ exitCode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>>;
28
+ output: import("@sinclair/typebox").TString;
29
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"killed">, import("@sinclair/typebox").TLiteral<"running">]>;
30
+ task_id: import("@sinclair/typebox").TString;
31
+ task_type: import("@sinclair/typebox").TLiteral<"local_bash">;
32
+ }>, import("@sinclair/typebox").TNull]>;
33
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
11
34
  command: import("@sinclair/typebox").TString;
12
35
  timeout: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
13
36
  description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
37
  run_in_background: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
38
+ dangerouslyDisableSandbox: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
15
39
  }>, import("@sinclair/typebox").TObject<{
40
+ backgroundTaskId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
41
  stdout: import("@sinclair/typebox").TString;
17
42
  stderr: import("@sinclair/typebox").TString;
18
43
  exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>;
@@ -72,13 +97,56 @@ export declare const claudeCodeTools: readonly [import("../../agent/types.js").D
72
97
  }>, import("@sinclair/typebox").TObject<{
73
98
  text: import("@sinclair/typebox").TString;
74
99
  }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
75
- todos: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
76
- content: import("@sinclair/typebox").TString;
77
- activeForm: import("@sinclair/typebox").TString;
100
+ subject: import("@sinclair/typebox").TString;
101
+ description: import("@sinclair/typebox").TString;
102
+ activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
103
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
104
+ }>, import("@sinclair/typebox").TObject<{
105
+ task: import("@sinclair/typebox").TObject<{
106
+ id: import("@sinclair/typebox").TString;
107
+ subject: import("@sinclair/typebox").TString;
108
+ }>;
109
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
110
+ taskId: import("@sinclair/typebox").TString;
111
+ }>, import("@sinclair/typebox").TObject<{
112
+ task: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
113
+ id: import("@sinclair/typebox").TString;
114
+ subject: import("@sinclair/typebox").TString;
115
+ description: import("@sinclair/typebox").TString;
116
+ activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
117
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
78
118
  status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
79
- }>>;
119
+ blocks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
120
+ blockedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
121
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
122
+ }>, import("@sinclair/typebox").TNull]>;
123
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
124
+ taskId: import("@sinclair/typebox").TString;
125
+ subject: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
126
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
127
+ activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
128
+ status: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>, import("@sinclair/typebox").TLiteral<"deleted">]>>;
129
+ addBlocks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
130
+ addBlockedBy: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
131
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
132
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
80
133
  }>, import("@sinclair/typebox").TObject<{
81
- text: import("@sinclair/typebox").TString;
134
+ success: import("@sinclair/typebox").TBoolean;
135
+ taskId: import("@sinclair/typebox").TString;
136
+ updatedFields: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
137
+ error: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
138
+ statusChange: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
139
+ from: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
140
+ to: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>, import("@sinclair/typebox").TLiteral<"deleted">]>;
141
+ }>>;
142
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{}>, import("@sinclair/typebox").TObject<{
143
+ tasks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
144
+ id: import("@sinclair/typebox").TString;
145
+ subject: import("@sinclair/typebox").TString;
146
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
147
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
148
+ blockedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
149
+ }>>;
82
150
  }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
83
151
  url: import("@sinclair/typebox").TString;
84
152
  prompt: import("@sinclair/typebox").TString;
@@ -103,5 +171,43 @@ export declare const claudeCodeTools: readonly [import("../../agent/types.js").D
103
171
  }>>;
104
172
  }>, import("@sinclair/typebox").TString]>>;
105
173
  durationSeconds: import("@sinclair/typebox").TNumber;
174
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
175
+ task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
176
+ shell_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
177
+ }>, import("@sinclair/typebox").TObject<{
178
+ command: import("@sinclair/typebox").TString;
179
+ message: import("@sinclair/typebox").TString;
180
+ task_id: import("@sinclair/typebox").TString;
181
+ task_type: import("@sinclair/typebox").TLiteral<"local_bash">;
182
+ }>>, import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
183
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
184
+ question: import("@sinclair/typebox").TString;
185
+ header: import("@sinclair/typebox").TString;
186
+ options: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
187
+ label: import("@sinclair/typebox").TString;
188
+ description: import("@sinclair/typebox").TString;
189
+ }>>;
190
+ multiSelect: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
191
+ }>>;
192
+ }>, import("@sinclair/typebox").TObject<{
193
+ questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
194
+ question: import("@sinclair/typebox").TString;
195
+ header: import("@sinclair/typebox").TString;
196
+ options: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
197
+ label: import("@sinclair/typebox").TString;
198
+ description: import("@sinclair/typebox").TString;
199
+ }>>;
200
+ multiSelect: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
201
+ }>>;
202
+ answers: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
203
+ }>>];
204
+ export declare const claudeCollaborationTools: readonly [import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
205
+ to: import("@sinclair/typebox").TString;
206
+ summary: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
207
+ message: import("@sinclair/typebox").TString;
208
+ }>, import("@sinclair/typebox").TObject<{
209
+ message: import("@sinclair/typebox").TString;
210
+ success: import("@sinclair/typebox").TBoolean;
211
+ target: import("@sinclair/typebox").TString;
106
212
  }>>];
107
213
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAY7C,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUlB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAmBzD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBlB,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;IAAmC,CAAC"}
@@ -4,26 +4,48 @@ export { claudeGlobTool } from "./Glob.js";
4
4
  export { claudeGrepTool } from "./Grep.js";
5
5
  export { claudeReadTool } from "./Read.js";
6
6
  export { claudeTodoWriteTool } from "./TodoWrite.js";
7
+ export { claudeTaskCreateTool } from "./TaskCreate.js";
8
+ export { claudeTaskGetTool } from "./TaskGet.js";
9
+ export { claudeTaskListTool } from "./TaskList.js";
10
+ export { claudeTaskUpdateTool } from "./TaskUpdate.js";
11
+ export { claudeTaskOutputTool } from "./TaskOutput.js";
12
+ export { claudeTaskStopTool } from "./TaskStop.js";
7
13
  export { claudeWebFetchTool } from "./WebFetch.js";
8
14
  export { claudeWebSearchTool } from "./WebSearch.js";
9
15
  export { claudeWriteTool } from "./Write.js";
16
+ export { claudeAskUserQuestionTool } from "./AskUserQuestion.js";
17
+ export { claudeSendMessageTool } from "./SendMessage.js";
10
18
  import { claudeBashTool } from "./Bash.js";
11
19
  import { claudeEditTool } from "./Edit.js";
12
20
  import { claudeGlobTool } from "./Glob.js";
13
21
  import { claudeGrepTool } from "./Grep.js";
14
22
  import { claudeReadTool } from "./Read.js";
15
- import { claudeTodoWriteTool } from "./TodoWrite.js";
23
+ import { claudeTaskCreateTool } from "./TaskCreate.js";
24
+ import { claudeTaskGetTool } from "./TaskGet.js";
25
+ import { claudeTaskListTool } from "./TaskList.js";
26
+ import { claudeTaskUpdateTool } from "./TaskUpdate.js";
27
+ import { claudeTaskOutputTool } from "./TaskOutput.js";
28
+ import { claudeTaskStopTool } from "./TaskStop.js";
16
29
  import { claudeWebFetchTool } from "./WebFetch.js";
17
30
  import { claudeWebSearchTool } from "./WebSearch.js";
18
31
  import { claudeWriteTool } from "./Write.js";
32
+ import { claudeAskUserQuestionTool } from "./AskUserQuestion.js";
33
+ import { claudeSendMessageTool } from "./SendMessage.js";
19
34
  export const claudeCodeTools = [
35
+ claudeTaskOutputTool,
20
36
  claudeBashTool,
21
37
  claudeReadTool,
22
38
  claudeEditTool,
23
39
  claudeWriteTool,
24
40
  claudeGlobTool,
25
41
  claudeGrepTool,
26
- claudeTodoWriteTool,
42
+ claudeTaskCreateTool,
43
+ claudeTaskGetTool,
44
+ claudeTaskUpdateTool,
45
+ claudeTaskListTool,
27
46
  claudeWebFetchTool,
28
47
  claudeWebSearchTool,
48
+ claudeTaskStopTool,
49
+ claudeAskUserQuestionTool,
29
50
  ];
51
+ export const claudeCollaborationTools = [claudeSendMessageTool];
@@ -0,0 +1,2 @@
1
+ export declare function parseBackgroundTaskId(taskId: string): number;
2
+ //# sourceMappingURL=parseBackgroundTaskId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseBackgroundTaskId.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/parseBackgroundTaskId.ts"],"names":[],"mappings":"AAAA,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM5D"}
@@ -0,0 +1,7 @@
1
+ export function parseBackgroundTaskId(taskId) {
2
+ const parsed = Number(taskId);
3
+ if (!Number.isSafeInteger(parsed) || parsed < 1) {
4
+ throw new Error("The background task identifier is invalid.");
5
+ }
6
+ return parsed;
7
+ }
@@ -0,0 +1,14 @@
1
+ export declare const taskStatusSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
2
+ export declare const sessionTaskSchema: import("@sinclair/typebox").TObject<{
3
+ id: import("@sinclair/typebox").TString;
4
+ subject: import("@sinclair/typebox").TString;
5
+ description: import("@sinclair/typebox").TString;
6
+ activeForm: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
7
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"in_progress">, import("@sinclair/typebox").TLiteral<"completed">]>;
9
+ blocks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
10
+ blockedBy: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
11
+ metadata: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>>;
12
+ }>;
13
+ export declare const taskMetadataSchema: import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TUnknown>;
14
+ //# sourceMappingURL=taskSchemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskSchemas.d.ts","sourceRoot":"","sources":["../../../sources/tools/claude/taskSchemas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,+LAI3B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;EAa7B,CAAC;AAEF,eAAO,MAAM,kBAAkB,gHAA6C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ export const taskStatusSchema = Type.Union([
3
+ Type.Literal("pending"),
4
+ Type.Literal("in_progress"),
5
+ Type.Literal("completed"),
6
+ ]);
7
+ export const sessionTaskSchema = Type.Object({
8
+ id: Type.String(),
9
+ subject: Type.String(),
10
+ description: Type.String(),
11
+ activeForm: Type.Optional(Type.String()),
12
+ owner: Type.Optional(Type.String()),
13
+ status: taskStatusSchema,
14
+ blocks: Type.Array(Type.String()),
15
+ blockedBy: Type.Array(Type.String()),
16
+ metadata: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
17
+ }, { additionalProperties: false });
18
+ export const taskMetadataSchema = Type.Record(Type.String(), Type.Unknown());
@@ -1,15 +1,17 @@
1
1
  export declare const codexExecCommandTool: import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
2
2
  cmd: import("@sinclair/typebox").TString;
3
3
  workdir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
4
- tty: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
5
4
  yield_time_ms: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
6
5
  max_output_tokens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
7
6
  shell: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
- login: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
7
+ sandbox_permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"use_default">, import("@sinclair/typebox").TLiteral<"require_escalated">]>>;
8
+ justification: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
9
9
  }>, import("@sinclair/typebox").TObject<{
10
- stdout: import("@sinclair/typebox").TString;
11
- stderr: import("@sinclair/typebox").TString;
12
- exitCode: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TNumber, import("@sinclair/typebox").TNull]>;
13
- timedOut: import("@sinclair/typebox").TBoolean;
10
+ chunk_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ exit_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
12
+ original_token_count: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
13
+ output: import("@sinclair/typebox").TString;
14
+ session_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
15
+ wall_time_seconds: import("@sinclair/typebox").TNumber;
14
16
  }>>;
15
17
  //# sourceMappingURL=exec_command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exec_command.d.ts","sourceRoot":"","sources":["../../../sources/tools/codex/exec_command.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;GAuD/B,CAAC"}
1
+ {"version":3,"file":"exec_command.d.ts","sourceRoot":"","sources":["../../../sources/tools/codex/exec_command.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;GA8E/B,CAAC"}
@@ -1,18 +1,17 @@
1
1
  import { Type } from "@sinclair/typebox";
2
2
  import { defineTool } from "../../agent/types.js";
3
- import { runShellCommand, shellOutputToText, shellToolOutputSchema, summarizeShellOutput, } from "../utils/index.js";
3
+ import { summarizeTextOutput } from "../utils/index.js";
4
+ import { createUnifiedExecOutput, formatUnifiedExecOutput, unifiedExecOutputSchema, } from "./unifiedExecOutput.js";
5
+ import { readSessionWithProgress } from "../utils/readSessionWithProgress.js";
4
6
  export const codexExecCommandTool = defineTool({
5
7
  name: "exec_command",
6
8
  label: "exec_command",
7
- description: "Runs a command in a PTY, returning output or a session ID for ongoing interaction.",
9
+ description: "Runs a command, returning output or a session ID for ongoing interaction.",
8
10
  arguments: Type.Object({
9
11
  cmd: Type.String({ description: "Shell command to execute." }),
10
12
  workdir: Type.Optional(Type.String({
11
13
  description: "Working directory for the command. Defaults to the turn cwd.",
12
14
  })),
13
- tty: Type.Optional(Type.Boolean({
14
- description: "True allocates a PTY for the command; false or omitted uses plain pipes.",
15
- })),
16
15
  yield_time_ms: Type.Optional(Type.Number({
17
16
  description: "Wait before yielding output. Defaults to 10000 ms; effective range is 250-30000 ms.",
18
17
  })),
@@ -22,24 +21,44 @@ export const codexExecCommandTool = defineTool({
22
21
  shell: Type.Optional(Type.String({
23
22
  description: "Shell binary to launch. Defaults to the user's default shell.",
24
23
  })),
25
- login: Type.Optional(Type.Boolean({
26
- description: "True runs the shell with -l/-i semantics; false disables them. Defaults to true.",
24
+ sandbox_permissions: Type.Optional(Type.Union([Type.Literal("use_default"), Type.Literal("require_escalated")], {
25
+ description: "Request reviewed execution outside the workspace sandbox in Auto mode. Defaults to use_default.",
26
+ })),
27
+ justification: Type.Optional(Type.String({
28
+ description: "Concise user-facing reason why sandbox escalation is needed. Use only with require_escalated.",
27
29
  })),
28
30
  }),
29
- returnType: shellToolOutputSchema,
30
- execute: async ({ cmd, workdir, yield_time_ms, max_output_tokens }, context, execution) => {
31
- const options = {
31
+ returnType: unifiedExecOutputSchema,
32
+ execute: async ({ cmd, max_output_tokens, shell, workdir, yield_time_ms }, context, execution) => {
33
+ const startedAt = Date.now();
34
+ const startOptions = {
35
+ command: cmd,
32
36
  maxOutputBytes: Math.max(4_000, (max_output_tokens ?? 10_000) * 4),
33
37
  };
34
38
  if (workdir !== undefined)
35
- options.cwd = workdir;
36
- if (yield_time_ms !== undefined)
37
- options.timeoutMs = yield_time_ms;
38
- if (execution.signal !== undefined)
39
- options.signal = execution.signal;
40
- return runShellCommand(cmd, options, context);
39
+ startOptions.cwd = workdir;
40
+ if (shell !== undefined)
41
+ startOptions.shell = shell;
42
+ const sessionId = await context.bash.startSession(startOptions);
43
+ const snapshot = await readSessionWithProgress({
44
+ bash: context.bash,
45
+ ...(execution.onProgress === undefined ? {} : { onProgress: execution.onProgress }),
46
+ sessionId,
47
+ ...(execution.signal === undefined ? {} : { signal: execution.signal }),
48
+ waitMs: Math.max(250, Math.min(30_000, yield_time_ms ?? 10_000)),
49
+ });
50
+ if (snapshot === undefined)
51
+ throw new Error("The shell session could not be started.");
52
+ return createUnifiedExecOutput(snapshot, (Date.now() - startedAt) / 1_000, max_output_tokens);
53
+ },
54
+ toLLM: (result) => [{ type: "text", text: formatUnifiedExecOutput(result) }],
55
+ toUI: (result) => {
56
+ const summary = summarizeTextOutput(result.output, "");
57
+ if (summary !== "")
58
+ return summary;
59
+ return result.session_id === undefined
60
+ ? `Command finished${result.exit_code === undefined ? "." : ` with exit code ${result.exit_code}.`}`
61
+ : "Command is still running in the background.";
41
62
  },
42
- toLLM: shellOutputToText,
43
- toUI: (result) => summarizeShellOutput(result),
44
63
  locks: [],
45
64
  });
@@ -0,0 +1,11 @@
1
+ export declare const codexFollowupTaskTool: import("../../agent/types.js").DefinedTool<import("@sinclair/typebox").TObject<{
2
+ target: import("@sinclair/typebox").TString;
3
+ message: import("@sinclair/typebox").TString;
4
+ }>, import("@sinclair/typebox").TObject<{
5
+ description: import("@sinclair/typebox").TString;
6
+ path: import("@sinclair/typebox").TString;
7
+ sessionId: import("@sinclair/typebox").TString;
8
+ status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"aborted">, import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"error">, import("@sinclair/typebox").TLiteral<"running">]>;
9
+ taskName: import("@sinclair/typebox").TString;
10
+ }>>;
11
+ //# sourceMappingURL=followup_task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup_task.d.ts","sourceRoot":"","sources":["../../../sources/tools/codex/followup_task.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB;;;;;;;;;GAehC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Type } from "@sinclair/typebox";
2
+ import { defineTool } from "../../agent/types.js";
3
+ import { managedSubagentSchema } from "./subagentSchemas.js";
4
+ import { requireSubagentContext } from "./requireSubagentContext.js";
5
+ export const codexFollowupTaskTool = defineTool({
6
+ name: "followup_task",
7
+ label: "followup_task",
8
+ description: "Send follow-up work to an existing subagent. If it is idle, this starts another turn; if it is busy, the work is queued.",
9
+ arguments: Type.Object({
10
+ target: Type.String({ description: "Agent id, task name, or full task path." }),
11
+ message: Type.String({ description: "The follow-up instructions." }),
12
+ }),
13
+ returnType: managedSubagentSchema,
14
+ execute: ({ message, target }, context) => requireSubagentContext(context).followUp(target, message),
15
+ toLLM: (result) => [{ type: "text", text: JSON.stringify(result) }],
16
+ toUI: (result) => `Sent follow-up work to ${result.description}.`,
17
+ locks: [],
18
+ });
@@ -0,0 +1,2 @@
1
+ export declare function humanizeTaskName(taskName: string): string;
2
+ //# sourceMappingURL=humanizeTaskName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"humanizeTaskName.d.ts","sourceRoot":"","sources":["../../../sources/tools/codex/humanizeTaskName.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD"}
@@ -0,0 +1,4 @@
1
+ export function humanizeTaskName(taskName) {
2
+ const words = taskName.replaceAll("_", " ").trim();
3
+ return words.length === 0 ? "Delegated task" : words[0]?.toUpperCase() + words.slice(1);
4
+ }