Files
opencode/packages
Kit Langton 6833070a57 fix(server): project /config response to JSON-safe at the HTTP boundary
Mirrors #26550 (Provider.toPublicInfo): internal runtime objects may
legitimately carry function/symbol/bigint/undefined values, but the
HTTP API contract is JSON-safe data matching the typed schema.

Plugin `config:` hooks are documented to mutate cfg in place
(registering agents/providers); that contract is preserved. The
projection happens in ConfigHttpApi.get only, so internal consumers
keep raw cfg and HTTP clients see a clean response.

Active reproducer asserts the actual product invariant — GET /config
returns a JSON-safe body even when a plugin attached a function to
cfg. Three trigger-output reproducers stay skipped: per-hook design
needed because the documented mutation contract makes a blanket
clone unsafe and `tool.parameters` is a live Effect Schema with
function-valued own keys that recursive in-place scrub would corrupt.
2026-05-09 15:08:55 -04:00
..
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00
2026-01-21 14:36:21 -06:00
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00
2026-05-09 18:06:16 +00:00