takt 0.44.0 → 0.45.0

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 (228) hide show
  1. package/README.md +1 -0
  2. package/dist/agents/judge-status-usecase.d.ts +17 -7
  3. package/dist/agents/judge-status-usecase.d.ts.map +1 -1
  4. package/dist/agents/judge-status-usecase.js +25 -13
  5. package/dist/agents/judge-status-usecase.js.map +1 -1
  6. package/dist/agents/structured-caller/prompt-based-structured-caller.d.ts.map +1 -1
  7. package/dist/agents/structured-caller/prompt-based-structured-caller.js +7 -14
  8. package/dist/agents/structured-caller/prompt-based-structured-caller.js.map +1 -1
  9. package/dist/commands/analyze-usage.d.ts +26 -0
  10. package/dist/commands/analyze-usage.d.ts.map +1 -0
  11. package/dist/commands/analyze-usage.js +305 -0
  12. package/dist/commands/analyze-usage.js.map +1 -0
  13. package/dist/core/logging/contracts.d.ts +1 -0
  14. package/dist/core/logging/contracts.d.ts.map +1 -1
  15. package/dist/core/logging/contracts.js +1 -0
  16. package/dist/core/logging/contracts.js.map +1 -1
  17. package/dist/core/logging/phaseUsageEvent.d.ts +40 -0
  18. package/dist/core/logging/phaseUsageEvent.d.ts.map +1 -0
  19. package/dist/core/logging/phaseUsageEvent.js +195 -0
  20. package/dist/core/logging/phaseUsageEvent.js.map +1 -0
  21. package/dist/core/logging/providerEvent.d.ts +4 -0
  22. package/dist/core/logging/providerEvent.d.ts.map +1 -1
  23. package/dist/core/logging/providerEvent.js +31 -27
  24. package/dist/core/logging/providerEvent.js.map +1 -1
  25. package/dist/core/workflow/arpeggio/types.d.ts +3 -0
  26. package/dist/core/workflow/arpeggio/types.d.ts.map +1 -1
  27. package/dist/core/workflow/engine/ArpeggioRunner.d.ts.map +1 -1
  28. package/dist/core/workflow/engine/ArpeggioRunner.js +9 -0
  29. package/dist/core/workflow/engine/ArpeggioRunner.js.map +1 -1
  30. package/dist/core/workflow/engine/ParallelRunner.d.ts.map +1 -1
  31. package/dist/core/workflow/engine/ParallelRunner.js +1 -0
  32. package/dist/core/workflow/engine/ParallelRunner.js.map +1 -1
  33. package/dist/core/workflow/engine/StepExecutor.d.ts.map +1 -1
  34. package/dist/core/workflow/engine/StepExecutor.js +1 -0
  35. package/dist/core/workflow/engine/StepExecutor.js.map +1 -1
  36. package/dist/core/workflow/engine/team-leader-part-runner.d.ts.map +1 -1
  37. package/dist/core/workflow/engine/team-leader-part-runner.js +1 -0
  38. package/dist/core/workflow/engine/team-leader-part-runner.js.map +1 -1
  39. package/dist/core/workflow/observability/workflowSpans.d.ts +3 -0
  40. package/dist/core/workflow/observability/workflowSpans.d.ts.map +1 -1
  41. package/dist/core/workflow/observability/workflowSpans.js +34 -1
  42. package/dist/core/workflow/observability/workflowSpans.js.map +1 -1
  43. package/dist/core/workflow/report-phase-runner.js +1 -0
  44. package/dist/core/workflow/report-phase-runner.js.map +1 -1
  45. package/dist/core/workflow/status-judgment-phase.d.ts.map +1 -1
  46. package/dist/core/workflow/status-judgment-phase.js +1 -0
  47. package/dist/core/workflow/status-judgment-phase.js.map +1 -1
  48. package/dist/core/workflow/types.d.ts +2 -0
  49. package/dist/core/workflow/types.d.ts.map +1 -1
  50. package/dist/features/interactive/aiCaller.d.ts +6 -1
  51. package/dist/features/interactive/aiCaller.d.ts.map +1 -1
  52. package/dist/features/interactive/aiCaller.js +10 -3
  53. package/dist/features/interactive/aiCaller.js.map +1 -1
  54. package/dist/features/interactive/clipboardImage.d.ts +3 -0
  55. package/dist/features/interactive/clipboardImage.d.ts.map +1 -0
  56. package/dist/features/interactive/clipboardImage.js +91 -0
  57. package/dist/features/interactive/clipboardImage.js.map +1 -0
  58. package/dist/features/interactive/clipboardImageFeedback.d.ts +2 -0
  59. package/dist/features/interactive/clipboardImageFeedback.d.ts.map +1 -0
  60. package/dist/features/interactive/clipboardImageFeedback.js +6 -0
  61. package/dist/features/interactive/clipboardImageFeedback.js.map +1 -0
  62. package/dist/features/interactive/conversationLoop.d.ts.map +1 -1
  63. package/dist/features/interactive/conversationLoop.js +8 -3
  64. package/dist/features/interactive/conversationLoop.js.map +1 -1
  65. package/dist/features/interactive/imageAttachments.d.ts +3 -0
  66. package/dist/features/interactive/imageAttachments.d.ts.map +1 -1
  67. package/dist/features/interactive/imageAttachments.js +18 -0
  68. package/dist/features/interactive/imageAttachments.js.map +1 -1
  69. package/dist/features/interactive/interactive.d.ts +1 -0
  70. package/dist/features/interactive/interactive.d.ts.map +1 -1
  71. package/dist/features/interactive/interactive.js.map +1 -1
  72. package/dist/features/interactive/interactiveInput.d.ts.map +1 -1
  73. package/dist/features/interactive/interactiveInput.js +4 -1
  74. package/dist/features/interactive/interactiveInput.js.map +1 -1
  75. package/dist/features/interactive/lineEditor.d.ts +18 -14
  76. package/dist/features/interactive/lineEditor.d.ts.map +1 -1
  77. package/dist/features/interactive/lineEditor.js +174 -80
  78. package/dist/features/interactive/lineEditor.js.map +1 -1
  79. package/dist/features/interactive/passthroughMode.d.ts.map +1 -1
  80. package/dist/features/interactive/passthroughMode.js +4 -1
  81. package/dist/features/interactive/passthroughMode.js.map +1 -1
  82. package/dist/features/interactive/quietMode.d.ts.map +1 -1
  83. package/dist/features/interactive/quietMode.js +5 -2
  84. package/dist/features/interactive/quietMode.js.map +1 -1
  85. package/dist/features/interactive/slashCommandRegistry.d.ts.map +1 -1
  86. package/dist/features/interactive/slashCommandRegistry.js +1 -0
  87. package/dist/features/interactive/slashCommandRegistry.js.map +1 -1
  88. package/dist/features/tasks/attachments.d.ts.map +1 -1
  89. package/dist/features/tasks/attachments.js +18 -1
  90. package/dist/features/tasks/attachments.js.map +1 -1
  91. package/dist/features/tasks/execute/runAllTasks.js +3 -3
  92. package/dist/features/tasks/execute/runAllTasks.js.map +1 -1
  93. package/dist/features/tasks/execute/selectAndExecute.d.ts.map +1 -1
  94. package/dist/features/tasks/execute/selectAndExecute.js +1 -2
  95. package/dist/features/tasks/execute/selectAndExecute.js.map +1 -1
  96. package/dist/features/tasks/execute/taskSpecContext.d.ts +1 -0
  97. package/dist/features/tasks/execute/taskSpecContext.d.ts.map +1 -1
  98. package/dist/features/tasks/execute/taskSpecContext.js +25 -1
  99. package/dist/features/tasks/execute/taskSpecContext.js.map +1 -1
  100. package/dist/features/tasks/execute/workflowExecutionBootstrap.d.ts.map +1 -1
  101. package/dist/features/tasks/execute/workflowExecutionBootstrap.js +13 -1
  102. package/dist/features/tasks/execute/workflowExecutionBootstrap.js.map +1 -1
  103. package/dist/features/tasks/watch/index.js +3 -3
  104. package/dist/features/tasks/watch/index.js.map +1 -1
  105. package/dist/infra/claude/client.d.ts.map +1 -1
  106. package/dist/infra/claude/client.js +1 -0
  107. package/dist/infra/claude/client.js.map +1 -1
  108. package/dist/infra/claude/executor.d.ts.map +1 -1
  109. package/dist/infra/claude/executor.js +5 -35
  110. package/dist/infra/claude/executor.js.map +1 -1
  111. package/dist/infra/claude/image-input.d.ts +4 -0
  112. package/dist/infra/claude/image-input.d.ts.map +1 -0
  113. package/dist/infra/claude/image-input.js +63 -0
  114. package/dist/infra/claude/image-input.js.map +1 -0
  115. package/dist/infra/claude/types.d.ts +3 -0
  116. package/dist/infra/claude/types.d.ts.map +1 -1
  117. package/dist/infra/claude/usage.d.ts +3 -0
  118. package/dist/infra/claude/usage.d.ts.map +1 -0
  119. package/dist/infra/claude/usage.js +45 -0
  120. package/dist/infra/claude/usage.js.map +1 -0
  121. package/dist/infra/claude-headless/result-response.d.ts.map +1 -1
  122. package/dist/infra/claude-headless/result-response.js +1 -0
  123. package/dist/infra/claude-headless/result-response.js.map +1 -1
  124. package/dist/infra/claude-headless/stream-json-lines.d.ts +2 -0
  125. package/dist/infra/claude-headless/stream-json-lines.d.ts.map +1 -1
  126. package/dist/infra/claude-headless/stream-json-lines.js +4 -0
  127. package/dist/infra/claude-headless/stream-json-lines.js.map +1 -1
  128. package/dist/infra/codex/client.d.ts.map +1 -1
  129. package/dist/infra/codex/client.js +11 -1
  130. package/dist/infra/codex/client.js.map +1 -1
  131. package/dist/infra/codex/types.d.ts +2 -0
  132. package/dist/infra/codex/types.d.ts.map +1 -1
  133. package/dist/infra/codex/types.js.map +1 -1
  134. package/dist/infra/fs/index.d.ts +1 -0
  135. package/dist/infra/fs/index.d.ts.map +1 -1
  136. package/dist/infra/fs/index.js +1 -0
  137. package/dist/infra/fs/index.js.map +1 -1
  138. package/dist/infra/fs/jsonl.d.ts +2 -0
  139. package/dist/infra/fs/jsonl.d.ts.map +1 -0
  140. package/dist/infra/fs/jsonl.js +5 -0
  141. package/dist/infra/fs/jsonl.js.map +1 -0
  142. package/dist/infra/observability/otelFoundation.d.ts +2 -0
  143. package/dist/infra/observability/otelFoundation.d.ts.map +1 -1
  144. package/dist/infra/observability/otelFoundation.js +47 -7
  145. package/dist/infra/observability/otelFoundation.js.map +1 -1
  146. package/dist/infra/observability/usageEventsSpanProcessor.d.ts +19 -0
  147. package/dist/infra/observability/usageEventsSpanProcessor.d.ts.map +1 -0
  148. package/dist/infra/observability/usageEventsSpanProcessor.js +77 -0
  149. package/dist/infra/observability/usageEventsSpanProcessor.js.map +1 -0
  150. package/dist/infra/opencode/types.d.ts.map +1 -1
  151. package/dist/infra/opencode/types.js +8 -4
  152. package/dist/infra/opencode/types.js.map +1 -1
  153. package/dist/infra/providers/claude-headless.d.ts +1 -0
  154. package/dist/infra/providers/claude-headless.d.ts.map +1 -1
  155. package/dist/infra/providers/claude-headless.js +1 -0
  156. package/dist/infra/providers/claude-headless.js.map +1 -1
  157. package/dist/infra/providers/claude-terminal.d.ts +1 -0
  158. package/dist/infra/providers/claude-terminal.d.ts.map +1 -1
  159. package/dist/infra/providers/claude-terminal.js +1 -0
  160. package/dist/infra/providers/claude-terminal.js.map +1 -1
  161. package/dist/infra/providers/claude.d.ts +1 -0
  162. package/dist/infra/providers/claude.d.ts.map +1 -1
  163. package/dist/infra/providers/claude.js +2 -0
  164. package/dist/infra/providers/claude.js.map +1 -1
  165. package/dist/infra/providers/codex.d.ts +1 -0
  166. package/dist/infra/providers/codex.d.ts.map +1 -1
  167. package/dist/infra/providers/codex.js +2 -0
  168. package/dist/infra/providers/codex.js.map +1 -1
  169. package/dist/infra/providers/copilot.d.ts +1 -0
  170. package/dist/infra/providers/copilot.d.ts.map +1 -1
  171. package/dist/infra/providers/copilot.js +1 -0
  172. package/dist/infra/providers/copilot.js.map +1 -1
  173. package/dist/infra/providers/cursor.d.ts +1 -0
  174. package/dist/infra/providers/cursor.d.ts.map +1 -1
  175. package/dist/infra/providers/cursor.js +1 -0
  176. package/dist/infra/providers/cursor.js.map +1 -1
  177. package/dist/infra/providers/imageAttachmentPrompt.d.ts +4 -0
  178. package/dist/infra/providers/imageAttachmentPrompt.d.ts.map +1 -0
  179. package/dist/infra/providers/imageAttachmentPrompt.js +10 -0
  180. package/dist/infra/providers/imageAttachmentPrompt.js.map +1 -0
  181. package/dist/infra/providers/kiro.d.ts +1 -0
  182. package/dist/infra/providers/kiro.d.ts.map +1 -1
  183. package/dist/infra/providers/kiro.js +4 -0
  184. package/dist/infra/providers/kiro.js.map +1 -1
  185. package/dist/infra/providers/mock.d.ts +1 -0
  186. package/dist/infra/providers/mock.d.ts.map +1 -1
  187. package/dist/infra/providers/mock.js +1 -0
  188. package/dist/infra/providers/mock.js.map +1 -1
  189. package/dist/infra/providers/opencode.d.ts +1 -0
  190. package/dist/infra/providers/opencode.d.ts.map +1 -1
  191. package/dist/infra/providers/opencode.js +1 -0
  192. package/dist/infra/providers/opencode.js.map +1 -1
  193. package/dist/infra/providers/provider-capabilities.d.ts +1 -0
  194. package/dist/infra/providers/provider-capabilities.d.ts.map +1 -1
  195. package/dist/infra/providers/provider-capabilities.js +6 -1
  196. package/dist/infra/providers/provider-capabilities.js.map +1 -1
  197. package/dist/infra/providers/types.d.ts +6 -0
  198. package/dist/infra/providers/types.d.ts.map +1 -1
  199. package/dist/infra/task/clone-exec.d.ts +2 -0
  200. package/dist/infra/task/clone-exec.d.ts.map +1 -1
  201. package/dist/infra/task/clone-exec.js +29 -0
  202. package/dist/infra/task/clone-exec.js.map +1 -1
  203. package/dist/infra/task/clone.d.ts.map +1 -1
  204. package/dist/infra/task/clone.js +3 -1
  205. package/dist/infra/task/clone.js.map +1 -1
  206. package/dist/infra/task/runner.d.ts +1 -1
  207. package/dist/infra/task/runner.d.ts.map +1 -1
  208. package/dist/infra/task/runner.js +2 -2
  209. package/dist/infra/task/runner.js.map +1 -1
  210. package/dist/infra/task/taskLifecycleService.d.ts +1 -2
  211. package/dist/infra/task/taskLifecycleService.d.ts.map +1 -1
  212. package/dist/infra/task/taskLifecycleService.js +13 -19
  213. package/dist/infra/task/taskLifecycleService.js.map +1 -1
  214. package/dist/infra/task/taskRecordMutations.d.ts +0 -1
  215. package/dist/infra/task/taskRecordMutations.d.ts.map +1 -1
  216. package/dist/infra/task/taskRecordMutations.js +0 -12
  217. package/dist/infra/task/taskRecordMutations.js.map +1 -1
  218. package/dist/shared/constants.d.ts +1 -0
  219. package/dist/shared/constants.d.ts.map +1 -1
  220. package/dist/shared/constants.js +1 -0
  221. package/dist/shared/constants.js.map +1 -1
  222. package/dist/shared/i18n/labels_en.yaml +3 -1
  223. package/dist/shared/i18n/labels_ja.yaml +3 -1
  224. package/dist/shared/types/provider.d.ts +3 -1
  225. package/dist/shared/types/provider.d.ts.map +1 -1
  226. package/dist/shared/types/provider.js +15 -1
  227. package/dist/shared/types/provider.js.map +1 -1
  228. package/package.json +4 -3
