@cicctencent/agent-core 1.0.50 → 1.0.51
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/dist/cjs/agent/engine.js +1 -1
- package/dist/cjs/agent/engine.js.map +1 -1
- package/dist/cjs/agent/tool-section-builder.d.ts.map +1 -1
- package/dist/cjs/agent/tool-section-builder.js +1 -0
- package/dist/cjs/agent/tool-section-builder.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/run-capability/artifact-dir.d.ts +17 -0
- package/dist/cjs/run-capability/artifact-dir.d.ts.map +1 -0
- package/dist/cjs/run-capability/artifact-dir.js +89 -0
- package/dist/cjs/run-capability/artifact-dir.js.map +1 -0
- package/dist/cjs/run-capability/index.d.ts +2 -1
- package/dist/cjs/run-capability/index.d.ts.map +1 -1
- package/dist/cjs/run-capability/index.js +5 -1
- package/dist/cjs/run-capability/index.js.map +1 -1
- package/dist/cjs/run-capability/script-package-runner.d.ts +6 -2
- package/dist/cjs/run-capability/script-package-runner.d.ts.map +1 -1
- package/dist/cjs/run-capability/script-package-runner.js +70 -17
- package/dist/cjs/run-capability/script-package-runner.js.map +1 -1
- package/dist/cjs/run-capability/skill-script-runner.d.ts +6 -2
- package/dist/cjs/run-capability/skill-script-runner.d.ts.map +1 -1
- package/dist/cjs/run-capability/skill-script-runner.js +23 -11
- package/dist/cjs/run-capability/skill-script-runner.js.map +1 -1
- package/dist/cjs/run-capability/types.d.ts +46 -0
- package/dist/cjs/run-capability/types.d.ts.map +1 -1
- package/dist/cjs/sandbox/code-sandbox.d.ts +15 -0
- package/dist/cjs/sandbox/code-sandbox.d.ts.map +1 -1
- package/dist/cjs/sandbox/code-sandbox.js.map +1 -1
- package/dist/cjs/sandbox/env-guard.d.ts +50 -0
- package/dist/cjs/sandbox/env-guard.d.ts.map +1 -0
- package/dist/cjs/sandbox/env-guard.js +106 -0
- package/dist/cjs/sandbox/env-guard.js.map +1 -0
- package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/cjs/sandbox/local-sandbox.js +6 -2
- package/dist/cjs/sandbox/local-sandbox.js.map +1 -1
- package/dist/cjs/sandbox/types.d.ts +8 -0
- package/dist/cjs/sandbox/types.d.ts.map +1 -1
- package/dist/cjs/sandbox/types.js.map +1 -1
- package/dist/cjs/tool/types.d.ts +12 -0
- package/dist/cjs/tool/types.d.ts.map +1 -1
- package/dist/esm/agent/engine.js +1 -1
- package/dist/esm/agent/engine.js.map +1 -1
- package/dist/esm/agent/tool-section-builder.d.ts.map +1 -1
- package/dist/esm/agent/tool-section-builder.js +1 -0
- package/dist/esm/agent/tool-section-builder.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/run-capability/artifact-dir.d.ts +17 -0
- package/dist/esm/run-capability/artifact-dir.d.ts.map +1 -0
- package/dist/esm/run-capability/artifact-dir.js +51 -0
- package/dist/esm/run-capability/artifact-dir.js.map +1 -0
- package/dist/esm/run-capability/index.d.ts +2 -1
- package/dist/esm/run-capability/index.d.ts.map +1 -1
- package/dist/esm/run-capability/index.js +1 -0
- package/dist/esm/run-capability/index.js.map +1 -1
- package/dist/esm/run-capability/script-package-runner.d.ts +6 -2
- package/dist/esm/run-capability/script-package-runner.d.ts.map +1 -1
- package/dist/esm/run-capability/script-package-runner.js +70 -17
- package/dist/esm/run-capability/script-package-runner.js.map +1 -1
- package/dist/esm/run-capability/skill-script-runner.d.ts +6 -2
- package/dist/esm/run-capability/skill-script-runner.d.ts.map +1 -1
- package/dist/esm/run-capability/skill-script-runner.js +23 -11
- package/dist/esm/run-capability/skill-script-runner.js.map +1 -1
- package/dist/esm/run-capability/types.d.ts +46 -0
- package/dist/esm/run-capability/types.d.ts.map +1 -1
- package/dist/esm/sandbox/code-sandbox.d.ts +15 -0
- package/dist/esm/sandbox/code-sandbox.d.ts.map +1 -1
- package/dist/esm/sandbox/code-sandbox.js.map +1 -1
- package/dist/esm/sandbox/env-guard.d.ts +50 -0
- package/dist/esm/sandbox/env-guard.d.ts.map +1 -0
- package/dist/esm/sandbox/env-guard.js +100 -0
- package/dist/esm/sandbox/env-guard.js.map +1 -0
- package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -1
- package/dist/esm/sandbox/local-sandbox.js +6 -2
- package/dist/esm/sandbox/local-sandbox.js.map +1 -1
- package/dist/esm/sandbox/types.d.ts +8 -0
- package/dist/esm/sandbox/types.d.ts.map +1 -1
- package/dist/esm/sandbox/types.js.map +1 -1
- package/dist/esm/tool/types.d.ts +12 -0
- package/dist/esm/tool/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { CodeSandbox } from '../sandbox/code-sandbox.js';
|
|
2
2
|
import { type ScriptPackageRunner, type ScriptRunRequest, type ScriptRunResult } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* 沙箱供给(Sandbox Provider):同步实例或异步工厂。
|
|
5
|
+
* 工厂形式接收可选的运行标识(runId),使调用方可按运行复用同一沙箱
|
|
6
|
+
* (一次 Flow 运行 = 一个沙箱,续跑复用不新建);不接收时行为与旧版一致。
|
|
7
|
+
*/
|
|
8
|
+
export type SandboxProvider = CodeSandbox | ((runId?: string) => Promise<CodeSandbox>);
|
|
5
9
|
export declare class DefaultScriptPackageRunner implements ScriptPackageRunner {
|
|
6
10
|
private readonly sandboxProvider;
|
|
7
11
|
constructor(sandboxProvider: SandboxProvider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-package-runner.d.ts","sourceRoot":"","sources":["../../../src/run-capability/script-package-runner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"script-package-runner.d.ts","sourceRoot":"","sources":["../../../src/run-capability/script-package-runner.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAuB,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEnF,OAAO,EAGH,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,YAAY,CAAC;AAwDpB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACrB,WAAW,GACX,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAEjD,qBAAa,0BAA2B,YAAW,mBAAmB;IACtD,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;YAE/C,cAAc;IAKtB,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA6G1D;;;;;;;;;;;;;;;OAeG;YACW,eAAe;IAwH7B;;;;;OAKG;YACW,gBAAgB;IA2C9B,iCAAiC;YACnB,cAAc;IAc5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwCtB,8CAA8C;IAC9C,OAAO,CAAC,WAAW;CA0BtB"}
|
|
@@ -49,17 +49,55 @@ const fs = __importStar(require("fs/promises"));
|
|
|
49
49
|
const os = __importStar(require("os"));
|
|
50
50
|
const path = __importStar(require("path"));
|
|
51
51
|
const types_ts_1 = require("./types.js");
|
|
52
|
+
const artifact_dir_ts_1 = require("./artifact-dir.js");
|
|
53
|
+
/**
|
|
54
|
+
* 把 req.onLog 转换成沙箱流式入口所需的 handlers。
|
|
55
|
+
* 未提供 onLog 时返回 undefined(沙箱走原路径,零额外开销);
|
|
56
|
+
* 回调内部抛错被吞,避免日志消费方异常中断脚本执行。
|
|
57
|
+
*/
|
|
58
|
+
function buildStreamHandlers(onLog) {
|
|
59
|
+
if (!onLog)
|
|
60
|
+
return undefined;
|
|
61
|
+
const emit = (stream) => (text) => {
|
|
62
|
+
try {
|
|
63
|
+
onLog({ stream, text, ts: Date.now() });
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
/* 日志消费方异常不影响脚本执行 */
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
return { onStdoutLine: emit('stdout'), onStderrChunk: emit('stderr') };
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 调用沙箱的 executeFile,并在沙箱支持时透传流式日志 callbacks。
|
|
73
|
+
* CodeSandbox 契约的 opts 未声明 callbacks,故以 duck-typing 探测;
|
|
74
|
+
* 沙箱未实现时退化为普通 executeFile,调用方无感。
|
|
75
|
+
*/
|
|
76
|
+
async function executeFileWithStream(sandbox, filePath, lang, opts, onLog) {
|
|
77
|
+
const handlers = buildStreamHandlers(onLog);
|
|
78
|
+
const streamable = sandbox;
|
|
79
|
+
if (handlers && typeof streamable.executeFile === 'function') {
|
|
80
|
+
return streamable.executeFile(filePath, lang, { ...opts, callbacks: handlers });
|
|
81
|
+
}
|
|
82
|
+
return sandbox.executeFile(filePath, lang, opts);
|
|
83
|
+
}
|
|
52
84
|
class DefaultScriptPackageRunner {
|
|
53
85
|
sandboxProvider;
|
|
54
86
|
constructor(sandboxProvider) {
|
|
55
87
|
this.sandboxProvider = sandboxProvider;
|
|
56
88
|
}
|
|
57
|
-
async resolveSandbox() {
|
|
89
|
+
async resolveSandbox(runId) {
|
|
58
90
|
const p = this.sandboxProvider;
|
|
59
|
-
return typeof p === 'function' ? await p() : p;
|
|
91
|
+
return typeof p === 'function' ? await p(runId) : p;
|
|
60
92
|
}
|
|
61
93
|
async run(req) {
|
|
62
|
-
const sandbox = await this.resolveSandbox();
|
|
94
|
+
const sandbox = await this.resolveSandbox(req.runId);
|
|
95
|
+
// 业务 env 注入:CodeSandbox 接口未声明 injectEnv(agent-server 的 LocalSandbox 提供),
|
|
96
|
+
// duck-typing 安全调用;未实现该方法的自定义沙箱实现静默跳过。
|
|
97
|
+
const injectable = sandbox;
|
|
98
|
+
if (req.env && Object.keys(req.env).length && typeof injectable.injectEnv === 'function') {
|
|
99
|
+
injectable.injectEnv(req.env);
|
|
100
|
+
}
|
|
63
101
|
// 本地脚本包模式(flow 自带 scripts):entryFile 相对 bundleDir 解析,
|
|
64
102
|
// 并把入口所在目录树整体复制到沙箱、物化入口(注入 sb + 复制 sb.py),
|
|
65
103
|
// 再用 executeFile 直接运行该文件 —— 与 skill 整包模式等价,
|
|
@@ -81,6 +119,10 @@ class DefaultScriptPackageRunner {
|
|
|
81
119
|
}
|
|
82
120
|
// 2. artifact 挂载:复制到沙箱工作目录,构建 名称→文件名 映射
|
|
83
121
|
const artifactMap = await this.mountArtifacts(sandbox, req.artifactMounts || {});
|
|
122
|
+
// 2.5 产物目录就绪:spawn 前创建 <rootDir>/_artifacts,使脚本可经
|
|
123
|
+
// SB_ARTIFACT_DIR 直接写该目录,无需把产物写进脚本包目录。
|
|
124
|
+
const artifactDir = (0, artifact_dir_ts_1.resolveArtifactDir)(sandbox.rootDir, req.artifactDir);
|
|
125
|
+
await (0, artifact_dir_ts_1.ensureArtifactDir)(artifactDir);
|
|
84
126
|
// 3. shell 模式:将用户代码写入独立文件再 source,避免 prelude 干扰
|
|
85
127
|
let shellUserCodeFile = null;
|
|
86
128
|
if (req.language === 'shell') {
|
|
@@ -90,7 +132,13 @@ class DefaultScriptPackageRunner {
|
|
|
90
132
|
// 4. 注入 prelude(语言适配)
|
|
91
133
|
const finalCode = this.buildFinalCode(req.language, code, req.inputs || {}, artifactMap, shellUserCodeFile);
|
|
92
134
|
// 5. 执行
|
|
93
|
-
|
|
135
|
+
// 需要实时日志且沙箱实现了 executeStream 时走流式入口(等价 execute,多传 handlers);
|
|
136
|
+
// 否则回退 execute,行为与引入流式日志前完全一致。
|
|
137
|
+
const handlers = buildStreamHandlers(req.onLog);
|
|
138
|
+
const streamable = sandbox;
|
|
139
|
+
const result = handlers && typeof streamable.executeStream === 'function'
|
|
140
|
+
? await streamable.executeStream(finalCode, req.language, req.timeoutMs, handlers)
|
|
141
|
+
: await sandbox.execute(finalCode, req.language, req.timeoutMs);
|
|
94
142
|
// 6. 解析哨兵
|
|
95
143
|
const parsed = this.parseResult(result.stdout);
|
|
96
144
|
return {
|
|
@@ -101,6 +149,7 @@ class DefaultScriptPackageRunner {
|
|
|
101
149
|
exitCode: result.exitCode,
|
|
102
150
|
files: result.files,
|
|
103
151
|
duration: result.duration,
|
|
152
|
+
artifactDir,
|
|
104
153
|
error: result.exitCode !== 0
|
|
105
154
|
? result.stderr || `exit code ${result.exitCode}`
|
|
106
155
|
: parsed.parseError,
|
|
@@ -125,14 +174,14 @@ class DefaultScriptPackageRunner {
|
|
|
125
174
|
async runBundledEntry(req, sandbox) {
|
|
126
175
|
const rootDir = sandbox.rootDir;
|
|
127
176
|
const argv = Array.isArray(req.argv) ? req.argv : [];
|
|
128
|
-
const lang =
|
|
129
|
-
req.entryFile.endsWith('.py')
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
177
|
+
const lang = req.language ||
|
|
178
|
+
(req.entryFile.endsWith('.py')
|
|
179
|
+
? 'python'
|
|
180
|
+
: (req.entryFile.endsWith('.js') || req.entryFile.endsWith('.cjs'))
|
|
181
|
+
? 'nodejs'
|
|
182
|
+
: req.entryFile.endsWith('.sh')
|
|
183
|
+
? 'shell'
|
|
184
|
+
: 'python');
|
|
136
185
|
let preparedEntry;
|
|
137
186
|
try {
|
|
138
187
|
// 解析 bundleDir:优先磁盘,否则从 bundleFiles 清单在临时目录重建。
|
|
@@ -140,6 +189,10 @@ class DefaultScriptPackageRunner {
|
|
|
140
189
|
// 复制整个 bundleDir 目录树到沙箱根,保留 skills/<skill>/scripts 结构,
|
|
141
190
|
// 使脚本内 SKILLS_DIR / SKILL_DIR / WORKSPACE 回溯与 from lib import 成立。
|
|
142
191
|
await copyDirRecursive(bundleDir, rootDir);
|
|
192
|
+
// 产物目录就绪:spawn 前创建 <rootDir>/_artifacts,使脚本经 SB_ARTIFACT_DIR
|
|
193
|
+
// 写产物时落在沙箱根,而非脚本包目录内(包目录属运行输入)。
|
|
194
|
+
const artifactDir = (0, artifact_dir_ts_1.resolveArtifactDir)(rootDir, req.artifactDir);
|
|
195
|
+
await (0, artifact_dir_ts_1.ensureArtifactDir)(artifactDir);
|
|
143
196
|
// 入口文件在沙箱中的路径(复制后),确保 runDir 在 rootDir 内,
|
|
144
197
|
// 满足 prepareScriptInPackage 的安全校验(runDir 必须在 packageDir 内)。
|
|
145
198
|
const entryInSandbox = path.join(rootDir, req.entryFile);
|
|
@@ -157,11 +210,10 @@ class DefaultScriptPackageRunner {
|
|
|
157
210
|
// 物化入口:注入 sb preamble;运行时依赖不复制到入口目录,
|
|
158
211
|
// 由 executeFile 注入的 NODE_PATH/PYTHONPATH 指向沙箱唯一 _scripts 解析
|
|
159
212
|
preparedEntry = await sandbox.prepareScriptInPackage(lang, finalCode, path.dirname(entryInSandbox), rootDir);
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
});
|
|
213
|
+
// 流式日志透传:CodeSandbox.executeFile 的 opts 契约未声明 callbacks
|
|
214
|
+
// (agent-server 的 ProcessCodeSandbox 实际支持),故按需 duck-typing 调用,
|
|
215
|
+
// 保持公共接口不变——这也是「沙箱无流式能力时静默退化」的实现基础。
|
|
216
|
+
const result = await executeFileWithStream(sandbox, preparedEntry, lang, { timeout: req.timeoutMs, cwd: rootDir, args: argv }, req.onLog);
|
|
165
217
|
const parsed = this.parseResult(result.stdout);
|
|
166
218
|
return {
|
|
167
219
|
ok: result.exitCode === 0 && !parsed.parseError,
|
|
@@ -171,6 +223,7 @@ class DefaultScriptPackageRunner {
|
|
|
171
223
|
exitCode: result.exitCode,
|
|
172
224
|
files: result.files,
|
|
173
225
|
duration: result.duration,
|
|
226
|
+
artifactDir,
|
|
174
227
|
error: result.exitCode !== 0
|
|
175
228
|
? result.stderr || `exit code ${result.exitCode}`
|
|
176
229
|
: parsed.parseError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-package-runner.js","sourceRoot":"","sources":["../../../src/run-capability/script-package-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"script-package-runner.js","sourceRoot":"","sources":["../../../src/run-capability/script-package-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { CodeSandbox } from '../sandbox/code-sandbox.js';
|
|
2
2
|
import { type ScriptPackageRunner, type ScriptRunRequest, type ScriptRunResult } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
|
|
3
|
+
/**
|
|
4
|
+
* 沙箱供给(Sandbox Provider):同步实例或异步工厂。
|
|
5
|
+
* 工厂形式接收可选的运行标识(runId),使调用方可按运行复用同一沙箱
|
|
6
|
+
* (一次 Flow 运行 = 一个沙箱,续跑复用不新建);不接收时行为与旧版一致。
|
|
7
|
+
*/
|
|
8
|
+
export type SandboxProvider = CodeSandbox | ((runId?: string) => Promise<CodeSandbox>);
|
|
5
9
|
export declare class SkillScriptPackageRunner implements ScriptPackageRunner {
|
|
6
10
|
private readonly skillsRoot;
|
|
7
11
|
private readonly sandboxProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-script-runner.d.ts","sourceRoot":"","sources":["../../../src/run-capability/skill-script-runner.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-script-runner.d.ts","sourceRoot":"","sources":["../../../src/run-capability/skill-script-runner.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,YAAY,CAAC;AAGpB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACrB,WAAW,GACX,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAuBjD,qBAAa,wBAAyB,YAAW,mBAAmB;IAO5D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR7B;;;;OAIG;gBAEkB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,mBAAmB;YAGpC,cAAc;IAKtB,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1D;;;;;;;;OAQG;YACW,oBAAoB;YA6EpB,eAAe;CAwHhC"}
|
|
@@ -57,6 +57,7 @@ const fs = __importStar(require("fs/promises"));
|
|
|
57
57
|
const os = __importStar(require("os"));
|
|
58
58
|
const path = __importStar(require("path"));
|
|
59
59
|
const types_ts_1 = require("./types.js");
|
|
60
|
+
const artifact_dir_ts_1 = require("./artifact-dir.js");
|
|
60
61
|
/** 递归复制目录树(保留相对结构) */
|
|
61
62
|
async function copyDirRecursive(src, dest) {
|
|
62
63
|
await fs.mkdir(dest, { recursive: true });
|
|
@@ -89,9 +90,9 @@ class SkillScriptPackageRunner {
|
|
|
89
90
|
this.sandboxProvider = sandboxProvider;
|
|
90
91
|
this.fallback = fallback;
|
|
91
92
|
}
|
|
92
|
-
async resolveSandbox() {
|
|
93
|
+
async resolveSandbox(runId) {
|
|
93
94
|
const p = this.sandboxProvider;
|
|
94
|
-
return typeof p === 'function' ? await p() : p;
|
|
95
|
+
return typeof p === 'function' ? await p(runId) : p;
|
|
95
96
|
}
|
|
96
97
|
async run(req) {
|
|
97
98
|
// 整包模式:skillPath 存在时走 skill 整包执行
|
|
@@ -161,15 +162,25 @@ class SkillScriptPackageRunner {
|
|
|
161
162
|
return { kind: 'skillsRoot', src: pkgSrc };
|
|
162
163
|
}
|
|
163
164
|
async runSkillPackage(req) {
|
|
164
|
-
const sandbox = await this.resolveSandbox();
|
|
165
|
+
const sandbox = await this.resolveSandbox(req.runId);
|
|
166
|
+
// 业务 env 注入(与 DefaultScriptPackageRunner 同策略:duck-typing injectEnv)
|
|
167
|
+
const injectable = sandbox;
|
|
168
|
+
if (req.env && Object.keys(req.env).length && typeof injectable.injectEnv === 'function') {
|
|
169
|
+
injectable.injectEnv(req.env);
|
|
170
|
+
}
|
|
165
171
|
const rootDir = sandbox.rootDir;
|
|
166
172
|
// 1. 解析整包源(优先级:DB bundleFiles > 磁盘 bundleDir > skillsRoot,
|
|
167
173
|
// 含存在性校验与可诊断错误),把整个包目录树复制到沙箱 rootDir
|
|
168
174
|
const pkgSource = await this.resolvePackageSource(req);
|
|
175
|
+
// 产物目录就绪:spawn 前创建 <rootDir>/_artifacts,使脚本经 SB_ARTIFACT_DIR
|
|
176
|
+
// 写产物时落在沙箱根,而非脚本包目录内(包目录属运行输入)。
|
|
177
|
+
// 决议放在 try 之外,使结果与越界错误均能覆盖到调用方。
|
|
178
|
+
const artifactDir = (0, artifact_dir_ts_1.resolveArtifactDir)(rootDir, req.artifactDir);
|
|
169
179
|
let preparedEntry;
|
|
170
180
|
let result;
|
|
171
181
|
try {
|
|
172
182
|
await copyDirRecursive(pkgSource.src, rootDir);
|
|
183
|
+
await (0, artifact_dir_ts_1.ensureArtifactDir)(artifactDir);
|
|
173
184
|
if (pkgSource.fullBundle) {
|
|
174
185
|
console.log(`[fullBundle] 物化整个 bundleDir 到 ${rootDir}(skillPath=${req.skillPath},entry=${req.entry})`);
|
|
175
186
|
}
|
|
@@ -198,14 +209,14 @@ class SkillScriptPackageRunner {
|
|
|
198
209
|
}
|
|
199
210
|
const argv = Array.isArray(req.argv) ? req.argv : [];
|
|
200
211
|
const entrySrc = await fs.readFile(entryAbs, 'utf-8');
|
|
201
|
-
const lang =
|
|
202
|
-
req.entry.endsWith('.py')
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
212
|
+
const lang = req.language ||
|
|
213
|
+
(req.entry.endsWith('.py')
|
|
214
|
+
? 'python'
|
|
215
|
+
: req.entry.endsWith('.js')
|
|
216
|
+
? 'nodejs'
|
|
217
|
+
: req.entry.endsWith('.sh')
|
|
218
|
+
? 'shell'
|
|
219
|
+
: 'python');
|
|
209
220
|
preparedEntry = await sandbox.prepareScriptInPackage(lang, entrySrc, path.dirname(entryAbs), rootDir);
|
|
210
221
|
// 3. 执行已物化的入口文件(直接 spawn,cwd=rootDir,argv 透传)
|
|
211
222
|
// 注意:不能用 sandbox.execute(code, lang),因为 preparedEntry 是文件路径
|
|
@@ -234,6 +245,7 @@ class SkillScriptPackageRunner {
|
|
|
234
245
|
exitCode: result.exitCode,
|
|
235
246
|
files: result.files,
|
|
236
247
|
duration: result.duration,
|
|
248
|
+
artifactDir,
|
|
237
249
|
error: result.exitCode !== 0
|
|
238
250
|
? result.stderr || `exit code ${result.exitCode}`
|
|
239
251
|
: parsed.parseError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-script-runner.js","sourceRoot":"","sources":["../../../src/run-capability/skill-script-runner.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,oEAAoE;AACpE,+DAA+D;AAC/D,iDAAiD;AACjD,6DAA6D;AAC7D,2DAA2D;AAC3D,iEAAiE;AACjE,iEAAiE;AACjE,EAAE;AACF,uBAAuB;AACvB,sDAAsD;AACtD,wEAAwE;AACxE,6DAA6D;AAC7D,8CAA8C;AAC9C,gDAAgD;AAChD,EAAE;AACF,4DAA4D;AAC5D,UAAU;AACV,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/D,gDAAkC;AAClC,uCAAyB;AACzB,2CAA6B;AAG7B,yCAKoB;
|
|
1
|
+
{"version":3,"file":"skill-script-runner.js","sourceRoot":"","sources":["../../../src/run-capability/skill-script-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,48 @@ export interface ScriptRunRequest {
|
|
|
53
53
|
* Runner 将其复制到沙箱 rootDir,并把 名称→文件名 映射注入脚本。
|
|
54
54
|
*/
|
|
55
55
|
artifactMounts?: Record<string, string>;
|
|
56
|
+
/**
|
|
57
|
+
* 业务环境变量(如 WECOM_BOT_WEBHOOK 等),由 flow 编排配置声明、
|
|
58
|
+
* 平台代码透传(可信来源)。Runner 在执行前经沙箱 injectEnv 通道注入
|
|
59
|
+
* 子进程 env(绕过 SANDBOX_SAFE_ENV_KEYS 白名单),脚本内
|
|
60
|
+
* process.env / os.environ 读取。凭证不入脚本源码。
|
|
61
|
+
*/
|
|
62
|
+
env?: Record<string, string>;
|
|
63
|
+
/**
|
|
64
|
+
* 沙箱根下的产物目录绝对路径(Artifact Directory)。
|
|
65
|
+
* Runner MUST 在 spawn 脚本子进程前创建该目录,脚本应以此为产物落点,
|
|
66
|
+
* 而非用 `__dirname` 上溯写进脚本包目录(包目录属运行输入,非产物区)。
|
|
67
|
+
* 未传时 Runner 回退到 `<rootDir>/_artifacts`(Runner 不读取宿主进程的
|
|
68
|
+
* `SB_ARTIFACT_DIR`——该变量仅对沙箱子进程有意义)。
|
|
69
|
+
* 解析结果 MUST 位于沙箱 rootDir 之内,越界时 Runner 抛可诊断错误。
|
|
70
|
+
*/
|
|
71
|
+
artifactDir?: string;
|
|
72
|
+
/**
|
|
73
|
+
* 本次 Flow 运行的运行标识(Run Identifier)。
|
|
74
|
+
* 由编排层透传给沙箱工厂,使其可按运行复用同一沙箱
|
|
75
|
+
* (一次 Flow 运行 = 一个沙箱,续跑复用不新建);未提供时工厂行为不变。
|
|
76
|
+
*/
|
|
77
|
+
runId?: string;
|
|
56
78
|
/** 执行超时 (ms) */
|
|
57
79
|
timeoutMs?: number;
|
|
80
|
+
/**
|
|
81
|
+
* 可选:执行过程中的实时日志回调。
|
|
82
|
+
* stdout 逐行(以 \n 切分,结尾无换行的残留缓冲在进程 close 时补发)、
|
|
83
|
+
* stderr 按块回调;用于调用方在运行中实时展示脚本输出(如编排详情页的
|
|
84
|
+
* Stage 执行日志)。Runner 以 duck-typing 方式把该回调透传给沙箱的流式
|
|
85
|
+
* 入口(executeStream / executeFile 的 callbacks);沙箱未提供流式入口时
|
|
86
|
+
* 静默退化为无实时日志,不影响执行结果。
|
|
87
|
+
*/
|
|
88
|
+
onLog?: (entry: ScriptLogEntry) => void;
|
|
89
|
+
}
|
|
90
|
+
/** 脚本实时日志项 */
|
|
91
|
+
export interface ScriptLogEntry {
|
|
92
|
+
/** 输出来源 */
|
|
93
|
+
stream: 'stdout' | 'stderr';
|
|
94
|
+
/** 日志文本(stdout 为单行,不含结尾换行;stderr 为块) */
|
|
95
|
+
text: string;
|
|
96
|
+
/** 产生时间(epoch ms) */
|
|
97
|
+
ts: number;
|
|
58
98
|
}
|
|
59
99
|
/** 脚本运行结构化结果 */
|
|
60
100
|
export interface ScriptRunResult {
|
|
@@ -68,6 +108,12 @@ export interface ScriptRunResult {
|
|
|
68
108
|
files: string[];
|
|
69
109
|
duration: number;
|
|
70
110
|
error?: string;
|
|
111
|
+
/**
|
|
112
|
+
* 本次执行实际使用的产物目录绝对路径(Artifact Directory)。
|
|
113
|
+
* 由 Runner 解析并创建后回传,供调用方记录与后续消费;Runner 未能确定
|
|
114
|
+
* 沙箱 rootDir 时(如无沙箱的降级路径)为 undefined。
|
|
115
|
+
*/
|
|
116
|
+
artifactDir?: string;
|
|
71
117
|
}
|
|
72
118
|
/** 脚本包运行器(统一契约,实现可替换) */
|
|
73
119
|
export interface ScriptPackageRunner {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/run-capability/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,WAAW;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/run-capability/types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAEpD,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC,CAAC;IACH,WAAW;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC3C;AAED,cAAc;AACd,MAAM,WAAW,cAAc;IAC3B,WAAW;IACX,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAC;CACd;AAED,gBAAgB;AAChB,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,yBAAyB;AACzB,MAAM,WAAW,mBAAmB;IAChC,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxD"}
|
|
@@ -14,6 +14,21 @@ export interface CodeExecutionResult {
|
|
|
14
14
|
charts?: string[];
|
|
15
15
|
/** 执行耗时(毫秒) */
|
|
16
16
|
duration: number;
|
|
17
|
+
/**
|
|
18
|
+
* 执行边界等级(Enforcement Level)。
|
|
19
|
+
* `partial` = 仅执行前字符级字符串检查 + 子进程工作目录约定,无内核强制隔离;
|
|
20
|
+
* `full` = 底层运行时实际启用了内核强制隔离。当前实现恒为 `partial`。
|
|
21
|
+
*/
|
|
22
|
+
enforcement?: 'full' | 'partial';
|
|
23
|
+
/**
|
|
24
|
+
* 安全检查命中信息,涵盖「内容静态扫描」与「命令前置检查(路径验证、命令黑名单)」两类。
|
|
25
|
+
*/
|
|
26
|
+
securityCheck?: {
|
|
27
|
+
/** 是否命中安全检查规则 */
|
|
28
|
+
blocked: boolean;
|
|
29
|
+
/** 命中的规则类别(如「用户主目录路径」「沙箱外路径访问」「命令黑名单」) */
|
|
30
|
+
rule?: string;
|
|
31
|
+
};
|
|
17
32
|
}
|
|
18
33
|
/**
|
|
19
34
|
* 代码执行沙箱接口
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-sandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/code-sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvE,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"code-sandbox.d.ts","sourceRoot":"","sources":["../../../src/sandbox/code-sandbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIvE,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,aAAa;IACb,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,aAAa,CAAC,EAAE;QACd,iBAAiB;QACjB,OAAO,EAAE,OAAO,CAAC;QACjB,0CAA0C;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAID;;;;;GAKG;AACH,MAAM,WAAW,WAAY,SAAQ,OAAO;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE5F;;;;;;;;;;OAUG;IACH,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACzD,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACjC;AAID;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CA0C5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-sandbox.js","sourceRoot":"","sources":["../../../src/sandbox/code-sandbox.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;;
|
|
1
|
+
{"version":3,"file":"code-sandbox.js","sourceRoot":"","sources":["../../../src/sandbox/code-sandbox.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,mCAAmC;AACnC,+DAA+D;;AAmF/D,0DA0CC;AApDD,oCAAoC;AAEpC;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,OAAoB;IAC1D,OAAO;QACL,UAAU,EAAE;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE;gBACR,IAAI,EAAE,cAAc;gBACpB,WAAW,EACT,4HAA4H;gBAC9H,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;wBAC/D,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,WAAW,EAAE,iBAAiB;4BAC9B,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC;yBACpC;wBACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;qBAC9E;oBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;iBAC/B;aACF;SACF;QACD,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI;gBAAE,OAAO,8CAA8C,CAAC;YACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAoB,CAAC;YAClE,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3D,OAAO,6CAA6C,IAAI,EAAE,CAAC;YAC7D,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAExE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,OAAO,iCAAiC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,QAAQ,EAAE,SAAS;QACnB,UAAU,EAAE,KAAK;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** 清洗审计事件 */
|
|
2
|
+
export interface EnvScrubEvent {
|
|
3
|
+
/** 事件类型:清洗移除 / 显式豁免 */
|
|
4
|
+
action: 'scrubbed' | 'exempted';
|
|
5
|
+
/** 被处理的环境变量键名(不含值) */
|
|
6
|
+
key: string;
|
|
7
|
+
/** 豁免来源描述(仅 action='exempted' 时有意义) */
|
|
8
|
+
reason?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 注册清洗审计接收器。重复注册以最后一次为准。
|
|
12
|
+
*/
|
|
13
|
+
export declare function setEnvScrubAuditSink(sink: ((event: EnvScrubEvent) => void) | null): void;
|
|
14
|
+
/**
|
|
15
|
+
* 将环境变量键名按词边界分词。
|
|
16
|
+
*
|
|
17
|
+
* 分隔规则:`_`、 `-`、 `.`、 空白,以及大小写边界(含驼峰与连续大写缩写段边界)。
|
|
18
|
+
*
|
|
19
|
+
* 例:
|
|
20
|
+
* - `MY_API_KEY` -> ['MY','API','KEY']
|
|
21
|
+
* - `githubToken` -> ['github','Token']
|
|
22
|
+
* - `WECOM_BOT_WEBHOOK` -> ['WECOM','BOT','WEBHOOK'](无分词命中凭证词,放行)
|
|
23
|
+
* - `getAPIToken` -> ['get','API','Token'](连续大写段与后续词边界,命中 Token)
|
|
24
|
+
*
|
|
25
|
+
* 已知边界:纯大写粘连(无大小写边界可切分)如 `USERTOKEN`、`APIKEY` 无法自动
|
|
26
|
+
* 切分,不命中凭证词,予以放行(回归测试已固化)。
|
|
27
|
+
*/
|
|
28
|
+
export declare function splitEnvKeyWords(key: string): string[];
|
|
29
|
+
/**
|
|
30
|
+
* 判断环境变量键名是否为凭证类(须被清洗)。
|
|
31
|
+
*
|
|
32
|
+
* `SB_` 前缀判定为大小写不敏感,以兼容环境变量名大小写不敏感的平台(如 Windows)。
|
|
33
|
+
*
|
|
34
|
+
* @param key 环境变量键名
|
|
35
|
+
* @returns true 表示命中凭证模式且不在豁免前缀内
|
|
36
|
+
*/
|
|
37
|
+
export declare function isCredentialEnvKey(key: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* 凭证类环境变量清洗。
|
|
40
|
+
*
|
|
41
|
+
* @param env 待注入子进程的环境变量
|
|
42
|
+
* @param options.allowKeys 显式豁免的精确键名列表(业务确有需要时按精确键名放行)
|
|
43
|
+
* @param options.auditReason 豁免来源描述,用于审计留痕
|
|
44
|
+
* @returns 清洗后的新对象(不修改入参)
|
|
45
|
+
*/
|
|
46
|
+
export declare function scrubCredentialEnv(env: Record<string, string | undefined>, options?: {
|
|
47
|
+
allowKeys?: readonly string[];
|
|
48
|
+
auditReason?: string;
|
|
49
|
+
}): Record<string, string>;
|
|
50
|
+
//# sourceMappingURL=env-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env-guard.d.ts","sourceRoot":"","sources":["../../../src/sandbox/env-guard.ts"],"names":[],"mappings":"AAiCA,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;IAChC,sBAAsB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAExF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACvC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAuBxB"}
|