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