Teknium
7dfd5077ce
feat(oneshot): add --usage-file JSON usage report to hermes -z ( #59615 )
...
* feat(oneshot): add --usage-file JSON usage report to hermes -z
Pipelines driving hermes -z (batch reviewers, cron scripts, eval
harnesses) had no way to account for per-invocation spend: the agent
computes estimated_cost_usd and full token counts internally, but
oneshot mode discards everything except the final response text.
- hermes -z PROMPT --usage-file PATH writes a JSON report after the
run: estimated_cost_usd, cost_status/source, input/output/cache/
reasoning/total tokens, api_calls, model, provider, session_id,
completed, failed.
- Written even when the run fails (with a failure field) so callers
can always account for spend; the write itself is best-effort and
never masks the run's own outcome.
- Flag registered in both the full parser and the Termux fast path;
added to both value-flag scan sets so profile detection stays
correct.
Validation: 6 unit tests + live E2E (real -z run produced a report
with real OpenRouter cost + token counts).
* test: include usage_file kwarg in oneshot dispatch assertions
The two dispatch tests assert the exact kwargs dict passed to
run_oneshot; the new usage_file kwarg must appear there.
2026-07-06 11:10:51 -07:00
..
2026-07-06 03:18:02 -07:00
2026-07-05 14:48:28 -07:00
2026-07-05 19:10:00 -07:00
2026-07-01 13:07:40 -07:00
2026-07-06 11:10:51 -07:00
2026-06-27 15:59:00 -07:00
2026-06-24 00:54:18 +05:30
2026-07-05 13:42:46 -07:00
2026-07-05 23:00:34 +05:30
2026-05-18 10:14:38 -07:00
2026-07-05 13:42:46 -07:00
2026-06-27 15:59:00 -07:00
2026-06-11 10:49:47 -07:00
2026-07-03 01:05:22 -07:00
2026-05-28 15:14:05 +10:00
2026-05-28 22:26:25 -07:00
2026-05-25 01:20:33 -07:00
2026-05-28 22:26:25 -07:00
2026-06-27 15:59:00 -07:00
2026-06-19 16:59:43 -07:00
2026-07-05 13:42:46 -07:00
2026-05-25 01:20:33 -07:00
2026-06-27 15:59:00 -07:00
2026-05-27 12:16:15 -07:00
2026-05-15 02:31:30 -07:00
2026-07-01 23:51:54 +05:30
2026-07-05 04:34:14 -07:00
2026-06-01 19:51:03 -07:00
2026-07-06 04:58:07 -07:00
2026-07-03 20:18:00 +05:30
2026-06-29 21:12:36 -07:00
2026-06-21 16:31:56 +05:30
2026-06-30 03:27:41 -07:00
2026-07-01 02:48:36 -07:00
2026-06-17 05:20:32 -07:00
2026-06-01 16:58:58 -07:00
2026-06-27 21:30:37 -07:00
2026-07-05 13:42:46 -07:00
2026-06-24 18:56:26 -07:00
2026-06-27 20:45:31 -07:00
2026-06-30 17:29:23 -07:00
2026-07-05 13:42:46 -07:00
2026-07-05 23:00:34 +05:30
2026-07-02 19:52:18 -05:00
2026-07-06 04:58:07 -07:00
2026-05-23 05:24:57 -07:00
2026-05-23 05:24:57 -07:00
2026-06-27 21:30:37 -07:00
2026-06-27 15:59:00 -07:00
2026-07-05 13:42:46 -07:00
2026-06-22 12:20:09 -07:00
2026-06-06 18:22:38 -07:00
2026-06-30 00:59:29 -05:00
2026-07-04 13:29:00 -07:00
2026-07-01 16:25:48 -05:00
2026-06-28 02:44:04 -07:00
2026-06-06 19:29:00 -07:00
2026-07-05 13:42:46 -07:00
2026-06-07 06:14:24 -07:00
2026-06-21 17:06:48 -07:00
2026-06-25 21:46:58 -07:00
2026-07-05 13:42:46 -07:00
2026-07-06 11:10:51 -07:00
2026-06-19 07:46:33 -07:00
2026-06-27 15:59:00 -07:00
2026-06-27 15:59:00 -07:00
2026-07-06 03:18:07 -07:00
2026-05-26 12:48:14 -07:00
2026-06-21 19:05:27 -07:00
2026-06-30 02:08:37 -07:00
2026-06-22 19:16:47 -05:00
2026-06-18 16:48:47 -05:00
2026-07-05 13:42:46 -07:00
2026-06-06 23:07:25 +05:30
2026-05-20 09:18:23 -07:00
2026-06-25 13:52:06 -07:00
2026-07-03 01:02:44 -07:00
2026-06-08 22:31:06 -07:00
2026-06-10 00:24:06 -07:00
2026-06-13 13:47:08 -07:00
2026-07-05 13:42:46 -07:00
2026-07-05 00:55:51 -07:00
2026-07-05 00:44:15 -07:00
2026-06-12 08:51:10 +00:00
2026-06-21 22:43:48 -07:00
2026-06-19 01:53:32 +05:30
2026-06-24 00:14:49 -07:00
2026-07-06 04:58:07 -07:00
2026-07-06 11:10:51 -07:00
2026-07-02 05:10:31 -07:00
2026-06-24 13:48:38 -05:00
2026-05-23 01:07:01 -04:00
2026-07-06 04:38:17 -07:00
2026-07-06 04:58:07 -07:00
2026-07-05 13:42:46 -07:00
2026-05-28 22:26:25 -07:00
2026-06-27 15:59:00 -07:00
2026-07-05 13:42:46 -07:00
2026-06-25 16:40:26 -05:00
2026-06-25 16:40:26 -05:00
2026-07-05 19:13:20 -07:00
2026-06-25 13:52:06 -07:00
2026-06-29 02:25:48 -07:00
2026-05-28 02:36:09 -07:00
2026-05-29 00:31:44 -07:00
2026-06-08 07:03:12 -07:00
2026-06-27 15:59:00 -07:00
2026-07-03 00:46:45 -07:00
2026-06-17 01:04:26 +08:00
2026-06-06 18:36:40 -07:00
2026-05-29 13:24:12 -07:00
2026-06-21 19:05:27 -07:00
2026-05-28 22:26:25 -07:00
2026-06-19 07:46:33 -07:00
2026-06-29 21:33:00 +10:00
2026-07-05 22:04:52 -07:00
2026-07-03 13:44:00 -07:00
2026-05-17 02:29:41 -07:00
2026-06-11 07:51:01 -07:00
2026-07-05 14:51:49 -07:00
2026-06-14 22:54:54 +05:30
2026-06-26 11:04:41 -07:00
2026-05-18 20:05:23 -07:00
2026-06-29 01:02:53 -07:00
2026-06-25 16:40:26 -05:00
2026-07-05 14:01:03 -07:00
2026-05-28 22:26:25 -07:00
2026-07-05 13:42:46 -07:00
2026-06-05 03:20:10 -07:00
2026-05-19 14:25:10 -07:00
2026-06-27 04:01:12 +05:30
2026-07-05 05:35:44 -07:00
2026-06-26 14:07:43 +05:30
2026-06-06 18:22:38 -07:00
2026-06-28 14:29:59 -05:00
2026-07-05 23:01:10 -07:00
2026-07-05 13:42:46 -07:00
2026-06-08 11:32:43 -07:00
2026-06-09 23:21:14 -07:00
2026-07-05 23:00:34 +05:30