From b77dbf8ad8b307a18115bdcf808572f9ad76f71e Mon Sep 17 00:00:00 2001 From: Tianyi Cui <53024+tianyicui@users.noreply.github.com> Date: Sun, 9 Aug 2026 00:06:26 +0800 Subject: [PATCH] fix(e2b): mount sandbox policy in live PTY test --- packages/e2b/e2b/package.json | 1 + packages/e2b/e2b/tests/composition.e2e.ts | 8 +++++--- pnpm-lock.yaml | 3 +++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/e2b/e2b/package.json b/packages/e2b/e2b/package.json index a77e3d9464..5abacb278a 100644 --- a/packages/e2b/e2b/package.json +++ b/packages/e2b/e2b/package.json @@ -35,6 +35,7 @@ "devDependencies": { "@deepseek-ai/dsh-invariants": "workspace:^", "@deepseek-ai/dsh-loader-smoke": "workspace:^", + "@deepseek-ai/dsh-sandbox-policy": "workspace:^", "cordis": "^4.0.0-rc.7" } } diff --git a/packages/e2b/e2b/tests/composition.e2e.ts b/packages/e2b/e2b/tests/composition.e2e.ts index 01316aeb2d..6da102a827 100644 --- a/packages/e2b/e2b/tests/composition.e2e.ts +++ b/packages/e2b/e2b/tests/composition.e2e.ts @@ -13,6 +13,7 @@ import { } from '@deepseek-ai/dsh-e2b' import PtyService, { PtySessionId } from '@deepseek-ai/dsh-pty' import { LocalPtyBackend } from '@deepseek-ai/dsh-pty-local' +import SandboxPolicyService from '@deepseek-ai/dsh-sandbox-policy' import { Session, SessionId } from '@deepseek-ai/dsh-session' import E2BSubprocessService from '@deepseek-ai/dsh-subprocess-e2b' @@ -51,10 +52,10 @@ describe.skipIf(!process.env.E2B_API_KEY)('E2B live Loader composition', () => { runtimeRoot: '/home/user/.dsh-e2b', getSandbox: async () => sandbox, } as never) - ctx.provide('sandboxPolicy', { - defaultMode: 'danger-full-access', + const sandboxPolicyFiber = await ctx.plugin(SandboxPolicyService, { + mode: 'danger-full-access', workspaceRoot: '/home/user', - } as never) + }) const ptyFiber = await ctx.plugin(PtyService) const subprocessFiber = await ctx.plugin(E2BSubprocessService) const node = await ctx.subprocess.resolveExecutable('node') @@ -114,6 +115,7 @@ describe.skipIf(!process.env.E2B_API_KEY)('E2B live Loader composition', () => { await session.close('environment test complete') await subprocessFiber.dispose() await ptyFiber.dispose() + await sandboxPolicyFiber.dispose() } finally { await sandbox.kill().catch(() => false) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fab00ba9cb..a92883786a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3156,6 +3156,9 @@ importers: '@deepseek-ai/dsh-loader-smoke': specifier: workspace:^ version: link:../../support/loader-smoke + '@deepseek-ai/dsh-sandbox-policy': + specifier: workspace:^ + version: link:../../sandbox/sandbox-policy cordis: specifier: ^4.0.0-rc.7 version: link:../../../vendor/cordis