@lesliechan721/agent-skill-eval 0.1.0-beta.8 → 0.1.0-beta.9

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 (98) hide show
  1. package/dist/bin.js +149 -39
  2. package/dist/bin.js.map +1 -1
  3. package/dist/codex-eval-app-server.d.ts +199 -0
  4. package/dist/codex-eval-app-server.js +1366 -0
  5. package/dist/codex-eval-app-server.js.map +1 -0
  6. package/dist/codex-eval-cases.d.ts +43 -0
  7. package/dist/codex-eval-cases.js +327 -0
  8. package/dist/codex-eval-cases.js.map +1 -0
  9. package/dist/codex-eval-isolation.d.ts +61 -0
  10. package/dist/codex-eval-isolation.js +318 -0
  11. package/dist/codex-eval-isolation.js.map +1 -0
  12. package/dist/codex-eval-process-tree.d.ts +38 -0
  13. package/dist/codex-eval-process-tree.js +803 -0
  14. package/dist/codex-eval-process-tree.js.map +1 -0
  15. package/dist/codex-eval-runtime-config.d.ts +43 -0
  16. package/dist/codex-eval-runtime-config.js +607 -0
  17. package/dist/codex-eval-runtime-config.js.map +1 -0
  18. package/dist/codex-trigger-eval.d.ts +82 -0
  19. package/dist/codex-trigger-eval.js +789 -0
  20. package/dist/codex-trigger-eval.js.map +1 -0
  21. package/dist/codex-workflow.d.ts +188 -0
  22. package/dist/codex-workflow.js +1790 -0
  23. package/dist/codex-workflow.js.map +1 -0
  24. package/dist/credentials.d.ts +5 -0
  25. package/dist/credentials.js +30 -0
  26. package/dist/credentials.js.map +1 -0
  27. package/dist/custom-process.d.ts +58 -0
  28. package/dist/custom-process.js +409 -0
  29. package/dist/custom-process.js.map +1 -0
  30. package/dist/eval-audit.d.ts +38 -0
  31. package/dist/eval-audit.js +71 -0
  32. package/dist/eval-audit.js.map +1 -0
  33. package/dist/eval-file.d.ts +9 -0
  34. package/dist/eval-file.js +15 -0
  35. package/dist/eval-file.js.map +1 -0
  36. package/dist/eval-result.d.ts +64 -0
  37. package/dist/eval-result.js +144 -0
  38. package/dist/eval-result.js.map +1 -0
  39. package/dist/eval-run.d.ts +23 -0
  40. package/dist/eval-run.js +539 -0
  41. package/dist/eval-run.js.map +1 -0
  42. package/dist/eval-spec.d.ts +57 -0
  43. package/dist/eval-spec.js +120 -0
  44. package/dist/eval-spec.js.map +1 -0
  45. package/dist/eval-suite-binding.d.ts +4 -0
  46. package/dist/eval-suite-binding.js +19 -0
  47. package/dist/eval-suite-binding.js.map +1 -0
  48. package/dist/index.d.ts +34 -9
  49. package/dist/index.js +18 -6
  50. package/dist/index.js.map +1 -1
  51. package/dist/json-schema.js +75 -5
  52. package/dist/json-schema.js.map +1 -1
  53. package/dist/output-path.js +2 -2
  54. package/dist/process-tree.d.ts +19 -1
  55. package/dist/process-tree.js +321 -65
  56. package/dist/process-tree.js.map +1 -1
  57. package/dist/process.d.ts +0 -2
  58. package/dist/process.js +76 -25
  59. package/dist/process.js.map +1 -1
  60. package/dist/provider-doctor.d.ts +33 -0
  61. package/dist/provider-doctor.js +86 -0
  62. package/dist/provider-doctor.js.map +1 -0
  63. package/dist/providers.d.ts +82 -0
  64. package/dist/providers.js +630 -0
  65. package/dist/providers.js.map +1 -0
  66. package/dist/run-paths.d.ts +8 -0
  67. package/dist/run-paths.js +71 -0
  68. package/dist/run-paths.js.map +1 -0
  69. package/dist/runtime-skill.d.ts +6 -0
  70. package/dist/runtime-skill.js +87 -3
  71. package/dist/runtime-skill.js.map +1 -1
  72. package/dist/schemas/digests.json +3 -3
  73. package/dist/schemas/eval-audit.schema.json +64 -0
  74. package/dist/schemas/eval-result.schema.json +202 -0
  75. package/dist/schemas/eval-spec.schema.json +109 -0
  76. package/dist/schemas.d.ts +1 -3
  77. package/dist/schemas.js +0 -17
  78. package/dist/schemas.js.map +1 -1
  79. package/dist/selected-cases.d.ts +30 -0
  80. package/dist/selected-cases.js +388 -0
  81. package/dist/selected-cases.js.map +1 -0
  82. package/dist/types.d.ts +2 -34
  83. package/package.json +6 -1
  84. package/dist/bundle.d.ts +0 -93
  85. package/dist/bundle.js +0 -216
  86. package/dist/bundle.js.map +0 -1
  87. package/dist/capabilities.d.ts +0 -2
  88. package/dist/capabilities.js +0 -38
  89. package/dist/capabilities.js.map +0 -1
  90. package/dist/plan.d.ts +0 -79
  91. package/dist/plan.js +0 -285
  92. package/dist/plan.js.map +0 -1
  93. package/dist/run.d.ts +0 -2
  94. package/dist/run.js +0 -592
  95. package/dist/run.js.map +0 -1
  96. package/dist/schemas/aw-skill-eval-execution-plan.schema.json +0 -220
  97. package/dist/schemas/eval-run-bundle.schema.json +0 -408
  98. package/dist/schemas/eval-runtime-capabilities.schema.json +0 -85
