@deepseek-ai/dsh-e2b 0.0.1-rc.2 → 0.1.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +17 -24
- package/README.i18n.yaml +1 -1
- package/README.zh.md +1 -1
- package/lib/index.js +2 -2
- package/lib/types/index.d.ts +3 -3
- package/package.json +9 -9
package/LICENSE
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026
|
|
3
|
+
Copyright (c) 2026 DeepSeek
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.i18n.yaml
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/e2b/e2b/README.md
|
|
5
5
|
README.md: 7ade7c3d6522d8fa6d54d7011766238451b17c9a
|
|
6
|
-
README.zh.md:
|
|
6
|
+
README.zh.md: 3795ee74f6f9b43df0ba7ac3be6f28821a15598a
|
package/README.zh.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
## 生命周期与所有权
|
|
26
26
|
|
|
27
|
-
构造阶段会启动一次沙箱创建。服务在 `getSandbox()`
|
|
27
|
+
构造阶段会启动一次沙箱创建。服务在 `getSandbox()` 成功返回前,会创建 `cwd` 和私有的 `cwd/.dsh-e2b` 适配器状态目录,验证该预留路径是真实目录而非符号链接或其他文件类型,再把该目录的 mode 设为 `0700`。每个适配器内部的 E2B 命令 shell 都会获得一个位于根目录下、全新随机生成的 `HOME`,因此 SDK 固定使用的登录 shell 不会在控制命令之前解析可变用户主目录中的配置文件。
|
|
28
28
|
|
|
29
29
|
资源释放会先阻止继续获取新句柄,再等待初始化完成,然后删除沙箱。`SandboxNotFoundError` 表示沙箱已因超时或被另一个所有者删除,因此可视为完全停稳。初始目录设置失败时会尝试删除一次;若该尝试也失败,则由已配置的 E2B 超时约束沙箱的存活时间。提供方插件必须在该所有者之后加载,并在其之前 dispose(资源释放)。
|
|
30
30
|
|
package/lib/index.js
CHANGED
|
@@ -33,7 +33,7 @@ function e2bControlEnvs(overrides = {}) {
|
|
|
33
33
|
* timeout or disposal. Creation begins at plugin construction; adapters await
|
|
34
34
|
* {@link getSandbox} before their first operation.
|
|
35
35
|
*/
|
|
36
|
-
var
|
|
36
|
+
var E2BRuntime = class extends Service {
|
|
37
37
|
static Config = z.object({
|
|
38
38
|
apiKey: z.string(),
|
|
39
39
|
cwd: z.string().default("/home/user/workspace"),
|
|
@@ -114,4 +114,4 @@ var E2BSandboxService = class extends Service {
|
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
116
|
//#endregion
|
|
117
|
-
export { CommandExitError,
|
|
117
|
+
export { CommandExitError, E2BRuntime, E2BRuntime as default, FileNotFoundError, FileType, Sandbox, SandboxNotFoundError, e2bControlEnvs, quoteE2BShellArg };
|
package/lib/types/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface Config {
|
|
|
31
31
|
}
|
|
32
32
|
declare module '@deepseek-ai/cordis' {
|
|
33
33
|
interface Context {
|
|
34
|
-
e2b:
|
|
34
|
+
e2b: E2BRuntime;
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
@@ -39,7 +39,7 @@ declare module '@deepseek-ai/cordis' {
|
|
|
39
39
|
* timeout or disposal. Creation begins at plugin construction; adapters await
|
|
40
40
|
* {@link getSandbox} before their first operation.
|
|
41
41
|
*/
|
|
42
|
-
export declare class
|
|
42
|
+
export declare class E2BRuntime extends Service {
|
|
43
43
|
static Config: z<Config>;
|
|
44
44
|
/** Validated remote working directory shared by provider adapters. */
|
|
45
45
|
readonly cwd: string;
|
|
@@ -58,5 +58,5 @@ export declare class E2BSandboxService extends Service {
|
|
|
58
58
|
private validate;
|
|
59
59
|
private open;
|
|
60
60
|
}
|
|
61
|
-
export default
|
|
61
|
+
export default E2BRuntime;
|
|
62
62
|
//# sourceMappingURL=index.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-e2b",
|
|
3
3
|
"description": "Shared E2B sandbox lifecycle for DeepSeek Harness provider adapters",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0-rc.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -30,19 +30,19 @@
|
|
|
30
30
|
"lib/invariant.js",
|
|
31
31
|
"lib/types/**/*.d.ts"
|
|
32
32
|
],
|
|
33
|
-
"license": "
|
|
33
|
+
"license": "MIT",
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@deepseek-ai/dsh-invariants": "^0.0
|
|
36
|
-
"@deepseek-ai/cordis": "^4.0.1
|
|
35
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
36
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"e2b": "2.29.1",
|
|
40
|
-
"@deepseek-ai/schemastery": "^3.18.1
|
|
40
|
+
"@deepseek-ai/schemastery": "^3.18.1"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@deepseek-ai/dsh-invariants": "^0.0
|
|
44
|
-
"@deepseek-ai/dsh-
|
|
45
|
-
"@deepseek-ai/
|
|
46
|
-
"@deepseek-ai/
|
|
43
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
44
|
+
"@deepseek-ai/dsh-loader-smoke": "^0.1.0-rc.2",
|
|
45
|
+
"@deepseek-ai/dsh-sandbox-policy": "^0.1.0-rc.2",
|
|
46
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
47
47
|
}
|
|
48
48
|
}
|