Commit Graph
87 Commits
Author SHA1 Message Date
Turtle 20e51abd4e feat: rename experimental-meta/-upgrade to meta/upgrade behind --experimental gate 2026-07-31 23:37:53 +08:00
Turtle dc88440dad Merge remote-tracking branch 'origin/master' into codex/experimental-cli-command-names
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 20:18:15 +08:00
Turtle 60a0bcd358 feat(cli): mark meta and upgrade commands experimental 2026-07-31 20:16:19 +08:00
Tianyi Cui c83159f1c0 test(cli): acknowledge welcome in composition smoke 2026-07-31 19:48:04 +08:00
Tianyi Cui 7d04e4654a Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/ui/tui/README.i18n.yaml
2026-07-31 19:23:34 +08:00
Tianyi Cui 2abf643326 Merge pull request #1040 from deepseek-harness/feat/recommended-deployment-presets
feat(cli): even out the shipped tool rosters across both surfaces
2026-07-31 19:21:18 +08:00
Tianyi Cui 3aa98ba609 Merge remote-tracking branch 'origin/master' into worktree/pr1018-todo-retarget-20260731
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
2026-07-31 19:17:50 +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
Tianyi Cui c16e33d8db Merge latest master into feat/recommended-deployment-presets
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/web/tsconfig.json
#	tsconfig.host.json
2026-07-31 19:16:05 +08:00
Tianyi Cui 1c1a65f208 Merge origin/master into feat/recommended-deployment-presets
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/package.json
#	pnpm-lock.yaml
2026-07-31 18:32:24 +08:00
Tianyi Cui 1f8dd72bd9 Merge latest master into manual compaction 2026-07-31 18:28:21 +08:00
Tianyi Cui e9c040894f fix(cli): align shipped composition contracts 2026-07-31 18:25:03 +08:00
Tianyi Cui ba43750e68 Merge pull request #1070 from deepseek-harness/agent/memory-mcp-examples
feat(examples): add generic MCP memory examples
2026-07-31 18:18:21 +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
NI0317 c4d88bc25e Merge latest origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 17:49:03 +08:00
NI0317 346d1e4c74 fix(tui): address onboarding review feedback 2026-07-31 17:47:07 +08:00
NI0317 d558cb4fd4 feat(cli): even out the shipped tool rosters across both surfaces
The two shipped surfaces offered different tools for no recorded reason:
session checkpoints, tool-result pruning, the goal tools, and Ralph were in
`tui.cordis.yml`; `tool-todo` and web search were in `web.cordis.yml`. Neither
offered session search, a string-replacement editor, or a repeat-tool guard,
though none of the three is surface-specific.

Move the rows that are not surface-specific into `base.cordis.yml` and add
those three. Web search moves there too — the TUI decision the change that
made it a Web default deferred. Both surfaces now assemble the same 27 tools.

This adds only. No row is removed from either surface and no existing row's
configuration is edited: executors, sandbox composition, access defaults,
`tools.mode`, and the workflow tool are exactly what they were. Two rows stay
surface-specific: `tmux-context` (no terminal multiplexer in a browser) and
`session-reference` (its index has one writer owner).

Ship `dsh-mcp-client` as a dependency without a row: the plugin mounts one
server per instance and `command` is required, so a default would name a
third-party server and spawn it outside `ctx.bash` on every launch. The CLI
README carries the YAML for mounting one from a personal config.
2026-07-31 17:45:49 +08:00
ZiyaZhang dc7f3253f6 fix(examples): keep memory configs provider-owned 2026-07-31 02:34:52 -07:00
ZiyaZhang 7e929d3d50 feat(examples): add generic memory MCP overlays 2026-07-31 02:00:14 -07:00
Turtle ce0aa90c1e feat(cli): dsh --dump-config / --dump-default-config print the composed tree
dsh --dump-config and dsh web --dump-config compose the shipped base,
the surface overlay, and the --config or personal overlay — exactly the
layers that surface boots — and print the entry list as YAML without
booting; --dump-default-config stops at the surface overlay so the two
outputs diff to precisely the user layer's effect.

The dump shares the mounting code: the vendored include exports its
patch algorithm as applyEntryPatches() and its !!js dialect as
entryListSchema (logged in vendor/README.md), dsh-app-boot's
renderConfigDump() composes and renders through both (and now imports
the dialect instead of duplicating it), and the CLI adds a thin
dump-config mode. !!js expressions print verbatim; unmatched patches
warn on stderr; boot-only flags are rejected alongside the dump flags.

