Tianyi Cui
2faeabb05a
refactor(examples): rename coding-agent leaf to repl-agent
...
Name the runnable leaf for the line-oriented front door it owns, matching the existing tui-agent and acp-agent organization. Move the complete config, Code Mode overlay, tests, metadata, and generated composition graph together, then update every loader path and repository reference.
Keep the shared model identity independent of its terminal front door by phrasing the persona as a coding-agent role rather than retaining the retired leaf name. Regenerate graph and tool catalogs and re-record each affected bilingual pair so derived documentation cannot point at the removed path.
2026-07-19 13:13:14 +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
536cb6f985
Merge latest origin/master into worktree/agent-execution-context-rfc
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/examples/README.md
2026-07-19 13:04:29 +08:00
Tianyi Cui
cfe9b9617d
Merge remote-tracking branch 'origin/master' into worktree/agent-execution-context-rfc
...
# Conflicts:
# docs/architecture.md
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# docs/module-graph.md
# examples/coding-agent/tests/code-mode.e2e.ts
# packages/context/workspace-context/tests/workspace-context.spec.ts
# packages/core/README.md
# packages/core/agent-loop/README.md
# packages/core/agent-loop/tests/agent.spec.ts
# packages/core/agent-loop/tests/cancel.spec.ts
# packages/core/agent-loop/tests/config-session-id.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/agent-loop/tests/request-cache.e2e.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/core/agent-loop/tests/scope-lifecycle.spec.ts
# packages/core/agent-loop/tests/tool-calls.spec.ts
# packages/core/agent-loop/tests/tool-order.spec.ts
# packages/core/agent-loop/tests/turn-stop.spec.ts
# packages/workflow/workflow-workerthread/tests/workflow-workerthread.e2e.ts
# website/zh-CN/api/harness/agent-loop.md
2026-07-19 11:44: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
3760f198f3
docs: distinguish readline and TUI demos
2026-07-19 02:16:43 +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
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
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
Tianyi Cui
21ec178841
docs: tighten parallel tool-call prose
2026-07-18 14:59:26 +08:00
Tianyi Cui
d4b4a1537d
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults
2026-07-18 12:55:24 +08:00
Tianyi Cui
9a25e44fbb
test(agent-spine-demo): wait for exact agent identity
2026-07-18 12:54:45 +08:00
Tianyi Cui
03e39f7f1c
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults
...
# Conflicts:
# docs/config-catalog.md
# packages/examples/acp-demo/src/index.ts
# packages/examples/stdio-demo/src/index.ts
2026-07-18 12:42:33 +08:00
Tianyi Cui
59dc310bb5
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/architecture.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/module-graph.md
# examples/coding-agent/tests/code-mode.e2e.ts
# examples/coding-agent/tests/coding-task.e2e.ts
# examples/coding-agent/tests/compaction.e2e.ts
# examples/coding-agent/tests/full-loop.e2e.ts
# examples/coding-agent/tests/todo-write.e2e.ts
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# packages/bash/tool-bash/tests/integration.spec.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/compact/compact-basic/tests/compact-loop-repro.spec.ts
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/cordis/tool-cordis/tests/integration.spec.ts
# 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/cancel.spec.ts
# packages/core/agent-loop/tests/config-session-id.spec.ts
# packages/core/agent-loop/tests/contract-regressions.spec.ts
# packages/core/agent-loop/tests/coverage-edges.spec.ts
# packages/core/agent-loop/tests/interception.spec.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent-loop/tests/properties.spec.ts
# packages/core/agent-loop/tests/request-cache.e2e.ts
# packages/core/agent-loop/tests/request-reconstruction.spec.ts
# packages/core/agent-loop/tests/resume.spec.ts
# packages/core/agent-loop/tests/scope-lifecycle.spec.ts
# packages/core/agent-loop/tests/tool-order.spec.ts
# packages/core/agent-loop/tests/turn-stop.spec.ts
# packages/core/agent/src/types.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/fs/tool-fs/tests/fs-tools.e2e.ts
# packages/guard/repeat-tool-guard/tests/repeat-tool-guard.spec.ts
# packages/hooks/hooks-claude/tests/bridge.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/bridge.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/subagent/subagent-fork/tests/multi-subagent.spec.ts
# packages/subagent/subagent-fork/tests/subagent-fork.spec.ts
# packages/subagent/subagent-inprocess/tests/structured.spec.ts
# packages/subagent/subagent-inprocess/tests/subagent-inprocess.spec.ts
# packages/subagent/subagent-spawn/tests/spawn.e2e.ts
# packages/subagent/subagent-spawn/tests/subagent-spawn.spec.ts
# packages/todo/tool-todo/tests/integration.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/workflow/workflow-workerthread/tests/integration.spec.ts
2026-07-18 12:21:15 +08:00
Yichen Jiang
be3d2076b8
Merge origin/master into worktree/agent-execution-context-rfc
2026-07-17 23:25:01 +08:00
Tianyi Cui
3e07f9b270
Merge latest origin/master into parallel-tool-call
2026-07-17 22:28:38 +08:00
Tianyi Cui
688b95a7e5
Merge origin/master into parallel-tool-call
2026-07-17 22:13:33 +08:00
Tianyi Cui
53680ee6bc
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/core/session/README.md
# packages/core/session/src/types.ts
# packages/core/session/tests/surface.spec.ts
# packages/examples/acp-demo/tests/acp-agent.spec.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
# packages/hooks/hooks-claude/tests/coverage.spec.ts
# packages/hooks/hooks-codex/tests/coverage.spec.ts
# packages/session-query/session-query/tests/session-query.spec.ts
# packages/support/invariants/tests/invariants.spec.ts
# packages/ui/acp/tests/harness.ts
2026-07-17 21:56:10 +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
Dudu-0223
a3f62478e1
Merge origin/master into codex/truncated-design
2026-07-17 18:21:54 +08:00
Yichen Jiang
a38ff125a7
feat(dsbench): add SDK evaluation composition
2026-07-17 17:29:38 +08:00
Turtle
12b7ac67ba
fix(ui): surface declarative startup failures
2026-07-17 16:44:25 +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
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
Yichen Jiang
97190c81ba
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/escalation-approved/session.jsonl
# examples/acp-agent/tests/snapshots/escalation-rejected/session.jsonl
# examples/acp-agent/tests/snapshots/hook-cc-pretool-ask/session.jsonl
2026-07-16 16:39:13 +08:00
Yichen Jiang
7bcae0cd64
feat(core): add agent execution context
2026-07-16 16:29:46 +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
Dudu-0223
17fe9e5b1e
fix(agent-loop): tighten parallel tool-call safety
2026-07-16 15:52:35 +08:00
Dudu-0223
3bed1a644f
Merge origin/master into parallel-tool-call
2026-07-16 14:56:02 +08:00
Tianyi Cui
735e10b64f
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults
2026-07-15 23:57:57 +08:00
Tianyi Cui
6143537d4e
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/bash.md
# docs/core-data-structures/core.md
# docs/event-producer-consumer.md
# docs/module-graph.md
# packages/bash/bash/src/types.ts
# packages/bash/tool-bash/README.md
# packages/bash/tool-bash/src/index.ts
# packages/bash/tool-bash/tests/tools.spec.ts
# packages/examples/agent-spine-demo/README.md
# packages/examples/agent-spine-demo/tests/agent-core.spec.ts
# packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
# packages/util/brand/README.md
# packages/util/brand/src/index.ts
2026-07-15 23:29:47 +08:00
Tianyi Cui
fb7fa980b8
test(examples): include task controls in CLI composition
2026-07-15 22:58:44 +08:00
Tianyi Cui
cc7642ab66
Merge remote-tracking branch 'origin/master' into codex/cli-one-shot-demo
...
# Conflicts:
# examples/coding-agent/README.md
2026-07-15 22:56:10 +08:00
Tianyi Cui
6c846531e7
Merge current master into PR #106
2026-07-15 22:44:47 +08:00
Tianyi Cui
5e3da065db
test(examples): snapshot headless one-shot stream
2026-07-15 22:43:03 +08:00
kingwl
f408d420da
Merge remote-tracking branch 'origin/master' into jsonl-packed-chunk-rows
...
# Conflicts:
# docs/event-producer-consumer.md
2026-07-15 22:14:42 +08:00
Yichen Jiang
1094748bec
Merge branch 'master' into codex/agent-session-jsonl-location
2026-07-15 22:04:58 +08:00
Tianyi Cui
b06ae91fa8
fix(tasks): address task API review feedback
...
The public kill result used the awkward phrase already-terminal. Rename it to already-finished and keep the model-facing response aligned; not-alive would be inaccurate because a force-failed registry record can still correspond to orphaned producer work.
Task kinds were open strings even though producer namespaces are an extension point. Add the merge-extensible TaskKindMap and derived TaskKind, cover consumer declarations in task and bundle tests, and retain the runtime non-empty check for untyped callers.
With exactOptionalPropertyTypes, owner?: Agent | undefined allowed an explicit undefined value that no caller needs. Tighten the property to owner?: Agent so unowned work is expressed by omitting it.
Record the requested task-service/backend split as a follow-up, using a systemd-backed runtime as a concrete candidate without guessing its durability and ownership contract in this PR. Regenerate the type and Cordis catalogs so public docs match the declarations.
2026-07-15 21:45:30 +08:00
Tianyi Cui
7278fc21d8
fix(session-persistence): handle Windows directory fsync
2026-07-15 21:36:42 +08:00
Tianyi Cui
f4bd2405cc
Merge current master into PR #219
...
Refresh the background-task branch onto the latest repository baseline before applying review feedback. This preserves merge ancestry, incorporates the current CI and package-structure changes, and ensures the review fixes are validated against the code that will actually receive the PR.
2026-07-15 21:30:21 +08:00
kingwl
7ef21239ca
feat(session): opt-in packed chunk rows in the JSONL log
...
Providers stream token-sized deltas, so a session log stores hundreds of
near-identical assistant/chunk lines whose JSON envelopes dwarf their
payloads (~56x measured on a real DeepSeek session, 73% of file bytes).
Add a lossless storage codec to dsh-session: packChunkRuns() folds each
run of >=3 consecutive same-block delta chunks into one storage row --
text-chunks / reasoning-chunks / tool-call-chunks, bare slash-less tags
like the header line's 'session' so rows cannot be confused with session
events -- and decodeStorageRecord() expands rows back to the exact
original events (seq0/time0 + dt gap array reconstruct every member's
seq/time; tool-call rows carry the run-constant id/name). The encoder
whitelists exact shapes and stores anything unrecognized verbatim; the
decoder validates row-tagged values and fails loud on malformation.
The JSONL backend gains a packChunks config (default false). Writing
packs only when enabled -- default-off output stays byte-identical to
the previous layout, so snapshot goldens are untouched. Reading is
layout-blind: scanLog always decodes rows and now checks seq contiguity
with a cursor instead of the line index, so packed, unpacked, and mixed
files all load identically. Fixture readers (llm-replay parseSessionLog,
acp-snapshot normalizeSessionLog) share the codec; the normalizer zeroes
a row's time0/dt exactly like an event's time. The two demo bundles
plumb packChunks from cordis.yml to the backend.
Measured on a real coding session: 105 KB -> 42 KB (-60%), 475 lines ->
74, with reasoning/tool-call heavy sessions saving the most. Covered by
example + fast-check round-trip codec tests, backend packed/mixed/torn-
tail specs, and an end-to-end demo run loading a packed log through a
default-config backend.
2026-07-15 21:26:36 +08:00
Tianyi Cui
b78cdbcd51
feat(examples): add one-shot CLI demo
2026-07-15 21:21:24 +08:00
Tianyi Cui
78614b670d
Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults
2026-07-15 20:50:56 +08:00
Tianyi Cui
273dfca1a5
Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id
2026-07-15 20:50:50 +08:00
Yichen Jiang
72903c9465
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
2026-07-15 20:18:20 +08:00
Yichen Jiang
f47a87fcf5
Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
...
# Conflicts:
# docs/config-catalog.md
# packages/examples/acp-demo/tests/acp-agent.spec.ts
# packages/examples/stdio-demo/README.md
# packages/examples/stdio-demo/src/index.ts
# packages/examples/stdio-demo/tests/stdio-agent.spec.ts
2026-07-15 20:14:09 +08:00
Tianyi Cui
732735b27f
docs: align default fallback test comments
2026-07-15 19:52:09 +08:00
Tianyi Cui
54fb96ef04
refactor: name front door defaults
2026-07-15 19:52:09 +08:00