Commit Graph
13429 Commits
Author SHA1 Message Date
_Kerman 04abeddd3e Merge origin/master into xtr/session-format-migration 2026-08-24 10:31:05 +08:00
Magolor 4b7b039129 Merge pull request #2777 from deepseek-harness/fix/minimal-disable-goal-plugin
fix: 在 Minimal preset 中禁用 /goal
2026-08-24 09:18:48 +08:00
Tianyi Cui 51f274d7a4 Merge pull request #2972 from deepseek-harness/worktree/upgrade-pi-ai-0.84.2
chore(llm): bump pi-ai to 0.84.2
2026-08-24 02:22:50 +08:00
Tianyi Cui c4f10577b5 test(llm): cover pi-ai upgrade compatibility 2026-08-24 01:57:18 +08:00
Tianyi Cui 76c3bf5f6f Merge origin/master into worktree/upgrade-pi-ai-0.84.2 2026-08-24 01:38:25 +08:00
Tianyi Cui 114846b4ca test(web): refresh pi-ai provider catalog snapshots 2026-08-24 01:37:51 +08:00
imccyu 0b11356d05 Merge pull request #2970 from deepseek-harness/worktree-convrefactor
refactor(client): remove cross-package value dependencies
2026-08-24 01:36:01 +08:00
imccyu 3e942e5e21 docs(client): document web architecture 2026-08-24 01:27:48 +08:00
Tianyi Cui 44bd9182ff chore(llm): bump pi-ai to 0.84.2 2026-08-24 01:19:01 +08:00
imccyu 78b8cc731e docs(client): preserve opaque context fallback 2026-08-24 00:54:24 +08:00
imccyu e5395b36af refactor(client): remove directory error re-export 2026-08-24 00:54:17 +08:00
imccyu 2a597bea80 test(pwsh): allow Windows shell restart latency 2026-08-23 23:58:42 +08:00
imccyu d7db423d5b docs(client): restore boundary rationale 2026-08-23 23:54:06 +08:00
imccyu b19752fda4 fix(client): validate exact external specifiers 2026-08-23 23:54:03 +08:00
imccyu cad09dbcb7 test(ci): include inspect catalog in gate order 2026-08-23 23:37:49 +08:00
imccyu efda53c189 test(client): update bundle purity expectation 2026-08-23 23:37:45 +08:00
imccyu 177142aa4a test(cordis): refresh inspect catalog snapshot 2026-08-23 23:29:54 +08:00
imccyu 39ebc860df docs: refresh module dependency graph 2026-08-23 23:29:50 +08:00
imccyu 3e9c5d1bc9 refactor(util): remove unreachable path fallback 2026-08-23 23:29:46 +08:00
imccyu e791147203 test(client): cover malformed browse errors 2026-08-23 23:29:42 +08:00
imccyu e47c897f5f refactor(session): localize token delta detection 2026-08-23 23:29:38 +08:00
imccyu a050b3d4f1 fix(client): gate the inspect catalog 2026-08-23 23:06:39 +08:00
imccyu d80419f4ea chore(client): enforce value dependency policy 2026-08-23 23:06:39 +08:00
imccyu 81c922c7be chore(client): remove feature module externals 2026-08-23 23:06:38 +08:00
imccyu 997ad27a60 refactor(client): remove compatibility imports 2026-08-23 23:06:38 +08:00
imccyu 3d1c0af60b refactor(client): keep feature helpers with consumers 2026-08-23 23:06:38 +08:00
imccyu 9f2f498e7c refactor(client): localize conversation projections 2026-08-23 23:05:31 +08:00
imccyu 85427aea9e refactor(client): move shared primitives to static packages 2026-08-23 23:02:33 +08:00
imccyu 64bb0427f9 feat(util): add workspace path helpers 2026-08-23 23:01:48 +08:00
Tianyi Cui 11b69490bf Merge pull request #2964 from deepseek-harness/worktree/localize-ui-strings-gate
fix(client): localize UI copy and gate regressions
2026-08-23 22:56:29 +08:00
Tianyi Cui 2a72de67d1 fix(ci): preserve cross-platform lint suppressions 2026-08-23 21:48:32 +08:00
Tianyi Cui ac4ade3aaa fix(client): address localization review findings 2026-08-23 21:22:41 +08:00
Tianyi Cui 174c672f45 Merge remote-tracking branch 'origin/master' into worktree/localize-ui-strings-gate 2026-08-23 20:15:02 +08:00
Tianyi Cui e1a5942c9a fix(client): satisfy UI localization CI gates 2026-08-23 20:14:53 +08:00
Tianyi Cui c9b1c1b0b0 Merge pull request #2960 from deepseek-harness/worktree/fix-master-sandbox-ci-20260823
fix(ci): restore Sandbox master checks
2026-08-23 19:50:25 +08:00
Tianyi Cui b6b08beb0d test(sandbox): derive packed workspace closure
The Landlock packed-install rehearsal packed a hand-maintained list of
workspace tarballs. When dsh-llm gained the dsh-util-crypto runtime
dependency, the list stayed stale and npm tried to fetch the unpublished
release candidate from the public registry, failing both Linux master jobs
with E404 before confinement ran.

Read the current pnpm workspace inventory and traverse dependencies,
optionalDependencies, and required peerDependencies from the packed test
roots. Verify package identities, fail loudly on unresolved workspace names,
sort the closure deterministically, and leave native-family packages to the
existing mode-preserving native packer.

