takt 0.44.0 → 0.46.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 (595) hide show
  1. package/README.md +1 -0
  2. package/builtins/en/config.yaml +9 -0
  3. package/builtins/en/facets/instructions/implement-maintenance.md +2 -0
  4. package/builtins/en/facets/instructions/implement.md +3 -2
  5. package/builtins/en/facets/instructions/review-arch.md +1 -1
  6. package/builtins/en/facets/instructions/review-coding.md +4 -3
  7. package/builtins/en/facets/instructions/review-cqrs-es.md +1 -1
  8. package/builtins/en/facets/instructions/review-pure.md +1 -0
  9. package/builtins/en/facets/instructions/review-qa.md +1 -0
  10. package/builtins/en/facets/instructions/review-terraform.md +1 -1
  11. package/builtins/en/facets/instructions/review-test.md +2 -0
  12. package/builtins/en/facets/instructions/supervise-maintenance.md +7 -5
  13. package/builtins/en/facets/instructions/supervise.md +11 -4
  14. package/builtins/en/facets/instructions/write-tests-maintenance.md +1 -0
  15. package/builtins/en/facets/knowledge/e2e-testing.md +11 -1
  16. package/builtins/en/facets/knowledge/unit-testing.md +11 -0
  17. package/builtins/en/facets/output-contracts/maintenance-scope.md +5 -0
  18. package/builtins/en/facets/output-contracts/pure-review.md +61 -0
  19. package/builtins/en/facets/output-contracts/qa-review.md +5 -0
  20. package/builtins/en/facets/output-contracts/supervisor-validation.md +1 -1
  21. package/builtins/en/facets/output-contracts/testing-review.md +6 -1
  22. package/builtins/en/facets/personas/ai-antipattern-reviewer.md +2 -2
  23. package/builtins/en/facets/personas/architecture-reviewer.md +1 -1
  24. package/builtins/en/facets/personas/pr-commenter.md +2 -2
  25. package/builtins/en/facets/personas/pure-reviewer.md +22 -0
  26. package/builtins/en/facets/personas/supervisor.md +1 -1
  27. package/builtins/en/facets/personas/terraform-reviewer.md +3 -3
  28. package/builtins/en/facets/policies/ai-antipattern.md +2 -0
  29. package/builtins/en/facets/policies/coding.md +36 -0
  30. package/builtins/en/facets/policies/review.md +26 -1
  31. package/builtins/en/facets/policies/testing.md +25 -0
  32. package/builtins/en/workflows/backend-cqrs.yaml +21 -0
  33. package/builtins/en/workflows/backend.yaml +21 -0
  34. package/builtins/en/workflows/default-high.yaml +1 -1
  35. package/builtins/en/workflows/default-peer-review.yaml +24 -3
  36. package/builtins/en/workflows/draft.yaml +4 -32
  37. package/builtins/en/workflows/dual-cqrs.yaml +21 -0
  38. package/builtins/en/workflows/dual.yaml +5 -5
  39. package/builtins/en/workflows/frontend-maintenance.yaml +21 -0
  40. package/builtins/en/workflows/frontend.yaml +21 -0
  41. package/builtins/en/workflows/peer-review.yaml +13 -70
  42. package/builtins/en/workflows/provider-options/edit.yaml +21 -0
  43. package/builtins/en/workflows/provider-options/review-files.yaml +10 -0
  44. package/builtins/en/workflows/provider-options/review-readonly.yaml +16 -0
  45. package/builtins/en/workflows/provider-options/review-web.yaml +14 -0
  46. package/builtins/en/workflows/review-backend-cqrs.yaml +21 -0
  47. package/builtins/en/workflows/review-backend.yaml +21 -0
  48. package/builtins/en/workflows/review-default.yaml +6 -6
  49. package/builtins/en/workflows/review-dual-cqrs.yaml +21 -0
  50. package/builtins/en/workflows/review-dual.yaml +21 -0
  51. package/builtins/en/workflows/review-fix-backend-cqrs.yaml +21 -0
  52. package/builtins/en/workflows/review-fix-backend.yaml +21 -0
  53. package/builtins/en/workflows/review-fix-default.yaml +6 -6
  54. package/builtins/en/workflows/review-fix-dual-cqrs.yaml +21 -0
  55. package/builtins/en/workflows/review-fix-dual.yaml +21 -0
  56. package/builtins/en/workflows/review-fix-frontend.yaml +21 -0
  57. package/builtins/en/workflows/review-fix-takt-default.yaml +5 -5
  58. package/builtins/en/workflows/review-frontend.yaml +21 -0
  59. package/builtins/en/workflows/review-takt-default.yaml +6 -6
  60. package/builtins/en/workflows/takt-default-refresh-all.yaml +6 -6
  61. package/builtins/en/workflows/takt-default-refresh-fast.yaml +5 -5
  62. package/builtins/en/workflows/takt-default.yaml +4 -27
  63. package/builtins/en/workflows/terraform.yaml +23 -2
  64. package/builtins/ja/config.yaml +9 -0
  65. package/builtins/ja/facets/instructions/implement-maintenance.md +2 -0
  66. package/builtins/ja/facets/instructions/implement.md +3 -2
  67. package/builtins/ja/facets/instructions/review-arch.md +1 -1
  68. package/builtins/ja/facets/instructions/review-coding.md +4 -3
  69. package/builtins/ja/facets/instructions/review-cqrs-es.md +1 -1
  70. package/builtins/ja/facets/instructions/review-pure.md +1 -0
  71. package/builtins/ja/facets/instructions/review-qa.md +1 -0
  72. package/builtins/ja/facets/instructions/review-terraform.md +1 -1
  73. package/builtins/ja/facets/instructions/review-test.md +2 -0
  74. package/builtins/ja/facets/instructions/supervise-maintenance.md +6 -4
  75. package/builtins/ja/facets/instructions/supervise.md +11 -4
  76. package/builtins/ja/facets/instructions/write-tests-maintenance.md +1 -0
  77. package/builtins/ja/facets/knowledge/e2e-testing.md +11 -1
  78. package/builtins/ja/facets/knowledge/unit-testing.md +11 -0
  79. package/builtins/ja/facets/output-contracts/maintenance-scope.md +5 -0
  80. package/builtins/ja/facets/output-contracts/pure-review.md +61 -0
  81. package/builtins/ja/facets/output-contracts/qa-review.md +5 -0
  82. package/builtins/ja/facets/output-contracts/supervisor-validation.md +1 -1
  83. package/builtins/ja/facets/output-contracts/testing-review.md +6 -1
  84. package/builtins/ja/facets/personas/ai-antipattern-reviewer.md +2 -2
  85. package/builtins/ja/facets/personas/architecture-reviewer.md +2 -2
  86. package/builtins/ja/facets/personas/pr-commenter.md +3 -3
  87. package/builtins/ja/facets/personas/pure-reviewer.md +22 -0
  88. package/builtins/ja/facets/personas/supervisor.md +1 -1
  89. package/builtins/ja/facets/personas/terraform-reviewer.md +3 -3
  90. package/builtins/ja/facets/policies/ai-antipattern.md +2 -0
  91. package/builtins/ja/facets/policies/coding.md +36 -0
  92. package/builtins/ja/facets/policies/review.md +26 -1
  93. package/builtins/ja/facets/policies/testing.md +25 -0
  94. package/builtins/ja/workflows/backend-cqrs.yaml +21 -0
  95. package/builtins/ja/workflows/backend.yaml +21 -0
  96. package/builtins/ja/workflows/default-high.yaml +1 -1
  97. package/builtins/ja/workflows/default-peer-review.yaml +24 -3
  98. package/builtins/ja/workflows/draft.yaml +4 -32
  99. package/builtins/ja/workflows/dual-cqrs.yaml +21 -0
  100. package/builtins/ja/workflows/dual.yaml +5 -5
  101. package/builtins/ja/workflows/frontend-maintenance.yaml +21 -0
  102. package/builtins/ja/workflows/frontend.yaml +21 -0
  103. package/builtins/ja/workflows/peer-review.yaml +13 -70
  104. package/builtins/ja/workflows/provider-options/edit.yaml +21 -0
  105. package/builtins/ja/workflows/provider-options/review-files.yaml +10 -0
  106. package/builtins/ja/workflows/provider-options/review-readonly.yaml +16 -0
  107. package/builtins/ja/workflows/provider-options/review-web.yaml +14 -0
  108. package/builtins/ja/workflows/review-backend-cqrs.yaml +21 -0
  109. package/builtins/ja/workflows/review-backend.yaml +21 -0
  110. package/builtins/ja/workflows/review-default.yaml +7 -7
  111. package/builtins/ja/workflows/review-dual-cqrs.yaml +21 -0
  112. package/builtins/ja/workflows/review-dual.yaml +21 -0
  113. package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +21 -0
  114. package/builtins/ja/workflows/review-fix-backend.yaml +21 -0
  115. package/builtins/ja/workflows/review-fix-default.yaml +6 -6
  116. package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +21 -0
  117. package/builtins/ja/workflows/review-fix-dual.yaml +21 -0
  118. package/builtins/ja/workflows/review-fix-frontend.yaml +21 -0
  119. package/builtins/ja/workflows/review-fix-takt-default.yaml +6 -6
  120. package/builtins/ja/workflows/review-frontend.yaml +21 -0
  121. package/builtins/ja/workflows/review-takt-default.yaml +7 -7
  122. package/builtins/ja/workflows/takt-default-refresh-all.yaml +6 -6
  123. package/builtins/ja/workflows/takt-default-refresh-fast.yaml +5 -5
  124. package/builtins/ja/workflows/takt-default.yaml +4 -27
  125. package/builtins/ja/workflows/terraform.yaml +22 -1
  126. package/dist/agents/decompose-task-usecase.d.ts +2 -1
  127. package/dist/agents/decompose-task-usecase.d.ts.map +1 -1
  128. package/dist/agents/decompose-task-usecase.js +7 -5
  129. package/dist/agents/decompose-task-usecase.js.map +1 -1
  130. package/dist/agents/judge-status-usecase.d.ts +21 -8
  131. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  132. package/dist/agents/judge-status-usecase.js +30 -13
  133. package/dist/agents/judge-status-usecase.js.map +1 -1
  134. package/dist/agents/runner-prompt.d.ts +3 -1
  135. package/dist/agents/runner-prompt.d.ts.map +1 -1
  136. package/dist/agents/runner-prompt.js +11 -4
  137. package/dist/agents/runner-prompt.js.map +1 -1
  138. package/dist/agents/runner.d.ts.map +1 -1
  139. package/dist/agents/runner.js +23 -5
  140. package/dist/agents/runner.js.map +1 -1
  141. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts +1 -1
  142. package/dist/agents/structured-caller/capability-aware-structured-caller.d.ts.map +1 -1
  143. package/dist/agents/structured-caller/capability-aware-structured-caller.js +3 -3
  144. package/dist/agents/structured-caller/capability-aware-structured-caller.js.map +1 -1
  145. package/dist/agents/structured-caller/contracts.d.ts +1 -1
  146. package/dist/agents/structured-caller/contracts.d.ts.map +1 -1
  147. package/dist/agents/structured-caller/default-structured-caller.d.ts +1 -1
  148. package/dist/agents/structured-caller/default-structured-caller.d.ts.map +1 -1
  149. package/dist/agents/structured-caller/default-structured-caller.js +2 -2
  150. package/dist/agents/structured-caller/default-structured-caller.js.map +1 -1
  151. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts +1 -1
  152. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  153. package/dist/agents/structured-caller/prompt-based-structured-caller.js +16 -17
  154. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  155. package/dist/agents/team-leader-structured-output.d.ts +3 -3
  156. package/dist/agents/team-leader-structured-output.d.ts.map +1 -1
  157. package/dist/agents/team-leader-structured-output.js +14 -10
  158. package/dist/agents/team-leader-structured-output.js.map +1 -1
  159. package/dist/agents/types.d.ts +1 -0
  160. package/dist/agents/types.d.ts.map +1 -1
  161. package/dist/commands/analyze-usage.d.ts +26 -0
  162. package/dist/commands/analyze-usage.d.ts.map +1 -0
  163. package/dist/commands/analyze-usage.js +305 -0
  164. package/dist/commands/analyze-usage.js.map +1 -0
  165. package/dist/core/logging/contracts.d.ts +1 -0
  166. package/dist/core/logging/contracts.d.ts.map +1 -1
  167. package/dist/core/logging/contracts.js +1 -0
  168. package/dist/core/logging/contracts.js.map +1 -1
  169. package/dist/core/logging/phaseUsageEvent.d.ts +40 -0
  170. package/dist/core/logging/phaseUsageEvent.d.ts.map +1 -0
  171. package/dist/core/logging/phaseUsageEvent.js +195 -0
  172. package/dist/core/logging/phaseUsageEvent.js.map +1 -0
  173. package/dist/core/logging/providerEvent.d.ts +4 -0
  174. package/dist/core/logging/providerEvent.d.ts.map +1 -1
  175. package/dist/core/logging/providerEvent.js +31 -27
  176. package/dist/core/logging/providerEvent.js.map +1 -1
  177. package/dist/core/models/config-schemas.d.ts +16 -0
  178. package/dist/core/models/config-schemas.d.ts.map +1 -1
  179. package/dist/core/models/part.d.ts +2 -1
  180. package/dist/core/models/part.d.ts.map +1 -1
  181. package/dist/core/models/schema-base.d.ts +66 -0
  182. package/dist/core/models/schema-base.d.ts.map +1 -1
  183. package/dist/core/models/schema-base.js +7 -2
  184. package/dist/core/models/schema-base.js.map +1 -1
  185. package/dist/core/models/workflow-provider-options.d.ts +5 -0
  186. package/dist/core/models/workflow-provider-options.d.ts.map +1 -1
  187. package/dist/core/models/workflow-provider-options.js.map +1 -1
  188. package/dist/core/models/workflow-schemas.d.ts +165 -21
  189. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  190. package/dist/core/models/workflow-schemas.js +62 -18
  191. package/dist/core/models/workflow-schemas.js.map +1 -1
  192. package/dist/core/models/workflow-types.d.ts +1 -1
  193. package/dist/core/models/workflow-types.d.ts.map +1 -1
  194. package/dist/core/models/workflow-types.js.map +1 -1
  195. package/dist/core/workflow/arpeggio/types.d.ts +3 -0
  196. package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
  197. package/dist/core/workflow/engine/ArpeggioRunner.d.ts +2 -0
  198. package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
  199. package/dist/core/workflow/engine/ArpeggioRunner.js +10 -0
  200. package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
  201. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  202. package/dist/core/workflow/engine/OptionsBuilder.js +2 -0
  203. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  204. package/dist/core/workflow/engine/ParallelRunner.d.ts +1 -0
  205. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  206. package/dist/core/workflow/engine/ParallelRunner.js +4 -0
  207. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  208. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  209. package/dist/core/workflow/engine/StepExecutor.js +2 -0
  210. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  211. package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
  212. package/dist/core/workflow/engine/TeamLeaderRunner.js +9 -4
  213. package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
  214. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
  215. package/dist/core/workflow/engine/WorkflowEngineSetup.js +2 -0
  216. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  217. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +1 -0
  218. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  219. package/dist/core/workflow/engine/WorkflowRunLoop.js +3 -0
  220. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  221. package/dist/core/workflow/engine/engine-provider-options.d.ts.map +1 -1
  222. package/dist/core/workflow/engine/engine-provider-options.js +3 -3
  223. package/dist/core/workflow/engine/engine-provider-options.js.map +1 -1
  224. package/dist/core/workflow/engine/parallel-logger.d.ts +1 -1
  225. package/dist/core/workflow/engine/parallel-logger.d.ts.map +1 -1
  226. package/dist/core/workflow/engine/parallel-logger.js +3 -1
  227. package/dist/core/workflow/engine/parallel-logger.js.map +1 -1
  228. package/dist/core/workflow/engine/task-decomposer.d.ts +1 -1
  229. package/dist/core/workflow/engine/task-decomposer.d.ts.map +1 -1
  230. package/dist/core/workflow/engine/task-decomposer.js +3 -3
  231. package/dist/core/workflow/engine/task-decomposer.js.map +1 -1
  232. package/dist/core/workflow/engine/team-leader-budget-errors.d.ts +2 -0
  233. package/dist/core/workflow/engine/team-leader-budget-errors.d.ts.map +1 -0
  234. package/dist/core/workflow/engine/team-leader-budget-errors.js +12 -0
  235. package/dist/core/workflow/engine/team-leader-budget-errors.js.map +1 -0
  236. package/dist/core/workflow/engine/team-leader-execution.d.ts.map +1 -1
  237. package/dist/core/workflow/engine/team-leader-execution.js +16 -2
  238. package/dist/core/workflow/engine/team-leader-execution.js.map +1 -1
  239. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  240. package/dist/core/workflow/engine/team-leader-part-runner.js +1 -0
  241. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  242. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts +2 -0
  243. package/dist/core/workflow/evaluation/RuleEvaluator.d.ts.map +1 -1
  244. package/dist/core/workflow/evaluation/RuleEvaluator.js +1 -0
  245. package/dist/core/workflow/evaluation/RuleEvaluator.js.map +1 -1
  246. package/dist/core/workflow/observability/workflowSpans.d.ts +3 -0
  247. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  248. package/dist/core/workflow/observability/workflowSpans.js +61 -10
  249. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  250. package/dist/core/workflow/phase-runner.d.ts +2 -0
  251. package/dist/core/workflow/phase-runner.d.ts.map +1 -1
  252. package/dist/core/workflow/phase-runner.js.map +1 -1
  253. package/dist/core/workflow/promotion/PromotionEvaluator.d.ts +2 -0
  254. package/dist/core/workflow/promotion/PromotionEvaluator.d.ts.map +1 -1
  255. package/dist/core/workflow/promotion/PromotionEvaluator.js +1 -0
  256. package/dist/core/workflow/promotion/PromotionEvaluator.js.map +1 -1
  257. package/dist/core/workflow/promotion/promotion-runtime.d.ts +2 -0
  258. package/dist/core/workflow/promotion/promotion-runtime.d.ts.map +1 -1
  259. package/dist/core/workflow/promotion/promotion-runtime.js +1 -0
  260. package/dist/core/workflow/promotion/promotion-runtime.js.map +1 -1
  261. package/dist/core/workflow/quality-gates/commandGateRunner.d.ts +1 -1
  262. package/dist/core/workflow/quality-gates/commandGateRunner.d.ts.map +1 -1
  263. package/dist/core/workflow/quality-gates/commandGateRunner.js +11 -6
  264. package/dist/core/workflow/quality-gates/commandGateRunner.js.map +1 -1
  265. package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts +1 -1
  266. package/dist/core/workflow/quality-gates/qualityGateRunner.d.ts.map +1 -1
  267. package/dist/core/workflow/quality-gates/qualityGateRunner.js +2 -2
  268. package/dist/core/workflow/quality-gates/qualityGateRunner.js.map +1 -1
  269. package/dist/core/workflow/quality-gates/types.d.ts +2 -0
  270. package/dist/core/workflow/quality-gates/types.d.ts.map +1 -1
  271. package/dist/core/workflow/report-phase-runner.js +1 -0
  272. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  273. package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
  274. package/dist/core/workflow/status-judgment-phase.js +2 -0
  275. package/dist/core/workflow/status-judgment-phase.js.map +1 -1
  276. package/dist/core/workflow/types.d.ts +4 -0
  277. package/dist/core/workflow/types.d.ts.map +1 -1
  278. package/dist/features/interactive/aiCaller.d.ts +6 -1
  279. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  280. package/dist/features/interactive/aiCaller.js +14 -5
  281. package/dist/features/interactive/aiCaller.js.map +1 -1
  282. package/dist/features/interactive/clipboardImage.d.ts +3 -0
  283. package/dist/features/interactive/clipboardImage.d.ts.map +1 -0
  284. package/dist/features/interactive/clipboardImage.js +91 -0
  285. package/dist/features/interactive/clipboardImage.js.map +1 -0
  286. package/dist/features/interactive/clipboardImageFeedback.d.ts +2 -0
  287. package/dist/features/interactive/clipboardImageFeedback.d.ts.map +1 -0
  288. package/dist/features/interactive/clipboardImageFeedback.js +6 -0
  289. package/dist/features/interactive/clipboardImageFeedback.js.map +1 -0
  290. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  291. package/dist/features/interactive/conversationLoop.js +8 -3
  292. package/dist/features/interactive/conversationLoop.js.map +1 -1
  293. package/dist/features/interactive/imageAttachments.d.ts +3 -0
  294. package/dist/features/interactive/imageAttachments.d.ts.map +1 -1
  295. package/dist/features/interactive/imageAttachments.js +18 -0
  296. package/dist/features/interactive/imageAttachments.js.map +1 -1
  297. package/dist/features/interactive/interactive.d.ts +1 -0
  298. package/dist/features/interactive/interactive.d.ts.map +1 -1
  299. package/dist/features/interactive/interactive.js.map +1 -1
  300. package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
  301. package/dist/features/interactive/interactiveInput.js +4 -1
  302. package/dist/features/interactive/interactiveInput.js.map +1 -1
  303. package/dist/features/interactive/lineEditor.d.ts +18 -14
  304. package/dist/features/interactive/lineEditor.d.ts.map +1 -1
  305. package/dist/features/interactive/lineEditor.js +174 -80
  306. package/dist/features/interactive/lineEditor.js.map +1 -1
  307. package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
  308. package/dist/features/interactive/passthroughMode.js +4 -1
  309. package/dist/features/interactive/passthroughMode.js.map +1 -1
  310. package/dist/features/interactive/quietMode.d.ts.map +1 -1
  311. package/dist/features/interactive/quietMode.js +5 -2
  312. package/dist/features/interactive/quietMode.js.map +1 -1
  313. package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
  314. package/dist/features/interactive/slashCommandRegistry.js +1 -0
  315. package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
  316. package/dist/features/tasks/attachments.d.ts.map +1 -1
  317. package/dist/features/tasks/attachments.js +18 -1
  318. package/dist/features/tasks/attachments.js.map +1 -1
  319. package/dist/features/tasks/execute/runAllTasks.js +3 -3
  320. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  321. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  322. package/dist/features/tasks/execute/selectAndExecute.js +1 -2
  323. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  324. package/dist/features/tasks/execute/taskSpecContext.d.ts +1 -0
  325. package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
  326. package/dist/features/tasks/execute/taskSpecContext.js +25 -1
  327. package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
  328. package/dist/features/tasks/execute/workflowExecution.d.ts.map +1 -1
  329. package/dist/features/tasks/execute/workflowExecution.js +30 -0
  330. package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
  331. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  332. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +13 -1
  333. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  334. package/dist/features/tasks/execute/workflowExecutionEvents.d.ts.map +1 -1
  335. package/dist/features/tasks/execute/workflowExecutionEvents.js +6 -0
  336. package/dist/features/tasks/execute/workflowExecutionEvents.js.map +1 -1
  337. package/dist/features/tasks/watch/index.js +3 -3
  338. package/dist/features/tasks/watch/index.js.map +1 -1
  339. package/dist/infra/claude/client.d.ts.map +1 -1
  340. package/dist/infra/claude/client.js +2 -0
  341. package/dist/infra/claude/client.js.map +1 -1
  342. package/dist/infra/claude/executor.d.ts.map +1 -1
  343. package/dist/infra/claude/executor.js +5 -35
  344. package/dist/infra/claude/executor.js.map +1 -1
  345. package/dist/infra/claude/image-input.d.ts +4 -0
  346. package/dist/infra/claude/image-input.d.ts.map +1 -0
  347. package/dist/infra/claude/image-input.js +63 -0
  348. package/dist/infra/claude/image-input.js.map +1 -0
  349. package/dist/infra/claude/options-builder.d.ts.map +1 -1
  350. package/dist/infra/claude/options-builder.js +2 -3
  351. package/dist/infra/claude/options-builder.js.map +1 -1
  352. package/dist/infra/claude/types.d.ts +5 -0
  353. package/dist/infra/claude/types.d.ts.map +1 -1
  354. package/dist/infra/claude/usage.d.ts +3 -0
  355. package/dist/infra/claude/usage.d.ts.map +1 -0
  356. package/dist/infra/claude/usage.js +45 -0
  357. package/dist/infra/claude/usage.js.map +1 -0
  358. package/dist/infra/claude-headless/headless-spawn.d.ts.map +1 -1
  359. package/dist/infra/claude-headless/headless-spawn.js +2 -1
  360. package/dist/infra/claude-headless/headless-spawn.js.map +1 -1
  361. package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
  362. package/dist/infra/claude-headless/result-response.js +1 -0
  363. package/dist/infra/claude-headless/result-response.js.map +1 -1
  364. package/dist/infra/claude-headless/stream-json-lines.d.ts +2 -0
  365. package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -1
  366. package/dist/infra/claude-headless/stream-json-lines.js +4 -0
  367. package/dist/infra/claude-headless/stream-json-lines.js.map +1 -1
  368. package/dist/infra/claude-headless/types.d.ts +1 -0
  369. package/dist/infra/claude-headless/types.d.ts.map +1 -1
  370. package/dist/infra/claude-terminal/client.d.ts.map +1 -1
  371. package/dist/infra/claude-terminal/client.js +1 -0
  372. package/dist/infra/claude-terminal/client.js.map +1 -1
  373. package/dist/infra/claude-terminal/response-normalizer.js.map +1 -1
  374. package/dist/infra/claude-terminal/tmux-backend.d.ts.map +1 -1
  375. package/dist/infra/claude-terminal/tmux-backend.js +15 -1
  376. package/dist/infra/claude-terminal/tmux-backend.js.map +1 -1
  377. package/dist/infra/claude-terminal/types.d.ts +2 -0
  378. package/dist/infra/claude-terminal/types.d.ts.map +1 -1
  379. package/dist/infra/codex/client.d.ts.map +1 -1
  380. package/dist/infra/codex/client.js +14 -2
  381. package/dist/infra/codex/client.js.map +1 -1
  382. package/dist/infra/codex/types.d.ts +3 -0
  383. package/dist/infra/codex/types.d.ts.map +1 -1
  384. package/dist/infra/codex/types.js.map +1 -1
  385. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  386. package/dist/infra/config/configNormalizers.js +9 -1
  387. package/dist/infra/config/configNormalizers.js.map +1 -1
  388. package/dist/infra/config/loaders/workflowDiscovery.js +1 -1
  389. package/dist/infra/config/loaders/workflowDiscovery.js.map +1 -1
  390. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.d.ts.map +1 -1
  391. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js +1 -1
  392. package/dist/infra/config/loaders/workflowLoopMonitorNormalizer.js.map +1 -1
  393. package/dist/infra/config/loaders/workflowParser.d.ts.map +1 -1
  394. package/dist/infra/config/loaders/workflowParser.js +1 -1
  395. package/dist/infra/config/loaders/workflowParser.js.map +1 -1
  396. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts +7 -0
  397. package/dist/infra/config/loaders/workflowProviderOptionsResolver.d.ts.map +1 -0
  398. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js +68 -0
  399. package/dist/infra/config/loaders/workflowProviderOptionsResolver.js.map +1 -0
  400. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.d.ts.map +1 -1
  401. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js +5 -3
  402. package/dist/infra/config/loaders/workflowStepFeaturesNormalizer.js.map +1 -1
  403. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts +1 -1
  404. package/dist/infra/config/loaders/workflowStepNormalizer.d.ts.map +1 -1
  405. package/dist/infra/config/loaders/workflowStepNormalizer.js +41 -10
  406. package/dist/infra/config/loaders/workflowStepNormalizer.js.map +1 -1
  407. package/dist/infra/config/providerOptions.d.ts +6 -1
  408. package/dist/infra/config/providerOptions.d.ts.map +1 -1
  409. package/dist/infra/config/providerOptions.js +31 -3
  410. package/dist/infra/config/providerOptions.js.map +1 -1
  411. package/dist/infra/config/providerOptionsContract.d.ts +3 -3
  412. package/dist/infra/config/providerOptionsContract.d.ts.map +1 -1
  413. package/dist/infra/config/providerOptionsContract.js +8 -0
  414. package/dist/infra/config/providerOptionsContract.js.map +1 -1
  415. package/dist/infra/copilot/client.d.ts.map +1 -1
  416. package/dist/infra/copilot/client.js +7 -8
  417. package/dist/infra/copilot/client.js.map +1 -1
  418. package/dist/infra/copilot/types.d.ts +1 -0
  419. package/dist/infra/copilot/types.d.ts.map +1 -1
  420. package/dist/infra/cursor/client.d.ts.map +1 -1
  421. package/dist/infra/cursor/client.js +7 -8
  422. package/dist/infra/cursor/client.js.map +1 -1
  423. package/dist/infra/cursor/types.d.ts +1 -0
  424. package/dist/infra/cursor/types.d.ts.map +1 -1
  425. package/dist/infra/fs/index.d.ts +1 -0
  426. package/dist/infra/fs/index.d.ts.map +1 -1
  427. package/dist/infra/fs/index.js +1 -0
  428. package/dist/infra/fs/index.js.map +1 -1
  429. package/dist/infra/fs/jsonl.d.ts +2 -0
  430. package/dist/infra/fs/jsonl.d.ts.map +1 -0
  431. package/dist/infra/fs/jsonl.js +5 -0
  432. package/dist/infra/fs/jsonl.js.map +1 -0
  433. package/dist/infra/kiro/client.d.ts.map +1 -1
  434. package/dist/infra/kiro/client.js +10 -0
  435. package/dist/infra/kiro/client.js.map +1 -1
  436. package/dist/infra/kiro/process.d.ts.map +1 -1
  437. package/dist/infra/kiro/process.js +4 -2
  438. package/dist/infra/kiro/process.js.map +1 -1
  439. package/dist/infra/kiro/types.d.ts +2 -0
  440. package/dist/infra/kiro/types.d.ts.map +1 -1
  441. package/dist/infra/observability/otelFoundation.d.ts +2 -0
  442. package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
  443. package/dist/infra/observability/otelFoundation.js +138 -25
  444. package/dist/infra/observability/otelFoundation.js.map +1 -1
  445. package/dist/infra/observability/usageEventsSpanProcessor.d.ts +19 -0
  446. package/dist/infra/observability/usageEventsSpanProcessor.d.ts.map +1 -0
  447. package/dist/infra/observability/usageEventsSpanProcessor.js +77 -0
  448. package/dist/infra/observability/usageEventsSpanProcessor.js.map +1 -0
  449. package/dist/infra/opencode/OpenCodeStreamHandler.d.ts +19 -0
  450. package/dist/infra/opencode/OpenCodeStreamHandler.d.ts.map +1 -1
  451. package/dist/infra/opencode/OpenCodeStreamHandler.js +10 -0
  452. package/dist/infra/opencode/OpenCodeStreamHandler.js.map +1 -1
  453. package/dist/infra/opencode/allowedTools.d.ts +2 -0
  454. package/dist/infra/opencode/allowedTools.d.ts.map +1 -0
  455. package/dist/infra/opencode/allowedTools.js +10 -0
  456. package/dist/infra/opencode/allowedTools.js.map +1 -0
  457. package/dist/infra/opencode/client.d.ts +4 -2
  458. package/dist/infra/opencode/client.d.ts.map +1 -1
  459. package/dist/infra/opencode/client.js +283 -124
  460. package/dist/infra/opencode/client.js.map +1 -1
  461. package/dist/infra/opencode/index.d.ts +1 -1
  462. package/dist/infra/opencode/index.d.ts.map +1 -1
  463. package/dist/infra/opencode/index.js +1 -1
  464. package/dist/infra/opencode/index.js.map +1 -1
  465. package/dist/infra/opencode/types.d.ts +12 -10
  466. package/dist/infra/opencode/types.d.ts.map +1 -1
  467. package/dist/infra/opencode/types.js +109 -40
  468. package/dist/infra/opencode/types.js.map +1 -1
  469. package/dist/infra/providers/allowed-tool-edit-policy.d.ts +3 -0
  470. package/dist/infra/providers/allowed-tool-edit-policy.d.ts.map +1 -0
  471. package/dist/infra/providers/allowed-tool-edit-policy.js +10 -0
  472. package/dist/infra/providers/allowed-tool-edit-policy.js.map +1 -0
  473. package/dist/infra/providers/claude-headless.d.ts +3 -0
  474. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  475. package/dist/infra/providers/claude-headless.js +9 -0
  476. package/dist/infra/providers/claude-headless.js.map +1 -1
  477. package/dist/infra/providers/claude-terminal.d.ts +3 -0
  478. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  479. package/dist/infra/providers/claude-terminal.js +9 -0
  480. package/dist/infra/providers/claude-terminal.js.map +1 -1
  481. package/dist/infra/providers/claude.d.ts +3 -0
  482. package/dist/infra/providers/claude.d.ts.map +1 -1
  483. package/dist/infra/providers/claude.js +10 -0
  484. package/dist/infra/providers/claude.js.map +1 -1
  485. package/dist/infra/providers/codex.d.ts +3 -0
  486. package/dist/infra/providers/codex.d.ts.map +1 -1
  487. package/dist/infra/providers/codex.js +9 -0
  488. package/dist/infra/providers/codex.js.map +1 -1
  489. package/dist/infra/providers/copilot.d.ts +3 -0
  490. package/dist/infra/providers/copilot.d.ts.map +1 -1
  491. package/dist/infra/providers/copilot.js +8 -0
  492. package/dist/infra/providers/copilot.js.map +1 -1
  493. package/dist/infra/providers/cursor.d.ts +3 -0
  494. package/dist/infra/providers/cursor.d.ts.map +1 -1
  495. package/dist/infra/providers/cursor.js +8 -0
  496. package/dist/infra/providers/cursor.js.map +1 -1
  497. package/dist/infra/providers/imageAttachmentPrompt.d.ts +4 -0
  498. package/dist/infra/providers/imageAttachmentPrompt.d.ts.map +1 -0
  499. package/dist/infra/providers/imageAttachmentPrompt.js +10 -0
  500. package/dist/infra/providers/imageAttachmentPrompt.js.map +1 -0
  501. package/dist/infra/providers/kiro.d.ts +3 -0
  502. package/dist/infra/providers/kiro.d.ts.map +1 -1
  503. package/dist/infra/providers/kiro.js +12 -0
  504. package/dist/infra/providers/kiro.js.map +1 -1
  505. package/dist/infra/providers/mock.d.ts +3 -0
  506. package/dist/infra/providers/mock.d.ts.map +1 -1
  507. package/dist/infra/providers/mock.js +8 -0
  508. package/dist/infra/providers/mock.js.map +1 -1
  509. package/dist/infra/providers/opencode.d.ts +4 -1
  510. package/dist/infra/providers/opencode.d.ts.map +1 -1
  511. package/dist/infra/providers/opencode.js +17 -3
  512. package/dist/infra/providers/opencode.js.map +1 -1
  513. package/dist/infra/providers/provider-capabilities.d.ts +3 -0
  514. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  515. package/dist/infra/providers/provider-capabilities.js +19 -1
  516. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  517. package/dist/infra/providers/runtimeSystemPrompt.d.ts +2 -0
  518. package/dist/infra/providers/runtimeSystemPrompt.d.ts.map +1 -0
  519. package/dist/infra/providers/runtimeSystemPrompt.js +11 -0
  520. package/dist/infra/providers/runtimeSystemPrompt.js.map +1 -0
  521. package/dist/infra/providers/types.d.ts +9 -0
  522. package/dist/infra/providers/types.d.ts.map +1 -1
  523. package/dist/infra/rate-limit/detection.d.ts +1 -1
  524. package/dist/infra/rate-limit/detection.d.ts.map +1 -1
  525. package/dist/infra/rate-limit/detection.js +6 -7
  526. package/dist/infra/rate-limit/detection.js.map +1 -1
  527. package/dist/infra/resources/schema-loader.d.ts +1 -1
  528. package/dist/infra/resources/schema-loader.d.ts.map +1 -1
  529. package/dist/infra/resources/schema-loader.js +8 -4
  530. package/dist/infra/resources/schema-loader.js.map +1 -1
  531. package/dist/infra/service/runSyncConflictResolver.d.ts.map +1 -1
  532. package/dist/infra/service/runSyncConflictResolver.js +3 -1
  533. package/dist/infra/service/runSyncConflictResolver.js.map +1 -1
  534. package/dist/infra/task/clone-exec.d.ts +2 -0
  535. package/dist/infra/task/clone-exec.d.ts.map +1 -1
  536. package/dist/infra/task/clone-exec.js +29 -0
  537. package/dist/infra/task/clone-exec.js.map +1 -1
  538. package/dist/infra/task/clone.d.ts.map +1 -1
  539. package/dist/infra/task/clone.js +3 -1
  540. package/dist/infra/task/clone.js.map +1 -1
  541. package/dist/infra/task/runner.d.ts +1 -1
  542. package/dist/infra/task/runner.d.ts.map +1 -1
  543. package/dist/infra/task/runner.js +2 -2
  544. package/dist/infra/task/runner.js.map +1 -1
  545. package/dist/infra/task/summarize.d.ts.map +1 -1
  546. package/dist/infra/task/summarize.js +3 -1
  547. package/dist/infra/task/summarize.js.map +1 -1
  548. package/dist/infra/task/taskLifecycleService.d.ts +1 -2
  549. package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
  550. package/dist/infra/task/taskLifecycleService.js +13 -19
  551. package/dist/infra/task/taskLifecycleService.js.map +1 -1
  552. package/dist/infra/task/taskRecordMutations.d.ts +0 -1
  553. package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
  554. package/dist/infra/task/taskRecordMutations.js +0 -12
  555. package/dist/infra/task/taskRecordMutations.js.map +1 -1
  556. package/dist/shared/constants.d.ts +3 -0
  557. package/dist/shared/constants.d.ts.map +1 -1
  558. package/dist/shared/constants.js +3 -0
  559. package/dist/shared/constants.js.map +1 -1
  560. package/dist/shared/i18n/labels_en.yaml +3 -1
  561. package/dist/shared/i18n/labels_ja.yaml +3 -1
  562. package/dist/shared/prompts/en/perform_agent_system_prompt.md +9 -1
  563. package/dist/shared/prompts/en/provider_runtime_system_prompt.md +18 -0
  564. package/dist/shared/prompts/index.d.ts +1 -1
  565. package/dist/shared/prompts/index.d.ts.map +1 -1
  566. package/dist/shared/prompts/index.js +7 -1
  567. package/dist/shared/prompts/index.js.map +1 -1
  568. package/dist/shared/prompts/ja/perform_agent_system_prompt.md +9 -1
  569. package/dist/shared/prompts/ja/provider_runtime_system_prompt.md +18 -0
  570. package/dist/shared/telemetry/childProcessEnv.d.ts +7 -0
  571. package/dist/shared/telemetry/childProcessEnv.d.ts.map +1 -0
  572. package/dist/shared/telemetry/childProcessEnv.js +176 -0
  573. package/dist/shared/telemetry/childProcessEnv.js.map +1 -0
  574. package/dist/shared/telemetry/index.d.ts +3 -0
  575. package/dist/shared/telemetry/index.d.ts.map +1 -0
  576. package/dist/shared/telemetry/index.js +3 -0
  577. package/dist/shared/telemetry/index.js.map +1 -0
  578. package/dist/shared/telemetry/otlp.d.ts +40 -0
  579. package/dist/shared/telemetry/otlp.d.ts.map +1 -0
  580. package/dist/shared/telemetry/otlp.js +72 -0
  581. package/dist/shared/telemetry/otlp.js.map +1 -0
  582. package/dist/shared/types/provider.d.ts +28 -1
  583. package/dist/shared/types/provider.d.ts.map +1 -1
  584. package/dist/shared/types/provider.js +15 -1
  585. package/dist/shared/types/provider.js.map +1 -1
  586. package/dist/shared/ui/StreamDisplay.d.ts.map +1 -1
  587. package/dist/shared/ui/StreamDisplay.js +1 -0
  588. package/dist/shared/ui/StreamDisplay.js.map +1 -1
  589. package/package.json +8 -4
  590. package/builtins/en/facets/instructions/review-requirements.md +0 -17
  591. package/builtins/en/facets/output-contracts/requirements-review.md +0 -56
  592. package/builtins/en/facets/personas/requirements-reviewer.md +0 -33
  593. package/builtins/ja/facets/instructions/review-requirements.md +0 -17
  594. package/builtins/ja/facets/output-contracts/requirements-review.md +0 -56
  595. package/builtins/ja/facets/personas/requirements-reviewer.md +0 -33