package/README.md CHANGED
@@ -284,6 +284,7 @@ See [External Integrations](./docs/external-integrations.md) for other community
284
284
  | [Tutorial](./docs/tutorial.md) | Improve one example over three phases while queuing, running, and inspecting tasks |
285
285
  | [CLI Reference](./docs/cli-reference.md) | All commands and options |
286
286
  | [Configuration](./docs/configuration.md) | Global and project settings |
287
+ | [Observability](./docs/observability.md) | Phase-level usage events and analysis workflow |
287
288
  | [Design Philosophy](./docs/design-philosophy.md) | Why TAKT is built around workflows, facets, feedback loops, and traceability |
288
289
  | [Workflow Guide](./docs/workflows.md) | Creating and customizing workflows |
289
290
  | [Builtin Catalog](./docs/builtin-catalog.md) | All builtin workflows and personas |
@@ -1,4 +1,5 @@
1
1
  import type { WorkflowRule, RuleMatchMethod, Language } from '../core/models/types.js';
2
+ import type { ProviderUsageSnapshot } from '../core/models/response.js';
2
3
  import type { ProviderType } from '../core/workflow/types.js';
3
4
  import { type StreamCallback } from './runner.js';
4
5
  export interface JudgeStatusOptions {
@@ -10,18 +11,21 @@ export interface JudgeStatusOptions {
10
11
  language?: Language;
11
12
  interactive?: boolean;
12
13
  onStream?: StreamCallback;
13
- onJudgeStage?: (entry: {
14
- stage: 1 | 2 | 3;
15
- method: 'structured_output' | 'phase3_tag' | 'ai_judge';
16
- status: 'done' | 'error' | 'skipped';
17
- instruction: string;
18
- response: string;
19
- }) => void;
14
+ onJudgeStage?: (entry: JudgeStageLogEntry) => void;
20
15
  onStructuredPromptResolved?: (promptParts: {
21
16
  systemPrompt: string;
22
17
  userInstruction: string;
23
18
  }) => void;
24
19
  }
20
+ export interface JudgeStageLogEntry {
21
+ stage: 1 | 2 | 3;
22
+ method: 'structured_output' | 'phase3_tag' | 'ai_judge';
23
+ status: 'done' | 'error' | 'skipped';
24
+ instruction: string;
25
+ response: string;
26
+ providerUsage?: ProviderUsageSnapshot;
27
+ }
28
+ type JudgeResponseEntry = Pick<JudgeStageLogEntry, 'instruction' | 'status' | 'response' | 'providerUsage'>;
25
29
  export interface TagJudgeRunOptions {
26
30
  cwd: string;
27
31
  provider?: ProviderType;
@@ -45,11 +49,17 @@ export interface EvaluateConditionOptions {
45
49
  instruction: string;
46
50
  status: 'done' | 'error';
47
51
  response: string;
52
+ providerUsage?: ProviderUsageSnapshot;
48
53
  }) => void;
49
54
  }
