@elaraai/e3-core 1.0.30 → 1.0.32
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/src/dataflow/orchestrator/LocalOrchestrator.d.ts.map +1 -1
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js +1 -0
- package/dist/src/dataflow/orchestrator/LocalOrchestrator.js.map +1 -1
- package/dist/src/dataflow/orchestrator/interfaces.d.ts +7 -0
- package/dist/src/dataflow/orchestrator/interfaces.d.ts.map +1 -1
- package/dist/src/dataflow/orchestrator/interfaces.js.map +1 -1
- package/dist/src/execution/LocalTaskRunner.d.ts +4 -0
- package/dist/src/execution/LocalTaskRunner.d.ts.map +1 -1
- package/dist/src/execution/LocalTaskRunner.js +8 -1
- package/dist/src/execution/LocalTaskRunner.js.map +1 -1
- package/dist/src/execution/environment.d.ts.map +1 -1
- package/dist/src/execution/environment.js +257 -10
- package/dist/src/execution/environment.js.map +1 -1
- package/dist/src/execution/environment.spec.js +161 -0
- package/dist/src/execution/environment.spec.js.map +1 -1
- package/dist/src/execution/interfaces.d.ts +3 -0
- package/dist/src/execution/interfaces.d.ts.map +1 -1
- package/dist/src/execution/runDetached.d.ts +4 -1
- package/dist/src/execution/runDetached.d.ts.map +1 -1
- package/dist/src/execution/runDetached.js +2 -1
- package/dist/src/execution/runDetached.js.map +1 -1
- package/dist/src/gc.spec.js +50 -1
- package/dist/src/gc.spec.js.map +1 -1
- package/dist/src/records.d.ts +3 -0
- package/dist/src/records.d.ts.map +1 -1
- package/dist/src/records.js +1 -1
- package/dist/src/records.js.map +1 -1
- package/dist/src/storage/local/gc.d.ts.map +1 -1
- package/dist/src/storage/local/gc.js +22 -2
- package/dist/src/storage/local/gc.js.map +1 -1
- package/dist/src/workspaces.spec.js +73 -2
- package/dist/src/workspaces.spec.js.map +1 -1
- package/package.json +6 -4
|
@@ -24,6 +24,9 @@ import * as path from 'node:path';
|
|
|
24
24
|
import { promises as fs } from 'node:fs';
|
|
25
25
|
import { execFile } from 'node:child_process';
|
|
26
26
|
import { promisify } from 'node:util';
|
|
27
|
+
import { gunzipSync } from 'node:zlib';
|
|
28
|
+
import { Readable } from 'node:stream';
|
|
29
|
+
import { extract as tarExtract } from 'tar-stream';
|
|
27
30
|
import { decodeBeast2For } from '@elaraai/east';
|
|
28
31
|
import { EnvironmentSpecType } from '@elaraai/e3-types';
|
|
29
32
|
import { withKeyedLock } from '../storage/local/keyedMutex.js';
|
|
@@ -31,10 +34,19 @@ const execFileAsync = promisify(execFile);
|
|
|
31
34
|
const decodeEnvironmentSpec = decodeBeast2For(EnvironmentSpecType);
|
|
32
35
|
/** The executable dir a materialized environment contributes to PATH. */
|
|
33
36
|
function environmentBinDir(envDir, spec) {
|
|
34
|
-
|
|
35
|
-
|
|
37
|
+
switch (spec.type) {
|
|
38
|
+
case 'python':
|
|
39
|
+
return path.join(envDir, '.venv', process.platform === 'win32' ? 'Scripts' : 'bin');
|
|
40
|
+
case 'node':
|
|
41
|
+
case 'workspace_node':
|
|
42
|
+
return path.join(envDir, 'node_modules', '.bin');
|
|
43
|
+
case 'tools':
|
|
44
|
+
return path.join(envDir, 'bin');
|
|
45
|
+
case 'image':
|
|
46
|
+
// Rejected before this is reached (materializeEnvironment throws on
|
|
47
|
+
// image); present only to keep the switch exhaustive.
|
|
48
|
+
throw new Error('image environments have no local bin dir');
|
|
36
49
|
}
|
|
37
|
-
return path.join(envDir, 'node_modules', '.bin');
|
|
38
50
|
}
|
|
39
51
|
async function run(command, args, cwd, what) {
|
|
40
52
|
try {
|
|
@@ -66,7 +78,13 @@ async function buildPython(storage, repo, spec, buildDir) {
|
|
|
66
78
|
// Relocatable: the venv is built in a temp sibling and atomically renamed
|
|
67
79
|
// into the cache path — absolute shebangs would break on rename.
|
|
68
80
|
await run('uv', ['venv', '--relocatable', '.venv'], buildDir, 'virtualenv creation');
|
|
69
|
-
|
|
81
|
+
// Install the whole locked third-party closure but no first-party code:
|
|
82
|
+
// `--no-install-workspace` skips every workspace member and the root,
|
|
83
|
+
// `--no-install-local` skips any local/path source (a sibling member's
|
|
84
|
+
// dir need not even exist on this machine). The project's own code comes
|
|
85
|
+
// from the captured sdists below. Superset of the old
|
|
86
|
+
// `--no-install-project` for a single-project env (verified equivalent).
|
|
87
|
+
await run('uv', ['sync', '--frozen', '--all-packages', '--no-install-workspace', '--no-install-local'], buildDir, 'locked dependency sync');
|
|
70
88
|
if (spec.value.sdists.length > 0) {
|
|
71
89
|
const sdistDir = path.join(buildDir, '.sdists');
|
|
72
90
|
await fs.mkdir(sdistDir);
|
|
@@ -78,8 +96,17 @@ async function buildPython(storage, repo, spec, buildDir) {
|
|
|
78
96
|
await writeBlob(storage, repo, sdist.hash, f);
|
|
79
97
|
files.push(f);
|
|
80
98
|
}
|
|
81
|
-
|
|
99
|
+
// `--no-deps`: the sdist install must NOT resolve anything from a
|
|
100
|
+
// registry — every dependency is already pinned and installed by the
|
|
101
|
+
// sync above (or is another captured sdist). Without it, a missing
|
|
102
|
+
// first-party dep would be silently satisfied by a same-named PyPI
|
|
103
|
+
// package (a stale-code hazard). `uv pip check` then verifies the
|
|
104
|
+
// environment is internally consistent and fails loudly otherwise, so
|
|
105
|
+
// an incomplete capture is a materialization error, never a silent
|
|
106
|
+
// wrong-code env.
|
|
107
|
+
await run('uv', ['pip', 'install', '--python', path.join(buildDir, '.venv'), '--no-deps', ...files], buildDir, 'project sdist install');
|
|
82
108
|
}
|
|
109
|
+
await run('uv', ['pip', 'check', '--python', path.join(buildDir, '.venv')], buildDir, 'environment consistency check');
|
|
83
110
|
}
|
|
84
111
|
async function buildNode(storage, repo, spec, buildDir) {
|
|
85
112
|
await writeBlob(storage, repo, spec.value.packageJson, path.join(buildDir, 'package.json'));
|
|
@@ -104,6 +131,218 @@ async function buildNode(storage, repo, spec, buildDir) {
|
|
|
104
131
|
await run('npm', ['install', '--no-save', '--no-audit', '--no-fund', ...files], buildDir, 'project tarball install');
|
|
105
132
|
}
|
|
106
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Resolve a `tools` spec's env-relative file path to an absolute path inside
|
|
136
|
+
* `buildDir`, rejecting anything that could escape it.
|
|
137
|
+
*
|
|
138
|
+
* The `path` field is wire data (it rides in an imported bundle), so it is
|
|
139
|
+
* validated defensively: it must be relative, use no `.`/`..`/empty
|
|
140
|
+
* segments, and — after resolution — still live under `buildDir`. Backslash
|
|
141
|
+
* separators are treated as separators too, so a Windows-style path in a
|
|
142
|
+
* spec can't smuggle a segment past the POSIX split.
|
|
143
|
+
*
|
|
144
|
+
* @throws {Error} if the path is absolute, empty, or escapes the build dir
|
|
145
|
+
*/
|
|
146
|
+
function resolveToolsPath(buildDir, relPath) {
|
|
147
|
+
if (relPath.length === 0) {
|
|
148
|
+
throw new Error('tools file has an empty path');
|
|
149
|
+
}
|
|
150
|
+
if (path.isAbsolute(relPath) || /^[a-zA-Z]:/.test(relPath)) {
|
|
151
|
+
throw new Error(`tools file path must be relative, got '${relPath}'`);
|
|
152
|
+
}
|
|
153
|
+
const segments = relPath.split(/[/\\]/);
|
|
154
|
+
for (const seg of segments) {
|
|
155
|
+
if (seg === '' || seg === '.' || seg === '..') {
|
|
156
|
+
throw new Error(`tools file path '${relPath}' has an invalid segment '${seg}'`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const dest = path.resolve(buildDir, ...segments);
|
|
160
|
+
const root = path.resolve(buildDir);
|
|
161
|
+
if (dest !== root && !dest.startsWith(root + path.sep)) {
|
|
162
|
+
throw new Error(`tools file path '${relPath}' escapes the environment directory`);
|
|
163
|
+
}
|
|
164
|
+
return dest;
|
|
165
|
+
}
|
|
166
|
+
async function buildTools(storage, repo, spec, buildDir) {
|
|
167
|
+
for (const file of spec.value.files) {
|
|
168
|
+
const dest = resolveToolsPath(buildDir, file.path);
|
|
169
|
+
await fs.mkdir(path.dirname(dest), { recursive: true });
|
|
170
|
+
await writeBlob(storage, repo, file.hash, dest);
|
|
171
|
+
// Uniform executable mode: the spec stores no mode (an exec-bit-only
|
|
172
|
+
// change must not alter the env hash), so every captured file is made
|
|
173
|
+
// runnable. No-op on Windows, which has no POSIX exec bit.
|
|
174
|
+
if (process.platform !== 'win32') {
|
|
175
|
+
await fs.chmod(dest, 0o755);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/** Rejects a member path from a workspace_node spec that could escape the
|
|
180
|
+
* build dir (wire data). Returns the absolute member dir under buildDir. */
|
|
181
|
+
function resolveMemberDir(buildDir, memberPath) {
|
|
182
|
+
const segments = memberPath.split(/[/\\]/);
|
|
183
|
+
if (segments.length === 0 || path.isAbsolute(memberPath) || /^[a-zA-Z]:/.test(memberPath)) {
|
|
184
|
+
throw new Error(`workspace member path must be relative, got '${memberPath}'`);
|
|
185
|
+
}
|
|
186
|
+
for (const seg of segments) {
|
|
187
|
+
if (seg === '' || seg === '.' || seg === '..') {
|
|
188
|
+
throw new Error(`workspace member path '${memberPath}' has an invalid segment '${seg}'`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
const dest = path.resolve(buildDir, ...segments);
|
|
192
|
+
const root = path.resolve(buildDir);
|
|
193
|
+
if (!dest.startsWith(root + path.sep)) {
|
|
194
|
+
throw new Error(`workspace member path '${memberPath}' escapes the environment directory`);
|
|
195
|
+
}
|
|
196
|
+
return dest;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Extracts an `npm pack` tarball (gzipped tar) into `destDir`, stripping the
|
|
200
|
+
* leading `package/` directory every npm tarball carries.
|
|
201
|
+
*
|
|
202
|
+
* Entries are validated defensively (they ride in an imported bundle):
|
|
203
|
+
* path traversal is rejected, and symlink/hardlink/other special entries are
|
|
204
|
+
* refused (a workspace member must be plain files). File modes are floored
|
|
205
|
+
* so an extracted file is at least readable/executable as npm would leave it.
|
|
206
|
+
*
|
|
207
|
+
* @throws {Error} on a traversal path, a link entry, or a malformed archive
|
|
208
|
+
*/
|
|
209
|
+
async function extractMemberTarball(tarball, destDir) {
|
|
210
|
+
const tarBytes = gunzipSync(tarball);
|
|
211
|
+
await new Promise((resolve, reject) => {
|
|
212
|
+
const ex = tarExtract();
|
|
213
|
+
ex.on('entry', (header, stream, next) => {
|
|
214
|
+
void (async () => {
|
|
215
|
+
try {
|
|
216
|
+
if (header.type !== 'file' && header.type !== 'directory') {
|
|
217
|
+
throw new Error(`unsupported tar entry type '${header.type ?? 'unknown'}' in workspace member tarball`);
|
|
218
|
+
}
|
|
219
|
+
// Strip the leading `package/` segment npm pack adds.
|
|
220
|
+
const rel = header.name.replace(/^[^/]+\//, '');
|
|
221
|
+
if (rel === '') {
|
|
222
|
+
stream.resume();
|
|
223
|
+
return next();
|
|
224
|
+
}
|
|
225
|
+
const segments = rel.split('/');
|
|
226
|
+
if (segments.some((s) => s === '..' || s === '')) {
|
|
227
|
+
throw new Error(`illegal path '${header.name}' in workspace member tarball`);
|
|
228
|
+
}
|
|
229
|
+
const dest = path.resolve(destDir, ...segments);
|
|
230
|
+
if (!dest.startsWith(path.resolve(destDir) + path.sep)) {
|
|
231
|
+
throw new Error(`path '${header.name}' escapes the member directory`);
|
|
232
|
+
}
|
|
233
|
+
if (header.type === 'directory') {
|
|
234
|
+
await fs.mkdir(dest, { recursive: true });
|
|
235
|
+
stream.resume();
|
|
236
|
+
return next();
|
|
237
|
+
}
|
|
238
|
+
await fs.mkdir(path.dirname(dest), { recursive: true });
|
|
239
|
+
const chunks = [];
|
|
240
|
+
stream.on('data', (c) => chunks.push(c));
|
|
241
|
+
stream.on('end', () => {
|
|
242
|
+
const mode = ((header.mode ?? 0) & 0o777) | 0o644;
|
|
243
|
+
fs.writeFile(dest, Buffer.concat(chunks), { mode }).then(() => next(), reject);
|
|
244
|
+
});
|
|
245
|
+
stream.on('error', reject);
|
|
246
|
+
}
|
|
247
|
+
catch (err) {
|
|
248
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
249
|
+
}
|
|
250
|
+
})();
|
|
251
|
+
});
|
|
252
|
+
ex.on('error', reject);
|
|
253
|
+
ex.on('finish', resolve);
|
|
254
|
+
Readable.from(tarBytes).pipe(ex);
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* On Windows, `npm ci` materializes workspace members as directory
|
|
259
|
+
* *junctions* holding an **absolute** target under `buildDir`. After the
|
|
260
|
+
* atomic rename of `buildDir` → `envDir` those junctions dangle. This
|
|
261
|
+
* re-points every symlink/junction under `buildDir` whose target lies inside
|
|
262
|
+
* `buildDir` to the equivalent path under the final `envDir`. No-op on POSIX
|
|
263
|
+
* (npm uses relative symlinks there, which survive the rename).
|
|
264
|
+
*/
|
|
265
|
+
async function retargetWindowsJunctions(buildDir, envDir) {
|
|
266
|
+
if (process.platform !== 'win32')
|
|
267
|
+
return;
|
|
268
|
+
const buildRoot = path.resolve(buildDir);
|
|
269
|
+
const walk = async (dir) => {
|
|
270
|
+
let entries;
|
|
271
|
+
try {
|
|
272
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
273
|
+
}
|
|
274
|
+
catch {
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
277
|
+
for (const entry of entries) {
|
|
278
|
+
const full = path.join(dir, entry.name);
|
|
279
|
+
if (entry.isSymbolicLink()) {
|
|
280
|
+
let target;
|
|
281
|
+
try {
|
|
282
|
+
target = await fs.readlink(full);
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
287
|
+
if (path.isAbsolute(target) && target.startsWith(buildRoot + path.sep)) {
|
|
288
|
+
const rebased = path.join(envDir, path.relative(buildRoot, target));
|
|
289
|
+
await fs.rm(full, { recursive: true, force: true });
|
|
290
|
+
await fs.symlink(rebased, full, 'junction');
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
else if (entry.isDirectory()) {
|
|
294
|
+
await walk(full);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
await walk(buildDir);
|
|
299
|
+
}
|
|
300
|
+
async function buildWorkspaceNode(storage, repo, spec, buildDir, envDir) {
|
|
301
|
+
// v1 supports npm workspaces only; pnpm capture ships later.
|
|
302
|
+
const lockData = Buffer.from(await storage.objects.read(repo, spec.value.lock));
|
|
303
|
+
if (nodeLockFilename(lockData) !== 'package-lock.json') {
|
|
304
|
+
throw new Error('workspace_node: only npm workspaces are supported by the local runner yet');
|
|
305
|
+
}
|
|
306
|
+
// Root package.json with `workspaces` pinned to exactly the closure members
|
|
307
|
+
// (explicit paths, no globs) so npm ci links only them — non-closure
|
|
308
|
+
// members and their third-party deps are pruned.
|
|
309
|
+
const rootPkg = JSON.parse(Buffer.from(await storage.objects.read(repo, spec.value.packageJson)).toString('utf-8'));
|
|
310
|
+
rootPkg.workspaces = spec.value.members.map((m) => m.path);
|
|
311
|
+
await fs.writeFile(path.join(buildDir, 'package.json'), JSON.stringify(rootPkg, null, 2));
|
|
312
|
+
await fs.writeFile(path.join(buildDir, 'package-lock.json'), lockData);
|
|
313
|
+
// Materialize each member's packed code at its workspace path.
|
|
314
|
+
for (const member of spec.value.members) {
|
|
315
|
+
const memberDir = resolveMemberDir(buildDir, member.path);
|
|
316
|
+
await fs.mkdir(memberDir, { recursive: true });
|
|
317
|
+
await extractMemberTarball(Buffer.from(await storage.objects.read(repo, member.tarball)), memberDir);
|
|
318
|
+
const memberPkg = JSON.parse(await fs.readFile(path.join(memberDir, 'package.json'), 'utf-8'));
|
|
319
|
+
if (memberPkg.name !== member.name) {
|
|
320
|
+
throw new Error(`workspace member at '${member.path}' is '${memberPkg.name}', expected '${member.name}'`);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
// Frozen install against the verbatim root lock. --ignore-scripts: member
|
|
324
|
+
// code arrives by extraction, already built (prepack ran at capture).
|
|
325
|
+
await run('npm', ['ci', '--no-audit', '--no-fund', '--ignore-scripts'], buildDir, 'workspace install');
|
|
326
|
+
await retargetWindowsJunctions(buildDir, envDir);
|
|
327
|
+
// Sanity: every member is present and resolvable — guards the silent
|
|
328
|
+
// "npm ci said up-to-date but installed nothing" class of failure.
|
|
329
|
+
for (const member of spec.value.members) {
|
|
330
|
+
const pkgJson = path.join(buildDir, ...member.path.split('/'), 'package.json');
|
|
331
|
+
const linked = path.join(buildDir, 'node_modules', ...member.name.split('/'));
|
|
332
|
+
if (!await pathExists(pkgJson) || !await pathExists(linked)) {
|
|
333
|
+
throw new Error(`materialized workspace is incomplete: member '${member.name}' missing after install`);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
async function pathExists(p) {
|
|
338
|
+
try {
|
|
339
|
+
await fs.access(p);
|
|
340
|
+
return true;
|
|
341
|
+
}
|
|
342
|
+
catch {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
107
346
|
/**
|
|
108
347
|
* Materializes an environment into the repo-local cache and returns the
|
|
109
348
|
* executable dirs to prepend to the runner's PATH.
|
|
@@ -149,11 +388,19 @@ export async function materializeEnvironment(storage, repo, envHash) {
|
|
|
149
388
|
await fs.rm(buildDir, { recursive: true, force: true });
|
|
150
389
|
await fs.mkdir(buildDir, { recursive: true });
|
|
151
390
|
try {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
391
|
+
switch (spec.type) {
|
|
392
|
+
case 'python':
|
|
393
|
+
await buildPython(storage, repo, spec, buildDir);
|
|
394
|
+
break;
|
|
395
|
+
case 'node':
|
|
396
|
+
await buildNode(storage, repo, spec, buildDir);
|
|
397
|
+
break;
|
|
398
|
+
case 'tools':
|
|
399
|
+
await buildTools(storage, repo, spec, buildDir);
|
|
400
|
+
break;
|
|
401
|
+
case 'workspace_node':
|
|
402
|
+
await buildWorkspaceNode(storage, repo, spec, buildDir, envDir);
|
|
403
|
+
break;
|
|
157
404
|
}
|
|
158
405
|
try {
|
|
159
406
|
await fs.rename(buildDir, envDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/execution/environment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../src/execution/environment.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAwB,MAAM,mBAAmB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,qBAAqB,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;AAEnE,yEAAyE;AACzE,SAAS,iBAAiB,CAAC,MAAc,EAAE,IAAqB;IAC9D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,KAAK,MAAM,CAAC;QACZ,KAAK,gBAAgB;YACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QACnD,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,KAAK,OAAO;YACV,oEAAoE;YACpE,sDAAsD;YACtD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW,EAAE,IAAY;IAC3E,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG;YACH,oDAAoD;YACpD,KAAK,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO;YACnC,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IAC9G,CAAC;AACH,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,OAAuB,EAAE,IAAY,EAAE,IAAY,EAAE,IAAY;IACxF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;4EAC4E;AAC5E,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,OAAuB,EAAE,IAAY,EACrC,IAAkD,EAAE,QAAgB;IAEpE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC5F,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAChF,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IACrF,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,yEAAyE;IACzE,sDAAsD;IACtD,yEAAyE;IACzE,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,oBAAoB,CAAC,EACpG,QAAQ,EAAE,wBAAwB,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,iEAAiE;YACjE,wDAAwD;YACxD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,kEAAkE;QAClE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,kBAAkB;QAClB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,EACjG,QAAQ,EAAE,uBAAuB,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,QAAQ,EAClF,+BAA+B,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,OAAuB,EAAE,IAAY,EACrC,IAAgD,EAAE,QAAgB;IAElE,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAC9E,2BAA2B,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAC9E,2BAA2B,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC;YAC3D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,EAAE,QAAQ,EACtF,yBAAyB,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,gBAAgB,CAAC,QAAgB,EAAE,OAAe;IACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,OAAO,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,6BAA6B,GAAG,GAAG,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,qCAAqC,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,OAAuB,EAAE,IAAY,EACrC,IAAiD,EAAE,QAAgB;IAEnE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,qEAAqE;QACrE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;AACH,CAAC;AAED;6EAC6E;AAC7E,SAAS,gBAAgB,CAAC,QAAgB,EAAE,UAAkB;IAC5D,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,gDAAgD,UAAU,GAAG,CAAC,CAAC;IACjF,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,6BAA6B,GAAG,GAAG,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,qCAAqC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAe;IAClE,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;YACtC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACf,IAAI,CAAC;oBACH,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,IAAI,SAAS,+BAA+B,CAAC,CAAC;oBAC1G,CAAC;oBACD,sDAAsD;oBACtD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBAChD,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;wBAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBAAC,OAAO,IAAI,EAAE,CAAC;oBAAC,CAAC;oBACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;wBACjD,MAAM,IAAI,KAAK,CAAC,iBAAiB,MAAM,CAAC,IAAI,+BAA+B,CAAC,CAAC;oBAC/E,CAAC;oBACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvD,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,CAAC,IAAI,gCAAgC,CAAC,CAAC;oBACxE,CAAC;oBACD,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAChC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC1C,MAAM,CAAC,MAAM,EAAE,CAAC;wBAChB,OAAO,IAAI,EAAE,CAAC;oBAChB,CAAC;oBACD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACpB,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;wBAClD,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;oBACjF,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvB,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,wBAAwB,CAAC,QAAgB,EAAE,MAAc;IACtE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QAChD,IAAI,OAAmC,CAAC;QACxC,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO;QAAC,CAAC;QACnB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,IAAI,MAAc,CAAC;gBACnB,IAAI,CAAC;oBAAC,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,SAAS;gBAAC,CAAC;gBAC7D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBACpE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpD,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAuB,EAAE,IAAY,EACrC,IAA0D,EAAE,QAAgB,EAAE,MAAc;IAE5F,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,4EAA4E;IAC5E,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACpH,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEvE,+DAA+D;IAC/D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/F,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,SAAS,SAAS,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAC9E,mBAAmB,CAAC,CAAC;IAEvB,MAAM,wBAAwB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAEjD,qEAAqE;IACrE,mEAAmE;IACnE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,iDAAiD,MAAM,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAuB,EACvB,IAAY,EACZ,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE1D,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,eAAe,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,MAAM,MAAM;YACpF,wFAAwF;YACxF,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE/C,gEAAgE;IAChE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,OAAO,EAAE,EAAE,KAAK,IAAI,EAAE;QAC/C,sCAAsC;QACtC,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QAAC,MAAM,CAAC;YACP,aAAa;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,MAAM,aAAa,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,QAAQ;oBACX,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBACjD,MAAM;gBACR,KAAK,MAAM;oBACT,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC/C,MAAM;gBACR,KAAK,OAAO;oBACV,MAAM,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAChD,MAAM;gBACR,KAAK,gBAAgB;oBACnB,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAChE,MAAM;YACV,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxD,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -7,6 +7,7 @@ import * as assert from 'node:assert';
|
|
|
7
7
|
import * as fs from 'node:fs';
|
|
8
8
|
import * as os from 'node:os';
|
|
9
9
|
import * as path from 'node:path';
|
|
10
|
+
import { execFileSync } from 'node:child_process';
|
|
10
11
|
import { encodeBeast2For, variant, some, none } from '@elaraai/east';
|
|
11
12
|
import { TaskObjectType, decodeTaskObject, FunctionObjectType, decodeFunctionObject, EnvironmentSpecType, environmentSpecObjectHashes, } from '@elaraai/e3-types';
|
|
12
13
|
import { StructType, StringType, ArrayType, BlobType, OptionType, EastTypeType, toEastTypeValue, IntegerType } from '@elaraai/east';
|
|
@@ -146,5 +147,165 @@ describe('materializeEnvironment', () => {
|
|
|
146
147
|
assert.deepStrictEqual(binsAgain, bins);
|
|
147
148
|
assert.ok(fs.existsSync(path.join(envDir, '.warm-marker')), 'warm hit must not rebuild the dir');
|
|
148
149
|
});
|
|
150
|
+
it('materializes a tools environment: files on PATH under bin/, executable, then warm', async () => {
|
|
151
|
+
const runnerBytes = Buffer.from('#!/bin/sh\necho hi\n');
|
|
152
|
+
const helperBytes = Buffer.from('DATA');
|
|
153
|
+
const runnerHash = await storage.objects.write(repo, runnerBytes);
|
|
154
|
+
const helperHash = await storage.objects.write(repo, helperBytes);
|
|
155
|
+
const spec = encodeBeast2For(EnvironmentSpecType)(variant('tools', {
|
|
156
|
+
files: [
|
|
157
|
+
{ path: 'bin/my-runner', hash: runnerHash },
|
|
158
|
+
{ path: 'bin/helper.dat', hash: helperHash },
|
|
159
|
+
],
|
|
160
|
+
}));
|
|
161
|
+
const envHash = await storage.objects.write(repo, spec);
|
|
162
|
+
const bins = await materializeEnvironment(storage, repo, envHash);
|
|
163
|
+
assert.strictEqual(bins.length, 1);
|
|
164
|
+
const envDir = path.join(repo, 'envs', envHash);
|
|
165
|
+
assert.strictEqual(bins[0], path.join(envDir, 'bin'));
|
|
166
|
+
const runnerPath = path.join(envDir, 'bin', 'my-runner');
|
|
167
|
+
assert.deepStrictEqual(fs.readFileSync(runnerPath), runnerBytes, 'file bytes preserved');
|
|
168
|
+
assert.deepStrictEqual(fs.readFileSync(path.join(envDir, 'bin', 'helper.dat')), helperBytes);
|
|
169
|
+
if (process.platform !== 'win32') {
|
|
170
|
+
assert.strictEqual(fs.statSync(runnerPath).mode & 0o111, 0o111, 'captured file is executable');
|
|
171
|
+
}
|
|
172
|
+
// Warm path: a marker survives a second call (no rebuild).
|
|
173
|
+
fs.writeFileSync(path.join(envDir, '.warm-marker'), 'x');
|
|
174
|
+
const binsAgain = await materializeEnvironment(storage, repo, envHash);
|
|
175
|
+
assert.deepStrictEqual(binsAgain, bins);
|
|
176
|
+
assert.ok(fs.existsSync(path.join(envDir, '.warm-marker')), 'warm hit must not rebuild');
|
|
177
|
+
});
|
|
178
|
+
it('rejects a tools spec whose file path escapes the environment dir', async () => {
|
|
179
|
+
for (const badPath of ['../evil', '/etc/passwd', 'a/../../b', '']) {
|
|
180
|
+
const blobHash = await storage.objects.write(repo, Buffer.from('x'));
|
|
181
|
+
const spec = encodeBeast2For(EnvironmentSpecType)(variant('tools', {
|
|
182
|
+
files: [{ path: badPath, hash: blobHash }],
|
|
183
|
+
}));
|
|
184
|
+
const envHash = await storage.objects.write(repo, spec);
|
|
185
|
+
await assert.rejects(materializeEnvironment(storage, repo, envHash), /tools file path|empty path/, `path '${badPath}' must be rejected`);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
// Python materialization shells out to uv (unlike the node path's npm);
|
|
189
|
+
// self-skip where uv is unavailable, matching the integration e2e.
|
|
190
|
+
const hasUv = (() => {
|
|
191
|
+
try {
|
|
192
|
+
execFileSync('uv', ['--version'], { stdio: 'ignore' });
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
})();
|
|
199
|
+
it('materializes a single-project python env: sdist installs, uv pip check passes, imports work', { skip: hasUv ? false : 'uv not on PATH' }, async () => {
|
|
200
|
+
// Build a minimal locked uv project (no third-party deps → no registry
|
|
201
|
+
// fetch beyond the build backend) and capture its files exactly as
|
|
202
|
+
// e3.export would, then materialize through the new unified buildPython
|
|
203
|
+
// (uv sync --all-packages --no-install-workspace --no-install-local +
|
|
204
|
+
// uv pip install --no-deps + uv pip check).
|
|
205
|
+
const projectDir = fs.mkdtempSync(path.join(os.tmpdir(), 'e3-py-proj-'));
|
|
206
|
+
try {
|
|
207
|
+
fs.mkdirSync(path.join(projectDir, 'src', 'e3_pyenv_fixture'), { recursive: true });
|
|
208
|
+
fs.writeFileSync(path.join(projectDir, 'pyproject.toml'), '[project]\nname = "e3-pyenv-fixture"\nversion = "0.1.0"\nrequires-python = ">=3.11"\n\n' +
|
|
209
|
+
'[build-system]\nrequires = ["hatchling"]\nbuild-backend = "hatchling.build"\n');
|
|
210
|
+
fs.writeFileSync(path.join(projectDir, 'src', 'e3_pyenv_fixture', '__init__.py'), 'MARKER = "e3-pyenv-ok"\n');
|
|
211
|
+
execFileSync('uv', ['lock'], { cwd: projectDir, stdio: 'ignore' });
|
|
212
|
+
const distDir = path.join(projectDir, 'dist');
|
|
213
|
+
execFileSync('uv', ['build', '--sdist', '--out-dir', distDir], { cwd: projectDir, stdio: 'ignore' });
|
|
214
|
+
const sdistFile = fs.readdirSync(distDir).find((f) => f.endsWith('.tar.gz'));
|
|
215
|
+
const pyprojectHash = await storage.objects.write(repo, fs.readFileSync(path.join(projectDir, 'pyproject.toml')));
|
|
216
|
+
const lockHash = await storage.objects.write(repo, fs.readFileSync(path.join(projectDir, 'uv.lock')));
|
|
217
|
+
const sdistHash = await storage.objects.write(repo, fs.readFileSync(path.join(distDir, sdistFile)));
|
|
218
|
+
const spec = encodeBeast2For(EnvironmentSpecType)(variant('python', {
|
|
219
|
+
pyproject: pyprojectHash, lock: lockHash,
|
|
220
|
+
sdists: [{ filename: sdistFile, hash: sdistHash }],
|
|
221
|
+
}));
|
|
222
|
+
const envHash = await storage.objects.write(repo, spec);
|
|
223
|
+
const bins = await materializeEnvironment(storage, repo, envHash);
|
|
224
|
+
assert.strictEqual(bins.length, 1);
|
|
225
|
+
const envDir = path.join(repo, 'envs', envHash);
|
|
226
|
+
const py = path.join(envDir, '.venv', process.platform === 'win32' ? 'Scripts/python.exe' : 'bin/python');
|
|
227
|
+
// The captured project code imports from the materialized venv alone.
|
|
228
|
+
const out = execFileSync(py, ['-c', 'import e3_pyenv_fixture as m; print(m.MARKER)'], { encoding: 'utf-8' });
|
|
229
|
+
assert.match(out, /e3-pyenv-ok/);
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
fs.rmSync(projectDir, { recursive: true, force: true });
|
|
233
|
+
}
|
|
234
|
+
});
|
|
235
|
+
it('materializes an npm workspace_node env: closure members linked, non-closure member pruned', async () => {
|
|
236
|
+
// Build a real npm workspace (common + pricing→common + forecasting),
|
|
237
|
+
// capture only the pricing CLOSURE (pricing, common), and materialize.
|
|
238
|
+
const ws = fs.mkdtempSync(path.join(os.tmpdir(), 'e3-nws-'));
|
|
239
|
+
try {
|
|
240
|
+
const mk = (rel, obj, code) => {
|
|
241
|
+
fs.mkdirSync(path.join(ws, rel), { recursive: true });
|
|
242
|
+
fs.writeFileSync(path.join(ws, rel, 'package.json'), JSON.stringify(obj));
|
|
243
|
+
if (code)
|
|
244
|
+
fs.writeFileSync(path.join(ws, rel, 'index.js'), code);
|
|
245
|
+
};
|
|
246
|
+
fs.writeFileSync(path.join(ws, 'package.json'), JSON.stringify({
|
|
247
|
+
name: 'sol-root', version: '1.0.0', private: true, workspaces: ['packages/*'],
|
|
248
|
+
}));
|
|
249
|
+
mk('packages/common', { name: '@acme/common', version: '1.0.0', main: 'index.js' }, 'module.exports.base = () => 41;\n');
|
|
250
|
+
mk('packages/pricing', { name: '@acme/pricing', version: '1.0.0', main: 'index.js', dependencies: { '@acme/common': '1.0.0' } }, 'module.exports.price = () => require("@acme/common").base() + 1;\n');
|
|
251
|
+
mk('packages/forecasting', { name: '@acme/forecasting', version: '1.0.0', main: 'index.js', dependencies: { '@acme/common': '1.0.0' } }, 'module.exports.f = () => 0;\n');
|
|
252
|
+
// npm is npm.cmd on Windows; a shell resolves it (execFileSync alone
|
|
253
|
+
// ENOENTs). buildWorkspaceNode's own npm calls already use shell:win32.
|
|
254
|
+
const npmShell = process.platform === 'win32';
|
|
255
|
+
execFileSync('npm', ['install', '--no-audit', '--no-fund'], { cwd: ws, stdio: 'ignore', shell: npmShell });
|
|
256
|
+
const packDir = fs.mkdtempSync(path.join(os.tmpdir(), 'e3-nws-pack-'));
|
|
257
|
+
const pack = (rel) => {
|
|
258
|
+
execFileSync('npm', ['pack', '--pack-destination', packDir], { cwd: path.join(ws, rel), stdio: 'ignore', shell: npmShell });
|
|
259
|
+
return fs.readdirSync(packDir).map((f) => path.join(packDir, f)).sort((a, b) => fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs)[0];
|
|
260
|
+
};
|
|
261
|
+
// Closure of pricing = {common, pricing} (sorted by path); forecasting excluded.
|
|
262
|
+
const commonTar = fs.readFileSync(pack('packages/common'));
|
|
263
|
+
const pricingTar = fs.readFileSync(pack('packages/pricing'));
|
|
264
|
+
const pkgJsonHash = await storage.objects.write(repo, fs.readFileSync(path.join(ws, 'package.json')));
|
|
265
|
+
const lockHash = await storage.objects.write(repo, fs.readFileSync(path.join(ws, 'package-lock.json')));
|
|
266
|
+
const commonHash = await storage.objects.write(repo, commonTar);
|
|
267
|
+
const pricingHash = await storage.objects.write(repo, pricingTar);
|
|
268
|
+
const spec = encodeBeast2For(EnvironmentSpecType)(variant('workspace_node', {
|
|
269
|
+
packageJson: pkgJsonHash, lock: lockHash, config: none, subject: 'packages/pricing',
|
|
270
|
+
members: [
|
|
271
|
+
{ path: 'packages/common', name: '@acme/common', tarball: commonHash },
|
|
272
|
+
{ path: 'packages/pricing', name: '@acme/pricing', tarball: pricingHash },
|
|
273
|
+
],
|
|
274
|
+
}));
|
|
275
|
+
const envHash = await storage.objects.write(repo, spec);
|
|
276
|
+
const bins = await materializeEnvironment(storage, repo, envHash);
|
|
277
|
+
const envDir = path.join(repo, 'envs', envHash);
|
|
278
|
+
assert.strictEqual(bins[0], path.join(envDir, 'node_modules', '.bin'));
|
|
279
|
+
// Cross-member require resolves from the materialized workspace alone.
|
|
280
|
+
const out = execFileSync(process.execPath, ['-e', 'process.chdir(process.argv[1]); console.log(require("@acme/pricing").price())', envDir], { encoding: 'utf-8', cwd: envDir });
|
|
281
|
+
assert.match(out, /42/);
|
|
282
|
+
// The non-closure member must not have been materialized.
|
|
283
|
+
assert.ok(!fs.existsSync(path.join(envDir, 'node_modules', '@acme', 'forecasting')), 'forecasting (not in closure) must be absent');
|
|
284
|
+
}
|
|
285
|
+
finally {
|
|
286
|
+
fs.rmSync(ws, { recursive: true, force: true });
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
it('rejects a workspace_node member tarball with a path-traversal entry', async () => {
|
|
290
|
+
// Hand-craft a gzipped tar whose entry escapes via '..' — must be refused.
|
|
291
|
+
const zlib = await import('node:zlib');
|
|
292
|
+
const { pack: tarPack } = await import('tar-stream');
|
|
293
|
+
const p = tarPack();
|
|
294
|
+
p.entry({ name: 'package/../../evil.js' }, 'pwned');
|
|
295
|
+
p.finalize();
|
|
296
|
+
const chunks = [];
|
|
297
|
+
for await (const c of p)
|
|
298
|
+
chunks.push(c);
|
|
299
|
+
const evilTarball = zlib.gzipSync(Buffer.concat(chunks));
|
|
300
|
+
const rootPkg = await storage.objects.write(repo, Buffer.from(JSON.stringify({ name: 'r', workspaces: ['packages/x'] })));
|
|
301
|
+
const npmLock = await storage.objects.write(repo, Buffer.from(JSON.stringify({ name: 'r', lockfileVersion: 3 })));
|
|
302
|
+
const evilHash = await storage.objects.write(repo, evilTarball);
|
|
303
|
+
const spec = encodeBeast2For(EnvironmentSpecType)(variant('workspace_node', {
|
|
304
|
+
packageJson: rootPkg, lock: npmLock, config: none, subject: 'packages/x',
|
|
305
|
+
members: [{ path: 'packages/x', name: '@acme/x', tarball: evilHash }],
|
|
306
|
+
}));
|
|
307
|
+
const envHash = await storage.objects.write(repo, spec);
|
|
308
|
+
await assert.rejects(materializeEnvironment(storage, repo, envHash), /illegal path|escapes/);
|
|
309
|
+
});
|
|
149
310
|
});
|
|
150
311
|
//# sourceMappingURL=environment.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.spec.js","sourceRoot":"","sources":["../../../src/execution/environment.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environment.spec.js","sourceRoot":"","sources":["../../../src/execution/environment.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,9 @@ import type { DetachedSpec, DetachedResult, DetachedRunOptions } from './runDeta
|
|
|
22
22
|
export interface TaskExecuteOptions {
|
|
23
23
|
/** Force execution even if cached */
|
|
24
24
|
force?: boolean;
|
|
25
|
+
/** Pass `-v` to the runner (known runtimes only) so it prints timing/perf
|
|
26
|
+
* to stderr. Runtime-only: never affects the task hash or caching. */
|
|
27
|
+
verbose?: boolean;
|
|
25
28
|
/** AbortSignal for cancellation */
|
|
26
29
|
signal?: AbortSignal;
|
|
27
30
|
/** Callback for stdout data */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/execution/interfaces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/execution/interfaces.ts"],"names":[],"mappings":"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"}
|