From 19dcdca7b63989806da7c12e6050592bcbedb11d Mon Sep 17 00:00:00 2001 From: Yichen Jiang Date: Thu, 22 Oct 2026 10:54:25 +0800 Subject: [PATCH] test(forge): compose the native tool executor in the session Loader test Tool registration and scoped executors are now separate plugins, so a composition without an executor cannot run the bash tool and the Agent goes idle before its first model request. The forge-session Loader composition now includes dsh-tool-executor-native, as the other real composition tests do. --- packages/experimental/forge-session/package.json | 1 + .../forge-session/tests/loader-composition.spec.ts | 2 ++ pnpm-lock.yaml | 3 +++ 3 files changed, 6 insertions(+) diff --git a/packages/experimental/forge-session/package.json b/packages/experimental/forge-session/package.json index 37716d0bb6..e4dbbdd6b6 100644 --- a/packages/experimental/forge-session/package.json +++ b/packages/experimental/forge-session/package.json @@ -57,6 +57,7 @@ "@deepseek-ai/dsh-subprocess-local": "workspace:*", "@deepseek-ai/dsh-system-prompt": "workspace:*", "@deepseek-ai/dsh-tool-bash": "workspace:*", + "@deepseek-ai/dsh-tool-executor-native": "workspace:*", "@deepseek-ai/dsh-tools": "workspace:*", "@deepseek-ai/dsh-working-directory": "workspace:*" } diff --git a/packages/experimental/forge-session/tests/loader-composition.spec.ts b/packages/experimental/forge-session/tests/loader-composition.spec.ts index 97c3312cb8..6e10ca4e69 100644 --- a/packages/experimental/forge-session/tests/loader-composition.spec.ts +++ b/packages/experimental/forge-session/tests/loader-composition.spec.ts @@ -22,6 +22,7 @@ import * as ShellEnv from '@deepseek-ai/dsh-shell-env' import LocalSubprocessRuntime from '@deepseek-ai/dsh-subprocess-local' import SystemPrompt from '@deepseek-ai/dsh-system-prompt' import * as ToolBash from '@deepseek-ai/dsh-tool-bash' +import * as NativeToolExecutor from '@deepseek-ai/dsh-tool-executor-native' import ToolRuntime from '@deepseek-ai/dsh-tools' import WorkingDirectoryService from '@deepseek-ai/dsh-working-directory' import ForgeSessionService from '../src/index.ts' @@ -140,6 +141,7 @@ suite('forge-session through a real cordis.yml Loader composition', () => { ['@deepseek-ai/dsh-fs-local', LocalFileSystem], ['@deepseek-ai/dsh-working-directory', WorkingDirectoryService], ['@deepseek-ai/dsh-tools', ToolRuntime], + ['@deepseek-ai/dsh-tool-executor-native', NativeToolExecutor], ['@deepseek-ai/dsh-agent', AgentRegistry], ['@deepseek-ai/dsh-agent-loop', AgentLoop], ['@deepseek-ai/dsh-subprocess-local', LocalSubprocessRuntime], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a9d8336c4..28460ff3cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9390,6 +9390,9 @@ importers: '@deepseek-ai/dsh-tool-bash': specifier: workspace:* version: link:../../shell/tool-bash + '@deepseek-ai/dsh-tool-executor-native': + specifier: workspace:* + version: link:../../core/tool-executor-native '@deepseek-ai/dsh-tools': specifier: workspace:* version: link:../../core/tools