50
55
  export declare function evaluateCondition(agentOutput: string, conditions: Array<{
51
56
  index: number;
52
57
  text: string;
53
58
  }>, options: EvaluateConditionOptions): Promise<number>;
59
+ export declare function createJudgeStageRecorder(): {
60
+ capture(entry: JudgeResponseEntry): void;
61
+ stage(entry: Pick<JudgeStageLogEntry, 'stage' | 'method'>): JudgeStageLogEntry;
62
+ };
54
63
  export declare function judgeStatus(structuredInstruction: string, tagInstruction: string, rules: WorkflowRule[], options: JudgeStatusOptions): Promise<JudgeStatusResult>;
64
+ export {};
55
65
  //# sourceMappingURL=judge-status-usecase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"judge-status-usecase.d.ts","sourceRoot":"","sources":["../../src/agents/judge-status-usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAM5D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjB,MAAM,EAAE,mBAAmB,GAAG,YAAY,GAAG,UAAU,CAAC;QACxD,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;QACrC,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;IACX,0BAA0B,CAAC,EAAE,CAAC,WAAW,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAChD,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA4BxC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,IAAI,CAAC;CACZ;AAED,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED,wBAAsB,WAAW,CAC/B,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAqG5B"}
1
+ {"version":3,"file":"judge-status-usecase.d.ts","sourceRoot":"","sources":["../../src/agents/judge-status-usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAM5D,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACnD,0BAA0B,CAAC,EAAE,CAAC,WAAW,EAAE;QACzC,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;KACzB,KAAK,IAAI,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,MAAM,EAAE,mBAAmB,GAAG,YAAY,GAAG,UAAU,CAAC;IACxD,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,qBAAqB,CAAC;CACvC;AAED,KAAK,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,eAAe,CAAC,CAAC;AAE5G,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,kBAAkB,EAC9B,YAAY,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAChD,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CA6BxC;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,gBAAgB,CAAC,EAAE,YAAY,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,qBAAqB,CAAC;KACvC,KAAK,IAAI,CAAC;CACZ;AAED,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC,CAgCjB;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,OAAO,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,QAAQ,CAAC,GAAG,kBAAkB,CAAC;CAChF,CAiBA;AAED,wBAAsB,WAAW,CAC/B,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CA6F5B"}
@@ -20,6 +20,7 @@ export async function runTagJudgeStage(tagInstruction, rules, interactiveEnabled
20
20
  status: tagResponse.status === 'done' ? 'done' : 'error',
21
21
  instruction: tagInstruction,
22
22
  response: tagResponse.content,
23
+ providerUsage: tagResponse.providerUsage,
23
24
  });
