Commit Graph

8160 Commits

Author SHA1 Message Date
Tianyi Cui
5139329d29 Merge remote-tracking branch 'origin/master' into worktree/fix-1463-rich-content-bridge 2026-08-17 13:56:17 +08:00
Tianyi Cui
e0bb7cafc0 Merge pull request #2308 from deepseek-harness/feat/web-collapsible-question-composer
feat(web): make the ask-user question card collapsible
2026-08-17 13:54:50 +08:00
Tianyi Cui
fec00fcb2c Merge pull request #2504 from deepseek-harness/fix/safari-textarea-reflow
fix(web): repair Safari textarea soft-wrap shrink
2026-08-17 13:54:31 +08:00
Yichen Jiang
8f998186a9 Merge pull request #2404 from deepseek-harness/feat/plugin-owned-settings-surface
feat(settings): serve every registered namespace and key plugin cards on it
2026-08-17 13:51:31 +08:00
Yichen Jiang
84257ea5de Merge pull request #2596 from deepseek-harness/worktree/deepseek-maxtoken-consistency-3a7c15
fix(llm): align replay state with assembled content and degrade unusable state
2026-08-17 13:47:08 +08:00
Tianyi Cui
cb8756b838 Merge pull request #1371 from deepseek-harness/codex/fix-large-history-pagination
fix(web): avoid history pagination stack overflow
2026-08-17 12:07:32 +08:00
Tianyi Cui
c15f2f4d25 Merge remote-tracking branch 'origin/master' into HEAD 2026-08-17 11:39:33 +08:00
Tianyi Cui
7841e0a93e Merge pull request #2586 from deepseek-harness/worktree/minimal-mode-bash-issues-0c3ac2
fix(pty): keep the controlled prompt so persistent bash settles fast
2026-08-17 11:34:34 +08:00
Tianyi Cui
b2f23f88ad Merge commit '70396085b141370ce32de1be4e225b4384eaf46d' into HEAD
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-07-mcp-client-plugin.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-20-code-mode-typed-tool-returns.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md
#	.agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
#	.agents/notes/implemented/simplification/2026-07-23-acp-automation-only-protocol.i18n.yaml
#	docs/config-catalog.i18n.yaml
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	docs/tool-catalog.i18n.yaml
#	docs/tool-catalog.md
#	docs/tool-catalog.zh.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.expected.json
#	examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.expected.json
#	examples/acp-agent/tests/snapshots/code-mode-turn/tool-schemas.expected.json
#	packages/core/tools/README.i18n.yaml
#	packages/core/tools/README.zh.md
#	packages/core/tools/src/code-mode.ts
#	packages/host/apiproxy/tests/api-proxy-models.spec.ts
#	packages/host/plugin-inventory/tests/inventory.spec.ts
#	packages/mcp/mcp-client/tests/mcp-client.e2e.ts
#	packages/mcp/mcp-client/tests/mcp-client.spec.ts
#	packages/self-modification/tool-cordis/src/api-catalog.ts
#	packages/test-support/acp-snapshot/README.i18n.yaml
#	pnpm-lock.yaml
2026-08-17 11:31:59 +08:00
fz
66cd593bf3 Merge pull request #2559 from deepseek-harness/feat/rename-code-preset-english-to-ptc-mode
fix(ui-agent-preset): rename English code preset to PTC mode
2026-08-17 10:05:31 +08:00
GeeeekExplorer
db959a0879 test(web): cover collapsing and expanding the question card
Two new QuestionComposer cases: the collapse toggle hides the option list
and leaves the header strip, and collapsing between answering preserves
both the picked draft and the current question position through a full
submit; re-expanding does not steal focus back into the textarea. Refresh
the question-composer and steering web e2e goldens for the new header
button.
2026-08-17 01:18:44 +08:00
GeeeekExplorer
4b25b0e76d feat(web): make the ask-user question card collapsible
The ask-user takeover rendered the pending question set as a bottom card
capped at min(60vh, 520px) with no way to reduce it, which buried the
conversation above while the user decided. Add a minimize toggle next to
the dismiss action: collapsed, the card becomes a header strip (title plus
the two icon buttons) and the option body and footer unmount; expanding
restores the full card. Drafts and the current question index live in
QuestionFlow local state, so collapse/expand never loses them. The
free-form textarea autofocuses only on first presentation, so re-expanding
does not steal focus from the toggle.

