Commit Graph
17048 Commits
Author SHA1 Message Date
_Kerman d3856902b6 Merge pull request #3880 from deepseek-harness/xtr/trajectory-json-string-wrapping
feat(client): improve trajectory JSON and PTC inspection
2026-09-14 14:01:59 +08:00
_Kerman 1119fa2544 test(web): refresh the Auto-review trajectory golden for PTC summaries
The trajectory ledger now summarizes a recorded run_code call with the
program description instead of its raw JSON arguments, and marks it with
the code-inspection icon. Refresh the Auto-review denial golden so the
replayed ARIA expectation matches the shipped rendering.
2026-09-14 13:50:23 +08:00
Yichen Jiang 444c801718 Merge pull request #3864 from deepseek-harness/worktree/web-sidebar-terminal
feat(web): add interactive sidebar terminals
2026-09-14 13:47:12 +08:00
Turtle 6a4a825a88 Merge pull request #4079 from deepseek-harness/turtle/master-ci-platform-tests
test(ci): repair platform fixtures, gallery clock and cache teardown
2026-09-14 12:39:59 +08:00
Yichen Jiang 0a0563cc9b test(web): mock retained terminals in assembled fixtures 2026-09-14 12:13:26 +08:00
Yichen Jiang 0a7f47e3f2 Merge remote-tracking branch 'origin/master' into worktree/web-sidebar-terminal 2026-09-14 12:03:02 +08:00
Yichen Jiang 11b2114786 fix(web): align terminal launcher controls and guide appearance 2026-09-14 12:00:29 +08:00
CreatixChu 48de2d1ba0 Merge pull request #3440 from deepseek-harness/worktree/3041-image-offload-log-design
feat(session, llm): durable image offload watermark
2026-09-14 11:17:06 +08:00
_Kerman a85778448a Merge origin/master into xtr/trajectory-json-string-wrapping 2026-09-14 11:15:34 +08:00
Yichen Jiang 3219a2d8e1 docs(api): refresh terminal dependency graph 2026-09-14 11:10:18 +08:00
Yichen Jiang 37e5d8c4aa fix(web): remember shell choices before terminal startup 2026-09-14 11:02:53 +08:00
Yichen Jiang 33d89aee77 feat(web): choose and remember terminal shells 2026-09-14 10:59:46 +08:00
Yichen Jiang 1b7b50bbe1 Merge remote-tracking branch 'origin/master' into worktree/web-sidebar-terminal
# Conflicts:
#	apps/web/package.json
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
#	packages/api/remotes/src/client/index.ts
#	packages/e2b/subprocess-e2b/README.md
#	packages/e2b/subprocess-e2b/README.zh.md
#	packages/e2b/subprocess-e2b/src/index.ts
#	packages/e2b/subprocess-e2b/src/terminal.ts
#	packages/e2b/subprocess-e2b/tests/subprocess.spec.ts
#	packages/e2b/subprocess-e2b/tests/terminal.spec.ts
#	packages/mcp/mcp-resources/README.i18n.yaml
#	pnpm-lock.yaml
#	scripts/verify-package-readme-model-experience.ts
#	snapshots/session/cordis-inspect-jsdoc/session.v3.jsonl
#	tsconfig.base.json
#	tsconfig.client.json
#	tsconfig.host.json
2026-09-14 10:36:31 +08:00
creatixchu 2b1dabec86 Refresh merged SDK recordings and persistence documentation 2026-09-14 10:25:54 +08:00
creatixchu 27d52a4edb Update image tests for split adapters and durable offload failures 2026-09-14 10:21:54 +08:00
creatixchu a7070008e7 Merge master and integrate image offload with both DeepSeek protocols 2026-09-14 10:19:11 +08:00
imccyu 9ccd9b0634 Merge pull request #3960 from deepseek-harness/worktree-feqatest
test(client): replace legacy fixtures with RemoteMock
2026-09-13 23:09:09 +08:00
imccyu f258024b4d docs(testing): correct fixture migration guidance 2026-09-13 22:51:53 +08:00
imccyu e179c4ae14 test(client): preserve migrated fixture semantics 2026-09-13 22:51:53 +08:00
imccyu c0e8252afe refactor(client): remove fixture-only API residue 2026-09-13 22:51:53 +08:00
imccyu 7e331d72ed test(file-upload): cover unnamed byte uploads 2026-09-13 21:54:31 +08:00
imccyu 566db0b6cb docs(testing): retire browser fixture references 2026-09-13 21:30:03 +08:00
imccyu 5541ae0d2d refactor(client): replace browser fixture with RemoteMock 2026-09-13 21:30:03 +08:00
imccyu eb2cb668a5 test(web): run fixture browser cases through Host 2026-09-13 21:30:02 +08:00
imccyu 9b091919e2 test(session-controller): migrate remaining Remote fixtures 2026-09-13 21:30:02 +08:00
imccyu c1504a2aa6 fix(client-modules): resolve the owning Loader instance 2026-09-13 21:27:54 +08:00
imccyu 77db56687b test(ui-message-feedback): use RemoteMock 2026-09-13 21:27:53 +08:00
imccyu a475a65bed fix(client-test-runtime): isolate client instances 2026-09-13 21:27:53 +08:00
Tianyi Cui 5ca77db865 Merge pull request #4089 from deepseek-harness/worktree/deepseek-messages-parity
feat(llm): default DeepSeek to Messages with Files parity
2026-09-13 21:19:03 +08:00
Tianyi Cui accafa5fb2 refactor(llm): inherit Messages defaults and verify live parity 2026-09-13 20:36:50 +08:00
Tianyi Cui aef56a3108 test(ci): align external-agent and workflow endpoint fixtures 2026-09-13 20:36:50 +08:00
Tianyi Cui ece35a1a38 test(ci): exercise Messages defaults in runtime smokes 2026-09-13 20:36:50 +08:00
Tianyi Cui 7d3dab66a2 fix(llm): harden Messages transport and Files parity 2026-09-13 20:36:50 +08:00
Tianyi Cui b0641b83fc feat(llm): default DeepSeek to Messages with Files parity 2026-09-13 20:36:50 +08:00
Tianyi Cui 9531265ff3 Merge pull request #4098 from deepseek-harness/worktree/unarchive-sessions
feat(workspace): restore archived sessions from a settings page
2026-09-13 17:36:52 +08:00
Tianyi Cui 76941d0085 fix(workspace): keep the newest archive set from stale replies
Both archive verbs answer with the complete set, so a reply that lands
after a newer request or after a pushed increment overwrote it. The
Client model now installs an answer only while it is still the latest
archive-set request, and the follow increment and baseline supersede it.

