Commit Graph

239 Commits

Author SHA1 Message Date
Tianyi Cui
eb5ae54a79 Merge branch 'codex/goal-tools' into codex/goal-session
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-19-persisted-same-session-goal-domain.i18n.yaml
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	examples/package.json
#	packages/core/agent/README.md
#	packages/core/agent/src/types.ts
#	website/zh-CN/api/harness/events.md
2026-07-20 20:35:15 +08:00
Tianyi Cui
3e3f9a911d Merge branch 'codex/goal-domain' into codex/goal-tools
# Conflicts:
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	packages/core/agent/README.md
#	website/zh-CN/api/harness/events.md
2026-07-20 20:21:01 +08:00
Tianyi Cui
44ad2ef073 Remove the Echo agent 2026-07-20 20:16:41 +08:00
Tianyi Cui
6cf681df4b Merge branch 'rfc/loop' into codex/goal-domain
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/event-producer-consumer.md
#	docs/glossary.md
#	docs/module-graph.md
#	examples/package.json
#	pnpm-lock.yaml
#	website/.vitepress/config/api-sidebar.json
#	website/zh-CN/api/harness/events.md
2026-07-20 20:06:23 +08:00
Tianyi Cui
9c4cc05da6 Merge branch 'codex/invariant-service-seam' into codex/invariant-package-registration-gate 2026-07-20 19:48:51 +08:00
Tianyi Cui
4cadf096ce Remove the stdio agent 2026-07-20 19:26:04 +08:00
Tianyi Cui
bbdd92ebc1 Merge goal-session snapshot fixes into commands 2026-07-20 17:46:05 +08:00
Tianyi Cui
4e74794236 test(goal): isolate the ACP lifecycle snapshot 2026-07-20 17:44:57 +08:00
Tianyi Cui
8044e63e69 Merge goal-tool cleanup into same-session goals 2026-07-20 17:38:03 +08:00
Tianyi Cui
23330b7a7d chore(goal): remove retired e2e dependencies 2026-07-20 17:35:01 +08:00
Tianyi Cui
a87d3e7e55 Merge branch 'codex/goal-session' into codex/commands 2026-07-20 17:24:39 +08:00
Tianyi Cui
77ab5516a9 Merge goal tool fixes and align same-session blockers 2026-07-20 17:23:55 +08:00
Tianyi Cui
15640ca697 fix(goal): require explained model blockers 2026-07-20 16:53:10 +08:00
Dudu-0223
ca1cc61dfb Merge origin/master into lsp 2026-07-20 13:54:38 +08:00
Yichen Jiang
5833d70447 Merge remote-tracking branch 'origin/master' into worktree/docs-website
# Conflicts:
#	.agents/notes/implemented/process/2026-07-13-documentation-site-projection.md
#	docs/AGENTS.md
#	docs/rfc/INDEX.md
#	docs/user/develop/basic/index.zh.md
#	docs/user/develop/basic/tool.zh.md
#	docs/user/develop/framework/index.zh.md
#	docs/user/develop/framework/service.zh.md
#	docs/user/develop/practice/index.zh.md
#	docs/user/guide/index.zh.md
#	docs/user/guide/quickstart.zh.md
#	knip.json
#	package.json
#	pnpm-lock.yaml
#	scripts/doc-typecheck.ts
#	scripts/gen-website-api.ts
#	scripts/translation-pairing.manifest.json
#	scripts/verify-type-equiv.ts
#	website/zh-CN/api/cordis/context.md
#	website/zh-CN/api/cordis/events.md
#	website/zh-CN/api/cordis/fiber.md
#	website/zh-CN/api/cordis/registry.md
#	website/zh-CN/api/cordis/service.md
#	website/zh-CN/api/harness/agent-loop.md
#	website/zh-CN/api/harness/agents.md
#	website/zh-CN/api/harness/approval.md
#	website/zh-CN/api/harness/bash-env.md
#	website/zh-CN/api/harness/bash.md
#	website/zh-CN/api/harness/code-runtime.md
#	website/zh-CN/api/harness/compact.md
#	website/zh-CN/api/harness/events.md
#	website/zh-CN/api/harness/fs.md
#	website/zh-CN/api/harness/llm.md
#	website/zh-CN/api/harness/permission.md
#	website/zh-CN/api/harness/sandbox.md
#	website/zh-CN/api/harness/session-persistence.md
#	website/zh-CN/api/harness/session-query.md
#	website/zh-CN/api/harness/sessions.md
#	website/zh-CN/api/harness/skills.md
#	website/zh-CN/api/harness/spill-store.md
#	website/zh-CN/api/harness/subagents.md
#	website/zh-CN/api/harness/system-prompt.md
#	website/zh-CN/api/harness/tasks.md
#	website/zh-CN/api/harness/token-meter.md
#	website/zh-CN/api/harness/tools.md
#	website/zh-CN/api/harness/user-interaction.md
#	website/zh-CN/api/harness/web.md
#	website/zh-CN/api/harness/workflows.md
#	website/zh-CN/api/index.md
#	website/zh-CN/design/effects-coeffects.md
#	website/zh-CN/design/index.md
#	website/zh-CN/guide/config.md
2026-07-20 10:21:36 +08:00
Tianyi Cui
433670a754 feat(invariants): require package-owned companions 2026-07-19 22:13:50 +08:00
Tianyi Cui
2850c22b7a feat(ui): add plugin command registry 2026-07-19 22:11:59 +08:00
Tianyi Cui
25555c9cfc feat(goal): drive same-session goal rounds 2026-07-19 20:30:43 +08:00
Tianyi Cui
0129063ae7 feat(goal): add model-facing goal tools 2026-07-19 19:22:10 +08:00
Tianyi Cui
a525776015 feat(goal): add persisted same-session goal domain 2026-07-19 18:47:34 +08:00
Tianyi Cui
f4a30da10d chore: align one-shot demo workspace metadata 2026-07-19 13:32:04 +08:00
Tianyi Cui
dbe9e307b0 Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
# Conflicts:
#	AGENTS.md
#	README.i18n.yaml
#	README.md
#	README.zh.md
#	docs/architecture.md
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/cookbook/extension-cookbook.md
#	docs/cookbook/extension-cookbook.zh.md
#	docs/event-producer-consumer.md
#	docs/graph-atlas.md
#	docs/module-graph.md
#	docs/testing.md
#	examples/README.md
#	examples/coding-agent/README.md
#	package.json
#	packages/examples/README.md
#	scripts/gen-doc-graphs.ts
2026-07-19 13:17:53 +08:00
Tianyi Cui
53c729e00b Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
# Conflicts:
#	AGENTS.md
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/cookbook/extension-cookbook.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	knip.json
#	packages/README.md
#	packages/support/loader-smoke/README.md
#	packages/support/loader-smoke/src/index.ts
#	vitest.snapshot.config.ts
2026-07-19 13:11:50 +08:00
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
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
Yichen Jiang
57f23bae6a Merge remote-tracking branch 'origin/master' into worktree/docs-website
# Conflicts:
#	docs/user/develop/basic/config.zh.md
#	docs/user/develop/basic/index.zh.md
#	docs/user/develop/basic/tool.zh.md
#	docs/user/develop/framework/index.zh.md
#	docs/user/develop/framework/service.zh.md
#	docs/user/develop/practice/index.zh.md
#	docs/user/guide/index.zh.md
#	package.json
#	pnpm-lock.yaml
#	pnpm-workspace.yaml
#	website/.vitepress/config/index.ts
#	website/.vitepress/config/zh-CN.ts
#	website/package.json
#	website/zh-CN/api/cordis/context.md
#	website/zh-CN/api/cordis/events.md
#	website/zh-CN/api/cordis/fiber.md
#	website/zh-CN/api/cordis/registry.md
#	website/zh-CN/api/cordis/service.md
#	website/zh-CN/api/harness/bash.md
#	website/zh-CN/api/harness/fs.md
#	website/zh-CN/api/harness/llm.md
#	website/zh-CN/api/harness/tools.md
#	website/zh-CN/api/index.md
#	website/zh-CN/design/composability.md
#	website/zh-CN/design/context-model.md
#	website/zh-CN/design/reactive-coeffects.md
#	website/zh-CN/design/revertible-effects.md
#	website/zh-CN/develop/framework/events.md
#	website/zh-CN/develop/practice/llm-adapter.md
#	website/zh-CN/guide/config.md
2026-07-18 21:35:06 +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
Tianyi Cui
5af8b38b36 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	docs/testing.md
2026-07-18 14:05:54 +08:00
Tianyi Cui
35473c2701 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	AGENTS.md
#	docs/config-catalog.md
#	docs/event-producer-consumer.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/both-mode-turn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/cancel/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/code-mode-turn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/config-options/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/error-finish/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-approved/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	examples/acp-agent/tests/snapshots/escalation-rejected/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-edit/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-policy-reject/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-read-window/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-read/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-terminal-card/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-write-overwrite/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/fs-write/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/handshake/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-posttool-block/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-posttool-context/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-deny/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-block/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-promptsubmit-context/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-stop-continue/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-posttool-block/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-posttool-context/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-pretool-block/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-block/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-promptsubmit-context/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/hook-codex-stop-continue/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/multi-turn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/permission-switching/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/repeat-tool-guard/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/subagent-fork/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/subagent-mixed/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/subagent-multi/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/subagent-spawn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/todo-plan/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/tool-call-turn/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/workflow-run/stdout.golden.jsonl
#	examples/acp-agent/tests/snapshots/workspace-edit/stdout.golden.jsonl
#	packages/ui/acp/README.md
#	packages/ui/acp/src/index.ts
#	packages/ui/jsonrpc/README.md
#	packages/ui/jsonrpc/src/server.ts
2026-07-18 12:25:33 +08:00
imccyu
5ed531acba ci(examples): run examples / testing from built lib/js 2026-07-17 23:07:51 +08:00
Tianyi Cui
d447a7efb8 Merge branch 'master' into feat/website-docs 2026-07-17 21:19:33 +08:00
Yichen Jiang
7d85d3027d Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/config-catalog.md
#	docs/module-graph.md
#	docs/rfc/INDEX.md
#	packages/README.md
#	packages/bash/bash-local/README.md
#	packages/bash/bash/README.md
#	packages/bash/tool-bash/README.md
#	packages/bash/tool-bash/tests/tools.spec.ts
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/examples/acp-demo/src/index.ts
#	packages/examples/acp-demo/tests/acp-agent.spec.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/examples/agent-spine-demo/tests/agent-core.spec.ts
#	packages/examples/stdio-demo/src/index.ts
#	packages/examples/stdio-demo/tests/stdio-agent.spec.ts
#	packages/util/README.md
#	pnpm-lock.yaml
#	tsconfig.build.json
#	tsconfig.json
2026-07-17 18:39:05 +08:00
Tianyi Cui
1b102b7279 Merge branch 'master' into feat/website-docs 2026-07-17 18:23:01 +08:00
Dudu-0223
a3f62478e1 Merge origin/master into codex/truncated-design 2026-07-17 18:21:54 +08:00
Dudu-0223
a5c7732592 fix(lsp): address lifecycle review feedback 2026-07-17 16:32:34 +08:00
Turtle
1119c537d0 feat(ui): add dedicated TUI package
Move the interactive pi-tui front door into @deepseek-ai/dsh-tui while keeping @deepseek-ai/dsh-stdio line-oriented for pipes. Select the terminal package in the demo app, preserve logger ownership, and cover the production Loader composition with a PTY smoke test.
2026-07-17 12:01:37 +08:00
lintianle
2cde2a9032 Merge origin/master into feat/website-docs
Conflict resolution notes:
- package.json/run-gates: both sides' new doc-sync gates kept (master's
  scoped-events/readme gates + this branch's website-api/website-yaml);
  js-yaml devDeps deduped (master added them independently).