24
25
  if (tagResponse.status === 'done') {
25
26
  const tagRuleIndex = detectRuleIndex(tagResponse.content, runOptions.stepName);
@@ -44,6 +45,7 @@ export async function evaluateCondition(agentOutput, conditions, options) {
44
45
  instruction: prompt,
45
46
  status: response.status === 'done' ? 'done' : 'error',
46
47
  response: response.content,
48
+ providerUsage: response.providerUsage,
47
49
  });
48
50
  if (response.status !== 'done') {
49
51
  return -1;
@@ -57,6 +59,24 @@ export async function evaluateCondition(agentOutput, conditions, options) {
57
59
  }
58
60
  return detectJudgeIndex(response.content);
59
61
  }
62
+ export function createJudgeStageRecorder() {
63
+ let latest = {
64
+ status: 'skipped',
65
+ instruction: '',
66
+ response: '',
67
+ };
68
+ return {
69
+ capture(entry) {
70
+ latest = entry;
71
+ },
72
+ stage(entry) {
73
+ return {
74
+ ...entry,
75
+ ...latest,
76
+ };
77
+ },
78
+ };
79
+ }
60
80
  export async function judgeStatus(structuredInstruction, tagInstruction, rules, options) {
61
81
  if (rules.length === 0) {
62
82
  throw new Error('judgeStatus requires at least one rule');
@@ -86,6 +106,7 @@ export async function judgeStatus(structuredInstruction, tagInstruction, rules,
86
106
  status: structuredResponse.status === 'done' ? 'done' : 'error',
87
107
  instruction: structuredInstruction,
88
108
  response: structuredResponse.content,
109
+ providerUsage: structuredResponse.providerUsage,
89
110
  });
90
111
  if (structuredResponse.status === 'done') {
91
112
  const stepNumber = structuredResponse.structuredOutput?.step;
@@ -110,28 +131,19 @@ export async function judgeStatus(structuredInstruction, tagInstruction, rules,
110
131
  }
111
132
  const conditions = buildJudgeConditions(rules, interactiveEnabled);
112
133
  if (conditions.length > 0) {
113
- let stage3Status = 'skipped';
114
- let stage3Instruction = '';
115
- let stage3Response = '';
134
+ const stage3 = createJudgeStageRecorder();
116
135
  const normalizedConditions = conditions.map((c, pos) => ({ index: pos, text: c.text }));
117
136
  const fallbackPosition = await evaluateCondition(structuredInstruction, normalizedConditions, {
118
137
  cwd: options.cwd,
119
138
  provider: options.provider,
120
139
  resolvedProvider: options.resolvedProvider,
121
140
  resolvedModel: options.resolvedModel,
122
- onJudgeResponse: (entry) => {
123
- stage3Status = entry.status;
124
- stage3Instruction = entry.instruction;
125
- stage3Response = entry.response;
126
- },
141
+ onJudgeResponse: stage3.capture,
127
142
  });
128
- options.onJudgeStage?.({
143
+ options.onJudgeStage?.(stage3.stage({
129
144
  stage: 3,
130
145
  method: 'ai_judge',
131
- status: stage3Status,
132
- instruction: stage3Instruction,
133
- response: stage3Response,
134
- });
146
+ }));
135
147
  if (fallbackPosition >= 0 && fallbackPosition < conditions.length) {
136
148
  const originalIndex = conditions[fallbackPosition]?.index;
137
149
  if (originalIndex !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"judge-status-usecase.js","sourceRoot":"","sources":["../../src/agents/judge-status-usecase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"judge-status-usecase.js","sourceRoot":"","sources":["../../src/agents/judge-status-usecase.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-based-structured-caller.d.ts","sourceRoot":"","sources":["../../../src/agents/structured-caller/prompt-based-structured-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ/E,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAcvD,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,qBAAa,2BAA4B,YAAW,gBAAgB;IAC5D,WAAW,CACf,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAkGvB,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAwBZ,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC;IA6BtB,gBAAgB,CACpB,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACjF,WAAW,EAAE,MAAM,EAAE,EACrB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC;CAiC9B"}
1
+ {"version":3,"file":"prompt-based-structured-caller.d.ts","sourceRoot":"","sources":["../../../src/agents/structured-caller/prompt-based-structured-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ/E,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAcvD,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,qBAAa,2BAA4B,YAAW,gBAAgB;IAC5D,WAAW,CACf,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,YAAY,EAAE,EACrB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IA0FvB,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,EAClD,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,MAAM,CAAC;IAyBZ,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC;IA6BtB,gBAAgB,CACpB,mBAAmB,EAAE,MAAM,EAC3B,UAAU,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,EACjF,WAAW,EAAE,MAAM,EAAE,EACrB,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,CAAC;CAiC9B"}
@@ -1,7 +1,7 @@
1
1
  import { buildPromptBasedDecomposePrompt, buildPromptBasedMorePartsPrompt, toMorePartsResponse, } from '../team-leader-structured-output.js';
2
2
  import { buildJudgePrompt, detectJudgeIndex, isValidRuleIndex, buildJudgeConditions } from '../judge-utils.js';
3
3
  import { runAgent } from '../runner.js';
4
- import { runTagJudgeStage, } from '../judge-status-usecase.js';
4
+ import { createJudgeStageRecorder, runTagJudgeStage, } from '../judge-status-usecase.js';
5
5
  import { TEAM_LEADER_MAX_TURNS } from '../decompose-task-usecase.js';
6
6
  import { buildPromptBasedStructuredInstruction, getErrorDetail, parseLastJsonBlock, resolveStructuredStep, } from './shared.js';
7
7
  import { parseParts } from '../../core/workflow/engine/task-decomposer.js';
@@ -36,6 +36,7 @@ export class PromptBasedStructuredCaller {
36
36
  status: structuredResponse.status === 'done' ? 'done' : 'error',
37
37
  instruction: structuredInstruction,
38
38
  response: structuredResponse.content,
39
+ providerUsage: structuredResponse.providerUsage,
39
40
  });
40
41
  let structuredParseError;
41
42
  if (structuredResponse.status === 'done') {
@@ -63,27 +64,18 @@ export class PromptBasedStructuredCaller {
63
64
  }
64
65
  const conditions = buildJudgeConditions(rules, interactiveEnabled);
65
66
  if (conditions.length > 0) {
66
- let stage3Status = 'skipped';
67
- let stage3Instruction = '';
68
- let stage3Response = '';
67
+ const stage3 = createJudgeStageRecorder();
69
68
  const fallbackIndex = await this.evaluateCondition(structuredInstruction, conditions, {
70
69
  cwd: options.cwd,
71
70
  provider: options.provider,
72
71
  resolvedProvider: options.resolvedProvider,
73
72
  resolvedModel: options.resolvedModel,
74
- onJudgeResponse: (entry) => {
75
- stage3Status = entry.status;
76
- stage3Instruction = entry.instruction;
77
- stage3Response = entry.response;
78
- },
73
+ onJudgeResponse: stage3.capture,
79
74
  });
80
- options.onJudgeStage?.({
75
+ options.onJudgeStage?.(stage3.stage({
81
76
  stage: 3,
82
77
  method: 'ai_judge',
83
- status: stage3Status,
84
- instruction: stage3Instruction,
85
- response: stage3Response,
86
- });
78
+ }));
87
79
  if (isValidRuleIndex(fallbackIndex, rules, interactiveEnabled)) {
88
80
  return { ruleIndex: fallbackIndex, method: 'ai_judge' };
89
81
  }
@@ -107,6 +99,7 @@ export class PromptBasedStructuredCaller {
107
99
  instruction: prompt,
108
100
  status: response.status === 'done' ? 'done' : 'error',
109
101
  response: response.content,
102
+ providerUsage: response.providerUsage,
110
103
  });
111
104
  if (response.status !== 'done') {
112
105
  return -1;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-based-structured-caller.js","sourceRoot":"","sources":["../../../src/agents/structured-caller/prompt-based-structured-caller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-based-structured-caller.js","sourceRoot":"","sources":["../../../src/agents/structured-caller/prompt-based-structured-caller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export type UsageAnalysisFormat = 'markdown' | 'csv';
2
+ export interface UsageAnalysisOptions {
3
+ format?: UsageAnalysisFormat;
4
+ }
5
+ export interface UsageAnalysisRow {
6
+ step: string;
7
+ phase: string;
8
+ provider: string;
9
+ model: string;
10
+ runs: number;
11
+ calls: number;
12
+ missing: number;
13
+ inputTokens: number;
14
+ outputTokens: number;
15
+ totalTokens: number;
16
+ cachedInputTokens: number;
17
+ cacheCreationInputTokens: number;
18
+ cacheReadInputTokens: number;
19
+ avgTotalTokens: number;
20
+ medianTotalTokens: number;
21
+ stddevTotalTokens: number;
22
+ }
23
+ export declare function analyzeUsage(inputs: string[]): UsageAnalysisRow[];
24
+ export declare function formatUsageAnalysis(rows: UsageAnalysisRow[], format?: UsageAnalysisFormat): string;
25
+ export declare function resolvePhaseUsageFiles(inputs: string[]): string[];
26
+ //# sourceMappingURL=analyze-usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-usage.d.ts","sourceRoot":"","sources":["../../src/commands/analyze-usage.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,KAAK,CAAC;AAErD,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAuCD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAmCjE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,MAAM,GAAE,mBAAgC,GAAG,MAAM,CAE9G;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAsBjE"}
@@ -0,0 +1,305 @@
1
+ import { existsSync, lstatSync, readFileSync, readdirSync } from 'node:fs';
2
+ import { basename, join, resolve } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ import { PHASE_USAGE_EVENTS_LOG_FILE_SUFFIX } from '../core/logging/contracts.js';
5
+ const MARKDOWN_COLUMNS = [
6
+ ['step', 'step'],
7
+ ['phase', 'phase'],
8
+ ['provider', 'provider'],
9
+ ['model', 'model'],
10
+ ['runs', 'runs'],
11
+ ['calls', 'calls'],
12
+ ['missing', 'missing'],
13
+ ['input_tokens', 'inputTokens'],
14
+ ['output_tokens', 'outputTokens'],
15
+ ['total_tokens', 'totalTokens'],
16
+ ['cached_input_tokens', 'cachedInputTokens'],
17
+ ['cache_creation_input_tokens', 'cacheCreationInputTokens'],
18
+ ['cache_read_input_tokens', 'cacheReadInputTokens'],
19
+ ['avg_total_tokens', 'avgTotalTokens'],
20
+ ['median_total_tokens', 'medianTotalTokens'],
21
+ ['stddev_total_tokens', 'stddevTotalTokens'],
22
+ ];
23
+ export function analyzeUsage(inputs) {
24
+ const files = resolvePhaseUsageFiles(inputs);
25
+ const groups = new Map();
26
+ for (const file of files) {
27
+ for (const record of readPhaseUsageRecords(file)) {
28
+ const key = groupKey(record);
29
+ let group = groups.get(key);
30
+ if (!group) {
31
+ group = {
32
+ key,
33
+ step: record.step,
34
+ phase: record.phase,
35
+ provider: record.provider,
36
+ model: record.provider_model,
37
+ runs: new Set(),
38
+ calls: 0,
39
+ missing: 0,
40
+ inputTokens: 0,
41
+ outputTokens: 0,
42
+ totalTokens: 0,
43
+ cachedInputTokens: 0,
44
+ cacheCreationInputTokens: 0,
45
+ cacheReadInputTokens: 0,
46
+ totalSamples: [],
47
+ };
48
+ groups.set(key, group);
49
+ }
50
+ addRecord(group, record);
51
+ }
52
+ }
53
+ return [...groups.values()]
54
+ .sort((a, b) => a.key.localeCompare(b.key))
55
+ .map(groupToRow);
56
+ }
57
+ export function formatUsageAnalysis(rows, format = 'markdown') {
58
+ return format === 'csv' ? formatCsv(rows) : formatMarkdown(rows);
59
+ }
60
+ export function resolvePhaseUsageFiles(inputs) {
61
+ const files = new Set();
62
+ for (const input of inputs) {
63
+ const target = resolve(input);
64
+ if (!existsSync(target)) {
65
+ throw new Error(`Input path does not exist: ${input}`);
66
+ }
67
+ const stat = lstatSync(target);
68
+ if (stat.isDirectory()) {
69
+ for (const file of listPhaseUsageFilesInDirectory(target)) {
70
+ files.add(file);
71
+ }
72
+ continue;
73
+ }
74
+ if (stat.isFile()) {
75
+ if (!isPhaseUsageFile(target)) {
76
+ throw new Error(`Input file is not a phase usage event file: ${input}`);
77
+ }
78
+ files.add(target);
79
+ }
80
+ }
81
+ return [...files].sort();
82
+ }
83
+ function listPhaseUsageFilesInDirectory(dir) {
84
+ const candidates = [
85
+ ...listDirectPhaseUsageFiles(dir),
86
+ ...listDirectPhaseUsageFiles(join(dir, 'logs')),
87
+ ];
88
+ return candidates;
89
+ }
90
+ function listDirectPhaseUsageFiles(dir) {
91
+ if (!existsSync(dir) || !lstatSync(dir).isDirectory()) {
92
+ return [];
93
+ }
94
+ return readdirSync(dir)
95
+ .filter((entry) => isPhaseUsageFile(entry))
96
+ .map((entry) => join(dir, entry));
97
+ }
98
+ function isPhaseUsageFile(path) {
99
+ return basename(path).endsWith(PHASE_USAGE_EVENTS_LOG_FILE_SUFFIX);
100
+ }
101
+ function readPhaseUsageRecords(file) {
102
+ const records = [];
103
+ const content = readFileSync(file, 'utf-8');
104
+ for (const [index, line] of content.split('\n').entries()) {
105
+ const trimmed = line.trim();
106
+ if (!trimmed) {
107
+ continue;
108
+ }
109
+ try {
110
+ const record = JSON.parse(trimmed);
111
+ if (isPhaseUsageRecord(record)) {
112
+ records.push(record);
113
+ }
114
+ }
115
+ catch (error) {
116
+ const message = error instanceof Error ? error.message : String(error);
117
+ throw new Error(`Invalid JSON in ${file}:${index + 1}: ${message}`);
118
+ }
119
+ }
120
+ return records;
121
+ }
122
+ function isPhaseUsageRecord(value) {
123
+ if (value === null || typeof value !== 'object') {
124
+ return false;
125
+ }
126
+ const candidate = value;
127
+ return typeof candidate.run_id === 'string'
128
+ && typeof candidate.provider === 'string'
129
+ && typeof candidate.provider_model === 'string'
130
+ && typeof candidate.step === 'string'
131
+ && typeof candidate.phase === 'string'
132
+ && typeof candidate.usage_missing === 'boolean'
133
+ && candidate.usage !== null
134
+ && typeof candidate.usage === 'object';
135
+ }
136
+ function groupKey(record) {
137
+ return [
138
+ record.step,
139
+ record.phase,
140
+ record.provider,
141
+ record.provider_model,
142
+ ].join('\u0000');
143
+ }
144
+ function addRecord(group, record) {
145
+ group.runs.add(record.run_id);
146
+ group.calls += 1;
147
+ if (record.usage_missing) {
148
+ group.missing += 1;
149
+ return;
150
+ }
151
+ const inputTokens = finiteNumber(record.usage.input_tokens);
152
+ const outputTokens = finiteNumber(record.usage.output_tokens);
153
+ const totalTokens = finiteNumber(record.usage.total_tokens);
154
+ if (inputTokens === undefined || outputTokens === undefined || totalTokens === undefined) {
155
+ group.missing += 1;
156
+ return;
157
+ }
158
+ group.inputTokens += inputTokens;
159
+ group.outputTokens += outputTokens;
160
+ group.totalTokens += totalTokens;
161
+ group.cachedInputTokens += finiteNumber(record.usage.cached_input_tokens) ?? 0;
162
+ group.cacheCreationInputTokens += finiteNumber(record.usage.cache_creation_input_tokens) ?? 0;
163
+ group.cacheReadInputTokens += finiteNumber(record.usage.cache_read_input_tokens) ?? 0;
164
+ group.totalSamples.push(totalTokens);
165
+ }
166
+ function groupToRow(group) {
167
+ return {
168
+ step: group.step,
169
+ phase: group.phase,
170
+ provider: group.provider,
171
+ model: group.model,
172
+ runs: group.runs.size,
173
+ calls: group.calls,
174
+ missing: group.missing,
175
+ inputTokens: group.inputTokens,
176
+ outputTokens: group.outputTokens,
177
+ totalTokens: group.totalTokens,
178
+ cachedInputTokens: group.cachedInputTokens,
179
+ cacheCreationInputTokens: group.cacheCreationInputTokens,
180
+ cacheReadInputTokens: group.cacheReadInputTokens,
181
+ avgTotalTokens: average(group.totalSamples),
182
+ medianTotalTokens: median(group.totalSamples),
183
+ stddevTotalTokens: standardDeviation(group.totalSamples),
184
+ };
185
+ }
186
+ function finiteNumber(value) {
187
+ return typeof value === 'number' && Number.isFinite(value) ? value : undefined;
188
+ }
189
+ function average(values) {
190
+ if (values.length === 0) {
191
+ return 0;
192
+ }
193
+ return values.reduce((sum, value) => sum + value, 0) / values.length;
194
+ }
195
+ function median(values) {
196
+ if (values.length === 0) {
197
+ return 0;
198
+ }
199
+ const sorted = [...values].sort((a, b) => a - b);
200
+ const middle = Math.floor(sorted.length / 2);
201
+ if (sorted.length % 2 === 1) {
202
+ return sorted[middle] ?? 0;
203
+ }
204
+ return ((sorted[middle - 1] ?? 0) + (sorted[middle] ?? 0)) / 2;
205
+ }
206
+ function standardDeviation(values) {
207
+ if (values.length === 0) {
208
+ return 0;
209
+ }
210
+ const avg = average(values);
211
+ const variance = values.reduce((sum, value) => sum + ((value - avg) ** 2), 0) / values.length;
212
+ return Math.sqrt(variance);
213
+ }
214
+ function formatMarkdown(rows) {
215
+ if (rows.length === 0) {
216
+ return 'No phase usage events found.';
217
+ }
218
+ const header = `| ${MARKDOWN_COLUMNS.map(([name]) => name).join(' | ')} |`;
219
+ const separator = `| ${MARKDOWN_COLUMNS.map(() => '---').join(' | ')} |`;
220
+ const body = rows.map((row) => `| ${MARKDOWN_COLUMNS.map(([, key]) => formatValue(row[key])).join(' | ')} |`);
221
+ return [header, separator, ...body].join('\n');
222
+ }
223
+ function formatCsv(rows) {
224
+ const header = MARKDOWN_COLUMNS.map(([name]) => name).join(',');
225
+ const body = rows.map((row) => MARKDOWN_COLUMNS.map(([, key]) => csvCell(formatValue(row[key]))).join(','));
226
+ return [header, ...body].join('\n');
227
+ }
228
+ function formatValue(value) {
229
+ if (typeof value === 'number') {
230
+ return Number.isInteger(value) ? String(value) : value.toFixed(2);
231
+ }
232
+ return value;
233
+ }
234
+ function csvCell(value) {
235
+ if (!/[",\n]/.test(value)) {
236
+ return value;
237
+ }
238
+ return `"${value.replaceAll('"', '""')}"`;
239
+ }
240
+ function parseArgs(argv) {
241
+ let format = 'markdown';
242
+ const inputs = [];
243
+ for (let index = 0; index < argv.length; index += 1) {
244
+ const arg = argv[index];
245
+ if (arg === '--format') {
246
+ const value = argv[index + 1];
247
+ if (value !== 'markdown' && value !== 'csv') {
248
+ throw new Error('--format must be "markdown" or "csv"');
249
+ }
250
+ format = value;
251
+ index += 1;
252
+ continue;
253
+ }
254
+ if (arg?.startsWith('--format=')) {
255
+ const value = arg.slice('--format='.length);
256
+ if (value !== 'markdown' && value !== 'csv') {
257
+ throw new Error('--format must be "markdown" or "csv"');
258
+ }
259
+ format = value;
260
+ continue;
261
+ }
262
+ if (arg === '--help' || arg === '-h') {
263
+ throw new UsageHelp();
264
+ }
265
+ if (arg?.startsWith('-')) {
266
+ throw new Error(`Unknown option: ${arg}`);
267
+ }
268
+ if (arg !== undefined) {
269
+ inputs.push(arg);
270
+ }
271
+ }
272
+ if (inputs.length === 0) {
273
+ throw new Error('At least one phase usage event file or run directory is required');
274
+ }
275
+ return { format, inputs };
276
+ }
277
+ class UsageHelp extends Error {
278
+ }
279
+ function usageText() {
280
+ return [
281
+ 'Usage: npm run analyze:usage -- [--format markdown|csv] <file-or-directory>...',
282
+ '',
283
+ `Reads ${PHASE_USAGE_EVENTS_LOG_FILE_SUFFIX} files and aggregates by step, phase, provider, and model.`,
284
+ ].join('\n');
285
+ }
286
+ async function main() {
287
+ try {
288
+ const { format, inputs } = parseArgs(process.argv.slice(2));
289
+ const rows = analyzeUsage(inputs);
290
+ process.stdout.write(`${formatUsageAnalysis(rows, format)}\n`);
291
+ }
292
+ catch (error) {
293
+ if (error instanceof UsageHelp) {
294
+ process.stdout.write(`${usageText()}\n`);
295
+ return;
296
+ }
297
+ const message = error instanceof Error ? error.message : String(error);
298
+ process.stderr.write(`${message}\n\n${usageText()}\n`);
299
+ process.exitCode = 1;
300
+ }
301
+ }
302
+ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
303
+ await main();
304
+ }
305
+ //# sourceMappingURL=analyze-usage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-usage.js","sourceRoot":"","sources":["../../src/commands/analyze-usage.ts"],"names":[],"mappings":"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"}