Agent Note: .agents/notes/implemented/feature/2026-08-11-collapsible-ask-user-question-card.{md,zh.md,i18n.yaml}
2026-08-17 01:18:44 +08:00
Yichen Jiang
7e95a00c8a fix(llm): align replay state with assembled content and degrade unusable state
A max-tokens response that included a tool call persisted assembler-transformed
content next to replay metadata projected from the untransformed native message,
so the next request died in history reconstruction with INVALID_REPLAY_STATE and
the session stayed permanently stuck.

Write side: the finish chunk's replayState becomes a typed ReplayEnvelope —
opaque response-level metadata plus optional per-block entries aligned with the
emitted block sequence. BlockAssembler computes one keep/drop decision for
blocks and entries together, so stored metadata always describes stored content
and retained blocks keep their signatures. pi-ai splits its state into a
version-2 response half and per-block signature entries.

Read side: durable content is authoritative. toPiAssistant degrades any
unusable state — foreign kind, other versions (including the flat v1 form
already on disk), malformed metadata, or content/block mismatches — to the
existing provider-neutral conversion with an onReplayDegrade diagnostic instead
of failing the request, which un-bricks sessions poisoned before this change.

Covered by assembler and replay unit tests, an agent-loop continuation
regression, keyless real-composition continuation tests (native pruned-envelope
replay and legacy flat-state degrade), and the authored keyless snapshot
scenario max-tokens-continue through the assembled ACP app.
2026-08-15 16:07:30 +08:00
Yichen Jiang
a8dc6f9776 fix(pty): keep the controlled prompt so persistent bash settles fast
tool-bash-persistent overwrote the backend's PS1, so terminal-bash prompt
readiness never matched and every send degraded to the 3.5s silence tier
(idleSilenceMs + handoffGraceMs) under production defaults.

The controlled PROMPT_COMMAND now re-asserts PS1 before every prompt, so an
in-shell override never survives to the next prompt. The tool initializes
with stty -echo alone and detects the no-end-marker fallback through the
seam's stdin_read wait reason instead of matching its own prompt text.

Tool calls drop from 7180/3560/3566 ms to 355/88/91 ms (spawn+init+echo,
echo, pwd; darwin, production defaults). The loader composition suite now
pins the fast path by pushing idleSilenceMs beyond the send bound, and a
real-PTY case proves PS1 self-healing.

Fixes #2585
2026-08-15 11:06:57 +08:00
imccyu
f2830fec6d Revert "fix(client): declare browser-only externals as devDependencies" 2026-08-15 02:19:09 +08:00
imccyu
93a95e838d fix(client): declare browser-only externals as devDependencies
react, react-dom, shiki, katex, clsx, the micromark and mdast families and nine
more reach only browser artifacts, which resolve nothing on a user's machine.
Moving 79 declarations out of dependencies and non-optional peerDependencies
drops 103 tarballs and 6.05 MB from an install of the published CLI.
2026-08-14 20:18:39 +08:00
imccyu
48d14b4a7c docs(client): state where a browser-only dependency is declared
Browser artifacts resolve nothing on a user's machine: tsdown inlines every
non-platform specifier, the shell dist answers the rest from its frozen module
table, and Vite inlines the shell's own imports into the published dist. Record
the resulting declaration rule, and the Agent Note behind it.
2026-08-14 20:17:50 +08:00
lsdsjy
4edbdd443e fix(web): repair Safari textarea soft-wrap shrink 2026-08-14 17:52:09 +08:00
kingwl
5201b84863 fix(web): avoid history pagination stack overflow 2026-08-14 16:40:30 +08:00
pku-xht
21d2433d97 Merge pull request #2374 from deepseek-harness/codex/product-subagent-one-shot-background
feat(agent-presets): enable background Codex and Claude Code subagent tasks
2026-08-14 15:49:58 +08:00
Yichen Jiang
468c62518d Merge remote-tracking branch 'origin/master' into feat/plugin-owned-settings-surface
# Conflicts:
#	packages/client/ui-input-trigger/README.i18n.yaml
#	packages/client/ui-settings-plugins/src/client/ConfigurablePluginsTab.tsx
#	packages/client/ui-settings-plugins/src/client/index.ts
#	packages/client/ui-settings-plugins/src/client/tab-store.ts
#	packages/client/ui-settings-plugins/tests/apply.client.spec.ts
#	packages/client/ui-settings-plugins/tests/section.client.spec.tsx
#	packages/client/ui-settings-plugins/tests/stores.client.spec.ts
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/tests/api-proxy-config.spec.ts
2026-08-14 15:46:01 +08:00
fz
3a793a0f7b fix(ui-agent-preset): use sentence case for PTC mode 2026-08-14 14:36:17 +08:00
fz
fd24df156d fix(ui-agent-preset): rename code preset to PTC Mode 2026-08-14 14:09:35 +08:00
Yichen Jiang
226600147e feat(llm-deepseek): support low reasoning effort 2026-08-14 11:47:59 +08:00
Yifffan
f322d5cb0d Merge pull request #2527 from deepseek-harness/fix/cordis-tool-styles
fix(web): align the sidebar Cordis panel with menu and footer conventions
2026-08-14 10:36:55 +08:00
imccyu
15148dbd9a release(dsh): 0.1.0-rc.6 2026-08-13 19:52:05 +08:00
imccyu
c1d26018a4 fix: lint 2026-08-13 19:49:27 +08:00
imccyu
c91cfc3ec2 fix: SessionPersistenceCorruptionError 2026-08-13 19:44:14 +08:00
Yif
b5deda1f05 refactor(client): share the outside-pointer dismissal hook
The jobs list and the Cordis panel carried identical outside-pointerdown
close effects, which the duplication gate rejects; both now use
useDismissOnOutsidePointer from ui-primitives.