Also narrow the page's public surface and its states: the locale
namespace stays internal, row derivation is a memo over the framework
hooks, the search input carries one accessible name, the empty-archive
message no longer covers a set whose entries cannot be restored, and the
new package declares no client dependency edge it does not import.
2026-09-13 16:45:45 +08:00
Tianyi Cui e1ee806226 chore(cordis): regenerate the client slot catalog
The new Settings section registers one more settings.section contribution,
which the generated client slot catalog lists.
2026-09-13 16:45:45 +08:00
Tianyi Cui ae34320a5b test(web): expect the unarchive verb and the archived-sessions nav row
The Client Cordis catalog now publishes unarchiveSession on both the
Workspace service and the UI navigation capability, and the new Settings
section adds one nav row that every settings-dialog aria snapshot carries.
Refresh those expectations; the goldens gain only that row.
2026-09-13 16:45:45 +08:00
Tianyi Cui 5f773a0ded feat(workspace): restore archived sessions from a settings page
Sessions could be archived from the sidebar row menu but never restored:
the registry-global archive set was a one-way display filter with no
inverse RPC and no surface listing its members.

WorkspaceRegistry.unarchiveSession drops one id from archivedSessionIds in
one durable write on the same operation chain as archive, with no
session-existence probe because a removal cannot introduce an unknown
referent. The Workspace controller exposes it as workspace.unarchiveSession
returning the complete archive set, which the existing archived follow
increment already propagates, so no frame type and no persisted field
changes.

The new client package dsh-client-ui-settings-unarchive-sessions owns the
restore surface: one localized settings.section page listing the archive
set joined with loaded session summaries, newest archive first, searchable
by title or workspace, with one Unarchive action per row.
2026-09-13 16:45:45 +08:00
Tianyi Cui 9e87d16f3a Merge pull request #4116 from deepseek-harness/worktree/coverage-attribution
fix(coverage): canonicalize partition locations before the blob merge
2026-09-13 16:45:02 +08:00
Tianyi Cui 8ba386ec69 Merge branch 'master' into worktree/coverage-attribution 2026-09-13 16:37:55 +08:00
Tianyi Cui 2214891606 Merge pull request #4119 from deepseek-harness/worktree/workflow-sandbox-ptc
fix(workflow): execute orchestration through sandboxed PTC
2026-09-13 16:33:51 +08:00
Tianyi Cui 10930a0205 fix(coverage): fail loud when the canonicalizer gets no coverage data
Vitest types `Reporter.onCoverage` as `unknown`, so a payload that carries no
istanbul `data` record now fails the partition instead of silently leaving
every location uncanonicalized; a spec case pins that rejection. The module
docs keep the contract and link the Agent Note for the mechanism, the
partition spec names what it asserts (the reporter argument, not Vitest hook
ordering), and the notes correct the `Infinity` origin to ast-v8-to-istanbul,
record the reporter-ordering dependency, and name the reporter each partition
child carries.
2026-09-13 15:17:06 +08:00
Tianyi Cui c171a7a9a2 fix(coverage): canonicalize partition locations before the blob merge
A source file carries one istanbul statement map per Vite environment, so a
node suite and a jsdom suite that load the same module enter the merged
report through two maps that spell one statement differently. istanbul
reconciles those overlapping ranges by attributing the hits of the narrowest
containing range, but only while a location carries numeric line and column
values. ast-v8-to-istanbul ends a whole-line statement at column Infinity, and
the partition blob serializes Infinity as null, so the merge command kept the
client-only spelling as an extra, unhit statement: a file whose every statement
ran reported 96.96% and failed the per-file 100% gate.

The coordinator now passes each partition a reporter whose onCoverage hook
rewrites every non-finite end column to a finite line-end column before the
blob is written, which restores that reconciliation without weakening the
gate. The uncovered-locations reporter reads the same column as a line end.
2026-09-13 15:13:59 +08:00
Tianyi Cui 9b6457bc12 Merge pull request #4106 from deepseek-harness/worktree/mcp/optional-surface
feat(mcp): expose profile resources only when servers are configured
2026-09-13 14:59:10 +08:00
Tianyi Cui e9a300f192 Merge pull request #4100 from deepseek-harness/worktree/persistence-format-history
docs(session): backfill and require every persistence format reference
2026-09-13 14:58:05 +08:00
Tianyi Cui e636da11fb Merge branch 'master' into worktree/mcp/optional-surface 2026-09-13 14:52:01 +08:00
Tianyi Cui 6811c59efb Merge branch 'master' into worktree/persistence-format-history 2026-09-13 14:49:15 +08:00
Tianyi Cui 34f80b8e6e fix(workflow): close lifecycle and CI integration gaps 2026-09-13 14:47:56 +08:00
Tianyi Cui 35af8698c2 fix(workflow): execute orchestration in the sandboxed PTC runtime 2026-09-13 14:47:56 +08:00