@deepseek-ai/dsh-experimental-webworker-runtime 0.2.1-alpha.1 → 0.2.1-alpha.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/README.i18n.yaml +2 -2
- package/README.md +1 -0
- package/README.zh.md +1 -0
- package/lib/index.js +1 -0
- package/lib/types/node/builtin_modules/implemented/os.d.ts +1 -2
- package/lib/types/node/builtin_modules/mock/https.d.ts +13 -0
- package/lib/types/node/external_packages/pi-ai.d.ts +14 -12
- package/lib/types/worker-host.d.ts +1 -2
- package/lib/worker.js +138 -67
- package/package.json +28 -28
package/README.i18n.yaml
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
en: ca75c51c89c2c9b0
|
|
25
25
|
zh: 64715dc7e6d02f71
|
|
26
26
|
/deepseek-ai-dsh-experimental-webworker-runtime/known-limitations-and-deferred-work:
|
|
27
|
-
en:
|
|
28
|
-
zh:
|
|
27
|
+
en: 1bc41bcc7a7e065e
|
|
28
|
+
zh: 9e9558ff06c508bc
|
|
29
29
|
/deepseek-ai-dsh-experimental-webworker-runtime/known-limitations-and-deferred-work/dev-note:
|
|
30
30
|
en: e67f633dc6fe7773
|
|
31
31
|
zh: e88aeb617ffb74ea
|
package/README.md
CHANGED
|
@@ -54,6 +54,7 @@ None; this package neither assembles nor sends a provider request.
|
|
|
54
54
|
- **The worker composition writes plaintext session logs** (`compression: 'none'` boot patch): it carries no Zstandard codec, so exported logs are `.jsonl`, never `.jsonl.zstd`.
|
|
55
55
|
- **`node:dns/promises`, `node:vm`, `node:net`, `node:sqlite`, `node:worker_threads` are structural stubs**: every call reports its refusal on the console and throws. Rows needing native DNS, a real process, or realm isolation cannot run here.
|
|
56
56
|
- **`node:assert/strict` supports truthiness assertions only**: for falsy values, the callable default and `ok` throw `ERR_ASSERTION` with the supplied message or generic text, or rethrow a supplied Error unchanged. Other assertion APIs are absent.
|
|
57
|
+
- **Native TLS listeners require a Node Host**: the worker's `node:https.createServer` rejects activation rather than substituting plaintext. The preview's internal HTTP tunnel does not bind sockets; browser-facing HTTPS belongs to its deployment server.
|
|
57
58
|
- **Desktop product telemetry is unavailable**: `got.post` reports an explicit worker-host refusal. Got and its Node HTTP dependencies are excluded from the browser image; Desktop reporting remains disabled in the preview composition.
|
|
58
59
|
- **Host package commands are unavailable**: `execa` reports an explicit worker-host refusal; the preview cannot run pnpm, install plugins, or install native dependencies.
|
|
59
60
|
- **PTC Node programs are unavailable**: the process shim exposes `/dsh/bin/node` as its executable identity so the provider can activate, but the Worker has neither a Node executable nor `stripTypeScriptTypes`. Program execution fails before launching a child.
|
package/README.zh.md
CHANGED
|
@@ -54,6 +54,7 @@ kind: "package-library"
|
|
|
54
54
|
- **worker 组合写明文会话日志**(`compression: 'none'` boot patch):不带 Zstandard 编解码器,导出日志是 `.jsonl`,不会是 `.jsonl.zstd`。
|
|
55
55
|
- **`node:dns/promises`、`node:vm`、`node:net`、`node:sqlite`、`node:worker_threads` 是结构化 stub**:每次调用在 console 报告拒绝并抛出。需要原生 DNS、真进程或真 realm 隔离的行在此无法运行。
|
|
56
56
|
- **`node:assert/strict` 仅支持真值断言**:对于假值,可调用的默认导出和 `ok` 使用传入的消息或通用文本抛出 `ERR_ASSERTION`,或原样抛出传入的 Error。其他断言 API 未提供。
|
|
57
|
+
- **原生 TLS 监听器需要 Node Host**:worker 的 `node:https.createServer` 会拒绝激活,不会替换成明文。预览内部的 HTTP 隧道不绑定套接字;面向浏览器的 HTTPS 由部署服务器提供。
|
|
57
58
|
- **桌面产品埋点不可用**:`got.post` 明确报告 worker host 不支持该调用。浏览器镜像不包含 Got 及其 Node HTTP 依赖;预览组合不启用桌面上报。
|
|
58
59
|
- **宿主包管理命令不可用**:`execa` 明确报告 worker host 不支持该调用;预览无法运行 pnpm、安装插件或安装原生依赖。
|
|
59
60
|
- **PTC Node 程序不可用**:process shim 用 `/dsh/bin/node` 表示可执行文件身份,使 provider 能够激活,但 Worker 既没有 Node 可执行文件,也没有 `stripTypeScriptTypes`。程序执行会在启动子进程前失败。
|
package/lib/index.js
CHANGED
|
@@ -732,6 +732,7 @@ const MODULE_PROXIES = {
|
|
|
732
732
|
"tty": "./node/builtin_modules/implemented/tty.ts",
|
|
733
733
|
"node:zlib": "./node/builtin_modules/implemented/zlib.ts",
|
|
734
734
|
"node:child_process": "./node/builtin_modules/implemented/child_process.ts",
|
|
735
|
+
"node:https": "./node/builtin_modules/mock/https.ts",
|
|
735
736
|
"node:dns/promises": "./node/builtin_modules/mock/dns/promises.ts",
|
|
736
737
|
"dns/promises": "./node/builtin_modules/mock/dns/promises.ts",
|
|
737
738
|
"node:net": "./node/builtin_modules/mock/net.ts",
|
|
@@ -48,8 +48,7 @@ export declare function availableParallelism(): number;
|
|
|
48
48
|
export declare function cpus(): CpuInfo[];
|
|
49
49
|
/**
|
|
50
50
|
* Network interfaces.
|
|
51
|
-
* @returns an empty record —
|
|
52
|
-
* no LAN address is ever derived.
|
|
51
|
+
* @returns an empty record — a worker has no view of the host's network.
|
|
53
52
|
*/
|
|
54
53
|
export declare function networkInterfaces(): NodeJS.Dict<NetworkInterfaceInfo[]>;
|
|
55
54
|
/** OS constants: only the signal table is read (terminal signal name mapping). */
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reject native TLS instead of serving plaintext for an HTTPS configuration.
|
|
3
|
+
* @returns Never; a browser worker cannot bind a TLS socket.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createServer(): never;
|
|
6
|
+
/** CommonJS interop marker for the worker module loader. */
|
|
7
|
+
export declare const __esModule = true;
|
|
8
|
+
/** CommonJS exports for the worker's explicit TLS-listener refusal. */
|
|
9
|
+
declare const _default: {
|
|
10
|
+
createServer: typeof createServer;
|
|
11
|
+
};
|
|
12
|
+
export default _default;
|
|
13
|
+
//# sourceMappingURL=https.d.ts.map
|
|
@@ -6,26 +6,27 @@ export declare const createModels: (...args: never[]) => never;
|
|
|
6
6
|
export declare const getSupportedThinkingLevels: (...args: never[]) => never;
|
|
7
7
|
/** Context-overflow predicate (unavailable). */
|
|
8
8
|
export declare const isContextOverflow: (...args: never[]) => never;
|
|
9
|
+
/** Collection of every builtin provider (unavailable). */
|
|
10
|
+
export declare const builtinModels: (...args: never[]) => never;
|
|
9
11
|
/**
|
|
10
|
-
* Installed catalog providers, read while `llm-pi-ai` activates.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* Installed catalog providers, read while `llm-pi-ai` activates. `llm-pi-ai`
|
|
13
|
+
* registers the whole catalog as configurable the moment it mounts and rejects
|
|
14
|
+
* an empty registration, so these carry pi-ai's ids instead of being an empty
|
|
15
|
+
* list. Each has the api-key auth marker the adapter filters on, and no
|
|
16
|
+
* models, so every request path lands on a loud symbol above.
|
|
14
17
|
* @returns one entry per builtin provider.
|
|
15
18
|
*/
|
|
16
19
|
export declare function builtinProviders(): unknown[];
|
|
17
|
-
/**
|
|
18
|
-
* Provider route ids of the installed catalog. `llm-pi-ai` registers the whole
|
|
19
|
-
* catalog as configurable the moment it mounts and rejects an empty
|
|
20
|
-
* registration, so these are pi-ai's real ids rather than an empty list.
|
|
21
|
-
* @returns the builtin provider ids.
|
|
22
|
-
*/
|
|
23
|
-
export declare function getBuiltinProviders(): string[];
|
|
24
20
|
/**
|
|
25
21
|
* Models of one installed catalog provider.
|
|
26
22
|
* @returns no models.
|
|
27
23
|
*/
|
|
28
24
|
export declare function getBuiltinModels(): unknown[];
|
|
25
|
+
/**
|
|
26
|
+
* Models of every type of one installed catalog provider.
|
|
27
|
+
* @returns no models.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getAllBuiltinModels(): unknown[];
|
|
29
30
|
/** Anthropic messages API binding (unavailable). */
|
|
30
31
|
export declare const anthropicMessagesApi: (...args: never[]) => never;
|
|
31
32
|
/** OpenAI completions API binding (unavailable). */
|
|
@@ -40,9 +41,10 @@ declare const _default: {
|
|
|
40
41
|
createModels: (...args: never[]) => never;
|
|
41
42
|
getSupportedThinkingLevels: (...args: never[]) => never;
|
|
42
43
|
isContextOverflow: (...args: never[]) => never;
|
|
44
|
+
builtinModels: (...args: never[]) => never;
|
|
43
45
|
builtinProviders: typeof builtinProviders;
|
|
44
46
|
getBuiltinModels: typeof getBuiltinModels;
|
|
45
|
-
|
|
47
|
+
getAllBuiltinModels: typeof getAllBuiltinModels;
|
|
46
48
|
anthropicMessagesApi: (...args: never[]) => never;
|
|
47
49
|
openAICompletionsApi: (...args: never[]) => never;
|
|
48
50
|
openAIResponsesApi: (...args: never[]) => never;
|
|
@@ -84,8 +84,7 @@ export interface WorkerHostOptions {
|
|
|
84
84
|
readonly configPath?: string;
|
|
85
85
|
/**
|
|
86
86
|
* Inner arguments the tree parses. The default binds the web server to the
|
|
87
|
-
* loopback authority the tunnel synthesizes
|
|
88
|
-
* `networkInterfaces()` out of the trust snapshot.
|
|
87
|
+
* loopback authority the tunnel synthesizes.
|
|
89
88
|
*/
|
|
90
89
|
readonly cmdlineArgs?: readonly string[];
|
|
91
90
|
/** Port named on the default command line; defaults to {@link DEFAULT_PORT}. */
|
package/lib/worker.js
CHANGED
|
@@ -4825,7 +4825,7 @@ function ok(value, message) {
|
|
|
4825
4825
|
/** Callable truthiness assertion with the identical `ok` method; other assertion APIs are absent. */
|
|
4826
4826
|
const assert = Object.assign(ok, { ok });
|
|
4827
4827
|
//#endregion
|
|
4828
|
-
//#region ../../../node_modules/.pnpm/@noble+hashes@2.
|
|
4828
|
+
//#region ../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/_u64.js
|
|
4829
4829
|
const U32_MASK64 = /* @__PURE__ */ (() => BigInt(2 ** 32 - 1))();
|
|
4830
4830
|
const _32n = /* @__PURE__ */ BigInt(32);
|
|
4831
4831
|
function fromBig(n, le = false) {
|
|
@@ -4876,7 +4876,7 @@ const add4H = (low, Ah, Bh, Ch, Dh) => Ah + Bh + Ch + Dh + (low / 2 ** 32 | 0) |
|
|
|
4876
4876
|
const add5L = (Al, Bl, Cl, Dl, El) => (Al >>> 0) + (Bl >>> 0) + (Cl >>> 0) + (Dl >>> 0) + (El >>> 0);
|
|
4877
4877
|
const add5H = (low, Ah, Bh, Ch, Dh, Eh) => Ah + Bh + Ch + Dh + Eh + (low / 2 ** 32 | 0) | 0;
|
|
4878
4878
|
//#endregion
|
|
4879
|
-
//#region ../../../node_modules/.pnpm/@noble+hashes@2.
|
|
4879
|
+
//#region ../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/utils.js
|
|
4880
4880
|
/**
|
|
4881
4881
|
* Checks if something is Uint8Array. Be careful: nodejs Buffer will return true.
|
|
4882
4882
|
* @param a - value to test
|
|
@@ -4936,6 +4936,12 @@ function abytes(value, length, title = "") {
|
|
|
4936
4936
|
const aobject = (value, label) => {
|
|
4937
4937
|
if (value === null || typeof value !== "object" || Array.isArray(value)) throw new TypeError((label === "object" ? "" : `"${label}" `) + "expected object, got type=" + typeof value);
|
|
4938
4938
|
};
|
|
4939
|
+
const aopts = (value, label) => {
|
|
4940
|
+
aobject(value, label);
|
|
4941
|
+
const proto = Object.getPrototypeOf(value);
|
|
4942
|
+
if (proto !== Object.prototype && proto !== null) throw new TypeError(`"${label}" expected plain object`);
|
|
4943
|
+
if (Object.hasOwn(value, "__proto__")) throw new TypeError(`"${label}.__proto__" is not allowed`);
|
|
4944
|
+
};
|
|
4939
4945
|
/**
|
|
4940
4946
|
* Asserts a hash instance has not been destroyed or finished.
|
|
4941
4947
|
* @param instance - hash instance to validate
|
|
@@ -5033,7 +5039,7 @@ function rotl(word, shift) {
|
|
|
5033
5039
|
* @param defaults - base option object
|
|
5034
5040
|
* @param opts - user overrides
|
|
5035
5041
|
* @param title - label included in thrown override errors
|
|
5036
|
-
* @returns
|
|
5042
|
+
* @returns Fresh merged option object with a null prototype.
|
|
5037
5043
|
* @throws On wrong argument types. {@link TypeError}
|
|
5038
5044
|
* @example
|
|
5039
5045
|
* Merge user overrides onto default options.
|
|
@@ -5042,9 +5048,9 @@ function rotl(word, shift) {
|
|
|
5042
5048
|
* ```
|
|
5043
5049
|
*/
|
|
5044
5050
|
function checkOpts(defaults, opts, title = "opts") {
|
|
5045
|
-
|
|
5046
|
-
if (opts !== void 0)
|
|
5047
|
-
return Object.assign(defaults, opts);
|
|
5051
|
+
aopts(defaults, "defaults");
|
|
5052
|
+
if (opts !== void 0) aopts(opts, title);
|
|
5053
|
+
return Object.assign(Object.create(null), defaults, opts);
|
|
5048
5054
|
}
|
|
5049
5055
|
/**
|
|
5050
5056
|
* Creates a callable hash function from a stateful class constructor.
|
|
@@ -5102,7 +5108,7 @@ const oidNist = (suffix) => ({ oid: Uint8Array.from([
|
|
|
5102
5108
|
suffix
|
|
5103
5109
|
]) });
|
|
5104
5110
|
//#endregion
|
|
5105
|
-
//#region ../../../node_modules/.pnpm/@noble+hashes@2.
|
|
5111
|
+
//#region ../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/_md.js
|
|
5106
5112
|
/**
|
|
5107
5113
|
* Internal Merkle-Damgard hash utils.
|
|
5108
5114
|
* @module
|
|
@@ -5288,7 +5294,7 @@ const SHA512_IV = /* @__PURE__ */ Uint32Array.from([
|
|
|
5288
5294
|
327033209
|
|
5289
5295
|
]);
|
|
5290
5296
|
//#endregion
|
|
5291
|
-
//#region ../../../node_modules/.pnpm/@noble+hashes@2.
|
|
5297
|
+
//#region ../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/legacy.js
|
|
5292
5298
|
/**
|
|
5293
5299
|
|
|
5294
5300
|
SHA1 (RFC 3174), MD5 (RFC 1321), and RIPEMD160 legacy, weak hash functions.
|
|
@@ -5396,7 +5402,7 @@ var _SHA1 = class extends HashMD {
|
|
|
5396
5402
|
*/
|
|
5397
5403
|
const sha1 = /* @__PURE__ */ createHasher(() => new _SHA1());
|
|
5398
5404
|
//#endregion
|
|
5399
|
-
//#region ../../../node_modules/.pnpm/@noble+hashes@2.
|
|
5405
|
+
//#region ../../../node_modules/.pnpm/@noble+hashes@2.4.0/node_modules/@noble/hashes/sha2.js
|
|
5400
5406
|
/**
|
|
5401
5407
|
* SHA2 hash function. A.k.a. sha256, sha384, sha512, sha512_224, sha512_256.
|
|
5402
5408
|
* SHA256 is the fastest hash implementable in JS, even faster than Blake3.
|
|
@@ -12824,7 +12830,7 @@ var http_exports = /* @__PURE__ */ __exportAll({
|
|
|
12824
12830
|
Server: () => FakeServer,
|
|
12825
12831
|
ServerResponse: () => ServerResponse,
|
|
12826
12832
|
__esModule: () => true,
|
|
12827
|
-
createServer: () => createServer$
|
|
12833
|
+
createServer: () => createServer$2,
|
|
12828
12834
|
default: () => http_default,
|
|
12829
12835
|
get: () => get,
|
|
12830
12836
|
request: () => request,
|
|
@@ -12934,7 +12940,7 @@ var ServerResponse = class {};
|
|
|
12934
12940
|
* @param listener - the request listener the webserver installs.
|
|
12935
12941
|
* @returns the fake Server.
|
|
12936
12942
|
*/
|
|
12937
|
-
function createServer$
|
|
12943
|
+
function createServer$2(listener) {
|
|
12938
12944
|
if (listener !== void 0) {
|
|
12939
12945
|
captured = listener;
|
|
12940
12946
|
for (const resolve of waiting) resolve(listener);
|
|
@@ -12973,7 +12979,7 @@ const STATUS_CODES = {
|
|
|
12973
12979
|
};
|
|
12974
12980
|
/** CommonJS default export: the members `require()` hands a caller of this module. */
|
|
12975
12981
|
var http_default = {
|
|
12976
|
-
createServer: createServer$
|
|
12982
|
+
createServer: createServer$2,
|
|
12977
12983
|
request,
|
|
12978
12984
|
get,
|
|
12979
12985
|
STATUS_CODES,
|
|
@@ -12981,6 +12987,23 @@ var http_default = {
|
|
|
12981
12987
|
ServerResponse
|
|
12982
12988
|
};
|
|
12983
12989
|
//#endregion
|
|
12990
|
+
//#region src/node/builtin_modules/mock/https.ts
|
|
12991
|
+
/** Native TLS listeners are unavailable in a browser worker's HTTP tunnel. */
|
|
12992
|
+
var https_exports = /* @__PURE__ */ __exportAll({
|
|
12993
|
+
__esModule: () => true,
|
|
12994
|
+
createServer: () => createServer$1,
|
|
12995
|
+
default: () => https_default
|
|
12996
|
+
});
|
|
12997
|
+
/**
|
|
12998
|
+
* Reject native TLS instead of serving plaintext for an HTTPS configuration.
|
|
12999
|
+
* @returns Never; a browser worker cannot bind a TLS socket.
|
|
13000
|
+
*/
|
|
13001
|
+
function createServer$1() {
|
|
13002
|
+
throw notAvailableError("node:https", "createServer");
|
|
13003
|
+
}
|
|
13004
|
+
/** CommonJS exports for the worker's explicit TLS-listener refusal. */
|
|
13005
|
+
var https_default = { createServer: createServer$1 };
|
|
13006
|
+
//#endregion
|
|
12984
13007
|
//#region src/node/builtin_modules/implemented/module.ts
|
|
12985
13008
|
/**
|
|
12986
13009
|
* `node:module` for the worker: `createRequire` hands out the worker module
|
|
@@ -13150,8 +13173,7 @@ function cpus() {
|
|
|
13150
13173
|
}
|
|
13151
13174
|
/**
|
|
13152
13175
|
* Network interfaces.
|
|
13153
|
-
* @returns an empty record —
|
|
13154
|
-
* no LAN address is ever derived.
|
|
13176
|
+
* @returns an empty record — a worker has no view of the host's network.
|
|
13155
13177
|
*/
|
|
13156
13178
|
function networkInterfaces() {
|
|
13157
13179
|
return {};
|
|
@@ -16951,7 +16973,7 @@ var require_shell = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
16951
16973
|
]);
|
|
16952
16974
|
}));
|
|
16953
16975
|
//#endregion
|
|
16954
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
16976
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/lib/constants.js
|
|
16955
16977
|
var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
16956
16978
|
const WIN_SLASH = "\\\\/";
|
|
16957
16979
|
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
|
|
@@ -17120,7 +17142,7 @@ var require_constants = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17120
17142
|
};
|
|
17121
17143
|
}));
|
|
17122
17144
|
//#endregion
|
|
17123
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
17145
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/lib/utils.js
|
|
17124
17146
|
var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
17125
17147
|
const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants();
|
|
17126
17148
|
exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
|
|
@@ -17168,7 +17190,7 @@ var require_utils = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
17168
17190
|
};
|
|
17169
17191
|
}));
|
|
17170
17192
|
//#endregion
|
|
17171
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
17193
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/lib/scan.js
|
|
17172
17194
|
var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
17173
17195
|
const utils = require_utils();
|
|
17174
17196
|
const { CHAR_ASTERISK, CHAR_AT, CHAR_BACKWARD_SLASH, CHAR_COMMA, CHAR_DOT, CHAR_EXCLAMATION_MARK, CHAR_FORWARD_SLASH, CHAR_LEFT_CURLY_BRACE, CHAR_LEFT_PARENTHESES, CHAR_LEFT_SQUARE_BRACKET, CHAR_PLUS, CHAR_QUESTION_MARK, CHAR_RIGHT_CURLY_BRACE, CHAR_RIGHT_PARENTHESES, CHAR_RIGHT_SQUARE_BRACKET } = require_constants();
|
|
@@ -17197,7 +17219,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17197
17219
|
const scan = (input, options) => {
|
|
17198
17220
|
const opts = options || {};
|
|
17199
17221
|
const length = input.length - 1;
|
|
17200
|
-
const scanToEnd = opts.parts === true || opts.scanToEnd === true;
|
|
17222
|
+
const scanToEnd = opts.parts === true || opts.tokens === true || opts.scanToEnd === true;
|
|
17201
17223
|
const slashes = [];
|
|
17202
17224
|
const tokens = [];
|
|
17203
17225
|
const parts = [];
|
|
@@ -17300,14 +17322,18 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17300
17322
|
finished = true;
|
|
17301
17323
|
if (code === CHAR_EXCLAMATION_MARK && index === start) negatedExtglob = true;
|
|
17302
17324
|
if (scanToEnd === true) {
|
|
17325
|
+
let parens = 0;
|
|
17303
17326
|
while (eos() !== true && (code = advance())) {
|
|
17304
17327
|
if (code === CHAR_BACKWARD_SLASH) {
|
|
17305
17328
|
backslashes = token.backslashes = true;
|
|
17306
|
-
|
|
17329
|
+
advance();
|
|
17307
17330
|
continue;
|
|
17308
17331
|
}
|
|
17309
|
-
if (code ===
|
|
17310
|
-
|
|
17332
|
+
if (code === CHAR_LEFT_PARENTHESES) {
|
|
17333
|
+
parens++;
|
|
17334
|
+
continue;
|
|
17335
|
+
}
|
|
17336
|
+
if (code === CHAR_RIGHT_PARENTHESES && --parens === 0) {
|
|
17311
17337
|
finished = true;
|
|
17312
17338
|
break;
|
|
17313
17339
|
}
|
|
@@ -17355,13 +17381,18 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17355
17381
|
if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
|
|
17356
17382
|
isGlob = token.isGlob = true;
|
|
17357
17383
|
if (scanToEnd === true) {
|
|
17384
|
+
let parens = 1;
|
|
17358
17385
|
while (eos() !== true && (code = advance())) {
|
|
17359
|
-
if (code ===
|
|
17386
|
+
if (code === CHAR_BACKWARD_SLASH) {
|
|
17360
17387
|
backslashes = token.backslashes = true;
|
|
17361
|
-
|
|
17388
|
+
advance();
|
|
17362
17389
|
continue;
|
|
17363
17390
|
}
|
|
17364
|
-
if (code ===
|
|
17391
|
+
if (code === CHAR_LEFT_PARENTHESES) {
|
|
17392
|
+
parens++;
|
|
17393
|
+
continue;
|
|
17394
|
+
}
|
|
17395
|
+
if (code === CHAR_RIGHT_PARENTHESES && --parens === 0) {
|
|
17365
17396
|
finished = true;
|
|
17366
17397
|
break;
|
|
17367
17398
|
}
|
|
@@ -17424,7 +17455,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17424
17455
|
if (opts.parts === true || opts.tokens === true) {
|
|
17425
17456
|
let prevIndex;
|
|
17426
17457
|
for (let idx = 0; idx < slashes.length; idx++) {
|
|
17427
|
-
const n = prevIndex ? prevIndex + 1 : start;
|
|
17458
|
+
const n = prevIndex !== void 0 ? prevIndex + 1 : start;
|
|
17428
17459
|
const i = slashes[idx];
|
|
17429
17460
|
const value = input.slice(n, i);
|
|
17430
17461
|
if (opts.tokens) {
|
|
@@ -17435,18 +17466,19 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17435
17466
|
depth(tokens[idx]);
|
|
17436
17467
|
state.maxDepth += tokens[idx].depth;
|
|
17437
17468
|
}
|
|
17438
|
-
if (
|
|
17439
|
-
|
|
17440
|
-
|
|
17441
|
-
if (prevIndex && prevIndex + 1 < input.length) {
|
|
17442
|
-
const value = input.slice(prevIndex + 1);
|
|
17443
|
-
parts.push(value);
|
|
17444
|
-
if (opts.tokens) {
|
|
17445
|
-
tokens[tokens.length - 1].value = value;
|
|
17446
|
-
depth(tokens[tokens.length - 1]);
|
|
17447
|
-
state.maxDepth += tokens[tokens.length - 1].depth;
|
|
17469
|
+
if (i >= start) {
|
|
17470
|
+
parts.push(value);
|
|
17471
|
+
prevIndex = i;
|
|
17448
17472
|
}
|
|
17449
17473
|
}
|
|
17474
|
+
const n = prevIndex !== void 0 ? prevIndex + 1 : start;
|
|
17475
|
+
const value = input.slice(n);
|
|
17476
|
+
parts.push(value);
|
|
17477
|
+
if (opts.tokens && prevIndex && prevIndex + 1 < input.length) {
|
|
17478
|
+
tokens[tokens.length - 1].value = value;
|
|
17479
|
+
depth(tokens[tokens.length - 1]);
|
|
17480
|
+
state.maxDepth += tokens[tokens.length - 1].depth;
|
|
17481
|
+
}
|
|
17450
17482
|
state.slashes = slashes;
|
|
17451
17483
|
state.parts = parts;
|
|
17452
17484
|
}
|
|
@@ -17455,7 +17487,7 @@ var require_scan = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17455
17487
|
module.exports = scan;
|
|
17456
17488
|
}));
|
|
17457
17489
|
//#endregion
|
|
17458
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
17490
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/lib/parse.js
|
|
17459
17491
|
var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
17460
17492
|
const constants = require_constants();
|
|
17461
17493
|
const utils = require_utils();
|
|
@@ -17610,7 +17642,10 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17610
17642
|
}
|
|
17611
17643
|
}
|
|
17612
17644
|
};
|
|
17613
|
-
const
|
|
17645
|
+
const buildCharClassStar = (chars) => {
|
|
17646
|
+
return `${chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`}*`;
|
|
17647
|
+
};
|
|
17648
|
+
const getStarExtglobSequenceChars = (pattern) => {
|
|
17614
17649
|
let index = 0;
|
|
17615
17650
|
const chars = [];
|
|
17616
17651
|
while (index < pattern.length) {
|
|
@@ -17624,7 +17659,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17624
17659
|
index += match.end + 1;
|
|
17625
17660
|
}
|
|
17626
17661
|
if (chars.length < 1) return;
|
|
17627
|
-
return
|
|
17662
|
+
return chars;
|
|
17628
17663
|
};
|
|
17629
17664
|
const repeatedExtglobRecursion = (pattern) => {
|
|
17630
17665
|
let depth = 0;
|
|
@@ -17644,14 +17679,28 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
17644
17679
|
if (branches.length > 1) {
|
|
17645
17680
|
if (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)) return { risky: true };
|
|
17646
17681
|
}
|
|
17682
|
+
const safeChars = [];
|
|
17683
|
+
let sawStarSequence = false;
|
|
17684
|
+
let combinable = true;
|
|
17647
17685
|
for (const branch of branches) {
|
|
17648
|
-
const
|
|
17649
|
-
if (
|
|
17650
|
-
|
|
17651
|
-
|
|
17652
|
-
|
|
17686
|
+
const chars = getStarExtglobSequenceChars(branch);
|
|
17687
|
+
if (chars) {
|
|
17688
|
+
sawStarSequence = true;
|
|
17689
|
+
safeChars.push(...chars);
|
|
17690
|
+
continue;
|
|
17691
|
+
}
|
|
17692
|
+
const literal = normalizeSimpleBranch(branch);
|
|
17693
|
+
if (literal && literal.length === 1) {
|
|
17694
|
+
safeChars.push(literal);
|
|
17695
|
+
continue;
|
|
17696
|
+
}
|
|
17697
|
+
combinable = false;
|
|
17653
17698
|
if (repeatedExtglobRecursion(branch) > max) return { risky: true };
|
|
17654
17699
|
}
|
|
17700
|
+
if (sawStarSequence) return combinable ? {
|
|
17701
|
+
risky: true,
|
|
17702
|
+
safeOutput: buildCharClassStar([...new Set(safeChars)])
|
|
17703
|
+
} : { risky: true };
|
|
17655
17704
|
return { risky: false };
|
|
17656
17705
|
};
|
|
17657
17706
|
/**
|
|
@@ -18336,6 +18385,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18336
18385
|
rest = rest.slice(3);
|
|
18337
18386
|
consume("/**", 3);
|
|
18338
18387
|
}
|
|
18388
|
+
const isEnd = eos() || state.parens > 0 && rest === ")".repeat(state.parens) && !extglobs.some((extglob) => extglob.type === "negate");
|
|
18339
18389
|
if (prior.type === "bos" && eos()) {
|
|
18340
18390
|
prev.type = "globstar";
|
|
18341
18391
|
prev.value += value;
|
|
@@ -18345,7 +18395,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18345
18395
|
consume(value);
|
|
18346
18396
|
continue;
|
|
18347
18397
|
}
|
|
18348
|
-
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar &&
|
|
18398
|
+
if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && isEnd) {
|
|
18349
18399
|
state.output = state.output.slice(0, -(prior.output + prev.output).length);
|
|
18350
18400
|
prior.output = `(?:${prior.output}`;
|
|
18351
18401
|
prev.type = "globstar";
|
|
@@ -18510,7 +18560,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18510
18560
|
module.exports = parse;
|
|
18511
18561
|
}));
|
|
18512
18562
|
//#endregion
|
|
18513
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
18563
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/lib/picomatch.js
|
|
18514
18564
|
var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
18515
18565
|
const scan = require_scan();
|
|
18516
18566
|
const parse = require_parse();
|
|
@@ -18531,6 +18581,18 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18531
18581
|
* const isMatch = picomatch('*.!(*a)');
|
|
18532
18582
|
* console.log(isMatch('a.a')); //=> false
|
|
18533
18583
|
* console.log(isMatch('a.b')); //=> true
|
|
18584
|
+
*
|
|
18585
|
+
* // For environments without `node.js`, `picomatch/posix` provides you a dependency-free matcher, without automatic OS detection.
|
|
18586
|
+
* const picomatch = require('picomatch/posix');
|
|
18587
|
+
* // the same API, defaulting to posix paths
|
|
18588
|
+
* const isMatch = picomatch('a/*');
|
|
18589
|
+
* console.log(isMatch('a\\b')); //=> false
|
|
18590
|
+
* console.log(isMatch('a/b')); //=> true
|
|
18591
|
+
*
|
|
18592
|
+
* // you can still configure the matcher function to accept windows paths
|
|
18593
|
+
* const isMatch = picomatch('a/*', { options: windows });
|
|
18594
|
+
* console.log(isMatch('a\\b')); //=> true
|
|
18595
|
+
* console.log(isMatch('a/b')); //=> true
|
|
18534
18596
|
* ```
|
|
18535
18597
|
* @name picomatch
|
|
18536
18598
|
* @param {String|Array} `globs` One or more glob patterns.
|
|
@@ -18649,8 +18711,8 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18649
18711
|
* @return {Boolean}
|
|
18650
18712
|
* @api public
|
|
18651
18713
|
*/
|
|
18652
|
-
picomatch.matchBase = (input, glob, options) => {
|
|
18653
|
-
return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input));
|
|
18714
|
+
picomatch.matchBase = (input, glob, options, posix = options && options.windows) => {
|
|
18715
|
+
return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input, { windows: posix }));
|
|
18654
18716
|
};
|
|
18655
18717
|
/**
|
|
18656
18718
|
* Returns true if **any** of the given glob `patterns` match the specified `string`.
|
|
@@ -18810,7 +18872,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
18810
18872
|
module.exports = picomatch;
|
|
18811
18873
|
}));
|
|
18812
18874
|
//#endregion
|
|
18813
|
-
//#region ../../../node_modules/.pnpm/picomatch@4.0.
|
|
18875
|
+
//#region ../../../node_modules/.pnpm/picomatch@4.0.7/node_modules/picomatch/index.js
|
|
18814
18876
|
var require_picomatch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
18815
18877
|
const pico = require_picomatch$1();
|
|
18816
18878
|
const utils = require_utils();
|
|
@@ -21653,20 +21715,22 @@ const got = { post: notImplementedFail("got", "post") };
|
|
|
21653
21715
|
* statically at module scope, so the row cannot mount without it.
|
|
21654
21716
|
*
|
|
21655
21717
|
* Every symbol `llm-pi-ai` imports by name is present: a missing CommonJS symbol
|
|
21656
|
-
* would surface as `undefined` at call time instead of a link error. The
|
|
21657
|
-
*
|
|
21658
|
-
*
|
|
21659
|
-
*
|
|
21718
|
+
* would surface as `undefined` at call time instead of a link error. The row
|
|
21719
|
+
* reads the catalog while it activates, so the provider reader returns
|
|
21720
|
+
* providers without models and the two model readers return empty collections
|
|
21721
|
+
* instead of throwing: this deployment serves no pi-ai model. Everything on a
|
|
21722
|
+
* request path is loud.
|
|
21660
21723
|
*/
|
|
21661
21724
|
var pi_ai_exports = /* @__PURE__ */ __exportAll({
|
|
21662
21725
|
__esModule: () => true,
|
|
21663
21726
|
anthropicMessagesApi: () => anthropicMessagesApi,
|
|
21727
|
+
builtinModels: () => builtinModels,
|
|
21664
21728
|
builtinProviders: () => builtinProviders,
|
|
21665
21729
|
createModels: () => createModels,
|
|
21666
21730
|
createProvider: () => createProvider,
|
|
21667
21731
|
default: () => pi_ai_default,
|
|
21732
|
+
getAllBuiltinModels: () => getAllBuiltinModels,
|
|
21668
21733
|
getBuiltinModels: () => getBuiltinModels,
|
|
21669
|
-
getBuiltinProviders: () => getBuiltinProviders,
|
|
21670
21734
|
getSupportedThinkingLevels: () => getSupportedThinkingLevels,
|
|
21671
21735
|
isContextOverflow: () => isContextOverflow,
|
|
21672
21736
|
openAICompletionsApi: () => openAICompletionsApi,
|
|
@@ -21681,7 +21745,13 @@ const createModels = notImplementedFail(MODULE$1, "createModels");
|
|
|
21681
21745
|
const getSupportedThinkingLevels = notImplementedFail(MODULE$1, "getSupportedThinkingLevels");
|
|
21682
21746
|
/** Context-overflow predicate (unavailable). */
|
|
21683
21747
|
const isContextOverflow = notImplementedFail(MODULE$1, "isContextOverflow");
|
|
21684
|
-
/**
|
|
21748
|
+
/** Collection of every builtin provider (unavailable). */
|
|
21749
|
+
const builtinModels = notImplementedFail(MODULE$1, "builtinModels");
|
|
21750
|
+
/**
|
|
21751
|
+
* Builtin provider ids as pi-ai 0.84.2 listed them, in catalog order. The list
|
|
21752
|
+
* is a fixed copy that pi-ai upgrades do not regenerate, so it omits providers
|
|
21753
|
+
* added since.
|
|
21754
|
+
*/
|
|
21685
21755
|
const BUILTIN_PROVIDER_IDS = [
|
|
21686
21756
|
"amazon-bedrock",
|
|
21687
21757
|
"ant-ling",
|
|
@@ -21724,10 +21794,11 @@ const BUILTIN_PROVIDER_IDS = [
|
|
|
21724
21794
|
"zai-coding-cn"
|
|
21725
21795
|
];
|
|
21726
21796
|
/**
|
|
21727
|
-
* Installed catalog providers, read while `llm-pi-ai` activates.
|
|
21728
|
-
*
|
|
21729
|
-
*
|
|
21730
|
-
*
|
|
21797
|
+
* Installed catalog providers, read while `llm-pi-ai` activates. `llm-pi-ai`
|
|
21798
|
+
* registers the whole catalog as configurable the moment it mounts and rejects
|
|
21799
|
+
* an empty registration, so these carry pi-ai's ids instead of being an empty
|
|
21800
|
+
* list. Each has the api-key auth marker the adapter filters on, and no
|
|
21801
|
+
* models, so every request path lands on a loud symbol above.
|
|
21731
21802
|
* @returns one entry per builtin provider.
|
|
21732
21803
|
*/
|
|
21733
21804
|
function builtinProviders() {
|
|
@@ -21739,19 +21810,17 @@ function builtinProviders() {
|
|
|
21739
21810
|
}));
|
|
21740
21811
|
}
|
|
21741
21812
|
/**
|
|
21742
|
-
*
|
|
21743
|
-
*
|
|
21744
|
-
* registration, so these are pi-ai's real ids rather than an empty list.
|
|
21745
|
-
* @returns the builtin provider ids.
|
|
21813
|
+
* Models of one installed catalog provider.
|
|
21814
|
+
* @returns no models.
|
|
21746
21815
|
*/
|
|
21747
|
-
function
|
|
21748
|
-
return [
|
|
21816
|
+
function getBuiltinModels() {
|
|
21817
|
+
return [];
|
|
21749
21818
|
}
|
|
21750
21819
|
/**
|
|
21751
|
-
* Models of one installed catalog provider.
|
|
21820
|
+
* Models of every type of one installed catalog provider.
|
|
21752
21821
|
* @returns no models.
|
|
21753
21822
|
*/
|
|
21754
|
-
function
|
|
21823
|
+
function getAllBuiltinModels() {
|
|
21755
21824
|
return [];
|
|
21756
21825
|
}
|
|
21757
21826
|
/** Anthropic messages API binding (unavailable). */
|
|
@@ -21766,9 +21835,10 @@ var pi_ai_default = {
|
|
|
21766
21835
|
createModels,
|
|
21767
21836
|
getSupportedThinkingLevels,
|
|
21768
21837
|
isContextOverflow,
|
|
21838
|
+
builtinModels,
|
|
21769
21839
|
builtinProviders,
|
|
21770
21840
|
getBuiltinModels,
|
|
21771
|
-
|
|
21841
|
+
getAllBuiltinModels,
|
|
21772
21842
|
anthropicMessagesApi,
|
|
21773
21843
|
openAICompletionsApi,
|
|
21774
21844
|
openAIResponsesApi
|
|
@@ -21915,6 +21985,7 @@ const BUILTINS = {
|
|
|
21915
21985
|
fs: () => fs_exports,
|
|
21916
21986
|
"fs/promises": () => promises_exports$2,
|
|
21917
21987
|
http: () => http_exports,
|
|
21988
|
+
https: () => https_exports,
|
|
21918
21989
|
module: () => module_exports,
|
|
21919
21990
|
net: () => net_exports,
|
|
21920
21991
|
os: () => os_exports,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-experimental-webworker-runtime",
|
|
3
3
|
"description": "Browser-only harness runtime: in-memory VFS, module transform and loader, postMessage tunnel, and the dedicated Web Worker assembly, with the Node-compatibility layer that lets the host tree run unchanged",
|
|
4
|
-
"version": "0.2.1-alpha.
|
|
4
|
+
"version": "0.2.1-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -28,43 +28,43 @@
|
|
|
28
28
|
},
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@
|
|
31
|
+
"@deepseek-ai/dsh-util-crypto": "0.2.1-alpha.2",
|
|
32
|
+
"@noble/hashes": "^2.4.0",
|
|
32
33
|
"@yarnpkg/parsers": "^3.1.0",
|
|
33
|
-
"acorn": "^8.
|
|
34
|
+
"acorn": "^8.18.0",
|
|
34
35
|
"buffer": "^6.0.3",
|
|
35
|
-
"picomatch": "^4.0.
|
|
36
|
+
"picomatch": "^4.0.7",
|
|
36
37
|
"readable-stream": "^4.7.0",
|
|
37
|
-
"@deepseek-ai/dsh-
|
|
38
|
-
"@deepseek-ai/dsh-client-web": "0.2.1-alpha.1"
|
|
38
|
+
"@deepseek-ai/dsh-client-web": "0.2.1-alpha.2"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
|
|
42
41
|
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
43
|
-
"@deepseek-ai/
|
|
44
|
-
"@deepseek-ai/dsh-client-
|
|
45
|
-
"@deepseek-ai/dsh-
|
|
42
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
|
|
43
|
+
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.2",
|
|
44
|
+
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.2",
|
|
45
|
+
"@deepseek-ai/dsh-host-webserver": "0.2.1-alpha.2"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@types/picomatch": "^3.0.2",
|
|
49
|
-
"@types/readable-stream": "^4.0.24",
|
|
50
|
-
"chokidar": "^5.0.0",
|
|
51
48
|
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
52
49
|
"@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
|
|
53
|
-
"@deepseek-ai/dsh-api-gateway": "0.2.1-alpha.
|
|
54
|
-
"@deepseek-ai/dsh-app-boot": "0.2.1-alpha.
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-client-
|
|
57
|
-
"@deepseek-ai/dsh-client-
|
|
58
|
-
"@deepseek-ai/dsh-
|
|
59
|
-
"@deepseek-ai/dsh-host-webserver": "0.2.1-alpha.
|
|
60
|
-
"@deepseek-ai/dsh-sandbox-
|
|
61
|
-
"@deepseek-ai/dsh-
|
|
62
|
-
"@deepseek-ai/dsh-session": "0.2.1-alpha.
|
|
63
|
-
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.
|
|
64
|
-
"@deepseek-ai/dsh-session-persistence-jsonl": "0.2.1-alpha.
|
|
65
|
-
"@deepseek-ai/dsh-subagent": "0.2.1-alpha.
|
|
66
|
-
"@deepseek-ai/dsh-subprocess-local": "0.2.1-alpha.
|
|
67
|
-
"@deepseek-ai/node-addon-system": "~0.1.2"
|
|
50
|
+
"@deepseek-ai/dsh-api-gateway": "0.2.1-alpha.2",
|
|
51
|
+
"@deepseek-ai/dsh-app-boot": "0.2.1-alpha.2",
|
|
52
|
+
"@deepseek-ai/dsh-bash-sandbox": "0.2.1-alpha.2",
|
|
53
|
+
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.2",
|
|
54
|
+
"@deepseek-ai/dsh-client-file-upload": "0.2.1-alpha.2",
|
|
55
|
+
"@deepseek-ai/dsh-client-modules": "0.2.1-alpha.2",
|
|
56
|
+
"@deepseek-ai/dsh-host-webserver": "0.2.1-alpha.2",
|
|
57
|
+
"@deepseek-ai/dsh-sandbox-local": "0.2.1-alpha.2",
|
|
58
|
+
"@deepseek-ai/dsh-sandbox-policy": "0.2.1-alpha.2",
|
|
59
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.2",
|
|
60
|
+
"@deepseek-ai/dsh-session-projection": "0.2.1-alpha.2",
|
|
61
|
+
"@deepseek-ai/dsh-session-persistence-jsonl": "0.2.1-alpha.2",
|
|
62
|
+
"@deepseek-ai/dsh-subagent": "0.2.1-alpha.2",
|
|
63
|
+
"@deepseek-ai/dsh-subprocess-local": "0.2.1-alpha.2",
|
|
64
|
+
"@deepseek-ai/node-addon-system": "~0.1.2",
|
|
65
|
+
"@types/picomatch": "^4.0.3",
|
|
66
|
+
"@types/readable-stream": "^4.0.24",
|
|
67
|
+
"chokidar": "^5.0.0"
|
|
68
68
|
},
|
|
69
69
|
"files": [
|
|
70
70
|
"lib/index.js",
|