crewly 1.20.192 → 1.20.194

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 (525) hide show
  1. package/config/constants.ts +11 -0
  2. package/config/hooks/subagent-guard/subagent.sh +113 -0
  3. package/config/roles/architect/prompt.md +1 -1
  4. package/config/roles/auditor/prompt.md +1 -1
  5. package/config/roles/backend-developer/prompt.md +1 -1
  6. package/config/roles/content-strategist/prompt.md +2 -2
  7. package/config/roles/designer/prompt.md +1 -1
  8. package/config/roles/developer/prompt.md +2 -2
  9. package/config/roles/frontend-developer/prompt.md +1 -1
  10. package/config/roles/fullstack-dev/prompt.md +1 -1
  11. package/config/roles/generalist/prompt.md +1 -1
  12. package/config/roles/ops/prompt.md +1 -1
  13. package/config/roles/orchestrator/prompt.md +2 -2
  14. package/config/roles/product-manager/prompt.md +1 -1
  15. package/config/roles/qa/prompt.md +1 -1
  16. package/config/roles/qa-engineer/prompt.md +1 -1
  17. package/config/roles/researcher/prompt.md +1 -1
  18. package/config/roles/sales/prompt.md +1 -1
  19. package/config/roles/support/prompt.md +1 -1
  20. package/config/roles/team-leader/prompt.md +1 -1
  21. package/config/roles/tpm/prompt.md +1 -1
  22. package/config/roles/ux-designer/prompt.md +1 -1
  23. package/config/skills/_common/complete-body-shape.test.sh +17 -0
  24. package/config/skills/agent/core/complete-task/SKILL.md +27 -4
  25. package/config/skills/agent/core/complete-task/execute.sh +23 -3
  26. package/config/skills/agent/core/complete-task/execute.test.sh +34 -0
  27. package/config/skills/agent/core/experiment-card/SKILL.md +96 -0
  28. package/config/skills/agent/core/experiment-card/execute.sh +147 -0
  29. package/config/skills/agent/core/experiment-card/execute.test.sh +91 -0
  30. package/config/skills/agent/core/handoff-task/execute.sh +1 -1
  31. package/config/skills/agent/core/report-status/SKILL.md +27 -4
  32. package/config/skills/agent/core/report-status/execute.sh +104 -4
  33. package/config/skills/agent/core/todo-add/SKILL.md +16 -2
  34. package/config/skills/agent/core/todo-add/execute.sh +21 -5
  35. package/config/skills/agent/core/todo-add/execute.test.sh +14 -0
  36. package/config/skills/agent/core/todo-tasks/SKILL.md +4 -3
  37. package/config/skills/agent/core/todo-update/SKILL.md +13 -2
  38. package/config/skills/agent/core/todo-update/execute.sh +41 -3
  39. package/config/skills/agent/core/todo-update/execute.test.sh +7 -0
  40. package/config/skills/marketplace-registry.ts +4 -4
  41. package/config/skills/orchestrator/complete-task/SKILL.md +13 -6
  42. package/config/skills/orchestrator/complete-task/execute.sh +22 -3
  43. package/config/skills/orchestrator/delegate-task/execute.sh +2 -2
  44. package/config/skills/orchestrator/harness-login/SKILL.md +9 -1
  45. package/config/skills/orchestrator/harness-login/execute.sh +12 -4
  46. package/config/skills/orchestrator/harness-login/execute.test.sh +7 -0
  47. package/config/skills/registry.json +6 -5
  48. package/config/skills/team-leader/delegate-task/execute.sh +1 -1
  49. package/config/skills/team-leader/verify-output/SKILL.md +18 -1
  50. package/config/skills/team-leader/verify-output/execute.sh +28 -0
  51. package/config/skills/team-leader/verify-output/execute.test.sh +27 -0
  52. package/dist/backend/backend/src/constants.d.ts +192 -2
  53. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  54. package/dist/backend/backend/src/constants.js +196 -1
  55. package/dist/backend/backend/src/constants.js.map +1 -1
  56. package/dist/backend/backend/src/controllers/canva/canva.controller.d.ts +6 -0
  57. package/dist/backend/backend/src/controllers/canva/canva.controller.d.ts.map +1 -1
  58. package/dist/backend/backend/src/controllers/canva/canva.controller.js +13 -2
  59. package/dist/backend/backend/src/controllers/canva/canva.controller.js.map +1 -1
  60. package/dist/backend/backend/src/controllers/canva/canva.routes.d.ts.map +1 -1
  61. package/dist/backend/backend/src/controllers/canva/canva.routes.js +3 -1
  62. package/dist/backend/backend/src/controllers/canva/canva.routes.js.map +1 -1
  63. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  64. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +4 -1
  65. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  66. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts +4 -0
  67. package/dist/backend/backend/src/controllers/connector/connector.controller.d.ts.map +1 -1
  68. package/dist/backend/backend/src/controllers/connector/connector.controller.js +32 -3
  69. package/dist/backend/backend/src/controllers/connector/connector.controller.js.map +1 -1
  70. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts +41 -0
  71. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.d.ts.map +1 -0
  72. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js +75 -0
  73. package/dist/backend/backend/src/controllers/connector/grant-sharing.handler.js.map +1 -0
  74. package/dist/backend/backend/src/controllers/experiments/experiments.routes.d.ts +27 -0
  75. package/dist/backend/backend/src/controllers/experiments/experiments.routes.d.ts.map +1 -0
  76. package/dist/backend/backend/src/controllers/experiments/experiments.routes.js +96 -0
  77. package/dist/backend/backend/src/controllers/experiments/experiments.routes.js.map +1 -0
  78. package/dist/backend/backend/src/controllers/google/google.controller.d.ts +6 -0
  79. package/dist/backend/backend/src/controllers/google/google.controller.d.ts.map +1 -1
  80. package/dist/backend/backend/src/controllers/google/google.controller.js +19 -0
  81. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  82. package/dist/backend/backend/src/controllers/google/google.routes.d.ts.map +1 -1
  83. package/dist/backend/backend/src/controllers/google/google.routes.js +3 -1
  84. package/dist/backend/backend/src/controllers/google/google.routes.js.map +1 -1
  85. package/dist/backend/backend/src/controllers/harness/owner-login.controller.d.ts.map +1 -1
  86. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js +22 -3
  87. package/dist/backend/backend/src/controllers/harness/owner-login.controller.js.map +1 -1
  88. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts +19 -2
  89. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.d.ts.map +1 -1
  90. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js +37 -4
  91. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js.map +1 -1
  92. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.d.ts.map +1 -1
  93. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js +3 -1
  94. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.routes.js.map +1 -1
  95. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +9 -0
  96. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  97. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +26 -0
  98. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  99. package/dist/backend/backend/src/controllers/people/people.routes.d.ts +25 -0
  100. package/dist/backend/backend/src/controllers/people/people.routes.d.ts.map +1 -0
  101. package/dist/backend/backend/src/controllers/people/people.routes.js +90 -0
  102. package/dist/backend/backend/src/controllers/people/people.routes.js.map +1 -0
  103. package/dist/backend/backend/src/controllers/request-types.d.ts +2 -0
  104. package/dist/backend/backend/src/controllers/request-types.d.ts.map +1 -1
  105. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts +22 -1
  106. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.d.ts.map +1 -1
  107. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js +143 -3
  108. package/dist/backend/backend/src/controllers/system/runtime-fallback.controller.js.map +1 -1
  109. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts +25 -3
  110. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
  111. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +125 -19
  112. package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
  113. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  114. package/dist/backend/backend/src/controllers/team/team.controller.js +14 -0
  115. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  116. package/dist/backend/backend/src/index.d.ts.map +1 -1
  117. package/dist/backend/backend/src/index.js +82 -3
  118. package/dist/backend/backend/src/index.js.map +1 -1
  119. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  120. package/dist/backend/backend/src/routes/api.routes.js +6 -0
  121. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  122. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +13 -0
  123. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  124. package/dist/backend/backend/src/services/agent/agent-registration.service.js +28 -3
  125. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  126. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
  127. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js +3 -0
  128. package/dist/backend/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
  129. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts +3 -2
  130. package/dist/backend/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  131. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js +14 -3
  132. package/dist/backend/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  133. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +28 -1
  134. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  135. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +48 -4
  136. package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  137. package/dist/backend/backend/src/services/agent/idle-detection.service.js +1 -1
  138. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  139. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +2 -1
  140. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  141. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -4
  142. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  143. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts +14 -0
  144. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  145. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js +38 -0
  146. package/dist/backend/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  147. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +34 -0
  148. package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  149. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +49 -5
  150. package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  151. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  152. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +8 -1
  153. package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  154. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +1 -1
  155. package/dist/backend/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -1
  156. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  157. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  158. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  159. package/dist/backend/backend/src/services/canva/canva-token.service.d.ts +17 -4
  160. package/dist/backend/backend/src/services/canva/canva-token.service.d.ts.map +1 -1
  161. package/dist/backend/backend/src/services/canva/canva-token.service.js +54 -17
  162. package/dist/backend/backend/src/services/canva/canva-token.service.js.map +1 -1
  163. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +35 -0
  164. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  165. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +77 -1
  166. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  167. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.d.ts +17 -2
  168. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.d.ts.map +1 -1
  169. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.js +30 -6
  170. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.service.js.map +1 -1
  171. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.d.ts +38 -2
  172. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.d.ts.map +1 -1
  173. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.js +63 -1
  174. package/dist/backend/backend/src/services/cloud/cloud-disconnect-notice.utils.js.map +1 -1
  175. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts +74 -4
  176. package/dist/backend/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  177. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js +204 -56
  178. package/dist/backend/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  179. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts +19 -0
  180. package/dist/backend/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  181. package/dist/backend/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  182. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.d.ts.map +1 -1
  183. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js +3 -0
  184. package/dist/backend/backend/src/services/event-bus/event-to-workitem-bridge.service.js.map +1 -1
  185. package/dist/backend/backend/src/services/experiments/experiment-verdict.d.ts +88 -0
  186. package/dist/backend/backend/src/services/experiments/experiment-verdict.d.ts.map +1 -0
  187. package/dist/backend/backend/src/services/experiments/experiment-verdict.js +226 -0
  188. package/dist/backend/backend/src/services/experiments/experiment-verdict.js.map +1 -0
  189. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts +301 -0
  190. package/dist/backend/backend/src/services/experiments/experiment.service.d.ts.map +1 -0
  191. package/dist/backend/backend/src/services/experiments/experiment.service.js +754 -0
  192. package/dist/backend/backend/src/services/experiments/experiment.service.js.map +1 -0
  193. package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts +73 -0
  194. package/dist/backend/backend/src/services/experiments/experiment.wiring.d.ts.map +1 -0
  195. package/dist/backend/backend/src/services/experiments/experiment.wiring.js +142 -0
  196. package/dist/backend/backend/src/services/experiments/experiment.wiring.js.map +1 -0
  197. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts +60 -0
  198. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.d.ts.map +1 -0
  199. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js +113 -0
  200. package/dist/backend/backend/src/services/experiments/seo-ops-metric.fetcher.js.map +1 -0
  201. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts +25 -2
  202. package/dist/backend/backend/src/services/google/google-workspace-token.service.d.ts.map +1 -1
  203. package/dist/backend/backend/src/services/google/google-workspace-token.service.js +53 -7
  204. package/dist/backend/backend/src/services/google/google-workspace-token.service.js.map +1 -1
  205. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts +207 -0
  206. package/dist/backend/backend/src/services/harness/claude-accounts.d.ts.map +1 -0
  207. package/dist/backend/backend/src/services/harness/claude-accounts.js +306 -0
  208. package/dist/backend/backend/src/services/harness/claude-accounts.js.map +1 -0
  209. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts +35 -0
  210. package/dist/backend/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  211. package/dist/backend/backend/src/services/harness/harness-credentials.store.js +48 -0
  212. package/dist/backend/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  213. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +70 -1
  214. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  215. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +156 -19
  216. package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  217. package/dist/backend/backend/src/services/harness/harness.types.d.ts +2 -0
  218. package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -1
  219. package/dist/backend/backend/src/services/harness/harness.types.js.map +1 -1
  220. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +19 -4
  221. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  222. package/dist/backend/backend/src/services/harness/login-broker.service.js +46 -7
  223. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
  224. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts +18 -2
  225. package/dist/backend/backend/src/services/harness/owner-login-request.d.ts.map +1 -1
  226. package/dist/backend/backend/src/services/harness/owner-login-request.js +31 -7
  227. package/dist/backend/backend/src/services/harness/owner-login-request.js.map +1 -1
  228. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts +21 -0
  229. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  230. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js +39 -1
  231. package/dist/backend/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  232. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts +19 -0
  233. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  234. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +46 -0
  235. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  236. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +5 -0
  237. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  238. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js +13 -0
  239. package/dist/backend/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  240. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts +87 -5
  241. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.d.ts.map +1 -1
  242. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js +151 -12
  243. package/dist/backend/backend/src/services/microsoft/microsoft-todo.service.js.map +1 -1
  244. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts +17 -4
  245. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.d.ts.map +1 -1
  246. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js +50 -17
  247. package/dist/backend/backend/src/services/microsoft/microsoft-token.service.js.map +1 -1
  248. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts +53 -7
  249. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -1
  250. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js +77 -14
  251. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -1
  252. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts +53 -1
  253. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
  254. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +130 -29
  255. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
  256. package/dist/backend/backend/src/services/orc/orc-status-router.service.d.ts.map +1 -1
  257. package/dist/backend/backend/src/services/orc/orc-status-router.service.js +3 -2
  258. package/dist/backend/backend/src/services/orc/orc-status-router.service.js.map +1 -1
  259. package/dist/backend/backend/src/services/people/acting-for.service.d.ts +188 -0
  260. package/dist/backend/backend/src/services/people/acting-for.service.d.ts.map +1 -0
  261. package/dist/backend/backend/src/services/people/acting-for.service.js +299 -0
  262. package/dist/backend/backend/src/services/people/acting-for.service.js.map +1 -0
  263. package/dist/backend/backend/src/services/people/dedicated-agent.d.ts +89 -0
  264. package/dist/backend/backend/src/services/people/dedicated-agent.d.ts.map +1 -0
  265. package/dist/backend/backend/src/services/people/dedicated-agent.js +113 -0
  266. package/dist/backend/backend/src/services/people/dedicated-agent.js.map +1 -0
  267. package/dist/backend/backend/src/services/people/grant-sharing.d.ts +80 -0
  268. package/dist/backend/backend/src/services/people/grant-sharing.d.ts.map +1 -0
  269. package/dist/backend/backend/src/services/people/grant-sharing.js +143 -0
  270. package/dist/backend/backend/src/services/people/grant-sharing.js.map +1 -0
  271. package/dist/backend/backend/src/services/people/people-directory.service.d.ts +239 -0
  272. package/dist/backend/backend/src/services/people/people-directory.service.d.ts.map +1 -0
  273. package/dist/backend/backend/src/services/people/people-directory.service.js +454 -0
  274. package/dist/backend/backend/src/services/people/people-directory.service.js.map +1 -0
  275. package/dist/backend/backend/src/services/reconciler/reconciler-data-provider.js.map +1 -1
  276. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts +29 -1
  277. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  278. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js +40 -0
  279. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  280. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts +8 -1
  281. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.d.ts.map +1 -1
  282. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js +16 -2
  283. package/dist/backend/backend/src/services/runtime-fallback/runtime-availability.js.map +1 -1
  284. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +60 -1
  285. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  286. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +140 -8
  287. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  288. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.store.js +1 -1
  289. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.store.js.map +1 -1
  290. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +20 -7
  291. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
  292. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js +24 -7
  293. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
  294. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  295. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +12 -2
  296. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  297. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.d.ts +7 -1
  298. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.d.ts.map +1 -1
  299. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.js +18 -3
  300. package/dist/backend/backend/src/services/runtime-fallback/runtime-usage-probe.js.map +1 -1
  301. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  302. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +3 -0
  303. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  304. package/dist/backend/backend/src/services/slack/slack-bot-ids.d.ts +33 -0
  305. package/dist/backend/backend/src/services/slack/slack-bot-ids.d.ts.map +1 -0
  306. package/dist/backend/backend/src/services/slack/slack-bot-ids.js +56 -0
  307. package/dist/backend/backend/src/services/slack/slack-bot-ids.js.map +1 -0
  308. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +22 -0
  309. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  310. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +70 -0
  311. package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  312. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +9 -0
  313. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  314. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +46 -0
  315. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  316. package/dist/backend/backend/src/services/slack/slack.service.d.ts +6 -0
  317. package/dist/backend/backend/src/services/slack/slack.service.d.ts.map +1 -1
  318. package/dist/backend/backend/src/services/slack/slack.service.js +8 -0
  319. package/dist/backend/backend/src/services/slack/slack.service.js.map +1 -1
  320. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.d.ts +105 -0
  321. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.d.ts.map +1 -0
  322. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.js +238 -0
  323. package/dist/backend/backend/src/services/task-pool/completion-evidence.service.js.map +1 -0
  324. package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  325. package/dist/backend/backend/src/services/task-pool/task-pool.service.js +4 -0
  326. package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  327. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +39 -12
  328. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -1
  329. package/dist/backend/backend/src/services/usage/usage-stats.service.js +61 -20
  330. package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -1
  331. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts +2 -0
  332. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.d.ts.map +1 -1
  333. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js +9 -0
  334. package/dist/backend/backend/src/services/v3/agent-auto-claim.service.js.map +1 -1
  335. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +10 -0
  336. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  337. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +45 -2
  338. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  339. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  340. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  341. package/dist/backend/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  342. package/dist/backend/backend/src/services/workflow/message-scheduler.service.d.ts.map +1 -1
  343. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js +3 -0
  344. package/dist/backend/backend/src/services/workflow/message-scheduler.service.js.map +1 -1
  345. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  346. package/dist/backend/backend/src/services/workflow/scheduler.service.js +3 -0
  347. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  348. package/dist/backend/backend/src/types/experiment.types.d.ts +153 -0
  349. package/dist/backend/backend/src/types/experiment.types.d.ts.map +1 -0
  350. package/dist/backend/backend/src/types/experiment.types.js +32 -0
  351. package/dist/backend/backend/src/types/experiment.types.js.map +1 -0
  352. package/dist/backend/backend/src/types/index.d.ts +12 -1
  353. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  354. package/dist/backend/backend/src/types/index.js.map +1 -1
  355. package/dist/backend/backend/src/types/messaging.types.d.ts +11 -0
  356. package/dist/backend/backend/src/types/messaging.types.d.ts.map +1 -1
  357. package/dist/backend/backend/src/types/messaging.types.js.map +1 -1
  358. package/dist/backend/backend/src/types/v2/completion-evidence.types.d.ts +77 -0
  359. package/dist/backend/backend/src/types/v2/completion-evidence.types.d.ts.map +1 -0
  360. package/dist/backend/backend/src/types/v2/completion-evidence.types.js +119 -0
  361. package/dist/backend/backend/src/types/v2/completion-evidence.types.js.map +1 -0
  362. package/dist/backend/backend/src/types/v2/work-item.types.d.ts +13 -0
  363. package/dist/backend/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  364. package/dist/backend/backend/src/types/v2/work-item.types.js.map +1 -1
  365. package/dist/backend/build-info.json +2 -2
  366. package/dist/backend/config/constants.d.ts +11 -0
  367. package/dist/backend/config/constants.d.ts.map +1 -1
  368. package/dist/backend/config/constants.js +11 -0
  369. package/dist/backend/config/constants.js.map +1 -1
  370. package/dist/cli/backend/src/constants.d.ts +192 -2
  371. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  372. package/dist/cli/backend/src/constants.js +196 -1
  373. package/dist/cli/backend/src/constants.js.map +1 -1
  374. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +13 -0
  375. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  376. package/dist/cli/backend/src/services/agent/agent-registration.service.js +28 -3
  377. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  378. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.d.ts.map +1 -1
  379. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js +3 -0
  380. package/dist/cli/backend/src/services/agent/auditor-scheduler.service.js.map +1 -1
  381. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts +3 -2
  382. package/dist/cli/backend/src/services/agent/control-plane-guard.service.d.ts.map +1 -1
  383. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js +14 -3
  384. package/dist/cli/backend/src/services/agent/control-plane-guard.service.js.map +1 -1
  385. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +28 -1
  386. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
  387. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +48 -4
  388. package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
  389. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +2 -1
  390. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  391. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -4
  392. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  393. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts +14 -0
  394. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.d.ts.map +1 -1
  395. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js +38 -0
  396. package/dist/cli/backend/src/services/agent/runtime-exit-monitor.service.js.map +1 -1
  397. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +34 -0
  398. package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
  399. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +49 -5
  400. package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
  401. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
  402. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +8 -1
  403. package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
  404. package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js +1 -1
  405. package/dist/cli/backend/src/services/ai/prompt-modules/lazy-anti-patterns.module.js.map +1 -1
  406. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  407. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +1 -0
  408. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  409. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +35 -0
  410. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  411. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +77 -1
  412. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  413. package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts +74 -4
  414. package/dist/cli/backend/src/services/cloud/cloud-sync.service.d.ts.map +1 -1
  415. package/dist/cli/backend/src/services/cloud/cloud-sync.service.js +204 -56
  416. package/dist/cli/backend/src/services/cloud/cloud-sync.service.js.map +1 -1
  417. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts +19 -0
  418. package/dist/cli/backend/src/services/cloud/cloud-sync.types.d.ts.map +1 -1
  419. package/dist/cli/backend/src/services/cloud/cloud-sync.types.js.map +1 -1
  420. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts +207 -0
  421. package/dist/cli/backend/src/services/harness/claude-accounts.d.ts.map +1 -0
  422. package/dist/cli/backend/src/services/harness/claude-accounts.js +306 -0
  423. package/dist/cli/backend/src/services/harness/claude-accounts.js.map +1 -0
  424. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts +35 -0
  425. package/dist/cli/backend/src/services/harness/harness-credentials.store.d.ts.map +1 -1
  426. package/dist/cli/backend/src/services/harness/harness-credentials.store.js +48 -0
  427. package/dist/cli/backend/src/services/harness/harness-credentials.store.js.map +1 -1
  428. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +70 -1
  429. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  430. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +156 -19
  431. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  432. package/dist/cli/backend/src/services/harness/harness.types.d.ts +2 -0
  433. package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -1
  434. package/dist/cli/backend/src/services/harness/harness.types.js.map +1 -1
  435. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +19 -4
  436. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  437. package/dist/cli/backend/src/services/harness/login-broker.service.js +46 -7
  438. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
  439. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts +18 -2
  440. package/dist/cli/backend/src/services/harness/owner-login-request.d.ts.map +1 -1
  441. package/dist/cli/backend/src/services/harness/owner-login-request.js +31 -7
  442. package/dist/cli/backend/src/services/harness/owner-login-request.js.map +1 -1
  443. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts +21 -0
  444. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.d.ts.map +1 -1
  445. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js +39 -1
  446. package/dist/cli/backend/src/services/marketplace/marketplace-installer.service.js.map +1 -1
  447. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts +19 -0
  448. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  449. package/dist/cli/backend/src/services/messaging/queue-processor.service.js +46 -0
  450. package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  451. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts +5 -0
  452. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.d.ts.map +1 -1
  453. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js +13 -0
  454. package/dist/cli/backend/src/services/messaging/sub-agent-message-queue.service.js.map +1 -1
  455. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.d.ts +197 -0
  456. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -0
  457. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.js +455 -0
  458. package/dist/cli/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -0
  459. package/dist/cli/backend/src/services/people/acting-for.service.d.ts +188 -0
  460. package/dist/cli/backend/src/services/people/acting-for.service.d.ts.map +1 -0
  461. package/dist/cli/backend/src/services/people/acting-for.service.js +299 -0
  462. package/dist/cli/backend/src/services/people/acting-for.service.js.map +1 -0
  463. package/dist/cli/backend/src/services/people/dedicated-agent.d.ts +89 -0
  464. package/dist/cli/backend/src/services/people/dedicated-agent.d.ts.map +1 -0
  465. package/dist/cli/backend/src/services/people/dedicated-agent.js +113 -0
  466. package/dist/cli/backend/src/services/people/dedicated-agent.js.map +1 -0
  467. package/dist/cli/backend/src/services/people/people-directory.service.d.ts +239 -0
  468. package/dist/cli/backend/src/services/people/people-directory.service.d.ts.map +1 -0
  469. package/dist/cli/backend/src/services/people/people-directory.service.js +454 -0
  470. package/dist/cli/backend/src/services/people/people-directory.service.js.map +1 -0
  471. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts +29 -1
  472. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  473. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js +40 -0
  474. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  475. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts +20 -7
  476. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.d.ts.map +1 -1
  477. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js +24 -7
  478. package/dist/cli/backend/src/services/runtime-fallback/runtime-fallback.types.js.map +1 -1
  479. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  480. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +3 -0
  481. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  482. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +22 -0
  483. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
  484. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +70 -0
  485. package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
  486. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +9 -0
  487. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  488. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +46 -0
  489. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  490. package/dist/cli/backend/src/services/slack/slack.service.d.ts +6 -0
  491. package/dist/cli/backend/src/services/slack/slack.service.d.ts.map +1 -1
  492. package/dist/cli/backend/src/services/slack/slack.service.js +8 -0
  493. package/dist/cli/backend/src/services/slack/slack.service.js.map +1 -1
  494. package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
  495. package/dist/cli/backend/src/services/task-pool/task-pool.service.js +4 -0
  496. package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
  497. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts +3 -1
  498. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.d.ts.map +1 -1
  499. package/dist/cli/backend/src/services/wiki/wiki-ingest.service.js.map +1 -1
  500. package/dist/cli/backend/src/types/index.d.ts +12 -1
  501. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  502. package/dist/cli/backend/src/types/index.js.map +1 -1
  503. package/dist/cli/backend/src/types/messaging.types.d.ts +11 -0
  504. package/dist/cli/backend/src/types/messaging.types.d.ts.map +1 -1
  505. package/dist/cli/backend/src/types/messaging.types.js.map +1 -1
  506. package/dist/cli/backend/src/types/v2/work-item.types.d.ts +13 -0
  507. package/dist/cli/backend/src/types/v2/work-item.types.d.ts.map +1 -1
  508. package/dist/cli/backend/src/types/v2/work-item.types.js.map +1 -1
  509. package/dist/cli/cli/src/utils/marketplace.d.ts +21 -0
  510. package/dist/cli/cli/src/utils/marketplace.d.ts.map +1 -1
  511. package/dist/cli/cli/src/utils/marketplace.js +35 -1
  512. package/dist/cli/cli/src/utils/marketplace.js.map +1 -1
  513. package/dist/cli/config/constants.d.ts +11 -0
  514. package/dist/cli/config/constants.d.ts.map +1 -1
  515. package/dist/cli/config/constants.js +11 -0
  516. package/dist/cli/config/constants.js.map +1 -1
  517. package/dist/cli/config/skills/marketplace-registry.d.ts +4 -4
  518. package/dist/cli/config/skills/marketplace-registry.js +4 -4
  519. package/frontend/dist/assets/{index-fc715ec3.css → index-5e967795.css} +1 -1
  520. package/frontend/dist/assets/{index-5b7af029.js → index-800118ca.js} +296 -296
  521. package/frontend/dist/index.html +2 -2
  522. package/package.json +1 -1
  523. package/packages/crewly-agent/src/runtime/tool-registry.test.ts +45 -0
  524. package/packages/crewly-agent/src/runtime/tool-registry.ts +40 -5
  525. package/packages/crewly-agent/src/test/isolated-home.test.ts +24 -0
