Commit Graph

1191 Commits

Author SHA1 Message Date
Hypatia May
edfc4dc4ac Preserve interrupted post-tool context 2026-07-15 12:49:50 +08:00
Hypatia May
28144077f3 Fix deferred injection lifecycle 2026-07-15 12:22:39 +08:00
Tianyi Cui
06452b11a9 Merge latest PR #219 head into review fixes
The PR branch advanced after the local blocker fixes with a merge of current origin/master. Merge that moving parent into this child fix branch instead of rewriting either pushed lineage, so the fixes are validated against the exact PR head and master state that would land.

The only conflicts were an already-paired adding-a-tool translation and nondeterministic approval UUIDs in replay snapshots. Keep the parent versions because the English source and replay behavior are unchanged, avoiding child-only documentation and generated-artifact churn while preserving the parent semantic-gate updates.
2026-07-15 11:48:19 +08:00
Tianyi Cui
d462348556 fix(tasks): contain async completion listeners
TaskService contained synchronous listener throws but discarded returned promises. An async TaskDoneListener could therefore reject as an unhandled process rejection even though the API promises per-listener containment.

Allow listeners to return PromiseLike<void> and attach a rejection handler to each result without awaiting it. This logs asynchronous failures independently while preserving the observation-only contract: later listeners, task waiters, and teardown are not delayed. Add a regression test and synchronize the public docs and generated API declaration.
2026-07-15 11:40:47 +08:00
Tianyi Cui
1a69a3debe fix(tasks): bind cleanup and notices to exact owners
Task records previously retained only ownerSession. If an old agent scope unwound after another agent reused the same agent and session ids, cleanup selected both records and could cancel replacement work. The completion surface also re-resolved the session at settlement, which could inject an old task notice into the replacement agent.

Retain the exact Agent instance for lifecycle work, select owner cleanup by object identity, and pass that exact owner to completion listeners. Keep read, list, kill, and wait authorization session-based as the runtime RFC intends. Add regressions for cleanup and notice routing under id reuse, then update the public docs and generated API catalogs.
2026-07-15 11:40:37 +08:00
Tianyi Cui
c2d5a5be80 Merge origin/master into PR #219 review branch
Bring PR #219 onto current master before re-evaluating review findings so fixes are tested against the code that would actually land.

