Commit graph

29 commits

Author SHA1 Message Date
creatixchu
6516fbcde8 Merge origin/master into worktree/steer-followup-images 2026-08-31 10:37:39 +08:00
imccyu
674a1e95a3 fix(api): rename the failure marker, harden cross-realm discrimination, and mark the packed-record violation
- protocol: isDSHRemoteGatewayError -> isDSHRemoteError (the class is
  protocol-wide, not Gateway-specific); remoteErrorOf drops its
  instanceof Error precondition and tests the marker plus a string code
  structurally, so a marked failure from another realm no longer reads
  as a local defect.
- session-controller: the live-follow packed-record protocol violation
  now throws a marked RemoteError('gateway/internal'), landing the
  session in openState=error instead of an unhandled rejection;
  pinned at the transport and session levels.
- util-time: correct the invariant companion's @module name.
- regenerate the tool-cordis catalog for the marker rename.
2026-08-29 03:12:43 +08:00
imccyu
804b1ffbfc refactor(api): converge the Remote failure vocabulary and client surface
Single RemoteError with a merge-extensible, domain-prefixed code map;
owners throw at the failure point; streams surface marked failures;
clients consume ctx.remote directly with isRemoteFailure as the only
discrimination point and construct no failure instances.
2026-08-28 22:37:36 +08:00
creatixchu
b9060b4f9b Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images
# Conflicts:
#	packages/context/file-reference-local/tests/search.spec.ts
2026-08-27 23:29:17 +08:00
imccyu
e036aae7c0 refactor(connection): carry Host facts with generations 2026-08-27 22:26:28 +08:00
creatixchu
21d2d9395d refactor: align prompt admission and echo ownership 2026-08-27 20:14:18 +08:00
creatixchu
53f5418a72 fix: 稳定 steer 提交回显位置 2026-08-27 17:25:36 +08:00
creatixchu
abe185205b fix: scope prompt catalog type to client 2026-08-27 16:49:15 +08:00
creatixchu
b67663c583 fix: retain prompt parts in client catalog 2026-08-27 16:42:11 +08:00
creatixchu
381ea9fc5d Merge branch 'master' into worktree/steer-followup-images
# Conflicts:
#	packages/api/session-controller/src/client/contract/session.ts
2026-08-27 15:53:14 +08:00
creatixchu
7c38fd8102 fix: deliver images reliably with steer and follow-up messages
A steer or follow-up accepted while a turn is closing is now claimed by a
fresh turn at the driver's clean exit instead of stranding in the inbox;
cancellation and pre-step rejection still park accepted work. Continuable
subagent follow-ups accept image parts: the wire is upload-shaped, the Host
admits and persists each batch before inbox acceptance, and delivery is
refused when the child model declines image input. The queue dock renders
durable image thumbnails instead of an [image] text marker.

Fixes #3186
2026-08-27 15:30:35 +08:00
creatixchu
3031cb0e33 Merge remote-tracking branch 'origin/master' into codex/pr-3111-review
# Conflicts:
#	packages/api/session-controller/src/client/contract/snapshot.ts
#	packages/test-support/client-runtime/src/sessions.ts
2026-08-26 15:34:18 +08:00
imccyu
cbe5d76e5c refactor(api-session-controller): route subagent calls through Remote 2026-08-26 14:52:53 +08:00
creatixchu
98da332260 feat(session-controller): 客户端本地提交回显与 rpcId 关联
beginSubmission 在 prompt 之前同步把本地提交回显写入 SessionSnapshot.pendingSubmissions;
durable user/message(source.rpcId)或队列投影(SessionQueuedItem.rpcId)到达后延迟一帧退休,
prompt 失败与放弃立即退休并回调 onRetire。fixture 的 prompt 同步回显 requestId。
2026-08-26 11:48:33 +08:00
imccyu
1ec75c9082 perf(history): retain packed records in client 2026-08-25 20:13:54 +08:00
kingwl
04c0758fe9 fix(history): adapt packed pages to session journal 2026-08-25 20:10:43 +08:00
kingwl
a47e80678e fix(history): preserve per-delta replay 2026-08-25 20:10:43 +08:00
kingwl
f2ca913756 perf(history): carry packed assistant chunks 2026-08-25 20:10:42 +08:00
imccyu
69fad4b8db perf(session-controller): serve cache-first session state 2026-08-25 06:07:26 +08:00
imccyu
e7952d82ed refactor(session): open journal streams from snapshots 2026-08-25 06:07:11 +08:00
imccyu
a42c0b523a refactor(session): stream raw tool events 2026-08-24 10:24:17 +08:00
imccyu
997ad27a60 refactor(client): remove compatibility imports 2026-08-23 23:06:38 +08:00
imccyu
3d1c0af60b refactor(client): keep feature helpers with consumers 2026-08-23 23:06:38 +08:00
imccyu
85427aea9e refactor(client): move shared primitives to static packages 2026-08-23 23:02:33 +08:00
imccyu
689644463d fix(client): keep conversation updates incremental 2026-08-23 16:28:20 +08:00
imccyu
be531688f3 refactor(client): migrate consumers and remove Runtime 2026-08-23 16:28:18 +08:00
imccyu
956730a5fb refactor(session): move Client ownership into Session Controller 2026-08-23 16:28:16 +08:00
imccyu
e8ede58603 fix(api-session): bind history pages to follow cursor 2026-08-23 16:16:03 +08:00
imccyu
d26acfa2e3 refactor(session): move APIs into Session Controller 2026-08-23 16:16:02 +08:00