@0xmaxma/claude-gateway 2.0.6 → 2.0.7

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 (364) hide show
  1. package/README.md +14 -1
  2. package/dist/agent/builtin-commands.js +5 -5
  3. package/dist/agent/builtin-commands.js.map +1 -1
  4. package/dist/agent/command-help.d.ts +9 -0
  5. package/dist/agent/command-help.d.ts.map +1 -0
  6. package/dist/agent/command-help.js +50 -0
  7. package/dist/agent/command-help.js.map +1 -0
  8. package/dist/agent/dreaming/index.d.ts +6 -3
  9. package/dist/agent/dreaming/index.d.ts.map +1 -1
  10. package/dist/agent/dreaming/index.js +21 -1
  11. package/dist/agent/dreaming/index.js.map +1 -1
  12. package/dist/agent/knowledge/reflection.d.ts +7 -4
  13. package/dist/agent/knowledge/reflection.d.ts.map +1 -1
  14. package/dist/agent/knowledge/reflection.js +19 -1
  15. package/dist/agent/knowledge/reflection.js.map +1 -1
  16. package/dist/agent/runner.d.ts +37 -3
  17. package/dist/agent/runner.d.ts.map +1 -1
  18. package/dist/agent/runner.js +164 -47
  19. package/dist/agent/runner.js.map +1 -1
  20. package/dist/agent/session-confirmations.d.ts +12 -0
  21. package/dist/agent/session-confirmations.d.ts.map +1 -0
  22. package/dist/agent/session-confirmations.js +43 -0
  23. package/dist/agent/session-confirmations.js.map +1 -0
  24. package/dist/agent/session-status.d.ts +7 -0
  25. package/dist/agent/session-status.d.ts.map +1 -0
  26. package/dist/agent/session-status.js +16 -0
  27. package/dist/agent/session-status.js.map +1 -0
  28. package/dist/agent/skill-learning/index.d.ts +5 -1
  29. package/dist/agent/skill-learning/index.d.ts.map +1 -1
  30. package/dist/agent/skill-learning/index.js +23 -1
  31. package/dist/agent/skill-learning/index.js.map +1 -1
  32. package/dist/agent/skill-learning/notifier.d.ts +2 -1
  33. package/dist/agent/skill-learning/notifier.d.ts.map +1 -1
  34. package/dist/agent/skill-learning/notifier.js +1 -0
  35. package/dist/agent/skill-learning/notifier.js.map +1 -1
  36. package/dist/api/apps-router.d.ts.map +1 -1
  37. package/dist/api/apps-router.js +1 -3
  38. package/dist/api/apps-router.js.map +1 -1
  39. package/dist/api/cron-router.d.ts +1 -1
  40. package/dist/api/cron-router.d.ts.map +1 -1
  41. package/dist/api/cron-router.js +4 -4
  42. package/dist/api/cron-router.js.map +1 -1
  43. package/dist/api/dashboard-processes.d.ts +86 -0
  44. package/dist/api/dashboard-processes.d.ts.map +1 -0
  45. package/dist/api/dashboard-processes.js +155 -0
  46. package/dist/api/dashboard-processes.js.map +1 -0
  47. package/dist/api/dashboard-sessions.d.ts +15 -0
  48. package/dist/api/dashboard-sessions.d.ts.map +1 -0
  49. package/dist/api/dashboard-sessions.js +66 -0
  50. package/dist/api/dashboard-sessions.js.map +1 -0
  51. package/dist/api/gateway-router.d.ts +3 -4
  52. package/dist/api/gateway-router.d.ts.map +1 -1
  53. package/dist/api/gateway-router.js +77 -56
  54. package/dist/api/gateway-router.js.map +1 -1
  55. package/dist/api/oauth-connectors-router.d.ts +1 -1
  56. package/dist/api/oauth-connectors-router.d.ts.map +1 -1
  57. package/dist/api/oauth-connectors-router.js +11 -21
  58. package/dist/api/oauth-connectors-router.js.map +1 -1
  59. package/dist/api/router.d.ts +1 -1
  60. package/dist/api/router.d.ts.map +1 -1
  61. package/dist/api/router.js +3 -9
  62. package/dist/api/router.js.map +1 -1
  63. package/dist/api/share-router.d.ts +1 -1
  64. package/dist/api/share-router.d.ts.map +1 -1
  65. package/dist/api/share-router.js +1 -1
  66. package/dist/api/share-router.js.map +1 -1
  67. package/dist/api/slack-webhook-router.js +1 -1
  68. package/dist/api/slack-webhook-router.js.map +1 -1
  69. package/dist/api/voice-router.d.ts +1 -0
  70. package/dist/api/voice-router.d.ts.map +1 -1
  71. package/dist/api/voice-router.js +7 -0
  72. package/dist/api/voice-router.js.map +1 -1
  73. package/dist/apps/agent-container-migration.d.ts +2 -0
  74. package/dist/apps/agent-container-migration.d.ts.map +1 -1
  75. package/dist/apps/agent-container-migration.js +59 -2
  76. package/dist/apps/agent-container-migration.js.map +1 -1
  77. package/dist/apps/agent-manager.d.ts +4 -2
  78. package/dist/apps/agent-manager.d.ts.map +1 -1
  79. package/dist/apps/agent-manager.js +39 -3
  80. package/dist/apps/agent-manager.js.map +1 -1
  81. package/dist/apps/installer.d.ts +4 -3
  82. package/dist/apps/installer.d.ts.map +1 -1
  83. package/dist/apps/installer.js +8 -4
  84. package/dist/apps/installer.js.map +1 -1
  85. package/dist/build-provenance.json +8 -0
  86. package/dist/cli/args.js +1 -1
  87. package/dist/cli/args.js.map +1 -1
  88. package/dist/cli/commands/app.d.ts.map +1 -1
  89. package/dist/cli/commands/app.js +39 -3
  90. package/dist/cli/commands/app.js.map +1 -1
  91. package/dist/cli/commands/doctor.d.ts.map +1 -1
  92. package/dist/cli/commands/doctor.js +6 -2
  93. package/dist/cli/commands/doctor.js.map +1 -1
  94. package/dist/cli/commands/safemode.d.ts +2 -0
  95. package/dist/cli/commands/safemode.d.ts.map +1 -0
  96. package/dist/cli/commands/safemode.js +279 -0
  97. package/dist/cli/commands/safemode.js.map +1 -0
  98. package/dist/cli/dependencies.d.ts +2 -0
  99. package/dist/cli/dependencies.d.ts.map +1 -1
  100. package/dist/cli/dependencies.js +81 -0
  101. package/dist/cli/dependencies.js.map +1 -1
  102. package/dist/cli/index.d.ts.map +1 -1
  103. package/dist/cli/index.js +11 -1
  104. package/dist/cli/index.js.map +1 -1
  105. package/dist/cli/manager.d.ts.map +1 -1
  106. package/dist/cli/manager.js +4 -1
  107. package/dist/cli/manager.js.map +1 -1
  108. package/dist/config/agent-lifecycle.d.ts +26 -0
  109. package/dist/config/agent-lifecycle.d.ts.map +1 -0
  110. package/dist/config/agent-lifecycle.js +63 -0
  111. package/dist/config/agent-lifecycle.js.map +1 -0
  112. package/dist/config/loader.d.ts.map +1 -1
  113. package/dist/config/loader.js +11 -0
  114. package/dist/config/loader.js.map +1 -1
  115. package/dist/config/reload-policy.d.ts +9 -0
  116. package/dist/config/reload-policy.d.ts.map +1 -0
  117. package/dist/config/reload-policy.js +62 -0
  118. package/dist/config/reload-policy.js.map +1 -0
  119. package/dist/config/watcher.d.ts +3 -2
  120. package/dist/config/watcher.d.ts.map +1 -1
  121. package/dist/config/watcher.js +34 -51
  122. package/dist/config/watcher.js.map +1 -1
  123. package/dist/cron/tool-schemas.d.ts +296 -0
  124. package/dist/cron/tool-schemas.d.ts.map +1 -0
  125. package/dist/cron/tool-schemas.js +122 -0
  126. package/dist/cron/tool-schemas.js.map +1 -0
  127. package/dist/index.js +141 -158
  128. package/dist/index.js.map +1 -1
  129. package/dist/orchestration/agent-tool-schemas.js +4 -4
  130. package/dist/orchestration/agent-tool-schemas.js.map +1 -1
  131. package/dist/orchestration/background-work.d.ts +9 -0
  132. package/dist/orchestration/background-work.d.ts.map +1 -0
  133. package/dist/orchestration/background-work.js +49 -0
  134. package/dist/orchestration/background-work.js.map +1 -0
  135. package/dist/orchestration/bridge.d.ts +6 -15
  136. package/dist/orchestration/bridge.d.ts.map +1 -1
  137. package/dist/orchestration/bridge.js +67 -32
  138. package/dist/orchestration/bridge.js.map +1 -1
  139. package/dist/orchestration/capabilities.d.ts.map +1 -1
  140. package/dist/orchestration/capabilities.js +18 -10
  141. package/dist/orchestration/capabilities.js.map +1 -1
  142. package/dist/orchestration/capacity.d.ts +3 -2
  143. package/dist/orchestration/capacity.d.ts.map +1 -1
  144. package/dist/orchestration/capacity.js +7 -0
  145. package/dist/orchestration/capacity.js.map +1 -1
  146. package/dist/orchestration/channel-controls.d.ts.map +1 -1
  147. package/dist/orchestration/channel-controls.js +3 -2
  148. package/dist/orchestration/channel-controls.js.map +1 -1
  149. package/dist/orchestration/cli-skills.d.ts +5 -0
  150. package/dist/orchestration/cli-skills.d.ts.map +1 -1
  151. package/dist/orchestration/container-tool-schemas.d.ts +37 -0
  152. package/dist/orchestration/container-tool-schemas.d.ts.map +1 -0
  153. package/dist/orchestration/container-tool-schemas.js +27 -0
  154. package/dist/orchestration/container-tool-schemas.js.map +1 -0
  155. package/dist/orchestration/container.d.ts.map +1 -1
  156. package/dist/orchestration/container.js +7 -0
  157. package/dist/orchestration/container.js.map +1 -1
  158. package/dist/orchestration/dashboard-reader-worker.js +7 -7
  159. package/dist/orchestration/dashboard-reader-worker.js.map +1 -1
  160. package/dist/orchestration/decision-context.js +1 -1
  161. package/dist/orchestration/decision-context.js.map +1 -1
  162. package/dist/orchestration/gateway-tasks/controller.d.ts +29 -0
  163. package/dist/orchestration/gateway-tasks/controller.d.ts.map +1 -0
  164. package/dist/orchestration/gateway-tasks/controller.js +139 -0
  165. package/dist/orchestration/gateway-tasks/controller.js.map +1 -0
  166. package/dist/orchestration/gateway-tasks/safemode.d.ts +19 -0
  167. package/dist/orchestration/gateway-tasks/safemode.d.ts.map +1 -0
  168. package/dist/orchestration/gateway-tasks/safemode.js +128 -0
  169. package/dist/orchestration/gateway-tasks/safemode.js.map +1 -0
  170. package/dist/orchestration/process-turn.d.ts +11 -2
  171. package/dist/orchestration/process-turn.d.ts.map +1 -1
  172. package/dist/orchestration/process-turn.js +47 -7
  173. package/dist/orchestration/process-turn.js.map +1 -1
  174. package/dist/orchestration/recovery.d.ts.map +1 -1
  175. package/dist/orchestration/recovery.js +4 -2
  176. package/dist/orchestration/recovery.js.map +1 -1
  177. package/dist/orchestration/runtime.d.ts +10 -0
  178. package/dist/orchestration/runtime.d.ts.map +1 -1
  179. package/dist/orchestration/runtime.js +31 -4
  180. package/dist/orchestration/runtime.js.map +1 -1
  181. package/dist/orchestration/skills.d.ts +2 -0
  182. package/dist/orchestration/skills.d.ts.map +1 -1
  183. package/dist/orchestration/skills.js +4 -3
  184. package/dist/orchestration/skills.js.map +1 -1
  185. package/dist/orchestration/task-controls.d.ts +12 -0
  186. package/dist/orchestration/task-controls.d.ts.map +1 -1
  187. package/dist/orchestration/task-controls.js +3 -1
  188. package/dist/orchestration/task-controls.js.map +1 -1
  189. package/dist/orchestration/tasks/driver.d.ts.map +1 -1
  190. package/dist/orchestration/tasks/driver.js +99 -12
  191. package/dist/orchestration/tasks/driver.js.map +1 -1
  192. package/dist/orchestration/tasks/pool.d.ts +2 -0
  193. package/dist/orchestration/tasks/pool.d.ts.map +1 -1
  194. package/dist/orchestration/tasks/pool.js +4 -0
  195. package/dist/orchestration/tasks/pool.js.map +1 -1
  196. package/dist/orchestration/tasks/scheduler.d.ts.map +1 -1
  197. package/dist/orchestration/tasks/scheduler.js +4 -0
  198. package/dist/orchestration/tasks/scheduler.js.map +1 -1
  199. package/dist/orchestration/tasks/service.d.ts +4 -0
  200. package/dist/orchestration/tasks/service.d.ts.map +1 -1
  201. package/dist/orchestration/tasks/service.js +38 -8
  202. package/dist/orchestration/tasks/service.js.map +1 -1
  203. package/dist/orchestration/token-ledger.d.ts +1 -0
  204. package/dist/orchestration/token-ledger.d.ts.map +1 -1
  205. package/dist/orchestration/token-ledger.js +6 -2
  206. package/dist/orchestration/token-ledger.js.map +1 -1
  207. package/dist/orchestration/token-usage.d.ts +3 -0
  208. package/dist/orchestration/token-usage.d.ts.map +1 -1
  209. package/dist/orchestration/token-usage.js +12 -3
  210. package/dist/orchestration/token-usage.js.map +1 -1
  211. package/dist/orchestration/types.d.ts +19 -1
  212. package/dist/orchestration/types.d.ts.map +1 -1
  213. package/dist/orchestration/types.js.map +1 -1
  214. package/dist/orchestration/worker-crons.d.ts +5 -0
  215. package/dist/orchestration/worker-crons.d.ts.map +1 -0
  216. package/dist/orchestration/worker-crons.js +84 -0
  217. package/dist/orchestration/worker-crons.js.map +1 -0
  218. package/dist/orchestration/worker-harness.d.ts +15 -0
  219. package/dist/orchestration/worker-harness.d.ts.map +1 -0
  220. package/dist/orchestration/worker-harness.js +72 -0
  221. package/dist/orchestration/worker-harness.js.map +1 -0
  222. package/dist/safemode/config.d.ts +7 -0
  223. package/dist/safemode/config.d.ts.map +1 -0
  224. package/dist/safemode/config.js +67 -0
  225. package/dist/safemode/config.js.map +1 -0
  226. package/dist/safemode/context.d.ts +7 -0
  227. package/dist/safemode/context.d.ts.map +1 -0
  228. package/dist/safemode/context.js +397 -0
  229. package/dist/safemode/context.js.map +1 -0
  230. package/dist/safemode/external-owners.d.ts +19 -0
  231. package/dist/safemode/external-owners.d.ts.map +1 -0
  232. package/dist/safemode/external-owners.js +229 -0
  233. package/dist/safemode/external-owners.js.map +1 -0
  234. package/dist/safemode/native.d.ts +38 -0
  235. package/dist/safemode/native.d.ts.map +1 -0
  236. package/dist/safemode/native.js +220 -0
  237. package/dist/safemode/native.js.map +1 -0
  238. package/dist/safemode/params.d.ts +10 -0
  239. package/dist/safemode/params.d.ts.map +1 -0
  240. package/dist/safemode/params.js +86 -0
  241. package/dist/safemode/params.js.map +1 -0
  242. package/dist/safemode/provenance.d.ts +45 -0
  243. package/dist/safemode/provenance.d.ts.map +1 -0
  244. package/dist/safemode/provenance.js +153 -0
  245. package/dist/safemode/provenance.js.map +1 -0
  246. package/dist/safemode/runner.d.ts +17 -0
  247. package/dist/safemode/runner.d.ts.map +1 -0
  248. package/dist/safemode/runner.js +398 -0
  249. package/dist/safemode/runner.js.map +1 -0
  250. package/dist/safemode/store.d.ts +56 -0
  251. package/dist/safemode/store.d.ts.map +1 -0
  252. package/dist/safemode/store.js +451 -0
  253. package/dist/safemode/store.js.map +1 -0
  254. package/dist/session/codex-auth.d.ts +37 -0
  255. package/dist/session/codex-auth.d.ts.map +1 -0
  256. package/dist/session/codex-auth.js +266 -0
  257. package/dist/session/codex-auth.js.map +1 -0
  258. package/dist/session/codex-container-runtime.d.ts +15 -0
  259. package/dist/session/codex-container-runtime.d.ts.map +1 -0
  260. package/dist/session/codex-container-runtime.js +85 -0
  261. package/dist/session/codex-container-runtime.js.map +1 -0
  262. package/dist/session/codex-context-defaults.json +5 -0
  263. package/dist/session/codex-context.d.ts +13 -0
  264. package/dist/session/codex-context.d.ts.map +1 -0
  265. package/dist/session/codex-context.js +27 -0
  266. package/dist/session/codex-context.js.map +1 -0
  267. package/dist/session/codex-extension-discovery.d.ts +21 -0
  268. package/dist/session/codex-extension-discovery.d.ts.map +1 -0
  269. package/dist/session/codex-extension-discovery.js +132 -0
  270. package/dist/session/codex-extension-discovery.js.map +1 -0
  271. package/dist/session/codex-native-mcp-client.d.ts +37 -0
  272. package/dist/session/codex-native-mcp-client.d.ts.map +1 -0
  273. package/dist/session/codex-native-mcp-client.js +164 -0
  274. package/dist/session/codex-native-mcp-client.js.map +1 -0
  275. package/dist/session/codex-policy.d.ts +6 -0
  276. package/dist/session/codex-policy.d.ts.map +1 -0
  277. package/dist/session/codex-policy.js +17 -0
  278. package/dist/session/codex-policy.js.map +1 -0
  279. package/dist/session/codex-process.d.ts +114 -0
  280. package/dist/session/codex-process.d.ts.map +1 -0
  281. package/dist/session/codex-process.js +759 -0
  282. package/dist/session/codex-process.js.map +1 -0
  283. package/dist/session/codex-runtime.d.ts +20 -0
  284. package/dist/session/codex-runtime.d.ts.map +1 -0
  285. package/dist/session/codex-runtime.js +182 -0
  286. package/dist/session/codex-runtime.js.map +1 -0
  287. package/dist/session/codex-tool-capture.d.ts +35 -0
  288. package/dist/session/codex-tool-capture.d.ts.map +1 -0
  289. package/dist/session/codex-tool-capture.js +178 -0
  290. package/dist/session/codex-tool-capture.js.map +1 -0
  291. package/dist/session/container-connectors.d.ts +10 -0
  292. package/dist/session/container-connectors.d.ts.map +1 -0
  293. package/dist/session/container-connectors.js +41 -0
  294. package/dist/session/container-connectors.js.map +1 -0
  295. package/dist/session/container-extensions.d.ts +4 -0
  296. package/dist/session/container-extensions.d.ts.map +1 -0
  297. package/dist/session/container-extensions.js +45 -0
  298. package/dist/session/container-extensions.js.map +1 -0
  299. package/dist/session/managed-connectors.d.ts +16 -0
  300. package/dist/session/managed-connectors.d.ts.map +1 -0
  301. package/dist/session/managed-connectors.js +25 -0
  302. package/dist/session/managed-connectors.js.map +1 -0
  303. package/dist/session/process-diagnostics.d.ts +14 -0
  304. package/dist/session/process-diagnostics.d.ts.map +1 -0
  305. package/dist/session/process-diagnostics.js +39 -0
  306. package/dist/session/process-diagnostics.js.map +1 -0
  307. package/dist/session/process.d.ts +4 -0
  308. package/dist/session/process.d.ts.map +1 -1
  309. package/dist/session/process.js +21 -16
  310. package/dist/session/process.js.map +1 -1
  311. package/dist/session/request-tool-capture.d.ts +1 -1
  312. package/dist/session/request-tool-capture.d.ts.map +1 -1
  313. package/dist/session/runtime-profile.d.ts +8 -0
  314. package/dist/session/runtime-profile.d.ts.map +1 -1
  315. package/dist/session/runtime-profile.js +3 -2
  316. package/dist/session/runtime-profile.js.map +1 -1
  317. package/dist/session/worker-environment.d.ts +5 -0
  318. package/dist/session/worker-environment.d.ts.map +1 -0
  319. package/dist/session/worker-environment.js +27 -0
  320. package/dist/session/worker-environment.js.map +1 -0
  321. package/dist/session/worker-extensions.d.ts +20 -0
  322. package/dist/session/worker-extensions.d.ts.map +1 -0
  323. package/dist/session/worker-extensions.js +322 -0
  324. package/dist/session/worker-extensions.js.map +1 -0
  325. package/dist/skills/loader.d.ts +2 -0
  326. package/dist/skills/loader.d.ts.map +1 -1
  327. package/dist/skills/loader.js.map +1 -1
  328. package/dist/types.d.ts +30 -0
  329. package/dist/types.d.ts.map +1 -1
  330. package/dist/ui/codex-context.d.ts +4 -0
  331. package/dist/ui/codex-context.d.ts.map +1 -0
  332. package/dist/ui/codex-context.js +15 -0
  333. package/dist/ui/codex-context.js.map +1 -0
  334. package/dist/ui/dashboard-client.d.ts.map +1 -1
  335. package/dist/ui/dashboard-client.js +14 -11
  336. package/dist/ui/dashboard-client.js.map +1 -1
  337. package/dist/ui/dashboard-presentation.d.ts +1 -1
  338. package/dist/ui/dashboard-presentation.d.ts.map +1 -1
  339. package/dist/ui/dashboard-presentation.js +2 -2
  340. package/dist/ui/dashboard-presentation.js.map +1 -1
  341. package/dist/ui/token-report.d.ts +3 -0
  342. package/dist/ui/token-report.d.ts.map +1 -1
  343. package/dist/ui/token-report.js +22 -10
  344. package/dist/ui/token-report.js.map +1 -1
  345. package/dist/ui/web-ui.d.ts.map +1 -1
  346. package/dist/ui/web-ui.js +53 -132
  347. package/dist/ui/web-ui.js.map +1 -1
  348. package/mcp/capability-catalog.ts +2 -0
  349. package/mcp/extension-catalog.ts +18 -0
  350. package/mcp/lazy-connector.ts +4 -2
  351. package/mcp/lazy-tools.test.ts +29 -0
  352. package/mcp/modules.ts +1 -0
  353. package/mcp/server.ts +2 -2
  354. package/mcp/tools/cron/module.ts +8 -114
  355. package/mcp/tools/discord/commands.ts +4 -1
  356. package/mcp/tools/safemode/module.test.ts +29 -0
  357. package/mcp/tools/telegram/receiver-server.ts +2 -22
  358. package/mcp/tools/telegram/task-detail.ts +2 -1
  359. package/package.json +3 -2
  360. package/scripts/orchestration/audit-codex-context.cjs +83 -0
  361. package/scripts/orchestration/benchmark-worker-harnesses.cjs +112 -0
  362. package/scripts/orchestration/smoke-codex-extensions.ts +29 -0
  363. package/scripts/orchestration/smoke-codex-worker.cjs +166 -0
  364. package/scripts/orchestration/smoke-safemode-codex.cjs +66 -0
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dashboardClient = void 0;
4
+ const codex_context_1 = require("./codex-context");
4
5
  const dashboard_charts_1 = require("./dashboard-charts");
