takt 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (243) hide show
  1. package/README.md +3 -3
  2. package/builtins/en/workflows/backend-cqrs.yaml +1 -1
  3. package/builtins/en/workflows/backend.yaml +1 -1
  4. package/builtins/en/workflows/compound-eye.yaml +1 -1
  5. package/builtins/en/workflows/dual-cqrs.yaml +1 -1
  6. package/builtins/en/workflows/dual.yaml +1 -1
  7. package/builtins/en/workflows/review-fix-takt-default.yaml +1 -1
  8. package/builtins/ja/workflows/backend-cqrs.yaml +1 -1
  9. package/builtins/ja/workflows/backend.yaml +1 -1
  10. package/builtins/ja/workflows/compound-eye.yaml +1 -1
  11. package/builtins/ja/workflows/dual-cqrs.yaml +1 -1
  12. package/builtins/ja/workflows/review-fix-takt-default.yaml +1 -1
  13. package/dist/agents/judge-status-usecase.d.ts +6 -0
  14. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  15. package/dist/agents/judge-status-usecase.js +17 -1
  16. package/dist/agents/judge-status-usecase.js.map +1 -1
  17. package/dist/agents/runner.d.ts.map +1 -1
  18. package/dist/agents/runner.js +2 -6
  19. package/dist/agents/runner.js.map +1 -1
  20. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  21. package/dist/agents/structured-caller/prompt-based-structured-caller.js +15 -1
  22. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  23. package/dist/agents/types.d.ts +3 -2
  24. package/dist/agents/types.d.ts.map +1 -1
  25. package/dist/app/cli/helpers.d.ts.map +1 -1
  26. package/dist/app/cli/helpers.js +4 -0
  27. package/dist/app/cli/helpers.js.map +1 -1
  28. package/dist/app/cli/program.d.ts.map +1 -1
  29. package/dist/app/cli/program.js +2 -2
  30. package/dist/app/cli/program.js.map +1 -1
  31. package/dist/core/models/config-schemas.d.ts +46 -0
  32. package/dist/core/models/config-schemas.d.ts.map +1 -1
  33. package/dist/core/models/config-types.d.ts +5 -6
  34. package/dist/core/models/config-types.d.ts.map +1 -1
  35. package/dist/core/models/piece-types.d.ts +2 -107
  36. package/dist/core/models/piece-types.d.ts.map +1 -1
  37. package/dist/core/models/piece-types.js +0 -4
  38. package/dist/core/models/piece-types.js.map +1 -1
  39. package/dist/core/models/provider-profiles.d.ts +1 -1
  40. package/dist/core/models/provider-profiles.d.ts.map +1 -1
  41. package/dist/core/models/schema-base.d.ts +32 -3
  42. package/dist/core/models/schema-base.d.ts.map +1 -1
  43. package/dist/core/models/schema-base.js +21 -4
  44. package/dist/core/models/schema-base.js.map +1 -1
  45. package/dist/core/models/workflow-schemas.d.ts +36 -18
  46. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  47. package/dist/core/piece/engine/ArpeggioRunner.d.ts.map +1 -1
  48. package/dist/core/piece/engine/ArpeggioRunner.js +4 -1
  49. package/dist/core/piece/engine/ArpeggioRunner.js.map +1 -1
  50. package/dist/core/piece/engine/MovementExecutor.d.ts.map +1 -1
  51. package/dist/core/piece/engine/MovementExecutor.js +4 -1
  52. package/dist/core/piece/engine/MovementExecutor.js.map +1 -1
  53. package/dist/core/piece/engine/OptionsBuilder.d.ts +0 -1
  54. package/dist/core/piece/engine/OptionsBuilder.d.ts.map +1 -1
  55. package/dist/core/piece/engine/OptionsBuilder.js +1 -1
  56. package/dist/core/piece/engine/OptionsBuilder.js.map +1 -1
  57. package/dist/core/piece/engine/ParallelRunner.d.ts.map +1 -1
  58. package/dist/core/piece/engine/ParallelRunner.js +8 -2
  59. package/dist/core/piece/engine/ParallelRunner.js.map +1 -1
  60. package/dist/core/piece/evaluation/RuleEvaluator.d.ts +3 -0
  61. package/dist/core/piece/evaluation/RuleEvaluator.d.ts.map +1 -1
  62. package/dist/core/piece/evaluation/RuleEvaluator.js +10 -8
  63. package/dist/core/piece/evaluation/RuleEvaluator.js.map +1 -1
  64. package/dist/core/piece/permission-profile-resolution.d.ts +0 -12
  65. package/dist/core/piece/permission-profile-resolution.d.ts.map +1 -1
  66. package/dist/core/piece/permission-profile-resolution.js +1 -12
  67. package/dist/core/piece/permission-profile-resolution.js.map +1 -1
  68. package/dist/core/piece/phase-runner.d.ts +2 -1
  69. package/dist/core/piece/phase-runner.d.ts.map +1 -1
  70. package/dist/core/piece/phase-runner.js.map +1 -1
  71. package/dist/core/piece/status-judgment-phase.d.ts.map +1 -1
  72. package/dist/core/piece/status-judgment-phase.js +6 -1
  73. package/dist/core/piece/status-judgment-phase.js.map +1 -1
  74. package/dist/features/pipeline/steps.js +4 -4
  75. package/dist/features/pipeline/steps.js.map +1 -1
  76. package/dist/features/tasks/add/index.d.ts +2 -0
  77. package/dist/features/tasks/add/index.d.ts.map +1 -1
  78. package/dist/features/tasks/add/index.js +9 -1
  79. package/dist/features/tasks/add/index.js.map +1 -1
  80. package/dist/features/tasks/execute/parallelExecution.js +2 -2
  81. package/dist/features/tasks/execute/postExecution.d.ts +1 -0
  82. package/dist/features/tasks/execute/postExecution.d.ts.map +1 -1
  83. package/dist/features/tasks/execute/postExecution.js +37 -23
  84. package/dist/features/tasks/execute/postExecution.js.map +1 -1
  85. package/dist/features/tasks/execute/resolveTask.d.ts +1 -0
  86. package/dist/features/tasks/execute/resolveTask.d.ts.map +1 -1
  87. package/dist/features/tasks/execute/resolveTask.js +3 -2
  88. package/dist/features/tasks/execute/resolveTask.js.map +1 -1
  89. package/dist/features/tasks/execute/taskExecution.d.ts.map +1 -1
  90. package/dist/features/tasks/execute/taskExecution.js +10 -6
  91. package/dist/features/tasks/execute/taskExecution.js.map +1 -1
  92. package/dist/features/tasks/execute/taskResultHandler.d.ts +4 -1
  93. package/dist/features/tasks/execute/taskResultHandler.d.ts.map +1 -1
  94. package/dist/features/tasks/execute/taskResultHandler.js +3 -1
  95. package/dist/features/tasks/execute/taskResultHandler.js.map +1 -1
  96. package/dist/features/tasks/list/index.js +2 -2
  97. package/dist/features/tasks/list/index.js.map +1 -1
  98. package/dist/features/tasks/list/taskActionTarget.d.ts +1 -1
  99. package/dist/features/tasks/list/taskActionTarget.d.ts.map +1 -1
  100. package/dist/features/tasks/list/taskActionTarget.js +4 -11
  101. package/dist/features/tasks/list/taskActionTarget.js.map +1 -1
  102. package/dist/infra/claude/client.d.ts +1 -7
  103. package/dist/infra/claude/client.d.ts.map +1 -1
  104. package/dist/infra/claude/client.js +1 -34
  105. package/dist/infra/claude/client.js.map +1 -1
  106. package/dist/infra/claude/options-builder.d.ts +0 -15
  107. package/dist/infra/claude/options-builder.d.ts.map +1 -1
  108. package/dist/infra/claude/options-builder.js +23 -28
  109. package/dist/infra/claude/options-builder.js.map +1 -1
  110. package/dist/infra/claude/permission-mode-expression.d.ts +5 -0
  111. package/dist/infra/claude/permission-mode-expression.d.ts.map +1 -0
  112. package/dist/infra/claude/permission-mode-expression.js +14 -0
  113. package/dist/infra/claude/permission-mode-expression.js.map +1 -0
  114. package/dist/infra/claude-headless/client.d.ts +4 -0
  115. package/dist/infra/claude-headless/client.d.ts.map +1 -0
  116. package/dist/infra/claude-headless/client.js +197 -0
  117. package/dist/infra/claude-headless/client.js.map +1 -0
  118. package/dist/infra/claude-headless/headless-spawn.d.ts +13 -0
  119. package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -0
  120. package/dist/infra/claude-headless/headless-spawn.js +182 -0
  121. package/dist/infra/claude-headless/headless-spawn.js.map +1 -0
  122. package/dist/infra/claude-headless/result-response.d.ts +15 -0
  123. package/dist/infra/claude-headless/result-response.d.ts.map +1 -0
  124. package/dist/infra/claude-headless/result-response.js +72 -0
  125. package/dist/infra/claude-headless/result-response.js.map +1 -0
  126. package/dist/infra/claude-headless/stream-json-lines.d.ts +14 -0
  127. package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -0
  128. package/dist/infra/claude-headless/stream-json-lines.js +172 -0
  129. package/dist/infra/claude-headless/stream-json-lines.js.map +1 -0
  130. package/dist/infra/claude-headless/types.d.ts +21 -0
  131. package/dist/infra/claude-headless/types.d.ts.map +1 -0
  132. package/dist/infra/claude-headless/types.js +2 -0
  133. package/dist/infra/claude-headless/types.js.map +1 -0
  134. package/dist/infra/config/global/globalConfigAccessors.d.ts +2 -1
  135. package/dist/infra/config/global/globalConfigAccessors.d.ts.map +1 -1
  136. package/dist/infra/config/global/globalConfigAccessors.js.map +1 -1
  137. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  138. package/dist/infra/config/global/globalConfigCore.js +2 -0
  139. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  140. package/dist/infra/config/global/initialization.d.ts +1 -1
  141. package/dist/infra/config/global/initialization.d.ts.map +1 -1
  142. package/dist/infra/config/global/initialization.js +2 -1
  143. package/dist/infra/config/global/initialization.js.map +1 -1
  144. package/dist/infra/config/global/pieceCategories.js +1 -1
  145. package/dist/infra/config/global/pieceCategories.js.map +1 -1
  146. package/dist/infra/config/legacy-workflow-key-deprecation.d.ts +11 -0
  147. package/dist/infra/config/legacy-workflow-key-deprecation.d.ts.map +1 -0
  148. package/dist/infra/config/legacy-workflow-key-deprecation.js +191 -0
  149. package/dist/infra/config/legacy-workflow-key-deprecation.js.map +1 -0
  150. package/dist/infra/config/loaders/pieceCategories.d.ts.map +1 -1
  151. package/dist/infra/config/loaders/pieceCategories.js +2 -0
  152. package/dist/infra/config/loaders/pieceCategories.js.map +1 -1
  153. package/dist/infra/config/loaders/pieceParser.d.ts.map +1 -1
  154. package/dist/infra/config/loaders/pieceParser.js +2 -0
  155. package/dist/infra/config/loaders/pieceParser.js.map +1 -1
  156. package/dist/infra/config/project/projectConfig.d.ts.map +1 -1
  157. package/dist/infra/config/project/projectConfig.js +2 -0
  158. package/dist/infra/config/project/projectConfig.js.map +1 -1
  159. package/dist/infra/config/providerBlockOptions.js +1 -1
  160. package/dist/infra/config/providerBlockOptions.js.map +1 -1
  161. package/dist/infra/config/providerModelCompatibility.js +1 -1
  162. package/dist/infra/config/providerModelCompatibility.js.map +1 -1
  163. package/dist/infra/mock/client.d.ts.map +1 -1
  164. package/dist/infra/mock/client.js +31 -0
  165. package/dist/infra/mock/client.js.map +1 -1
  166. package/dist/infra/mock/scenario.js +5 -0
  167. package/dist/infra/mock/scenario.js.map +1 -1
  168. package/dist/infra/mock/types.d.ts +3 -0
  169. package/dist/infra/mock/types.d.ts.map +1 -1
  170. package/dist/infra/providers/claude-headless.d.ts +6 -0
  171. package/dist/infra/providers/claude-headless.d.ts.map +1 -0
  172. package/dist/infra/providers/claude-headless.js +34 -0
  173. package/dist/infra/providers/claude-headless.js.map +1 -0
  174. package/dist/infra/providers/claude.d.ts +0 -4
  175. package/dist/infra/providers/claude.d.ts.map +1 -1
  176. package/dist/infra/providers/claude.js +1 -17
  177. package/dist/infra/providers/claude.js.map +1 -1
  178. package/dist/infra/providers/codex.d.ts.map +1 -1
  179. package/dist/infra/providers/codex.js +0 -6
  180. package/dist/infra/providers/codex.js.map +1 -1
  181. package/dist/infra/providers/copilot.d.ts.map +1 -1
  182. package/dist/infra/providers/copilot.js +0 -6
  183. package/dist/infra/providers/copilot.js.map +1 -1
  184. package/dist/infra/providers/cursor.d.ts.map +1 -1
  185. package/dist/infra/providers/cursor.js +0 -6
  186. package/dist/infra/providers/cursor.js.map +1 -1
  187. package/dist/infra/providers/index.d.ts +0 -12
  188. package/dist/infra/providers/index.d.ts.map +1 -1
  189. package/dist/infra/providers/index.js +3 -13
  190. package/dist/infra/providers/index.js.map +1 -1
  191. package/dist/infra/providers/mock.d.ts.map +1 -1
  192. package/dist/infra/providers/mock.js +1 -6
  193. package/dist/infra/providers/mock.js.map +1 -1
  194. package/dist/infra/providers/opencode.d.ts.map +1 -1
  195. package/dist/infra/providers/opencode.js +0 -6
  196. package/dist/infra/providers/opencode.js.map +1 -1
  197. package/dist/infra/providers/types.d.ts +2 -15
  198. package/dist/infra/providers/types.d.ts.map +1 -1
  199. package/dist/infra/providers/types.js +0 -3
  200. package/dist/infra/providers/types.js.map +1 -1
  201. package/dist/infra/task/autoCommit.d.ts +2 -2
  202. package/dist/infra/task/autoCommit.d.ts.map +1 -1
  203. package/dist/infra/task/autoCommit.js +16 -10
  204. package/dist/infra/task/autoCommit.js.map +1 -1
  205. package/dist/infra/task/clone.d.ts.map +1 -1
  206. package/dist/infra/task/clone.js +15 -3
  207. package/dist/infra/task/clone.js.map +1 -1
  208. package/dist/infra/task/git.d.ts +7 -1
  209. package/dist/infra/task/git.d.ts.map +1 -1
  210. package/dist/infra/task/git.js +51 -9
  211. package/dist/infra/task/git.js.map +1 -1
  212. package/dist/infra/task/index.d.ts +1 -1
  213. package/dist/infra/task/index.d.ts.map +1 -1
  214. package/dist/infra/task/index.js +1 -1
  215. package/dist/infra/task/index.js.map +1 -1
  216. package/dist/infra/task/listSerializer.d.ts +3 -2
  217. package/dist/infra/task/listSerializer.d.ts.map +1 -1
  218. package/dist/infra/task/listSerializer.js +3 -2
  219. package/dist/infra/task/listSerializer.js.map +1 -1
  220. package/dist/infra/task/mapper.d.ts.map +1 -1
  221. package/dist/infra/task/mapper.js +7 -2
  222. package/dist/infra/task/mapper.js.map +1 -1
  223. package/dist/infra/task/schema.d.ts +68 -4
  224. package/dist/infra/task/schema.d.ts.map +1 -1
  225. package/dist/infra/task/schema.js +69 -8
  226. package/dist/infra/task/schema.js.map +1 -1
  227. package/dist/infra/task/taskExceedService.d.ts +2 -0
  228. package/dist/infra/task/taskExceedService.d.ts.map +1 -1
  229. package/dist/infra/task/taskExceedService.js +3 -1
  230. package/dist/infra/task/taskExceedService.js.map +1 -1
  231. package/dist/infra/task/types.d.ts +3 -1
  232. package/dist/infra/task/types.d.ts.map +1 -1
  233. package/dist/shared/types/provider.d.ts +1 -10
  234. package/dist/shared/types/provider.d.ts.map +1 -1
  235. package/dist/shared/types/provider.js +0 -9
  236. package/dist/shared/types/provider.js.map +1 -1
  237. package/dist/shared/utils/debug.d.ts +4 -0
  238. package/dist/shared/utils/debug.d.ts.map +1 -1
  239. package/dist/shared/utils/debug.js +7 -0
  240. package/dist/shared/utils/debug.js.map +1 -1
  241. package/package.json +3 -2
  242. package/dist/shared/prompts/en/perform_builtin_agent_system_prompt.md +0 -7
  243. package/dist/shared/prompts/ja/perform_builtin_agent_system_prompt.md +0 -7
