Commit Graph
1825 Commits
Author SHA1 Message Date
Tianyi Cui c06e6bea0b Merge origin/master into feat/tui-package
Master unifies every live agent with its exact SessionId and moves declarative startup failures to agent-loop/config-start-failed. Keeping the branch’s AgentId label binding would let the TUI target the wrong lifecycle after reload and would miss asynchronous resume failures.

Resolve that contract migration by giving the selected terminal front door the same generated or resumed SessionId as agent-core, mounting the front door first, and entering fullscreen only after the matching root appears. Refresh the source-derived catalogs and keyless terminal goldens so Code Mode, workflow, Cordis-tool, and transient UI scenarios all exercise the merged identity model.
2026-07-19 11:37:14 +08:00
Tianyi Cui 765dfb2174 refactor(session): use one surface manager 2026-07-19 11:36:07 +08:00
Tianyi Cui 7ba5b95d8e Merge remote-tracking branch 'origin/master' into worktree/fix-sqlite-file-permissions 2026-07-19 11:32:58 +08:00
Tianyi Cui bca7401513 docs: retain rejected compaction RFC 2026-07-19 11:12:26 +08:00
Tianyi Cui 8941600273 docs: expand simplification RFC implementation plans 2026-07-19 10:59:23 +08:00
Tianyi Cui 0c911172e9 docs: drop rejected compaction RFC 2026-07-19 10:45:04 +08:00
Tianyi Cui 706dbe5a11 Merge remote-tracking branch 'origin/codex/simp-name-front-door-defaults' into codex/simplification-rfc-followups 2026-07-19 10:43:34 +08:00
Tianyi Cui 202da55bf2 Merge remote-tracking branch 'origin/master' into codex/simp-name-front-door-defaults 2026-07-19 10:41:41 +08:00
Tianyi Cui 4851d95704 docs: propose follow-up simplification RFCs 2026-07-19 03:49:18 +08:00
Tianyi Cui 60097258b9 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 02:39:09 +08:00
Tianyi Cui c7beb041c7 Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 02:39:09 +08:00
Tianyi Cui a656ab4120 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-19 02:39:09 +08:00
Tianyi Cui 7e0bf44f09 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-19 02:39:09 +08:00
Tianyi Cui 0c84c2a842 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-19 02:39:09 +08:00
Tianyi Cui 255dacd301 Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-19 02:39:08 +08:00
Tianyi Cui d2b2f1245f Merge remote-tracking branch 'origin/master' into codex/simp-trim-hook-snapshot-noise 2026-07-19 02:36:11 +08:00
Tianyi Cui f6d44b74d4 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 02:21:46 +08:00
Tianyi Cui d41d987de7 Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 02:21:46 +08:00
Tianyi Cui 43b07d374e Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
# Conflicts:
#	packages/ui/acp/src/index.ts
2026-07-19 02:21:21 +08:00
Tianyi Cui e3f26237a4 Merge remote-tracking branch 'origin/master' into feat/tui-package 2026-07-19 02:21:11 +08:00
Tianyi Cui 9f1a69366b docs: tighten identity bridge prose 2026-07-19 02:18:59 +08:00
Tianyi Cui 08c17ef48b Merge remote-tracking branch 'origin/master' into codex/simp-hide-llm-adapter-helpers 2026-07-19 02:18:50 +08:00
Tianyi Cui 3760f198f3 docs: distinguish readline and TUI demos 2026-07-19 02:16:43 +08:00
Tianyi Cui 64e920fad7 Merge remote-tracking branch 'origin/master' into feat/tui-package 2026-07-19 02:10:33 +08:00
Tianyi Cui 7b076a1e01 Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract 2026-07-19 02:10:25 +08:00
Tianyi Cui fed4cfe8ff Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 01:57:31 +08:00
Tianyi Cui 21e1a08b55 Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 01:57:27 +08:00
Tianyi Cui 18653a9ff7 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	packages/core/agent-loop/tests/agent.spec.ts
#	packages/core/agent-loop/tests/contract-regressions.spec.ts
#	website/zh-CN/api/harness/agent-loop.md
#	website/zh-CN/api/harness/events.md
2026-07-19 01:57:18 +08:00
Tianyi Cui b61e68ae8c Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-19 01:55:29 +08:00
Tianyi Cui f65f4b82d7 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent-loop/src/index.ts
#	packages/core/agent-loop/tests/agent.spec.ts
#	packages/core/agent-loop/tests/contract-regressions.spec.ts
#	website/zh-CN/api/harness/agent-loop.md
2026-07-19 01:54:03 +08:00
Tianyi Cui 3b924a9327 Merge remote-tracking branch 'origin/feat/tui-package' into codex/tui-snapshot-testing 2026-07-19 01:49:42 +08:00
Tianyi Cui a514130548 Merge remote-tracking branch 'origin/master' into feat/tui-package 2026-07-19 01:48:39 +08:00
Tianyi Cui 3c03ca8a3c Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-19 01:47:42 +08:00
Tianyi Cui bfd67e54e4 Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise 2026-07-19 01:47:42 +08:00
Tianyi Cui 2704cab46f Merge remote-tracking branch 'origin/master' into codex/simp-shared-acp-test-launcher 2026-07-19 01:44:38 +08:00
Tianyi Cui c866aa8ca6 Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory 2026-07-19 01:33:26 +08:00
Tianyi Cui e68cef1be1 test(tui): replay recorded sessions through real tools 2026-07-19 01:31:55 +08:00
Tianyi Cui bea6a74ea0 refactor(examples): give TUI its own agent leaf 2026-07-19 01:09:20 +08:00
Tianyi Cui 8e366c3071 test(tui): snapshot semantic terminal state 2026-07-18 22:31:04 +08:00
Tianyi Cui 864b7bfd65 Merge remote-tracking branch 'origin/master' into feat/tui-package
# Conflicts:
#	docs/architecture.md
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	examples/coding-agent/cordis.yml
#	examples/echo-agent/cordis.yml
#	knip.json
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/tests/config-session-id.spec.ts
#	packages/examples/README.md
#	packages/examples/stdio-demo/README.md
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
2026-07-18 21:20:47 +08:00
Yichen Jiang 0e4785cdb7 Merge origin/master into worktree/agent-execution-context-rfc 2026-07-18 21:20:30 +08:00
Yichen Jiang 619da217d8 Merge branch 'master' into worktree/fix-sqlite-file-permissions 2026-07-18 21:17:01 +08:00
Tianyi Cui 3b52d216f3 Merge branch 'master' into parallel-tool-call 2026-07-18 20:18:24 +08:00
imccyu ed418827c2 chore(sdk): satisfy CI gates — config catalog, md-wrap, knip
Regenerate docs/config-catalog.md for the telemetry package, unwrap the
design doc's multi-line blockquote paragraphs, and stop exporting the
create-sdk headless spec internals that have no external consumer.
2026-07-18 16:32:08 +08:00
imccyu 560ce3b539 feat(dsh-sdk): launcher telemetry reporting around every command
Wrap runDshSdkCommand so each command times itself and, in a finally block,
resolves consent (option A) and sends one best-effort, fire-and-forget telemetry
event (redacted cordis.yml + package.json content; never reads .env). Never
affects the command's exit code. Adds dsh-scripts -> dsh-telemetry dependency.
Default-on via absent consent entry; opt-out by a disabled telemetry entry.
The config/create wizard opt-out toggle is deferred (see design doc).
2026-07-18 16:11:57 +08:00
imccyu 16485392e4 docs(sdk): retarget #2 to native npm/pnpm dependency + cordis mount 2026-07-18 16:11:57 +08:00
imccyu 8052370155 chore(sdk): drop dsh-plugin-fetch (giget/pacote) — #2 will use native npm/pnpm deps
External-plugin creation will add a package-manager-native dependency
(github:owner/repo#ref or pkg@version) plus a cordis mount instead of fetching
tarballs into a temp dir, so the giget/pacote fetch package is no longer needed.
2026-07-18 16:11:56 +08:00
imccyu fe668a6dfe feat(telemetry): greenfield dsh-sdk telemetry modules
Add @deepseek-ai/dsh-telemetry, a launcher-side (non-plugin) library for the
ConsentResolver (parses cordis.yml consent + DO_NOT_TRACK/CI), buildTelemetryPayload
(redacted cordis.yml + package.json full content, never .env), getOrCreateAnonymousId
(random UUID in a per-machine global config file), and TelemetryReporter
(fire-and-forget, never blocks or crashes the command).

Endpoint is a fixed .invalid placeholder pending the real endpoint. Launcher
dispatch wiring and the helper feature-catalog entry are intentionally out of
scope. Registers the package in tsconfig references, the module graph, and the
README model-experience audit map. Per-file 100% coverage.
2026-07-18 16:11:25 +08:00
imccyu 825a63ab01 feat(sdk): add dsh-plugin-fetch source + fetcher seam
Greenfield #2 "建插件" modules for the forthcoming `dsh-sdk create <source>`
command, in a new foundation-independent package so it touches none of the
dsh-scripts / dsh-helper / create-sdk hotspots the foundation refactor edits.

- `resolvePluginSource(spec)` parses `owner/repo[/subdir]#ref` (github) or
  `pkg@version` (npm) into a `PluginSource` discriminated union, failing loud on
  an ambiguous or malformed spec.
- `PluginFetcher<S>` seam + `fetchPlugin` tag dispatch returning a common
  `FetchedPlugin` (temp dir + immutable provenance).
- `GigetFetcher` (github) over @bluwy/giget-core: resolve `#ref` to a commit SHA
  first, download that SHA; provenance pins the SHA. Chosen over unjs/giget for
  its single runtime dep and absent install/action surface.
- `PacoteFetcher` (npm) over pacote: resolve the manifest, then extract the
  tarball verified against its registry integrity. Registry-only is enforced by
  the source resolver; extract runs no lifecycle scripts.
- Branded `CommitSha`/`Integrity`; network + temp-dir boundaries are injected so
  the logic is unit-tested at 100% per-file coverage without network.

Wiring (package.json pin, cordis.yml via ProjectEditSession with a confirmed
diff, install --ignore-scripts) and the launcher command registration land
later with the foundation.
2026-07-18 16:08:12 +08:00
imccyu 923b04606e docs: DeepSeek Harness SDK follow-up work design draft 2026-07-18 16:05:14 +08:00