Commit Graph
11509 Commits
Author SHA1 Message Date
Yichen Jiang 388ce89823 Merge remote-tracking branch 'origin/master' into worktree/fix-minimal-preset-prompt
# Conflicts:
#	apps/cli/config/agent-presets/minimal/preset.yml
2026-08-10 21:05:29 +08:00
Huanqi Cao 84964ba661 Merge remote-tracking branch 'origin/master' into fix/windows-native-acl-coverage
# Conflicts:
#	packages/preset/agent-presets/src/authoring.ts
#	vitest.config.ts
2026-08-10 21:04:44 +08:00
Yichen Jiang 8164161522 Merge pull request #2168 from deepseek-harness/worktree/subagent-missing-tools-fb2359
fix(subagent): 子 agent 加入父会话的 preset 组装
2026-08-10 21:04:08 +08:00
Yichen Jiang b90cb1b0b0 test(web): re-record the subagent goldens against a rebuilt client
The child session now shows the preset badge its parent shows, which is the
visible consequence of recording the composition it runs. The first recording
of these two goldens was taken against a dist built before the master merge,
so it captured the fallback Chinese label instead of the English one
`newEnglishPage` pins — the web lane replays the BUILT client, and a stale
build reads as a product difference. Re-recorded after `pnpm run build`.
2026-08-10 20:55:32 +08:00
Yichen Jiang 4481637684 fix(python): package the minimal runtime closure 2026-08-10 20:55:02 +08:00
creatixchu 74adae57e9 Merge remote-tracking branch 'origin/master' into feat/read-image-context 2026-08-10 20:46:31 +08:00
Tianyi Cui 6db5abb110 Merge remote-tracking branch 'origin/master' into worktree/windows-acl-hardening-followup 2026-08-10 20:43:17 +08:00
TianleLin 13d6b573ac Merge branch 'master' into feat/mcp-auto-reconnect 2026-08-10 20:36:31 +08:00
creatixchu 0a6561fa76 refactor(fs): share read preflight helpers 2026-08-10 20:36:24 +08:00
Yichen Jiang 43f3324a7b fix(tools): restrict what a scope inherits, not just the global layer
A restriction was compiled against the global tool layer alone: only
global-layer tools were tested against `admits()`, and every chain-layer
tool was overlaid unfiltered afterward. That read the exempt set as "the
global layer" when what it means is "what this scope registers itself" —
two descriptions of the same set only while every model-facing tool sat in
the host composition.

Moving those rows onto the agent plane separated them. A preset's tools are
an ANCESTOR contribution to a joined agent, so a subagent's `toolFilter`
stopped constraining anything it was given; and with the global layer empty
`restrict()` rejected every name it received as unknown, failing the child
outright. With the same tools in the global layer the filter still admits
and applies normally, which is what makes this a regression of the move
rather than a standing limitation.

`view()` now filters everything a scope inherits — the global layer and
every ancestor layer on its chain — and exempts only the layer the scope
owns. That exemption is load-bearing rather than incidental: the delegation
runtime registers a child's `report` and structured-output tools into the
child's own layer, and a filter naming the capabilities the child may use
must not strip the machinery it answers through. Tool order, and with it
prefix-cache reuse, is unchanged: inherited names keep their global-then-
ancestor position and own-layer names still come last.

The diagnostic said "unknown global tool" while listing what is really the
inherited surface; it now names the surface it checks and says why an
own-layer name is not restrictable.

