Commit Graph
8 Commits
Author SHA1 Message Date
mektpoy 76f0422653 Merge remote-tracking branch 'origin/master' into fix/4573-browser-use-shared-instances 2026-09-19 20:32:48 +08:00
mektpoy de8b10f8ab fix(browser-use): share the installation's scope and MCP client instances
A profile installs @deepseek-ai/dsh-experimental-browser-use-runtime from npm
beside the dsh installation, and that package declared @deepseek-ai/dsh-scope
and @deepseek-ai/dsh-mcp-client as dependencies, so the install carried its own
copy of both.

dsh-scope mints its scope-tag symbol per module instance, so the copy's
createScope tags a context the host's scopeOf cannot read. Every Agent's MCP
tools then registered in the global tool layer: the first Agent succeeded and
each later Agent's tool synchronization hit a name conflict, which
failOnStartupError turned into a failed creation.

Both are now peer dependencies (plus dev), which is how every other consumer of
ctx.tools and dsh-scope declares them and how a profile install reaches the
installation's single instance through the profiles module fallback.
schemastery stays a dependency: it carries no instance-local state.

Fixes #4573
2026-09-18 21:21:10 +08:00
_KermanandTianyi Cui f4a32dbd0a refactor(llm): flatten tool results and validate native V4 sessions
Represent tool results as tool-role messages and migrate released wrappers
without losing outer own JSON fields, call identity, error state, or writer
field order. Refuse nested or wrapper-only information that has no lossless
current representation before successor publication.

Validate current event relationships directly instead of projecting V4 data
back into V3. Keep lifecycle, PTC, title/command, compaction, system-field and
retired-syntax checks on catalog restoration and ordinary JSONL opens. The
Worker JSON equality helper must inspect own keys so it cannot admit PTC
arguments that Node rejects.

Keep the source role change, required native admission and consumer fixture
updates in one complete review layer. Explain shared-type changes in the
persistence record and the native reader rationale in its existing note.
Use checked branded fixture identities and discriminant narrowing instead
of unknown double casts; fixture values and assertions remain intact.

This recomposes the original tool-role work by _Kerman with the independently
validated migration and admission repairs by Tianyi Cui. Frozen generations
and snapshot input version selection are retained.

Co-authored-by: Tianyi Cui <[email protected]>
2026-09-18 19:05:32 +08:00
Tianyi Cui 6caeb505c5 fix(browser-use): await existing Agent creation lifecycle 2026-09-14 14:50:23 +08:00
Tianyi Cui b84a8226bd fix(browser-use): initialize MCP clients without new core APIs 2026-09-13 22:39:18 +08:00
Tianyi Cui e41511d844 fix(browser-use): integrate current MCP resources and snapshots 2026-09-13 22:39:17 +08:00
Tianyi Cui d1e32e481a fix(browser-use): close lifecycle gaps and isolate replay fixtures 2026-09-13 22:39:16 +08:00
Tianyi Cui e1612c2fdc feat(browser-use): add per-Session experimental browser backends 2026-09-13 22:39:16 +08:00