Cover runtime traversal, optional-peer exclusion, native filtering, and
invalid workspace metadata. Remove the obsolete vendoring exact edit for the
deleted manual list so future runtime workspace additions are included by
their manifests instead of becoming post-merge CI failures.
2026-08-23 19:24:50 +08:00
Tianyi Cui 4f3a47d792 fix(terminal-bash): handle terminal protocol replies
Unix PowerShell emits cursor-position requests while PSReadLine starts and
redraws prompts. The subprocess PTY is only a transport, so those requests
went unanswered. Startup could then accept the dsh> literal echoed from its
setup source as a rendered prompt, and later sends were lost or clipped.

Feed raw PTY output into a zero-scrollback @xterm/headless state machine and
write generated replies through the provider-owned terminal handle. Drain
replies before caller input, repeat foreground inspection when terminal
activity races the sample, and retain send ownership until parser and reply
work quiesce. Coalesce raw chunks behind one active parser write so large
Windows output cannot create thousands of queued parse callbacks.

Publish pwsh only from backend stdin_read evidence and start one timeoutMs
deadline before the complete startup retry loop, so inferred-idle follow-ups
cannot reset the bound. Dispose the emulator when the
terminal or cleanup fails. Document the fail-loud ConstrainedLanguage path
and add focused coverage for split queries, reply ordering, foreground
resampling, failure containment, batching, timeout, and disposal.
2026-08-23 19:24:50 +08:00
Tianyi Cui 9ebda8755e Merge remote-tracking branch 'origin/master' into worktree/localize-ui-strings-gate
# Conflicts:
#	packages/client/ui-chat/src/client/chat/AssistantMarkdown.tsx
#	packages/client/ui-chat/src/client/chat/CompactionItem.tsx
#	packages/client/ui-conversation/src/client/locales.ts
#	packages/client/ui-renderer/src/client/app.tsx
#	packages/client/ui-renderer/src/client/index.ts
#	packages/client/ui-renderer/tests/ui-renderer.client.spec.tsx
#	packages/client/ui-tool/src/client/tool/models/tool-call-model.ts
#	packages/client/ui-trajectory/src/client/trajectory-record.ts
#	packages/client/ui-trajectory/src/client/trajectory-snapshot-builder.ts
#	packages/client/ui-trajectory/tests/views.client.spec.tsx
#	packages/client/ui-workspace/src/client/tree.ts
2026-08-23 18:34:42 +08:00
Tianyi Cui 3c10f5d2d3 fix(client): route UI copy through locale 2026-08-23 17:31:37 +08:00
Tianyi Cui 3c1c6a89b1 test(python): gate installed runtime wheels across release targets (#2953)
* test(python): exercise installed wheels as black boxes

Add an installed-wheel mode that refuses source/editable imports, repository working directories, mismatched SDK/runtime versions, unpinned runtime dependencies, and executables outside the installed runtime distribution. The mode resolves the wheel-owned executable itself, so callers cannot accidentally prove an explicit checkout artifact.

Add a real-API scenario that drives two tool-using turns through the public synchronous SDK, verifies the file bytes outside the agent, checks completed turn/tool events and persistence, and projects provider failures without retaining credential-bearing error text. The existing deterministic scenario set remains the keyless behavior oracle.

Refs #2952.

* ci(python): require installed-wheel checks on every release target

Move the complete deterministic runtime scenarios behind construction and clean installation of the SDK and matching runtime wheels. Each native leg runs outside the checkout with source-resolution environment variables removed; Linux manylinux smokes assert the same installed provenance.

Expand the required pull-request call from Linux x64 to Linux x64, Linux arm64, and macOS arm64. Trusted heads receive only DEEPSEEK_API_KEY_EXTERNAL for a fail-loud live two-turn smoke on each carrier, while fork and Dependabot heads retain the full keyless path without exposing secrets.

Pin the reusable secret declaration, matrix call, aggregate dependency, untrusted-head condition, and live/keyless commands in the workflow contract test.

Refs #2952.

* docs(testing): make installed wheels the Python CI authority

Record the clean-wheel provenance boundary, complete keyless scenario set, trusted real-API contract, secret handling, and three-target required topology in a new implemented testing decision. Update the SEA distribution and portable-CI authorities plus the Python contributor reference to describe the same current state.

Archive the fully superseded Linux-x64-only decision after consolidating its rationale and alternatives into the new owner. Preserve its bilingual triplet as a sealed historical snapshot and redirect every active current-state reference.

Refs #2952.
2026-08-23 16:53:55 +08:00
imccyu 9f9f160854 Merge pull request #2911 from deepseek-harness/client-session-conversation-chat
refactor(client): split Session Conversation and Chat ownership
2026-08-23 16:36:08 +08:00
imccyu e4fb885f3e chore(client): mark mirrored interaction lifecycle 2026-08-23 16:28:20 +08:00
imccyu 7402ce3fc7 fix(client): settle interactions during plugin teardown 2026-08-23 16:28:20 +08:00
imccyu 61ee176973 docs(client): align split ownership contracts 2026-08-23 16:28:20 +08:00
imccyu 689644463d fix(client): keep conversation updates incremental 2026-08-23 16:28:20 +08:00
imccyu a40f30a4a2 fix(client): preserve scoped UI lifecycles 2026-08-23 16:28:20 +08:00
imccyu 956a72ffe0 fix(client): restore injected workspace dependencies 2026-08-23 16:28:19 +08:00
imccyu 7ddccac0d4 fix(client): remove unused workspace dev dependencies 2026-08-23 16:28:19 +08:00
imccyu 0b6269b50c fixup! refactor(interaction): move Approval and Question into UI owners 2026-08-23 16:28:19 +08:00
imccyu 828cd3f7b1 fix(client): avoid cyclic UI service type imports 2026-08-23 16:28:19 +08:00