Commit graph

11 commits

Author SHA1 Message Date
Aiden Cline
5d87c7ad1f refactor(llm): remove the provider-error stream event
Delete the provider-error LLMEvent so streams carry output only and
every provider-reported failure exits through the typed error channel.
Anthropic SSE error events, OpenAI Responses response.failed/error
events, and Bedrock exception frames now fail the stream with an
LLMError from the shared classifier (carrying the provider code, e.g.
rate_limit_exceeded -> LLM.RateLimit).

Core follows: the publisher drops its provider-error case, the runner
drops held-back overflow events (overflow recovery keys off a thrown
LLM.ContextOverflow), compaction and title stop scanning events for
failures, and isContextOverflowFailure is deleted with its last
consumer. V1 packages/opencode gets minimal compile fixes only (dead
switch case, one test stream).
2026-07-13 12:22:30 -05:00
Aiden Cline
fce506b3f9 refactor(llm): replace LLMError reasons with flat tagged union
Replace the LLMError { module, method, reason } wrapper with a flat
tagged union (LLM.BadRequest, LLM.Authentication, LLM.PermissionDenied,
LLM.NotFound, LLM.RateLimit, LLM.QuotaExceeded, LLM.ContentPolicy,
LLM.ContextOverflow, LLM.ServerError, LLM.APIError, LLM.ConnectionError,
LLM.TimeoutError, LLM.MalformedResponse, LLM.NoRoute) plus an isLLMError
guard. Add one shared classifyApiFailure classifier used by the HTTP
executor and the AI SDK adapter so both surfaces classify identically,
preserving status, headers, body, and retry-after.

Core policy moves onto tags: retry RateLimit | ServerError |
ConnectionError | TimeoutError; toSessionError adds
provider.context-overflow, provider.timeout, and provider.not-found.

The provider-error stream event and the runner's held-back overflow
handling are unchanged here; isContextOverflowFailure now bridges old
events and new tags until the event is removed.
2026-07-13 12:21:21 -05:00
Kit Langton
3dd29094f4
feat(http-recorder): sync recorder v0.3 (#35619) 2026-07-08 11:41:59 -04:00
Shoubhit Dash
3cbcd8d727
feat(llm): complete provider package entrypoints (#35907) 2026-07-08 18:41:46 +05:30
Kit Langton
54f4974546
feat(http-recorder): prepare public beta release (#31018) 2026-06-06 03:01:26 +00:00
Kit Langton
76ee87ead8
feat(core): add embedded v2 session runtime and tool foundation (#30632) 2026-06-03 23:02:17 -04:00
Kit Langton
41f6daf96a
Refactor LLM route-first provider API (#28523) 2026-05-20 20:15:52 -04:00
Kit Langton
023e1c711e
refactor(llm): colocate per-type factories on their namespaces (#26799) 2026-05-11 13:05:41 -04:00
Kit Langton
f240bba8e7
chore(http-recorder): remove content-matching dispatch mode (#26792) 2026-05-11 11:10:18 -04:00
opencode-agent[bot]
ba8c920639 chore: generate 2026-05-08 20:57:36 +00:00
Kit Langton
5bb7b23440
Add native LLM core foundation (#24712) 2026-05-08 16:56:20 -04:00