- pnpm-workspace/knip: website AND python/sdk-runtime entries kept.
- doc-typecheck/verify-type-equiv: master's condensed headers kept, website
  glob retained in both scan scopes.
- vendor/cordis/src/fiber.ts: master's lifecycle-hardening code taken; this
  branch's richer FiberState JSDoc reapplied on top. vendor/README.md logs
  both local modifications (hardening = 6, JSDoc enrichment = 7).
- pnpm-lock: regenerated from master's side (pnpm install).

Post-merge sync the gates forced (the system working as designed):
- verify-website-yaml caught 4 stale plugin names from master's package
  reorg (dsh-stdio-agent -> dsh-stdio-demo, dsh-acp-agent -> dsh-acp-demo);
  8 references fixed across guide/ and develop/.
- gen-website-api picked up master's 6 new services automatically
  (ctx.approval/permission/sandbox/sessionQuery/skills/tasks -> 6 new pages
  + sidebar); api/index.md hub updated to list them.
- AGENTS.md budget ceiling 1370 -> 1400: the website rows (layout line + two
  command lines) and master's own growth collided with the old ceiling; all
  three website rows are load-bearing (new top-level dir, new CI command).
2026-07-16 21:36:43 +08:00
lintianle
6ce9f16030 website: wire the site into the repo gates; make every tutorial example compile
- website joins the pnpm workspace; root scripts website:dev/website:build;
  run-gates gains a website-build gate (ci-primary + ci-static) — the
  VitePress build doubles as the site's dead-link check; AGENTS.md documents
  the commands.
