1a77519a23
Mostly cleanup spread across the package: - Extract a generic `WebSocketTransport.json` from the inline OpenAI Responses WebSocket transport so the same shape can be reused for other providers. WebSocket open path now also responds to scope abort. - Drop the `RouteContext` / `TransportContext` wrappers; the only field was `request`, so transports and routes now take `LLMRequest` directly. - Tighten registry semantics: registering a duplicate route id throws instead of silently keeping the first. - Bedrock media: dispatch by MIME table so unknown formats fail with a clear error instead of degrading into a malformed document block. - Anthropic Messages: refactor `step` from one long if-chain into named per-event handlers (`onMessageStart`, `onContentBlockStart`, etc.) dispatched from a small top-level switch. Also rename the one-off `anthropicString` accessor to `signatureFromMetadata`. - Executor: consolidate the duplicated sensitive-name regexes into a single `SENSITIVE_NAME_SOURCE` plus named JSON/query field patterns.