fix(e2b): mount sandbox policy in live PTY test
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@deepseek-ai/dsh-invariants": "workspace:^",
|
"@deepseek-ai/dsh-invariants": "workspace:^",
|
||||||
"@deepseek-ai/dsh-loader-smoke": "workspace:^",
|
"@deepseek-ai/dsh-loader-smoke": "workspace:^",
|
||||||
|
"@deepseek-ai/dsh-sandbox-policy": "workspace:^",
|
||||||
"cordis": "^4.0.0-rc.7"
|
"cordis": "^4.0.0-rc.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import {
|
|||||||
} from '@deepseek-ai/dsh-e2b'
|
} from '@deepseek-ai/dsh-e2b'
|
||||||
import PtyService, { PtySessionId } from '@deepseek-ai/dsh-pty'
|
import PtyService, { PtySessionId } from '@deepseek-ai/dsh-pty'
|
||||||
import { LocalPtyBackend } from '@deepseek-ai/dsh-pty-local'
|
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 { Session, SessionId } from '@deepseek-ai/dsh-session'
|
||||||
import E2BSubprocessService from '@deepseek-ai/dsh-subprocess-e2b'
|
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',
|
runtimeRoot: '/home/user/.dsh-e2b',
|
||||||
getSandbox: async () => sandbox,
|
getSandbox: async () => sandbox,
|
||||||
} as never)
|
} as never)
|
||||||
ctx.provide('sandboxPolicy', {
|
const sandboxPolicyFiber = await ctx.plugin(SandboxPolicyService, {
|
||||||
defaultMode: 'danger-full-access',
|
mode: 'danger-full-access',
|
||||||
workspaceRoot: '/home/user',
|
workspaceRoot: '/home/user',
|
||||||
} as never)
|
})
|
||||||
const ptyFiber = await ctx.plugin(PtyService)
|
const ptyFiber = await ctx.plugin(PtyService)
|
||||||
const subprocessFiber = await ctx.plugin(E2BSubprocessService)
|
const subprocessFiber = await ctx.plugin(E2BSubprocessService)
|
||||||
const node = await ctx.subprocess.resolveExecutable('node')
|
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 session.close('environment test complete')
|
||||||
await subprocessFiber.dispose()
|
await subprocessFiber.dispose()
|
||||||
await ptyFiber.dispose()
|
await ptyFiber.dispose()
|
||||||
|
await sandboxPolicyFiber.dispose()
|
||||||
|
|
||||||
} finally {
|
} finally {
|
||||||
await sandbox.kill().catch(() => false)
|
await sandbox.kill().catch(() => false)
|
||||||
|
|||||||
Generated
+3
@@ -3156,6 +3156,9 @@ importers:
|
|||||||
'@deepseek-ai/dsh-loader-smoke':
|
'@deepseek-ai/dsh-loader-smoke':
|
||||||
specifier: workspace:^
|
specifier: workspace:^
|
||||||
version: link:../../support/loader-smoke
|
version: link:../../support/loader-smoke
|
||||||
|
'@deepseek-ai/dsh-sandbox-policy':
|
||||||
|
specifier: workspace:^
|
||||||
|
version: link:../../sandbox/sandbox-policy
|
||||||
cordis:
|
cordis:
|
||||||
specifier: ^4.0.0-rc.7
|
specifier: ^4.0.0-rc.7
|
||||||
version: link:../../../vendor/cordis
|
version: link:../../../vendor/cordis
|
||||||
|
|||||||
Reference in New Issue
Block a user