Refs #2526
2026-08-13 19:39:10 +08:00
pku-xht
f0a875e8e9 docs(subagent): clarify preset tool row references 2026-08-13 19:38:19 +08:00
Yif
c5187d38a5 fix(web): align the sidebar Cordis panel with menu and footer conventions
The Cordis popup now uses the standard menu surface (layer-3 fill,
inverted border, lv3 shadow) so it stays visible in dark mode, closes on
outside pointerdown, and anchors to its trigger through a measured fixed
position that escapes the sidebar overflow clip. The Cordis and Settings
footer triggers share the same 42px row, icon size, padding, and hover
fill, and the panel's header, heading, and card spacing is rebalanced.

Refs #2526
2026-08-13 19:13:29 +08:00
pku-xht
0fbb5c7b81 Merge commit '2f717c0467d7174d7fe0011c4a787450f7328a78' into codex/product-subagent-one-shot-background 2026-08-13 18:54:56 +08:00
imccyu
abe560f81e release(dsh): 0.1.0-rc.5 2026-08-13 18:49:33 +08:00
imccyu
8c1e8d9890 build(release): publish the dsh family publicly
Every release member now declares publishConfig.access: public, so the scope no
longer mixes levels: the 221 packages/*/* and apps/* manifests join the vendored
framework and the native packages.

check-workspace-constraints drops the per-sequence expectation and holds every
release member to public, which is what stops a member from drifting back.

Access is a property of the package, not of a version: the dsh packages already
published as restricted become world-readable at their next publication.
2026-08-13 18:49:32 +08:00
imccyu
8a954b2eca release(dsh): 0.1.0-rc.3 2026-08-13 18:39:06 +08:00
imccyu
a41085dfd4 ci: skip 2026-08-13 18:25:49 +08:00
imccyu
42c359e57b fix: ci 2026-08-13 18:14:13 +08:00
creatixchu
0f1c29c751 test(web): cover onboarding branches 2026-08-13 18:03:15 +08:00
creatixchu
fc90114ad9 fix(web): add English onboarding copy 2026-08-13 17:35:21 +08:00
imccyu
60b04b6ef7 release(dsh): 0.1.0-rc.2 2026-08-13 17:19:37 +08:00
j-xiang
55ef21e1a3 Merge branch 'master' into docs/readme-human-polish-3 2026-08-13 17:16:51 +08:00
j-xiang
f34eda53e3 Merge branch 'master' into docs/readme-human-polish-3 2026-08-13 16:59:11 +08:00
Tianyi Cui
5c2244cc9c Merge origin/master into agent/onboarding-modal-flow 2026-08-13 16:57:01 +08:00
j-xiang
952c6c3c9c docs(i18n): finish README fidelity review 2026-08-13 16:56:10 +08:00
pku-xht
5c085e3511 docs(subagent): align provider opt-in examples 2026-08-13 16:55:59 +08:00
imccyu
d8f5b0507d Merge pull request #2495 from deepseek-harness/release/dsh-0.1.0-rc.1
release(dsh): 0.1.0-rc.1
2026-08-13 16:51:36 +08:00
pku-xht
339c30ed14 docs(bundle): correct product provider opt-in guidance 2026-08-13 16:50:05 +08:00
Ziya
f8c0bf9186 Merge branch 'master' into agent/onboarding-modal-flow 2026-08-13 16:40:58 +08:00
Tianyi Cui
7cbb40bc8a Merge remote-tracking branch 'origin/master' into worktree/fail-web-wildcard-host 2026-08-13 16:39:00 +08:00
Tianyi Cui
0a42836fbb fix(web): address wildcard host review 2026-08-13 16:37:49 +08:00