takt 0.1.0

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 (480) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +307 -0
  3. package/bin/takt +27 -0
  4. package/dist/agents/index.d.ts +5 -0
  5. package/dist/agents/index.d.ts.map +1 -0
  6. package/dist/agents/index.js +5 -0
  7. package/dist/agents/index.js.map +1 -0
  8. package/dist/agents/runner.d.ts +26 -0
  9. package/dist/agents/runner.d.ts.map +1 -0
  10. package/dist/agents/runner.js +144 -0
  11. package/dist/agents/runner.js.map +1 -0
  12. package/dist/claude/client.d.ts +43 -0
  13. package/dist/claude/client.d.ts.map +1 -0
  14. package/dist/claude/client.js +143 -0
  15. package/dist/claude/client.js.map +1 -0
  16. package/dist/claude/executor.d.ts +29 -0
  17. package/dist/claude/executor.d.ts.map +1 -0
  18. package/dist/claude/executor.js +169 -0
  19. package/dist/claude/executor.js.map +1 -0
  20. package/dist/claude/index.d.ts +14 -0
  21. package/dist/claude/index.d.ts.map +1 -0
  22. package/dist/claude/index.js +18 -0
  23. package/dist/claude/index.js.map +1 -0
  24. package/dist/claude/options-builder.d.ts +40 -0
  25. package/dist/claude/options-builder.d.ts.map +1 -0
  26. package/dist/claude/options-builder.js +90 -0
  27. package/dist/claude/options-builder.js.map +1 -0
  28. package/dist/claude/process.d.ts +57 -0
  29. package/dist/claude/process.d.ts.map +1 -0
  30. package/dist/claude/process.js +57 -0
  31. package/dist/claude/process.js.map +1 -0
  32. package/dist/claude/query-manager.d.ts +35 -0
  33. package/dist/claude/query-manager.d.ts.map +1 -0
  34. package/dist/claude/query-manager.js +74 -0
  35. package/dist/claude/query-manager.js.map +1 -0
  36. package/dist/claude/stream-converter.d.ts +19 -0
  37. package/dist/claude/stream-converter.d.ts.map +1 -0
  38. package/dist/claude/stream-converter.js +166 -0
  39. package/dist/claude/stream-converter.js.map +1 -0
  40. package/dist/claude/types.d.ts +99 -0
  41. package/dist/claude/types.d.ts.map +1 -0
  42. package/dist/claude/types.js +8 -0
  43. package/dist/claude/types.js.map +1 -0
  44. package/dist/cli/agentExecution.d.ts +16 -0
  45. package/dist/cli/agentExecution.d.ts.map +1 -0
  46. package/dist/cli/agentExecution.js +40 -0
  47. package/dist/cli/agentExecution.js.map +1 -0
  48. package/dist/cli/help.d.ts +8 -0
  49. package/dist/cli/help.d.ts.map +1 -0
  50. package/dist/cli/help.js +46 -0
  51. package/dist/cli/help.js.map +1 -0
  52. package/dist/cli/index.d.ts +8 -0
  53. package/dist/cli/index.d.ts.map +1 -0
  54. package/dist/cli/index.js +8 -0
  55. package/dist/cli/index.js.map +1 -0
  56. package/dist/cli/taskBatch.d.ts +8 -0
  57. package/dist/cli/taskBatch.d.ts.map +1 -0
  58. package/dist/cli/taskBatch.js +69 -0
  59. package/dist/cli/taskBatch.js.map +1 -0
  60. package/dist/cli/workflowExecution.d.ts +18 -0
  61. package/dist/cli/workflowExecution.d.ts.map +1 -0
  62. package/dist/cli/workflowExecution.js +112 -0
  63. package/dist/cli/workflowExecution.js.map +1 -0
  64. package/dist/cli.d.ts +14 -0
  65. package/dist/cli.d.ts.map +1 -0
  66. package/dist/cli.js +122 -0
  67. package/dist/cli.js.map +1 -0
  68. package/dist/commands/agentExecution.d.ts +8 -0
  69. package/dist/commands/agentExecution.d.ts.map +1 -0
  70. package/dist/commands/agentExecution.js +44 -0
  71. package/dist/commands/agentExecution.js.map +1 -0
  72. package/dist/commands/help.d.ts +8 -0
  73. package/dist/commands/help.d.ts.map +1 -0
  74. package/dist/commands/help.js +39 -0
  75. package/dist/commands/help.js.map +1 -0
  76. package/dist/commands/index.d.ts +9 -0
  77. package/dist/commands/index.d.ts.map +1 -0
  78. package/dist/commands/index.js +9 -0
  79. package/dist/commands/index.js.map +1 -0
  80. package/dist/commands/session.d.ts +10 -0
  81. package/dist/commands/session.d.ts.map +1 -0
  82. package/dist/commands/session.js +18 -0
  83. package/dist/commands/session.js.map +1 -0
  84. package/dist/commands/taskExecution.d.ts +20 -0
  85. package/dist/commands/taskExecution.d.ts.map +1 -0
  86. package/dist/commands/taskExecution.js +103 -0
  87. package/dist/commands/taskExecution.js.map +1 -0
  88. package/dist/commands/workflow.d.ts +9 -0
  89. package/dist/commands/workflow.d.ts.map +1 -0
  90. package/dist/commands/workflow.js +51 -0
  91. package/dist/commands/workflow.js.map +1 -0
  92. package/dist/commands/workflowExecution.d.ts +21 -0
  93. package/dist/commands/workflowExecution.d.ts.map +1 -0
  94. package/dist/commands/workflowExecution.js +95 -0
  95. package/dist/commands/workflowExecution.js.map +1 -0
  96. package/dist/config/agentLoader.d.ts +25 -0
  97. package/dist/config/agentLoader.d.ts.map +1 -0
  98. package/dist/config/agentLoader.js +96 -0
  99. package/dist/config/agentLoader.js.map +1 -0
  100. package/dist/config/globalConfig.d.ts +23 -0
  101. package/dist/config/globalConfig.d.ts.map +1 -0
  102. package/dist/config/globalConfig.js +117 -0
  103. package/dist/config/globalConfig.js.map +1 -0
  104. package/dist/config/index.d.ts +7 -0
  105. package/dist/config/index.d.ts.map +1 -0
  106. package/dist/config/index.js +7 -0
  107. package/dist/config/index.js.map +1 -0
  108. package/dist/config/initialization.d.ts +23 -0
  109. package/dist/config/initialization.d.ts.map +1 -0
  110. package/dist/config/initialization.js +55 -0
  111. package/dist/config/initialization.js.map +1 -0
  112. package/dist/config/loader.d.ts +9 -0
  113. package/dist/config/loader.d.ts.map +1 -0
  114. package/dist/config/loader.js +12 -0
  115. package/dist/config/loader.js.map +1 -0
  116. package/dist/config/paths.d.ts +33 -0
  117. package/dist/config/paths.d.ts.map +1 -0
  118. package/dist/config/paths.js +66 -0
  119. package/dist/config/paths.js.map +1 -0
  120. package/dist/config/projectConfig.d.ts +41 -0
  121. package/dist/config/projectConfig.d.ts.map +1 -0
  122. package/dist/config/projectConfig.js +85 -0
  123. package/dist/config/projectConfig.js.map +1 -0
  124. package/dist/config/sessionStore.d.ts +44 -0
  125. package/dist/config/sessionStore.d.ts.map +1 -0
  126. package/dist/config/sessionStore.js +194 -0
  127. package/dist/config/sessionStore.js.map +1 -0
  128. package/dist/config/workflowLoader.d.ts +23 -0
  129. package/dist/config/workflowLoader.d.ts.map +1 -0
  130. package/dist/config/workflowLoader.js +142 -0
  131. package/dist/config/workflowLoader.js.map +1 -0
  132. package/dist/constants.d.ts +9 -0
  133. package/dist/constants.d.ts.map +1 -0
  134. package/dist/constants.js +8 -0
  135. package/dist/constants.js.map +1 -0
  136. package/dist/index.d.ts +13 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +20 -0
  139. package/dist/index.js.map +1 -0
  140. package/dist/interactive/commands/agent.d.ts +7 -0
  141. package/dist/interactive/commands/agent.d.ts.map +1 -0
  142. package/dist/interactive/commands/agent.js +65 -0
  143. package/dist/interactive/commands/agent.js.map +1 -0
  144. package/dist/interactive/commands/basic.d.ts +7 -0
  145. package/dist/interactive/commands/basic.d.ts.map +1 -0
  146. package/dist/interactive/commands/basic.js +81 -0
  147. package/dist/interactive/commands/basic.js.map +1 -0
  148. package/dist/interactive/commands/index.d.ts +12 -0
  149. package/dist/interactive/commands/index.d.ts.map +1 -0
  150. package/dist/interactive/commands/index.js +14 -0
  151. package/dist/interactive/commands/index.js.map +1 -0
  152. package/dist/interactive/commands/registry.d.ts +41 -0
  153. package/dist/interactive/commands/registry.d.ts.map +1 -0
  154. package/dist/interactive/commands/registry.js +37 -0
  155. package/dist/interactive/commands/registry.js.map +1 -0
  156. package/dist/interactive/commands/session.d.ts +7 -0
  157. package/dist/interactive/commands/session.d.ts.map +1 -0
  158. package/dist/interactive/commands/session.js +75 -0
  159. package/dist/interactive/commands/session.js.map +1 -0
  160. package/dist/interactive/commands/task.d.ts +7 -0
  161. package/dist/interactive/commands/task.d.ts.map +1 -0
  162. package/dist/interactive/commands/task.js +156 -0
  163. package/dist/interactive/commands/task.js.map +1 -0
  164. package/dist/interactive/commands/workflow.d.ts +7 -0
  165. package/dist/interactive/commands/workflow.d.ts.map +1 -0
  166. package/dist/interactive/commands/workflow.js +56 -0
  167. package/dist/interactive/commands/workflow.js.map +1 -0
  168. package/dist/interactive/escape-tracker.d.ts +37 -0
  169. package/dist/interactive/escape-tracker.d.ts.map +1 -0
  170. package/dist/interactive/escape-tracker.js +52 -0
  171. package/dist/interactive/escape-tracker.js.map +1 -0
  172. package/dist/interactive/handlers.d.ts +24 -0
  173. package/dist/interactive/handlers.d.ts.map +1 -0
  174. package/dist/interactive/handlers.js +191 -0
  175. package/dist/interactive/handlers.js.map +1 -0
  176. package/dist/interactive/history-manager.d.ts +45 -0
  177. package/dist/interactive/history-manager.d.ts.map +1 -0
  178. package/dist/interactive/history-manager.js +91 -0
  179. package/dist/interactive/history-manager.js.map +1 -0
  180. package/dist/interactive/index.d.ts +8 -0
  181. package/dist/interactive/index.d.ts.map +1 -0
  182. package/dist/interactive/index.js +8 -0
  183. package/dist/interactive/index.js.map +1 -0
  184. package/dist/interactive/ink/components/App.d.ts +16 -0
  185. package/dist/interactive/ink/components/App.d.ts.map +1 -0
  186. package/dist/interactive/ink/components/App.js +123 -0
  187. package/dist/interactive/ink/components/App.js.map +1 -0
  188. package/dist/interactive/ink/components/AskUserQuestion.d.ts +16 -0
  189. package/dist/interactive/ink/components/AskUserQuestion.d.ts.map +1 -0
  190. package/dist/interactive/ink/components/AskUserQuestion.js +139 -0
  191. package/dist/interactive/ink/components/AskUserQuestion.js.map +1 -0
  192. package/dist/interactive/ink/components/Header.d.ts +20 -0
  193. package/dist/interactive/ink/components/Header.d.ts.map +1 -0
  194. package/dist/interactive/ink/components/Header.js +7 -0
  195. package/dist/interactive/ink/components/Header.js.map +1 -0
  196. package/dist/interactive/ink/components/HelpView.d.ts +13 -0
  197. package/dist/interactive/ink/components/HelpView.d.ts.map +1 -0
  198. package/dist/interactive/ink/components/HelpView.js +45 -0
  199. package/dist/interactive/ink/components/HelpView.js.map +1 -0
  200. package/dist/interactive/ink/components/IterationLimit.d.ts +19 -0
  201. package/dist/interactive/ink/components/IterationLimit.d.ts.map +1 -0
  202. package/dist/interactive/ink/components/IterationLimit.js +59 -0
  203. package/dist/interactive/ink/components/IterationLimit.js.map +1 -0
  204. package/dist/interactive/ink/components/ModalRouter.d.ts +11 -0
  205. package/dist/interactive/ink/components/ModalRouter.d.ts.map +1 -0
  206. package/dist/interactive/ink/components/ModalRouter.js +71 -0
  207. package/dist/interactive/ink/components/ModalRouter.js.map +1 -0
  208. package/dist/interactive/ink/components/PermissionPrompt.d.ts +17 -0
  209. package/dist/interactive/ink/components/PermissionPrompt.d.ts.map +1 -0
  210. package/dist/interactive/ink/components/PermissionPrompt.js +102 -0
  211. package/dist/interactive/ink/components/PermissionPrompt.js.map +1 -0
  212. package/dist/interactive/ink/components/PromptInput.d.ts +26 -0
  213. package/dist/interactive/ink/components/PromptInput.d.ts.map +1 -0
  214. package/dist/interactive/ink/components/PromptInput.js +70 -0
  215. package/dist/interactive/ink/components/PromptInput.js.map +1 -0
  216. package/dist/interactive/ink/components/Spinner.d.ts +14 -0
  217. package/dist/interactive/ink/components/Spinner.d.ts.map +1 -0
  218. package/dist/interactive/ink/components/Spinner.js +8 -0
  219. package/dist/interactive/ink/components/Spinner.js.map +1 -0
  220. package/dist/interactive/ink/components/StreamingOutput.d.ts +25 -0
  221. package/dist/interactive/ink/components/StreamingOutput.d.ts.map +1 -0
  222. package/dist/interactive/ink/components/StreamingOutput.js +8 -0
  223. package/dist/interactive/ink/components/StreamingOutput.js.map +1 -0
  224. package/dist/interactive/ink/components/UserInputPrompt.d.ts +18 -0
  225. package/dist/interactive/ink/components/UserInputPrompt.d.ts.map +1 -0
  226. package/dist/interactive/ink/components/UserInputPrompt.js +30 -0
  227. package/dist/interactive/ink/components/UserInputPrompt.js.map +1 -0
  228. package/dist/interactive/ink/components/WorkflowSelector.d.ts +18 -0
  229. package/dist/interactive/ink/components/WorkflowSelector.d.ts.map +1 -0
  230. package/dist/interactive/ink/components/WorkflowSelector.js +65 -0
  231. package/dist/interactive/ink/components/WorkflowSelector.js.map +1 -0
  232. package/dist/interactive/ink/constants.d.ts +8 -0
  233. package/dist/interactive/ink/constants.d.ts.map +1 -0
  234. package/dist/interactive/ink/constants.js +8 -0
  235. package/dist/interactive/ink/constants.js.map +1 -0
  236. package/dist/interactive/ink/context/AppContext.d.ts +26 -0
  237. package/dist/interactive/ink/context/AppContext.d.ts.map +1 -0
  238. package/dist/interactive/ink/context/AppContext.js +30 -0
  239. package/dist/interactive/ink/context/AppContext.js.map +1 -0
  240. package/dist/interactive/ink/context/appReducer.d.ts +13 -0
  241. package/dist/interactive/ink/context/appReducer.d.ts.map +1 -0
  242. package/dist/interactive/ink/context/appReducer.js +183 -0
  243. package/dist/interactive/ink/context/appReducer.js.map +1 -0
  244. package/dist/interactive/ink/context/types.d.ts +144 -0
  245. package/dist/interactive/ink/context/types.d.ts.map +1 -0
  246. package/dist/interactive/ink/context/types.js +5 -0
  247. package/dist/interactive/ink/context/types.js.map +1 -0
  248. package/dist/interactive/ink/hooks/keyDetection.d.ts +116 -0
  249. package/dist/interactive/ink/hooks/keyDetection.d.ts.map +1 -0
  250. package/dist/interactive/ink/hooks/keyDetection.js +183 -0
  251. package/dist/interactive/ink/hooks/keyDetection.js.map +1 -0
  252. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts +50 -0
  253. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts.map +1 -0
  254. package/dist/interactive/ink/hooks/multilineInputLogic.js +150 -0
  255. package/dist/interactive/ink/hooks/multilineInputLogic.js.map +1 -0
  256. package/dist/interactive/ink/hooks/useCommands.d.ts +20 -0
  257. package/dist/interactive/ink/hooks/useCommands.d.ts.map +1 -0
  258. package/dist/interactive/ink/hooks/useCommands.js +129 -0
  259. package/dist/interactive/ink/hooks/useCommands.js.map +1 -0
  260. package/dist/interactive/ink/hooks/useHistory.d.ts +28 -0
  261. package/dist/interactive/ink/hooks/useHistory.d.ts.map +1 -0
  262. package/dist/interactive/ink/hooks/useHistory.js +59 -0
  263. package/dist/interactive/ink/hooks/useHistory.js.map +1 -0
  264. package/dist/interactive/ink/hooks/useMultilineInput.d.ts +49 -0
  265. package/dist/interactive/ink/hooks/useMultilineInput.d.ts.map +1 -0
  266. package/dist/interactive/ink/hooks/useMultilineInput.js +106 -0
  267. package/dist/interactive/ink/hooks/useMultilineInput.js.map +1 -0
  268. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts +16 -0
  269. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts.map +1 -0
  270. package/dist/interactive/ink/hooks/usePermissionHandlers.js +172 -0
  271. package/dist/interactive/ink/hooks/usePermissionHandlers.js.map +1 -0
  272. package/dist/interactive/ink/hooks/useRawKeypress.d.ts +41 -0
  273. package/dist/interactive/ink/hooks/useRawKeypress.d.ts.map +1 -0
  274. package/dist/interactive/ink/hooks/useRawKeypress.js +79 -0
  275. package/dist/interactive/ink/hooks/useRawKeypress.js.map +1 -0
  276. package/dist/interactive/ink/hooks/useTaskQueue.d.ts +32 -0
  277. package/dist/interactive/ink/hooks/useTaskQueue.d.ts.map +1 -0
  278. package/dist/interactive/ink/hooks/useTaskQueue.js +68 -0
  279. package/dist/interactive/ink/hooks/useTaskQueue.js.map +1 -0
  280. package/dist/interactive/ink/hooks/useWorkflow.d.ts +45 -0
  281. package/dist/interactive/ink/hooks/useWorkflow.d.ts.map +1 -0
  282. package/dist/interactive/ink/hooks/useWorkflow.js +93 -0
  283. package/dist/interactive/ink/hooks/useWorkflow.js.map +1 -0
  284. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts +14 -0
  285. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts.map +1 -0
  286. package/dist/interactive/ink/hooks/useWorkflowExecution.js +144 -0
  287. package/dist/interactive/ink/hooks/useWorkflowExecution.js.map +1 -0
  288. package/dist/interactive/ink/index.d.ts +30 -0
  289. package/dist/interactive/ink/index.d.ts.map +1 -0
  290. package/dist/interactive/ink/index.js +33 -0
  291. package/dist/interactive/ink/index.js.map +1 -0
  292. package/dist/interactive/ink/utils/workflow.d.ts +11 -0
  293. package/dist/interactive/ink/utils/workflow.d.ts.map +1 -0
  294. package/dist/interactive/ink/utils/workflow.js +19 -0
  295. package/dist/interactive/ink/utils/workflow.js.map +1 -0
  296. package/dist/interactive/input-buffer.d.ts +67 -0
  297. package/dist/interactive/input-buffer.d.ts.map +1 -0
  298. package/dist/interactive/input-buffer.js +162 -0
  299. package/dist/interactive/input-buffer.js.map +1 -0
  300. package/dist/interactive/input-handlers.d.ts +50 -0
  301. package/dist/interactive/input-handlers.d.ts.map +1 -0
  302. package/dist/interactive/input-handlers.js +170 -0
  303. package/dist/interactive/input-handlers.js.map +1 -0
  304. package/dist/interactive/input.d.ts +43 -0
  305. package/dist/interactive/input.d.ts.map +1 -0
  306. package/dist/interactive/input.js +74 -0
  307. package/dist/interactive/input.js.map +1 -0
  308. package/dist/interactive/keyDetection.d.ts +85 -0
  309. package/dist/interactive/keyDetection.d.ts.map +1 -0
  310. package/dist/interactive/keyDetection.js +167 -0
  311. package/dist/interactive/keyDetection.js.map +1 -0
  312. package/dist/interactive/multilineInputLogic.d.ts +30 -0
  313. package/dist/interactive/multilineInputLogic.d.ts.map +1 -0
  314. package/dist/interactive/multilineInputLogic.js +143 -0
  315. package/dist/interactive/multilineInputLogic.js.map +1 -0
  316. package/dist/interactive/passthrough.d.ts +30 -0
  317. package/dist/interactive/passthrough.d.ts.map +1 -0
  318. package/dist/interactive/passthrough.js +94 -0
  319. package/dist/interactive/passthrough.js.map +1 -0
  320. package/dist/interactive/permission.d.ts +33 -0
  321. package/dist/interactive/permission.d.ts.map +1 -0
  322. package/dist/interactive/permission.js +231 -0
  323. package/dist/interactive/permission.js.map +1 -0
  324. package/dist/interactive/prompt.d.ts +33 -0
  325. package/dist/interactive/prompt.d.ts.map +1 -0
  326. package/dist/interactive/prompt.js +132 -0
  327. package/dist/interactive/prompt.js.map +1 -0
  328. package/dist/interactive/repl.d.ts +13 -0
  329. package/dist/interactive/repl.d.ts.map +1 -0
  330. package/dist/interactive/repl.js +202 -0
  331. package/dist/interactive/repl.js.map +1 -0
  332. package/dist/interactive/types.d.ts +35 -0
  333. package/dist/interactive/types.d.ts.map +1 -0
  334. package/dist/interactive/types.js +5 -0
  335. package/dist/interactive/types.js.map +1 -0
  336. package/dist/interactive/ui.d.ts +16 -0
  337. package/dist/interactive/ui.d.ts.map +1 -0
  338. package/dist/interactive/ui.js +122 -0
  339. package/dist/interactive/ui.js.map +1 -0
  340. package/dist/interactive/user-input.d.ts +26 -0
  341. package/dist/interactive/user-input.d.ts.map +1 -0
  342. package/dist/interactive/user-input.js +115 -0
  343. package/dist/interactive/user-input.js.map +1 -0
  344. package/dist/interactive/workflow-executor.d.ts +20 -0
  345. package/dist/interactive/workflow-executor.d.ts.map +1 -0
  346. package/dist/interactive/workflow-executor.js +200 -0
  347. package/dist/interactive/workflow-executor.js.map +1 -0
  348. package/dist/models/agent.d.ts +37 -0
  349. package/dist/models/agent.d.ts.map +1 -0
  350. package/dist/models/agent.js +11 -0
  351. package/dist/models/agent.js.map +1 -0
  352. package/dist/models/config.d.ts +19 -0
  353. package/dist/models/config.d.ts.map +1 -0
  354. package/dist/models/config.js +25 -0
  355. package/dist/models/config.js.map +1 -0
  356. package/dist/models/index.d.ts +7 -0
  357. package/dist/models/index.d.ts.map +1 -0
  358. package/dist/models/index.js +11 -0
  359. package/dist/models/index.js.map +1 -0
  360. package/dist/models/schemas.d.ts +161 -0
  361. package/dist/models/schemas.d.ts.map +1 -0
  362. package/dist/models/schemas.js +137 -0
  363. package/dist/models/schemas.js.map +1 -0
  364. package/dist/models/session.d.ts +50 -0
  365. package/dist/models/session.d.ts.map +1 -0
  366. package/dist/models/session.js +45 -0
  367. package/dist/models/session.js.map +1 -0
  368. package/dist/models/types.d.ts +117 -0
  369. package/dist/models/types.d.ts.map +1 -0
  370. package/dist/models/types.js +5 -0
  371. package/dist/models/types.js.map +1 -0
  372. package/dist/models/workflow.d.ts +58 -0
  373. package/dist/models/workflow.d.ts.map +1 -0
  374. package/dist/models/workflow.js +19 -0
  375. package/dist/models/workflow.js.map +1 -0
  376. package/dist/resources/index.d.ts +38 -0
  377. package/dist/resources/index.d.ts.map +1 -0
  378. package/dist/resources/index.js +108 -0
  379. package/dist/resources/index.js.map +1 -0
  380. package/dist/task/display.d.ts +11 -0
  381. package/dist/task/display.d.ts.map +1 -0
  382. package/dist/task/display.js +41 -0
  383. package/dist/task/display.js.map +1 -0
  384. package/dist/task/index.d.ts +6 -0
  385. package/dist/task/index.d.ts.map +1 -0
  386. package/dist/task/index.js +6 -0
  387. package/dist/task/index.js.map +1 -0
  388. package/dist/task/runner.d.ts +68 -0
  389. package/dist/task/runner.d.ts.map +1 -0
  390. package/dist/task/runner.js +172 -0
  391. package/dist/task/runner.js.map +1 -0
  392. package/dist/utils/debug.d.ts +32 -0
  393. package/dist/utils/debug.d.ts.map +1 -0
  394. package/dist/utils/debug.js +135 -0
  395. package/dist/utils/debug.js.map +1 -0
  396. package/dist/utils/error.d.ts +8 -0
  397. package/dist/utils/error.d.ts.map +1 -0
  398. package/dist/utils/error.js +10 -0
  399. package/dist/utils/error.js.map +1 -0
  400. package/dist/utils/index.d.ts +7 -0
  401. package/dist/utils/index.d.ts.map +1 -0
  402. package/dist/utils/index.js +7 -0
  403. package/dist/utils/index.js.map +1 -0
  404. package/dist/utils/notification.d.ts +63 -0
  405. package/dist/utils/notification.d.ts.map +1 -0
  406. package/dist/utils/notification.js +170 -0
  407. package/dist/utils/notification.js.map +1 -0
  408. package/dist/utils/session.d.ts +38 -0
  409. package/dist/utils/session.d.ts.map +1 -0
  410. package/dist/utils/session.js +97 -0
  411. package/dist/utils/session.js.map +1 -0
  412. package/dist/utils/ui.d.ts +91 -0
  413. package/dist/utils/ui.d.ts.map +1 -0
  414. package/dist/utils/ui.js +330 -0
  415. package/dist/utils/ui.js.map +1 -0
  416. package/dist/workflow/blocked-handler.d.ts +27 -0
  417. package/dist/workflow/blocked-handler.d.ts.map +1 -0
  418. package/dist/workflow/blocked-handler.js +40 -0
  419. package/dist/workflow/blocked-handler.js.map +1 -0
  420. package/dist/workflow/constants.d.ts +20 -0
  421. package/dist/workflow/constants.d.ts.map +1 -0
  422. package/dist/workflow/constants.js +20 -0
  423. package/dist/workflow/constants.js.map +1 -0
  424. package/dist/workflow/engine.d.ts +42 -0
  425. package/dist/workflow/engine.d.ts.map +1 -0
  426. package/dist/workflow/engine.js +207 -0
  427. package/dist/workflow/engine.js.map +1 -0
  428. package/dist/workflow/index.d.ts +15 -0
  429. package/dist/workflow/index.d.ts.map +1 -0
  430. package/dist/workflow/index.js +21 -0
  431. package/dist/workflow/index.js.map +1 -0
  432. package/dist/workflow/instruction-builder.d.ts +37 -0
  433. package/dist/workflow/instruction-builder.d.ts.map +1 -0
  434. package/dist/workflow/instruction-builder.js +49 -0
  435. package/dist/workflow/instruction-builder.js.map +1 -0
  436. package/dist/workflow/loop-detector.d.ts +31 -0
  437. package/dist/workflow/loop-detector.d.ts.map +1 -0
  438. package/dist/workflow/loop-detector.js +61 -0
  439. package/dist/workflow/loop-detector.js.map +1 -0
  440. package/dist/workflow/state-manager.d.ts +25 -0
  441. package/dist/workflow/state-manager.d.ts.map +1 -0
  442. package/dist/workflow/state-manager.js +59 -0
  443. package/dist/workflow/state-manager.js.map +1 -0
  444. package/dist/workflow/transitions.d.ts +25 -0
  445. package/dist/workflow/transitions.d.ts.map +1 -0
  446. package/dist/workflow/transitions.js +106 -0
  447. package/dist/workflow/transitions.js.map +1 -0
  448. package/dist/workflow/types.d.ts +74 -0
  449. package/dist/workflow/types.d.ts.map +1 -0
  450. package/dist/workflow/types.js +8 -0
  451. package/dist/workflow/types.js.map +1 -0
  452. package/package.json +67 -0
  453. package/resources/global/en/agents/default/architect.md +292 -0
  454. package/resources/global/en/agents/default/coder.md +169 -0
  455. package/resources/global/en/agents/default/security.md +206 -0
  456. package/resources/global/en/agents/default/supervisor.md +153 -0
  457. package/resources/global/en/agents/magi/balthasar.md +75 -0
  458. package/resources/global/en/agents/magi/casper.md +100 -0
  459. package/resources/global/en/agents/magi/melchior.md +74 -0
  460. package/resources/global/en/agents/research/digger.md +134 -0
  461. package/resources/global/en/agents/research/planner.md +125 -0
  462. package/resources/global/en/agents/research/supervisor.md +86 -0
  463. package/resources/global/en/config.yaml +19 -0
  464. package/resources/global/en/workflows/default.yaml +177 -0
  465. package/resources/global/en/workflows/magi.yaml +96 -0
  466. package/resources/global/en/workflows/research.yaml +112 -0
  467. package/resources/global/ja/agents/default/architect.md +292 -0
  468. package/resources/global/ja/agents/default/coder.md +170 -0
  469. package/resources/global/ja/agents/default/security.md +206 -0
  470. package/resources/global/ja/agents/default/supervisor.md +153 -0
  471. package/resources/global/ja/agents/magi/balthasar.md +75 -0
  472. package/resources/global/ja/agents/magi/casper.md +100 -0
  473. package/resources/global/ja/agents/magi/melchior.md +74 -0
  474. package/resources/global/ja/agents/research/digger.md +134 -0
  475. package/resources/global/ja/agents/research/planner.md +125 -0
  476. package/resources/global/ja/agents/research/supervisor.md +86 -0
  477. package/resources/global/ja/config.yaml +19 -0
  478. package/resources/global/ja/workflows/default.yaml +177 -0
  479. package/resources/global/ja/workflows/magi.yaml +96 -0
  480. package/resources/global/ja/workflows/research.yaml +112 -0
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Claude Agent SDK wrapper
3
+ *
4
+ * Uses @anthropic-ai/claude-agent-sdk for native TypeScript integration
5
+ * instead of spawning CLI processes.
6
+ */
7
+ import { hasActiveProcess, interruptCurrentProcess, } from './query-manager.js';
8
+ import { executeClaudeQuery } from './executor.js';
9
+ // Re-export query management functions
10
+ export { generateQueryId, hasActiveProcess, isQueryActive, getActiveQueryCount, interruptQuery, interruptAllQueries, interruptCurrentProcess, } from './query-manager.js';
11
+ /**
12
+ * Execute a Claude query using the Agent SDK.
13
+ * Supports concurrent execution with query ID tracking.
14
+ */
15
+ export async function executeClaudeCli(prompt, options) {
16
+ return executeClaudeQuery(prompt, options);
17
+ }
18
+ /**
19
+ * ClaudeProcess class for backward compatibility.
20
+ * Wraps the SDK query function.
21
+ */
22
+ export class ClaudeProcess {
23
+ options;
24
+ currentSessionId;
25
+ interrupted = false;
26
+ constructor(options) {
27
+ this.options = options;
28
+ }
29
+ /** Execute a prompt */
30
+ async execute(prompt) {
31
+ this.interrupted = false;
32
+ const result = await executeClaudeCli(prompt, this.options);
33
+ this.currentSessionId = result.sessionId;
34
+ if (result.interrupted) {
35
+ this.interrupted = true;
36
+ }
37
+ return result;
38
+ }
39
+ /** Interrupt the running query */
40
+ kill() {
41
+ this.interrupted = true;
42
+ interruptCurrentProcess();
43
+ }
44
+ /** Check if a query is running */
45
+ isRunning() {
46
+ return hasActiveProcess();
47
+ }
48
+ /** Get session ID */
49
+ getSessionId() {
50
+ return this.currentSessionId;
51
+ }
52
+ /** Check if query was interrupted */
53
+ wasInterrupted() {
54
+ return this.interrupted;
55
+ }
56
+ }
57
+ //# sourceMappingURL=process.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/claude/process.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AA2BnD,uCAAuC;AACvC,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAwB5B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,EACd,OAA2B;IAE3B,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAChB,OAAO,CAAqB;IAC5B,gBAAgB,CAAU;IAC1B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,OAA2B;QACrC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kCAAkC;IAClC,IAAI;QACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IAED,kCAAkC;IAClC,SAAS;QACP,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,qBAAqB;IACrB,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Query management for Claude SDK
3
+ *
4
+ * Handles tracking and lifecycle management of active Claude queries.
5
+ * Supports concurrent query execution with interrupt capabilities.
6
+ */
7
+ import type { Query } from '@anthropic-ai/claude-agent-sdk';
8
+ /** Generate a unique query ID */
9
+ export declare function generateQueryId(): string;
10
+ /** Check if there is an active Claude process */
11
+ export declare function hasActiveProcess(): boolean;
12
+ /** Check if a specific query is active */
13
+ export declare function isQueryActive(queryId: string): boolean;
14
+ /** Get count of active queries */
15
+ export declare function getActiveQueryCount(): number;
16
+ /** Register an active query */
17
+ export declare function registerQuery(queryId: string, queryInstance: Query): void;
18
+ /** Unregister an active query */
19
+ export declare function unregisterQuery(queryId: string): void;
20
+ /**
21
+ * Interrupt a specific Claude query by ID.
22
+ * @returns true if the query was interrupted, false if not found
23
+ */
24
+ export declare function interruptQuery(queryId: string): boolean;
25
+ /**
26
+ * Interrupt all active Claude queries.
27
+ * @returns number of queries that were interrupted
28
+ */
29
+ export declare function interruptAllQueries(): number;
30
+ /**
31
+ * Interrupt the most recently started Claude query (backward compatibility).
32
+ * @returns true if a query was interrupted, false if no query was running
33
+ */
34
+ export declare function interruptCurrentProcess(): boolean;
35
+ //# sourceMappingURL=query-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-manager.d.ts","sourceRoot":"","sources":["../../src/claude/query-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAQ5D,iCAAiC;AACjC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,kCAAkC;AAClC,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,+BAA+B;AAC/B,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,GAAG,IAAI,CAEzE;AAED,iCAAiC;AACjC,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAO5C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAQjD"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Query management for Claude SDK
3
+ *
4
+ * Handles tracking and lifecycle management of active Claude queries.
5
+ * Supports concurrent query execution with interrupt capabilities.
6
+ */
7
+ /**
8
+ * Active query registry for interrupt support.
9
+ * Uses a Map to support concurrent query execution.
10
+ */
11
+ const activeQueries = new Map();
12
+ /** Generate a unique query ID */
13
+ export function generateQueryId() {
14
+ return `q-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
15
+ }
16
+ /** Check if there is an active Claude process */
17
+ export function hasActiveProcess() {
18
+ return activeQueries.size > 0;
19
+ }
20
+ /** Check if a specific query is active */
21
+ export function isQueryActive(queryId) {
22
+ return activeQueries.has(queryId);
23
+ }
24
+ /** Get count of active queries */
25
+ export function getActiveQueryCount() {
26
+ return activeQueries.size;
27
+ }
28
+ /** Register an active query */
29
+ export function registerQuery(queryId, queryInstance) {
30
+ activeQueries.set(queryId, queryInstance);
31
+ }
32
+ /** Unregister an active query */
33
+ export function unregisterQuery(queryId) {
34
+ activeQueries.delete(queryId);
35
+ }
36
+ /**
37
+ * Interrupt a specific Claude query by ID.
38
+ * @returns true if the query was interrupted, false if not found
39
+ */
40
+ export function interruptQuery(queryId) {
41
+ const queryInstance = activeQueries.get(queryId);
42
+ if (queryInstance) {
43
+ queryInstance.interrupt();
44
+ activeQueries.delete(queryId);
45
+ return true;
46
+ }
47
+ return false;
48
+ }
49
+ /**
50
+ * Interrupt all active Claude queries.
51
+ * @returns number of queries that were interrupted
52
+ */
53
+ export function interruptAllQueries() {
54
+ const count = activeQueries.size;
55
+ for (const [id, queryInstance] of activeQueries) {
56
+ queryInstance.interrupt();
57
+ activeQueries.delete(id);
58
+ }
59
+ return count;
60
+ }
61
+ /**
62
+ * Interrupt the most recently started Claude query (backward compatibility).
63
+ * @returns true if a query was interrupted, false if no query was running
64
+ */
65
+ export function interruptCurrentProcess() {
66
+ if (activeQueries.size === 0) {
67
+ return false;
68
+ }
69
+ // Interrupt all queries for backward compatibility
70
+ // In the old design, there was only one query
71
+ interruptAllQueries();
72
+ return true;
73
+ }
74
+ //# sourceMappingURL=query-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-manager.js","sourceRoot":"","sources":["../../src/claude/query-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiB,CAAC;AAE/C,iCAAiC;AACjC,MAAM,UAAU,eAAe;IAC7B,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,mBAAmB;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,aAAoB;IACjE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,MAAM,aAAa,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,aAAa,EAAE,CAAC;QAClB,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC;IACjC,KAAK,MAAM,CAAC,EAAE,EAAE,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;QAChD,aAAa,CAAC,SAAS,EAAE,CAAC;QAC1B,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,8CAA8C;IAC9C,mBAAmB,EAAE,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SDK message to stream event converter
3
+ *
4
+ * Converts Claude Agent SDK messages to the internal stream event format
5
+ * for backward compatibility with the streaming display system.
6
+ */
7
+ import type { SDKMessage } from '@anthropic-ai/claude-agent-sdk';
8
+ import type { StreamCallback } from './types.js';
9
+ /**
10
+ * Convert SDK message to stream event for backward compatibility.
11
+ *
12
+ * @param message - The SDK message to convert
13
+ * @param callback - The callback to invoke with stream events
14
+ * @param isStreaming - Whether streaming mode is enabled (includePartialMessages=true).
15
+ * When true, text from 'assistant' messages is skipped because
16
+ * it was already displayed via 'stream_event' deltas.
17
+ */
18
+ export declare function sdkMessageToStreamEvent(message: SDKMessage, callback: StreamCallback, isStreaming: boolean): void;
19
+ //# sourceMappingURL=stream-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-converter.d.ts","sourceRoot":"","sources":["../../src/claude/stream-converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,UAAU,EAMX,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAuEjD;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,OAAO,GACnB,IAAI,CA4GN"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * SDK message to stream event converter
3
+ *
4
+ * Converts Claude Agent SDK messages to the internal stream event format
5
+ * for backward compatibility with the streaming display system.
6
+ */
7
+ /** Type guard for thinking delta */
8
+ function isThinkingDelta(delta) {
9
+ return (typeof delta === 'object' &&
10
+ delta !== null &&
11
+ 'type' in delta &&
12
+ delta.type === 'thinking_delta' &&
13
+ 'thinking' in delta &&
14
+ typeof delta.thinking === 'string');
15
+ }
16
+ /** Type guard for text delta */
17
+ function isTextDelta(delta) {
18
+ return (typeof delta === 'object' &&
19
+ delta !== null &&
20
+ 'type' in delta &&
21
+ delta.type === 'text_delta' &&
22
+ 'text' in delta &&
23
+ typeof delta.text === 'string');
24
+ }
25
+ /** Extract tool result content from SDK user message */
26
+ function extractToolResultContent(toolResult) {
27
+ if (!toolResult || typeof toolResult !== 'object') {
28
+ return { content: String(toolResult ?? ''), isError: false };
29
+ }
30
+ const result = toolResult;
31
+ const isError = !!result.is_error;
32
+ // Handle stdout/stderr format (Bash, etc.)
33
+ if (result.stdout !== undefined || result.stderr !== undefined) {
34
+ const stdout = String(result.stdout ?? '');
35
+ const stderr = String(result.stderr ?? '');
36
+ return {
37
+ content: isError ? (stderr || stdout) : stdout,
38
+ isError,
39
+ };
40
+ }
41
+ // Handle content format (Read, Glob, Grep, etc.)
42
+ if (result.content !== undefined) {
43
+ return {
44
+ content: String(result.content),
45
+ isError,
46
+ };
47
+ }
48
+ // Fallback: stringify the result
49
+ return {
50
+ content: JSON.stringify(toolResult),
51
+ isError,
52
+ };
53
+ }
54
+ /**
55
+ * Convert SDK message to stream event for backward compatibility.
56
+ *
57
+ * @param message - The SDK message to convert
58
+ * @param callback - The callback to invoke with stream events
59
+ * @param isStreaming - Whether streaming mode is enabled (includePartialMessages=true).
60
+ * When true, text from 'assistant' messages is skipped because
61
+ * it was already displayed via 'stream_event' deltas.
62
+ */
63
+ export function sdkMessageToStreamEvent(message, callback, isStreaming) {
64
+ switch (message.type) {
65
+ case 'system': {
66
+ const sysMsg = message;
67
+ if (sysMsg.subtype === 'init') {
68
+ callback({
69
+ type: 'init',
70
+ data: {
71
+ model: sysMsg.model,
72
+ sessionId: sysMsg.session_id,
73
+ },
74
+ });
75
+ }
76
+ break;
77
+ }
78
+ case 'assistant': {
79
+ const assistantMsg = message;
80
+ for (const block of assistantMsg.message.content) {
81
+ if (block.type === 'text') {
82
+ // Skip text blocks when streaming is enabled - they were already
83
+ // displayed via stream_event deltas. Only emit for non-streaming mode.
84
+ if (!isStreaming) {
85
+ callback({
86
+ type: 'text',
87
+ data: { text: block.text },
88
+ });
89
+ }
90
+ }
91
+ else if (block.type === 'tool_use') {
92
+ callback({
93
+ type: 'tool_use',
94
+ data: {
95
+ tool: block.name,
96
+ input: block.input,
97
+ id: block.id,
98
+ },
99
+ });
100
+ }
101
+ }
102
+ break;
103
+ }
104
+ case 'user': {
105
+ // Handle tool execution results
106
+ const userMsg = message;
107
+ if (userMsg.tool_use_result !== undefined) {
108
+ const { content, isError } = extractToolResultContent(userMsg.tool_use_result);
109
+ callback({
110
+ type: 'tool_result',
111
+ data: { content, isError },
112
+ });
113
+ }
114
+ break;
115
+ }
116
+ case 'result': {
117
+ const resultMsg = message;
118
+ callback({
119
+ type: 'result',
120
+ data: {
121
+ result: resultMsg.subtype === 'success' ? resultMsg.result : '',
122
+ sessionId: resultMsg.session_id,
123
+ success: resultMsg.subtype === 'success',
124
+ },
125
+ });
126
+ break;
127
+ }
128
+ case 'stream_event': {
129
+ // Handle partial/streaming messages for real-time output.
130
+ // Note: 'assistant' messages contain the final complete content,
131
+ // while 'stream_event' provides incremental deltas during streaming.
132
+ // Both paths don't duplicate because:
133
+ // - stream_event: fires during streaming for real-time display
134
+ // - assistant: fires after streaming completes with full message
135
+ // We only use stream_event for thinking (not available in final message)
136
+ // and for real-time text display during streaming.
137
+ const streamMsg = message;
138
+ const event = streamMsg.event;
139
+ // Guard: ensure event exists and has expected structure
140
+ if (!event || typeof event !== 'object' || !('type' in event)) {
141
+ break;
142
+ }
143
+ // Handle content block delta events
144
+ if (event.type === 'content_block_delta' && 'delta' in event) {
145
+ const delta = event.delta;
146
+ // Thinking delta (Claude's internal reasoning)
147
+ if (isThinkingDelta(delta)) {
148
+ callback({
149
+ type: 'thinking',
150
+ data: { thinking: delta.thinking },
151
+ });
152
+ }
153
+ // Text delta - only emit for streaming display
154
+ // The 'assistant' case handles the final complete text
155
+ else if (isTextDelta(delta)) {
156
+ callback({
157
+ type: 'text',
158
+ data: { text: delta.text },
159
+ });
160
+ }
161
+ }
162
+ break;
163
+ }
164
+ }
165
+ }
166
+ //# sourceMappingURL=stream-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-converter.js","sourceRoot":"","sources":["../../src/claude/stream-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Type definitions for Claude SDK integration
3
+ *
4
+ * Contains stream event types, callback types, and result types
5
+ * used throughout the Claude integration layer.
6
+ */
7
+ import type { PermissionResult, PermissionUpdate } from '@anthropic-ai/claude-agent-sdk';
8
+ export type { PermissionResult, PermissionUpdate };
9
+ /** Stream event data types (for backward compatibility) */
10
+ export interface InitEventData {
11
+ model: string;
12
+ sessionId: string;
13
+ }
14
+ export interface ToolUseEventData {
15
+ tool: string;
16
+ input: Record<string, unknown>;
17
+ id: string;
18
+ }
19
+ export interface ToolResultEventData {
20
+ content: string;
21
+ isError: boolean;
22
+ }
23
+ export interface TextEventData {
24
+ text: string;
25
+ }
26
+ export interface ThinkingEventData {
27
+ thinking: string;
28
+ }
29
+ export interface ResultEventData {
30
+ result: string;
31
+ sessionId: string;
32
+ success: boolean;
33
+ }
34
+ export interface ErrorEventData {
35
+ message: string;
36
+ raw?: string;
37
+ }
38
+ /** Stream event (discriminated union) */
39
+ export type StreamEvent = {
40
+ type: 'init';
41
+ data: InitEventData;
42
+ } | {
43
+ type: 'tool_use';
44
+ data: ToolUseEventData;
45
+ } | {
46
+ type: 'tool_result';
47
+ data: ToolResultEventData;
48
+ } | {
49
+ type: 'text';
50
+ data: TextEventData;
51
+ } | {
52
+ type: 'thinking';
53
+ data: ThinkingEventData;
54
+ } | {
55
+ type: 'result';
56
+ data: ResultEventData;
57
+ } | {
58
+ type: 'error';
59
+ data: ErrorEventData;
60
+ };
61
+ /** Callback for streaming events */
62
+ export type StreamCallback = (event: StreamEvent) => void;
63
+ /** Permission request info passed to handler */
64
+ export interface PermissionRequest {
65
+ toolName: string;
66
+ input: Record<string, unknown>;
67
+ suggestions?: PermissionUpdate[];
68
+ blockedPath?: string;
69
+ decisionReason?: string;
70
+ }
71
+ /** Permission handler callback type */
72
+ export type PermissionHandler = (request: PermissionRequest) => Promise<PermissionResult>;
73
+ /** AskUserQuestion tool input */
74
+ export interface AskUserQuestionInput {
75
+ questions: Array<{
76
+ question: string;
77
+ header?: string;
78
+ options?: Array<{
79
+ label: string;
80
+ description?: string;
81
+ }>;
82
+ multiSelect?: boolean;
83
+ }>;
84
+ }
85
+ /** AskUserQuestion handler callback type */
86
+ export type AskUserQuestionHandler = (input: AskUserQuestionInput) => Promise<Record<string, string>>;
87
+ /** Result from Claude execution */
88
+ export interface ClaudeResult {
89
+ success: boolean;
90
+ content: string;
91
+ sessionId?: string;
92
+ error?: string;
93
+ interrupted?: boolean;
94
+ }
95
+ /** Extended result with query ID for concurrent execution */
96
+ export interface ClaudeResultWithQueryId extends ClaudeResult {
97
+ queryId: string;
98
+ }
99
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/claude/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Type definitions for Claude SDK integration
3
+ *
4
+ * Contains stream event types, callback types, and result types
5
+ * used throughout the Claude integration layer.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/claude/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Agent execution utilities for CLI
3
+ */
4
+ import type { AgentResponse } from '../models/types.js';
5
+ /** Result of agent execution */
6
+ export interface AgentExecutionResult {
7
+ success: boolean;
8
+ response?: AgentResponse;
9
+ error?: string;
10
+ }
11
+ /**
12
+ * Run an agent with session persistence.
13
+ * Handles session loading, streaming display, and session saving.
14
+ */
15
+ export declare function runAgentWithSession(agent: string, task: string, cwd: string): Promise<AgentExecutionResult>;
16
+ //# sourceMappingURL=agentExecution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentExecution.d.ts","sourceRoot":"","sources":["../../src/cli/agentExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,gCAAgC;AAChC,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,CAAC,CA6B/B"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Agent execution utilities for CLI
3
+ */
4
+ import { runAgent } from '../agents/runner.js';
5
+ import { loadAgentSessions, updateAgentSession } from '../config/paths.js';
6
+ import { StreamDisplay, status, error as showError } from '../utils/ui.js';
7
+ import { createLogger } from '../utils/debug.js';
8
+ const log = createLogger('cli:agent');
9
+ /**
10
+ * Run an agent with session persistence.
11
+ * Handles session loading, streaming display, and session saving.
12
+ */
13
+ export async function runAgentWithSession(agent, task, cwd) {
14
+ const display = new StreamDisplay(agent);
15
+ const savedSessions = loadAgentSessions(cwd);
16
+ try {
17
+ const response = await runAgent(agent, task, {
18
+ cwd,
19
+ sessionId: savedSessions[agent],
20
+ onStream: display.createHandler(),
21
+ });
22
+ if (response.sessionId) {
23
+ updateAgentSession(cwd, agent, response.sessionId);
24
+ }
25
+ display.flushThinking();
26
+ display.flushText();
27
+ console.log();
28
+ status('Status', response.status, response.status === 'done' || response.status === 'approved' ? 'green' : 'yellow');
29
+ return { success: true, response };
30
+ }
31
+ catch (err) {
32
+ display.flushThinking();
33
+ display.flushText();
34
+ const errorMsg = err instanceof Error ? err.message : String(err);
35
+ log.error('Agent execution failed', { agent, error: errorMsg });
36
+ showError(errorMsg);
37
+ return { success: false, error: errorMsg };
38
+ }
39
+ }
40
+ //# sourceMappingURL=agentExecution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentExecution.js","sourceRoot":"","sources":["../../src/cli/agentExecution.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAStC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,KAAa,EACb,IAAY,EACZ,GAAW;IAEX,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE;YAC3C,GAAG;YACH,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC;YAC/B,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE;SAClC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACvB,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,OAAO,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Help display for CLI
3
+ */
4
+ /**
5
+ * Show help information
6
+ */
7
+ export declare function showHelp(): void;
8
+ //# sourceMappingURL=help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAsC/B"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Help display for CLI
3
+ */
4
+ import { header, info } from '../utils/ui.js';
5
+ import { getDebugLogFile } from '../utils/debug.js';
6
+ /**
7
+ * Show help information
8
+ */
9
+ export function showHelp() {
10
+ header('Wolf - Multi-agent Orchestration');
11
+ console.log(`
12
+ Usage:
13
+ wolf {task} Execute task with default workflow
14
+ wolf /tasks Run all pending tasks from .wolf/tasks/
15
+ wolf /clear Clear agent conversation sessions
16
+ wolf /help Show this help
17
+
18
+ Options:
19
+ -w, --workflow <name> Use specific workflow
20
+ -a, --agent <name> Run single agent
21
+ --list-agents List available agents
22
+ --list-workflows List available workflows
23
+ --setup Initialize project with .wolf/ directory
24
+ --trust-cwd Trust current directory for permissions
25
+ -v, --verbose Enable verbose output
26
+
27
+ Examples:
28
+ wolf "Fix the bug in main.ts"
29
+ wolf "Add unit tests" -w test-workflow
30
+ wolf /tasks
31
+ wolf --agent coder "Refactor this function"
32
+
33
+ Task Files:
34
+ Place task files in .wolf/tasks/*.md
35
+ Each file becomes a task that can be run with /tasks
36
+
37
+ Agent Sessions:
38
+ Conversation history is preserved per-agent
39
+ Use /clear to reset all sessions
40
+ `);
41
+ const debugLogFile = getDebugLogFile();
42
+ if (debugLogFile) {
43
+ info(`Debug log: ${debugLogFile}`);
44
+ }
45
+ }
46
+ //# sourceMappingURL=help.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bb,CAAC,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CLI module exports
3
+ */
4
+ export { runAgentWithSession, type AgentExecutionResult } from './agentExecution.js';
5
+ export { executeWorkflow, executeTask, type WorkflowExecutionResult } from './workflowExecution.js';
6
+ export { runAllTasks } from './taskBatch.js';
7
+ export { showHelp } from './help.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CLI module exports
3
+ */
4
+ export { runAgentWithSession } from './agentExecution.js';
5
+ export { executeWorkflow, executeTask } from './workflowExecution.js';
6
+ export { runAllTasks } from './taskBatch.js';
7
+ export { showHelp } from './help.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAA6B,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,WAAW,EAAgC,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}