@@ -1,17 +1,30 @@
1
1
  import { createRequire } from 'node:module';
2
+ import { resolveOtlpExporterConfigFromEnv, } from '../../shared/telemetry/index.js';
3
+ import { createLogger } from '../../shared/utils/debug.js';
2
4
  import { SessionLogSpanProcessor } from './sessionLogSpanProcessor.js';
3
5
  import { MonitorJsonMetricExporter } from './monitorJsonMetricExporter.js';
6
+ import { UsageEventsSpanProcessor } from './usageEventsSpanProcessor.js';
4
7
  const require = createRequire(import.meta.url);
5
8
  const { version: TAKT_VERSION } = require('../../../package.json');
9
+ const log = createLogger('otel-foundation');
6
10
  let activeSdk;
7
11
  let startingSdk;
8
12
  let stoppingSdk;
9
13
  export async function initializeOtelFoundation(config, options = undefined) {
14
+ const otlpConfig = resolveOtlpExporterConfigFromEnv(config.enabled);
10
15
  if (!config.enabled) {
11
16
  return createNoopHandle();
12
17
  }
13
- const shared = await acquireSdk();
14
- const registrations = registerRunExporters(shared, options);
18
+ validateRunScopedExporterIds(options);
19
+ const shared = await acquireSdk(otlpConfig);
20
+ let registrations;
21
+ try {
22
+ registrations = registerRunExporters(shared, options);
23
+ }
24
+ catch (error) {
25
+ await releaseSdk(shared);
26
+ throw error;
27
+ }
15
28
  let released = false;
16
29
  return {
17
30
  async shutdown() {
@@ -21,7 +34,7 @@ export async function initializeOtelFoundation(config, options = undefined) {
21
34
  released = true;
22
35
  try {
23
36
  if (shared.metricReaders.length > 0) {
24
- await forceFlushMetricReaders(shared.metricReaders);
37
+ await forceFlushMetricReaders(shared.metricReaders, shared.nonBlockingMetricReaders);
25
38
  }
26
39
  }
27
40
  finally {
@@ -33,7 +46,7 @@ export async function initializeOtelFoundation(config, options = undefined) {
33
46
  },
34
47
  };
35
48
  }
36
- async function acquireSdk() {
49
+ async function acquireSdk(otlpConfig) {
37
50
  if (stoppingSdk) {
38
51
  await stoppingSdk;
39
52
  }
@@ -41,7 +54,7 @@ async function acquireSdk() {
41
54
  activeSdk.refCount += 1;
42
55
  return activeSdk;
43
56
  }
44
- const shared = await getOrStartSdk();
57
+ const shared = await getOrStartSdk(otlpConfig);
45
58
  shared.refCount += 1;
46
59
  return shared;
47
60
  }
@@ -50,12 +63,12 @@ function createNoopHandle() {
50
63
  async shutdown() { },
51
64
  };
52
65
  }
53
- async function getOrStartSdk() {
66
+ async function getOrStartSdk(otlpConfig) {
54
67
  if (activeSdk) {
55
68
  return activeSdk;
56
69
  }
57
70
  if (!startingSdk) {
58
- startingSdk = startSdk().then((started) => {
71
+ startingSdk = startSdk(otlpConfig).then((started) => {
59
72
  const shared = { ...started, refCount: 0 };
60
73
  activeSdk = shared;
61
74
  startingSdk = undefined;
@@ -69,34 +82,114 @@ async function getOrStartSdk() {
69
82
  }
70
83
  function registerRunExporters(shared, options) {
71
84
  const registrations = [];
72
- if (options?.sessionLogExporter && shared.sessionLogSpanProcessor) {
73
- registrations.push(shared.sessionLogSpanProcessor.register(options.sessionLogExporter));
85
+ try {
86
+ if (options?.sessionLogExporter && shared.sessionLogSpanProcessor) {
87
+ registrations.push(shared.sessionLogSpanProcessor.register(options.sessionLogExporter));
88
+ }
89
+ if (options?.usageEventsExporter && shared.usageEventsSpanProcessor) {
90
+ registrations.push(shared.usageEventsSpanProcessor.register(options.usageEventsExporter));
91
+ }
92
+ if (options?.monitorJsonExporter && shared.monitorJsonMetricExporter) {
93
+ registrations.push(shared.monitorJsonMetricExporter.register(options.monitorJsonExporter));
94
+ }
74
95
  }
75
- if (options?.monitorJsonExporter && shared.monitorJsonMetricExporter) {
76
- registrations.push(shared.monitorJsonMetricExporter.register(options.monitorJsonExporter));
96
+ catch (error) {
97
+ unregisterAll(registrations);
98
+ throw error;
77
99
  }
78
100
  return registrations;
79
101
  }
80
- function createSpanProcessorState() {
102
+ function validateRunScopedExporterIds(options) {
103
+ const runIds = [
104
+ options?.sessionLogExporter?.runId,
105
+ options?.usageEventsExporter?.runId,
106
+ options?.monitorJsonExporter?.runId,
107
+ ].filter((runId) => typeof runId === 'string');
108
+ const uniqueRunIds = new Set(runIds);
109
+ if (uniqueRunIds.size > 1) {
110
+ throw new Error('Run-scoped OpenTelemetry exporters must share the same runId');
111
+ }
112
+ }
113
+ function unregisterAll(registrations) {
114
+ for (const unregister of registrations.splice(0).reverse()) {
115
+ unregister();
116
+ }
117
+ }
118
+ async function createSpanProcessorState(otlpConfig) {
81
119
  const sessionLogSpanProcessor = new SessionLogSpanProcessor();
82
- return { spanProcessors: [sessionLogSpanProcessor], sessionLogSpanProcessor };
120
+ const usageEventsSpanProcessor = new UsageEventsSpanProcessor();
121
+ const spanProcessors = [sessionLogSpanProcessor, usageEventsSpanProcessor];
122
+ if (otlpConfig.enabled) {
123
+ spanProcessors.push(await createOtlpSpanProcessor(otlpConfig));
124
+ }
125
+ return {
126
+ spanProcessors,
127
+ sessionLogSpanProcessor,
128
+ usageEventsSpanProcessor,
129
+ };
83
130
  }
84
- async function createMetricReaders() {
131
+ async function createOtlpSpanProcessor(otlpConfig) {
132
+ const [{ OTLPTraceExporter }, { BatchSpanProcessor }] = await Promise.all([
133
+ import('@opentelemetry/exporter-trace-otlp-http'),
134
+ import('@opentelemetry/sdk-trace-base'),
135
+ ]);
136
+ return new NonBlockingSpanProcessor(new BatchSpanProcessor(new OTLPTraceExporter({ url: otlpConfig.traces.endpoint })));
137
+ }
138
+ class NonBlockingSpanProcessor {
139
+ delegate;
140
+ constructor(delegate) {
141
+ this.delegate = delegate;
142
+ }
143
+ onStart(...args) {
144
+ this.delegate.onStart(...args);
145
+ }
146
+ onEnd(...args) {
147
+ this.delegate.onEnd(...args);
148
+ }
149
+ async forceFlush() {
150
+ await continueOnNonBlockingSpanProcessorFailure('forceFlush', () => this.delegate.forceFlush());
151
+ }
152
+ async shutdown() {
153
+ await continueOnNonBlockingSpanProcessorFailure('shutdown', () => this.delegate.shutdown());
154
+ }
155
+ }
156
+ async function continueOnNonBlockingSpanProcessorFailure(operation, run) {
157
+ try {
158
+ await run();
159
+ }
160
+ catch (error) {
161
+ log.warn(`Non-blocking OpenTelemetry span processor ${operation} failed; continuing shutdown`, {
162
+ errorType: getErrorType(error),
163
+ });
164
+ }
165
+ }
166
+ async function createMetricReaders(otlpConfig) {
85
167
  const { PeriodicExportingMetricReader } = await import('@opentelemetry/sdk-metrics');
86
168
  const monitorJsonMetricExporter = new MonitorJsonMetricExporter();
169
+ const metricReaders = [
170
+ new PeriodicExportingMetricReader({
171
+ exporter: monitorJsonMetricExporter,
172
+ exportIntervalMillis: 1000,
173
+ }),
174
+ ];
175
+ const nonBlockingMetricReaders = [];
176
+ if (otlpConfig.enabled) {
177
+ const { OTLPMetricExporter } = await import('@opentelemetry/exporter-metrics-otlp-http');
178
+ const otlpMetricReader = new PeriodicExportingMetricReader({
179
+ exporter: new OTLPMetricExporter({ url: otlpConfig.metrics.endpoint }),
180
+ });
181
+ metricReaders.push(otlpMetricReader);
182
+ nonBlockingMetricReaders.push(otlpMetricReader);
183
+ }
87
184
  return {
88
- metricReaders: [
89
- new PeriodicExportingMetricReader({
90
- exporter: monitorJsonMetricExporter,
91
- exportIntervalMillis: 1000,
92
- }),
93
- ],
185
+ metricReaders,
186
+ nonBlockingMetricReaders,
94
187
  monitorJsonMetricExporter,
95
188
  };
96
189
  }
97
- async function startSdk() {
98
- const { spanProcessors, sessionLogSpanProcessor } = createSpanProcessorState();
99
- const { metricReaders, monitorJsonMetricExporter } = await createMetricReaders();
190
+ async function startSdk(otlpConfig) {
191
+ const { spanProcessors, sessionLogSpanProcessor, usageEventsSpanProcessor } = await createSpanProcessorState(otlpConfig);
192
+ const { metricReaders, nonBlockingMetricReaders, monitorJsonMetricExporter } = await createMetricReaders(otlpConfig);
100
193
  const { NodeSDK, resources } = await import('@opentelemetry/sdk-node');
101
194
  const sdk = new NodeSDK({
102
195
  autoDetectResources: false,
@@ -113,12 +206,32 @@ async function startSdk() {
113
206
  return {
114
207
  sdk,
115
208
  metricReaders,
209
+ nonBlockingMetricReaders,
116
210
  sessionLogSpanProcessor,
211
+ usageEventsSpanProcessor,
117
212
  monitorJsonMetricExporter,
118
213
  };
119
214
  }
120
- async function forceFlushMetricReaders(metricReaders) {
121
- await Promise.all(metricReaders.map((reader) => reader.forceFlush()));
215
+ async function forceFlushMetricReaders(metricReaders, nonBlockingMetricReaders) {
216
+ const nonBlockingReaders = new Set(nonBlockingMetricReaders);
217
+ await Promise.all(metricReaders.map(async (reader) => {
218
+ if (nonBlockingReaders.has(reader)) {
219
+ try {
220
+ await reader.forceFlush();
221
+ }
222
+ catch (error) {
223
+ log.warn('Non-blocking OpenTelemetry metric reader forceFlush failed; continuing shutdown', {
224
+ errorType: getErrorType(error),
225
+ });
226
+ return;
227
+ }
228
+ return;
229
+ }
230
+ await reader.forceFlush();
231
+ }));
232
+ }
233
+ function getErrorType(error) {
234
+ return error instanceof Error ? error.name : typeof error;
122
235
  }
123
236
  async function releaseSdk(shared) {
124
237
  shared.refCount -= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"otelFoundation.js","sourceRoot":"","sources":["../../../src/infra/observability/otelFoundation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAI5C,OAAO,EAAE,uBAAuB,EAAuC,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAAE,yBAAyB,EAAyC,MAAM,gCAAgC,CAAC;AAElH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAwB,CAAC;AA4B1F,IAAI,SAAoC,CAAC;AACzC,IAAI,WAA+C,CAAC;AACpD,IAAI,WAAsC,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,MAAmC,EACnC,UAA6C,SAAS;IAEtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5D,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO;QACL,KAAK,CAAC,QAAQ;YACZ,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpC,MAAM,uBAAuB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,UAAU,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,UAAU;IACvB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,WAAW,CAAC;IACpB,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;IACrC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO;QACL,KAAK,CAAC,QAAQ,KAAmB,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa;IAC1B,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,QAAQ,EAAE,CAAC,IAAI,CAC3B,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,MAAM,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC3C,SAAS,GAAG,MAAM,CAAC;YACnB,WAAW,GAAG,SAAS,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,WAAW,GAAG,SAAS,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAC3B,MAAqB,EACrB,OAA0C;IAE1C,MAAM,aAAa,GAAuB,EAAE,CAAC;IAC7C,IAAI,OAAO,EAAE,kBAAkB,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAClE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,OAAO,EAAE,mBAAmB,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;QACrE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAC,uBAAuB,CAAC,EAAE,uBAAuB,EAAE,CAAC;AAChF,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IACrF,MAAM,yBAAyB,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAClE,OAAO;QACL,aAAa,EAAE;YACb,IAAI,6BAA6B,CAAC;gBAChC,QAAQ,EAAE,yBAAyB;gBACnC,oBAAoB,EAAE,IAAI;aAC3B,CAAC;SACH;QACD,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAC/E,MAAM,EAAE,aAAa,EAAE,yBAAyB,EAAE,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACjF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACvE,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC;QACtB,mBAAmB,EAAE,KAAK;QAC1B,gBAAgB,EAAE,EAAE;QACpB,mBAAmB,EAAE,EAAE;QACvB,aAAa;QACb,QAAQ,EAAE,SAAS,CAAC,sBAAsB,CAAC;YACzC,cAAc,EAAE,MAAM;YACtB,iBAAiB,EAAE,YAAY;SAChC,CAAC;QACF,cAAc;KACf,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,EAAE,CAAC;IACZ,OAAO;QACL,GAAG;QACH,aAAa;QACb,uBAAuB;QACvB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,aAA8B;IACnE,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,MAAqB;IAC7C,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACrB,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;QACzD,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,SAAS,GAAG,SAAS,CAAC;QACxB,CAAC;QACD,IAAI,WAAW,KAAK,eAAe,EAAE,CAAC;YACpC,WAAW,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IACH,WAAW,GAAG,eAAe,CAAC;IAC9B,MAAM,eAAe,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"otelFoundation.js","sourceRoot":"","sources":["../../../src/infra/observability/otelFoundation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ReadableSpan, SpanProcessor } from '@opentelemetry/sdk-trace-base';
2
+ export interface UsageEventsSpanProcessorOptions {
3
+ runId: string;
4
+ sessionId: string;
5
+ phaseUsageLogPath: string;
6
+ }
7
+ export declare class UsageEventsSpanProcessor implements SpanProcessor {
8
+ private readonly registrations;
9
+ private readonly reportedWriteFailureRunIds;
10
+ constructor(options?: UsageEventsSpanProcessorOptions);
11
+ register(options: UsageEventsSpanProcessorOptions): () => void;
12
+ onStart(): void;
13
+ onEnd(span: ReadableSpan): void;
14
+ private optionsForSpan;
15
+ private safeAppend;
16
+ forceFlush(): Promise<void>;
17
+ shutdown(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=usageEventsSpanProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageEventsSpanProcessor.d.ts","sourceRoot":"","sources":["../../../src/infra/observability/usageEventsSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAWjF,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,wBAAyB,YAAW,aAAa;IAC5D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsD;IACpF,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAqB;gBAEpD,OAAO,CAAC,EAAE,+BAA+B;IAMrD,QAAQ,CAAC,OAAO,EAAE,+BAA+B,GAAG,MAAM,IAAI;IAe9D,OAAO,IAAI,IAAI;IAEf,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAY/B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,UAAU;IAoBZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
@@ -0,0 +1,77 @@
1
+ import { appendJsonLine } from '../fs/index.js';
2
+ import { createLogger } from '../../shared/utils/debug.js';
3
+ import { mapSpanEndToPhaseUsageEvent, } from '../../core/logging/phaseUsageEvent.js';
4
+ const log = createLogger('usage-events-span-processor');
5
+ export class UsageEventsSpanProcessor {
6
+ registrations = new Map();
7
+ reportedWriteFailureRunIds = new Set();
8
+ constructor(options) {
9
+ if (options) {
10
+ this.register(options);
11
+ }
12
+ }
13
+ register(options) {
14
+ if (this.registrations.has(options.runId)) {
15
+ log.warn('Ignoring duplicate phase usage event registration', {
16
+ runId: options.runId,
17
+ phaseUsageLogPath: options.phaseUsageLogPath,
18
+ });
19
+ return () => { };
20
+ }
21
+ this.registrations.set(options.runId, options);
22
+ return () => {
23
+ this.registrations.delete(options.runId);
24
+ this.reportedWriteFailureRunIds.delete(options.runId);
25
+ };
26
+ }
27
+ onStart() { }
28
+ onEnd(span) {
29
+ const options = this.optionsForSpan(span);
30
+ if (!options) {
31
+ return;
32
+ }
33
+ const record = mapSpanEndToPhaseUsageEvent(toSpanSnapshot(span), {
34
+ runId: options.runId,
35
+ sessionId: options.sessionId,
36
+ });
37
+ this.safeAppend(options, record);
38
+ }
39
+ optionsForSpan(span) {
40
+ const runId = span.attributes['takt.run.id'];
41
+ return typeof runId === 'string' ? this.registrations.get(runId) : undefined;
42
+ }
43
+ safeAppend(options, record) {
44
+ if (!record) {
45
+ return;
46
+ }
47
+ try {
48
+ appendJsonLine(options.phaseUsageLogPath, record);
49
+ }
50
+ catch (error) {
51
+ if (this.reportedWriteFailureRunIds.has(options.runId)) {
52
+ return;
53
+ }
54
+ this.reportedWriteFailureRunIds.add(options.runId);
55
+ const message = error instanceof Error ? error.message : String(error);
56
+ log.error('Failed to append phase usage event log record', {
57
+ runId: options.runId,
58
+ phaseUsageLogPath: options.phaseUsageLogPath,
59
+ error: message,
60
+ });
61
+ }
62
+ }
63
+ async forceFlush() { }
64
+ async shutdown() {
65
+ this.registrations.clear();
66
+ this.reportedWriteFailureRunIds.clear();
67
+ }
68
+ }
69
+ function toSpanSnapshot(span) {
70
+ return {
71
+ name: span.name,
72
+ attributes: span.attributes,
73
+ startTime: span.startTime,
74
+ endTime: span.endTime,
75
+ };
76
+ }
77
+ //# sourceMappingURL=usageEventsSpanProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageEventsSpanProcessor.js","sourceRoot":"","sources":["../../../src/infra/observability/usageEventsSpanProcessor.ts"],"names":[],"mappings":"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"}
@@ -159,6 +159,25 @@ export declare function emitText(onStream: StreamCallback | undefined, text: str
159
159
  export declare function emitThinking(onStream: StreamCallback | undefined, thinking: string): void;
160
160
  export declare function emitToolUse(onStream: StreamCallback | undefined, tool: string, input: Record<string, unknown>, id: string): void;
161
161
  export declare function emitToolResult(onStream: StreamCallback | undefined, content: string, isError: boolean): void;
162
+ export declare function emitPermissionAsked(onStream: StreamCallback | undefined, data: {
163
+ requestId: string;
164
+ sessionId: string;
165
+ permission: string;
166
+ patterns: string[];
167
+ always: string[];
168
+ reply: string;
169
+ }): void;
170
+ export declare function emitPermissionSummary(onStream: StreamCallback | undefined, data: {
171
+ sessionId: string;
172
+ permissionMode?: string;
173
+ allowedTools?: readonly string[];
174
+ networkAccess?: boolean;
175
+ resolvedPermissions: Array<{
176
+ permission: string;
177
+ pattern: string;
178
+ action: string;
179
+ }>;
180
+ }): void;
162
181
  export declare function emitResult(onStream: StreamCallback | undefined, success: boolean, result: string, sessionId: string): void;
163
182
  /** Process a message.part.updated event and emit appropriate stream events */
164
183
  export declare function handlePartUpdated(part: OpenCodePart, delta: string | undefined, onStream: StreamCallback | undefined, state: StreamTrackingState): void;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenCodeStreamHandler.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/OpenCodeStreamHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenCodeStreamHandler.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/OpenCodeStreamHandler.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,16 @@ export function emitToolResult(onStream, content, isError) {
43
43
  return;
44
44
  onStream({ type: 'tool_result', data: { content, isError } });
45
45
  }
46
+ export function emitPermissionAsked(onStream, data) {
47
+ if (!onStream)
48
+ return;
49
+ onStream({ type: 'permission_asked', data });
50
+ }
51
+ export function emitPermissionSummary(onStream, data) {
52
+ if (!onStream)
53
+ return;
54
+ onStream({ type: 'permission_summary', data });
55
+ }
46
56
  export function emitResult(onStream, success, result, sessionId) {
47
57
  if (!onStream)
48
58
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"OpenCodeStreamHandler.js","sourceRoot":"","sources":["../../../src/infra/opencode/OpenCodeStreamHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenCodeStreamHandler.js","sourceRoot":"","sources":["../../../src/infra/opencode/OpenCodeStreamHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function mapsToOpenCodeEditPermission(tool: string): boolean;
2
+ //# sourceMappingURL=allowedTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowedTools.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/allowedTools.ts"],"names":[],"mappings":"AAOA,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElE"}
@@ -0,0 +1,10 @@
1
+ const OPENCODE_EDIT_PERMISSION_TOOL_NAMES = new Set([
2
+ 'edit',
3
+ 'write',
4
+ 'apply_patch',
5
+ 'patch',
6
+ ]);
7
+ export function mapsToOpenCodeEditPermission(tool) {
8
+ return OPENCODE_EDIT_PERMISSION_TOOL_NAMES.has(tool.trim().toLowerCase());
9
+ }
10
+ //# sourceMappingURL=allowedTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowedTools.js","sourceRoot":"","sources":["../../../src/infra/opencode/allowedTools.ts"],"names":[],"mappings":"AAAA,MAAM,mCAAmC,GAAG,IAAI,GAAG,CAAC;IAClD,MAAM;IACN,OAAO;IACP,aAAa;IACb,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACvD,OAAO,mCAAmC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAC5E,CAAC"}
@@ -4,9 +4,13 @@
4
4
  * Uses @opencode-ai/sdk/v2 for native TypeScript integration.
5
5
  * Follows the same patterns as the Codex client.
6
6
  */
7
+ import { createOpencode } from '@opencode-ai/sdk/v2';
7
8
  import type { AgentResponse } from '../../core/models/index.js';
8
9
  import { type OpenCodeCallOptions } from './types.js';
9
10
  export type { OpenCodeCallOptions } from './types.js';
11
+ type OpencodeClient = Awaited<ReturnType<typeof createOpencode>>['client'];
12
+ type OpenCodeSessionSnapshot = NonNullable<Awaited<ReturnType<OpencodeClient['session']['get']>>['data']>;
13
+ export declare function getOpenCodeSessionSnapshot(model: string, sessionID: string, directory: string, apiKey?: string): Promise<OpenCodeSessionSnapshot>;
10
14
  export declare function resetSharedServer(): void;
11
15
  /**
12
16
  * Client for OpenCode SDK agent interactions.
@@ -17,8 +21,6 @@ export declare function resetSharedServer(): void;
17
21
  export declare class OpenCodeClient {
18
22
  private isRetriableError;
19
23
  private waitForRetryDelay;
20
- /** Build a prompt suffix that instructs the agent to return JSON matching the schema */
21
- private buildStructuredOutputSuffix;
22
24
  private buildRateLimitedResponse;
23
25
  /** Call OpenCode with an agent prompt */
24
26
  call(agentType: string, prompt: string, options: OpenCodeCallOptions): Promise<AgentResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAapB,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AA0FtD,wBAAgB,iBAAiB,IAAI,IAAI,CAGxC;AAkJD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB;YAaV,iBAAiB;IA+B/B,wFAAwF;IACxF,OAAO,CAAC,2BAA2B;IAWnC,OAAO,CAAC,wBAAwB;IAahC,yCAAyC;IACnC,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IA4bzB,+EAA+E;IACzE,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;CAM1B;AAID,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAQhE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAepB,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAqBtD,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3E,KAAK,uBAAuB,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAyI1G,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,uBAAuB,CAAC,CAWlC;AAoCD,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC;AAuKD;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,gBAAgB;YAkBV,iBAAiB;IA+B/B,OAAO,CAAC,wBAAwB;IAahC,yCAAyC;IACnC,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAwhBzB,+EAA+E;IACzE,UAAU,CACd,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC;CAM1B;AAID,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB"}