@a5c-ai/agent-platform 5.0.1-staging.016f0b0e8119

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 (545) hide show
  1. package/README.md +48 -0
  2. package/dist/anycli/cache.d.ts +45 -0
  3. package/dist/anycli/cache.d.ts.map +1 -0
  4. package/dist/anycli/cache.js +118 -0
  5. package/dist/anycli/index.d.ts +10 -0
  6. package/dist/anycli/index.d.ts.map +1 -0
  7. package/dist/anycli/index.js +25 -0
  8. package/dist/anycli/types.d.ts +32 -0
  9. package/dist/anycli/types.d.ts.map +1 -0
  10. package/dist/anycli/types.js +9 -0
  11. package/dist/api/breakpoints.d.ts +93 -0
  12. package/dist/api/breakpoints.d.ts.map +1 -0
  13. package/dist/api/breakpoints.js +334 -0
  14. package/dist/api/effects.d.ts +14 -0
  15. package/dist/api/effects.d.ts.map +1 -0
  16. package/dist/api/effects.js +306 -0
  17. package/dist/api/effectsTypes.d.ts +79 -0
  18. package/dist/api/effectsTypes.d.ts.map +1 -0
  19. package/dist/api/effectsTypes.js +6 -0
  20. package/dist/api/eventStream.d.ts +34 -0
  21. package/dist/api/eventStream.d.ts.map +1 -0
  22. package/dist/api/eventStream.js +126 -0
  23. package/dist/api/index.d.ts +10 -0
  24. package/dist/api/index.d.ts.map +1 -0
  25. package/dist/api/index.js +27 -0
  26. package/dist/api/runs.d.ts +85 -0
  27. package/dist/api/runs.d.ts.map +1 -0
  28. package/dist/api/runs.js +247 -0
  29. package/dist/api/utils.d.ts +28 -0
  30. package/dist/api/utils.d.ts.map +1 -0
  31. package/dist/api/utils.js +74 -0
  32. package/dist/breakpoints/approvalChains.d.ts +68 -0
  33. package/dist/breakpoints/approvalChains.d.ts.map +1 -0
  34. package/dist/breakpoints/approvalChains.js +111 -0
  35. package/dist/breakpoints/delegation.d.ts +42 -0
  36. package/dist/breakpoints/delegation.d.ts.map +1 -0
  37. package/dist/breakpoints/delegation.js +199 -0
  38. package/dist/breakpoints/delegationTypes.d.ts +46 -0
  39. package/dist/breakpoints/delegationTypes.d.ts.map +1 -0
  40. package/dist/breakpoints/delegationTypes.js +10 -0
  41. package/dist/breakpoints/postures.d.ts +28 -0
  42. package/dist/breakpoints/postures.d.ts.map +1 -0
  43. package/dist/breakpoints/postures.js +100 -0
  44. package/dist/compression/compaction.d.ts +82 -0
  45. package/dist/compression/compaction.d.ts.map +1 -0
  46. package/dist/compression/compaction.js +310 -0
  47. package/dist/cost/claudeCodeParser.d.ts +81 -0
  48. package/dist/cost/claudeCodeParser.d.ts.map +1 -0
  49. package/dist/cost/claudeCodeParser.js +232 -0
  50. package/dist/cost/collector.d.ts +42 -0
  51. package/dist/cost/collector.d.ts.map +1 -0
  52. package/dist/cost/collector.js +105 -0
  53. package/dist/cost/effectCost.d.ts +23 -0
  54. package/dist/cost/effectCost.d.ts.map +1 -0
  55. package/dist/cost/effectCost.js +26 -0
  56. package/dist/cost/index.d.ts +7 -0
  57. package/dist/cost/index.d.ts.map +1 -0
  58. package/dist/cost/index.js +28 -0
  59. package/dist/cost/journal.d.ts +40 -0
  60. package/dist/cost/journal.d.ts.map +1 -0
  61. package/dist/cost/journal.js +137 -0
  62. package/dist/cost/types.d.ts +164 -0
  63. package/dist/cost/types.d.ts.map +1 -0
  64. package/dist/cost/types.js +228 -0
  65. package/dist/daemon/automationExecutor.d.ts +16 -0
  66. package/dist/daemon/automationExecutor.d.ts.map +1 -0
  67. package/dist/daemon/automationExecutor.js +222 -0
  68. package/dist/daemon/config.d.ts +8 -0
  69. package/dist/daemon/config.d.ts.map +1 -0
  70. package/dist/daemon/config.js +209 -0
  71. package/dist/daemon/daemonLog.d.ts +13 -0
  72. package/dist/daemon/daemonLog.d.ts.map +1 -0
  73. package/dist/daemon/daemonLog.js +64 -0
  74. package/dist/daemon/fileWatcher.d.ts +9 -0
  75. package/dist/daemon/fileWatcher.d.ts.map +1 -0
  76. package/dist/daemon/fileWatcher.js +141 -0
  77. package/dist/daemon/index.d.ts +9 -0
  78. package/dist/daemon/index.d.ts.map +1 -0
  79. package/dist/daemon/index.js +25 -0
  80. package/dist/daemon/lifecycle.d.ts +12 -0
  81. package/dist/daemon/lifecycle.d.ts.map +1 -0
  82. package/dist/daemon/lifecycle.js +257 -0
  83. package/dist/daemon/loop.d.ts +21 -0
  84. package/dist/daemon/loop.d.ts.map +1 -0
  85. package/dist/daemon/loop.js +196 -0
  86. package/dist/daemon/timerScheduler.d.ts +13 -0
  87. package/dist/daemon/timerScheduler.d.ts.map +1 -0
  88. package/dist/daemon/timerScheduler.js +122 -0
  89. package/dist/daemon/types.d.ts +93 -0
  90. package/dist/daemon/types.d.ts.map +1 -0
  91. package/dist/daemon/types.js +25 -0
  92. package/dist/daemon/webhookListener.d.ts +6 -0
  93. package/dist/daemon/webhookListener.d.ts.map +1 -0
  94. package/dist/daemon/webhookListener.js +110 -0
  95. package/dist/governance/authority.d.ts +68 -0
  96. package/dist/governance/authority.d.ts.map +1 -0
  97. package/dist/governance/authority.js +136 -0
  98. package/dist/governance/bridge.d.ts +17 -0
  99. package/dist/governance/bridge.d.ts.map +1 -0
  100. package/dist/governance/bridge.js +46 -0
  101. package/dist/governance/builtins.d.ts +25 -0
  102. package/dist/governance/builtins.d.ts.map +1 -0
  103. package/dist/governance/builtins.js +67 -0
  104. package/dist/governance/categories.d.ts +58 -0
  105. package/dist/governance/categories.d.ts.map +1 -0
  106. package/dist/governance/categories.js +120 -0
  107. package/dist/governance/decisionTrail.d.ts +60 -0
  108. package/dist/governance/decisionTrail.d.ts.map +1 -0
  109. package/dist/governance/decisionTrail.js +68 -0
  110. package/dist/governance/engine.d.ts +20 -0
  111. package/dist/governance/engine.d.ts.map +1 -0
  112. package/dist/governance/engine.js +124 -0
  113. package/dist/governance/index.d.ts +20 -0
  114. package/dist/governance/index.d.ts.map +1 -0
  115. package/dist/governance/index.js +75 -0
  116. package/dist/governance/logging.d.ts +18 -0
  117. package/dist/governance/logging.d.ts.map +1 -0
  118. package/dist/governance/logging.js +83 -0
  119. package/dist/governance/mandate.d.ts +83 -0
  120. package/dist/governance/mandate.d.ts.map +1 -0
  121. package/dist/governance/mandate.js +180 -0
  122. package/dist/governance/permissionEvents.d.ts +51 -0
  123. package/dist/governance/permissionEvents.d.ts.map +1 -0
  124. package/dist/governance/permissionEvents.js +52 -0
  125. package/dist/governance/permissionPropagation.d.ts +18 -0
  126. package/dist/governance/permissionPropagation.d.ts.map +1 -0
  127. package/dist/governance/permissionPropagation.js +58 -0
  128. package/dist/governance/postureBridge.d.ts +17 -0
  129. package/dist/governance/postureBridge.d.ts.map +1 -0
  130. package/dist/governance/postureBridge.js +117 -0
  131. package/dist/governance/sandboxBridge.d.ts +49 -0
  132. package/dist/governance/sandboxBridge.d.ts.map +1 -0
  133. package/dist/governance/sandboxBridge.js +77 -0
  134. package/dist/governance/sandboxPolicy.d.ts +51 -0
  135. package/dist/governance/sandboxPolicy.d.ts.map +1 -0
  136. package/dist/governance/sandboxPolicy.js +177 -0
  137. package/dist/governance/types.d.ts +3 -0
  138. package/dist/governance/types.d.ts.map +1 -0
  139. package/dist/governance/types.js +5 -0
  140. package/dist/harness/amux/amuxBridge.d.ts +71 -0
  141. package/dist/harness/amux/amuxBridge.d.ts.map +1 -0
  142. package/dist/harness/amux/amuxBridge.js +117 -0
  143. package/dist/harness/amux/amuxClientFactory.d.ts +29 -0
  144. package/dist/harness/amux/amuxClientFactory.d.ts.map +1 -0
  145. package/dist/harness/amux/amuxClientFactory.js +90 -0
  146. package/dist/harness/amux/amuxEventEmitter.d.ts +51 -0
  147. package/dist/harness/amux/amuxEventEmitter.d.ts.map +1 -0
  148. package/dist/harness/amux/amuxEventEmitter.js +143 -0
  149. package/dist/harness/amux/amuxEventMapper.d.ts +58 -0
  150. package/dist/harness/amux/amuxEventMapper.d.ts.map +1 -0
  151. package/dist/harness/amux/amuxEventMapper.js +92 -0
  152. package/dist/harness/amux/amuxHarnessMap.d.ts +25 -0
  153. package/dist/harness/amux/amuxHarnessMap.d.ts.map +1 -0
  154. package/dist/harness/amux/amuxHarnessMap.js +55 -0
  155. package/dist/harness/amux/amuxStdinReader.d.ts +45 -0
  156. package/dist/harness/amux/amuxStdinReader.d.ts.map +1 -0
  157. package/dist/harness/amux/amuxStdinReader.js +106 -0
  158. package/dist/harness/amux/amuxTypes.d.ts +122 -0
  159. package/dist/harness/amux/amuxTypes.d.ts.map +1 -0
  160. package/dist/harness/amux/amuxTypes.js +11 -0
  161. package/dist/harness/amux/index.d.ts +17 -0
  162. package/dist/harness/amux/index.d.ts.map +1 -0
  163. package/dist/harness/amux/index.js +34 -0
  164. package/dist/harness/backgroundTracker.d.ts +64 -0
  165. package/dist/harness/backgroundTracker.d.ts.map +1 -0
  166. package/dist/harness/backgroundTracker.js +107 -0
  167. package/dist/harness/builtInHarness.d.ts +3 -0
  168. package/dist/harness/builtInHarness.d.ts.map +1 -0
  169. package/dist/harness/builtInHarness.js +18 -0
  170. package/dist/harness/capabilityRouter.d.ts +76 -0
  171. package/dist/harness/capabilityRouter.d.ts.map +1 -0
  172. package/dist/harness/capabilityRouter.js +176 -0
  173. package/dist/harness/fallbackChains.d.ts +42 -0
  174. package/dist/harness/fallbackChains.d.ts.map +1 -0
  175. package/dist/harness/fallbackChains.js +69 -0
  176. package/dist/harness/hostContract.d.ts +63 -0
  177. package/dist/harness/hostContract.d.ts.map +1 -0
  178. package/dist/harness/hostContract.js +136 -0
  179. package/dist/harness/index.d.ts +18 -0
  180. package/dist/harness/index.d.ts.map +1 -0
  181. package/dist/harness/index.js +91 -0
  182. package/dist/harness/internal/createRun/askUserQuestion.d.ts +11 -0
  183. package/dist/harness/internal/createRun/askUserQuestion.d.ts.map +1 -0
  184. package/dist/harness/internal/createRun/askUserQuestion.js +162 -0
  185. package/dist/harness/internal/createRun/index.d.ts +25 -0
  186. package/dist/harness/internal/createRun/index.d.ts.map +1 -0
  187. package/dist/harness/internal/createRun/index.js +137 -0
  188. package/dist/harness/internal/createRun/orchestration/constants.d.ts +7 -0
  189. package/dist/harness/internal/createRun/orchestration/constants.d.ts.map +1 -0
  190. package/dist/harness/internal/createRun/orchestration/constants.js +13 -0
  191. package/dist/harness/internal/createRun/orchestration/effects.d.ts +43 -0
  192. package/dist/harness/internal/createRun/orchestration/effects.d.ts.map +1 -0
  193. package/dist/harness/internal/createRun/orchestration/effects.js +490 -0
  194. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts +20 -0
  195. package/dist/harness/internal/createRun/orchestration/effectsHelpers.d.ts.map +1 -0
  196. package/dist/harness/internal/createRun/orchestration/effectsHelpers.js +79 -0
  197. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts +3 -0
  198. package/dist/harness/internal/createRun/orchestration/externalPhase.d.ts.map +1 -0
  199. package/dist/harness/internal/createRun/orchestration/externalPhase.js +319 -0
  200. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts +16 -0
  201. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.d.ts.map +1 -0
  202. package/dist/harness/internal/createRun/orchestration/externalPhaseHelpers.js +104 -0
  203. package/dist/harness/internal/createRun/orchestration/index.d.ts +14 -0
  204. package/dist/harness/internal/createRun/orchestration/index.d.ts.map +1 -0
  205. package/dist/harness/internal/createRun/orchestration/index.js +36 -0
  206. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts +3 -0
  207. package/dist/harness/internal/createRun/orchestration/internalPhase.d.ts.map +1 -0
  208. package/dist/harness/internal/createRun/orchestration/internalPhase.js +464 -0
  209. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts +26 -0
  210. package/dist/harness/internal/createRun/orchestration/internalTools.d.ts.map +1 -0
  211. package/dist/harness/internal/createRun/orchestration/internalTools.js +262 -0
  212. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts +17 -0
  213. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.d.ts.map +1 -0
  214. package/dist/harness/internal/createRun/orchestration/internalToolsHelpers.js +23 -0
  215. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts +10 -0
  216. package/dist/harness/internal/createRun/orchestration/taskResult.d.ts.map +1 -0
  217. package/dist/harness/internal/createRun/orchestration/taskResult.js +67 -0
  218. package/dist/harness/internal/createRun/orchestration/types.d.ts +46 -0
  219. package/dist/harness/internal/createRun/orchestration/types.d.ts.map +1 -0
  220. package/dist/harness/internal/createRun/orchestration/types.js +2 -0
  221. package/dist/harness/internal/createRun/orchestration/verbose.d.ts +7 -0
  222. package/dist/harness/internal/createRun/orchestration/verbose.d.ts.map +1 -0
  223. package/dist/harness/internal/createRun/orchestration/verbose.js +240 -0
  224. package/dist/harness/internal/createRun/output.d.ts +38 -0
  225. package/dist/harness/internal/createRun/output.d.ts.map +1 -0
  226. package/dist/harness/internal/createRun/output.js +415 -0
  227. package/dist/harness/internal/createRun/pi.d.ts +34 -0
  228. package/dist/harness/internal/createRun/pi.d.ts.map +1 -0
  229. package/dist/harness/internal/createRun/pi.js +216 -0
  230. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts +5 -0
  231. package/dist/harness/internal/createRun/planProcess/agentOutput.d.ts.map +1 -0
  232. package/dist/harness/internal/createRun/planProcess/agentOutput.js +113 -0
  233. package/dist/harness/internal/createRun/planProcess/delegation.d.ts +23 -0
  234. package/dist/harness/internal/createRun/planProcess/delegation.d.ts.map +1 -0
  235. package/dist/harness/internal/createRun/planProcess/delegation.js +176 -0
  236. package/dist/harness/internal/createRun/planProcess/external.d.ts +14 -0
  237. package/dist/harness/internal/createRun/planProcess/external.d.ts.map +1 -0
  238. package/dist/harness/internal/createRun/planProcess/external.js +139 -0
  239. package/dist/harness/internal/createRun/planProcess/index.d.ts +12 -0
  240. package/dist/harness/internal/createRun/planProcess/index.d.ts.map +1 -0
  241. package/dist/harness/internal/createRun/planProcess/index.js +24 -0
  242. package/dist/harness/internal/createRun/planProcess/paths.d.ts +7 -0
  243. package/dist/harness/internal/createRun/planProcess/paths.d.ts.map +1 -0
  244. package/dist/harness/internal/createRun/planProcess/paths.js +98 -0
  245. package/dist/harness/internal/createRun/planProcess/phase.d.ts +6 -0
  246. package/dist/harness/internal/createRun/planProcess/phase.d.ts.map +1 -0
  247. package/dist/harness/internal/createRun/planProcess/phase.js +361 -0
  248. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts +37 -0
  249. package/dist/harness/internal/createRun/planProcess/phaseHelpers.d.ts.map +1 -0
  250. package/dist/harness/internal/createRun/planProcess/phaseHelpers.js +159 -0
  251. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts +25 -0
  252. package/dist/harness/internal/createRun/planProcess/phaseTypes.d.ts.map +1 -0
  253. package/dist/harness/internal/createRun/planProcess/phaseTypes.js +6 -0
  254. package/dist/harness/internal/createRun/planProcess/prompts.d.ts +20 -0
  255. package/dist/harness/internal/createRun/planProcess/prompts.d.ts.map +1 -0
  256. package/dist/harness/internal/createRun/planProcess/prompts.js +208 -0
  257. package/dist/harness/internal/createRun/planProcess/recovery.d.ts +18 -0
  258. package/dist/harness/internal/createRun/planProcess/recovery.d.ts.map +1 -0
  259. package/dist/harness/internal/createRun/planProcess/recovery.js +188 -0
  260. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts +2 -0
  261. package/dist/harness/internal/createRun/planProcess/recovery.test.d.ts.map +1 -0
  262. package/dist/harness/internal/createRun/planProcess/recovery.test.js +68 -0
  263. package/dist/harness/internal/createRun/planProcess/runState.d.ts +40 -0
  264. package/dist/harness/internal/createRun/planProcess/runState.d.ts.map +1 -0
  265. package/dist/harness/internal/createRun/planProcess/runState.js +179 -0
  266. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts +22 -0
  267. package/dist/harness/internal/createRun/planProcess/understandIntent.d.ts.map +1 -0
  268. package/dist/harness/internal/createRun/planProcess/understandIntent.js +65 -0
  269. package/dist/harness/internal/createRun/planProcess/validation.d.ts +2 -0
  270. package/dist/harness/internal/createRun/planProcess/validation.d.ts.map +1 -0
  271. package/dist/harness/internal/createRun/planProcess/validation.js +212 -0
  272. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts +11 -0
  273. package/dist/harness/internal/createRun/planProcess/validationSource.d.ts.map +1 -0
  274. package/dist/harness/internal/createRun/planProcess/validationSource.js +328 -0
  275. package/dist/harness/internal/createRun/planProcess/validationText.d.ts +3 -0
  276. package/dist/harness/internal/createRun/planProcess/validationText.d.ts.map +1 -0
  277. package/dist/harness/internal/createRun/planProcess/validationText.js +145 -0
  278. package/dist/harness/internal/createRun/prompts.d.ts +49 -0
  279. package/dist/harness/internal/createRun/prompts.d.ts.map +1 -0
  280. package/dist/harness/internal/createRun/prompts.js +307 -0
  281. package/dist/harness/internal/createRun/resumeState.d.ts +28 -0
  282. package/dist/harness/internal/createRun/resumeState.d.ts.map +1 -0
  283. package/dist/harness/internal/createRun/resumeState.js +133 -0
  284. package/dist/harness/internal/createRun/utils.d.ts +182 -0
  285. package/dist/harness/internal/createRun/utils.d.ts.map +1 -0
  286. package/dist/harness/internal/createRun/utils.js +133 -0
  287. package/dist/harness/internal.d.ts +13 -0
  288. package/dist/harness/internal.d.ts.map +1 -0
  289. package/dist/harness/internal.js +149 -0
  290. package/dist/harness/invoker/launch.d.ts +20 -0
  291. package/dist/harness/invoker/launch.d.ts.map +1 -0
  292. package/dist/harness/invoker/launch.js +23 -0
  293. package/dist/harness/invoker/processControl.d.ts +11 -0
  294. package/dist/harness/invoker/processControl.d.ts.map +1 -0
  295. package/dist/harness/invoker/processControl.js +50 -0
  296. package/dist/harness/invoker.d.ts +43 -0
  297. package/dist/harness/invoker.d.ts.map +1 -0
  298. package/dist/harness/invoker.js +210 -0
  299. package/dist/harness/modeSelector.d.ts +50 -0
  300. package/dist/harness/modeSelector.d.ts.map +1 -0
  301. package/dist/harness/modeSelector.js +124 -0
  302. package/dist/harness/modelSelection.d.ts +37 -0
  303. package/dist/harness/modelSelection.d.ts.map +1 -0
  304. package/dist/harness/modelSelection.js +81 -0
  305. package/dist/harness/operatorCommands.d.ts +38 -0
  306. package/dist/harness/operatorCommands.d.ts.map +1 -0
  307. package/dist/harness/operatorCommands.js +118 -0
  308. package/dist/harness/piSecureSandbox.d.ts +8 -0
  309. package/dist/harness/piSecureSandbox.d.ts.map +1 -0
  310. package/dist/harness/piSecureSandbox.js +366 -0
  311. package/dist/harness/piSecureSandboxTypes.d.ts +51 -0
  312. package/dist/harness/piSecureSandboxTypes.d.ts.map +1 -0
  313. package/dist/harness/piSecureSandboxTypes.js +6 -0
  314. package/dist/harness/piWrapper/compaction.d.ts +13 -0
  315. package/dist/harness/piWrapper/compaction.d.ts.map +1 -0
  316. package/dist/harness/piWrapper/compaction.js +38 -0
  317. package/dist/harness/piWrapper/instructionPrompts.d.ts +2 -0
  318. package/dist/harness/piWrapper/instructionPrompts.d.ts.map +1 -0
  319. package/dist/harness/piWrapper/instructionPrompts.js +97 -0
  320. package/dist/harness/piWrapper/moduleSupport.d.ts +77 -0
  321. package/dist/harness/piWrapper/moduleSupport.d.ts.map +1 -0
  322. package/dist/harness/piWrapper/moduleSupport.js +204 -0
  323. package/dist/harness/piWrapper.d.ts +80 -0
  324. package/dist/harness/piWrapper.d.ts.map +1 -0
  325. package/dist/harness/piWrapper.js +389 -0
  326. package/dist/harness/piWrapper.test.d.ts +2 -0
  327. package/dist/harness/piWrapper.test.d.ts.map +1 -0
  328. package/dist/harness/piWrapper.test.js +193 -0
  329. package/dist/harness/planMode.d.ts +68 -0
  330. package/dist/harness/planMode.d.ts.map +1 -0
  331. package/dist/harness/planMode.js +145 -0
  332. package/dist/harness/selectionPolicies.d.ts +29 -0
  333. package/dist/harness/selectionPolicies.d.ts.map +1 -0
  334. package/dist/harness/selectionPolicies.js +165 -0
  335. package/dist/harness/types.d.ts +266 -0
  336. package/dist/harness/types.d.ts.map +1 -0
  337. package/dist/harness/types.js +34 -0
  338. package/dist/index.d.ts +16 -0
  339. package/dist/index.d.ts.map +1 -0
  340. package/dist/index.js +54 -0
  341. package/dist/interaction/askUserQuestion/core.d.ts +8 -0
  342. package/dist/interaction/askUserQuestion/core.d.ts.map +1 -0
  343. package/dist/interaction/askUserQuestion/core.js +112 -0
  344. package/dist/interaction/askUserQuestion/terminal.d.ts +15 -0
  345. package/dist/interaction/askUserQuestion/terminal.d.ts.map +1 -0
  346. package/dist/interaction/askUserQuestion/terminal.js +128 -0
  347. package/dist/interaction/askUserQuestion.d.ts +10 -0
  348. package/dist/interaction/askUserQuestion.d.ts.map +1 -0
  349. package/dist/interaction/askUserQuestion.js +295 -0
  350. package/dist/interaction/askUserQuestionTypes.d.ts +31 -0
  351. package/dist/interaction/askUserQuestionTypes.d.ts.map +1 -0
  352. package/dist/interaction/askUserQuestionTypes.js +6 -0
  353. package/dist/interaction/index.d.ts +4 -0
  354. package/dist/interaction/index.d.ts.map +1 -0
  355. package/dist/interaction/index.js +20 -0
  356. package/dist/interaction/interactionRouter.d.ts +25 -0
  357. package/dist/interaction/interactionRouter.d.ts.map +1 -0
  358. package/dist/interaction/interactionRouter.js +55 -0
  359. package/dist/mcp/channels/allowlist.d.ts +19 -0
  360. package/dist/mcp/channels/allowlist.d.ts.map +1 -0
  361. package/dist/mcp/channels/allowlist.js +140 -0
  362. package/dist/mcp/channels/channelManager.d.ts +64 -0
  363. package/dist/mcp/channels/channelManager.d.ts.map +1 -0
  364. package/dist/mcp/channels/channelManager.js +137 -0
  365. package/dist/mcp/channels/inboundQueue.d.ts +47 -0
  366. package/dist/mcp/channels/inboundQueue.d.ts.map +1 -0
  367. package/dist/mcp/channels/inboundQueue.js +96 -0
  368. package/dist/mcp/channels/index.d.ts +17 -0
  369. package/dist/mcp/channels/index.d.ts.map +1 -0
  370. package/dist/mcp/channels/index.js +39 -0
  371. package/dist/mcp/channels/outbound.d.ts +33 -0
  372. package/dist/mcp/channels/outbound.d.ts.map +1 -0
  373. package/dist/mcp/channels/outbound.js +94 -0
  374. package/dist/mcp/channels/permissionRelay.d.ts +62 -0
  375. package/dist/mcp/channels/permissionRelay.d.ts.map +1 -0
  376. package/dist/mcp/channels/permissionRelay.js +159 -0
  377. package/dist/mcp/channels/types.d.ts +135 -0
  378. package/dist/mcp/channels/types.d.ts.map +1 -0
  379. package/dist/mcp/channels/types.js +16 -0
  380. package/dist/mcp/client/config.d.ts +28 -0
  381. package/dist/mcp/client/config.d.ts.map +1 -0
  382. package/dist/mcp/client/config.js +142 -0
  383. package/dist/mcp/client/executor.d.ts +30 -0
  384. package/dist/mcp/client/executor.d.ts.map +1 -0
  385. package/dist/mcp/client/executor.js +60 -0
  386. package/dist/mcp/client/index.d.ts +12 -0
  387. package/dist/mcp/client/index.d.ts.map +1 -0
  388. package/dist/mcp/client/index.js +27 -0
  389. package/dist/mcp/client/manager.d.ts +74 -0
  390. package/dist/mcp/client/manager.d.ts.map +1 -0
  391. package/dist/mcp/client/manager.js +214 -0
  392. package/dist/mcp/client/toolRegistry.d.ts +50 -0
  393. package/dist/mcp/client/toolRegistry.d.ts.map +1 -0
  394. package/dist/mcp/client/toolRegistry.js +118 -0
  395. package/dist/mcp/client/types.d.ts +96 -0
  396. package/dist/mcp/client/types.d.ts.map +1 -0
  397. package/dist/mcp/client/types.js +15 -0
  398. package/dist/mcp/transport/index.d.ts +9 -0
  399. package/dist/mcp/transport/index.d.ts.map +1 -0
  400. package/dist/mcp/transport/index.js +13 -0
  401. package/dist/mcp/transport/session.d.ts +18 -0
  402. package/dist/mcp/transport/session.d.ts.map +1 -0
  403. package/dist/mcp/transport/session.js +78 -0
  404. package/dist/mcp/transport/types.d.ts +19 -0
  405. package/dist/mcp/transport/types.d.ts.map +1 -0
  406. package/dist/mcp/transport/types.js +7 -0
  407. package/dist/mcp/transport/websocket.d.ts +41 -0
  408. package/dist/mcp/transport/websocket.d.ts.map +1 -0
  409. package/dist/mcp/transport/websocket.js +271 -0
  410. package/dist/observability/health.d.ts +19 -0
  411. package/dist/observability/health.d.ts.map +1 -0
  412. package/dist/observability/health.js +129 -0
  413. package/dist/observability/index.d.ts +7 -0
  414. package/dist/observability/index.d.ts.map +1 -0
  415. package/dist/observability/index.js +22 -0
  416. package/dist/observability/runStatus.d.ts +44 -0
  417. package/dist/observability/runStatus.d.ts.map +1 -0
  418. package/dist/observability/runStatus.js +169 -0
  419. package/dist/observability/timeline.d.ts +11 -0
  420. package/dist/observability/timeline.d.ts.map +1 -0
  421. package/dist/observability/timeline.js +176 -0
  422. package/dist/observability/types.d.ts +62 -0
  423. package/dist/observability/types.d.ts.map +1 -0
  424. package/dist/observability/types.js +8 -0
  425. package/dist/observability/webhooks.d.ts +68 -0
  426. package/dist/observability/webhooks.d.ts.map +1 -0
  427. package/dist/observability/webhooks.js +132 -0
  428. package/dist/plugins/index.d.ts +11 -0
  429. package/dist/plugins/index.d.ts.map +1 -0
  430. package/dist/plugins/index.js +18 -0
  431. package/dist/plugins/loader.d.ts +37 -0
  432. package/dist/plugins/loader.d.ts.map +1 -0
  433. package/dist/plugins/loader.js +112 -0
  434. package/dist/plugins/sandbox.d.ts +38 -0
  435. package/dist/plugins/sandbox.d.ts.map +1 -0
  436. package/dist/plugins/sandbox.js +109 -0
  437. package/dist/plugins/types.d.ts +27 -0
  438. package/dist/plugins/types.d.ts.map +1 -0
  439. package/dist/plugins/types.js +7 -0
  440. package/dist/plugins/version-check.d.ts +23 -0
  441. package/dist/plugins/version-check.d.ts.map +1 -0
  442. package/dist/plugins/version-check.js +70 -0
  443. package/dist/processes/index.d.ts +12 -0
  444. package/dist/processes/index.d.ts.map +1 -0
  445. package/dist/processes/index.js +15 -0
  446. package/dist/processes/recommender.d.ts +36 -0
  447. package/dist/processes/recommender.d.ts.map +1 -0
  448. package/dist/processes/recommender.js +73 -0
  449. package/dist/processes/scorer.d.ts +26 -0
  450. package/dist/processes/scorer.d.ts.map +1 -0
  451. package/dist/processes/scorer.js +104 -0
  452. package/dist/processes/types.d.ts +48 -0
  453. package/dist/processes/types.d.ts.map +1 -0
  454. package/dist/processes/types.js +9 -0
  455. package/dist/runtime/index.d.ts +3 -0
  456. package/dist/runtime/index.d.ts.map +1 -0
  457. package/dist/runtime/index.js +28 -0
  458. package/dist/seams/contract.d.ts +63 -0
  459. package/dist/seams/contract.d.ts.map +1 -0
  460. package/dist/seams/contract.js +138 -0
  461. package/dist/seams/contract.test.d.ts +2 -0
  462. package/dist/seams/contract.test.d.ts.map +1 -0
  463. package/dist/seams/contract.test.js +99 -0
  464. package/dist/seams/index.d.ts +3 -0
  465. package/dist/seams/index.d.ts.map +1 -0
  466. package/dist/seams/index.js +8 -0
  467. package/dist/session/context.d.ts +22 -0
  468. package/dist/session/context.d.ts.map +1 -0
  469. package/dist/session/context.js +113 -0
  470. package/dist/session/continuityState.d.ts +39 -0
  471. package/dist/session/continuityState.d.ts.map +1 -0
  472. package/dist/session/continuityState.js +164 -0
  473. package/dist/session/cost.d.ts +63 -0
  474. package/dist/session/cost.d.ts.map +1 -0
  475. package/dist/session/cost.js +194 -0
  476. package/dist/session/discovery.d.ts +22 -0
  477. package/dist/session/discovery.d.ts.map +1 -0
  478. package/dist/session/discovery.js +35 -0
  479. package/dist/session/history.d.ts +30 -0
  480. package/dist/session/history.d.ts.map +1 -0
  481. package/dist/session/history.js +143 -0
  482. package/dist/session/index.d.ts +7 -0
  483. package/dist/session/index.d.ts.map +1 -0
  484. package/dist/session/index.js +70 -0
  485. package/dist/session/memoryExtraction.d.ts +65 -0
  486. package/dist/session/memoryExtraction.d.ts.map +1 -0
  487. package/dist/session/memoryExtraction.js +201 -0
  488. package/dist/session/parse.d.ts +45 -0
  489. package/dist/session/parse.d.ts.map +1 -0
  490. package/dist/session/parse.js +170 -0
  491. package/dist/session/persistence.d.ts +46 -0
  492. package/dist/session/persistence.d.ts.map +1 -0
  493. package/dist/session/persistence.js +180 -0
  494. package/dist/session/types.d.ts +267 -0
  495. package/dist/session/types.d.ts.map +1 -0
  496. package/dist/session/types.js +45 -0
  497. package/dist/session/write.d.ts +61 -0
  498. package/dist/session/write.d.ts.map +1 -0
  499. package/dist/session/write.js +213 -0
  500. package/dist/skills/chain.d.ts +31 -0
  501. package/dist/skills/chain.d.ts.map +1 -0
  502. package/dist/skills/chain.js +113 -0
  503. package/dist/skills/discovery.d.ts +34 -0
  504. package/dist/skills/discovery.d.ts.map +1 -0
  505. package/dist/skills/discovery.js +185 -0
  506. package/dist/skills/index.d.ts +12 -0
  507. package/dist/skills/index.d.ts.map +1 -0
  508. package/dist/skills/index.js +18 -0
  509. package/dist/skills/router.d.ts +35 -0
  510. package/dist/skills/router.d.ts.map +1 -0
  511. package/dist/skills/router.js +143 -0
  512. package/dist/skills/types.d.ts +33 -0
  513. package/dist/skills/types.d.ts.map +1 -0
  514. package/dist/skills/types.js +5 -0
  515. package/dist/storage/atomic.d.ts +2 -0
  516. package/dist/storage/atomic.d.ts.map +1 -0
  517. package/dist/storage/atomic.js +54 -0
  518. package/dist/storage/clock.d.ts +2 -0
  519. package/dist/storage/clock.d.ts.map +1 -0
  520. package/dist/storage/clock.js +6 -0
  521. package/dist/storage/index.d.ts +7 -0
  522. package/dist/storage/index.d.ts.map +1 -0
  523. package/dist/storage/index.js +9 -0
  524. package/dist/storage/journalWatcher.d.ts +24 -0
  525. package/dist/storage/journalWatcher.d.ts.map +1 -0
  526. package/dist/storage/journalWatcher.js +172 -0
  527. package/dist/storage/paths.d.ts +5 -0
  528. package/dist/storage/paths.d.ts.map +1 -0
  529. package/dist/storage/paths.js +26 -0
  530. package/dist/storage/snapshotState.d.ts +10 -0
  531. package/dist/storage/snapshotState.d.ts.map +1 -0
  532. package/dist/storage/snapshotState.js +15 -0
  533. package/dist/storage/storeTaskArtifacts.d.ts +6 -0
  534. package/dist/storage/storeTaskArtifacts.d.ts.map +1 -0
  535. package/dist/storage/storeTaskArtifacts.js +55 -0
  536. package/dist/storage/types.d.ts +21 -0
  537. package/dist/storage/types.d.ts.map +1 -0
  538. package/dist/storage/types.js +2 -0
  539. package/dist/tasks/crud.d.ts +33 -0
  540. package/dist/tasks/crud.d.ts.map +1 -0
  541. package/dist/tasks/crud.js +150 -0
  542. package/dist/tasks/index.d.ts +2 -0
  543. package/dist/tasks/index.d.ts.map +1 -0
  544. package/dist/tasks/index.js +9 -0
  545. package/package.json +159 -0
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ /**
3
+ * Claude Code JSONL session file parser for cost data collection.
4
+ *
5
+ * Parses Claude Code session JSONL files (main session and subagent files)
6
+ * to extract token usage data and compute costs. Each assistant message with
7
+ * a `usage` block becomes a {@link CostEventData} entry.
8
+ *
9
+ * JSONL format (one JSON object per line):
10
+ * ```json
11
+ * {
12
+ * "type": "assistant",
13
+ * "message": {
14
+ * "model": "claude-opus-4-6",
15
+ * "usage": {
16
+ * "input_tokens": 3,
17
+ * "cache_creation_input_tokens": 26928,
18
+ * "cache_read_input_tokens": 0,
19
+ * "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 26928 },
20
+ * "output_tokens": 28,
21
+ * "service_tier": "standard"
22
+ * }
23
+ * },
24
+ * "timestamp": "2026-04-05T..."
25
+ * }
26
+ * ```
27
+ */
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || (function () {
45
+ var ownKeys = function(o) {
46
+ ownKeys = Object.getOwnPropertyNames || function (o) {
47
+ var ar = [];
48
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
49
+ return ar;
50
+ };
51
+ return ownKeys(o);
52
+ };
53
+ return function (mod) {
54
+ if (mod && mod.__esModule) return mod;
55
+ var result = {};
56
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
57
+ __setModuleDefault(result, mod);
58
+ return result;
59
+ };
60
+ })();
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.parseClaudeCodeSession = parseClaudeCodeSession;
63
+ exports.parseClaudeCodeSessionWithSubagents = parseClaudeCodeSessionWithSubagents;
64
+ exports.aggregateUsageData = aggregateUsageData;
65
+ const node_fs_1 = require("node:fs");
66
+ const path = __importStar(require("node:path"));
67
+ const types_1 = require("./types");
68
+ // ============================================================================
69
+ // Single-file parser
70
+ // ============================================================================
71
+ /**
72
+ * Parse a single Claude Code session JSONL file into cost events.
73
+ *
74
+ * Reads the file, splits by newline, and for each line that represents an
75
+ * assistant message with usage data, extracts token counts and computes
76
+ * the USD cost using the extended pricing model.
77
+ *
78
+ * @param sessionJsonlPath - Absolute path to the `.jsonl` file.
79
+ * @returns Array of cost events extracted from assistant messages.
80
+ */
81
+ async function parseClaudeCodeSession(sessionJsonlPath) {
82
+ let content;
83
+ try {
84
+ content = await node_fs_1.promises.readFile(sessionJsonlPath, "utf-8");
85
+ }
86
+ catch (err) {
87
+ const e = err;
88
+ if (e.code === "ENOENT")
89
+ return [];
90
+ throw err;
91
+ }
92
+ const lines = content.split("\n");
93
+ const events = [];
94
+ for (const line of lines) {
95
+ const trimmed = line.trim();
96
+ if (!trimmed)
97
+ continue;
98
+ let entry;
99
+ try {
100
+ entry = JSON.parse(trimmed);
101
+ }
102
+ catch {
103
+ // Malformed line — skip silently.
104
+ continue;
105
+ }
106
+ if (entry.type !== "assistant")
107
+ continue;
108
+ const usage = entry.message?.usage;
109
+ if (!usage)
110
+ continue;
111
+ const model = entry.message?.model ?? "unknown";
112
+ const inputTokens = usage.input_tokens ?? 0;
113
+ const outputTokens = usage.output_tokens ?? 0;
114
+ const cacheCreationTokens = usage.cache_creation_input_tokens ?? 0;
115
+ const cacheReadTokens = usage.cache_read_input_tokens ?? 0;
116
+ const cacheCreation5mTokens = usage.cache_creation?.ephemeral_5m_input_tokens ?? 0;
117
+ const cacheCreation1hTokens = usage.cache_creation?.ephemeral_1h_input_tokens ?? 0;
118
+ const costUsd = (0, types_1.calculateCostUsdExtended)(model, inputTokens, outputTokens, cacheCreation5mTokens, cacheCreation1hTokens, cacheReadTokens);
119
+ events.push({
120
+ model,
121
+ inputTokens,
122
+ outputTokens,
123
+ cacheCreationTokens,
124
+ cacheReadTokens,
125
+ cacheCreation5mTokens,
126
+ cacheCreation1hTokens,
127
+ serviceTier: usage.service_tier,
128
+ costUsd: costUsd ?? undefined,
129
+ timestamp: entry.timestamp,
130
+ });
131
+ }
132
+ return events;
133
+ }
134
+ // ============================================================================
135
+ // Session + subagent parser
136
+ // ============================================================================
137
+ /**
138
+ * Parse a Claude Code session JSONL file and all associated subagent files.
139
+ *
140
+ * Subagent files live at `<sessionDir>/subagents/agent-*.jsonl` where
141
+ * `<sessionDir>` is derived by stripping the `.jsonl` extension from the
142
+ * main session file path.
143
+ *
144
+ * @param sessionJsonlPath - Absolute path to the main session `.jsonl` file.
145
+ * @returns Merged array of cost events from the main session and all subagents.
146
+ */
147
+ async function parseClaudeCodeSessionWithSubagents(sessionJsonlPath) {
148
+ // Parse main session file.
149
+ const mainEvents = await parseClaudeCodeSession(sessionJsonlPath);
150
+ // Derive the session directory (same name without .jsonl extension).
151
+ const sessionDir = sessionJsonlPath.replace(/\.jsonl$/, "");
152
+ const subagentsDir = path.join(sessionDir, "subagents");
153
+ let subagentFiles;
154
+ try {
155
+ const entries = await node_fs_1.promises.readdir(subagentsDir);
156
+ subagentFiles = entries
157
+ .filter((f) => f.startsWith("agent-") && f.endsWith(".jsonl"))
158
+ .map((f) => path.join(subagentsDir, f));
159
+ }
160
+ catch (err) {
161
+ const e = err;
162
+ if (e.code === "ENOENT")
163
+ return mainEvents;
164
+ throw err;
165
+ }
166
+ // Parse all subagent files and merge.
167
+ const subagentResults = await Promise.all(subagentFiles.map((f) => parseClaudeCodeSession(f)));
168
+ const allEvents = [...mainEvents];
169
+ for (const sub of subagentResults) {
170
+ allEvents.push(...sub);
171
+ }
172
+ return allEvents;
173
+ }
174
+ /**
175
+ * Aggregate usage data across an array of cost events.
176
+ *
177
+ * Sums token counts and costs, producing both overall totals and a
178
+ * per-model breakdown.
179
+ *
180
+ * @param events - Array of cost events (e.g. from {@link parseClaudeCodeSessionWithSubagents}).
181
+ * @returns Aggregated usage summary with per-model breakdown.
182
+ */
183
+ function aggregateUsageData(events) {
184
+ const result = {
185
+ eventCount: 0,
186
+ totalInputTokens: 0,
187
+ totalOutputTokens: 0,
188
+ totalCacheCreationTokens: 0,
189
+ totalCacheReadTokens: 0,
190
+ totalCacheCreation5mTokens: 0,
191
+ totalCacheCreation1hTokens: 0,
192
+ totalCostUsd: 0,
193
+ byModel: {},
194
+ };
195
+ for (const event of events) {
196
+ result.eventCount += 1;
197
+ result.totalInputTokens += event.inputTokens;
198
+ result.totalOutputTokens += event.outputTokens;
199
+ result.totalCacheCreationTokens += event.cacheCreationTokens;
200
+ result.totalCacheReadTokens += event.cacheReadTokens;
201
+ result.totalCacheCreation5mTokens += event.cacheCreation5mTokens;
202
+ result.totalCacheCreation1hTokens += event.cacheCreation1hTokens;
203
+ result.totalCostUsd += event.costUsd ?? 0;
204
+ // Per-model breakdown.
205
+ const model = event.model ?? "unknown";
206
+ if (!result.byModel[model]) {
207
+ result.byModel[model] = {
208
+ model,
209
+ eventCount: 0,
210
+ inputTokens: 0,
211
+ outputTokens: 0,
212
+ cacheCreationTokens: 0,
213
+ cacheReadTokens: 0,
214
+ costUsd: 0,
215
+ };
216
+ }
217
+ const ms = result.byModel[model];
218
+ ms.eventCount += 1;
219
+ ms.inputTokens += event.inputTokens;
220
+ ms.outputTokens += event.outputTokens;
221
+ ms.cacheCreationTokens += event.cacheCreationTokens;
222
+ ms.cacheReadTokens += event.cacheReadTokens;
223
+ ms.costUsd += event.costUsd ?? 0;
224
+ }
225
+ // Round totals to 6 decimal places to avoid floating-point drift.
226
+ result.totalCostUsd =
227
+ Math.round(result.totalCostUsd * 1_000_000) / 1_000_000;
228
+ for (const ms of Object.values(result.byModel)) {
229
+ ms.costUsd = Math.round(ms.costUsd * 1_000_000) / 1_000_000;
230
+ }
231
+ return result;
232
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Cost data collector for Babysitter runs.
3
+ *
4
+ * Bridges the Claude Code JSONL parser with the run journal: parses a
5
+ * session file (including subagent files), then writes COST_TRACKED events
6
+ * to the run's journal for later aggregation and reporting.
7
+ */
8
+ /**
9
+ * Parse a Claude Code session (main + subagents) and write COST_TRACKED
10
+ * events into the run journal.
11
+ *
12
+ * Each assistant message with usage data becomes a separate journal event,
13
+ * preserving the full token breakdown for fine-grained cost analysis.
14
+ *
15
+ * @param runDir - Absolute path to the run directory (e.g. `.a5c/runs/<runId>`).
16
+ * @param sessionJsonlPath - Absolute path to the main session `.jsonl` file.
17
+ * @returns The number of COST_TRACKED events written to the journal.
18
+ */
19
+ export declare function collectCostDataForRun(runDir: string, sessionJsonlPath: string): Promise<number>;
20
+ /**
21
+ * Resolve the Claude Code projects directory path for a given session ID.
22
+ *
23
+ * Claude Code stores session JSONL files at:
24
+ * ```
25
+ * ~/.claude/projects/<project-slug>/<sessionId>.jsonl
26
+ * ```
27
+ *
28
+ * Since we don't always know the project slug, this function returns the
29
+ * base Claude Code projects directory. The caller can then search for the
30
+ * session file within the project subdirectories.
31
+ *
32
+ * If a workspace path is provided, the project slug is derived using Claude
33
+ * Code's path-encoding convention (forward slashes and colons replaced with
34
+ * dashes, prefixed with the drive letter on Windows).
35
+ *
36
+ * @param sessionId - The Claude Code session UUID.
37
+ * @param workspacePath - Optional absolute workspace path to derive the project slug.
38
+ * @returns Absolute path to the session `.jsonl` file (when workspace is
39
+ * provided) or the Claude Code projects directory (when workspace is omitted).
40
+ */
41
+ export declare function resolveClaudeCodeSessionDir(sessionId: string, workspacePath?: string): string;
42
+ //# sourceMappingURL=collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../../src/cost/collector.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAkBR"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /**
3
+ * Cost data collector for Babysitter runs.
4
+ *
5
+ * Bridges the Claude Code JSONL parser with the run journal: parses a
6
+ * session file (including subagent files), then writes COST_TRACKED events
7
+ * to the run's journal for later aggregation and reporting.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.collectCostDataForRun = collectCostDataForRun;
44
+ exports.resolveClaudeCodeSessionDir = resolveClaudeCodeSessionDir;
45
+ const path = __importStar(require("node:path"));
46
+ const os = __importStar(require("node:os"));
47
+ const claudeCodeParser_1 = require("./claudeCodeParser");
48
+ const journal_1 = require("./journal");
49
+ /**
50
+ * Parse a Claude Code session (main + subagents) and write COST_TRACKED
51
+ * events into the run journal.
52
+ *
53
+ * Each assistant message with usage data becomes a separate journal event,
54
+ * preserving the full token breakdown for fine-grained cost analysis.
55
+ *
56
+ * @param runDir - Absolute path to the run directory (e.g. `.a5c/runs/<runId>`).
57
+ * @param sessionJsonlPath - Absolute path to the main session `.jsonl` file.
58
+ * @returns The number of COST_TRACKED events written to the journal.
59
+ */
60
+ async function collectCostDataForRun(runDir, sessionJsonlPath) {
61
+ const events = await (0, claudeCodeParser_1.parseClaudeCodeSessionWithSubagents)(sessionJsonlPath);
62
+ let written = 0;
63
+ for (const event of events) {
64
+ await (0, journal_1.appendCostEvent)(runDir, event);
65
+ written += 1;
66
+ }
67
+ return written;
68
+ }
69
+ /**
70
+ * Resolve the Claude Code projects directory path for a given session ID.
71
+ *
72
+ * Claude Code stores session JSONL files at:
73
+ * ```
74
+ * ~/.claude/projects/<project-slug>/<sessionId>.jsonl
75
+ * ```
76
+ *
77
+ * Since we don't always know the project slug, this function returns the
78
+ * base Claude Code projects directory. The caller can then search for the
79
+ * session file within the project subdirectories.
80
+ *
81
+ * If a workspace path is provided, the project slug is derived using Claude
82
+ * Code's path-encoding convention (forward slashes and colons replaced with
83
+ * dashes, prefixed with the drive letter on Windows).
84
+ *
85
+ * @param sessionId - The Claude Code session UUID.
86
+ * @param workspacePath - Optional absolute workspace path to derive the project slug.
87
+ * @returns Absolute path to the session `.jsonl` file (when workspace is
88
+ * provided) or the Claude Code projects directory (when workspace is omitted).
89
+ */
90
+ function resolveClaudeCodeSessionDir(sessionId, workspacePath) {
91
+ const homeDir = os.homedir();
92
+ const projectsDir = path.join(homeDir, ".claude", "projects");
93
+ if (!workspacePath) {
94
+ return projectsDir;
95
+ }
96
+ // Claude Code encodes the workspace path as the project directory name.
97
+ // On Windows: C:\Users\foo\project -> C--Users-foo-project
98
+ // The colon becomes a dash, backslashes become dashes (so :\ -> --)
99
+ // On Unix: /home/foo/project -> -home-foo-project
100
+ const projectSlug = workspacePath
101
+ .replace(/\\/g, "/") // Normalize to forward slashes.
102
+ .replace(/\//g, "-") // Replace path separators with dashes.
103
+ .replace(/:/g, "-"); // Replace colons with dashes (Windows drive).
104
+ return path.join(projectsDir, projectSlug, `${sessionId}.jsonl`);
105
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Status: NOT INTEGRATED YET
3
+ * Moved from @a5c-ai/babysitter-sdk.
4
+ * Per-effect cost aggregation (GAP-SUBOBS-003).
5
+ */
6
+ import type { EffectIndex } from "@a5c-ai/babysitter-sdk";
7
+ export interface EffectCostSummary {
8
+ effectId: string;
9
+ taskId: string;
10
+ kind: string;
11
+ inputTokens: number;
12
+ outputTokens: number;
13
+ cacheCreationInputTokens: number;
14
+ cacheReadInputTokens: number;
15
+ costUsd: number;
16
+ model?: string;
17
+ }
18
+ export interface EffectCostResult {
19
+ effects: EffectCostSummary[];
20
+ totalCostUsd: number;
21
+ }
22
+ export declare function computeEffectCosts(index: EffectIndex): EffectCostResult;
23
+ //# sourceMappingURL=effectCost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectCost.d.ts","sourceRoot":"","sources":["../../src/cost/effectCost.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB,CAwBvE"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeEffectCosts = computeEffectCosts;
4
+ function computeEffectCosts(index) {
5
+ const effects = [];
6
+ let totalCostUsd = 0;
7
+ for (const record of index.listEffects()) {
8
+ if (record.costUsd === undefined && record.inputTokens === undefined && record.outputTokens === undefined) {
9
+ continue; // No cost data for this effect
10
+ }
11
+ const summary = {
12
+ effectId: record.effectId,
13
+ taskId: record.taskId,
14
+ kind: record.kind ?? "unknown",
15
+ inputTokens: record.inputTokens ?? 0,
16
+ outputTokens: record.outputTokens ?? 0,
17
+ cacheCreationInputTokens: record.cacheCreationInputTokens ?? 0,
18
+ cacheReadInputTokens: record.cacheReadInputTokens ?? 0,
19
+ costUsd: record.costUsd ?? 0,
20
+ model: record.costModel,
21
+ };
22
+ effects.push(summary);
23
+ totalCostUsd += summary.costUsd;
24
+ }
25
+ return { effects, totalCostUsd };
26
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Re-export shim — canonical implementation lives in @a5c-ai/agent-runtime.
3
+ * Internal agent-platform consumers continue to import via relative paths
4
+ * through this barrel file.
5
+ */
6
+ export { type CostEventData, type ModelCostStats, type KindCostStats, type RunCostStats, type AggregateCostStats, type ModelPricing, type ModelPricingExtended, MODEL_PRICING, MODEL_PRICING_EXTENDED, calculateCostUsd, calculateCostUsdExtended, type CostStatsOptions, COST_TRACKED_EVENT_TYPE, appendCostEvent, extractCostEvents, computeRunCostStats, parseClaudeCodeSession, parseClaudeCodeSessionWithSubagents, aggregateUsageData, type AggregatedUsage, collectCostDataForRun, resolveClaudeCodeSessionDir, computeEffectCosts, type EffectCostSummary, type EffectCostResult, } from "@a5c-ai/agent-runtime/cost";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cost/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EAGvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,aAAa,EACb,sBAAsB,EAGtB,gBAAgB,EAChB,wBAAwB,EAGxB,KAAK,gBAAgB,EAGrB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EAGnB,sBAAsB,EACtB,mCAAmC,EACnC,kBAAkB,EAClB,KAAK,eAAe,EAGpB,qBAAqB,EACrB,2BAA2B,EAG3B,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeEffectCosts = exports.resolveClaudeCodeSessionDir = exports.collectCostDataForRun = exports.aggregateUsageData = exports.parseClaudeCodeSessionWithSubagents = exports.parseClaudeCodeSession = exports.computeRunCostStats = exports.extractCostEvents = exports.appendCostEvent = exports.COST_TRACKED_EVENT_TYPE = exports.calculateCostUsdExtended = exports.calculateCostUsd = exports.MODEL_PRICING_EXTENDED = exports.MODEL_PRICING = void 0;
4
+ /**
5
+ * Re-export shim — canonical implementation lives in @a5c-ai/agent-runtime.
6
+ * Internal agent-platform consumers continue to import via relative paths
7
+ * through this barrel file.
8
+ */
9
+ var cost_1 = require("@a5c-ai/agent-runtime/cost");
10
+ Object.defineProperty(exports, "MODEL_PRICING", { enumerable: true, get: function () { return cost_1.MODEL_PRICING; } });
11
+ Object.defineProperty(exports, "MODEL_PRICING_EXTENDED", { enumerable: true, get: function () { return cost_1.MODEL_PRICING_EXTENDED; } });
12
+ // Cost calculation
13
+ Object.defineProperty(exports, "calculateCostUsd", { enumerable: true, get: function () { return cost_1.calculateCostUsd; } });
14
+ Object.defineProperty(exports, "calculateCostUsdExtended", { enumerable: true, get: function () { return cost_1.calculateCostUsdExtended; } });
15
+ // Journal helpers
16
+ Object.defineProperty(exports, "COST_TRACKED_EVENT_TYPE", { enumerable: true, get: function () { return cost_1.COST_TRACKED_EVENT_TYPE; } });
17
+ Object.defineProperty(exports, "appendCostEvent", { enumerable: true, get: function () { return cost_1.appendCostEvent; } });
18
+ Object.defineProperty(exports, "extractCostEvents", { enumerable: true, get: function () { return cost_1.extractCostEvents; } });
19
+ Object.defineProperty(exports, "computeRunCostStats", { enumerable: true, get: function () { return cost_1.computeRunCostStats; } });
20
+ // Claude Code JSONL parser
21
+ Object.defineProperty(exports, "parseClaudeCodeSession", { enumerable: true, get: function () { return cost_1.parseClaudeCodeSession; } });
22
+ Object.defineProperty(exports, "parseClaudeCodeSessionWithSubagents", { enumerable: true, get: function () { return cost_1.parseClaudeCodeSessionWithSubagents; } });
23
+ Object.defineProperty(exports, "aggregateUsageData", { enumerable: true, get: function () { return cost_1.aggregateUsageData; } });
24
+ // Cost data collector
25
+ Object.defineProperty(exports, "collectCostDataForRun", { enumerable: true, get: function () { return cost_1.collectCostDataForRun; } });
26
+ Object.defineProperty(exports, "resolveClaudeCodeSessionDir", { enumerable: true, get: function () { return cost_1.resolveClaudeCodeSessionDir; } });
27
+ // Effect cost
28
+ Object.defineProperty(exports, "computeEffectCosts", { enumerable: true, get: function () { return cost_1.computeEffectCosts; } });
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Cost tracking journal helpers for Babysitter SDK.
3
+ *
4
+ * Provides functions to append COST_TRACKED events to the run journal,
5
+ * extract cost events from a journal, and compute aggregated cost statistics.
6
+ */
7
+ import { type AppendEventResult, type JournalEvent } from "@a5c-ai/babysitter-sdk";
8
+ import type { CostEventData, RunCostStats } from "./types";
9
+ /** Journal event type constant for cost tracking events. */
10
+ export declare const COST_TRACKED_EVENT_TYPE = "COST_TRACKED";
11
+ /**
12
+ * Append a COST_TRACKED event to a run's journal.
13
+ *
14
+ * Computes the USD cost (if not already set) before persisting so that the
15
+ * journal record is self-contained.
16
+ *
17
+ * @param runDir - Absolute path to the run directory.
18
+ * @param costData - Token usage and metadata for the cost event.
19
+ * @returns The append result with seq, ulid, filename, checksum, path, and recordedAt.
20
+ */
21
+ export declare function appendCostEvent(runDir: string, costData: CostEventData): Promise<AppendEventResult>;
22
+ /**
23
+ * Filter journal events to only COST_TRACKED entries.
24
+ *
25
+ * @param events - Full journal event list (as returned by `loadJournal`).
26
+ * @returns Subset of events whose type is COST_TRACKED.
27
+ */
28
+ export declare function extractCostEvents(events: JournalEvent[]): JournalEvent[];
29
+ /**
30
+ * Compute aggregated cost statistics for a run from its journal events.
31
+ *
32
+ * Extracts COST_TRACKED events, then accumulates totals with per-model and
33
+ * per-task-kind breakdowns.
34
+ *
35
+ * @param runId - The run identifier (included in the returned stats object).
36
+ * @param events - Full journal event list for the run.
37
+ * @returns Aggregated cost stats for the run.
38
+ */
39
+ export declare function computeRunCostStats(runId: string, events: JournalEvent[]): RunCostStats;
40
+ //# sourceMappingURL=journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal.d.ts","sourceRoot":"","sources":["../../src/cost/journal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAGb,MAAM,SAAS,CAAC;AAGjB,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,iBAAiB,CAAC;AAEtD;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA0B5B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAExE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,YAAY,EAAE,GACrB,YAAY,CAwFd"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * Cost tracking journal helpers for Babysitter SDK.
4
+ *
5
+ * Provides functions to append COST_TRACKED events to the run journal,
6
+ * extract cost events from a journal, and compute aggregated cost statistics.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.COST_TRACKED_EVENT_TYPE = void 0;
10
+ exports.appendCostEvent = appendCostEvent;
11
+ exports.extractCostEvents = extractCostEvents;
12
+ exports.computeRunCostStats = computeRunCostStats;
13
+ const babysitter_sdk_1 = require("@a5c-ai/babysitter-sdk");
14
+ const types_1 = require("./types");
15
+ /** Journal event type constant for cost tracking events. */
16
+ exports.COST_TRACKED_EVENT_TYPE = "COST_TRACKED";
17
+ /**
18
+ * Append a COST_TRACKED event to a run's journal.
19
+ *
20
+ * Computes the USD cost (if not already set) before persisting so that the
21
+ * journal record is self-contained.
22
+ *
23
+ * @param runDir - Absolute path to the run directory.
24
+ * @param costData - Token usage and metadata for the cost event.
25
+ * @returns The append result with seq, ulid, filename, checksum, path, and recordedAt.
26
+ */
27
+ async function appendCostEvent(runDir, costData) {
28
+ // Pre-compute costUsd if the caller did not supply it.
29
+ const enriched = { ...costData };
30
+ if (enriched.costUsd == null) {
31
+ const computed = (0, types_1.calculateCostUsd)(enriched.model, enriched.inputTokens, enriched.outputTokens, enriched.cacheCreationTokens, enriched.cacheReadTokens);
32
+ if (computed !== undefined) {
33
+ enriched.costUsd = computed;
34
+ }
35
+ }
36
+ // Set timestamp if missing.
37
+ if (!enriched.timestamp) {
38
+ enriched.timestamp = new Date().toISOString();
39
+ }
40
+ return (0, babysitter_sdk_1.appendEvent)({
41
+ runDir,
42
+ eventType: exports.COST_TRACKED_EVENT_TYPE,
43
+ event: enriched,
44
+ });
45
+ }
46
+ /**
47
+ * Filter journal events to only COST_TRACKED entries.
48
+ *
49
+ * @param events - Full journal event list (as returned by `loadJournal`).
50
+ * @returns Subset of events whose type is COST_TRACKED.
51
+ */
52
+ function extractCostEvents(events) {
53
+ return events.filter((e) => e.type === exports.COST_TRACKED_EVENT_TYPE);
54
+ }
55
+ /**
56
+ * Compute aggregated cost statistics for a run from its journal events.
57
+ *
58
+ * Extracts COST_TRACKED events, then accumulates totals with per-model and
59
+ * per-task-kind breakdowns.
60
+ *
61
+ * @param runId - The run identifier (included in the returned stats object).
62
+ * @param events - Full journal event list for the run.
63
+ * @returns Aggregated cost stats for the run.
64
+ */
65
+ function computeRunCostStats(runId, events) {
66
+ const costEvents = extractCostEvents(events);
67
+ const stats = {
68
+ runId,
69
+ date: costEvents.length > 0 ? costEvents[0].recordedAt : new Date().toISOString(),
70
+ eventCount: costEvents.length,
71
+ totalInputTokens: 0,
72
+ totalOutputTokens: 0,
73
+ totalCacheCreation: 0,
74
+ totalCacheRead: 0,
75
+ totalCostUsd: 0,
76
+ byModel: {},
77
+ byKind: {},
78
+ };
79
+ for (const event of costEvents) {
80
+ const data = event.data;
81
+ const inputTokens = data.inputTokens ?? 0;
82
+ const outputTokens = data.outputTokens ?? 0;
83
+ const cacheCreationTokens = data.cacheCreationTokens ?? 0;
84
+ const cacheReadTokens = data.cacheReadTokens ?? 0;
85
+ // Resolve per-event cost: use pre-computed value or calculate on the fly.
86
+ const eventCost = data.costUsd ??
87
+ (0, types_1.calculateCostUsd)(data.model, inputTokens, outputTokens, cacheCreationTokens, cacheReadTokens) ??
88
+ 0;
89
+ // --- Run-level totals ---
90
+ stats.totalInputTokens += inputTokens;
91
+ stats.totalOutputTokens += outputTokens;
92
+ stats.totalCacheCreation += cacheCreationTokens;
93
+ stats.totalCacheRead += cacheReadTokens;
94
+ stats.totalCostUsd += eventCost;
95
+ // --- Per-model breakdown ---
96
+ const model = data.model ?? "unknown";
97
+ if (!stats.byModel[model]) {
98
+ stats.byModel[model] = {
99
+ model,
100
+ eventCount: 0,
101
+ inputTokens: 0,
102
+ outputTokens: 0,
103
+ cacheCreationTokens: 0,
104
+ cacheReadTokens: 0,
105
+ costUsd: 0,
106
+ };
107
+ }
108
+ const ms = stats.byModel[model];
109
+ ms.eventCount += 1;
110
+ ms.inputTokens += inputTokens;
111
+ ms.outputTokens += outputTokens;
112
+ ms.cacheCreationTokens += cacheCreationTokens;
113
+ ms.cacheReadTokens += cacheReadTokens;
114
+ ms.costUsd += eventCost;
115
+ // --- Per-kind breakdown ---
116
+ const kind = data.taskKind ?? "unknown";
117
+ if (!stats.byKind[kind]) {
118
+ stats.byKind[kind] = {
119
+ kind,
120
+ eventCount: 0,
121
+ costUsd: 0,
122
+ };
123
+ }
124
+ const ks = stats.byKind[kind];
125
+ ks.eventCount += 1;
126
+ ks.costUsd += eventCost;
127
+ }
128
+ // Round totals to 6 decimal places to avoid floating-point drift.
129
+ stats.totalCostUsd = Math.round(stats.totalCostUsd * 1_000_000) / 1_000_000;
130
+ for (const ms of Object.values(stats.byModel)) {
131
+ ms.costUsd = Math.round(ms.costUsd * 1_000_000) / 1_000_000;
132
+ }
133
+ for (const ks of Object.values(stats.byKind)) {
134
+ ks.costUsd = Math.round(ks.costUsd * 1_000_000) / 1_000_000;
135
+ }
136
+ return stats;
137
+ }