creatixchu
fb743759a7
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
...
# Conflicts:
# apps/web/tests/scaffold.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/llm/token-meter/src/index.ts
# packages/session-query/session-log-export/README.i18n.yaml
# packages/session-query/session-log-export/README.md
# packages/session-query/session-log-export/README.zh.md
# packages/session-query/session-log-export/src/archive.ts
# scripts/package-dependency-policy.ts
2026-09-04 10:12:19 +08:00
creatixchu
8fc9a11c5e
refactor(attachment): isolate file upload service
2026-09-03 16:10:24 +08:00
creatixchu
bbb2ca7c9b
refactor(client): extract background file upload service
2026-09-03 13:53:25 +08:00
Tianyi Cui
67c8a58854
fix(session): address v2 migration review
2026-09-03 04:45:41 +08:00
Tianyi Cui
a88ef734cc
Merge remote-tracking branch 'origin/worktree/session-format-04-live-assistant-stream' into worktree/session-format-05-v1-v2-chunk-migration
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.md
# .agents/notes/implemented/architecture/2026-08-31-live-assistant-stream-frames.zh.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.i18n.yaml
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.md
# .agents/notes/implemented/simplification/2026-08-06-buffer-free-feedback-telemetry.zh.md
# apps/web/tests/scaffold.ts
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/api/session-controller/src/client/sessions/assistant-stream.ts
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/assistant-stream.ts
# packages/core/agent-loop/tests/loop.spec.ts
# packages/core/agent/src/runtime-types.ts
# packages/session/session-telemetry/tests/telemetry.spec.ts
# packages/test-support/llm-replay/README.i18n.yaml
# packages/test-support/llm-replay/README.md
# packages/test-support/llm-replay/README.zh.md
# packages/test-support/llm-replay/src/alpha-refusal-fixtures.ts
# packages/test-support/llm-replay/src/index.ts
# packages/test-support/llm-replay/tests/llm-replay.spec.ts
# packages/test-support/session-snapshot/README.i18n.yaml
# packages/test-support/session-snapshot/README.md
# packages/test-support/session-snapshot/README.zh.md
# packages/test-support/session-snapshot/src/suite.ts
# packages/test-support/session-snapshot/tests/suite.spec.ts
# snapshots/sdk/sdk.snapshot.ts
# snapshots/session/headless.snapshot.ts
2026-09-03 03:10:05 +08:00
Tianyi Cui
a65edc4810
fix(agent): terminate live assistant attempts
2026-09-03 02:25:25 +08:00
Tianyi Cui
e3e9bd5909
Merge remote-tracking branch 'origin/worktree/session-format-03-v0-v1-migration' into worktree/session-format-04-live-assistant-stream
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/core/agent/src/runtime-types.ts
2026-09-02 21:51:42 +08:00
Tianyi Cui
e974a655a0
Revert "feat(session, agent, web): support same-session message editing"
2026-09-02 21:20:07 +08:00
Tianyi Cui
d88c258dc7
Merge remote-tracking branch 'origin/worktree/session-format-03-v0-v1-migration' into worktree/session-format-04-live-assistant-stream
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/core/agent/src/runtime-types.ts
2026-09-02 20:58:27 +08:00
lsdsjy
ef88756f13
feat(session, agent, web): support same-session message editing
2026-09-02 18:26:55 +08:00
creatixchu
3b9ac476fb
Merge remote-tracking branch 'origin/master' into worktree/2984-generic-file-upload
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# packages/api/session-controller/src/commands.ts
# packages/api/session-controller/src/index.ts
# packages/api/session-controller/tests/client-contract.client.spec.ts
# packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
# packages/client/ui-attachment/src/AttachmentRail.module.css
# packages/client/ui-chat/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-trajectory/README.i18n.yaml
# packages/client/ui-trajectory/README.md
# packages/client/ui-trajectory/README.zh.md
# packages/extensions/cordis-client-runner/src/client/api-catalog.ts
# packages/llm/token-meter/src/surface-fold.ts
# packages/session-query/session-log-export/src/archive.ts
# packages/session-query/session-log-export/tests/archive.host.spec.ts
2026-09-02 10:29:53 +08:00
Tianyi Cui
eb7c290b22
fix(session): retain reachable v2 stream settlements
2026-09-02 04:17:44 +08:00
Tianyi Cui
7e5b72ceee
fix(session): harden embedded assistant streams
2026-09-02 04:00:33 +08:00
Tianyi Cui
f99b06eaed
feat(session)!: embed assistant streams in format v2
2026-09-02 04:00:01 +08:00
Tianyi Cui
0bb7bba015
fix(session): close live assistant framing races
2026-09-02 03:49:17 +08:00
Tianyi Cui
30e045dfad
feat(agent): emit live assistant stream frames
2026-09-02 03:36:13 +08:00
Tianyi Cui
27bf1039db
refactor(session)!: distinguish event seqs from log offsets
2026-09-01 20:36:00 +08:00
creatixchu
bafa6ae11d
feat(conversation): stream files through submission lifecycle
2026-09-01 16:11:43 +08:00
Yichen Jiang
db5417ff6f
fix(session-controller): keep refused jumps from parking a stale target
...
loadThrough now assigns its low-water target only when it owns the loop
(retargeting stays inside the running-jump branch): a call refused while
a plain load-earlier pull holds the pager no longer leaves jumpTargetSeq
behind to drag a later jump all the way to the head. The loop also
carries the doOpen stale-pass guard so a mid-flight resync stops it
instead of paging the new stream generation toward the old target.
2026-08-31 19:46:55 +08:00
Yichen Jiang
218bb7f645
feat(session-controller): loadThrough deep history paging
...
Session.loadThrough(seq) loops the existing prepend pager (200-message
pages) until the window covers the target seq, with a shared low-water
retarget for repeated calls, a no-progress guard against empty pages
still claiming history, and loadOlder's fail-soft error posture. Busy
state rides the existing loadingOlder snapshot bit.
2026-08-31 19:46:53 +08:00
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