feat: added google reasoning controls mcp stream resumption and tar support

- Added Google provider thinking configuration parameters and force-reasoning-off controls.
- Implemented MCP SSE stream resumption using Last-Event-ID and `SSEResumeError`.
- Added support for TAR old-GNU sparse extension blocks, path length checks, and archive entry overrides.
- Restricted external thinking support to specific models and added semver fallback parsing.
This commit is contained in:
can1357
2026-08-12 02:31:48 +02:00
parent 19c0afcc0d
commit a4d8860a6c
19 changed files with 722 additions and 155 deletions
@@ -315,6 +315,12 @@ describe("shape resolution", () => {
// high-res tier rather than falling back to the 1568px default (#8256).
expect(snapcompact.resolveShape({ api: "anthropic-messages", id: "claude-opus-5" }).frameSize).toBe(1932);
expect(snapcompact.resolveShape({ api: "anthropic-messages", id: "claude-opus-6" }).frameSize).toBe(1932);
// Mixed-case gateway ids matched the pre-catalog-parser /i regex; the
// parser input is normalized so they stay on the high-res tier.
expect(snapcompact.resolveShape({ api: "anthropic-messages", id: "CLAUDE-OPUS-5" }).frameSize).toBe(1932);
// Minor versions past the old 9.10 semver-table bound must not fall
// back to the 1568px default (same staleness class as #8256).
expect(snapcompact.resolveShape({ api: "anthropic-messages", id: "claude-opus-5-11" }).frameSize).toBe(1932);
// Opus lines below 4.7 downscale, so they keep the safe family default.
expect(snapcompact.resolveShape({ api: "anthropic-messages", id: "claude-opus-4-6" })).toBe(
snapcompact.SHAPES.anthropic,