Dudu-0223
34a4cbb4e8
Merge remote-tracking branch 'origin/master' into refactor/subagent
2026-09-21 15:22:59 +08:00
Dudu-0223
55cbf441d0
Merge origin/master into refactor/subagent
2026-09-21 15:07:47 +08:00
Dudu-0223
c17a1fa189
refactor(subagent): represent external catalog entries by mode
2026-09-21 15:03:34 +08:00
Huanqi Cao
11d36dd102
Merge remote-tracking branch 'origin/master' into fix/windows-acl-delete-escape
...
# Conflicts:
# docs/config-catalog.i18n.yaml
2026-09-21 14:51:40 +08:00
Yudong Han
eaf0f68bb2
Merge pull request #4401 from deepseek-harness/perf/workspace-file-binary-transfer
...
feat(api): support binary fields in Remote results
2026-09-21 05:18:16 +00:00
Yudong Han
e98b5703c7
refactor(api): move Remote result projection to gateway
2026-09-21 12:50:42 +08:00
Yudong
983b89f9a5
refactor(fs): default unsupported file watching
2026-09-21 12:50:41 +08:00
Yudong
ecf6acfb15
feat(api): support binary fields in Remote results
2026-09-21 12:50:40 +08:00
_Kerman
2e99e6021d
Merge remote-tracking branch 'origin/master' into xtr/normalize-agent-cancel-cause
2026-09-21 12:45:05 +08:00
Yichen Jiang
dc1f87e890
Merge branch 'master' of github.com:deepseek-harness/deepseek-harness into worktree/process-plugin-streaming-72f9b3
2026-09-21 12:03:46 +08:00
Dudu-0223
b3b0cd95cc
Merge remote-tracking branch 'origin/master' into refactor/subagent
2026-09-21 11:59:58 +08:00
Dudu-0223
390fbe8852
refactor(subagent): merge orchestration and activation ownership
2026-09-21 11:58:14 +08:00
Yichen Jiang
bb7e92c999
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# docs/persistence-schema.json
2026-09-21 11:51:54 +08:00
_Kerman
35f3abf1fa
fix(agent-loop): copy the cancel cause before logging turn/end
...
Node's fetch assigns an enumerable `stack` string onto the abort reason
object it receives, and the loop logged that same object into `turn/end`.
The undici trace became durable session data under a field no reader
declares. A transport adding a property JSON discards instead made
`Session.append` reject the ending, leaving a turn with no close.
`abortedCancelCause()` narrows the untyped `AbortSignal.reason` once and
copies the declared fields, replacing the three `as AgentCancelCause`
assertions at the two read sites and the log write.
2026-09-21 11:45:03 +08:00
Yichen Jiang
2ab948a11b
Merge remote-tracking branch 'origin/master' into worktree/input-plugin-extension-hooks
2026-09-21 11:39:00 +08:00
CreatixChu
c240582109
Merge pull request #4646 from deepseek-harness/feat/4562-file-open-apps
...
feat: 统一文件和目录的跨平台打开控件
2026-09-21 11:38:41 +08:00
Yichen Jiang
61719629fc
Merge remote-tracking branch 'origin/master' into worktree/process-plugin-streaming-72f9b3
...
# Conflicts:
# apps/web/tests/expected/agent-preset-selection/header.expected.md
# docs/architecture.i18n.yaml
# 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
# docs/persistence-schema.json
# docs/subsystems/web-client.i18n.yaml
# packages/api/README.i18n.yaml
# packages/api/README.md
# packages/api/README.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/manager.ts
# packages/api/session-controller/src/client/sessions/service.ts
# packages/api/session-controller/tests/manager.client.spec.ts
# packages/client/locale/tests/language-row.client.spec.tsx
# packages/client/ui-chat/tests/chat-view.client.spec.tsx
# packages/client/ui-chat/tests/transcript-view-row.client.spec.tsx
# packages/client/ui-conversation/tests/conversation-registry.client.spec.ts
# packages/client/ui-conversation/tests/enter-behavior-row.client.spec.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/input-matrix.client.spec.tsx
# packages/client/ui-conversation/tests/input-scenarios.client.spec.tsx
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-deliverables/tests/deliverables.client.spec.tsx
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/client/ui-layout/tests/app-frame.client.spec.tsx
# packages/client/ui-layout/tests/document-title.client.spec.tsx
# packages/client/ui-open-in-app/tests/open-in-app-action.client.spec.tsx
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-session/tests/ui-session.client.spec.ts
# packages/client/ui-settings-general/tests/settings-root.client.spec.tsx
# packages/client/ui-settings-unarchive-sessions/tests/components.client.spec.tsx
# packages/client/ui-subagent/README.i18n.yaml
# packages/client/ui-subagent/README.md
# packages/client/ui-subagent/README.zh.md
# packages/client/ui-subagent/src/client/SubagentHeaderLineage.tsx
# packages/client/ui-subagent/tests/conversation-ui.client.spec.tsx
# packages/client/ui-theme/tests/appearance-row.client.spec.tsx
# packages/client/ui-theme/tests/font-size-row.client.spec.tsx
# packages/client/ui-tool/tests/coverage-tails.client.spec.tsx
# packages/client/ui-tool/tests/diff-card.client.spec.tsx
# packages/client/ui-tool/tests/image-card.client.spec.tsx
# packages/client/ui-tool/tests/read-card.client.spec.tsx
# packages/client/ui-tool/tests/terminal-card.client.spec.tsx
# packages/client/ui-trajectory/tests/views.client.spec.tsx
# packages/client/ui-user-questions/tests/plan-review-panel.client.spec.tsx
# packages/client/ui-user-questions/tests/user-questions-composer.client.spec.tsx
# packages/client/ui-workflow-run/tests/workflow-run.client.spec.tsx
# packages/client/ui-workspace/tests/apply.client.spec.ts
# packages/client/ui-workspace/tests/tree.client.spec.ts
# packages/client/ui-workspace/tests/workspace-browser.client.spec.tsx
# packages/client/ui-workspace/tests/workspace-picker.client.spec.tsx
# packages/client/ui-workspace/tests/workspaces-service.client.spec.ts
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# packages/jobs/tool-jobs/src/index.ts
# packages/shell/tool-bash/README.i18n.yaml
# packages/test-support/client-runtime/src/sessions.ts
2026-09-21 11:34:20 +08:00
Yichen Jiang
0aa6f94749
feat(web): expose input plugin extension hooks
2026-09-21 11:11:21 +08:00
Dudu-0223
5ca7f533e1
refactor(subagent): own external runs without activation drivers
2026-09-21 11:09:41 +08:00
Dudu-0223
bb16d7d989
refactor(subagent): return listing promises directly
2026-09-21 10:49:20 +08:00
Dudu-0223
fb41430414
Merge remote-tracking branch 'origin/master' into refactor/subagent
2026-09-21 10:37:54 +08:00
Dudu-0223
ef88d6a277
refactor(subagent): deliver activation results after teardown
2026-09-21 10:37:26 +08:00
creatixchu
82692090c8
Merge remote-tracking branch 'origin/master' into feat/4562-file-open-apps
2026-09-21 09:56:00 +08:00
imccyu
e9a0d5ac77
fix(desktop): address sidebar retention and webview review findings
2026-09-21 02:17:37 +08:00
_Kerman
a4fdaebf52
Merge remote-tracking branch 'origin/master' into xtr/default-workspace-first-send
2026-09-20 20:44:25 +08:00
creatixchu
1790a09f77
Merge remote-tracking branch 'origin/master' into feat/4562-file-open-apps
2026-09-20 20:33:24 +08:00
imccyu
ffea3c8818
fix(gateway): close the remaining uplink lifecycle gaps
2026-09-20 17:53:18 +08:00
imccyu
8ce7c27671
refactor(connection): admit every request as the single operator Peer
2026-09-20 17:53:17 +08:00
imccyu
35602063d7
refactor(typert): name the client stream handle RemoteStreamHandle everywhere
2026-09-20 17:53:17 +08:00
imccyu
089004c418
test(gateway): cover the Remote uplink and document it
...
Tests bring the changed sources to full per-file coverage, the READMEs and
docs describe the uplink, the invocation context, and the Peer registry in
both languages, and the generated catalogs are refreshed.
2026-09-20 17:53:17 +08:00
imccyu
021bd03b70
feat(gateway): let every Remote stream carry a client uplink
...
Every Typert Remote stream accepts client-to-Host items on the same
logical stream. A method declares the uplink item type in its return
type, RemoteStream<Out, In>, and reads the items through
this.ctx.invocation.uplink(); the invocation also carries the calling
Peer. Client generated methods return a handle that iterates the
downlink and exposes send/end/dispose for the uplink.
2026-09-20 17:53:16 +08:00
Dudu-0223
1e00ab89a7
refactor(subagent): keep catalog entries as creation facts
2026-09-20 17:43:31 +08:00
Dudu-0223
307332baee
Merge master and preserve compatible subagent catalog evolution
2026-09-20 17:35:18 +08:00
Dudu-0223
f3a69dff00
refactor(subagent): remove redundant state and settle local results after descendants
2026-09-20 17:27:05 +08:00
_Kerman
b21fc2c8d1
Merge origin/master into xtr/default-workspace-first-send
2026-09-20 17:26:38 +08:00
_Kerman
4d2e420ef8
refactor(workspace): initialize the default workspace on startup
2026-09-20 17:19:54 +08:00
creatixchu
e0187ecdf8
Merge remote-tracking branch 'origin/master' into feat/4562-file-open-apps
2026-09-20 17:16:21 +08:00
Turtle 2099 and Turtle
3eab1714bc
feat(web): add chat link opening preference ( #4671 )
...
* feat(web): add chat link opening preference
* docs(web): clarify preference-controlled link routing
* fix(web): hide link preference without a browser
* fix(web): make the built-in browser opt-in
* test(web): honor profile-aware browser availability
---------
Co-authored-by: Turtle <[email protected] >
2026-09-20 17:00:03 +08:00
Dudu-0223
1829f2f74a
Merge remote-tracking branch 'origin/master' into refactor/subagent
...
# Conflicts:
# packages/client/ui-plugin-manager/tests/components.client.spec.tsx
# packages/subagent/subagent/src/list-children.ts
2026-09-20 16:04:50 +08:00
_Kerman
d4d03b7c41
docs(workspace): clarify default directory lookup and cancellation
2026-09-20 15:58:53 +08:00
Huanqi Cao
d0f9a5c410
Merge remote-tracking branch 'origin/master' into fix/windows-acl-delete-escape
...
# Conflicts:
# docs/config-catalog.i18n.yaml
2026-09-20 15:12:34 +08:00
_Kerman
b93f55f7ff
Merge remote-tracking branch 'origin/master' into xtr/default-workspace-first-send
2026-09-20 15:03:03 +08:00
_Kerman
e71df56b1a
feat(workspace): create the default workspace on first send
2026-09-20 14:59:15 +08:00
Dudu-0223
6f3140d7cf
Merge origin/master into fix/lazy-subagent-migration
2026-09-20 14:37:01 +08:00
Dudu-0223
17a52a8fe3
fix(subagent): retain unreadable children in migrated catalogs
2026-09-20 14:30:02 +08:00
imccyu
bc2c9bd11a
Merge pull request #4427 from deepseek-harness/session-actions-slot
...
feat(client): add extensible session menu actions
2026-09-20 13:56:15 +08:00
creatixchu
6e260998c9
fix: refine shared file controls and native query errors
2026-09-20 13:39:11 +08:00
creatixchu
7943fb3917
Merge master into file application controls
2026-09-20 13:25:10 +08:00
imccyu
21586fe28c
feat(client): compose session row actions from slot lists
...
A Session row's "..." menu and its hover buttons become two list slots the
WorkspaceBrowser entry declares, `sidebar.workspaces.session.menu.item` and
`sidebar.workspaces.session.row.action`. The shipped actions register from
apply the way a client plugin does: pin (menu 100, button 200), rename (200),
fork (300), archive (menu 400, button 100). An entry receives only the row
identity, reads the pin and archive sets through Set hooks its own face
injects, decides its own visibility, renders `MenuItemButton` or one icon
button, and dismisses the menu through the slot-level `useMenuOpenState`
hook bound from the row's render occurrence.
Each action's behavior lives in its injected callbacks. `UiWorkspace` gains
`pinSession` and `unpinSession`; the pin write into the saved orders happens
there, through the viewing-store instance the apply creates and hands the
browser's registration as its handle (the ui-layout pattern), reading the
memberships current at completion. The rename dialog and the row-action
notice are `shell.overlay` entries fed by apply-closure observables through
the faces' `hooks`; the archived notice switches the archived filter
directly. WorkspaceBrowser threads no action callbacks, renders no toast,
and hosts no rename dialog; its title double-click raises the same rename
request.
In ui-primitives, `MenuItemButton` is the plain `role="menuitem"` row for
menus whose rows are components: it shares a data row's markup and styling
and needs no shared state, because `Menu` decides the keyboard walk from the
DOM and now runs the post-selection focus return once on the list's click
bubble for every row kind. `Menu` accepts such rows as `children` beside
`items`, which becomes optional together with `onSelect`; `separatorBefore`
lets a row start a group with the same hairline a separator entry draws. The
context-based `MenuAction` goes away with its extension group.
2026-09-20 12:20:24 +08:00
Magolor
e5a72d73df
feat(client): add extensible session menu actions
2026-09-20 12:17:47 +08:00