| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(llm-client): validate configured headers at startup (#627) * fix(llm-client): validate configured headers at startup Signed-off-by: Clement Pakkam Isaac <cpakkamisaac@nvidia.com> * test: document header validation intent Signed-off-by: Clement Pakkam Isaac <cpakkamisaac@nvidia.com> * refactor(llm-client): streamline header validation Signed-off-by: Clement Pakkam Isaac <cpakkamisaac@nvidia.com> --------- Signed-off-by: Clement Pakkam Isaac <cpakkamisaac@nvidia.com> | 8 小时前 | |
feat(stage): Don't use signals from text inside files (#837) * feat(stage): Don't use signals from text inside files We look for specific strings like "out of memory" in tool call output, to see if there is an error. If the tool call was a log file read that contained that string we would think it was an error and potentially escalate. Now we track if the text came from a Read action and then we don't look at that text for tool call signals. Fixes: https://linear.app/nvidia/issue/SWITCH-1566 Assisted-by: Claude:Opus 5.5 high Signed-off-by: Graham King <grahamk@nvidia.com> | 3 小时前 | |
fix(release): align package versions for 0.3.0 (#734) Signed-off-by: nachiketb <nachiketb@nvidia.com> | 6 天前 | |
fix(stage): match tool semantics by bare MCP tool name (#831) Stage `tool_semantics` now match MCP tools by their bare tool name. For example, `mutate = ["send_payment_request"]` now matches: - A Codex Responses call with `"name": "send_payment_request", "namespace": "mcp__billing"`. - A Claude Code call named `mcp__billing__send_payment_request`. The full name `mcp__billing__send_payment_request` still matches both. The full name is checked first, and the bare name only when the full name matches nothing. Changes: 1. `libsy` finds the bare name in one of two ways: - Codex: from the namespace mapping that the Responses decoder stores on the request. - Claude Code: from the `mcp__<server>__<tool>` form. The name is split once, after the server name, so tool names that contain `__` still work. 2. The namespace key and its two read helpers (`tool_namespaces`, `split_qualified_name`) move from `switchyard-translation` into a new `switchyard_protocol::codex_namespaces` module. This lets `libsy` read the mapping without depending on `switchyard-translation`. Fixes: https://linear.app/nvidia/issue/SWITCH-1456 Assisted-by: Claude:Opus 5.5 medium Signed-off-by: Graham King <grahamk@nvidia.com> | 22 小时前 | |
docs(relay): document known upstream error propagation issue (#761) * fix(relay): document and test native upstream error compatibility Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com> * docs(relay): limit upstream error PR to known issue guidance Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com> --------- Signed-off-by: Bryan Bednarski <bbednarski@nvidia.com> | 6 天前 | |
feat(server): forward upstream response headers (#571) Preserve upstream HTTP response headers for buffered and streaming LLM calls. Forward an allowlisted set of tracing, request ID, processing, rate-limit, and upstream headers to downstream clients. Keep cookies, body headers, and Switchyard-owned headers private, and let Switchyard’s own headers take precedence. Signed-off-by: Lars van der Zande <lmvanderzande@gmail.com> Signed-off-by: Graham King <grahamk@nvidia.com> | 9 天前 | |
feat(libsy): add plan-execute routing strategy (#643) Signed-off-by: Ryan Lempka <rlempka@nvidia.com> | 1 天前 | |
feat: add pi and Oh My Pi support for switchyard-server (#827) * feat(server): report the route context window as context_length on GET /v1/models Signed-off-by: Elyas Mehtabuddin <emehtabuddin@nvidia.com> * docs(integrations): add pi and Oh My Pi setup guides Signed-off-by: Elyas Mehtabuddin <emehtabuddin@nvidia.com> * feat(benchmark): run pi through Switchyard with --agent pi Signed-off-by: Elyas Mehtabuddin <emehtabuddin@nvidia.com> --------- Signed-off-by: Elyas Mehtabuddin <emehtabuddin@nvidia.com> | 3 小时前 | |
chore: Upgrade Rust edition to 2024 (#236) * chore: Upgrade Rust edition 2021 -> 2024 For if-let chains. Also upgrade `rand` so we have a single version. Signed-off-by: Graham King <grahamk@nvidia.com> * if-let chains Signed-off-by: Graham King <grahamk@nvidia.com> * cargo fmt Signed-off-by: Graham King <grahamk@nvidia.com> --------- Signed-off-by: Graham King <grahamk@nvidia.com> | 1 个月前 | |
fix(benchmark): preserve terminal failure pressure (#768) Signed-off-by: Alex Fournier <afournier@nvidia.com> | 5 天前 | |
fix(translation): keep Chat custom tool call name and input (#841) Another esoteric one. No supported agent will hit this, their tools reach Chat models as function tools. The bug shows up when a target's `extra_body` adds a Chat custom tool. An OpenAI Chat model can return a custom (freeform) tool call. It puts the data in `custom.name` and `custom.input`. The Chat decoder only read `function`, so when the response was translated for a Responses or Anthropic client, the call arrived with an empty name and `{}` arguments. The tool name and the full input were lost without any error. This change reads `custom.name` as the tool name. It carries `custom.input` as a single `input` argument. Responses custom tool calls already use that same convention in `codex_custom_tools.rs`. - Only non-streaming decoding is fixed. Streamed Chat custom calls still lose their name and input. A fix there needs new stream state to collect the input text. That's more code, which I don't think the risk of this happening justifies. Fixes https://linear.app/nvidia/issue/SWITCH-1495 Assisted-by: Claude:Opus 5.5 high Signed-off-by: Graham King <grahamk@nvidia.com> | 28 分钟前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 小时前 | ||
| 3 小时前 | ||
| 6 天前 | ||
| 22 小时前 | ||
| 6 天前 | ||
| 9 天前 | ||
| 1 天前 | ||
| 3 小时前 | ||
| 1 个月前 | ||
| 5 天前 | ||
| 28 分钟前 |