claudecode-omc 4.4.4 → 4.4.6

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 (842) hide show
  1. package/.mcp.json +2 -6
  2. package/README.es.md +64 -8
  3. package/README.ja.md +64 -8
  4. package/README.ko.md +64 -8
  5. package/README.pt.md +29 -0
  6. package/README.vi.md +29 -0
  7. package/README.zh.md +64 -8
  8. package/agents/architect.md +17 -7
  9. package/agents/code-reviewer.md +6 -7
  10. package/agents/critic.md +14 -1
  11. package/agents/deep-executor.md +6 -7
  12. package/agents/designer.md +6 -8
  13. package/agents/executor.md +6 -7
  14. package/agents/planner.md +21 -0
  15. package/agents/quality-reviewer.md +6 -7
  16. package/agents/security-reviewer.md +6 -7
  17. package/agents/test-engineer.md +6 -7
  18. package/bridge/mcp-server.cjs +517 -202
  19. package/bridge/runtime-cli.cjs +1547 -0
  20. package/bridge/team-bridge.cjs +348 -92
  21. package/bridge/{gemini-server.cjs → team-mcp.cjs} +10914 -10240
  22. package/dist/__tests__/auto-update.test.js +1 -1
  23. package/dist/__tests__/auto-update.test.js.map +1 -1
  24. package/dist/__tests__/cli-win32-warning.test.d.ts +2 -0
  25. package/dist/__tests__/cli-win32-warning.test.d.ts.map +1 -0
  26. package/dist/__tests__/cli-win32-warning.test.js +46 -0
  27. package/dist/__tests__/cli-win32-warning.test.js.map +1 -0
  28. package/dist/__tests__/codex-callsite-normalization.test.js +112 -0
  29. package/dist/__tests__/consensus-execution-handoff.test.d.ts +2 -0
  30. package/dist/__tests__/consensus-execution-handoff.test.d.ts.map +1 -1
  31. package/dist/__tests__/consensus-execution-handoff.test.js +48 -0
  32. package/dist/__tests__/consensus-execution-handoff.test.js.map +1 -1
  33. package/dist/__tests__/context-safety.test.d.ts +2 -0
  34. package/dist/__tests__/context-safety.test.d.ts.map +1 -0
  35. package/dist/__tests__/context-safety.test.js +59 -0
  36. package/dist/__tests__/context-safety.test.js.map +1 -0
  37. package/dist/__tests__/hooks.test.js +15 -0
  38. package/dist/__tests__/hooks.test.js.map +1 -1
  39. package/dist/__tests__/hud/call-counts.test.js +0 -3
  40. package/dist/__tests__/hud/call-counts.test.js.map +1 -1
  41. package/dist/__tests__/hud/defaults.test.js +3 -5
  42. package/dist/__tests__/hud/defaults.test.js.map +1 -1
  43. package/dist/__tests__/hud/prompt-time.test.d.ts +2 -0
  44. package/dist/__tests__/hud/prompt-time.test.d.ts.map +1 -0
  45. package/dist/__tests__/hud/prompt-time.test.js +24 -0
  46. package/dist/__tests__/hud/prompt-time.test.js.map +1 -0
  47. package/dist/__tests__/hud/render.test.js +0 -1
  48. package/dist/__tests__/hud/render.test.js.map +1 -1
  49. package/dist/__tests__/hud/version-display.test.js +1 -0
  50. package/dist/__tests__/hud/version-display.test.js.map +1 -1
  51. package/dist/__tests__/hud/windows-platform.test.js +0 -4
  52. package/dist/__tests__/hud/windows-platform.test.js.map +1 -1
  53. package/dist/__tests__/hud-windows.test.js +5 -3
  54. package/dist/__tests__/hud-windows.test.js.map +1 -1
  55. package/dist/__tests__/installer-hud-skip.test.js +12 -2
  56. package/dist/__tests__/installer-hud-skip.test.js.map +1 -1
  57. package/dist/__tests__/job-management-sqlite.test.js +0 -15
  58. package/dist/__tests__/job-management-sqlite.test.js.map +1 -1
  59. package/dist/__tests__/job-management.test.js +0 -16
  60. package/dist/__tests__/job-management.test.js.map +1 -1
  61. package/dist/__tests__/load-agent-prompt.test.js +0 -23
  62. package/dist/__tests__/load-agent-prompt.test.js.map +1 -1
  63. package/dist/__tests__/model-routing.test.js +3 -2
  64. package/dist/__tests__/model-routing.test.js.map +1 -1
  65. package/dist/__tests__/omc-tools-server-interop.test.js +1 -1
  66. package/dist/__tests__/omc-tools-server-interop.test.js.map +1 -1
  67. package/dist/__tests__/pre-tool-enforcer.test.d.ts +2 -0
  68. package/dist/__tests__/pre-tool-enforcer.test.d.ts.map +1 -0
  69. package/dist/__tests__/pre-tool-enforcer.test.js +194 -0
  70. package/dist/__tests__/pre-tool-enforcer.test.js.map +1 -0
  71. package/dist/__tests__/prompt-injection.test.js +0 -26
  72. package/dist/__tests__/prompt-injection.test.js.map +1 -1
  73. package/dist/__tests__/purge-stale-cache.test.js +3 -2
  74. package/dist/__tests__/purge-stale-cache.test.js.map +1 -1
  75. package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts +2 -0
  76. package/dist/__tests__/run-cjs-graceful-fallback.test.d.ts.map +1 -0
  77. package/dist/__tests__/run-cjs-graceful-fallback.test.js +167 -0
  78. package/dist/__tests__/run-cjs-graceful-fallback.test.js.map +1 -0
  79. package/dist/__tests__/session-start-cache-cleanup.test.d.ts +2 -0
  80. package/dist/__tests__/session-start-cache-cleanup.test.d.ts.map +1 -0
  81. package/dist/__tests__/session-start-cache-cleanup.test.js +150 -0
  82. package/dist/__tests__/session-start-cache-cleanup.test.js.map +1 -0
  83. package/dist/__tests__/skills.test.js +10 -8
  84. package/dist/__tests__/skills.test.js.map +1 -1
  85. package/dist/__tests__/team-server-validation.test.d.ts +2 -0
  86. package/dist/__tests__/team-server-validation.test.d.ts.map +1 -0
  87. package/dist/__tests__/team-server-validation.test.js +122 -0
  88. package/dist/__tests__/team-server-validation.test.js.map +1 -0
  89. package/dist/agents/index.d.ts +0 -1
  90. package/dist/agents/index.d.ts.map +1 -1
  91. package/dist/agents/index.js +0 -2
  92. package/dist/agents/index.js.map +1 -1
  93. package/dist/agents/prompt-helpers.d.ts +74 -0
  94. package/dist/agents/prompt-helpers.d.ts.map +1 -0
  95. package/dist/agents/prompt-helpers.js +187 -0
  96. package/dist/agents/prompt-helpers.js.map +1 -0
  97. package/dist/agents/utils.d.ts +1 -5
  98. package/dist/agents/utils.d.ts.map +1 -1
  99. package/dist/agents/utils.js +1 -34
  100. package/dist/agents/utils.js.map +1 -1
  101. package/dist/cli/__tests__/launch.test.d.ts +1 -2
  102. package/dist/cli/__tests__/launch.test.d.ts.map +1 -1
  103. package/dist/cli/__tests__/launch.test.js +442 -48
  104. package/dist/cli/__tests__/launch.test.js.map +1 -1
  105. package/dist/cli/__tests__/teleport-help.test.d.ts +2 -0
  106. package/dist/cli/__tests__/teleport-help.test.d.ts.map +1 -0
  107. package/dist/cli/__tests__/teleport-help.test.js +17 -0
  108. package/dist/cli/__tests__/teleport-help.test.js.map +1 -0
  109. package/dist/cli/commands/teleport.d.ts +2 -1
  110. package/dist/cli/commands/teleport.d.ts.map +1 -1
  111. package/dist/cli/commands/teleport.js +6 -3
  112. package/dist/cli/commands/teleport.js.map +1 -1
  113. package/dist/cli/index.js +40 -290
  114. package/dist/cli/index.js.map +1 -1
  115. package/dist/cli/launch.d.ts +83 -3
  116. package/dist/cli/launch.d.ts.map +1 -1
  117. package/dist/cli/launch.js +213 -48
  118. package/dist/cli/launch.js.map +1 -1
  119. package/dist/cli/win32-warning.d.ts +6 -0
  120. package/dist/cli/win32-warning.d.ts.map +1 -0
  121. package/dist/cli/win32-warning.js +15 -0
  122. package/dist/cli/win32-warning.js.map +1 -0
  123. package/dist/config/loader.d.ts +9 -1
  124. package/dist/config/loader.d.ts.map +1 -1
  125. package/dist/config/loader.js +29 -19
  126. package/dist/config/loader.js.map +1 -1
  127. package/dist/config/models.d.ts +33 -0
  128. package/dist/config/models.d.ts.map +1 -0
  129. package/dist/config/models.js +49 -0
  130. package/dist/config/models.js.map +1 -0
  131. package/dist/constants/names.d.ts +2 -0
  132. package/dist/constants/names.d.ts.map +1 -1
  133. package/dist/constants/names.js +2 -0
  134. package/dist/constants/names.js.map +1 -1
  135. package/dist/features/auto-update.d.ts.map +1 -1
  136. package/dist/features/auto-update.js +21 -11
  137. package/dist/features/auto-update.js.map +1 -1
  138. package/dist/features/background-agent/manager.d.ts.map +1 -1
  139. package/dist/features/background-agent/manager.js +1 -2
  140. package/dist/features/background-agent/manager.js.map +1 -1
  141. package/dist/features/boulder-state/storage.d.ts.map +1 -1
  142. package/dist/features/boulder-state/storage.js +9 -5
  143. package/dist/features/boulder-state/storage.js.map +1 -1
  144. package/dist/features/boulder-state/types.d.ts +4 -0
  145. package/dist/features/boulder-state/types.d.ts.map +1 -1
  146. package/dist/features/builtin-skills/skills.d.ts.map +1 -1
  147. package/dist/features/builtin-skills/skills.js +25 -78
  148. package/dist/features/builtin-skills/skills.js.map +1 -1
  149. package/dist/features/delegation-enforcer.d.ts.map +1 -1
  150. package/dist/features/delegation-enforcer.js +4 -1
  151. package/dist/features/delegation-enforcer.js.map +1 -1
  152. package/dist/features/delegation-routing/__tests__/resolver.test.js +47 -122
  153. package/dist/features/delegation-routing/__tests__/resolver.test.js.map +1 -1
  154. package/dist/features/delegation-routing/resolver.d.ts.map +1 -1
  155. package/dist/features/delegation-routing/resolver.js +24 -47
  156. package/dist/features/delegation-routing/resolver.js.map +1 -1
  157. package/dist/features/delegation-routing/types.d.ts.map +1 -1
  158. package/dist/features/delegation-routing/types.js +2 -0
  159. package/dist/features/delegation-routing/types.js.map +1 -1
  160. package/dist/features/model-routing/external-model-policy.d.ts.map +1 -1
  161. package/dist/features/model-routing/external-model-policy.js.map +1 -1
  162. package/dist/features/model-routing/router.d.ts.map +1 -1
  163. package/dist/features/model-routing/router.js +12 -2
  164. package/dist/features/model-routing/router.js.map +1 -1
  165. package/dist/features/model-routing/types.d.ts +5 -1
  166. package/dist/features/model-routing/types.d.ts.map +1 -1
  167. package/dist/features/model-routing/types.js +7 -6
  168. package/dist/features/model-routing/types.js.map +1 -1
  169. package/dist/features/rate-limit-wait/daemon.d.ts.map +1 -1
  170. package/dist/features/rate-limit-wait/daemon.js +40 -4
  171. package/dist/features/rate-limit-wait/daemon.js.map +1 -1
  172. package/dist/features/state-manager/index.js +2 -2
  173. package/dist/features/state-manager/index.js.map +1 -1
  174. package/dist/features/task-decomposer/index.js +14 -4
  175. package/dist/features/task-decomposer/index.js.map +1 -1
  176. package/dist/hooks/__tests__/bridge-openclaw.test.d.ts +2 -0
  177. package/dist/hooks/__tests__/bridge-openclaw.test.d.ts.map +1 -0
  178. package/dist/hooks/__tests__/bridge-openclaw.test.js +124 -0
  179. package/dist/hooks/__tests__/bridge-openclaw.test.js.map +1 -0
  180. package/dist/hooks/__tests__/bridge-security.test.js +1 -1
  181. package/dist/hooks/__tests__/bridge-security.test.js.map +1 -1
  182. package/dist/hooks/auto-slash-command/executor.d.ts.map +1 -1
  183. package/dist/hooks/auto-slash-command/executor.js +38 -61
  184. package/dist/hooks/auto-slash-command/executor.js.map +1 -1
  185. package/dist/hooks/autopilot/prompts.js +3 -3
  186. package/dist/hooks/bridge.d.ts +11 -0
  187. package/dist/hooks/bridge.d.ts.map +1 -1
  188. package/dist/hooks/bridge.js +154 -82
  189. package/dist/hooks/bridge.js.map +1 -1
  190. package/dist/hooks/comment-checker/index.d.ts.map +1 -1
  191. package/dist/hooks/comment-checker/index.js +3 -1
  192. package/dist/hooks/comment-checker/index.js.map +1 -1
  193. package/dist/hooks/keyword-detector/__tests__/index.test.js +348 -1
  194. package/dist/hooks/keyword-detector/__tests__/index.test.js.map +1 -1
  195. package/dist/hooks/keyword-detector/index.d.ts +29 -0
  196. package/dist/hooks/keyword-detector/index.d.ts.map +1 -1
  197. package/dist/hooks/keyword-detector/index.js +123 -1
  198. package/dist/hooks/keyword-detector/index.js.map +1 -1
  199. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js +40 -0
  200. package/dist/hooks/mode-registry/__tests__/session-isolation.test.js.map +1 -1
  201. package/dist/hooks/mode-registry/index.d.ts.map +1 -1
  202. package/dist/hooks/mode-registry/index.js +135 -52
  203. package/dist/hooks/mode-registry/index.js.map +1 -1
  204. package/dist/hooks/notepad/index.d.ts.map +1 -1
  205. package/dist/hooks/notepad/index.js +5 -3
  206. package/dist/hooks/notepad/index.js.map +1 -1
  207. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts +2 -0
  208. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.d.ts.map +1 -0
  209. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js +73 -0
  210. package/dist/hooks/persistent-mode/__tests__/cancel-race.test.js.map +1 -0
  211. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js +89 -13
  212. package/dist/hooks/persistent-mode/__tests__/idle-cooldown.test.js.map +1 -1
  213. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts +2 -0
  214. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.d.ts.map +1 -0
  215. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js +156 -0
  216. package/dist/hooks/persistent-mode/__tests__/skill-state-stop.test.js.map +1 -0
  217. package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts +2 -3
  218. package/dist/hooks/persistent-mode/idle-cooldown.test.d.ts.map +1 -1
  219. package/dist/hooks/persistent-mode/idle-cooldown.test.js +19 -4
  220. package/dist/hooks/persistent-mode/idle-cooldown.test.js.map +1 -1
  221. package/dist/hooks/persistent-mode/index.d.ts +2 -2
  222. package/dist/hooks/persistent-mode/index.d.ts.map +1 -1
  223. package/dist/hooks/persistent-mode/index.js +144 -26
  224. package/dist/hooks/persistent-mode/index.js.map +1 -1
  225. package/dist/hooks/plugin-patterns/index.d.ts.map +1 -1
  226. package/dist/hooks/plugin-patterns/index.js +22 -31
  227. package/dist/hooks/plugin-patterns/index.js.map +1 -1
  228. package/dist/hooks/pre-compact/index.js +1 -1
  229. package/dist/hooks/preemptive-compaction/index.d.ts.map +1 -1
  230. package/dist/hooks/preemptive-compaction/index.js +3 -1
  231. package/dist/hooks/preemptive-compaction/index.js.map +1 -1
  232. package/dist/hooks/project-memory/index.d.ts.map +1 -1
  233. package/dist/hooks/project-memory/index.js +9 -0
  234. package/dist/hooks/project-memory/index.js.map +1 -1
  235. package/dist/hooks/project-memory/learner.d.ts.map +1 -1
  236. package/dist/hooks/project-memory/learner.js +107 -85
  237. package/dist/hooks/project-memory/learner.js.map +1 -1
  238. package/dist/hooks/project-memory/storage.d.ts.map +1 -1
  239. package/dist/hooks/project-memory/storage.js +3 -2
  240. package/dist/hooks/project-memory/storage.js.map +1 -1
  241. package/dist/hooks/recovery/context-window.d.ts +4 -0
  242. package/dist/hooks/recovery/context-window.d.ts.map +1 -1
  243. package/dist/hooks/recovery/context-window.js +22 -1
  244. package/dist/hooks/recovery/context-window.js.map +1 -1
  245. package/dist/hooks/recovery/session-recovery.js +1 -1
  246. package/dist/hooks/recovery/session-recovery.js.map +1 -1
  247. package/dist/hooks/session-end/index.d.ts.map +1 -1
  248. package/dist/hooks/session-end/index.js +13 -22
  249. package/dist/hooks/session-end/index.js.map +1 -1
  250. package/dist/hooks/setup/__tests__/windows-patch.test.d.ts +2 -0
  251. package/dist/hooks/setup/__tests__/windows-patch.test.d.ts.map +1 -0
  252. package/dist/hooks/setup/__tests__/windows-patch.test.js +110 -0
  253. package/dist/hooks/setup/__tests__/windows-patch.test.js.map +1 -0
  254. package/dist/hooks/setup/index.d.ts +18 -0
  255. package/dist/hooks/setup/index.d.ts.map +1 -1
  256. package/dist/hooks/setup/index.js +59 -1
  257. package/dist/hooks/setup/index.js.map +1 -1
  258. package/dist/hooks/skill-bridge.cjs +1 -0
  259. package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts +2 -0
  260. package/dist/hooks/skill-state/__tests__/skill-state.test.d.ts.map +1 -0
  261. package/dist/hooks/skill-state/__tests__/skill-state.test.js +301 -0
  262. package/dist/hooks/skill-state/__tests__/skill-state.test.js.map +1 -0
  263. package/dist/hooks/skill-state/index.d.ts +79 -0
  264. package/dist/hooks/skill-state/index.d.ts.map +1 -0
  265. package/dist/hooks/skill-state/index.js +245 -0
  266. package/dist/hooks/skill-state/index.js.map +1 -0
  267. package/dist/hooks/team-pipeline/state.d.ts.map +1 -1
  268. package/dist/hooks/team-pipeline/state.js +5 -0
  269. package/dist/hooks/team-pipeline/state.js.map +1 -1
  270. package/dist/hooks/todo-continuation/index.d.ts +17 -0
  271. package/dist/hooks/todo-continuation/index.d.ts.map +1 -1
  272. package/dist/hooks/todo-continuation/index.js +44 -2
  273. package/dist/hooks/todo-continuation/index.js.map +1 -1
  274. package/dist/hud/elements/call-counts.d.ts.map +1 -1
  275. package/dist/hud/elements/call-counts.js +6 -4
  276. package/dist/hud/elements/call-counts.js.map +1 -1
  277. package/dist/hud/elements/index.d.ts +1 -0
  278. package/dist/hud/elements/index.d.ts.map +1 -1
  279. package/dist/hud/elements/index.js +1 -0
  280. package/dist/hud/elements/index.js.map +1 -1
  281. package/dist/hud/elements/prompt-time.d.ts +13 -0
  282. package/dist/hud/elements/prompt-time.d.ts.map +1 -0
  283. package/dist/hud/elements/prompt-time.js +21 -0
  284. package/dist/hud/elements/prompt-time.js.map +1 -0
  285. package/dist/hud/index.d.ts +2 -1
  286. package/dist/hud/index.d.ts.map +1 -1
  287. package/dist/hud/index.js +40 -215
  288. package/dist/hud/index.js.map +1 -1
  289. package/dist/hud/render.d.ts.map +1 -1
  290. package/dist/hud/render.js +7 -108
  291. package/dist/hud/render.js.map +1 -1
  292. package/dist/hud/state.d.ts.map +1 -1
  293. package/dist/hud/state.js +4 -3
  294. package/dist/hud/state.js.map +1 -1
  295. package/dist/hud/stdin.d.ts +10 -0
  296. package/dist/hud/stdin.d.ts.map +1 -1
  297. package/dist/hud/stdin.js +43 -0
  298. package/dist/hud/stdin.js.map +1 -1
  299. package/dist/hud/types.d.ts +6 -18
  300. package/dist/hud/types.d.ts.map +1 -1
  301. package/dist/hud/types.js +6 -46
  302. package/dist/hud/types.js.map +1 -1
  303. package/dist/index.d.ts +1 -1
  304. package/dist/index.d.ts.map +1 -1
  305. package/dist/index.js +2 -11
  306. package/dist/index.js.map +1 -1
  307. package/dist/installer/hooks.d.ts +5 -0
  308. package/dist/installer/hooks.d.ts.map +1 -1
  309. package/dist/installer/hooks.js +8 -0
  310. package/dist/installer/hooks.js.map +1 -1
  311. package/dist/installer/index.d.ts.map +1 -1
  312. package/dist/installer/index.js +26 -11
  313. package/dist/installer/index.js.map +1 -1
  314. package/dist/interop/omx-team-state.d.ts.map +1 -1
  315. package/dist/interop/omx-team-state.js +38 -6
  316. package/dist/interop/omx-team-state.js.map +1 -1
  317. package/dist/interop/shared-state.d.ts.map +1 -1
  318. package/dist/interop/shared-state.js +58 -7
  319. package/dist/interop/shared-state.js.map +1 -1
  320. package/dist/lib/__tests__/worktree-paths.test.js +250 -1
  321. package/dist/lib/__tests__/worktree-paths.test.js.map +1 -1
  322. package/dist/lib/job-state-db.d.ts +150 -0
  323. package/dist/lib/job-state-db.d.ts.map +1 -0
  324. package/dist/lib/job-state-db.js +650 -0
  325. package/dist/lib/job-state-db.js.map +1 -0
  326. package/dist/lib/mode-names.d.ts +46 -0
  327. package/dist/lib/mode-names.d.ts.map +1 -0
  328. package/dist/lib/mode-names.js +73 -0
  329. package/dist/lib/mode-names.js.map +1 -0
  330. package/dist/lib/session-isolation.d.ts +32 -0
  331. package/dist/lib/session-isolation.d.ts.map +1 -0
  332. package/dist/lib/session-isolation.js +39 -0
  333. package/dist/lib/session-isolation.js.map +1 -0
  334. package/dist/lib/worktree-paths.d.ts +38 -8
  335. package/dist/lib/worktree-paths.d.ts.map +1 -1
  336. package/dist/lib/worktree-paths.js +124 -56
  337. package/dist/lib/worktree-paths.js.map +1 -1
  338. package/dist/mcp/__tests__/team-cleanup.test.d.ts +11 -0
  339. package/dist/mcp/__tests__/team-cleanup.test.d.ts.map +1 -0
  340. package/dist/mcp/__tests__/team-cleanup.test.js +228 -0
  341. package/dist/mcp/__tests__/team-cleanup.test.js.map +1 -0
  342. package/dist/mcp/cli-detection.d.ts +4 -8
  343. package/dist/mcp/cli-detection.d.ts.map +1 -1
  344. package/dist/mcp/cli-detection.js +5 -8
  345. package/dist/mcp/cli-detection.js.map +1 -1
  346. package/dist/mcp/codex-request-normalizer.js +59 -0
  347. package/dist/mcp/codex-server.js +16 -4
  348. package/dist/mcp/codex-standalone-server.js +13 -4
  349. package/dist/mcp/index.d.ts +2 -4
  350. package/dist/mcp/index.d.ts.map +1 -1
  351. package/dist/mcp/index.js +1 -5
  352. package/dist/mcp/index.js.map +1 -1
  353. package/dist/mcp/job-management.d.ts.map +1 -1
  354. package/dist/mcp/job-management.js +11 -9
  355. package/dist/mcp/job-management.js.map +1 -1
  356. package/dist/mcp/job-state-db.d.ts +1 -149
  357. package/dist/mcp/job-state-db.d.ts.map +1 -1
  358. package/dist/mcp/job-state-db.js +2 -649
  359. package/dist/mcp/job-state-db.js.map +1 -1
  360. package/dist/mcp/mcp-config.d.ts +1 -1
  361. package/dist/mcp/mcp-config.js +1 -1
  362. package/dist/mcp/prompt-injection.d.ts +14 -76
  363. package/dist/mcp/prompt-injection.d.ts.map +1 -1
  364. package/dist/mcp/prompt-injection.js +34 -175
  365. package/dist/mcp/prompt-injection.js.map +1 -1
  366. package/dist/mcp/standalone-server.js +2 -0
  367. package/dist/mcp/standalone-server.js.map +1 -1
  368. package/dist/mcp/team-server.d.ts +16 -0
  369. package/dist/mcp/team-server.d.ts.map +1 -0
  370. package/dist/mcp/team-server.js +356 -0
  371. package/dist/mcp/team-server.js.map +1 -0
  372. package/dist/notifications/__tests__/formatter.test.js +62 -0
  373. package/dist/notifications/__tests__/formatter.test.js.map +1 -1
  374. package/dist/notifications/__tests__/hook-config.test.d.ts +14 -0
  375. package/dist/notifications/__tests__/hook-config.test.d.ts.map +1 -0
  376. package/dist/notifications/__tests__/hook-config.test.js +210 -0
  377. package/dist/notifications/__tests__/hook-config.test.js.map +1 -0
  378. package/dist/notifications/__tests__/platform-gating.test.d.ts +12 -0
  379. package/dist/notifications/__tests__/platform-gating.test.d.ts.map +1 -0
  380. package/dist/notifications/__tests__/platform-gating.test.js +140 -0
  381. package/dist/notifications/__tests__/platform-gating.test.js.map +1 -0
  382. package/dist/notifications/__tests__/template-engine.test.d.ts +13 -0
  383. package/dist/notifications/__tests__/template-engine.test.d.ts.map +1 -0
  384. package/dist/notifications/__tests__/template-engine.test.js +378 -0
  385. package/dist/notifications/__tests__/template-engine.test.js.map +1 -0
  386. package/dist/notifications/config.d.ts.map +1 -1
  387. package/dist/notifications/config.js +54 -18
  388. package/dist/notifications/config.js.map +1 -1
  389. package/dist/notifications/dispatcher.d.ts +2 -2
  390. package/dist/notifications/dispatcher.d.ts.map +1 -1
  391. package/dist/notifications/dispatcher.js +10 -6
  392. package/dist/notifications/dispatcher.js.map +1 -1
  393. package/dist/notifications/formatter.d.ts.map +1 -1
  394. package/dist/notifications/formatter.js +22 -0
  395. package/dist/notifications/formatter.js.map +1 -1
  396. package/dist/notifications/hook-config-types.d.ts +44 -0
  397. package/dist/notifications/hook-config-types.d.ts.map +1 -0
  398. package/dist/notifications/hook-config-types.js +8 -0
  399. package/dist/notifications/hook-config-types.js.map +1 -0
  400. package/dist/notifications/hook-config.d.ts +36 -0
  401. package/dist/notifications/hook-config.d.ts.map +1 -0
  402. package/dist/notifications/hook-config.js +95 -0
  403. package/dist/notifications/hook-config.js.map +1 -0
  404. package/dist/notifications/index.d.ts +3 -0
  405. package/dist/notifications/index.d.ts.map +1 -1
  406. package/dist/notifications/index.js +31 -3
  407. package/dist/notifications/index.js.map +1 -1
  408. package/dist/notifications/reply-listener.d.ts.map +1 -1
  409. package/dist/notifications/reply-listener.js +1 -0
  410. package/dist/notifications/reply-listener.js.map +1 -1
  411. package/dist/notifications/session-registry.d.ts.map +1 -1
  412. package/dist/notifications/session-registry.js +13 -5
  413. package/dist/notifications/session-registry.js.map +1 -1
  414. package/dist/notifications/template-engine.d.ts +34 -0
  415. package/dist/notifications/template-engine.d.ts.map +1 -0
  416. package/dist/notifications/template-engine.js +248 -0
  417. package/dist/notifications/template-engine.js.map +1 -0
  418. package/dist/notifications/types.d.ts +0 -2
  419. package/dist/notifications/types.d.ts.map +1 -1
  420. package/dist/openclaw/__tests__/config.test.d.ts +2 -0
  421. package/dist/openclaw/__tests__/config.test.d.ts.map +1 -0
  422. package/dist/openclaw/__tests__/config.test.js +200 -0
  423. package/dist/openclaw/__tests__/config.test.js.map +1 -0
  424. package/dist/openclaw/__tests__/dispatcher.test.d.ts +2 -0
  425. package/dist/openclaw/__tests__/dispatcher.test.d.ts.map +1 -0
  426. package/dist/openclaw/__tests__/dispatcher.test.js +348 -0
  427. package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -0
  428. package/dist/openclaw/__tests__/index.test.d.ts +2 -0
  429. package/dist/openclaw/__tests__/index.test.d.ts.map +1 -0
  430. package/dist/openclaw/__tests__/index.test.js +235 -0
  431. package/dist/openclaw/__tests__/index.test.js.map +1 -0
  432. package/dist/openclaw/config.d.ts +33 -0
  433. package/dist/openclaw/config.d.ts.map +1 -0
  434. package/dist/openclaw/config.js +83 -0
  435. package/dist/openclaw/config.js.map +1 -0
  436. package/dist/openclaw/dispatcher.d.ts +47 -0
  437. package/dist/openclaw/dispatcher.d.ts.map +1 -0
  438. package/dist/openclaw/dispatcher.js +138 -0
  439. package/dist/openclaw/dispatcher.js.map +1 -0
  440. package/dist/openclaw/index.d.ts +25 -0
  441. package/dist/openclaw/index.d.ts.map +1 -0
  442. package/dist/openclaw/index.js +132 -0
  443. package/dist/openclaw/index.js.map +1 -0
  444. package/dist/openclaw/types.d.ts +102 -0
  445. package/dist/openclaw/types.d.ts.map +1 -0
  446. package/dist/openclaw/types.js +8 -0
  447. package/dist/openclaw/types.js.map +1 -0
  448. package/dist/platform/index.d.ts +5 -0
  449. package/dist/platform/index.d.ts.map +1 -1
  450. package/dist/platform/index.js +17 -0
  451. package/dist/platform/index.js.map +1 -1
  452. package/dist/platform/process-utils.d.ts.map +1 -1
  453. package/dist/platform/process-utils.js +55 -9
  454. package/dist/platform/process-utils.js.map +1 -1
  455. package/dist/shared/types.d.ts +7 -5
  456. package/dist/shared/types.d.ts.map +1 -1
  457. package/dist/team/__tests__/bridge-integration.test.js +10 -8
  458. package/dist/team/__tests__/bridge-integration.test.js.map +1 -1
  459. package/dist/team/__tests__/edge-cases.test.js +40 -29
  460. package/dist/team/__tests__/edge-cases.test.js.map +1 -1
  461. package/dist/team/__tests__/idle-nudge.test.d.ts +11 -0
  462. package/dist/team/__tests__/idle-nudge.test.d.ts.map +1 -0
  463. package/dist/team/__tests__/idle-nudge.test.js +282 -0
  464. package/dist/team/__tests__/idle-nudge.test.js.map +1 -0
  465. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js +2 -2
  466. package/dist/team/__tests__/mcp-team-bridge.spawn-args.test.js.map +1 -1
  467. package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts +2 -0
  468. package/dist/team/__tests__/mcp-team-bridge.usage.test.d.ts.map +1 -0
  469. package/dist/team/__tests__/mcp-team-bridge.usage.test.js +49 -0
  470. package/dist/team/__tests__/mcp-team-bridge.usage.test.js.map +1 -0
  471. package/dist/team/__tests__/model-contract.test.d.ts +2 -0
  472. package/dist/team/__tests__/model-contract.test.d.ts.map +1 -0
  473. package/dist/team/__tests__/model-contract.test.js +121 -0
  474. package/dist/team/__tests__/model-contract.test.js.map +1 -0
  475. package/dist/team/__tests__/phase-controller.test.d.ts +2 -0
  476. package/dist/team/__tests__/phase-controller.test.d.ts.map +1 -0
  477. package/dist/team/__tests__/phase-controller.test.js +45 -0
  478. package/dist/team/__tests__/phase-controller.test.js.map +1 -0
  479. package/dist/team/__tests__/runtime-assign.test.d.ts +2 -0
  480. package/dist/team/__tests__/runtime-assign.test.d.ts.map +1 -0
  481. package/dist/team/__tests__/runtime-assign.test.js +43 -0
  482. package/dist/team/__tests__/runtime-assign.test.js.map +1 -0
  483. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts +2 -0
  484. package/dist/team/__tests__/runtime-gemini-prompt.test.d.ts.map +1 -0
  485. package/dist/team/__tests__/runtime-gemini-prompt.test.js +153 -0
  486. package/dist/team/__tests__/runtime-gemini-prompt.test.js.map +1 -0
  487. package/dist/team/__tests__/runtime-prompt-mode.test.d.ts +2 -0
  488. package/dist/team/__tests__/runtime-prompt-mode.test.d.ts.map +1 -0
  489. package/dist/team/__tests__/runtime-prompt-mode.test.js +162 -0
  490. package/dist/team/__tests__/runtime-prompt-mode.test.js.map +1 -0
  491. package/dist/team/__tests__/runtime.test.d.ts +2 -0
  492. package/dist/team/__tests__/runtime.test.d.ts.map +1 -0
  493. package/dist/team/__tests__/runtime.test.js +37 -0
  494. package/dist/team/__tests__/runtime.test.js.map +1 -0
  495. package/dist/team/__tests__/task-file-ops.test.js +63 -59
  496. package/dist/team/__tests__/task-file-ops.test.js.map +1 -1
  497. package/dist/team/__tests__/team-name.test.d.ts +2 -0
  498. package/dist/team/__tests__/team-name.test.d.ts.map +1 -0
  499. package/dist/team/__tests__/team-name.test.js +18 -0
  500. package/dist/team/__tests__/team-name.test.js.map +1 -0
  501. package/dist/team/__tests__/team-status.test.js +52 -6
  502. package/dist/team/__tests__/team-status.test.js.map +1 -1
  503. package/dist/team/__tests__/tmux-comm.test.d.ts +2 -0
  504. package/dist/team/__tests__/tmux-comm.test.d.ts.map +1 -0
  505. package/dist/team/__tests__/tmux-comm.test.js +26 -0
  506. package/dist/team/__tests__/tmux-comm.test.js.map +1 -0
  507. package/dist/team/__tests__/tmux-session.create-team.test.d.ts +2 -0
  508. package/dist/team/__tests__/tmux-session.create-team.test.d.ts.map +1 -0
  509. package/dist/team/__tests__/tmux-session.create-team.test.js +104 -0
  510. package/dist/team/__tests__/tmux-session.create-team.test.js.map +1 -0
  511. package/dist/team/__tests__/tmux-session.spawn.test.d.ts +2 -0
  512. package/dist/team/__tests__/tmux-session.spawn.test.d.ts.map +1 -0
  513. package/dist/team/__tests__/tmux-session.spawn.test.js +61 -0
  514. package/dist/team/__tests__/tmux-session.spawn.test.js.map +1 -0
  515. package/dist/team/__tests__/tmux-session.test.js +161 -2
  516. package/dist/team/__tests__/tmux-session.test.js.map +1 -1
  517. package/dist/team/__tests__/worker-bootstrap.test.d.ts +2 -0
  518. package/dist/team/__tests__/worker-bootstrap.test.d.ts.map +1 -0
  519. package/dist/team/__tests__/worker-bootstrap.test.js +58 -0
  520. package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -0
  521. package/dist/team/bridge-entry.d.ts.map +1 -1
  522. package/dist/team/bridge-entry.js +4 -0
  523. package/dist/team/bridge-entry.js.map +1 -1
  524. package/dist/team/capabilities.d.ts.map +1 -1
  525. package/dist/team/capabilities.js +3 -0
  526. package/dist/team/capabilities.js.map +1 -1
  527. package/dist/team/cli-detection.d.ts +9 -0
  528. package/dist/team/cli-detection.d.ts.map +1 -0
  529. package/dist/team/cli-detection.js +29 -0
  530. package/dist/team/cli-detection.js.map +1 -0
  531. package/dist/team/idle-nudge.d.ts +53 -0
  532. package/dist/team/idle-nudge.d.ts.map +1 -0
  533. package/dist/team/idle-nudge.js +124 -0
  534. package/dist/team/idle-nudge.js.map +1 -0
  535. package/dist/team/inbox-outbox.d.ts.map +1 -1
  536. package/dist/team/inbox-outbox.js +7 -3
  537. package/dist/team/inbox-outbox.js.map +1 -1
  538. package/dist/team/index.d.ts +14 -1
  539. package/dist/team/index.d.ts.map +1 -1
  540. package/dist/team/index.js +12 -1
  541. package/dist/team/index.js.map +1 -1
  542. package/dist/team/mcp-team-bridge.d.ts +9 -0
  543. package/dist/team/mcp-team-bridge.d.ts.map +1 -1
  544. package/dist/team/mcp-team-bridge.js +82 -3
  545. package/dist/team/mcp-team-bridge.js.map +1 -1
  546. package/dist/team/model-contract.d.ts +37 -0
  547. package/dist/team/model-contract.d.ts.map +1 -0
  548. package/dist/team/model-contract.js +139 -0
  549. package/dist/team/model-contract.js.map +1 -0
  550. package/dist/team/phase-controller.d.ts +33 -0
  551. package/dist/team/phase-controller.d.ts.map +1 -0
  552. package/dist/team/phase-controller.js +79 -0
  553. package/dist/team/phase-controller.js.map +1 -0
  554. package/dist/team/runtime-cli.d.ts +9 -0
  555. package/dist/team/runtime-cli.d.ts.map +1 -0
  556. package/dist/team/runtime-cli.js +188 -0
  557. package/dist/team/runtime-cli.js.map +1 -0
  558. package/dist/team/runtime.d.ts +95 -0
  559. package/dist/team/runtime.d.ts.map +1 -0
  560. package/dist/team/runtime.js +692 -0
  561. package/dist/team/runtime.js.map +1 -0
  562. package/dist/team/state-paths.d.ts +72 -0
  563. package/dist/team/state-paths.d.ts.map +1 -0
  564. package/dist/team/state-paths.js +87 -0
  565. package/dist/team/state-paths.js.map +1 -0
  566. package/dist/team/task-file-ops.d.ts +27 -7
  567. package/dist/team/task-file-ops.d.ts.map +1 -1
  568. package/dist/team/task-file-ops.js +116 -55
  569. package/dist/team/task-file-ops.js.map +1 -1
  570. package/dist/team/team-name.d.ts +2 -0
  571. package/dist/team/team-name.d.ts.map +1 -0
  572. package/dist/team/team-name.js +8 -0
  573. package/dist/team/team-name.js.map +1 -0
  574. package/dist/team/team-registration.d.ts +1 -1
  575. package/dist/team/team-registration.d.ts.map +1 -1
  576. package/dist/team/team-registration.js.map +1 -1
  577. package/dist/team/team-status.d.ts +11 -1
  578. package/dist/team/team-status.d.ts.map +1 -1
  579. package/dist/team/team-status.js +32 -3
  580. package/dist/team/team-status.js.map +1 -1
  581. package/dist/team/tmux-comm.d.ts +36 -0
  582. package/dist/team/tmux-comm.d.ts.map +1 -0
  583. package/dist/team/tmux-comm.js +115 -0
  584. package/dist/team/tmux-comm.js.map +1 -0
  585. package/dist/team/tmux-session.d.ts +92 -0
  586. package/dist/team/tmux-session.d.ts.map +1 -1
  587. package/dist/team/tmux-session.js +533 -2
  588. package/dist/team/tmux-session.js.map +1 -1
  589. package/dist/team/types.d.ts +10 -3
  590. package/dist/team/types.d.ts.map +1 -1
  591. package/dist/team/unified-team.d.ts.map +1 -1
  592. package/dist/team/unified-team.js +13 -3
  593. package/dist/team/unified-team.js.map +1 -1
  594. package/dist/team/worker-bootstrap.d.ts +39 -0
  595. package/dist/team/worker-bootstrap.d.ts.map +1 -0
  596. package/dist/team/worker-bootstrap.js +117 -0
  597. package/dist/team/worker-bootstrap.js.map +1 -0
  598. package/dist/team/worker-health.d.ts.map +1 -1
  599. package/dist/team/worker-health.js +15 -3
  600. package/dist/team/worker-health.js.map +1 -1
  601. package/dist/tools/ast-tools.js +1 -1
  602. package/dist/tools/ast-tools.js.map +1 -1
  603. package/dist/tools/diagnostics/lsp-aggregator.d.ts.map +1 -1
  604. package/dist/tools/diagnostics/lsp-aggregator.js +4 -2
  605. package/dist/tools/diagnostics/lsp-aggregator.js.map +1 -1
  606. package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts +2 -0
  607. package/dist/tools/lsp/__tests__/client-handle-data.test.d.ts.map +1 -0
  608. package/dist/tools/lsp/__tests__/client-handle-data.test.js +138 -0
  609. package/dist/tools/lsp/__tests__/client-handle-data.test.js.map +1 -0
  610. package/dist/tools/lsp/client.d.ts +13 -0
  611. package/dist/tools/lsp/client.d.ts.map +1 -1
  612. package/dist/tools/lsp/client.js +64 -8
  613. package/dist/tools/lsp/client.js.map +1 -1
  614. package/dist/tools/lsp/servers.d.ts.map +1 -1
  615. package/dist/tools/lsp/servers.js +4 -9
  616. package/dist/tools/lsp/servers.js.map +1 -1
  617. package/dist/tools/lsp-tools.d.ts.map +1 -1
  618. package/dist/tools/lsp-tools.js +4 -0
  619. package/dist/tools/lsp-tools.js.map +1 -1
  620. package/dist/tools/python-repl/bridge-manager.d.ts.map +1 -1
  621. package/dist/tools/python-repl/bridge-manager.js +15 -1
  622. package/dist/tools/python-repl/bridge-manager.js.map +1 -1
  623. package/dist/tools/python-repl/session-lock.d.ts.map +1 -1
  624. package/dist/tools/python-repl/session-lock.js +35 -15
  625. package/dist/tools/python-repl/session-lock.js.map +1 -1
  626. package/dist/tools/state-tools.d.ts.map +1 -1
  627. package/dist/tools/state-tools.js +10 -0
  628. package/dist/tools/state-tools.js.map +1 -1
  629. package/dist/utils/__tests__/frontmatter.test.d.ts +2 -0
  630. package/dist/utils/__tests__/frontmatter.test.d.ts.map +1 -0
  631. package/dist/utils/__tests__/frontmatter.test.js +147 -0
  632. package/dist/utils/__tests__/frontmatter.test.js.map +1 -0
  633. package/dist/utils/frontmatter.d.ts +24 -0
  634. package/dist/utils/frontmatter.d.ts.map +1 -0
  635. package/dist/utils/frontmatter.js +62 -0
  636. package/dist/utils/frontmatter.js.map +1 -0
  637. package/dist/utils/paths.d.ts.map +1 -1
  638. package/dist/utils/paths.js +4 -2
  639. package/dist/utils/paths.js.map +1 -1
  640. package/dist/utils/string-width.d.ts.map +1 -1
  641. package/dist/utils/string-width.js +15 -4
  642. package/dist/utils/string-width.js.map +1 -1
  643. package/dist/verification/tier-selector.js +1 -1
  644. package/dist/verification/tier-selector.js.map +1 -1
  645. package/docs/AGENTS.md +4 -2
  646. package/docs/CLAUDE.md +8 -48
  647. package/docs/MIGRATION.md +114 -0
  648. package/docs/REFERENCE.md +35 -102
  649. package/hooks/hooks.json +23 -23
  650. package/package.json +8 -8
  651. package/scripts/build-runtime-cli.mjs +24 -0
  652. package/scripts/build-team-server.mjs +28 -0
  653. package/scripts/cleanup-orphans.mjs +22 -5
  654. package/scripts/context-safety.mjs +5 -1
  655. package/scripts/demo-team.mjs +26 -0
  656. package/scripts/keyword-detector.mjs +6 -76
  657. package/scripts/openclaw-gateway-demo.mjs +168 -0
  658. package/scripts/persistent-mode.cjs +30 -4
  659. package/scripts/persistent-mode.mjs +48 -3
  660. package/scripts/plugin-setup.mjs +66 -3
  661. package/scripts/post-tool-use-failure.mjs +20 -2
  662. package/scripts/post-tool-verifier.mjs +57 -6
  663. package/scripts/pre-tool-enforcer.mjs +125 -5
  664. package/scripts/run.cjs +114 -0
  665. package/scripts/session-start.mjs +56 -7
  666. package/scripts/status.mjs +144 -0
  667. package/scripts/test-codex-gemini-team.mjs +78 -0
  668. package/skills/AGENTS.md +5 -2
  669. package/skills/analyze/SKILL.md +5 -11
  670. package/skills/autopilot/SKILL.md +16 -25
  671. package/skills/ccg/SKILL.md +88 -99
  672. package/skills/configure-notifications/SKILL.md +177 -0
  673. package/skills/configure-openclaw/SKILL.md +320 -0
  674. package/skills/external-context/SKILL.md +7 -83
  675. package/skills/hud/SKILL.md +68 -46
  676. package/skills/omc-setup/SKILL.md +58 -19
  677. package/skills/omc-teams/SKILL.md +178 -0
  678. package/skills/pipeline/SKILL.md +4 -4
  679. package/skills/plan/SKILL.md +28 -16
  680. package/skills/ralph/SKILL.md +3 -4
  681. package/skills/ralph-init/SKILL.md +3 -1
  682. package/skills/ralplan/SKILL.md +93 -8
  683. package/skills/security-review/SKILL.md +5 -6
  684. package/skills/tdd/SKILL.md +5 -6
  685. package/skills/team/SKILL.md +35 -34
  686. package/templates/hooks/keyword-detector.mjs +11 -82
  687. package/templates/hooks/persistent-mode.mjs +120 -3
  688. package/templates/hooks/post-tool-use-failure.mjs +20 -2
  689. package/templates/hooks/session-start.mjs +2 -16
  690. package/dist/__tests__/analytics/backfill-dedup.test.d.ts +0 -2
  691. package/dist/__tests__/analytics/backfill-dedup.test.d.ts.map +0 -1
  692. package/dist/__tests__/analytics/backfill-dedup.test.js +0 -179
  693. package/dist/__tests__/analytics/backfill-dedup.test.js.map +0 -1
  694. package/dist/__tests__/analytics/backfill-engine.test.d.ts +0 -2
  695. package/dist/__tests__/analytics/backfill-engine.test.d.ts.map +0 -1
  696. package/dist/__tests__/analytics/backfill-engine.test.js +0 -362
  697. package/dist/__tests__/analytics/backfill-engine.test.js.map +0 -1
  698. package/dist/__tests__/analytics/output-estimator.test.d.ts +0 -2
  699. package/dist/__tests__/analytics/output-estimator.test.d.ts.map +0 -1
  700. package/dist/__tests__/analytics/output-estimator.test.js +0 -124
  701. package/dist/__tests__/analytics/output-estimator.test.js.map +0 -1
  702. package/dist/__tests__/analytics/token-extractor.test.d.ts +0 -2
  703. package/dist/__tests__/analytics/token-extractor.test.d.ts.map +0 -1
  704. package/dist/__tests__/analytics/token-extractor.test.js +0 -165
  705. package/dist/__tests__/analytics/token-extractor.test.js.map +0 -1
  706. package/dist/__tests__/analytics/token-tracker.test.d.ts +0 -2
  707. package/dist/__tests__/analytics/token-tracker.test.d.ts.map +0 -1
  708. package/dist/__tests__/analytics/token-tracker.test.js +0 -189
  709. package/dist/__tests__/analytics/token-tracker.test.js.map +0 -1
  710. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts +0 -2
  711. package/dist/__tests__/analytics/tokscale-adapter.test.d.ts.map +0 -1
  712. package/dist/__tests__/analytics/tokscale-adapter.test.js +0 -79
  713. package/dist/__tests__/analytics/tokscale-adapter.test.js.map +0 -1
  714. package/dist/__tests__/analytics/transcript-parser.test.d.ts +0 -2
  715. package/dist/__tests__/analytics/transcript-parser.test.d.ts.map +0 -1
  716. package/dist/__tests__/analytics/transcript-parser.test.js +0 -285
  717. package/dist/__tests__/analytics/transcript-parser.test.js.map +0 -1
  718. package/dist/__tests__/analytics/transcript-scanner.test.d.ts +0 -2
  719. package/dist/__tests__/analytics/transcript-scanner.test.d.ts.map +0 -1
  720. package/dist/__tests__/analytics/transcript-scanner.test.js +0 -443
  721. package/dist/__tests__/analytics/transcript-scanner.test.js.map +0 -1
  722. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts +0 -2
  723. package/dist/__tests__/analytics/transcript-token-extractor.test.d.ts.map +0 -1
  724. package/dist/__tests__/analytics/transcript-token-extractor.test.js +0 -177
  725. package/dist/__tests__/analytics/transcript-token-extractor.test.js.map +0 -1
  726. package/dist/analytics/analytics-summary.d.ts +0 -47
  727. package/dist/analytics/analytics-summary.d.ts.map +0 -1
  728. package/dist/analytics/analytics-summary.js +0 -171
  729. package/dist/analytics/analytics-summary.js.map +0 -1
  730. package/dist/analytics/backfill-dedup.d.ts +0 -49
  731. package/dist/analytics/backfill-dedup.d.ts.map +0 -1
  732. package/dist/analytics/backfill-dedup.js +0 -115
  733. package/dist/analytics/backfill-dedup.js.map +0 -1
  734. package/dist/analytics/backfill-engine.d.ts +0 -59
  735. package/dist/analytics/backfill-engine.d.ts.map +0 -1
  736. package/dist/analytics/backfill-engine.js +0 -172
  737. package/dist/analytics/backfill-engine.js.map +0 -1
  738. package/dist/analytics/cost-estimator.d.ts +0 -29
  739. package/dist/analytics/cost-estimator.d.ts.map +0 -1
  740. package/dist/analytics/cost-estimator.js +0 -135
  741. package/dist/analytics/cost-estimator.js.map +0 -1
  742. package/dist/analytics/export.d.ts +0 -7
  743. package/dist/analytics/export.d.ts.map +0 -1
  744. package/dist/analytics/export.js +0 -93
  745. package/dist/analytics/export.js.map +0 -1
  746. package/dist/analytics/index.d.ts +0 -24
  747. package/dist/analytics/index.d.ts.map +0 -1
  748. package/dist/analytics/index.js +0 -30
  749. package/dist/analytics/index.js.map +0 -1
  750. package/dist/analytics/metrics-collector.d.ts +0 -30
  751. package/dist/analytics/metrics-collector.d.ts.map +0 -1
  752. package/dist/analytics/metrics-collector.js +0 -96
  753. package/dist/analytics/metrics-collector.js.map +0 -1
  754. package/dist/analytics/output-estimator.d.ts +0 -26
  755. package/dist/analytics/output-estimator.d.ts.map +0 -1
  756. package/dist/analytics/output-estimator.js +0 -65
  757. package/dist/analytics/output-estimator.js.map +0 -1
  758. package/dist/analytics/query-engine.d.ts +0 -35
  759. package/dist/analytics/query-engine.d.ts.map +0 -1
  760. package/dist/analytics/query-engine.js +0 -239
  761. package/dist/analytics/query-engine.js.map +0 -1
  762. package/dist/analytics/session-catalog.d.ts +0 -45
  763. package/dist/analytics/session-catalog.d.ts.map +0 -1
  764. package/dist/analytics/session-catalog.js +0 -153
  765. package/dist/analytics/session-catalog.js.map +0 -1
  766. package/dist/analytics/session-manager.d.ts +0 -58
  767. package/dist/analytics/session-manager.d.ts.map +0 -1
  768. package/dist/analytics/session-manager.js +0 -396
  769. package/dist/analytics/session-manager.js.map +0 -1
  770. package/dist/analytics/session-types.d.ts +0 -37
  771. package/dist/analytics/session-types.d.ts.map +0 -1
  772. package/dist/analytics/session-types.js +0 -2
  773. package/dist/analytics/session-types.js.map +0 -1
  774. package/dist/analytics/token-extractor.d.ts +0 -31
  775. package/dist/analytics/token-extractor.d.ts.map +0 -1
  776. package/dist/analytics/token-extractor.js +0 -57
  777. package/dist/analytics/token-extractor.js.map +0 -1
  778. package/dist/analytics/token-tracker.d.ts +0 -33
  779. package/dist/analytics/token-tracker.d.ts.map +0 -1
  780. package/dist/analytics/token-tracker.js +0 -443
  781. package/dist/analytics/token-tracker.js.map +0 -1
  782. package/dist/analytics/tokscale-adapter.d.ts +0 -71
  783. package/dist/analytics/tokscale-adapter.d.ts.map +0 -1
  784. package/dist/analytics/tokscale-adapter.js +0 -223
  785. package/dist/analytics/tokscale-adapter.js.map +0 -1
  786. package/dist/analytics/transcript-parser.d.ts +0 -42
  787. package/dist/analytics/transcript-parser.d.ts.map +0 -1
  788. package/dist/analytics/transcript-parser.js +0 -90
  789. package/dist/analytics/transcript-parser.js.map +0 -1
  790. package/dist/analytics/transcript-scanner.d.ts +0 -51
  791. package/dist/analytics/transcript-scanner.d.ts.map +0 -1
  792. package/dist/analytics/transcript-scanner.js +0 -279
  793. package/dist/analytics/transcript-scanner.js.map +0 -1
  794. package/dist/analytics/transcript-token-extractor.d.ts +0 -35
  795. package/dist/analytics/transcript-token-extractor.d.ts.map +0 -1
  796. package/dist/analytics/transcript-token-extractor.js +0 -136
  797. package/dist/analytics/transcript-token-extractor.js.map +0 -1
  798. package/dist/analytics/types.d.ts +0 -119
  799. package/dist/analytics/types.d.ts.map +0 -1
  800. package/dist/analytics/types.js +0 -32
  801. package/dist/analytics/types.js.map +0 -1
  802. package/dist/cli/analytics.d.ts +0 -3
  803. package/dist/cli/analytics.d.ts.map +0 -1
  804. package/dist/cli/analytics.js +0 -105
  805. package/dist/cli/analytics.js.map +0 -1
  806. package/dist/cli/commands/agents.d.ts +0 -5
  807. package/dist/cli/commands/agents.d.ts.map +0 -1
  808. package/dist/cli/commands/agents.js +0 -31
  809. package/dist/cli/commands/agents.js.map +0 -1
  810. package/dist/cli/commands/backfill.d.ts +0 -15
  811. package/dist/cli/commands/backfill.d.ts.map +0 -1
  812. package/dist/cli/commands/backfill.js +0 -146
  813. package/dist/cli/commands/backfill.js.map +0 -1
  814. package/dist/cli/commands/cleanup.d.ts +0 -4
  815. package/dist/cli/commands/cleanup.d.ts.map +0 -1
  816. package/dist/cli/commands/cleanup.js +0 -31
  817. package/dist/cli/commands/cleanup.js.map +0 -1
  818. package/dist/cli/commands/cost.d.ts +0 -4
  819. package/dist/cli/commands/cost.d.ts.map +0 -1
  820. package/dist/cli/commands/cost.js +0 -53
  821. package/dist/cli/commands/cost.js.map +0 -1
  822. package/dist/cli/commands/export.d.ts +0 -5
  823. package/dist/cli/commands/export.d.ts.map +0 -1
  824. package/dist/cli/commands/export.js +0 -30
  825. package/dist/cli/commands/export.js.map +0 -1
  826. package/dist/cli/commands/sessions.d.ts +0 -5
  827. package/dist/cli/commands/sessions.d.ts.map +0 -1
  828. package/dist/cli/commands/sessions.js +0 -89
  829. package/dist/cli/commands/sessions.js.map +0 -1
  830. package/dist/cli/commands/stats.d.ts +0 -5
  831. package/dist/cli/commands/stats.d.ts.map +0 -1
  832. package/dist/cli/commands/stats.js +0 -84
  833. package/dist/cli/commands/stats.js.map +0 -1
  834. package/dist/cli/utils/tokscale-launcher.d.ts +0 -25
  835. package/dist/cli/utils/tokscale-launcher.d.ts.map +0 -1
  836. package/dist/cli/utils/tokscale-launcher.js +0 -70
  837. package/dist/cli/utils/tokscale-launcher.js.map +0 -1
  838. package/dist/hud/analytics-display.d.ts +0 -63
  839. package/dist/hud/analytics-display.d.ts.map +0 -1
  840. package/dist/hud/analytics-display.js +0 -190
  841. package/dist/hud/analytics-display.js.map +0 -1
  842. package/scripts/build-codex-server.mjs +0 -95
