Commit Graph
9203 Commits
Author SHA1 Message Date
Hypatia May 6307708e34 Merge final CI coverage updates from master 2026-07-30 23:07:13 +08:00
Chinesezjc c425e31c1c Merge remote-tracking branch 'origin/master' into feat/web-diff-card 2026-07-30 22:59:55 +08:00
Chinesezjc f9a40d555f docs: record ui-conversation README pairing hash after master merge 2026-07-30 22:59:34 +08:00
NI0317 04f8b30db1 fix(web): make the welcome notice scan-first 2026-07-30 22:58:52 +08:00
Hypatia May 8bfaa4c9fb Merge Web queue collapse parent into manual compact 2026-07-30 22:56:16 +08:00
ZiyaZhang 04c73df2f6 docs: keep notices fresh at commit time instead of a new CI gate
Regenerate THIRD_PARTY_NOTICES.md from a pre-commit job whenever a
manifest, lock file, vendor manifest, or pyproject is staged, and assert
the committed bytes inside the generator spec the test lane already runs.
Drops the separate doc-sync gate: no extra CI process, and a dependency
edit no longer bounces back from CI to rerun a generator.
2026-07-30 07:56:13 -07:00
imccyu da9f02221e Merge remote-tracking branch 'origin/master' into worktree-forkweb 2026-07-30 22:53:07 +08:00
Hypatia May b86ce10741 Merge Web queue collapse from master 2026-07-30 22:50:09 +08:00
Chinesezjc 4a4ec6fd4d fix(web-search-card): follow base rename kind->shape and view-drops-content
The base (feat/search-presenter) renamed the search result view's discriminant
from `kind` to `shape` and removed the view's `content` field (a UI without a
card now falls back to the raw tool/result content). Adapt the web consumer:

- searchCardModel switches on `result.shape`; SearchBlock's own `kind` prop is
  mapped from it.
- The truncation recovery footer reads the block's raw `content` (where the
  `Full … stored at …` locator now lives) instead of the removed view content.
- Fixture grep/glob views use `shape` and drop `content`; the recovery footer
  rides the raw tool/result text.
