Adopts the round's main features into the v2 architecture: the #9023 media rework (streamed videos, media-file assets, protocol-relative links), #9098 shared live-activity row folded into the v2 working and thinking rows, the #9084/#9078 Claude model catalog for v2 consumers, a native #9005 OpenCode child-session abort in the v2 adapter, #9013's landed LegendList patch, and per-environment sidebar provider entries. For #8600 the server-side pieces land, but auto-settle evaluation stays client-side (reading the new server-owned settings) until the v2 orchestrator grows its own settlement reactor; main's v1-only reactor and coalescer additions are dropped with the rest of the v1 path.
Showing the changes to packages/shared/src (1 of 47 files). Show all
Unified · Split
| @@ -1,5 +1,5 @@ | |||
| 1 | import { describe, expect, it } from "vite-plus/test"; | 1 | import { describe, expect, it } from "vite-plus/test"; |
| 2 | import { ProviderInstanceId, type ModelCapabilities } from "@t3tools/contracts"; | 2 | import { ProviderDriverKind, ProviderInstanceId, type ModelCapabilities } from "@t3tools/contracts"; |
| 3 | 3 | ||
| 4 | import { | 4 | import { |
| 5 | applyClaudePromptEffortPrefix, | 5 | applyClaudePromptEffortPrefix, |
| @@ -40,9 +40,11 @@ const codexCaps: ModelCapabilities = createModelCapabilities({ · 34 unmodified lines | |||
| 40 | 40 | ||
| 41 | describe("model slug normalization", () => { | 41 | describe("model slug normalization", () => { |
| 42 | it("preserves exact custom slugs instead of expanding provider aliases", () => { | 42 | it("preserves exact custom slugs instead of expanding provider aliases", () => { |
| 43 | // Claude aliases now resolve through the model catalog (#9084), so the | ||
| 44 | // provider alias table passes unknown slugs through unchanged. | ||
| 43 | const claude = ProviderDriverKind.make("claudeAgent"); | 45 | const claude = ProviderDriverKind.make("claudeAgent"); |
| 44 | 46 | ||
| 45 | expect(normalizeModelSlug("opus", claude)).toBe("claude-opus-5"); | 47 | expect(normalizeModelSlug("opus", claude)).toBe("opus"); |
| 46 | expect(normalizeCustomModelSlug(" opus ")).toBe("opus"); | 48 | expect(normalizeCustomModelSlug(" opus ")).toBe("opus"); |
| 47 | }); | 49 | }); |
| 48 | }); | 50 | }); |