@@ -1,279 +0,0 @@
1
- import { readdir, stat } from 'fs/promises';
2
- import { existsSync } from 'fs';
3
- import { join } from 'path';
4
- import { getClaudeConfigDir } from '../utils/paths.js';
5
- /**
6
- * Check if the encoded path looks like a Windows path (starts with drive letter)
7
- * Examples: "C--Users-user-project" or "D--work-project"
8
- */
9
- function isWindowsEncodedPath(dirName) {
10
- return /^[A-Za-z]-/.test(dirName);
11
- }
12
- /**
13
- * Normalize decoded path to use OS-native separators consistently
14
- */
15
- function _normalizePathForOS(decodedPath) {
16
- // On Windows, convert forward slashes to backslashes for consistency
17
- // But existsSync works with both, so we normalize to forward slashes for cross-platform
18
- return decodedPath.replace(/\\/g, '/');
19
- }
20
- /**
21
- * UUID regex pattern for session IDs
22
- */
23
- const UUID_REGEX = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;
24
- /**
25
- * Decode project directory name back to original path.
26
- *
27
- * The encoding scheme used by Claude Code is lossy - it converts all path
28
- * separators (/ or \) to dashes (-), but legitimate dashes in directory names
29
- * also become dashes, making them indistinguishable.
30
- *
31
- * Encoding patterns:
32
- * - Unix: "/home/user/project" → "-home-user-project"
33
- * - Windows: "C:\Users\user\project" → "C--Users-user-project"
34
- *
35
- * Strategy:
36
- * 1. Detect if it's a Windows or Unix encoded path
37
- * 2. Try simple decode (all dashes -> slashes) and check if path exists
38
- * 3. If not, try to reconstruct by checking filesystem for partial matches
39
- * 4. Fall back to simple decode if nothing else works
40
- *
41
- * @internal Exported for testing
42
- */
43
- export function decodeProjectPath(dirName) {
44
- // Handle Windows encoded paths (e.g., "C--Users-user-project")
45
- if (isWindowsEncodedPath(dirName)) {
46
- return decodeWindowsPath(dirName);
47
- }
48
- // Handle Unix encoded paths (e.g., "-home-user-project")
49
- if (dirName.startsWith('-')) {
50
- return decodeUnixPath(dirName);
51
- }
52
- // Not an encoded path, return as-is
53
- return dirName;
54
- }
55
- /**
56
- * Split path string preserving consecutive hyphens as single segments.
57
- * e.g., "a--b-c" → ["a", "-", "b", "c"] (the "-" represents a hyphen in original name)
58
- */
59
- function splitPreservingConsecutiveHyphens(str) {
60
- const result = [];
61
- let current = '';
62
- let i = 0;
63
- while (i < str.length) {
64
- if (str[i] === '-') {
65
- if (current) {
66
- result.push(current);
67
- current = '';
68
- }
69
- // Check for consecutive hyphens
70
- if (i + 1 < str.length && str[i + 1] === '-') {
71
- // Consecutive hyphens - this means the original had a hyphen
72
- // Push empty string as marker, will be joined with hyphen later
73
- result.push('');
74
- i++; // Skip the second hyphen
75
- }
76
- i++;
77
- }
78
- else {
79
- current += str[i];
80
- i++;
81
- }
82
- }
83
- if (current) {
84
- result.push(current);
85
- }
86
- return result;
87
- }
88
- /**
89
- * Decode Windows encoded path (e.g., "C--Users-user-project" → "C:/Users/user/project")
90
- */
91
- function decodeWindowsPath(dirName) {
92
- const driveLetter = dirName[0];
93
- const rest = dirName.slice(2); // Skip "X-"
94
- // Simple decode: drive letter + colon + rest with dashes as slashes
95
- const simplePath = `${driveLetter}:/${rest.replace(/-/g, '/')}`;
96
- // Normalize double slashes that might occur from empty segments
97
- const normalizedSimple = simplePath.replace(/\/+/g, '/');
98
- // If simple decode exists, we're done
99
- if (existsSync(normalizedSimple)) {
100
- return normalizedSimple;
101
- }
102
- // Try to reconstruct by checking filesystem for partial matches
103
- // Use special splitting to handle consecutive hyphens
104
- const segments = splitPreservingConsecutiveHyphens(rest);
105
- if (segments.length === 0) {
106
- return `${driveLetter}:/`;
107
- }
108
- const possiblePaths = [];
109
- // Generate all possible interpretations by trying different hyphen positions
110
- function generatePaths(parts, index, currentPath) {
111
- if (index >= parts.length) {
112
- possiblePaths.push(currentPath);
113
- return;
114
- }
115
- const part = parts[index];
116
- // Empty string means this was a consecutive hyphen - must join with previous
117
- if (part === '' && currentPath) {
118
- const pathParts = currentPath.split('/');
119
- const lastPart = pathParts.pop() || '';
120
- const newPath = pathParts.join('/') + '/' + lastPart + '-';
121
- generatePaths(parts, index + 1, newPath);
122
- return;
123
- }
124
- // Try adding next segment as a new directory
125
- const newDir = currentPath + '/' + part;
126
- generatePaths(parts, index + 1, newDir);
127
- // Try combining with previous segment using hyphen (if not first segment)
128
- if (index > 0 && currentPath) {
129
- const pathParts = currentPath.split('/');
130
- const lastPart = pathParts.pop() || '';
131
- const newPath = pathParts.join('/') + '/' + lastPart + '-' + part;
132
- generatePaths(parts, index + 1, newPath);
133
- }
134
- }
135
- generatePaths(segments, 0, `${driveLetter}:`);
136
- // Find the first path that exists on filesystem
137
- for (const path of possiblePaths) {
138
- if (existsSync(path)) {
139
- return path;
140
- }
141
- }
142
- // Fall back to simple decode
143
- return normalizedSimple;
144
- }
145
- /**
146
- * Decode Unix encoded path (e.g., "-home-user-project" → "/home/user/project")
147
- */
148
- function decodeUnixPath(dirName) {
149
- // Simple decode: replace all dashes with slashes
150
- const simplePath = '/' + dirName.slice(1).replace(/-/g, '/');
151
- // Normalize double slashes
152
- const normalizedSimple = simplePath.replace(/\/+/g, '/');
153
- // If simple decode exists, we're done
154
- if (existsSync(normalizedSimple)) {
155
- return normalizedSimple;
156
- }
157
- // Try to reconstruct by checking filesystem for partial matches
158
- // Use special splitting to handle consecutive hyphens
159
- const segments = splitPreservingConsecutiveHyphens(dirName.slice(1));
160
- const possiblePaths = [];
161
- // Generate all possible interpretations by trying different hyphen positions
162
- function generatePaths(parts, index, currentPath) {
163
- if (index >= parts.length) {
164
- possiblePaths.push(currentPath);
165
- return;
166
- }
167
- const part = parts[index];
168
- // Empty string means this was a consecutive hyphen - must join with previous
169
- if (part === '' && currentPath) {
170
- const pathParts = currentPath.split('/');
171
- const lastPart = pathParts.pop() || '';
172
- const newPath = pathParts.join('/') + '/' + lastPart + '-';
173
- generatePaths(parts, index + 1, newPath);
174
- return;
175
- }
176
- // Try adding next segment as a new directory
177
- generatePaths(parts, index + 1, currentPath + '/' + part);
178
- // Try combining with previous segment using hyphen (if not first segment)
179
- if (index > 0 && currentPath) {
180
- const pathParts = currentPath.split('/');
181
- const lastPart = pathParts.pop() || '';
182
- const newPath = pathParts.join('/') + '/' + lastPart + '-' + part;
183
- generatePaths(parts, index + 1, newPath);
184
- }
185
- }
186
- generatePaths(segments, 0, '');
187
- // Find the first path that exists on filesystem
188
- for (const path of possiblePaths) {
189
- if (existsSync(path)) {
190
- return path;
191
- }
192
- }
193
- // Fall back to simple decode
194
- return normalizedSimple;
195
- }
196
- /**
197
- * Check if a path matches a glob pattern (simple implementation)
198
- */
199
- function matchesPattern(path, pattern) {
200
- if (!pattern)
201
- return true;
202
- // Convert glob pattern to regex
203
- const regexPattern = pattern
204
- .replace(/\./g, '\\.')
205
- .replace(/\*/g, '.*')
206
- .replace(/\?/g, '.');
207
- const regex = new RegExp(`^${regexPattern}$`);
208
- return regex.test(path);
209
- }
210
- /**
211
- * Scan for all transcript files in ~/.claude/projects/
212
- */
213
- export async function scanTranscripts(options = {}) {
214
- const projectsDir = join(getClaudeConfigDir(), 'projects');
215
- const transcripts = [];
216
- const projectDirs = new Set();
217
- try {
218
- // Read all project directories
219
- const entries = await readdir(projectsDir, { withFileTypes: true });
220
- for (const entry of entries) {
221
- if (!entry.isDirectory())
222
- continue;
223
- const projectDir = entry.name;
224
- const projectPath = decodeProjectPath(projectDir);
225
- // Apply project filter if specified
226
- if (!matchesPattern(projectPath, options.projectFilter)) {
227
- continue;
228
- }
229
- const fullProjectPath = join(projectsDir, projectDir);
230
- // Read all files in this project directory
231
- const projectFiles = await readdir(fullProjectPath);
232
- for (const fileName of projectFiles) {
233
- // Skip sessions-index.json and any non-.jsonl files
234
- if (fileName === 'sessions-index.json' || !fileName.endsWith('.jsonl')) {
235
- continue;
236
- }
237
- // Extract session ID from filename
238
- const sessionId = fileName.replace('.jsonl', '');
239
- // Validate session ID format (must be UUID)
240
- if (!UUID_REGEX.test(sessionId)) {
241
- continue;
242
- }
243
- const filePath = join(fullProjectPath, fileName);
244
- const fileStats = await stat(filePath);
245
- // Apply date filter if specified
246
- if (options.minDate && fileStats.mtime < options.minDate) {
247
- continue;
248
- }
249
- transcripts.push({
250
- projectPath,
251
- projectDir,
252
- sessionId,
253
- filePath,
254
- fileSize: fileStats.size,
255
- modifiedTime: fileStats.mtime
256
- });
257
- projectDirs.add(projectDir);
258
- }
259
- }
260
- }
261
- catch (error) {
262
- // If projects directory doesn't exist, return empty result
263
- if (error.code === 'ENOENT') {
264
- return {
265
- transcripts: [],
266
- totalSize: 0,
267
- projectCount: 0
268
- };
269
- }
270
- throw error;
271
- }
272
- const totalSize = transcripts.reduce((sum, t) => sum + t.fileSize, 0);
273
- return {
274
- transcripts,
275
- totalSize,
276
- projectCount: projectDirs.size
277
- };
278
- }
279
- //# sourceMappingURL=transcript-scanner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-scanner.js","sourceRoot":"","sources":["../../src/analytics/transcript-scanner.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import type { TokenUsage, TranscriptEntry } from './types.js';
2
- /**
3
- * Extracted usage with metadata
4
- */
5
- export interface ExtractedUsage {
6
- usage: TokenUsage;
7
- entryId: string;
8
- sourceFile: string;
9
- }
10
- /**
11
- * Task spawn info extracted from assistant entries
12
- */
13
- export interface TaskSpawnInfo {
14
- toolUseId: string;
15
- agentType: string;
16
- }
17
- /**
18
- * Extract Task tool spawn info from an assistant entry.
19
- * Returns all Task tool calls with their toolUseId and agentType.
20
- *
21
- * This is used to build a lookup table for attributing progress entries
22
- * to the correct agent.
23
- */
24
- export declare function extractTaskSpawns(entry: TranscriptEntry): TaskSpawnInfo[];
25
- /**
26
- * Extract token usage from transcript entry
27
- *
28
- * @param entry - Transcript entry from JSONL file
29
- * @param sessionId - Session ID (override if not in entry)
30
- * @param sourceFile - Source file path for tracking
31
- * @param agentLookup - Map of toolUseId → agentType for attributing progress entries
32
- * @returns ExtractedUsage or null if entry has no usage data
33
- */
34
- export declare function extractTokenUsage(entry: TranscriptEntry, sessionId: string, sourceFile: string, agentLookup?: Map<string, string>): ExtractedUsage | null;
35
- //# sourceMappingURL=transcript-token-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-token-extractor.d.ts","sourceRoot":"","sources":["../../src/analytics/transcript-token-extractor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAoBD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,aAAa,EAAE,CAqBzE;AA2CD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,cAAc,GAAG,IAAI,CA0DvB"}
@@ -1,136 +0,0 @@
1
- import { createHash } from 'crypto';
2
- /**
3
- * Normalize model name to pricing tier
4
- */
5
- function normalizeModelName(model) {
6
- const lower = model.toLowerCase();
7
- if (lower.includes('opus')) {
8
- return 'claude-opus-4.6';
9
- }
10
- else if (lower.includes('sonnet')) {
11
- return 'claude-sonnet-4.6';
12
- }
13
- else if (lower.includes('haiku')) {
14
- return 'claude-haiku-4';
15
- }
16
- // Fallback to original if no match
17
- return model;
18
- }
19
- /**
20
- * Extract Task tool spawn info from an assistant entry.
21
- * Returns all Task tool calls with their toolUseId and agentType.
22
- *
23
- * This is used to build a lookup table for attributing progress entries
24
- * to the correct agent.
25
- */
26
- export function extractTaskSpawns(entry) {
27
- const spawns = [];
28
- if (entry.type !== 'assistant' || !entry.message?.content) {
29
- return spawns;
30
- }
31
- for (const block of entry.message.content) {
32
- if (block.type === 'tool_use' && block.name === 'Task') {
33
- const toolUseId = block.id;
34
- const input = block.input;
35
- if (toolUseId && input?.subagent_type) {
36
- spawns.push({
37
- toolUseId,
38
- agentType: input.subagent_type
39
- });
40
- }
41
- }
42
- }
43
- return spawns;
44
- }
45
- /**
46
- * Detect agent name from transcript entry context
47
- *
48
- * For PROGRESS entries: Use the agentLookup to find the agent from parentToolUseID
49
- * For ASSISTANT entries: These are main session responses, return undefined
50
- *
51
- * NOTE: entry.slug is the SESSION slug (random words like "validated-cooking-twilight")
52
- * and should NOT be used as agent name.
53
- */
54
- function detectAgentName(entry, agentLookup) {
55
- // For progress entries, look up agent from parentToolUseID
56
- if (entry.type === 'progress') {
57
- const parentToolUseID = entry.parentToolUseID;
58
- if (parentToolUseID && agentLookup) {
59
- return agentLookup.get(parentToolUseID);
60
- }
61
- // Fallback to agentId if it looks like an agent type
62
- if (entry.agentId && entry.agentId.includes(':')) {
63
- return entry.agentId;
64
- }
65
- return undefined;
66
- }
67
- // For assistant entries: these are main session responses
68
- // Even if they contain Task tool calls, the usage is for the main session
69
- // (the cost of generating the Task call), not the spawned agent's cost
70
- return undefined;
71
- }
72
- /**
73
- * Generate unique entry ID for deduplication
74
- */
75
- function generateEntryId(sessionId, timestamp, model) {
76
- const hash = createHash('sha256');
77
- hash.update(`${sessionId}:${timestamp}:${model}`);
78
- return hash.digest('hex');
79
- }
80
- /**
81
- * Extract token usage from transcript entry
82
- *
83
- * @param entry - Transcript entry from JSONL file
84
- * @param sessionId - Session ID (override if not in entry)
85
- * @param sourceFile - Source file path for tracking
86
- * @param agentLookup - Map of toolUseId → agentType for attributing progress entries
87
- * @returns ExtractedUsage or null if entry has no usage data
88
- */
89
- export function extractTokenUsage(entry, sessionId, sourceFile, agentLookup) {
90
- let usage;
91
- let model;
92
- // Handle assistant entries
93
- if (entry.type === 'assistant' && entry.message?.usage) {
94
- usage = entry.message.usage;
95
- model = entry.message.model;
96
- }
97
- // Handle progress entries from agent responses
98
- else if (entry.type === 'progress' && entry.data?.message?.message?.usage) {
99
- usage = entry.data.message.message.usage;
100
- model = entry.data.message.message.model;
101
- }
102
- // No usage data found
103
- else {
104
- return null;
105
- }
106
- if (!model) {
107
- return null;
108
- }
109
- // Skip synthetic model entries
110
- if (model === '<synthetic>') {
111
- return null;
112
- }
113
- // Use ACTUAL output_tokens from transcript (not estimates!)
114
- const outputTokens = usage.output_tokens;
115
- const inputTokens = usage.input_tokens || 0;
116
- // Handle cache tokens
117
- const cacheCreationTokens = usage.cache_creation_input_tokens || 0;
118
- const cacheReadTokens = usage.cache_read_input_tokens || 0;
119
- const tokenUsage = {
120
- timestamp: entry.timestamp,
121
- sessionId: sessionId || entry.sessionId,
122
- agentName: detectAgentName(entry, agentLookup),
123
- modelName: normalizeModelName(model),
124
- inputTokens,
125
- outputTokens,
126
- cacheCreationTokens,
127
- cacheReadTokens
128
- };
129
- const entryId = generateEntryId(tokenUsage.sessionId, tokenUsage.timestamp, tokenUsage.modelName);
130
- return {
131
- usage: tokenUsage,
132
- entryId,
133
- sourceFile
134
- };
135
- }
136
- //# sourceMappingURL=transcript-token-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transcript-token-extractor.js","sourceRoot":"","sources":["../../src/analytics/transcript-token-extractor.ts"],"names":[],"mappings":"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"}
@@ -1,119 +0,0 @@
1
- /**
2
- * Transcript entry from .claude session logs
3
- */
4
- export interface TranscriptEntry {
5
- type: string;
6
- timestamp: string;
7
- sessionId: string;
8
- agentId?: string;
9
- slug?: string;
10
- message?: {
11
- model?: string;
12
- role?: string;
13
- usage?: {
14
- input_tokens: number;
15
- output_tokens: number;
16
- cache_creation_input_tokens?: number;
17
- cache_read_input_tokens?: number;
18
- cache_creation?: {
19
- ephemeral_5m_input_tokens?: number;
20
- ephemeral_1h_input_tokens?: number;
21
- };
22
- };
23
- content?: Array<{
24
- type: string;
25
- name?: string;
26
- input?: {
27
- subagent_type?: string;
28
- model?: string;
29
- };
30
- }>;
31
- };
32
- data?: {
33
- message?: {
34
- message?: {
35
- model?: string;
36
- usage?: {
37
- input_tokens: number;
38
- output_tokens: number;
39
- cache_creation_input_tokens?: number;
40
- cache_read_input_tokens?: number;
41
- };
42
- };
43
- };
44
- };
45
- }
46
- export interface TokenUsage {
47
- timestamp: string;
48
- sessionId: string;
49
- agentName?: string;
50
- modelName: string;
51
- inputTokens: number;
52
- outputTokens: number;
53
- cacheCreationTokens: number;
54
- cacheReadTokens: number;
55
- isEstimated?: boolean;
56
- }
57
- export interface CostBreakdown {
58
- inputCost: number;
59
- outputCost: number;
60
- cacheWriteCost: number;
61
- cacheReadCost: number;
62
- totalCost: number;
63
- }
64
- export interface SessionTokenStats {
65
- sessionId: string;
66
- totalInputTokens: number;
67
- totalOutputTokens: number;
68
- totalCacheCreation: number;
69
- totalCacheRead: number;
70
- totalCost: number;
71
- byAgent: Record<string, TokenUsage[]>;
72
- byModel: Record<string, TokenUsage[]>;
73
- startTime: string;
74
- lastUpdate: string;
75
- }
76
- export interface ModelPricing {
77
- inputPerMillion: number;
78
- outputPerMillion: number;
79
- cacheWriteMarkup: number;
80
- cacheReadDiscount: number;
81
- }
82
- export interface AggregateTokenStats {
83
- totalInputTokens: number;
84
- totalOutputTokens: number;
85
- totalCacheCreation: number;
86
- totalCacheRead: number;
87
- totalCost: number;
88
- byAgent: Record<string, {
89
- tokens: number;
90
- cost: number;
91
- }>;
92
- byModel: Record<string, {
93
- tokens: number;
94
- cost: number;
95
- }>;
96
- sessionCount: number;
97
- entryCount: number;
98
- firstEntry: string | null;
99
- lastEntry: string | null;
100
- }
101
- /**
102
- * Pricing result that indicates the source of pricing data
103
- */
104
- export interface TokscalePricingResult {
105
- inputPerMillion: number;
106
- outputPerMillion: number;
107
- cacheReadPerMillion?: number;
108
- cacheWritePerMillion?: number;
109
- cacheWriteMarkup: number;
110
- cacheReadDiscount: number;
111
- source: 'tokscale' | 'fallback';
112
- }
113
- /**
114
- * Fallback pricing when @tokscale/core is unavailable.
115
- * Prefer lookupPricingWithFallback() from tokscale-adapter.ts for live pricing.
116
- * @deprecated Use tokscale-adapter.ts lookupPricingWithFallback() instead
117
- */
118
- export declare const PRICING: Record<string, ModelPricing>;
119
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- /**
2
- * Fallback pricing when @tokscale/core is unavailable.
3
- * Prefer lookupPricingWithFallback() from tokscale-adapter.ts for live pricing.
4
- * @deprecated Use tokscale-adapter.ts lookupPricingWithFallback() instead
5
- */
6
- export const PRICING = {
7
- 'claude-haiku-4': {
8
- inputPerMillion: 0.80,
9
- outputPerMillion: 4.00,
10
- cacheWriteMarkup: 0.25,
11
- cacheReadDiscount: 0.90
12
- },
13
- 'claude-sonnet-4.5': {
14
- inputPerMillion: 3.00,
15
- outputPerMillion: 15.00,
16
- cacheWriteMarkup: 0.25,
17
- cacheReadDiscount: 0.90
18
- },
19
- 'claude-sonnet-4.6': {
20
- inputPerMillion: 3.00,
21
- outputPerMillion: 15.00,
22
- cacheWriteMarkup: 0.25,
23
- cacheReadDiscount: 0.90
24
- },
25
- 'claude-opus-4.6': {
26
- inputPerMillion: 15.00,
27
- outputPerMillion: 75.00,
28
- cacheWriteMarkup: 0.25,
29
- cacheReadDiscount: 0.90
30
- }
31
- };
32
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/analytics/types.ts"],"names":[],"mappings":"AAkHA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAiC;IACnD,gBAAgB,EAAE;QAChB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,mBAAmB,EAAE;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,mBAAmB,EAAE;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;IACD,iBAAiB,EAAE;QACjB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,KAAK;QACvB,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;KACxB;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=analytics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/cli/analytics.ts"],"names":[],"mappings":""}