takt 0.1.0 → 0.1.2

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 (357) hide show
  1. package/README.md +78 -4
  2. package/dist/agents/runner.d.ts +3 -0
  3. package/dist/agents/runner.d.ts.map +1 -1
  4. package/dist/agents/runner.js +70 -14
  5. package/dist/agents/runner.js.map +1 -1
  6. package/dist/claude/client.d.ts +1 -1
  7. package/dist/claude/client.d.ts.map +1 -1
  8. package/dist/claude/client.js +4 -3
  9. package/dist/claude/client.js.map +1 -1
  10. package/dist/claude/index.d.ts +1 -1
  11. package/dist/claude/index.d.ts.map +1 -1
  12. package/dist/claude/index.js.map +1 -1
  13. package/dist/claude/process.d.ts +1 -1
  14. package/dist/claude/process.d.ts.map +1 -1
  15. package/dist/claude/process.js.map +1 -1
  16. package/dist/claude/types.d.ts +7 -0
  17. package/dist/claude/types.d.ts.map +1 -1
  18. package/dist/cli.d.ts +1 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +10 -4
  21. package/dist/cli.js.map +1 -1
  22. package/dist/codex/client.d.ts +26 -0
  23. package/dist/codex/client.d.ts.map +1 -0
  24. package/dist/codex/client.js +418 -0
  25. package/dist/codex/client.js.map +1 -0
  26. package/dist/codex/index.d.ts +5 -0
  27. package/dist/codex/index.d.ts.map +1 -0
  28. package/dist/codex/index.js +5 -0
  29. package/dist/codex/index.js.map +1 -0
  30. package/dist/commands/config.d.ts +33 -0
  31. package/dist/commands/config.d.ts.map +1 -0
  32. package/dist/commands/config.js +110 -0
  33. package/dist/commands/config.js.map +1 -0
  34. package/dist/commands/index.d.ts +1 -0
  35. package/dist/commands/index.d.ts.map +1 -1
  36. package/dist/commands/index.js +1 -0
  37. package/dist/commands/index.js.map +1 -1
  38. package/dist/commands/workflow.js +1 -1
  39. package/dist/commands/workflow.js.map +1 -1
  40. package/dist/commands/workflowExecution.d.ts.map +1 -1
  41. package/dist/commands/workflowExecution.js +3 -1
  42. package/dist/commands/workflowExecution.js.map +1 -1
  43. package/dist/config/globalConfig.d.ts +2 -0
  44. package/dist/config/globalConfig.d.ts.map +1 -1
  45. package/dist/config/globalConfig.js +12 -0
  46. package/dist/config/globalConfig.js.map +1 -1
  47. package/dist/config/initialization.d.ts +10 -0
  48. package/dist/config/initialization.d.ts.map +1 -1
  49. package/dist/config/initialization.js +26 -4
  50. package/dist/config/initialization.js.map +1 -1
  51. package/dist/config/projectConfig.d.ts +14 -1
  52. package/dist/config/projectConfig.d.ts.map +1 -1
  53. package/dist/config/projectConfig.js +4 -0
  54. package/dist/config/projectConfig.js.map +1 -1
  55. package/dist/config/workflowLoader.d.ts.map +1 -1
  56. package/dist/config/workflowLoader.js +3 -0
  57. package/dist/config/workflowLoader.js.map +1 -1
  58. package/dist/index.d.ts +1 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/models/schemas.d.ts +54 -3
  63. package/dist/models/schemas.d.ts.map +1 -1
  64. package/dist/models/schemas.js +34 -46
  65. package/dist/models/schemas.js.map +1 -1
  66. package/dist/models/types.d.ts +12 -2
  67. package/dist/models/types.d.ts.map +1 -1
  68. package/dist/{interactive/prompt.d.ts → prompt/index.d.ts} +3 -1
  69. package/dist/prompt/index.d.ts.map +1 -0
  70. package/dist/{interactive/prompt.js → prompt/index.js} +11 -1
  71. package/dist/prompt/index.js.map +1 -0
  72. package/dist/resources/index.d.ts +9 -0
  73. package/dist/resources/index.d.ts.map +1 -1
  74. package/dist/resources/index.js +21 -2
  75. package/dist/resources/index.js.map +1 -1
  76. package/dist/utils/session.d.ts +5 -0
  77. package/dist/utils/session.d.ts.map +1 -1
  78. package/dist/utils/session.js +19 -0
  79. package/dist/utils/session.js.map +1 -1
  80. package/dist/utils/ui.d.ts +7 -0
  81. package/dist/utils/ui.d.ts.map +1 -1
  82. package/dist/utils/ui.js +51 -0
  83. package/dist/utils/ui.js.map +1 -1
  84. package/dist/workflow/engine.d.ts +10 -0
  85. package/dist/workflow/engine.d.ts.map +1 -1
  86. package/dist/workflow/engine.js +31 -0
  87. package/dist/workflow/engine.js.map +1 -1
  88. package/dist/workflow/instruction-builder.d.ts +3 -0
  89. package/dist/workflow/instruction-builder.d.ts.map +1 -1
  90. package/dist/workflow/instruction-builder.js +5 -0
  91. package/dist/workflow/instruction-builder.js.map +1 -1
  92. package/dist/workflow/transitions.d.ts.map +1 -1
  93. package/dist/workflow/transitions.js +1 -0
  94. package/dist/workflow/transitions.js.map +1 -1
  95. package/package.json +3 -1
  96. package/resources/global/en/agents/default/ai-reviewer.md +136 -0
  97. package/resources/global/en/agents/default/architect.md +81 -30
  98. package/resources/global/en/agents/default/coder.md +60 -44
  99. package/resources/global/en/agents/default/planner.md +78 -0
  100. package/resources/global/en/agents/default/security.md +67 -75
  101. package/resources/global/en/agents/default/supervisor.md +94 -86
  102. package/resources/global/en/agents/expert-review/cqrs-es-reviewer.md +199 -0
  103. package/resources/global/en/agents/expert-review/frontend-reviewer.md +260 -0
  104. package/resources/global/en/agents/expert-review/qa-reviewer.md +260 -0
  105. package/resources/global/en/agents/expert-review/security-reviewer.md +222 -0
  106. package/resources/global/en/agents/expert-review/supervisor.md +186 -0
  107. package/resources/global/en/config.yaml +8 -0
  108. package/resources/global/en/workflows/default.yaml +474 -21
  109. package/resources/global/en/workflows/expert-review.yaml +936 -0
  110. package/resources/global/en/workflows/magi.yaml +18 -0
  111. package/resources/global/en/workflows/research.yaml +18 -0
  112. package/resources/global/ja/agents/default/ai-reviewer.md +136 -0
  113. package/resources/global/ja/agents/default/architect.md +81 -30
  114. package/resources/global/ja/agents/default/coder.md +21 -6
  115. package/resources/global/ja/agents/default/planner.md +78 -0
  116. package/resources/global/ja/agents/default/security.md +20 -28
  117. package/resources/global/ja/agents/default/supervisor.md +54 -46
  118. package/resources/global/ja/agents/expert-review/cqrs-es-reviewer.md +199 -0
  119. package/resources/global/ja/agents/expert-review/frontend-reviewer.md +260 -0
  120. package/resources/global/ja/agents/expert-review/qa-reviewer.md +260 -0
  121. package/resources/global/ja/agents/expert-review/security-reviewer.md +222 -0
  122. package/resources/global/ja/agents/expert-review/supervisor.md +186 -0
  123. package/resources/global/ja/config.yaml +8 -0
  124. package/resources/global/ja/workflows/default.yaml +485 -32
  125. package/resources/global/ja/workflows/expert-review.yaml +936 -0
  126. package/resources/global/ja/workflows/magi.yaml +18 -0
  127. package/resources/global/ja/workflows/research.yaml +18 -0
  128. package/dist/cli/agentExecution.d.ts +0 -16
  129. package/dist/cli/agentExecution.d.ts.map +0 -1
  130. package/dist/cli/agentExecution.js +0 -40
  131. package/dist/cli/agentExecution.js.map +0 -1
  132. package/dist/cli/help.d.ts +0 -8
  133. package/dist/cli/help.d.ts.map +0 -1
  134. package/dist/cli/help.js +0 -46
  135. package/dist/cli/help.js.map +0 -1
  136. package/dist/cli/index.d.ts +0 -8
  137. package/dist/cli/index.d.ts.map +0 -1
  138. package/dist/cli/index.js +0 -8
  139. package/dist/cli/index.js.map +0 -1
  140. package/dist/cli/taskBatch.d.ts +0 -8
  141. package/dist/cli/taskBatch.d.ts.map +0 -1
  142. package/dist/cli/taskBatch.js +0 -69
  143. package/dist/cli/taskBatch.js.map +0 -1
  144. package/dist/cli/workflowExecution.d.ts +0 -18
  145. package/dist/cli/workflowExecution.d.ts.map +0 -1
  146. package/dist/cli/workflowExecution.js +0 -112
  147. package/dist/cli/workflowExecution.js.map +0 -1
  148. package/dist/commands/agentExecution.d.ts +0 -8
  149. package/dist/commands/agentExecution.d.ts.map +0 -1
  150. package/dist/commands/agentExecution.js +0 -44
  151. package/dist/commands/agentExecution.js.map +0 -1
  152. package/dist/interactive/commands/agent.d.ts +0 -7
  153. package/dist/interactive/commands/agent.d.ts.map +0 -1
  154. package/dist/interactive/commands/agent.js +0 -65
  155. package/dist/interactive/commands/agent.js.map +0 -1
  156. package/dist/interactive/commands/basic.d.ts +0 -7
  157. package/dist/interactive/commands/basic.d.ts.map +0 -1
  158. package/dist/interactive/commands/basic.js +0 -81
  159. package/dist/interactive/commands/basic.js.map +0 -1
  160. package/dist/interactive/commands/index.d.ts +0 -12
  161. package/dist/interactive/commands/index.d.ts.map +0 -1
  162. package/dist/interactive/commands/index.js +0 -14
  163. package/dist/interactive/commands/index.js.map +0 -1
  164. package/dist/interactive/commands/registry.d.ts +0 -41
  165. package/dist/interactive/commands/registry.d.ts.map +0 -1
  166. package/dist/interactive/commands/registry.js +0 -37
  167. package/dist/interactive/commands/registry.js.map +0 -1
  168. package/dist/interactive/commands/session.d.ts +0 -7
  169. package/dist/interactive/commands/session.d.ts.map +0 -1
  170. package/dist/interactive/commands/session.js +0 -75
  171. package/dist/interactive/commands/session.js.map +0 -1
  172. package/dist/interactive/commands/task.d.ts +0 -7
  173. package/dist/interactive/commands/task.d.ts.map +0 -1
  174. package/dist/interactive/commands/task.js +0 -156
  175. package/dist/interactive/commands/task.js.map +0 -1
  176. package/dist/interactive/commands/workflow.d.ts +0 -7
  177. package/dist/interactive/commands/workflow.d.ts.map +0 -1
  178. package/dist/interactive/commands/workflow.js +0 -56
  179. package/dist/interactive/commands/workflow.js.map +0 -1
  180. package/dist/interactive/escape-tracker.d.ts +0 -37
  181. package/dist/interactive/escape-tracker.d.ts.map +0 -1
  182. package/dist/interactive/escape-tracker.js +0 -52
  183. package/dist/interactive/escape-tracker.js.map +0 -1
  184. package/dist/interactive/handlers.d.ts +0 -24
  185. package/dist/interactive/handlers.d.ts.map +0 -1
  186. package/dist/interactive/handlers.js +0 -191
  187. package/dist/interactive/handlers.js.map +0 -1
  188. package/dist/interactive/history-manager.d.ts +0 -45
  189. package/dist/interactive/history-manager.d.ts.map +0 -1
  190. package/dist/interactive/history-manager.js +0 -91
  191. package/dist/interactive/history-manager.js.map +0 -1
  192. package/dist/interactive/index.d.ts +0 -8
  193. package/dist/interactive/index.d.ts.map +0 -1
  194. package/dist/interactive/index.js +0 -8
  195. package/dist/interactive/index.js.map +0 -1
  196. package/dist/interactive/ink/components/App.d.ts +0 -16
  197. package/dist/interactive/ink/components/App.d.ts.map +0 -1
  198. package/dist/interactive/ink/components/App.js +0 -123
  199. package/dist/interactive/ink/components/App.js.map +0 -1
  200. package/dist/interactive/ink/components/AskUserQuestion.d.ts +0 -16
  201. package/dist/interactive/ink/components/AskUserQuestion.d.ts.map +0 -1
  202. package/dist/interactive/ink/components/AskUserQuestion.js +0 -139
  203. package/dist/interactive/ink/components/AskUserQuestion.js.map +0 -1
  204. package/dist/interactive/ink/components/Header.d.ts +0 -20
  205. package/dist/interactive/ink/components/Header.d.ts.map +0 -1
  206. package/dist/interactive/ink/components/Header.js +0 -7
  207. package/dist/interactive/ink/components/Header.js.map +0 -1
  208. package/dist/interactive/ink/components/HelpView.d.ts +0 -13
  209. package/dist/interactive/ink/components/HelpView.d.ts.map +0 -1
  210. package/dist/interactive/ink/components/HelpView.js +0 -45
  211. package/dist/interactive/ink/components/HelpView.js.map +0 -1
  212. package/dist/interactive/ink/components/IterationLimit.d.ts +0 -19
  213. package/dist/interactive/ink/components/IterationLimit.d.ts.map +0 -1
  214. package/dist/interactive/ink/components/IterationLimit.js +0 -59
  215. package/dist/interactive/ink/components/IterationLimit.js.map +0 -1
  216. package/dist/interactive/ink/components/ModalRouter.d.ts +0 -11
  217. package/dist/interactive/ink/components/ModalRouter.d.ts.map +0 -1
  218. package/dist/interactive/ink/components/ModalRouter.js +0 -71
  219. package/dist/interactive/ink/components/ModalRouter.js.map +0 -1
  220. package/dist/interactive/ink/components/PermissionPrompt.d.ts +0 -17
  221. package/dist/interactive/ink/components/PermissionPrompt.d.ts.map +0 -1
  222. package/dist/interactive/ink/components/PermissionPrompt.js +0 -102
  223. package/dist/interactive/ink/components/PermissionPrompt.js.map +0 -1
  224. package/dist/interactive/ink/components/PromptInput.d.ts +0 -26
  225. package/dist/interactive/ink/components/PromptInput.d.ts.map +0 -1
  226. package/dist/interactive/ink/components/PromptInput.js +0 -70
  227. package/dist/interactive/ink/components/PromptInput.js.map +0 -1
  228. package/dist/interactive/ink/components/Spinner.d.ts +0 -14
  229. package/dist/interactive/ink/components/Spinner.d.ts.map +0 -1
  230. package/dist/interactive/ink/components/Spinner.js +0 -8
  231. package/dist/interactive/ink/components/Spinner.js.map +0 -1
  232. package/dist/interactive/ink/components/StreamingOutput.d.ts +0 -25
  233. package/dist/interactive/ink/components/StreamingOutput.d.ts.map +0 -1
  234. package/dist/interactive/ink/components/StreamingOutput.js +0 -8
  235. package/dist/interactive/ink/components/StreamingOutput.js.map +0 -1
  236. package/dist/interactive/ink/components/UserInputPrompt.d.ts +0 -18
  237. package/dist/interactive/ink/components/UserInputPrompt.d.ts.map +0 -1
  238. package/dist/interactive/ink/components/UserInputPrompt.js +0 -30
  239. package/dist/interactive/ink/components/UserInputPrompt.js.map +0 -1
  240. package/dist/interactive/ink/components/WorkflowSelector.d.ts +0 -18
  241. package/dist/interactive/ink/components/WorkflowSelector.d.ts.map +0 -1
  242. package/dist/interactive/ink/components/WorkflowSelector.js +0 -65
  243. package/dist/interactive/ink/components/WorkflowSelector.js.map +0 -1
  244. package/dist/interactive/ink/constants.d.ts +0 -8
  245. package/dist/interactive/ink/constants.d.ts.map +0 -1
  246. package/dist/interactive/ink/constants.js +0 -8
  247. package/dist/interactive/ink/constants.js.map +0 -1
  248. package/dist/interactive/ink/context/AppContext.d.ts +0 -26
  249. package/dist/interactive/ink/context/AppContext.d.ts.map +0 -1
  250. package/dist/interactive/ink/context/AppContext.js +0 -30
  251. package/dist/interactive/ink/context/AppContext.js.map +0 -1
  252. package/dist/interactive/ink/context/appReducer.d.ts +0 -13
  253. package/dist/interactive/ink/context/appReducer.d.ts.map +0 -1
  254. package/dist/interactive/ink/context/appReducer.js +0 -183
  255. package/dist/interactive/ink/context/appReducer.js.map +0 -1
  256. package/dist/interactive/ink/context/types.d.ts +0 -144
  257. package/dist/interactive/ink/context/types.d.ts.map +0 -1
  258. package/dist/interactive/ink/context/types.js +0 -5
  259. package/dist/interactive/ink/context/types.js.map +0 -1
  260. package/dist/interactive/ink/hooks/keyDetection.d.ts +0 -116
  261. package/dist/interactive/ink/hooks/keyDetection.d.ts.map +0 -1
  262. package/dist/interactive/ink/hooks/keyDetection.js +0 -183
  263. package/dist/interactive/ink/hooks/keyDetection.js.map +0 -1
  264. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts +0 -50
  265. package/dist/interactive/ink/hooks/multilineInputLogic.d.ts.map +0 -1
  266. package/dist/interactive/ink/hooks/multilineInputLogic.js +0 -150
  267. package/dist/interactive/ink/hooks/multilineInputLogic.js.map +0 -1
  268. package/dist/interactive/ink/hooks/useCommands.d.ts +0 -20
  269. package/dist/interactive/ink/hooks/useCommands.d.ts.map +0 -1
  270. package/dist/interactive/ink/hooks/useCommands.js +0 -129
  271. package/dist/interactive/ink/hooks/useCommands.js.map +0 -1
  272. package/dist/interactive/ink/hooks/useHistory.d.ts +0 -28
  273. package/dist/interactive/ink/hooks/useHistory.d.ts.map +0 -1
  274. package/dist/interactive/ink/hooks/useHistory.js +0 -59
  275. package/dist/interactive/ink/hooks/useHistory.js.map +0 -1
  276. package/dist/interactive/ink/hooks/useMultilineInput.d.ts +0 -49
  277. package/dist/interactive/ink/hooks/useMultilineInput.d.ts.map +0 -1
  278. package/dist/interactive/ink/hooks/useMultilineInput.js +0 -106
  279. package/dist/interactive/ink/hooks/useMultilineInput.js.map +0 -1
  280. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts +0 -16
  281. package/dist/interactive/ink/hooks/usePermissionHandlers.d.ts.map +0 -1
  282. package/dist/interactive/ink/hooks/usePermissionHandlers.js +0 -172
  283. package/dist/interactive/ink/hooks/usePermissionHandlers.js.map +0 -1
  284. package/dist/interactive/ink/hooks/useRawKeypress.d.ts +0 -41
  285. package/dist/interactive/ink/hooks/useRawKeypress.d.ts.map +0 -1
  286. package/dist/interactive/ink/hooks/useRawKeypress.js +0 -79
  287. package/dist/interactive/ink/hooks/useRawKeypress.js.map +0 -1
  288. package/dist/interactive/ink/hooks/useTaskQueue.d.ts +0 -32
  289. package/dist/interactive/ink/hooks/useTaskQueue.d.ts.map +0 -1
  290. package/dist/interactive/ink/hooks/useTaskQueue.js +0 -68
  291. package/dist/interactive/ink/hooks/useTaskQueue.js.map +0 -1
  292. package/dist/interactive/ink/hooks/useWorkflow.d.ts +0 -45
  293. package/dist/interactive/ink/hooks/useWorkflow.d.ts.map +0 -1
  294. package/dist/interactive/ink/hooks/useWorkflow.js +0 -93
  295. package/dist/interactive/ink/hooks/useWorkflow.js.map +0 -1
  296. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts +0 -14
  297. package/dist/interactive/ink/hooks/useWorkflowExecution.d.ts.map +0 -1
  298. package/dist/interactive/ink/hooks/useWorkflowExecution.js +0 -144
  299. package/dist/interactive/ink/hooks/useWorkflowExecution.js.map +0 -1
  300. package/dist/interactive/ink/index.d.ts +0 -30
  301. package/dist/interactive/ink/index.d.ts.map +0 -1
  302. package/dist/interactive/ink/index.js +0 -33
  303. package/dist/interactive/ink/index.js.map +0 -1
  304. package/dist/interactive/ink/utils/workflow.d.ts +0 -11
  305. package/dist/interactive/ink/utils/workflow.d.ts.map +0 -1
  306. package/dist/interactive/ink/utils/workflow.js +0 -19
  307. package/dist/interactive/ink/utils/workflow.js.map +0 -1
  308. package/dist/interactive/input-buffer.d.ts +0 -67
  309. package/dist/interactive/input-buffer.d.ts.map +0 -1
  310. package/dist/interactive/input-buffer.js +0 -162
  311. package/dist/interactive/input-buffer.js.map +0 -1
  312. package/dist/interactive/input-handlers.d.ts +0 -50
  313. package/dist/interactive/input-handlers.d.ts.map +0 -1
  314. package/dist/interactive/input-handlers.js +0 -170
  315. package/dist/interactive/input-handlers.js.map +0 -1
  316. package/dist/interactive/input.d.ts +0 -43
  317. package/dist/interactive/input.d.ts.map +0 -1
  318. package/dist/interactive/input.js +0 -74
  319. package/dist/interactive/input.js.map +0 -1
  320. package/dist/interactive/keyDetection.d.ts +0 -85
  321. package/dist/interactive/keyDetection.d.ts.map +0 -1
  322. package/dist/interactive/keyDetection.js +0 -167
  323. package/dist/interactive/keyDetection.js.map +0 -1
  324. package/dist/interactive/multilineInputLogic.d.ts +0 -30
  325. package/dist/interactive/multilineInputLogic.d.ts.map +0 -1
  326. package/dist/interactive/multilineInputLogic.js +0 -143
  327. package/dist/interactive/multilineInputLogic.js.map +0 -1
  328. package/dist/interactive/passthrough.d.ts +0 -30
  329. package/dist/interactive/passthrough.d.ts.map +0 -1
  330. package/dist/interactive/passthrough.js +0 -94
  331. package/dist/interactive/passthrough.js.map +0 -1
  332. package/dist/interactive/permission.d.ts +0 -33
  333. package/dist/interactive/permission.d.ts.map +0 -1
  334. package/dist/interactive/permission.js +0 -231
  335. package/dist/interactive/permission.js.map +0 -1
  336. package/dist/interactive/prompt.d.ts.map +0 -1
  337. package/dist/interactive/prompt.js.map +0 -1
  338. package/dist/interactive/repl.d.ts +0 -13
  339. package/dist/interactive/repl.d.ts.map +0 -1
  340. package/dist/interactive/repl.js +0 -202
  341. package/dist/interactive/repl.js.map +0 -1
  342. package/dist/interactive/types.d.ts +0 -35
  343. package/dist/interactive/types.d.ts.map +0 -1
  344. package/dist/interactive/types.js +0 -5
  345. package/dist/interactive/types.js.map +0 -1
  346. package/dist/interactive/ui.d.ts +0 -16
  347. package/dist/interactive/ui.d.ts.map +0 -1
  348. package/dist/interactive/ui.js +0 -122
  349. package/dist/interactive/ui.js.map +0 -1
  350. package/dist/interactive/user-input.d.ts +0 -26
  351. package/dist/interactive/user-input.d.ts.map +0 -1
  352. package/dist/interactive/user-input.js +0 -115
  353. package/dist/interactive/user-input.js.map +0 -1
  354. package/dist/interactive/workflow-executor.d.ts +0 -20
  355. package/dist/interactive/workflow-executor.d.ts.map +0 -1
  356. package/dist/interactive/workflow-executor.js +0 -200
  357. package/dist/interactive/workflow-executor.js.map +0 -1
