securewithtrace 0.24.0 → 0.26.0
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/index.js +210 -23
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -4051,14 +4051,14 @@ var ye = (e) => {
|
|
|
4051
4051
|
};
|
|
4052
4052
|
var et2 = (e, i, s, r, u2) => {
|
|
4053
4053
|
let n = i, o = 0;
|
|
4054
|
-
for (let
|
|
4055
|
-
const a = e[
|
|
4054
|
+
for (let c27 = s; c27 < r; c27++) {
|
|
4055
|
+
const a = e[c27];
|
|
4056
4056
|
if (n = n - a.length, o++, n <= u2) break;
|
|
4057
4057
|
}
|
|
4058
4058
|
return { lineCount: n, removals: o };
|
|
4059
4059
|
};
|
|
4060
4060
|
var Y2 = ({ cursor: e, options: i, style: s, output: r = process.stdout, maxItems: u2 = Number.POSITIVE_INFINITY, columnPadding: n = 0, rowPadding: o = 4 }) => {
|
|
4061
|
-
const
|
|
4061
|
+
const c27 = O(r) - n, a = A(r), l = t("dim", "..."), $2 = Math.max(a - o, 0), y2 = Math.max(Math.min(u2, $2), 5);
|
|
4062
4062
|
let p2 = 0;
|
|
4063
4063
|
e >= y2 - 3 && (p2 = Math.max(Math.min(e - y2 + 3, i.length - y2), 0));
|
|
4064
4064
|
let m = y2 < i.length && p2 > 0, g = y2 < i.length && p2 + y2 < i.length;
|
|
@@ -4067,7 +4067,7 @@ var Y2 = ({ cursor: e, options: i, style: s, output: r = process.stdout, maxItem
|
|
|
4067
4067
|
m && f++, g && f++;
|
|
4068
4068
|
const v = p2 + (m ? 1 : 0), T = S2 - (g ? 1 : 0);
|
|
4069
4069
|
for (let b = v; b < T; b++) {
|
|
4070
|
-
const x = wrapAnsi(s(i[b], b === e),
|
|
4070
|
+
const x = wrapAnsi(s(i[b], b === e), c27, { hard: true, trim: false }).split(`
|
|
4071
4071
|
`);
|
|
4072
4072
|
h.push(x), f += x.length;
|
|
4073
4073
|
}
|
|
@@ -4108,19 +4108,19 @@ var _t = (e) => {
|
|
|
4108
4108
|
`;
|
|
4109
4109
|
switch (this.state) {
|
|
4110
4110
|
case "submit": {
|
|
4111
|
-
const
|
|
4111
|
+
const c27 = s ? `${t("gray", d2)} ` : "", a = R(e.output, i(this.options[this.cursor], "selected"), c27);
|
|
4112
4112
|
return `${o}${a}`;
|
|
4113
4113
|
}
|
|
4114
4114
|
case "cancel": {
|
|
4115
|
-
const
|
|
4115
|
+
const c27 = s ? `${t("gray", d2)} ` : "", a = R(e.output, i(this.options[this.cursor], "cancelled"), c27);
|
|
4116
4116
|
return `${o}${a}${s ? `
|
|
4117
4117
|
${t("gray", d2)}` : ""}`;
|
|
4118
4118
|
}
|
|
4119
4119
|
default: {
|
|
4120
|
-
const
|
|
4120
|
+
const c27 = s ? `${t("cyan", d2)} ` : "", a = s ? t("cyan", E2) : "", l = o.split(`
|
|
4121
4121
|
`).length, $2 = s ? 2 : 1;
|
|
4122
|
-
return `${o}${
|
|
4123
|
-
${
|
|
4122
|
+
return `${o}${c27}${Y2({ output: e.output, cursor: this.cursor, options: this.options, maxItems: e.maxItems, columnPadding: c27.length, rowPadding: l + $2, style: (y2, p2) => i(y2, y2.disabled ? "disabled" : p2 ? "active" : "inactive") }).join(`
|
|
4123
|
+
${c27}`)}
|
|
4124
4124
|
${a}
|
|
4125
4125
|
`;
|
|
4126
4126
|
}
|
|
@@ -10897,7 +10897,7 @@ var $ZodBase64 = /* @__PURE__ */ $constructor("$ZodBase64", (inst, def) => {
|
|
|
10897
10897
|
function isValidBase64URL(data) {
|
|
10898
10898
|
if (!base64url.test(data))
|
|
10899
10899
|
return false;
|
|
10900
|
-
const base643 = data.replace(/[-_]/g, (
|
|
10900
|
+
const base643 = data.replace(/[-_]/g, (c27) => c27 === "-" ? "+" : "/");
|
|
10901
10901
|
const padded = base643.padEnd(Math.ceil(base643.length / 4) * 4, "=");
|
|
10902
10902
|
return isValidBase64(padded);
|
|
10903
10903
|
}
|
|
@@ -20941,9 +20941,9 @@ var ZodDate2 = /* @__PURE__ */ $constructor("ZodDate", (inst, def) => {
|
|
|
20941
20941
|
inst._zod.processJSONSchema = (ctx, json2, params) => dateProcessor(inst, ctx, json2, params);
|
|
20942
20942
|
inst.min = (value, params) => inst.check(_gte(value, params));
|
|
20943
20943
|
inst.max = (value, params) => inst.check(_lte(value, params));
|
|
20944
|
-
const
|
|
20945
|
-
inst.minDate =
|
|
20946
|
-
inst.maxDate =
|
|
20944
|
+
const c27 = inst._zod.bag;
|
|
20945
|
+
inst.minDate = c27.minimum ? new Date(c27.minimum) : null;
|
|
20946
|
+
inst.maxDate = c27.maximum ? new Date(c27.maximum) : null;
|
|
20947
20947
|
});
|
|
20948
20948
|
function date3(params) {
|
|
20949
20949
|
return _date(ZodDate2, params);
|
|
@@ -24767,6 +24767,93 @@ var BulkUpdateVulnerabilitiesResponseSchema = external_exports.object({
|
|
|
24767
24767
|
)
|
|
24768
24768
|
});
|
|
24769
24769
|
|
|
24770
|
+
// ../../packages/api-contracts/src/schemas/api/v1/vulnerability-share.api.ts
|
|
24771
|
+
var VulnerabilityShareAccessModeSchema = external_exports.enum(["ANYONE_WITH_LINK", "ALLOWED_EMAILS"]);
|
|
24772
|
+
var VulnerabilityShareTokenSchema = external_exports.string().min(32).max(512).regex(/^[A-Za-z0-9_-]+$/, {
|
|
24773
|
+
message: "shareToken must contain only URL-safe base64 characters"
|
|
24774
|
+
});
|
|
24775
|
+
var VulnerabilityShareLookupParamsSchema = OrgIdParamsSchema.extend({
|
|
24776
|
+
vulnerabilityId: VulnerabilityLookupIdSchema
|
|
24777
|
+
});
|
|
24778
|
+
var VulnerabilityShareLinkParamsSchema = VulnerabilityShareLookupParamsSchema.extend({
|
|
24779
|
+
shareLinkId: external_exports.uuid()
|
|
24780
|
+
});
|
|
24781
|
+
var VulnerabilityShareTokenParamsSchema = external_exports.object({
|
|
24782
|
+
shareToken: VulnerabilityShareTokenSchema
|
|
24783
|
+
});
|
|
24784
|
+
var VulnerabilityShareResolveQuerySchema = external_exports.object({
|
|
24785
|
+
viewerToken: external_exports.string().min(32).max(512).optional()
|
|
24786
|
+
});
|
|
24787
|
+
var CreateVulnerabilityShareLinkRequestSchema = external_exports.object({
|
|
24788
|
+
accessMode: VulnerabilityShareAccessModeSchema,
|
|
24789
|
+
allowedEmails: external_exports.array(external_exports.string().email().max(320)).max(100).default([]).optional()
|
|
24790
|
+
});
|
|
24791
|
+
var VulnerabilityShareLinkResponseSchema = external_exports.object({
|
|
24792
|
+
shareLinkId: external_exports.uuid(),
|
|
24793
|
+
vulnerabilityId: external_exports.uuid(),
|
|
24794
|
+
organizationId: external_exports.uuid(),
|
|
24795
|
+
createdById: external_exports.uuid(),
|
|
24796
|
+
createdByName: external_exports.string(),
|
|
24797
|
+
createdByEmail: external_exports.string().email(),
|
|
24798
|
+
accessMode: VulnerabilityShareAccessModeSchema,
|
|
24799
|
+
allowedEmails: external_exports.array(external_exports.string().email()),
|
|
24800
|
+
revokedAt: external_exports.coerce.date().nullable(),
|
|
24801
|
+
createdAt: external_exports.coerce.date(),
|
|
24802
|
+
updatedAt: external_exports.coerce.date()
|
|
24803
|
+
});
|
|
24804
|
+
var CreateVulnerabilityShareLinkResponseSchema = VulnerabilityShareLinkResponseSchema.extend({
|
|
24805
|
+
shareUrl: external_exports.url()
|
|
24806
|
+
});
|
|
24807
|
+
var ListVulnerabilityShareLinksResponseSchema = external_exports.array(
|
|
24808
|
+
VulnerabilityShareLinkResponseSchema
|
|
24809
|
+
);
|
|
24810
|
+
var SharedVulnerabilityResponseSchema = external_exports.object({
|
|
24811
|
+
vulnerabilityId: external_exports.uuid(),
|
|
24812
|
+
traceId: external_exports.string(),
|
|
24813
|
+
title: external_exports.string(),
|
|
24814
|
+
description: external_exports.string(),
|
|
24815
|
+
severity: VulnerabilitySeverity,
|
|
24816
|
+
status: VulnerabilityStatus,
|
|
24817
|
+
vulnerabilityType: VulnerabilityType,
|
|
24818
|
+
repositoryName: external_exports.string(),
|
|
24819
|
+
repositoryHtmlUrl: external_exports.string().nullable(),
|
|
24820
|
+
cweId: external_exports.string().nullable(),
|
|
24821
|
+
explanation: external_exports.string().nullable(),
|
|
24822
|
+
codeSnippet: external_exports.object({
|
|
24823
|
+
filePath: external_exports.string(),
|
|
24824
|
+
startLine: external_exports.number(),
|
|
24825
|
+
endLine: external_exports.number().nullable(),
|
|
24826
|
+
snippet: external_exports.string().nullable()
|
|
24827
|
+
}),
|
|
24828
|
+
createdAt: external_exports.coerce.date(),
|
|
24829
|
+
updatedAt: external_exports.coerce.date()
|
|
24830
|
+
});
|
|
24831
|
+
var ResolveSharedVulnerabilityResponseSchema = external_exports.object({
|
|
24832
|
+
shareLinkId: external_exports.uuid(),
|
|
24833
|
+
accessMode: VulnerabilityShareAccessModeSchema,
|
|
24834
|
+
requiresEmailVerification: external_exports.boolean(),
|
|
24835
|
+
viewerEmail: external_exports.string().email().nullable(),
|
|
24836
|
+
vulnerability: SharedVulnerabilityResponseSchema.nullable()
|
|
24837
|
+
});
|
|
24838
|
+
var RequestSharedVulnerabilityEmailVerificationSchema = external_exports.object({
|
|
24839
|
+
email: external_exports.string().email().max(320)
|
|
24840
|
+
});
|
|
24841
|
+
var RequestSharedVulnerabilityEmailVerificationResponseSchema = external_exports.object({
|
|
24842
|
+
verificationId: external_exports.uuid(),
|
|
24843
|
+
email: external_exports.string().email(),
|
|
24844
|
+
expiresAt: external_exports.coerce.date()
|
|
24845
|
+
});
|
|
24846
|
+
var VerifySharedVulnerabilityEmailCodeSchema = external_exports.object({
|
|
24847
|
+
verificationId: external_exports.uuid(),
|
|
24848
|
+
email: external_exports.string().email().max(320),
|
|
24849
|
+
code: external_exports.string().trim().min(4).max(16)
|
|
24850
|
+
});
|
|
24851
|
+
var VerifySharedVulnerabilityEmailCodeResponseSchema = external_exports.object({
|
|
24852
|
+
viewerToken: external_exports.string().min(32).max(512),
|
|
24853
|
+
email: external_exports.string().email(),
|
|
24854
|
+
expiresAt: external_exports.coerce.date()
|
|
24855
|
+
});
|
|
24856
|
+
|
|
24770
24857
|
// ../../packages/api-contracts/src/contracts/v1/vulnerability.ts
|
|
24771
24858
|
var c17 = initContract();
|
|
24772
24859
|
var vulnerabilityContract = c17.router({
|
|
@@ -24899,6 +24986,47 @@ var vulnerabilityContract = c17.router({
|
|
|
24899
24986
|
404: ErrorResponseSchema,
|
|
24900
24987
|
500: ErrorResponseSchema
|
|
24901
24988
|
}
|
|
24989
|
+
},
|
|
24990
|
+
createShareLink: {
|
|
24991
|
+
method: "POST",
|
|
24992
|
+
path: "/organizations/:organizationId/vulnerabilities/:vulnerabilityId/share-links",
|
|
24993
|
+
pathParams: VulnerabilityLookupIdParamsSchema,
|
|
24994
|
+
body: CreateVulnerabilityShareLinkRequestSchema,
|
|
24995
|
+
responses: {
|
|
24996
|
+
201: CreateVulnerabilityShareLinkResponseSchema,
|
|
24997
|
+
400: ErrorResponseSchema,
|
|
24998
|
+
401: ErrorResponseSchema,
|
|
24999
|
+
403: ErrorResponseSchema,
|
|
25000
|
+
404: ErrorResponseSchema,
|
|
25001
|
+
500: ErrorResponseSchema
|
|
25002
|
+
}
|
|
25003
|
+
},
|
|
25004
|
+
listShareLinks: {
|
|
25005
|
+
method: "GET",
|
|
25006
|
+
path: "/organizations/:organizationId/vulnerabilities/:vulnerabilityId/share-links",
|
|
25007
|
+
pathParams: VulnerabilityLookupIdParamsSchema,
|
|
25008
|
+
responses: {
|
|
25009
|
+
200: ListVulnerabilityShareLinksResponseSchema,
|
|
25010
|
+
400: ErrorResponseSchema,
|
|
25011
|
+
401: ErrorResponseSchema,
|
|
25012
|
+
403: ErrorResponseSchema,
|
|
25013
|
+
404: ErrorResponseSchema,
|
|
25014
|
+
500: ErrorResponseSchema
|
|
25015
|
+
}
|
|
25016
|
+
},
|
|
25017
|
+
revokeShareLink: {
|
|
25018
|
+
method: "POST",
|
|
25019
|
+
path: "/organizations/:organizationId/vulnerabilities/:vulnerabilityId/share-links/:shareLinkId/revoke",
|
|
25020
|
+
pathParams: VulnerabilityShareLinkParamsSchema,
|
|
25021
|
+
body: null,
|
|
25022
|
+
responses: {
|
|
25023
|
+
200: VulnerabilityShareLinkResponseSchema,
|
|
25024
|
+
400: ErrorResponseSchema,
|
|
25025
|
+
401: ErrorResponseSchema,
|
|
25026
|
+
403: ErrorResponseSchema,
|
|
25027
|
+
404: ErrorResponseSchema,
|
|
25028
|
+
500: ErrorResponseSchema
|
|
25029
|
+
}
|
|
24902
25030
|
}
|
|
24903
25031
|
});
|
|
24904
25032
|
|
|
@@ -25361,6 +25489,57 @@ var healthContract = c24.router({
|
|
|
25361
25489
|
}
|
|
25362
25490
|
});
|
|
25363
25491
|
|
|
25492
|
+
// ../../packages/api-contracts/src/contracts/v1/vulnerability-share.ts
|
|
25493
|
+
var c25 = initContract();
|
|
25494
|
+
var vulnerabilityShareContract = c25.router(
|
|
25495
|
+
{
|
|
25496
|
+
resolveShareLink: {
|
|
25497
|
+
method: "GET",
|
|
25498
|
+
path: "/vulnerabilities/share/:shareToken/resolve",
|
|
25499
|
+
pathParams: VulnerabilityShareTokenParamsSchema,
|
|
25500
|
+
responses: {
|
|
25501
|
+
200: ResolveSharedVulnerabilityResponseSchema,
|
|
25502
|
+
400: ErrorResponseSchema,
|
|
25503
|
+
401: ErrorResponseSchema,
|
|
25504
|
+
403: ErrorResponseSchema,
|
|
25505
|
+
404: ErrorResponseSchema,
|
|
25506
|
+
500: ErrorResponseSchema
|
|
25507
|
+
}
|
|
25508
|
+
},
|
|
25509
|
+
requestShareEmailVerification: {
|
|
25510
|
+
method: "POST",
|
|
25511
|
+
path: "/vulnerabilities/share/:shareToken/verify/start",
|
|
25512
|
+
pathParams: VulnerabilityShareTokenParamsSchema,
|
|
25513
|
+
body: RequestSharedVulnerabilityEmailVerificationSchema,
|
|
25514
|
+
responses: {
|
|
25515
|
+
200: RequestSharedVulnerabilityEmailVerificationResponseSchema,
|
|
25516
|
+
400: ErrorResponseSchema,
|
|
25517
|
+
401: ErrorResponseSchema,
|
|
25518
|
+
403: ErrorResponseSchema,
|
|
25519
|
+
404: ErrorResponseSchema,
|
|
25520
|
+
500: ErrorResponseSchema
|
|
25521
|
+
}
|
|
25522
|
+
},
|
|
25523
|
+
verifyShareEmailCode: {
|
|
25524
|
+
method: "POST",
|
|
25525
|
+
path: "/vulnerabilities/share/:shareToken/verify/complete",
|
|
25526
|
+
pathParams: VulnerabilityShareTokenParamsSchema,
|
|
25527
|
+
body: VerifySharedVulnerabilityEmailCodeSchema,
|
|
25528
|
+
responses: {
|
|
25529
|
+
200: VerifySharedVulnerabilityEmailCodeResponseSchema,
|
|
25530
|
+
400: ErrorResponseSchema,
|
|
25531
|
+
401: ErrorResponseSchema,
|
|
25532
|
+
403: ErrorResponseSchema,
|
|
25533
|
+
404: ErrorResponseSchema,
|
|
25534
|
+
500: ErrorResponseSchema
|
|
25535
|
+
}
|
|
25536
|
+
}
|
|
25537
|
+
},
|
|
25538
|
+
{
|
|
25539
|
+
pathPrefix: "/v1"
|
|
25540
|
+
}
|
|
25541
|
+
);
|
|
25542
|
+
|
|
25364
25543
|
// ../../packages/api-contracts/src/schemas/api/v1/pr-vulnerability.api.ts
|
|
25365
25544
|
var PrParamsSchema = external_exports.object({
|
|
25366
25545
|
owner: external_exports.string(),
|
|
@@ -25399,8 +25578,8 @@ var UpdatePrVulnerabilityRequestSchema = external_exports.object({
|
|
|
25399
25578
|
});
|
|
25400
25579
|
|
|
25401
25580
|
// ../../packages/api-contracts/src/contracts/v1/pr-vulnerability.ts
|
|
25402
|
-
var
|
|
25403
|
-
var prVulnerabilityContract =
|
|
25581
|
+
var c26 = initContract();
|
|
25582
|
+
var prVulnerabilityContract = c26.router(
|
|
25404
25583
|
{
|
|
25405
25584
|
listPrVulnerabilities: {
|
|
25406
25585
|
method: "GET",
|
|
@@ -27034,14 +27213,22 @@ Examples:
|
|
|
27034
27213
|
}
|
|
27035
27214
|
});
|
|
27036
27215
|
}
|
|
27216
|
+
var ORG_LIST_MAX_LIMIT = 100;
|
|
27037
27217
|
function createOrgListCommand() {
|
|
27038
|
-
return new Command("list").description("List organizations available to your account").option("-o, --output <format>", "Output format: table, json, tsv (default: table)", "table").option(
|
|
27039
|
-
|
|
27040
|
-
|
|
27041
|
-
|
|
27218
|
+
return new Command("list").description("List organizations available to your account").option("-o, --output <format>", "Output format: table, json, tsv (default: table)", "table").option(
|
|
27219
|
+
"-L, --limit <n>",
|
|
27220
|
+
`Max organizations to display, max ${ORG_LIST_MAX_LIMIT} (default: all)`,
|
|
27221
|
+
(v) => {
|
|
27222
|
+
const n = Number.parseInt(v, 10);
|
|
27223
|
+
if (Number.isNaN(n) || n < 1) {
|
|
27224
|
+
throw new Error("--limit must be a positive integer");
|
|
27225
|
+
}
|
|
27226
|
+
if (n > ORG_LIST_MAX_LIMIT) {
|
|
27227
|
+
throw new Error(`--limit cannot exceed ${ORG_LIST_MAX_LIMIT}`);
|
|
27228
|
+
}
|
|
27229
|
+
return n;
|
|
27042
27230
|
}
|
|
27043
|
-
|
|
27044
|
-
}).option(
|
|
27231
|
+
).option(
|
|
27045
27232
|
"-f, --filter <expression>",
|
|
27046
27233
|
"Filter expression (repeatable). Fields: name, slug. Operators: = exact, != not exact, : contains, !: not contains",
|
|
27047
27234
|
(val, prev) => [...prev, val],
|
|
@@ -27325,7 +27512,7 @@ function extractCommandTree(cmd) {
|
|
|
27325
27512
|
description: o.description,
|
|
27326
27513
|
takesValue: o.required || o.optional
|
|
27327
27514
|
}));
|
|
27328
|
-
const subcommands = cmd.commands.filter((
|
|
27515
|
+
const subcommands = cmd.commands.filter((c27) => !c27._hidden).map((c27) => extractCommandTree(c27));
|
|
27329
27516
|
return {
|
|
27330
27517
|
name: cmd.name(),
|
|
27331
27518
|
description: cmd.description(),
|
|
@@ -27391,7 +27578,7 @@ function generateBashCompletion(tree, binName) {
|
|
|
27391
27578
|
}
|
|
27392
27579
|
function collectBashCases(tree, prefix) {
|
|
27393
27580
|
const cases = /* @__PURE__ */ new Map();
|
|
27394
|
-
const subcommandNames = tree.subcommands.map((
|
|
27581
|
+
const subcommandNames = tree.subcommands.map((c27) => c27.name);
|
|
27395
27582
|
const optionNames = tree.options.flatMap((o) => o.short ? [o.long, o.short] : [o.long]);
|
|
27396
27583
|
const extraOptions = prefix === "" ? ["--help", "--version"] : ["--help"];
|
|
27397
27584
|
const allOptions = [.../* @__PURE__ */ new Set([...optionNames, ...extraOptions])];
|