@@ -0,0 +1,318 @@
1
+ import { execFile } from 'node:child_process';
2
+ import path from 'node:path';
3
+ import { promisify } from 'node:util';
4
+ import fs from 'fs-extra';
5
+ const execFileAsync = promisify(execFile);
6
+ export const CODEX_EVAL_CREDENTIAL_CONFIG_LINES = [
7
+ 'cli_auth_credentials_store = "file"',
8
+ 'mcp_oauth_credentials_store = "file"',
9
+ 'features.secret_auth_storage = false',
10
+ ];
11
+ const CODEX_EVAL_CREDENTIAL_OVERRIDES = [
12
+ 'cli_auth_credentials_store="file"',
13
+ 'mcp_oauth_credentials_store="file"',
14
+ 'features.secret_auth_storage=false',
15
+ ];
16
+ export const CODEX_EVAL_STRICT_OVERRIDES = [
17
+ 'skills.bundled.enabled=false',
18
+ 'orchestrator.skills.enabled=false',
19
+ 'orchestrator.mcp.enabled=false',
20
+ 'include_apps_instructions=false',
21
+ 'include_collaboration_mode_instructions=false',
22
+ 'features.apps=false',
23
+ 'features.plugins=false',
24
+ 'features.remote_plugin=false',
25
+ 'features.plugin_sharing=false',
26
+ 'features.tool_suggest=false',
27
+ 'features.skill_mcp_dependency_install=false',
28
+ ];
29
+ const REQUIRED_STRICT_FALSE_PATHS = [
30
+ 'features.secret_auth_storage',
31
+ ...CODEX_EVAL_STRICT_OVERRIDES.map((entry) => entry.slice(0, entry.indexOf('='))),
32
+ ];
33
+ const MACOS_MANAGED_PREFERENCE_KEYS = [
34
+ 'config_toml_base64',
35
+ 'requirements_toml_base64',
36
+ ];
37
+ function isRecord(value) {
38
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
39
+ }
40
+ function expectRecord(value, label) {
41
+ if (!isRecord(value)) {
42
+ throw new Error(`${label} must be an object.`);
43
+ }
44
+ return value;
45
+ }
46
+ function canonicalPath(value) {
47
+ try {
48
+ return fs.realpathSync(value);
49
+ }
50
+ catch {
51
+ return path.resolve(value);
52
+ }
53
+ }
54
+ function isPathInsideOrEqual(root, candidate) {
55
+ const relative = path.relative(canonicalPath(root), canonicalPath(candidate));
56
+ return relative === '' || (relative !== '..' &&
57
+ !relative.startsWith(`..${path.sep}`) &&
58
+ !path.isAbsolute(relative));
59
+ }
60
+ function valueAtPath(root, keyPath) {
61
+ let value = root;
62
+ for (const segment of keyPath.split('.')) {
63
+ if (!isRecord(value))
64
+ return undefined;
65
+ value = value[segment];
66
+ }
67
+ return value;
68
+ }
69
+ function systemCodexRoot(platform, sourceEnv) {
70
+ if (platform === 'win32') {
71
+ return path.join(sourceEnv.ProgramData ?? String.raw `C:\ProgramData`, 'OpenAI', 'Codex');
72
+ }
73
+ return '/etc/codex';
74
+ }
75
+ async function readMacManagedPreference(key) {
76
+ try {
77
+ await execFileAsync('/usr/bin/defaults', ['read', 'com.openai.codex', key], {
78
+ encoding: 'utf8',
79
+ timeout: 10_000,
80
+ });
81
+ return true;
82
+ }
83
+ catch (error) {
84
+ const row = error;
85
+ const message = `${row.message ?? ''}\n${row.stderr ?? ''}`;
86
+ if (/does not exist|domain\/default pair.*not found/iu.test(message)) {
87
+ return false;
88
+ }
89
+ throw new Error(`Unable to inspect the macOS managed Codex preference ${key}.`, { cause: error });
90
+ }
91
+ }
92
+ async function readMacUserKeychainSearchList() {
93
+ try {
94
+ const result = await execFileAsync('/usr/bin/security', ['list-keychains', '-d', 'user'], { encoding: 'utf8', timeout: 10_000 });
95
+ return result.stdout;
96
+ }
97
+ catch (error) {
98
+ throw new Error('Unable to inspect the macOS user keychain search list before Codex model eval.', { cause: error });
99
+ }
100
+ }
101
+ export async function assertCodexEvalKeychainWrapperAbsent(options = {}) {
102
+ if ((options.platform ?? process.platform) !== 'darwin')
103
+ return;
104
+ const searchList = await (options.readUserKeychainSearchList ?? readMacUserKeychainSearchList)();
105
+ if (/accountsKeychainExport/iu.test(searchList)) {
106
+ throw new Error('Cannot start a Codex model eval from a macOS wrapper that injects ' +
107
+ 'accountsKeychainExport into the user keychain search list. Run ' +
108
+ 'aw-skill-eval run with its required --audit input from an ordinary Terminal session.');
109
+ }
110
+ }
111
+ export function codexEvalConfigOverrides(isolation) {
112
+ return [
113
+ ...CODEX_EVAL_CREDENTIAL_OVERRIDES,
114
+ ...(isolation === 'strict' ? CODEX_EVAL_STRICT_OVERRIDES : []),
115
+ ];
116
+ }
117
+ export function codexEvalIsolationEvidence(options) {
118
+ return {
119
+ mode: options.mode,
120
+ isolated_home: true,
121
+ source_user_config_filtered: true,
122
+ credential_stores: {
123
+ cli_auth: 'file',
124
+ mcp_oauth: 'file',
125
+ secret_auth_storage: false,
126
+ },
127
+ strict_surfaces_disabled: options.mode === 'strict',
128
+ host_configuration: options.host ?? null,
129
+ runtime_probe: options.runtimeProbe ?? null,
130
+ };
131
+ }
132
+ export async function inspectCodexEvalHostIsolation(options = {}) {
133
+ const platform = options.platform ?? process.platform;
134
+ const sourceEnv = options.sourceEnv ?? process.env;
135
+ const systemRoot = systemCodexRoot(platform, sourceEnv);
136
+ const readSystemEntries = options.readSystemEntries ?? (async (root) => fs.readdir(root).catch((error) => {
137
+ if (error.code === 'ENOENT')
138
+ return [];
139
+ throw error;
140
+ }));
141
+ const systemEntries = await readSystemEntries(systemRoot);
142
+ if (systemEntries.length > 0) {
143
+ throw new Error(`Strict Codex eval is blocked because system configuration exists at ${systemRoot}.`);
144
+ }
145
+ const presentKeys = [];
146
+ if (platform === 'darwin') {
147
+ const readManagedPreference = options.readManagedPreference ?? readMacManagedPreference;
148
+ for (const key of MACOS_MANAGED_PREFERENCE_KEYS) {
149
+ if (await readManagedPreference(key))
150
+ presentKeys.push(key);
151
+ }
152
+ if (presentKeys.length > 0) {
153
+ throw new Error(`Strict Codex eval is blocked by macOS managed preference(s): ${presentKeys.join(', ')}.`);
154
+ }
155
+ }
156
+ return {
157
+ system_config_root: systemRoot,
158
+ system_config_present: false,
159
+ managed_preferences_checked: platform === 'darwin',
160
+ managed_preference_keys_present: [],
161
+ };
162
+ }
163
+ function validateConfigLayers(response, codexHome, workspaceRoot) {
164
+ if (!Array.isArray(response.layers)) {
165
+ throw new Error('Strict Codex eval config/read response is missing layers.');
166
+ }
167
+ const layerTypes = [];
168
+ const projectConfigPath = path.join(workspaceRoot, '.codex', 'config.toml');
169
+ const expectedProjectFolder = canonicalPath(path.dirname(projectConfigPath));
170
+ const projectConfigExpected = fs.pathExistsSync(projectConfigPath);
171
+ let projectConfigActive = false;
172
+ for (const [index, value] of response.layers.entries()) {
173
+ const layer = expectRecord(value, `config/read.layers[${index}]`);
174
+ const name = expectRecord(layer.name, `config/read.layers[${index}].name`);
175
+ const type = typeof name.type === 'string' ? name.type : '';
176
+ const config = expectRecord(layer.config, `config/read.layers[${index}].config`);
177
+ layerTypes.push(type);
178
+ if (type === 'system') {
179
+ if (Object.keys(config).length > 0) {
180
+ throw new Error('Strict Codex eval found non-empty system configuration.');
181
+ }
182
+ continue;
183
+ }
184
+ if (type === 'user') {
185
+ if (typeof name.file !== 'string' || !isPathInsideOrEqual(codexHome, name.file)) {
186
+ throw new Error('Strict Codex eval found a user config layer outside isolated CODEX_HOME.');
187
+ }
188
+ continue;
189
+ }
190
+ if (type === 'project') {
191
+ if (typeof layer.disabledReason === 'string' && layer.disabledReason.trim() !== '') {
192
+ throw new Error(`Strict Codex eval found a disabled project config layer: ${layer.disabledReason}`);
193
+ }
194
+ if (typeof name.dotCodexFolder !== 'string' ||
195
+ canonicalPath(name.dotCodexFolder) !== expectedProjectFolder) {
196
+ throw new Error('Strict Codex eval found an unexpected project config layer.');
197
+ }
198
+ projectConfigActive = true;
199
+ continue;
200
+ }
201
+ if (type === 'sessionFlags')
202
+ continue;
203
+ throw new Error(`Strict Codex eval found forbidden config layer ${JSON.stringify(type)}.`);
204
+ }
205
+ if (projectConfigExpected && !projectConfigActive) {
206
+ throw new Error('Strict Codex eval did not activate the workspace project config layer.');
207
+ }
208
+ return layerTypes;
209
+ }
210
+ function validateEffectiveConfig(response) {
211
+ const config = expectRecord(response.config, 'config/read.config');
212
+ if (config.cli_auth_credentials_store !== 'file') {
213
+ throw new Error('Strict Codex eval did not apply cli_auth_credentials_store=file.');
214
+ }
215
+ if (config.mcp_oauth_credentials_store !== 'file') {
216
+ throw new Error('Strict Codex eval did not apply mcp_oauth_credentials_store=file.');
217
+ }
218
+ if (valueAtPath(config, 'features.default_mode_request_user_input') !== true) {
219
+ throw new Error('Strict Codex eval did not enable features.default_mode_request_user_input.');
220
+ }
221
+ for (const keyPath of REQUIRED_STRICT_FALSE_PATHS) {
222
+ if (valueAtPath(config, keyPath) !== false) {
223
+ throw new Error(`Strict Codex eval did not disable ${keyPath}.`);
224
+ }
225
+ }
226
+ const mcpServers = config.mcp_servers;
227
+ if (mcpServers !== undefined &&
228
+ mcpServers !== null &&
229
+ (!isRecord(mcpServers) || Object.keys(mcpServers).length > 0)) {
230
+ throw new Error('Strict Codex eval found effective MCP server configuration.');
231
+ }
232
+ }
233
+ function validateRequirements(value) {
234
+ const response = expectRecord(value, 'configRequirements/read response');
235
+ if (response.requirements !== null) {
236
+ throw new Error('Strict Codex eval found managed configuration requirements.');
237
+ }
238
+ }
239
+ function validateSkills(value, workspaceRoot, allowedSkillRoots) {
240
+ const response = expectRecord(value, 'skills/list response');
241
+ if (!Array.isArray(response.data)) {
242
+ throw new Error('Strict Codex eval skills/list response is missing data.');
243
+ }
244
+ if (response.data.length !== 1) {
245
+ throw new Error('Strict Codex eval skills/list must return exactly one workspace entry.');
246
+ }
247
+ const expectedSkills = new Map(allowedSkillRoots.map((root) => [
248
+ canonicalPath(path.join(root, 'SKILL.md')),
249
+ { root, name: path.basename(root) },
250
+ ]));
251
+ const paths = [];
252
+ for (const [index, value] of response.data.entries()) {
253
+ const entry = expectRecord(value, `skills/list.data[${index}]`);
254
+ if (typeof entry.cwd !== 'string' ||
255
+ !isPathInsideOrEqual(workspaceRoot, entry.cwd) ||
256
+ !isPathInsideOrEqual(entry.cwd, workspaceRoot)) {
257
+ throw new Error('Strict Codex eval skills/list returned an unexpected workspace.');
258
+ }
259
+ if (!Array.isArray(entry.errors) || entry.errors.length > 0) {
260
+ throw new Error('Strict Codex eval found Skill discovery errors.');
261
+ }
262
+ if (!Array.isArray(entry.skills)) {
263
+ throw new Error('Strict Codex eval skills/list entry is missing skills.');
264
+ }
265
+ for (const [skillIndex, skillValue] of entry.skills.entries()) {
266
+ const skill = expectRecord(skillValue, `skills/list.data[${index}].skills[${skillIndex}]`);
267
+ if (typeof skill.path !== 'string') {
268
+ throw new Error(`Strict Codex eval found an invalid Skill path ${String(skill.path)}.`);
269
+ }
270
+ const normalizedPath = canonicalPath(skill.path);
271
+ const expected = expectedSkills.get(normalizedPath);
272
+ if (!expected || !isPathInsideOrEqual(expected.root, skill.path)) {
273
+ throw new Error(`Strict Codex eval found non-target Skill ${skill.path}.`);
274
+ }
275
+ if (skill.name !== expected.name ||
276
+ skill.enabled !== true) {
277
+ throw new Error(`Strict Codex eval found an invalid target Skill ${skill.path}.`);
278
+ }
279
+ paths.push(normalizedPath);
280
+ }
281
+ }
282
+ if (paths.length !== expectedSkills.size ||
283
+ new Set(paths).size !== expectedSkills.size) {
284
+ throw new Error(expectedSkills.size > 0
285
+ ? 'Strict Codex eval did not discover exactly the enabled participant Skills.'
286
+ : 'Strict Codex eval found a Skill in an empty baseline workspace.');
287
+ }
288
+ return paths.sort((left, right) => left.localeCompare(right));
289
+ }
290
+ function validateMcpServers(value) {
291
+ const response = expectRecord(value, 'mcpServerStatus/list response');
292
+ if (!Array.isArray(response.data) || response.data.length > 0) {
293
+ throw new Error('Strict Codex eval found an active MCP server.');
294
+ }
295
+ if (response.nextCursor !== undefined && response.nextCursor !== null) {
296
+ throw new Error('Strict Codex eval MCP inventory is unexpectedly paginated.');
297
+ }
298
+ }
299
+ export function validateCodexEvalRpcIsolation(options) {
300
+ const layers = validateCodexEvalConfigIsolation(options);
301
+ const skillPaths = validateSkills(options.skills, options.workspaceRoot, options.allowedSkillRoots);
302
+ validateMcpServers(options.mcpServers);
303
+ return {
304
+ config_layers: layers,
305
+ config_requirements_absent: true,
306
+ skill_paths: skillPaths,
307
+ mcp_server_count: 0,
308
+ strict_overrides_effective: true,
309
+ };
310
+ }
311
+ export function validateCodexEvalConfigIsolation(options) {
312
+ const config = expectRecord(options.config, 'config/read response');
313
+ const layers = validateConfigLayers(config, options.codexHome, options.workspaceRoot);
314
+ validateEffectiveConfig(config);
315
+ validateRequirements(options.requirements);
316
+ return layers;
317
+ }
318
+ //# sourceMappingURL=codex-eval-isolation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-eval-isolation.js","sourceRoot":"","sources":["../src/codex-eval-isolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAI1B,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,qCAAqC;IACrC,sCAAsC;IACtC,sCAAsC;CAC9B,CAAC;AAEX,MAAM,+BAA+B,GAAG;IACtC,mCAAmC;IACnC,oCAAoC;IACpC,oCAAoC;CAC5B,CAAC;AAEX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,8BAA8B;IAC9B,mCAAmC;IACnC,gCAAgC;IAChC,iCAAiC;IACjC,+CAA+C;IAC/C,qBAAqB;IACrB,wBAAwB;IACxB,8BAA8B;IAC9B,+BAA+B;IAC/B,6BAA6B;IAC7B,6CAA6C;CACrC,CAAC;AAEX,MAAM,2BAA2B,GAAG;IAClC,8BAA8B;IAC9B,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;CACzE,CAAC;AAEX,MAAM,6BAA6B,GAAG;IACpC,oBAAoB;IACpB,0BAA0B;CAClB,CAAC;AAsCX,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa;IACjD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,SAAiB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,OAAO,QAAQ,KAAK,EAAE,IAAI,CACxB,QAAQ,KAAK,IAAI;QACjB,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACrC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B,EAAE,OAAe;IACjE,IAAI,KAAK,GAAY,IAAI,CAAC;IAC1B,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CACtB,QAAyB,EACzB,SAA4B;IAE5B,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,IAAI,CACd,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,GAAG,CAAA,gBAAgB,EACnD,QAAQ,EACR,OAAO,CACR,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,GAAW;IACjD,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE;YAC1E,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,GAAG,GAAG,KAAoD,CAAC;QACjE,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC5D,IAAI,kDAAkD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,GAAG,EAC9D,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,mBAAmB,EACnB,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,EAChC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CACtC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,gFAAgF,EAChF,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,UAGvD,EAAE;IACJ,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ;QAAE,OAAO;IAChE,MAAM,UAAU,GAAG,MAAM,CACvB,OAAO,CAAC,0BAA0B,IAAI,6BAA6B,CACpE,EAAE,CAAC;IACJ,IAAI,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,oEAAoE;YACpE,iEAAiE;YACjE,sFAAsF,CACvF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAA+B;IAE/B,OAAO;QACL,GAAG,+BAA+B;QAClC,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAI1C;IACC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,aAAa,EAAE,IAAI;QACnB,2BAA2B,EAAE,IAAI;QACjC,iBAAiB,EAAE;YACjB,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,MAAM;YACjB,mBAAmB,EAAE,KAAK;SAC3B;QACD,wBAAwB,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ;QACnD,kBAAkB,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;QACxC,aAAa,EAAE,OAAO,CAAC,YAAY,IAAI,IAAI;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAAuC,EAAE;IAEzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;IACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC;IACnD,MAAM,UAAU,GAAG,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,CAC7E,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAA4B,EAAE,EAAE;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,uEAAuE,UAAU,GAAG,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,wBAAwB,CAAC;QACxF,KAAK,MAAM,GAAG,IAAI,6BAA6B,EAAE,CAAC;YAChD,IAAI,MAAM,qBAAqB,CAAC,GAAG,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,gEAAgE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,kBAAkB,EAAE,UAAU;QAC9B,qBAAqB,EAAE,KAAK;QAC5B,2BAA2B,EAAE,QAAQ,KAAK,QAAQ;QAClD,+BAA+B,EAAE,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAiC,EACjC,SAAiB,EACjB,aAAqB;IAErB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7E,MAAM,qBAAqB,GAAG,EAAE,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnE,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAChC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,sBAAsB,KAAK,GAAG,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,KAAK,QAAQ,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,sBAAsB,KAAK,UAAU,CAAC,CAAC;QACjF,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;YAC7E,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChF,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC9F,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnF,MAAM,IAAI,KAAK,CACb,4DAA4D,KAAK,CAAC,cAAc,EAAE,CACnF,CAAC;YACJ,CAAC;YACD,IACE,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;gBACvC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,qBAAqB,EAC5D,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YACD,mBAAmB,GAAG,IAAI,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,cAAc;YAAE,SAAS;QACtC,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7F,CAAC;IACD,IAAI,qBAAqB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,uBAAuB,CAAC,QAAiC;IAChE,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,0BAA0B,KAAK,MAAM,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,2BAA2B,KAAK,MAAM,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,0CAA0C,CAAC,KAAK,IAAI,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,OAAO,IAAI,2BAA2B,EAAE,CAAC;QAClD,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,GAAG,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;IACtC,IACE,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,IAAI;QACnB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAC7D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAAC;IACzE,IAAI,QAAQ,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,aAAqB,EACrB,iBAA2B;IAE3B,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;KACpC,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,CAAC;QAChE,IACE,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,CAAC,mBAAmB,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC;YAC9C,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,EAC9C,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,EAAE,oBAAoB,KAAK,YAAY,UAAU,GAAG,CAAC,CAAC;YAC3F,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1F,CAAC;YACD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YAC7E,CAAC;YACD,IACE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI;gBAC5B,KAAK,CAAC,OAAO,KAAK,IAAI,EACtB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACpF,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,IACE,KAAK,CAAC,MAAM,KAAK,cAAc,CAAC,IAAI;QACpC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAC3C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,cAAc,CAAC,IAAI,GAAG,CAAC;YACrB,CAAC,CAAC,4EAA4E;YAC9E,CAAC,CAAC,iEAAiE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;IACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAQ7C;IACC,MAAM,MAAM,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,cAAc,CAC/B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,iBAAiB,CAC1B,CAAC;IACF,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO;QACL,aAAa,EAAE,MAAM;QACrB,0BAA0B,EAAE,IAAI;QAChC,WAAW,EAAE,UAAU;QACvB,gBAAgB,EAAE,CAAC;QACnB,0BAA0B,EAAE,IAAI;KACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,OAKhD;IACC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACtF,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ export declare const CODEX_EVAL_PROCESS_TREE_ID_ENV = "AW_CODEX_EVAL_PROCESS_TREE_ID";
3
+ export declare const PROCESS_TREE_CLEANUP_UNCONFIRMED_PREFIX = "Could not confirm process-tree cleanup";
4
+ interface PosixProcessEntry {
5
+ ppid: number;
6
+ state: string;
7
+ startTime: string;
8
+ }
9
+ interface PosixProcessTreeDependencies {
10
+ readProcessTable?: (timeoutMs?: number) => Promise<Map<number, PosixProcessEntry>>;
11
+ readTaggedProcessTable?: (treeId: string, timeoutMs?: number) => Promise<Map<number, PosixProcessEntry>>;
12
+ kill?: (pid: number, signal: NodeJS.Signals | 0) => boolean;
13
+ treeId?: string;
14
+ canUseProcessGroup?: () => boolean;
15
+ allowRootIdentityDiscovery?: boolean;
16
+ }
17
+ export interface ChildProcessTreeMonitor {
18
+ terminate(): Promise<string[]>;
19
+ }
20
+ export declare function createDirectChildProcessMonitor(child: ChildProcess): ChildProcessTreeMonitor;
21
+ export declare function processTreeCleanupIsUnconfirmed(diagnostics: readonly string[]): boolean;
22
+ export declare function scrubProcessTreeId<T>(value: T, treeId: string): T;
23
+ export declare function terminatePosixProcessTree(rootPid: number, dependencies?: PosixProcessTreeDependencies): Promise<string[]>;
24
+ export declare function createPosixProcessTreeMonitor(rootPid: number, dependencies?: PosixProcessTreeDependencies): ChildProcessTreeMonitor;
25
+ export declare function releaseChildProcessHandles(child: ChildProcess): void;
26
+ export declare function terminateWindowsProcessTree(child: ChildProcess, options?: {
27
+ closeTimeoutMs?: number;
28
+ runTaskkill?: (pid: number) => Promise<void>;
29
+ }): Promise<string[]>;
30
+ export declare function createWindowsChildProcessTreeMonitor(child: ChildProcess, options?: Parameters<typeof terminateWindowsProcessTree>[1]): ChildProcessTreeMonitor;
31
+ export declare function terminateChildProcessTree(child: ChildProcess): Promise<string[]>;
32
+ export declare function createChildProcessTreeMonitor(child: ChildProcess, options?: {
33
+ treeId?: string;
34
+ }): ChildProcessTreeMonitor;
35
+ export declare function assertProcessTreeInspectionAvailable(options?: {
36
+ platform?: NodeJS.Platform;
37
+ }): Promise<void>;
38
+ export {};