takt 0.43.0 → 0.45.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 (399) hide show
  1. package/README.md +5 -2
  2. package/builtins/en/config.yaml +3 -1
  3. package/builtins/en/workflows/backend-cqrs.yaml +21 -0
  4. package/builtins/en/workflows/backend.yaml +21 -0
  5. package/builtins/en/workflows/dual-cqrs.yaml +21 -0
  6. package/builtins/en/workflows/dual.yaml +21 -0
  7. package/builtins/en/workflows/frontend-maintenance.yaml +21 -0
  8. package/builtins/en/workflows/frontend.yaml +21 -0
  9. package/builtins/en/workflows/review-backend-cqrs.yaml +22 -0
  10. package/builtins/en/workflows/review-backend.yaml +22 -0
  11. package/builtins/en/workflows/review-default.yaml +27 -2
  12. package/builtins/en/workflows/review-dual-cqrs.yaml +22 -0
  13. package/builtins/en/workflows/review-dual.yaml +22 -0
  14. package/builtins/en/workflows/review-fix-backend-cqrs.yaml +22 -0
  15. package/builtins/en/workflows/review-fix-backend.yaml +22 -0
  16. package/builtins/en/workflows/review-fix-default.yaml +23 -1
  17. package/builtins/en/workflows/review-fix-dual-cqrs.yaml +22 -0
  18. package/builtins/en/workflows/review-fix-dual.yaml +22 -0
  19. package/builtins/en/workflows/review-fix-frontend.yaml +22 -0
  20. package/builtins/en/workflows/review-fix-takt-default.yaml +23 -1
  21. package/builtins/en/workflows/review-frontend.yaml +22 -0
  22. package/builtins/en/workflows/review-takt-default.yaml +27 -2
  23. package/builtins/en/workflows/terraform.yaml +23 -2
  24. package/builtins/ja/config.yaml +3 -1
  25. package/builtins/ja/workflows/backend-cqrs.yaml +21 -0
  26. package/builtins/ja/workflows/backend.yaml +21 -0
  27. package/builtins/ja/workflows/dual-cqrs.yaml +21 -0
  28. package/builtins/ja/workflows/dual.yaml +21 -0
  29. package/builtins/ja/workflows/frontend-maintenance.yaml +21 -0
  30. package/builtins/ja/workflows/frontend.yaml +21 -0
  31. package/builtins/ja/workflows/review-backend-cqrs.yaml +22 -0
  32. package/builtins/ja/workflows/review-backend.yaml +22 -0
  33. package/builtins/ja/workflows/review-default.yaml +26 -2
  34. package/builtins/ja/workflows/review-dual-cqrs.yaml +22 -0
  35. package/builtins/ja/workflows/review-dual.yaml +22 -0
  36. package/builtins/ja/workflows/review-fix-backend-cqrs.yaml +22 -0
  37. package/builtins/ja/workflows/review-fix-backend.yaml +22 -0
  38. package/builtins/ja/workflows/review-fix-default.yaml +23 -1
  39. package/builtins/ja/workflows/review-fix-dual-cqrs.yaml +22 -0
  40. package/builtins/ja/workflows/review-fix-dual.yaml +22 -0
  41. package/builtins/ja/workflows/review-fix-frontend.yaml +22 -0
  42. package/builtins/ja/workflows/review-fix-takt-default.yaml +23 -1
  43. package/builtins/ja/workflows/review-frontend.yaml +22 -0
  44. package/builtins/ja/workflows/review-takt-default.yaml +26 -2
  45. package/builtins/ja/workflows/terraform.yaml +23 -2
  46. package/dist/agents/judge-status-usecase.d.ts +17 -7
  47. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  48. package/dist/agents/judge-status-usecase.js +25 -13
  49. package/dist/agents/judge-status-usecase.js.map +1 -1
  50. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  51. package/dist/agents/structured-caller/prompt-based-structured-caller.js +7 -14
  52. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  53. package/dist/app/cli/program.js +1 -1
  54. package/dist/app/cli/program.js.map +1 -1
  55. package/dist/commands/analyze-usage.d.ts +26 -0
  56. package/dist/commands/analyze-usage.d.ts.map +1 -0
  57. package/dist/commands/analyze-usage.js +305 -0
  58. package/dist/commands/analyze-usage.js.map +1 -0
  59. package/dist/commands/repertoire/add.d.ts.map +1 -1
  60. package/dist/commands/repertoire/add.js +7 -11
  61. package/dist/commands/repertoire/add.js.map +1 -1
  62. package/dist/core/logging/contracts.d.ts +1 -0
  63. package/dist/core/logging/contracts.d.ts.map +1 -1
  64. package/dist/core/logging/contracts.js +1 -0
  65. package/dist/core/logging/contracts.js.map +1 -1
  66. package/dist/core/logging/phaseUsageEvent.d.ts +40 -0
  67. package/dist/core/logging/phaseUsageEvent.d.ts.map +1 -0
  68. package/dist/core/logging/phaseUsageEvent.js +195 -0
  69. package/dist/core/logging/phaseUsageEvent.js.map +1 -0
  70. package/dist/core/logging/providerEvent.d.ts +4 -0
  71. package/dist/core/logging/providerEvent.d.ts.map +1 -1
  72. package/dist/core/logging/providerEvent.js +31 -27
  73. package/dist/core/logging/providerEvent.js.map +1 -1
  74. package/dist/core/logging/span-to-ndjson-mapper.d.ts +10 -0
  75. package/dist/core/logging/span-to-ndjson-mapper.d.ts.map +1 -0
  76. package/dist/core/logging/span-to-ndjson-mapper.js +311 -0
  77. package/dist/core/logging/span-to-ndjson-mapper.js.map +1 -0
  78. package/dist/core/models/config-schemas.d.ts +40 -0
  79. package/dist/core/models/config-schemas.d.ts.map +1 -1
  80. package/dist/core/models/config-schemas.js +2 -0
  81. package/dist/core/models/config-schemas.js.map +1 -1
  82. package/dist/core/models/config-types.d.ts +8 -2
  83. package/dist/core/models/config-types.d.ts.map +1 -1
  84. package/dist/core/models/provider-profiles.d.ts +2 -1
  85. package/dist/core/models/provider-profiles.d.ts.map +1 -1
  86. package/dist/core/models/provider-profiles.js +1 -1
  87. package/dist/core/models/provider-profiles.js.map +1 -1
  88. package/dist/core/models/schema-base.d.ts +27 -0
  89. package/dist/core/models/schema-base.d.ts.map +1 -1
  90. package/dist/core/models/schema-base.js +2 -0
  91. package/dist/core/models/schema-base.js.map +1 -1
  92. package/dist/core/models/workflow-schemas.d.ts +59 -32
  93. package/dist/core/models/workflow-schemas.d.ts.map +1 -1
  94. package/dist/core/workflow/arpeggio/types.d.ts +3 -0
  95. package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
  96. package/dist/core/workflow/engine/ArpeggioRunner.d.ts +6 -1
  97. package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
  98. package/dist/core/workflow/engine/ArpeggioRunner.js +97 -51
  99. package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
  100. package/dist/core/workflow/engine/OptionsBuilder.d.ts +3 -2
  101. package/dist/core/workflow/engine/OptionsBuilder.d.ts.map +1 -1
  102. package/dist/core/workflow/engine/OptionsBuilder.js +8 -1
  103. package/dist/core/workflow/engine/OptionsBuilder.js.map +1 -1
  104. package/dist/core/workflow/engine/ParallelRunner.d.ts +6 -1
  105. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  106. package/dist/core/workflow/engine/ParallelRunner.js +32 -3
  107. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  108. package/dist/core/workflow/engine/StepExecutor.d.ts +5 -1
  109. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  110. package/dist/core/workflow/engine/StepExecutor.js +32 -3
  111. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  112. package/dist/core/workflow/engine/TeamLeaderRunner.d.ts +6 -1
  113. package/dist/core/workflow/engine/TeamLeaderRunner.d.ts.map +1 -1
  114. package/dist/core/workflow/engine/TeamLeaderRunner.js +41 -7
  115. package/dist/core/workflow/engine/TeamLeaderRunner.js.map +1 -1
  116. package/dist/core/workflow/engine/WorkflowEngine.d.ts.map +1 -1
  117. package/dist/core/workflow/engine/WorkflowEngine.js +7 -0
  118. package/dist/core/workflow/engine/WorkflowEngine.js.map +1 -1
  119. package/dist/core/workflow/engine/WorkflowEngineSetup.d.ts.map +1 -1
  120. package/dist/core/workflow/engine/WorkflowEngineSetup.js +21 -1
  121. package/dist/core/workflow/engine/WorkflowEngineSetup.js.map +1 -1
  122. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts +2 -0
  123. package/dist/core/workflow/engine/WorkflowRunLoop.d.ts.map +1 -1
  124. package/dist/core/workflow/engine/WorkflowRunLoop.js +10 -0
  125. package/dist/core/workflow/engine/WorkflowRunLoop.js.map +1 -1
  126. package/dist/core/workflow/engine/team-leader-part-runner.d.ts +10 -2
  127. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  128. package/dist/core/workflow/engine/team-leader-part-runner.js +20 -2
  129. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  130. package/dist/core/workflow/observability/workflowSpans.d.ts +48 -2
  131. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  132. package/dist/core/workflow/observability/workflowSpans.js +303 -8
  133. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  134. package/dist/core/workflow/permission-profile-resolution.d.ts +1 -1
  135. package/dist/core/workflow/permission-profile-resolution.d.ts.map +1 -1
  136. package/dist/core/workflow/permission-profile-resolution.js +10 -8
  137. package/dist/core/workflow/permission-profile-resolution.js.map +1 -1
  138. package/dist/core/workflow/phase-runner.d.ts +11 -1
  139. package/dist/core/workflow/phase-runner.d.ts.map +1 -1
  140. package/dist/core/workflow/phase-runner.js.map +1 -1
  141. package/dist/core/workflow/report-phase-runner.d.ts.map +1 -1
  142. package/dist/core/workflow/report-phase-runner.js +48 -11
  143. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  144. package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
  145. package/dist/core/workflow/status-judgment-phase.js +37 -2
  146. package/dist/core/workflow/status-judgment-phase.js.map +1 -1
  147. package/dist/core/workflow/types.d.ts +6 -0
  148. package/dist/core/workflow/types.d.ts.map +1 -1
  149. package/dist/features/interactive/aiCaller.d.ts +6 -1
  150. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  151. package/dist/features/interactive/aiCaller.js +10 -3
  152. package/dist/features/interactive/aiCaller.js.map +1 -1
  153. package/dist/features/interactive/clipboardImage.d.ts +3 -0
  154. package/dist/features/interactive/clipboardImage.d.ts.map +1 -0
  155. package/dist/features/interactive/clipboardImage.js +91 -0
  156. package/dist/features/interactive/clipboardImage.js.map +1 -0
  157. package/dist/features/interactive/clipboardImageFeedback.d.ts +2 -0
  158. package/dist/features/interactive/clipboardImageFeedback.d.ts.map +1 -0
  159. package/dist/features/interactive/clipboardImageFeedback.js +6 -0
  160. package/dist/features/interactive/clipboardImageFeedback.js.map +1 -0
  161. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  162. package/dist/features/interactive/conversationLoop.js +8 -3
  163. package/dist/features/interactive/conversationLoop.js.map +1 -1
  164. package/dist/features/interactive/imageAttachments.d.ts +3 -0
  165. package/dist/features/interactive/imageAttachments.d.ts.map +1 -1
  166. package/dist/features/interactive/imageAttachments.js +18 -0
  167. package/dist/features/interactive/imageAttachments.js.map +1 -1
  168. package/dist/features/interactive/interactive.d.ts +1 -0
  169. package/dist/features/interactive/interactive.d.ts.map +1 -1
  170. package/dist/features/interactive/interactive.js.map +1 -1
  171. package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
  172. package/dist/features/interactive/interactiveInput.js +4 -1
  173. package/dist/features/interactive/interactiveInput.js.map +1 -1
  174. package/dist/features/interactive/lineEditor.d.ts +18 -14
  175. package/dist/features/interactive/lineEditor.d.ts.map +1 -1
  176. package/dist/features/interactive/lineEditor.js +174 -80
  177. package/dist/features/interactive/lineEditor.js.map +1 -1
  178. package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
  179. package/dist/features/interactive/passthroughMode.js +4 -1
  180. package/dist/features/interactive/passthroughMode.js.map +1 -1
  181. package/dist/features/interactive/quietMode.d.ts.map +1 -1
  182. package/dist/features/interactive/quietMode.js +5 -2
  183. package/dist/features/interactive/quietMode.js.map +1 -1
  184. package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
  185. package/dist/features/interactive/slashCommandRegistry.js +1 -0
  186. package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
  187. package/dist/features/repertoire/takt-repertoire-config.d.ts.map +1 -1
  188. package/dist/features/repertoire/takt-repertoire-config.js +2 -1
  189. package/dist/features/repertoire/takt-repertoire-config.js.map +1 -1
  190. package/dist/features/tasks/attachments.d.ts.map +1 -1
  191. package/dist/features/tasks/attachments.js +18 -1
  192. package/dist/features/tasks/attachments.js.map +1 -1
  193. package/dist/features/tasks/execute/runAllTasks.js +3 -3
  194. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  195. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  196. package/dist/features/tasks/execute/selectAndExecute.js +1 -2
  197. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  198. package/dist/features/tasks/execute/taskSpecContext.d.ts +1 -0
  199. package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
  200. package/dist/features/tasks/execute/taskSpecContext.js +25 -1
  201. package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
  202. package/dist/features/tasks/execute/workflowExecution.js +2 -0
  203. package/dist/features/tasks/execute/workflowExecution.js.map +1 -1
  204. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts +1 -0
  205. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  206. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +32 -1
  207. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  208. package/dist/features/tasks/watch/index.js +3 -3
  209. package/dist/features/tasks/watch/index.js.map +1 -1
  210. package/dist/infra/claude/client.d.ts.map +1 -1
  211. package/dist/infra/claude/client.js +1 -0
  212. package/dist/infra/claude/client.js.map +1 -1
  213. package/dist/infra/claude/executor.d.ts.map +1 -1
  214. package/dist/infra/claude/executor.js +5 -35
  215. package/dist/infra/claude/executor.js.map +1 -1
  216. package/dist/infra/claude/image-input.d.ts +4 -0
  217. package/dist/infra/claude/image-input.d.ts.map +1 -0
  218. package/dist/infra/claude/image-input.js +63 -0
  219. package/dist/infra/claude/image-input.js.map +1 -0
  220. package/dist/infra/claude/types.d.ts +3 -0
  221. package/dist/infra/claude/types.d.ts.map +1 -1
  222. package/dist/infra/claude/usage.d.ts +3 -0
  223. package/dist/infra/claude/usage.d.ts.map +1 -0
  224. package/dist/infra/claude/usage.js +45 -0
  225. package/dist/infra/claude/usage.js.map +1 -0
  226. package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
  227. package/dist/infra/claude-headless/result-response.js +1 -0
  228. package/dist/infra/claude-headless/result-response.js.map +1 -1
  229. package/dist/infra/claude-headless/stream-json-lines.d.ts +2 -0
  230. package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -1
  231. package/dist/infra/claude-headless/stream-json-lines.js +4 -0
  232. package/dist/infra/claude-headless/stream-json-lines.js.map +1 -1
  233. package/dist/infra/codex/client.d.ts.map +1 -1
  234. package/dist/infra/codex/client.js +31 -8
  235. package/dist/infra/codex/client.js.map +1 -1
  236. package/dist/infra/codex/types.d.ts +2 -0
  237. package/dist/infra/codex/types.d.ts.map +1 -1
  238. package/dist/infra/codex/types.js.map +1 -1
  239. package/dist/infra/config/configNormalizers.d.ts +2 -1
  240. package/dist/infra/config/configNormalizers.d.ts.map +1 -1
  241. package/dist/infra/config/configNormalizers.js.map +1 -1
  242. package/dist/infra/config/env/global-current-env-specs.d.ts.map +1 -1
  243. package/dist/infra/config/env/global-current-env-specs.js +2 -0
  244. package/dist/infra/config/env/global-current-env-specs.js.map +1 -1
  245. package/dist/infra/config/global/globalConfig.d.ts +1 -1
  246. package/dist/infra/config/global/globalConfig.d.ts.map +1 -1
  247. package/dist/infra/config/global/globalConfig.js +1 -1
  248. package/dist/infra/config/global/globalConfig.js.map +1 -1
  249. package/dist/infra/config/global/globalConfigCore.d.ts.map +1 -1
  250. package/dist/infra/config/global/globalConfigCore.js +2 -0
  251. package/dist/infra/config/global/globalConfigCore.js.map +1 -1
  252. package/dist/infra/config/global/globalConfigResolvers.d.ts +2 -0
  253. package/dist/infra/config/global/globalConfigResolvers.d.ts.map +1 -1
  254. package/dist/infra/config/global/globalConfigResolvers.js +20 -0
  255. package/dist/infra/config/global/globalConfigResolvers.js.map +1 -1
  256. package/dist/infra/config/global/globalConfigSerializer.d.ts.map +1 -1
  257. package/dist/infra/config/global/globalConfigSerializer.js +6 -0
  258. package/dist/infra/config/global/globalConfigSerializer.js.map +1 -1
  259. package/dist/infra/config/global/index.d.ts +1 -1
  260. package/dist/infra/config/global/index.d.ts.map +1 -1
  261. package/dist/infra/config/global/index.js +1 -1
  262. package/dist/infra/config/global/index.js.map +1 -1
  263. package/dist/infra/config/global/initialization.d.ts +4 -1
  264. package/dist/infra/config/global/initialization.d.ts.map +1 -1
  265. package/dist/infra/config/global/initialization.js +1 -0
  266. package/dist/infra/config/global/initialization.js.map +1 -1
  267. package/dist/infra/config/traced/tracedConfigSchema.d.ts.map +1 -1
  268. package/dist/infra/config/traced/tracedConfigSchema.js +4 -0
  269. package/dist/infra/config/traced/tracedConfigSchema.js.map +1 -1
  270. package/dist/infra/fs/index.d.ts +1 -0
  271. package/dist/infra/fs/index.d.ts.map +1 -1
  272. package/dist/infra/fs/index.js +1 -0
  273. package/dist/infra/fs/index.js.map +1 -1
  274. package/dist/infra/fs/jsonl.d.ts +2 -0
  275. package/dist/infra/fs/jsonl.d.ts.map +1 -0
  276. package/dist/infra/fs/jsonl.js +5 -0
  277. package/dist/infra/fs/jsonl.js.map +1 -0
  278. package/dist/infra/kiro/client.d.ts +8 -0
  279. package/dist/infra/kiro/client.d.ts.map +1 -0
  280. package/dist/infra/kiro/client.js +177 -0
  281. package/dist/infra/kiro/client.js.map +1 -0
  282. package/dist/infra/kiro/index.d.ts +2 -0
  283. package/dist/infra/kiro/index.d.ts.map +1 -0
  284. package/dist/infra/kiro/index.js +2 -0
  285. package/dist/infra/kiro/index.js.map +1 -0
  286. package/dist/infra/kiro/process.d.ts +13 -0
  287. package/dist/infra/kiro/process.d.ts.map +1 -0
  288. package/dist/infra/kiro/process.js +212 -0
  289. package/dist/infra/kiro/process.js.map +1 -0
  290. package/dist/infra/kiro/types.d.ts +13 -0
  291. package/dist/infra/kiro/types.d.ts.map +1 -0
  292. package/dist/infra/kiro/types.js +2 -0
  293. package/dist/infra/kiro/types.js.map +1 -0
  294. package/dist/infra/observability/monitorJsonMetricExporter.d.ts +17 -0
  295. package/dist/infra/observability/monitorJsonMetricExporter.d.ts.map +1 -0
  296. package/dist/infra/observability/monitorJsonMetricExporter.js +174 -0
  297. package/dist/infra/observability/monitorJsonMetricExporter.js.map +1 -0
  298. package/dist/infra/observability/otelFoundation.d.ts +9 -1
  299. package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
  300. package/dist/infra/observability/otelFoundation.js +97 -7
  301. package/dist/infra/observability/otelFoundation.js.map +1 -1
  302. package/dist/infra/observability/sessionLogSpanProcessor.d.ts +22 -0
  303. package/dist/infra/observability/sessionLogSpanProcessor.d.ts.map +1 -0
  304. package/dist/infra/observability/sessionLogSpanProcessor.js +127 -0
  305. package/dist/infra/observability/sessionLogSpanProcessor.js.map +1 -0
  306. package/dist/infra/observability/usageEventsSpanProcessor.d.ts +19 -0
  307. package/dist/infra/observability/usageEventsSpanProcessor.d.ts.map +1 -0
  308. package/dist/infra/observability/usageEventsSpanProcessor.js +77 -0
  309. package/dist/infra/observability/usageEventsSpanProcessor.js.map +1 -0
  310. package/dist/infra/opencode/types.d.ts.map +1 -1
  311. package/dist/infra/opencode/types.js +8 -4
  312. package/dist/infra/opencode/types.js.map +1 -1
  313. package/dist/infra/providers/claude-headless.d.ts +1 -0
  314. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  315. package/dist/infra/providers/claude-headless.js +1 -0
  316. package/dist/infra/providers/claude-headless.js.map +1 -1
  317. package/dist/infra/providers/claude-terminal.d.ts +1 -0
  318. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  319. package/dist/infra/providers/claude-terminal.js +1 -0
  320. package/dist/infra/providers/claude-terminal.js.map +1 -1
  321. package/dist/infra/providers/claude.d.ts +1 -0
  322. package/dist/infra/providers/claude.d.ts.map +1 -1
  323. package/dist/infra/providers/claude.js +2 -0
  324. package/dist/infra/providers/claude.js.map +1 -1
  325. package/dist/infra/providers/codex.d.ts +1 -0
  326. package/dist/infra/providers/codex.d.ts.map +1 -1
  327. package/dist/infra/providers/codex.js +2 -0
  328. package/dist/infra/providers/codex.js.map +1 -1
  329. package/dist/infra/providers/copilot.d.ts +1 -0
  330. package/dist/infra/providers/copilot.d.ts.map +1 -1
  331. package/dist/infra/providers/copilot.js +1 -0
  332. package/dist/infra/providers/copilot.js.map +1 -1
  333. package/dist/infra/providers/cursor.d.ts +1 -0
  334. package/dist/infra/providers/cursor.d.ts.map +1 -1
  335. package/dist/infra/providers/cursor.js +1 -0
  336. package/dist/infra/providers/cursor.js.map +1 -1
  337. package/dist/infra/providers/imageAttachmentPrompt.d.ts +4 -0
  338. package/dist/infra/providers/imageAttachmentPrompt.d.ts.map +1 -0
  339. package/dist/infra/providers/imageAttachmentPrompt.js +10 -0
  340. package/dist/infra/providers/imageAttachmentPrompt.js.map +1 -0
  341. package/dist/infra/providers/index.d.ts.map +1 -1
  342. package/dist/infra/providers/index.js +2 -0
  343. package/dist/infra/providers/index.js.map +1 -1
  344. package/dist/infra/providers/kiro.d.ts +7 -0
  345. package/dist/infra/providers/kiro.d.ts.map +1 -0
  346. package/dist/infra/providers/kiro.js +47 -0
  347. package/dist/infra/providers/kiro.js.map +1 -0
  348. package/dist/infra/providers/mock.d.ts +1 -0
  349. package/dist/infra/providers/mock.d.ts.map +1 -1
  350. package/dist/infra/providers/mock.js +1 -0
  351. package/dist/infra/providers/mock.js.map +1 -1
  352. package/dist/infra/providers/opencode.d.ts +1 -0
  353. package/dist/infra/providers/opencode.d.ts.map +1 -1
  354. package/dist/infra/providers/opencode.js +1 -0
  355. package/dist/infra/providers/opencode.js.map +1 -1
  356. package/dist/infra/providers/provider-capabilities.d.ts +1 -0
  357. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  358. package/dist/infra/providers/provider-capabilities.js +6 -1
  359. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  360. package/dist/infra/providers/types.d.ts +7 -0
  361. package/dist/infra/providers/types.d.ts.map +1 -1
  362. package/dist/infra/task/clone-errors.d.ts +3 -0
  363. package/dist/infra/task/clone-errors.d.ts.map +1 -0
  364. package/dist/infra/task/clone-errors.js +5 -0
  365. package/dist/infra/task/clone-errors.js.map +1 -0
  366. package/dist/infra/task/clone-exec.d.ts +5 -1
  367. package/dist/infra/task/clone-exec.d.ts.map +1 -1
  368. package/dist/infra/task/clone-exec.js +146 -48
  369. package/dist/infra/task/clone-exec.js.map +1 -1
  370. package/dist/infra/task/clone.d.ts.map +1 -1
  371. package/dist/infra/task/clone.js +7 -9
  372. package/dist/infra/task/clone.js.map +1 -1
  373. package/dist/infra/task/runner.d.ts +1 -1
  374. package/dist/infra/task/runner.d.ts.map +1 -1
  375. package/dist/infra/task/runner.js +2 -2
  376. package/dist/infra/task/runner.js.map +1 -1
  377. package/dist/infra/task/taskLifecycleService.d.ts +1 -2
  378. package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
  379. package/dist/infra/task/taskLifecycleService.js +13 -19
  380. package/dist/infra/task/taskLifecycleService.js.map +1 -1
  381. package/dist/infra/task/taskRecordMutations.d.ts +0 -1
  382. package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
  383. package/dist/infra/task/taskRecordMutations.js +0 -12
  384. package/dist/infra/task/taskRecordMutations.js.map +1 -1
  385. package/dist/shared/constants.d.ts +1 -0
  386. package/dist/shared/constants.d.ts.map +1 -1
  387. package/dist/shared/constants.js +1 -0
  388. package/dist/shared/constants.js.map +1 -1
  389. package/dist/shared/i18n/labels_en.yaml +3 -1
  390. package/dist/shared/i18n/labels_ja.yaml +3 -1
  391. package/dist/shared/types/provider.d.ts +3 -1
  392. package/dist/shared/types/provider.d.ts.map +1 -1
  393. package/dist/shared/types/provider.js +15 -1
  394. package/dist/shared/types/provider.js.map +1 -1
  395. package/dist/shared/utils/spawn.d.ts +3 -4
  396. package/dist/shared/utils/spawn.d.ts.map +1 -1
  397. package/dist/shared/utils/spawn.js +6 -9
  398. package/dist/shared/utils/spawn.js.map +1 -1
  399. package/package.json +7 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitorJsonMetricExporter.js","sourceRoot":"","sources":["../../../src/infra/observability/monitorJsonMetricExporter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
