Commit Graph

8355 Commits

Author SHA1 Message Date
Huanqi Cao
404200a6ad Merge remote-tracking branch 'origin/feat/ripgrep-packaged-binary' into feat/pwsh-tool 2026-08-01 22:00:47 +08:00
Huanqi Cao
1c3887673a test(fs-search): re-record the glob-sampling snapshot against the real API
The scenario previously carried an authored fixture; W4 of #1119 review
requires a live transcript. Recording surfaced two composition bugs that
are fixed here alongside it:
- provider ids: the app and the replay catalog both named the old
  'deepseek' provider, which no adapter registers; both now use
  'deepseek-official'
- the live config lacked persistenceCompression: none, so record-mode
  sessions were written zstd-compressed and could not be harvested
  (the snapshot twin already forced plaintext)

Recorded logs also need deterministic replay:
- packChunks: false in both configs — the eager-drain batch boundaries
  that split packed delta runs are timing-dependent, so a packed log of
  a long reasoning stream cannot replay-match its live record
- the fixture's request/header config and request/context are normalized
  to the replay-produced minimal shape (the live adapter logs model
  capabilities llm-replay has no data for), and tool-result path
  separators are canonicalized to '/' for the Linux golden

posixOnly is restored now that the fixture is recorded.
2026-08-01 21:56:32 +08:00
Huanqi Cao
a9871d4af1 refactor(fs-search): apply #1119 review fixes to the packaged-rg spawn
- delete the singleQuote shell-quoting helper and its bash-spawning tests
  (no in-repo consumers; no shell layer exists anymore)
- drop spill from both collect streams: the tool never reads a raw spill
  path, and a lossy stdout read is a pure SEARCH_RAW_OUTPUT_OVERFLOW error
- prepend --no-config so a host RIPGREP_CONFIG_PATH cannot inject a --pre
  preprocessor into the unconfined spawn
- promote graceMs and stderrMaxBytes to validated Config fields (defaults
  SEARCH_GRACE_MS / SEARCH_STDERR_MAX_BYTES) instead of inheriting
  bash-local's config
- correct the grep tool's JSDoc seam reference (bash -> subprocess)
- drop the dead exit-127/command-not-found classification branch
2026-08-01 21:56:16 +08:00
Huanqi Cao
5ca7e1ada9 docs(config-catalog): refresh the pwsh-local source line after the jscpd markers 2026-08-01 19:43:05 +08:00
Huanqi Cao
2726762e69 merge: refresh against the advancing master 2026-08-01 19:41:44 +08:00
Tianyi Cui
c3463ffd62 Merge pull request #1085 from deepseek-harness/worktree/install-interface-choice
feat(install): choose Web UI or TUI after setup
2026-08-01 19:41:04 +08:00
Ziya
7ba9059056 Merge pull request #1116 from deepseek-harness/agent/fix-frontend-plugin-loader-dependency
fix(cli): point missing frontend dist at full build
2026-08-01 07:40:01 -04:00
Wenlu Wang
e0053e2261 Merge pull request #1097 from deepseek-harness/codex/goal-clear-single-flight
fix(web): single-flight goal clear
2026-08-01 19:37:42 +08:00
Tianyi Cui
0385638a35 test: refresh translation prompt for installer docs 2026-08-01 19:35:43 +08:00
Huanqi Cao
30c421ed75 fix(pwsh): pin CI expectations for the mirror design
- jscpd: the executor/tool mirror dsh-bash-local/dsh-tool-bash by design
  (Agent Note), so the mirrored regions carry explicit ignore markers with
  reasons instead of being flagged as duplication.