Resolve generated catalogs by regeneration, preserve the new ACP tool-schema sidecar format while refreshing affected snapshots keylessly, and update the newly paired Chinese adding-a-tool document to match the background-task guidance. This keeps generated and bilingual artifacts authoritative instead of choosing one conflict side blindly.
2026-07-15 11:40:26 +08:00
Tianyi Cui
ac820b68a6 Merge branch 'master' into feat/mcp-client 2026-07-15 11:35:45 +08:00
Yichen Jiang
df8fe3bde4 Merge remote-tracking branch 'origin/master' into codex/rfc-subagent-background-tasks
# Conflicts:
#	docs/architecture.md
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	docs/module-graph.md
#	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/both-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/session.jsonl
#	packages/README.md
2026-07-15 11:17:55 +08:00
Yichen Jiang
904397a7ef Merge remote-tracking branch 'origin/master' into codex/agent-session-jsonl-location
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	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/both-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/session.jsonl
#	packages/session-persistence/session-persistence/src/index.ts
2026-07-15 11:12:39 +08:00
Hypatia May
4ce32807e1 Fix async injection tool-result ordering 2026-07-15 11:12:05 +08:00
Yichen Jiang
35cae1d389 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	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/both-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/code-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/session.jsonl
2026-07-15 10:15:06 +08:00
imccyu
80fbeefbd6 refactor(ui): extract stdio plugin package
Move the readline front door from stdio-agent into @deepseek-ai/dsh-stdio, keeping the loader shape and the stdio coverage with the new package.
2026-07-15 10:04:40 +08:00
Hypatia May
356236d08a Merge remote-tracking branch 'origin/master' into session-query-trace
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/rfc/INDEX.md
#	packages/core/session/src/surface.ts
#	packages/support/invariants/src/index.ts
2026-07-15 09:11:19 +08:00
Tianyi Cui
77de6497b4 Merge remote-tracking branch 'origin/master' into codex/simp-drop-skill-provider-events
# Conflicts:
#	docs/event-producer-consumer.md
2026-07-15 01:49:41 +08:00
Tianyi Cui
7ece5541ea Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract 2026-07-15 01:49:00 +08:00
Tianyi Cui
9b8b17b6fa Merge remote-tracking branch 'origin/master' into codex/simp-prune-web-seam-fields 2026-07-15 01:49:00 +08:00
Tianyi Cui
da75ed9056 Merge remote-tracking branch 'origin/master' into codex/simp-prune-tools-prompt-surface 2026-07-15 01:48:59 +08:00
imccyu
13255ceb15 docs: add rfc 2026-07-15 00:42:08 +08:00
Tianyi Cui
73b34e5c4d Merge remote-tracking branch 'origin/master' into codex/simp-prune-tools-prompt-surface
# Conflicts:
#	docs/rfc/implemented/architecture/2026-06-18-session-surface.md
#	packages/core/session/src/surface.ts
#	packages/core/session/tests/surface.spec.ts
2026-07-14 23:45:25 +08:00
Tianyi Cui
606337f2f7 Merge remote-tracking branch 'origin/master' into codex/simp-drop-skill-provider-events 2026-07-14 23:44:39 +08:00
Tianyi Cui
177144917d Merge remote-tracking branch 'origin/master' into codex/simp-prune-web-seam-fields 2026-07-14 23:44:38 +08:00
Tianyi Cui
0bc114c07d Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract 2026-07-14 23:42:47 +08:00
Tianyi Cui
a673ee4888 Merge remote-tracking branch 'origin/master' into codex/pr202-merge-review 2026-07-14 23:42:36 +08:00
Tianyi Cui
ed3654da00 docs: reconcile hidden internals with prose standard 2026-07-14 23:38:53 +08:00
imccyu
c67c3d9413 refactor: derive event graphs and scope invariants from TypeScript 2026-07-14 23:37:56 +08:00
Tianyi Cui
7b50c573ca Merge branch 'master' into codex/fix-acp-snapshot-fs-registration 2026-07-14 23:32:41 +08:00
Tianyi Cui
7cbed547c7 Merge remote-tracking branch 'origin/master' into codex/pr202-merge-review 2026-07-14 23:21:47 +08:00
Tianyi Cui
22289065f8 Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-14 23:19:59 +08:00
Tianyi Cui
18a643f543 Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-14 23:19:58 +08:00
Tianyi Cui
9ed59df02b Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-14 23:19:52 +08:00
Tianyi Cui
b656bef59a Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
# Conflicts:
#	docs/module-graph.md
2026-07-14 23:19:41 +08:00
Tianyi Cui
98c12676af Merge remote-tracking branch 'origin/master' into feat/mcp-client 2026-07-14 23:16:43 +08:00
Tianyi Cui
380a4d6dbc Merge branch 'codex/simp-trim-hook-snapshot-noise' into codex/simp-compaction-surface 2026-07-14 23:16:41 +08:00
Tianyi Cui
332edfeee7 Merge branch 'codex/simp-shared-acp-test-launcher' into codex/simp-trim-hook-snapshot-noise 2026-07-14 23:16:41 +08:00
Tianyi Cui
3b26fb8e1e Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher 2026-07-14 23:16:41 +08:00
Tianyi Cui
7fd7064c27 Merge branch 'codex/simp-session-log-representation' into codex/simp-snapshot-fixture-inventory 2026-07-14 23:16:40 +08:00
Tianyi Cui
f06d623030 Merge remote-tracking branch 'origin/master' into codex/simp-session-log-representation 2026-07-14 23:16:23 +08:00
Tianyi Cui
8ffcef7db9 test(snapshot): split pinned schemas into sidecars 2026-07-14 23:11:21 +08:00
Tianyi Cui
101e8cbeb6 Merge remote-tracking branch 'origin/master' into codex/simp-session-dead-surface 2026-07-14 23:09:21 +08:00
Tianyi Cui
3caaa43797 fix(i18n): make translation contracts executable 2026-07-14 23:09:01 +08:00
Tianyi Cui
19504f7e34 fix(i18n): resolve pairing workflow review findings 2026-07-14 22:38:17 +08:00
Yichen Jiang
dfd3638d67 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters 2026-07-14 22:18:35 +08:00
Yichen Jiang
815365dbbe Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.md
#	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/both-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/session.jsonl
#	examples/sandbox-acp-agent/cordis.yml
#	examples/sandbox-acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/sandbox-acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	examples/sandbox-acp-agent/tests/snapshots/mode-switching/session.jsonl
#	packages/compact/compact-basic/README.md
#	packages/compact/compact-basic/src/index.ts
#	packages/compact/compact-basic/tests/compact-basic.spec.ts
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent-loop/tests/properties.spec.ts
#	packages/core/session/README.md
#	packages/core/session/src/types.ts
#	packages/core/session/tests/derived-cache.spec.ts
#	packages/llm/llm-deepseek/src/index.ts
#	packages/llm/llm-pi-ai/README.md
#	packages/llm/llm-pi-ai/src/adapter.ts
#	packages/llm/llm-pi-ai/src/convert.ts
#	packages/llm/llm-pi-ai/tests/adapter.spec.ts
#	packages/llm/llm/README.md
#	packages/llm/llm/src/call-config.ts
#	packages/llm/llm/src/index.ts
#	packages/ui/acp-agent/src/index.ts
#	packages/ui/acp/tests/harness.ts
#	packages/ui/jsonrpc/README.md
#	packages/ui/jsonrpc/src/server.ts
#	packages/ui/stdio-agent/README.md
#	packages/ui/stdio-agent/src/index.ts
#	python/sdk/README.i18n.yaml
2026-07-14 22:17:50 +08:00
Yichen Jiang
e547980d77 feat(llm): route adapters by provider 2026-07-14 21:57:52 +08:00
Tianyi Cui
528f9cba62 fix: default time context to system zone 2026-07-14 21:45:54 +08:00
Dudu-0223
77be4b891b Merge remote-tracking branch 'origin/master' into pr-265
# Conflicts:
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/rfc/INDEX.md
#	examples/acp-agent/tests/snapshots/both-mode-turn/session.jsonl
#	examples/acp-agent/tests/snapshots/skill-load/session.jsonl
#	examples/acp-agent/tests/snapshots/text-turn/session.jsonl
#	examples/sandbox-acp-agent/tests/snapshots/escalation-approved/session.jsonl
#	examples/sandbox-acp-agent/tests/snapshots/escalation-rejected/session.jsonl
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/src/loop.ts
#	packages/core/tools/README.md
#	packages/core/tools/src/index.ts
#	packages/core/tools/src/schema.ts
#	packages/ui/acp/src/index.ts
#	packages/ui/stdio-agent/README.md
2026-07-14 20:49:54 +08:00
Yichen Jiang
ee111fd978 Merge remote-tracking branch 'origin/master' into codex/project-instruction-files
# Conflicts:
#	AGENTS.md
#	docs/config-catalog.md
#	docs/cordis-catalog/events.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.md
#	docs/event-producer-consumer.md
#	docs/persistence-catalog.md
#	docs/rfc/implemented/architecture/2026-07-05-reconstructable-requests.md
#	docs/rfc/implemented/feature/2026-06-15-code-mode.md
#	docs/rfc/implemented/feature/2026-06-30-hook-bridges.md
#	docs/rfc/implemented/feature/2026-06-30-interception-seams.md
#	docs/rfc/implemented/feature/2026-07-08-repeat-tool-guard.md
#	docs/rfc/proposed/simplification/2026-07-04-prune-dead-core-spine-surface.md
#	examples/AGENTS.md
#	examples/acp-agent/cordis.yml
#	examples/acp-agent/tests/acp.snapshot.ts
#	examples/echo-agent/cordis.yml
#	examples/sandbox-acp-agent/cordis.yml
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/core/agent-core/README.md
#	packages/core/agent-core/src/index.ts
#	packages/core/agent-loop/README.md
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent-loop/tests/interception.spec.ts
#	packages/core/agent/src/types.ts
#	packages/core/tools/README.md
#	packages/core/tools/src/code-mode.ts
#	packages/core/tools/src/index.ts
#	packages/fs/fs-local/src/index.ts
#	packages/fs/fs/README.md
#	packages/fs/fs/src/index.ts
#	packages/guard/repeat-tool-guard/README.md
#	packages/guard/repeat-tool-guard/src/index.ts
#	packages/hooks/hooks-claude/src/index.ts
#	packages/hooks/hooks-codex/src/index.ts
#	packages/ui/acp-agent/src/index.ts
2026-07-14 19:50:25 +08:00
Tianyi Cui
18abf87107 Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals
# Conflicts:
#	docs/rfc/implemented/architecture/2026-07-05-prompt-variables-and-tool-guidance-ownership.md
#	packages/subagent/subagent-subprocess/src/index.ts
#	packages/subagent/tool-subagent/src/index.ts
2026-07-14 19:02:27 +08:00
Tianyi Cui
93dc0f30a9 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
2026-07-14 18:58:29 +08:00
Tianyi Cui
8a5ebb1cde Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue
# Conflicts:
#	docs/config-catalog.md
#	docs/event-producer-consumer.md
#	docs/rfc/implemented/feature/2026-07-06-approval-seam.md
#	packages/ui/acp/README.md
#	packages/ui/acp/src/index.ts
#	packages/ui/jsonrpc/README.md
#	packages/ui/jsonrpc/src/server.ts
2026-07-14 18:55:51 +08:00