0sec-cli 0.17.0 → 0.21.4
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/{0sec.js → 0.js} +92 -79
- package/LICENSE +1 -1
- package/README.md +77 -37
- package/chunks/adapt-loop-IGBRQAXO.js +18 -0
- package/chunks/{adgraph-JLGA6RYI.js → adgraph-AUDQTBYA.js} +5 -5
- package/chunks/agent/skills/frameworks/entra-id.yaml +2 -2
- package/chunks/agent/skills/techniques/assumption-mining.yaml +2 -2
- package/chunks/agent/skills/techniques/cve-poc-adaptation.yaml +2 -2
- package/chunks/agent/skills/techniques/entra-attack-paths.yaml +1 -1
- package/chunks/agent/skills/techniques/kernel-weaponization.yaml +1 -1
- package/chunks/agent/skills/techniques/llm-prompt-injection.yaml +2 -2
- package/chunks/agent/skills/techniques/npm-ecosystem.yaml +1 -1
- package/chunks/agent/skills/techniques/poc-verification.yaml +1 -1
- package/chunks/agent/skills/techniques/seedless-depth-review.yaml +20 -38
- package/chunks/{artifact-scraper-GJEZMOHF.js → artifact-scraper-LNQJUORS.js} +6 -6
- package/chunks/{assumption-mining-BVMMUZHB.js → assumption-mining-4MJTP6H5.js} +24 -26
- package/chunks/{chunk-P6WKNFWX.js → chunk-2OQOQ2FZ.js} +8 -8
- package/chunks/{chunk-5G3ZXFBW.js → chunk-2WNCI664.js} +3 -3
- package/chunks/{chunk-HDWV7PGI.js → chunk-2WSXFFJZ.js} +4 -4
- package/chunks/{chunk-DW5UWPFY.js → chunk-4VGLO2YS.js} +6 -5
- package/chunks/{chunk-SNKTC4BP.js → chunk-5T6D5BVY.js} +88 -88
- package/chunks/{chunk-OEFNRYI2.js → chunk-6GHSR47F.js} +3 -6
- package/chunks/chunk-6YNKRUMC.js +4474 -0
- package/chunks/{chunk-O462Y7P2.js → chunk-ANDKY54G.js} +22317 -19616
- package/chunks/{chunk-53G27VPS.js → chunk-AZ7L3HFD.js} +7 -2
- package/chunks/{chunk-2SANI5RH.js → chunk-BACXRTQ4.js} +691 -318
- package/chunks/{chunk-SOG2U7B3.js → chunk-CAJJRUTV.js} +4 -4
- package/chunks/{chunk-57ZENEX2.js → chunk-CGHCEN7W.js} +3 -3
- package/chunks/{chunk-VGRDNSHA.js → chunk-CL5KAUM6.js} +17 -16
- package/chunks/{chunk-QOKTUOU2.js → chunk-CXKDWFNO.js} +6 -6
- package/chunks/{chunk-RWONANDA.js → chunk-DQTNI3KY.js} +5 -5
- package/chunks/{chunk-K26SZ37E.js → chunk-E2UOY5PJ.js} +288 -100
- package/chunks/{chunk-CLHCDHP4.js → chunk-ER3SUMYJ.js} +40 -18
- package/chunks/{chunk-IORC6MQX.js → chunk-FAH6V4QM.js} +31964 -32279
- package/chunks/{chunk-6LKRLK2R.js → chunk-FHC2B7LN.js} +3 -3
- package/chunks/{chunk-4Y4KQJXE.js → chunk-FWAYJ2IV.js} +16 -16
- package/chunks/{chunk-WVTBZEQO.js → chunk-G34QP2XW.js} +8 -8
- package/chunks/{chunk-MYVT64FN.js → chunk-GHWODZMR.js} +2 -2
- package/chunks/{chunk-F3WBKITT.js → chunk-GIQKESMN.js} +10 -10
- package/chunks/{chunk-2RMLOJVB.js → chunk-GVD6SJGH.js} +2 -2
- package/chunks/{chunk-RDZYQQLW.js → chunk-HBKCGJAV.js} +7 -7
- package/chunks/{chunk-SF4KZ4O3.js → chunk-HLFS6WV2.js} +2 -2
- package/chunks/chunk-HPQZHOIU.js +67 -0
- package/chunks/{chunk-3QFDYBZQ.js → chunk-IMGWPNQM.js} +231 -1308
- package/chunks/{chunk-3MOLBTLS.js → chunk-K2PWUPUI.js} +2 -2
- package/chunks/{chunk-MMLDQR4H.js → chunk-NDJU5ZZ7.js} +14 -14
- package/chunks/{chunk-H44E2CRN.js → chunk-NOPBXZUV.js} +3 -3
- package/chunks/{chunk-HE7LCA7G.js → chunk-O6SD4A36.js} +3 -3
- package/chunks/{chunk-SAFFWQW4.js → chunk-P6YG6TEZ.js} +6 -6
- package/chunks/{chunk-KKGE5RQE.js → chunk-PC6RCKQV.js} +198 -11
- package/chunks/{chunk-LP3HHYQU.js → chunk-PD2BBBKT.js} +2 -2
- package/chunks/{chunk-BKZFDZ23.js → chunk-QCUFBVIZ.js} +3 -3
- package/chunks/{chunk-KLTNTE2Z.js → chunk-QZVG3BG4.js} +14 -14
- package/chunks/{chunk-D6S3IIPG.js → chunk-RF5QGKLR.js} +9 -9
- package/chunks/{chunk-LOHTE223.js → chunk-SBMB4OL3.js} +9 -9
- package/chunks/{chunk-IOL7D5YV.js → chunk-SQCBHFWN.js} +3 -3
- package/chunks/{chunk-A6CLR72I.js → chunk-TF46UWFU.js} +3 -3
- package/chunks/chunk-TH2LW437.js +7829 -0
- package/chunks/chunk-TRH2PJSN.js +547 -0
- package/chunks/{chunk-RJWOYEOG.js → chunk-UEX7PFSE.js} +5 -5
- package/chunks/{chunk-VQG4FT5D.js → chunk-UFHN6RIU.js} +2 -2
- package/chunks/{chunk-WU6AFRAZ.js → chunk-V36HVTUL.js} +12 -12
- package/chunks/{chunk-IR537GON.js → chunk-VCSFCHAJ.js} +2 -2
- package/chunks/{chunk-YLMN3N25.js → chunk-VIT5ALXF.js} +3 -3
- package/chunks/{chunk-UJ4IK5PO.js → chunk-VOAXLO4A.js} +10 -10
- package/chunks/{chunk-UM3ZNQIM.js → chunk-W4JOXE4N.js} +100 -84
- package/chunks/{chunk-DN25OQQA.js → chunk-WF5W75WY.js} +25 -25
- package/chunks/{chunk-QKICO43A.js → chunk-WPQLBN4S.js} +5 -5
- package/chunks/{chunk-HT6P7RY3.js → chunk-WZISK5VC.js} +37 -35
- package/chunks/{chunk-QJQKHO7G.js → chunk-Y5H6E24H.js} +3 -3
- package/chunks/{chunk-KTQDLNSR.js → chunk-YA4PUM4H.js} +41 -41
- package/chunks/{chunk-47TQJWDH.js → chunk-YHWWF4QY.js} +9 -9
- package/chunks/{chunk-2CJ776PV.js → chunk-YPOA3W4O.js} +48 -39
- package/chunks/{chunk-7DQEV5QI.js → chunk-Z3IKZX3X.js} +4 -4
- package/chunks/codex-models-TYYV4JNN.js +15 -0
- package/chunks/{commands-U3AMV5ZU.js → commands-WF5RG4I2.js} +5620 -2513
- package/chunks/corpus-v1.json +2 -2
- package/chunks/data/appsec-archetypes.json +2 -2
- package/chunks/data/chromium-archetypes.json +1 -1
- package/chunks/data/freebsd-archetypes.json +1 -1
- package/chunks/data/kernel-archetypes.json +2 -2
- package/chunks/db-U3WQZVAO.js +16 -0
- package/chunks/{disclose-A6AEIEDA.js → disclose-67GZCDBO.js} +5 -5
- package/chunks/{dist-JR67XKYO.js → dist-ACC3DZUZ.js} +11 -5
- package/chunks/{dist-GL66KMUX.js → dist-EVTN3UTT.js} +6 -6
- package/chunks/{dist-FDKALV4R.js → dist-F6X62TQK.js} +290 -327
- package/chunks/dist-KEULE5IQ.js +21914 -0
- package/chunks/dist-XZB53PS5.js +53 -0
- package/chunks/eval-runner-SA6OUGHZ.js +26 -0
- package/chunks/example-manifest.json +2 -2
- package/chunks/{exploit-agent-XP23ISN7.js → exploit-agent-36Q7XQFP.js} +4 -4
- package/chunks/{exploit-autoclimb-E6T7RRSC.js → exploit-autoclimb-J4OTSTZ6.js} +6 -6
- package/chunks/{exploit-climb-2FAUP6XU.js → exploit-climb-PYEJDIC4.js} +12 -12
- package/chunks/fix-J2KBRJDV.js +12 -0
- package/chunks/{github-issues-MJ6OYOOU.js → github-issues-IGTTWM7V.js} +7 -7
- package/chunks/harness-GDUMKGSE.js +22 -0
- package/chunks/http-conformance-U5F6GKYG.js +11 -0
- package/chunks/http-sender-I5XFFY35.js +10 -0
- package/chunks/hunt-scan-UDJSCISU.js +36 -0
- package/chunks/{identity-6ZAIIWOR.js → identity-JTIVJSV7.js} +5 -5
- package/chunks/{kernel-primitive-TENE3R7T.js → kernel-primitive-F2IXUFAX.js} +6 -6
- package/chunks/{kernel-vm-runner-4F6QSNFY.js → kernel-vm-runner-276LHIOV.js} +6 -6
- package/chunks/memsafety-scan-NHUOGTEX.js +16 -0
- package/chunks/{native-loop-NTONUDP7.js → native-loop-3BSYVDUI.js} +17 -18
- package/chunks/{npm-detectors-KB5Y5ZFX.js → npm-detectors-VIYJXKFQ.js} +6 -6
- package/chunks/npm-dynamic-discovery-5J7FT3XM.js +13 -0
- package/chunks/orchestrate-DHBFRTSI.js +59 -0
- package/chunks/{pre-recon-cve-66EB6G4M.js → pre-recon-cve-X2K2P5YQ.js} +4 -4
- package/chunks/prepare-KYHGFWCJ.js +13 -0
- package/chunks/process-PNMC36JI.js +15 -0
- package/chunks/{replay-runner-RRR4E2A7.js → replay-runner-LK2XFIVG.js} +7 -7
- package/chunks/{run-ESNN4V5W.js → run-CBGE6DRQ.js} +2401 -1810
- package/chunks/{runtime-62ZQAH7H.js → runtime-PXO5G6UV.js} +11 -11
- package/chunks/runtime-XFWJTBUO.js +12 -0
- package/chunks/{scan-stream-FHI2FYZE.js → scan-stream-BMOCPKQX.js} +7 -7
- package/chunks/{scope-BI7BF4ZY.js → scope-NJHIDDTN.js} +4 -4
- package/chunks/{session-store-BCFQYDCE.js → session-store-46WBZM22.js} +6 -6
- package/chunks/source-files-REHOM44I.js +12 -0
- package/chunks/{specdrift-WCLH6TTQ.js → specdrift-AFS54WEJ.js} +5 -5
- package/chunks/token-KRWP5JYA.js +72 -0
- package/chunks/token-util-DWTL33S3.js +8 -0
- package/chunks/variant-candidates-UH2WC2HA.js +13 -0
- package/chunks/{web-recon-prepass-DPVCBRZA.js → web-recon-prepass-SFXU44SS.js} +9 -9
- package/dashboard/assets/desktop-BT7RkC4q.js +32 -0
- package/dashboard/assets/desktop-OaBI0E0e.css +1 -0
- package/dashboard/assets/{findings-page-CACW9nw2.js → findings-page-B4rwF6fZ.js} +2 -2
- package/dashboard/assets/{format-PoISqsES.js → format-LNQSSpn6.js} +1 -1
- package/dashboard/assets/live-page-DoNwpPAO.js +1 -0
- package/dashboard/assets/{meta-tile-CcskIV_o.js → meta-tile-BMtBC-Qq.js} +1 -1
- package/dashboard/assets/operations-CMFVrXEe.css +2 -0
- package/dashboard/assets/operations-app-ER0gg7GN.js +2 -0
- package/dashboard/assets/{operations-D8nUP5_m.js → operations-e2CGYKB1.js} +2 -2
- package/dashboard/assets/{overview-page-DTGS8dPo.js → overview-page-CmeWH17A.js} +1 -1
- package/dashboard/assets/{page-header-MFVvEtZW.js → page-header-CIJyycfz.js} +1 -1
- package/dashboard/assets/scans-page-CuhzWhHx.js +1 -0
- package/dashboard/assets/{table-BYS-nIVA.js → table-BgsSBdke.js} +1 -1
- package/dashboard/assets/{tabs-DivxbhQy.js → tabs-vn6v7Bk6.js} +1 -1
- package/dashboard/desktop.html +3 -3
- package/dashboard/index.html +3 -3
- package/package.json +11 -11
- package/chunks/adapt-loop-ECQG7454.js +0 -18
- package/chunks/appsec-catalog-CBWHGTEL.js +0 -24
- package/chunks/chunk-H2FFLZNK.js +0 -3
- package/chunks/chunk-QI233I24.js +0 -333
- package/chunks/chunk-RRMJC3ZE.js +0 -105
- package/chunks/chunk-SZJCPG2I.js +0 -110
- package/chunks/chunk-WKNNZVJS.js +0 -2798
- package/chunks/cost-ledger-ZCKMBJEN.js +0 -13
- package/chunks/db-26NGQFKO.js +0 -16
- package/chunks/eval-runner-DDLE5RQ3.js +0 -27
- package/chunks/fix-IG7LYXH3.js +0 -12
- package/chunks/harness-HWOYFKFY.js +0 -22
- package/chunks/http-conformance-DU66MZIU.js +0 -11
- package/chunks/http-sender-GWH2IYEA.js +0 -10
- package/chunks/hunt-scan-XPELSPQQ.js +0 -38
- package/chunks/memsafety-scan-J7SECV5W.js +0 -16
- package/chunks/npm-dynamic-discovery-AHROOZDB.js +0 -13
- package/chunks/orchestrate-ZUWAUWBC.js +0 -62
- package/chunks/pipeline-FCARFZU3.js +0 -14
- package/chunks/prepare-MYY743TK.js +0 -13
- package/chunks/process-3Q7QJIOZ.js +0 -13
- package/chunks/runtime-J7PLXZNM.js +0 -12
- package/chunks/source-files-PWRQR6LY.js +0 -12
- package/chunks/variant-candidates-6KM6F6MD.js +0 -13
- package/dashboard/assets/0sec-icon-66SreztZ.gif +0 -0
- package/dashboard/assets/desktop-CXTQonNm.js +0 -32
- package/dashboard/assets/desktop-NOekk4QS.css +0 -1
- package/dashboard/assets/live-page-DrgQqQK5.js +0 -1
- package/dashboard/assets/operations-BKE8T-vY.css +0 -2
- package/dashboard/assets/operations-app-CQQhG54n.js +0 -2
- package/dashboard/assets/scans-page-ChVtq8Us.js +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as
|
|
3
|
-
const require =
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
homeStateDir
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PC6RCKQV.js";
|
|
7
7
|
|
|
8
8
|
// packages/core/dist/agent/journal/types.js
|
|
9
9
|
var JOURNAL_SCHEMA_VERSION = 1;
|
|
@@ -579,7 +579,7 @@ function atomicAppendJsonLine(path, entry) {
|
|
|
579
579
|
const line = JSON.stringify(entry) + "\n";
|
|
580
580
|
const bytes = Buffer.from(line, "utf8");
|
|
581
581
|
if (bytes.byteLength > LINUX_PIPE_BUF) {
|
|
582
|
-
process.emitWarning(`journal line ${bytes.byteLength}B exceeds PIPE_BUF (${LINUX_PIPE_BUF}B); concurrent writers may interleave. Consider forcing the artifact to a sidecar.`, { code: "
|
|
582
|
+
process.emitWarning(`journal line ${bytes.byteLength}B exceeds PIPE_BUF (${LINUX_PIPE_BUF}B); concurrent writers may interleave. Consider forcing the artifact to a sidecar.`, { code: "ZERO_JOURNAL_LINE_TOO_LARGE", type: "Warning" });
|
|
583
583
|
}
|
|
584
584
|
const fd = openSync(path, "a", 384);
|
|
585
585
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as
|
|
3
|
-
const require =
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
|
|
5
5
|
// packages/core/dist/scope/scope.js
|
|
6
6
|
import { readFileSync } from "node:fs";
|
|
@@ -10,7 +10,7 @@ var ScopePolicy = class _ScopePolicy {
|
|
|
10
10
|
outOfScope;
|
|
11
11
|
/**
|
|
12
12
|
* Original JSON the policy was constructed from. Exposed read-only so
|
|
13
|
-
* downstream features (
|
|
13
|
+
* downstream features (0#216 attribution headers) can pull their
|
|
14
14
|
* own optional blocks out of the same file without re-reading it.
|
|
15
15
|
*/
|
|
16
16
|
raw;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as
|
|
3
|
-
const require =
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
loadLayeredSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YPOA3W4O.js";
|
|
7
7
|
import {
|
|
8
8
|
homeStateDir
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-PC6RCKQV.js";
|
|
10
10
|
import {
|
|
11
11
|
__commonJS,
|
|
12
12
|
__require,
|
|
13
13
|
__toESM
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VCSFCHAJ.js";
|
|
15
15
|
|
|
16
16
|
// node_modules/.pnpm/commander@12.1.0/node_modules/commander/lib/error.js
|
|
17
17
|
var require_error = __commonJS({
|
|
@@ -3027,7 +3027,7 @@ var {
|
|
|
3027
3027
|
import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
3028
3028
|
import { join } from "node:path";
|
|
3029
3029
|
import { spawn } from "node:child_process";
|
|
3030
|
-
var REPO = "0sec-labs/
|
|
3030
|
+
var REPO = "0sec-labs/0";
|
|
3031
3031
|
var INSTALL_URL = `https://raw.githubusercontent.com/${REPO}/main/install.sh`;
|
|
3032
3032
|
var CHECK_INTERVAL_MS = 24 * 60 * 60 * 1e3;
|
|
3033
3033
|
var FETCH_TIMEOUT_MS = 4e3;
|
|
@@ -3070,9 +3070,9 @@ function disabled(value) {
|
|
|
3070
3070
|
return value !== void 0 && value !== "" && value !== "0" && value.toLowerCase() !== "false";
|
|
3071
3071
|
}
|
|
3072
3072
|
function shouldRunCheck(env = process.env, isTty = Boolean(process.stdout.isTTY), policy) {
|
|
3073
|
-
if (!isTty || disabled(env.CI) || disabled(env["
|
|
3073
|
+
if (!isTty || disabled(env.CI) || disabled(env["ZERO_OFFLINE"]) || disabled(env["ZERO_NO_UPDATE_CHECK"])) return false;
|
|
3074
3074
|
if (policy !== void 0) return policy !== "off";
|
|
3075
|
-
return env["
|
|
3075
|
+
return env["ZERO_UPDATE_CHECK"] === "1";
|
|
3076
3076
|
}
|
|
3077
3077
|
function recent(timestamp, now) {
|
|
3078
3078
|
const age = now - Date.parse(timestamp ?? "");
|
|
@@ -3106,7 +3106,7 @@ async function fetchLatestTag() {
|
|
|
3106
3106
|
const timer = setTimeout(() => controller.abort(), FETCH_TIMEOUT_MS);
|
|
3107
3107
|
try {
|
|
3108
3108
|
const response = await fetch(`https://api.github.com/repos/${REPO}/releases/latest`, {
|
|
3109
|
-
headers: { Accept: "application/vnd.github+json", "User-Agent": "
|
|
3109
|
+
headers: { Accept: "application/vnd.github+json", "User-Agent": "@0/cli/update-check" },
|
|
3110
3110
|
signal: controller.signal
|
|
3111
3111
|
});
|
|
3112
3112
|
if (!response.ok) return null;
|
|
@@ -3123,8 +3123,8 @@ async function fetchLatestTag() {
|
|
|
3123
3123
|
var installInProgress = false;
|
|
3124
3124
|
var attemptedAutomaticTags = /* @__PURE__ */ new Set();
|
|
3125
3125
|
async function performAutoUpdate(options = {}) {
|
|
3126
|
-
if (process.platform === "win32") return { success: false, installed: false, error: "Automatic installation is unavailable on Windows; download a release from https://github.com/0sec-labs/
|
|
3127
|
-
if (disabled(process.env["
|
|
3126
|
+
if (process.platform === "win32") return { success: false, installed: false, error: "Automatic installation is unavailable on Windows; download a release from https://github.com/0sec-labs/0/releases/latest." };
|
|
3127
|
+
if (disabled(process.env["ZERO_OFFLINE"]) || disabled(process.env["ZERO_NO_UPDATE_CHECK"])) {
|
|
3128
3128
|
return { success: false, installed: false, error: "Updates are disabled by the current offline/update policy." };
|
|
3129
3129
|
}
|
|
3130
3130
|
if (installInProgress) return { success: false, installed: false, error: "An update is already in progress." };
|
|
@@ -3135,7 +3135,7 @@ async function performAutoUpdate(options = {}) {
|
|
|
3135
3135
|
if (!tag || !version?.complete) return { success: false, installed: false, error: "Could not resolve a valid release tag." };
|
|
3136
3136
|
const normalizedTag = tag.startsWith("v") ? tag : `v${tag}`;
|
|
3137
3137
|
const env = { ...process.env, RELEASE_BASE_URL: `https://github.com/${REPO}/releases/download/${normalizedTag}` };
|
|
3138
|
-
const installDir = options.installDir ?? process.env["
|
|
3138
|
+
const installDir = options.installDir ?? process.env["ZERO_INSTALL_DIR"];
|
|
3139
3139
|
if (installDir !== void 0) env.INSTALL_DIR = installDir;
|
|
3140
3140
|
const timeoutMs = Number.isFinite(options.timeoutMs) && options.timeoutMs > 0 ? Math.min(options.timeoutMs, INSTALL_TIMEOUT_MS) : INSTALL_TIMEOUT_MS;
|
|
3141
3141
|
return await new Promise((resolve) => {
|
|
@@ -3215,22 +3215,22 @@ async function maybeNotifyUpdate(currentVersion, options = {}) {
|
|
|
3215
3215
|
const candidate = tag ? parseVersion(tag) : null;
|
|
3216
3216
|
if (!tag || !candidate?.complete || candidate.prerelease.length > 0 || compareVersions(tag, currentVersion) <= 0) return;
|
|
3217
3217
|
if (policy !== "automatic") {
|
|
3218
|
-
process.stderr.write(`[
|
|
3218
|
+
process.stderr.write(`[0] Update available: ${currentVersion} \u2192 ${tag}. Run 0 upgrade.
|
|
3219
3219
|
`);
|
|
3220
3220
|
return;
|
|
3221
3221
|
}
|
|
3222
3222
|
if (attemptedAutomaticTags.has(tag) || cache.lastInstallTag === tag && recent(cache.lastInstallAttemptAt, now)) return;
|
|
3223
3223
|
attemptedAutomaticTags.add(tag);
|
|
3224
3224
|
writeCache({ ...cache, lastInstallTag: tag, lastInstallAttemptAt: new Date(now).toISOString() });
|
|
3225
|
-
process.stderr.write(`[
|
|
3225
|
+
process.stderr.write(`[0] Updating to ${tag} before starting the console\u2026
|
|
3226
3226
|
`);
|
|
3227
3227
|
const result = await performAutoUpdate({ version: tag });
|
|
3228
3228
|
if (result.signal) {
|
|
3229
3229
|
process.kill(process.pid, result.signal);
|
|
3230
3230
|
return;
|
|
3231
3231
|
}
|
|
3232
|
-
process.stderr.write(result.success ? `[
|
|
3233
|
-
` : `[
|
|
3232
|
+
process.stderr.write(result.success ? `[0] Installed ${result.installedVersion}. This process is still ${currentVersion}; restart to use the update.
|
|
3233
|
+
` : `[0] Update not installed: ${result.error ?? "unknown error"} Continuing with ${currentVersion}.
|
|
3234
3234
|
`);
|
|
3235
3235
|
}
|
|
3236
3236
|
async function runStartupUpdate(version) {
|
|
@@ -3242,6 +3242,7 @@ async function runStartupUpdate(version) {
|
|
|
3242
3242
|
}
|
|
3243
3243
|
|
|
3244
3244
|
export {
|
|
3245
|
+
InvalidArgumentError,
|
|
3245
3246
|
Command,
|
|
3246
3247
|
Option,
|
|
3247
3248
|
performAutoUpdate,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as
|
|
3
|
-
const require =
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
import {
|
|
5
5
|
createPresentationEvent
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PC6RCKQV.js";
|
|
7
7
|
|
|
8
8
|
// packages/core/dist/events/bus.js
|
|
9
9
|
function presentationEventSink(sink, options = {}) {
|
|
@@ -58,7 +58,7 @@ var EventBus = class {
|
|
|
58
58
|
} catch (err) {
|
|
59
59
|
const msg = err instanceof Error ? err.message : String(err);
|
|
60
60
|
try {
|
|
61
|
-
process.stderr.write(`[
|
|
61
|
+
process.stderr.write(`[0 event-bus] sink threw on ${type}: ${msg}
|
|
62
62
|
`);
|
|
63
63
|
} catch {
|
|
64
64
|
}
|
|
@@ -69,7 +69,7 @@ var EventBus = class {
|
|
|
69
69
|
var eventBus = new EventBus();
|
|
70
70
|
var cloudEventSink = {
|
|
71
71
|
emit(type, payload) {
|
|
72
|
-
const prefix = `
|
|
72
|
+
const prefix = `ZERO_EVENT_${type.toUpperCase()}`;
|
|
73
73
|
let line;
|
|
74
74
|
try {
|
|
75
75
|
line = `${prefix} ${JSON.stringify(payload)}`;
|
|
@@ -83,7 +83,7 @@ var cloudSinkSubscribed = false;
|
|
|
83
83
|
function maybeSubscribeCloudEventSink() {
|
|
84
84
|
if (cloudSinkSubscribed)
|
|
85
85
|
return;
|
|
86
|
-
const flag = process.env["
|
|
86
|
+
const flag = process.env["ZERO_CLOUD_EVENTS"];
|
|
87
87
|
if (flag && flag !== "0" && flag.toLowerCase() !== "false") {
|
|
88
88
|
eventBus.subscribe(cloudEventSink);
|
|
89
89
|
cloudSinkSubscribed = true;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { createRequire as
|
|
3
|
-
const require =
|
|
2
|
+
import { createRequire as __0CreateRequire } from "node:module";
|
|
3
|
+
const require = __0CreateRequire(import.meta.url);
|
|
4
4
|
|
|
5
5
|
// packages/core/dist/stages/npm-detectors/dedup.js
|
|
6
6
|
function forkTwinFor(hints, name) {
|
|
@@ -12,7 +12,7 @@ async function dedupConfirmation(args) {
|
|
|
12
12
|
return {
|
|
13
13
|
novel: false,
|
|
14
14
|
source: "prior-report",
|
|
15
|
-
advisories: [`${name}: previously reported by
|
|
15
|
+
advisories: [`${name}: previously reported by 0 for this class`]
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
18
|
const twin = forkTwinFor(hints, name);
|
|
@@ -360,7 +360,7 @@ var ssppFuzzDetector = {
|
|
|
360
360
|
};
|
|
361
361
|
},
|
|
362
362
|
dedupHints: {
|
|
363
|
-
//
|
|
363
|
+
// 0 prior filing for this exact class.
|
|
364
364
|
priorReports: ["es-toolkit"],
|
|
365
365
|
// Fork-twin the prototype learned the hard way: npm audit gave a false
|
|
366
366
|
// all-clear because the advisory lives under the maintained fork's name.
|
|
@@ -371,7 +371,7 @@ var ssppFuzzDetector = {
|
|
|
371
371
|
};
|
|
372
372
|
|
|
373
373
|
// packages/core/dist/stages/npm-detectors/read-unstable.js
|
|
374
|
-
var EVIL = "
|
|
374
|
+
var EVIL = "__0_toctou_forbidden__";
|
|
375
375
|
function makePhasedField(clean, evil = EVIL) {
|
|
376
376
|
let phase = "validate";
|
|
377
377
|
return {
|