Commit Graph

6049 Commits

Author SHA1 Message Date
Tianyi Cui
176973cb7b docs(session-persistence): clarify SQLite permission limits 2026-07-19 11:51:22 +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
39c1c3df4f Merge remote-tracking branch 'origin/master' into codex/pr335-merge-master-20260719
# Conflicts:
#	packages/support/acp-snapshot/README.md
#	packages/support/acp-snapshot/src/harness.ts
#	packages/support/acp-snapshot/src/suite.ts
#	packages/support/acp-snapshot/tests/harness.spec.ts
#	packages/support/acp-snapshot/tests/suite.spec.ts
2026-07-19 11:41:10 +08:00
Tianyi Cui
85fc58943e docs(session-persistence): tighten SQLite permission prose 2026-07-19 11:37:41 +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
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
e8ea0c3b7e test(tui): make cwd coverage location-independent
formatCwd has distinct branches for the home directory itself, a descendant of home, an unset cwd, and a path outside home. The descendant branch was exercised only indirectly because the test harness defaulted to process.cwd(), so the per-file coverage gate changed with the checkout location and failed in detached worktrees under /private/tmp even though every behavior assertion passed.

Derive the home-root case from homedir() and add an explicit synthetic child with platform-aware path joins. Keep the unset and outside-home cases unchanged. The suite now drives every formatting branch regardless of where the repository is checked out, and the expected child form follows the host path separator on macOS, Linux, and Windows.
2026-07-19 10:51:20 +08:00
Tianyi Cui
b5e8e4e9c1 fix(tui): neutralize terminal controls at display boundary
Model responses, replayed session data, tool presenter output, question metadata, configuration, and diagnostics all cross into ANSI-aware pi-tui renderers. Passing their C0 or C1 controls through unchanged lets an otherwise ordinary transcript emit OSC, CSI, cursor, or title operations in the user terminal.

Introduce one displayText boundary that preserves line-feed layout but renders every other C0/C1 control as visible \\xNN text before application styling is applied. Route transcript blocks, streaming output, tool cards, diffs, plans, dialogs, headers, cwd/title data, notices, errors, and pre-mount startup failures through that boundary while leaving pi-tui and the theme responsible for legitimate terminal control sequences.

Pin the contract at three levels: a settled headless-terminal golden spans the main untrusted display sources, unit coverage checks the pre-fullscreen failure path, and the real Loader/PTY conversation streams hostile OSC, cursor, and C1 probes and proves only their inert textual forms reach the terminal stream.
2026-07-19 10:50:19 +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
969f58ee5d Merge branch 'codex/simp-ui-identity-residue' into codex/simp-name-front-door-defaults 2026-07-19 03:04:20 +08:00
Tianyi Cui
438e67225f Merge branch 'codex/simp-hide-concrete-agent-loop' into codex/simp-hide-subagent-internals 2026-07-19 03:04:20 +08:00
Tianyi Cui
c1f7b8bd0f Merge branch 'codex/simp-ui-identity-residue' into codex/simp-hide-concrete-agent-loop 2026-07-19 03:04:20 +08:00
Tianyi Cui
896ac6219b Merge branch 'codex/simp-unify-agent-session-id' into codex/simp-ui-identity-residue 2026-07-19 03:04:19 +08:00
Tianyi Cui
5767a8d467 Merge branch 'codex/simp-agent-entry-state' into codex/simp-unify-agent-session-id 2026-07-19 03:04:19 +08:00
Tianyi Cui
1e4de0deaa fix(sdk): pin generated project build tool 2026-07-19 03:02:42 +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
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
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
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
8209532bb4 Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 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
900fbc1ad9 Merge remote-tracking branch 'origin/master' into codex/simp-drop-unused-schema-default 2026-07-19 02:28:15 +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
a45f0d73f3 Merge branch 'codex/simp-compaction-surface' into codex/simp-agent-entry-state 2026-07-19 01:47:42 +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
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
8e366c3071 test(tui): snapshot semantic terminal state 2026-07-18 22:31:04 +08:00
imccyu
7a5d3ae5ce fix(telemetry): stop bearer redaction from eating plain prose
The bearer rule matched any 8+ run of letters after the word, so
package.json prose like "uses bearer authentication" lost its
following word to the placeholder. Real bearer credentials always
carry a digit; require one in the candidate token.
2026-07-18 22:10:22 +08:00
imccyu
e674f4c20e fix(telemetry): withhold package.json when cordis.yml is absent
buildTelemetryPayload read the two reported files independently, so a
dsh-sdk command mistakenly run in an arbitrary non-SDK directory (no
cordis.yml, e.g. any unrelated repo) still uploaded that directory's
package.json — dependency names and metadata of a project that never
opted into the SDK toolchain. Gate the manifest on cordis.yml presence:
without the config the directory is not an SDK project and its manifest
is not ours to report. Consent semantics are unchanged.
2026-07-18 22:10:22 +08:00
imccyu
013db6e8f0 fix(create-sdk): keep --json stdout pure NDJSON
The SKILL.md contract says every stdout line is one JSON event, but
createProject wrote the Created/Next-steps templates to stdout and the
default install/build path inherited the launcher's stdio, so package-
manager child output interleaved with the event stream. Under --json,
route human progress to stderr and run install/build through a
NodeCommandRunner that redirects child stdout+stderr to stderr.
2026-07-18 22:10:22 +08:00
imccyu
78f21bf703 fix(sdk): list create <source> and headless flags in usage help
dsh-sdk's usage template predates the create command and create-sdk's
predates --config/--config-json/--json, so --help hid both surfaces the
README already documents. Pin each with a help-output assertion.
2026-07-18 22:10:22 +08:00