5
6
  const dashboard_range_1 = require("./dashboard-range");
6
7
  const dashboard_presentation_1 = require("./dashboard-presentation");
7
8
  /** Browser controller: no provider keys or model-generated HTML are trusted. */
8
- exports.dashboardClient = dashboard_presentation_1.dashboardPresentationClient + dashboard_range_1.dashboardRange.toString() + ';' + dashboard_range_1.dashboardSince.toString() + ';' + dashboard_charts_1.dashboardChartsClient + String.raw `
9
+ exports.dashboardClient = codex_context_1.codexContextHtml.toString() + ';' + dashboard_presentation_1.dashboardPresentationClient + dashboard_range_1.dashboardRange.toString() + ';' + dashboard_range_1.dashboardSince.toString() + ';' + dashboard_charts_1.dashboardChartsClient + String.raw `
9
10
  let dashboardData = null, dashboardOffset = 0, dashboardBusy = false, dashboardSearch = '', dashboardAgent = '', dashboardScope = '24h';
10
11
  const dashboardStateKey='gateway-dashboard-view:'+location.pathname.replace(/\/$/,'');
11
12
  let savedDashboardState={};
@@ -35,6 +36,7 @@ function dashboardRows() {
35
36
  (dashboardData?.agents||[]).forEach(a=>(a.sessions||[]).forEach(s=>rows.push({a,s})));
36
37
  return rows.filter(({a,s})=>(!dashboardAgent||a.id===dashboardAgent)&&(!dashboardSearch||[a.id,s.sessionId,s.chatId,s.source,s.model].join(' ').toLowerCase().includes(dashboardSearch.toLowerCase()))).sort((x,y)=>(Number(y.s.updatedAt||y.s.spawnedAt)||0)-(Number(x.s.updatedAt||x.s.spawnedAt)||0)||String(x.s.sessionId).localeCompare(String(y.s.sessionId)));
37
38
  }
