mektpoy
6e4eda77c8
Merge origin/master into fix/agent-loop-series-start-prefix-cache
2026-10-23 14:06:46 +08:00
mektpoy
6b9f7fcaa7
test(agent-loop): pin the unchanged-text series start in a recorded session
...
Add an authored headless scenario that appends a changed prompt and then replaces a surface node before the third step. The unchanged-rendering series start must keep both prompt versions and write no system/message event; the scenario fails against the pre-fix projection. Also tighten the tool-series-start assertions and make the prefix premise explicit.
2026-10-23 14:06:08 +08:00
imccyu
00e06cfac9
release(dsh): align master packages with 0.2.1-rc.3
2026-10-23 12:02:11 +08:00
imccyu
14f0b2aafe
Merge master into DSH 0.2.1-rc.3 synchronization branch
2026-10-23 11:56:34 +08:00
imccyu
d02ea370ee
release(dsh): 0.2.1-rc.3
2026-10-23 01:11:35 +08:00
Yichen Jiang
c1238b8792
Merge pull request #5263 from deepseek-harness/worktree/web-search-dynamic-tool-e26c2b
...
feat(web): withhold web_search and web_fetch from requests without credentials
2026-10-22 15:53:05 +08:00
Turtle
f60cbc909b
docs(boot): point remaining bundle-list references at official-bundles
...
Move the template value assertions into the official-bundles tests so a
template edit leaves app-boot tests untouched.
2026-10-22 12:05:04 +08:00
Yichen Jiang
d373778fd8
Merge remote-tracking branch 'origin/master' into worktree/web-search-dynamic-tool-e26c2b
...
# Conflicts:
# packages/web/tool-web/tests/tool-web.spec.ts
# snapshots/session/pi-ai-conversation-updates/session.v4.jsonl
2026-10-22 10:32:41 +08:00
Yichen Jiang
2bda39dc3a
Merge pull request #6024 from deepseek-harness/worktree/conditional-tools
...
feat(tools): add step-scoped conditional activation
2026-10-22 00:14:48 +08:00
Yichen Jiang
207b30d299
Merge remote-tracking branch 'origin/master' into worktree/dynamic-tool-activation-pr-64796e
...
# Conflicts:
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# docs/persistence-schema.json
# packages/core/agent-loop/src/agent.ts
# packages/core/agent-loop/src/tool-calls.ts
# packages/core/agent-loop/tests/tool-updates.spec.ts
# packages/core/system-prompt/README.i18n.yaml
# packages/core/system-prompt/README.md
# packages/core/system-prompt/README.zh.md
# packages/core/tool-executor-ptc/src/ptc.ts
# packages/core/tool-executor-ptc/tests/ptc.spec.ts
# packages/core/tools/README.i18n.yaml
# packages/core/tools/README.md
# packages/core/tools/README.zh.md
# packages/core/tools/src/index.ts
# packages/extensions/tool-cordis/src/api-catalog.ts
# packages/plan/plan-mode/tests/plan-mode.spec.ts
# snapshots/session/cordis-inspect-jsdoc/session.v4.jsonl
2026-10-21 23:32:15 +08:00
Yichen Jiang
dd568f76de
Merge remote-tracking branch 'origin/master' into worktree/composer-image-preupload
...
# Conflicts:
# packages/test-support/client-runtime/README.i18n.yaml
2026-10-21 23:17:57 +08:00
imccyu
ad340232fa
Merge pull request #6792 from deepseek-harness/when-access
...
feat(remote-access): 插件注册跟随访问状态(whenAccess),index 按 Peer 注入访问快照
2026-10-21 18:42:23 +08:00
imccyu
d5d43d931d
fix(remote-access): 按评审修正访问门控边界,插件导航改为可选依赖
...
- ui-entry-customization、voice-input 不再把 pluginNavigation 当必需服务:服务不在时隐藏「浏览插件」与「打开 / 查看详情」按钮,插件照常启动
- plugin-manager 每次授权时刷新已加载的列表
- settings-account 账号设置分区与 sign-in 一并按 account/watch 门控,revision 恢复 master 原样
- schedule 会话头部提醒另按会话 useAccess('schedule/list') 渲染
- 导出 staticAccessPlugin;补 whenAccess 归属、撤权与读者页启动测试
- 同步 README、web-server 子系统文档、webserver 包描述与 Agent Note
2026-10-21 17:57:52 +08:00
imccyu
09899f3a0f
feat(remote-access): 插件注册跟随访问状态(whenAccess),index 按 Peer 注入访问快照
...
- remote-access 新增 whenAccess / whenResourceAccess,ui-session、ui-workspace 各自提供 whenAccess
- schedule、plugin-manager、settings-general、settings-account、directory-picker-native 的入口包进 global whenAccess;消息反馈按钮按会话 useAccess 渲染
- webserver/index-inject 带 Peer,renderIndex / collectIndexInjections 需要 Peer,remote-access 注入 snapshotFor(peer.principal)
- client-test-runtime 新增 StaticRemoteAccess、staticAccessPlugin 与 TestClientOptions.access
- implemented Agent Note 2026-10-21-when-access 与升级指南 webserver-index-peer
Refs #2940
2026-10-21 17:57:51 +08:00
_Kerman
a53ecb2f3a
Merge origin/master into xtr/tool-executor-plugins
2026-10-21 15:56:44 +08:00
Yichen Jiang
9d0c97b9d2
feat(tools): admit conditional tools per step
...
ctx.tools.register(definition, { when }) adds a synchronous or asynchronous
condition. AgentLoop resolves conditions once per proposed step with the
agent, the model selection that step preparation captured, and the turn
signal, before prompt assembly and agent/pre-step. The resulting
ResolvedToolSet governs tool declarations, Native dispatch, PTC bindings,
and nested calls for that step and its retries, and the turn disposes it
when the proposal is rejected or fails, when no step opens, and after the
step. A false condition removes the tool everywhere; a thrown condition
ends the turn with TOOL_ACTIVATION_FAILED. Calls whose registration was
replaced or removed during the step return UNKNOWN_TOOL.
system-prompt/assemble now transforms PromptPresentation without a tool
array, so tool declarations stay provider-owned. exit_plan_mode is declared
only for steps whose selected plan state is active, the same state that
renders plan guidance; it still rejects a call before the selection is
logged.
Model selection stays as master defines it; this change adds no model
selection event or Agent field.
2026-10-21 15:02:29 +08:00
Yichen Jiang
1b608982cc
Merge remote-tracking branch 'origin/master' into worktree/composer-image-preupload
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# docs/persistence-schema.json
# packages/client/ui-conversation/README.i18n.yaml
2026-10-21 15:02:15 +08:00
Yichen Jiang
7a75f225c5
Merge remote-tracking branch 'origin/master' into worktree/web-search-dynamic-tool-e26c2b
...
# Conflicts:
# apps/cli/tests/profiles/headless/tests/fixtures/cli.patch.yml
# apps/cli/tests/profiles/sdk/keyless-smoke.e2e.ts
# apps/web/tests/expected/plugin-config/official.expected.md
# apps/web/tests/expected/plugin-manager/live-enabled.expected.md
# apps/web/tests/expected/plugin-manager/manager.expected.md
# apps/web/tests/expected/plugin-manager/refresh.expected.md
# apps/web/tests/plugin-config.e2e.ts
# apps/web/tests/plugin-manager.e2e.ts
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/module-graph.md
# docs/module-graph.zh.md
# docs/subsystems/web.i18n.yaml
# docs/subsystems/web.md
# docs/subsystems/web.zh.md
# packages/client/ui-settings-web-search/README.i18n.yaml
# packages/client/ui-settings-web-search/README.md
# packages/client/ui-settings-web-search/README.zh.md
# packages/web/tool-web/README.i18n.yaml
# packages/web/tool-web/README.md
# packages/web/tool-web/README.zh.md
# packages/web/web-search-deepseek/README.i18n.yaml
# packages/web/web-search-deepseek/README.md
# packages/web/web-search-deepseek/README.zh.md
# packages/web/web-search-deepseek/src/provider.ts
# packages/web/web-search-deepseek/tests/deepseek.spec.ts
# packages/web/web/src/index.ts
# snapshots/session/web-search-endpoint-guidance/session.v4.jsonl
2026-10-21 14:47:47 +08:00
Yichen Jiang
9be99a0e28
feat(web): upload composer images when they are added
...
An ordinary Session's composer now uploads each image draft through the
background upload queue as soon as it is added. The raw upload route stages
the body as a prompt image when the request names its media type: the Host
reads at most the per-image byte limit, then validates, normalizes, and
stores the image as prompt admission would. The prompt cites the receipt in
a file part; prompt admission resolves it to the stored image, applies the
image-input check, and counts stored images toward maxImagesPerMessage.
Send waits for every image receipt, and a failed image upload turns its
thumbnail into a retry control. Commands and subagent continuations keep
encoding images inline.
2026-10-21 13:50:19 +08:00
_Kerman
38b9a095f3
Merge remote-tracking branch 'origin/master' into xtr/tool-executor-plugins
...
# Conflicts:
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# packages/web/tool-web/tests/integration.spec.ts
# pnpm-lock.yaml
# scripts/check-workspace-constraints.spec.ts
# scripts/check-workspace-constraints.ts
2026-10-21 11:22:06 +08:00
_Kerman
cdb3a76b6a
test(agent): complete model ownership migration coverage
2026-10-21 10:43:20 +08:00
_Kerman
a9c006f9c3
refactor(agent): own model selection on each agent
2026-10-20 21:09:09 +08:00
_Kerman
639602e63a
Merge origin/master into xtr/session-model-selection
2026-10-20 20:57:11 +08:00
_Kerman
8b79a1ddcc
Merge origin/master into xtr/session-model-selection
2026-10-20 17:22:59 +08:00
Saafo
2e39b9c195
📝 docs(test-runtime): clarify bundle manifest lookup precedence
2026-10-20 17:12:52 +08:00
Stevring
70500d38b1
docs(test-runtime): keep bundle resolution details in usage
2026-10-20 12:49:45 +08:00
Stevring
e5132e269d
fix(test-runtime): resolve a bundle own browser entry
2026-10-20 12:47:24 +08:00
_Kerman
7d0301fe05
Merge master into scoped tool executors
2026-10-19 21:53:41 +08:00
_Kerman
e9784c073b
fix(tools): settle executor calls after unload and validate configuration
2026-10-19 16:32:29 +08:00
_Kerman
2f69e7f181
test: finish executor fixture migration and await readiness
2026-10-19 15:41:31 +08:00
_Kerman
7ebe78d231
test(tools): cover executor cancellation and model fixtures
2026-10-19 15:20:48 +08:00
_Kerman
31a49c6629
Merge remote-tracking branch 'origin/master' into xtr/tool-executor-plugins
...
# Conflicts:
# docs/capability-seams.i18n.yaml
# docs/tool-catalog.i18n.yaml
# packages/bundle/base/package.json
# packages/core/agent-loop/tests/serial-listener-review.spec.ts
# packages/core/agent-tool-presentation/package.json
# packages/experimental/auto-review/tests/auto-review.spec.ts
# packages/lsp/tool-lsp/package.json
# packages/subagent/tool-subagent/tests/list-models.spec.ts
# scripts/check-workspace-constraints.ts
# scripts/type-equiv.manifest.json
# tsconfig.base.json
2026-10-19 14:53:33 +08:00
_Kerman
ffe122ffd4
docs(tools): document executor plugins and migration
2026-10-19 14:50:00 +08:00
_Kerman
455686626d
refactor(tools): separate scoped executors from tool registration
2026-10-19 14:49:55 +08:00
_Kerman
c18f5bd3c0
Merge remote-tracking branch 'origin/master' into xtr/session-model-selection
...
# Conflicts:
# docs/capability-seams.i18n.yaml
# docs/capability-seams.md
# docs/capability-seams.zh.md
# docs/config-catalog.md
# docs/config-catalog.zh.md
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# 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
# packages/api/session-controller/src/types.ts
# packages/bundle/base/package.json
# packages/bundle/headless/README.i18n.yaml
# packages/bundle/headless/README.md
# packages/bundle/headless/README.zh.md
# packages/bundle/headless/package.json
# packages/bundle/headless/tsconfig.json
# packages/subagent/tool-subagent/tests/model-selection-settings.spec.ts
# scripts/type-equiv.manifest.json
2026-10-19 11:30:55 +08:00
_Kerman
955e600031
Merge master into session projection registration handles
2026-10-19 11:21:16 +08:00
imccyu
d1b9c04067
release(dsh): 0.2.1-rc.2
2026-10-17 15:10:31 +08:00
imccyu
c6e89e6755
release(dsh): 0.2.1-rc.1
2026-10-16 21:39:18 +08:00
_Kerman
3551b06833
test(cli): select the next-step effort before step preparation
...
agent/request now rejects reasoning-effort changes, so the keyless mock
records off effort with ctx.agentModel.select() after the first step's
tool call. The headless session expectation gains that model/selection
event, and the sdk-minimal built config dump lists dsh-agent-model.
2026-10-16 16:34:11 +08:00
imccyu
0a49d91bb2
release: setup next release version for dsh@0.2.1-alpha.5
2026-10-16 16:17:09 +08:00
_Kerman
b670701e5a
Merge remote-tracking branch 'origin/master' into xtr/session-model-selection
2026-10-16 15:42:50 +08:00
_Kerman
7b112942ab
refactor(agent-model): move Session model selection into its own package
...
Add @deepseek-ai/dsh-agent-model. It provides ctx.agentModel
(resolveForNextStep, select, applyConfiguredRoute) and owns the
modelSelection projection, which the Agent registry no longer registers.
dsh-agent-loop now injects agentModel; the base and SDK-minimal bundles
and the Python SDK runtime include it.
The provider keeps the projection registered until consumers that are
still unloading finish their cleanup. The model-switch notice becomes an
opt-in per-Agent plugin at @deepseek-ai/dsh-agent-model/notice, and
agent/request now also rejects reasoning-effort changes after step
preparation.
Mount the provider in every composition that loads dsh-agent-loop, and
update consumers, the switch-notice snapshot driver, docs, and the
upgrade guide.
2026-10-16 15:28:59 +08:00
imccyu
f2235d6c02
release(dsh): 0.2.1-alpha.4
2026-10-15 20:00:58 +08:00
_Kerman
90014a7508
Merge remote-tracking branch 'origin/master' into xtr/session-projection-registration-handles
...
# Conflicts:
# docs/tool-catalog.i18n.yaml
2026-10-15 18:26:22 +08:00
Yichen Jiang
36acfb1e88
release(dsh): 0.2.1-alpha.3
2026-10-14 19:38:37 +08:00
imccyu
0f7ac58213
feat(connection): isolate API operators without changing browser identity
2026-10-14 14:44:00 +08:00
_Kerman
307d63792e
Merge remote-tracking branch 'origin/master' into xtr/session-projection-registration-handles
...
# Conflicts:
# benchmarks/session-corpus/projection-list.worker.ts
# benchmarks/session-corpus/session-corpus.worker.ts
# docs/config-catalog.md
# docs/config-catalog.zh.md
# packages/api/session-controller/README.i18n.yaml
# packages/api/session-controller/src/index.ts
# packages/api/session-controller/tests/list-scheduling.host.spec.ts
# packages/client/ui-chat/README.i18n.yaml
# packages/client/ui-chat/README.md
# packages/client/ui-chat/README.zh.md
# packages/client/ui-chat/src/client/chat/use-chat-viewport.ts
# packages/experimental/client-ui-cot-translation/tests/activation.host.spec.ts
2026-10-14 11:12:24 +08:00
imccyu
b967475c66
feat(client-ui): add remote access hooks
2026-10-13 23:01:38 +08:00
imccyu
d7bd68ee7a
feat(remote-access): add rbac policies and gate non-owner calls and events
2026-10-13 23:01:37 +08:00
_Kerman
6b4452b4ec
Merge remote-tracking branch 'origin/master' into xtr/session-projection-registration-handles
...
# Conflicts:
# packages/subagent/subagent-dsh-sdk/tests/fixtures/loader/scoped-tool-subagent.ts
# packages/subagent/tool-subagent/src/index.ts
# packages/subagent/tool-subagent/tests/harness.ts
# packages/subagent/tool-subagent/tests/model-selection-settings.spec.ts
# packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
2026-10-13 17:44:01 +08:00