Commit Graph

1446 Commits

Author SHA1 Message Date
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
e3f26237a4 Merge remote-tracking branch 'origin/master' into feat/tui-package 2026-07-19 02:21:11 +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
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
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
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
78f68dbbb9 docs(agent-loop): track scheduler drain follow-up 2026-07-18 20:35:58 +08:00
Tianyi Cui
3b52d216f3 Merge branch 'master' into parallel-tool-call 2026-07-18 20:18:24 +08:00
Tianyi Cui
2b4641799e docs: expand session persistence event catalog 2026-07-18 15:11:51 +08:00
Tianyi Cui
50f0291b93 Merge latest origin/master into parallel-tool-call
# Conflicts:
#	docs/architecture.md
#	examples/acp-agent/tests/snapshots/bash-spill/session.jsonl
#	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
#	packages/core/agent-loop/src/loop.ts
2026-07-18 15:09:39 +08:00
Tianyi Cui
21ec178841 docs: tighten parallel tool-call prose 2026-07-18 14:59:26 +08:00
Tianyi Cui
90cbe2573b Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract 2026-07-18 14:52:54 +08:00
Tianyi Cui
a9734b9868 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher 2026-07-18 14:48:20 +08:00
Tianyi Cui
cde31a18a7 Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory 2026-07-18 14:48:14 +08:00
Tianyi Cui
4694582170 Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract 2026-07-18 14:28:54 +08:00
Tianyi Cui
e846a115f2 test(acp-snapshot): cover pre-spawn launch failure 2026-07-18 13:51:44 +08:00
Tianyi Cui
9e1975b080 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
# Conflicts:
#	examples/acp-agent/tests/acp.e2e.ts
#	examples/acp-agent/tests/escalation.e2e.ts
#	examples/acp-agent/tests/hooks.e2e.ts
#	packages/support/acp-snapshot/src/harness.ts
2026-07-18 13:47:53 +08:00
Tianyi Cui
93a4bebbb5 Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory 2026-07-18 13:43:12 +08:00
Tianyi Cui
aacedf2700 Merge current master into debug-pangwenjie
# Conflicts:
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.md
#	docs/core-data-structures/tools.md
#	docs/event-producer-consumer.md
#	docs/rfc/implemented/feature/2026-06-30-interception-seams.md
#	docs/tool-execution-pipeline.md
#	packages/core/agent-loop/src/agent.ts
#	packages/core/agent-loop/src/loop.ts
#	packages/core/agent-loop/tests/loop.spec.ts
#	packages/core/agent/README.md
#	packages/core/tools/src/index.ts
#	scripts/gen-doc-graphs.ts
2026-07-18 13:39:12 +08:00
imccyu
6bc8ab5c57 fix: verify-package-paths 2026-07-18 12:39:20 +08:00
imccyu
de19c6ca08 fix(examples): run coverage subprocesses from built libs 2026-07-18 12:19:48 +08:00
Tianyi Cui
df2432cae2 Merge branch 'codex/simp-snapshot-fixture-inventory' into codex/simp-shared-acp-test-launcher
# Conflicts:
#	examples/acp-agent/tests/escalation.e2e.ts
#	packages/support/README.md
#	packages/support/acp-snapshot/README.md
#	packages/support/acp-snapshot/src/harness.ts
#	packages/support/acp-snapshot/tests/harness.spec.ts
2026-07-18 11:58:15 +08:00
Tianyi Cui
be62ee14ba Merge remote-tracking branch 'origin/master' into codex/simp-prune-llm-contract
# Conflicts:
#	docs/cordis-catalog/services.md
#	packages/llm/llm-pi-ai/README.md
#	packages/support/llm-replay/tests/llm-replay.spec.ts
2026-07-18 11:55:12 +08:00
Tianyi Cui
7a9e4a3203 Merge remote-tracking branch 'origin/master' into codex/simp-snapshot-fixture-inventory 2026-07-18 11:51:58 +08:00
imccyu
5ed531acba ci(examples): run examples / testing from built lib/js 2026-07-17 23:07:51 +08:00
Tianyi Cui
06ea8643ff Merge newest origin/master into token-meter-service 2026-07-17 22:49:54 +08:00
Tianyi Cui
f943bc8d4c Merge latest origin/master into token-meter-service 2026-07-17 22:38:46 +08:00
Tianyi Cui
7a2d5cd28d Merge master into codex/simp-session-log-representation 2026-07-17 22:33:42 +08:00
Tianyi Cui
3e07f9b270 Merge latest origin/master into parallel-tool-call 2026-07-17 22:28:38 +08:00
Tianyi Cui
1c6a36e4a3 Merge origin/master into token-meter-service 2026-07-17 22:22:55 +08:00
Tianyi Cui
b79e7a5e30 Merge master into codex/simp-session-log-representation 2026-07-17 22:20:06 +08:00
Tianyi Cui
911600d92e Merge remote-tracking branch 'origin/master' into codex/pr265-merge-master-20260717 2026-07-17 22:15:28 +08:00
Tianyi Cui
688b95a7e5 Merge origin/master into parallel-tool-call 2026-07-17 22:13:33 +08:00
Tianyi Cui
847a1a1a5a Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters
# Conflicts:
#	docs/cordis-catalog/services.md
#	docs/event-producer-consumer.md
#	packages/core/session/README.md
#	packages/core/session/tests/tool-pairing.spec.ts
#	website/zh-CN/api/harness/sessions.md
2026-07-17 22:07:37 +08:00
Tianyi Cui
35e45af081 Merge remote-tracking branch 'origin/master' into worktree/provider-routed-llm-adapters 2026-07-17 21:56:43 +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
Tianyi Cui
487f120604 Merge latest master into codex/simp-session-log-representation 2026-07-17 21:55:29 +08:00
Tianyi Cui
62f6251bf9 fix(agent-loop): reclassify pending tool calls 2026-07-17 21:55:10 +08:00
Tianyi Cui
ce393ccb93 Merge master into codex/simp-session-log-representation 2026-07-17 21:51:36 +08:00
Tianyi Cui
a770c8b093 Merge origin/master into compact-tool-pairing 2026-07-17 21:44:30 +08:00
Tianyi Cui
ecd84f7eb9 Merge origin/master into compact-tool-pairing 2026-07-17 21:36:06 +08:00
Tianyi Cui
a385b3e465 Merge remote-tracking branch 'origin/master' into codex/pr358-merge-master-20260717
# Conflicts:
#	docs/event-producer-consumer.md
#	packages/session-persistence/session-persistence/README.md
2026-07-17 21:35:43 +08:00
Tianyi Cui
e9a1f63ebd Merge latest master into worktree-fast-gates 2026-07-17 20:39:05 +08:00