When the dashboard token is rejected and re-fetched, the stale
session_id was being reused, causing prompt.submit to go to a
non-existent session. Now clears both caches so the retry creates
a fresh session.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Leading/trailing spaces in the endpoint field cause httpx to receive
a URL without a recognisable scheme, producing UnsupportedProtocol.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Log agent_type, full models payload and selected model on every request
to diagnose endpoint routing and empty-endpoint issues.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use GET /api/health (instant, no LLM call) for reachability and
POST /api/api_reset_chat to verify the API key is accepted.
Sending a real message blocks for the full LLM round-trip (>30s).
Also switch from MCP streamable-http to REST API (X-API-KEY header).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- test_connectivity.py: connectivity tests for all four endpoint types
(anthropic, openai, lm_studio, hermes, agent0) — treats no-credits as success
- test_hermes.py: raw WebSocket frame logger used to reverse-engineer protocol
- Fix handle_hermes: skip prompt.submit ack frame, read full text from
message.complete payload.text, always raise on status==error
- Fix requirements.txt: use >= pins (fastapi/uvicorn versions didn't exist)
- Fix dev.sh: prefer python3.12 for venv (mcp>=1.9.0 requires 3.10+)
- Remove ANTHROPIC_KEY env var dependency from server.py (keys come from DB)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
API keys (Anthropic, OpenAI etc.) are stored in the inference_endpoints
table and passed through the request from gnommoweb. Removed the
API_KEY_ANTHROPIC / AGENT_INFERENCE_MODEL env var fallbacks entirely.
Missing endpoint config now returns a clear error instead of silently
falling back to a hardcoded model.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Moved from gnommoweb/agent-inference. Generic LLM inference bridge
supporting litellm (anthropic/openai/ollama/lm_studio), Agent Zero MCP,
and Hermes JSON-RPC WebSocket agent types.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>