(cherry picked from commit 1fdbebfa8a5dc7df840d53666320064a7e3dae59)
2026-07-31 16:20:54 +08:00
Hypatia May 85cef9de6f fix(tui): unify compaction progress presentation 2026-07-31 15:27:10 +08:00
NI0317 dbb87f02bf copy(tui): disclose Session Log upload in Chinese welcome 2026-07-31 15:15:14 +08:00
Tianyi Cui 7a92f23ad4 Merge finalized manual compaction parent 2026-07-31 13:44:34 +08:00
Tianyi Cui 98f48fd83a Merge finalized Web transcript parent
# Conflicts:
#	apps/cli/README.i18n.yaml
#	packages/client/runtime/README.i18n.yaml
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.zh.md
2026-07-31 13:42:47 +08:00
NI0317 e73fa2ec9f copy(tui): refine first-run welcome message 2026-07-31 13:34:55 +08:00
NI0317 ac19ba2da3 copy(tui): use 粗糙 in first-run welcome 2026-07-31 13:28:07 +08:00
NI0317 f30579dbaa refactor(tui): own overlay terminal primitives 2026-07-31 12:36:24 +08:00
NI0317 1b4c11e7d7 fix(tui): await mounted welcome overlay service 2026-07-31 12:02:13 +08:00
Hypatia May 949b9fba8d feat(tui): add transcript compaction progress marker 2026-07-31 11:46:43 +08:00
NI0317 f7355e4e8e Merge latest origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
2026-07-31 10:58:48 +08:00
NI0317 436e557275 Merge origin/master into feature/tui-first-run-welcome
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
#	apps/cli/src/tui.ts
#	apps/cli/tests/tui-keyless-smoke.e2e.ts
2026-07-31 10:58:00 +08:00
NI0317 cd23acb366 test(tui): force-stop resumed PTY acceptance 2026-07-31 10:25:02 +08:00
Hypatia May afe8d49691 Merge finalized manual compaction parent 2026-07-31 10:11:54 +08:00
Hypatia May 01e64c6350 Merge finalized Web transcript parent 2026-07-31 09:46:32 +08:00
imccyu 2e034bbbd3 Merge remote-tracking branch 'origin/master' into mergebot/pr711
# Conflicts:
#	apps/cli/README.i18n.yaml
#	docs/module-graph.md
#	packages/client/connection/README.i18n.yaml
#	packages/client/runtime/README.i18n.yaml
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
2026-07-31 02:02:47 +08:00
imccyu d802364651 feat(cli): move the telemetry row into the shared base — every surface reports
The row moves from web.cordis.yml to base.cordis.yml, so the TUI reports
too (its exit paths already drain: disposeRootAndExit on normal exit, root
dispose before the /resume execve). The TUI launcher applies the same
resolveTelemetryPatch opt-out, judged against the tree actually booting via
configHasTelemetryRow so a --config-replace tree without the row is not
failed by a switch with nothing to disable. The TUI keyless smoke disables
telemetry in its child env; README (en/zh) and the Agent Note pair updated
to the every-surface stance.
2026-07-31 01:34:43 +08:00
imccyu bd1c69149d fix(web): review round 1 — loud opt-out, headless drain, scaffold isolation, docs
- resolveTelemetryPatch: extracted pure switch resolution (unit-tested);
  fails loud when DSH_TELEMETRY_DISABLED is set but the row is absent, and
  documents that ANY non-empty value (including '0'/'false') disables.
- runHeadless: SIGINT/SIGTERM now dispose the tree before exit so the
  telemetry tail and shutdown marker drain (Node's default signal exit
  skips disposal).
- web.cordis.yml: explicit maxQueueSize beside maxExportBatchSize (the
  single-batch drain invariant no longer leans on an SDK default), comment
  covers exportTimeoutMillis's role and links the Agent Note.
- apps/web scaffold: disable telemetry-otel — fixture sessions must never
  leave the process.
- apps/cli README (en/zh + pairing): document the default endpoint, both
  env seams, and the no-redaction disclosure.
