Yichen Jiang
0659ded55b
refactor(job-controller): drop the subagent ownership fence from job.kill
...
The registry's owner fence is the only access rule for a human kill: a job
is killable by the session whose list carries it, and a child session's own
jobs are no exception. The fence had pulled two implementation helpers out
of the Session Controller's package entry (plus a safe-host-export exception
for them) so the job controller could import them; both go, and the job
controller no longer depends on the agent registry or the Session Controller.
2026-09-21 16:34:15 +08:00
Yichen Jiang
2bba702a6e
Merge remote-tracking branch 'origin/master' into worktree/job-kill-delivery
2026-09-21 16:14:21 +08:00
yudshj
57bcfac402
Merge remote-tracking branch 'origin/master' into web/excel-frontend-preview
2026-09-21 15:54:49 +08:00
Yichen Jiang
2cbf8df484
Merge pull request #4412 from deepseek-harness/worktree/experimental-voice-input
...
feat(voice-input): add optional local SenseVoice dictation
2026-09-21 15:53:42 +08:00
yudshj
e7287e499e
Merge remote-tracking branch 'origin/master' into web/excel-frontend-preview
2026-09-21 15:47:19 +08:00
Yichen Jiang
080bea0b85
Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input
...
# Conflicts:
# scripts/gen-cordis-catalog.ts
2026-09-21 15:39:45 +08:00
Dudu-0223
a93aa38876
Merge branch 'master' into fix/team-task-board-read-only
2026-09-21 15:38:03 +08:00
yudshj
cbe0d84fc1
Merge remote-tracking branch 'origin/master' into web/excel-frontend-preview
2026-09-21 15:37:28 +08:00
imccyu
85f16860f5
Merge pull request #4758 from deepseek-harness/feat/chat-step-groups
...
feat(web): add definition-owned conversation groups
2026-09-21 15:29:30 +08:00
Yichen Jiang
4c7c7a552f
Merge remote-tracking branch 'origin/master' into worktree/job-kill-delivery
2026-09-21 15:26:10 +08:00
Yichen Jiang
bb20149360
refactor(shell): register foreground commands as jobs at start and drop the promotion protocol
...
With a job registry composed, tool-bash and tool-pwsh now register every
command with ctx.jobs as it starts and wait on the job with the registry's
own bounded wait: a command that finishes in time returns the ordinary
foreground result and its record is removed, one that outlives the timeout
returns the same job id it already had, and a kill from outside the call is
reported as `[stopped: <reason>]`. Nothing changes hands at the deadline, so
the shell seam loses `onExpiry: 'offer'`, `ShellExecution.promotion`, and
`ShellPromotionOffer`, and both local executors drop their offer arm.
The registry stays optional: the tools register a foreground-only definition
while no registry is composed and swap to the job-backed one inside a
`ctx.inject(['jobs'])` fork, so a composition without jobs keeps a plain bash
with no job tools in the model's schema. A refused registration at the start
(admission, no controller) runs under the executor's deadline kill, and a wait
that expires before the process spawned ends as the preparation timeout.
JobRegistry gains `remove(id, caller?)` and the `settled` event reports
`awaited`, so dsh-tool-jobs no longer keeps its own wait ledger; it withholds
notices for awaited settlements and for kills the model requested. The tool
catalog harvest composes the registry so the shipped schema stays documented,
and the two compaction fixtures move their context window from 10000 to 10300
tokens because the branch's larger tool schemas pushed their condensed history
over the old trigger, which requested a fourth scripted model call.
2026-09-21 15:23:08 +08:00
Yichen Jiang
262ee1bc23
fix(voice-input): address lifecycle and provider review feedback
2026-09-21 15:21:16 +08:00
Dudu-0223
253fb5e66d
fix(web): make Team tasks read-only and contain the panel
2026-09-21 15:09:07 +08:00
imccyu
a67ad91237
feat(client): expose indexed positions to group definitions
2026-09-21 14:56:14 +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
imccyu
b3549ee455
fix(client): preserve grouped chat navigation and view lifecycle
2026-09-21 13:30:25 +08:00
imccyu
c890269a19
feat(client): add definition-owned conversation groups
2026-09-21 13:30:25 +08:00
yudshj
9f6434d24b
refactor(web): move Office loading into its injected face
2026-09-21 13:20:45 +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
b42a93d62f
Merge remote-tracking branch 'origin/master' into worktree/job-kill-delivery
...
# Conflicts:
# docs/config-catalog.i18n.yaml
# docs/event-producer-consumer.i18n.yaml
# docs/module-graph.i18n.yaml
# docs/tool-catalog.i18n.yaml
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/src/commands.ts
# packages/client/ui-jobs/tests/browser-plugin.client.spec.ts
# packages/client/ui-jobs/tests/job-list-action.client.spec.tsx
# packages/shell/tool-bash/README.i18n.yaml
# packages/shell/tool-bash/src/background.ts
# packages/shell/tool-pwsh/src/background.ts
2026-09-21 12:40:44 +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
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
4625cd376f
Merge branch 'worktree/input-plugin-extension-hooks' into worktree/experimental-voice-input
2026-09-21 11:40:10 +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
Yichen Jiang
b3ff0f5dc7
Merge remote-tracking branch 'origin/master' into worktree/experimental-voice-input
...
# Conflicts:
# packages/client/ui-plugin-manager/tests/components.client.spec.tsx
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.md
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-primitives/tests/icons.client.spec.tsx
# packages/client/ui-primitives/tests/state-dot.client.spec.tsx
2026-09-21 10:56:23 +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
_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
_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