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,91 @@
1
+ /**
2
+ * Input history management with persistence
3
+ *
4
+ * Manages input history for the interactive REPL, providing:
5
+ * - In-memory history for session use
6
+ * - Persistent storage for cross-session recall
7
+ * - Navigation through history entries
8
+ */
9
+ import { loadInputHistory, saveInputHistory, } from '../config/paths.js';
10
+ /**
11
+ * Manages input history with persistence.
12
+ * Provides a unified interface for in-memory and file-based history.
13
+ */
14
+ export class InputHistoryManager {
15
+ history;
16
+ projectDir;
17
+ index;
18
+ currentInput;
19
+ constructor(projectDir) {
20
+ this.projectDir = projectDir;
21
+ this.history = loadInputHistory(projectDir);
22
+ this.index = this.history.length;
23
+ this.currentInput = '';
24
+ }
25
+ /** Add an entry to history (both in-memory and persistent) */
26
+ add(input) {
27
+ // Don't add consecutive duplicates
28
+ if (this.history[this.history.length - 1] !== input) {
29
+ this.history.push(input);
30
+ saveInputHistory(this.projectDir, this.history);
31
+ }
32
+ }
33
+ /** Get the current history array (read-only) */
34
+ getHistory() {
35
+ return this.history;
36
+ }
37
+ /** Get the current history index */
38
+ getIndex() {
39
+ return this.index;
40
+ }
41
+ /** Reset index to the end of history */
42
+ resetIndex() {
43
+ this.index = this.history.length;
44
+ this.currentInput = '';
45
+ }
46
+ /** Save the current input before navigating history */
47
+ saveCurrentInput(input) {
48
+ if (this.index === this.history.length) {
49
+ this.currentInput = input;
50
+ }
51
+ }
52
+ /** Get the saved current input */
53
+ getCurrentInput() {
54
+ return this.currentInput;
55
+ }
56
+ /** Navigate to the previous entry. Returns the entry or undefined if at start. */
57
+ navigatePrevious() {
58
+ if (this.index > 0) {
59
+ this.index--;
60
+ return this.history[this.index];
61
+ }
62
+ return undefined;
63
+ }
64
+ /** Navigate to the next entry. Returns the entry, current input at end, or undefined. */
65
+ navigateNext() {
66
+ if (this.index < this.history.length) {
67
+ this.index++;
68
+ if (this.index === this.history.length) {
69
+ return { entry: this.currentInput, isCurrentInput: true };
70
+ }
71
+ const entry = this.history[this.index];
72
+ if (entry !== undefined) {
73
+ return { entry, isCurrentInput: false };
74
+ }
75
+ }
76
+ return undefined;
77
+ }
78
+ /** Check if currently at a history entry (not at the end) */
79
+ isAtHistoryEntry() {
80
+ return this.index < this.history.length;
81
+ }
82
+ /** Get the entry at the current index */
83
+ getCurrentEntry() {
84
+ return this.history[this.index];
85
+ }
86
+ /** Get the total number of history entries */
87
+ get length() {
88
+ return this.history.length;
89
+ }
90
+ }
91
+ //# sourceMappingURL=history-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../src/interactive/history-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Interactive module - exports REPL functionality
3
+ */
4
+ export * from './repl.js';
5
+ export * from './input.js';
6
+ export * from './types.js';
7
+ export * from './ui.js';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interactive/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Interactive module - exports REPL functionality
3
+ */
4
+ export * from './repl.js';
5
+ export * from './input.js';
6
+ export * from './types.js';
7
+ export * from './ui.js';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interactive/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Main ink application component
3
+ */
4
+ import React from 'react';
5
+ interface AppProps {
6
+ /** Current working directory */
7
+ cwd: string;
8
+ /** Initial workflow name */
9
+ workflowName?: string;
10
+ /** Initial task to execute */
11
+ initialTask?: string;
12
+ }
13
+ /** Main application wrapper with context provider */
14
+ export declare function App({ cwd, workflowName, initialTask }: AppProps): React.ReactElement;
15
+ export {};
16
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAiMxE,UAAU,QAAQ;IAChB,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qDAAqD;AACrD,wBAAgB,GAAG,CAAC,EAAE,GAAG,EAAE,YAA4B,EAAE,WAAW,EAAE,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,CAMpG"}
@@ -0,0 +1,123 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Main ink application component
4
+ */
5
+ import { useCallback, useState, useEffect, useRef } from 'react';
6
+ import { Box, Text, useInput, useApp as useInkApp } from 'ink';
7
+ import { AppProvider, useApp } from '../context/AppContext.js';
8
+ import { useWorkflowExecution } from '../hooks/useWorkflowExecution.js';
9
+ import { useCommands } from '../hooks/useCommands.js';
10
+ import { useTaskQueue } from '../hooks/useTaskQueue.js';
11
+ import { DOUBLE_CTRL_C_TIMEOUT_MS } from '../constants.js';
12
+ import { loadAllWorkflows } from '../../../config/loader.js';
13
+ import { Header } from './Header.js';
14
+ import { PromptInput } from './PromptInput.js';
15
+ import { StreamingOutput } from './StreamingOutput.js';
16
+ import { Spinner } from './Spinner.js';
17
+ import { ModalRouter } from './ModalRouter.js';
18
+ /** Main application content */
19
+ function AppContent({ initialTask }) {
20
+ const { state, dispatch } = useApp();
21
+ const { exit } = useInkApp();
22
+ const [hasExecutedInitial, setHasExecutedInitial] = useState(false);
23
+ const lastCtrlCRef = useRef(0);
24
+ const { executeWorkflow, executePassthroughMode, interruptWorkflow } = useWorkflowExecution();
25
+ const { handleCommand } = useCommands();
26
+ // Execute task content via workflow
27
+ const executeTaskContent = useCallback((taskName, content) => {
28
+ dispatch({ type: 'SET_CURRENT_TASK', payload: taskName });
29
+ if (state.workflowName === 'passthrough') {
30
+ executePassthroughMode(content);
31
+ }
32
+ else {
33
+ executeWorkflow(content);
34
+ }
35
+ }, [state.workflowName, executeWorkflow, executePassthroughMode, dispatch]);
36
+ // Task queue management
37
+ const { enqueueTasks } = useTaskQueue({
38
+ executeTask: executeTaskContent,
39
+ isProcessing: state.isProcessing,
40
+ });
41
+ // Load all workflows on mount
42
+ useEffect(() => {
43
+ const allWorkflows = loadAllWorkflows();
44
+ dispatch({ type: 'SET_ALL_WORKFLOWS', payload: allWorkflows });
45
+ }, [dispatch]);
46
+ // Handle input submission
47
+ const handleSubmit = useCallback((input) => {
48
+ // Clear any info message on new input
49
+ dispatch({ type: 'CLEAR_INFO' });
50
+ // Check for commands
51
+ if (input.startsWith('/')) {
52
+ const result = handleCommand(input);
53
+ if (result.handled) {
54
+ if (result.shouldExit) {
55
+ exit();
56
+ }
57
+ // Handle task execution (multiple tasks)
58
+ if (result.executeTasks && result.executeTasks.length > 0) {
59
+ enqueueTasks(result.executeTasks);
60
+ }
61
+ return;
62
+ }
63
+ }
64
+ // Execute workflow or passthrough
65
+ if (state.workflowName === 'passthrough') {
66
+ executePassthroughMode(input);
67
+ }
68
+ else {
69
+ executeWorkflow(input);
70
+ }
71
+ }, [handleCommand, state.workflowName, executeWorkflow, executePassthroughMode, exit, enqueueTasks, dispatch]);
72
+ // Handle Ctrl+C
73
+ useInput((input, key) => {
74
+ if (input === 'c' && key.ctrl) {
75
+ const now = Date.now();
76
+ if (state.isProcessing) {
77
+ // Try to interrupt
78
+ if (interruptWorkflow()) {
79
+ dispatch({ type: 'SET_ERROR', payload: 'Interrupted. Press Ctrl+C again to exit.' });
80
+ lastCtrlCRef.current = now;
81
+ }
82
+ else if (now - lastCtrlCRef.current < DOUBLE_CTRL_C_TIMEOUT_MS) {
83
+ exit();
84
+ }
85
+ else {
86
+ lastCtrlCRef.current = now;
87
+ }
88
+ }
89
+ else if (state.modal.type !== 'none') {
90
+ // Close modal
91
+ dispatch({ type: 'HIDE_MODAL' });
92
+ }
93
+ else if (now - lastCtrlCRef.current < DOUBLE_CTRL_C_TIMEOUT_MS) {
94
+ // Double Ctrl+C to exit
95
+ exit();
96
+ }
97
+ else {
98
+ lastCtrlCRef.current = now;
99
+ }
100
+ }
101
+ });
102
+ // Execute initial task if provided
103
+ useEffect(() => {
104
+ if (initialTask && !hasExecutedInitial && !state.isProcessing) {
105
+ setHasExecutedInitial(true);
106
+ handleSubmit(initialTask);
107
+ }
108
+ }, [initialTask, hasExecutedInitial, state.isProcessing, handleSubmit]);
109
+ const hasModal = state.modal.type !== 'none';
110
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Header, { workflowName: state.workflowName, sacrificeMode: state.sacrificeMode, stepInfo: state.isProcessing ? {
111
+ name: state.currentStep,
112
+ iteration: state.iteration,
113
+ maxIterations: state.maxIterations,
114
+ } : undefined }), state.error && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: "red", children: ["Error: ", state.error] }) })), state.info && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "cyan", children: state.info }) })), hasModal && (_jsx(Box, { marginBottom: 1, children: _jsx(ModalRouter, {}) })), !hasModal && (state.isProcessing || state.streamContent) && (_jsx(StreamingOutput, { content: state.streamContent, isStreaming: state.isProcessing, thinking: state.thinkingContent, agentName: state.currentAgent, stepName: state.currentStep, iteration: {
115
+ current: state.iteration,
116
+ max: state.maxIterations,
117
+ } })), !hasModal && state.isProcessing && !state.streamContent && (_jsx(Spinner, { message: `${state.currentAgent || 'Processing'}...` })), !hasModal && !state.isProcessing && (_jsx(Box, { marginTop: 1, children: _jsx(PromptInput, { prompt: state.sacrificeMode ? 'wolf> ' : 'wolf> ', onSubmit: handleSubmit, projectDir: state.cwd, disabled: state.isProcessing }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", dimColor: true, children: ["Ctrl+C to ", state.isProcessing ? 'interrupt' : 'exit', " | /help for commands"] }) })] }));
118
+ }
119
+ /** Main application wrapper with context provider */
120
+ export function App({ cwd, workflowName = 'passthrough', initialTask }) {
121
+ return (_jsx(AppProvider, { cwd: cwd, workflowName: workflowName, children: _jsx(AppContent, { initialTask: initialTask }) }));
122
+ }
123
+ //# sourceMappingURL=App.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * AskUserQuestion component for ink
3
+ *
4
+ * Displays questions from Claude and collects user answers
5
+ */
6
+ import React from 'react';
7
+ import type { AskUserQuestionInput } from '../../../claude/process.js';
8
+ export interface AskUserQuestionProps {
9
+ /** Questions to display */
10
+ input: AskUserQuestionInput;
11
+ /** Callback when all questions are answered */
12
+ onComplete: (answers: Record<string, string>) => void;
13
+ }
14
+ /** AskUserQuestion component */
15
+ export declare function AskUserQuestion({ input, onComplete, }: AskUserQuestionProps): React.ReactElement;
16
+ //# sourceMappingURL=AskUserQuestion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserQuestion.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/AskUserQuestion.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAErD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAcvE,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,+CAA+C;IAC/C,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACvD;AAuKD,gCAAgC;AAChC,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,UAAU,GACX,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CA6C3C"}
@@ -0,0 +1,139 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * AskUserQuestion component for ink
4
+ *
5
+ * Displays questions from Claude and collects user answers
6
+ */
7
+ import { useState, useCallback } from 'react';
8
+ import { Box, Text, useInput, useFocus } from 'ink';
9
+ /** Single question component */
10
+ function QuestionView({ question, questionIndex, onAnswer, }) {
11
+ const [selectedIndex, setSelectedIndex] = useState(0);
12
+ const [customInput, setCustomInput] = useState('');
13
+ const [isCustomMode, setIsCustomMode] = useState(false);
14
+ const { isFocused } = useFocus({ autoFocus: true });
15
+ const options = question.options || [];
16
+ const hasOptions = options.length > 0;
17
+ // Add "Other" option
18
+ const allOptions = hasOptions
19
+ ? [...options, { label: 'その他(自由入力)', description: undefined }]
20
+ : [];
21
+ const handleSelect = useCallback(() => {
22
+ if (isCustomMode) {
23
+ if (customInput.trim()) {
24
+ onAnswer(customInput.trim());
25
+ }
26
+ return;
27
+ }
28
+ if (selectedIndex === allOptions.length - 1) {
29
+ // Selected "Other"
30
+ setIsCustomMode(true);
31
+ return;
32
+ }
33
+ const selected = allOptions[selectedIndex];
34
+ if (selected) {
35
+ onAnswer(selected.label);
36
+ }
37
+ }, [selectedIndex, isCustomMode, customInput, allOptions, onAnswer]);
38
+ useInput((input, key) => {
39
+ if (!isFocused)
40
+ return;
41
+ if (isCustomMode) {
42
+ // Custom input mode
43
+ if (key.return) {
44
+ handleSelect();
45
+ return;
46
+ }
47
+ if (key.escape) {
48
+ setIsCustomMode(false);
49
+ setCustomInput('');
50
+ return;
51
+ }
52
+ if (key.backspace || key.delete) {
53
+ setCustomInput((prev) => prev.slice(0, -1));
54
+ return;
55
+ }
56
+ if (input && !key.ctrl && !key.meta) {
57
+ setCustomInput((prev) => prev + input);
58
+ return;
59
+ }
60
+ return;
61
+ }
62
+ // Option selection mode
63
+ if (hasOptions) {
64
+ // Number shortcuts
65
+ const num = parseInt(input, 10);
66
+ if (num >= 1 && num <= allOptions.length) {
67
+ if (num === allOptions.length) {
68
+ setIsCustomMode(true);
69
+ }
70
+ else {
71
+ const selected = allOptions[num - 1];
72
+ if (selected) {
73
+ onAnswer(selected.label);
74
+ }
75
+ }
76
+ return;
77
+ }
78
+ // Arrow navigation
79
+ if (key.upArrow) {
80
+ setSelectedIndex((prev) => (prev > 0 ? prev - 1 : allOptions.length - 1));
81
+ return;
82
+ }
83
+ if (key.downArrow) {
84
+ setSelectedIndex((prev) => (prev < allOptions.length - 1 ? prev + 1 : 0));
85
+ return;
86
+ }
87
+ // Enter to select
88
+ if (key.return) {
89
+ handleSelect();
90
+ return;
91
+ }
92
+ }
93
+ else {
94
+ // No options - free text input
95
+ if (key.return) {
96
+ if (customInput.trim()) {
97
+ onAnswer(customInput.trim());
98
+ }
99
+ return;
100
+ }
101
+ if (key.backspace || key.delete) {
102
+ setCustomInput((prev) => prev.slice(0, -1));
103
+ return;
104
+ }
105
+ if (input && !key.ctrl && !key.meta) {
106
+ setCustomInput((prev) => prev + input);
107
+ return;
108
+ }
109
+ }
110
+ }, { isActive: isFocused });
111
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [question.header && (_jsxs(Text, { color: "cyan", bold: true, children: ["[", question.header, "]"] })), _jsx(Text, { color: "white", children: question.question }), hasOptions && !isCustomMode ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: allOptions.map((opt, i) => (_jsxs(Box, { children: [_jsxs(Text, { color: i === selectedIndex ? 'green' : 'yellow', children: [i === selectedIndex ? '▸ ' : ' ', i + 1, ". ", opt.label] }), opt.description && (_jsxs(Text, { color: "gray", children: [" - ", opt.description] }))] }, i))) })) : (_jsxs(Box, { marginTop: 1, children: [_jsxs(Text, { color: "magenta", children: ["\u56DE\u7B54", '>', " "] }), _jsx(Text, { children: customInput }), _jsx(Text, { inverse: true, children: " " })] })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: isCustomMode
112
+ ? 'Enterで送信、Escでキャンセル'
113
+ : hasOptions
114
+ ? '数字または矢印キーで選択、Enterで決定'
115
+ : 'Enterで送信' }) })] }));
116
+ }
117
+ /** AskUserQuestion component */
118
+ export function AskUserQuestion({ input, onComplete, }) {
119
+ const [currentIndex, setCurrentIndex] = useState(0);
120
+ const [answers, setAnswers] = useState({});
121
+ const questions = input.questions;
122
+ const currentQuestion = questions[currentIndex];
123
+ const handleAnswer = useCallback((answer) => {
124
+ const questionKey = `q${currentIndex}`;
125
+ const newAnswers = { ...answers, [questionKey]: answer };
126
+ setAnswers(newAnswers);
127
+ if (currentIndex < questions.length - 1) {
128
+ setCurrentIndex((prev) => prev + 1);
129
+ }
130
+ else {
131
+ onComplete(newAnswers);
132
+ }
133
+ }, [currentIndex, questions.length, answers, onComplete]);
134
+ if (!currentQuestion) {
135
+ return _jsx(Text, { color: "red", children: "No questions available" });
136
+ }
137
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "blue", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: "blue", bold: true, children: "\u2753 Claude Code \u304B\u3089\u306E\u8CEA\u554F" }), questions.length > 1 && (_jsxs(Text, { color: "gray", children: [' ', "(", currentIndex + 1, "/", questions.length, ")"] }))] }), _jsx(QuestionView, { question: currentQuestion, questionIndex: currentIndex, onAnswer: handleAnswer })] }));
138
+ }
139
+ //# sourceMappingURL=AskUserQuestion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserQuestion.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/AskUserQuestion.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Header component displaying workflow status
3
+ */
4
+ import React from 'react';
5
+ interface HeaderProps {
6
+ /** Current workflow name */
7
+ workflowName: string;
8
+ /** Whether sacrifice mode is enabled */
9
+ sacrificeMode?: boolean;
10
+ /** Current step info */
11
+ stepInfo?: {
12
+ name: string;
13
+ iteration: number;
14
+ maxIterations: number;
15
+ };
16
+ }
17
+ /** Header component showing workflow and mode info */
18
+ export declare function Header({ workflowName, sacrificeMode, stepInfo, }: HeaderProps): React.ReactElement;
19
+ export {};
20
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/Header.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,WAAW;IACnB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,sDAAsD;AACtD,wBAAgB,MAAM,CAAC,EACrB,YAAY,EACZ,aAAqB,EACrB,QAAQ,GACT,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAsBlC"}
@@ -0,0 +1,7 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text, Box } from 'ink';
3
+ /** Header component showing workflow and mode info */
4
+ export function Header({ workflowName, sacrificeMode = false, stepInfo, }) {
5
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: "blue", bold: true, children: ["[", workflowName, "]"] }), sacrificeMode && (_jsxs(Text, { color: "red", bold: true, children: [' ', "SACRIFICE MODE"] }))] }), stepInfo && (_jsx(Box, { children: _jsxs(Text, { color: "gray", children: ["Step: ", stepInfo.name, " (", stepInfo.iteration, "/", stepInfo.maxIterations, ")"] }) }))] }));
6
+ }
7
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/Header.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAehC,sDAAsD;AACtD,MAAM,UAAU,MAAM,CAAC,EACrB,YAAY,EACZ,aAAa,GAAG,KAAK,EACrB,QAAQ,GACI;IACZ,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wBACnB,YAAY,SACT,EACN,aAAa,IAAI,CAChB,MAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,mBACnB,GAAG,sBACC,CACR,IACG,EACL,QAAQ,IAAI,CACX,KAAC,GAAG,cACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,uBACT,QAAQ,CAAC,IAAI,QAAI,QAAQ,CAAC,SAAS,OAAG,QAAQ,CAAC,aAAa,SAC9D,GACH,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Help view component for ink
3
+ *
4
+ * Displays available commands and shortcuts
5
+ */
6
+ import React from 'react';
7
+ export interface HelpViewProps {
8
+ /** Callback when help view should close */
9
+ onClose: () => void;
10
+ }
11
+ /** Help view component */
12
+ export declare function HelpView({ onClose }: HelpViewProps): React.ReactElement;
13
+ //# sourceMappingURL=HelpView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpView.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/HelpView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAyBD,0BAA0B;AAC1B,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAyFvE"}
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text, useInput, useFocus } from 'ink';
3
+ /** Help section component */
4
+ function HelpSection({ title, items, }) {
5
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: title }), items.map((item, i) => (_jsxs(Box, { children: [_jsx(Box, { width: 25, children: _jsxs(Text, { color: "cyan", children: [" ", item.command] }) }), _jsx(Text, { color: "white", children: item.description })] }, i)))] }));
6
+ }
7
+ /** Help view component */
8
+ export function HelpView({ onClose }) {
9
+ const { isFocused } = useFocus({ autoFocus: true });
10
+ useInput((input, key) => {
11
+ if (!isFocused)
12
+ return;
13
+ // Close on any key
14
+ if (key.return || key.escape || input === 'q' || input === 'h') {
15
+ onClose();
16
+ }
17
+ }, { isActive: isFocused });
18
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "cyan", padding: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: "cyan", bold: true, children: "Wolf Commands" }) }), _jsx(HelpSection, { title: "Basic Operations:", items: [
19
+ { command: '[message]', description: 'Send message to current workflow' },
20
+ { command: 'Up/Down Arrow', description: 'Navigate input history' },
21
+ { command: 'Enter', description: 'Submit input' },
22
+ { command: 'Shift+Enter', description: 'New line (also Option+Enter, Ctrl+O)' },
23
+ ] }), _jsx(HelpSection, { title: "Commands:", items: [
24
+ { command: '/help, /h', description: 'Show this help' },
25
+ { command: '/quit, /exit, /q', description: 'Exit wolf' },
26
+ { command: '/switch, /sw', description: 'Switch workflow (interactive)' },
27
+ { command: '/workflow [name]', description: 'Change workflow' },
28
+ { command: '/workflows', description: 'List available workflows' },
29
+ ] }), _jsx(HelpSection, { title: "Session Management:", items: [
30
+ { command: '/clear', description: 'Clear session and start fresh' },
31
+ { command: '/cls', description: 'Clear output only' },
32
+ ] }), _jsx(HelpSection, { title: "Agent Operations:", items: [
33
+ { command: '/agents', description: 'List available agents' },
34
+ ] }), _jsx(HelpSection, { title: "Task Management:", items: [
35
+ { command: '/tasks, /task list', description: 'List pending tasks' },
36
+ { command: '/task run [name]', description: 'Run a task' },
37
+ ] }), _jsx(HelpSection, { title: "Mode Control:", items: [
38
+ { command: '/sacrifice, /yolo', description: 'Toggle sacrifice mode (auto-approve)' },
39
+ { command: '/safe', description: 'Disable sacrifice mode' },
40
+ ] }), _jsx(HelpSection, { title: "Workflows:", items: [
41
+ { command: 'passthrough', description: 'Direct Claude CLI (default)' },
42
+ { command: 'default', description: 'Coder -> Architect -> Supervisor flow' },
43
+ ] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: "gray", dimColor: true, children: "Press any key to close" }) })] }));
44
+ }
45
+ //# sourceMappingURL=HelpView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HelpView.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/HelpView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Iteration limit prompt component for ink
3
+ *
4
+ * Displays when iteration limit is reached and asks for continuation
5
+ */
6
+ import React from 'react';
7
+ export interface IterationLimitProps {
8
+ /** Current iteration count */
9
+ currentIteration: number;
10
+ /** Maximum iterations */
11
+ maxIterations: number;
12
+ /** Current step name */
13
+ currentStep: string;
14
+ /** Callback when user decides */
15
+ onDecision: (additionalIterations: number | null) => void;
16
+ }
17
+ /** Iteration limit prompt component */
18
+ export declare function IterationLimit({ currentIteration, maxIterations, currentStep, onDecision, }: IterationLimitProps): React.ReactElement;
19
+ //# sourceMappingURL=IterationLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IterationLimit.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/components/IterationLimit.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAGrD,MAAM,WAAW,mBAAmB;IAClC,8BAA8B;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,uCAAuC;AACvC,wBAAgB,cAAc,CAAC,EAC7B,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,UAAU,GACX,EAAE,mBAAmB,GAAG,KAAK,CAAC,YAAY,CA4F1C"}