teknium1
398234748f
refactor(agent): one Retry-After parser and one reset-grammar table feed every retry wait
...
Seven sites hand-rolled `float(headers.get("Retry-After"))` (anon_auth,
shared_metrics_sender, gemini_native_adapter, extract_api_error_context,
nous_rate_guard, skills_hub_github, skills_hub_clawhub x2) and silently
dropped RFC 7231 HTTP-date values that the conversation loop already honours
via agent/retry_utils.py::parse_retry_after_seconds. They now call it; per-site
caps/floors stay at the call site.
The free-text "resets in / quotaResetDelay / retry after N s" regexes lived in
two tables (agent_runtime_helpers vs credential_pool) whose "resets in"
grammars diverged: the pool accepted only integer `Nhr Nmin` while the error
context accepted h/hr/hours + m/min/minutes + s/seconds with decimals. One table
(agent/retry_utils.py::RETRY_DELAY_PATTERNS / reset_delay_from_message) using
the wider grammar, so a pooled credential's cooldown and the UI's reset time
now agree.
2026-09-13 05:09:43 -07:00
..
2026-09-07 08:13:38 -07:00
2026-09-07 14:30:41 -07:00
2026-09-12 22:03:19 -07:00
2026-09-05 06:12:37 -07:00
2026-09-11 06:24:54 -07:00
2026-09-12 20:43:42 -07:00
2026-09-11 11:19:53 +05:30
2026-09-10 10:27:07 -07:00
2026-09-10 10:27:07 -07:00
2026-09-06 13:08:31 -07:00
2026-09-07 08:15:32 -07:00
2026-09-10 10:27:07 -07:00
2026-09-12 08:43:28 -07:00
2026-09-06 23:31:05 +05:30
2026-09-08 05:10:57 -07:00
2026-09-08 05:10:57 -07:00
2026-09-10 10:35:07 -07:00
2026-09-10 10:35:07 -07:00
2026-09-07 06:00:46 -07:00
2026-09-12 21:50:30 -07:00
2026-09-12 21:50:30 -07:00
2026-09-13 05:09:06 -07:00
2026-09-05 18:46:53 +05:30
2026-09-10 10:35:07 -07:00
2026-09-07 08:25:33 -07:00
2026-09-07 22:47:33 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-11 19:39:12 -07:00
2026-09-09 12:17:13 +05:30
2026-09-09 12:17:13 +05:30
2026-09-12 20:57:21 -07:00
2026-09-10 02:21:15 +05:30
2026-09-09 10:55:32 -07:00
2026-09-06 05:03:20 -07:00
2026-09-06 02:20:49 -07:00
2026-09-06 10:36:08 -07:00
2026-09-07 05:57:26 -07:00
2026-09-07 08:08:41 -07:00
2026-09-08 02:26:05 +05:30
2026-09-08 13:38:18 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 06:15:43 -07:00
2026-09-05 06:18:41 -07:00
2026-09-08 02:26:05 +05:30
2026-09-09 02:36:00 -07:00
2026-09-05 21:00:19 +05:30
2026-09-13 05:07:11 -07:00
2026-09-05 21:07:14 +05:30
2026-09-11 15:29:15 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 06:12:24 -07:00
2026-09-09 11:46:36 -07:00
2026-09-12 20:52:49 -07:00
2026-09-12 20:52:49 -07:00
2026-09-05 19:06:57 +05:30
2026-09-12 20:52:49 -07:00
2026-09-11 15:44:00 -07:00
2026-09-05 20:49:29 +05:30
2026-09-07 06:02:41 -07:00
2026-09-07 06:02:41 -07:00
2026-09-07 00:20:11 +05:30
2026-09-11 15:29:15 -07:00
2026-09-08 02:26:39 +05:30
2026-09-10 05:02:41 -07:00
2026-09-12 21:55:07 -07:00
2026-09-07 07:10:28 -07:00
2026-09-12 22:18:06 -07:00
2026-09-07 07:10:28 -07:00
2026-09-07 14:16:57 -07:00
2026-09-09 12:18:58 -07:00
2026-09-12 12:32:55 -07:00
2026-09-07 06:05:51 -07:00
2026-09-07 14:10:46 -07:00
2026-09-09 11:46:36 -07:00
2026-09-12 10:00:06 +05:30
2026-09-12 09:05:56 -07:00
2026-09-07 08:22:35 -07:00
2026-09-05 17:00:18 -07:00
2026-09-07 22:47:33 +05:30
2026-09-07 07:04:52 -07:00
2026-09-11 15:27:23 -07:00
2026-09-08 17:44:51 -07:00
2026-09-07 08:22:35 -07:00
2026-09-12 21:05:29 -07:00
2026-09-09 11:27:29 -07:00
2026-09-12 08:23:28 -07:00
2026-09-10 18:12:39 -07:00
2026-09-12 20:43:42 -07:00
2026-09-05 19:01:22 +05:30
2026-09-07 14:10:46 -07:00
2026-09-12 01:35:05 -07:00
2026-09-11 15:26:46 -07:00
2026-09-11 15:44:00 -07:00
2026-09-11 19:39:12 -07:00
2026-09-07 08:25:33 -07:00
2026-09-12 21:13:40 -07:00
2026-09-12 22:03:19 -07:00
2026-09-12 22:06:03 -07:00
2026-09-09 10:56:37 +05:30
2026-09-07 12:50:29 -07:00
2026-09-12 21:25:00 -07:00
2026-09-12 22:09:19 -07:00
2026-09-11 19:50:46 -07:00
2026-09-12 22:11:56 -07:00
2026-09-07 06:12:24 -07:00
2026-09-07 08:14:51 -07:00
2026-09-07 14:10:46 -07:00
2026-09-07 00:28:46 +05:30
2026-09-07 00:28:46 +05:30
2026-09-10 18:17:22 -07:00
2026-09-08 17:51:35 +10:00
2026-09-11 11:54:49 -07:00
2026-09-11 11:54:49 -07:00
2026-09-11 06:24:11 -07:00
2026-09-11 15:29:15 -07:00
2026-09-11 11:54:49 -07:00
2026-09-09 12:19:13 +05:30
2026-09-11 11:54:49 -07:00
2026-09-11 11:54:49 -07:00
2026-09-12 05:09:26 -07:00
2026-09-12 21:50:30 -07:00
2026-09-12 07:54:04 -07:00
2026-09-06 07:17:03 -07:00
2026-09-11 11:54:49 -07:00
2026-09-11 11:54:49 -07:00
2026-09-06 13:32:51 +05:30
2026-09-06 05:36:26 -07:00
2026-09-07 12:50:29 -07:00
2026-09-10 10:23:12 -07:00
2026-09-11 11:19:53 +05:30
2026-09-11 11:54:49 -07:00
2026-09-05 21:00:19 +05:30
2026-09-11 15:29:15 -07:00
2026-09-12 20:55:04 -07:00
2026-09-05 06:30:33 -07:00
2026-09-11 15:29:15 -07:00
2026-09-05 13:51:06 -07:00
2026-09-11 11:19:53 +05:30
2026-09-11 15:44:00 -07:00
2026-09-05 13:51:06 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:16 +05:30
2026-09-13 05:09:43 -07:00
2026-09-11 19:39:12 -07:00
2026-09-10 02:21:16 +05:30
2026-09-10 02:21:15 +05:30
2026-09-13 05:07:50 -07:00
2026-09-07 08:09:20 -07:00
2026-09-05 18:46:16 +05:30
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-12 13:44:52 -07:00
2026-09-09 11:46:36 -07:00
2026-09-12 21:30:38 -07:00
2026-09-13 05:07:50 -07:00
2026-09-13 05:07:50 -07:00
2026-09-07 04:38:59 -07:00