@@ -4,6 +4,9 @@
4
4
  * Reads per-turn token usage from Claude Code's session JSONL files.
5
5
  * Claude Code stores conversations at:
6
6
  * ~/.claude/projects/{path-slug}/{sessionId}.jsonl
7
+ * or, for a session that runs on another of the owner's Claude Code accounts
8
+ * (issue #942, `CLAUDE_CONFIG_DIR` set to the account's config dir):
9
+ * <account config dir>/projects/{path-slug}/{sessionId}.jsonl
7
10
  *
8
11
  * Each assistant message includes an API `usage` object with exact
9
12
  * token counts (input_tokens, output_tokens, cache tokens).
@@ -55,16 +58,55 @@ export declare function encodeProjectSlug(projectPath: string): string;
55
58
  * ```
56
59
  */
57
60
  export declare function resolveProjectSlugCandidates(projectPath: string): Promise<string[]>;
61
+ /**
62
+ * Synchronous {@link resolveProjectSlugCandidates}, for callers that cannot
63
+ * await (launch-time resume checks).
64
+ *
65
+ * The raw slug is taken from the absolute (`path.resolve`d) cwd.
66
+ *
67
+ * @param projectPath - The agent's working directory
68
+ * @returns Slugs to try, realpath slug first; never empty
69
+ *
70
+ * @example
71
+ * ```typescript
72
+ * resolveProjectSlugCandidatesSync('/tmp/proj');
73
+ * // macOS: ['-private-tmp-proj', '-tmp-proj']
74
+ * ```
75
+ */
76
+ export declare function resolveProjectSlugCandidatesSync(projectPath: string): string[];
77
+ /**
78
+ * The `projects/` directories Claude Code may have written a session's
79
+ * transcripts to, most likely first.
80
+ *
81
+ * A session on another of the owner's Claude Code accounts (issue #942) runs
82
+ * with `CLAUDE_CONFIG_DIR` set to that account's config dir, so its
83
+ * transcripts land in `<config dir>/projects/`. The default login's
84
+ * `~/.claude/projects/` is always included last: a session that switched
85
+ * accounts during the day has transcripts in both.
86
+ *
87
+ * @param homeDir - Home directory that contains `.claude/`
88
+ * @param configDirs - Claude config dirs of the session's accounts (current account first)
89
+ * @returns Absolute `projects/` directory paths, de-duplicated
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * claudeProjectsRoots('/Users/a', ['/Users/a/.crewly/claude-accounts/work']);
94
+ * // ['/Users/a/.crewly/claude-accounts/work/projects', '/Users/a/.claude/projects']
95
+ * ```
96
+ */
97
+ export declare function claudeProjectsRoots(homeDir: string, configDirs?: readonly string[]): string[];
58
98
  /**
59
99
  * Lists the Claude Code project directories that may hold transcripts for a
60
- * working directory, in the order of {@link resolveProjectSlugCandidates}.
61
- * The directories are not required to exist.
100
+ * working directory: every root of {@link claudeProjectsRoots}, each with the
101
+ * slugs of {@link resolveProjectSlugCandidates}. The directories are not
102
+ * required to exist.
62
103
  *
63
104
  * @param projectPath - The agent's working directory
64
105
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
106
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts the session runs on (searched first)
65
107
  * @returns Absolute candidate directory paths, most likely first
66
108
  */
67
- export declare function resolveProjectDirCandidates(projectPath: string, homeDir?: string): Promise<string[]>;
109
+ export declare function resolveProjectDirCandidates(projectPath: string, homeDir?: string, configDirs?: readonly string[]): Promise<string[]>;
68
110
  /**
69
111
  * Locates a known conversation's transcript across all candidate project
70
112
  * directories, returning the first one that exists.
@@ -72,9 +114,10 @@ export declare function resolveProjectDirCandidates(projectPath: string, homeDir
72
114
  * @param projectPath - The agent's working directory
73
115
  * @param sessionId - Claude Code conversation UUID
74
116
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
117
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched first)
75
118
  * @returns Absolute path to the existing .jsonl file, or null if none exists
76
119
  */
77
- export declare function findSessionJsonlPath(projectPath: string, sessionId: string, homeDir?: string): Promise<string | null>;
120
+ export declare function findSessionJsonlPath(projectPath: string, sessionId: string, homeDir?: string, configDirs?: readonly string[]): Promise<string | null>;
78
121
  /**
79
122
  * Lists every transcript file across all candidate project directories.
80
123
  *
@@ -86,18 +129,20 @@ export declare function findSessionJsonlPath(projectPath: string, sessionId: str
86
129
  *
87
130
  * @param projectPath - The agent's working directory
88
131
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
132
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched first)
89
133
  * @returns Absolute paths of all .jsonl files found, grouped by candidate directory order
90
134
  */
91
- export declare function listProjectTranscripts(projectPath: string, homeDir?: string): Promise<string[]>;
135
+ export declare function listProjectTranscripts(projectPath: string, homeDir?: string, configDirs?: readonly string[]): Promise<string[]>;
92
136
  /**
93
137
  * Finds the most recently modified transcript across all candidate project
94
138
  * directories for a working directory.
95
139
  *
96
140
  * @param projectPath - The agent's working directory
97
141
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
142
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched too)
98
143
  * @returns Absolute path of the newest .jsonl file, or null if there is none
99
144
  */
100
- export declare function findLatestSessionFile(projectPath: string, homeDir?: string): Promise<string | null>;
145
+ export declare function findLatestSessionFile(projectPath: string, homeDir?: string, configDirs?: readonly string[]): Promise<string | null>;
101
146
  /**
102
147
  * Returns the path to a Claude Code session JSONL file under the *raw* cwd
103
148
  * slug. Does not resolve symlinks — prefer {@link findSessionJsonlPath},
@@ -129,9 +174,10 @@ export declare function findLatestSessionId(projectPath: string): Promise<string
129
174
  * @param sessionId - Claude Code conversation UUID (if null, auto-detects latest)
130
175
  * @param since - Only count turns at or after this time
131
176
  * @param until - Only count turns before this time (defaults to now)
177
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts the session runs on
132
178
  * @returns Aggregated token summary, or null if the file doesn't exist
133
179
  */
134
- export declare function getTokensSince(projectPath: string, sessionId: string | null, since: Date, until?: Date): Promise<SessionTokenSummary | null>;
180
+ export declare function getTokensSince(projectPath: string, sessionId: string | null, since: Date, until?: Date, configDirs?: readonly string[]): Promise<SessionTokenSummary | null>;
135
181
  /**
136
182
  * Scans all Claude Code session JSONL files for a project and feeds
137
183
  * aggregated per-session token data into TokenUsageService.
@@ -1 +1 @@
1
- {"version":3,"file":"claude-session-tokens.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-session-tokens.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsCH,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASzF;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGrF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,IAAI,EACX,KAAK,CAAC,EAAE,IAAI,GACX,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiFrC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,CAAC,CAsFjB"}
1
+ {"version":3,"file":"claude-session-tokens.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-session-tokens.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAsCH,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAWD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASzF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAU9E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,EAAE,CAMjG;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,EAC9B,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAqB,EAC9B,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,EAC9B,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,EAAE,CAAC,CAiBnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,MAAqB,EAC9B,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAGlF;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGrF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,IAAI,EACX,KAAK,CAAC,EAAE,IAAI,EACZ,UAAU,GAAE,SAAS,MAAM,EAAO,GACjC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAiFrC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,+BAA+B,CACnD,WAAW,EAAE,MAAM,EACnB,UAAU,SAAI,GACb,OAAO,CAAC,MAAM,CAAC,CAsFjB"}
@@ -4,6 +4,9 @@
4
4
  * Reads per-turn token usage from Claude Code's session JSONL files.
5
5
  * Claude Code stores conversations at:
6
6
  * ~/.claude/projects/{path-slug}/{sessionId}.jsonl
7
+ * or, for a session that runs on another of the owner's Claude Code accounts
8
+ * (issue #942, `CLAUDE_CONFIG_DIR` set to the account's config dir):
9
+ * <account config dir>/projects/{path-slug}/{sessionId}.jsonl
7
10
  *
8
11
  * Each assistant message includes an API `usage` object with exact
9
12
  * token counts (input_tokens, output_tokens, cache tokens).
@@ -13,7 +16,7 @@
13
16
  *
14
17
  * @module services/monitoring/claude-session-tokens
15
18
  */
16
- import { promises as fs } from 'fs';
19
+ import { promises as fs, realpathSync } from 'fs';
17
20
  import * as path from 'path';
18
21
  import * as os from 'os';
19
22
  import { LoggerService } from '../core/logger.service.js';
@@ -91,18 +94,74 @@ export async function resolveProjectSlugCandidates(projectPath) {
91
94
  }
92
95
  return resolvedSlug && resolvedSlug !== rawSlug ? [resolvedSlug, rawSlug] : [rawSlug];
93
96
  }
