mobbdev 1.4.41 → 1.4.43

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.mjs CHANGED
@@ -1350,7 +1350,7 @@ var init_getIssueType = __esm({
1350
1350
  ["Unfixable" /* Unfixable */]: "Unfixable",
1351
1351
  ["Unsupported" /* Unsupported */]: "Unsupported"
1352
1352
  };
1353
- statusZ = z.nativeEnum(Vulnerability_Report_Issue_State_Enum);
1353
+ statusZ = z.enum(Vulnerability_Report_Issue_State_Enum);
1354
1354
  issueDescription = {
1355
1355
  ["AUTOGENERATED_CODE" /* AutogeneratedCode */]: "The flagged code is generated automatically by tools or frameworks as part of the build or runtime process. This categorization highlights that **the issue resides in non-manual code**, which often requires tool-specific solutions or exemptions.",
1356
1356
  ["AUXILIARY_CODE" /* AuxiliaryCode */]: "The flagged code is auxiliary or supporting code, such as configuration files, build scripts, or other non-application logic. This categorization indicates that the issue is not directly related to the application's core functionality.",
@@ -1371,7 +1371,7 @@ var init_shared = __esm({
1371
1371
  "src/features/analysis/scm/shared/src/types/shared.ts"() {
1372
1372
  "use strict";
1373
1373
  init_client_generates();
1374
- ParsedSeverityZ = z2.nativeEnum(Vulnerability_Severity_Enum).nullish().transform((i) => i ?? "low" /* Low */);
1374
+ ParsedSeverityZ = z2.enum(Vulnerability_Severity_Enum).nullish().transform((i) => i ?? "low" /* Low */);
1375
1375
  ScmSubmitFixRequestsZ = z2.array(
1376
1376
  z2.object({
1377
1377
  scmSubmitFixRequest: z2.object({
@@ -1382,7 +1382,7 @@ var init_shared = __esm({
1382
1382
  targetBranchName: z2.string().default("")
1383
1383
  }),
1384
1384
  prUrl: z2.string().nullable(),
1385
- prStatus: z2.nativeEnum(Pr_Status_Enum).nullable(),
1385
+ prStatus: z2.enum(Pr_Status_Enum).nullable(),
1386
1386
  commitUrl: z2.string().nullable(),
1387
1387
  scmId: z2.string()
1388
1388
  })
@@ -1405,8 +1405,8 @@ var init_fix = __esm({
1405
1405
  envName: z3.string().nullable()
1406
1406
  });
1407
1407
  ManifestActionRequiredZ = z3.object({
1408
- action: z3.nativeEnum(ManifestAction),
1409
- language: z3.nativeEnum(Language),
1408
+ action: z3.enum(ManifestAction),
1409
+ language: z3.enum(Language),
1410
1410
  lib: PackageInfoZ,
1411
1411
  typesLib: PackageInfoZ.nullable()
1412
1412
  });
@@ -1442,7 +1442,7 @@ var init_fix = __esm({
1442
1442
  index: z3.number(),
1443
1443
  defaultValue: z3.string(),
1444
1444
  value: z3.string().nullable(),
1445
- inputType: z3.nativeEnum(FixQuestionInputType),
1445
+ inputType: z3.enum(FixQuestionInputType),
1446
1446
  options: z3.array(z3.string()),
1447
1447
  // E-2015: analyzer-served question text. default('') so a query that
1448
1448
  // omits these still parses (-> ''), while the output type stays a required
@@ -1457,7 +1457,7 @@ var init_fix = __esm({
1457
1457
  });
1458
1458
  FixRatingZ = z3.object({
1459
1459
  voteScore: z3.number(),
1460
- fixRatingTag: z3.nativeEnum(Fix_Rating_Tag_Enum).nullable().default(null),
1460
+ fixRatingTag: z3.enum(Fix_Rating_Tag_Enum).nullable().default(null),
1461
1461
  comment: z3.string().nullable().default(null),
1462
1462
  updatedDate: z3.string().nullable(),
1463
1463
  user: z3.object({
@@ -1487,7 +1487,7 @@ var init_fix = __esm({
1487
1487
  issueRatings: z3.array(IssueRatingZ).default([])
1488
1488
  }).nullable();
1489
1489
  FixSharedStateZ = z3.object({
1490
- state: z3.nativeEnum(Fix_State_Enum),
1490
+ state: z3.enum(Fix_State_Enum),
1491
1491
  isArchived: z3.boolean(),
1492
1492
  scmSubmitFixRequests: ScmSubmitFixRequestsZ,
1493
1493
  fixRatings: z3.array(FixRatingZ).default([])
@@ -1501,14 +1501,14 @@ var init_fix = __esm({
1501
1501
  );
1502
1502
  FixQueryZ = z3.object({
1503
1503
  __typename: z3.literal("fix").optional(),
1504
- id: z3.string().uuid(),
1504
+ id: z3.guid(),
1505
1505
  sharedState: FixSharedStateZ,
1506
1506
  modifiedBy: z3.string().nullable(),
1507
1507
  gitBlameLogin: z3.string().nullable(),
1508
1508
  safeIssueLanguage: z3.string(),
1509
1509
  safeIssueType: z3.string(),
1510
1510
  confidence: z3.number(),
1511
- fixReportId: z3.string().uuid(),
1511
+ fixReportId: z3.guid(),
1512
1512
  isExpired: z3.boolean().default(false),
1513
1513
  fixFiles: z3.array(
1514
1514
  z3.object({
@@ -1516,23 +1516,23 @@ var init_fix = __esm({
1516
1516
  })
1517
1517
  ),
1518
1518
  numberOfVulnerabilityIssues: z3.number(),
1519
- severityText: z3.nativeEnum(Vulnerability_Severity_Enum),
1519
+ severityText: z3.enum(Vulnerability_Severity_Enum),
1520
1520
  vulnerabilityReportIssues: z3.array(
1521
1521
  z3.object({
1522
1522
  vendorIssueId: z3.string(),
1523
1523
  issueLanguage: z3.string(),
1524
1524
  parsedSeverity: ParsedSeverityZ,
1525
1525
  sharedState: z3.object({
1526
- id: z3.string().uuid(),
1526
+ id: z3.guid(),
1527
1527
  isArchived: z3.boolean(),
1528
- ticketIntegrationId: z3.string().uuid().nullable()
1528
+ ticketIntegrationId: z3.guid().nullable()
1529
1529
  }).nullable()
1530
1530
  })
1531
1531
  ),
1532
1532
  patchAndQuestions: PatchAndQuestionsZ,
1533
- effortToApplyFix: z3.nativeEnum(Effort_To_Apply_Fix_Enum).nullable()
1533
+ effortToApplyFix: z3.enum(Effort_To_Apply_Fix_Enum).nullable()
1534
1534
  });
1535
- FixPartsForFixScreenZ = FixQueryZ.merge(
1535
+ FixPartsForFixScreenZ = FixQueryZ.extend(
1536
1536
  z3.object({
1537
1537
  vulnerabilityReportIssues: z3.array(
1538
1538
  z3.object({
@@ -1542,7 +1542,7 @@ var init_fix = __esm({
1542
1542
  sharedState: IssueSharedStateZ
1543
1543
  })
1544
1544
  )
1545
- })
1545
+ }).shape
1546
1546
  );
1547
1547
  }
1548
1548
  });
@@ -1556,10 +1556,10 @@ var init_analysis = __esm({
1556
1556
  init_client_generates();
1557
1557
  init_client_generates();
1558
1558
  FixPageFixReportZ = z4.object({
1559
- id: z4.string().uuid(),
1559
+ id: z4.guid(),
1560
1560
  analysisUrl: z4.string(),
1561
1561
  createdOn: z4.string(),
1562
- state: z4.nativeEnum(Fix_Report_State_Enum),
1562
+ state: z4.enum(Fix_Report_State_Enum),
1563
1563
  repo: z4.object({
1564
1564
  name: z4.string().nullable(),
1565
1565
  originalUrl: z4.string(),
@@ -1576,12 +1576,12 @@ var init_analysis = __esm({
1576
1576
  }
1577
1577
  ),
1578
1578
  vulnerabilityReport: z4.object({
1579
- id: z4.string().uuid(),
1580
- vendor: z4.nativeEnum(Vulnerability_Report_Vendor_Enum),
1581
- computedVendor: z4.nativeEnum(Vulnerability_Report_Vendor_Enum),
1582
- projectId: z4.string().uuid(),
1579
+ id: z4.guid(),
1580
+ vendor: z4.enum(Vulnerability_Report_Vendor_Enum),
1581
+ computedVendor: z4.enum(Vulnerability_Report_Vendor_Enum),
1582
+ projectId: z4.guid(),
1583
1583
  project: z4.object({
1584
- organizationId: z4.string().uuid()
1584
+ organizationId: z4.guid()
1585
1585
  })
1586
1586
  })
1587
1587
  });
@@ -1609,10 +1609,10 @@ var init_issue = __esm({
1609
1609
  })
1610
1610
  });
1611
1611
  VulnerabilityReportIssueSharedStateZ = z5.object({
1612
- id: z5.string().uuid(),
1612
+ id: z5.guid(),
1613
1613
  createdAt: z5.string(),
1614
1614
  isArchived: z5.boolean(),
1615
- ticketIntegrationId: z5.string().uuid().nullable(),
1615
+ ticketIntegrationId: z5.guid().nullable(),
1616
1616
  ticketIntegrations: z5.array(
1617
1617
  z5.object({
1618
1618
  url: z5.string()
@@ -1621,12 +1621,12 @@ var init_issue = __esm({
1621
1621
  issueRatings: z5.array(VulnerabilityReportIssueRatingZ).default([])
1622
1622
  }).nullish();
1623
1623
  BaseIssuePartsZ = z5.object({
1624
- id: z5.string().uuid(),
1624
+ id: z5.guid(),
1625
1625
  safeIssueType: z5.string(),
1626
1626
  safeIssueLanguage: z5.string(),
1627
1627
  createdAt: z5.string(),
1628
1628
  parsedSeverity: ParsedSeverityZ,
1629
- category: z5.nativeEnum(Vulnerability_Report_Issue_Category_Enum),
1629
+ category: z5.enum(Vulnerability_Report_Issue_Category_Enum),
1630
1630
  extraData: z5.object({
1631
1631
  missing_files: z5.string().array().nullish(),
1632
1632
  error_files: z5.string().array().nullish(),
@@ -1634,7 +1634,7 @@ var init_issue = __esm({
1634
1634
  }),
1635
1635
  vulnerabilityReportIssueTags: z5.array(
1636
1636
  z5.object({
1637
- tag: z5.nativeEnum(Vulnerability_Report_Issue_Tag_Enum)
1637
+ tag: z5.enum(Vulnerability_Report_Issue_Tag_Enum)
1638
1638
  })
1639
1639
  ),
1640
1640
  codeNodes: z5.array(
@@ -1674,7 +1674,7 @@ var init_issue = __esm({
1674
1674
  })
1675
1675
  }).nullish(),
1676
1676
  sharedState: VulnerabilityReportIssueSharedStateZ,
1677
- unfixableId: z5.string().uuid().nullish()
1677
+ unfixableId: z5.guid().nullish()
1678
1678
  });
1679
1679
  FalsePositivePartsZ = z5.object({
1680
1680
  extraContext: z5.array(z5.object({ key: z5.string(), value: z5.string() })),
@@ -1684,20 +1684,20 @@ var init_issue = __esm({
1684
1684
  extraContext: z5.array(z5.object({ key: z5.string(), value: z5.string() })),
1685
1685
  fixDescription: z5.string()
1686
1686
  });
1687
- IssuePartsWithFixZ = BaseIssuePartsZ.merge(
1687
+ IssuePartsWithFixZ = BaseIssuePartsZ.extend(
1688
1688
  z5.object({
1689
1689
  category: z5.literal("Irrelevant" /* Irrelevant */),
1690
1690
  fix: FixPartsForFixScreenZ.nullish()
1691
- })
1691
+ }).shape
1692
1692
  );
1693
- IssuePartsFpZ = BaseIssuePartsZ.merge(
1693
+ IssuePartsFpZ = BaseIssuePartsZ.extend(
1694
1694
  z5.object({
1695
1695
  category: z5.literal("FalsePositive" /* FalsePositive */),
1696
- fpId: z5.string().uuid(),
1696
+ fpId: z5.guid(),
1697
1697
  getFalsePositive: FalsePositivePartsZ
1698
- })
1698
+ }).shape
1699
1699
  );
1700
- GeneralIssueZ = BaseIssuePartsZ.merge(
1700
+ GeneralIssueZ = BaseIssuePartsZ.extend(
1701
1701
  z5.object({
1702
1702
  category: z5.union([
1703
1703
  z5.literal("NoFix" /* NoFix */),
@@ -1707,7 +1707,7 @@ var init_issue = __esm({
1707
1707
  z5.literal("Pending" /* Pending */)
1708
1708
  ]),
1709
1709
  getUnfixable: UnfixablePartsZ.nullish()
1710
- })
1710
+ }).shape
1711
1711
  );
1712
1712
  IssuePartsZ = z5.union([
1713
1713
  IssuePartsFpZ,
@@ -1718,10 +1718,10 @@ var init_issue = __esm({
1718
1718
  currentIndex: z5.number(),
1719
1719
  totalIssues: z5.number(),
1720
1720
  nextIssue: z5.object({
1721
- id: z5.string().uuid()
1721
+ id: z5.guid()
1722
1722
  }).nullish(),
1723
1723
  prevIssue: z5.object({
1724
- id: z5.string().uuid()
1724
+ id: z5.guid()
1725
1725
  }).nullish()
1726
1726
  });
1727
1727
  GetIssueScreenDataZ = z5.object({
@@ -1805,29 +1805,29 @@ var init_types = __esm({
1805
1805
  init_issue();
1806
1806
  init_shared();
1807
1807
  OrganizationScreenQueryParamsZ = z7.object({
1808
- organizationId: z7.string().uuid()
1808
+ organizationId: z7.guid()
1809
1809
  });
1810
1810
  ProjectPageQueryParamsZ = z7.object({
1811
- organizationId: z7.string().uuid(),
1812
- projectId: z7.string().uuid()
1811
+ organizationId: z7.guid(),
1812
+ projectId: z7.guid()
1813
1813
  });
1814
1814
  AnalysisPageQueryParamsZ = ProjectPageQueryParamsZ.extend({
1815
- reportId: z7.string().uuid()
1815
+ reportId: z7.guid()
1816
1816
  });
1817
1817
  FixPageQueryParamsZ = AnalysisPageQueryParamsZ.extend({
1818
- fixId: z7.string().uuid()
1818
+ fixId: z7.guid()
1819
1819
  });
1820
1820
  IssuePageQueryParamsZ = AnalysisPageQueryParamsZ.extend({
1821
- issueId: z7.string().uuid()
1821
+ issueId: z7.guid()
1822
1822
  });
1823
1823
  CliLoginPageQueryParamsZ = z7.object({
1824
- loginId: z7.string().uuid()
1824
+ loginId: z7.guid()
1825
1825
  });
1826
1826
  AnalysisReportDigestedZ = z7.object({
1827
- id: z7.string().uuid(),
1828
- state: z7.nativeEnum(Fix_Report_State_Enum),
1827
+ id: z7.guid(),
1828
+ state: z7.enum(Fix_Report_State_Enum),
1829
1829
  vulnerabilityReport: z7.object({
1830
- reportSummaryUrl: z7.string().url().nullish(),
1830
+ reportSummaryUrl: z7.url().nullish(),
1831
1831
  scanDate: z7.string().nullable(),
1832
1832
  supported: z7.object({
1833
1833
  aggregate: z7.object({
@@ -1839,17 +1839,17 @@ var init_types = __esm({
1839
1839
  count: z7.number()
1840
1840
  })
1841
1841
  }),
1842
- vendor: z7.nativeEnum(Vulnerability_Report_Vendor_Enum),
1842
+ vendor: z7.enum(Vulnerability_Report_Vendor_Enum),
1843
1843
  project: z7.object({
1844
- organizationId: z7.string().uuid()
1844
+ organizationId: z7.guid()
1845
1845
  })
1846
1846
  })
1847
1847
  });
1848
1848
  IssueSharedStateZ2 = z7.object({
1849
- id: z7.string().uuid(),
1849
+ id: z7.guid(),
1850
1850
  createdAt: z7.string(),
1851
1851
  isArchived: z7.boolean(),
1852
- ticketIntegrationId: z7.string().uuid().nullable(),
1852
+ ticketIntegrationId: z7.guid().nullable(),
1853
1853
  ticketIntegrations: z7.array(
1854
1854
  z7.object({
1855
1855
  url: z7.string()
@@ -1858,7 +1858,7 @@ var init_types = __esm({
1858
1858
  }).nullable();
1859
1859
  ReportQueryResultZ = z7.object({
1860
1860
  fixReport_by_pk: z7.object({
1861
- id: z7.string().uuid(),
1861
+ id: z7.guid(),
1862
1862
  analysisUrl: z7.string(),
1863
1863
  fixesCommitted: z7.object({
1864
1864
  aggregate: z7.object({ count: z7.number() })
@@ -1877,19 +1877,19 @@ var init_types = __esm({
1877
1877
  vulnerabilitySeverities: z7.record(z7.string(), z7.number()).nullable(),
1878
1878
  createdOn: z7.string(),
1879
1879
  expirationOn: z7.string().nullable(),
1880
- state: z7.nativeEnum(Fix_Report_State_Enum),
1880
+ state: z7.enum(Fix_Report_State_Enum),
1881
1881
  failReason: z7.string().nullable(),
1882
1882
  candidateToRerun: z7.boolean(),
1883
1883
  fixes: z7.array(
1884
1884
  z7.object({
1885
- id: z7.string().uuid(),
1885
+ id: z7.guid(),
1886
1886
  safeIssueLanguage: z7.string(),
1887
1887
  safeIssueType: z7.string(),
1888
1888
  confidence: z7.number(),
1889
- effortToApplyFix: z7.nativeEnum(Effort_To_Apply_Fix_Enum).nullable(),
1889
+ effortToApplyFix: z7.enum(Effort_To_Apply_Fix_Enum).nullable(),
1890
1890
  modifiedBy: z7.string().nullable(),
1891
1891
  gitBlameLogin: z7.string().nullable(),
1892
- fixReportId: z7.string().uuid(),
1892
+ fixReportId: z7.guid(),
1893
1893
  filePaths: z7.array(
1894
1894
  z7.object({
1895
1895
  fileRepoRelativePath: z7.string()
@@ -1897,13 +1897,13 @@ var init_types = __esm({
1897
1897
  ),
1898
1898
  sharedState: FixSharedStateZ,
1899
1899
  numberOfVulnerabilityIssues: z7.number(),
1900
- severityText: z7.nativeEnum(Vulnerability_Severity_Enum),
1900
+ severityText: z7.enum(Vulnerability_Severity_Enum),
1901
1901
  vulnerabilityReportIssues: z7.array(
1902
1902
  z7.object({
1903
- id: z7.string().uuid(),
1903
+ id: z7.guid(),
1904
1904
  issueType: z7.string(),
1905
1905
  issueLanguage: z7.string(),
1906
- category: z7.nativeEnum(Vulnerability_Report_Issue_Category_Enum),
1906
+ category: z7.enum(Vulnerability_Report_Issue_Category_Enum),
1907
1907
  sharedState: IssueSharedStateZ2
1908
1908
  })
1909
1909
  )
@@ -1930,19 +1930,19 @@ var init_types = __esm({
1930
1930
  })
1931
1931
  }),
1932
1932
  vulnerabilityReport: z7.object({
1933
- id: z7.string().uuid(),
1934
- reportSummaryUrl: z7.string().url().nullish(),
1935
- computedVendor: z7.nativeEnum(Vulnerability_Report_Vendor_Enum).nullable(),
1936
- vendor: z7.nativeEnum(Vulnerability_Report_Vendor_Enum).nullable(),
1933
+ id: z7.guid(),
1934
+ reportSummaryUrl: z7.url().nullish(),
1935
+ computedVendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1936
+ vendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1937
1937
  issuesWithKnownLanguage: z7.number().nullable(),
1938
1938
  scanDate: z7.string().nullable(),
1939
- vendorReportId: z7.string().uuid().nullable(),
1940
- projectId: z7.string().uuid(),
1939
+ vendorReportId: z7.guid().nullable(),
1940
+ projectId: z7.guid(),
1941
1941
  project: z7.object({
1942
- organizationId: z7.string().uuid()
1942
+ organizationId: z7.guid()
1943
1943
  }),
1944
1944
  file: z7.object({
1945
- id: z7.string().uuid(),
1945
+ id: z7.guid(),
1946
1946
  path: z7.string()
1947
1947
  }).nullable(),
1948
1948
  pending: z7.object({
@@ -1986,7 +1986,7 @@ var init_types = __esm({
1986
1986
  })
1987
1987
  }),
1988
1988
  vulnerabilityReportIssues: z7.object({
1989
- id: z7.string().uuid(),
1989
+ id: z7.guid(),
1990
1990
  extraData: z7.object({
1991
1991
  missing_files: z7.string().array().nullish(),
1992
1992
  large_files: z7.string().array().nullish(),
@@ -1998,21 +1998,21 @@ var init_types = __esm({
1998
1998
  })
1999
1999
  });
2000
2000
  ReportFixesQueryFixZ = z7.object({
2001
- id: z7.string().uuid(),
2001
+ id: z7.guid(),
2002
2002
  sharedState: FixSharedStateZ,
2003
2003
  confidence: z7.number(),
2004
2004
  gitBlameLogin: z7.string().nullable(),
2005
- effortToApplyFix: z7.nativeEnum(Effort_To_Apply_Fix_Enum).nullable(),
2005
+ effortToApplyFix: z7.enum(Effort_To_Apply_Fix_Enum).nullable(),
2006
2006
  safeIssueLanguage: z7.string(),
2007
2007
  safeIssueType: z7.string(),
2008
- fixReportId: z7.string().uuid(),
2008
+ fixReportId: z7.guid(),
2009
2009
  filePaths: z7.array(
2010
2010
  z7.object({
2011
2011
  fileRepoRelativePath: z7.string()
2012
2012
  })
2013
2013
  ),
2014
2014
  numberOfVulnerabilityIssues: z7.number(),
2015
- severityText: z7.nativeEnum(Vulnerability_Severity_Enum),
2015
+ severityText: z7.enum(Vulnerability_Severity_Enum),
2016
2016
  vulnerabilityReportIssues: z7.array(
2017
2017
  z7.object({
2018
2018
  issueType: z7.string(),
@@ -2022,9 +2022,9 @@ var init_types = __esm({
2022
2022
  ).min(1)
2023
2023
  });
2024
2024
  BaseVulnerabilityReportIssueZ = z7.object({
2025
- id: z7.string().uuid(),
2025
+ id: z7.guid(),
2026
2026
  createdAt: z7.string(),
2027
- state: z7.nativeEnum(Vulnerability_Report_Issue_State_Enum),
2027
+ state: z7.enum(Vulnerability_Report_Issue_State_Enum),
2028
2028
  safeIssueType: z7.string(),
2029
2029
  safeIssueLanguage: z7.string(),
2030
2030
  extraData: z7.object({
@@ -2035,7 +2035,7 @@ var init_types = __esm({
2035
2035
  }),
2036
2036
  fix: ReportFixesQueryFixZ.nullable(),
2037
2037
  falsePositive: z7.object({
2038
- id: z7.string().uuid()
2038
+ id: z7.guid()
2039
2039
  }).nullable(),
2040
2040
  parsedSeverity: ParsedSeverityZ,
2041
2041
  severity: z7.string(),
@@ -2048,20 +2048,20 @@ var init_types = __esm({
2048
2048
  ),
2049
2049
  sharedState: VulnerabilityReportIssueSharedStateZ
2050
2050
  });
2051
- VulnerabilityReportIssueZ = BaseVulnerabilityReportIssueZ.merge(
2051
+ VulnerabilityReportIssueZ = BaseVulnerabilityReportIssueZ.extend(
2052
2052
  z7.object({
2053
2053
  codeNodes: z7.array(z7.object({ path: z7.string() }))
2054
- })
2054
+ }).shape
2055
2055
  );
2056
- VulnerabilityReportIssueWithCodeFilePathZ = BaseVulnerabilityReportIssueZ.merge(
2056
+ VulnerabilityReportIssueWithCodeFilePathZ = BaseVulnerabilityReportIssueZ.extend(
2057
2057
  z7.object({
2058
2058
  codeFilePath: z7.string().nullable()
2059
- })
2059
+ }).shape
2060
2060
  );
2061
2061
  GetReportIssuesQueryZ = z7.object({
2062
2062
  fixReport: z7.object({
2063
2063
  vulnerabilityReport: z7.object({
2064
- id: z7.string().uuid(),
2064
+ id: z7.guid(),
2065
2065
  lastIssueUpdatedAt: z7.string(),
2066
2066
  vulnerabilityReportIssues_aggregate: z7.object({
2067
2067
  aggregate: z7.object({ count: z7.number() })
@@ -2076,7 +2076,7 @@ var init_types = __esm({
2076
2076
  project_by_pk: z7.object({
2077
2077
  vulnerabilityReports: z7.array(
2078
2078
  z7.object({
2079
- fixReport: z7.object({ id: z7.string().uuid() }).nullable()
2079
+ fixReport: z7.object({ id: z7.guid() }).nullable()
2080
2080
  })
2081
2081
  )
2082
2082
  })
@@ -2086,8 +2086,8 @@ var init_types = __esm({
2086
2086
  fix_by_pk: FixPartsForFixScreenZ,
2087
2087
  fixesWithSameIssueType: z7.array(
2088
2088
  z7.object({
2089
- id: z7.string().uuid(),
2090
- sharedState: z7.object({ state: z7.nativeEnum(Fix_State_Enum) }).nullable().default({ state: "Ready" /* Ready */ })
2089
+ id: z7.guid(),
2090
+ sharedState: z7.object({ state: z7.enum(Fix_State_Enum) }).nullable().default({ state: "Ready" /* Ready */ })
2091
2091
  })
2092
2092
  ),
2093
2093
  relevantIssue: IssuePartsZ.nullish()
@@ -2124,8 +2124,8 @@ var init_types = __esm({
2124
2124
  }).nullish();
2125
2125
  GetFixReportStatsQueryZ = z7.object({
2126
2126
  fixReport_by_pk: z7.object({
2127
- id: z7.string().uuid(),
2128
- vulnerabilitySeverities: z7.record(z7.nativeEnum(Vulnerability_Severity_Enum), z7.number()).nullable(),
2127
+ id: z7.guid(),
2128
+ vulnerabilitySeverities: z7.partialRecord(z7.enum(Vulnerability_Severity_Enum), z7.number()).nullable(),
2129
2129
  vulnerabilityReportIrrelevantIssuesCount: z7.object({
2130
2130
  vulnerabilityReportIssues_aggregate: z7.object({
2131
2131
  aggregate: z7.object({ count: z7.number() })
@@ -2134,15 +2134,16 @@ var init_types = __esm({
2134
2134
  }).nullable()
2135
2135
  });
2136
2136
  ProjectVulnerabilityReport = z7.object({
2137
- id: z7.string().uuid(),
2137
+ id: z7.guid(),
2138
2138
  name: z7.string().nullable(),
2139
- vendor: z7.nativeEnum(Vulnerability_Report_Vendor_Enum).nullable(),
2140
- computedVendor: z7.nativeEnum(Vulnerability_Report_Vendor_Enum).nullable(),
2139
+ vendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
2140
+ computedVendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
2141
2141
  fixReport: z7.object({
2142
- id: z7.string().uuid(),
2142
+ id: z7.guid(),
2143
2143
  createdOn: z7.string(),
2144
2144
  issueTypes: z7.record(z7.string(), z7.number()).nullable(),
2145
- issueLanguages: z7.record(z7.nativeEnum(IssueLanguage_Enum), z7.number()).nullable(),
2145
+ // reports only contain the languages actually found in the repo
2146
+ issueLanguages: z7.partialRecord(z7.enum(IssueLanguage_Enum), z7.number()).nullable(),
2146
2147
  repo: z7.object({
2147
2148
  originalUrl: z7.string(),
2148
2149
  reference: z7.string(),
@@ -2157,7 +2158,7 @@ var init_types = __esm({
2157
2158
  createdByUser: z7.object({
2158
2159
  email: z7.string()
2159
2160
  }).nullable(),
2160
- state: z7.nativeEnum(Fix_Report_State_Enum),
2161
+ state: z7.enum(Fix_Report_State_Enum),
2161
2162
  expirationOn: z7.string()
2162
2163
  })
2163
2164
  });
@@ -2166,7 +2167,7 @@ var init_types = __esm({
2166
2167
  id: z7.string(),
2167
2168
  projects: z7.array(
2168
2169
  z7.object({
2169
- id: z7.string().uuid(),
2170
+ id: z7.guid(),
2170
2171
  name: z7.string(),
2171
2172
  numberOfUniqueRepos: z7.number()
2172
2173
  })
@@ -2175,16 +2176,16 @@ var init_types = __esm({
2175
2176
  });
2176
2177
  ProjectPageQueryResultZ = z7.object({
2177
2178
  name: z7.string(),
2178
- id: z7.string().uuid(),
2179
+ id: z7.guid(),
2179
2180
  isDefault: z7.boolean().default(false),
2180
- organizationId: z7.string().uuid(),
2181
+ organizationId: z7.guid(),
2181
2182
  vulnerabilityReports: z7.array(ProjectVulnerabilityReport),
2182
2183
  autoPrIncludeAiFixes: z7.preprocess(
2183
2184
  (val) => val === null || val === void 0 ? false : val,
2184
2185
  z7.boolean()
2185
2186
  ),
2186
2187
  projectIssueTypeSettings: z7.array(
2187
- IssueTypeSettingZ.merge(z7.object({ id: z7.string() }))
2188
+ IssueTypeSettingZ.extend(z7.object({ id: z7.string() }).shape)
2188
2189
  )
2189
2190
  });
2190
2191
  GetProjectMembersDataZ = z7.object({
@@ -2195,21 +2196,21 @@ var init_types = __esm({
2195
2196
  z7.object({
2196
2197
  projectToRole: z7.object({
2197
2198
  projectRole: z7.object({
2198
- type: z7.nativeEnum(Project_Role_Type_Enum)
2199
+ type: z7.enum(Project_Role_Type_Enum)
2199
2200
  })
2200
2201
  }),
2201
2202
  user: z7.object({
2202
- id: z7.string().uuid(),
2203
+ id: z7.guid(),
2203
2204
  picture: z7.string().nullable().optional(),
2204
2205
  name: z7.string().nullish(),
2205
- email: z7.string().email()
2206
+ email: z7.email()
2206
2207
  })
2207
2208
  })
2208
2209
  )
2209
2210
  })
2210
2211
  });
2211
2212
  RepoArgsZ = z7.object({
2212
- originalUrl: z7.string().url(),
2213
+ originalUrl: z7.url(),
2213
2214
  branch: z7.string(),
2214
2215
  commitSha: z7.string()
2215
2216
  });
@@ -2914,8 +2915,8 @@ var init_gitBlameTypes = __esm({
2914
2915
  userEmail: z14.string().optional()
2915
2916
  });
2916
2917
  VulnerabilityAttributionMessageZ = z14.object({
2917
- fixReportId: z14.string().uuid(),
2918
- vulnerabilityAttributionRequestId: z14.string().uuid(),
2918
+ fixReportId: z14.guid(),
2919
+ vulnerabilityAttributionRequestId: z14.guid(),
2919
2920
  userEmail: z14.string()
2920
2921
  });
2921
2922
  }
@@ -4256,6 +4257,12 @@ var contextLogger = {
4256
4257
  }
4257
4258
  };
4258
4259
 
4260
+ // src/features/analysis/scm/constants.ts
4261
+ var MOBB_ICON_IMG = "https://app.mobb.ai/gh-action/Logo_Rounded_Icon.svg";
4262
+ var MAX_BRANCHES_FETCH = 1e3;
4263
+ var MAX_ACTIVE_BRANCHES_SCAN = 250;
4264
+ var REPORT_DEFAULT_FILE_NAME = "report.json";
4265
+
4259
4266
  // src/features/analysis/scm/errors.ts
4260
4267
  var InvalidAccessTokenError = class extends Error {
4261
4268
  constructor(m, scmType) {
@@ -4541,7 +4548,7 @@ var scmTypeToScmLibScmType = {
4541
4548
  var GetReferenceResultZ = z9.object({
4542
4549
  date: z9.date().optional(),
4543
4550
  sha: z9.string(),
4544
- type: z9.nativeEnum(ReferenceType)
4551
+ type: z9.enum(ReferenceType)
4545
4552
  });
4546
4553
 
4547
4554
  // src/features/analysis/scm/utils/scm.ts
@@ -4688,7 +4695,7 @@ function shouldValidateUrl(repoUrl) {
4688
4695
  return repoUrl && isUrlHasPath(repoUrl);
4689
4696
  }
4690
4697
  function isBrokerUrl(url) {
4691
- return z10.string().uuid().safeParse(new URL(url).host).success;
4698
+ return z10.guid().safeParse(new URL(url).host).success;
4692
4699
  }
4693
4700
  function buildAuthorizedRepoUrl(args) {
4694
4701
  const { url, username, password } = args;
@@ -4724,7 +4731,7 @@ function getCloudScmLibTypeFromUrl(url) {
4724
4731
  return void 0;
4725
4732
  }
4726
4733
  function getScmLibTypeFromScmType(scmType) {
4727
- const parsedScmType = z10.nativeEnum(ScmType).parse(scmType);
4734
+ const parsedScmType = z10.enum(ScmType).parse(scmType);
4728
4735
  return scmTypeToScmLibScmType[parsedScmType];
4729
4736
  }
4730
4737
  function getScmConfig({
@@ -5378,19 +5385,7 @@ async function getAdoSdk(params) {
5378
5385
  const defaultBranch = repository.defaultBranch?.replace("refs/heads/", "");
5379
5386
  const byEmail = /* @__PURE__ */ new Map();
5380
5387
  const PAGE = 100;
5381
- let skip = 0;
5382
- while (true) {
5383
- const page = await git.getCommits(
5384
- repo,
5385
- {
5386
- fromDate: since,
5387
- itemVersion: defaultBranch ? { version: defaultBranch } : void 0,
5388
- $top: PAGE,
5389
- $skip: skip
5390
- },
5391
- projectName
5392
- );
5393
- if (!page || page.length === 0) break;
5388
+ const accumulate = (page) => {
5394
5389
  for (const c of page) {
5395
5390
  const email = c.author?.email;
5396
5391
  if (!email) continue;
@@ -5407,8 +5402,51 @@ async function getAdoSdk(params) {
5407
5402
  });
5408
5403
  }
5409
5404
  }
5410
- if (page.length < PAGE) break;
5411
- skip += PAGE;
5405
+ };
5406
+ const walk = async (branch) => {
5407
+ let skip = 0;
5408
+ let hasMore = true;
5409
+ while (hasMore) {
5410
+ const page = await git.getCommits(
5411
+ repo,
5412
+ {
5413
+ fromDate: since,
5414
+ itemVersion: branch ? { version: branch } : void 0,
5415
+ $top: PAGE,
5416
+ $skip: skip
5417
+ },
5418
+ projectName
5419
+ );
5420
+ const count = page?.length ?? 0;
5421
+ if (count > 0) {
5422
+ accumulate(page);
5423
+ }
5424
+ hasMore = count === PAGE;
5425
+ skip += PAGE;
5426
+ }
5427
+ };
5428
+ await walk(defaultBranch);
5429
+ try {
5430
+ const sinceMs = new Date(since).getTime();
5431
+ const branches = await git.getBranches(repo, projectName);
5432
+ const active = (branches ?? []).filter(
5433
+ (b) => !!b.name && b.name !== defaultBranch && !!b.commit?.committer?.date && b.commit.committer.date.getTime() >= sinceMs
5434
+ ).sort(
5435
+ (a, b) => (b.commit?.committer?.date?.getTime() ?? 0) - (a.commit?.committer?.date?.getTime() ?? 0)
5436
+ ).map((b) => b.name);
5437
+ if (active.length > MAX_ACTIVE_BRANCHES_SCAN) {
5438
+ console.warn(
5439
+ `[ADO] active-branch scan hit cap (${MAX_ACTIVE_BRANCHES_SCAN}) for ${repoUrl}; some branches skipped`
5440
+ );
5441
+ }
5442
+ for (const branch of active.slice(0, MAX_ACTIVE_BRANCHES_SCAN)) {
5443
+ await walk(branch);
5444
+ }
5445
+ } catch (err) {
5446
+ console.warn(
5447
+ `[ADO] all-branch author scan failed for ${repoUrl}; using default-branch count`,
5448
+ err instanceof Error ? err.message : String(err)
5449
+ );
5412
5450
  }
5413
5451
  return [...byEmail.values()];
5414
5452
  },
@@ -6443,7 +6481,7 @@ function getBitbucketSdk(params) {
6443
6481
  async getDownloadUrl({ url, sha }) {
6444
6482
  this.getReferenceData({ ref: sha, url });
6445
6483
  const repoRes = await this.getRepo({ repoUrl: url });
6446
- const parsedRepoUrl = z16.string().url().parse(repoRes.links?.html?.href);
6484
+ const parsedRepoUrl = z16.url().parse(repoRes.links?.html?.href);
6447
6485
  return `${parsedRepoUrl}/get/${sha}.zip`;
6448
6486
  },
6449
6487
  async getPullRequest(params2) {
@@ -6553,49 +6591,93 @@ function getBitbucketSdk(params) {
6553
6591
  async streamRecentCommitAuthors(params2) {
6554
6592
  const sinceMs = new Date(params2.since).getTime();
6555
6593
  const byKey = /* @__PURE__ */ new Map();
6556
- let page = 1;
6557
6594
  const HARD_PAGE_CEILING = 1e4;
6558
- while (page <= HARD_PAGE_CEILING) {
6559
- const res = await bitbucketClient.repositories.listCommits({
6560
- repo_slug: params2.repo_slug,
6561
- workspace: params2.workspace,
6562
- page: String(page),
6563
- pagelen: 100
6564
- });
6565
- const data = res.data;
6566
- const commits = data?.values ?? [];
6567
- if (commits.length === 0) break;
6568
- let sawInWindow = false;
6569
- for (const commit of commits) {
6570
- const record = commit;
6571
- const dateStr = record["date"];
6572
- if (dateStr && new Date(dateStr).getTime() < sinceMs) {
6573
- continue;
6595
+ const walkRef = async (include) => {
6596
+ let page = 1;
6597
+ while (page <= HARD_PAGE_CEILING) {
6598
+ const res = await bitbucketClient.repositories.listCommits({
6599
+ repo_slug: params2.repo_slug,
6600
+ workspace: params2.workspace,
6601
+ page: String(page),
6602
+ pagelen: 100,
6603
+ ...include ? { include } : {}
6604
+ });
6605
+ const data = res.data;
6606
+ const commits = data?.values ?? [];
6607
+ if (commits.length === 0) break;
6608
+ let sawInWindow = false;
6609
+ for (const commit of commits) {
6610
+ const record = commit;
6611
+ const dateStr = record["date"];
6612
+ if (dateStr && new Date(dateStr).getTime() < sinceMs) {
6613
+ continue;
6614
+ }
6615
+ sawInWindow = true;
6616
+ const author = record["author"];
6617
+ if (!author?.raw) continue;
6618
+ const match = author.raw.match(/^(.+?)\s*<([^>]+)>/);
6619
+ if (!match) continue;
6620
+ const [, name, email] = match;
6621
+ if (!email) continue;
6622
+ const externalId = author.user?.account_id ?? null;
6623
+ const date = dateStr ?? params2.since;
6624
+ const key = externalId ?? email.toLowerCase();
6625
+ const prev = byKey.get(key);
6626
+ if (!prev || new Date(date).getTime() > new Date(prev.date).getTime()) {
6627
+ byKey.set(key, {
6628
+ email: email.toLowerCase(),
6629
+ name: name.trim() || null,
6630
+ date,
6631
+ externalId,
6632
+ isBot: false
6633
+ });
6634
+ }
6574
6635
  }
6575
- sawInWindow = true;
6576
- const author = record["author"];
6577
- if (!author?.raw) continue;
6578
- const match = author.raw.match(/^(.+?)\s*<([^>]+)>/);
6579
- if (!match) continue;
6580
- const [, name, email] = match;
6581
- if (!email) continue;
6582
- const externalId = author.user?.account_id ?? null;
6583
- const date = dateStr ?? params2.since;
6584
- const key = externalId ?? email.toLowerCase();
6585
- const prev = byKey.get(key);
6586
- if (!prev || new Date(date).getTime() > new Date(prev.date).getTime()) {
6587
- byKey.set(key, {
6588
- email: email.toLowerCase(),
6589
- name: name.trim() || null,
6590
- date,
6591
- externalId,
6592
- isBot: false
6593
- });
6636
+ if (!sawInWindow) break;
6637
+ if (!data?.next) break;
6638
+ page++;
6639
+ }
6640
+ };
6641
+ await walkRef(void 0);
6642
+ try {
6643
+ const branches = [];
6644
+ let bpage = 1;
6645
+ let bdone = false;
6646
+ while (!bdone && branches.length < MAX_ACTIVE_BRANCHES_SCAN) {
6647
+ const branchRes = await bitbucketClient.refs.listBranches({
6648
+ repo_slug: params2.repo_slug,
6649
+ workspace: params2.workspace,
6650
+ pagelen: 100,
6651
+ page: String(bpage),
6652
+ sort: "-target.date"
6653
+ });
6654
+ const vals = branchRes.data.values ?? [];
6655
+ if (vals.length === 0) break;
6656
+ for (const b of vals) {
6657
+ const d = b.target?.date;
6658
+ if (!d || new Date(d).getTime() < sinceMs) {
6659
+ bdone = true;
6660
+ break;
6661
+ }
6662
+ if (b.name) branches.push(b.name);
6663
+ if (branches.length >= MAX_ACTIVE_BRANCHES_SCAN) break;
6594
6664
  }
6665
+ if (!branchRes.data.next) break;
6666
+ bpage++;
6595
6667
  }
6596
- if (!sawInWindow) break;
6597
- if (!data?.next) break;
6598
- page++;
6668
+ if (branches.length >= MAX_ACTIVE_BRANCHES_SCAN) {
6669
+ console.warn(
6670
+ `[Bitbucket] active-branch scan hit cap (${MAX_ACTIVE_BRANCHES_SCAN}) for ${params2.workspace}/${params2.repo_slug}; some branches skipped`
6671
+ );
6672
+ }
6673
+ for (const branch of branches) {
6674
+ await walkRef(branch);
6675
+ }
6676
+ } catch (err) {
6677
+ console.warn(
6678
+ `[Bitbucket] all-branch author scan failed for ${params2.workspace}/${params2.repo_slug}; using main-branch count`,
6679
+ err instanceof Error ? err.message : String(err)
6680
+ );
6599
6681
  }
6600
6682
  return [...byKey.values()];
6601
6683
  },
@@ -7088,11 +7170,6 @@ var BitbucketSCMLib = class extends SCMLib {
7088
7170
  }
7089
7171
  };
7090
7172
 
7091
- // src/features/analysis/scm/constants.ts
7092
- var MOBB_ICON_IMG = "https://app.mobb.ai/gh-action/Logo_Rounded_Icon.svg";
7093
- var MAX_BRANCHES_FETCH = 1e3;
7094
- var REPORT_DEFAULT_FILE_NAME = "report.json";
7095
-
7096
7173
  // src/features/analysis/scm/index.ts
7097
7174
  init_env();
7098
7175
 
@@ -7404,6 +7481,25 @@ async function executeBatchGraphQL(octokit, owner, repo, config2) {
7404
7481
  });
7405
7482
  return result;
7406
7483
  }
7484
+ var RECENT_BRANCHES_QUERY = `
7485
+ query ($owner: String!, $repo: String!, $cursor: String) {
7486
+ repository(owner: $owner, name: $repo) {
7487
+ defaultBranchRef { name }
7488
+ refs(
7489
+ refPrefix: "refs/heads/"
7490
+ first: 100
7491
+ after: $cursor
7492
+ orderBy: { field: TAG_COMMIT_DATE, direction: DESC }
7493
+ ) {
7494
+ pageInfo { hasNextPage endCursor }
7495
+ nodes {
7496
+ name
7497
+ target { ... on Commit { committedDate } }
7498
+ }
7499
+ }
7500
+ }
7501
+ }
7502
+ `;
7407
7503
  function getGithubSdk(params = {}) {
7408
7504
  const octokit = getOctoKit(params);
7409
7505
  async function openPrWithFiles(params2) {
@@ -7872,21 +7968,14 @@ function getGithubSdk(params = {}) {
7872
7968
  // commit volume, and the walk is uncapped so the 90-day count is exact even
7873
7969
  // for a repo with hundreds of thousands of commits.
7874
7970
  async streamRecentCommitAuthors(params2) {
7971
+ const { owner, repo, since } = params2;
7875
7972
  const byAuthor = /* @__PURE__ */ new Map();
7876
- for await (const { data } of octokit.paginate.iterator(
7877
- octokit.rest.repos.listCommits,
7878
- {
7879
- owner: params2.owner,
7880
- repo: params2.repo,
7881
- since: params2.since,
7882
- per_page: 100
7883
- }
7884
- )) {
7973
+ const accumulate = (data) => {
7885
7974
  for (const c of data) {
7886
7975
  const email = c.commit?.author?.email;
7887
7976
  if (!email) continue;
7888
7977
  const externalId = c.author?.id != null ? String(c.author.id) : null;
7889
- const date = c.commit?.committer?.date ?? c.commit?.author?.date ?? params2.since;
7978
+ const date = c.commit?.committer?.date ?? c.commit?.author?.date ?? since;
7890
7979
  const key = externalId ?? email.toLowerCase();
7891
7980
  const prev = byAuthor.get(key);
7892
7981
  if (!prev || new Date(date).getTime() > new Date(prev.date).getTime()) {
@@ -7899,6 +7988,64 @@ function getGithubSdk(params = {}) {
7899
7988
  });
7900
7989
  }
7901
7990
  }
7991
+ };
7992
+ const walkBranch = async (branch) => {
7993
+ for await (const { data } of octokit.paginate.iterator(
7994
+ octokit.rest.repos.listCommits,
7995
+ {
7996
+ owner,
7997
+ repo,
7998
+ since,
7999
+ per_page: 100,
8000
+ ...branch ? { sha: branch } : {}
8001
+ }
8002
+ )) {
8003
+ accumulate(data);
8004
+ }
8005
+ };
8006
+ await walkBranch(void 0);
8007
+ try {
8008
+ const sinceMs = new Date(since).getTime();
8009
+ const activeBranches = [];
8010
+ let cursor = null;
8011
+ let defaultBranch = null;
8012
+ let done = false;
8013
+ while (!done && activeBranches.length < MAX_ACTIVE_BRANCHES_SCAN) {
8014
+ const resp = await octokit.graphql(
8015
+ RECENT_BRANCHES_QUERY,
8016
+ { owner, repo, cursor }
8017
+ );
8018
+ defaultBranch = defaultBranch ?? resp.repository?.defaultBranchRef?.name ?? null;
8019
+ const refs = resp.repository?.refs;
8020
+ if (!refs) break;
8021
+ for (const node of refs.nodes) {
8022
+ const committedDate = node.target?.committedDate;
8023
+ if (committedDate && new Date(committedDate).getTime() < sinceMs) {
8024
+ done = true;
8025
+ break;
8026
+ }
8027
+ if (!committedDate) continue;
8028
+ if (node.name !== defaultBranch) {
8029
+ activeBranches.push(node.name);
8030
+ }
8031
+ if (activeBranches.length >= MAX_ACTIVE_BRANCHES_SCAN) break;
8032
+ }
8033
+ if (!refs.pageInfo.hasNextPage) break;
8034
+ cursor = refs.pageInfo.endCursor;
8035
+ }
8036
+ if (activeBranches.length >= MAX_ACTIVE_BRANCHES_SCAN) {
8037
+ console.warn(
8038
+ `[GitHub] active-branch scan hit cap (${MAX_ACTIVE_BRANCHES_SCAN}) for ${owner}/${repo}; some branches skipped`
8039
+ );
8040
+ }
8041
+ for (const branch of activeBranches) {
8042
+ await walkBranch(branch);
8043
+ }
8044
+ } catch (err) {
8045
+ console.warn(
8046
+ `[GitHub] all-branch author scan failed for ${owner}/${repo}; using default-branch count`,
8047
+ err instanceof Error ? err.message : String(err)
8048
+ );
7902
8049
  }
7903
8050
  return [...byAuthor.values()];
7904
8051
  },
@@ -8127,19 +8274,6 @@ function getGithubSdk(params = {}) {
8127
8274
  cache?.set(getProfileParams.username, data);
8128
8275
  return data;
8129
8276
  },
8130
- async getLatestRepoCommitByAuthor(params2) {
8131
- try {
8132
- const { data } = await octokit.rest.repos.listCommits({
8133
- owner: params2.owner,
8134
- repo: params2.repo,
8135
- author: params2.author,
8136
- per_page: 1
8137
- });
8138
- return data[0] ?? null;
8139
- } catch {
8140
- return null;
8141
- }
8142
- },
8143
8277
  async getAuthenticatedUser() {
8144
8278
  try {
8145
8279
  const { data } = await octokit.rest.users.getAuthenticated();
@@ -8157,49 +8291,6 @@ function getGithubSdk(params = {}) {
8157
8291
  } catch {
8158
8292
  return [];
8159
8293
  }
8160
- },
8161
- async getEmailFromPublicEvents(params2) {
8162
- try {
8163
- const { data: events } = await octokit.rest.activity.listPublicEventsForUser({
8164
- username: params2.username,
8165
- per_page: 30
8166
- });
8167
- let fallback = null;
8168
- for (const event of events) {
8169
- if (event.type !== "PushEvent") continue;
8170
- const payload = event.payload;
8171
- if (!payload.commits) continue;
8172
- for (const commit of payload.commits) {
8173
- const email = commit.author?.email;
8174
- if (!email) continue;
8175
- if (!email.includes("noreply")) return email;
8176
- if (!fallback) fallback = email;
8177
- }
8178
- }
8179
- return fallback;
8180
- } catch {
8181
- return null;
8182
- }
8183
- },
8184
- async getEmailFromCommitSearch(params2) {
8185
- try {
8186
- const { data } = await octokit.rest.search.commits({
8187
- q: `author:${params2.username}`,
8188
- sort: "author-date",
8189
- order: "desc",
8190
- per_page: 5
8191
- });
8192
- let fallback = null;
8193
- for (const item of data.items) {
8194
- const email = item.commit?.author?.email;
8195
- if (!email) continue;
8196
- if (!email.includes("noreply")) return email;
8197
- if (!fallback) fallback = email;
8198
- }
8199
- return fallback;
8200
- } catch {
8201
- return null;
8202
- }
8203
8294
  }
8204
8295
  };
8205
8296
  }
@@ -8411,24 +8502,18 @@ var GithubSCMLib = class extends SCMLib {
8411
8502
  const enriched = await Promise.all(
8412
8503
  collaborators.map(
8413
8504
  (c) => enrichLimit(async () => {
8414
- let profileEmail = c.email ?? null;
8505
+ let email = c.email ?? null;
8415
8506
  let displayName = c.login ?? null;
8416
- let emailSource = profileEmail ? "collaborator_api" : "none";
8417
- if (!profileEmail && authUser && authUserPrimaryEmail && c.id === authUser.id) {
8418
- profileEmail = authUserPrimaryEmail;
8419
- emailSource = "authenticated_user";
8507
+ if (!email && authUser && authUserPrimaryEmail && c.id === authUser.id) {
8508
+ email = authUserPrimaryEmail;
8420
8509
  }
8421
- const isRealEmail = (e) => e && !e.includes("noreply");
8422
- let noreplyFallback = null;
8423
- let noreplySource = "";
8424
8510
  if (c.login) {
8425
8511
  try {
8426
8512
  const profile = await this.githubSdk.getUserProfile({
8427
8513
  username: c.login
8428
8514
  });
8429
8515
  if (profile.email) {
8430
- profileEmail = profile.email;
8431
- emailSource = "user_profile";
8516
+ email = profile.email;
8432
8517
  }
8433
8518
  displayName = profile.name ?? displayName;
8434
8519
  } catch (err) {
@@ -8437,112 +8522,12 @@ var GithubSCMLib = class extends SCMLib {
8437
8522
  error: err instanceof Error ? err.message : String(err)
8438
8523
  });
8439
8524
  }
8440
- if (!isRealEmail(profileEmail)) {
8441
- if (profileEmail && !noreplyFallback) {
8442
- noreplyFallback = profileEmail;
8443
- noreplySource = emailSource;
8444
- }
8445
- try {
8446
- const commit = await this.githubSdk.getLatestRepoCommitByAuthor(
8447
- {
8448
- owner,
8449
- repo,
8450
- author: c.login
8451
- }
8452
- );
8453
- const commitAuthor = commit?.commit?.author;
8454
- const commitEmail = commitAuthor?.email;
8455
- if (commitAuthor?.name && displayName === c.login) {
8456
- displayName = commitAuthor.name;
8457
- }
8458
- if (commitEmail) {
8459
- if (isRealEmail(commitEmail)) {
8460
- profileEmail = commitEmail;
8461
- emailSource = "commit_author";
8462
- } else if (!noreplyFallback) {
8463
- noreplyFallback = commitEmail;
8464
- noreplySource = "commit_noreply";
8465
- }
8466
- }
8467
- } catch (err) {
8468
- contextLogger.warn(
8469
- "[GitHub] getLatestRepoCommitByAuthor failed",
8470
- {
8471
- username: c.login,
8472
- owner,
8473
- repo,
8474
- error: err instanceof Error ? err.message : String(err)
8475
- }
8476
- );
8477
- }
8478
- }
8479
- if (!isRealEmail(profileEmail)) {
8480
- try {
8481
- const eventEmail = await this.githubSdk.getEmailFromPublicEvents({
8482
- username: c.login
8483
- });
8484
- if (eventEmail) {
8485
- if (isRealEmail(eventEmail)) {
8486
- profileEmail = eventEmail;
8487
- emailSource = "public_events";
8488
- } else if (!noreplyFallback) {
8489
- noreplyFallback = eventEmail;
8490
- noreplySource = "events_noreply";
8491
- }
8492
- }
8493
- } catch (err) {
8494
- contextLogger.warn("[GitHub] getEmailFromPublicEvents failed", {
8495
- username: c.login,
8496
- error: err instanceof Error ? err.message : String(err)
8497
- });
8498
- }
8499
- }
8500
- if (!isRealEmail(profileEmail)) {
8501
- try {
8502
- const searchEmail = await this.githubSdk.getEmailFromCommitSearch({
8503
- username: c.login
8504
- });
8505
- if (searchEmail) {
8506
- if (isRealEmail(searchEmail)) {
8507
- profileEmail = searchEmail;
8508
- emailSource = "commit_search";
8509
- } else if (!noreplyFallback) {
8510
- noreplyFallback = searchEmail;
8511
- noreplySource = "search_noreply";
8512
- }
8513
- }
8514
- } catch (err) {
8515
- contextLogger.warn("[GitHub] getEmailFromCommitSearch failed", {
8516
- username: c.login,
8517
- error: err instanceof Error ? err.message : String(err)
8518
- });
8519
- }
8520
- }
8521
- if (!isRealEmail(profileEmail) && noreplyFallback) {
8522
- profileEmail = noreplyFallback;
8523
- emailSource = noreplySource;
8524
- }
8525
- }
8526
- if (profileEmail) {
8527
- contextLogger.info("[GitHub] Resolved contributor email", {
8528
- username: c.login,
8529
- emailSource
8530
- });
8531
- } else {
8532
- contextLogger.debug("[GitHub] No email resolved for contributor", {
8533
- username: c.login
8534
- });
8535
8525
  }
8536
- contextLogger.info("[GitHub] Contributor resolved", {
8537
- username: c.login,
8538
- profileName: displayName,
8539
- displayNameIsNull: displayName === null
8540
- });
8541
8526
  return {
8542
8527
  externalId: String(c.id),
8543
8528
  username: c.login ?? null,
8544
8529
  displayName,
8545
- email: profileEmail,
8530
+ email,
8546
8531
  accessLevel: c.role_name ?? null
8547
8532
  };
8548
8533
  })
@@ -9587,6 +9572,7 @@ async function getGitlabRecentCommitAuthors({
9587
9572
  while (hasMore) {
9588
9573
  const response = await api2.Commits.all(projectPath, {
9589
9574
  since,
9575
+ all: true,
9590
9576
  perPage,
9591
9577
  page,
9592
9578
  showExpanded: true
@@ -9752,19 +9738,6 @@ async function listGitlabProjectMembers({
9752
9738
  }
9753
9739
  return projectMembers;
9754
9740
  }
9755
- async function getGitlabUserPublicEmail({
9756
- repoUrl,
9757
- accessToken,
9758
- userId
9759
- }) {
9760
- try {
9761
- const api2 = getGitBeaker({ url: repoUrl, gitlabAuthToken: accessToken });
9762
- const user = await api2.Users.show(userId);
9763
- return user["public_email"];
9764
- } catch {
9765
- return null;
9766
- }
9767
- }
9768
9741
  async function listGitlabRepoContributors({
9769
9742
  repoUrl,
9770
9743
  accessToken
@@ -9796,7 +9769,6 @@ async function getGitlabAuthenticatedUser({
9796
9769
  }
9797
9770
 
9798
9771
  // src/features/analysis/scm/gitlab/GitlabSCMLib.ts
9799
- import pLimit5 from "p-limit";
9800
9772
  init_client_generates();
9801
9773
  var GitlabSCMLib = class extends SCMLib {
9802
9774
  constructor(url, accessToken, scmOrg) {
@@ -10197,65 +10169,27 @@ var GitlabSCMLib = class extends SCMLib {
10197
10169
  memberCount: members.length,
10198
10170
  repoContributorCount: repoContributors.length
10199
10171
  });
10200
- const enrichLimit = pLimit5(5);
10201
- const enriched = await Promise.all(
10202
- members.map(
10203
- (m) => enrichLimit(async () => {
10204
- let email = null;
10205
- let emailSource = "none";
10206
- if (authUser?.email && authUser.id === m.id) {
10207
- email = authUser.email;
10208
- emailSource = "authenticated_user";
10209
- }
10210
- if (!email) {
10211
- try {
10212
- email = await getGitlabUserPublicEmail({
10213
- repoUrl: this.url,
10214
- accessToken: this.accessToken,
10215
- userId: m.id
10216
- });
10217
- if (email) emailSource = "public_email";
10218
- } catch (err) {
10219
- contextLogger.warn("[GitLab] getGitlabUserPublicEmail failed", {
10220
- username: m.username,
10221
- userId: m.id,
10222
- error: err instanceof Error ? err.message : String(err)
10223
- });
10224
- }
10225
- }
10226
- if (!email && m.username) {
10227
- const match = repoContributors.find(
10228
- (rc) => rc.name?.toLowerCase() === m.username?.toLowerCase() || rc.name?.toLowerCase() === m.name?.toLowerCase()
10229
- );
10230
- if (match?.email) {
10231
- email = match.email;
10232
- emailSource = match.email.includes("noreply") ? "commit_noreply" : "commit_author";
10233
- } else {
10234
- contextLogger.debug(
10235
- "[GitLab] No commit author match for member",
10236
- {
10237
- username: m.username,
10238
- displayName: m.name
10239
- }
10240
- );
10241
- }
10242
- }
10243
- if (email) {
10244
- contextLogger.info("[GitLab] Resolved contributor email", {
10245
- username: m.username,
10246
- emailSource
10247
- });
10248
- }
10249
- return {
10250
- externalId: String(m.id),
10251
- username: m.username ?? null,
10252
- displayName: m.name ?? null,
10253
- email,
10254
- accessLevel: m.access_level != null ? String(m.access_level) : null
10255
- };
10256
- })
10257
- )
10258
- );
10172
+ const enriched = members.map((m) => {
10173
+ let email = null;
10174
+ if (authUser?.email && authUser.id === m.id) {
10175
+ email = authUser.email;
10176
+ }
10177
+ if (!email && m.username) {
10178
+ const match = repoContributors.find(
10179
+ (rc) => rc.name?.toLowerCase() === m.username?.toLowerCase() || rc.name?.toLowerCase() === m.name?.toLowerCase()
10180
+ );
10181
+ if (match?.email) {
10182
+ email = match.email;
10183
+ }
10184
+ }
10185
+ return {
10186
+ externalId: String(m.id),
10187
+ username: m.username ?? null,
10188
+ displayName: m.name ?? null,
10189
+ email,
10190
+ accessLevel: m.access_level != null ? String(m.access_level) : null
10191
+ };
10192
+ });
10259
10193
  if (enriched.length === 0 && repoContributors.length > 0) {
10260
10194
  return repoContributors.filter((rc) => rc.email || rc.name).map((rc) => ({
10261
10195
  // Synthetic key namespaced away from real numeric member ids so a
@@ -10434,7 +10368,7 @@ async function createScmLib({ url, accessToken, scmType, scmOrg }, {
10434
10368
  if (e instanceof InvalidRepoUrlError && url) {
10435
10369
  throw new RepoNoTokenAccessError(
10436
10370
  "no access to repo",
10437
- scmLibScmTypeToScmType[z20.nativeEnum(ScmLibScmType).parse(scmType)]
10371
+ scmLibScmTypeToScmType[z20.enum(ScmLibScmType).parse(scmType)]
10438
10372
  );
10439
10373
  }
10440
10374
  console.error(`error validating scm: ${scmType} `, e);
@@ -11640,11 +11574,11 @@ var VulnerabilityReportIssueCodeNodeZ = z22.object({
11640
11574
  startLine: z22.number(),
11641
11575
  vulnerabilityReportIssue: z22.object({
11642
11576
  fixId: z22.string(),
11643
- category: z22.nativeEnum(Vulnerability_Report_Issue_Category_Enum),
11577
+ category: z22.enum(Vulnerability_Report_Issue_Category_Enum),
11644
11578
  safeIssueType: z22.string(),
11645
11579
  vulnerabilityReportIssueTags: z22.array(
11646
11580
  z22.object({
11647
- tag: z22.nativeEnum(Vulnerability_Report_Issue_Tag_Enum)
11581
+ tag: z22.enum(Vulnerability_Report_Issue_Tag_Enum)
11648
11582
  })
11649
11583
  )
11650
11584
  })
@@ -11654,9 +11588,9 @@ var VulnerabilityReportIssueNoFixCodeNodeZ = z22.object({
11654
11588
  z22.object({
11655
11589
  id: z22.string(),
11656
11590
  fixId: z22.string().nullable(),
11657
- category: z22.nativeEnum(Vulnerability_Report_Issue_Category_Enum),
11591
+ category: z22.enum(Vulnerability_Report_Issue_Category_Enum),
11658
11592
  safeIssueType: z22.string(),
11659
- fpId: z22.string().uuid().nullable(),
11593
+ fpId: z22.guid().nullable(),
11660
11594
  codeNodes: z22.array(
11661
11595
  z22.object({
11662
11596
  path: z22.string(),
@@ -11665,7 +11599,7 @@ var VulnerabilityReportIssueNoFixCodeNodeZ = z22.object({
11665
11599
  ),
11666
11600
  vulnerabilityReportIssueTags: z22.array(
11667
11601
  z22.object({
11668
- tag: z22.nativeEnum(Vulnerability_Report_Issue_Tag_Enum)
11602
+ tag: z22.enum(Vulnerability_Report_Issue_Tag_Enum)
11669
11603
  })
11670
11604
  )
11671
11605
  })
@@ -13859,8 +13793,8 @@ function buildFixCommentBody({
13859
13793
  const title = `# ${MobbIconMarkdown} ${issueType} fix is ready`;
13860
13794
  const validFixParseRes = z24.object({
13861
13795
  patchAndQuestions: PatchAndQuestionsZ,
13862
- safeIssueLanguage: z24.nativeEnum(IssueLanguage_Enum),
13863
- severityText: z24.nativeEnum(Vulnerability_Severity_Enum),
13796
+ safeIssueLanguage: z24.enum(IssueLanguage_Enum),
13797
+ severityText: z24.enum(Vulnerability_Severity_Enum),
13864
13798
  safeIssueType: SafeIssueTypeStringZ
13865
13799
  }).safeParse(fix);
13866
13800
  if (!validFixParseRes.success) {
@@ -15540,7 +15474,7 @@ async function waitForAnaysisAndReviewPr({
15540
15474
  polling
15541
15475
  }) {
15542
15476
  const params = z27.object({
15543
- repo: z27.string().url(),
15477
+ repo: z27.url(),
15544
15478
  githubActionToken: z27.string()
15545
15479
  }).parse({ repo, githubActionToken });
15546
15480
  const scm = await createScmLib(
@@ -15559,7 +15493,7 @@ async function waitForAnaysisAndReviewPr({
15559
15493
  analysisId: analysisId2,
15560
15494
  gqlClient,
15561
15495
  scm,
15562
- scanner: z27.nativeEnum(SCANNERS).parse(scanner)
15496
+ scanner: z27.enum(SCANNERS).parse(scanner)
15563
15497
  });
15564
15498
  };
15565
15499
  if (polling) {
@@ -15893,10 +15827,10 @@ Example:
15893
15827
  throw new CliError(formattedErrorMessage);
15894
15828
  }
15895
15829
  var UrlZ = z28.string({
15896
- invalid_type_error: `is not a valid ${Object.values(ScmType).join("/ ")} URL`
15830
+ error: (issue) => issue.code === "invalid_type" ? `is not a valid ${Object.values(ScmType).join("/ ")} URL` : void 0
15897
15831
  });
15898
15832
  function validateOrganizationId(organizationId) {
15899
- const orgIdValidation = z28.string().uuid().nullish().safeParse(organizationId);
15833
+ const orgIdValidation = z28.guid().nullish().safeParse(organizationId);
15900
15834
  if (!orgIdValidation.success) {
15901
15835
  throw new CliError(`organizationId: ${organizationId} is not a valid UUID`);
15902
15836
  }
@@ -16040,7 +15974,7 @@ import path15 from "path";
16040
15974
  import { createHash } from "crypto";
16041
15975
  import path13 from "path";
16042
15976
  import AdmZip3 from "adm-zip";
16043
- import pLimit6 from "p-limit";
15977
+ import pLimit5 from "p-limit";
16044
15978
  var SANITIZE_CONCURRENCY = 5;
16045
15979
  function md5Hex(data) {
16046
15980
  return createHash("md5").update(typeof data === "string" ? Buffer.from(data, "utf-8") : data).digest("hex");
@@ -16052,7 +15986,7 @@ async function sanitizeFileContent(content) {
16052
15986
  return sanitizedData;
16053
15987
  }
16054
15988
  async function processContextFiles(regularFiles, skillGroups) {
16055
- const limit = pLimit6(SANITIZE_CONCURRENCY);
15989
+ const limit = pLimit5(SANITIZE_CONCURRENCY);
16056
15990
  const processedFiles = await Promise.all(
16057
15991
  regularFiles.map(
16058
15992
  (entry) => limit(async () => {
@@ -17513,7 +17447,7 @@ import { promisify } from "util";
17513
17447
 
17514
17448
  // src/features/analysis/context_file_uploader.ts
17515
17449
  import { setTimeout as sleep3 } from "timers/promises";
17516
- import pLimit7 from "p-limit";
17450
+ import pLimit6 from "p-limit";
17517
17451
  init_client_generates();
17518
17452
  var UPLOAD_CONCURRENCY = 5;
17519
17453
  var UPLOAD_MAX_ATTEMPTS = 2;
@@ -17555,7 +17489,7 @@ async function uploadContextRecords(opts) {
17555
17489
  const uploadedSkillGroups = [];
17556
17490
  const failedFiles = [];
17557
17491
  const failedSkillGroups = [];
17558
- const limit = pLimit7(UPLOAD_CONCURRENCY);
17492
+ const limit = pLimit6(UPLOAD_CONCURRENCY);
17559
17493
  const extraFields = {
17560
17494
  ...repositoryUrl !== void 0 && { repositoryUrl },
17561
17495
  ...branch !== void 0 && { branch },
@@ -18043,7 +17977,7 @@ function createLogger(config2) {
18043
17977
 
18044
17978
  // src/features/claude_code/hook_logger.ts
18045
17979
  var DD_RUM_TOKEN = true ? "pubf59c0182545bfb4c299175119f1abf9b" : "";
18046
- var CLI_VERSION = true ? "1.4.41" : "unknown";
17980
+ var CLI_VERSION = true ? "1.4.43" : "unknown";
18047
17981
  var NAMESPACE = "mobbdev-claude-code-hook-logs";
18048
17982
  var claudeCodeVersion;
18049
17983
  function buildDdTags() {
@@ -19579,26 +19513,26 @@ var ScanAndFixVulnerabilitiesToolSchema = z29.object({
19579
19513
  path: z29.string()
19580
19514
  });
19581
19515
  var VulnerabilityReportIssueTagSchema = z29.object({
19582
- vulnerability_report_issue_tag_value: z29.nativeEnum(
19516
+ vulnerability_report_issue_tag_value: z29.enum(
19583
19517
  Vulnerability_Report_Issue_Tag_Enum
19584
19518
  )
19585
19519
  });
19586
19520
  var VulnerabilityReportIssueSchema = z29.object({
19587
19521
  category: z29.any().optional().nullable(),
19588
19522
  parsedIssueType: SafeIssueTypeStringZ.nullable().optional(),
19589
- parsedSeverity: z29.nativeEnum(Vulnerability_Severity_Enum).nullable().optional(),
19523
+ parsedSeverity: z29.enum(Vulnerability_Severity_Enum).nullable().optional(),
19590
19524
  vulnerabilityReportIssueTags: z29.array(VulnerabilityReportIssueTagSchema)
19591
19525
  });
19592
19526
  var SharedStateSchema = z29.object({
19593
19527
  __typename: z29.literal("fix_shared_state").optional(),
19594
- id: z29.any(),
19528
+ id: z29.any().optional(),
19595
19529
  // GraphQL uses `any` type for UUID
19596
19530
  downloadedBy: z29.array(z29.any().nullable()).optional().nullable()
19597
19531
  });
19598
19532
  var UnstructuredFixExtraContextSchema = z29.object({
19599
19533
  __typename: z29.literal("UnstructuredFixExtraContext").optional(),
19600
19534
  key: z29.string(),
19601
- value: z29.any()
19535
+ value: z29.any().optional()
19602
19536
  // GraphQL JSON type
19603
19537
  });
19604
19538
  var FixExtraContextResponseSchema = z29.object({
@@ -19612,7 +19546,7 @@ var FixQuestionSchema = z29.object({
19612
19546
  name: z29.string(),
19613
19547
  defaultValue: z29.string(),
19614
19548
  value: z29.string().nullable().optional(),
19615
- inputType: z29.nativeEnum(FixQuestionInputType),
19549
+ inputType: z29.enum(FixQuestionInputType),
19616
19550
  options: z29.array(z29.string()),
19617
19551
  index: z29.number(),
19618
19552
  // E-2015: analyzer-served question text. default('') so a query that omits it
@@ -19635,7 +19569,7 @@ var GetFixNoFixErrorSchema = z29.object({
19635
19569
  var PatchAndQuestionsSchema = z29.union([FixDataSchema, GetFixNoFixErrorSchema]);
19636
19570
  var McpFixSchema = z29.object({
19637
19571
  __typename: z29.literal("fix").optional(),
19638
- id: z29.any(),
19572
+ id: z29.any().optional(),
19639
19573
  // GraphQL uses `any` type for UUID
19640
19574
  confidence: z29.number(),
19641
19575
  safeIssueType: z29.string().nullable(),
@@ -19670,13 +19604,13 @@ var RepoSchema = z29.object({
19670
19604
  originalUrl: z29.string()
19671
19605
  });
19672
19606
  var ProjectSchema = z29.object({
19673
- id: z29.any(),
19607
+ id: z29.any().optional(),
19674
19608
  // GraphQL uses `any` type for UUID
19675
- organizationId: z29.any()
19609
+ organizationId: z29.any().optional()
19676
19610
  // GraphQL uses `any` type for UUID
19677
19611
  });
19678
19612
  var VulnerabilityReportSchema = z29.object({
19679
- scanDate: z29.any().nullable(),
19613
+ scanDate: z29.any().nullish(),
19680
19614
  // GraphQL uses `any` type for timestamp
19681
19615
  vendor: z29.string(),
19682
19616
  // GraphQL generates as string, not enum
@@ -19688,12 +19622,12 @@ var VulnerabilityReportSchema = z29.object({
19688
19622
  });
19689
19623
  var FixReportSummarySchema = z29.object({
19690
19624
  __typename: z29.literal("fixReport").optional(),
19691
- id: z29.any(),
19625
+ id: z29.any().optional(),
19692
19626
  // GraphQL uses `any` type for UUID
19693
- createdOn: z29.any(),
19627
+ createdOn: z29.any().optional(),
19694
19628
  // GraphQL uses `any` type for timestamp
19695
19629
  repo: RepoSchema.nullable(),
19696
- issueTypes: z29.any().nullable(),
19630
+ issueTypes: z29.any().nullish(),
19697
19631
  // GraphQL uses `any` type for JSON
19698
19632
  CRITICAL: FixAggregateSchema,
19699
19633
  HIGH: FixAggregateSchema,
@@ -19708,9 +19642,9 @@ var FixReportSummarySchema = z29.object({
19708
19642
  });
19709
19643
  var ExpiredReportSchema = z29.object({
19710
19644
  __typename: z29.literal("fixReport").optional(),
19711
- id: z29.any(),
19645
+ id: z29.any().optional(),
19712
19646
  // GraphQL uses `any` type for UUID
19713
- expirationOn: z29.any().nullable()
19647
+ expirationOn: z29.any().nullish()
19714
19648
  // GraphQL uses `any` type for timestamp
19715
19649
  });
19716
19650
  var GetLatestReportByRepoUrlResponseSchema = z29.object({
@@ -21559,9 +21493,10 @@ var BasePrompt = class {
21559
21493
  return this.argumentsValidationSchema.parse(argsToValidate);
21560
21494
  } catch (error) {
21561
21495
  if (error instanceof z30.ZodError) {
21562
- const errorDetails = error.errors.map((e) => {
21496
+ const errorDetails = error.issues.map((e) => {
21563
21497
  const fieldPath = e.path.length > 0 ? e.path.join(".") : "root";
21564
- const message = e.message === "Required" ? `Missing required argument '${fieldPath}'` : `Invalid value for '${fieldPath}': ${e.message}`;
21498
+ const isMissing = e.code === "invalid_type" && e.message.endsWith("received undefined");
21499
+ const message = isMissing ? `Missing required argument '${fieldPath}'` : `Invalid value for '${fieldPath}': ${e.message}`;
21565
21500
  return message;
21566
21501
  });
21567
21502
  const errorMessage3 = `Invalid arguments: ${errorDetails.join(", ")}`;
@@ -23309,9 +23244,10 @@ var BaseTool = class {
23309
23244
  return this.inputValidationSchema.parse(args);
23310
23245
  } catch (error) {
23311
23246
  if (error instanceof z36.ZodError) {
23312
- const errorDetails = error.errors.map((e) => {
23247
+ const errorDetails = error.issues.map((e) => {
23313
23248
  const fieldPath = e.path.length > 0 ? e.path.join(".") : "root";
23314
- const message = e.message === "Required" ? `Missing required parameter '${fieldPath}'` : `Invalid value for '${fieldPath}': ${e.message}`;
23249
+ const isMissing = e.code === "invalid_type" && e.message.endsWith("received undefined");
23250
+ const message = isMissing ? `Missing required parameter '${fieldPath}'` : `Invalid value for '${fieldPath}': ${e.message}`;
23315
23251
  return message;
23316
23252
  });
23317
23253
  const errorMessage3 = `Invalid arguments: ${errorDetails.join(", ")}`;