- doc-typecheck + verify-type-equiv now scan website/zh-CN/**/*.md; every
  ```typescript fence converted to ```ts and made standalone-compilable
  (55 compiled, 1 ignore-check). Phantom APIs the compiler caught are fixed:
  invented event names (agent/turn-end, tool/call, llm/pre-request, ready,
  dispose) replaced with real catalog events or per-plugin declare-module
  merges; presentCall/inject/Config claims corrected to the real shapes.
- guide/config.md entry-fields table completed against loader EntryOptions;
  its coding-agent example brought in line with examples/coding-agent.
2026-07-16 18:12:22 +08:00
Yichen Jiang
027af418a2 Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/bash.md
#	docs/module-graph.md
#	docs/tool-catalog.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/advanced-toolchain/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/both-mode-turn/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/both-mode-turn/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/code-mode-turn/system-prompt.golden.md
#	examples/acp-agent/tests/snapshots/permission-switching/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/skill-load/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/text-turn/tool-schemas.golden.json
#	examples/acp-agent/tests/snapshots/workspace-edit/tool-schemas.golden.json
#	packages/bash/bash-local/README.md
#	packages/bash/bash-local/src/index.ts
#	packages/bash/bash-local/tests/executor.spec.ts
#	packages/bash/bash/README.md
#	packages/bash/bash/src/index.ts
#	packages/bash/bash/src/types.ts
#	packages/bash/tool-bash/README.md
#	packages/bash/tool-bash/package.json
#	packages/bash/tool-bash/src/index.ts
#	packages/bash/tool-bash/tests/tools.spec.ts
#	packages/bash/tool-bash/tsconfig.json
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/examples/agent-spine-demo/README.md
#	packages/examples/agent-spine-demo/src/index.ts
#	packages/examples/agent-spine-demo/tests/agent-core.spec.ts
#	pnpm-lock.yaml
2026-07-16 16:47:31 +08:00
Tianyi Cui
8d35092e26 fix(examples): isolate headless agent example 2026-07-16 16:12:27 +08:00
Tianyi Cui
72bb02e68e refactor(workspace-context): move package to context group 2026-07-16 16:01:06 +08:00
Tianyi Cui
ae73ef774d Merge branch 'master' into codex/cli-one-shot-demo 2026-07-16 15:38:53 +08:00
Dudu-0223
d0029d8d60 feat(lsp): LSP capability seam, generic stdio provider, and lsp tool
Implements the LSP capability seam RFC as three packages: dsh-lsp (the
ctx.lsp interface — provider registry by branded id + exclusive extension
mapping, per-query order-independent selection, closed request/result
vocabulary, LspError taxonomy), dsh-lsp-local (a generic stdio language-server
provider — Content-Length JSON-RPC framing, per-(provider, workspace) process
single-flight, transient didOpen/query/didClose, an abortable per-instance
queue, UTF-16 negotiation, host-namespace source reads outside ctx.fs, and
bounded shutdown/kill teardown), and dsh-tool-lsp (the model-facing lsp tool —
four operations, one-based UTF-16 cursor conversion, workspace-grouped location
rendering, hover capping, a required session workspace, and a timeout budget).