@@ -5,12 +5,11 @@
5
5
  */
6
6
  import { executeClaudeCli } from './process.js';
7
7
  import { createLogger } from '../../shared/utils/index.js';
8
- import { loadTemplate } from '../../shared/prompts/index.js';
9
8
  const log = createLogger('client');
10
9
  /**
11
10
  * High-level Claude client for calling Claude with various configurations.
12
11
  *
13
- * Handles agent prompts, custom agents, skills, and AI judge evaluation.
12
+ * Handles agent prompts, custom agents, and AI judge evaluation.
14
13
  */
15
14
  export class ClaudeClient {
16
15
  /** Determine status from execution result */
@@ -85,32 +84,6 @@ export class ClaudeClient {
85
84
  providerUsage: result.providerUsage,
86
85
  };
87
86
  }
88
- /** Call a Claude Code built-in agent */
89
- async callAgent(claudeAgentName, prompt, options) {
90
- const systemPrompt = loadTemplate('perform_builtin_agent_system_prompt', 'en', { agentName: claudeAgentName });
91
- return this.callCustom(claudeAgentName, prompt, systemPrompt, options);
92
- }
93
- /** Call a Claude Code skill (using /skill command) */
94
- async callSkill(skillName, prompt, options) {
95
- const fullPrompt = `/${skillName}\n\n${prompt}`;
96
- const spawnOptions = {
97
- ...ClaudeClient.toSpawnOptions(options),
98
- };
99
- const result = await executeClaudeCli(fullPrompt, spawnOptions);
100
- if (!result.success && result.error) {
101
- log.error('Skill query failed', { skill: skillName, error: result.error });
102
- }
103
- return {
104
- persona: `skill:${skillName}`,
105
- status: result.success ? 'done' : 'error',
106
- content: result.content,
107
- timestamp: new Date(),
108
- sessionId: result.sessionId,
109
- error: result.error,
110
- structuredOutput: result.structuredOutput,
111
- providerUsage: result.providerUsage,
112
- };
113
- }
114
87
  }
