Yichen Jiang
922c80ce66
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/api/session-controller/src/commands.ts
# packages/api/session-controller/tests/session.client.spec.ts
# packages/client/ui-activity/package.json
# packages/shell/tool-bash/src/index.ts
# packages/shell/tool-bash/tests/tools.spec.ts
# packages/shell/tool-pwsh/src/index.ts
2026-08-31 11:22:11 +08:00
creatixchu
6516fbcde8
Merge origin/master into worktree/steer-followup-images
2026-08-31 10:37:39 +08:00
imccyu
3f1b46a5db
release(dsh): 0.1.2-alpha.2
2026-08-30 21:19:29 +08:00
Tianyi Cui
2c6ff296af
Revert "Merge pull request #3087 from deepseek-harness/worktree/remove-ignorable-session-events"
...
This reverts commit 2123b2f418b1c8fbb86dc327b598fb11423da226, reversing
changes made to 3c0b5c68ce697537a21084f9135663017474a2e1.
2026-08-30 12:26:20 +08:00
imccyu
b27c8fbc02
chore(deps): refresh package manifests
2026-08-30 02:29:53 +08:00
imccyu
f4e49ccf8f
refactor(services): move shared values behind service APIs
2026-08-30 02:29:51 +08:00
Dudu-0223
112daedd54
Merge origin/master into perf/3270-linear-stream-queues
2026-08-29 18:59:23 +08:00
Yichen Jiang
74fa4be0a3
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/src/types.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/client/connection/src/rpc.ts
# packages/extensions/cordis-client-runner/src/client/api-catalog.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
2026-08-29 14:23:22 +08:00
imccyu
18480ff902
test(connection): verify and document recovery behavior
2026-08-29 11:18:58 +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
2f2e6d627b
fix(api): resolve review findings on stream boundary, inject staleness, and ctx discipline
...
- api/gateway: mark terminal Remote-stream escapes (carrier retry
exhaustion and pre-acceptance end classification) as
RemoteError('gateway/internal') at the two escape points; marked
failures pass through verbatim. The carrier class stays the
retry-internal signal for carrierFailed and the ended(true) retry
trigger. Regression coverage lands on the session and workspace
stream consumers.
- client/ui-tool, client/ui-workspace: read $host.home through a hooks
observable subscribed to connection/reset; the slot renderer memoizes
inject results per entry, so the previous plain-value injection froze
home at the first render.
- client/ui-settings-models: components no longer receive ctx; apply
binds the credential and settings Remote operations into callbacks,
and the settings/conflict code judgment stays in the apply world.
2026-08-28 22:37:36 +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
Dudu-0223
51a6eabb27
perf(api): replace shift-backed stream queues
2026-08-28 17:37:03 +08:00
Yichen Jiang
02ef5e408f
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# packages/shell/bash-sandbox/tests/sandbox.spec.ts
# packages/shell/tool-pwsh/tests/tools.spec.ts
2026-08-28 17:33:17 +08:00
creatixchu
3b2e5105e6
Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images
2026-08-28 15:19:28 +08:00
_Kerman
d25ace0f22
refactor(api): require the session projection registry
2026-08-28 12:50:51 +08:00
_Kerman
25b0c943ce
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.i18n.yaml
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.md
# .agents/notes/implemented/architecture/2026-08-04-draft-provider-endpoint-interrogation.zh.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.i18n.yaml
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.md
# .agents/notes/implemented/feature/2026-08-06-continuable-subagent-interrupt.zh.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.md
# .agents/notes/implemented/process/2026-07-20-gui-testing-system.zh.md
2026-08-28 10:59:30 +08:00
creatixchu
878857a5f2
Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images
2026-08-28 10:35:50 +08:00
Yichen Jiang
48bbaa3e31
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# 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/api/session-controller/src/types.ts
# packages/api/session-controller/tests/fake-api.client.ts
# packages/api/session-controller/tests/test-remote.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
2026-08-28 10:27:00 +08:00
imccyu
6c705be1ce
release(dsh): 0.1.2-alpha.1
2026-08-28 00:50:12 +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
_Kerman
13c1541c63
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# docs/module-graph.i18n.yaml
# docs/module-graph.md
# docs/module-graph.zh.md
# pnpm-lock.yaml
2026-08-27 23:18:55 +08:00
imccyu
9fa87800a2
fix(api): keep file-reference output in its project
2026-08-27 22:58:43 +08:00
creatixchu
0158adc926
Merge remote-tracking branch 'origin/master' into worktree/steer-followup-images
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
2026-08-27 22:33:20 +08:00
imccyu
e57e7c3f25
docs(api): describe Connection-owned transport
2026-08-27 22:26:30 +08:00
imccyu
40929d6e1a
refactor(client): replace host description consumers
2026-08-27 22:26:28 +08:00
imccyu
e036aae7c0
refactor(connection): carry Host facts with generations
2026-08-27 22:26:28 +08:00
imccyu
18ae39a665
fix(api): preserve native path opening behavior
2026-08-27 21:57:58 +08:00
imccyu
89ee54ebb7
test(api): align migrated client contracts
2026-08-27 21:57:57 +08:00
imccyu
88f2f0aaec
test(api): complete migrated Remote coverage
2026-08-27 21:57:57 +08:00
imccyu
160706be60
test(api): refresh Remote migration artifacts
2026-08-27 21:57:56 +08:00
imccyu
2d4393d842
refactor(api): expose remaining domain remotes
2026-08-27 21:57:55 +08:00
Yichen Jiang
9f24670323
test(session-controller): follow the two-argument Session constructor in the killJob specs
...
The master merge slimmed the client Session constructor to (id, remote,
options); the killJob specs from this branch still passed the FakeApiClient
as a second argument and stopped compiling.
2026-08-27 21:43:34 +08:00
Yichen Jiang
e5d5d16dd2
Merge branch 'worktree/process-plugin-streaming-72f9b3' into worktree/job-kill-delivery
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/api/session-controller/src/client/sessions/session.ts
# packages/extensions/cordis-client-runner/src/client/api-catalog.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/session/session-projection-cache/tests/cache.spec.ts
# packages/shell/tool-bash/tests/observe.spec.ts
# packages/shell/tool-pwsh/tests/observe.spec.ts
# snapshots/web/approval-composer/session.jsonl
# snapshots/web/code-mode-round/session.jsonl
# snapshots/web/cordis-tool-round/session.jsonl
# snapshots/web/feedback-command/session.jsonl
# snapshots/web/fresh-round-trip/session.jsonl
# snapshots/web/goal-multi-turn-actions/session.jsonl
# snapshots/web/lifecycle-chrome/session.jsonl
# snapshots/web/live-interactions/session.jsonl
# snapshots/web/minimal-preset/session.jsonl
# snapshots/web/permission-policy-context/session.jsonl
# snapshots/web/plan-review/session.jsonl
# snapshots/web/question-composer/session.jsonl
# snapshots/web/steering/session.jsonl
# snapshots/web/turn-tail-actions/session.jsonl
# snapshots/web/web-search-round/session.jsonl
2026-08-27 21:41:16 +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
_Kerman
d9c0aa1cd0
Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/config-catalog.md
# packages/context/session-reference/package.json
# packages/context/session-reference/tests/session-reference.spec.ts
# packages/subagent/tool-subagent/src/index.ts
# packages/subagent/tool-subagent/src/invariant.ts
# packages/subagent/tool-subagent/src/model-selection-state.ts
# packages/subagent/tool-subagent/tests/harness.ts
# packages/subagent/tool-subagent/tests/list-models.spec.ts
# packages/subagent/tool-subagent/tests/model-selection-settings.spec.ts
# packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
# pnpm-lock.yaml
2026-08-27 16:38:06 +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
eeb4ca2b87
Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations
2026-08-27 12:03:10 +08:00
creatixchu
16a7ead9ab
Merge remote-tracking branch 'origin/master' into codex/pr-3111-review
...
# Conflicts:
# scripts/ci-workflow.spec.ts
2026-08-27 10:57:27 +08:00
imccyu
5918dd205e
refactor(client): use settings Remote namespaces
2026-08-27 03:01:02 +08:00
imccyu
6e4087626d
refactor(apiproxy)!: remove directory-picker RPCs
2026-08-27 02:20:39 +08:00
Yichen Jiang
8f3103b511
fix(jobs): address review — error scoping, subagent fence, pending kill
...
- session.killJob maps job-not-found from the lookup only: jobs.get gates the
same synchronous span, so a producer-cancel throw now propagates per the
registry contract (job state unchanged) instead of masquerading as a lookup
failure (threads r3860226021, r3860226047).
- session.killJob applies the service-wide subagent ownership fence exactly as
cancel does; a subagent-owned live session rejects with the ownership error
and the child-owned job stays running (thread r3860226041).
- The stop control stays pending on an admitted kill: the unary response and
the jobs frames have no cross-carrier ordering, so only the authoritative
frame (the row leaving the killable set) releases the button, closing the
duplicate-kill window (thread r3860226028).
- One-line comment on the killReason assignment stating last-writer-wins is
intended, beside the first-claim-wins reported handling (thread r3860225999).
Host spec pins the producer-throw propagation and the fence; the component
spec pins pending-until-frame; the Agent Note records both refinements.
2026-08-26 16:19:34 +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
_Kerman
81e07e3935
Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations
2026-08-26 15:15:04 +08:00
imccyu
91fea67745
test(subagent): cover Remote control migration
2026-08-26 14:52:53 +08:00
imccyu
cbe5d76e5c
refactor(api-session-controller): route subagent calls through Remote
2026-08-26 14:52:53 +08:00