@@ -1,52 +0,0 @@
1
- /**
2
- * Escape sequence tracking for iTerm2-style Option+Enter detection
3
- *
4
- * iTerm2 (and some other Mac terminals) send Option+Enter as two separate events:
5
- * Escape followed by Enter. This module provides a tracker to detect this pattern
6
- * by checking if Enter is pressed shortly after Escape.
7
- */
8
- /**
9
- * Tracks Escape key timing for detecting iTerm2-style Option+Enter.
10
- *
11
- * The threshold of 50ms is based on:
12
- * - Typical keyboard repeat delay is 200-500ms
13
- * - Terminal escape sequence transmission is near-instantaneous (<10ms)
14
- * - Human intentional Esc→Enter would take at least 100-150ms
15
- * - 50ms provides a safe margin to detect machine-generated sequences
16
- * while avoiding false positives from intentional key presses
17
- */
18
- export class EscapeSequenceTracker {
19
- lastEscapeTime = 0;
20
- thresholdMs;
21
- /**
22
- * @param thresholdMs Time window to consider Esc+Enter as Option+Enter (default: 50ms)
23
- */
24
- constructor(thresholdMs = 50) {
25
- this.thresholdMs = thresholdMs;
26
- }
27
- /** Record that Escape key was pressed */
28
- trackEscape() {
29
- this.lastEscapeTime = Date.now();
30
- }
31
- /**
32
- * Check if Enter was pressed within threshold of Escape.
33
- * Resets the tracker if true to prevent repeated triggers.
34
- */
35
- isEscapeThenEnter() {
36
- const elapsed = Date.now() - this.lastEscapeTime;
37
- const isRecent = elapsed < this.thresholdMs && this.lastEscapeTime > 0;
38
- if (isRecent) {
39
- this.lastEscapeTime = 0; // Reset to prevent accidental triggers
40
- }
41
- return isRecent;
42
- }
43
- /** Reset the tracker state */
44
- reset() {
45
- this.lastEscapeTime = 0;
46
- }
47
- /** Get the threshold value (for testing) */
48
- getThreshold() {
49
- return this.thresholdMs;
50
- }
51
- }
52
- //# sourceMappingURL=escape-tracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"escape-tracker.js","sourceRoot":"","sources":["../../src/interactive/escape-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;GASG;AACH,MAAM,OAAO,qBAAqB;IACxB,cAAc,GAAW,CAAC,CAAC;IAClB,WAAW,CAAS;IAErC;;OAEG;IACH,YAAY,cAAsB,EAAE;QAClC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,yCAAyC;IACzC,WAAW;QACT,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,iBAAiB;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,uCAAuC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,8BAA8B;IAC9B,KAAK;QACH,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,4CAA4C;IAC5C,YAAY;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Interactive handlers for user questions and input
3
- *
4
- * Handles AskUserQuestion tool responses and user input prompts
5
- * during workflow execution.
6
- */
7
- import type { InputHistoryManager } from './input.js';
8
- import { createReadlineInterface } from './input.js';
9
- import type { AskUserQuestionHandler } from '../claude/process.js';
10
- /**
11
- * Create a handler that uses another agent to answer questions.
12
- * This allows automatic question answering by delegating to a specified agent.
13
- */
14
- export declare function createAgentAnswerHandler(answerAgentName: string, cwd: string): AskUserQuestionHandler;
15
- /**
16
- * Handle AskUserQuestion tool from Claude Code.
17
- * Displays questions to the user and collects their answers.
18
- */
19
- export declare function createAskUserQuestionHandler(rl: ReturnType<typeof createReadlineInterface>, historyManager: InputHistoryManager): AskUserQuestionHandler;
20
- /**
21
- * Create a handler for sacrifice mode that auto-skips all questions.
22
- */
23
- export declare function createSacrificeModeQuestionHandler(): AskUserQuestionHandler;
24
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/interactive/handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAqB,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,EAAwB,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAIzF;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,eAAe,EAAE,MAAM,EACvB,GAAG,EAAE,MAAM,GACV,sBAAsB,CA+ExB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,EAAE,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,EAC9C,cAAc,EAAE,mBAAmB,GAClC,sBAAsB,CAkGxB;AAED;;GAEG;AACH,wBAAgB,kCAAkC,IAAI,sBAAsB,CAK3E"}
@@ -1,191 +0,0 @@
1
- /**
2
- * Interactive handlers for user questions and input
3
- *
4
- * Handles AskUserQuestion tool responses and user input prompts
5
- * during workflow execution.
6
- */
7
- import chalk from 'chalk';
8
- import { multiLineQuestion } from './input.js';
9
- import { runAgent } from '../agents/runner.js';
10
- import { info } from '../utils/ui.js';
11
- /**
12
- * Create a handler that uses another agent to answer questions.
13
- * This allows automatic question answering by delegating to a specified agent.
14
- */
15
- export function createAgentAnswerHandler(answerAgentName, cwd) {
16
- return async (input) => {
17
- const answers = {};
18
- console.log();
19
- console.log(chalk.magenta('━'.repeat(60)));
20
- console.log(chalk.magenta.bold(`🤖 ${answerAgentName} が質問に回答します`));
21
- console.log(chalk.magenta('━'.repeat(60)));
22
- for (let i = 0; i < input.questions.length; i++) {
23
- const q = input.questions[i];
24
- if (!q)
25
- continue;
26
- const questionKey = `q${i}`;
27
- // Build a prompt for the answer agent
28
- let prompt = `以下の質問に回答してください。回答のみを出力してください。\n\n`;
29
- prompt += `質問: ${q.question}\n`;
30
- if (q.options && q.options.length > 0) {
31
- prompt += `\n選択肢:\n`;
32
- q.options.forEach((opt, idx) => {
33
- prompt += `${idx + 1}. ${opt.label}`;
34
- if (opt.description) {
35
- prompt += ` - ${opt.description}`;
36
- }
37
- prompt += '\n';
38
- });
39
- prompt += `\n選択肢の番号またはラベルで回答してください。選択肢以外の回答も可能です。`;
40
- }
41
- console.log(chalk.gray(`質問: ${q.question}`));
42
- try {
43
- const response = await runAgent(answerAgentName, prompt, {
44
- cwd,
45
- // Don't use session for answer agent - each question is independent
46
- });
47
- // Extract the answer from agent response
48
- const answerContent = response.content.trim();
49
- // If the agent selected a numbered option, convert to label
50
- const options = q.options;
51
- if (options && options.length > 0) {
52
- const num = parseInt(answerContent, 10);
53
- if (num >= 1 && num <= options.length) {
54
- const selectedOption = options[num - 1];
55
- answers[questionKey] = selectedOption?.label ?? answerContent;
56
- }
57
- else {
58
- // Check if agent replied with exact label
59
- const matchedOption = options.find(opt => opt.label.toLowerCase() === answerContent.toLowerCase());
60
- if (matchedOption) {
61
- answers[questionKey] = matchedOption.label;
62
- }
63
- else {
64
- answers[questionKey] = answerContent;
65
- }
66
- }
67
- }
68
- else {
69
- answers[questionKey] = answerContent;
70
- }
71
- console.log(chalk.green(`回答: ${answers[questionKey]}`));
72
- }
73
- catch (err) {
74
- console.log(chalk.red(`エージェントエラー: ${err instanceof Error ? err.message : String(err)}`));
75
- // Fall back to empty answer on error
76
- answers[questionKey] = '';
77
- }
78
- console.log();
79
- }
80
- console.log(chalk.magenta('━'.repeat(60)));
81
- console.log();
82
- return answers;
83
- };
84
- }
85
- /**
86
- * Handle AskUserQuestion tool from Claude Code.
87
- * Displays questions to the user and collects their answers.
88
- */
89
- export function createAskUserQuestionHandler(rl, historyManager) {
90
- return async (input) => {
91
- const answers = {};
92
- console.log();
93
- console.log(chalk.blue('━'.repeat(60)));
94
- console.log(chalk.blue.bold('❓ Claude Code からの質問'));
95
- console.log(chalk.blue('━'.repeat(60)));
96
- console.log();
97
- for (let i = 0; i < input.questions.length; i++) {
98
- const q = input.questions[i];
99
- if (!q)
100
- continue;
101
- const questionKey = `q${i}`;
102
- // Show the question
103
- if (q.header) {
104
- console.log(chalk.cyan.bold(`[${q.header}]`));
105
- }
106
- console.log(chalk.white(q.question));
107
- // Show options if available
108
- const options = q.options;
109
- if (options && options.length > 0) {
110
- console.log();
111
- options.forEach((opt, idx) => {
112
- const label = chalk.yellow(` ${idx + 1}. ${opt.label}`);
113
- const desc = opt.description ? chalk.gray(` - ${opt.description}`) : '';
114
- console.log(label + desc);
115
- });
116
- console.log(chalk.gray(` ${options.length + 1}. その他(自由入力)`));
117
- console.log();
118
- // Prompt for selection
119
- const answer = await new Promise((resolve) => {
120
- multiLineQuestion(rl, {
121
- promptStr: chalk.magenta('選択> '),
122
- onCtrlC: () => {
123
- resolve('');
124
- return true;
125
- },
126
- historyManager,
127
- }).then(resolve).catch(() => resolve(''));
128
- });
129
- const trimmed = answer.trim();
130
- const num = parseInt(trimmed, 10);
131
- if (num >= 1 && num <= options.length) {
132
- // User selected an option
133
- const selectedOption = options[num - 1];
134
- answers[questionKey] = selectedOption?.label ?? '';
135
- }
136
- else if (num === options.length + 1 || isNaN(num)) {
137
- // User selected "Other" or entered free text
138
- if (isNaN(num) && trimmed !== '') {
139
- answers[questionKey] = trimmed;
140
- }
141
- else {
142
- console.log(chalk.cyan('自由入力してください:'));
143
- const freeAnswer = await new Promise((resolve) => {
144
- multiLineQuestion(rl, {
145
- promptStr: chalk.magenta('回答> '),
146
- onCtrlC: () => {
147
- resolve('');
148
- return true;
149
- },
150
- historyManager,
151
- }).then(resolve).catch(() => resolve(''));
152
- });
153
- answers[questionKey] = freeAnswer.trim();
154
- }
155
- }
156
- else {
157
- answers[questionKey] = trimmed;
158
- }
159
- }
160
- else {
161
- // No options, free text input
162
- console.log();
163
- const answer = await new Promise((resolve) => {
164
- multiLineQuestion(rl, {
165
- promptStr: chalk.magenta('回答> '),
166
- onCtrlC: () => {
167
- resolve('');
168
- return true;
169
- },
170
- historyManager,
171
- }).then(resolve).catch(() => resolve(''));
172
- });
173
- answers[questionKey] = answer.trim();
174
- }
175
- console.log();
176
- }
177
- console.log(chalk.blue('━'.repeat(60)));
178
- console.log();
179
- return answers;
180
- };
181
- }
182
- /**
183
- * Create a handler for sacrifice mode that auto-skips all questions.
184
- */
185
- export function createSacrificeModeQuestionHandler() {
186
- return async (_input) => {
187
- info('[SACRIFICE MODE] Auto-skipping AskUserQuestion');
188
- return {};
189
- };
190
- }
191
- //# sourceMappingURL=handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../src/interactive/handlers.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
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
- /**
10
- * Manages input history with persistence.
11
- * Provides a unified interface for in-memory and file-based history.
12
- */
13
- export declare class InputHistoryManager {
14
- private history;
15
- private readonly projectDir;
16
- private index;
17
- private currentInput;
18
- constructor(projectDir: string);
19
- /** Add an entry to history (both in-memory and persistent) */
20
- add(input: string): void;
21
- /** Get the current history array (read-only) */
22
- getHistory(): readonly string[];
23
- /** Get the current history index */
24
- getIndex(): number;
25
- /** Reset index to the end of history */
26
- resetIndex(): void;
27
- /** Save the current input before navigating history */
28
- saveCurrentInput(input: string): void;
29
- /** Get the saved current input */
30
- getCurrentInput(): string;
31
- /** Navigate to the previous entry. Returns the entry or undefined if at start. */
32
- navigatePrevious(): string | undefined;
33
- /** Navigate to the next entry. Returns the entry, current input at end, or undefined. */
34
- navigateNext(): {
35
- entry: string;
36
- isCurrentInput: boolean;
37
- } | undefined;
38
- /** Check if currently at a history entry (not at the end) */
39
- isAtHistoryEntry(): boolean;
40
- /** Get the entry at the current index */
41
- getCurrentEntry(): string | undefined;
42
- /** Get the total number of history entries */
43
- get length(): number;
44
- }
45
- //# sourceMappingURL=history-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../src/interactive/history-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;gBAEjB,UAAU,EAAE,MAAM;IAO9B,8DAA8D;IAC9D,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQxB,gDAAgD;IAChD,UAAU,IAAI,SAAS,MAAM,EAAE;IAI/B,oCAAoC;IACpC,QAAQ,IAAI,MAAM;IAIlB,wCAAwC;IACxC,UAAU,IAAI,IAAI;IAKlB,uDAAuD;IACvD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrC,kCAAkC;IAClC,eAAe,IAAI,MAAM;IAIzB,kFAAkF;IAClF,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAQtC,yFAAyF;IACzF,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IActE,6DAA6D;IAC7D,gBAAgB,IAAI,OAAO;IAI3B,yCAAyC;IACzC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,8CAA8C;IAC9C,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
@@ -1,91 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../src/interactive/history-manager.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,8 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,16 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,123 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../../src/interactive/ink/components/App.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
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
@@ -1 +0,0 @@
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"}