Skip to content

Feature/zoo 691 delegation atomic update#117

Merged
krzychdre merged 16 commits into
mainfrom
feature/zoo-691-delegation-atomic-update
Jun 29, 2026
Merged

Feature/zoo 691 delegation atomic update#117
krzychdre merged 16 commits into
mainfrom
feature/zoo-691-delegation-atomic-update

Conversation

@krzychdre

Copy link
Copy Markdown
Owner

No description provided.

krzychdre and others added 16 commits June 27, 2026 17:46
…/sdk to 1.26.0 [security]

Port of Zoo-Code PR #351. Bumps @modelcontextprotocol/sdk 1.12.0 -> 1.26.0
(security) and adds the MCP resource_link content type (spec 2025-06-18): a new
McpResourceLink type in @roo-code/types and markdown-link rendering for
resource_link items in UseMcpToolTool.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Co-authored-by: edelauna <54631123+edelauna@users.noreply.github.com>
Port of Zoo-Code PR #423. Replaces caret ranges on the React type packages with
exact pins across apps/cli, the root pnpm overrides, and webview-ui, and aligns
apps/cli (which declared @types/react ^19.1.6) to the v18 the override already
forces. Lockfile resolution is unchanged (@types/react@18.3.23,
@types/react-dom@18.3.7); only the declared ranges tighten, removing caret drift.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #225. Upgrades the knip config (schema v5, per-workspace
ignoreDependencies, rules) and removes dependencies verified unused in our fork:
@openrouter/ai-sdk-provider, @vscode/test-electron, npm-run-all2, tsup, tsx,
and zod-to-ts from src; knuth-shuffle-seeded and identity-obj-proxy from
webview-ui (plus the orphaned types.d.ts). tsx moves to apps/cli, which actually
uses it (previously hoisted from src).

Each removal was checked against our diverged fork, not assumed from upstream.
knip.json drops `vscode` from the webview ignore list (we don't declare it) and
ignores our self-hosted-cloudapi sub-project.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #642 (vite 8.0.16 security update). Our lockfile already
resolves vite@8.0.16 via the existing caret range, so this raises the declared
webview-ui floor from ^8.0.13 to ^8.0.16 to prevent a future regression below the
patched version. Keeps our caret convention; does not import Zoo's exact pin or
its root pnpm.overrides.vite entry (our overrides intentionally differ).
Port of Zoo-Code PR #567. Wire the user-configured apiRequestTimeout into every
provider that builds an OpenAI or Anthropic SDK client, via a single timeoutMs
field on BaseProvider. Previously only openai/lm-studio and BaseOpenAiCompatible
providers honored it.

timeout-config now returns a number (never undefined), clamps to 1-3600s (out of
range falls back to the 600s default), and rounds the ms so the Anthropic SDK's
positive-integer validation never sees a float. The setting schema becomes an
integer with minimum 1, and the localized descriptions drop the obsolete
"0 = no timeout" wording and list the providers that ignore the value.

Skips the Zoo-only zoo-gateway/opencode-go providers (absent in this fork).

Co-authored-by: Oh Daewoong <dw.oh@samsung.com>
Co-authored-by: Naved  Merchant <naved.merchant@gmail.com>
Port of Zoo-Code PR #599. Adds Moonshot AI's Kimi K2.7 Code model to the Fireworks
provider (type union + model config + test). Purely additive.

Co-authored-by: Povilas Kanapickas <povilas@radix.lt>
Port of Zoo-Code PR #659. Our lockfile resolved undici@6.26.0 (below the patched
6.27.0), so this raises the floor in the root pnpm.overrides and src devDeps to
^6.27.0 and refreshes the lockfile to pull in the fix. Keeps our caret convention;
skips the unrelated ClineProvider test refactor squashed into the upstream PR.

Co-authored-by: Elliott de Launay <edelaunay@wealthsimple.com>
Port of Zoo-Code PR #670. The @vscode/test-cli runner and its .vscode-test.mjs
config are unused here: apps/vscode-e2e runs e2e via runTest.js (the
@vscode/test-electron path), and no script invokes the vscode-test CLI. Removes
both and prunes the lockfile.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #671. Raises the src execa floor from ^9.5.2 to ^9.6.1
(lockfile resolved 9.5.3) and refreshes the lockfile. Keeps our caret convention.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #673. Raises the src axios floor from ^1.16.1 to ^1.18.0
(lockfile pinned 1.16.1) and refreshes the lockfile; our direct dep resolves to
axios@1.18.1. Skips the upstream renovate.json change (our deps flow owns that).

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #662 (fixes upstream #511). When a weak model emits follow_up
as a present-but-non-array value (a keyed object/string/number from incremental
JSON parsing), the tool reported a misleading "Missing value for required parameter
'follow_up'", causing retry loops with the same payload. Now null/undefined still
reports a missing parameter, while a present-but-wrong-type value reports a precise
"must be an array" type error so the model can correct it.

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Port of Zoo-Code PR #619. Reword ':start_line:' from "required" to "strongly
recommended" (matching our diff strategy, which tolerates a missing start line)
and add a CRITICAL section spelling out exact ':start_line:[integer]' syntax, the
whitespace-exact match rule, and separator placement — improving apply_diff
success rates for weaker models like Gemini.

Co-authored-by: Andrew Schmeder <149117631+awschmeder@users.noreply.github.com>
Port of Zoo-Code PR #324. Gemma 4 emits reasoning inside <thought> rather than
<think>. Generalizes TagMatcher to accept multiple tag names so reasoning is
extracted for both, while a stray </thought> won't close an active <think> block.
Wires ["think", "thought"] into the OpenAI-compatible, LM Studio, native Ollama,
and OpenAI providers. Adds the upstream tag-matcher unit tests plus <thought>
integration tests on the shared streaming path.

Co-authored-by: Sagid M <kofon95@mail.ru>
Co-authored-by: Sagid Magomedov <sagidsmagomedov@gmail.com>
Co-authored-by: Elliott de Launay <edelauna@gmail.com>
…AndUpdate

Port of Zoo-Code PR #691. Replaces the non-atomic read (getTaskWithId) + write
(updateTaskHistory) of parent delegation metadata with a new
TaskHistoryStore.atomicReadAndUpdate that performs the read-modify-write inside a
single lock acquisition, so no concurrent writer can interleave. After the lock
releases, delegation invalidates the recent-tasks cache and broadcasts
taskHistoryItemUpdated when the view is launched.

Adopts the upstream provider-delegation test rewrite minus its rollback case (our
delegateParentAndOpenChild logs on persist failure rather than rolling back).

Co-authored-by: Elliott de Launay <edelauna@gmail.com>
Co-authored-by: Naved  Merchant <naved.merchant@gmail.com>
@krzychdre krzychdre merged commit cfa3834 into main Jun 29, 2026
4 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant