hermes-agent/agent
kshitijk4poor 82019e7c1b fix(credential_pool): unpack the tuple in next_available_at's gate
Cross-PR interaction fix: #77714 (salvage of #71775) changed
_available_entries to return (available, pending_refresh) while #77631
(salvage of #67642) added next_available_at() which still truthiness-
tests the bare return. A non-empty tuple is always truthy — even
([], []) — so the reset-aware gate silently returned None ('no wait
info') for every exhausted pool, disabling the feature #77631 shipped.
Unpack the tuple and test the available list.

Also adapts the lock-probe test for the RLock introduced by #77714
(same-thread non-blocking acquire always succeeds on an RLock; probe
from a helper thread instead).
2026-08-03 19:32:50 +05:30
..
lsp
…
monitoring
…
pet
…
proxy_sources
…
secret_sources
…
transports feat(transport): imply prompt_cache_key capability for api.openai.com 2026-08-03 17:17:05 +05:30
__init__.py
…
account_usage.py
…
agent_init.py fix(cli): persist YOLO mode across --resume 2026-08-02 20:30:06 -07:00
agent_runtime_helpers.py feat: reset-aware primary restore — stay on fallback until the rate-limit window resets 2026-08-03 19:02:12 +05:30
anthropic_adapter.py fix(credential_pool): defer single-use-token refresh outside threading lock 2026-08-03 19:08:09 +05:30
async_utils.py
…
aux_accounting.py
…
auxiliary_client.py
…
azure_identity_adapter.py
…
backend_identity.py
…
background_review.py
…
battery.py
…
bedrock_adapter.py
…
billing_links.py
…
billing_usage.py
…
billing_view.py
…
bounded_response.py
…
browser_provider.py
…
browser_registry.py
…
chat_completion_helpers.py
…
codex_responses_adapter.py
…
codex_runtime.py
…
coding_context.py
…
context_breakdown.py
…
context_compressor.py
…
context_engine.py
…
context_references.py
…
conversation_compression.py feat(agent): emit pool_saturated compression-attempt telemetry (re-review #6) 2026-08-02 16:16:36 -07:00
conversation_loop.py fix(agent): jittered, interrupt-aware backoff for empty-response retries 2026-08-03 17:15:12 +05:30
copilot_acp_client.py
…
credential_persistence.py
…
credential_pool.py fix(credential_pool): unpack the tuple in next_available_at's gate 2026-08-03 19:32:50 +05:30
credential_sources.py
…
credits_tracker.py
…
curator.py perf(curator): trim dead tool-schema from the LLM review fork 2026-08-03 18:21:17 +05:30
curator_backup.py
…
delegation_context.py
…
display.py refactor(discord): simplify tool preview links 2026-08-02 21:48:06 -07:00
error_classifier.py
…
errors.py
…
file_safety.py
…
gemini_native_adapter.py
…
gemini_schema.py
…
i18n.py
…
image_gen_provider.py
…
image_gen_registry.py
…
image_routing.py
…
insights.py refactor(insights): drop consumer-less get_skill_breakdown alias (simplify-pass) 2026-08-03 18:45:43 +05:30
interrupt_compat.py
…
iteration_budget.py
…
jiter_preload.py
…
kanban_stop.py
…
learn_prompt.py
…
learning_graph.py
…
learning_graph_render.py
…
learning_mutations.py
…
lmstudio_reasoning.py
…
manual_compression_feedback.py
…
markdown_tables.py
…
memory_manager.py
…
memory_provider.py refactor(memory): single shared trivial-prompt classifier + gate tests 2026-08-03 17:53:55 +05:30
message_content.py
…
message_sanitization.py
…
moa_loop.py
…
moa_trace.py
…
model_metadata.py
…
models_dev.py
…
moonshot_schema.py
…
nous_rate_guard.py
…
onboarding.py
…
oneshot.py
…
outbound_webhooks.py
…
plugin_llm.py
…
portal_tags.py
…
process_bootstrap.py
…
prompt_builder.py
…
prompt_caching.py
…
rate_limit_tracker.py
…
reactions.py
…
reasoning_timeouts.py
…
redact.py
…
relay_llm.py
…
relay_runtime.py
…
relay_tools.py
…
replay_cleanup.py
…
retry_utils.py
…
runtime_cwd.py
…
secret_scope.py
…
session_activity.py
…
shell_hooks.py
…
skill_bundles.py
…
skill_commands.py
…
skill_preprocessing.py
…
skill_utils.py
…
ssl_guard.py
…
ssl_verify.py
…
stream_diag.py
…
stream_single_writer.py
…
subagent_lifecycle.py
…
subdirectory_hints.py
…
subscription_view.py
…
system_prompt.py
…
think_scrubber.py
…
thinking_timeout_guidance.py
…
thread_scoped_output.py
…
title_generator.py
…
tool_dispatch_helpers.py
…
tool_executor.py
…
tool_guardrails.py
…
tool_result_classification.py
…
trace_upload.py
…
trajectory.py
…
transcription_provider.py
…
transcription_registry.py
…
tts_provider.py
…
tts_registry.py
…
turn_context.py refactor(memory): single shared trivial-prompt classifier + gate tests 2026-08-03 17:53:55 +05:30
turn_finalizer.py
…
turn_retry_state.py
…
turn_summary.py
…
usage_pricing.py
…
verification_evidence.py
…
verification_stop.py
…
verify_hooks.py
…
vertex_adapter.py
…
video_gen_provider.py
…
video_gen_registry.py
…
web_search_provider.py
…
web_search_registry.py
…