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. |
||
|---|---|---|
| .. | ||
| auth-override.test.ts | ||
| cloudflare.test.ts | ||
| codex.test.ts | ||
| github-copilot-models.test.ts | ||
| install-concurrency.test.ts | ||
| install.test.ts | ||
| loader-shared.test.ts | ||
| meta.test.ts | ||
| mutation-repro.test.ts | ||
| shared.test.ts | ||
| trigger.test.ts | ||
| workspace-adapter.test.ts | ||