Fixes #2185
2026-08-10 20:34:45 +08:00
Yichen Jiang 6301320a63 Merge remote-tracking branch 'origin/master' into worktree/subagent-missing-tools-fb2359 2026-08-10 20:32:58 +08:00
Yichen Jiang e365c7d601 Merge pull request #2163 from deepseek-harness/worktree/fix-session-header-preset-order
fix(web): order session preset before subagent list
2026-08-10 20:30:35 +08:00
lintianle 517449d85f Merge remote-tracking branch 'origin/master' into feat/mcp-auto-reconnect 2026-08-10 20:28:46 +08:00
pku-xht e6b6f1a047 Merge master at 35eeb4a112 2026-08-10 20:25:58 +08:00
creatixchu 2b90207770 Merge remote-tracking branch 'origin/master' into feat/read-image-context
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/config-catalog.zh.md
#	packages/support/llm-replay/src/index.ts
#	packages/support/llm-replay/tests/llm-replay.spec.ts
2026-08-10 20:25:25 +08:00
Tianyi Cui ad37ee33c5 Merge remote-tracking branch 'origin/master' into worktree/windows-acl-hardening-followup
# Conflicts:
#	docs/config-catalog.i18n.yaml
2026-08-10 20:24:28 +08:00
Yichen Jiang 5a69fa9258 Merge branch 'master' into worktree/fix-session-header-preset-order 2026-08-10 20:21:52 +08:00
creatixchu 9fcbeb8615 test(web): expect read_image in shipped composition 2026-08-10 20:21:30 +08:00
Yichen Jiang 7ca8751584 test(web): refresh localized preset snapshots 2026-08-10 20:20:31 +08:00
Ziya 216b5eab42 Merge pull request #967 from deepseek-harness/fix/workspace-context-rendered-change-proof
fix(workspace-context): commit only represented changes
2026-08-10 05:19:17 -07:00
Ziya 45df59391a Merge pull request #1986 from deepseek-harness/fs-overwrite-diff-bound-v2
fix(fs-local): bound overwrite contextual diff bases
2026-08-10 05:18:27 -07:00
_Kerman fa2dce28ce test(web): adapt ui-trajectory benches to the merged locale settings scope
The locale plugin now derives its durable preference from a settings scope
bound to the connection service, so the trajectory benches provide a
connection handle before loading it.
2026-08-10 20:15:31 +08:00
Yichen Jiang 62f4da95f5 test(preset): assert minimal compaction policy 2026-08-10 20:14:39 +08:00
Hypatia May 1478d3f806 test(web): refresh subagent conversation goldens for the pinned-approval Custom chip
The delegation-pinned approval/policy: never makes a child session's knobs
match no preset, so the child conversation's Access chip truthfully reads
Custom.
2026-08-10 20:14:16 +08:00
lintianle 00f68d7e93 feat(mcp-client): auto-reconnect with bounded backoff after transport close
A per-instance connection supervisor restarts the original server config
with exponential backoff when the transport closes, re-runs tool discovery
on success, and atomically replaces the previous generation. Default policy
retries for ~2.5 minutes (10 attempts, 500ms→30s doubling) before giving up
and unregistering the server's tools.

New config block reconnect { enabled, initialDelayMs, maxDelayMs, maxAttempts }
on both transports; misconfiguration fails plugin load. A connection that
survives past the stability window (maxDelayMs) resets the attempt budget,
so occasional crashes recover indefinitely while a crash loop still exhausts
the cap.

Integrates with the upstream failOnStartupError: the initial sync uses
registrationFailure:'throw' when that flag is set so a squatted namespace
still rejects activation.