115
88
  // ---- Module-level functions ----
116
89
  const defaultClient = new ClaudeClient();
@@ -120,10 +93,4 @@ export async function callClaude(agentType, prompt, options) {
120
93
  export async function callClaudeCustom(agentName, prompt, systemPrompt, options) {
121
94
  return defaultClient.callCustom(agentName, prompt, systemPrompt, options);
122
95
  }
123
- export async function callClaudeAgent(claudeAgentName, prompt, options) {
124
- return defaultClient.callAgent(claudeAgentName, prompt, options);
125
- }
126
- export async function callClaudeSkill(skillName, prompt, options) {
127
- return defaultClient.callSkill(skillName, prompt, options);
128
- }
129
96
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/infra/claude/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/infra/claude/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAI3D,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACvB,6CAA6C;IACrC,MAAM,CAAC,eAAe,CAC5B,MAA0F;QAE1F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sDAAsD;IAC9C,MAAM,CAAC,cAAc,CAAC,OAA0B;QACtD,OAAO;YACL,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,0BAA0B,EAAE,OAAO,CAAC,0BAA0B;SAC/D,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,KAAK,CAAC,IAAI,CACR,SAAiB,EACjB,MAAc,EACd,OAA0B;QAE1B,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,KAAK,CAAC,UAAU,CACd,SAAiB,EACjB,MAAc,EACd,YAAoB,EACpB,OAA0B;QAE1B,MAAM,YAAY,GAAuB;YACvC,GAAG,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC;YACvC,YAAY;SACb,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACpC,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC;IACJ,CAAC;CAEF;AAED,mCAAmC;AAEnC,MAAM,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,SAAiB,EACjB,MAAc,EACd,OAA0B;IAE1B,OAAO,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,MAAc,EACd,YAAoB,EACpB,OAA0B;IAE1B,OAAO,aAAa,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC5E,CAAC"}
@@ -1,9 +1,3 @@
1
- /**
2
- * SDK options builder for Claude queries
3
- *
4
- * Builds the options object for Claude Agent SDK queries,
5
- * including permission handlers and hooks.
6
- */
7
1
  import type { Options, CanUseTool, HookCallbackMatcher, PermissionMode as SdkPermissionMode } from '@anthropic-ai/claude-agent-sdk';
8
2
  import type { PermissionMode } from '../../core/models/index.js';
9
3
  import type { PermissionHandler, AskUserQuestionHandler, ClaudeSpawnOptions } from './types.js';
@@ -16,19 +10,10 @@ import type { PermissionHandler, AskUserQuestionHandler, ClaudeSpawnOptions } fr
16
10
  export declare class SdkOptionsBuilder {
17
11
  private readonly options;
18
12
  constructor(options: ClaudeSpawnOptions);
19
- /** Build the full SDK Options object */
20
13
  build(): Options;
21
- /** Map TAKT PermissionMode to Claude SDK PermissionMode */
22
14
  static mapToSdkPermissionMode(mode: PermissionMode): SdkPermissionMode;
23
- /** Resolve permission mode with priority: bypassPermissions > explicit > callback-based > default */
24
15
  private resolvePermissionMode;
25
- /**
26
- * Create canUseTool callback from permission handler.
27
- */
28
16
  static createCanUseToolCallback(handler: PermissionHandler): CanUseTool;
29
- /**
30
- * Create hooks for AskUserQuestion handling.
31
- */
32
17
  static createAskUserQuestionHooks(askUserHandler: AskUserQuestionHandler): Partial<Record<string, HookCallbackMatcher[]>>;
33
18
  }
34
19
  export declare function createCanUseToolCallback(handler: PermissionHandler): CanUseTool;
@@ -1 +1 @@
1
- {"version":3,"file":"options-builder.d.ts","sourceRoot":"","sources":["../../../src/infra/claude/options-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAGV,mBAAmB,EAInB,cAAc,IAAI,iBAAiB,EACpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,KAAK,EACV,iBAAiB,EAEjB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAKpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,OAAO,EAAE,kBAAkB;IAIvC,wCAAwC;IACxC,KAAK,IAAI,OAAO;IAkEhB,2DAA2D;IAC3D,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB;IAStE,qGAAqG;IACrG,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,UAAU;IAqBb;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAC/B,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CAoClD;AAID,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GACzB,UAAU,CAEZ;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAEhD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAEpE"}
1
+ {"version":3,"file":"options-builder.d.ts","sourceRoot":"","sources":["../../../src/infra/claude/options-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EAGV,mBAAmB,EAInB,cAAc,IAAI,iBAAiB,EACpC,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,KAAK,EACV,iBAAiB,EAEjB,sBAAsB,EACtB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA6BpB;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;gBAEjC,OAAO,EAAE,kBAAkB;IAIvC,KAAK,IAAI,OAAO;IA6DhB,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,iBAAiB;IAItE,OAAO,CAAC,qBAAqB;IAa7B,MAAM,CAAC,wBAAwB,CAC7B,OAAO,EAAE,iBAAiB,GACzB,UAAU;IAqBb,MAAM,CAAC,0BAA0B,CAC/B,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CAoClD;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GACzB,UAAU,CAEZ;AAED,wBAAgB,0BAA0B,CACxC,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAEhD;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAEpE"}
@@ -1,12 +1,27 @@
1
- /**
2
- * SDK options builder for Claude queries
3
- *
4
- * Builds the options object for Claude Agent SDK queries,
5
- * including permission handlers and hooks.
6
- */
1
+ import { delimiter, dirname } from 'node:path';
7
2
  import { createLogger } from '../../shared/utils/index.js';
3
+ import { taktPermissionModeToClaudeExpression } from './permission-mode-expression.js';
8
4
  import { AskUserQuestionDeniedError, createAskUserQuestionHandler } from './ask-user-question-handler.js';
9
5
  const log = createLogger('claude-sdk');
6
+ function buildSdkEnv(options) {
7
+ const env = {
8
+ ...process.env,
9
+ };
10
+ if (options.anthropicApiKey) {
11
+ env.ANTHROPIC_API_KEY = options.anthropicApiKey;
12
+ }
13
+ const existingPathEntries = (env.PATH ?? '')
14
+ .split(delimiter)
15
+ .filter((entry) => entry.length > 0);
16
+ const prependedEntries = [
17
+ process.execPath ? dirname(process.execPath) : undefined,
18
+ ].filter((entry) => Boolean(entry));
19
+ const mergedPathEntries = [...new Set([...prependedEntries, ...existingPathEntries])];
20
+ if (mergedPathEntries.length > 0) {
21
+ env.PATH = mergedPathEntries.join(delimiter);
22
+ }
23
+ return env;
24
+ }
10
25
  /**
11
26
  * Builds SDK options from ClaudeSpawnOptions.
12
27
  *
@@ -18,7 +33,6 @@ export class SdkOptionsBuilder {
18
33
  constructor(options) {
19
34
  this.options = options;
20
35
  }
21
- /** Build the full SDK Options object */
22
36
  build() {
23
37
  const canUseTool = this.options.onPermissionRequest
24
38
  ? SdkOptionsBuilder.createCanUseToolCallback(this.options.onPermissionRequest)
@@ -56,12 +70,7 @@ export class SdkOptionsBuilder {
56
70
  if (canUseTool)
57
71
  sdkOptions.canUseTool = canUseTool;
58
72
  sdkOptions.hooks = hooks;
59
- if (this.options.anthropicApiKey) {
60
- sdkOptions.env = {
61
- ...process.env,
62
- ANTHROPIC_API_KEY: this.options.anthropicApiKey,
63
- };
64
- }
73
+ sdkOptions.env = buildSdkEnv(this.options);
65
74
  // Always enable — QueryExecutor uses the async iterator (`for await`)
66
75
  // which only yields when this flag is true.
67
76
  sdkOptions.includePartialMessages = true;
@@ -82,16 +91,9 @@ export class SdkOptionsBuilder {
82
91
  }
83
92
  return sdkOptions;
84
93
  }
85
- /** Map TAKT PermissionMode to Claude SDK PermissionMode */
86
94
  static mapToSdkPermissionMode(mode) {
87
- const mapping = {
88
- readonly: 'default',
89
- edit: 'acceptEdits',
90
- full: 'bypassPermissions',
91
- };
92
- return mapping[mode];
95
+ return taktPermissionModeToClaudeExpression(mode);
93
96
  }
94
- /** Resolve permission mode with priority: bypassPermissions > explicit > callback-based > default */
95
97
  resolvePermissionMode() {
96
98
  if (this.options.bypassPermissions) {
97
99
  return 'bypassPermissions';
@@ -104,9 +106,6 @@ export class SdkOptionsBuilder {
104
106
  }
105
107
  return 'acceptEdits';
106
108
  }
107
- /**
108
- * Create canUseTool callback from permission handler.
109
- */
110
109
  static createCanUseToolCallback(handler) {
111
110
  return async (toolName, input, callbackOptions) => {
112
111
  return handler({
@@ -118,9 +117,6 @@ export class SdkOptionsBuilder {
118
117
  });
119
118
  };
120
119
  }
121
- /**
122
- * Create hooks for AskUserQuestion handling.
123
- */
124
120
  static createAskUserQuestionHooks(askUserHandler) {
125
121
  const preToolUseHook = async (input, _toolUseID, _options) => {
126
122
  const preToolInput = input;
@@ -154,7 +150,6 @@ export class SdkOptionsBuilder {
154
150
  };
155
151
  }
156
152
  }
157
- // ---- Module-level functions ----
158
153
  export function createCanUseToolCallback(handler) {
159
154
  return SdkOptionsBuilder.createCanUseToolCallback(handler);
160
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options-builder.js","sourceRoot":"","sources":["../../../src/infra/claude/options-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options-builder.js","sourceRoot":"","sources":["../../../src/infra/claude/options-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { PermissionMode } from '../../core/models/index.js';
2
+ export declare const CLAUDE_PERMISSION_EXPRESSION_VALUES: readonly ["default", "acceptEdits", "bypassPermissions"];
3
+ export type ClaudePermissionExpression = (typeof CLAUDE_PERMISSION_EXPRESSION_VALUES)[number];
4
+ export declare function taktPermissionModeToClaudeExpression(mode: PermissionMode): ClaudePermissionExpression;
5
+ //# sourceMappingURL=permission-mode-expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-mode-expression.d.ts","sourceRoot":"","sources":["../../../src/infra/claude/permission-mode-expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,eAAO,MAAM,mCAAmC,0DAItC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9F,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,cAAc,GACnB,0BAA0B,CAO5B"}
@@ -0,0 +1,14 @@
1
+ export const CLAUDE_PERMISSION_EXPRESSION_VALUES = [
2
+ 'default',
3
+ 'acceptEdits',
4
+ 'bypassPermissions',
5
+ ];
6
+ export function taktPermissionModeToClaudeExpression(mode) {
7
+ const mapping = {
8
+ readonly: 'default',
9
+ edit: 'acceptEdits',
10
+ full: 'bypassPermissions',
11
+ };
12
+ return mapping[mode];
13
+ }
14
+ //# sourceMappingURL=permission-mode-expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission-mode-expression.js","sourceRoot":"","sources":["../../../src/infra/claude/permission-mode-expression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,SAAS;IACT,aAAa;IACb,mBAAmB;CACX,CAAC;AAIX,MAAM,UAAU,oCAAoC,CAClD,IAAoB;IAEpB,MAAM,OAAO,GAAuD;QAClE,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,mBAAmB;KAC1B,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AgentResponse } from '../../core/models/index.js';
2
+ import type { ClaudeHeadlessCallOptions } from './types.js';
3
+ export declare function callClaudeHeadless(agentName: string, prompt: string, options: ClaudeHeadlessCallOptions): Promise<AgentResponse>;
4
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/infra/claude-headless/client.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,4BAA4B,CAAC;AAgBhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAqK5D,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,aAAa,CAAC,CAuDxB"}
@@ -0,0 +1,197 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { chmod, mkdtemp, rm, writeFile } from 'node:fs/promises';
3
+ import { tmpdir } from 'node:os';
4
+ import { join } from 'node:path';
5
+ import { createLogger, getErrorMessage } from '../../shared/utils/index.js';
6
+ import { taktPermissionModeToClaudeExpression, } from '../claude/permission-mode-expression.js';
7
+ import { HEADLESS_ABORTED_MESSAGE, runHeadlessCli, } from './headless-spawn.js';
8
+ import { aggregateResultFromStdout, extractSessionIdFromStdout, } from './stream-json-lines.js';
9
+ import { buildClaudeHeadlessResponse } from './result-response.js';
10
+ const log = createLogger('claude-headless');
11
+ function resolveCliPermissionMode(mode, bypassPermissions) {
12
+ if (bypassPermissions) {
13
+ return 'bypassPermissions';
14
+ }
15
+ if (mode !== undefined) {
16
+ return taktPermissionModeToClaudeExpression(mode);
17
+ }
18
+ return 'default';
19
+ }
20
+ function resolveSessionArgs(options) {
21
+ if (options.sessionId) {
22
+ return {
23
+ args: ['--resume', options.sessionId],
24
+ sessionId: options.sessionId,
25
+ };
26
+ }
27
+ const sessionId = randomUUID();
28
+ return {
29
+ args: ['--session-id', sessionId],
30
+ sessionId,
31
+ };
32
+ }
33
+ async function prepareMcpConfig(options) {
34
+ if (!options.mcpServers || Object.keys(options.mcpServers).length === 0) {
35
+ return { cleanup: async () => { } };
36
+ }
37
+ const tempDir = await mkdtemp(join(tmpdir(), 'takt-claude-mcp-'));
38
+ const configPath = join(tempDir, 'mcp-config.json');
39
+ try {
40
+ await chmod(tempDir, 0o700);
41
+ await writeFile(configPath, JSON.stringify({ mcpServers: options.mcpServers }), {
42
+ encoding: 'utf-8',
43
+ mode: 0o600,
44
+ });
45
+ await chmod(configPath, 0o600);
46
+ }
47
+ catch (raw) {
48
+ try {
49
+ await rm(tempDir, { recursive: true, force: true });
50
+ }
51
+ catch (cleanupRaw) {
52
+ log.error('Failed to clean up Claude MCP temp directory after prepare failure', {
53
+ error: getErrorMessage(cleanupRaw),
54
+ tempDir,
55
+ });
56
+ }
57
+ throw raw;
58
+ }
59
+ return {
60
+ mcpConfigArg: configPath,
61
+ cleanup: async () => {
62
+ await rm(tempDir, { recursive: true, force: true });
63
+ },
64
+ };
65
+ }
66
+ function buildSettingsArg(options) {
67
+ const sandbox = options.sandbox;
68
+ if (!sandbox) {
69
+ return undefined;
70
+ }
71
+ const settingsSandbox = {
72
+ ...(sandbox.allowUnsandboxedCommands !== undefined
73
+ ? { allowUnsandboxedCommands: sandbox.allowUnsandboxedCommands }
74
+ : {}),
75
+ ...(sandbox.excludedCommands !== undefined
76
+ ? { excludedCommands: sandbox.excludedCommands }
77
+ : {}),
78
+ };
79
+ if (Object.keys(settingsSandbox).length === 0) {
80
+ return undefined;
81
+ }
82
+ return JSON.stringify({ sandbox: settingsSandbox });
83
+ }
84
+ async function buildSpawnArgs(prompt, options) {
85
+ const session = resolveSessionArgs(options);
86
+ const preparedResources = await prepareMcpConfig(options);
87
+ const args = [
88
+ '-p',
89
+ '--verbose',
90
+ '--output-format',
91
+ 'stream-json',
92
+ '--include-partial-messages',
93
+ '--permission-mode',
94
+ resolveCliPermissionMode(options.permissionMode, options.bypassPermissions),
95
+ ];
96
+ if (options.model) {
97
+ args.push('--model', options.model);
98
+ }
99
+ if (options.allowedTools && options.allowedTools.length > 0) {
100
+ args.push('--allowed-tools', options.allowedTools.join(','));
101
+ }
102
+ if (options.effort) {
103
+ args.push('--effort', options.effort);
104
+ }
105
+ if (options.systemPrompt?.trim()) {
106
+ args.push('--system-prompt', options.systemPrompt.trim());
107
+ }
108
+ if (options.outputSchema) {
109
+ args.push('--json-schema', JSON.stringify(options.outputSchema));
110
+ }
111
+ if (preparedResources.mcpConfigArg) {
112
+ args.push('--mcp-config', preparedResources.mcpConfigArg);
113
+ }
114
+ const settings = buildSettingsArg(options);
115
+ if (settings) {
116
+ args.push('--settings', settings);
117
+ }
118
+ args.push(...session.args);
119
+ args.push('--', prompt);
120
+ return {
121
+ args,
122
+ expectedSessionId: session.sessionId,
123
+ cleanup: preparedResources.cleanup,
124
+ };
125
+ }
126
+ function classifyError(error, options) {
127
+ if (options.abortSignal?.aborted || error.name === 'AbortError') {
128
+ return HEADLESS_ABORTED_MESSAGE;
129
+ }
130
+ if (error.code === 'ENOENT') {
131
+ return 'claude CLI not found. Install Claude Code and ensure `claude` is in PATH, or set claude_cli_path in config.';
132
+ }
133
+ if (error.code === 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER') {
134
+ return getErrorMessage(error);
135
+ }
136
+ if (typeof error.code === 'number') {
137
+ const detail = (error.stderr ?? error.stdout ?? '').trim() || getErrorMessage(error);
138
+ return `Claude CLI failed (${error.code}): ${detail}`;
139
+ }
140
+ return getErrorMessage(error);
141
+ }
142
+ export async function callClaudeHeadless(agentName, prompt, options) {
143
+ let cleanup;
144
+ let response;
145
+ try {
146
+ const prepared = await buildSpawnArgs(prompt, options);
147
+ cleanup = prepared.cleanup;
148
+ const { args, expectedSessionId } = prepared;
149
+ const { stdout, stderr } = await runHeadlessCli(args, options);
150
+ const parsed = aggregateResultFromStdout(stdout);
151
+ const sessionId = extractSessionIdFromStdout(stdout) ?? expectedSessionId;
152
+ response = buildClaudeHeadlessResponse({
153
+ agentName,
154
+ parsed,
155
+ stdout,
156
+ stderr,
157
+ sessionId,
158
+ outputSchema: options.outputSchema,
159
+ onStream: options.onStream,
160
+ });
161
+ }
162
+ catch (raw) {
163
+ const error = raw;
164
+ const message = classifyError(error, options);
165
+ if (options.onStream) {
166
+ options.onStream({
167
+ type: 'result',
168
+ data: {
169
+ result: '',
170
+ success: false,
171
+ error: message,
172
+ sessionId: options.sessionId ?? '',
173
+ },
174
+ });
175
+ }
176
+ response = {
177
+ persona: agentName,
178
+ status: 'error',
179
+ content: message,
180
+ timestamp: new Date(),
181
+ sessionId: options.sessionId,
182
+ error: message,
183
+ };
184
+ }
185
+ try {
186
+ await cleanup?.();
187
+ }
188
+ catch (raw) {
189
+ const cleanupError = raw;
190
+ log.error('Failed to clean up Claude MCP config', {
191
+ agentName,
192
+ error: getErrorMessage(cleanupError),
193
+ });
194
+ }
195
+ return response;
196
+ }
197
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/infra/claude-headless/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ClaudeHeadlessCallOptions } from './types.js';
2
+ export declare const HEADLESS_ABORTED_MESSAGE = "Claude CLI execution aborted";
3
+ export type ExecError = Error & {
4
+ code?: string | number;
5
+ stdout?: string;
6
+ stderr?: string;
7
+ signal?: NodeJS.Signals | null;
8
+ };
9
+ export declare function runHeadlessCli(args: string[], options: ClaudeHeadlessCallOptions): Promise<{
10
+ stdout: string;
11
+ stderr: string;
12
+ }>;
13
+ //# sourceMappingURL=headless-spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless-spawn.d.ts","sourceRoot":"","sources":["../../../src/infra/claude-headless/headless-spawn.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAI5D,eAAO,MAAM,wBAAwB,iCAAiC,CAAC;AAWvE,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;CAChC,CAAC;AAuBF,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CA+L7C"}