Why: an agent had text search and file reads but no way to identify a program
symbol — follow an alias, connect an interface to implementations, or read an
inferred type — before changing code. Splitting model contract, seam, and local
subprocess behavior keeps the four semantic queries stable across future remote
or sandbox-native providers without leaking a JSON-RPC escape hatch.
2026-07-16 12:05:35 +08:00
Hypatia May
97e5f43f8b Merge remote-tracking branch 'origin/master' into session-query-search
# Conflicts:
#	packages/README.md
2026-07-16 09:55:03 +08:00
Yichen Jiang
a621d2f9a6 Merge branch 'master' into codex/project-instruction-files 2026-07-16 09:52:52 +08:00
Tianyi Cui
a83847f987 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-16 00:02:55 +08:00
imccyu
42b07a7022 feat(sdk): add developer project tooling
docs(rfc): propose SDK developer project tooling

feat: rename / docs

ci: fix windows gates

docs: revert
2026-07-15 23:17:29 +08:00
Tianyi Cui
b78cdbcd51 feat(examples): add one-shot CLI demo 2026-07-15 21:21:24 +08:00
Tianyi Cui
3d26e83930 Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	AGENTS.md
#	knip.json
#	packages/ui/jsonrpc/README.md
#	scripts/run-gates.ts
2026-07-15 17:06:13 +08:00