- Gate server requests on available credentials
- Run local child agents directly without a parent run ID
- Include command IDs in Bedrock context and recognize transfer tools
- Sanitize tool_use_id values in OpenAI request conversion to match
Bedrock's required pattern ^[a-zA-Z0-9_-]+$. Fixes 400 errors when
LiteLLM proxies to Bedrock and tool IDs contain invalid characters.
- Parse cache usage stats from LiteLLM/OpenAI responses
(prompt_tokens_details.cached_tokens, cache_read_input_tokens,
cache_creation_input_tokens) and propagate to token usage tracking.
- Hide cache-o-meter in session status bar when provider doesn't report
cache data (LiteLLM/OpenAI), instead of showing misleading 0% stats.
- Update cost estimation to account for cache read/write pricing tiers.
- Load global rules (AIFact/AIMemory) from local CloudModel and inject
them into the Bedrock/OpenAI system prompt as a '## Global Rules' section
when memory is enabled.
- Fix rule seeding: always re-seed predefined rules when the CloudModel has
none, regardless of the has_seeded_predefined_rules flag (handles case
where flag was set but rules never persisted due to prior missing owner).
- Rename /context slash command to /copy-context: dumps the full context
window (global rules, progressive summary, message history) to the
clipboard for debugging.
When LiteLLM routes OpenAI-format requests to AWS Bedrock, the provider
rejects conversations ending with an assistant message with:
'This model does not support assistant message prefill.'
Add ensure_ends_with_user_message() as the final sanitization step in
sanitize_messages_for_openai(). If the conversation ends with an assistant
message, a minimal 'Continue.' user message is appended.
Updated tests to reflect the new behavior and added dedicated tests for
the new function.
- Update version from 1.6.3 to 2.0.0 in app/Cargo.toml and Cargo.lock
- Add install-galaxy.sh upload step to build-and-deploy-hermes script
- Include pending AI provider and agent changes