97
+ /**
98
+ * Synchronous {@link resolveProjectSlugCandidates}, for callers that cannot
99
+ * await (launch-time resume checks).
100
+ *
101
+ * The raw slug is taken from the absolute (`path.resolve`d) cwd.
102
+ *
103
+ * @param projectPath - The agent's working directory
104
+ * @returns Slugs to try, realpath slug first; never empty
105
+ *
106
+ * @example
107
+ * ```typescript
108
+ * resolveProjectSlugCandidatesSync('/tmp/proj');
109
+ * // macOS: ['-private-tmp-proj', '-tmp-proj']
110
+ * ```
111
+ */
112
+ export function resolveProjectSlugCandidatesSync(projectPath) {
113
+ const absolute = path.resolve(projectPath);
114
+ const rawSlug = encodeProjectSlug(absolute);
115
+ let resolvedSlug = null;
116
+ try {
117
+ resolvedSlug = encodeProjectSlug(realpathSync(absolute));
118
+ }
119
+ catch {
120
+ // Nonexistent or unreadable cwd — the raw slug is the only guess left.
121
+ }
122
+ return resolvedSlug && resolvedSlug !== rawSlug ? [resolvedSlug, rawSlug] : [rawSlug];
123
+ }
124
+ /**
125
+ * The `projects/` directories Claude Code may have written a session's
126
+ * transcripts to, most likely first.
127
+ *
128
+ * A session on another of the owner's Claude Code accounts (issue #942) runs
129
+ * with `CLAUDE_CONFIG_DIR` set to that account's config dir, so its
130
+ * transcripts land in `<config dir>/projects/`. The default login's
131
+ * `~/.claude/projects/` is always included last: a session that switched
132
+ * accounts during the day has transcripts in both.
133
+ *
134
+ * @param homeDir - Home directory that contains `.claude/`
135
+ * @param configDirs - Claude config dirs of the session's accounts (current account first)
136
+ * @returns Absolute `projects/` directory paths, de-duplicated
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * claudeProjectsRoots('/Users/a', ['/Users/a/.crewly/claude-accounts/work']);
141
+ * // ['/Users/a/.crewly/claude-accounts/work/projects', '/Users/a/.claude/projects']
142
+ * ```
143
+ */
144
+ export function claudeProjectsRoots(homeDir, configDirs = []) {
145
+ const roots = [
146
+ ...configDirs.map((dir) => path.join(dir, CLAUDE_PROJECTS_DIR_NAME)),
147
+ path.join(homeDir, CLAUDE_DIR_NAME, CLAUDE_PROJECTS_DIR_NAME),
148
+ ];
149
+ return [...new Set(roots)];
150
+ }
94
151
  /**
95
152
  * Lists the Claude Code project directories that may hold transcripts for a
96
- * working directory, in the order of {@link resolveProjectSlugCandidates}.
97
- * The directories are not required to exist.
153
+ * working directory: every root of {@link claudeProjectsRoots}, each with the
154
+ * slugs of {@link resolveProjectSlugCandidates}. The directories are not
155
+ * required to exist.
98
156
  *
99
157
  * @param projectPath - The agent's working directory
100
158
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
159
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts the session runs on (searched first)
101
160
  * @returns Absolute candidate directory paths, most likely first
102
161
  */
