@outerlayer/cli 0.33.0-next.20261023030517 → 0.33.0-next.20261023120437
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/{agent-setup-APFM4MZ4.js → agent-setup-YHEW3WXB.js} +10 -10
- package/dist/{artifact-link-cmd-IHHMU4EA.js → artifact-link-cmd-7FYKWA7J.js} +2 -2
- package/dist/{build-disk-55M4ZMDX.js → build-disk-ECTLWTPC.js} +4 -4
- package/dist/build-info.json +1 -1
- package/dist/{builder-DQZCPB7J.js → builder-LUPHKUFM.js} +3 -3
- package/dist/{check-AEMFDR55.js → check-4QNLMDP7.js} +27 -27
- package/dist/{chunk-X62C7V4B.js → chunk-2JLM4GUF.js} +12 -12
- package/dist/{chunk-M24H6JQW.js → chunk-44V5SD4G.js} +1 -1
- package/dist/{chunk-C66Q2CLW.js → chunk-5M2J7B5N.js} +2 -2
- package/dist/{chunk-PNIFQX73.js → chunk-6CXNWKWD.js} +1 -1
- package/dist/{chunk-UAJYWZ2F.js → chunk-6SPD266O.js} +3 -3
- package/dist/{chunk-4NKHOCTF.js → chunk-7IFYI7XF.js} +3 -3
- package/dist/{chunk-HUBRTT2C.js → chunk-7UPMYRPS.js} +4 -4
- package/dist/{chunk-X37GC7DM.js → chunk-7V5GUEDU.js} +1 -1
- package/dist/{chunk-2WZ66FXA.js → chunk-AKZRGFGT.js} +3 -3
- package/dist/{chunk-T4S2DVOA.js → chunk-D3EDZPJR.js} +5 -5
- package/dist/{chunk-35DSTT37.js → chunk-DKFUXYGD.js} +4 -4
- package/dist/{chunk-7HZH5D7H.js → chunk-EHOFFTVX.js} +2 -2
- package/dist/{chunk-6ANIBEQ6.js → chunk-EJL6CWSP.js} +6 -6
- package/dist/{chunk-UHFU3CBN.js → chunk-EXZACZ2P.js} +1 -1
- package/dist/{chunk-V7Q5OKN7.js → chunk-F2D5BSXS.js} +27 -2
- package/dist/{chunk-C7WGCI77.js → chunk-FT7MUQGO.js} +2 -2
- package/dist/{chunk-AXIK6F52.js → chunk-FZUFUVLK.js} +13 -13
- package/dist/{chunk-M3RYZRMH.js → chunk-GO2DUPQS.js} +3 -3
- package/dist/{chunk-CCOU4NXE.js → chunk-HLZMAJJD.js} +2 -2
- package/dist/{chunk-GFTWZSOW.js → chunk-IUPY54BZ.js} +10 -10
- package/dist/{chunk-T4TT76GG.js → chunk-JEVKOZBB.js} +1 -1
- package/dist/{chunk-XMPE5TT4.js → chunk-KUE4V2SK.js} +2 -2
- package/dist/{chunk-DHUHQPRQ.js → chunk-L6MDOEHN.js} +7 -7
- package/dist/{chunk-PJI5D2XT.js → chunk-LYGI3T66.js} +2 -2
- package/dist/{chunk-E4F7YE7P.js → chunk-MPC2UAW2.js} +1 -1
- package/dist/{chunk-QQXNS4G2.js → chunk-NIY2UBT6.js} +1 -1
- package/dist/{chunk-QKEOAQ2W.js → chunk-OGMXVPCS.js} +1 -1
- package/dist/{chunk-A5FFANL7.js → chunk-QKNFU5GA.js} +5 -5
- package/dist/{chunk-VJGQEASF.js → chunk-S5CNYXUA.js} +4 -4
- package/dist/{chunk-B6WW6AKO.js → chunk-SQQD5MST.js} +4 -4
- package/dist/{chunk-JB4R5IFJ.js → chunk-UK4RGH46.js} +2 -2
- package/dist/{chunk-PILHDNHX.js → chunk-V673DFOL.js} +4 -4
- package/dist/{chunk-ONUACB5C.js → chunk-VWQCYOBS.js} +2 -2
- package/dist/{chunk-LHKWWEQZ.js → chunk-X4JEBMYN.js} +1 -1
- package/dist/{chunk-Z4GLZTDF.js → chunk-XCRET2GZ.js} +2 -2
- package/dist/{chunk-RLAKWXDK.js → chunk-YGZLRX5U.js} +1 -1
- package/dist/{chunk-67KCGRKA.js → chunk-YSM4EEUK.js} +11 -11
- package/dist/{chunk-5FSVA3CO.js → chunk-YXMGHGHR.js} +5 -5
- package/dist/{chunk-6ZLI652Y.js → chunk-ZF24JN7R.js} +1 -1
- package/dist/{claude-launcher-B55NWRH5.js → claude-launcher-YRPW4SWA.js} +5 -5
- package/dist/{cli-5YT5EL2R.js → cli-BC7JWQUQ.js} +108 -105
- package/dist/{command-DYLRDCGC.js → command-SQ4466SL.js} +19 -19
- package/dist/{config-RRY7DIJG.js → config-MVA7YTFW.js} +5 -5
- package/dist/{connect-cmd-7C6W2SEP.js → connect-cmd-KWXV2CGC.js} +8 -8
- package/dist/{container-start-F7PBMTAL.js → container-start-AQJ64LCF.js} +20 -20
- package/dist/{context-cleanup-EKTPKJJT.js → context-cleanup-A2FGVVPH.js} +3 -3
- package/dist/{context-show-cmd-I5JC7EFH.js → context-show-cmd-6F4UF4ND.js} +9 -9
- package/dist/{control-plane-launch-NOKM6CBH.js → control-plane-launch-7SOH6IMA.js} +6 -6
- package/dist/{dist-LLYL5UCV.js → dist-IG2DKUJJ.js} +2 -2
- package/dist/{docker-W7WWFZ3Q.js → docker-YKYQJHL2.js} +3 -3
- package/dist/{doctor-LYOFFCQS.js → doctor-4YZOP343.js} +20 -20
- package/dist/{emit-artifact-cmd-RO34UG7A.js → emit-artifact-cmd-6QTTWBVN.js} +13 -13
- package/dist/{emit-cmd-GY7Z26DY.js → emit-cmd-3FG7FEGO.js} +6 -6
- package/dist/{emit-criteria-cmd-Y36QCPAM.js → emit-criteria-cmd-22VVCL2W.js} +10 -10
- package/dist/{emit-demo-cmd-YMWVF5U4.js → emit-demo-cmd-IQRS7BP2.js} +168 -46
- package/dist/{emit-finding-cmd-MH3ZWUNV.js → emit-finding-cmd-TXDPJFVT.js} +10 -10
- package/dist/{emit-result-cmd-ZARZZZ3Y.js → emit-result-cmd-QHJDUC7J.js} +12 -12
- package/dist/{emit-step-cmd-A6HQJDBY.js → emit-step-cmd-TQCOLXAA.js} +10 -10
- package/dist/{findings-cmd-OLLBWJXJ.js → findings-cmd-EURKADAY.js} +10 -10
- package/dist/{fleet-readiness-VB5QSFSY.js → fleet-readiness-GXDSFTLP.js} +8 -8
- package/dist/{governing-source-ZX7VXTOA.js → governing-source-IRRP7G5G.js} +13 -13
- package/dist/{hook-fast-4RYMBFPO.js → hook-fast-3IYSWDL4.js} +1 -1
- package/dist/index.js +4 -4
- package/dist/{init-BQCGL7UD.js → init-63X6ECKF.js} +19 -19
- package/dist/{init-NCCMB2UE.js → init-T64C4MID.js} +19 -19
- package/dist/{init-cmd-OW2L5HTI.js → init-cmd-7CGCDLBZ.js} +18 -18
- package/dist/{init-update-7LUMOECE.js → init-update-LFKSC6Y4.js} +17 -17
- package/dist/{install-5BQ3TFBT.js → install-47Z7VNWP.js} +6 -6
- package/dist/{layout-RGVPCX7Y.js → layout-44S4OYLK.js} +4 -4
- package/dist/{login-browser-BC2Z5QKG.js → login-browser-BJZYKWHF.js} +2 -2
- package/dist/{loop-BU634Y6A.js → loop-YJF27PUS.js} +27 -27
- package/dist/{machine-RI4KHRYP.js → machine-VBITNWTR.js} +19 -19
- package/dist/{machine-skills-CS5HAQHF.js → machine-skills-GOKW3U5N.js} +4 -4
- package/dist/{runner-env-QSLLOFNF.js → runner-env-ILP6BAC2.js} +7 -7
- package/dist/{runner-identity-DQAXW4DL.js → runner-identity-MF3AYBR6.js} +3 -3
- package/dist/{runner-key-UWL475RU.js → runner-key-5SGBLTDJ.js} +19 -19
- package/dist/{session-sender-OGDUJ2KK.js → session-sender-2DYAJIMM.js} +13 -13
- package/dist/{spec-cmd-WB4UOFPG.js → spec-cmd-E6SINBX6.js} +11 -11
- package/dist/{starter-pack-XHATFTO3.js → starter-pack-FWTXE6XB.js} +5 -5
- package/dist/{status-GFZFND6L.js → status-AYHBGIAP.js} +24 -24
- package/dist/{sync-cmd-GPZD2C45.js → sync-cmd-NGX2PGIW.js} +12 -12
- package/dist/{watch-5I3GURXY.js → watch-ZIWZVU3Z.js} +12 -12
- package/dist/{work-claim-cmd-J52UVCAF.js → work-claim-cmd-CIVWB7EJ.js} +15 -15
- package/dist/{work-cmd-PQZ5RYDB.js → work-cmd-OO6K6ELP.js} +10 -10
- package/dist/{work-comment-cmd-WI6B3IOS.js → work-comment-cmd-SY7NY2CR.js} +10 -10
- package/dist/{work-demo-cmd-3NDGSQKJ.js → work-demo-cmd-Y7EU335L.js} +10 -10
- package/dist/{work-logs-cmd-QCYZ5X5A.js → work-logs-cmd-PWOFLTGD.js} +10 -10
- package/dist/{work-open-pr-cmd-BRDF3ZKL.js → work-open-pr-cmd-AJUTKYWN.js} +11 -11
- package/dist/{work-pr-cmd-WY2TBAKW.js → work-pr-cmd-DH43AH3V.js} +10 -10
- package/dist/{work-proofs-cmd-R25HT6WP.js → work-proofs-cmd-6W6DDAP6.js} +10 -10
- package/dist/{work-stop-cmd-C52JPZ4E.js → work-stop-cmd-WZHBEKE4.js} +10 -10
- package/package.json +1 -1
- package/skill-pack/maintained/outerlayer-build/references/agent-briefs.md +8 -5
- package/skill-pack/maintained/outerlayer-build/references/evidence.md +3 -1
- package/skill-pack/maintained/outerlayer-evidence/SKILL.md +17 -16
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { readNewestDemo } from './chunk-ER6KQCVJ.js';
|
|
4
|
-
import { runEmitArtifact } from './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
4
|
+
import { runEmitArtifact } from './chunk-QKNFU5GA.js';
|
|
5
|
+
import './chunk-D3EDZPJR.js';
|
|
6
|
+
import './chunk-7UPMYRPS.js';
|
|
7
7
|
import './chunk-ESVW4MJY.js';
|
|
8
8
|
import './chunk-TBT347UY.js';
|
|
9
9
|
import { VoiceDownloadError, downloadPinned, sha256OfFile } from './chunk-2PGI6RDE.js';
|
|
10
10
|
import { VOICE_PACK_FILES, VOICE_PACK_VERSION } from './chunk-NE63JADS.js';
|
|
11
11
|
import { detectActiveSession } from './chunk-IP7BIBXJ.js';
|
|
12
|
-
import { autoConnect } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import { resolveRepoIdentity } from './chunk-
|
|
16
|
-
import './chunk-
|
|
17
|
-
import './chunk-
|
|
12
|
+
import { autoConnect } from './chunk-HLZMAJJD.js';
|
|
13
|
+
import './chunk-S5CNYXUA.js';
|
|
14
|
+
import './chunk-MPC2UAW2.js';
|
|
15
|
+
import { resolveRepoIdentity } from './chunk-NIY2UBT6.js';
|
|
16
|
+
import './chunk-LYGI3T66.js';
|
|
17
|
+
import './chunk-7V5GUEDU.js';
|
|
18
18
|
import './chunk-G2JWZDFA.js';
|
|
19
19
|
import { C } from './chunk-ANPNT6PM.js';
|
|
20
20
|
import { defaultFetch, resolveGatewayCredentials } from './chunk-6RKD7YZ6.js';
|
|
@@ -22,13 +22,13 @@ import './chunk-PJDQPF5N.js';
|
|
|
22
22
|
import './chunk-SOI6K5DY.js';
|
|
23
23
|
import './chunk-PA6CK6WQ.js';
|
|
24
24
|
import './chunk-BALIE3BA.js';
|
|
25
|
-
import './chunk-
|
|
25
|
+
import './chunk-UK4RGH46.js';
|
|
26
26
|
import './chunk-ZJSNLVCE.js';
|
|
27
27
|
import './chunk-2O5KA67H.js';
|
|
28
28
|
import './chunk-BKO6JEZI.js';
|
|
29
29
|
import './chunk-HCVLP7XA.js';
|
|
30
30
|
import './chunk-BJ3KTMDH.js';
|
|
31
|
-
import './chunk-
|
|
31
|
+
import './chunk-44V5SD4G.js';
|
|
32
32
|
import './chunk-5BHIBJDA.js';
|
|
33
33
|
import './chunk-CDDED64E.js';
|
|
34
34
|
import './chunk-RA3O54FC.js';
|
|
@@ -37,16 +37,16 @@ import './chunk-WZBHBH3J.js';
|
|
|
37
37
|
import './chunk-CRB3POP4.js';
|
|
38
38
|
import './chunk-URIZRCRY.js';
|
|
39
39
|
import './chunk-TUSYOL2O.js';
|
|
40
|
-
import './chunk-
|
|
41
|
-
import { ARTIFACT_MAX_BYTES, ARTIFACT_MAX_CAPTION_LENGTH, DEMO_RECORD_MEDIA_TYPE, ARTIFACT_MAX_REPLACES_TARGETS, DemoManifestSchema } from './chunk-
|
|
40
|
+
import './chunk-6CXNWKWD.js';
|
|
41
|
+
import { ARTIFACT_MAX_BYTES, ARTIFACT_MAX_CAPTION_LENGTH, DEMO_RECORD_MEDIA_TYPE, ARTIFACT_MAX_REPLACES_TARGETS, DemoManifestSchema, ARTIFACT_KINDS } from './chunk-F2D5BSXS.js';
|
|
42
42
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
43
43
|
import './chunk-HACGUL52.js';
|
|
44
44
|
import './chunk-MESOOLF4.js';
|
|
45
45
|
import { __commonJS, __require, __toESM } from './chunk-Z5GEFMRW.js';
|
|
46
46
|
import { createHash } from 'crypto';
|
|
47
|
-
import { mkdtempSync, statSync, readFileSync,
|
|
47
|
+
import { mkdtempSync, writeFileSync, statSync, readFileSync, rmSync, mkdirSync, accessSync, constants, realpathSync, existsSync, createReadStream, createWriteStream } from 'fs';
|
|
48
48
|
import { tmpdir } from 'os';
|
|
49
|
-
import { resolve, dirname, join, delimiter, normalize
|
|
49
|
+
import { resolve, dirname, join, relative, sep, isAbsolute, delimiter, normalize } from 'path';
|
|
50
50
|
import { execFileSync } from 'child_process';
|
|
51
51
|
import { createRequire as createRequire$1 } from 'module';
|
|
52
52
|
import { createGunzip } from 'zlib';
|
|
@@ -2156,16 +2156,16 @@ function checkManifest(params) {
|
|
|
2156
2156
|
var import_pngjs = __toESM(require_png(), 1);
|
|
2157
2157
|
var StillError = class extends Error {
|
|
2158
2158
|
};
|
|
2159
|
-
function readStill(dir, file, sha256) {
|
|
2159
|
+
function readStill(dir, file, sha256, what = "still") {
|
|
2160
2160
|
const path = resolve(dir, file);
|
|
2161
2161
|
let bytes;
|
|
2162
2162
|
try {
|
|
2163
2163
|
bytes = readFileSync(path);
|
|
2164
2164
|
} catch (err) {
|
|
2165
|
-
throw new StillError(`cannot read the
|
|
2165
|
+
throw new StillError(`cannot read the ${what} "${file}" (${path}): ${err instanceof Error ? err.message : String(err)}`);
|
|
2166
2166
|
}
|
|
2167
2167
|
if (createHash("sha256").update(bytes).digest("hex") !== sha256) {
|
|
2168
|
-
throw new StillError(`the
|
|
2168
|
+
throw new StillError(`the ${what} "${file}" does not match the SHA-256 in its manifest \u2014 the file changed after the run`);
|
|
2169
2169
|
}
|
|
2170
2170
|
return bytes;
|
|
2171
2171
|
}
|
|
@@ -2259,7 +2259,7 @@ function compareChapters(params) {
|
|
|
2259
2259
|
}
|
|
2260
2260
|
|
|
2261
2261
|
// src/demo/criteria.ts
|
|
2262
|
-
async function
|
|
2262
|
+
async function readRecordedCriteria(params) {
|
|
2263
2263
|
const endpoint = new URL(`/v1/work-items/${params.item}`, params.url).toString();
|
|
2264
2264
|
const response = await params.fetchImpl(endpoint, {
|
|
2265
2265
|
method: "GET",
|
|
@@ -2269,7 +2269,12 @@ async function readRecordedCriteriaIds(params) {
|
|
|
2269
2269
|
const body = await response.json();
|
|
2270
2270
|
const items = body.data?.criteria?.items;
|
|
2271
2271
|
if (!Array.isArray(items)) return void 0;
|
|
2272
|
-
|
|
2272
|
+
const kinds = ARTIFACT_KINDS;
|
|
2273
|
+
return new Map(
|
|
2274
|
+
items.flatMap(
|
|
2275
|
+
(entry) => typeof entry.id === "string" ? [[entry.id, kinds.includes(entry.proof) ? entry.proof : null]] : []
|
|
2276
|
+
)
|
|
2277
|
+
);
|
|
2273
2278
|
}
|
|
2274
2279
|
|
|
2275
2280
|
// src/demo/fit.ts
|
|
@@ -2433,6 +2438,36 @@ function createMediaTools(env, exec = execFileSync) {
|
|
|
2433
2438
|
};
|
|
2434
2439
|
}
|
|
2435
2440
|
|
|
2441
|
+
// src/demo/screenshots.ts
|
|
2442
|
+
function frameOf(chapter) {
|
|
2443
|
+
return "screenshot" in chapter ? chapter.screenshot : void 0;
|
|
2444
|
+
}
|
|
2445
|
+
function planScreenshots(params) {
|
|
2446
|
+
const { manifest, proofs } = params;
|
|
2447
|
+
return manifest.chapters.map((chapter) => {
|
|
2448
|
+
const id = chapter.criterionId;
|
|
2449
|
+
if (id === null) return void 0;
|
|
2450
|
+
const frame = frameOf(chapter);
|
|
2451
|
+
const declared = proofs?.get(id) ?? null;
|
|
2452
|
+
if (frame === void 0 && declared !== "screenshot") return void 0;
|
|
2453
|
+
if (proofs === void 0) return { skip: "the item's criteria could not be read, so no screenshot is bound" };
|
|
2454
|
+
if (frame === void 0) return { skip: `calls no demo.screenshot(), so no screenshot is bound to ${id}` };
|
|
2455
|
+
if (declared !== "screenshot") {
|
|
2456
|
+
return { skip: `${id} declares ${declared === null ? "no proof" : declared}, not screenshot, so the frame is not stored` };
|
|
2457
|
+
}
|
|
2458
|
+
if (chapter.checks.length === 0) return { skip: "ran no checks, so the frame is not stored" };
|
|
2459
|
+
if (chapter.checks.some((check) => !check.passed)) return { skip: "a check failed, so the frame is not stored" };
|
|
2460
|
+
return { bind: frame };
|
|
2461
|
+
});
|
|
2462
|
+
}
|
|
2463
|
+
function screenshotCaption(index, chapter, frame) {
|
|
2464
|
+
const head = `Demo chapter ${index + 1} screenshot: ${chapter.title}, after "`;
|
|
2465
|
+
const tail = `"${frame.masked ? ", with masks" : ""}`;
|
|
2466
|
+
const room = Math.max(1, ARTIFACT_MAX_CAPTION_LENGTH - head.length - tail.length);
|
|
2467
|
+
const text = chapter.checks[frame.check].text;
|
|
2468
|
+
return `${head}${text.length <= room ? text : `${text.slice(0, room - 1)}\u2026`}${tail}`;
|
|
2469
|
+
}
|
|
2470
|
+
|
|
2436
2471
|
// src/demo/record.ts
|
|
2437
2472
|
function chapterPassed(checks) {
|
|
2438
2473
|
return checks.length > 0 && checks.every((check) => check.passed);
|
|
@@ -2446,8 +2481,8 @@ function buildDemoRecord(manifest, video, stored, comparisons) {
|
|
|
2446
2481
|
}
|
|
2447
2482
|
return {
|
|
2448
2483
|
schemaVersion: 3,
|
|
2449
|
-
// Only a version 3
|
|
2450
|
-
...
|
|
2484
|
+
// Only a manifest of version 3 or later names its test. An older one stores a record with no test.
|
|
2485
|
+
..."test" in manifest ? { test: manifest.test } : {},
|
|
2451
2486
|
video,
|
|
2452
2487
|
chapters: manifest.chapters.map((chapter, index) => {
|
|
2453
2488
|
const comparison = comparisons[index];
|
|
@@ -2463,11 +2498,17 @@ function buildDemoRecord(manifest, video, stored, comparisons) {
|
|
|
2463
2498
|
bound: stored[index].bound,
|
|
2464
2499
|
comparable: comparison.comparable,
|
|
2465
2500
|
stills: comparison.stills,
|
|
2466
|
-
...comparison.difference === void 0 ? {} : { difference: comparison.difference }
|
|
2501
|
+
...comparison.difference === void 0 ? {} : { difference: comparison.difference },
|
|
2502
|
+
...recordedFrame(chapter, stored[index])
|
|
2467
2503
|
};
|
|
2468
2504
|
})
|
|
2469
2505
|
};
|
|
2470
2506
|
}
|
|
2507
|
+
function recordedFrame(chapter, stored) {
|
|
2508
|
+
const frame = frameOf(chapter);
|
|
2509
|
+
if (frame === void 0 || stored.screenshot === void 0) return {};
|
|
2510
|
+
return { screenshot: { artifactId: stored.screenshot.artifactId, check: frame.check, sha256: frame.sha256, fullPage: frame.fullPage, masked: frame.masked } };
|
|
2511
|
+
}
|
|
2471
2512
|
var PUNCTUATION = ';:,.!?\xA1\xBF\u2014\u2026"\xAB\xBB\u201C\u201D(){}[]';
|
|
2472
2513
|
var PUNCTUATION_RUN = new RegExp(`(\\s*[${PUNCTUATION.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}]+\\s*)+`, "g");
|
|
2473
2514
|
function splitYear(text) {
|
|
@@ -2650,9 +2691,9 @@ async function extractNpmTarball(tarball, destDir, keep = () => true) {
|
|
|
2650
2691
|
padding = (BLOCK - entry.size % BLOCK) % BLOCK;
|
|
2651
2692
|
collected = [];
|
|
2652
2693
|
if (entry.type !== "0" && entry.type !== "\0") return;
|
|
2653
|
-
const
|
|
2654
|
-
if (
|
|
2655
|
-
const target = normalize(join(destDir,
|
|
2694
|
+
const relative2 = entry.path.split("/").slice(1).join("/");
|
|
2695
|
+
if (relative2 === "" || !keep(relative2)) return;
|
|
2696
|
+
const target = normalize(join(destDir, relative2));
|
|
2656
2697
|
if (!target.startsWith(normalize(destDir) + sep)) throw new Error(`the archive has a path outside its folder: ${entry.path}`);
|
|
2657
2698
|
mkdirSync(dirname(target), { recursive: true });
|
|
2658
2699
|
sink = createWriteStream(target, { mode: 493 });
|
|
@@ -2848,7 +2889,8 @@ async function runEmitDemo(opts) {
|
|
|
2848
2889
|
const media = opts.media ?? createMediaTools(env);
|
|
2849
2890
|
const item = resolveItem({ opts, env, cwd, home });
|
|
2850
2891
|
const retiring = opts.replaces === void 0 ? void 0 : await readRetiring({ opts, item, env, cwd, home, fetchImpl });
|
|
2851
|
-
const
|
|
2892
|
+
const proofs = await recordedCriteria({ opts, item, env, cwd, home, fetchImpl, say });
|
|
2893
|
+
const recordedIds = proofs === void 0 ? void 0 : new Set(proofs.keys());
|
|
2852
2894
|
let videoSeconds;
|
|
2853
2895
|
try {
|
|
2854
2896
|
videoSeconds = media.probe(videoPath);
|
|
@@ -2857,8 +2899,16 @@ async function runEmitDemo(opts) {
|
|
|
2857
2899
|
}
|
|
2858
2900
|
const problem = checkManifest({ manifest, videoSeconds, recordedIds });
|
|
2859
2901
|
if (problem !== void 0) throw new EmitDemoError(problem);
|
|
2902
|
+
const manifestDir = dirname(manifestPath);
|
|
2903
|
+
const frames = decideFrames({ manifest, proofs, dir: manifestDir, say });
|
|
2860
2904
|
const work = mkdtempSync(join(tmpdir(), "outerlayer-demo-"));
|
|
2861
2905
|
try {
|
|
2906
|
+
const framePaths = frames.map((frame, index) => {
|
|
2907
|
+
if (frame.kind !== "bind") return void 0;
|
|
2908
|
+
const path = join(work, `screenshot-${index + 1}.png`);
|
|
2909
|
+
writeFileSync(path, frame.bytes);
|
|
2910
|
+
return path;
|
|
2911
|
+
});
|
|
2862
2912
|
const speaker = narrated ? opts.speaker ?? await realSpeaker({ env, home, work, say, installedRoot: opts.installedVoiceRoot }) : void 0;
|
|
2863
2913
|
const spoken = [];
|
|
2864
2914
|
for (const [index, chapter] of manifest.chapters.entries()) {
|
|
@@ -2949,7 +2999,15 @@ async function runEmitDemo(opts) {
|
|
|
2949
2999
|
bound: bound[index]
|
|
2950
3000
|
}));
|
|
2951
3001
|
}
|
|
2952
|
-
const
|
|
3002
|
+
const frameIds = frames.map((frame) => frame.kind === "bind" ? idFor(`screenshot-${frame.index + 1}`, framePaths[frame.index]) : void 0);
|
|
3003
|
+
const plannedRecord = JSON.stringify(
|
|
3004
|
+
buildDemoRecord(
|
|
3005
|
+
manifest,
|
|
3006
|
+
video,
|
|
3007
|
+
withFrames(stored, frameIds),
|
|
3008
|
+
comparisons
|
|
3009
|
+
)
|
|
3010
|
+
);
|
|
2953
3011
|
const recordBytes = Buffer.byteLength(plannedRecord);
|
|
2954
3012
|
if (recordBytes > ARTIFACT_MAX_BYTES) {
|
|
2955
3013
|
throw new EmitDemoError(
|
|
@@ -2969,8 +3027,8 @@ async function runEmitDemo(opts) {
|
|
|
2969
3027
|
env,
|
|
2970
3028
|
fetchImpl: opts.fetchImpl
|
|
2971
3029
|
};
|
|
2972
|
-
const replacing = retiring === void 0 ? void 0 : planReplaces(retiring, manifest, wholeFits);
|
|
2973
|
-
const total = manifest.chapters.length + (wholeFits ? 1 : 0) + 1;
|
|
3030
|
+
const replacing = retiring === void 0 ? void 0 : planReplaces(retiring, manifest, wholeFits, frames.map((frame) => frame.kind === "bind"));
|
|
3031
|
+
const total = manifest.chapters.length + (wholeFits ? 1 : 0) + 1 + frameIds.filter((id) => id !== void 0).length;
|
|
2974
3032
|
const unit = "artifacts";
|
|
2975
3033
|
let emitted = 0;
|
|
2976
3034
|
const emitStep = async (params) => {
|
|
@@ -2990,6 +3048,8 @@ async function runEmitDemo(opts) {
|
|
|
2990
3048
|
}
|
|
2991
3049
|
const failures = [];
|
|
2992
3050
|
const clips = [];
|
|
3051
|
+
const screenshots = [];
|
|
3052
|
+
const storedFrames = [];
|
|
2993
3053
|
for (const [index, chapter] of manifest.chapters.entries()) {
|
|
2994
3054
|
const failed = chapter.checks.filter((check) => !check.passed);
|
|
2995
3055
|
if (failed.length > 0) {
|
|
@@ -3009,6 +3069,24 @@ async function runEmitDemo(opts) {
|
|
|
3009
3069
|
blobOptional: true,
|
|
3010
3070
|
...replaceOption(replacing?.chapters[index])
|
|
3011
3071
|
});
|
|
3072
|
+
const frame = frames[index];
|
|
3073
|
+
if (frame.kind === "bind") {
|
|
3074
|
+
const shot = await emitStep({
|
|
3075
|
+
file: framePaths[index],
|
|
3076
|
+
filename: `screenshot-${String(index + 1).padStart(2, "0")}.png`,
|
|
3077
|
+
mediaType: "image/png",
|
|
3078
|
+
artifactId: frameIds[index],
|
|
3079
|
+
caption: screenshotCaption(index, chapter, frame.frame),
|
|
3080
|
+
criterionId: chapter.criterionId,
|
|
3081
|
+
blobOptional: true,
|
|
3082
|
+
...replaceOption(replacing?.screenshots[index])
|
|
3083
|
+
});
|
|
3084
|
+
storedFrames.push({ artifactId: artifactIdOf(shot) });
|
|
3085
|
+
screenshots.push({ chapter: index + 1, criterionId: chapter.criterionId, artifactId: artifactIdOf(shot) });
|
|
3086
|
+
} else {
|
|
3087
|
+
storedFrames.push(void 0);
|
|
3088
|
+
if (frame.kind === "skip") screenshots.push({ chapter: index + 1, criterionId: chapter.criterionId, reason: frame.reason });
|
|
3089
|
+
}
|
|
3012
3090
|
clips.push({
|
|
3013
3091
|
clipArtifactId: artifactIdOf(result),
|
|
3014
3092
|
bound: bound[index],
|
|
@@ -3020,7 +3098,10 @@ async function runEmitDemo(opts) {
|
|
|
3020
3098
|
const record = buildDemoRecord(
|
|
3021
3099
|
manifest,
|
|
3022
3100
|
video,
|
|
3023
|
-
|
|
3101
|
+
withFrames(
|
|
3102
|
+
clips.map((clip) => ({ artifactId: clip.clipArtifactId, range: clip.range, bound: clip.bound })),
|
|
3103
|
+
storedFrames.map((stored2) => stored2?.artifactId)
|
|
3104
|
+
),
|
|
3024
3105
|
comparisons
|
|
3025
3106
|
);
|
|
3026
3107
|
const recordPath = join(work, "demo.json");
|
|
@@ -3043,14 +3124,16 @@ async function runEmitDemo(opts) {
|
|
|
3043
3124
|
});
|
|
3044
3125
|
const compared = comparisons.filter((comparison) => comparison.comparable !== "not checked").length;
|
|
3045
3126
|
const boundCount = clips.filter((clip) => clip.bound).length;
|
|
3046
|
-
const
|
|
3127
|
+
const frameCount = screenshots.filter((entry) => entry.artifactId !== void 0).length;
|
|
3128
|
+
const frameNote = frameCount === 0 ? "" : `, ${frameCount} screenshot${frameCount === 1 ? "" : "s"}`;
|
|
3129
|
+
const what = wholeFits ? `1 video, ${clips.length} chapter${clips.length === 1 ? "" : "s"}, ${boundCount} bound to a criterion${frameNote}` : `whole video left out for its size (${wholeBytes} bytes) ${C.dim}\xB7${C.reset} ${clips.length} clip${clips.length === 1 ? "" : "s"}, ${boundCount} bound to a criterion${frameNote}`;
|
|
3047
3130
|
const summary = `${C.green}\u2713${C.reset} demo emitted ${C.dim}\xB7${C.reset} ${what} ${C.dim}\xB7${C.reset} record ${recordArtifactId}`;
|
|
3048
|
-
const output = opts.json ? JSON.stringify({ recordArtifactId, video, clips, failures, differences, exitCode }) : [
|
|
3131
|
+
const output = opts.json ? JSON.stringify({ recordArtifactId, video, clips, screenshots, failures, differences, exitCode }) : [
|
|
3049
3132
|
...differences.map((line) => `${C.yellow}!${C.reset} ${line}`),
|
|
3050
3133
|
summary + (opts.compare === void 0 ? "" : ` ${C.dim}\xB7${C.reset} ${compared} of ${clips.length} chapter${clips.length === 1 ? "" : "s"} compared, ${comparisons.filter((comparison) => comparison.comparable === "yes").length} comparable`)
|
|
3051
3134
|
].join("\n");
|
|
3052
3135
|
if (!opts.quiet) process.stdout.write(output + "\n");
|
|
3053
|
-
return { exitCode, output, failures, recordArtifactId, video, clips, differences };
|
|
3136
|
+
return { exitCode, output, failures, recordArtifactId, video, clips, screenshots, differences };
|
|
3054
3137
|
} finally {
|
|
3055
3138
|
rmSync(work, { recursive: true, force: true });
|
|
3056
3139
|
}
|
|
@@ -3124,7 +3207,7 @@ async function recordedCriteria(params) {
|
|
|
3124
3207
|
}
|
|
3125
3208
|
try {
|
|
3126
3209
|
const gateway = await gatewayFor({ opts, env, cwd, home });
|
|
3127
|
-
const ids = await
|
|
3210
|
+
const ids = await readRecordedCriteria({ url: gateway.url, apiKey: gateway.apiKey, appId: gateway.appId, item, fetchImpl });
|
|
3128
3211
|
if (ids === void 0) say(`${C.yellow}!${C.reset} item ${item} has no recorded criteria, so the chapters' criterion ids are not checked`);
|
|
3129
3212
|
return ids;
|
|
3130
3213
|
} catch (err) {
|
|
@@ -3159,32 +3242,40 @@ async function readRetiring(params) {
|
|
|
3159
3242
|
return {
|
|
3160
3243
|
recordId: newest.artifactId,
|
|
3161
3244
|
videoId: videoId !== void 0 && isLive(videoId) ? videoId : void 0,
|
|
3162
|
-
chapters: record.chapters.map((chapter) =>
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3245
|
+
chapters: record.chapters.map((chapter) => {
|
|
3246
|
+
const clipId = "artifactId" in chapter ? chapter.artifactId : chapter.clipArtifactId;
|
|
3247
|
+
const frameId = "screenshot" in chapter ? chapter.screenshot.artifactId : void 0;
|
|
3248
|
+
return {
|
|
3249
|
+
criterionId: chapter.criterionId,
|
|
3250
|
+
...isLive(clipId) ? { artifactId: clipId } : {},
|
|
3251
|
+
...frameId !== void 0 && isLive(frameId) ? { screenshotId: frameId } : {}
|
|
3252
|
+
};
|
|
3253
|
+
}).filter((chapter) => chapter.artifactId !== void 0 || chapter.screenshotId !== void 0)
|
|
3166
3254
|
};
|
|
3167
3255
|
}
|
|
3168
|
-
function planReplaces(old, manifest, wholeFits) {
|
|
3256
|
+
function planReplaces(old, manifest, wholeFits, storesFrame) {
|
|
3169
3257
|
const taken = /* @__PURE__ */ new Set();
|
|
3170
3258
|
const take = (ids) => {
|
|
3171
3259
|
for (const id of ids) taken.add(id);
|
|
3172
3260
|
return ids;
|
|
3173
3261
|
};
|
|
3174
3262
|
const video = wholeFits && old.videoId !== void 0 ? take([old.videoId]) : [];
|
|
3175
|
-
const
|
|
3176
|
-
|
|
3177
|
-
);
|
|
3178
|
-
const left = [
|
|
3263
|
+
const named = (pick) => (chapter) => chapter.criterionId === null ? [] : take(old.chapters.filter((entry) => entry.criterionId === chapter.criterionId).flatMap((entry) => pick(entry) ?? []));
|
|
3264
|
+
const chapters = manifest.chapters.map(named((entry) => entry.artifactId));
|
|
3265
|
+
const screenshots = manifest.chapters.map((chapter, index) => storesFrame[index] === true ? named((entry) => entry.screenshotId)(chapter) : []);
|
|
3266
|
+
const left = [
|
|
3267
|
+
...old.videoId === void 0 ? [] : [old.videoId],
|
|
3268
|
+
...old.chapters.flatMap((entry) => [entry.artifactId, entry.screenshotId].filter((id) => id !== void 0))
|
|
3269
|
+
];
|
|
3179
3270
|
const record = [old.recordId, ...new Set(left.filter((id) => !taken.has(id)))];
|
|
3180
|
-
for (const targets of [video, ...chapters, record]) {
|
|
3271
|
+
for (const targets of [video, ...chapters, ...screenshots, record]) {
|
|
3181
3272
|
if (targets.length > ARTIFACT_MAX_REPLACES_TARGETS) {
|
|
3182
3273
|
throw new EmitDemoError(
|
|
3183
3274
|
`the old demo leaves ${targets.length} artifacts to retire in one emit, over the limit of ${ARTIFACT_MAX_REPLACES_TARGETS} \u2014 record the demo with fewer chapters, or retire the old artifacts with emit artifact --replaces`
|
|
3184
3275
|
);
|
|
3185
3276
|
}
|
|
3186
3277
|
}
|
|
3187
|
-
return { video, chapters, record };
|
|
3278
|
+
return { video, chapters, screenshots, record };
|
|
3188
3279
|
}
|
|
3189
3280
|
var replaceOption = (targets) => targets === void 0 || targets.length === 0 ? {} : { replaces: targets.join(",") };
|
|
3190
3281
|
async function realSpeaker(params) {
|
|
@@ -3199,5 +3290,36 @@ async function realSpeaker(params) {
|
|
|
3199
3290
|
throw err;
|
|
3200
3291
|
}
|
|
3201
3292
|
}
|
|
3293
|
+
function withFrames(entries, frameIds) {
|
|
3294
|
+
return entries.map((entry, index) => frameIds[index] === void 0 ? entry : { ...entry, screenshot: { artifactId: frameIds[index] } });
|
|
3295
|
+
}
|
|
3296
|
+
function decideFrames(params) {
|
|
3297
|
+
const { manifest, proofs, dir, say } = params;
|
|
3298
|
+
const decisions = planScreenshots({ manifest, proofs });
|
|
3299
|
+
return decisions.map((decision, index) => {
|
|
3300
|
+
if (decision === void 0) return { kind: "none" };
|
|
3301
|
+
const chapter = manifest.chapters[index];
|
|
3302
|
+
const skip = (reason) => {
|
|
3303
|
+
say(`${C.yellow}!${C.reset} ${chapterLabel(index, chapter.title)}: ${reason}`);
|
|
3304
|
+
return { kind: "skip", reason };
|
|
3305
|
+
};
|
|
3306
|
+
if ("skip" in decision) return skip(decision.skip);
|
|
3307
|
+
const inside = relative(dir, resolve(dir, decision.bind.file));
|
|
3308
|
+
if (inside === ".." || inside.startsWith(`..${sep}`) || isAbsolute(inside)) {
|
|
3309
|
+
throw new EmitDemoError(`${chapterLabel(index, chapter.title)}: the frame "${decision.bind.file}" is outside the manifest's folder`);
|
|
3310
|
+
}
|
|
3311
|
+
let bytes;
|
|
3312
|
+
try {
|
|
3313
|
+
bytes = readStill(dir, decision.bind.file, decision.bind.sha256, "frame");
|
|
3314
|
+
} catch (err) {
|
|
3315
|
+
if (err instanceof StillError) throw new EmitDemoError(`${chapterLabel(index, chapter.title)}: ${err.message}`);
|
|
3316
|
+
throw err;
|
|
3317
|
+
}
|
|
3318
|
+
if (bytes.length > ARTIFACT_MAX_BYTES) {
|
|
3319
|
+
return skip(`the frame is ${(bytes.length / MIB).toFixed(1)} MiB, over the ${ARTIFACT_MAX_BYTES / MIB} MiB limit, so it is not stored`);
|
|
3320
|
+
}
|
|
3321
|
+
return { kind: "bind", index, frame: decision.bind, bytes };
|
|
3322
|
+
});
|
|
3323
|
+
}
|
|
3202
3324
|
|
|
3203
3325
|
export { EmitDemoError, runEmitDemo };
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { EmitFindingError, detectUploadSessionId, refuseRemovedFindingFlags, resolveUploadTarget, runEmitFinding, runEmitFindings } from './chunk-
|
|
3
|
+
export { EmitFindingError, detectUploadSessionId, refuseRemovedFindingFlags, resolveUploadTarget, runEmitFinding, runEmitFindings } from './chunk-6SPD266O.js';
|
|
4
4
|
import './chunk-ESVW4MJY.js';
|
|
5
5
|
import './chunk-IP7BIBXJ.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
6
|
+
import './chunk-HLZMAJJD.js';
|
|
7
|
+
import './chunk-S5CNYXUA.js';
|
|
8
|
+
import './chunk-MPC2UAW2.js';
|
|
9
|
+
import './chunk-NIY2UBT6.js';
|
|
10
|
+
import './chunk-LYGI3T66.js';
|
|
11
|
+
import './chunk-7V5GUEDU.js';
|
|
12
12
|
import './chunk-G2JWZDFA.js';
|
|
13
13
|
import './chunk-ANPNT6PM.js';
|
|
14
14
|
import './chunk-6RKD7YZ6.js';
|
|
@@ -18,15 +18,15 @@ import './chunk-PA6CK6WQ.js';
|
|
|
18
18
|
import './chunk-BALIE3BA.js';
|
|
19
19
|
import './chunk-ZJSNLVCE.js';
|
|
20
20
|
import './chunk-BJ3KTMDH.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-44V5SD4G.js';
|
|
22
22
|
import './chunk-5BHIBJDA.js';
|
|
23
23
|
import './chunk-CDDED64E.js';
|
|
24
24
|
import './chunk-RA3O54FC.js';
|
|
25
25
|
import './chunk-T2Q7ISPE.js';
|
|
26
26
|
import './chunk-WZBHBH3J.js';
|
|
27
27
|
import './chunk-CRB3POP4.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
28
|
+
import './chunk-6CXNWKWD.js';
|
|
29
|
+
import './chunk-F2D5BSXS.js';
|
|
30
30
|
import './chunk-VNVZDWO3.js';
|
|
31
31
|
import './chunk-HACGUL52.js';
|
|
32
32
|
import './chunk-MESOOLF4.js';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
3
|
import { zodProblem } from './chunk-I3LTIAOR.js';
|
|
4
|
-
import { detectCi } from './chunk-
|
|
5
|
-
import './chunk-
|
|
4
|
+
import { detectCi } from './chunk-D3EDZPJR.js';
|
|
5
|
+
import './chunk-7UPMYRPS.js';
|
|
6
6
|
import { launchRefusalForSession } from './chunk-ESVW4MJY.js';
|
|
7
7
|
import './chunk-TBT347UY.js';
|
|
8
8
|
import { detectActiveSession } from './chunk-IP7BIBXJ.js';
|
|
9
|
-
import { autoConnect } from './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import { resolveRepoIdentity } from './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
9
|
+
import { autoConnect } from './chunk-HLZMAJJD.js';
|
|
10
|
+
import './chunk-S5CNYXUA.js';
|
|
11
|
+
import './chunk-MPC2UAW2.js';
|
|
12
|
+
import { resolveRepoIdentity } from './chunk-NIY2UBT6.js';
|
|
13
|
+
import './chunk-LYGI3T66.js';
|
|
14
|
+
import './chunk-7V5GUEDU.js';
|
|
15
15
|
import './chunk-G2JWZDFA.js';
|
|
16
16
|
import { C } from './chunk-ANPNT6PM.js';
|
|
17
17
|
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-6RKD7YZ6.js';
|
|
@@ -19,13 +19,13 @@ import './chunk-PJDQPF5N.js';
|
|
|
19
19
|
import './chunk-SOI6K5DY.js';
|
|
20
20
|
import './chunk-PA6CK6WQ.js';
|
|
21
21
|
import './chunk-BALIE3BA.js';
|
|
22
|
-
import './chunk-
|
|
22
|
+
import './chunk-UK4RGH46.js';
|
|
23
23
|
import './chunk-ZJSNLVCE.js';
|
|
24
24
|
import './chunk-2O5KA67H.js';
|
|
25
25
|
import './chunk-BKO6JEZI.js';
|
|
26
26
|
import './chunk-HCVLP7XA.js';
|
|
27
27
|
import './chunk-BJ3KTMDH.js';
|
|
28
|
-
import './chunk-
|
|
28
|
+
import './chunk-44V5SD4G.js';
|
|
29
29
|
import './chunk-5BHIBJDA.js';
|
|
30
30
|
import './chunk-CDDED64E.js';
|
|
31
31
|
import './chunk-RA3O54FC.js';
|
|
@@ -34,8 +34,8 @@ import { parseTrackerNumber, trackerNumberError } from './chunk-WZBHBH3J.js';
|
|
|
34
34
|
import './chunk-CRB3POP4.js';
|
|
35
35
|
import './chunk-URIZRCRY.js';
|
|
36
36
|
import './chunk-TUSYOL2O.js';
|
|
37
|
-
import './chunk-
|
|
38
|
-
import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, itemsAllowResult, EMITTED_RESULT_MAX_BODY_LENGTH, CheckItemsSchema } from './chunk-
|
|
37
|
+
import './chunk-6CXNWKWD.js';
|
|
38
|
+
import { EmittedNameSchema, EMITTED_RESULT_MAX_LINK_LENGTH, EMITTED_RESULTS, itemsAllowResult, EMITTED_RESULT_MAX_BODY_LENGTH, CheckItemsSchema } from './chunk-F2D5BSXS.js';
|
|
39
39
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
40
40
|
import './chunk-HACGUL52.js';
|
|
41
41
|
import './chunk-MESOOLF4.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { EmitStepError, runEmitStep, uploadSpooledSteps } from './chunk-
|
|
3
|
+
export { EmitStepError, runEmitStep, uploadSpooledSteps } from './chunk-7UPMYRPS.js';
|
|
4
4
|
import './chunk-ESVW4MJY.js';
|
|
5
5
|
import './chunk-IP7BIBXJ.js';
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
6
|
+
import './chunk-HLZMAJJD.js';
|
|
7
|
+
import './chunk-S5CNYXUA.js';
|
|
8
|
+
import './chunk-MPC2UAW2.js';
|
|
9
|
+
import './chunk-NIY2UBT6.js';
|
|
10
|
+
import './chunk-LYGI3T66.js';
|
|
11
|
+
import './chunk-7V5GUEDU.js';
|
|
12
12
|
import './chunk-G2JWZDFA.js';
|
|
13
13
|
import './chunk-ANPNT6PM.js';
|
|
14
14
|
import './chunk-6RKD7YZ6.js';
|
|
@@ -17,15 +17,15 @@ import './chunk-SOI6K5DY.js';
|
|
|
17
17
|
import './chunk-PA6CK6WQ.js';
|
|
18
18
|
import './chunk-BALIE3BA.js';
|
|
19
19
|
import './chunk-BJ3KTMDH.js';
|
|
20
|
-
import './chunk-
|
|
20
|
+
import './chunk-44V5SD4G.js';
|
|
21
21
|
import './chunk-5BHIBJDA.js';
|
|
22
22
|
import './chunk-CDDED64E.js';
|
|
23
23
|
import './chunk-RA3O54FC.js';
|
|
24
24
|
import './chunk-T2Q7ISPE.js';
|
|
25
25
|
import './chunk-WZBHBH3J.js';
|
|
26
26
|
import './chunk-CRB3POP4.js';
|
|
27
|
-
import './chunk-
|
|
28
|
-
import './chunk-
|
|
27
|
+
import './chunk-6CXNWKWD.js';
|
|
28
|
+
import './chunk-F2D5BSXS.js';
|
|
29
29
|
import './chunk-VNVZDWO3.js';
|
|
30
30
|
import './chunk-HACGUL52.js';
|
|
31
31
|
import './chunk-MESOOLF4.js';
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
import { resolveUploadTarget, detectUploadSessionId, EmitFindingError } from './chunk-
|
|
3
|
+
import { resolveUploadTarget, detectUploadSessionId, EmitFindingError } from './chunk-6SPD266O.js';
|
|
4
4
|
import './chunk-ESVW4MJY.js';
|
|
5
5
|
import './chunk-IP7BIBXJ.js';
|
|
6
|
-
import { autoConnect } from './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
6
|
+
import { autoConnect } from './chunk-HLZMAJJD.js';
|
|
7
|
+
import './chunk-S5CNYXUA.js';
|
|
8
|
+
import './chunk-MPC2UAW2.js';
|
|
9
|
+
import './chunk-NIY2UBT6.js';
|
|
10
|
+
import './chunk-LYGI3T66.js';
|
|
11
|
+
import './chunk-7V5GUEDU.js';
|
|
12
12
|
import './chunk-G2JWZDFA.js';
|
|
13
13
|
import { C } from './chunk-ANPNT6PM.js';
|
|
14
14
|
import { resolveGatewayCredentials, defaultFetch, unauthorizedMessage } from './chunk-6RKD7YZ6.js';
|
|
@@ -18,15 +18,15 @@ import './chunk-PA6CK6WQ.js';
|
|
|
18
18
|
import './chunk-BALIE3BA.js';
|
|
19
19
|
import './chunk-ZJSNLVCE.js';
|
|
20
20
|
import './chunk-BJ3KTMDH.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-44V5SD4G.js';
|
|
22
22
|
import './chunk-5BHIBJDA.js';
|
|
23
23
|
import './chunk-CDDED64E.js';
|
|
24
24
|
import './chunk-RA3O54FC.js';
|
|
25
25
|
import './chunk-T2Q7ISPE.js';
|
|
26
26
|
import './chunk-WZBHBH3J.js';
|
|
27
27
|
import './chunk-CRB3POP4.js';
|
|
28
|
-
import './chunk-
|
|
29
|
-
import './chunk-
|
|
28
|
+
import './chunk-6CXNWKWD.js';
|
|
29
|
+
import './chunk-F2D5BSXS.js';
|
|
30
30
|
import { homeFromEnv } from './chunk-VNVZDWO3.js';
|
|
31
31
|
import './chunk-HACGUL52.js';
|
|
32
32
|
import './chunk-MESOOLF4.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire } from 'node:module';
|
|
3
|
-
export { describeFleet, fleetCheck, fleetReadiness } from './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
export { describeFleet, fleetCheck, fleetReadiness } from './chunk-EJL6CWSP.js';
|
|
4
|
+
import './chunk-MPC2UAW2.js';
|
|
5
|
+
import './chunk-LYGI3T66.js';
|
|
6
6
|
import './chunk-6RKD7YZ6.js';
|
|
7
7
|
import './chunk-PJDQPF5N.js';
|
|
8
8
|
import './chunk-SOI6K5DY.js';
|
|
@@ -10,17 +10,17 @@ import './chunk-PA6CK6WQ.js';
|
|
|
10
10
|
import './chunk-BALIE3BA.js';
|
|
11
11
|
import './chunk-HCVLP7XA.js';
|
|
12
12
|
import './chunk-BJ3KTMDH.js';
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
13
|
+
import './chunk-JEVKOZBB.js';
|
|
14
|
+
import './chunk-44V5SD4G.js';
|
|
15
15
|
import './chunk-5BHIBJDA.js';
|
|
16
16
|
import './chunk-CDDED64E.js';
|
|
17
17
|
import './chunk-RA3O54FC.js';
|
|
18
18
|
import './chunk-CRB3POP4.js';
|
|
19
|
-
import './chunk-
|
|
19
|
+
import './chunk-ZF24JN7R.js';
|
|
20
20
|
import './chunk-YQR6E6OV.js';
|
|
21
21
|
import './chunk-TUSYOL2O.js';
|
|
22
|
-
import './chunk-
|
|
23
|
-
import './chunk-
|
|
22
|
+
import './chunk-6CXNWKWD.js';
|
|
23
|
+
import './chunk-F2D5BSXS.js';
|
|
24
24
|
import './chunk-VNVZDWO3.js';
|
|
25
25
|
import './chunk-HACGUL52.js';
|
|
26
26
|
import './chunk-MESOOLF4.js';
|