- pwsh-local: a self-terminated process reports SIGTERM or SIGKILL on
  POSIX (PowerShell's Stop-Process choice), not only SIGTERM.
- gen-tool-catalog.spec: the shipped-tool completeness list gains 'pwsh'.
2026-08-01 19:34:12 +08:00
Tianyi Cui
c2171ef1f4 Merge branch 'master' into codex/goal-clear-single-flight 2026-08-01 19:33:21 +08:00
Huanqi Cao
e8b7987e82 merge: sync the note-facts commit from the parent branch 2026-08-01 19:19:03 +08:00
Huanqi Cao
36700f6916 docs(note): record the notices-generator fixes behind the new dependency 2026-08-01 19:17:59 +08:00
Huanqi Cao
f51cb14ba5 merge: sync the notices-generator fix from the parent branch 2026-08-01 19:14:56 +08:00
Huanqi Cao
00148eea97 fix(scripts): normalize manifest glob paths in the notices generator
Node's fs.globSync returns OS-native separators: on Windows the
backslash paths failed the /-suffixed DEV_ONLY_AREAS prefix match in
tierExternalDeps, silently tiering dev-area manifests (test-runtime,
support/*, apps/*) as runtime dependencies. Normalize to / at
ingestion so the generated notices are platform-independent.
2026-08-01 19:13:42 +08:00
Huanqi Cao
8c6179d69d feat(pwsh): add the pwsh-local executor and the pwsh tool
Windows-native execution foundation: PwshLocalExecutor implements the bash
executor seam over ctx.subprocess (pwsh -NoLogo -NoProfile -NonInteractive
-Command, one argv element, no quoting layer; resolvePwshPath probes
PowerShell 7 / PATH / Windows PowerShell 5.1 as a pure function), and
tool-pwsh is the minimal PowerShell-dialect model-facing tool over ctx.bash
(foreground only, managed DSH_* env, timeout/signal/exit markers, terminal
and generic presenters). Both packages carry full suites (real pwsh,
self-skipping without it) at per-file 100% coverage; vitest's Windows
exclusion narrows from packages/bash/* to the bash-requiring packages so the
pwsh suites run natively on Windows too. The CLI gains the workspace deps
and tsconfig projects without mounting either plugin; the Windows-default
roadmap is recorded as a proposed Agent Note.
2026-08-01 18:48:17 +08:00
Huanqi Cao
7206c6019a chore(knip): drop the now-unused rg binary exemption
tool-fs-search no longer spawns rg from PATH after the packaged-binary
switch, so its per-workspace ignoreBinaries entry is stale.
2026-08-01 18:15:11 +08:00
Tianyi Cui
1892d97930 Merge origin/master into worktree/install-interface-choice 2026-08-01 18:06:49 +08:00
Huanqi Cao
18700f428d feat(fs-search): spawn the packaged ripgrep binary through the subprocess seam
glob/grep now run the @vscode/ripgrep binary via ctx.subprocess with a plain
argv vector: no system rg install, no shell layer, unconditional registration.
The load-time command -v rg probe and the bash-seam coupling are removed;
timeouts ride the cooperative exec.signal plus the seam's terminate
escalation. The fs-glob-sampling ACP snapshot executes the real packaged
binary against an mtime-pinned fixture. Adds the packaged-ripgrep-search
Agent Note, updates the roster-note facts and both shipped-composition e2es,
and regenerates the doc catalogs and third-party notices (surfacing
pre-existing manifest drift plus the new @vscode/ripgrep row; the notices
generator also learns pnpm 11's truncated virtual-store names).
2026-08-01 18:04:38 +08:00
Tianyi Cui
d7289febdb Merge pull request #959 from deepseek-harness/fix/checkout-workdir-prompt
fix(prompt): distinguish checkout from workdir
2026-08-01 17:54:34 +08:00
Tianyi Cui
d8980d0336 Merge pull request #1106 from deepseek-harness/feat/experimental-subcommand-gate
feat: rename experimental-meta/-upgrade to meta/upgrade behind an --experimental gate
2026-08-01 17:53:36 +08:00
ZiyaZhang
46681457c2 Merge remote-tracking branch 'upstream/master' into agent/fix-frontend-plugin-loader-dependency 2026-08-01 02:12:33 -07:00
ZiyaZhang
90c5635355 fix(cli): point missing frontend dist at full build 2026-08-01 02:12:22 -07:00
Ziya
de520bee24 Merge pull request #1113 from deepseek-harness/agent/web-math-rendering
feat(web): render TeX math in Markdown
2026-08-01 05:04:40 -04:00
ZiyaZhang
8ce4f07f92 fix(web): defer math rendering while streaming 2026-08-01 00:58:50 -07:00
ZiyaZhang
1e334fa955 feat(web): render TeX math in Markdown 2026-08-01 00:05:23 -07:00
Ziya
67b166b928 Merge pull request #1096 from deepseek-harness/fix/web-fork-interrupted-seq
fix(client): floor the fork anchor to a real event seq
2026-08-01 02:09:06 -04:00
imccyu
3dfbfb4e72 Merge branch 'master' into fix/web-fork-interrupted-seq 2026-08-01 02:19:51 +08:00
imccyu
226d829a1b Merge branch 'master' into codex/goal-clear-single-flight 2026-08-01 00:08:00 +08:00
Turtle
cb1a6c74dc Merge remote-tracking branch 'origin/master' into fix/checkout-workdir-prompt
# Conflicts:
#	packages/ui/app-boot/README.i18n.yaml
#	packages/ui/app-boot/README.md
#	packages/ui/app-boot/README.zh.md
2026-08-01 00:04:49 +08:00
Turtle
2225ad435e test: cover experimental gate through the built bin; fix Agent Note facts 2026-07-31 23:37:53 +08:00
Turtle
20e51abd4e feat: rename experimental-meta/-upgrade to meta/upgrade behind --experimental gate 2026-07-31 23:37:53 +08:00
Turtle
992fdc0cee Merge pull request #1102 from deepseek-harness/test/refresh-queue-actions-golden
test(web): refresh queue-actions golden for the lineage-free header
2026-07-31 23:10:35 +08:00
kingwl
277c540a92 test(web): refresh preserved queue snapshot 2026-07-31 22:40:22 +08:00
Turtle
3a6c253cc7 test(web): refresh queue-actions golden for the lineage-free header
PR #1100 recorded the golden with the session-lineage navigation still in
the header; PR #1099 removed it. Master's snapshots job was skipped on the
combining merge, so the conflict first surfaced on the next PR's CI.
2026-07-31 22:29:14 +08:00
Wenlu Wang
e3e6621e48 Merge branch 'master' into codex/goal-clear-single-flight 2026-07-31 21:54:14 +08:00
Wenlu Wang
9a3bdd599c Merge pull request #1099 from deepseek-harness/codex/hide-session-lineage-header
fix(web): hide session lineage in header
2026-07-31 21:51:56 +08:00
Wenlu Wang
880203a738 Merge pull request #1100 from deepseek-harness/codex/web-stop-preserve-queue
fix(web): preserve queued prompts when stopping
2026-07-31 21:51:25 +08:00
kingwl
6879c0c9ca Merge remote-tracking branch 'origin/master' into codex/hide-session-lineage-header
# Conflicts:
#	packages/client/ui-conversation/README.i18n.yaml
2026-07-31 21:31:04 +08:00
kingwl
aa85e0c6cd Merge remote-tracking branch 'origin/master' into codex/goal-clear-single-flight 2026-07-31 21:30:22 +08:00
kingwl
32972f1675 Merge remote-tracking branch 'origin/master' into codex/web-stop-preserve-queue 2026-07-31 21:30:19 +08:00
Wenlu Wang
fb9da7587c Merge pull request #1098 from deepseek-harness/codex/refresh-translation-prompt-snapshot
test: refresh translation prompt snapshot
2026-07-31 21:28:47 +08:00
Ziya
3a01dc814e Merge pull request #1088 from deepseek-harness/agent/web-context-injection-auto-height
fix(web): let context injection cards fit content
2026-07-31 09:28:45 -04:00
kingwl
07b0efc49e fix(web): hide session lineage in header 2026-07-31 21:08:57 +08:00
kingwl
f38d37be11 test: refresh translation prompt snapshot 2026-07-31 21:06:03 +08:00
kingwl
690ca800b4 fix(test): assign goal e2e to host program 2026-07-31 20:55:43 +08:00
kingwl
e73cdd6b7d fix(web): single-flight goal clear 2026-07-31 20:54:23 +08:00
kingwl
f001f0c3d7 Merge remote-tracking branch 'origin/master' into codex/web-stop-preserve-queue 2026-07-31 20:53:25 +08:00
kingwl
32a0e871b7 fix(web): preserve queue on stop 2026-07-31 20:51:05 +08:00
ZiyaZhang
344ad0d6fb fix(client): floor the fork anchor to a real event seq
The fork button on a stopped assistant message was inert. Frozen
interrupted nodes carry a flow-ordering seq of turnEnd.seq - 0.9, and
session.fork takes a non-negative integer on the wire, so every such
request was rejected as invalid-params before reaching the host — where
an aborted turn's logged turn/end has always made it forkable.

SessionsService.fork floors atSeq at the wire boundary. Flooring stays
inside the anchor's own turn (every turn opens with turn/start), so the
host's first-turn/end-at-or-after cut still closes on that turn.
2026-07-31 05:41:45 -07:00