Commit graph

21 commits

Author SHA1 Message Date
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
imccyu
e036aae7c0 refactor(connection): carry Host facts with generations 2026-08-27 22:26:28 +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