1
  import type { ResolvedObservabilityConfig } from '../../core/models/config-types.js';
2
+ import { type SessionLogSpanProcessorOptions } from './sessionLogSpanProcessor.js';
3
+ import { type MonitorJsonMetricExporterOptions } from './monitorJsonMetricExporter.js';
4
+ import { type UsageEventsSpanProcessorOptions } from './usageEventsSpanProcessor.js';
2
5
  export type OtelFoundationHandle = {
3
6
  shutdown(): Promise<void>;
4
7
  };
5
- export declare function initializeOtelFoundation(config: ResolvedObservabilityConfig): Promise<OtelFoundationHandle>;
8
+ export interface OtelFoundationOptions {
9
+ sessionLogExporter?: SessionLogSpanProcessorOptions;
10
+ usageEventsExporter?: UsageEventsSpanProcessorOptions;
11
+ monitorJsonExporter?: MonitorJsonMetricExporterOptions;
12
+ }
13
+ export declare function initializeOtelFoundation(config: ResolvedObservabilityConfig, options?: OtelFoundationOptions | undefined): Promise<OtelFoundationHandle>;
6
14
  //# sourceMappingURL=otelFoundation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"otelFoundation.d.ts","sourceRoot":"","sources":["../../../src/infra/observability/otelFoundation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAerF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAMF,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,oBAAoB,CAAC,CAiB/B"}
