Yichen Jiang
27eec0a247
Merge remote-tracking branch 'origin/master' into worktree/fix-new-session-stale-blank
...
# Conflicts:
# 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/manager.ts
# packages/api/session-controller/tests/manager.client.spec.ts
2026-09-18 15:05:52 +08:00
imccyu
3d360e7fdb
perf(session-controller): publish historical jump pages as one batch
2026-09-18 14:13:47 +08:00
imccyu
e62587c163
feat(client): open subagent chats in sidebar
2026-09-17 18:03:57 +08:00
imccyu
6830e1460d
refactor(session-controller): own Client Session generations
2026-09-17 05:27:26 +08:00
Yichen Jiang
55d57d33b6
fix(session): initialize blankness from retained metadata
2026-09-16 20:22:14 +08:00
Yichen Jiang
f65799a236
docs(session): clarify blank-state projection guarantees
2026-09-16 20:05:48 +08:00
Yichen Jiang
fa2abdd6f1
fix(web): reconcile stale blank session hints from projections
2026-09-16 16:39:53 +08:00
_Kerman
992a932a16
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/README.md
# packages/api/session-controller/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/src/client/contract/input.ts
# packages/client/ui-conversation/src/client/input/facade.ts
2026-09-15 16:52:24 +08:00
Dudu-0223
53046b21b4
fix(session-controller): reconcile list cache in linear time
2026-09-15 11:36:52 +08:00
_Kerman
49f601e902
Merge remote-tracking branch 'origin/master' into xtr/durable-inbox-web-recovery
...
# Conflicts:
# 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/api/session-controller/tests/client-apply.client.spec.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/api/session-controller/tests/projection-store.client.spec.ts
# packages/api/session-controller/tests/queue-store.client.spec.ts
# packages/api/session-controller/tests/session-pending-submissions.client.spec.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/fixture.client.spec.ts
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent-loop/README.md
# packages/core/agent-loop/README.zh.md
# packages/extensions/tool-cordis/src/api-catalog.ts
2026-09-14 14:12:25 +08:00
Turtle
71d50b4a84
refactor: ban ambiguous origin label
2026-09-11 17:45:28 +08:00
_Kerman
813ad965f9
fix(web): preserve newer projections across control baselines
2026-09-09 17:39:26 +08:00
_Kerman
9cd0c703df
fix(web): invalidate projections before opening control snapshots
2026-09-09 17:06:57 +08:00
_Kerman
f3332af2a4
fix(web): discard projection state across host generations
2026-09-09 16:28:03 +08:00
_Kerman
72f2e71070
fix(web): reconcile durable inbox recovery with master
2026-09-09 15:14:08 +08:00
_Kerman
cb999713d1
Merge latest master into xtr/durable-inbox-web-recovery
2026-09-09 14:31:52 +08:00
Tianyi Cui
657e68186a
fix(session): canonicalize V3 envelopes through adjacent migration
2026-09-08 16:56:52 +08:00
Dudu-0223
96ead6091d
feat(subagent): align human inbox controls ( #3223 )
...
* feat(subagent): align continuable human inbox controls
* fix: repair rebase documentation and close test persistence
* docs: refresh rebased module dependency graph
2026-09-07 07:39:39 +00:00
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
_Kerman
8c8c5b2680
fix(web): restore pending Inbox after restart
2026-08-27 12:37:00 +08:00