@0xmaxma/claude-gateway 2.0.4 → 2.0.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 (276) hide show
  1. package/README.md +10 -1
  2. package/dist/agent/builtin-commands.d.ts +1 -1
  3. package/dist/agent/builtin-commands.d.ts.map +1 -1
  4. package/dist/agent/builtin-commands.js +3 -2
  5. package/dist/agent/builtin-commands.js.map +1 -1
  6. package/dist/agent/runner.d.ts +123 -9
  7. package/dist/agent/runner.d.ts.map +1 -1
  8. package/dist/agent/runner.js +215 -182
  9. package/dist/agent/runner.js.map +1 -1
  10. package/dist/agent/session-compaction-scheduler.d.ts +22 -0
  11. package/dist/agent/session-compaction-scheduler.d.ts.map +1 -0
  12. package/dist/agent/session-compaction-scheduler.js +40 -0
  13. package/dist/agent/session-compaction-scheduler.js.map +1 -0
  14. package/dist/agent/skill-learning/index.d.ts.map +1 -1
  15. package/dist/agent/skill-learning/index.js +27 -8
  16. package/dist/agent/skill-learning/index.js.map +1 -1
  17. package/dist/agent/skill-learning/reviewer.d.ts +3 -1
  18. package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
  19. package/dist/agent/skill-learning/reviewer.js +6 -2
  20. package/dist/agent/skill-learning/reviewer.js.map +1 -1
  21. package/dist/agent/turn-stream.d.ts +3 -1
  22. package/dist/agent/turn-stream.d.ts.map +1 -1
  23. package/dist/agent/turn-stream.js +8 -4
  24. package/dist/agent/turn-stream.js.map +1 -1
  25. package/dist/api/gateway-router.d.ts +2 -0
  26. package/dist/api/gateway-router.d.ts.map +1 -1
  27. package/dist/api/gateway-router.js +323 -16
  28. package/dist/api/gateway-router.js.map +1 -1
  29. package/dist/api/memory-activity.d.ts +18 -0
  30. package/dist/api/memory-activity.d.ts.map +1 -0
  31. package/dist/api/memory-activity.js +97 -0
  32. package/dist/api/memory-activity.js.map +1 -0
  33. package/dist/api/router.js +11 -11
  34. package/dist/api/router.js.map +1 -1
  35. package/dist/api/slack-webhook-router.js +1 -1
  36. package/dist/api/slack-webhook-router.js.map +1 -1
  37. package/dist/api/voice-router.d.ts +1 -0
  38. package/dist/api/voice-router.d.ts.map +1 -1
  39. package/dist/api/voice-router.js +129 -7
  40. package/dist/api/voice-router.js.map +1 -1
  41. package/dist/config/claude-settings.d.ts +14 -0
  42. package/dist/config/claude-settings.d.ts.map +1 -1
  43. package/dist/config/claude-settings.js +20 -0
  44. package/dist/config/claude-settings.js.map +1 -1
  45. package/dist/orchestration/agent-cli-session.d.ts +46 -0
  46. package/dist/orchestration/agent-cli-session.d.ts.map +1 -0
  47. package/dist/orchestration/agent-cli-session.js +121 -0
  48. package/dist/orchestration/agent-cli-session.js.map +1 -0
  49. package/dist/orchestration/agent-tool-schemas.d.ts +6 -0
  50. package/dist/orchestration/agent-tool-schemas.d.ts.map +1 -0
  51. package/dist/orchestration/agent-tool-schemas.js +23 -0
  52. package/dist/orchestration/agent-tool-schemas.js.map +1 -0
  53. package/dist/orchestration/bridge.d.ts +6 -3
  54. package/dist/orchestration/bridge.d.ts.map +1 -1
  55. package/dist/orchestration/bridge.js +31 -14
  56. package/dist/orchestration/bridge.js.map +1 -1
  57. package/dist/orchestration/browser-voice.d.ts +14 -0
  58. package/dist/orchestration/browser-voice.d.ts.map +1 -0
  59. package/dist/orchestration/browser-voice.js +30 -0
  60. package/dist/orchestration/browser-voice.js.map +1 -0
  61. package/dist/orchestration/compact-measurements.d.ts +21 -0
  62. package/dist/orchestration/compact-measurements.d.ts.map +1 -0
  63. package/dist/orchestration/compact-measurements.js +62 -0
  64. package/dist/orchestration/compact-measurements.js.map +1 -0
  65. package/dist/orchestration/config.d.ts +4 -0
  66. package/dist/orchestration/config.d.ts.map +1 -1
  67. package/dist/orchestration/config.js +1 -1
  68. package/dist/orchestration/config.js.map +1 -1
  69. package/dist/orchestration/context-delivery.d.ts +32 -0
  70. package/dist/orchestration/context-delivery.d.ts.map +1 -0
  71. package/dist/orchestration/context-delivery.js +101 -0
  72. package/dist/orchestration/context-delivery.js.map +1 -0
  73. package/dist/orchestration/context-footprint.d.ts +14 -0
  74. package/dist/orchestration/context-footprint.d.ts.map +1 -0
  75. package/dist/orchestration/context-footprint.js +57 -0
  76. package/dist/orchestration/context-footprint.js.map +1 -0
  77. package/dist/orchestration/conversation-intake.d.ts +10 -6
  78. package/dist/orchestration/conversation-intake.d.ts.map +1 -1
  79. package/dist/orchestration/conversation-intake.js +22 -8
  80. package/dist/orchestration/conversation-intake.js.map +1 -1
  81. package/dist/orchestration/dashboard-charts.d.ts +32 -0
  82. package/dist/orchestration/dashboard-charts.d.ts.map +1 -0
  83. package/dist/orchestration/dashboard-charts.js +77 -0
  84. package/dist/orchestration/dashboard-charts.js.map +1 -0
  85. package/dist/orchestration/dashboard-reader-worker.d.ts +2 -0
  86. package/dist/orchestration/dashboard-reader-worker.d.ts.map +1 -0
  87. package/dist/orchestration/dashboard-reader-worker.js +173 -0
  88. package/dist/orchestration/dashboard-reader-worker.js.map +1 -0
  89. package/dist/orchestration/dashboard-reader.d.ts +15 -0
  90. package/dist/orchestration/dashboard-reader.d.ts.map +1 -0
  91. package/dist/orchestration/dashboard-reader.js +87 -0
  92. package/dist/orchestration/dashboard-reader.js.map +1 -0
  93. package/dist/orchestration/decision-context.d.ts +15 -0
  94. package/dist/orchestration/decision-context.d.ts.map +1 -0
  95. package/dist/orchestration/decision-context.js +57 -0
  96. package/dist/orchestration/decision-context.js.map +1 -0
  97. package/dist/orchestration/display-stream.d.ts +21 -2
  98. package/dist/orchestration/display-stream.d.ts.map +1 -1
  99. package/dist/orchestration/display-stream.js +61 -8
  100. package/dist/orchestration/display-stream.js.map +1 -1
  101. package/dist/orchestration/inference-errors.d.ts.map +1 -1
  102. package/dist/orchestration/inference-errors.js +19 -21
  103. package/dist/orchestration/inference-errors.js.map +1 -1
  104. package/dist/orchestration/mutation-recovery.d.ts +13 -0
  105. package/dist/orchestration/mutation-recovery.d.ts.map +1 -0
  106. package/dist/orchestration/mutation-recovery.js +49 -0
  107. package/dist/orchestration/mutation-recovery.js.map +1 -0
  108. package/dist/orchestration/native-compact.d.ts +8 -0
  109. package/dist/orchestration/native-compact.d.ts.map +1 -0
  110. package/dist/orchestration/native-compact.js +33 -0
  111. package/dist/orchestration/native-compact.js.map +1 -0
  112. package/dist/orchestration/notification-mailbox.d.ts +3 -1
  113. package/dist/orchestration/notification-mailbox.d.ts.map +1 -1
  114. package/dist/orchestration/notification-mailbox.js +4 -2
  115. package/dist/orchestration/notification-mailbox.js.map +1 -1
  116. package/dist/orchestration/process-turn.d.ts +16 -2
  117. package/dist/orchestration/process-turn.d.ts.map +1 -1
  118. package/dist/orchestration/process-turn.js +78 -14
  119. package/dist/orchestration/process-turn.js.map +1 -1
  120. package/dist/orchestration/progress-review.d.ts +8 -18
  121. package/dist/orchestration/progress-review.d.ts.map +1 -1
  122. package/dist/orchestration/progress-review.js +12 -14
  123. package/dist/orchestration/progress-review.js.map +1 -1
  124. package/dist/orchestration/provider-message.d.ts +7 -0
  125. package/dist/orchestration/provider-message.d.ts.map +1 -0
  126. package/dist/orchestration/provider-message.js +63 -0
  127. package/dist/orchestration/provider-message.js.map +1 -0
  128. package/dist/orchestration/response-errors.d.ts +6 -0
  129. package/dist/orchestration/response-errors.d.ts.map +1 -0
  130. package/dist/orchestration/response-errors.js +88 -0
  131. package/dist/orchestration/response-errors.js.map +1 -0
  132. package/dist/orchestration/response-schema.d.ts +33 -0
  133. package/dist/orchestration/response-schema.d.ts.map +1 -0
  134. package/dist/orchestration/response-schema.js +61 -0
  135. package/dist/orchestration/response-schema.js.map +1 -0
  136. package/dist/orchestration/runtime.d.ts +79 -0
  137. package/dist/orchestration/runtime.d.ts.map +1 -1
  138. package/dist/orchestration/runtime.js +415 -68
  139. package/dist/orchestration/runtime.js.map +1 -1
  140. package/dist/orchestration/session-compaction.d.ts +59 -0
  141. package/dist/orchestration/session-compaction.d.ts.map +1 -0
  142. package/dist/orchestration/session-compaction.js +212 -0
  143. package/dist/orchestration/session-compaction.js.map +1 -0
  144. package/dist/orchestration/skills.d.ts.map +1 -1
  145. package/dist/orchestration/skills.js +3 -2
  146. package/dist/orchestration/skills.js.map +1 -1
  147. package/dist/orchestration/source-policy.d.ts +1 -1
  148. package/dist/orchestration/source-policy.d.ts.map +1 -1
  149. package/dist/orchestration/source-policy.js +1 -1
  150. package/dist/orchestration/speech.d.ts +15 -17
  151. package/dist/orchestration/speech.d.ts.map +1 -1
  152. package/dist/orchestration/speech.js +90 -30
  153. package/dist/orchestration/speech.js.map +1 -1
  154. package/dist/orchestration/store.d.ts +2 -0
  155. package/dist/orchestration/store.d.ts.map +1 -1
  156. package/dist/orchestration/store.js +16 -1
  157. package/dist/orchestration/store.js.map +1 -1
  158. package/dist/orchestration/tasks/driver.d.ts.map +1 -1
  159. package/dist/orchestration/tasks/driver.js +8 -3
  160. package/dist/orchestration/tasks/driver.js.map +1 -1
  161. package/dist/orchestration/tasks/pool.d.ts.map +1 -1
  162. package/dist/orchestration/tasks/pool.js +8 -4
  163. package/dist/orchestration/tasks/pool.js.map +1 -1
  164. package/dist/orchestration/tasks/service.d.ts +48 -1
  165. package/dist/orchestration/tasks/service.d.ts.map +1 -1
  166. package/dist/orchestration/tasks/service.js +41 -17
  167. package/dist/orchestration/tasks/service.js.map +1 -1
  168. package/dist/orchestration/token-ledger.d.ts +132 -0
  169. package/dist/orchestration/token-ledger.d.ts.map +1 -0
  170. package/dist/orchestration/token-ledger.js +233 -0
  171. package/dist/orchestration/token-ledger.js.map +1 -0
  172. package/dist/orchestration/token-usage.d.ts +46 -0
  173. package/dist/orchestration/token-usage.d.ts.map +1 -0
  174. package/dist/orchestration/token-usage.js +102 -0
  175. package/dist/orchestration/token-usage.js.map +1 -0
  176. package/dist/orchestration/tool-activity.d.ts.map +1 -1
  177. package/dist/orchestration/tool-activity.js +5 -3
  178. package/dist/orchestration/tool-activity.js.map +1 -1
  179. package/dist/orchestration/tool-name.d.ts +10 -0
  180. package/dist/orchestration/tool-name.d.ts.map +1 -0
  181. package/dist/orchestration/tool-name.js +14 -0
  182. package/dist/orchestration/tool-name.js.map +1 -0
  183. package/dist/orchestration/transcript-checkpoint.d.ts +14 -0
  184. package/dist/orchestration/transcript-checkpoint.d.ts.map +1 -0
  185. package/dist/orchestration/transcript-checkpoint.js +83 -0
  186. package/dist/orchestration/transcript-checkpoint.js.map +1 -0
  187. package/dist/orchestration/unanswered-inputs.d.ts +6 -0
  188. package/dist/orchestration/unanswered-inputs.d.ts.map +1 -0
  189. package/dist/orchestration/unanswered-inputs.js +18 -0
  190. package/dist/orchestration/unanswered-inputs.js.map +1 -0
  191. package/dist/session/process.d.ts +10 -0
  192. package/dist/session/process.d.ts.map +1 -1
  193. package/dist/session/process.js +91 -9
  194. package/dist/session/process.js.map +1 -1
  195. package/dist/session/request-tool-capture.d.ts +31 -0
  196. package/dist/session/request-tool-capture.d.ts.map +1 -0
  197. package/dist/session/request-tool-capture.js +194 -0
  198. package/dist/session/request-tool-capture.js.map +1 -0
  199. package/dist/session/runtime-profile.d.ts +7 -3
  200. package/dist/session/runtime-profile.d.ts.map +1 -1
  201. package/dist/session/runtime-profile.js +3 -1
  202. package/dist/session/runtime-profile.js.map +1 -1
  203. package/dist/session/store.d.ts +7 -0
  204. package/dist/session/store.d.ts.map +1 -1
  205. package/dist/session/store.js +27 -0
  206. package/dist/session/store.js.map +1 -1
  207. package/dist/shell/tailer.d.ts +7 -5
  208. package/dist/shell/tailer.d.ts.map +1 -1
  209. package/dist/shell/tailer.js +6 -17
  210. package/dist/shell/tailer.js.map +1 -1
  211. package/dist/types.d.ts +3 -0
  212. package/dist/types.d.ts.map +1 -1
  213. package/dist/ui/cli-viewer-ui.js +1 -1
  214. package/dist/ui/dashboard-charts.d.ts +3 -0
  215. package/dist/ui/dashboard-charts.d.ts.map +1 -0
  216. package/dist/ui/dashboard-charts.js +130 -0
  217. package/dist/ui/dashboard-charts.js.map +1 -0
  218. package/dist/ui/dashboard-client.d.ts +3 -0
  219. package/dist/ui/dashboard-client.d.ts.map +1 -0
  220. package/dist/ui/dashboard-client.js +184 -0
  221. package/dist/ui/dashboard-client.js.map +1 -0
  222. package/dist/ui/dashboard-controls.d.ts +4 -0
  223. package/dist/ui/dashboard-controls.d.ts.map +1 -0
  224. package/dist/ui/dashboard-controls.js +27 -0
  225. package/dist/ui/dashboard-controls.js.map +1 -0
  226. package/dist/ui/dashboard-presentation.d.ts +12 -0
  227. package/dist/ui/dashboard-presentation.d.ts.map +1 -0
  228. package/dist/ui/dashboard-presentation.js +62 -0
  229. package/dist/ui/dashboard-presentation.js.map +1 -0
  230. package/dist/ui/dashboard-range.d.ts +5 -0
  231. package/dist/ui/dashboard-range.d.ts.map +1 -0
  232. package/dist/ui/dashboard-range.js +36 -0
  233. package/dist/ui/dashboard-range.js.map +1 -0
  234. package/dist/ui/dashboard-theme.d.ts +6 -0
  235. package/dist/ui/dashboard-theme.d.ts.map +1 -0
  236. package/dist/ui/dashboard-theme.js +562 -0
  237. package/dist/ui/dashboard-theme.js.map +1 -0
  238. package/dist/ui/memory-activity.d.ts +4 -0
  239. package/dist/ui/memory-activity.d.ts.map +1 -0
  240. package/dist/ui/memory-activity.js +115 -0
  241. package/dist/ui/memory-activity.js.map +1 -0
  242. package/dist/ui/token-report-client.d.ts +3 -0
  243. package/dist/ui/token-report-client.d.ts.map +1 -0
  244. package/dist/ui/token-report-client.js +34 -0
  245. package/dist/ui/token-report-client.js.map +1 -0
  246. package/dist/ui/token-report.d.ts +90 -0
  247. package/dist/ui/token-report.d.ts.map +1 -0
  248. package/dist/ui/token-report.js +203 -0
  249. package/dist/ui/token-report.js.map +1 -0
  250. package/dist/ui/web-ui.d.ts +1 -1
  251. package/dist/ui/web-ui.d.ts.map +1 -1
  252. package/dist/ui/web-ui.js +129 -409
  253. package/dist/ui/web-ui.js.map +1 -1
  254. package/dist/voice/replay.d.ts +8 -0
  255. package/dist/voice/replay.d.ts.map +1 -0
  256. package/dist/voice/replay.js +48 -0
  257. package/dist/voice/replay.js.map +1 -0
  258. package/dist/voice/session.d.ts +9 -0
  259. package/dist/voice/session.d.ts.map +1 -1
  260. package/dist/voice/session.js +72 -14
  261. package/dist/voice/session.js.map +1 -1
  262. package/mcp/lazy-connector.test.ts +58 -0
  263. package/mcp/lazy-connector.ts +67 -0
  264. package/mcp/lazy-tools.test.ts +152 -0
  265. package/mcp/lazy-tools.ts +41 -0
  266. package/mcp/server.ts +53 -34
  267. package/mcp/tools/discord/commands.ts +2 -0
  268. package/mcp/tools/tasks/module.ts +1 -12
  269. package/mcp/tools/telegram/receiver-server.ts +45 -31
  270. package/mcp/tools/telegram/session-browser.ts +10 -0
  271. package/package.json +2 -1
  272. package/resource/dashboard/OFL.txt +93 -0
  273. package/resource/dashboard/poppins-300.woff2 +0 -0
  274. package/resource/dashboard/poppins-400.woff2 +0 -0
  275. package/resource/dashboard/poppins-500.woff2 +0 -0
  276. package/resource/dashboard/poppins-600.woff2 +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/orchestration/tasks/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/orchestration/tasks/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import type { ManagedTurnMetrics } from './process-turn';
