@cicctencent/agent-core 1.0.49 → 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.
Files changed (91) hide show
  1. package/dist/cjs/agent/engine.js +1 -1
  2. package/dist/cjs/agent/engine.js.map +1 -1
  3. package/dist/cjs/agent/tool-section-builder.d.ts.map +1 -1
  4. package/dist/cjs/agent/tool-section-builder.js +1 -0
  5. package/dist/cjs/agent/tool-section-builder.js.map +1 -1
  6. package/dist/cjs/index.d.ts +3 -1
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +8 -3
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/run-capability/artifact-dir.d.ts +17 -0
  11. package/dist/cjs/run-capability/artifact-dir.d.ts.map +1 -0
  12. package/dist/cjs/run-capability/artifact-dir.js +89 -0
  13. package/dist/cjs/run-capability/artifact-dir.js.map +1 -0
  14. package/dist/cjs/run-capability/index.d.ts +2 -1
  15. package/dist/cjs/run-capability/index.d.ts.map +1 -1
  16. package/dist/cjs/run-capability/index.js +5 -1
  17. package/dist/cjs/run-capability/index.js.map +1 -1
  18. package/dist/cjs/run-capability/script-package-runner.d.ts +6 -2
  19. package/dist/cjs/run-capability/script-package-runner.d.ts.map +1 -1
  20. package/dist/cjs/run-capability/script-package-runner.js +70 -17
  21. package/dist/cjs/run-capability/script-package-runner.js.map +1 -1
  22. package/dist/cjs/run-capability/skill-script-runner.d.ts +6 -2
  23. package/dist/cjs/run-capability/skill-script-runner.d.ts.map +1 -1
  24. package/dist/cjs/run-capability/skill-script-runner.js +23 -11
  25. package/dist/cjs/run-capability/skill-script-runner.js.map +1 -1
  26. package/dist/cjs/run-capability/types.d.ts +46 -0
  27. package/dist/cjs/run-capability/types.d.ts.map +1 -1
  28. package/dist/cjs/sandbox/code-sandbox.d.ts +15 -0
  29. package/dist/cjs/sandbox/code-sandbox.d.ts.map +1 -1
  30. package/dist/cjs/sandbox/code-sandbox.js.map +1 -1
  31. package/dist/cjs/sandbox/env-guard.d.ts +50 -0
  32. package/dist/cjs/sandbox/env-guard.d.ts.map +1 -0
  33. package/dist/cjs/sandbox/env-guard.js +106 -0
  34. package/dist/cjs/sandbox/env-guard.js.map +1 -0
  35. package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -1
  36. package/dist/cjs/sandbox/local-sandbox.js +6 -2
  37. package/dist/cjs/sandbox/local-sandbox.js.map +1 -1
  38. package/dist/cjs/sandbox/types.d.ts +8 -0
  39. package/dist/cjs/sandbox/types.d.ts.map +1 -1
  40. package/dist/cjs/sandbox/types.js.map +1 -1
  41. package/dist/cjs/tool/ask-user.d.ts.map +1 -1
  42. package/dist/cjs/tool/ask-user.js +12 -1
  43. package/dist/cjs/tool/ask-user.js.map +1 -1
  44. package/dist/cjs/tool/types.d.ts +12 -0
  45. package/dist/cjs/tool/types.d.ts.map +1 -1
  46. package/dist/esm/agent/engine.js +1 -1
  47. package/dist/esm/agent/engine.js.map +1 -1
  48. package/dist/esm/agent/tool-section-builder.d.ts.map +1 -1
  49. package/dist/esm/agent/tool-section-builder.js +1 -0
  50. package/dist/esm/agent/tool-section-builder.js.map +1 -1
  51. package/dist/esm/index.d.ts +3 -1
  52. package/dist/esm/index.d.ts.map +1 -1
  53. package/dist/esm/index.js +1 -0
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/run-capability/artifact-dir.d.ts +17 -0
  56. package/dist/esm/run-capability/artifact-dir.d.ts.map +1 -0
  57. package/dist/esm/run-capability/artifact-dir.js +51 -0
  58. package/dist/esm/run-capability/artifact-dir.js.map +1 -0
  59. package/dist/esm/run-capability/index.d.ts +2 -1
  60. package/dist/esm/run-capability/index.d.ts.map +1 -1
  61. package/dist/esm/run-capability/index.js +1 -0
  62. package/dist/esm/run-capability/index.js.map +1 -1
  63. package/dist/esm/run-capability/script-package-runner.d.ts +6 -2
  64. package/dist/esm/run-capability/script-package-runner.d.ts.map +1 -1
  65. package/dist/esm/run-capability/script-package-runner.js +70 -17
  66. package/dist/esm/run-capability/script-package-runner.js.map +1 -1
  67. package/dist/esm/run-capability/skill-script-runner.d.ts +6 -2
  68. package/dist/esm/run-capability/skill-script-runner.d.ts.map +1 -1
  69. package/dist/esm/run-capability/skill-script-runner.js +23 -11
  70. package/dist/esm/run-capability/skill-script-runner.js.map +1 -1
  71. package/dist/esm/run-capability/types.d.ts +46 -0
  72. package/dist/esm/run-capability/types.d.ts.map +1 -1
  73. package/dist/esm/sandbox/code-sandbox.d.ts +15 -0
  74. package/dist/esm/sandbox/code-sandbox.d.ts.map +1 -1
  75. package/dist/esm/sandbox/code-sandbox.js.map +1 -1
  76. package/dist/esm/sandbox/env-guard.d.ts +50 -0
  77. package/dist/esm/sandbox/env-guard.d.ts.map +1 -0
  78. package/dist/esm/sandbox/env-guard.js +100 -0
  79. package/dist/esm/sandbox/env-guard.js.map +1 -0
  80. package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -1
  81. package/dist/esm/sandbox/local-sandbox.js +6 -2
  82. package/dist/esm/sandbox/local-sandbox.js.map +1 -1
  83. package/dist/esm/sandbox/types.d.ts +8 -0
  84. package/dist/esm/sandbox/types.d.ts.map +1 -1
  85. package/dist/esm/sandbox/types.js.map +1 -1
  86. package/dist/esm/tool/ask-user.d.ts.map +1 -1
  87. package/dist/esm/tool/ask-user.js +12 -1
  88. package/dist/esm/tool/ask-user.js.map +1 -1
  89. package/dist/esm/tool/types.d.ts +12 -0
  90. package/dist/esm/tool/types.d.ts.map +1 -1
  91. 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
