Yichen Jiang
c981f18921
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/README.md
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/service.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/EmptyState.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/src/client/stores.ts
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/package.json
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/sessions.schema.ts
# packages/host/runtime/package.json
# packages/host/runtime/src/boot.ts
# packages/host/runtime/tests/host-runtime.spec.ts
# packages/host/runtime/tsconfig.json
# packages/host/webserver/README.md
# packages/host/webserver/src/index.ts
# packages/host/webserver/tests/webserver.spec.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/ui/acp/src/codec.ts
# packages/ui/acp/tests/codec.spec.ts
# pnpm-lock.yaml
2026-07-25 22:35:22 +08:00
Turtle
2e84a1a194
Merge remote-tracking branch 'origin/master' into codex/trim-redundant-comments
...
# Conflicts:
# docs/config-catalog.md
# examples/acp-agent/tests/acp.e2e.ts
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/config-options.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/properties.spec.ts
2026-07-25 13:36:21 +08:00
Turtle
fac6c35e9a
Trim redundant source comments
2026-07-25 13:02:37 +08:00
Tianyi Cui
2beaa18f42
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# packages/support/acp-snapshot/README.md
2026-07-25 02:07:28 +08:00
Tianyi Cui
f9a638b8a6
Stabilize master CI across platforms
2026-07-25 00:10:37 +08:00
Tianyi Cui
440384fdb4
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-14-session-persistence.md
# .agents/notes/implemented/architecture/2026-06-20-package-hierarchy.md
# .agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md
# .agents/notes/implemented/feature/2026-06-14-acp-agent-client-protocol.md
# .agents/notes/implemented/feature/2026-06-14-acp-multi-session.md
# .agents/notes/implemented/feature/2026-06-18-acp-terminal-and-tool-rendering.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.i18n.yaml
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.md
# .agents/notes/implemented/feature/2026-07-19-model-facing-goal-tools.zh.md
# .agents/notes/implemented/simplification/2026-07-04-trim-acp-bridge-unreachable-surface.md
# docs/architecture.i18n.yaml
# docs/cookbook/extension-cookbook.i18n.yaml
# docs/cookbook/extension-cookbook.md
# docs/cookbook/extension-cookbook.zh.md
# docs/core-data-structures/approval.md
# docs/core-data-structures/user-interaction.md
# docs/event-producer-consumer.md
# docs/persistence-catalog.md
# docs/testing.md
# docs/tool-catalog.md
# examples/acp-agent/tests/fixtures/live-mode-switching-2026-07-07.session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# examples/acp-agent/tests/snapshots/permission-switching/session.jsonl
# packages/goal/tool-goal/README.md
# packages/ui/acp/README.md
# packages/ui/acp/acp-feature-support.md
# packages/ui/acp/src/index.ts
# packages/ui/acp/tests/bridge.spec.ts
# packages/ui/acp/tests/dispose.spec.ts
# packages/ui/acp/tests/edges.spec.ts
# packages/ui/acp/tests/turns.spec.ts
2026-07-24 23:43:10 +08:00
Tianyi Cui
5569f3f8ac
docs: repair rewritten rationale and stale claims from the ACP reduction
...
The automation-only rewrite edited many implemented Agent Notes; several
edits replaced still-live or historical rationale instead of reframing:
- llm-model-catalog: restore the prompt/request consistency section and
selection-ownership alternatives — installAgentLlmTarget and the TUI
/model selector still ship that design; only the ACP wire is gone.
- plan-specific-collaboration-state, acp-multi-session, todo-write,
ask-user-question: link the superseding automation-only note instead
of silently rewriting the original decision or motivation; drop a
paragraph duplicating the Web-provider facts stated two paragraphs up.
- sandbox: stop claiming unit coverage for turn-enclosed config writes
(that mechanism left with the bridge) and retitle the commit-boundary
paragraph accordingly.
- Fix the missing blank line before '## Consequences' in the
plugin-command-registration pair, the JSON-RPC/Web render-intent
consumer misattribution (the second consumer is the host/client
runtime), stale bash_output/bash_kill names, and 'optional goals' in
architecture.md.
- examples/acp-agent/README.md: point at the package contract instead
of restating it; packages/ui/permission and plan-mode READMEs record
the consumer-less preset service and the exit_plan_mode coverage gap
under Known Limitations.
- 2026-06-19-acp-snapshot-tests: the new note defers the corpus
migration rather than committing to it; say so.
Re-record the touched bilingual pairs.
2026-07-24 22:12:23 +08:00
creatixchu
eb3faa2b2c
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-24 21:36:06 +08:00
creatixchu
d2ad02697e
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-24 20:01:36 +08:00
Tianyi Cui
51f697db50
test(tui): wait for scoped file completion
...
The fake terminal retains earlier autocomplete frames, so the directory follow-up assertion could pass before the scoped lookup completed. Wait for the quoted file mention to be applied before submitting.
2026-07-24 19:38:31 +08:00
Turtle
d2b2539f3e
Merge remote-tracking branch 'origin/feat/send-unify' into feat/send-unify
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
2026-07-24 16:58:32 +08:00
Turtle
4be3301952
fix: migrate merged-in context/message references to user/message
...
The master merge introduced a tui goal-restore test and the guard parent
README that still used the removed context/message event. Point both at
the coalesced plugin-sourced user/message.
2026-07-24 16:56:36 +08:00
Turtle
80bbe959a7
Merge remote-tracking branch 'origin/master' into feat/send-unify
2026-07-24 16:52:46 +08:00
Turtle
bb124c2869
Merge branch 'master' into feat/send-unify
2026-07-24 16:31:00 +08:00
Tianyi Cui
a88364ab66
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
2026-07-24 16:30:03 +08:00
ZiyaZhang
12dbc00166
fix(tui): harden resume picker input
2026-07-24 01:29:35 -07:00
ZiyaZhang
33ee34b58e
fix(tui): make resume picker full-screen
2026-07-24 01:29:35 -07:00
Turtle
d3b00bbdff
test(tui): await fresh model selector frames
2026-07-24 01:29:35 -07:00
Turtle
c440217fde
refactor(tui): defer cross-process resume locking
2026-07-24 01:29:35 -07:00
NI0317
54d986ed87
fix(tui): close resume handoff races
2026-07-24 01:29:35 -07:00
NI0317
2ae9f4fdf3
feat(tui): add safe session resume flow
2026-07-24 01:29:35 -07:00
Yichen Jiang
6b7984a85e
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/host/runtime/src/api-proxy.ts
# packages/host/runtime/src/boot.ts
# packages/host/webserver/tests/webserver.spec.ts
# pnpm-lock.yaml
2026-07-24 16:29:03 +08:00
Turtle
be29b012f1
fix(jsonrpc): update agent followup test doubles
2026-07-24 15:39:04 +08:00
Turtle
b02b438667
refactor(agent): align delivery method names
2026-07-24 15:08:36 +08:00
Tianyi Cui
d6d50deb24
refactor(agent): expose resolved input acceptance
2026-07-24 13:52:25 +08:00
Chinesezjc
3510ef6b44
Merge remote-tracking branch 'origin/master' into fix/tui-cwd-first-frame-race
2026-07-24 12:47:01 +08:00
Tianyi Cui
086e454931
refactor(agent): name delivery methods by intent
2026-07-24 12:27:20 +08:00
Tianyi Cui
d07875947b
Merge remote-tracking branch 'origin/master' into worktree/acp-automation-protocol
...
# Conflicts:
# packages/examples/acp-demo/README.md
2026-07-24 11:50:56 +08:00
Tianyi Cui
e819a586b0
refactor(acp): reduce bridge to automation protocol
2026-07-24 01:40:25 +08:00
Turtle
7b7f793ee5
test: fix CI coverage + e2e for user/message coalescing
...
- tui.spec: exercise a goal-sourced injected context card (labels by
source kind, not plugin name), closing the last uncovered branch in
tui/src/index.ts that the CI coverage gate caught.
- time-context.e2e / goal.e2e: filter injected context by source now
that it is a user/message (plugin/goal source), and count goal
continuation rounds by round>0 rather than event type.
2026-07-23 22:57:39 +08:00
Turtle
d5f88f1221
Merge remote-tracking branch 'origin/master' into feat/send-unify
...
# Conflicts:
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/pty/pty-local/tests/index.spec.ts
# packages/session-query/session-query/tests/tracing.spec.ts
2026-07-23 22:41:45 +08:00
Tianyi Cui
c688aa486c
Merge remote-tracking branch 'origin/master' into worktree/remove-expose-internals
2026-07-23 22:08:44 +08:00
Hypatia May
00191e75dd
Merge remote-tracking branch 'origin/master' into session-query-search
2026-07-23 21:55:59 +08:00
Tianyi Cui
64eebc1b35
Merge branch 'master' into codex/plan-mode-active-exit
2026-07-23 21:52:23 +08:00
fz
5e8943fd1c
fix(plan): make direct exit discoverable
2026-07-23 21:34:40 +08:00
Tianyi Cui
f9120a944c
Merge master into session-query-search
2026-07-23 21:18:05 +08:00
Hypatia May
c1fa985c20
Merge remote-tracking branch 'origin/master' into session-query-search
...
# Conflicts:
# docs/architecture.i18n.yaml
# packages/client/ui-sidebar/tests/sidebar-root.spec.tsx
# packages/session-persistence/session-persistence-jsonl/src/index.ts
# packages/session-persistence/session-persistence/README.md
2026-07-23 21:13:29 +08:00
Turtle
a3ad5241ba
Merge remote-tracking branch 'origin/master' into feat/send-unify
...
# Conflicts:
# docs/persistence-catalog.md
# examples/acp-agent/tests/snapshots/code-mode-workspace-context/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/stdout.expected.jsonl
# packages/context/time-context/tests/time-context.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
2026-07-23 20:54:48 +08:00
Turtle
3fd72f7c74
feat(agent): rename InboxItemInfo to AgentMessage with an id; send returns it
...
Add a branded AgentMessageId assigned to each accepted send message and
returned from send/followup/steer/inject (was void). Rename the inbox
event payload InboxItemInfo to AgentMessage, carrying that id so a caller
can correlate a queued item with its enqueue/dequeue/discard events.
2026-07-23 20:45:29 +08:00
Tianyi Cui
eb0cc4eb18
refactor: drop obsolete expose-internals flag
2026-07-23 20:35:09 +08:00
Hypatia May
1e457b22e0
refactor(session-query): unify query service
2026-07-23 20:18:05 +08:00
imccyu
0f63666522
Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
2026-07-23 20:09:11 +08:00
Yichen Jiang
0d657f4dfa
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/src/web.ts
# apps/web/tests/smoke-fixture.e2e.ts
# docs/architecture.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/register.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/contract/views.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/stores.ts
# packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/host/runtime/src/boot.ts
# packages/host/runtime/tests/host-runtime.spec.ts
# pnpm-lock.yaml
2026-07-23 19:51:50 +08:00
imccyu
6a896e62a1
Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
2026-07-23 19:45:41 +08:00
Yichen Jiang
580e05b794
fix(gui): harden multimodal image attachments
2026-07-23 19:38:37 +08:00
Turtle
95e75ba3e0
fix(agent-loop): balance inbox invariant on continuation-reason steer
...
The FIFO-conservation invariant fired on the loop-authored continuation
reason path: a continue-with-reason decision entered the steering FIFO
without an agent/inbox/enqueue, so its later dequeue/discard had no
matching enqueue. Emit the enqueue for that steer too, add a regression
test that mounts the invariant over a continue-with-reason turn and a
cancel, and hoist the duplicated inboxInfo helper into inbox.ts.
Found by fresh-eye review.
2026-07-23 19:37:21 +08:00
Yichen Jiang
40ce342d81
Merge remote-tracking branch 'origin/master' into worktree/tui-file-autocomplete
...
# Conflicts:
# docs/config-catalog.md
2026-07-23 19:32:13 +08:00
Yichen Jiang
01dcc7920c
fix(tui): honor file reference boundaries
2026-07-23 19:21:02 +08:00
Turtle
44fd93fd06
feat(agent): unify send(target × wakeup), coalesce context/message into user/message
...
Replace send/steer/inject with one Agent.send primitive over the
(target × wakeup) matrix; followup/steer/inject become fixed-preset
alias methods on the now-abstract Agent class. Coalesce context/message
into user/message (injected context is a non-user source). Replace
agent/queued with agent/inbox/enqueue/dequeue/discard, add cancel
keepInbox, and add a FIFO-conservation invariant.
2026-07-23 19:15:45 +08:00
imccyu
2b06aa0102
Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
...
Restack the ask-user domain layer onto the carrier-chain architecture
branch. Conflict policy: runtime and ui-conversation take the
carrier-chain side (master sessions shape, dual-kind PendingCard,
'internal' envelope shell tests); the 'cancelled' wire code and its
semantics tests stay in apiproxy + ui-question (domain layer); the
smoke fixture keeps the nine-bundle success pass with the resident
question round over the carrier-chain first-describe shape.
2026-07-23 18:50:30 +08:00