1
+ {"version":3,"file":"otelFoundation.d.ts","sourceRoot":"","sources":["../../../src/infra/observability/otelFoundation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAA2B,KAAK,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,EAA6B,KAAK,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClH,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAqB/G,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,mBAAmB,CAAC,EAAE,+BAA+B,CAAC;IACtD,mBAAmB,CAAC,EAAE,gCAAgC,CAAC;CACxD;AAQD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,2BAA2B,EACnC,OAAO,GAAE,qBAAqB,GAAG,SAAqB,GACrD,OAAO,CAAC,oBAAoB,CAAC,CAkC/B"}
@@ -1,14 +1,26 @@
1
1
  import { createRequire } from 'node:module';
2
+ import { SessionLogSpanProcessor } from './sessionLogSpanProcessor.js';
3
+ import { MonitorJsonMetricExporter } from './monitorJsonMetricExporter.js';
4
+ import { UsageEventsSpanProcessor } from './usageEventsSpanProcessor.js';
2
5
  const require = createRequire(import.meta.url);
3
6
  const { version: TAKT_VERSION } = require('../../../package.json');
4
7
  let activeSdk;
5
8
  let startingSdk;
6
9
  let stoppingSdk;
7
- export async function initializeOtelFoundation(config) {
10
+ export async function initializeOtelFoundation(config, options = undefined) {
8
11
  if (!config.enabled) {
9
12
  return createNoopHandle();
10
13
  }
14
+ validateRunScopedExporterIds(options);
11
15
  const shared = await acquireSdk();
16
+ let registrations;
17
+ try {
18
+ registrations = registerRunExporters(shared, options);
19
+ }
20
+ catch (error) {
21
+ await releaseSdk(shared);
22
+ throw error;
23
+ }
12
24
  let released = false;
13
25
  return {
14
26
  async shutdown() {
@@ -16,7 +28,17 @@ export async function initializeOtelFoundation(config) {
16
28
  return;
17
29
  }
18
30
  released = true;
19
- await releaseSdk(shared);
31
+ try {
32
+ if (shared.metricReaders.length > 0) {
33
+ await forceFlushMetricReaders(shared.metricReaders);
34
+ }
35
+ }
36
+ finally {
37
+ for (const unregister of registrations.splice(0).reverse()) {
38
+ unregister();
39
+ }
40
+ await releaseSdk(shared);
41
+ }
20
42
  },
21
43
  };
22
44
  }
@@ -42,8 +64,8 @@ async function getOrStartSdk() {
42
64
  return activeSdk;
43
65
  }
44
66
  if (!startingSdk) {
45
- startingSdk = startSdk().then((sdk) => {
46
- const shared = { sdk, refCount: 0 };
67
+ startingSdk = startSdk().then((started) => {
68
+ const shared = { ...started, refCount: 0 };
47
69
  activeSdk = shared;
48
70
  startingSdk = undefined;
49
71
  return shared;
@@ -54,21 +76,89 @@ async function getOrStartSdk() {
54
76
  }
55
77
  return startingSdk;
56
78
  }
79
+ function registerRunExporters(shared, options) {
80
+ const registrations = [];
81
+ try {
82
+ if (options?.sessionLogExporter && shared.sessionLogSpanProcessor) {
83
+ registrations.push(shared.sessionLogSpanProcessor.register(options.sessionLogExporter));
84
+ }
85
+ if (options?.usageEventsExporter && shared.usageEventsSpanProcessor) {
86
+ registrations.push(shared.usageEventsSpanProcessor.register(options.usageEventsExporter));
87
+ }
88
+ if (options?.monitorJsonExporter && shared.monitorJsonMetricExporter) {
89
+ registrations.push(shared.monitorJsonMetricExporter.register(options.monitorJsonExporter));
90
+ }
91
+ }
92
+ catch (error) {
93
+ unregisterAll(registrations);
94
+ throw error;
95
+ }
96
+ return registrations;
97
+ }
98
+ function validateRunScopedExporterIds(options) {
99
+ const runIds = [
100
+ options?.sessionLogExporter?.runId,
101
+ options?.usageEventsExporter?.runId,
102
+ options?.monitorJsonExporter?.runId,
103
+ ].filter((runId) => typeof runId === 'string');
104
+ const uniqueRunIds = new Set(runIds);
105
+ if (uniqueRunIds.size > 1) {
106
+ throw new Error('Run-scoped OpenTelemetry exporters must share the same runId');
107
+ }
108
+ }
109
+ function unregisterAll(registrations) {
110
+ for (const unregister of registrations.splice(0).reverse()) {
111
+ unregister();
112
+ }
113
+ }
114
+ function createSpanProcessorState() {
115
+ const sessionLogSpanProcessor = new SessionLogSpanProcessor();
116
+ const usageEventsSpanProcessor = new UsageEventsSpanProcessor();
117
+ return {
118
+ spanProcessors: [sessionLogSpanProcessor, usageEventsSpanProcessor],
119
+ sessionLogSpanProcessor,
120
+ usageEventsSpanProcessor,
121
+ };
122
+ }
123
+ async function createMetricReaders() {
124
+ const { PeriodicExportingMetricReader } = await import('@opentelemetry/sdk-metrics');
125
+ const monitorJsonMetricExporter = new MonitorJsonMetricExporter();
126
+ return {
127
+ metricReaders: [
128
+ new PeriodicExportingMetricReader({
129
+ exporter: monitorJsonMetricExporter,
130
+ exportIntervalMillis: 1000,
131
+ }),
132
+ ],
133
+ monitorJsonMetricExporter,
134
+ };
135
+ }
57
136
  async function startSdk() {
137
+ const { spanProcessors, sessionLogSpanProcessor, usageEventsSpanProcessor } = createSpanProcessorState();
138
+ const { metricReaders, monitorJsonMetricExporter } = await createMetricReaders();
58
139
  const { NodeSDK, resources } = await import('@opentelemetry/sdk-node');
59
140
  const sdk = new NodeSDK({
60
141
  autoDetectResources: false,
61
142
  instrumentations: [],
62
143
  logRecordProcessors: [],
63
- metricReaders: [],
144
+ metricReaders,
64
145
  resource: resources.resourceFromAttributes({
65
146
  'service.name': 'takt',
66
147
  'service.version': TAKT_VERSION,
67
148
  }),
68
- spanProcessors: [],
149
+ spanProcessors,
69
150
  });
70
151
  sdk.start();
71
- return sdk;
152
+ return {
153
+ sdk,
154
+ metricReaders,
155
+ sessionLogSpanProcessor,
156
+ usageEventsSpanProcessor,
157
+ monitorJsonMetricExporter,
158
+ };
159
+ }
160
+ async function forceFlushMetricReaders(metricReaders) {
161
+ await Promise.all(metricReaders.map((reader) => reader.forceFlush()));
72
162
  }
73
163
  async function releaseSdk(shared) {
74
164
  shared.refCount -= 1;
@@ -1 +1 @@
1
- {"version":3,"file":"otelFoundation.js","sourceRoot":"","sources":["../../../src/infra/observability/otelFoundation.ts"],"names":[],"mappings":"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"}
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;AAClH,OAAO,EAAE,wBAAwB,EAAwC,MAAM,+BAA+B,CAAC;AAE/G,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;AA8B1F,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;IACD,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,aAAa,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC;IACd,CAAC;IAED,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,CAAC;QACH,IAAI,OAAO,EAAE,kBAAkB,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAClE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,EAAE,mBAAmB,IAAI,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACpE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,OAAO,EAAE,mBAAmB,IAAI,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACrE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,aAAa,CAAC,aAAa,CAAC,CAAC;QAC7B,MAAM,KAAK,CAAC;IACd,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA0C;IAC9E,MAAM,MAAM,GAAG;QACb,OAAO,EAAE,kBAAkB,EAAE,KAAK;QAClC,OAAO,EAAE,mBAAmB,EAAE,KAAK;QACnC,OAAO,EAAE,mBAAmB,EAAE,KAAK;KACpC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,aAAiC;IACtD,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,UAAU,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAK/B,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC9D,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAChE,OAAO;QACL,cAAc,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;QACnE,uBAAuB;QACvB,wBAAwB;KACzB,CAAC;AACJ,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,wBAAwB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IACzG,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,wBAAwB;QACxB,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"}
@@ -0,0 +1,22 @@
1
+ import type { Context } from '@opentelemetry/api';
2
+ import type { ReadableSpan, Span, SpanProcessor } from '@opentelemetry/sdk-trace-base';
3
+ export interface SessionLogSpanProcessorOptions {
4
+ runId: string;
5
+ shadowLogPath: string;
6
+ sanitizedTask: string;
7
+ workflowName: string;
8
+ }
9
+ export declare class SessionLogSpanProcessor implements SpanProcessor {
10
+ private readonly registrations;
11
+ private readonly pendingJudgeStages;
12
+ constructor(options?: SessionLogSpanProcessorOptions);
13
+ register(options: SessionLogSpanProcessorOptions): () => void;
14
+ onStart(span: Span, _parentContext: Context): void;
15
+ onEnd(span: ReadableSpan): void;
16
+ private phaseBufferKey;
17
+ private optionsForSpan;
18
+ private safeAppend;
19
+ forceFlush(): Promise<void>;
20
+ shutdown(): Promise<void>;
21
+ }
22
+ //# sourceMappingURL=sessionLogSpanProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionLogSpanProcessor.d.ts","sourceRoot":"","sources":["../../../src/infra/observability/sessionLogSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAWvF,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,uBAAwB,YAAW,aAAa;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqD;IAMnF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqC;gBAE5D,OAAO,CAAC,EAAE,8BAA8B;IAMpD,QAAQ,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,IAAI;IAuB7D,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAiBlD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAmC/B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,UAAU;IAeZ,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
@@ -0,0 +1,127 @@
1
+ import { appendNdjsonLine } from '../fs/index.js';
2
+ import { createLogger } from '../../shared/utils/debug.js';
3
+ import { mapSpanEndToNdjson, mapSpanStartToNdjson, } from '../../core/logging/span-to-ndjson-mapper.js';
4
+ const log = createLogger('session-log-span-processor');
5
+ export class SessionLogSpanProcessor {
6
+ registrations = new Map();
7
+ // Judge-stage records whose parent phase span has not emitted its phase_start
8
+ // yet. Phase spans defer phase_start to onEnd (prompt-part attributes are only
9
+ // populated then), but judge-stage child spans end *before* their parent phase
10
+ // span. Buffering keeps the canonical order phase_start -> judge_stage(s) ->
11
+ // phase_complete. Keyed by `${runId} ${phaseExecutionId}`.
12
+ pendingJudgeStages = new Map();
13
+ constructor(options) {
14
+ if (options) {
15
+ this.register(options);
16
+ }
17
+ }
18
+ register(options) {
19
+ if (this.registrations.has(options.runId)) {
20
+ // A live run already owns this runId. Overwriting would misroute its
21
+ // shadow records and emit a second workflow_start, so keep the original.
22
+ log.warn('Ignoring duplicate shadow session log registration', {
23
+ runId: options.runId,
24
+ shadowLogPath: options.shadowLogPath,
25
+ });
26
+ return () => { };
27
+ }
28
+ this.registrations.set(options.runId, options);
29
+ const startRecord = {
30
+ type: 'workflow_start',
31
+ task: options.sanitizedTask,
32
+ workflowName: options.workflowName,
33
+ startTime: new Date().toISOString(),
34
+ };
35
+ this.safeAppend(options, startRecord);
36
+ return () => {
37
+ this.registrations.delete(options.runId);
38
+ };
39
+ }
40
+ onStart(span, _parentContext) {
41
+ const options = this.optionsForSpan(span);
42
+ if (!options) {
43
+ return;
44
+ }
45
+ if (span.name.startsWith('phase.')) {
46
+ // Mark the phase open so judge-stage children buffer until phase_start.
47
+ const key = this.phaseBufferKey(options.runId, span);
48
+ if (key) {
49
+ this.pendingJudgeStages.set(key, []);
50
+ }
51
+ return;
52
+ }
53
+ const record = mapSpanStartToNdjson(toSpanSnapshot(span));
54
+ this.safeAppend(options, record);
55
+ }
56
+ onEnd(span) {
57
+ const options = this.optionsForSpan(span);
58
+ if (!options) {
59
+ return;
60
+ }
61
+ const snapshot = toSpanSnapshot(span);
62
+ if (span.name.startsWith('phase.')) {
63
+ // Emit phase_start (deferred so prompt-part attributes are populated),
64
+ // then flush buffered judge-stage records, then phase_complete.
65
+ this.safeAppend(options, mapSpanStartToNdjson(snapshot));
66
+ const key = this.phaseBufferKey(options.runId, span);
67
+ if (key) {
68
+ const buffered = this.pendingJudgeStages.get(key);
69
+ this.pendingJudgeStages.delete(key);
70
+ for (const record of buffered ?? []) {
71
+ this.safeAppend(options, record);
72
+ }
73
+ }
74
+ this.safeAppend(options, mapSpanEndToNdjson(snapshot));
75
+ return;
76
+ }
77
+ if (span.name.startsWith('judge_stage.')) {
78
+ const key = this.phaseBufferKey(options.runId, span);
79
+ const buffer = key ? this.pendingJudgeStages.get(key) : undefined;
80
+ const record = mapSpanEndToNdjson(snapshot);
81
+ if (buffer && record) {
82
+ buffer.push(record);
83
+ return;
84
+ }
85
+ this.safeAppend(options, record);
86
+ return;
87
+ }
88
+ this.safeAppend(options, mapSpanEndToNdjson(snapshot));
89
+ }
90
+ phaseBufferKey(runId, span) {
91
+ const phaseExecutionId = span.attributes['takt.phase.execution_id'];
92
+ return typeof phaseExecutionId === 'string' ? `${runId} ${phaseExecutionId}` : undefined;
93
+ }
94
+ optionsForSpan(span) {
95
+ const runId = span.attributes['takt.run.id'];
96
+ return typeof runId === 'string' ? this.registrations.get(runId) : undefined;
97
+ }
98
+ safeAppend(options, record) {
99
+ if (!record) {
100
+ return;
101
+ }
102
+ try {
103
+ appendNdjsonLine(options.shadowLogPath, record);
104
+ }
105
+ catch (error) {
106
+ log.error('Failed to append shadow session log record', {
107
+ shadowLogPath: options.shadowLogPath,
108
+ recordType: record.type,
109
+ error,
110
+ });
111
+ }
112
+ }
113
+ async forceFlush() { }
114
+ async shutdown() {
115
+ this.registrations.clear();
116
+ this.pendingJudgeStages.clear();
117
+ }
118
+ }
119
+ function toSpanSnapshot(span) {
120
+ return {
121
+ name: span.name,
122
+ attributes: span.attributes,
123
+ startTime: span.startTime,
124
+ endTime: span.endTime,
125
+ };
126
+ }
127
+ //# sourceMappingURL=sessionLogSpanProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionLogSpanProcessor.js","sourceRoot":"","sources":["../../../src/infra/observability/sessionLogSpanProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA+C,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,6CAA6C,CAAC;AAErD,MAAM,GAAG,GAAG,YAAY,CAAC,4BAA4B,CAAC,CAAC;AASvD,MAAM,OAAO,uBAAuB;IACjB,aAAa,GAAG,IAAI,GAAG,EAA0C,CAAC;IACnF,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,6EAA6E;IAC7E,2DAA2D;IAC1C,kBAAkB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAExE,YAAY,OAAwC;QAClD,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,OAAuC;QAC9C,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1C,qEAAqE;YACrE,yEAAyE;YACzE,GAAG,CAAC,IAAI,CAAC,oDAAoD,EAAE;gBAC7D,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAwB;YACvC,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAU,EAAE,cAAuB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,wEAAwE;YACxE,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,KAAK,MAAM,MAAM,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;oBACpC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,cAAc,CAAC,KAAa,EAAE,IAAkB;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;QACpE,OAAO,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,CAAC;IAEO,cAAc,CAAC,IAAkB;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAEO,UAAU,CAAC,OAAuC,EAAE,MAAgC;QAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,gBAAgB,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACtD,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,KAAK;aACN,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,KAAmB,CAAC;IAEpC,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACF;AAED,SAAS,cAAc,CAAC,IAAkB;IACxC,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,uCAAuC;AACvC,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhE,2DAA2D;AAC3D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,cAAc,GAAG,uBAAuB,CAO1F;AAED,QAAA,MAAM,yBAAyB,yGAWrB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;AAiF5F,wBAAgB,6BAA6B,CAC3C,IAAI,CAAC,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAMrE;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,CAAC,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC,CAOlF;AAaD,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA2B/F;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/infra/opencode/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,uCAAuC;AACvC,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhE,2DAA2D;AAC3D,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,cAAc,GAAG,uBAAuB,CAO1F;AAED,QAAA,MAAM,yBAAyB,yGAWrB,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;AAwF5F,wBAAgB,6BAA6B,CAC3C,IAAI,CAAC,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAKrE;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,CAAC,EAAE,cAAc,EACrB,aAAa,CAAC,EAAE,OAAO,GACtB,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,wBAAwB,CAAA;CAAE,CAAC,CAOlF;AAaD,wBAAgB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA2B/F;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B"}
@@ -35,8 +35,14 @@ function buildPermissionMap(mode) {
35
35
  webfetch: 'deny',
36
36
  question: 'deny',
37
37
  };
38
- if (mode === 'readonly')
39
- return allDeny;
38
+ if (mode === 'readonly') {
39
+ return {
40
+ ...allDeny,
41
+ read: 'allow',
42
+ glob: 'allow',
43
+ grep: 'allow',
44
+ };
45
+ }
40
46
  if (mode === 'full') {
41
47
  return {
42
48
  ...allDeny,
@@ -94,8 +100,6 @@ function applyNetworkAccessOverride(map, networkAccess) {
94
100
  }
95
101
  export function buildOpenCodePermissionConfig(mode, networkAccess) {
96
102
  if (networkAccess === undefined) {
97
- if (mode === 'readonly')
98
- return 'deny';
99
103
  if (mode === 'full')
100
104
  return 'allow';
101
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infra/opencode/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/infra/opencode/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentSetup, Provider, ProviderAgent } from './types.js';
2
2
  export declare class ClaudeHeadlessProvider implements Provider {
3
3
  readonly supportsStructuredOutput = true;
4
+ readonly supportsNativeImageInput = false;
4
5
  setup(config: AgentSetup): ProviderAgent;
5
6
  }
6
7
  //# sourceMappingURL=claude-headless.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-headless.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude-headless.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAuB3F,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAWzC"}
1
+ {"version":3,"file":"claude-headless.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude-headless.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AAuB3F,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,wBAAwB,QAAQ;IACzC,QAAQ,CAAC,wBAAwB,SAAS;IAE1C,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAWzC"}
@@ -23,6 +23,7 @@ function toHeadlessOptions(options) {
23
23
  }
24
24
  export class ClaudeHeadlessProvider {
25
25
  supportsStructuredOutput = true;
26
+ supportsNativeImageInput = false;
26
27
  setup(config) {
27
28
  const { name, systemPrompt } = config;
28
29
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-headless.js","sourceRoot":"","sources":["../../../src/infra/providers/claude-headless.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AAGvG,SAAS,iBAAiB,CAAC,OAA4B;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;IACtD,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,sBAAsB,EAAE;QACpE,MAAM,EAAE,aAAa,EAAE,MAAM;QAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,OAAO,EAAE,aAAa,EAAE,OAAO;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,oBAAoB,EAAE,IAAI,SAAS;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IACxB,wBAAwB,GAAG,IAAI,CAAC;IAEzC,KAAK,CAAC,MAAkB;QACtB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEtC,OAAO;YACL,IAAI,EAAE,CAAC,MAAc,EAAE,OAA4B,EAA0B,EAAE,CAC7E,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;gBAC/B,GAAG,iBAAiB,CAAC,OAAO,CAAC;gBAC7B,YAAY,EAAE,YAAY,IAAI,SAAS;aACxC,CAAC;SACL,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"claude-headless.js","sourceRoot":"","sources":["../../../src/infra/providers/claude-headless.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AAGvG,SAAS,iBAAiB,CAAC,OAA4B;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC;IACtD,iCAAiC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,sBAAsB,EAAE;QACpE,MAAM,EAAE,aAAa,EAAE,MAAM;QAC7B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,OAAO,EAAE,aAAa,EAAE,OAAO;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,oBAAoB,EAAE,IAAI,SAAS;QAClD,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAsB;IACxB,wBAAwB,GAAG,IAAI,CAAC;IAChC,wBAAwB,GAAG,KAAK,CAAC;IAE1C,KAAK,CAAC,MAAkB;QACtB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;QAEtC,OAAO;YACL,IAAI,EAAE,CAAC,MAAc,EAAE,OAA4B,EAA0B,EAAE,CAC7E,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE;gBAC/B,GAAG,iBAAiB,CAAC,OAAO,CAAC;gBAC7B,YAAY,EAAE,YAAY,IAAI,SAAS;aACxC,CAAC;SACL,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentSetup, Provider, ProviderAgent } from './types.js';
2
2
  export declare class ClaudeTerminalProvider implements Provider {
3
3
  readonly supportsStructuredOutput = true;
4
+ readonly supportsNativeImageInput = false;
4
5
  setup(config: AgentSetup): ProviderAgent;
5
6
  }
6
7
  //# sourceMappingURL=claude-terminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-terminal.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude-terminal.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AA6D3F,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAgBzC"}
1
+ {"version":3,"file":"claude-terminal.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude-terminal.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AA6D3F,qBAAa,sBAAuB,YAAW,QAAQ;IACrD,QAAQ,CAAC,wBAAwB,QAAQ;IACzC,QAAQ,CAAC,wBAAwB,SAAS;IAE1C,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAgBzC"}
@@ -50,6 +50,7 @@ function toTerminalOptions(options) {
50
50
  }
51
51
  export class ClaudeTerminalProvider {
52
52
  supportsStructuredOutput = true;
53
+ supportsNativeImageInput = false;
53
54
  setup(config) {
54
55
  const { name, systemPrompt } = config;
55
56
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"claude-terminal.js","sourceRoot":"","sources":["../../../src/infra/providers/claude-terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-terminal.js","sourceRoot":"","sources":["../../../src/infra/providers/claude-terminal.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { AgentSetup, Provider, ProviderAgent } from './types.js';
2
2
  export declare class ClaudeProvider implements Provider {
3
3
  readonly supportsStructuredOutput = true;
4
+ readonly supportsNativeImageInput = true;
4
5
  setup(config: AgentSetup): ProviderAgent;
5
6
  }
6
7
  //# sourceMappingURL=claude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AA8B3F,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAczC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/infra/providers/claude.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAuB,MAAM,YAAY,CAAC;AA+B3F,qBAAa,cAAe,YAAW,QAAQ;IAC7C,QAAQ,CAAC,wBAAwB,QAAQ;IACzC,QAAQ,CAAC,wBAAwB,QAAQ;IAEzC,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;CAczC"}