- Tests and the bilingual Agent Note follow the rename and the recovery source.
2026-07-30 22:49:41 +08:00
ZiyaZhang b6dd855a7c Merge remote-tracking branch 'origin/master' into feat/gui-full-access-confirmation 2026-07-30 07:49:38 -07:00
NI0317 7d8931fa8c Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context 2026-07-30 22:49:00 +08:00
Hypatia May c2940f620e Merge Web queue collapse from master 2026-07-30 22:48:45 +08:00
ZiyaZhang fa67427c39 Merge remote-tracking branch 'origin/master' into feat/gui-full-access-confirmation
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-30 07:48:33 -07:00
Tianyi Cui 0d1666e384 Merge branch 'master' into worktree/fix-macos-web-replay 2026-07-30 22:48:02 +08:00
Tianyi Cui 7e381bf70f Merge remote-tracking branch 'origin/master' into worktree/pr798-retarget-config-20260730 2026-07-30 22:47:31 +08:00
Tianyi Cui 6f89c6405d Merge pull request #1001 from deepseek-harness/worktree-optgate
revert CI cocurrency 4/12
2026-07-30 22:46:33 +08:00
Chinesezjc 425e59119a Merge remote-tracking branch 'origin/master' into feat/web-diff-card
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-30 22:46:27 +08:00
NI0317 e5ec7e2b64 Merge remote-tracking branch 'origin/master' into codex/sandbox-policy-context 2026-07-30 22:42:52 +08:00
Tianyi Cui 233486691f Merge remote-tracking branch 'origin/master' into worktree/fix-macos-web-replay 2026-07-30 22:42:42 +08:00
kingwl 1986de9ac1 fix(web): show plan status only while active 2026-07-30 22:42:25 +08:00
Tianyi Cui 16a287d726 Merge remote-tracking branch 'origin/master' into worktree/pr798-retarget-config-20260730 2026-07-30 22:41:07 +08:00
Chinesezjc 05d48f2918 fix(web-read-card): carry the base's required read offset in fixtures and specs
The base's ReadResultView now requires `offset` (persisted so an empty window
still knows its start). The connection fixture's read sample and read-card.spec's
resultRead helper supply it (the window's first line, 41).
2026-07-30 22:40:39 +08:00
Chinesezjc 53b054f539 Merge remote-tracking branch 'origin/feat/search-presenter' into feat/web-search-card 2026-07-30 22:40:16 +08:00
Chinesezjc e830ed7939 fix(web-search-card): surface truncation recovery, widen cardless fallback, validate wire shape, fix tail-cap
Address the ds-review-bot findings on the search card:

- searchCardModel dropped the result view's `content`, so a capped search's
  `Full … stored at: <locator>` recovery footer vanished from the UI (the card
  replaces the raw text). Thread it through as `SearchCardModel.recovery` and
  render it below the card at all three sites, only when truncated.
- SearchRow's fallback body was gated on `state === 'error'`, so a settled
  non-error call with no card (a successful nested run_code sub-dispatch, a
  legacy generic result) showed only its summary with content lost. Widen it to
  any settled call with `search === null`.
- searchCardModel trusted the `files`/`paths` shape the host wire schema only
  string-checks; a malformed known-kind frame would crash SearchBlock. Validate
  the full shape and fall to the generic path on mismatch.
- SearchBlock's restored tail file header added a row without consuming a tail
  slot, exceeding maxLines by one and overstating the hidden count. Make it
  consume a slot so the visible count holds at maxLines and `hidden` stays exact.

Correct the fixture JSDoc (now genuinely exceeds the row cap) and the Agent Note
recovery-text claim, sync the ui-conversation bilingual README with the search
row, and add an assembled keyless snapshot (apps/web/tests/search-card.snapshot.ts)
that pins the grep card's shape from the built bundles.
2026-07-30 22:40:07 +08:00
Wenlu Wang ba10f24832 Merge pull request #970 from deepseek-harness/codex/queue-collapse
feat(web): add queue collapse control
2026-07-30 22:39:54 +08:00
Hypatia May cf3bd9d02a Merge Web transcript parent through adaptive directory picker 2026-07-30 22:37:17 +08:00
Chinesezjc 44a3b7f74e Merge remote-tracking branch 'origin/feat/read-presenter' into feat/web-read-card 2026-07-30 22:37:00 +08:00
imccyu 78adace031 ci: exclude typert generator from coverage thresholds
Generator correctness stays pinned by its fixture suites and the
byte-for-byte catalog reproduction test; per-file coverage put
whole-workspace compiler analysis under v8 instrumentation — the
coverage lane's longest tail. Widen the existing three-file exclude to
the package's src.
2026-07-30 22:34:37 +08:00
Chinesezjc 7d97418d42 test(web): refresh code-mode-round golden for read error state
The nested read of a missing file surfaces its error state as 失败 in the
code-dispatch row summary, a consequence of this PR's read-card error
presentation. The golden predated it (never re-recorded while the PR was
conflicting); refreshed keyless via DSH_SNAPSHOT=refresh over the existing
session.jsonl.
2026-07-30 22:33:03 +08:00
Chinesezjc bfde98d223 test: cover the TUI search-card fallback and refresh the cordis-inspect golden
- Add a search result-view scenario to the TUI tool-card test so the
  card:'search' fallback branch (no view content -> raw result content) is
  covered; restores transcript.ts branch coverage to 100%.
- Refresh the cordis-inspect-jsdoc golden for the kind -> shape rename in the
  ToolResultView JSDoc that cordis_inspect echoes.
2026-07-30 22:32:06 +08:00
NI0317 eda7a4a3a7 Merge origin/master into feature/tui-first-run-welcome 2026-07-30 22:29:52 +08:00
NI0317 890343751a feat(tui): add versioned first-run welcome 2026-07-30 22:29:35 +08:00
ZiyaZhang 19606bc331 docs: generate THIRD_PARTY_NOTICES.md and gate it in doc-sync
Replace the hand-written inventory with scripts/gen-third-party-notices.ts,
verified fresh by a doc-sync leaf gate. Tier by declaring workspace area
rather than manifest section, so test-support runtime declarations stay
dev-only and every mountable plugin's dependencies are disclosed as
runtime; list the pnpm-patched packages; point the Python closure at
uv.lock. Re-record the translation-prompt snapshot the README link
invalidated.
2026-07-30 07:27:13 -07:00
Tianyi Cui 48b0cb25fd fix(fs-search): respect platform path separators
Group paths using node:path.sep so POSIX backslashes remain filename characters while Windows continues to treat them as separators.
2026-07-30 22:26:33 +08:00
Tianyi Cui 72220dd821 fix(fs-search): drop exhausted glob sample groups
Keep only groups with another path in the active round. This bounds skewed sampling by paths visited instead of rescanning every singleton for every late-group item.
2026-07-30 22:26:33 +08:00
Chinesezjc 111a4df38e docs(fs): re-record read-card Note i18n pairing after link fix 2026-07-30 22:26:31 +08:00
Chinesezjc fe5098a2bc fix(fs): correct Note pre-release link and restore read.ts decline coverage
The Note's pre-release-stance link used the wrong depth and target
(../../../CLAUDE.md); point it at ../../../../AGENTS.md with the section
anchor so verify-md-links passes. The presentResult decline test's meta
lacked the now-required offset, so it declined at meta narrowing instead of
exercising the content-shape decline (read.ts:181-183); add offset back.
2026-07-30 22:26:14 +08:00
NI0317 564ba0df72 Merge updated DeepSeek onboarding base 2026-07-30 22:25:33 +08:00
Chinesezjc c1d88ffb7b fix(client-web): pin keyed WebRow in boot smoke, show empty-search feedback
- built-boot smoke asserts [data-variant=web][data-tool=web_search/fetch]
  (the keyed WebRow) instead of [data-web] (which WebBlock draws even on the
  GenericToolCard fallback, so a silent keyed-registration failure passed).
- WebBlock renders an explicit empty-state note when a search returns no
  answer and no sources, instead of a blank <ol>; the chat row does not
  surface the raw result content, so the backend's 'No results found.' was
  otherwise invisible.
- README (ui-conversation, ui-primitives) and the frontend Agent Note record
  the unknown-web-kind null arm, the details-panel flattened body, and the
  empty-search copy; pairings re-recorded.
2026-07-30 22:24:57 +08:00
Chinesezjc 03d1e6855a Merge remote-tracking branch 'origin/master' into feat/web-diff-card 2026-07-30 22:24:51 +08:00
Chinesezjc 1ea5f0b124 test(tui): cover diffContentLines empty-side arm
The coverage lane flagged transcript.ts line 63 (diffContentLines' empty-text
return) uncovered: the same-file diff test only fed newline-terminated sides.
Add a third hunk removing a line with an empty added side (a full deletion), so
the empty arm runs and the footer proves the empty side draws no `+ ` row
(+2 -1 · 1 file). Raise the test's line budget so every hunk row stays visible.
2026-07-30 22:24:29 +08:00
NI0317 afe26c27ab test(sandbox-policy): refresh merged web evidence 2026-07-30 22:24:07 +08:00
imccyu 8cc31127c4 ci: concurrency 3/6 2026-07-30 22:22:18 +08:00
Hypatia May 86633a49f8 Merge master through adaptive directory picker 2026-07-30 22:21:52 +08:00
Hypatia May 75156eabe2 Merge master through adaptive directory picker 2026-07-30 22:21:40 +08:00
Yichen Jiang 55ae4751b7 Merge worktree-llm-web-config (939, with latest master) into worktree/onboarding-deepseek-config 2026-07-30 22:21:05 +08:00
Tianyi Cui 9a0ee6fbfe Merge branch 'master' into worktree/deepseek-max-tokens-defaults 2026-07-30 22:20:47 +08:00
Yichen Jiang 015b065e9d Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
# Conflicts:
#	apps/web/tests/scaffold.ts
2026-07-30 22:19:53 +08:00
Tianyi Cui 8f275cbf5a Merge branch 'master' into xtr/trajectory-timeline-click-focus 2026-07-30 22:19:42 +08:00
NI0317 c311400945 Merge updated DeepSeek onboarding base
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-07-30 22:19:31 +08:00