@akasecurity/ai-tc-claude-code 0.9.7 → 0.9.8
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/.claude-plugin/plugin.json +1 -1
- package/README.md +2 -2
- package/package.json +4 -4
- package/scripts/apply-suppressions.js +283 -132
- package/scripts/backfill.js +1711 -250
- package/scripts/filescan.js +1713 -235
- package/scripts/firstrun.js +1724 -206
- package/scripts/intro.js +171 -47
- package/scripts/message-display.js +279 -128
- package/scripts/onboard.js +261 -110
- package/scripts/post-tool-use.js +1842 -272
- package/scripts/pre-tool-use.js +1841 -284
- package/scripts/query.js +1726 -208
- package/scripts/reconcile.js +1698 -237
- package/scripts/remediate.js +1704 -243
- package/scripts/scan-worker.js +118 -0
- package/scripts/session-start.js +1951 -299
- package/scripts/start-light.js +169 -45
- package/scripts/statusline.js +1726 -206
- package/scripts/stop.js +374 -67
- package/scripts/sync.js +19413 -0
- package/scripts/user-prompt-submit.js +1841 -284
package/scripts/intro.js
CHANGED
|
@@ -492,7 +492,7 @@ var require_ignore = __commonJS({
|
|
|
492
492
|
});
|
|
493
493
|
|
|
494
494
|
// src/intro.ts
|
|
495
|
-
import { readFileSync as
|
|
495
|
+
import { readFileSync as readFileSync12 } from "fs";
|
|
496
496
|
|
|
497
497
|
// ../../packages/schema/src/exception-scope.ts
|
|
498
498
|
var MINUTE_MS = 6e4;
|
|
@@ -15960,6 +15960,124 @@ var ConfigScanRecord = external_exports.object({
|
|
|
15960
15960
|
findings: external_exports.array(ConfigPostureFindingInput).optional()
|
|
15961
15961
|
});
|
|
15962
15962
|
|
|
15963
|
+
// ../../packages/schema/src/zod/control-plane.ts
|
|
15964
|
+
var ATTACHED_CREDENTIAL_SPEC_VERSION = 1;
|
|
15965
|
+
var AttachedCredential = external_exports.object({
|
|
15966
|
+
specVersion: external_exports.literal(ATTACHED_CREDENTIAL_SPEC_VERSION),
|
|
15967
|
+
// The control-plane endpoint this credential was minted against.
|
|
15968
|
+
endpoint: external_exports.string().min(1),
|
|
15969
|
+
// The bearer credential itself. Never logged, never rendered — status
|
|
15970
|
+
// surfaces show `keyPrefix` and nothing else.
|
|
15971
|
+
apiKey: external_exports.string().min(1),
|
|
15972
|
+
// First few characters of the key, safe to display so a user can match the
|
|
15973
|
+
// credential against their organization's key list.
|
|
15974
|
+
keyPrefix: external_exports.string().min(1).max(16).optional(),
|
|
15975
|
+
mintedAt: external_exports.iso.datetime().optional()
|
|
15976
|
+
});
|
|
15977
|
+
var MAX_DATE_MS = 253402300799999;
|
|
15978
|
+
var MAX_INT4 = 2147483647;
|
|
15979
|
+
var StorePosturePack = external_exports.object({
|
|
15980
|
+
packId: external_exports.string().min(1),
|
|
15981
|
+
// 'namespace/packId'
|
|
15982
|
+
version: external_exports.string().min(1),
|
|
15983
|
+
enabled: external_exports.boolean(),
|
|
15984
|
+
// Stringified pass-through of the local store's `installed_packs.updated_at`
|
|
15985
|
+
// — the column format is store-version-dependent (epoch millis vs ISO), so
|
|
15986
|
+
// the wire shape assumes neither.
|
|
15987
|
+
updatedAt: external_exports.string().nullable()
|
|
15988
|
+
}).meta({ id: "StorePosturePack" });
|
|
15989
|
+
var StorePosturePolicyCounts = external_exports.object({
|
|
15990
|
+
total: external_exports.number().int().min(0),
|
|
15991
|
+
disabled: external_exports.number().int().min(0),
|
|
15992
|
+
// Exhaustive per-action map; the builder pre-fills every action with 0.
|
|
15993
|
+
//
|
|
15994
|
+
// Spelled out member-by-member rather than `z.record(ActionTaken, …)`. Zod
|
|
15995
|
+
// enforces exhaustiveness either way, but z.record emits `propertyNames` +
|
|
15996
|
+
// `additionalProperties` into a generated schema document, and a type
|
|
15997
|
+
// generator renders THAT with every key optional — a sender built against
|
|
15998
|
+
// the generated type would typecheck and still be rejected at runtime. An
|
|
15999
|
+
// explicit object emits `properties` + `required`, so generated types
|
|
16000
|
+
// demand all five.
|
|
16001
|
+
//
|
|
16002
|
+
// `satisfies Record<ActionTaken, …>` keeps the link to the enum: adding an
|
|
16003
|
+
// ActionTaken member is a COMPILE error here instead of silent drift.
|
|
16004
|
+
// `.strict()` is load-bearing — it rejects an unknown action key, which a
|
|
16005
|
+
// bare object would silently STRIP, accepting a miscounted map as valid.
|
|
16006
|
+
byAction: external_exports.object({
|
|
16007
|
+
warn: external_exports.number().int().min(0),
|
|
16008
|
+
redact: external_exports.number().int().min(0),
|
|
16009
|
+
block: external_exports.number().int().min(0),
|
|
16010
|
+
allow: external_exports.number().int().min(0),
|
|
16011
|
+
log: external_exports.number().int().min(0)
|
|
16012
|
+
}).strict()
|
|
16013
|
+
}).meta({ id: "StorePosturePolicyCounts" });
|
|
16014
|
+
var StorePosturePlugin = external_exports.object({
|
|
16015
|
+
/** Package name of the reporting plugin. */
|
|
16016
|
+
package: external_exports.string().min(1).max(200),
|
|
16017
|
+
version: external_exports.string().min(1).max(64),
|
|
16018
|
+
/** Version of the bundled core, when the build records one separately. */
|
|
16019
|
+
ossVersion: external_exports.string().max(64).nullable(),
|
|
16020
|
+
/**
|
|
16021
|
+
* `version` of the policy bundle this machine last fetched. Bounded at 200
|
|
16022
|
+
* rather than the 64 a bare sha256 hex digest needs today, so a later
|
|
16023
|
+
* format with an algorithm prefix does not start rejecting the channel.
|
|
16024
|
+
*/
|
|
16025
|
+
policyBundleVersion: external_exports.string().max(200).nullable(),
|
|
16026
|
+
/** Epoch millis, on the CLIENT clock, of that fetch. */
|
|
16027
|
+
policyFetchedAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable()
|
|
16028
|
+
}).meta({ id: "StorePosturePlugin" });
|
|
16029
|
+
var StorePostureSnapshot = external_exports.object({
|
|
16030
|
+
deviceId: external_exports.guid(),
|
|
16031
|
+
hostname: external_exports.string().min(1).max(253),
|
|
16032
|
+
// Epoch millis on the CLIENT clock. Bounded by what a receiving store
|
|
16033
|
+
// accepts (see MAX_DATE_MS), not by what a JavaScript Date can hold.
|
|
16034
|
+
capturedAt: external_exports.number().int().min(0).max(MAX_DATE_MS),
|
|
16035
|
+
// False is a measurement, not an error state: "no local store exists on
|
|
16036
|
+
// this machine".
|
|
16037
|
+
storePresent: external_exports.boolean(),
|
|
16038
|
+
schemaVersion: external_exports.number().int().min(0).max(MAX_INT4).nullable(),
|
|
16039
|
+
// PRAGMA user_version
|
|
16040
|
+
findingsTotal: external_exports.number().int().min(0).max(MAX_INT4),
|
|
16041
|
+
// Epoch millis, bounded like `capturedAt` — see MAX_DATE_MS on what that
|
|
16042
|
+
// bound does and does not do. Worth stating for these two specifically:
|
|
16043
|
+
// they are read from the local store's own ROWS rather than from this
|
|
16044
|
+
// machine's clock, so a damaged or hand-edited store is enough to produce
|
|
16045
|
+
// an out-of-range value with no clock skew involved.
|
|
16046
|
+
findingsFirstAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable(),
|
|
16047
|
+
findingsLastAt: external_exports.number().int().min(0).max(MAX_DATE_MS).nullable(),
|
|
16048
|
+
packs: external_exports.array(StorePosturePack).max(500),
|
|
16049
|
+
policyCounts: StorePosturePolicyCounts,
|
|
16050
|
+
// OPTIONAL, not nullable: a reporter that predates this member keeps
|
|
16051
|
+
// getting its 200 without a payload change.
|
|
16052
|
+
plugin: StorePosturePlugin.optional()
|
|
16053
|
+
}).meta({ id: "StorePostureSnapshot" });
|
|
16054
|
+
var CAPTURE_VERSION_PREFIX = "capture/";
|
|
16055
|
+
var RecordAuditEventRequest = AuditEventInput.extend({
|
|
16056
|
+
inspections: external_exports.array(ToolCallInspection).default([])
|
|
16057
|
+
}).refine((v) => v.inspections.every((i) => !i.ruleVersion.startsWith(CAPTURE_VERSION_PREFIX)), {
|
|
16058
|
+
message: `inspections[].ruleVersion must not start with \`${CAPTURE_VERSION_PREFIX}\` \u2014 that namespace is reserved for capture definitions the control plane mints itself`,
|
|
16059
|
+
path: ["inspections"]
|
|
16060
|
+
}).meta({ id: "RecordAuditEventRequest" });
|
|
16061
|
+
var IngestAck = external_exports.object({
|
|
16062
|
+
accepted: external_exports.number().int().nonnegative(),
|
|
16063
|
+
duplicates: external_exports.number().int().nonnegative()
|
|
16064
|
+
});
|
|
16065
|
+
var PRINTABLE = /^[^\p{Cc}\p{Cf}]*$/u;
|
|
16066
|
+
var printable = (max) => external_exports.string().max(max).regex(PRINTABLE, "must not contain control characters");
|
|
16067
|
+
var PluginWhoami = external_exports.object({
|
|
16068
|
+
tenantName: printable(200),
|
|
16069
|
+
userEmail: printable(320),
|
|
16070
|
+
role: printable(64),
|
|
16071
|
+
keyKind: printable(64),
|
|
16072
|
+
serverTime: printable(64)
|
|
16073
|
+
});
|
|
16074
|
+
var ControlPlaneErrorBody = external_exports.object({
|
|
16075
|
+
error: external_exports.object({
|
|
16076
|
+
code: external_exports.string().optional(),
|
|
16077
|
+
message: external_exports.string().optional()
|
|
16078
|
+
}).optional()
|
|
16079
|
+
});
|
|
16080
|
+
|
|
15963
16081
|
// ../../packages/schema/src/zod/registry.ts
|
|
15964
16082
|
var Namespace = external_exports.string().regex(/^[a-z][a-z0-9-]*$/);
|
|
15965
16083
|
var PackId = external_exports.string().regex(/^[a-z][a-z0-9-]*$/);
|
|
@@ -17603,21 +17721,12 @@ import { execFileSync } from "child_process";
|
|
|
17603
17721
|
var USE_SHELL = process.platform === "win32";
|
|
17604
17722
|
|
|
17605
17723
|
// ../../packages/plugin-sdk/src/config.ts
|
|
17606
|
-
import { existsSync as
|
|
17607
|
-
import { join as
|
|
17724
|
+
import { existsSync as existsSync6 } from "fs";
|
|
17725
|
+
import { join as join10 } from "path";
|
|
17608
17726
|
|
|
17609
|
-
// ../../packages/persistence/src/
|
|
17610
|
-
import {
|
|
17611
|
-
import { join
|
|
17612
|
-
import { DatabaseSync } from "node:sqlite";
|
|
17613
|
-
|
|
17614
|
-
// ../../packages/persistence/src/ids.ts
|
|
17615
|
-
import { createHash } from "crypto";
|
|
17616
|
-
|
|
17617
|
-
// ../../packages/persistence/src/internal/snapshot.ts
|
|
17618
|
-
import { randomUUID } from "crypto";
|
|
17619
|
-
import { existsSync, readdirSync, renameSync as renameSync2, rmSync as rmSync2, statSync } from "fs";
|
|
17620
|
-
import { basename, dirname, join } from "path";
|
|
17727
|
+
// ../../packages/persistence/src/control-plane-credential.ts
|
|
17728
|
+
import { chmodSync as chmodSync2, lstatSync as lstatSync2, readFileSync, rmSync as rmSync2, statSync } from "fs";
|
|
17729
|
+
import { join } from "path";
|
|
17621
17730
|
|
|
17622
17731
|
// ../../packages/persistence/src/paths.ts
|
|
17623
17732
|
import {
|
|
@@ -17631,7 +17740,18 @@ import {
|
|
|
17631
17740
|
} from "fs";
|
|
17632
17741
|
import { threadId } from "worker_threads";
|
|
17633
17742
|
|
|
17743
|
+
// ../../packages/persistence/src/database.ts
|
|
17744
|
+
import { randomUUID as randomUUID10 } from "crypto";
|
|
17745
|
+
import { join as join3, sep } from "path";
|
|
17746
|
+
import { DatabaseSync } from "node:sqlite";
|
|
17747
|
+
|
|
17748
|
+
// ../../packages/persistence/src/ids.ts
|
|
17749
|
+
import { createHash } from "crypto";
|
|
17750
|
+
|
|
17634
17751
|
// ../../packages/persistence/src/internal/snapshot.ts
|
|
17752
|
+
import { randomUUID } from "crypto";
|
|
17753
|
+
import { existsSync, readdirSync, renameSync as renameSync2, rmSync as rmSync3, statSync as statSync2 } from "fs";
|
|
17754
|
+
import { basename, dirname, join as join2 } from "path";
|
|
17635
17755
|
var STALE_PARTIAL_MS = 5 * 6e4;
|
|
17636
17756
|
var SNAPSHOT_STAGING_SUFFIX = ".partial";
|
|
17637
17757
|
var STAGED_NAME_SUFFIX = `.bak${SNAPSHOT_STAGING_SUFFIX}`;
|
|
@@ -17705,9 +17825,9 @@ import {
|
|
|
17705
17825
|
closeSync,
|
|
17706
17826
|
existsSync as existsSync2,
|
|
17707
17827
|
openSync,
|
|
17708
|
-
readFileSync,
|
|
17709
|
-
rmSync as
|
|
17710
|
-
statSync as
|
|
17828
|
+
readFileSync as readFileSync2,
|
|
17829
|
+
rmSync as rmSync4,
|
|
17830
|
+
statSync as statSync3,
|
|
17711
17831
|
writeFileSync as writeFileSync2
|
|
17712
17832
|
} from "fs";
|
|
17713
17833
|
import { hostname as hostname3 } from "os";
|
|
@@ -17718,23 +17838,27 @@ import { createHash as createHash3 } from "crypto";
|
|
|
17718
17838
|
|
|
17719
17839
|
// ../../packages/persistence/src/fingerprint.ts
|
|
17720
17840
|
import { createHmac, randomBytes } from "crypto";
|
|
17721
|
-
import { existsSync as existsSync3, readFileSync as
|
|
17722
|
-
import { join as
|
|
17841
|
+
import { existsSync as existsSync3, readFileSync as readFileSync3 } from "fs";
|
|
17842
|
+
import { join as join4 } from "path";
|
|
17723
17843
|
import { DatabaseSync as DatabaseSync2 } from "node:sqlite";
|
|
17724
17844
|
|
|
17725
17845
|
// ../../packages/persistence/src/local-layout.ts
|
|
17726
17846
|
import { renameSync as renameSync3 } from "fs";
|
|
17727
17847
|
import { mkdir } from "fs/promises";
|
|
17728
17848
|
import { homedir } from "os";
|
|
17729
|
-
import { join as
|
|
17849
|
+
import { join as join5 } from "path";
|
|
17730
17850
|
|
|
17731
17851
|
// ../../packages/persistence/src/managed-settings.ts
|
|
17732
|
-
import { readFileSync as
|
|
17852
|
+
import { readFileSync as readFileSync4 } from "fs";
|
|
17733
17853
|
import { posix, win32 } from "path";
|
|
17734
17854
|
|
|
17735
17855
|
// ../../packages/persistence/src/settings.ts
|
|
17736
|
-
import { readFileSync as
|
|
17737
|
-
import { join as
|
|
17856
|
+
import { readFileSync as readFileSync5 } from "fs";
|
|
17857
|
+
import { join as join6 } from "path";
|
|
17858
|
+
|
|
17859
|
+
// ../../packages/persistence/src/store-symlinks.ts
|
|
17860
|
+
import { existsSync as existsSync4, lstatSync as lstatSync3, readlinkSync, realpathSync, statSync as statSync4 } from "fs";
|
|
17861
|
+
import { dirname as dirname2, join as join7, resolve } from "path";
|
|
17738
17862
|
|
|
17739
17863
|
// ../../packages/persistence/src/vault/crypto.ts
|
|
17740
17864
|
import {
|
|
@@ -17748,15 +17872,15 @@ import {
|
|
|
17748
17872
|
// ../../packages/persistence/src/vault/key-provider.ts
|
|
17749
17873
|
import { execFileSync as execFileSync2 } from "child_process";
|
|
17750
17874
|
import { randomBytes as randomBytes2 } from "crypto";
|
|
17751
|
-
import { chmodSync as
|
|
17752
|
-
import { join as
|
|
17875
|
+
import { chmodSync as chmodSync3, readFileSync as readFileSync6, renameSync as renameSync4, rmSync as rmSync5, statSync as statSync5, writeFileSync as writeFileSync3 } from "fs";
|
|
17876
|
+
import { join as join8 } from "path";
|
|
17753
17877
|
|
|
17754
17878
|
// ../../packages/persistence/src/vault/vault.ts
|
|
17755
17879
|
import { randomBytes as randomBytes3, randomUUID as randomUUID12 } from "crypto";
|
|
17756
17880
|
|
|
17757
17881
|
// ../../packages/persistence/src/warn-era-cap.ts
|
|
17758
|
-
import { existsSync as
|
|
17759
|
-
import { join as
|
|
17882
|
+
import { existsSync as existsSync5, writeFileSync as writeFileSync4 } from "fs";
|
|
17883
|
+
import { join as join9 } from "path";
|
|
17760
17884
|
|
|
17761
17885
|
// ../../packages/plugin-sdk/src/provider-env.ts
|
|
17762
17886
|
var booleanish = external_exports.string().optional().transform((v) => {
|
|
@@ -17777,9 +17901,9 @@ var providerEnvShape = {
|
|
|
17777
17901
|
var ProviderEnvSchema = external_exports.object(providerEnvShape);
|
|
17778
17902
|
|
|
17779
17903
|
// ../../packages/plugin-sdk/src/config-inventory.ts
|
|
17780
|
-
import { readdirSync as readdirSync2, readFileSync as
|
|
17904
|
+
import { readdirSync as readdirSync2, readFileSync as readFileSync8, realpathSync as realpathSync2, statSync as statSync7 } from "fs";
|
|
17781
17905
|
import { homedir as homedir2 } from "os";
|
|
17782
|
-
import { basename as basename3, join as
|
|
17906
|
+
import { basename as basename3, join as join12 } from "path";
|
|
17783
17907
|
|
|
17784
17908
|
// ../../packages/detections/src/egress/registry.ts
|
|
17785
17909
|
var EXTRACTOR_VERSION = "1";
|
|
@@ -18537,36 +18661,36 @@ var CPU_CORROBORATION_SHARE = 0.2;
|
|
|
18537
18661
|
var CORROBORATION_FLOOR_MS = BUDGET_MS * CPU_CORROBORATION_SHARE;
|
|
18538
18662
|
|
|
18539
18663
|
// ../../packages/plugin-sdk/src/repo.ts
|
|
18540
|
-
import { existsSync as
|
|
18541
|
-
import { basename as basename2, dirname as
|
|
18664
|
+
import { existsSync as existsSync7, readFileSync as readFileSync7, statSync as statSync6 } from "fs";
|
|
18665
|
+
import { basename as basename2, dirname as dirname3, isAbsolute, join as join11, sep as sep2 } from "path";
|
|
18542
18666
|
|
|
18543
18667
|
// ../../packages/plugin-sdk/src/events.ts
|
|
18544
18668
|
import { createHash as createHash4, randomUUID as randomUUID13 } from "crypto";
|
|
18545
18669
|
|
|
18546
18670
|
// ../../packages/plugin-sdk/src/isolated-scan.ts
|
|
18547
|
-
import { existsSync as
|
|
18671
|
+
import { existsSync as existsSync8 } from "fs";
|
|
18548
18672
|
import { fileURLToPath } from "url";
|
|
18549
18673
|
import { Worker } from "worker_threads";
|
|
18550
18674
|
|
|
18551
18675
|
// ../../packages/plugin-sdk/src/ignore-layers.ts
|
|
18552
18676
|
var import_ignore = __toESM(require_ignore(), 1);
|
|
18553
|
-
import { readFileSync as
|
|
18554
|
-
import { join as
|
|
18677
|
+
import { readFileSync as readFileSync9 } from "fs";
|
|
18678
|
+
import { join as join13 } from "path";
|
|
18555
18679
|
|
|
18556
18680
|
// ../../packages/plugin-sdk/src/inventory-resolver.ts
|
|
18557
18681
|
import { arch, hostname as hostname4, platform, release } from "os";
|
|
18558
18682
|
|
|
18559
18683
|
// ../../packages/plugin-sdk/src/nudge.ts
|
|
18560
|
-
import { mkdirSync as mkdirSync2, readFileSync as
|
|
18561
|
-
import { join as
|
|
18684
|
+
import { mkdirSync as mkdirSync2, readFileSync as readFileSync10, writeFileSync as writeFileSync5 } from "fs";
|
|
18685
|
+
import { join as join14 } from "path";
|
|
18562
18686
|
|
|
18563
18687
|
// ../../packages/plugin-sdk/src/paths.ts
|
|
18564
|
-
import { readdirSync as readdirSync3, realpathSync as
|
|
18565
|
-
import { basename as basename4, dirname as
|
|
18688
|
+
import { readdirSync as readdirSync3, realpathSync as realpathSync3 } from "fs";
|
|
18689
|
+
import { basename as basename4, dirname as dirname4, sep as sep3 } from "path";
|
|
18566
18690
|
|
|
18567
18691
|
// ../../packages/plugin-sdk/src/project-files.ts
|
|
18568
|
-
import { existsSync as
|
|
18569
|
-
import { basename as basename5, join as
|
|
18692
|
+
import { existsSync as existsSync9, readdirSync as readdirSync4 } from "fs";
|
|
18693
|
+
import { basename as basename5, join as join15 } from "path";
|
|
18570
18694
|
|
|
18571
18695
|
// ../../packages/plugin-sdk/src/provider-env-antigravity.ts
|
|
18572
18696
|
var optionalBaseUrl2 = external_exports.preprocess((v) => {
|
|
@@ -18601,12 +18725,12 @@ import { randomUUID as randomUUID14 } from "crypto";
|
|
|
18601
18725
|
var THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1e3;
|
|
18602
18726
|
|
|
18603
18727
|
// ../../packages/plugin-sdk/src/throttle.ts
|
|
18604
|
-
import { mkdirSync as mkdirSync3, statSync as
|
|
18605
|
-
import { join as
|
|
18728
|
+
import { mkdirSync as mkdirSync3, statSync as statSync8, writeFileSync as writeFileSync6 } from "fs";
|
|
18729
|
+
import { join as join16 } from "path";
|
|
18606
18730
|
|
|
18607
18731
|
// ../../packages/setup-wizard/src/remediation/rotation-checklist.ts
|
|
18608
18732
|
import { writeFileSync as writeFileSync7 } from "fs";
|
|
18609
|
-
import { join as
|
|
18733
|
+
import { join as join17 } from "path";
|
|
18610
18734
|
|
|
18611
18735
|
// ../../packages/setup-wizard/src/triage/merge.ts
|
|
18612
18736
|
var RANK = Object.fromEntries(
|
|
@@ -18614,9 +18738,9 @@ var RANK = Object.fromEntries(
|
|
|
18614
18738
|
);
|
|
18615
18739
|
|
|
18616
18740
|
// ../../packages/setup-wizard/src/triage/plan-file.ts
|
|
18617
|
-
import { mkdtempSync, readFileSync as
|
|
18741
|
+
import { mkdtempSync, readFileSync as readFileSync11, rmdirSync, rmSync as rmSync6, writeFileSync as writeFileSync8 } from "fs";
|
|
18618
18742
|
import { tmpdir } from "os";
|
|
18619
|
-
import { basename as basename6, dirname as
|
|
18743
|
+
import { basename as basename6, dirname as dirname5, join as join18 } from "path";
|
|
18620
18744
|
var SuppressionEntrySchema = external_exports.object({
|
|
18621
18745
|
ruleId: external_exports.string(),
|
|
18622
18746
|
category: DetectionCategory,
|
|
@@ -18759,7 +18883,7 @@ function buildIntroCard(manifest2, verified) {
|
|
|
18759
18883
|
var manifestPath = process.argv[2];
|
|
18760
18884
|
var manifest = {};
|
|
18761
18885
|
try {
|
|
18762
|
-
manifest = JSON.parse(
|
|
18886
|
+
manifest = JSON.parse(readFileSync12(manifestPath ?? "", "utf8"));
|
|
18763
18887
|
} catch {
|
|
18764
18888
|
}
|
|
18765
18889
|
process.stdout.write(show(fenced(buildIntroCard(manifest))));
|