2026-07-31 01:34:42 +08:00
imccyu ff55fe6997 fix: ci 2026-07-31 01:34:41 +08:00
imccyu f0b96359cc test(web): keyless e2e — OTLP collector receives the session ledger
Boot the real dsh web tree against an in-test OTLP/HTTP collector and a
mock LLM server, drive one turn over /api, then SIGINT. Asserts the wire:
OTLP JSON structure and resource identity, both instrumentation scopes,
ledger event coverage in seq order, prompt fidelity in the exported body,
the first-of-step chunk projection, and the ops shutdown marker arriving
through the exit drain.
2026-07-31 01:34:41 +08:00
imccyu ecbd8babc1 Merge remote-tracking branch 'origin/master' into mergebot/pr711
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/README.md
#	apps/cli/README.zh.md
#	apps/cli/cordis.yml
#	apps/cli/package.json
#	docs/config-catalog.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/src/client/contract/sessions.ts
#	packages/client/test-runtime/src/sessions.ts
#	packages/client/ui-workspace/README.i18n.yaml
#	packages/client/ui-workspace/README.md
#	packages/client/ui-workspace/README.zh.md
#	packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
#	packages/client/ui-workspace/src/client/tree.ts
#	packages/client/ui-workspace/tests/apply.spec.ts
#	packages/client/ui-workspace/tests/tree.spec.ts
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/src/api-proxy.ts
#	packages/host/apiproxy/src/api/index.ts
#	packages/host/apiproxy/tests/client-handler.spec.ts
#	packages/host/apiproxy/tests/rpc-schemas.spec.ts
#	pnpm-lock.yaml
2026-07-31 01:28:15 +08:00
NI0317 261eb6b7ae test(tui): stabilize first-run PTY snapshots 2026-07-31 00:28:38 +08:00
NI0317 05b84f4458 fix(tui): publish welcome acknowledgement atomically 2026-07-30 23:18:51 +08:00
NI0317 605136d18a test(tui): complete welcome coverage 2026-07-30 23:14:15 +08:00
NI0317 31f66dbd54 fix(tui): tighten welcome layout and acceptance 2026-07-30 23:09:58 +08:00
NI0317 890343751a feat(tui): add versioned first-run welcome 2026-07-30 22:29:35 +08:00
Hypatia May bbff2c58de feat(tui): show live compaction progress 2026-07-30 21:59:33 +08:00
Yichen Jiang 3957ce007a Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
# Conflicts:
#	apps/cli/cordis.yml
#	apps/cli/package.json
#	apps/cli/tests/tui-keyless-smoke.e2e.ts
#	apps/web/tests/details-session-lifecycle.e2e.ts
#	apps/web/tests/snapshots/code-mode-round/ui.expected.md
#	apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
#	apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
#	apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
#	apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
#	apps/web/tests/snapshots/live-interactions/cancel.expected.md
#	apps/web/tests/snapshots/live-interactions/error-auth.expected.md
#	apps/web/tests/snapshots/live-interactions/retry.expected.md
#	apps/web/tests/snapshots/message-actions/ui.expected.md
#	apps/web/tests/snapshots/question-composer/answered.expected.md
#	apps/web/tests/snapshots/seeded-history/ui.expected.md
#	apps/web/tests/snapshots/steering/mid-steer.expected.md
#	apps/web/tests/snapshots/steering/settled.expected.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/user/guide/config.i18n.yaml
#	docs/user/guide/config.md
#	docs/user/guide/config.zh.md
#	docs/user/guide/index.i18n.yaml
#	docs/user/guide/index.md
#	docs/user/guide/index.zh.md
#	examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
#	examples/cordis-agent/cordis.yml
#	examples/cordis-agent/tests/cordis-tools.e2e.ts
#	examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
#	examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
#	examples/tui-agent/code-mode.cordis.yml
#	examples/tui-agent/cordis.yml
#	packages/examples/tui-demo/README.md
#	packages/examples/tui-demo/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/pty/tool-bash-persistent/README.i18n.yaml
#	packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
#	packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
#	pnpm-lock.yaml
#	scripts/snapshots/python-sdk-single-exe/advanced/result.json
#	scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
#	scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
#	scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
Hypatia May eb3188f05d Merge remote-tracking branch 'origin/fix/web-transcript-projection' into feat/manual-compact-single-lock
# Conflicts:
#	apps/cli/config/base.cordis.yml
#	apps/cli/cordis.yml
#	docs/event-producer-consumer.md
#	examples/package.json
#	examples/tui-agent/README.i18n.yaml
#	examples/tui-agent/README.md
#	examples/tui-agent/README.zh.md
#	pnpm-lock.yaml
2026-07-30 20:09:23 +08:00
Yichen Jiang eae4219e04 Merge branch 'worktree-config-settings-seam' into worktree-llm-dynamic-config
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/cli/composition.md
#	apps/cli/config/base.cordis.yml
#	apps/cli/src/app-cli-entry.ts
#	apps/cli/src/tui.ts
#	apps/cli/tests/tui-keyless-smoke.e2e.ts
#	examples/package.json
#	packages/ui/app-boot/README.i18n.yaml
#	packages/ui/app-boot/README.md
#	packages/ui/app-boot/README.zh.md
#	pnpm-lock.yaml
#	python/sdk-runtime/package.json
2026-07-30 19:46:04 +08:00
Turtle a51143bded fix(cli): close shared config review gaps 2026-07-30 14:56:39 +08:00