mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-05 06:42:12 +03:00
Three independent root causes in the TS 7 executor slice (#8484), each a declaration that had drifted behind the code using it. All type-only — no behavior change, verified by running the new tests against the parent commit's sources (7/7 pass there too). mimocode — AccountState was missing `proxy`, but syncAccountsFromCredentials() writes it on every account and getProxyDispatcher() reads it. The #3837/#5521 contract ("always present, null when unconfigured") lived only in a comment. Declared as AccountProxyConfig["proxy"] so the two stay in lockstep. (4) opencode — the tools-truncation block narrowed `modifiedBody` with `typeof === "object"` but, unlike the client_metadata block directly above it, omitted `!Array.isArray()` and the Record cast, so `.tools` was unreachable on `object`. Adopted the neighbouring block's idiom. Behavior is identical: the old code reached `.tools` on arrays too and relied on Array.isArray(undefined) short-circuiting. (4) zed-hosted — enqueueSseObject/finish/processLine were annotated ReadableStreamDefaultController but are driven from a TransformStream, whose controller has no close(). All three only ever enqueue, so they are now typed by that single capability (SseEnqueueTarget). (3) 310 -> 299 diagnostics, zero new, on a line-number-agnostic diff of the full tsc error set. Tests: new tests/unit/ts7-executor-shared-shapes.test.ts pins the tools truncation (previously uncovered) and the proxy-always-present contract. The zed-hosted transform is already covered end-to-end by zed-hosted-think-close-marker.test.ts. 300/300 across the 26 affected files. Co-authored-by: backryun <busan011@ormbiz.co.kr>
14 KiB
14 KiB