mobbdev 1.4.7 → 1.4.10
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/args/commands/upload_ai_blame.mjs +42 -10
- package/dist/index.mjs +72 -30
- package/package.json +10 -10
|
@@ -598,6 +598,7 @@ var init_client_generates = __esm({
|
|
|
598
598
|
id
|
|
599
599
|
organization {
|
|
600
600
|
id
|
|
601
|
+
enableV2Fixes
|
|
601
602
|
projects(where: {name: {_eq: $projectName}}) {
|
|
602
603
|
name
|
|
603
604
|
id
|
|
@@ -616,6 +617,7 @@ var init_client_generates = __esm({
|
|
|
616
617
|
id
|
|
617
618
|
organization {
|
|
618
619
|
id
|
|
620
|
+
enableV2Fixes
|
|
619
621
|
}
|
|
620
622
|
}
|
|
621
623
|
}
|
|
@@ -1340,7 +1342,7 @@ var init_shared = __esm({
|
|
|
1340
1342
|
|
|
1341
1343
|
// src/features/analysis/scm/shared/src/types/fix.ts
|
|
1342
1344
|
import { z as z2 } from "zod";
|
|
1343
|
-
var PackageInfoZ, ManifestActionRequiredZ, ExtraContextInternalZ, FixExtraContextZ, PatchAndQuestionsZ, FixRatingZ, IssueSharedStateZ, FixSharedStateZ, FixQueryZ, FixPartsForFixScreenZ;
|
|
1345
|
+
var PackageInfoZ, ManifestActionRequiredZ, ExtraContextInternalZ, FixExtraContextZ, PatchAndQuestionsZ, FixRatingZ, IssueRatingZ, IssueSharedStateZ, FixSharedStateZ, FixQueryZ, FixPartsForFixScreenZ;
|
|
1344
1346
|
var init_fix = __esm({
|
|
1345
1347
|
"src/features/analysis/scm/shared/src/types/fix.ts"() {
|
|
1346
1348
|
"use strict";
|
|
@@ -1401,6 +1403,15 @@ var init_fix = __esm({
|
|
|
1401
1403
|
name: z2.string()
|
|
1402
1404
|
})
|
|
1403
1405
|
});
|
|
1406
|
+
IssueRatingZ = z2.object({
|
|
1407
|
+
voteScore: z2.number(),
|
|
1408
|
+
comment: z2.string().nullable().default(null),
|
|
1409
|
+
updatedDate: z2.string().nullable(),
|
|
1410
|
+
user: z2.object({
|
|
1411
|
+
email: z2.string(),
|
|
1412
|
+
name: z2.string()
|
|
1413
|
+
})
|
|
1414
|
+
});
|
|
1404
1415
|
IssueSharedStateZ = z2.object({
|
|
1405
1416
|
id: z2.string(),
|
|
1406
1417
|
createdAt: z2.string(),
|
|
@@ -1410,7 +1421,8 @@ var init_fix = __esm({
|
|
|
1410
1421
|
z2.object({
|
|
1411
1422
|
url: z2.string()
|
|
1412
1423
|
})
|
|
1413
|
-
)
|
|
1424
|
+
),
|
|
1425
|
+
issueRatings: z2.array(IssueRatingZ).default([])
|
|
1414
1426
|
}).nullable();
|
|
1415
1427
|
FixSharedStateZ = z2.object({
|
|
1416
1428
|
state: z2.nativeEnum(Fix_State_Enum),
|
|
@@ -1516,7 +1528,7 @@ var init_analysis = __esm({
|
|
|
1516
1528
|
|
|
1517
1529
|
// src/features/analysis/scm/shared/src/types/issue.ts
|
|
1518
1530
|
import { z as z4 } from "zod";
|
|
1519
|
-
var MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES, VulnerabilityReportIssueSharedStateZ, BaseIssuePartsZ, FalsePositivePartsZ, IssuePartsWithFixZ, IssuePartsFpZ, GeneralIssueZ, IssuePartsZ, GetIssueIndexesZ, GetIssueScreenDataZ, IssueBucketZ, mapBucketTypeToCategory;
|
|
1531
|
+
var MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES, VulnerabilityReportIssueRatingZ, VulnerabilityReportIssueSharedStateZ, BaseIssuePartsZ, FalsePositivePartsZ, IssuePartsWithFixZ, IssuePartsFpZ, GeneralIssueZ, IssuePartsZ, GetIssueIndexesZ, GetIssueScreenDataZ, IssueBucketZ, mapBucketTypeToCategory;
|
|
1520
1532
|
var init_issue = __esm({
|
|
1521
1533
|
"src/features/analysis/scm/shared/src/types/issue.ts"() {
|
|
1522
1534
|
"use strict";
|
|
@@ -1525,6 +1537,15 @@ var init_issue = __esm({
|
|
|
1525
1537
|
init_fix();
|
|
1526
1538
|
init_shared();
|
|
1527
1539
|
MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES = 1e5;
|
|
1540
|
+
VulnerabilityReportIssueRatingZ = z4.object({
|
|
1541
|
+
voteScore: z4.number(),
|
|
1542
|
+
comment: z4.string().nullable().default(null),
|
|
1543
|
+
updatedDate: z4.string().nullable(),
|
|
1544
|
+
user: z4.object({
|
|
1545
|
+
email: z4.string(),
|
|
1546
|
+
name: z4.string()
|
|
1547
|
+
})
|
|
1548
|
+
});
|
|
1528
1549
|
VulnerabilityReportIssueSharedStateZ = z4.object({
|
|
1529
1550
|
id: z4.string().uuid(),
|
|
1530
1551
|
createdAt: z4.string(),
|
|
@@ -1534,7 +1555,8 @@ var init_issue = __esm({
|
|
|
1534
1555
|
z4.object({
|
|
1535
1556
|
url: z4.string()
|
|
1536
1557
|
})
|
|
1537
|
-
)
|
|
1558
|
+
),
|
|
1559
|
+
issueRatings: z4.array(VulnerabilityReportIssueRatingZ).default([])
|
|
1538
1560
|
}).nullish();
|
|
1539
1561
|
BaseIssuePartsZ = z4.object({
|
|
1540
1562
|
id: z4.string().uuid(),
|
|
@@ -2707,7 +2729,7 @@ var init_env = __esm({
|
|
|
2707
2729
|
GITLAB_API_TOKEN: z16.string().optional(),
|
|
2708
2730
|
GITHUB_API_TOKEN: z16.string().optional(),
|
|
2709
2731
|
GIT_PROXY_HOST: z16.string().optional().default("http://tinyproxy:8888"),
|
|
2710
|
-
MAX_UPLOAD_FILE_SIZE_MB: z16.coerce.number().gt(0).default(
|
|
2732
|
+
MAX_UPLOAD_FILE_SIZE_MB: z16.coerce.number().gt(0).default(2),
|
|
2711
2733
|
GITHUB_API_CONCURRENCY: z16.coerce.number().gt(0).optional().default(10)
|
|
2712
2734
|
});
|
|
2713
2735
|
({
|
|
@@ -3569,7 +3591,13 @@ var init_FileUtils = __esm({
|
|
|
3569
3591
|
const results = [];
|
|
3570
3592
|
const filePromises = [];
|
|
3571
3593
|
for (const item of items) {
|
|
3572
|
-
const
|
|
3594
|
+
const safeInput = path4.resolve(
|
|
3595
|
+
path4.sep,
|
|
3596
|
+
path4.normalize(
|
|
3597
|
+
String(dir || "").replace("\0", "").replace(/^(\.\.(\/|\\$))+/, "")
|
|
3598
|
+
)
|
|
3599
|
+
);
|
|
3600
|
+
const fullPath = path4.join(safeInput, item);
|
|
3573
3601
|
try {
|
|
3574
3602
|
await fsPromises.access(fullPath, fs4.constants.R_OK);
|
|
3575
3603
|
const stat = await fsPromises.stat(fullPath);
|
|
@@ -3607,7 +3635,9 @@ var init_FileUtils = __esm({
|
|
|
3607
3635
|
}) {
|
|
3608
3636
|
try {
|
|
3609
3637
|
const stats = fs4.statSync(dir);
|
|
3610
|
-
if (!stats.isDirectory())
|
|
3638
|
+
if (!stats.isDirectory()) {
|
|
3639
|
+
return [];
|
|
3640
|
+
}
|
|
3611
3641
|
} catch {
|
|
3612
3642
|
return [];
|
|
3613
3643
|
}
|
|
@@ -3616,7 +3646,7 @@ var init_FileUtils = __esm({
|
|
|
3616
3646
|
const { GitService: GitService2 } = await Promise.resolve().then(() => (init_GitService(), GitService_exports));
|
|
3617
3647
|
const gitService = new GitService2(dir);
|
|
3618
3648
|
gitMatcher = await gitService.getGitignoreMatcher();
|
|
3619
|
-
} catch
|
|
3649
|
+
} catch {
|
|
3620
3650
|
}
|
|
3621
3651
|
const allFiles = await this.processRootDirectory(dir, EXCLUDED_DIRS);
|
|
3622
3652
|
const filteredFiles = allFiles.filter(
|
|
@@ -6945,7 +6975,8 @@ var GQLClient = class {
|
|
|
6945
6975
|
const getLastOrgRes = await this._clientSdk.getLastOrg({ email });
|
|
6946
6976
|
return {
|
|
6947
6977
|
organizationId: getLastOrgRes?.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization?.id,
|
|
6948
|
-
userName: getLastOrgRes?.user?.[0]?.name ?? ""
|
|
6978
|
+
userName: getLastOrgRes?.user?.[0]?.name ?? "",
|
|
6979
|
+
enableV2Fixes: getLastOrgRes?.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization?.enableV2Fixes === true
|
|
6949
6980
|
};
|
|
6950
6981
|
}
|
|
6951
6982
|
async createCliLogin(variables) {
|
|
@@ -7027,7 +7058,8 @@ var GQLClient = class {
|
|
|
7027
7058
|
}
|
|
7028
7059
|
return {
|
|
7029
7060
|
organizationId: organization.id,
|
|
7030
|
-
projectId
|
|
7061
|
+
projectId,
|
|
7062
|
+
enableV2Fixes: organization.enableV2Fixes === true
|
|
7031
7063
|
};
|
|
7032
7064
|
}
|
|
7033
7065
|
async getEncryptedApiToken(variables) {
|
package/dist/index.mjs
CHANGED
|
@@ -598,6 +598,7 @@ var init_client_generates = __esm({
|
|
|
598
598
|
id
|
|
599
599
|
organization {
|
|
600
600
|
id
|
|
601
|
+
enableV2Fixes
|
|
601
602
|
projects(where: {name: {_eq: $projectName}}) {
|
|
602
603
|
name
|
|
603
604
|
id
|
|
@@ -616,6 +617,7 @@ var init_client_generates = __esm({
|
|
|
616
617
|
id
|
|
617
618
|
organization {
|
|
618
619
|
id
|
|
620
|
+
enableV2Fixes
|
|
619
621
|
}
|
|
620
622
|
}
|
|
621
623
|
}
|
|
@@ -1561,7 +1563,7 @@ var init_shared = __esm({
|
|
|
1561
1563
|
|
|
1562
1564
|
// src/features/analysis/scm/shared/src/types/fix.ts
|
|
1563
1565
|
import { z as z7 } from "zod";
|
|
1564
|
-
var PackageInfoZ, ManifestActionRequiredZ, ExtraContextInternalZ, FixExtraContextZ, PatchAndQuestionsZ, FixRatingZ, IssueSharedStateZ, FixSharedStateZ, FixQueryZ, FixPartsForFixScreenZ;
|
|
1566
|
+
var PackageInfoZ, ManifestActionRequiredZ, ExtraContextInternalZ, FixExtraContextZ, PatchAndQuestionsZ, FixRatingZ, IssueRatingZ, IssueSharedStateZ, FixSharedStateZ, FixQueryZ, FixPartsForFixScreenZ;
|
|
1565
1567
|
var init_fix = __esm({
|
|
1566
1568
|
"src/features/analysis/scm/shared/src/types/fix.ts"() {
|
|
1567
1569
|
"use strict";
|
|
@@ -1622,6 +1624,15 @@ var init_fix = __esm({
|
|
|
1622
1624
|
name: z7.string()
|
|
1623
1625
|
})
|
|
1624
1626
|
});
|
|
1627
|
+
IssueRatingZ = z7.object({
|
|
1628
|
+
voteScore: z7.number(),
|
|
1629
|
+
comment: z7.string().nullable().default(null),
|
|
1630
|
+
updatedDate: z7.string().nullable(),
|
|
1631
|
+
user: z7.object({
|
|
1632
|
+
email: z7.string(),
|
|
1633
|
+
name: z7.string()
|
|
1634
|
+
})
|
|
1635
|
+
});
|
|
1625
1636
|
IssueSharedStateZ = z7.object({
|
|
1626
1637
|
id: z7.string(),
|
|
1627
1638
|
createdAt: z7.string(),
|
|
@@ -1631,7 +1642,8 @@ var init_fix = __esm({
|
|
|
1631
1642
|
z7.object({
|
|
1632
1643
|
url: z7.string()
|
|
1633
1644
|
})
|
|
1634
|
-
)
|
|
1645
|
+
),
|
|
1646
|
+
issueRatings: z7.array(IssueRatingZ).default([])
|
|
1635
1647
|
}).nullable();
|
|
1636
1648
|
FixSharedStateZ = z7.object({
|
|
1637
1649
|
state: z7.nativeEnum(Fix_State_Enum),
|
|
@@ -1737,7 +1749,7 @@ var init_analysis = __esm({
|
|
|
1737
1749
|
|
|
1738
1750
|
// src/features/analysis/scm/shared/src/types/issue.ts
|
|
1739
1751
|
import { z as z9 } from "zod";
|
|
1740
|
-
var MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES, VulnerabilityReportIssueSharedStateZ, BaseIssuePartsZ, FalsePositivePartsZ, IssuePartsWithFixZ, IssuePartsFpZ, GeneralIssueZ, IssuePartsZ, GetIssueIndexesZ, GetIssueScreenDataZ, IssueBucketZ, mapCategoryToBucket, mapBucketTypeToCategory;
|
|
1752
|
+
var MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES, VulnerabilityReportIssueRatingZ, VulnerabilityReportIssueSharedStateZ, BaseIssuePartsZ, FalsePositivePartsZ, IssuePartsWithFixZ, IssuePartsFpZ, GeneralIssueZ, IssuePartsZ, GetIssueIndexesZ, GetIssueScreenDataZ, IssueBucketZ, mapCategoryToBucket, mapBucketTypeToCategory;
|
|
1741
1753
|
var init_issue = __esm({
|
|
1742
1754
|
"src/features/analysis/scm/shared/src/types/issue.ts"() {
|
|
1743
1755
|
"use strict";
|
|
@@ -1746,6 +1758,15 @@ var init_issue = __esm({
|
|
|
1746
1758
|
init_fix();
|
|
1747
1759
|
init_shared();
|
|
1748
1760
|
MAX_SOURCE_CODE_FILE_SIZE_IN_BYTES = 1e5;
|
|
1761
|
+
VulnerabilityReportIssueRatingZ = z9.object({
|
|
1762
|
+
voteScore: z9.number(),
|
|
1763
|
+
comment: z9.string().nullable().default(null),
|
|
1764
|
+
updatedDate: z9.string().nullable(),
|
|
1765
|
+
user: z9.object({
|
|
1766
|
+
email: z9.string(),
|
|
1767
|
+
name: z9.string()
|
|
1768
|
+
})
|
|
1769
|
+
});
|
|
1749
1770
|
VulnerabilityReportIssueSharedStateZ = z9.object({
|
|
1750
1771
|
id: z9.string().uuid(),
|
|
1751
1772
|
createdAt: z9.string(),
|
|
@@ -1755,7 +1776,8 @@ var init_issue = __esm({
|
|
|
1755
1776
|
z9.object({
|
|
1756
1777
|
url: z9.string()
|
|
1757
1778
|
})
|
|
1758
|
-
)
|
|
1779
|
+
),
|
|
1780
|
+
issueRatings: z9.array(VulnerabilityReportIssueRatingZ).default([])
|
|
1759
1781
|
}).nullish();
|
|
1760
1782
|
BaseIssuePartsZ = z9.object({
|
|
1761
1783
|
id: z9.string().uuid(),
|
|
@@ -2756,7 +2778,7 @@ var init_env = __esm({
|
|
|
2756
2778
|
GITLAB_API_TOKEN: z15.string().optional(),
|
|
2757
2779
|
GITHUB_API_TOKEN: z15.string().optional(),
|
|
2758
2780
|
GIT_PROXY_HOST: z15.string().optional().default("http://tinyproxy:8888"),
|
|
2759
|
-
MAX_UPLOAD_FILE_SIZE_MB: z15.coerce.number().gt(0).default(
|
|
2781
|
+
MAX_UPLOAD_FILE_SIZE_MB: z15.coerce.number().gt(0).default(2),
|
|
2760
2782
|
GITHUB_API_CONCURRENCY: z15.coerce.number().gt(0).optional().default(10)
|
|
2761
2783
|
});
|
|
2762
2784
|
({
|
|
@@ -3621,7 +3643,13 @@ var init_FileUtils = __esm({
|
|
|
3621
3643
|
const results = [];
|
|
3622
3644
|
const filePromises = [];
|
|
3623
3645
|
for (const item of items) {
|
|
3624
|
-
const
|
|
3646
|
+
const safeInput = path.resolve(
|
|
3647
|
+
path.sep,
|
|
3648
|
+
path.normalize(
|
|
3649
|
+
String(dir || "").replace("\0", "").replace(/^(\.\.(\/|\\$))+/, "")
|
|
3650
|
+
)
|
|
3651
|
+
);
|
|
3652
|
+
const fullPath = path.join(safeInput, item);
|
|
3625
3653
|
try {
|
|
3626
3654
|
await fsPromises.access(fullPath, fs.constants.R_OK);
|
|
3627
3655
|
const stat5 = await fsPromises.stat(fullPath);
|
|
@@ -3659,7 +3687,9 @@ var init_FileUtils = __esm({
|
|
|
3659
3687
|
}) {
|
|
3660
3688
|
try {
|
|
3661
3689
|
const stats = fs.statSync(dir);
|
|
3662
|
-
if (!stats.isDirectory())
|
|
3690
|
+
if (!stats.isDirectory()) {
|
|
3691
|
+
return [];
|
|
3692
|
+
}
|
|
3663
3693
|
} catch {
|
|
3664
3694
|
return [];
|
|
3665
3695
|
}
|
|
@@ -3668,7 +3698,7 @@ var init_FileUtils = __esm({
|
|
|
3668
3698
|
const { GitService: GitService2 } = await Promise.resolve().then(() => (init_GitService(), GitService_exports));
|
|
3669
3699
|
const gitService = new GitService2(dir);
|
|
3670
3700
|
gitMatcher = await gitService.getGitignoreMatcher();
|
|
3671
|
-
} catch
|
|
3701
|
+
} catch {
|
|
3672
3702
|
}
|
|
3673
3703
|
const allFiles = await this.processRootDirectory(dir, EXCLUDED_DIRS);
|
|
3674
3704
|
const filteredFiles = allFiles.filter(
|
|
@@ -13309,7 +13339,8 @@ var GQLClient = class {
|
|
|
13309
13339
|
const getLastOrgRes = await this._clientSdk.getLastOrg({ email });
|
|
13310
13340
|
return {
|
|
13311
13341
|
organizationId: getLastOrgRes?.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization?.id,
|
|
13312
|
-
userName: getLastOrgRes?.user?.[0]?.name ?? ""
|
|
13342
|
+
userName: getLastOrgRes?.user?.[0]?.name ?? "",
|
|
13343
|
+
enableV2Fixes: getLastOrgRes?.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization?.enableV2Fixes === true
|
|
13313
13344
|
};
|
|
13314
13345
|
}
|
|
13315
13346
|
async createCliLogin(variables) {
|
|
@@ -13391,7 +13422,8 @@ var GQLClient = class {
|
|
|
13391
13422
|
}
|
|
13392
13423
|
return {
|
|
13393
13424
|
organizationId: organization.id,
|
|
13394
|
-
projectId
|
|
13425
|
+
projectId,
|
|
13426
|
+
enableV2Fixes: organization.enableV2Fixes === true
|
|
13395
13427
|
};
|
|
13396
13428
|
}
|
|
13397
13429
|
async getEncryptedApiToken(variables) {
|
|
@@ -15697,7 +15729,7 @@ function getManifestFilesSuffixes() {
|
|
|
15697
15729
|
}
|
|
15698
15730
|
async function pack(srcDirPath, vulnFiles, isIncludeAllFiles = false) {
|
|
15699
15731
|
debug18("pack folder %s", srcDirPath);
|
|
15700
|
-
let git
|
|
15732
|
+
let git;
|
|
15701
15733
|
try {
|
|
15702
15734
|
git = simpleGit3({
|
|
15703
15735
|
baseDir: srcDirPath,
|
|
@@ -15743,7 +15775,11 @@ async function pack(srcDirPath, vulnFiles, isIncludeAllFiles = false) {
|
|
|
15743
15775
|
}
|
|
15744
15776
|
}
|
|
15745
15777
|
if (fs9.lstatSync(absFilepath).size > MCP_MAX_FILE_SIZE) {
|
|
15746
|
-
debug18(
|
|
15778
|
+
debug18(
|
|
15779
|
+
"ignoring %s \u2014 file size exceeds MCP_MAX_FILE_SIZE (%d bytes)",
|
|
15780
|
+
filepath,
|
|
15781
|
+
MCP_MAX_FILE_SIZE
|
|
15782
|
+
);
|
|
15747
15783
|
continue;
|
|
15748
15784
|
}
|
|
15749
15785
|
let data;
|
|
@@ -16124,7 +16160,9 @@ async function getSnykReport(reportPath, repoRoot, { skipPrompts = false }) {
|
|
|
16124
16160
|
init_client_generates();
|
|
16125
16161
|
var { CliError: CliError2, Spinner: Spinner2 } = utils_exports;
|
|
16126
16162
|
function _getScanSource(command, ci) {
|
|
16127
|
-
if (command === "review")
|
|
16163
|
+
if (command === "review") {
|
|
16164
|
+
return "AUTO_FIXER" /* AutoFixer */;
|
|
16165
|
+
}
|
|
16128
16166
|
const envToCi = [
|
|
16129
16167
|
["GITLAB_CI", "CI_GITLAB" /* CiGitlab */],
|
|
16130
16168
|
["GITHUB_ACTIONS", "CI_GITHUB" /* CiGithub */],
|
|
@@ -16341,7 +16379,11 @@ async function _scan(params, { skipPrompts = false } = {}) {
|
|
|
16341
16379
|
if (!mobbProjectName) {
|
|
16342
16380
|
throw new Error("mobbProjectName is required");
|
|
16343
16381
|
}
|
|
16344
|
-
const {
|
|
16382
|
+
const {
|
|
16383
|
+
projectId,
|
|
16384
|
+
organizationId,
|
|
16385
|
+
enableV2Fixes: orgEnableV2Fixes
|
|
16386
|
+
} = await gqlClient.getLastOrgAndNamedProject({
|
|
16345
16387
|
projectName: mobbProjectName,
|
|
16346
16388
|
userDefinedOrganizationId: userOrganizationId
|
|
16347
16389
|
});
|
|
@@ -16591,7 +16633,7 @@ async function _scan(params, { skipPrompts = false } = {}) {
|
|
|
16591
16633
|
srcPath,
|
|
16592
16634
|
vulnFiles,
|
|
16593
16635
|
repoUploadInfo,
|
|
16594
|
-
isIncludeAllFiles:
|
|
16636
|
+
isIncludeAllFiles: orgEnableV2Fixes
|
|
16595
16637
|
});
|
|
16596
16638
|
gitInfo2 = res.gitInfo;
|
|
16597
16639
|
} else {
|
|
@@ -17804,16 +17846,23 @@ function groupSkills(files, root, baseDir) {
|
|
|
17804
17846
|
standalone.push(f);
|
|
17805
17847
|
} else {
|
|
17806
17848
|
const folderName = relFromSkills.slice(0, slashIdx);
|
|
17807
|
-
|
|
17808
|
-
|
|
17849
|
+
const folderKey = rel.slice(
|
|
17850
|
+
0,
|
|
17851
|
+
skillsIdx + skillsMarker.length + folderName.length
|
|
17852
|
+
);
|
|
17853
|
+
let bucket = folderMap.get(folderKey);
|
|
17854
|
+
if (!bucket) {
|
|
17855
|
+
bucket = { folderName, files: [] };
|
|
17856
|
+
folderMap.set(folderKey, bucket);
|
|
17809
17857
|
}
|
|
17810
|
-
|
|
17858
|
+
bucket.files.push(f);
|
|
17811
17859
|
}
|
|
17812
17860
|
}
|
|
17813
17861
|
const groups = [];
|
|
17814
17862
|
for (const f of standalone) {
|
|
17815
17863
|
const name = path14.basename(f.path, path14.extname(f.path));
|
|
17816
|
-
const
|
|
17864
|
+
const standaloneRel = path14.relative(baseDir, f.path).replace(/\\/g, "/");
|
|
17865
|
+
const sessionKey = `skill:${root}:${standaloneRel}`;
|
|
17817
17866
|
groups.push({
|
|
17818
17867
|
name,
|
|
17819
17868
|
root,
|
|
@@ -17824,17 +17873,10 @@ function groupSkills(files, root, baseDir) {
|
|
|
17824
17873
|
sessionKey
|
|
17825
17874
|
});
|
|
17826
17875
|
}
|
|
17827
|
-
for (const [folderName, folderFiles] of folderMap) {
|
|
17876
|
+
for (const [folderKey, { folderName, files: folderFiles }] of folderMap) {
|
|
17828
17877
|
const maxMtimeMs = Math.max(...folderFiles.map((f) => f.mtimeMs));
|
|
17829
|
-
const
|
|
17830
|
-
const
|
|
17831
|
-
const skillsIdx = rel.indexOf("skills/");
|
|
17832
|
-
const skillRelPath = rel.slice(
|
|
17833
|
-
0,
|
|
17834
|
-
skillsIdx + "skills/".length + folderName.length
|
|
17835
|
-
);
|
|
17836
|
-
const skillPath = path14.join(baseDir, skillRelPath);
|
|
17837
|
-
const sessionKey = `skill:${root}:${folderName}`;
|
|
17878
|
+
const skillPath = path14.join(baseDir, folderKey);
|
|
17879
|
+
const sessionKey = `skill:${root}:${folderKey}`;
|
|
17838
17880
|
groups.push({
|
|
17839
17881
|
name: folderName,
|
|
17840
17882
|
root,
|
|
@@ -19190,7 +19232,7 @@ function createLogger(config2) {
|
|
|
19190
19232
|
|
|
19191
19233
|
// src/features/claude_code/hook_logger.ts
|
|
19192
19234
|
var DD_RUM_TOKEN = true ? "pubf59c0182545bfb4c299175119f1abf9b" : "";
|
|
19193
|
-
var CLI_VERSION = true ? "1.4.
|
|
19235
|
+
var CLI_VERSION = true ? "1.4.10" : "unknown";
|
|
19194
19236
|
var NAMESPACE = "mobbdev-claude-code-hook-logs";
|
|
19195
19237
|
var claudeCodeVersion;
|
|
19196
19238
|
function buildDdTags() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mobbdev",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.10",
|
|
4
4
|
"description": "Automated secure code remediation tool",
|
|
5
5
|
"repository": "git+https://github.com/mobb-dev/bugsy.git",
|
|
6
6
|
"main": "dist/index.mjs",
|
|
@@ -59,8 +59,8 @@
|
|
|
59
59
|
"@octokit/core": "5.2.0",
|
|
60
60
|
"@octokit/request-error": "5.1.1",
|
|
61
61
|
"@openredaction/openredaction": "1.0.4",
|
|
62
|
-
"adm-zip": "0.5.
|
|
63
|
-
"axios": "1.
|
|
62
|
+
"adm-zip": "0.5.17",
|
|
63
|
+
"axios": "1.16.0",
|
|
64
64
|
"azure-devops-node-api": "15.1.2",
|
|
65
65
|
"bitbucket": "2.12.0",
|
|
66
66
|
"chalk": "5.6.2",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"https-proxy-agent": "7.0.6",
|
|
81
81
|
"ignore": "7.0.5",
|
|
82
82
|
"inquirer": "9.3.8",
|
|
83
|
-
"isomorphic-ws": "5.0.0",
|
|
84
83
|
"istextorbinary": "9.5.0",
|
|
84
|
+
"isomorphic-ws": "5.0.0",
|
|
85
85
|
"jsonc-parser": "3.3.1",
|
|
86
86
|
"libsodium-wrappers": "0.7.15",
|
|
87
87
|
"multimatch": "7.0.0",
|
|
@@ -96,13 +96,13 @@
|
|
|
96
96
|
"sax": "1.6.0",
|
|
97
97
|
"semver": "7.7.4",
|
|
98
98
|
"shell-quote": "1.8.3",
|
|
99
|
-
"simple-git": "3.
|
|
100
|
-
"snyk": "1.
|
|
99
|
+
"simple-git": "3.36.0",
|
|
100
|
+
"snyk": "1.1304.1",
|
|
101
101
|
"tar": "7.5.13",
|
|
102
102
|
"tmp": "0.2.5",
|
|
103
103
|
"tmp-promise": "3.0.3",
|
|
104
104
|
"undici": "6.24.0",
|
|
105
|
-
"uuid": "11.1.
|
|
105
|
+
"uuid": "11.1.1",
|
|
106
106
|
"ws": "8.20.0",
|
|
107
107
|
"xml2js": "0.6.2",
|
|
108
108
|
"yargs": "17.7.2",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"@graphql-codegen/typescript-operations": "4.6.1",
|
|
116
116
|
"@graphql-eslint/eslint-plugin": "4.4.0",
|
|
117
117
|
"@octokit/types": "13.10.0",
|
|
118
|
-
"@types/adm-zip": "0.5.
|
|
118
|
+
"@types/adm-zip": "0.5.8",
|
|
119
119
|
"@types/chalk-animation": "1.6.3",
|
|
120
120
|
"@types/configstore": "6.0.2",
|
|
121
121
|
"@types/debug": "4.1.13",
|
|
@@ -141,8 +141,8 @@
|
|
|
141
141
|
"eslint-plugin-prettier": "5.5.5",
|
|
142
142
|
"eslint-plugin-simple-import-sort": "12.1.1",
|
|
143
143
|
"msw": "2.10.5",
|
|
144
|
-
"nock": "14.0.
|
|
145
|
-
"prettier": "3.8.
|
|
144
|
+
"nock": "14.0.14",
|
|
145
|
+
"prettier": "3.8.3",
|
|
146
146
|
"tsup": "8.5.1",
|
|
147
147
|
"typescript": "5.9.3",
|
|
148
148
|
"vitest": "3.2.4"
|