rowboat/apps/x/packages/core/src
Prakhar Pandey 6fc5d5ec11 fix: surface Ollama's real error message instead of bare HTTP statusText
Ollama returns errors as {"error":"<string>"}, but ollama-ai-provider-v2's
error parser expects OpenAI-style {"error":{"message":...}}. The schema
mismatch makes the AI SDK fall back to the HTTP statusText, so users only
ever saw "Bad Request"/"Not Found" while Ollama's actual reason (model not
found, no tool support, ...) was swallowed -- which is why reports like
#696 were impossible to debug.

makeOllamaThinkFetch now rewraps failed responses' plain-string error
bodies into the nested shape the provider parses, preserving status,
statusText and headers (content-length dropped so the runtime recomputes
it). Successful responses, already-nested errors and non-JSON bodies pass
through untouched. The wrapper's two fetch call sites were merged into one
so both the /api/chat path and the passthrough get the same error handling
without a duplicate-request hazard.

Refs #696

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 14:30:13 +05:30
..
account use rowboat model gateway when logged in 2026-03-12 23:29:42 +05:30
agent-schedule move local-model concurrency to a turn-level defer lock 2026-07-06 13:38:39 +05:30
agents fix(x): review fixes — prototype-safe registry lookup, shared parsing, slimmer records 2026-07-09 23:10:58 +05:30
analytics merge dev into feature/apps-v1 2026-07-05 01:08:35 +05:30
application fix(x): review fixes — prototype-safe registry lookup, shared parsing, slimmer records 2026-07-09 23:10:58 +05:30
apps feat(apps): star-ranked catalog, star from Rowboat, delete local apps 2026-07-07 20:59:02 +05:30
auth Drive (#583) 2026-06-23 03:13:58 +05:30
background-tasks feat(x): teach copilot when to spawn sub-agents; fence shared surfaces 2026-07-09 06:20:38 +05:30
billing feat(billing): consume plan variant catalog 2026-06-19 16:52:22 +05:30
channels refactor(x): one delivery path for turn events — chat, channels, deltas 2026-07-09 15:47:21 +05:30
code-mode feat(x): ephemeral CodeRunFeed for codex streaming + settle-time durable batch 2026-07-06 14:04:33 +05:30
composio feat: native google sign-in for signed-in users 2026-05-05 14:29:13 +05:30
config Merge remote-tracking branch 'upstream/dev' into feat/disk-skills 2026-07-06 22:37:30 +05:30
di feat(x): turn event spine — one bus for every turn's events 2026-07-09 14:19:53 +05:30
events make local models work well 2026-07-06 13:31:13 +05:30
filesystem Refactor builtin file tools beyond workspace scope 2026-05-25 16:21:51 +05:30
knowledge move local-model concurrency to a turn-level defer lock 2026-07-06 13:38:39 +05:30
mcp remove default exa server 2026-03-19 18:46:08 +05:30
migrations feat(migration): port legacy runs into the turn/session runtime at startup 2026-07-02 21:56:04 +05:30
models fix: surface Ollama's real error message instead of bare HTTP statusText 2026-07-10 14:30:13 +05:30
pre_built move local-model concurrency to a turn-level defer lock 2026-07-06 13:38:39 +05:30
runs fix(x): review fixes — prototype-safe registry lookup, shared parsing, slimmer records 2026-07-09 23:10:58 +05:30
schedule feat: background tasks 2026-05-12 17:43:25 +05:30
search Add global search across knowledge and chats 2026-02-18 18:08:24 +05:30
security move local-model concurrency to a turn-level defer lock 2026-07-06 13:38:39 +05:30
services code clean up 2026-02-06 23:17:32 +05:30
sessions refactor(x): one delivery path for turn events — chat, channels, deltas 2026-07-09 15:47:21 +05:30
slack feat: ship Slack as a knowledge source, hardened for production (#596) 2026-06-17 12:52:27 -07:00
turns fix(x): review fixes — prototype-safe registry lookup, shared parsing, slimmer records 2026-07-09 23:10:58 +05:30
voice phase 1 improvements to reduce latency: smart endpointing, streaming tts, early clause speech, ack 2026-07-04 12:51:06 +05:30
workspace add code mode: coding-agent workspace with sessions, direct/Rowboat drive, diffs, and worktrees 2026-06-12 23:57:44 +05:30
index.ts voice mode with TTS input/output 2026-03-13 10:39:05 +05:30