- export type SandboxProvider = CodeSandbox | (() => Promise<CodeSandbox>);
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,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACvB,MAAM,YAAY,CAAC;AAEpB,iCAAiC;AACjC,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzE,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;IA4E1D;;;;;;;;;;;;;;;OAeG;YACW,eAAe;IA6G7B;;;;;OAKG;YACW,gBAAgB;IA2C9B,iCAAiC;YACnB,cAAc;IAc5B;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAwCtB,8CAA8C;IAC9C,OAAO,CAAC,WAAW;CA0BtB"}
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
- const result = await sandbox.execute(finalCode, req.language, req.timeoutMs);
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 = (req.language ||
129
- req.entryFile.endsWith('.py')
130
- ? 'python'
131
- : req.entryFile.endsWith('.js')
132
- ? 'nodejs'
133
- : req.entryFile.endsWith('.sh')
134
- ? 'shell'
135
- : 'python');
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
- const result = await sandbox.executeFile(preparedEntry, lang, {
161
- timeout: req.timeoutMs,
162
- cwd: rootDir,
163
- args: argv,
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":";AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,+DAA+D;AAC/D,0CAA0C;AAC1C,6BAA6B;AAC7B,iCAAiC;AACjC,iDAAiD;AACjD,gCAAgC;AAChC,qCAAqC;AACrC,qCAAqC;AACrC,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/D,gDAAkC;AAClC,uCAAyB;AACzB,2CAA6B;AAG7B,yCAKoB;AAKpB,MAAa,0BAA0B;IACN;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEzD,KAAK,CAAC,cAAc;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAqB;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5C,sDAAsD;QACtD,2CAA2C;QAC3C,4CAA4C;QAC5C,uDAAuD;QACvD,8CAA8C;QAC9C,0DAA0D;QAC1D,IACI,GAAG,CAAC,SAAS;YACb,CAAC,GAAG,CAAC,IAAI;YACT,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAChE,CAAC;YACC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,SAAS;QACT,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,OAAO,EACP,GAAG,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;QAEF,gDAAgD;QAChD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC3B,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,CAAC,OAAO,EACf,eAAe,IAAI,CAAC,GAAG,EAAE,KAAK,CACjC,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACjC,GAAG,CAAC,QAAQ,EACZ,IAAI,EACJ,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB,WAAW,EACX,iBAAiB,CACpB,CAAC;QAEF,QAAQ;QACR,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAChC,SAAS,EACT,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,SAAS,CAChB,CAAC;QAEF,UAAU;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/C,OAAO;YACH,EAAE,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EACD,MAAM,CAAC,QAAQ,KAAK,CAAC;gBACjB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;gBACjD,CAAC,CAAC,MAAM,CAAC,UAAU;SAC9B,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,eAAe,CACzB,GAAqB,EACrB,OAAoB;QAEpB,MAAM,OAAO,GAAI,OAA0C,CAAC,OAAO,CAAC;QACpE,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAmB,CAAC,GAAG,CAAC,QAAQ;YACtC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC9B,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,QAAQ,CAAmB,CAAC;QAE1C,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACD,+CAA+C;YAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEnD,uDAAuD;YACvD,kEAAkE;YAClE,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE3C,0CAA0C;YAC1C,4DAA4D;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAE5D,gBAAgB;YAChB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,OAAO,EACP,GAAG,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;YAEF,6CAA6C;YAC7C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;YAC5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,EACP,eAAe,IAAI,CAAC,GAAG,EAAE,KAAK,CACjC,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;YAED,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACjC,IAAI,EACJ,QAAQ,EACR,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB,WAAW,EACX,iBAAiB,CACpB,CAAC;YAEF,qCAAqC;YACrC,4DAA4D;YAC5D,aAAa,GAAG,MACZ,OAQH,CAAC,sBAAsB,CACpB,IAAI,EACJ,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAC5B,OAAO,CACV,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE;gBAC1D,OAAO,EAAE,GAAG,CAAC,SAAS;gBACtB,GAAG,EAAE,OAAO;gBACZ,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EACD,MAAM,CAAC,QAAQ,KAAK,CAAC;oBACjB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;oBACjD,CAAC,CAAC,MAAM,CAAC,UAAU;aAC9B,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,WAAW;YACX,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B;YAC7B,IAAK,GAAmC,CAAC,cAAc,EAAE,CAAC;gBACtD,MAAM,EAAE;qBACH,EAAE,CAAE,GAAmC,CAAC,cAAe,EAAE;oBACtD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,IAAI;iBACd,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAqB;QAChD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO,GAAG,CAAC,SAAS,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,2BAA2B;YAC/B,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACjB,EAAE,CAAC,MAAM,EAAE,EACX,eAAe,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;YACF,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,6BAA6B;gBAC7B,IACI,YAAY,KAAK,WAAW;oBAC5B,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAClD,CAAC;oBACC,MAAM,IAAI,KAAK,CACX,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACzD,CAAC;gBACN,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACJ,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YACA,GAAmC,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1D,OAAO,GAAG,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CACX,oEAAoE,CACvE,CAAC;IACN,CAAC;IAED,iCAAiC;IACzB,KAAK,CAAC,cAAc,CACxB,OAAoB,EACpB,MAA8B;QAE9B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,cAAc,CAClB,QAAwB,EACxB,IAAY,EACZ,MAA+B,EAC/B,SAAiC,EACjC,iBAAiC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO;gBACH,8BAA8B;gBAC9B,oCAAoC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG;gBACjE,uCAAuC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;gBACvE,EAAE;gBACF,IAAI;aACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO;gBACH,sBAAsB,UAAU,GAAG;gBACnC,yBAAyB,aAAa,GAAG;gBACzC,EAAE;gBACF,IAAI;aACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,kDAAkD;QAClD,MAAM,OAAO,GAAG;YACZ,sBAAsB,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;YAC1D,yBAAyB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;SACnE,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,WAAW,QAAQ,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,8CAA8C;IACtC,WAAW,CAAC,MAAc;QAK9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAe,CAAC;QACpB,IAAI,UAA8B,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,SAAS;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,6BAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,UAAU,GAAG,WAAW,6BAAkB,UACtC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC7C,EAAE,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAChE,CAAC;CACJ;AAzVD,gEAyVC;AAED,iDAAiD;AACjD,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACtB,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"script-package-runner.js","sourceRoot":"","sources":["../../../src/run-capability/script-package-runner.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,sDAAsD;AACtD,+DAA+D;AAC/D,0CAA0C;AAC1C,6BAA6B;AAC7B,iCAAiC;AACjC,iDAAiD;AACjD,gCAAgC;AAChC,qCAAqC;AACrC,qCAAqC;AACrC,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE/D,gDAAkC;AAClC,uCAAyB;AACzB,2CAA6B;AAG7B,yCAMoB;AACpB,uDAA0E;AAE1E;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,KAAuC;IAGhE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,IAAI,GAAG,CAAC,MAA2B,EAAE,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;QAC3D,IAAI,CAAC;YACD,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,oBAAoB;QACxB,CAAC;IACL,CAAC,CAAC;IACF,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC3E,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAChC,OAAoB,EACpB,QAAgB,EAChB,IAAoB,EACpB,IAAyD,EACzD,KAAuC;IAEvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,OAclB,CAAC;IACF,IAAI,QAAQ,IAAI,OAAO,UAAU,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3D,OAAO,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAWD,MAAa,0BAA0B;IACN;IAA7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAEzD,KAAK,CAAC,cAAc,CAAC,KAAc;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/B,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAqB;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErD,yEAAyE;QACzE,uCAAuC;QACvC,MAAM,UAAU,GAAG,OAElB,CAAC;QACF,IAAI,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,OAAO,UAAU,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACvF,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC;QAED,sDAAsD;QACtD,2CAA2C;QAC3C,4CAA4C;QAC5C,uDAAuD;QACvD,8CAA8C;QAC9C,0DAA0D;QAC1D,IACI,GAAG,CAAC,SAAS;YACb,CAAC,GAAG,CAAC,IAAI;YACT,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAChE,CAAC;YACC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,SAAS;QACT,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC;QAED,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,OAAO,EACP,GAAG,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;QAEF,kDAAkD;QAClD,2CAA2C;QAC3C,MAAM,WAAW,GAAG,IAAA,oCAAkB,EAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACzE,MAAM,IAAA,mCAAiB,EAAC,WAAW,CAAC,CAAC;QAErC,gDAAgD;QAChD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;QAC5C,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC3B,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,CAAC,OAAO,EACf,eAAe,IAAI,CAAC,GAAG,EAAE,KAAK,CACjC,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACjC,GAAG,CAAC,QAAQ,EACZ,IAAI,EACJ,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB,WAAW,EACX,iBAAiB,CACpB,CAAC;QAEF,QAAQ;QACR,6DAA6D;QAC7D,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,OAUlB,CAAC;QACF,MAAM,MAAM,GACR,QAAQ,IAAI,OAAO,UAAU,CAAC,aAAa,KAAK,UAAU;YACtD,CAAC,CAAC,MAAM,UAAU,CAAC,aAAa,CAC1B,SAAS,EACT,GAAG,CAAC,QAAQ,EACZ,GAAG,CAAC,SAAS,EACb,QAAQ,CACX;YACH,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAExE,UAAU;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/C,OAAO;YACH,EAAE,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW;YACX,KAAK,EACD,MAAM,CAAC,QAAQ,KAAK,CAAC;gBACjB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;gBACjD,CAAC,CAAC,MAAM,CAAC,UAAU;SAC9B,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,eAAe,CACzB,GAAqB,EACrB,OAAoB;QAEpB,MAAM,OAAO,GAAI,OAA0C,CAAC,OAAO,CAAC;QACpE,MAAM,IAAI,GAAa,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAmB,GAAG,CAAC,QAAQ;YACrC,CAAC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAE,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACjE,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;wBAC9B,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,aAAiC,CAAC;QACtC,IAAI,CAAC;YACD,+CAA+C;YAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEnD,uDAAuD;YACvD,kEAAkE;YAClE,MAAM,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAE3C,6DAA6D;YAC7D,gCAAgC;YAChC,MAAM,WAAW,GAAG,IAAA,oCAAkB,EAAC,OAAO,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACjE,MAAM,IAAA,mCAAiB,EAAC,WAAW,CAAC,CAAC;YAErC,0CAA0C;YAC1C,4DAA4D;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAE5D,gBAAgB;YAChB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CACzC,OAAO,EACP,GAAG,CAAC,cAAc,IAAI,EAAE,CAC3B,CAAC;YAEF,6CAA6C;YAC7C,IAAI,iBAAiB,GAAkB,IAAI,CAAC;YAC5C,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnB,iBAAiB,GAAG,IAAI,CAAC,IAAI,CACzB,OAAO,EACP,eAAe,IAAI,CAAC,GAAG,EAAE,KAAK,CACjC,CAAC;gBACF,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC7D,CAAC;YAED,4CAA4C;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACjC,IAAI,EACJ,QAAQ,EACR,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB,WAAW,EACX,iBAAiB,CACpB,CAAC;YAEF,qCAAqC;YACrC,4DAA4D;YAC5D,aAAa,GAAG,MACZ,OAQH,CAAC,sBAAsB,CACpB,IAAI,EACJ,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAC5B,OAAO,CACV,CAAC;YAEF,wDAAwD;YACxD,+DAA+D;YAC/D,oCAAoC;YACpC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACtC,OAAO,EACP,aAAa,EACb,IAAI,EACJ,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EACpD,GAAG,CAAC,KAAK,CACZ,CAAC;YAEF,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO;gBACH,EAAE,EAAE,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU;gBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,WAAW;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,WAAW;gBACX,KAAK,EACD,MAAM,CAAC,QAAQ,KAAK,CAAC;oBACjB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,aAAa,MAAM,CAAC,QAAQ,EAAE;oBACjD,CAAC,CAAC,MAAM,CAAC,UAAU;aAC9B,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,WAAW;YACX,IAAI,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,6BAA6B;YAC7B,IAAK,GAAmC,CAAC,cAAc,EAAE,CAAC;gBACtD,MAAM,EAAE;qBACH,EAAE,CAAE,GAAmC,CAAC,cAAe,EAAE;oBACtD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,IAAI;iBACd,CAAC;qBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAqB;QAChD,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC;gBACD,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO,GAAG,CAAC,SAAS,CAAC;YACzB,CAAC;YAAC,MAAM,CAAC;gBACL,2BAA2B;YAC/B,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CACjB,EAAE,CAAC,MAAM,EAAE,EACX,eAAe,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CACrE,CAAC;YACF,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACxC,6BAA6B;gBAC7B,IACI,YAAY,KAAK,WAAW;oBAC5B,CAAC,YAAY,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,EAClD,CAAC;oBACC,MAAM,IAAI,KAAK,CACX,2CAA2C,CAAC,CAAC,OAAO,EAAE,CACzD,CAAC;gBACN,CAAC;gBACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACzB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACJ,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YACA,GAAmC,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1D,OAAO,GAAG,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CACX,oEAAoE,CACvE,CAAC;IACN,CAAC;IAED,iCAAiC;IACzB,KAAK,CAAC,cAAc,CACxB,OAAoB,EACpB,MAA8B;QAE9B,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,cAAc,CAClB,QAAwB,EACxB,IAAY,EACZ,MAA+B,EAC/B,SAAiC,EACjC,iBAAiC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO;gBACH,8BAA8B;gBAC9B,oCAAoC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG;gBACjE,uCAAuC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG;gBACvE,EAAE;gBACF,IAAI;aACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO;gBACH,sBAAsB,UAAU,GAAG;gBACnC,yBAAyB,aAAa,GAAG;gBACzC,EAAE;gBACF,IAAI;aACP,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,kDAAkD;QAClD,MAAM,OAAO,GAAG;YACZ,sBAAsB,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;YAC1D,yBAAyB,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;SACnE,CAAC;QACF,IAAI,iBAAiB,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,WAAW,QAAQ,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,8CAA8C;IACtC,WAAW,CAAC,MAAc;QAK9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAe,CAAC;QACpB,IAAI,UAA8B,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,6BAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChB,SAAS;YACb,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,6BAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YACpE,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,UAAU,GAAG,WAAW,6BAAkB,UACtC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAC7C,EAAE,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;IAChE,CAAC;CACJ;AArYD,gEAqYC;AAED,iDAAiD;AACjD,KAAK,UAAU,gBAAgB,CAAC,GAAW,EAAE,IAAY;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,SAAS;QAC5E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACtB,MAAM,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -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
- export type SandboxProvider = CodeSandbox | (() => Promise<CodeSandbox>);
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;AAEpB,iCAAiC;AACjC,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;AAuBzE,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;CA0GhC"}
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 = (req.language ||
202
- req.entry.endsWith('.py')
203
- ? 'python'
204
- : req.entry.endsWith('.js')
205
- ? 'nodejs'
206
- : req.entry.endsWith('.sh')
207
- ? 'shell'
208
- : 'python');
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":"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"}
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;CACtB;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;CAClB;AAED,yBAAyB;AACzB,MAAM,WAAW,mBAAmB;IAChC,GAAG,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACxD"}
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;CAClB;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
+ {"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;;AAoE/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"}
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"}