39
+ function gatewayTaskLabel(t){return t.gatewayTarget?'<small class="ts">Gateway-managed · '+dashText(t.gatewayTarget.adapter==='safemode'?'Safemode':t.gatewayTarget.adapter)+' · '+dashText(t.gatewayTarget.name)+'</small>':'<small class="ts">Worker task</small>';}
38
40
  function dashboardTaskRows(){return dashboardRows().flatMap(({a,s})=>(s.tasks||[]).map(t=>({a,s,t}))).sort((x,y)=>Number(y.t.updatedAt)-Number(x.t.updatedAt)||x.t.taskId.localeCompare(y.t.taskId));}
39
41
  function dashText(value){return escHtml(value==null?'—':String(value));}
40
42
  function dashCount(value){return compactNumber(value);}
@@ -48,7 +50,7 @@ function dashReportUrl(a,s){return apiUrl('/dashboard/token-report')+'?agentId='
48
50
  function dashOpenAttrs(a,s,t){return ' data-dash-agent="'+escHtml(a)+'" data-dash-session="'+escHtml(s)+'"'+(t?' data-dash-task="'+escHtml(t)+'"':'');}
49
51
  function dashId(value){return value?'<span class="short-id" title="'+dashText(value)+'">'+dashText(String(value))+'</span>':'<span class="muted">Not assigned</span>';}
50
52
  function dashTable(headers,rows){
51
- const widths=headers[0]==='Agent / Channel'?[170,285,190,140,150,130,175]:headers[0]==='Task / Agent'?[300,140,290,120,120,145,200]:headers[0]==='Agent / Session'?[240,150,150,150,160,180]:[320,180,140];
53
+ const widths=headers[0]==='Agent / Channel'?[170,285,190,140,150,130,175]:headers[0]==='Task / Agent'?[260,120,260,95,95,110,150]:headers[0]==='Agent / Session'?[240,150,150,150,160,180]:[320,180,140];
52
54
  return '<div class="table-wrap"><table class="data-table" style="min-width:'+widths.reduce((a,b)=>a+b,0)+'px"><colgroup>'+widths.map(w=>'<col style="width:'+w+'px">').join('')+'</colgroup><thead><tr>'+headers.map(h=>'<th>'+h+'</th>').join('')+'</tr></thead><tbody>'+(rows.length?rows.join(''):'<tr><td colspan="'+headers.length+'" class="empty">No records in this scope.</td></tr>')+'</tbody></table></div>';
53
55
  }
54
56
  function renderDashboard(data){
@@ -63,13 +65,13 @@ function renderDashboard(data){
63
65
  document.getElementById('overview-stats').innerHTML=stats.map(([label,n])=>'<div class="dash-stat"><span>'+label+'</span><strong>'+dashCount(n)+'</strong></div>').join('');
64
66
  const attention=agents.flatMap(a=>(a.orchestration?.attention||[]).map(t=>({a,s:{sessionId:t.sessionId},t})));
65
67
  document.getElementById('overview-attention-panel').hidden=!attention.length;
66
- document.getElementById('overview-attention').innerHTML=attention.length?dashTable(['Task','Agent','Status'],attention.slice(0,8).map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false"><td>'+dashText(t.title)+'</td><td>'+agentBadge(a.id)+'</td><td>'+dashStatus(t.state)+'</td></tr>')):'<p class="muted">No tasks are waiting for a decision or reconciliation.</p>';
68
+ document.getElementById('overview-attention').innerHTML=attention.length?dashTable(['Task','Agent','Status'],attention.slice(0,8).map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false"><td>'+dashText(t.title)+gatewayTaskLabel(t)+'</td><td>'+agentBadge(a.id)+'</td><td>'+dashStatus(t.state)+'</td></tr>')):'<p class="muted">No tasks are waiting for a decision or reconciliation.</p>';
67
69
  const sessionRows=rows.map(({a,s})=>'<tr class="session-row"'+(s.orchestration?dashOpenAttrs(a.id,s.sessionId):'')+' tabindex="0" aria-expanded="false" data-row-key="'+escHtml(a.id+':'+s.sessionId)+'"><td>'+agentBadge(a.id)+'<br>'+channelBadge(s.source)+'</td><td><span class="session-id">'+dashText(s.sessionId)+'</span><br><small class="ts">Chat '+dashText(s.chatId)+'</small></td><td><span class="cell-clip" title="'+dashText(s.model)+'">'+dashText(s.model||'—')+'</span></td><td>'+dashStatus(sessionDisplayStatus(s))+'</td><td>'+ (s.orchestration?dashCount(s.tokenSummary?.agentTokens)+' / '+dashCount(s.tokenSummary?.totalTokens):dashCount(s.tokens))+'<br><small class="ts">'+(s.orchestration?'Agent / total · recorded only':'Legacy process tokens')+'</small></td><td class="dash-tools">'+toolInventory(s.loadedTools,s.usedTools,s.contextTools)+'</td><td>'+ (s.orchestration?'<a class="btn-stream" target="_blank" rel="noopener" href="'+escHtml(dashReportUrl(a.id,s.sessionId))+'">View token report ↗</a>':'')+(s.hasPtyStream&&s.isRunning&&s.mode==='pty-shell'?'<button class="btn-stream" data-agent-id="'+escHtml(a.id)+'" data-session-id="'+escHtml(s.sessionId)+'">Terminal</button>':'')+'</td></tr>');
68
70
  document.getElementById('session-results').innerHTML=dashTable(['Agent / Channel','Session / Chat','Model','Status','Tokens','Tools','Inspect'],sessionRows);
69
- const taskRows=tasks.map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false" data-row-key="'+escHtml(a.id+':'+t.taskId)+'"><td><strong class="dash-task-title">'+dashText(t.title)+'</strong><small class="ts">'+agentBadge(a.id)+' · '+dashId(t.taskId)+'<br>'+channelBadge(s.source)+'</small></td><td>'+dashStatus(t.state)+'</td><td class="session-id">'+dashId(t.workerSessionId)+'<br><small class="ts">Attempt '+dashId(t.attemptId)+'</small></td><td>'+dashCount(t.tokenSummary?.totalTokens)+'<br><small class="ts">Latest attempt</small></td><td>'+dashCount(t.tokenSummary?.allAttemptsTokens)+'<br><small class="ts">All recorded attempts</small></td><td class="dash-tools">'+toolInventory(t.loadedTools,t.usedTools,t.contextTools)+'</td><td><span class="cell-clip" title="'+dashText(t.lastTool?.name)+'">'+dashText(t.lastTool?.name||'No recorded tool')+'</span>'+'<br><small class="ts">'+(t.lastTool?.at?dashText(new Date(t.lastTool.at).toLocaleString('en-GB',{timeZone:dashboardTimezone})):'')+'</small></td></tr>');
70
- document.getElementById('task-results').innerHTML=dashTable(['Task / Agent','Status','Worker session / Attempt','Latest tokens','Task tokens','Latest attempt tools','Latest activity'],taskRows);
71
+ const taskRows=tasks.map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false" data-row-key="'+escHtml(a.id+':'+t.taskId)+'"><td><strong class="dash-task-title">'+dashText(t.title)+'</strong>'+gatewayTaskLabel(t)+'<small class="ts">'+agentBadge(a.id)+' · '+dashId(t.taskId)+'<br>'+channelBadge(s.source)+'</small></td><td>'+dashStatus(t.state)+'</td><td class="session-id">'+dashId(t.gatewayTarget?.sessionId||t.workerSessionId)+'<br><small class="ts">Attempt '+dashId(t.attemptId)+'</small></td><td>'+dashCount(t.tokenSummary?.totalTokens)+'<br><small class="ts">Latest attempt</small></td><td>'+dashCount(t.tokenSummary?.allAttemptsTokens)+'<br><small class="ts">All recorded attempts</small></td><td class="dash-tools">'+(t.gatewayTarget?'—':toolInventory(t.loadedTools,t.usedTools,t.contextTools,t.harness))+'</td><td><span class="cell-clip" title="'+dashText(t.lastTool?.name)+'">'+dashText(t.lastTool?.name||'No recorded tool')+'</span>'+'<br><small class="ts">'+(t.lastTool?.at?dashText(new Date(t.lastTool.at).toLocaleString('en-GB',{timeZone:dashboardTimezone})):'')+'</small></td></tr>');
72
+ document.getElementById('task-results').innerHTML=dashTable(['Task / Agent','Status','Session / Attempt','Latest tokens','Task tokens','Latest attempt tools','Latest activity'],taskRows);
71
73
  const recentWork=agents.flatMap(a=>(a.orchestration?.recentWork||[]).map(t=>({a,s:{sessionId:t.sessionId},t}))).sort((x,y)=>Number(y.t.updatedAt)-Number(x.t.updatedAt)||x.t.taskId.localeCompare(y.t.taskId));
72
- document.getElementById('overview-tasks').innerHTML=dashTable(['Task','Agent','Status'],recentWork.slice(0,6).map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false"><td>'+dashText(t.title)+'</td><td>'+agentBadge(a.id)+'</td><td>'+dashStatus(t.state)+'</td></tr>'));
74
+ document.getElementById('overview-tasks').innerHTML=dashTable(['Task','Agent','Status'],recentWork.slice(0,6).map(({a,s,t})=>'<tr'+dashOpenAttrs(a.id,s.sessionId,t.taskId)+' tabindex="0" aria-expanded="false"><td>'+dashText(t.title)+gatewayTaskLabel(t)+'</td><td>'+agentBadge(a.id)+'</td><td>'+dashStatus(t.state)+'</td></tr>'));
73
75
  document.getElementById('usage-results').innerHTML=dashTable(['Agent / Session','Channel','Agent tokens','Worker tokens','Total tokens','Report'],rows.filter(({s})=>s.orchestration).map(({a,s})=>'<tr'+dashOpenAttrs(a.id,s.sessionId)+' tabindex="0" aria-expanded="false"><td>'+agentBadge(a.id)+'<br>'+dashId(s.sessionId)+'</td><td>'+channelBadge(s.source)+'</td><td>'+dashCount(s.tokenSummary?.agentTokens)+'</td><td>'+dashCount(s.tokenSummary?.workerTokens)+'</td><td>'+dashCount(s.tokenSummary?.totalTokens)+'</td><td><a class="btn-stream" target="_blank" rel="noopener" href="'+escHtml(dashReportUrl(a.id,s.sessionId))+'">View token report ↗</a></td></tr>'));
74
76
 
75
77
  const max=Math.max(0,...agents.map(a=>Number(a.orchestration?.pagination?.total||0)));
@@ -81,7 +83,7 @@ function renderDashboard(data){
81
83
  if(select.dataset.signature!==signature){select.innerHTML='<option value="">All agents</option>'+agents.map(a=>'<option value="'+escHtml(a.id)+'">'+dashText(a.id)+'</option>').join('');select.value=dashboardAgent;select.dataset.signature=signature;}
82
84
  restoreDashboardDetails();
83
85
  for(const record of [...dashboardExpanded.values()])void dashDetail(record.agentId,record.sessionId,record.taskId,record.offset);
84
- document.getElementById('tasks-scope').textContent='Tasks for sessions on the current page. Up to 100 recent tasks per session; open the session to inspect all recorded worker attempts in its token report.';
86
+ document.getElementById('tasks-scope').textContent='Worker and Gateway-managed tasks for sessions on the current page. Up to 100 recent tasks per session. Open a row for its execution details and result; token reports contain measured agent and worker turns.';
85
87
  }
86
88
  async function dashDetail(agentId,sessionId,taskId,offset=0){
87
89
  const key=[agentId,sessionId,taskId||''].join(':');
@@ -100,9 +102,10 @@ async function dashDetail(agentId,sessionId,taskId,offset=0){
100
102
  let body='<h1>'+dashText(taskId?detail.snapshot.title:'Session details')+'</h1><p class="muted">'+agentBadge(agentId)+' · <span class="session-id">'+dashText(sessionId)+'</span></p><p class="live-note">Recorded snapshot · '+new Date().toLocaleTimeString('en-GB',{timeZone:dashboardTimezone})+'</p><a class="btn-stream" href="'+escHtml(dashReportUrl(agentId,sessionId))+'" target="_blank" rel="noopener">Open full token report ↗</a>';
101
103
  if(taskId){
102
104
  body+='<h2>Task</h2>'+dashStatus(detail.snapshot.state)+'<pre>'+dashText(detail.instructions||'No assignment text recorded for this task.')+'</pre>';
105
+ if(detail.snapshot.gatewayTarget)body+='<dl><dt>Type</dt><dd>Gateway-managed task</dd><dt>Target</dt><dd>'+dashText(detail.snapshot.gatewayTarget.adapter==='safemode'?'Safemode':detail.snapshot.gatewayTarget.adapter)+' · '+dashText(detail.snapshot.gatewayTarget.name)+'</dd><dt>Native session</dt><dd>'+dashText(detail.snapshot.gatewayTarget.sessionId)+'</dd><dt>Request</dt><dd>'+dashText(detail.snapshot.gatewayDispatch?.requestId)+'</dd></dl><p class="muted">Existing external session. No model worker is created; its tokens and tools are not measured as worker usage.</p>';
103
106
  if(detail.snapshot.result)body+='<h2>Latest result</h2><pre>'+dashText(detail.snapshot.result.summary||JSON.stringify(detail.snapshot.result,null,2))+'</pre>';
104
- body+='<h2>Worker attempts</h2><p class="muted">'+detail.totalAttempts+' attempts · displaying '+(offset+1)+'–'+Math.min(offset+25,detail.totalAttempts)+'</p>';
105
- body+=detail.attempts.map(a=>'<section class="detail-block"><h3>Attempt '+dashText(a.generation)+' · '+dashText(a.state)+'</h3><dl><dt>Attempt ID</dt><dd>'+dashText(a.attemptId)+'</dd><dt>Worker ID</dt><dd>'+dashText(a.workerId)+'</dd><dt>Worker session</dt><dd>'+dashText(a.sessionId)+'</dd><dt>Model</dt><dd>'+dashText(a.metrics?.model)+'</dd><dt>Recorded tokens</dt><dd>'+dashCount(a.metrics?.usage?.totalTokens)+'</dd></dl>'+toolInventory(a.metrics?.loadedTools,a.metrics?.usedTools,a.metrics?.contextTools)+(a.metrics?.contextTools?'<h3>Loaded tools</h3>'+toolNameList(a.metrics.contextTools):'')+'<h3>Used tools</h3>'+toolNameList(a.metrics?.usedTools)+'<h3>Latest recorded events</h3>'+a.events.map(e=>'<section class="detail-block"><h3>'+dashText(new Date(e.at).toLocaleString('en-GB',{timeZone:dashboardTimezone}))+' · '+dashText(e.type)+'</h3><pre>'+dashText(JSON.stringify(e.payload,null,2))+'</pre></section>').join('')+'</section>').join('');
107
+ body+='<h2>'+(detail.snapshot.gatewayTarget?'Gateway-managed requests':'Worker attempts')+'</h2><p class="muted">'+detail.totalAttempts+(detail.snapshot.gatewayTarget?' requests':' attempts')+' · displaying '+(detail.totalAttempts?offset+1:0)+'–'+Math.min(offset+25,detail.totalAttempts)+'</p>';
108
+ body+=detail.attempts.map(a=>detail.snapshot.gatewayTarget?'<section class="detail-block"><h3>Request '+dashText(a.generation)+' · '+dashText(a.state)+'</h3><dl><dt>Attempt ID</dt><dd>'+dashText(a.attemptId)+'</dd><dt>Native session</dt><dd>'+dashText(a.sessionId)+'</dd></dl>'+(a.failure?'<pre>'+dashText(a.failure.code+': '+a.failure.message)+'</pre>':'')+'</section>':'<section class="detail-block"><h3>Attempt '+dashText(a.generation)+' · '+dashText(a.state)+'</h3><dl><dt>Attempt ID</dt><dd>'+dashText(a.attemptId)+'</dd><dt>Worker ID</dt><dd>'+dashText(a.workerId)+'</dd><dt>Worker session</dt><dd>'+dashText(a.sessionId)+'</dd><dt>Harness</dt><dd>'+dashText(a.harness==='codex'?'Codex':a.harness==='claude'?'Claude Code':null)+'</dd><dt>Model</dt><dd>'+dashText(a.harnessModel||a.metrics?.model)+'</dd><dt>Recorded tokens</dt><dd>'+dashCount(a.metrics?.usage?.totalTokens)+'</dd></dl>'+codexContextHtml(a.metrics?.contextWindow)+toolInventory(a.metrics?.loadedTools,a.metrics?.usedTools,a.metrics?.contextTools,a.harness)+(a.metrics?.contextTools?'<h3>Loaded tools</h3>'+toolNameList(a.metrics.contextTools):'')+'<h3>Used tools</h3>'+toolNameList(a.metrics?.usedTools,a.harness)+'<h3>Latest recorded events</h3>'+a.events.map(e=>'<section class="detail-block"><h3>'+dashText(new Date(e.at).toLocaleString('en-GB',{timeZone:dashboardTimezone}))+' · '+dashText(e.type)+'</h3><pre>'+dashText(JSON.stringify(e.payload,null,2))+'</pre></section>').join('')+'</section>').join('');
106
109
  if(offset>0)body+='<button data-attempt-page="'+Math.max(0,offset-25)+'">Newer attempts</button>';
107
110
  if(offset+25<detail.totalAttempts)body+='<button data-attempt-page="'+(offset+25)+'">Older attempts</button>';
108
111
  }else{
@@ -115,8 +118,8 @@ async function dashDetail(agentId,sessionId,taskId,offset=0){
115
118
  var detailActivity=detail.activityStatus||'';
116
119
  var cwStopped=detailActivity==='stopped';
117
120
  body+='<div class="dash-grid session-token-totals"><div class="dash-stat box-context"><span>Context window</span><strong>'+(cwStopped?'-':(cw?dashCount(cw.used)+' / '+(cw.total==null?'—':windowCap(cw.total)):'—'))+'</strong>'+((!cwStopped&&cw&&cw.model)?'<span class="card-cached">Model: '+escHtml(cw.model)+'</span>':'')+'</div><div class="dash-stat box-agent"><span>Agent tokens</span><strong>'+dashCount(detail.totals.agentTokens)+'</strong>'+cachedLineFor(uAgent)+'</div><div class="dash-stat box-worker"><span>Worker tokens</span><strong>'+dashCount(detail.totals.workerTokens)+'</strong>'+cachedLineFor(uWorker)+'</div></div><p class="live-note">Recorded turns only. Missing measurements are shown as —, not zero. Token volume is not billing cost.</p>';
118
- body+='<details class="detail-block turn-disclosure session-tasks" data-detail-turn="section:tasks"><summary>Tasks ('+dashCount(detail.totalTasks)+')</summary><div class="dash-mini-list">'+(detail.tasks||[]).map(t=>'<div class="session-task-row"><span class="session-task-title">'+dashText(t.title)+'</span>'+dashStatus(t.state)+'</div>').join('')+(!detail.tasks?.length?'<p class="muted">No tasks recorded.</p>':'')+'</div></details><h2>Turns & worker attempts</h2>';
119
- body+=detail.turns.map(t=>'<details class="detail-block turn-disclosure" data-detail-turn="'+dashText(t.id)+'"><summary>'+dashText(t.role)+' · '+dashText(t.category)+' · '+dashText(new Date(t.startedAt).toLocaleString('en-GB',{timeZone:dashboardTimezone}))+' · '+dashCount(t.usage?.totalTokens)+' tokens</summary><p class="live-note">'+dashText(t.id)+' · '+dashText(t.model)+' · '+dashText(t.state)+'</p>'+(t.taskId?'<p>Task '+dashText(t.taskId)+'</p>':'')+toolInventory(t.loadedTools,t.usedTools,t.contextTools)+(t.contextTools?'<h3>Loaded tools</h3>'+toolNameList(t.contextTools):'')+'<h3>Used tools</h3>'+toolNameList(t.usedTools)+(t.inputTexts||[]).map(text=>'<pre>'+dashText(text)+'</pre>').join('')+(t.responseText?'<h3>Response / result</h3><pre>'+dashText(t.responseText)+'</pre>':'')+'</details>').join('');
121
+ body+='<details class="detail-block turn-disclosure session-tasks" data-detail-turn="section:tasks"><summary>Tasks ('+dashCount(detail.totalTasks)+')</summary><div class="dash-mini-list">'+(detail.tasks||[]).map(t=>'<div class="session-task-row"><span class="session-task-title">'+dashText(t.title)+gatewayTaskLabel(t)+'</span>'+dashStatus(t.state)+'</div>').join('')+(!detail.tasks?.length?'<p class="muted">No tasks recorded.</p>':'')+'</div></details><h2>Turns & worker attempts</h2>';
122
+ body+=detail.turns.map(t=>'<details class="detail-block turn-disclosure" data-detail-turn="'+dashText(t.id)+'"><summary>'+dashText(t.role)+' · '+dashText(t.category)+' · '+dashText(new Date(t.startedAt).toLocaleString('en-GB',{timeZone:dashboardTimezone}))+' · '+dashCount(t.usage?.totalTokens)+' tokens</summary><p class="live-note">'+dashText(t.id)+' · '+dashText(t.model)+' · '+dashText(t.state)+'</p>'+(t.role==='worker'?'<p>Harness: '+dashText(t.harness==='codex'?'Codex':t.harness==='claude'?'Claude Code':null)+'</p>':'')+(t.taskId?'<p>Task '+dashText(t.taskId)+'</p>':'')+codexContextHtml(t.contextWindow)+(t.gatewayTarget?'—':toolInventory(t.loadedTools,t.usedTools,t.contextTools,t.harness))+(t.contextTools?'<h3>Loaded tools</h3>'+toolNameList(t.contextTools):'')+'<h3>Used tools</h3>'+toolNameList(t.usedTools,t.harness)+(t.inputTexts||[]).map(text=>'<pre>'+dashText(text)+'</pre>').join('')+(t.responseText?'<h3>Response / result</h3><pre>'+dashText(t.responseText)+'</pre>':'')+'</details>').join('');
120
123
  if(!detail.turns.length)body+='<p class="empty">No instrumented turns recorded on this page.</p>';
121
124
  if(offset>0)body+='<button data-session-page="'+Math.max(0,offset-50)+'">Previous records</button>';
122
125
  if(offset+50<Math.max(detail.totalTasks||0,detail.pagination?.total||0))body+='<button data-session-page="'+(offset+50)+'">Next records</button>';
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-client.js","sourceRoot":"","sources":["../../src/ui/dashboard-client.ts"],"names":[],"mappings":";;;AAAA,yDAA2D;AAC3D,uDAAmE;AACnE,qEAAuE;AACvE,gFAAgF;AACnE,QAAA,eAAe,GAAG,oDAA2B,GAAG,gCAAc,CAAC,QAAQ,EAAE,GAAC,GAAG,GAAC,gCAAc,CAAC,QAAQ,EAAE,GAAC,GAAG,GAAE,wCAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+K3J,CAAC"}
1
+ {"version":3,"file":"dashboard-client.js","sourceRoot":"","sources":["../../src/ui/dashboard-client.ts"],"names":[],"mappings":";;;AAAA,mDAAmD;AACnD,yDAA2D;AAC3D,uDAAmE;AACnE,qEAAuE;AACvE,gFAAgF;AACnE,QAAA,eAAe,GAAG,gCAAgB,CAAC,QAAQ,EAAE,GAAC,GAAG,GAAC,oDAA2B,GAAG,gCAAc,CAAC,QAAQ,EAAE,GAAC,GAAG,GAAC,gCAAc,CAAC,QAAQ,EAAE,GAAC,GAAG,GAAE,wCAAqB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiL3L,CAAC"}
@@ -7,6 +7,6 @@ export declare function agentHue(value: string): number;
7
7
  export declare function agentBadge(value: string): string;
8
8
  export declare function channelBadge(value: string): string;
9
9
  export declare function taskStatusBadge(value: string): string;
10
- export declare function toolNameList(names: string[] | null | undefined): string;
10
+ export declare function toolNameList(names: string[] | null | undefined, harness?: string): string;
11
11
  export declare const dashboardPresentationClient: string;
12
12
  //# sourceMappingURL=dashboard-presentation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-presentation.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard-presentation.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,UAAsG,CAAC;AACzI,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIvE;AACD,eAAO,MAAM,2BAA2B,QAAuU,CAAC"}
1
+ {"version":3,"file":"dashboard-presentation.d.ts","sourceRoot":"","sources":["../../src/ui/dashboard-presentation.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,qBAAqB,UAAsG,CAAC;AACzI,sFAAsF;AACtF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMpD;AAKD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AACD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AACD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AACD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAIzF;AACD,eAAO,MAAM,2BAA2B,QAAuU,CAAC"}
@@ -51,12 +51,12 @@ function taskStatusBadge(value) {
51
51
  const color = colors[state] || '#737373';
52
52
  return '<span class="badge status-badge" style="--status-color:' + color + '">' + dashboardEscape(state.replace(/_/g, ' ').replace(/^./, c => c.toUpperCase())) + '</span>';
53
53
  }
54
- function toolNameList(names) {
54
+ function toolNameList(names, harness) {
55
55
  if (!Array.isArray(names))
56
56
  return '<p class="muted">—</p>';
57
57
  if (!names.length)
58
58
  return '<p class="muted">None</p>';
59
- return '<ul class="tool-name-list">' + [...new Set(names)].sort().map(name => '<li><code>' + dashboardEscape(name) + '</code></li>').join('') + '</ul>';
59
+ return '<ul class="tool-name-list">' + [...new Set(names)].sort().map(name => '<li><code>' + dashboardEscape(harness === 'codex' && name === 'Bash' ? 'Shell' : name) + '</code></li>').join('') + '</ul>';
60
60
  }
61
61
  exports.dashboardPresentationClient = 'const dashboardChartPalette=' + JSON.stringify(exports.dashboardChartPalette) + ';' + compactNumber.toString() + ';' + 'const channelIcons=' + JSON.stringify(channelIcons) + ';' + dashboardEscape.toString() + ';' + agentHue.toString() + ';' + agentBadge.toString() + ';' + channelBadge.toString() + ';' + taskStatusBadge.toString() + ';' + toolNameList.toString() + ';';
62
62
  //# sourceMappingURL=dashboard-presentation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-presentation.js","sourceRoot":"","sources":["../../src/ui/dashboard-presentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-presentation.js","sourceRoot":"","sources":["../../src/ui/dashboard-presentation.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { CodexContextMeasurement } from '../session/codex-context';
1
2
  import type { RequestToolSchemas } from '../session/request-tool-capture';
2
3
  import type { ContextFootprint } from '../orchestration/context-footprint';
3
4
  /** Read-only admin report. Escape all stored model/tool metadata as untrusted text. */
@@ -45,10 +46,12 @@ export interface TokenReportView {
45
46
  triggerReason: string | null;
46
47
  }>;
47
48
  turns: Array<{
49
+ contextWindow?: CodexContextMeasurement;
48
50
  id: string;
49
51
  role: string;
50
52
  category: string;
51
53
  taskId?: string;
54
+ harness?: 'claude' | 'codex';
52
55
  inputModalities?: string[];
53
56
  inputSequences?: number[];
54
57
  inputTexts?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"token-report.d.ts","sourceRoot":"","sources":["../../src/ui/token-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-report.d.ts","sourceRoot":"","sources":["../../src/ui/token-report.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAI3E,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACpF,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAG/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACjD,UAAU,CAAC,EAAE;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IACvD,YAAY,CAAC,EAAE,KAAK,CAAC;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,MAAM,EAAC,MAAM,CAAA;KAAC,CAAC,CAAC;IACtD,WAAW,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,EAAC,MAAM,CAAC;QAAA,WAAW,EAAC,MAAM,CAAC;QAAA,mBAAmB,EAAC,MAAM,CAAC;QAAA,eAAe,EAAC,MAAM,CAAC;QAAA,YAAY,EAAC,MAAM,CAAA;KAAC,CAAC,CAAC;IAC5H,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAChG,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC9H,KAAK,EAAE,KAAK,CAAC;QACX,aAAa,CAAC,EAAE,uBAAuB,CAAC;QACxC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;QAC1F,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QACtD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QACvG,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QACjE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACtE,KAAK,CAAC,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,mBAAmB,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAC;YAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;YAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QACxM,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;YAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;SAAE,CAAC,CAAC;QAClJ,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE;YAAC,QAAQ,EAAC,MAAM,CAAC;YAAA,KAAK,EAAC,MAAM,CAAA;SAAC,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtI,CAAC,CAAC;CACJ;AA2FD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,GAAG,MAAM,CA4FxF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTokenReportHtml = generateTokenReportHtml;
4
+ const codex_context_1 = require("./codex-context");
4
5
  const dashboard_controls_1 = require("./dashboard-controls");
5
6
  const dashboard_range_1 = require("./dashboard-range");
6
7
  const token_report_client_1 = require("./token-report-client");
@@ -10,8 +11,8 @@ function escape(value) {
10
11
  return String(value ?? '').replace(/[&<>"']/g, c => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' })[c]);
11
12
  }
12
13
  function n(value) { return (0, dashboard_presentation_1.compactNumber)(value); }
13
- function tools(label, names) {
14
- return `<div title="${escape(names?.join(', ') || 'Not recorded')}">${label}: ${names == null ? '—' : n(names.length)}</div>`;
14
+ function tools(label, names, harness) {
15
+ return `<div title="${escape(names?.map(name => harness === 'codex' && name === 'Bash' ? 'Shell' : name).join(', ') || 'Not recorded')}">${label}: ${names == null ? '—' : n(names.length)}</div>`;
15
16
  }
16
17
  function cacheWrite(usage) {
17
18
  const total = usage?.cacheCreationTokens;
@@ -45,8 +46,10 @@ function conversationDetails(turn) {
45
46
  /** Compact wait duration ("9s", "2m 21s", "1h 04m"). Input is untrusted: a missing or
46
47
  * nonsensical value yields '' so the caller simply renders nothing. */
47
48
  function waited(ms) {
48
- if (typeof ms !== 'number' || !Number.isFinite(ms) || ms < 0)
49
+ if (typeof ms !== 'number' || !Number.isFinite(ms) || ms <= 0)
49
50
  return '';
51
+ if (ms < 1000)
52
+ return Math.round(ms) + 'ms';
50
53
  const s = Math.round(ms / 1000);
51
54
  if (s < 60)
52
55
  return s + 's';
@@ -54,6 +57,17 @@ function waited(ms) {
54
57
  return Math.floor(s / 60) + 'm ' + String(s % 60).padStart(2, '0') + 's';
55
58
  return Math.floor(s / 3600) + 'h ' + String(Math.floor(s % 3600 / 60)).padStart(2, '0') + 'm';
56
59
  }
60
+ /** Wall time for this turn only; queued inputs have not started execution. */
61
+ function turnElapsed(turn) {
62
+ if (turn.pending)
63
+ return '—';
64
+ const start = new Date(turn.startedAt).getTime();
65
+ const ended = turn.endedAt !== undefined;
66
+ if (!ended && ['completed', 'failed', 'cancelled', 'stopped', 'ended'].includes(turn.state || ''))
67
+ return '—';
68
+ const end = ended ? new Date(turn.endedAt).getTime() : Date.now();
69
+ return waited(end - start) || '—';
70
+ }
57
71
  /** The row's stable identity label.
58
72
  *
59
73
  * Every branch reads a STORED value: conversation_inputs.input_seq for an agent turn and
@@ -145,17 +159,15 @@ function generateTokenReportHtml(agentId, report) {
145
159
  const number = turnLabel(turn);
146
160
  const badge = turn.category === 'input' ? modality : labels[turn.category] || turn.category;
147
161
  const started = relativeTime(turn.startedAt, timezone);
148
- // Turns run one at a time per session by design, so a message can sit accepted for
149
- // minutes before its own turn starts. Show that wait rather than leaving a slow turn
150
- // looking broken; below ~2s it is just noise.
162
+ // Show live queue duration only while pending; historical wait belongs in details.
151
163
  const wait = waited(turn.queuedMs);
152
164
  const waitLine = turn.pending
153
- ? `<small class="turn-wait" title="Accepted ${escape(time(turn.startedAt, timezone))}; waiting for the previous turn in this session to finish">Waiting ${escape(wait || '0s')}</small>`
154
- : (wait && (turn.queuedMs ?? 0) >= 2000 ? `<small class="turn-wait" title="Time between accepting this message and its turn starting; turns run one at a time per session">Queued ${escape(wait)}</small>` : '');
165
+ ? `<small class="turn-wait" title="Accepted ${escape(time(turn.startedAt, timezone))}; waiting for the previous turn in this session to finish">Queued${wait ? ' · ' + escape(wait) : ''}</small>`
166
+ : '';
155
167
  const pendingNote = turn.pending ? '<p class="muted">This message has been accepted and is waiting for the previous turn in this session to finish. Token usage is recorded once its own turn runs, so this row is not counted in any total.</p>' : '';
156
- return `<tr class="turn-row${turn.pending ? ' turn-pending' : ''}" tabindex="0" aria-expanded="false" data-turn-id="${escape(turn.id)}" data-category="${escape(turn.category)}" data-model="${escape(turn.model || '')}" data-status="${escape(turn.state || '')}"><td><strong>${escape(number)}</strong><small title="${escape(started.title)}">${escape(started.label)}</small>${waitLine}<small class="cell-model" title="${escape(turn.model)}">${escape(turn.model || '—')}</small></td><td><span class="turn-kind ${escape(turn.category)}">${escape(badge)}</span><strong class="turn-excerpt" title="${escape(title.slice(0, 1000))}">${escape(title.slice(0, 180))}${title.length > 180 ? '…' : ''}</strong>${turn.state ? statusBadge(turn.state) : ''}</td><td>${n(turn.usage?.inputTokens)}</td><td>${cacheWrite(turn.usage)}</td><td>${n(turn.usage?.cacheReadTokens)}</td><td>${n(turn.usage?.outputTokens)}</td><td><strong>${n(turn.usage?.totalTokens)}</strong></td><td>${turn.usage ? '<strong>' + cachedRatio(turn.usage.inputTokens, turn.usage.cacheReadTokens, turn.usage.cacheCreationTokens).toFixed(2) + '%</strong>' : '—'}</td><td>${tools('Loaded', turn.contextTools)}${tools('Used', turn.usedTools)}</td></tr><tr class="turn-extra" hidden data-turn-id="${escape(turn.id)}" data-category="${escape(turn.category)}"><td colspan="9"><h3>Conversation & request details</h3><p class="muted">Role: ${escape(turn.role)} · Turn ${escape(turn.id)}${turn.taskId ? ' · Task ' + escape(turn.taskId) : ''}${turn.endedAt ? ' · Ended ' + escape(time(turn.endedAt, timezone)) : ''}${wait ? ' · ' + escape(turn.pending ? 'Waiting ' + wait : 'Queued ' + wait + ' before starting') : ''}</p>${pendingNote}${conversationDetails(turn)}${requestDetails(turn.requests, turn.usage)}${turn.contextTools ? '<h3>Loaded tools</h3>' + (0, dashboard_presentation_1.toolNameList)(turn.contextTools) : ''}<h3>Used tools</h3>${(0, dashboard_presentation_1.toolNameList)(turn.usedTools)}<p class="muted">Loaded counts distinct schemas observed in requests, including referenced deferred tools. Used counts distinct tool names executed. ${turn.schemaCoverage ? `Schema capture: ${turn.schemaCoverage.measured}/${turn.schemaCoverage.total} observed requests.` : 'Schema capture was not recorded for this turn.'}</p></td></tr>`;
168
+ return `<tr class="turn-row${turn.pending ? ' turn-pending' : ''}" tabindex="0" aria-expanded="false" data-turn-id="${escape(turn.id)}" data-category="${escape(turn.category)}" data-model="${escape(turn.model || '')}" data-status="${escape(turn.state || '')}"><td><strong>${escape(number)}</strong><small title="${escape(started.title)}">${escape(started.label)}</small>${waitLine}<small class="cell-model" title="${escape(turn.model)}">${escape(turn.model || '—')}</small></td><td><span class="turn-kind ${escape(turn.category)}">${escape(badge)}</span><strong class="turn-excerpt" title="${escape(title.slice(0, 1000))}">${escape(title.slice(0, 180))}${title.length > 180 ? '…' : ''}</strong>${turn.state ? statusBadge(turn.state) : ''}</td><td>${n(turn.usage?.inputTokens)}</td><td>${cacheWrite(turn.usage)}</td><td>${n(turn.usage?.cacheReadTokens)}</td><td>${n(turn.usage?.outputTokens)}</td><td><strong>${n(turn.usage?.totalTokens)}</strong></td><td>${turn.usage ? '<strong>' + cachedRatio(turn.usage.inputTokens, turn.usage.cacheReadTokens, turn.usage.cacheCreationTokens).toFixed(2) + '%</strong>' : '—'}</td><td>${tools('Loaded', turn.contextTools)}${tools('Used', turn.usedTools, turn.harness)}</td></tr><tr class="turn-extra" hidden data-turn-id="${escape(turn.id)}" data-category="${escape(turn.category)}"><td colspan="9"><h3>Conversation & request details</h3><div class="turn-metadata muted"><div>Role: ${escape(turn.role)}</div>${turn.role === 'worker' ? '<div>Harness: ' + (turn.harness ? '<span class="harness-badge ' + (turn.harness === 'codex' ? 'harness-codex' : 'harness-claude') + '">' + (turn.harness === 'codex' ? 'Codex' : 'Claude Code') + '</span>' : '') + '</div>' : ''}<div>Model: ${escape(turn.model || '—')}</div><div>Turn ${escape(turn.id)}</div>${turn.taskId ? '<div>Task ' + escape(turn.taskId) + '</div>' : ''}${wait ? '<div>' + escape(turn.pending ? 'Waiting ' + wait : 'Waited ' + wait + ' before starting') + '</div>' : ''}<div>${turn.pending ? 'Queued since' : 'Started'} ${escape(time(turn.startedAt, timezone))}</div><div>Elapsed: ${escape(turnElapsed(turn))}</div></div>${pendingNote}${(0, codex_context_1.codexContextHtml)(turn.contextWindow)}${conversationDetails(turn)}${requestDetails(turn.requests, turn.usage)}${turn.contextTools ? '<h3>Loaded tools</h3>' + (0, dashboard_presentation_1.toolNameList)(turn.contextTools) : ''}<h3>Used tools</h3>${(0, dashboard_presentation_1.toolNameList)(turn.usedTools, turn.harness)}<p class="muted">Loaded counts distinct schemas observed in requests, including referenced deferred tools. Used counts distinct tool names executed. ${turn.schemaCoverage ? `Schema capture: ${turn.schemaCoverage.measured}/${turn.schemaCoverage.total} observed requests.` : 'Schema capture was not recorded for this turn.'}</p></td></tr>`;
157
169
  }).join('');
158
- return `<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Session token report · Claude Gateway</title>${dashboard_theme_1.dashboardFontLink}<style>${dashboard_theme_1.dashboardTheme}
170
+ return `<!DOCTYPE html><html lang="en" data-theme="light"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Session token report · Claude Gateway</title>${dashboard_theme_1.dashboardFontLink}<style>.harness-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:6px;font-size:11px;line-height:1.4;font-weight:500;vertical-align:middle}.harness-codex{background:var(--bluebg);color:var(--blue)}.harness-claude{background:var(--yellowbg);color:var(--yellow)}.turn-metadata{display:grid;gap:6px;margin:12px 0 18px;overflow-wrap:anywhere}${dashboard_theme_1.dashboardTheme}
159
171
  body{padding:28px;background:var(--bg);color:var(--text);font:15px/1.7 system-ui,-apple-system,"Noto Sans Thai",sans-serif}main{max-width:1560px;margin:auto;min-width:0}h1{font-size:28px;margin:20px 0 12px}h2{font-size:17px;color:var(--text);margin:0 0 20px}.report-title{margin:24px 0 18px}.report-header{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}.report-identity{display:flex;flex-direction:column;gap:10px;min-width:0}.report-identity-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}.report-session{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:13px;overflow-wrap:anywhere}.report-range{flex:0 0 auto}.report-range .range-toggle{flex-wrap:nowrap}.report-range .range-toggle button{min-width:44px}.report-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cards .card{padding:22px}.card strong{display:block;font-size:30px;font-weight:500;margin-top:10px}section{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:22px}.muted{font-size:11px;color:var(--muted);overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:400px;overflow:auto;background:var(--raised);padding:16px;border-radius:10px;font:12px/1.7 ui-monospace,monospace}a{color:var(--accent)}.report-pager{display:flex;gap:16px;justify-content:space-between;flex-wrap:wrap;font-size:12px;padding:18px 0}.report-pager-nav{display:inline-flex;gap:8px;flex-wrap:wrap}.stacked-distribution{display:flex;height:24px;overflow:hidden;border-radius:8px;margin:14px 0 22px;background:var(--raised)}.segment{height:100%}.input{--category:var(--token-agent)}.report{--category:var(--token-report)}.worker{--category:var(--token-worker)}.segment+.segment{border-left:3px solid var(--panel)}.segment,.distribution-item i{background:var(--category)}.distribution-legend{display:flex;gap:24px;flex-wrap:wrap}.distribution-item{display:flex;gap:8px;align-items:center;font-size:11px}.distribution-item i{height:9px;width:9px;border-radius:3px}.turn-kind{display:inline-block;padding:3px 8px;border-radius:5px;background:color-mix(in srgb,var(--category) 12%,var(--panel));color:var(--category);font-size:10px;font-weight:550}.turn-excerpt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7;margin:7px 0;font-weight:500}.cache-write{display:inline-flex;flex-wrap:wrap;gap:0 4px;max-width:100%;white-space:normal}.cache-duration{font-size:11px;color:var(--muted);white-space:nowrap}.report-table{width:100%;min-width:1000px;table-layout:fixed}.report-table>thead>tr>th,.report-table>tbody>.turn-row>td{padding:12px 8px}.report-table>tbody>.turn-row>td:nth-child(n+3){white-space:nowrap;font-size:14px}.report-table td:not(:first-child){font-variant-numeric:tabular-nums}.report-table .turn-extra td{padding-top:0}.turn-extra summary{font-size:11px;color:var(--muted);cursor:pointer}.turn-extra table{min-width:760px}.turn-extra details{margin:8px 0}.report-table details p{max-width:100%;overflow-wrap:anywhere;white-space:normal}.report-table th{white-space:normal;line-height:1.4}.report-table td small{font-size:10px}.report-table .turn-row>td:first-child>strong,.report-table .turn-row>td:first-child>small{display:block}.cell-model{overflow-wrap:anywhere;white-space:normal}.report-table td{border-bottom:0}.turn-extra td{border-bottom:1px solid var(--line)!important}.report-table details{font-size:11px}body[data-theme=dark]{color:var(--text)}@media(max-width:700px){body{padding:16px}.cards{grid-template-columns:1fr}section{padding:16px}}
160
172
  .report-table,.footprint-table{font-size:13px;line-height:1.7}.report-table td small,.muted{font-size:12px}.turn-kind,.report-table details,.turn-extra summary,.distribution-item{font-size:12px}.turn-excerpt{font-weight:650}.report-table td>strong,.distribution-item strong,.footprint-table td:first-child,.footprint-table td:nth-child(2){font-weight:700}.report-table th,.footprint-table th{font-size:12px;letter-spacing:.03em}.footprint-table{min-width:800px;table-layout:fixed}.footprint-table th:first-child{width:30%}.footprint-table th:nth-child(2),.footprint-table th:nth-child(3){width:15%}.footprint-table td{overflow-wrap:anywhere}
161
173
  .report-table .turn-extra{font-size:13px;line-height:1.7}.report-table .turn-extra p,.report-table .turn-extra .muted,.report-table .turn-extra summary,.report-table .turn-extra pre,.report-table .turn-extra td{font-size:13px;line-height:1.7}.report-table .turn-extra h3{font-size:13px;font-weight:700;margin:18px 0 8px}.report-table .turn-extra pre{font-family:inherit;font-weight:400}.turn-status{display:flex;align-items:center;gap:8px}.turn-status .badge{font-size:12px;font-weight:500}.turn-extra>td>details>summary{font-weight:600}
@@ -1 +1 @@
1
- {"version":3,"file":"token-report.js","sourceRoot":"","sources":["../../src/ui/token-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-report.js","sourceRoot":"","sources":["../../src/ui/token-report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web-ui.d.ts","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAQ,GAAG,MAAM,CAwtD9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,SAAK,GAAG,MAAM,CA6F7D"}
1
+ {"version":3,"file":"web-ui.d.ts","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,SAAQ,GAAG,MAAM,CAyoD9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,SAAK,GAAG,MAAM,CA6F7D"}