103
- export async function resolveProjectDirCandidates(projectPath, homeDir = os.homedir()) {
162
+ export async function resolveProjectDirCandidates(projectPath, homeDir = os.homedir(), configDirs = []) {
104
163
  const slugs = await resolveProjectSlugCandidates(projectPath);
105
- return slugs.map((slug) => path.join(homeDir, CLAUDE_DIR_NAME, CLAUDE_PROJECTS_DIR_NAME, slug));
164
+ return claudeProjectsRoots(homeDir, configDirs).flatMap((root) => slugs.map((slug) => path.join(root, slug)));
106
165
  }
107
166
  /**
108
167
  * Locates a known conversation's transcript across all candidate project
@@ -111,10 +170,11 @@ export async function resolveProjectDirCandidates(projectPath, homeDir = os.home
111
170
  * @param projectPath - The agent's working directory
112
171
  * @param sessionId - Claude Code conversation UUID
113
172
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
173
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched first)
114
174
  * @returns Absolute path to the existing .jsonl file, or null if none exists
115
175
  */
116
- export async function findSessionJsonlPath(projectPath, sessionId, homeDir = os.homedir()) {
117
- for (const dir of await resolveProjectDirCandidates(projectPath, homeDir)) {
176
+ export async function findSessionJsonlPath(projectPath, sessionId, homeDir = os.homedir(), configDirs = []) {
177
+ for (const dir of await resolveProjectDirCandidates(projectPath, homeDir, configDirs)) {
118
178
  const candidate = path.join(dir, `${sessionId}${JSONL_EXTENSION}`);
119
179
  try {
120
180
  await fs.access(candidate);
@@ -137,12 +197,13 @@ export async function findSessionJsonlPath(projectPath, sessionId, homeDir = os.
137
197
  *
138
198
  * @param projectPath - The agent's working directory
139
199
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
200
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched first)
140
201
  * @returns Absolute paths of all .jsonl files found, grouped by candidate directory order
141
202
  */
142
- export async function listProjectTranscripts(projectPath, homeDir = os.homedir()) {
203
+ export async function listProjectTranscripts(projectPath, homeDir = os.homedir(), configDirs = []) {
143
204
  const seen = new Set();
144
205
  const result = [];
145
- for (const dir of await resolveProjectDirCandidates(projectPath, homeDir)) {
206
+ for (const dir of await resolveProjectDirCandidates(projectPath, homeDir, configDirs)) {
146
207
  let files;
147
208
  try {
148
209
  files = await fs.readdir(dir);
@@ -165,12 +226,13 @@ export async function listProjectTranscripts(projectPath, homeDir = os.homedir()
165
226
  *
166
227
  * @param projectPath - The agent's working directory
167
228
  * @param homeDir - Home directory that contains `.claude/` (defaults to the OS home)
229
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts (searched too)
168
230
  * @returns Absolute path of the newest .jsonl file, or null if there is none
169
231
  */
170
- export async function findLatestSessionFile(projectPath, homeDir = os.homedir()) {
232
+ export async function findLatestSessionFile(projectPath, homeDir = os.homedir(), configDirs = []) {
171
233
  let latestFile = null;
172
234
  let latestMtime = -1;
173
- for (const file of await listProjectTranscripts(projectPath, homeDir)) {
235
+ for (const file of await listProjectTranscripts(projectPath, homeDir, configDirs)) {
174
236
  try {
175
237
  const { mtimeMs } = await fs.stat(file);
176
238
  if (mtimeMs > latestMtime) {
@@ -221,13 +283,14 @@ export async function findLatestSessionId(projectPath) {
221
283
  * @param sessionId - Claude Code conversation UUID (if null, auto-detects latest)
222
284
  * @param since - Only count turns at or after this time
223
285
  * @param until - Only count turns before this time (defaults to now)
286
+ * @param configDirs - Config dirs of the owner's other Claude Code accounts the session runs on
224
287
  * @returns Aggregated token summary, or null if the file doesn't exist
225
288
  */
226
- export async function getTokensSince(projectPath, sessionId, since, until) {
289
+ export async function getTokensSince(projectPath, sessionId, since, until, configDirs = []) {
227
290
  // Auto-detect session if not provided
228
291
  const filePath = sessionId
229
- ? await findSessionJsonlPath(projectPath, sessionId)
230
- : await findLatestSessionFile(projectPath);
292
+ ? await findSessionJsonlPath(projectPath, sessionId, os.homedir(), configDirs)
293
+ : await findLatestSessionFile(projectPath, os.homedir(), configDirs);
231
294
  if (!filePath) {
232
295
  logger.debug('No Claude session JSONL found', { projectPath, sessionId });
233
296
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-session-tokens.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-session-tokens.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-session-tokens.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-session-tokens.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D;;;GAGG;AACH,MAAM,iBAAiB,GAA6F;IAClH,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;IACtG,wBAAwB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;IAC7G,mBAAmB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;IACxG,0BAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;IAC/G,yBAAyB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE;IACtH,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE;CAC7F,CAAC;AAEF;;GAEG;AACH,SAAS,mBAAmB,CAC1B,WAAmB,EACnB,YAAoB,EACpB,eAAuB,EACvB,iBAAyB,EACzB,KAAa;IAEb,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC;IACpE,OAAO,CACL,WAAW,GAAG,KAAK,CAAC,KAAK;QACzB,YAAY,GAAG,KAAK,CAAC,MAAM;QAC3B,eAAe,GAAG,KAAK,CAAC,SAAS;QACjC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CACrC,CAAC;AACJ,CAAC;AAaD,wEAAwE;AACxE,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,sFAAsF;AACtF,MAAM,wBAAwB,GAAG,UAAU,CAAC;AAC5C,8DAA8D;AAC9D,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,yEAAyE;IACzE,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAAC,WAAmB;IACpE,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC/C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,OAAO,YAAY,IAAI,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gCAAgC,CAAC,WAAmB;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,uEAAuE;IACzE,CAAC;IACD,OAAO,YAAY,IAAI,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,aAAgC,EAAE;IACrF,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,wBAAwB,CAAC;KAC9D,CAAC;IACF,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,WAAmB,EACnB,UAAkB,EAAE,CAAC,OAAO,EAAE,EAC9B,aAAgC,EAAE;IAElC,MAAM,KAAK,GAAG,MAAM,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAChH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,WAAmB,EACnB,SAAiB,EACjB,UAAkB,EAAE,CAAC,OAAO,EAAE,EAC9B,aAAgC,EAAE;IAElC,KAAK,MAAM,GAAG,IAAI,MAAM,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACtF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAmB,EACnB,UAAkB,EAAE,CAAC,OAAO,EAAE,EAC9B,aAAgC,EAAE;IAElC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACtF,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAChE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,WAAmB,EACnB,UAAkB,EAAE,CAAC,OAAO,EAAE,EAC9B,aAAgC,EAAE;IAElC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,KAAK,MAAM,IAAI,IAAI,MAAM,sBAAsB,CAAC,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC1B,WAAW,GAAG,OAAO,CAAC;gBACtB,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,SAAiB;IACxE,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,wBAAwB,EAAE,IAAI,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAAC,CAAC;AACpH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,SAAwB,EACxB,KAAW,EACX,KAAY,EACZ,aAAgC,EAAE;IAElC,sCAAsC;IACtC,MAAM,QAAQ,GAAG,SAAS;QACxB,CAAC,CAAC,MAAM,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC;QAC9E,CAAC,CAAC,MAAM,qBAAqB,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnD,MAAM,OAAO,GAAwB;QACnC,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC;KACb,CAAC;IAEF,0DAA0D;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,IAAI,KAA8B,CAAC;QACnC,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QAED,2CAA2C;QAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS;QAEzC,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC3B,IAAI,CAAC,EAAE;YAAE,SAAS;QAElB,0CAA0C;QAC1C,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/E,IAAI,KAAK,CAAC,OAAO,CAAC;YAAE,SAAS;QAE7B,yEAAyE;QACzE,IAAI,OAAO,GAAG,OAAO;YAAE,MAAM;QAE7B,qCAAqC;QACrC,IAAI,OAAO,GAAG,OAAO;YAAE,SAAS;QAEhC,MAAM,GAAG,GAAG,KAAK,CAAC,OAA8C,CAAC;QACjE,IAAI,CAAC,GAAG;YAAE,SAAS;QAEnB,MAAM,KAAK,GAAG,GAAG,CAAC,KAA2C,CAAC;QAC9D,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;QAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,KAAK,CAAC,uBAAuB,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAI,GAAG,CAAC,KAAgB,IAAI,EAAE,CAAC;QAE1C,OAAO,CAAC,WAAW,IAAI,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;QAC7D,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC;QACrC,OAAO,CAAC,eAAe,IAAI,SAAS,CAAC;QACrC,OAAO,CAAC,iBAAiB,IAAI,WAAW,CAAC;QACzC,OAAO,CAAC,IAAI,IAAI,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9F,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,WAAmB,EACnB,UAAU,GAAG,CAAC;IAEd,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAEjD,MAAM,UAAU,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/D,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,GAAG,QAAQ;gBAAE,SAAS;YAEtC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,kBAAkB,GAAG,CAAC,CAAC;YAC3B,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,SAAS;gBAC3B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;wBAAE,SAAS;oBACzC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC1B,IAAI,CAAC,GAAG,EAAE,KAAK;wBAAE,SAAS;oBAE1B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;oBACpB,YAAY,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;oBACpC,aAAa,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC;oBACtC,gBAAgB,IAAI,CAAC,CAAC,uBAAuB,IAAI,CAAC,CAAC;oBACnD,kBAAkB,IAAI,CAAC,CAAC,2BAA2B,IAAI,CAAC,CAAC;oBACzD,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK;wBAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;oBAC3C,SAAS,EAAE,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS;gBACX,CAAC;YACH,CAAC;YAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAC3D,MAAM,aAAa,GAAG,KAAK,IAAI,mBAAmB,CAAC;gBAEnD,iDAAiD;gBACjD,MAAM,IAAI,GAAG,mBAAmB,CAC9B,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,kBAAkB,EACpC,aAAa,CACd,CAAC;gBAEF,uEAAuE;gBACvE,gEAAgE;gBAChE,kEAAkE;gBAClE,QAAQ,CAAC,WAAW,CAClB,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,EACb,aAAa,CACd,CAAC;gBAEF,8DAA8D;gBAC9D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC9C,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE;QAC9D,WAAW;QACX,YAAY,EAAE,UAAU,CAAC,MAAM;QAC/B,cAAc,EAAE,MAAM;QACtB,UAAU;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -23,6 +23,14 @@
23
23
  * {@link module:services/monitoring/model-pricing} and reports whether a
24
24
  * rate was an exact match.
25
25
  *
26
+ * A session that runs on another of the owner's Claude Code accounts
27
+ * (issue #942, `claude-code@<name>`) writes its transcripts under that
28
+ * account's config dir, not `~/.claude`. Both are searched, the account's
29
+ * first, so its turns count toward its daily token cap. When a session moves
30
+ * to another transcript (an account switch, a new conversation), the unread
31
+ * tail of the one it leaves is counted first and its offset is remembered,
32
+ * so returning to it later never counts a turn twice.
33
+ *
26
34
  * As a side effect the sync knows each agent's true context size — the sum of
27
35
  * fresh, cached and cache-written input on its most recent turn — which is the
28
36
  * only reliable source for it, since Claude Code's TUI context readout is not
@@ -42,6 +50,15 @@ export interface TranscriptCursor {
42
50
  filePath: string;
43
51
  /** Byte offset already consumed */
44
52
  offset: number;
53
+ /**
54
+ * Offsets reached in this session's earlier transcripts, by path.
55
+ *
56
+ * A session that switches between the owner's Claude Code accounts (or
57
+ * between conversations) can come back to a transcript it already read.
58
+ * Resuming at the remembered offset, instead of 0, keeps every turn
59
+ * counted once. Bounded to `MAX_REMEMBERED_TRANSCRIPTS` entries.
60
+ */
61
+ fileOffsets?: Record<string, number>;
45
62
  /**
46
63
  * Ids of the most recently counted assistant messages.
47
64
  *
@@ -117,6 +134,8 @@ export declare class ClaudeTranscriptSyncService {
117
134
  * untestable against a temp tree.
118
135
  */
119
136
  private readonly homeDir;
137
+ /** Config dir of one of the owner's other Claude Code accounts (issue #942) */
138
+ private readonly accountConfigDir;
120
139
  private cursors;
121
140
  private timer;
122
141
  private observers;
@@ -126,8 +145,9 @@ export declare class ClaudeTranscriptSyncService {
126
145
  /**
127
146
  * @param cursorFile - Override the cursor persistence path (tests)
128
147
  * @param homeDir - Override the home directory transcripts live under (tests)
148
+ * @param accountConfigDir - Override where an account's config dir is (tests)
129
149
  */
130
- constructor(cursorFile?: string, homeDir?: string);
150
+ constructor(cursorFile?: string, homeDir?: string, accountConfigDir?: (account: string) => string);
131
151
  /**
132
152
  * Get the shared instance.
133
153
  *
@@ -160,6 +180,14 @@ export declare class ClaudeTranscriptSyncService {
160
180
  * @returns What the pass counted
161
181
  */
162
182
  sync(): Promise<SyncResult>;
183
+ /**
184
+ * Claude config dirs to search for a session besides `~/.claude`: the
185
+ * config dir of the owner's other Claude Code account it runs on, if any.
186
+ *
187
+ * @param sessionName - Crewly session name
188
+ * @returns `[accountConfigDir]` while on `claude-code@<name>`, else `[]`
189
+ */
190
+ private accountConfigDirsOf;
163
191
  /**
164
192
  * Locate a session's transcript file.
165
193
  *
@@ -171,17 +199,41 @@ export declare class ClaudeTranscriptSyncService {
171
199
  * @param claudeSessionId - Conversation id, when known
172
200
  * @param cwdIsShared - Whether another registered session works in the
173
201
  * same directory, which makes newest-wins unsafe
202
+ * @param configDirs - Config dirs of the owner's other Claude Code account
203
+ * the session runs on (searched before `~/.claude`)
174
204
  * @returns Absolute path, or null when nothing readable exists
175
205
  */
176
206
  private resolveTranscript;
177
207
  /**
178
208
  * Consume the unread tail of one transcript and record what it holds.
179
209
  *
210
+ * When the session's transcript changed since the last pass (a new
211
+ * conversation, or a move to another of the owner's Claude Code accounts,
212
+ * whose transcripts live in that account's config dir), the transcript it
213
+ * leaves is read to its end first — turns written there just before the
214
+ * move would otherwise never be counted — unless another session now owns
215
+ * that conversation. Its offset is remembered, and the new transcript
216
+ * resumes at its own remembered offset (0 when new). Message ids seen are
217
+ * kept across transcripts, so a turn is counted once whichever file it is
218
+ * read from.
219
+ *
180
220
  * @param sessionName - Crewly session name, used as the usage key
181
221
  * @param filePath - Transcript to read
222
+ * @param ownedByOther - Whether a conversation id belongs to another session
182
223
  * @returns Turns counted and cost added for this session
183
224
  */
184
225
  private syncOne;
226
+ /**
227
+ * Read `cursor.filePath` from `cursor.offset` to its last whole line,
228
+ * record each new turn in the token ledger and advance the cursor.
229
+ *
230
+ * Does not touch `cursor.cost`; the caller adds the returned cost.
231
+ *
232
+ * @param sessionName - Crewly session name, used as the usage key
233
+ * @param cursor - The session's cursor (mutated: offset, seen ids)
234
+ * @returns Turns recorded, their cost and the newest of them
235
+ */
236
+ private consume;
185
237
  /**
186
238
  * Read a byte range of a file as UTF-8.
187
239
  *
@@ -1 +1 @@
1
- {"version":3,"file":"claude-transcript-sync.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-transcript-sync.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAYH;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAChC,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,cAAc;IAC9B,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAEhE,8DAA8D;AAC9D,MAAM,WAAW,UAAU;IAC1B,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,8DAA8D;IAC9D,yBAAyB,EAAE,MAAM,CAAC;CAClC;AAaD;;;;;;;;;GASG;AACH,qBAAa,2BAA2B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4C;IAEnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,MAAM,CAAS;IACvB,4DAA4D;IAC5D,OAAO,CAAC,OAAO,CAAS;IAExB;;;OAGG;gBACS,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOjD;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,2BAA2B;IAOjD,uDAAuD;IACvD,MAAM,CAAC,aAAa,IAAI,IAAI;IAK5B;;;;OAIG;IACH,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIjD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,6DAA6D;IAC7D,IAAI,IAAI,IAAI;IAOZ;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC;IAkFjC;;;;;;;;;;;;OAYG;YACW,iBAAiB;IA+B/B;;;;;;OAMG;YACW,OAAO;IAgFrB;;;;;;;;;;;OAWG;YACW,QAAQ;IAYtB;;;;;;OAMG;IACH,OAAO,CAAC,UAAU;IAiDlB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAanB,uEAAuE;YACzD,WAAW;IAazB;;;;;;;;OAQG;YACW,kBAAkB;IA+BhC,0EAA0E;YAC5D,WAAW;IAezB;;;;;OAKG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;CAG5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,IAAI,2BAA2B,CAErE"}
1
+ {"version":3,"file":"claude-transcript-sync.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/monitoring/claude-transcript-sync.service.ts"],"names":[],"mappings":"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"}