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
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
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
Turtle
20e51abd4e
feat: rename experimental-meta/-upgrade to meta/upgrade behind --experimental gate
2026-07-31 23:37:53 +08:00
_Kerman
1a09174987
refactor(goal): persist state with domain events
2026-07-31 22:52:18 +08:00
Chinesezjc
6cec0ccfc6
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-07-31 22:18:13 +08:00
_Kerman
e0988abc74
Merge remote-tracking branch 'origin/master' into xtr/react-loop-simplification
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-21-bounded-llm-request-recovery.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.i18n.yaml
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md
# .agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-27-tmux-location-context.i18n.yaml
# .agents/notes/implemented/simplification/2026-06-20-public-agent-stop-surface.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-28-remove-synthetic-log-only-turns.i18n.yaml
# .agents/notes/implemented/simplification/2026-07-30-private-agent-send.i18n.yaml
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/compaction.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/core.md
# docs/core-data-structures/core.zh.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/core-data-structures/llm-streaming.md
# docs/core-data-structures/llm-streaming.zh.md
# docs/core-data-structures/session.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# docs/persistence-catalog.md
# examples/acp-agent/tests/goal-snapshots/goal-session/session.expected.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/acp-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
# examples/acp-agent/tests/snapshots/bash-tool-turn/session.jsonl
# examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/cancel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/cancel/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/empty-response-retry/session.jsonl
# examples/acp-agent/tests/snapshots/error-finish/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/fs-edit/session.jsonl
# examples/acp-agent/tests/snapshots/fs-escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/fs-glob-sampling/session.jsonl
# examples/acp-agent/tests/snapshots/fs-policy-reject/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read-window/session.jsonl
# examples/acp-agent/tests/snapshots/fs-read/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write-overwrite/session.jsonl
# examples/acp-agent/tests/snapshots/fs-write/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-invalid-matcher/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-posttool-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-pretool-block/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/session.jsonl
# examples/acp-agent/tests/snapshots/hook-codex-stop-continue/session.jsonl
# examples/acp-agent/tests/snapshots/lsp-definition/session.jsonl
# examples/acp-agent/tests/snapshots/multi-turn/session.jsonl
# examples/acp-agent/tests/snapshots/packed-chunks/session.jsonl
# examples/acp-agent/tests/snapshots/parallel-tool-calls/session.jsonl
# examples/acp-agent/tests/snapshots/pty-tools/session.jsonl
# examples/acp-agent/tests/snapshots/repeat-tool-guard/session.jsonl
# examples/acp-agent/tests/snapshots/session-query-spill/session.jsonl
# examples/acp-agent/tests/snapshots/session-sandbox-root/session.jsonl
# examples/acp-agent/tests/snapshots/session-title-after-turn/session.jsonl
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-depth-two-rejection/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-fork/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.2.jsonl
# examples/acp-agent/tests/snapshots/subagent-multi/session.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/acp-agent/tests/snapshots/text-turn/session.jsonl
# examples/acp-agent/tests/snapshots/todo-write/session.jsonl
# examples/acp-agent/tests/snapshots/tool-call-turn/session.jsonl
# examples/acp-agent/tests/snapshots/web-fetch/session.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.1.jsonl
# examples/acp-agent/tests/snapshots/workflow-run/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/workspace-edit/session.jsonl
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.1.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.2.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/session.jsonl
# examples/headless-agent/tests/snapshots/advanced-toolchain/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/goal-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/missing-credential/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/provider-retry/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/session.jsonl
# examples/headless-agent/tests/snapshots/pty-tools/stream-json.expected.jsonl
# examples/headless-agent/tests/snapshots/ralph-loop/stream-json.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/child.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/bash-tool/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/bash-tool/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/persistent-tools/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.1.jsonl
# examples/jsonrpc-agent/tests/snapshots/subagent-spawn/session.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/notifications.expected.jsonl
# examples/jsonrpc-agent/tests/snapshots/text-turn/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/request-inspection.ts
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact-basic/README.md
# packages/compact/compact-basic/README.zh.md
# packages/compact/compact-basic/src/index.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/context/tmux-context/README.i18n.yaml
# packages/context/tmux-context/tests/tmux-context.spec.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/core/agent-loop/src/agent.ts
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.md
# packages/core/agent/README.zh.md
# packages/core/agent/src/types.ts
# packages/core/session/README.i18n.yaml
# packages/core/session/README.md
# packages/core/session/README.zh.md
# packages/fs/tool-str-replace-editor/tests/tools.spec.ts
# packages/goal/command-goal/tests/command-goal.spec.ts
# packages/goal/goal/tests/goal.spec.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/tests/api-proxy-workspace.spec.ts
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.md
# packages/llm/llm/README.zh.md
# packages/llm/llm/src/index.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/pty/pty-local/tests/local.spec.ts
# packages/pty/pty/tests/service.spec.ts
# packages/pty/tool-bash-persistent/tests/loader-composition.spec.ts
# packages/pty/tool-bash-persistent/tests/tools.spec.ts
# packages/pty/tool-pty/tests/loader-composition.spec.ts
# packages/pty/tool-pty/tests/tools.spec.ts
# packages/session-persistence/session-checkpoint-policy/tests/crash-recovery.e2e.ts
# packages/skill/tool-skill/tests/tool-skill.spec.ts
# packages/tasks/tasks-local/tests/tasks.spec.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/tests/tui.spec.ts
# packages/ui/user-approval/src/index.ts
# packages/ui/user-approval/tests/approval.spec.ts
2026-07-31 22:16:40 +08:00
_Kerman
afedf18ccf
fix inbox lifecycle downstream contracts
2026-07-31 22:00:39 +08:00
Tianyi Cui
e1c6fc3db4
Merge pull request #1032 from deepseek-harness/xtr/trajectory-timeline-polish
...
fix(trajectory): polish timeline timing and layering
2026-07-31 20:25:08 +08:00
Chinesezjc
3d9c096cac
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-07-31 20:17:40 +08:00
Turtle
60a0bcd358
feat(cli): mark meta and upgrade commands experimental
2026-07-31 20:16:19 +08:00
_Kerman
dd98d15b1d
Merge remote-tracking branch 'github/master' into xtr/trajectory-timeline-polish
...
# Conflicts:
# packages/client/ui-trajectory/src/client/timeline.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
2026-07-31 20:01:16 +08:00
creatixchu
38c21c1428
Merge latest master into PR 555
...
# Conflicts:
# packages/host/apiproxy/README.i18n.yaml
2026-07-31 19:55:58 +08:00
_Kerman
8e88b17c9f
fix pre-step lifecycle regressions
2026-07-31 19:40:59 +08:00
creatixchu
09b7fcfd4f
Merge latest master into PR 555
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/compact/compact-basic/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
2026-07-31 19:39:22 +08:00
Tianyi Cui
d64b032311
Merge pull request #1082 from deepseek-harness/worktree/fix-web-duplicate-folder-names-20260731
...
fix(workspace): allow same-basename folders in Web
2026-07-31 19:37:38 +08:00
_Kerman
fcc2b5e282
refactor agent pre-step inbox lifecycle
2026-07-31 19:21:16 +08:00
hypatiamay
dcc9e50f84
Merge pull request #1026 from deepseek-harness/feat/compaction-progress-visibility
...
feat(tui): show live compaction progress
2026-07-31 19:17:43 +08:00
Chinesezjc
3f701d71b5
Merge remote-tracking branch 'origin/master' into feat/py-types-code-mode
2026-07-31 19:11:10 +08:00
Chinesezjc
98f8e53c48
docs(tools): make the run_code catalog note language-neutral
...
The gen-tool-catalog manifest note for dsh-tools still said the SDK
section is TypeScript; the SDK language now follows ctx.codeRuntime.language.
Reword to "a generated SDK section in the loaded runtime's language" and
regenerate docs/tool-catalog.md.
2026-07-31 19:09:52 +08:00
Tianyi Cui
678ad97f9a
Allow same-basename Workspace paths
2026-07-31 18:37:34 +08:00
Chinesezjc
15e43ee88b
fix(tools): satisfy doc gates for the Python SDK renderer
...
- Delink dsh-code-runtime-python README references (that package ships in
a later PR of the split; keep the package name unlinked meanwhile).
- Add the mandatory `## Alternatives considered` and `## Consequences`
sections to the language-dispatch Agent Note.
- Regenerate config/cordis catalogs and the event graph for the shifted
index.ts source lines; re-record the README and note i18n pairings.
2026-07-31 18:22:25 +08:00
creatixchu
3c3ef85c9c
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
2026-07-31 18:18:07 +08:00
Tianyi Cui
20cb7e7360
Merge latest master into manual compaction
2026-07-31 17:58:30 +08:00
Tianyi Cui
6e26f9fd83
Merge latest master into manual compaction
...
# Conflicts:
# apps/cli/README.i18n.yaml
# docs/architecture.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/compact/compact-basic/README.i18n.yaml
# packages/pty/pty-local/tests/index.spec.ts
2026-07-31 17:57:11 +08:00
Tianyi Cui
2692d2fef7
Merge commit 'refs/codex/pr948/master-current' into worktree/retarget-pr948-current-20260731
...
# Conflicts:
# README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-31 17:44:13 +08:00
creatixchu
481d3c7076
Merge origin/master into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/compact/compact-basic/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# scripts/test-invariants.ts
2026-07-31 17:39:06 +08:00
Turtle
9146c97d13
review: order detailsDialogWidth consistently across the parallel config lists
2026-07-31 17:35:37 +08:00
Tianyi Cui
6cab262f00
Merge commit 'refs/codex/pr956/master-live' into worktree/retarget-pr956-current-20260731
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
2026-07-31 17:25:49 +08:00
Tianyi Cui
ab6d77a12d
Merge remote-tracking branch 'origin/master' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/queue-actions.e2e.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
2026-07-31 17:17:00 +08:00
creatixchu
8b00482d7c
fix(web): harden multimodal draft and storage lifecycle
2026-07-31 17:15:08 +08:00
Hypatia May
a23a6bdd15
Merge origin/master into codex/status-bar-token-metrics
...
Resolve the agent-loop import conflict by retaining both durable request context and runtime policy context. Refresh the combined session fixtures and regenerate documentation catalogs. Mark PDF artifacts as binary so staged whitespace checks do not parse PDF bytes as text.
2026-07-31 16:53:03 +08:00
Turtle
27ab6ee05e
docs: regenerate cordis catalog and re-record TUI README pairing
2026-07-31 16:44:25 +08:00
Turtle
2c98f35a86
feat(tui): bare /details opens a keyboard selector
...
DetailsDialog is a centered SelectList over the five transcript-detail
states (three tool-card phases, reasoning shown/hidden); it preselects
the current phase, marks both current values, applies on Enter, and
cancels on Esc/Ctrl+C. Width is the new detailsDialogWidth config key.
The argument grammar is unchanged and shares the same setters.
2026-07-31 16:44:07 +08:00
Tianyi Cui
1352c4ecd2
Merge remote-tracking branch 'origin/master' into worktree/pr962-mergeable-20260731
2026-07-31 16:03:36 +08:00
Wenlu Wang
9e11f438f3
Merge pull request #1035 from deepseek-harness/codex/web-default-search
...
feat(web): enable default search
2026-07-31 16:01:26 +08:00
Shigma
ea93cf85f1
docs: add cordis paper
2026-07-31 15:54:36 +08:00
imccyu
abc77e707e
Merge remote-tracking branch 'origin/feat/manual-compact-single-lock' into feat/compaction-progress-visibility
2026-07-31 15:51:17 +08:00
imccyu
b2cd3d26da
Merge remote-tracking branch 'origin/fix/web-transcript-projection' into feat/manual-compact-single-lock
2026-07-31 15:50:54 +08:00
imccyu
9ca02b4fc8
Merge remote-tracking branch 'origin/master' into fix/web-transcript-projection
2026-07-31 15:48:26 +08:00
NI0317
ee404357a4
Merge origin/master into codex/sandbox-policy-context
2026-07-31 15:46:42 +08:00
Tianyi Cui
7906c1032f
Merge pinned master into status bar token metrics
2026-07-31 15:41:52 +08:00
Hypatia May
b14c9daed2
Merge branch 'feat/manual-compact-single-lock' into feat/compaction-progress-visibility
2026-07-31 15:37:06 +08:00
Hypatia May
1114a80a45
Merge branch 'fix/web-transcript-projection' into feat/manual-compact-single-lock
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-07-31 15:36:49 +08:00
Hypatia May
d67de808b0
Merge remote-tracking branch 'origin/master' into fix/web-transcript-projection
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-31 15:32:36 +08:00
kingwl
4dfbb52106
Merge remote-tracking branch 'origin/master' into codex/fix-tui-diff-context-counts
...
# Conflicts:
# packages/ui/tui/src/components/transcript.ts
2026-07-31 15:27:24 +08:00
kingwl
c08e8d00f7
Merge origin/master into codex/web-default-search
...
# Conflicts:
# apps/web/tests/scaffold.ts
2026-07-31 15:26:29 +08:00
Tianyi Cui
b2146d6298
Merge branch 'master' into pr/adapter-registration-race
2026-07-31 15:24:43 +08:00
Chinesezjc
1c58d8daeb
Merge pull request #974 from deepseek-harness/feat/search-presenter
...
feat(fs): add a search render-intent card for grep and glob results
2026-07-31 15:24:22 +08:00