Fixes #1746
2026-08-10 20:10:54 +08:00
ZiyaZhang 4ec9e310c3 Merge remote-tracking branch 'upstream/master' into fix/workspace-context-rendered-change-proof 2026-08-10 05:10:39 -07:00
Ziya 5cdebcf5f3 Merge branch 'master' into fs-overwrite-diff-bound-v2 2026-08-10 05:10:30 -07:00
Yichen Jiang eacd5e2167 fix(prompt): remove unreachable complete branches 2026-08-10 20:09:06 +08:00
_Kerman 9b96a1380b Merge remote-tracking branch 'origin/master' into feat/web-session-log-export 2026-08-10 20:02:24 +08:00
creatixchu 767e5a5723 fix(fs): close read-image review gaps 2026-08-10 19:56:18 +08:00
Yichen Jiang 9ce8340dd9 fix(web): pin preset before subagent header action 2026-08-10 19:54:08 +08:00
Yichen Jiang 6dabf0ea99 docs(python): generalize SDK guide 2026-08-10 19:53:51 +08:00
ZiyaZhang bf39cef48f fix(ci): tolerate platform-specific coverage and curl retries 2026-08-10 04:52:07 -07:00
_Kerman fbd09a70f3 docs: document SessionRawArtifact and fix backpressure claims
The persistence subsystem page gains the SessionRawArtifact section (with a
type-equiv manifest entry and zh counterpart), and the README and Agent Note
describe the drain-based backpressure instead of claiming the archive never
accumulates.
2026-08-10 19:50:43 +08:00
_Kerman 2a34ca51a3 test(web): assembled session-log download e2e and refreshed golden
The navigation-panes replay scenario clicks the trajectory toolbar export
button and asserts the real host-streamed download: filename, a single
session.jsonl entry, and byte-verbatim seed content. The toolbar golden
refreshes for the localized export button.
2026-08-10 19:50:32 +08:00
_Kerman 53d9810461 fix(web): localize the trajectory toolbar and simplify the download
Toolbar strings route through the locale dictionary's standard t seat (the
export button no longer mixes languages in the English golden), exportLog
passes the response blob straight to the browser save instead of copying it
three times, the client id sanitizer rejects dot segments like the host one,
and the fixture stub comment no longer misattributes the 404.
2026-08-10 19:50:20 +08:00
_Kerman beb1d0601f fix(apiproxy): address session-export review — surrogate-safe chunks, backpressure drain, strict flag
Chunk boundaries never split a surrogate pair (a lone high surrogate
re-encodes as U+FFFD and silently corrupts the exported artifact), production
yields whenever the response queue fills so a slow consumer bounds the
accumulation, includeDescendants rejects values other than true/false instead
of silently under-exporting, the dead missing-services arm is deleted by
narrowing the streaming deps, and the readRaw failure answers 500 without
leaking host paths into the browser error bar.
2026-08-10 19:50:09 +08:00
_Kerman bf70da473b fix(session-persistence): async readRaw default and full branch coverage
The inherited readRaw default now rejects like the async backend overrides
instead of throwing synchronously, and its arms plus the JSONL override's
retry loop, zero-frame, and corrupt-header branches get dedicated tests.
2026-08-10 19:49:57 +08:00
Yichen Jiang cec716717f Merge branch 'master' into worktree/fix-session-header-preset-order 2026-08-10 19:46:29 +08:00
Hypatia May 5ba4055ed4 docs(subagent): trim comments in the delegated-policy additions 2026-08-10 19:46:07 +08:00
Yichen Jiang 299cafad01 fix(python): rename SDK distribution 2026-08-10 19:45:54 +08:00
Yichen Jiang 13d4d4b3f3 fix(web): focus creator preset description 2026-08-10 19:44:42 +08:00
Yichen Jiang 5e3dd2fd34 fix(web): clarify shipped preset capabilities 2026-08-10 19:40:19 +08:00
Hypatia May 9e40fc7f6b Merge remote-tracking branch 'origin/master' into fix/continuable-subagent-policy-inheritance 2026-08-10 19:40:14 +08:00
Hypatia May 8ebf02e0ac docs(subagent): cite issue 1723 as plain text in the approvals-pinned note
A leaked host TSX_TSCONFIG_PATH redirected the tsx gate scripts to a staging
checkout and masked the verify-public-repository-links rejection of the
internal issue URL; all tsx-driven gates re-verified clean with the variable
unset.
2026-08-10 19:34:17 +08:00
Huanqi Cao 0a17575040 fix(sandbox): address review: leak FIXME, legal ACL fixture, stronger offset test, prose 2026-08-10 19:34:01 +08:00
Tianyi Cui 6da5b1ed6d Merge remote-tracking branch 'origin/master' into worktree/windows-acl-hardening-followup 2026-08-10 19:33:40 +08:00
creatixchu 21ec0fd10b test(cli): expect read_image in standard preset 2026-08-10 19:32:37 +08:00
Yichen Jiang dc524c2c93 Merge remote-tracking branch 'origin/master' into worktree/fix-minimal-preset-prompt 2026-08-10 19:30:51 +08:00
Yichen Jiang 20139a3fb7 docs(sdk): add minimal Python example 2026-08-10 19:30:46 +08:00