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 +0,0 @@
1
- {"version":3,"file":"multilineInputLogic.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/multilineInputLogic.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Command handling hook
3
- */
4
- export interface CommandResult {
5
- handled: boolean;
6
- shouldExit?: boolean;
7
- /** Tasks to execute via workflow (all pending tasks) */
8
- executeTasks?: {
9
- name: string;
10
- content: string;
11
- }[];
12
- }
13
- export interface CommandsResult {
14
- handleCommand: (input: string) => CommandResult;
15
- }
16
- /**
17
- * Hook for handling slash commands
18
- */
19
- export declare function useCommands(): CommandsResult;
20
- //# sourceMappingURL=useCommands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommands.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useCommands.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wDAAwD;IACxD,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,aAAa,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,cAAc,CAwI5C"}
@@ -1,129 +0,0 @@
1
- /**
2
- * Command handling hook
3
- */
4
- import { useCallback } from 'react';
5
- import { useApp } from '../context/AppContext.js';
6
- import { setWorkflowByName } from '../utils/workflow.js';
7
- import { listCustomAgents } from '../../../config/loader.js';
8
- import { TaskRunner } from '../../../task/runner.js';
9
- /**
10
- * Hook for handling slash commands
11
- */
12
- export function useCommands() {
13
- const { state, dispatch } = useApp();
14
- const handleCommand = useCallback((input) => {
15
- if (!input.startsWith('/')) {
16
- return { handled: false };
17
- }
18
- const parts = input.slice(1).split(' ');
19
- const command = parts[0]?.toLowerCase();
20
- const args = parts.slice(1);
21
- switch (command) {
22
- case 'quit':
23
- case 'exit':
24
- case 'q':
25
- return { handled: true, shouldExit: true };
26
- case 'help':
27
- case 'h':
28
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'help' } });
29
- return { handled: true };
30
- case 'sacrifice':
31
- case 'yolo':
32
- dispatch({ type: 'TOGGLE_SACRIFICE_MODE' });
33
- return { handled: true };
34
- case 'safe':
35
- if (state.sacrificeMode) {
36
- dispatch({ type: 'TOGGLE_SACRIFICE_MODE' });
37
- }
38
- return { handled: true };
39
- case 'clear':
40
- dispatch({ type: 'RESET_CONVERSATION' });
41
- return { handled: true };
42
- case 'cls':
43
- dispatch({ type: 'CLEAR_STREAM' });
44
- return { handled: true };
45
- case 'switch':
46
- case 'sw':
47
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'workflowSelector' } });
48
- return { handled: true };
49
- case 'workflow':
50
- if (args.length > 0) {
51
- const newWorkflow = args.join(' ');
52
- if (!setWorkflowByName(newWorkflow, state.cwd, dispatch)) {
53
- dispatch({ type: 'SET_ERROR', payload: `Workflow not found: ${newWorkflow}` });
54
- }
55
- }
56
- return { handled: true };
57
- case 'workflows':
58
- dispatch({ type: 'SHOW_MODAL', payload: { type: 'workflowSelector' } });
59
- return { handled: true };
60
- case 'agents': {
61
- const agents = listCustomAgents();
62
- const agentList = agents.length > 0
63
- ? agents.join(', ')
64
- : 'No custom agents defined';
65
- dispatch({ type: 'SET_INFO', payload: `Available agents: ${agentList}. Built-in: coder, architect, supervisor` });
66
- return { handled: true };
67
- }
68
- case 'task':
69
- case 'tasks': {
70
- const taskRunner = new TaskRunner(state.cwd);
71
- const subCommand = args[0]?.toLowerCase();
72
- if (subCommand === 'run') {
73
- // /task run [name] - 全タスクをワークフローで実行(nameを指定した場合はそこから開始)
74
- const taskName = args[1];
75
- const allTasks = taskRunner.listTasks();
76
- if (allTasks.length === 0) {
77
- dispatch({
78
- type: 'SET_ERROR',
79
- payload: 'No tasks available. Add .md files to .wolf/tasks/',
80
- });
81
- return { handled: true };
82
- }
83
- // nameが指定された場合、そのタスクから開始
84
- let startIndex = 0;
85
- if (taskName) {
86
- startIndex = allTasks.findIndex(t => t.name === taskName);
87
- if (startIndex === -1) {
88
- dispatch({
89
- type: 'SET_ERROR',
90
- payload: `Task not found: ${taskName}`,
91
- });
92
- return { handled: true };
93
- }
94
- }
95
- // Return all tasks from startIndex for execution by App.tsx
96
- const tasksToExecute = allTasks.slice(startIndex).map(t => ({
97
- name: t.name,
98
- content: t.content,
99
- }));
100
- return {
101
- handled: true,
102
- executeTasks: tasksToExecute,
103
- };
104
- }
105
- // /task list or /tasks - タスク一覧表示
106
- const tasks = taskRunner.listTasks();
107
- if (tasks.length === 0) {
108
- dispatch({
109
- type: 'SET_INFO',
110
- payload: `No tasks found. Add .md files to ${taskRunner.getTasksDir()}`,
111
- });
112
- }
113
- else {
114
- const taskList = tasks.map((t, i) => `${i + 1}. ${t.name}`).join('\n');
115
- dispatch({
116
- type: 'SET_INFO',
117
- payload: `Tasks (${tasks.length}):\n${taskList}\n\nUse /task run [name] to execute`,
118
- });
119
- }
120
- return { handled: true };
121
- }
122
- default:
123
- dispatch({ type: 'SET_ERROR', payload: `Unknown command: ${command}` });
124
- return { handled: true };
125
- }
126
- }, [state.sacrificeMode, state.cwd, dispatch]);
127
- return { handleCommand };
128
- }
129
- //# sourceMappingURL=useCommands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCommands.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useCommands.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Input history management hook
3
- */
4
- interface UseHistoryOptions {
5
- /** Project directory for history persistence */
6
- projectDir: string;
7
- }
8
- interface UseHistoryResult {
9
- /** Navigate to previous history entry */
10
- navigatePrevious: (currentInput: string) => string | undefined;
11
- /** Navigate to next history entry */
12
- navigateNext: () => {
13
- entry: string;
14
- isCurrentInput: boolean;
15
- } | undefined;
16
- /** Add entry to history */
17
- addEntry: (entry: string) => void;
18
- /** Reset navigation index */
19
- resetIndex: () => void;
20
- /** Current history length */
21
- length: number;
22
- }
23
- /**
24
- * Hook for managing input history with keyboard navigation
25
- */
26
- export declare function useHistory({ projectDir }: UseHistoryOptions): UseHistoryResult;
27
- export {};
28
- //# sourceMappingURL=useHistory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHistory.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useHistory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,iBAAiB;IACzB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,gBAAgB;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,qCAAqC;IACrC,YAAY,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;IAC3E,2BAA2B;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,6BAA6B;IAC7B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EAAE,UAAU,EAAE,EAAE,iBAAiB,GAAG,gBAAgB,CA2D9E"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Input history management hook
3
- */
4
- import { useState, useCallback, useRef } from 'react';
5
- import { loadInputHistory, addToInputHistory, } from '../../../config/paths.js';
6
- /**
7
- * Hook for managing input history with keyboard navigation
8
- */
9
- export function useHistory({ projectDir }) {
10
- // Load initial history
11
- const [history] = useState(() => loadInputHistory(projectDir));
12
- const indexRef = useRef(history.length);
13
- const savedCurrentInputRef = useRef('');
14
- const navigatePrevious = useCallback((currentInput) => {
15
- if (indexRef.current <= 0) {
16
- return undefined;
17
- }
18
- // Save current input if at the end
19
- if (indexRef.current === history.length) {
20
- savedCurrentInputRef.current = currentInput;
21
- }
22
- indexRef.current--;
23
- return history[indexRef.current];
24
- }, [history]);
25
- const navigateNext = useCallback(() => {
26
- if (indexRef.current >= history.length) {
27
- return undefined;
28
- }
29
- indexRef.current++;
30
- if (indexRef.current === history.length) {
31
- return { entry: savedCurrentInputRef.current, isCurrentInput: true };
32
- }
33
- const entry = history[indexRef.current];
34
- return entry ? { entry, isCurrentInput: false } : undefined;
35
- }, [history]);
36
- const addEntry = useCallback((entry) => {
37
- if (entry.trim()) {
38
- // Add to in-memory history
39
- history.push(entry);
40
- // Persist to file
41
- addToInputHistory(projectDir, entry);
42
- // Reset index to end
43
- indexRef.current = history.length;
44
- savedCurrentInputRef.current = '';
45
- }
46
- }, [history, projectDir]);
47
- const resetIndex = useCallback(() => {
48
- indexRef.current = history.length;
49
- savedCurrentInputRef.current = '';
50
- }, [history.length]);
51
- return {
52
- navigatePrevious,
53
- navigateNext,
54
- addEntry,
55
- resetIndex,
56
- length: history.length,
57
- };
58
- }
59
- //# sourceMappingURL=useHistory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useHistory.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useHistory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAoBlC;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,UAAU,EAAqB;IAC1D,uBAAuB;IACvB,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAS,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,oBAAoB,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAEhD,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,YAAoB,EAAsB,EAAE;QAChF,IAAI,QAAQ,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,mCAAmC;QACnC,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,oBAAoB,CAAC,OAAO,GAAG,YAAY,CAAC;QAC9C,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,YAAY,GAAG,WAAW,CAAC,GAA2D,EAAE;QAC5F,IAAI,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACxC,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QACvE,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,KAAa,EAAQ,EAAE;QACnD,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,2BAA2B;YAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,kBAAkB;YAClB,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,qBAAqB;YACrB,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAClC,oBAAoB,CAAC,OAAO,GAAG,EAAE,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAS,EAAE;QACxC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,oBAAoB,CAAC,OAAO,GAAG,EAAE,CAAC;IACpC,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,gBAAgB;QAChB,YAAY;QACZ,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC;AACJ,CAAC"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Custom hook for multiline input handling
3
- *
4
- * Uses useRawKeypress exclusively for all key input handling.
5
- * The state transformation logic is in multilineInputLogic.ts.
6
- *
7
- * This design eliminates the dual-handling approach (useRawKeypress + useInput)
8
- * which was prone to timing issues and race conditions.
9
- */
10
- import { type MultilineInputState } from './multilineInputLogic.js';
11
- import { type KeyAction } from './useRawKeypress.js';
12
- export type { MultilineInputState } from './multilineInputLogic.js';
13
- export interface UseMultilineInputOptions {
14
- /** Callback when input is submitted */
15
- onSubmit: (input: string) => void;
16
- /** Callback when input is cancelled (Ctrl+C) */
17
- onCancel?: () => void;
18
- /** Whether input is disabled */
19
- disabled?: boolean;
20
- /** Whether the component is focused */
21
- isFocused: boolean;
22
- /** Custom key handlers to run before default handling */
23
- onKeyAction?: (action: KeyAction) => boolean;
24
- }
25
- export interface UseMultilineInputResult extends MultilineInputState {
26
- /** Set all lines (for history navigation) */
27
- setLines: (lines: string[]) => void;
28
- /** Set current line index */
29
- setCurrentLine: (line: number) => void;
30
- /** Set cursor position */
31
- setCursor: (pos: number) => void;
32
- /** Reset input to empty state */
33
- reset: () => void;
34
- /** Get full input as single string */
35
- getFullInput: () => string;
36
- }
37
- /**
38
- * Hook for multiline text input with keyboard navigation
39
- *
40
- * Controls:
41
- * - Enter: Submit input
42
- * - Shift+Enter, Option+Enter, Ctrl+O: Add new line
43
- * - Ctrl+J: Submit (legacy)
44
- * - Ctrl+C: Cancel
45
- * - Arrow keys: Navigate
46
- * - Backspace: Delete character or merge lines
47
- */
48
- export declare function useMultilineInput(options: UseMultilineInputOptions): UseMultilineInputResult;
49
- //# sourceMappingURL=useMultilineInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMultilineInput.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useMultilineInput.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,KAAK,mBAAmB,EAUzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,WAAW,wBAAwB;IACvC,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;CAC9C;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,6BAA6B;IAC7B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,0BAA0B;IAC1B,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iCAAiC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,sCAAsC;IACtC,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB,CA4F5F"}
@@ -1,106 +0,0 @@
1
- /**
2
- * Custom hook for multiline input handling
3
- *
4
- * Uses useRawKeypress exclusively for all key input handling.
5
- * The state transformation logic is in multilineInputLogic.ts.
6
- *
7
- * This design eliminates the dual-handling approach (useRawKeypress + useInput)
8
- * which was prone to timing issues and race conditions.
9
- */
10
- import { useState, useCallback } from 'react';
11
- import { handleNewLine, handleCharacterInput, handleBackspace, handleLeftArrow, handleRightArrow, handleUpArrow, handleDownArrow, getFullInput, createInitialState, } from './multilineInputLogic.js';
12
- import { useRawKeypress } from './useRawKeypress.js';
13
- /**
14
- * Hook for multiline text input with keyboard navigation
15
- *
16
- * Controls:
17
- * - Enter: Submit input
18
- * - Shift+Enter, Option+Enter, Ctrl+O: Add new line
19
- * - Ctrl+J: Submit (legacy)
20
- * - Ctrl+C: Cancel
21
- * - Arrow keys: Navigate
22
- * - Backspace: Delete character or merge lines
23
- */
24
- export function useMultilineInput(options) {
25
- const { onSubmit, onCancel, disabled = false, isFocused, onKeyAction } = options;
26
- const [state, setState] = useState(createInitialState);
27
- const reset = useCallback(() => {
28
- setState(createInitialState());
29
- }, []);
30
- const getCurrentFullInput = useCallback(() => {
31
- return getFullInput(state);
32
- }, [state]);
33
- // Handler for newline
34
- const handleNewLineAction = useCallback(() => {
35
- setState(prev => handleNewLine(prev));
36
- }, []);
37
- // Handler for submit
38
- const handleSubmitAction = useCallback(() => {
39
- const fullInput = getFullInput(state);
40
- if (fullInput) {
41
- onSubmit(fullInput);
42
- setState(createInitialState());
43
- }
44
- }, [state, onSubmit]);
45
- // Handler for cancel
46
- const handleCancelAction = useCallback(() => {
47
- onCancel?.();
48
- }, [onCancel]);
49
- // Handler for character input
50
- const handleCharacterAction = useCallback((char) => {
51
- setState(prev => handleCharacterInput(prev, char));
52
- }, []);
53
- // Handler for backspace
54
- const handleBackspaceAction = useCallback(() => {
55
- setState(prev => handleBackspace(prev));
56
- }, []);
57
- // Handler for navigation
58
- const handleNavigationAction = useCallback((direction) => {
59
- switch (direction) {
60
- case 'up':
61
- setState(prev => handleUpArrow(prev));
62
- break;
63
- case 'down':
64
- setState(prev => handleDownArrow(prev));
65
- break;
66
- case 'left':
67
- setState(prev => handleLeftArrow(prev));
68
- break;
69
- case 'right':
70
- setState(prev => handleRightArrow(prev));
71
- break;
72
- }
73
- }, []);
74
- // Handler for key actions (allows custom interception)
75
- const handleKeyActionWrapper = useCallback((action) => {
76
- // Allow custom handlers to intercept
77
- if (onKeyAction) {
78
- const handled = onKeyAction(action);
79
- if (handled)
80
- return;
81
- }
82
- // Default handling is done via individual callbacks
83
- }, [onKeyAction]);
84
- // Use raw keypress for all key input handling
85
- useRawKeypress({
86
- isActive: isFocused && !disabled,
87
- onNewLine: handleNewLineAction,
88
- onSubmit: handleSubmitAction,
89
- onCancel: handleCancelAction,
90
- onCharacter: handleCharacterAction,
91
- onBackspace: handleBackspaceAction,
92
- onNavigation: handleNavigationAction,
93
- onKeyAction: handleKeyActionWrapper,
94
- });
95
- return {
96
- lines: state.lines,
97
- currentLine: state.currentLine,
98
- cursor: state.cursor,
99
- setLines: (lines) => setState(prev => ({ ...prev, lines })),
100
- setCurrentLine: (currentLine) => setState(prev => ({ ...prev, currentLine })),
101
- setCursor: (cursor) => setState(prev => ({ ...prev, cursor })),
102
- reset,
103
- getFullInput: getCurrentFullInput,
104
- };
105
- }
106
- //# sourceMappingURL=useMultilineInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useMultilineInput.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/useMultilineInput.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Permission and user input handlers hook
3
- */
4
- import type { PermissionHandler, AskUserQuestionHandler } from '../../../claude/process.js';
5
- import type { UserInputRequest, IterationLimitRequest } from '../../../workflow/engine.js';
6
- export interface PermissionHandlersResult {
7
- handlePermissionRequest: PermissionHandler;
8
- handleAskUserQuestion: AskUserQuestionHandler;
9
- handleUserInput: (request: UserInputRequest) => Promise<string | null>;
10
- handleIterationLimit: (request: IterationLimitRequest) => Promise<number | null>;
11
- }
12
- /**
13
- * Hook providing permission and user input handlers
14
- */
15
- export declare function usePermissionHandlers(): PermissionHandlersResult;
16
- //# sourceMappingURL=usePermissionHandlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePermissionHandlers.d.ts","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/usePermissionHandlers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAA2C,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAErI,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAmC3F,MAAM,WAAW,wBAAwB;IACvC,uBAAuB,EAAE,iBAAiB,CAAC;IAC3C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvE,oBAAoB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,wBAAwB,CAsJhE"}
@@ -1,172 +0,0 @@
1
- /**
2
- * Permission and user input handlers hook
3
- */
4
- import { useCallback } from 'react';
5
- import { useApp } from '../context/AppContext.js';
6
- import { DEFAULT_ADDITIONAL_ITERATIONS } from '../constants.js';
7
- /**
8
- * Escape special characters in permission rule patterns.
9
- * These characters have special meaning in permission matching and must be escaped.
10
- */
11
- function escapePermissionPattern(str) {
12
- // Escape characters that have special meaning in permission rules:
13
- // ( ) - grouping
14
- // * - wildcard
15
- // \ - escape character itself
16
- return str.replace(/[\\()*]/g, '\\$&');
17
- }
18
- /** Build permission rule for the tool with specific args */
19
- function buildPermissionRuleExact(toolName, input) {
20
- if (toolName === 'Bash') {
21
- const command = input.command || '';
22
- // Escape special characters for exact match
23
- return `Bash(${escapePermissionPattern(command)})`;
24
- }
25
- return toolName;
26
- }
27
- /** Build permission rule for the tool command (any args) */
28
- function buildPermissionRuleCommand(toolName, input) {
29
- if (toolName === 'Bash') {
30
- const command = input.command || '';
31
- const firstWord = command.split(/\s+/)[0] || command;
32
- return `Bash(${firstWord}*)`;
33
- }
34
- // For other tools, allow all uses
35
- return `${toolName}(*)`;
36
- }
37
- /**
38
- * Hook providing permission and user input handlers
39
- */
40
- export function usePermissionHandlers() {
41
- const { state, dispatch, setResolver, clearResolver } = useApp();
42
- // Handle permission requests
43
- const handlePermissionRequest = useCallback(async (request) => {
44
- // In sacrifice mode, auto-approve
45
- if (state.sacrificeMode) {
46
- return { behavior: 'allow' };
47
- }
48
- return new Promise((resolve) => {
49
- const handleResponse = (response) => {
50
- dispatch({ type: 'HIDE_MODAL' });
51
- clearResolver('permission');
52
- switch (response) {
53
- case 'allow':
54
- resolve({ behavior: 'allow' });
55
- break;
56
- case 'deny':
57
- resolve({ behavior: 'deny', message: 'User denied permission' });
58
- break;
59
- case 'always': {
60
- // Allow this exact tool+args
61
- const rule = buildPermissionRuleExact(request.toolName, request.input);
62
- const updatedPermissions = [
63
- {
64
- type: 'addRules',
65
- rules: [{ toolName: request.toolName, ruleContent: rule }],
66
- behavior: 'allow',
67
- destination: 'session',
68
- },
69
- ];
70
- resolve({ behavior: 'allow', updatedPermissions });
71
- break;
72
- }
73
- case 'always_command': {
74
- // Allow this command with any args
75
- const rule = buildPermissionRuleCommand(request.toolName, request.input);
76
- const updatedPermissions = [
77
- {
78
- type: 'addRules',
79
- rules: [{ toolName: request.toolName, ruleContent: rule }],
80
- behavior: 'allow',
81
- destination: 'session',
82
- },
83
- ];
84
- resolve({ behavior: 'allow', updatedPermissions });
85
- break;
86
- }
87
- case 'sacrifice':
88
- // Enable sacrifice mode and allow
89
- dispatch({ type: 'TOGGLE_SACRIFICE_MODE' });
90
- resolve({ behavior: 'allow' });
91
- break;
92
- default:
93
- resolve({ behavior: 'deny', message: 'Unknown response' });
94
- }
95
- };
96
- setResolver('permission', handleResponse);
97
- dispatch({
98
- type: 'SHOW_MODAL',
99
- payload: { type: 'permission', request },
100
- });
101
- });
102
- }, [state.sacrificeMode, dispatch, setResolver, clearResolver]);
103
- // Handle AskUserQuestion
104
- const handleAskUserQuestion = useCallback(async (input) => {
105
- // In sacrifice mode, return empty answers
106
- if (state.sacrificeMode) {
107
- return {};
108
- }
109
- return new Promise((resolve) => {
110
- const handleComplete = (answers) => {
111
- dispatch({ type: 'HIDE_MODAL' });
112
- clearResolver('askUserQuestion');
113
- resolve(answers);
114
- };
115
- setResolver('askUserQuestion', handleComplete);
116
- dispatch({
117
- type: 'SHOW_MODAL',
118
- payload: { type: 'askUserQuestion', input },
119
- });
120
- });
121
- }, [state.sacrificeMode, dispatch, setResolver, clearResolver]);
122
- // Handle user input request (blocked state)
123
- const handleUserInput = useCallback(async (request) => {
124
- // In sacrifice mode, auto-skip
125
- if (state.sacrificeMode) {
126
- return null;
127
- }
128
- return new Promise((resolve) => {
129
- const handleSubmit = (input) => {
130
- dispatch({ type: 'HIDE_MODAL' });
131
- clearResolver('userInput');
132
- resolve(input);
133
- };
134
- setResolver('userInput', handleSubmit);
135
- dispatch({
136
- type: 'SHOW_MODAL',
137
- payload: { type: 'userInput', step: request.step, response: request.response },
138
- });
139
- });
140
- }, [state.sacrificeMode, dispatch, setResolver, clearResolver]);
141
- // Handle iteration limit
142
- const handleIterationLimit = useCallback(async (request) => {
143
- // In sacrifice mode, auto-continue
144
- if (state.sacrificeMode) {
145
- return DEFAULT_ADDITIONAL_ITERATIONS;
146
- }
147
- return new Promise((resolve) => {
148
- const handleDecision = (additional) => {
149
- dispatch({ type: 'HIDE_MODAL' });
150
- clearResolver('iterationLimit');
151
- resolve(additional);
152
- };
153
- setResolver('iterationLimit', handleDecision);
154
- dispatch({
155
- type: 'SHOW_MODAL',
156
- payload: {
157
- type: 'iterationLimit',
158
- currentIteration: request.currentIteration,
159
- maxIterations: request.maxIterations,
160
- currentStep: request.currentStep,
161
- },
162
- });
163
- });
164
- }, [state.sacrificeMode, dispatch, setResolver, clearResolver]);
165
- return {
166
- handlePermissionRequest,
167
- handleAskUserQuestion,
168
- handleUserInput,
169
- handleIterationLimit,
170
- };
171
- }
172
- //# sourceMappingURL=usePermissionHandlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"usePermissionHandlers.js","sourceRoot":"","sources":["../../../../src/interactive/ink/hooks/usePermissionHandlers.ts"],"names":[],"mappings":"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"}