2
+ import { OrchestrationStore } from './store';
3
+ export interface TokenTurn extends ManagedTurnMetrics {
4
+ id: string;
5
+ sessionId: string;
6
+ role: 'agent' | 'worker';
7
+ category: 'input' | 'report' | 'worker';
8
+ taskId?: string;
9
+ taskRevision?: number;
10
+ inputTexts?: string[];
11
+ inputModalities?: string[];
12
+ inputSequences?: number[];
13
+ responseText?: string;
14
+ taskTitle?: string;
15
+ state?: string;
16
+ failureCode?: string;
17
+ /** Stored attempt number for a worker turn; the stable label for a row that has
18
+ * no input_seq of its own. */
19
+ attemptGeneration?: number;
20
+ /** This row is an accepted input that has no measured turn yet. Never real usage:
21
+ * it is derived on read and is absent from token_turns, so no aggregate sees it. */
22
+ pending?: true;
23
+ /** How long the input waited between acceptance and its turn starting — or, on a
24
+ * pending row, how long it has been waiting so far. */
25
+ queuedMs?: number;
26
+ }
27
+ /** Latest observed request in the most recent agent turn, including its output.
28
+ * A peak earlier in the turn may predate compaction and is not current context. */
29
+ export declare function latestAgentContextWindow(store: Pick<OrchestrationStore, 'get'>, sessionId: string): {
30
+ used: number;
31
+ total: number | null;
32
+ model: string | null;
33
+ } | null;
34
+ export declare function measuredTurns(store: OrchestrationStore, sessionId: string): TokenTurn[];
35
+ export declare function recordTokenTurn(store: OrchestrationStore, turn: TokenTurn): void;
36
+ export declare function tokenReport(store: OrchestrationStore, sessionId: string, includeDetails?: boolean): {
37
+ sessionId: string;
38
+ turns: TokenTurn[];
39
+ usageByRole: {
40
+ role: string;
41
+ inputTokens: number;
42
+ cacheCreationTokens: number;
43
+ cacheReadTokens: number;
44
+ outputTokens: number;
45
+ }[];
46
+ contextWindow: {
47
+ used: number;
48
+ total: number | null;
49
+ model: string | null;
50
+ } | null;
51
+ totals: {
52
+ agentTokens: number | null;
53
+ workerTokens: number | null;
54
+ totalTokens: number | null;
55
+ };
56
+ distribution: {
57
+ category: string;
58
+ tokens: number;
59
+ }[];
60
+ pagination: {
61
+ total: number;
62
+ offset: number;
63
+ limit: number;
64
+ since?: number;
65
+ newestFirst?: boolean;
66
+ } | undefined;
67
+ coverage: "recorded-turns-only";
68
+ };
69
+ /** Accepted inputs that have no measured ledger turn yet.
70
+ *
71
+ * Turns are serialised per session on purpose (runtime.ts skips a session that already
72
+ * has a decision in flight), so a message sent while the previous turn is still running
73
+ * waits — occasionally minutes — before its own decision starts, and the token_turns row
74
+ * only appears with that turn's first usage event. Until then the report had no row for
75
+ * the message at all, which is why a queued message looked lost.
76
+ *
77
+ * These rows are DERIVED ON EVERY READ from conversation_inputs rather than written into
78
+ * token_turns, which is what the rest of this read path already does for decisions,
79
+ * responses, tasks and attempts. Two properties fall out of that choice for free:
80
+ * - the ledger stays purely measured usage, so no total, average, distribution or
81
+ * %cached query can ever see a pending row (they all sum token_turns);
82
+ * - a pending row cannot get stuck. It exists only while the input is genuinely still
83
+ * 'accepted'/'assigned' with no measured turn, so a handled, interrupted or replaced
84
+ * input drops out immediately, and a gateway restart (recovery.ts resets 'assigned'
85
+ * back to 'accepted') leaves it truthfully queued rather than permanently "running".
86
+ */
87
+ export declare function pendingInputTurns(store: Pick<OrchestrationStore, 'all'>, sessionId: string, since?: number, hasLedger?: boolean, now?: number): TokenTurn[];
88
+ export declare function readTokenReport(store: Pick<OrchestrationStore, 'all' | 'get' | 'attempt'>, sessionId: string, includeDetails?: boolean, page?: {
89
+ offset: number;
90
+ limit: number;
91
+ since?: number;
92
+ newestFirst?: boolean;
93
+ }): {
94
+ sessionId: string;
95
+ turns: TokenTurn[];
96
+ usageByRole: {
97
+ role: string;
98
+ inputTokens: number;
99
+ cacheCreationTokens: number;
100
+ cacheReadTokens: number;
101
+ outputTokens: number;
102
+ }[];
103
+ contextWindow: {
104
+ used: number;
105
+ total: number | null;
106
+ model: string | null;
107
+ } | null;
108
+ totals: {
109
+ agentTokens: number | null;
110
+ workerTokens: number | null;
111
+ totalTokens: number | null;
112
+ };
113
+ distribution: {
114
+ category: string;
115
+ tokens: number;
116
+ }[];
117
+ pagination: {
118
+ total: number;
119
+ offset: number;
120
+ limit: number;
121
+ since?: number;
122
+ newestFirst?: boolean;
123
+ } | undefined;
124
+ coverage: "recorded-turns-only";
125
+ };
126
+ export declare function summarizeTokenTurns(turns: TokenTurn[]): {
127
+ totalTokens: number | null;
128
+ contextTools: string[] | null;
129
+ loadedTools: string[] | null;
130
+ usedTools: string[];
131
+ };
132
+ //# sourceMappingURL=token-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-ledger.d.ts","sourceRoot":"","sources":["../../src/orchestration/token-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;mCAC+B;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;yFACqF;IACrF,OAAO,CAAC,EAAE,IAAI,CAAC;IACf;4DACwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;mFACmF;AACnF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAevK;AAID,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,CAqBvF;AAWD,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAchF;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,UAAO;;;;;;;;;;;cAlEc,MAAM;eAAS,MAAM,GAAG,IAAI;eAAS,MAAM,GAAG,IAAI;;;;;;;;;;;;;gBA6GT,MAAM;eAAS,MAAM;gBAAU,MAAM;sBAAgB,OAAO;;;EAxCjN;AACD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EACzF,KAAK,SAAI,EAAE,SAAS,UAAO,EAAE,GAAG,SAAa,GAAG,SAAS,EAAE,CAmB5D;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,UAAO,EAAE,IAAI,CAAC,EAAE;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAC;;;;;;;;;;;cA7GtG,MAAM;eAAS,MAAM,GAAG,IAAI;eAAS,MAAM,GAAG,IAAI;;;;;;;;;;;;;gBA6GT,MAAM;eAAS,MAAM;gBAAU,MAAM;sBAAgB,OAAO;;;EA+EjN;AAAA,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,EAAE;;;;;EAOtD"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.latestAgentContextWindow = latestAgentContextWindow;
4
+ exports.measuredTurns = measuredTurns;
5
+ exports.recordTokenTurn = recordTokenTurn;
6
+ exports.tokenReport = tokenReport;
7
+ exports.pendingInputTurns = pendingInputTurns;
8
+ exports.readTokenReport = readTokenReport;
9
+ exports.summarizeTokenTurns = summarizeTokenTurns;
10
+ const token_usage_1 = require("./token-usage");
11
+ const initialized = new WeakSet();
12
+ /** Latest observed request in the most recent agent turn, including its output.
13
+ * A peak earlier in the turn may predate compaction and is not current context. */
14
+ function latestAgentContextWindow(store, sessionId) {
15
+ const row = store.get(`SELECT payload_json FROM token_turns WHERE session_id=? AND role='agent' AND EXISTS (SELECT 1 FROM json_each(token_turns.payload_json,'$.requests') r WHERE json_type(r.value,'$.usage')='object') ORDER BY started_at DESC,id DESC LIMIT 1`, sessionId);
16
+ if (!row)
17
+ return null;
18
+ let turn;
19
+ try {
20
+ turn = JSON.parse(String(row.payload_json));
21
+ }
22
+ catch {
23
+ return null;
24
+ }
25
+ const requests = Array.isArray(turn.requests) ? turn.requests : [];
26
+ let best = null;
27
+ for (const request of requests) {
28
+ const usage = request?.usage;
29
+ if (!usage)
30
+ continue;
31
+ const context = Number(usage.inputTokens ?? 0) + Number(usage.cacheReadTokens ?? 0) + Number(usage.cacheCreationTokens ?? 0);
32
+ best = { context, total: Number(usage.totalTokens ?? 0) };
33
+ }
34
+ if (!best)
35
+ return null;
36
+ return { used: best.total, total: null, model: typeof turn.model === 'string' ? turn.model : null };
37
+ }
38
+ // Dashboard polling never reloads full request arrays or conversation text.
39
+ // Cache only projected measurements, invalidate the affected session on writes.
40
+ const summaries = new WeakMap();
41
+ function measuredTurns(store, sessionId) {
42
+ ensure(store);
43
+ let cache = summaries.get(store);
44
+ if (!cache) {
45
+ cache = new Map();
46
+ summaries.set(store, cache);
47
+ }
48
+ const found = cache.get(sessionId);
49
+ if (found)
50
+ return found;
51
+ const turns = store.all(`SELECT id, role, task_id, started_at,
52
+ json_extract(payload_json,'$.usage') AS usage,
53
+ json_extract(payload_json,'$.loadedTools') AS loaded_tools,
54
+ json_extract(payload_json,'$.contextTools') AS context_tools,
55
+ json_extract(payload_json,'$.usedTools') AS used_tools
56
+ FROM token_turns WHERE session_id=? ORDER BY started_at,id`, sessionId).map(row => ({
57
+ id: String(row.id), sessionId, role: String(row.role), category: String(row.role) === 'worker' ? 'worker' : 'input',
58
+ taskId: row.task_id == null ? undefined : String(row.task_id), startedAt: Number(row.started_at), toolIds: [], inputTokens: 0, totalTokens: 0,
59
+ contextTools: row.context_tools == null ? null : JSON.parse(String(row.context_tools)),
60
+ usage: row.usage == null ? null : JSON.parse(String(row.usage)), loadedTools: row.loaded_tools == null ? null : JSON.parse(String(row.loaded_tools)),
61
+ usedTools: row.used_tools == null ? [] : JSON.parse(String(row.used_tools)),
62
+ }));
63
+ if (cache.size >= 64)
64
+ cache.delete(cache.keys().next().value);
65
+ cache.set(sessionId, turns);
66
+ return turns;
67
+ }
68
+ function ensure(store) {
69
+ if (initialized.has(store))
70
+ return;
71
+ store.run(`CREATE TABLE IF NOT EXISTS token_turns(id TEXT PRIMARY KEY, session_id TEXT NOT NULL,
72
+ role TEXT NOT NULL, task_id TEXT, started_at INTEGER NOT NULL, payload_json TEXT NOT NULL)`);
73
+ store.run('CREATE INDEX IF NOT EXISTS token_turns_session ON token_turns(session_id,started_at)');
74
+ store.run(`CREATE TABLE IF NOT EXISTS token_turn_metrics(id TEXT PRIMARY KEY, session_id TEXT NOT NULL, started_at INTEGER NOT NULL, payload_json TEXT NOT NULL)`);
75
+ store.run('CREATE INDEX IF NOT EXISTS token_turn_metrics_session ON token_turn_metrics(session_id,started_at)');
76
+ store.run('CREATE INDEX IF NOT EXISTS token_turns_started ON token_turns(started_at)');
77
+ initialized.add(store);
78
+ }
79
+ function recordTokenTurn(store, turn) {
80
+ ensure(store);
81
+ store.compose(() => {
82
+ store.run(`INSERT INTO token_turns VALUES(?,?,?,?,?,?) ON CONFLICT(id) DO UPDATE SET payload_json=excluded.payload_json`, turn.id, turn.sessionId, turn.role, turn.taskId ?? null, turn.startedAt, JSON.stringify(turn));
83
+ store.run(`INSERT INTO token_turn_metrics VALUES(?,?,?,?) ON CONFLICT(id) DO UPDATE SET payload_json=excluded.payload_json`, turn.id, turn.sessionId, turn.startedAt, JSON.stringify({ ...turn, requests: undefined, inputTexts: undefined, responseText: undefined }));
84
+ });
85
+ const cached = summaries.get(store)?.get(turn.sessionId);
86
+ if (cached) {
87
+ const projection = { ...turn, requests: undefined, inputTexts: undefined, responseText: undefined };
88
+ const index = cached.findIndex(previous => previous.id === turn.id);
89
+ if (index < 0)
90
+ cached.push(projection);
91
+ else
92
+ cached[index] = projection;
93
+ }
94
+ }
95
+ function tokenReport(store, sessionId, includeDetails = true) {
96
+ ensure(store);
97
+ return readTokenReport(store, sessionId, includeDetails);
98
+ }
99
+ /** Accepted inputs that have no measured ledger turn yet.
100
+ *
101
+ * Turns are serialised per session on purpose (runtime.ts skips a session that already
102
+ * has a decision in flight), so a message sent while the previous turn is still running
103
+ * waits — occasionally minutes — before its own decision starts, and the token_turns row
104
+ * only appears with that turn's first usage event. Until then the report had no row for
105
+ * the message at all, which is why a queued message looked lost.
106
+ *
107
+ * These rows are DERIVED ON EVERY READ from conversation_inputs rather than written into
108
+ * token_turns, which is what the rest of this read path already does for decisions,
109
+ * responses, tasks and attempts. Two properties fall out of that choice for free:
110
+ * - the ledger stays purely measured usage, so no total, average, distribution or
111
+ * %cached query can ever see a pending row (they all sum token_turns);
112
+ * - a pending row cannot get stuck. It exists only while the input is genuinely still
113
+ * 'accepted'/'assigned' with no measured turn, so a handled, interrupted or replaced
114
+ * input drops out immediately, and a gateway restart (recovery.ts resets 'assigned'
115
+ * back to 'accepted') leaves it truthfully queued rather than permanently "running".
116
+ */
117
+ function pendingInputTurns(store, sessionId, since = 0, hasLedger = true, now = Date.now()) {
118
+ // An input whose decision already recorded usage is represented by that real turn.
119
+ const measured = hasLedger ? `AND NOT EXISTS (SELECT 1 FROM conversation_decisions d JOIN token_turns t ON t.id=d.id
120
+ WHERE d.conversation_id=i.conversation_id
121
+ AND EXISTS (SELECT 1 FROM json_each(d.input_ids_json) j WHERE j.value=i.id))` : '';
122
+ return store.all(`SELECT i.id,i.input_seq,i.text,i.modality,i.created_at,i.status,i.store_user_message
123
+ FROM conversation_inputs i JOIN conversations c ON c.id=i.conversation_id
124
+ WHERE c.agent_session_id=? AND i.status IN ('accepted','assigned') AND i.created_at>=? ${measured}
125
+ ORDER BY i.created_at DESC,i.input_seq DESC LIMIT 50`, sessionId, since).map(row => ({
126
+ id: String(row.id), sessionId, role: 'agent',
127
+ // store_user_message=0 is an orchestration report request, not a user message.
128
+ category: row.store_user_message ? 'input' : 'report',
129
+ pending: true, startedAt: Number(row.created_at),
130
+ queuedMs: Math.max(0, now - Number(row.created_at)),
131
+ toolIds: [], inputTokens: 0, totalTokens: 0, usage: null,
132
+ inputTexts: [String(row.text)], inputModalities: [String(row.modality)], inputSequences: [Number(row.input_seq)],
133
+ // 'assigned' means its decision has begun but no usage has been reported yet.
134
+ state: String(row.status) === 'assigned' ? 'starting' : 'queued',
135
+ }));
136
+ }
137
+ function readTokenReport(store, sessionId, includeDetails = true, page) {
138
+ const since = page?.since ?? 0;
139
+ const order = page?.newestFirst ? 'DESC' : 'ASC';
140
+ const turns = store.all(`SELECT payload_json FROM token_turns WHERE session_id=? AND started_at>=? ORDER BY started_at ${order},id ${order} LIMIT ? OFFSET ?`, sessionId, since, page?.limit ?? -1, page?.offset ?? 0)
141
+ .map(row => {
142
+ const turn = JSON.parse(String(row.payload_json));
143
+ if (!includeDetails)
144
+ return turn;
145
+ if (turn.role === 'agent') {
146
+ const decision = store.get('SELECT d.* FROM conversation_decisions d JOIN conversations c ON c.id=d.conversation_id WHERE d.id=? AND c.agent_session_id=?', turn.id, sessionId);
147
+ if (decision) {
148
+ const inputs = store.all('SELECT text,modality,input_seq,created_at FROM conversation_inputs WHERE conversation_id=? AND id IN (SELECT value FROM json_each(?)) ORDER BY input_seq', decision.conversation_id, decision.input_ids_json);
149
+ turn.inputTexts = inputs.map(input => String(input.text));
150
+ turn.inputModalities = inputs.map(input => String(input.modality));
151
+ turn.inputSequences = inputs.map(input => Number(input.input_seq));
152
+ // How long the earliest input waited for this turn to start. Serialised turns
153
+ // mean a short message can sit queued for minutes; without this the turn just
154
+ // looks slow instead of "queued behind the previous turn".
155
+ const accepted = inputs.map(input => Number(input.created_at)).filter(value => Number.isFinite(value) && value > 0);
156
+ if (accepted.length && Number.isFinite(Number(decision.started_at)))
157
+ turn.queuedMs = Math.max(0, Number(decision.started_at) - Math.min(...accepted));
158
+ turn.responseText = store.all('SELECT generated_text FROM assistant_responses WHERE decision_id=? ORDER BY created_at,id', turn.id).map(response => String(response.generated_text)).join('\n\n');
159
+ turn.state = String(decision.state);
160
+ if (turn.state === 'failed') {
161
+ const failure = store.get("SELECT json_extract(payload_json,'$.payload.code') code FROM conversation_events WHERE conversation_id=? AND type='response.error' AND json_extract(payload_json,'$.payload.responseId') IN (SELECT id FROM assistant_responses WHERE decision_id=?) ORDER BY seq DESC LIMIT 1", decision.conversation_id, turn.id);
162
+ if (typeof failure?.code === 'string' && /^[A-Z][A-Z0-9_]{0,79}$/.test(failure.code))
163
+ turn.failureCode = failure.code;
164
+ }
165
+ }
166
+ }
167
+ else if (turn.taskId) {
168
+ const task = store.get('SELECT t.snapshot_json FROM tasks t JOIN conversations c ON c.id=t.conversation_id WHERE t.id=? AND c.agent_session_id=?', turn.taskId, sessionId);
169
+ const attempt = store.attempt(turn.id);
170
+ if (task && attempt) {
171
+ const snapshot = JSON.parse(String(task.snapshot_json));
172
+ const revision = store.get('SELECT payload_json FROM task_revisions WHERE task_id=? AND revision=?', turn.taskId, attempt.revision);
173
+ turn.taskTitle = snapshot.title;
174
+ if (revision) {
175
+ const applied = JSON.parse(String(revision.payload_json));
176
+ turn.inputTexts = [`Current applied task revision ${attempt.revision}:\n${applied.instructions}`,
177
+ ...(applied.answers?.length ? ['Answers applied to the assignment (orchestrator interpretation):\n' + JSON.stringify(applied.answers, null, 2)] : []),
178
+ ...(applied.guidance ? ['Recorded supervision advice (may have been superseded by newer evidence):\n' + applied.guidance] : [])];
179
+ if (turn.taskRevision != null && turn.taskRevision !== attempt.revision) {
180
+ const initial = store.get('SELECT payload_json FROM task_revisions WHERE task_id=? AND revision=?', turn.taskId, turn.taskRevision);
181
+ if (initial)
182
+ turn.inputTexts.unshift(`Assignment at attempt start, revision ${turn.taskRevision}:\n${String(initial.payload_json)}`);
183
+ }
184
+ }
185
+ const latestAttempt = snapshot.activeAttemptId === turn.id || store.get('SELECT id FROM task_attempts WHERE task_id=? ORDER BY generation DESC LIMIT 1', turn.taskId)?.id === turn.id;
186
+ turn.state = attempt.state === 'ended'
187
+ ? latestAttempt && snapshot.state === 'cancelled' ? 'cancelled'
188
+ : attempt.result ? 'completed'
189
+ : attempt.failure ? (attempt.failure.code === 'WORKER_STOPPED' ? 'interrupted' : 'failed') : 'ended'
190
+ : attempt.state;
191
+ if (attempt.failure && turn.state !== 'cancelled')
192
+ turn.failureCode = attempt.failure.code;
193
+ if (attempt.result)
194
+ turn.responseText = attempt.result.summary;
195
+ // Stored, stable label for a worker row: it has no input_seq of its own.
196
+ turn.attemptGeneration = Number(attempt.generation);
197
+ // A task's newest result must not be attributed to an older retry.
198
+ if (!attempt.result && latestAttempt)
199
+ turn.responseText = snapshot.result?.summary;
200
+ }
201
+ }
202
+ return turn;
203
+ });
204
+ // Newest page only: a queued input is by definition newer than every recorded turn, so
205
+ // repeating it while paging back through history would be noise. Pending rows are
206
+ // appended to the view, never to token_turns, so every aggregate below ignores them.
207
+ if (includeDetails && !(page?.offset ?? 0))
208
+ turns.push(...pendingInputTurns(store, sessionId, since));
209
+ const totalsByRole = store.all(`SELECT role, SUM(json_extract(payload_json,'$.usage.totalTokens')) total FROM token_turns WHERE session_id=? AND started_at>=? GROUP BY role`, sessionId, since);
210
+ const agentTokens = totalsByRole.find(row => row.role === 'agent')?.total ?? null;
211
+ const workerTokens = totalsByRole.find(row => row.role === 'worker')?.total ?? null;
212
+ const totalTokens = agentTokens === null && workerTokens === null ? null : Number(agentTokens ?? 0) + Number(workerTokens ?? 0);
213
+ const distribution = store.all(`SELECT json_extract(payload_json,'$.category') category, SUM(json_extract(payload_json,'$.usage.totalTokens')) tokens FROM token_turns WHERE session_id=? AND started_at>=? AND json_type(payload_json,'$.usage')='object' GROUP BY category`, sessionId, since).map(r => ({ category: String(r.category), tokens: Number(r.tokens ?? 0) }));
214
+ const usageByRole = store.all(`SELECT role,
215
+ SUM(json_extract(payload_json,'$.usage.inputTokens')) inputTokens,
216
+ SUM(json_extract(payload_json,'$.usage.cacheCreationTokens')) cacheCreationTokens,
217
+ SUM(json_extract(payload_json,'$.usage.cacheReadTokens')) cacheReadTokens,
218
+ SUM(json_extract(payload_json,'$.usage.outputTokens')) outputTokens
219
+ FROM token_turns WHERE session_id=? AND started_at>=? AND json_type(payload_json,'$.usage')='object' GROUP BY role`, sessionId, since)
220
+ .map(row => ({ role: String(row.role), inputTokens: Number(row.inputTokens ?? 0), cacheCreationTokens: Number(row.cacheCreationTokens ?? 0), cacheReadTokens: Number(row.cacheReadTokens ?? 0), outputTokens: Number(row.outputTokens ?? 0) }));
221
+ return { sessionId, turns, usageByRole, contextWindow: latestAgentContextWindow(store, sessionId), totals: { agentTokens: agentTokens === null ? null : Number(agentTokens), workerTokens: workerTokens === null ? null : Number(workerTokens), totalTokens }, distribution,
222
+ pagination: page ? { ...page, total: Number(store.get('SELECT COUNT(*) n FROM token_turns WHERE session_id=? AND started_at>=?', sessionId, since).n) } : undefined,
223
+ coverage: 'recorded-turns-only' };
224
+ }
225
+ function summarizeTokenTurns(turns) {
226
+ const measured = turns.filter(turn => turn.usage);
227
+ const usage = measured.length ? (0, token_usage_1.sumUsage)(measured.map(turn => turn.usage)) : null;
228
+ return { totalTokens: usage?.totalTokens ?? null,
229
+ contextTools: turns.some(turn => turn.contextTools != null) ? [...new Set(turns.flatMap(turn => turn.contextTools ?? []))].sort() : null,
230
+ loadedTools: turns.some(turn => turn.loadedTools != null) ? [...new Set(turns.flatMap(turn => turn.loadedTools ?? []))].sort() : null,
231
+ usedTools: [...new Set(turns.flatMap(turn => turn.usedTools ?? []))].sort() };
232
+ }
233
+ //# sourceMappingURL=token-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-ledger.js","sourceRoot":"","sources":["../../src/orchestration/token-ledger.ts"],"names":[],"mappings":"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"}