fix(e2b): mount sandbox policy in live PTY test

This commit is contained in:
Tianyi Cui
2026-08-09 00:06:26 +08:00
parent 9f2a6d6fff
commit b77dbf8ad8
3 changed files with 9 additions and 3 deletions

View File

@@ -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"
}
}

View File

@@ -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)

3
pnpm-lock.yaml generated
View File

@@ -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