Yichen Jiang
e8c550d0e5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
2026-07-31 00:31:42 +08:00
Tianyi Cui
8eb743a93b
Merge remote-tracking branch 'origin/master' into worktree/pr975-retarget-20260730
2026-07-30 23:55:45 +08:00
Yichen Jiang
8c0d626cd5
Merge worktree-llm-dynamic-config (884, with latest master) into worktree-llm-web-config
...
# Conflicts:
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
2026-07-30 23:32:31 +08:00
Tianyi Cui
48b0cb25fd
fix(fs-search): respect platform path separators
...
Group paths using node:path.sep so POSIX backslashes remain filename characters while Windows continues to treat them as separators.
2026-07-30 22:26:33 +08:00
Yichen Jiang
dceff19bd3
fix(jsonrpc-agent): claim the renamed route in the persistent-tools replay catalog
...
The rename to deepseek-official reached cordis.snapshot.yml but not its
persistent-tools sibling, so the replay catalog no longer owned the route the
agent asks for. The SDK server then mounted the real adapter, which failed the
turn on a missing key. Re-records the six transcripts and the two diagnostics
cards that still carried the old route name.
2026-07-30 21:34:46 +08:00
Tianyi Cui
6777e4fab9
fix(fs-search): make glob sampling an explicit choice
2026-07-30 21:14:03 +08:00
Tianyi Cui
21e8af2b3a
Merge remote-tracking branch 'origin/master' into feature/directory-listing-tool
...
# Conflicts:
# packages/fs/tool-fs-search/README.i18n.yaml
# packages/fs/tool-fs-search/README.zh.md
2026-07-30 20:56:27 +08:00
Yichen Jiang
3957ce007a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/cli/package.json
# apps/cli/tests/tui-keyless-smoke.e2e.ts
# apps/web/tests/details-session-lifecycle.e2e.ts
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/message-actions/ui.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/event-producer-consumer.md
# docs/user/guide/config.i18n.yaml
# docs/user/guide/config.md
# docs/user/guide/config.zh.md
# docs/user/guide/index.i18n.yaml
# docs/user/guide/index.md
# docs/user/guide/index.zh.md
# examples/acp-agent/tests/snapshots/subagent-fork/session.1.jsonl
# examples/acp-agent/tests/snapshots/subagent-mixed/session.2.jsonl
# examples/cordis-agent/cordis.yml
# examples/cordis-agent/tests/cordis-tools.e2e.ts
# examples/headless-agent/tests/semantic-checkpoint-snapshots/tool-outcome-unknown/session.expected.jsonl
# examples/headless-agent/tests/subagent-inheritance-snapshots/parent-override/parent.expected.jsonl
# examples/tui-agent/code-mode.cordis.yml
# examples/tui-agent/cordis.yml
# packages/examples/tui-demo/README.md
# packages/examples/tui-demo/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# packages/pty/tool-bash-persistent/README.i18n.yaml
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# pnpm-lock.yaml
# scripts/snapshots/python-sdk-single-exe/advanced/result.json
# scripts/snapshots/python-sdk-single-exe/advanced/session.1.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.2.jsonl
# scripts/snapshots/python-sdk-single-exe/advanced/session.jsonl
2026-07-30 20:15:40 +08:00
Chinesezjc
cc1bba31d8
fix(tool-web): align fetch card truncation, drop view content copies, sync card docs
...
Address the code-review bot findings on the web result card:
- web_fetch's card truncated now derives from the shared renderFetchOutput
helper, matching the effective truncation the model-facing text reflects
(provider cap, source cut, or output cap), instead of the provider-only flag.
- Drop the redundant content copy from both web result views; a UI without the
web capability falls back to the raw tool/result content. Narrow the TUI
transcript view.content access accordingly.
- Set the result-state title from the call args (query/url) so a window-
truncated replay keeps a title.
- Project meta from the seam result types rather than hand-rolled value types.
- Sync the card vocabulary across core tools README, docs/core-data-structures,
the adding-a-tool cookbook, and the tool-web package README (both languages,
re-recorded pairings); regenerate the cordis api-catalog and cordis-inspect
snapshot; revise the Agent Note.
2026-07-30 20:01:41 +08:00
Chinesezjc
6b7987d813
test(snapshot): re-apply web card type surface after master merge
2026-07-30 19:01:27 +08:00
Chinesezjc
122006bcbe
Merge remote-tracking branch 'origin/master' into feat/web-presenter
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
2026-07-30 18:59:46 +08:00
Chinesezjc
e034a173d6
test(snapshot): re-record ACP goldens for the web card tag
...
web_fetch now projects presentationMeta ({url, statusCode, truncated}) onto its
tool/result, so the web-fetch scenario carries that meta; cordis-inspect-jsdoc
shifts with the widened ToolResultView type surface. Model-facing text is
unchanged. Refreshed keyless.
2026-07-30 18:54:51 +08:00
Turtle
3c620a0cb6
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# docs/cordis-catalog/services.md
# packages/host/apiproxy/README.i18n.yaml
2026-07-30 16:53:55 +08:00
Hypatia May
8527137230
refactor(session): rename the seed boundary to end-seed
2026-07-30 15:32:06 +08:00
Yichen Jiang
483199d47a
Merge branch 'worktree-llm-dynamic-config' into worktree-llm-web-config
...
# Conflicts:
# apps/cli/cordis.yml
# apps/web/tests/snapshots/code-mode-round/session.jsonl
# apps/web/tests/snapshots/cordis-tool-round/session.jsonl
# apps/web/tests/snapshots/fresh-round-trip/session.jsonl
# apps/web/tests/snapshots/lifecycle-chrome/session.jsonl
# apps/web/tests/snapshots/live-interactions/session.jsonl
# apps/web/tests/snapshots/navigation-panes/seed.jsonl
# apps/web/tests/snapshots/question-composer/session.jsonl
# apps/web/tests/snapshots/seeded-history/seed.jsonl
# apps/web/tests/snapshots/steering/session.jsonl
# docs/cordis-catalog/events.md
# docs/cordis-catalog/services.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/settings.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/workspace-context/session.jsonl
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/ui-models/README.i18n.yaml
# packages/examples/tui-demo/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# packages/llm/llm/README.zh.md
# packages/sdk/sdk-client/README.i18n.yaml
# packages/settings/settings/README.i18n.yaml
# packages/settings/settings/README.md
# packages/settings/settings/README.zh.md
# packages/subagent/subagent-dsh-sdk/README.i18n.yaml
# packages/subagent/subagent-dsh-sdk/README.zh.md
# packages/support/llm-replay/README.i18n.yaml
# packages/ui/jsonrpc/README.i18n.yaml
# packages/ui/jsonrpc/README.zh.md
# packages/ui/tui/tests/snapshots/model-selector.expected.txt
# packages/ui/tui/tests/snapshots/model-switching.expected.txt
# packages/ui/tui/tests/snapshots/resume-sessions.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics-narrow.expected.txt
# packages/ui/tui/tests/snapshots/status-diagnostics.expected.txt
# packages/ui/tui/tests/tui.snapshot.ts
# pnpm-lock.yaml
# python/sdk/README.i18n.yaml
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-30 15:18:26 +08:00
Turtle
36f6d8fd05
Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
...
# Conflicts:
# packages/ui/tui/README.i18n.yaml
2026-07-30 14:58:10 +08:00
Turtle
a51143bded
fix(cli): close shared config review gaps
2026-07-30 14:56:39 +08:00
Hypatia May
3e57bd3d0b
chore(session): re-record the pairing and catalog fixture after the master merge
2026-07-30 14:21:04 +08:00
Hypatia May
9e6f251a4c
Merge remote-tracking branch 'origin/master' into feat/session-inherited-boundary
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
2026-07-30 14:20:35 +08:00
Tianyi Cui
d37b192aa9
Merge branch 'master' into fix/workspace-instruction-frame-metadata
2026-07-30 12:16:41 +08:00
Tianyi Cui
ecb43469af
Merge branch 'master' into fix/workspace-instruction-frame-metadata
2026-07-30 11:45:00 +08:00
Hypatia May
b341155652
feat(session): project the inherited-history boundary into the log
...
A plugin owning a standalone open/close bracket cannot tell a dead marker
from a live one: an unmatched `compact/start` reads identically whether the
previous writer died mid-compaction or a compaction is running now.
`Session.firstLiveSeq` already holds that answer exactly, but only in memory.
Append the log-only `session/inherited` event at that seq from the seeded
constructor — the single waist all six seeded-start paths pass through
(resume, configured startup on a persisted id, `sessions.fork()`, a subagent
fork child, `adopt()`'s live prefix, and a bare seeded `create`). Read it
through the new `isInheritedSeq(events, seq)`.
The constructor placement means persistence needs no changes: the marker is
already in `events` when a backend captures the creation seed, so it rides
the ordinary seed path with no load-time write. It also covers fork, where
the inherited bracket's owner may still be running — the case a
persistence-layer boundary could not reach.
Activity ordering excludes the boundary through `lastActivityTime()`, since
lazy resume makes browsing a pickup and the three call sites would otherwise
float every opened session to the top of a picker or list.
2026-07-30 11:39:26 +08:00
imccyu
a9813a2801
Merge branch 'master' into codex/web-queue-actions
2026-07-30 11:20:57 +08:00
kingwl
ff570ea04c
test(agent): refresh inbox action snapshot
2026-07-30 04:20:20 +08:00
Tianyi Cui
4c15041fc9
test(hooks): normalize matcher snapshot workdirs
2026-07-30 01:16:37 +08:00
kingwl
77479f5ab0
test(queue): close CI coverage gaps
2026-07-30 00:55:02 +08:00
Tianyi Cui
3d5fe9ffab
Merge branch 'master' into fix/hook-matcher-validation
2026-07-30 00:21:43 +08:00
Tianyi Cui
7f711996ff
Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr828-20260729
...
# Conflicts:
# packages/hooks/README.i18n.yaml
# packages/hooks/README.zh.md
# packages/hooks/hook-protocol/README.i18n.yaml
# packages/hooks/hook-protocol/README.zh.md
# packages/hooks/hooks-claude/README.i18n.yaml
# packages/hooks/hooks-claude/README.zh.md
# packages/hooks/hooks-codex/README.i18n.yaml
# packages/hooks/hooks-codex/README.zh.md
2026-07-29 21:34:29 +08:00
Tianyi Cui
44fe621f3f
Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr831-20260729
...
# Conflicts:
# packages/context/workspace-context/README.i18n.yaml
# packages/context/workspace-context/README.zh.md
2026-07-29 21:25:44 +08:00
Tianyi Cui
5c0c59847b
Merge remote-tracking branch 'origin/master' into worktree/pr823-retarget-latest-20260729
...
# Conflicts:
# packages/client/ui-skill/README.i18n.yaml
# packages/client/ui-skill/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/skill/skill-local/README.i18n.yaml
# packages/skill/skill-local/README.zh.md
# packages/skill/skill/README.i18n.yaml
# packages/skill/skill/README.zh.md
# packages/skill/tool-skill/README.i18n.yaml
2026-07-29 21:05:09 +08:00
Yichen Jiang
fee12f1af0
refactor(llm-deepseek)!: rename the provider route to deepseek-official
...
The native adapter's route was named deepseek, colliding with pi-ai's
catalog provider of the same name, so the two DeepSeek paths could never
be mounted side by side. The web settings page needs both configurable at
once. Compositions, fixtures, goldens, scaffolding defaults, and docs all
move together (pre-release, no shim); TUI/session-query-spill/
missing-credential goldens re-recorded through their keyless refresh
modes because provider-name length shifts box padding and spill
truncation points.
2026-07-29 16:36:07 +08:00
j-xiang
c44d2cc2b4
docs(i18n): fix proofreading review findings
2026-07-29 15:37:42 +08:00
j-xiang
599e6edc87
docs(i18n): record proofread README pairs
2026-07-29 15:30:44 +08:00
j-xiang
333b4bcd30
docs(i18n): proofread README translations 1-20
2026-07-29 15:29:24 +08:00
Tianyi Cui
07d61ee992
Merge latest master into skill invocation controls
...
# Conflicts:
# docs/config-catalog.md
# docs/cordis-catalog/services.md
# examples/acp-agent/tests/snapshots/skill-load/session.jsonl
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api-proxy.ts
# packages/skill/tool-skill/src/index.ts
# packages/ui/tui/README.i18n.yaml
2026-07-29 01:29:39 +08:00
ZiyaZhang
55321fe7a4
fix(hooks): ignore matcherless event fields
2026-07-28 09:55:18 -07:00
ZiyaZhang
688d298e7e
Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata
2026-07-28 09:53:30 -07:00
ZiyaZhang
cddf340df8
Merge remote-tracking branch 'origin/master' into fix/hook-matcher-validation
2026-07-28 09:49:40 -07:00
ZiyaZhang
15edb38a34
Merge remote-tracking branch 'upstream/master' into fix/workspace-instruction-frame-metadata
...
# Conflicts:
# packages/support/acp-snapshot/README.i18n.yaml
# packages/support/acp-snapshot/README.md
# packages/support/acp-snapshot/README.zh.md
2026-07-28 08:59:32 -07:00
ZiyaZhang
61a388b54e
test(hooks): align matcher fixtures with message identity
2026-07-28 08:59:28 -07:00
Tianyi Cui
c3d9f132e8
test(snapshot): canonicalize generated cwd tokens
2026-07-28 23:46:01 +08:00
ZiyaZhang
0626b6656c
Merge remote-tracking branch 'origin/master' into fix/hook-matcher-validation
2026-07-28 08:15:28 -07:00
Tianyi Cui
84d0d92cfb
test(snapshot): normalize temporary workspace paths
2026-07-28 21:32:49 +08:00
Tianyi Cui
0304ba1457
Merge branch 'master' into worktree/dedupe-snapshot-contracts
2026-07-28 21:08:38 +08:00
ZiyaZhang
f688cd32af
fix(workspace-context): escape instruction metadata
2026-07-28 05:22:47 -07:00
_Kerman
bc988ca4a9
Merge remote-tracking branch 'origin/master' into xtr/identified-immutable-messages
...
# Conflicts:
# docs/cordis-catalog/events.md
# docs/core-data-structures/core.i18n.yaml
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent/README.i18n.yaml
2026-07-28 18:49:23 +08:00
Yichen Jiang
fd01fef6b7
test(sdk): satisfy max tokens gates
2026-07-28 18:06:58 +08:00
ZiyaZhang
5e4c2ffae7
test(hooks): snapshot invalid matcher loading
2026-07-28 02:58:08 -07:00
Tianyi Cui
9c78a7df33
test(snapshot): share identical header sidecars
2026-07-28 17:26:03 +08:00
Yichen Jiang
3764778be3
Merge remote-tracking branch 'origin/master' into worktree/skill-invocation-controls
2026-07-28 17:22:56 +08:00