@socketsecurity/cli-with-sentry 1.0.65 → 1.0.67

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.
Files changed (138) hide show
  1. package/dist/cli.js +525 -347
  2. package/dist/cli.js.map +1 -1
  3. package/dist/constants.js +3 -3
  4. package/dist/constants.js.map +1 -1
  5. package/dist/shadow-npm-inject.js +6 -6
  6. package/dist/shadow-npm-inject.js.map +1 -1
  7. package/dist/types/commands/analytics/fetch-org-analytics.d.mts +6 -2
  8. package/dist/types/commands/analytics/fetch-org-analytics.d.mts.map +1 -1
  9. package/dist/types/commands/analytics/fetch-repo-analytics.d.mts +6 -2
  10. package/dist/types/commands/analytics/fetch-repo-analytics.d.mts.map +1 -1
  11. package/dist/types/commands/analytics/output-analytics.d.mts +4 -4
  12. package/dist/types/commands/analytics/output-analytics.d.mts.map +1 -1
  13. package/dist/types/commands/audit-log/fetch-audit-log.d.mts +10 -5
  14. package/dist/types/commands/audit-log/fetch-audit-log.d.mts.map +1 -1
  15. package/dist/types/commands/audit-log/handle-audit-log.d.mts +1 -1
  16. package/dist/types/commands/audit-log/handle-audit-log.d.mts.map +1 -1
  17. package/dist/types/commands/audit-log/output-audit-log.d.mts +6 -6
  18. package/dist/types/commands/audit-log/output-audit-log.d.mts.map +1 -1
  19. package/dist/types/commands/ci/fetch-default-org-slug.d.mts +1 -1
  20. package/dist/types/commands/ci/fetch-default-org-slug.d.mts.map +1 -1
  21. package/dist/types/commands/ci/handle-ci.d.mts +1 -1
  22. package/dist/types/commands/ci/handle-ci.d.mts.map +1 -1
  23. package/dist/types/commands/fix/cmd-fix.d.mts.map +1 -1
  24. package/dist/types/commands/fix/handle-fix.d.mts +2 -1
  25. package/dist/types/commands/fix/handle-fix.d.mts.map +1 -1
  26. package/dist/types/commands/login/attempt-login.d.mts.map +1 -1
  27. package/dist/types/commands/organization/fetch-dependencies.d.mts +8 -3
  28. package/dist/types/commands/organization/fetch-dependencies.d.mts.map +1 -1
  29. package/dist/types/commands/organization/fetch-license-policy.d.mts +6 -2
  30. package/dist/types/commands/organization/fetch-license-policy.d.mts.map +1 -1
  31. package/dist/types/commands/organization/fetch-organization-list.d.mts +6 -2
  32. package/dist/types/commands/organization/fetch-organization-list.d.mts.map +1 -1
  33. package/dist/types/commands/organization/fetch-quota.d.mts +6 -2
  34. package/dist/types/commands/organization/fetch-quota.d.mts.map +1 -1
  35. package/dist/types/commands/organization/fetch-security-policy.d.mts +6 -2
  36. package/dist/types/commands/organization/fetch-security-policy.d.mts.map +1 -1
  37. package/dist/types/commands/organization/output-dependencies.d.mts +2 -2
  38. package/dist/types/commands/organization/output-dependencies.d.mts.map +1 -1
  39. package/dist/types/commands/organization/output-license-policy.d.mts +2 -2
  40. package/dist/types/commands/organization/output-license-policy.d.mts.map +1 -1
  41. package/dist/types/commands/organization/output-organization-list.d.mts +2 -2
  42. package/dist/types/commands/organization/output-organization-list.d.mts.map +1 -1
  43. package/dist/types/commands/organization/output-quota.d.mts +2 -2
  44. package/dist/types/commands/organization/output-quota.d.mts.map +1 -1
  45. package/dist/types/commands/organization/output-security-policy.d.mts +2 -2
  46. package/dist/types/commands/organization/output-security-policy.d.mts.map +1 -1
  47. package/dist/types/commands/package/fetch-purls-shallow-score.d.mts +6 -2
  48. package/dist/types/commands/package/fetch-purls-shallow-score.d.mts.map +1 -1
  49. package/dist/types/commands/repository/fetch-create-repo.d.mts +11 -6
  50. package/dist/types/commands/repository/fetch-create-repo.d.mts.map +1 -1
  51. package/dist/types/commands/repository/fetch-delete-repo.d.mts +6 -2
  52. package/dist/types/commands/repository/fetch-delete-repo.d.mts.map +1 -1
  53. package/dist/types/commands/repository/fetch-list-all-repos.d.mts +8 -6
  54. package/dist/types/commands/repository/fetch-list-all-repos.d.mts.map +1 -1
  55. package/dist/types/commands/repository/fetch-list-repos.d.mts +9 -4
  56. package/dist/types/commands/repository/fetch-list-repos.d.mts.map +1 -1
  57. package/dist/types/commands/repository/fetch-update-repo.d.mts +11 -6
  58. package/dist/types/commands/repository/fetch-update-repo.d.mts.map +1 -1
  59. package/dist/types/commands/repository/fetch-view-repo.d.mts +6 -2
  60. package/dist/types/commands/repository/fetch-view-repo.d.mts.map +1 -1
  61. package/dist/types/commands/repository/handle-create-repo.d.mts +2 -2
  62. package/dist/types/commands/repository/handle-create-repo.d.mts.map +1 -1
  63. package/dist/types/commands/repository/handle-list-repos.d.mts +2 -2
  64. package/dist/types/commands/repository/handle-list-repos.d.mts.map +1 -1
  65. package/dist/types/commands/repository/handle-update-repo.d.mts +2 -2
  66. package/dist/types/commands/repository/handle-update-repo.d.mts.map +1 -1
  67. package/dist/types/commands/repository/output-create-repo.d.mts +2 -2
  68. package/dist/types/commands/repository/output-create-repo.d.mts.map +1 -1
  69. package/dist/types/commands/repository/output-delete-repo.d.mts +2 -2
  70. package/dist/types/commands/repository/output-delete-repo.d.mts.map +1 -1
  71. package/dist/types/commands/repository/output-list-repos.d.mts +2 -2
  72. package/dist/types/commands/repository/output-list-repos.d.mts.map +1 -1
  73. package/dist/types/commands/repository/output-update-repo.d.mts +2 -2
  74. package/dist/types/commands/repository/output-update-repo.d.mts.map +1 -1
  75. package/dist/types/commands/repository/output-view-repo.d.mts +2 -2
  76. package/dist/types/commands/repository/output-view-repo.d.mts.map +1 -1
  77. package/dist/types/commands/scan/create-scan-from-github.d.mts.map +1 -1
  78. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts +12 -3
  79. package/dist/types/commands/scan/fetch-create-org-full-scan.d.mts.map +1 -1
  80. package/dist/types/commands/scan/fetch-delete-org-full-scan.d.mts +6 -2
  81. package/dist/types/commands/scan/fetch-delete-org-full-scan.d.mts.map +1 -1
  82. package/dist/types/commands/scan/fetch-diff-scan.d.mts +2 -2
  83. package/dist/types/commands/scan/fetch-diff-scan.d.mts.map +1 -1
  84. package/dist/types/commands/scan/fetch-list-scans.d.mts +9 -4
  85. package/dist/types/commands/scan/fetch-list-scans.d.mts.map +1 -1
  86. package/dist/types/commands/scan/fetch-report-data.d.mts +8 -3
  87. package/dist/types/commands/scan/fetch-report-data.d.mts.map +1 -1
  88. package/dist/types/commands/scan/fetch-scan-metadata.d.mts +6 -2
  89. package/dist/types/commands/scan/fetch-scan-metadata.d.mts.map +1 -1
  90. package/dist/types/commands/scan/fetch-supported-scan-file-names.d.mts +6 -2
  91. package/dist/types/commands/scan/fetch-supported-scan-file-names.d.mts.map +1 -1
  92. package/dist/types/commands/scan/generate-report.d.mts +2 -2
  93. package/dist/types/commands/scan/generate-report.d.mts.map +1 -1
  94. package/dist/types/commands/scan/handle-create-new-scan.d.mts.map +1 -1
  95. package/dist/types/commands/scan/handle-list-scans.d.mts +2 -2
  96. package/dist/types/commands/scan/handle-list-scans.d.mts.map +1 -1
  97. package/dist/types/commands/scan/handle-scan-report.d.mts.map +1 -1
  98. package/dist/types/commands/scan/output-create-new-scan.d.mts +2 -2
  99. package/dist/types/commands/scan/output-create-new-scan.d.mts.map +1 -1
  100. package/dist/types/commands/scan/output-delete-scan.d.mts +2 -2
  101. package/dist/types/commands/scan/output-delete-scan.d.mts.map +1 -1
  102. package/dist/types/commands/scan/output-diff-scan.d.mts +2 -2
  103. package/dist/types/commands/scan/output-diff-scan.d.mts.map +1 -1
  104. package/dist/types/commands/scan/output-list-scans.d.mts +2 -2
  105. package/dist/types/commands/scan/output-list-scans.d.mts.map +1 -1
  106. package/dist/types/commands/scan/output-scan-metadata.d.mts +2 -2
  107. package/dist/types/commands/scan/output-scan-metadata.d.mts.map +1 -1
  108. package/dist/types/commands/scan/output-scan-report.d.mts +2 -2
  109. package/dist/types/commands/scan/output-scan-report.d.mts.map +1 -1
  110. package/dist/types/commands/scan/stream-scan.d.mts +6 -1
  111. package/dist/types/commands/scan/stream-scan.d.mts.map +1 -1
  112. package/dist/types/commands/scan/suggest-org-slug.d.mts.map +1 -1
  113. package/dist/types/commands/scan/suggest-repo-slug.d.mts +5 -1
  114. package/dist/types/commands/scan/suggest-repo-slug.d.mts.map +1 -1
  115. package/dist/types/utils/alert/severity.d.mts +2 -2
  116. package/dist/types/utils/alert/severity.d.mts.map +1 -1
  117. package/dist/types/utils/alerts-map.d.mts.map +1 -1
  118. package/dist/types/utils/api.d.mts +8 -3
  119. package/dist/types/utils/api.d.mts.map +1 -1
  120. package/dist/types/utils/coana.d.mts.map +1 -1
  121. package/dist/types/utils/glob.d.mts +4 -2
  122. package/dist/types/utils/glob.d.mts.map +1 -1
  123. package/dist/types/utils/path-resolve.d.mts +2 -2
  124. package/dist/types/utils/path-resolve.d.mts.map +1 -1
  125. package/dist/types/utils/sdk.d.mts +6 -1
  126. package/dist/types/utils/sdk.d.mts.map +1 -1
  127. package/dist/utils.js +208 -104
  128. package/dist/utils.js.map +1 -1
  129. package/dist/vendor.js +141 -61
  130. package/external/@socketsecurity/registry/external/@inquirer/select.js +14 -2
  131. package/external/@socketsecurity/registry/external/@npmcli/package-json/index.js +4 -4
  132. package/external/@socketsecurity/registry/external/libnpmpack.js +4 -4
  133. package/external/@socketsecurity/registry/external/npm-package-arg.js +4 -4
  134. package/external/@socketsecurity/registry/external/pacote.js +4 -4
  135. package/external/@socketsecurity/registry/external/validate-npm-package-name.js +4 -4
  136. package/external/@socketsecurity/registry/lib/regexps.js +1 -1
  137. package/external/@socketsecurity/registry/lib/spinner.js +15 -5
  138. package/package.json +12 -12
package/dist/cli.js CHANGED
@@ -23,29 +23,45 @@ var sorts = require('../external/@socketsecurity/registry/lib/sorts');
23
23
  var regexps = require('../external/@socketsecurity/registry/lib/regexps');
24
24
  var fs$2 = require('../external/@socketsecurity/registry/lib/fs');
25
25
  var shadowNpmInject = require('./shadow-npm-inject.js');
26
- var objects = require('../external/@socketsecurity/registry/lib/objects');
26
+ var require$$7 = require('../external/@socketsecurity/registry/lib/objects');
27
27
  var shadowNpmBin = require('./shadow-npm-bin.js');
28
- var require$$7 = require('../external/@socketsecurity/registry/lib/promises');
28
+ var require$$8 = require('../external/@socketsecurity/registry/lib/promises');
29
29
  var require$$1 = require('node:util');
30
30
  var os = require('node:os');
31
31
  var promises = require('node:stream/promises');
32
32
 
33
- async function fetchOrgAnalyticsData(time) {
34
- const sockSdkCResult = await utils.setupSdk();
33
+ async function fetchOrgAnalyticsData(time, options) {
34
+ const {
35
+ sdkOptions
36
+ } = {
37
+ __proto__: null,
38
+ ...options
39
+ };
40
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
35
41
  if (!sockSdkCResult.ok) {
36
42
  return sockSdkCResult;
37
43
  }
38
44
  const sockSdk = sockSdkCResult.data;
39
- return await utils.handleApiCall(sockSdk.getOrgAnalytics(time.toString()), 'analytics data');
45
+ return await utils.handleApiCall(sockSdk.getOrgAnalytics(time.toString()), {
46
+ desc: 'analytics data'
47
+ });
40
48
  }
41
49
 
42
- async function fetchRepoAnalyticsData(repo, time) {
43
- const sockSdkCResult = await utils.setupSdk();
50
+ async function fetchRepoAnalyticsData(repo, time, options) {
51
+ const {
52
+ sdkOptions
53
+ } = {
54
+ __proto__: null,
55
+ ...options
56
+ };
57
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
44
58
  if (!sockSdkCResult.ok) {
45
59
  return sockSdkCResult;
46
60
  }
47
61
  const sockSdk = sockSdkCResult.data;
48
- return await utils.handleApiCall(sockSdk.getRepoAnalytics(repo, time.toString()), 'analytics data');
62
+ return await utils.handleApiCall(sockSdk.getRepoAnalytics(repo, time.toString()), {
63
+ desc: 'analytics data'
64
+ });
49
65
  }
50
66
 
51
67
  // Note: Widgets does not seem to actually work as code :'(
@@ -446,18 +462,28 @@ async function run$P(argv, importMeta, {
446
462
  });
447
463
  }
448
464
 
449
- async function fetchAuditLog({
450
- logType,
451
- orgSlug,
452
- outputKind,
453
- page,
454
- perPage
455
- }) {
456
- const sockSdkCResult = await utils.setupSdk();
465
+ async function fetchAuditLog(config, options) {
466
+ const {
467
+ sdkOptions
468
+ } = {
469
+ __proto__: null,
470
+ ...options
471
+ };
472
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
457
473
  if (!sockSdkCResult.ok) {
458
474
  return sockSdkCResult;
459
475
  }
460
476
  const sockSdk = sockSdkCResult.data;
477
+ const {
478
+ logType,
479
+ orgSlug,
480
+ outputKind,
481
+ page,
482
+ perPage
483
+ } = {
484
+ __proto__: null,
485
+ ...config
486
+ };
461
487
  return await utils.handleApiCall(sockSdk.getAuditLogEvents(orgSlug, {
462
488
  // I'm not sure this is used at all.
463
489
  outputJson: String(outputKind === 'json'),
@@ -467,7 +493,9 @@ async function fetchAuditLog({
467
493
  type: logType,
468
494
  page: String(page),
469
495
  per_page: String(perPage)
470
- }), `audit log for ${orgSlug}`);
496
+ }), {
497
+ desc: `audit log for ${orgSlug}`
498
+ });
471
499
  }
472
500
 
473
501
  const require$4 = require$$5.createRequire(require('node:url').pathToFileURL(__filename).href);
@@ -538,10 +566,10 @@ async function outputAsJson(auditLogs, {
538
566
  desc: 'Audit logs for given query',
539
567
  // Lazily access constants.ENV.VITEST.
540
568
  generated: constants.ENV.VITEST ? REDACTED : new Date().toISOString(),
541
- org: orgSlug,
542
569
  logType,
543
- page,
544
570
  nextPage: auditLogs.data.nextPage,
571
+ org: orgSlug,
572
+ page,
545
573
  perPage,
546
574
  logs: auditLogs.data.results.map(log => {
547
575
  // Note: The subset is pretty arbitrary
@@ -708,11 +736,11 @@ async function handleAuditLog({
708
736
  perPage
709
737
  }) {
710
738
  const auditLogs = await fetchAuditLog({
739
+ logType,
711
740
  orgSlug,
712
741
  outputKind,
713
742
  page,
714
- perPage,
715
- logType
743
+ perPage
716
744
  });
717
745
  await outputAuditLog(auditLogs, {
718
746
  logType,
@@ -860,68 +888,34 @@ async function run$O(argv, importMeta, {
860
888
  });
861
889
  }
862
890
 
863
- // Use the config defaultOrg when set, otherwise discover from remote
864
- async function getDefaultOrgSlug() {
865
- const defaultOrgResult = utils.getConfigValueOrUndef('defaultOrg');
866
- if (defaultOrgResult) {
867
- debug.debugFn('notice', 'use: default org', defaultOrgResult);
868
- return {
869
- ok: true,
870
- data: defaultOrgResult
871
- };
872
- }
873
- const sockSdkCResult = await utils.setupSdk();
874
- if (!sockSdkCResult.ok) {
875
- return sockSdkCResult;
876
- }
877
- const sockSdk = sockSdkCResult.data;
878
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
879
- if (!result.ok) {
880
- return result;
881
- }
882
- const orgs = result.data.organizations;
883
- const keys = Object.keys(orgs);
884
- if (!keys[0]) {
885
- return {
886
- ok: false,
887
- message: 'Failed to establish identity',
888
- data: `API did not return any organization associated with the current API token. Unable to continue.`
889
- };
890
- }
891
- const slug = (keys[0] in orgs && orgs?.[keys[0]]?.name) ?? undefined;
892
- if (!slug) {
893
- return {
894
- ok: false,
895
- message: 'Failed to establish identity',
896
- data: `Was unable to determine the default organization for the current API token. Unable to continue.`
897
- };
898
- }
899
- debug.debugFn('notice', 'resolve: org', slug);
900
- return {
901
- ok: true,
902
- message: 'Retrieved default org from server',
903
- data: slug
891
+ async function fetchCreateOrgFullScan(packagePaths, orgSlug, config, options) {
892
+ const {
893
+ branchName,
894
+ commitHash,
895
+ commitMessage,
896
+ committers,
897
+ pullRequest,
898
+ repoName
899
+ } = {
900
+ __proto__: null,
901
+ ...config
904
902
  };
905
- }
906
-
907
- const {
908
- SOCKET_DEFAULT_REPOSITORY: SOCKET_DEFAULT_REPOSITORY$3
909
- } = constants;
910
- async function fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pendingHead, tmp, cwd, {
911
- branchName,
912
- commitHash,
913
- commitMessage,
914
- committers,
915
- pullRequest,
916
- repoName
917
- }) {
918
- const sockSdkCResult = await utils.setupSdk();
903
+ const {
904
+ cwd = process.cwd(),
905
+ defaultBranch,
906
+ pendingHead,
907
+ sdkOptions,
908
+ tmp
909
+ } = {
910
+ __proto__: null,
911
+ ...options
912
+ };
913
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
919
914
  if (!sockSdkCResult.ok) {
920
915
  return sockSdkCResult;
921
916
  }
922
917
  const sockSdk = sockSdkCResult.data;
923
- const repo = repoName || (await utils.getRepoName(cwd)) || SOCKET_DEFAULT_REPOSITORY$3;
924
- return await utils.handleApiCall(sockSdk.createOrgFullScan(orgSlug, {
918
+ return await utils.handleApiCall(sockSdk.createOrgFullScan(orgSlug, packagePaths, cwd, {
925
919
  ...(branchName ? {
926
920
  branch: branchName
927
921
  } : {}),
@@ -938,28 +932,44 @@ async function fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pend
938
932
  ...(pullRequest ? {
939
933
  pull_request: String(pullRequest)
940
934
  } : {}),
941
- // The repo is mandatory, this is server default for repo.
942
- repo,
935
+ repo: repoName,
943
936
  set_as_pending_head: String(pendingHead),
944
937
  tmp: String(tmp)
945
- }, packagePaths, cwd), 'to create a scan');
938
+ }), {
939
+ desc: 'to create a scan'
940
+ });
946
941
  }
947
942
 
948
- async function fetchSupportedScanFileNames() {
949
- const sockSdkCResult = await utils.setupSdk();
943
+ async function fetchSupportedScanFileNames(options) {
944
+ const {
945
+ sdkOptions
946
+ } = {
947
+ __proto__: null,
948
+ ...options
949
+ };
950
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
950
951
  if (!sockSdkCResult.ok) {
951
952
  return sockSdkCResult;
952
953
  }
953
954
  const sockSdk = sockSdkCResult.data;
954
- return await utils.handleApiCall(sockSdk.getReportSupportedFiles(), 'supported scan file types');
955
+ return await utils.handleApiCall(sockSdk.getSupportedScanFiles(), {
956
+ desc: 'supported scan file types'
957
+ });
955
958
  }
956
959
 
957
960
  /**
958
961
  * This fetches all the relevant pieces of data to generate a report, given a
959
962
  * full scan ID.
960
963
  */
961
- async function fetchReportData(orgSlug, scanId, includeLicensePolicy) {
962
- const sockSdkCResult = await utils.setupSdk();
964
+ async function fetchScanData(orgSlug, scanId, options) {
965
+ const {
966
+ includeLicensePolicy,
967
+ sdkOptions
968
+ } = {
969
+ __proto__: null,
970
+ ...options
971
+ };
972
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
963
973
  if (!sockSdkCResult.ok) {
964
974
  return sockSdkCResult;
965
975
  }
@@ -1438,8 +1448,10 @@ async function handleScanReport({
1438
1448
  scanId,
1439
1449
  short
1440
1450
  }) {
1441
- const result = await fetchReportData(orgSlug, scanId, includeLicensePolicy);
1442
- await outputScanReport(result, {
1451
+ const scanDataCResult = await fetchScanData(orgSlug, scanId, {
1452
+ includeLicensePolicy
1453
+ });
1454
+ await outputScanReport(scanDataCResult, {
1443
1455
  filePath,
1444
1456
  fold,
1445
1457
  scanId: scanId,
@@ -2036,13 +2048,18 @@ async function handleCreateNewScan({
2036
2048
  logger.logger.log('[ReadOnly] Bailing now');
2037
2049
  return;
2038
2050
  }
2039
- const fullScanCResult = await fetchCreateOrgFullScan(packagePaths, orgSlug, defaultBranch, pendingHead, tmp, cwd, {
2051
+ const fullScanCResult = await fetchCreateOrgFullScan(packagePaths, orgSlug, {
2040
2052
  commitHash,
2041
2053
  commitMessage,
2042
2054
  committers,
2043
2055
  pullRequest,
2044
2056
  repoName,
2045
2057
  branchName
2058
+ }, {
2059
+ cwd,
2060
+ defaultBranch,
2061
+ pendingHead,
2062
+ tmp
2046
2063
  });
2047
2064
  if (fullScanCResult.ok && report) {
2048
2065
  if (fullScanCResult.data?.id) {
@@ -2069,40 +2086,39 @@ async function handleCreateNewScan({
2069
2086
  }
2070
2087
  }
2071
2088
 
2072
- const {
2073
- SOCKET_DEFAULT_BRANCH: SOCKET_DEFAULT_BRANCH$2,
2074
- SOCKET_DEFAULT_REPOSITORY: SOCKET_DEFAULT_REPOSITORY$2
2075
- } = constants;
2076
- async function handleCI(autoManifest) {
2089
+ async function handleCi(autoManifest) {
2077
2090
  // ci: {
2078
2091
  // description: 'Alias for "report create --view --strict"',
2079
2092
  // argv: ['report', 'create', '--view', '--strict']
2080
2093
  // }
2081
- const result = await getDefaultOrgSlug();
2082
- if (!result.ok) {
2083
- process.exitCode = result.code ?? 1;
2094
+ const orgSlugCResult = await utils.getDefaultOrgSlug();
2095
+ if (!orgSlugCResult.ok) {
2096
+ process.exitCode = orgSlugCResult.code ?? 1;
2084
2097
  // Always assume json mode.
2085
- logger.logger.log(utils.serializeResultJson(result));
2098
+ logger.logger.log(utils.serializeResultJson(orgSlugCResult));
2086
2099
  return;
2087
2100
  }
2101
+ const orgSlug = orgSlugCResult.data;
2088
2102
  const cwd = process.cwd();
2089
-
2090
- // TODO: does it makes sense to use custom branch/repo names here? probably socket.yml, right
2103
+ // Lazily access constants.SOCKET_DEFAULT_BRANCH.
2104
+ const branchName = (await utils.gitBranch(cwd)) || constants.SOCKET_DEFAULT_BRANCH;
2105
+ // Lazily access constants.SOCKET_DEFAULT_REPOSITORY.
2106
+ const repoName = (await utils.getRepoName(cwd)) || constants.SOCKET_DEFAULT_REPOSITORY;
2091
2107
  await handleCreateNewScan({
2092
2108
  autoManifest,
2093
- branchName: (await utils.gitBranch(cwd)) || SOCKET_DEFAULT_BRANCH$2,
2109
+ branchName,
2094
2110
  commitMessage: '',
2095
2111
  commitHash: '',
2096
2112
  committers: '',
2097
- cwd: process.cwd(),
2113
+ cwd,
2098
2114
  defaultBranch: false,
2099
2115
  interactive: false,
2100
- orgSlug: result.data,
2116
+ orgSlug,
2101
2117
  outputKind: 'json',
2102
2118
  // When 'pendingHead' is true, it requires 'branchName' set and 'tmp' false.
2103
2119
  pendingHead: true,
2104
2120
  pullRequest: 0,
2105
- repoName: (await utils.getRepoName(cwd)) || SOCKET_DEFAULT_REPOSITORY$2,
2121
+ repoName,
2106
2122
  readOnly: false,
2107
2123
  report: true,
2108
2124
  targets: ['.'],
@@ -2168,7 +2184,7 @@ async function run$N(argv, importMeta, {
2168
2184
  logger.logger.log(DRY_RUN_BAILING_NOW$K);
2169
2185
  return;
2170
2186
  }
2171
- await handleCI(Boolean(cli.flags['autoManifest']));
2187
+ await handleCi(Boolean(cli.flags['autoManifest']));
2172
2188
  }
2173
2189
 
2174
2190
  async function discoverConfigValue(key) {
@@ -2275,43 +2291,35 @@ async function discoverConfigValue(key) {
2275
2291
  };
2276
2292
  }
2277
2293
  async function getDefaultOrgFromToken() {
2278
- const sockSdkCResult = await utils.setupSdk();
2279
- if (!sockSdkCResult.ok) {
2294
+ const orgsCResult = await utils.fetchOrganization();
2295
+ if (!orgsCResult.ok) {
2280
2296
  return undefined;
2281
2297
  }
2282
- const sockSdk = sockSdkCResult.data;
2283
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
2284
- if (result.ok) {
2285
- const arr = Array.from(Object.values(result.data.organizations)).map(({
2286
- slug
2287
- }) => slug);
2288
- if (arr.length === 0) {
2289
- return undefined;
2290
- }
2291
- if (arr.length === 1) {
2292
- return arr[0];
2293
- }
2294
- return arr;
2298
+ const {
2299
+ organizations
2300
+ } = orgsCResult.data;
2301
+ const slugs = Array.from(Object.values(organizations)).map(o => o.slug);
2302
+ if (slugs.length === 0) {
2303
+ return undefined;
2295
2304
  }
2296
- return undefined;
2305
+ if (slugs.length === 1) {
2306
+ return slugs[0];
2307
+ }
2308
+ return slugs;
2297
2309
  }
2298
2310
  async function getEnforceableOrgsFromToken() {
2299
- const sockSdkCResult = await utils.setupSdk();
2300
- if (!sockSdkCResult.ok) {
2311
+ const orgsCResult = await utils.fetchOrganization();
2312
+ if (!orgsCResult.ok) {
2301
2313
  return undefined;
2302
2314
  }
2303
- const sockSdk = sockSdkCResult.data;
2304
- const result = await utils.handleApiCall(sockSdk.getOrganizations(), 'list of organizations');
2305
- if (result.ok) {
2306
- const arr = Array.from(Object.values(result.data.organizations)).map(({
2307
- slug
2308
- }) => slug);
2309
- if (arr.length === 0) {
2310
- return undefined;
2311
- }
2312
- return arr;
2315
+ const {
2316
+ organizations
2317
+ } = orgsCResult.data;
2318
+ const slugs = Array.from(Object.values(organizations)).map(o => o.slug);
2319
+ if (!slugs.length) {
2320
+ return undefined;
2313
2321
  }
2314
- return undefined;
2322
+ return slugs;
2315
2323
  }
2316
2324
 
2317
2325
  async function outputConfigAuto(key, result, outputKind) {
@@ -3566,9 +3574,9 @@ async function getActualTree(cwd = process.cwd()) {
3566
3574
 
3567
3575
  const {
3568
3576
  BUN: BUN$4,
3569
- NPM: NPM$8,
3577
+ NPM: NPM$7,
3570
3578
  OVERRIDES: OVERRIDES$2,
3571
- PNPM: PNPM$8,
3579
+ PNPM: PNPM$7,
3572
3580
  RESOLUTIONS: RESOLUTIONS$1,
3573
3581
  VLT: VLT$5,
3574
3582
  YARN_BERRY: YARN_BERRY$4,
@@ -3587,7 +3595,7 @@ function getOverridesDataBun(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJ
3587
3595
  function getOverridesDataNpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
3588
3596
  const overrides = pkgJson?.[OVERRIDES$2] ?? {};
3589
3597
  return {
3590
- type: NPM$8,
3598
+ type: NPM$7,
3591
3599
  overrides
3592
3600
  };
3593
3601
  }
@@ -3595,9 +3603,9 @@ function getOverridesDataNpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJ
3595
3603
  // pnpm overrides documentation:
3596
3604
  // https://pnpm.io/package_json#pnpmoverrides
3597
3605
  function getOverridesDataPnpm(pkgEnvDetails, pkgJson = pkgEnvDetails.editablePkgJson.content) {
3598
- const overrides = pkgJson?.[PNPM$8]?.[OVERRIDES$2] ?? {};
3606
+ const overrides = pkgJson?.[PNPM$7]?.[OVERRIDES$2] ?? {};
3599
3607
  return {
3600
- type: PNPM$8,
3608
+ type: PNPM$7,
3601
3609
  overrides
3602
3610
  };
3603
3611
  }
@@ -3632,7 +3640,7 @@ function getOverridesData(pkgEnvDetails, pkgJson) {
3632
3640
  switch (pkgEnvDetails.agent) {
3633
3641
  case BUN$4:
3634
3642
  return getOverridesDataBun(pkgEnvDetails, pkgJson);
3635
- case PNPM$8:
3643
+ case PNPM$7:
3636
3644
  return getOverridesDataPnpm(pkgEnvDetails, pkgJson);
3637
3645
  case VLT$5:
3638
3646
  return getOverridesDataVlt(pkgEnvDetails, pkgJson);
@@ -3640,7 +3648,7 @@ function getOverridesData(pkgEnvDetails, pkgJson) {
3640
3648
  return getOverridesDataYarn(pkgEnvDetails, pkgJson);
3641
3649
  case YARN_CLASSIC$4:
3642
3650
  return getOverridesDataYarnClassic(pkgEnvDetails, pkgJson);
3643
- case NPM$8:
3651
+ case NPM$7:
3644
3652
  default:
3645
3653
  return getOverridesDataNpm(pkgEnvDetails, pkgJson);
3646
3654
  }
@@ -4131,7 +4139,8 @@ async function install$1(pkgEnvDetails, options) {
4131
4139
  __proto__: null,
4132
4140
  ...options
4133
4141
  };
4134
- const args = ['--ignore-scripts', '--no-audit', '--no-fund', '--no-progress', '--no-save', '--silent', ...(extraArgs ?? [])];
4142
+ const useDebug = debug.isDebug('stdio');
4143
+ const args = ['--ignore-scripts', '--no-audit', '--no-fund', '--no-progress', ...(useDebug ? [] : ['--silent']), ...(extraArgs ?? [])];
4135
4144
  const quotedCmd = `\`${pkgEnvDetails.agent} install ${args.join(' ')}\``;
4136
4145
  debug.debugFn('stdio', `spawn: ${quotedCmd}`);
4137
4146
  const isSpinning = spinner?.isSpinning;
@@ -4141,7 +4150,7 @@ async function install$1(pkgEnvDetails, options) {
4141
4150
  await utils.runAgentInstall(pkgEnvDetails, {
4142
4151
  args,
4143
4152
  spinner,
4144
- stdio: debug.isDebug('stdio') ? 'inherit' : 'ignore'
4153
+ stdio: useDebug ? 'inherit' : 'ignore'
4145
4154
  });
4146
4155
  } catch (e) {
4147
4156
  debug.debugFn('error', `caught: ${quotedCmd} failed`);
@@ -4266,7 +4275,7 @@ async function outputFixResult(result, outputKind) {
4266
4275
 
4267
4276
  const {
4268
4277
  OVERRIDES: OVERRIDES$1,
4269
- PNPM: PNPM$7
4278
+ PNPM: PNPM$6
4270
4279
  } = constants;
4271
4280
  async function install(pkgEnvDetails, options) {
4272
4281
  const {
@@ -4383,15 +4392,15 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4383
4392
  const {
4384
4393
  overrides: oldOverrides
4385
4394
  } = getOverridesDataPnpm(pkgEnvDetails, editablePkgJson.content);
4386
- const oldPnpmSection = editablePkgJson.content[PNPM$7];
4395
+ const oldPnpmSection = editablePkgJson.content[PNPM$6];
4387
4396
  const overrideKey = `${packument.name}@${vulnerableVersionRange}`;
4388
4397
  revertOverrides = undefined;
4389
4398
  revertOverridesSrc = utils.extractOverridesFromPnpmLockSrc(lockSrc);
4390
4399
  if (isWorkspaceRoot) {
4391
4400
  revertOverrides = {
4392
- [PNPM$7]: oldPnpmSection ? {
4401
+ [PNPM$6]: oldPnpmSection ? {
4393
4402
  ...oldPnpmSection,
4394
- [OVERRIDES$1]: objects.hasKeys(oldOverrides) ? {
4403
+ [OVERRIDES$1]: require$$7.hasKeys(oldOverrides) ? {
4395
4404
  ...oldOverrides,
4396
4405
  [overrideKey]: undefined
4397
4406
  } : undefined
@@ -4400,7 +4409,7 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4400
4409
  // Update overrides in the root package.json so that when `pnpm install`
4401
4410
  // generates pnpm-lock.yaml it updates transitive dependencies too.
4402
4411
  editablePkgJson.update({
4403
- [PNPM$7]: {
4412
+ [PNPM$6]: {
4404
4413
  ...oldPnpmSection,
4405
4414
  [OVERRIDES$1]: {
4406
4415
  ...oldOverrides,
@@ -4451,16 +4460,13 @@ async function pnpmFix(pkgEnvDetails, fixConfig) {
4451
4460
  }, fixConfig);
4452
4461
  }
4453
4462
 
4454
- const {
4455
- NPM: NPM$7,
4456
- PNPM: PNPM$6
4457
- } = constants;
4458
4463
  async function handleFix({
4459
4464
  autoMerge,
4460
4465
  cwd,
4461
4466
  ghsas,
4462
4467
  limit,
4463
4468
  minSatisfying,
4469
+ orgSlug,
4464
4470
  outputKind,
4465
4471
  prCheck,
4466
4472
  purls,
@@ -4470,49 +4476,66 @@ async function handleFix({
4470
4476
  testScript,
4471
4477
  unknownFlags
4472
4478
  }) {
4473
- let {
4474
- length: ghsasCount
4475
- } = ghsas;
4476
- if (ghsasCount) {
4477
- spinner?.start('Fetching GHSA IDs...');
4478
- if (ghsasCount === 1 && ghsas[0] === 'auto') {
4479
- const autoCResult = await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd], {
4480
- cwd,
4481
- spinner
4482
- });
4483
- spinner?.stop();
4484
- if (autoCResult.ok) {
4485
- ghsas = utils.cmdFlagValueToArray(/(?<=Vulnerabilities found: )[^\n]+/.exec(autoCResult.data)?.[0]);
4486
- ghsasCount = ghsas.length;
4487
- } else {
4488
- debug.debugFn('error', 'fail: Coana CLI');
4489
- debug.debugDir('inspect', {
4490
- message: autoCResult.message,
4491
- cause: autoCResult.cause
4492
- });
4493
- ghsas = [];
4494
- ghsasCount = 0;
4479
+ if (ghsas.length === 1 && ghsas[0] === 'auto') {
4480
+ let lastCResult;
4481
+ const sockSdkCResult = await utils.setupSdk();
4482
+ lastCResult = sockSdkCResult;
4483
+ const sockSdk = sockSdkCResult.ok ? sockSdkCResult.data : undefined;
4484
+ const supportedFilesCResult = sockSdk ? await fetchSupportedScanFileNames() : undefined;
4485
+ if (supportedFilesCResult) {
4486
+ lastCResult = supportedFilesCResult;
4487
+ }
4488
+ const supportedFiles = supportedFilesCResult?.ok ? supportedFilesCResult.data : undefined;
4489
+ const packagePaths = supportedFiles ? await utils.getPackageFilesForScan(['.'], supportedFiles, {
4490
+ cwd
4491
+ }) : [];
4492
+ const uploadCResult = sockSdk ? await utils.handleApiCall(sockSdk?.uploadManifestFiles(orgSlug, packagePaths), {
4493
+ desc: 'upload manifests'
4494
+ }) : undefined;
4495
+ if (uploadCResult) {
4496
+ lastCResult = uploadCResult;
4497
+ }
4498
+ const tarHash = uploadCResult?.ok ? uploadCResult.data.tarHash : '';
4499
+ const idsOutputCResult = tarHash ? await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--manifests-tar-hash', tarHash], {
4500
+ cwd,
4501
+ spinner,
4502
+ env: {
4503
+ SOCKET_ORG_SLUG: orgSlug
4495
4504
  }
4496
- spinner?.start();
4505
+ }) : undefined;
4506
+ if (idsOutputCResult) {
4507
+ lastCResult = idsOutputCResult;
4497
4508
  }
4498
- if (ghsasCount) {
4499
- spinner?.info(`Found ${ghsasCount} GHSA ${words.pluralize('ID', ghsasCount)}.`);
4500
- const applyFixesCResult = await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--apply-fixes-to', ...ghsas, ...unknownFlags], {
4501
- cwd,
4502
- spinner
4503
- });
4504
- spinner?.stop();
4505
- if (!applyFixesCResult.ok) {
4506
- debug.debugFn('error', 'fail: Coana CLI');
4507
- debug.debugDir('inspect', {
4508
- message: applyFixesCResult.message,
4509
- cause: applyFixesCResult.cause
4510
- });
4509
+ const idsOutput = idsOutputCResult?.ok ? idsOutputCResult.data : '';
4510
+ const ids = utils.cmdFlagValueToArray(/(?<=Vulnerabilities found: )[^\n]+/.exec(idsOutput)?.[0]);
4511
+ const fixCResult = ids.length ? await utils.spawnCoana(['compute-fixes-and-upgrade-purls', cwd, '--manifests-tar-hash', tarHash, '--apply-fixes-to', ...ids, ...unknownFlags], {
4512
+ cwd,
4513
+ spinner,
4514
+ env: {
4515
+ SOCKET_ORG_SLUG: orgSlug
4511
4516
  }
4512
- await outputFixResult(applyFixesCResult, outputKind);
4517
+ }) : undefined;
4518
+ if (fixCResult) {
4519
+ lastCResult = fixCResult;
4520
+ }
4521
+ // const fixCResult = await spawnCoana(
4522
+ // [
4523
+ // cwd,
4524
+ // '--socket-mode',
4525
+ // DOT_SOCKET_DOT_FACTS_JSON,
4526
+ // '--manifests-tar-hash',
4527
+ // tarHash,
4528
+ // ...unknownFlags,
4529
+ // ],
4530
+ // { cwd, spinner, env: { SOCKET_ORG_SLUG: orgSlug } },
4531
+ // )
4532
+ debug.debugDir('inspect', {
4533
+ lastCResult
4534
+ });
4535
+ if (!lastCResult.ok) {
4536
+ await outputFixResult(lastCResult, outputKind);
4513
4537
  return;
4514
4538
  }
4515
- spinner?.infoAndStop('No GHSA IDs found.');
4516
4539
  await outputFixResult({
4517
4540
  ok: true,
4518
4541
  data: ''
@@ -4538,11 +4561,17 @@ async function handleFix({
4538
4561
  }, outputKind);
4539
4562
  return;
4540
4563
  }
4564
+
4565
+ // Lazily access constants.
4566
+ const {
4567
+ NPM,
4568
+ PNPM
4569
+ } = constants;
4541
4570
  const {
4542
4571
  agent,
4543
4572
  agentVersion
4544
4573
  } = pkgEnvDetails;
4545
- if (agent !== NPM$7 && agent !== PNPM$6) {
4574
+ if (agent !== NPM && agent !== PNPM) {
4546
4575
  await outputFixResult({
4547
4576
  ok: false,
4548
4577
  message: 'Not supported.',
@@ -4551,7 +4580,7 @@ async function handleFix({
4551
4580
  return;
4552
4581
  }
4553
4582
  logger.logger.info(`Fixing packages for ${agent} v${agentVersion}.\n`);
4554
- const fixer = agent === NPM$7 ? npmFix : pnpmFix;
4583
+ const fixer = agent === NPM ? npmFix : pnpmFix;
4555
4584
  await outputFixResult(await fixer(pkgEnvDetails, {
4556
4585
  autoMerge,
4557
4586
  cwd,
@@ -4589,7 +4618,8 @@ const config$H = {
4589
4618
  type: 'string',
4590
4619
  default: [],
4591
4620
  description: `Provide a list of ${vendor.terminalLinkExports('GHSA IDs', 'https://docs.github.com/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database#about-ghsa-ids')} to compute fixes for, as either a comma separated value or as multiple flags.\n Use '--ghsa auto' to automatically lookup GHSA IDs and compute fixes for them.`,
4592
- isMultiple: true
4621
+ isMultiple: true,
4622
+ hidden: true
4593
4623
  },
4594
4624
  limit: {
4595
4625
  type: 'number',
@@ -4714,6 +4744,14 @@ async function run$H(argv, importMeta, {
4714
4744
  autoMerge = true;
4715
4745
  test = true;
4716
4746
  }
4747
+ const orgSlugCResult = await utils.getDefaultOrgSlug();
4748
+ if (!orgSlugCResult.ok) {
4749
+ process.exitCode = orgSlugCResult.code ?? 1;
4750
+ // Always assume json mode.
4751
+ // logger.log(serializeResultJson(orgSlugCResult))
4752
+ return;
4753
+ }
4754
+ const orgSlug = orgSlugCResult.data;
4717
4755
  const ghsas = utils.cmdFlagValueToArray(cli.flags['ghsa']);
4718
4756
  const limit = (cli.flags['limit'] ? parseInt(String(cli.flags['limit'] || ''), 10) : Infinity) || Infinity;
4719
4757
  const maxSatisfying = Boolean(cli.flags['maxSatisfying']);
@@ -4728,6 +4766,7 @@ async function run$H(argv, importMeta, {
4728
4766
  limit,
4729
4767
  minSatisfying,
4730
4768
  prCheck,
4769
+ orgSlug,
4731
4770
  outputKind,
4732
4771
  purls,
4733
4772
  rangeStyle,
@@ -5022,22 +5061,31 @@ async function attemptLogin(apiBaseUrl, apiProxy) {
5022
5061
  };
5023
5062
  }
5024
5063
  const apiToken = apiTokenInput || SOCKET_PUBLIC_API_TOKEN;
5025
- const sdk = await utils.setupSdk(apiToken, apiBaseUrl, apiProxy);
5026
- if (!sdk.ok) {
5064
+ const sockSdkCResult = await utils.setupSdk({
5065
+ apiBaseUrl,
5066
+ apiProxy,
5067
+ apiToken
5068
+ });
5069
+ if (!sockSdkCResult.ok) {
5027
5070
  process.exitCode = 1;
5028
- logger.logger.fail(utils.failMsgWithBadge(sdk.message, sdk.cause));
5071
+ logger.logger.fail(utils.failMsgWithBadge(sockSdkCResult.message, sockSdkCResult.cause));
5029
5072
  return;
5030
5073
  }
5031
- const result = await utils.handleApiCall(sdk.data.getOrganizations(), 'token verification');
5032
- if (!result.ok) {
5074
+ const sockSdk = sockSdkCResult.data;
5075
+ const orgsCResult = await utils.handleApiCall(sockSdk.getOrganizations(), {
5076
+ desc: 'token verification'
5077
+ });
5078
+ if (!orgsCResult.ok) {
5033
5079
  process.exitCode = 1;
5034
- logger.logger.fail(utils.failMsgWithBadge(result.message, result.cause));
5080
+ logger.logger.fail(utils.failMsgWithBadge(orgsCResult.message, orgsCResult.cause));
5035
5081
  return;
5036
5082
  }
5037
- const orgs = result.data;
5038
- const orgSlugs = Object.values(orgs.organizations).map(obj => obj.slug);
5083
+ const {
5084
+ organizations
5085
+ } = orgsCResult.data;
5086
+ const orgSlugs = Object.values(organizations).map(obj => obj.slug);
5039
5087
  logger.logger.success(`API key verified: ${orgSlugs}`);
5040
- const enforcedChoices = Object.values(orgs.organizations).filter(org => org?.plan === 'enterprise').map(org => ({
5088
+ const enforcedChoices = Object.values(organizations).filter(org => org?.plan === 'enterprise').map(org => ({
5041
5089
  name: org.name ?? 'undefined',
5042
5090
  value: org.id
5043
5091
  }));
@@ -7348,8 +7396,8 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7348
7396
  if (oldValue) {
7349
7397
  // The field already exists so we simply update the field value.
7350
7398
  if (field === PNPM$1) {
7351
- const isPnpmObj = objects.isObject(oldValue);
7352
- if (objects.hasKeys(value)) {
7399
+ const isPnpmObj = require$$7.isObject(oldValue);
7400
+ if (require$$7.hasKeys(value)) {
7353
7401
  editablePkgJson.update({
7354
7402
  [field]: {
7355
7403
  ...(isPnpmObj ? oldValue : {}),
@@ -7361,7 +7409,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7361
7409
  });
7362
7410
  } else {
7363
7411
  // Properties with undefined values are omitted when saved as JSON.
7364
- editablePkgJson.update(objects.hasKeys(oldValue) ? {
7412
+ editablePkgJson.update(require$$7.hasKeys(oldValue) ? {
7365
7413
  [field]: {
7366
7414
  ...(isPnpmObj ? oldValue : {}),
7367
7415
  overrides: undefined
@@ -7373,7 +7421,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7373
7421
  } else if (field === OVERRIDES || field === RESOLUTIONS) {
7374
7422
  // Properties with undefined values are omitted when saved as JSON.
7375
7423
  editablePkgJson.update({
7376
- [field]: objects.hasKeys(value) ? value : undefined
7424
+ [field]: require$$7.hasKeys(value) ? value : undefined
7377
7425
  });
7378
7426
  } else {
7379
7427
  editablePkgJson.update({
@@ -7382,7 +7430,7 @@ function updatePkgJsonField(editablePkgJson, field, value) {
7382
7430
  }
7383
7431
  return;
7384
7432
  }
7385
- if ((field === OVERRIDES || field === PNPM$1 || field === RESOLUTIONS) && !objects.hasKeys(value)) {
7433
+ if ((field === OVERRIDES || field === PNPM$1 || field === RESOLUTIONS) && !require$$7.hasKeys(value)) {
7386
7434
  return;
7387
7435
  }
7388
7436
  // Since the field doesn't exist we want to insert it into the package.json
@@ -7517,7 +7565,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7517
7565
  let loggedAddingText = false;
7518
7566
 
7519
7567
  // Chunk package names to process them in parallel 3 at a time.
7520
- await require$$7.pEach(manifestEntries, 3, async ({
7568
+ await require$$8.pEach(manifestEntries, 3, async ({
7521
7569
  1: data
7522
7570
  }) => {
7523
7571
  const {
@@ -7531,11 +7579,11 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7531
7579
  for (const {
7532
7580
  1: depObj
7533
7581
  } of depEntries) {
7534
- const sockSpec = objects.hasOwn(depObj, sockRegPkgName) ? depObj[sockRegPkgName] : undefined;
7582
+ const sockSpec = require$$7.hasOwn(depObj, sockRegPkgName) ? depObj[sockRegPkgName] : undefined;
7535
7583
  if (sockSpec) {
7536
7584
  depAliasMap.set(sockRegPkgName, sockSpec);
7537
7585
  }
7538
- const origSpec = objects.hasOwn(depObj, origPkgName) ? depObj[origPkgName] : undefined;
7586
+ const origSpec = require$$7.hasOwn(depObj, origPkgName) ? depObj[origPkgName] : undefined;
7539
7587
  if (origSpec) {
7540
7588
  let thisSpec = origSpec;
7541
7589
  // Add package aliases for direct dependencies to avoid npm EOVERRIDE
@@ -7571,11 +7619,11 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7571
7619
  npmExecPath
7572
7620
  });
7573
7621
  // Chunk package names to process them in parallel 3 at a time.
7574
- await require$$7.pEach(overridesDataObjects, 3, async ({
7622
+ await require$$8.pEach(overridesDataObjects, 3, async ({
7575
7623
  overrides,
7576
7624
  type
7577
7625
  }) => {
7578
- const overrideExists = objects.hasOwn(overrides, origPkgName);
7626
+ const overrideExists = require$$7.hasOwn(overrides, origPkgName);
7579
7627
  if (overrideExists || thingScanner(pkgEnvDetails, thingToScan, origPkgName, lockName)) {
7580
7628
  const oldSpec = overrideExists ? overrides[origPkgName] : undefined;
7581
7629
  const origDepAlias = depAliasMap.get(origPkgName);
@@ -7625,7 +7673,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7625
7673
  });
7626
7674
  if (isWorkspace) {
7627
7675
  // Chunk package names to process them in parallel 3 at a time.
7628
- await require$$7.pEach(workspacePkgJsonPaths, 3, async workspacePkgJsonPath => {
7676
+ await require$$8.pEach(workspacePkgJsonPaths, 3, async workspacePkgJsonPath => {
7629
7677
  const otherState = await addOverrides(pkgEnvDetails, path.dirname(workspacePkgJsonPath), {
7630
7678
  logger,
7631
7679
  pin,
@@ -7646,7 +7694,7 @@ async function addOverrides(pkgEnvDetails, pkgPath, options) {
7646
7694
  overrides,
7647
7695
  type
7648
7696
  } of overridesDataObjects) {
7649
- updateManifest(type, pkgEnvDetails.editablePkgJson, objects.toSortedObject(overrides));
7697
+ updateManifest(type, pkgEnvDetails.editablePkgJson, require$$7.toSortedObject(overrides));
7650
7698
  }
7651
7699
  }
7652
7700
  await pkgEnvDetails.editablePkgJson.save();
@@ -7891,19 +7939,31 @@ async function run$r(argv, importMeta, {
7891
7939
  });
7892
7940
  }
7893
7941
 
7894
- async function fetchDependencies({
7895
- limit,
7896
- offset
7897
- }) {
7898
- const sockSdkCResult = await utils.setupSdk();
7942
+ async function fetchDependencies(config, options) {
7943
+ const {
7944
+ sdkOptions
7945
+ } = {
7946
+ __proto__: null,
7947
+ ...options
7948
+ };
7949
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
7899
7950
  if (!sockSdkCResult.ok) {
7900
7951
  return sockSdkCResult;
7901
7952
  }
7902
7953
  const sockSdk = sockSdkCResult.data;
7954
+ const {
7955
+ limit,
7956
+ offset
7957
+ } = {
7958
+ __proto__: null,
7959
+ ...config
7960
+ };
7903
7961
  return await utils.handleApiCall(sockSdk.searchDependencies({
7904
7962
  limit,
7905
7963
  offset
7906
- }), 'organization dependencies');
7964
+ }), {
7965
+ desc: 'organization dependencies'
7966
+ });
7907
7967
  }
7908
7968
 
7909
7969
  // @ts-ignore
@@ -8068,13 +8128,21 @@ async function run$q(argv, importMeta, {
8068
8128
  });
8069
8129
  }
8070
8130
 
8071
- async function fetchLicensePolicy(orgSlug) {
8072
- const sockSdkCResult = await utils.setupSdk();
8131
+ async function fetchLicensePolicy(orgSlug, options) {
8132
+ const {
8133
+ sdkOptions
8134
+ } = {
8135
+ __proto__: null,
8136
+ ...options
8137
+ };
8138
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8073
8139
  if (!sockSdkCResult.ok) {
8074
8140
  return sockSdkCResult;
8075
8141
  }
8076
8142
  const sockSdk = sockSdkCResult.data;
8077
- return await utils.handleApiCall(sockSdk.getOrgLicensePolicy(orgSlug), 'organization license policy');
8143
+ return await utils.handleApiCall(sockSdk.getOrgLicensePolicy(orgSlug), {
8144
+ desc: 'organization license policy'
8145
+ });
8078
8146
  }
8079
8147
 
8080
8148
  async function outputLicensePolicy(result, outputKind) {
@@ -8196,13 +8264,21 @@ async function run$p(argv, importMeta, {
8196
8264
  await handleLicensePolicy(orgSlug, outputKind);
8197
8265
  }
8198
8266
 
8199
- async function fetchSecurityPolicy(orgSlug) {
8200
- const sockSdkCResult = await utils.setupSdk();
8267
+ async function fetchSecurityPolicy(orgSlug, options) {
8268
+ const {
8269
+ sdkOptions
8270
+ } = {
8271
+ __proto__: null,
8272
+ ...options
8273
+ };
8274
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8201
8275
  if (!sockSdkCResult.ok) {
8202
8276
  return sockSdkCResult;
8203
8277
  }
8204
8278
  const sockSdk = sockSdkCResult.data;
8205
- return await utils.handleApiCall(sockSdk.getOrgSecurityPolicy(orgSlug), 'organization security policy');
8279
+ return await utils.handleApiCall(sockSdk.getOrgSecurityPolicy(orgSlug), {
8280
+ desc: 'organization security policy'
8281
+ });
8206
8282
  }
8207
8283
 
8208
8284
  async function outputSecurityPolicy(result, outputKind) {
@@ -8327,15 +8403,6 @@ async function run$o(argv, importMeta, {
8327
8403
  await handleSecurityPolicy(orgSlug, outputKind);
8328
8404
  }
8329
8405
 
8330
- async function fetchOrganization() {
8331
- const sockSdkCResult = await utils.setupSdk();
8332
- if (!sockSdkCResult.ok) {
8333
- return sockSdkCResult;
8334
- }
8335
- const sockSdk = sockSdkCResult.data;
8336
- return await utils.handleApiCall(sockSdk.getOrganizations(), 'organization list');
8337
- }
8338
-
8339
8406
  async function outputOrganizationList(result, outputKind = 'text') {
8340
8407
  if (!result.ok) {
8341
8408
  process.exitCode = result.code ?? 1;
@@ -8387,7 +8454,7 @@ async function outputOrganizationList(result, outputKind = 'text') {
8387
8454
  }
8388
8455
 
8389
8456
  async function handleOrganizationList(outputKind = 'text') {
8390
- const data = await fetchOrganization();
8457
+ const data = await utils.fetchOrganization();
8391
8458
  await outputOrganizationList(data, outputKind);
8392
8459
  }
8393
8460
 
@@ -8486,13 +8553,21 @@ const cmdOrganizationPolicy = {
8486
8553
  }
8487
8554
  };
8488
8555
 
8489
- async function fetchQuota() {
8490
- const sockSdkCResult = await utils.setupSdk();
8556
+ async function fetchQuota(options) {
8557
+ const {
8558
+ sdkOptions
8559
+ } = {
8560
+ __proto__: null,
8561
+ ...options
8562
+ };
8563
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8491
8564
  if (!sockSdkCResult.ok) {
8492
8565
  return sockSdkCResult;
8493
8566
  }
8494
8567
  const sockSdk = sockSdkCResult.data;
8495
- return await utils.handleApiCall(sockSdk.getQuota(), 'token quota');
8568
+ return await utils.handleApiCall(sockSdk.getQuota(), {
8569
+ desc: 'token quota'
8570
+ });
8496
8571
  }
8497
8572
 
8498
8573
  async function outputQuota(result, outputKind = 'text') {
@@ -8951,20 +9026,28 @@ async function run$l(argv, importMeta, {
8951
9026
  await handlePurlDeepScore(purls[0] || '', outputKind);
8952
9027
  }
8953
9028
 
8954
- async function fetchPurlsShallowScore(purls) {
8955
- logger.logger.info(`Requesting shallow score data for ${purls.length} package urls (purl): ${purls.join(', ')}`);
8956
- const sockSdkCResult = await utils.setupSdk();
9029
+ async function fetchPurlsShallowScore(purls, options) {
9030
+ const {
9031
+ sdkOptions
9032
+ } = {
9033
+ __proto__: null,
9034
+ ...options
9035
+ };
9036
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
8957
9037
  if (!sockSdkCResult.ok) {
8958
9038
  return sockSdkCResult;
8959
9039
  }
8960
9040
  const sockSdk = sockSdkCResult.data;
9041
+ logger.logger.info(`Requesting shallow score data for ${purls.length} package urls (purl): ${purls.join(', ')}`);
8961
9042
  const result = await utils.handleApiCall(sockSdk.batchPackageFetch({
8962
- alerts: 'true'
8963
- }, {
8964
9043
  components: purls.map(purl => ({
8965
9044
  purl
8966
9045
  }))
8967
- }), 'looking up package');
9046
+ }, {
9047
+ alerts: 'true'
9048
+ }), {
9049
+ desc: 'looking up package'
9050
+ });
8968
9051
  if (!result.ok) {
8969
9052
  return result;
8970
9053
  }
@@ -9460,26 +9543,35 @@ async function run$i(argv, importMeta, {
9460
9543
  await runRawNpx(argv);
9461
9544
  }
9462
9545
 
9463
- async function fetchCreateRepo({
9464
- default_branch,
9465
- description,
9466
- homepage,
9467
- orgSlug,
9468
- repoName,
9469
- visibility
9470
- }) {
9471
- const sockSdkCResult = await utils.setupSdk();
9546
+ async function fetchCreateRepo(config, options) {
9547
+ const {
9548
+ defaultBranch,
9549
+ description,
9550
+ homepage,
9551
+ orgSlug,
9552
+ repoName,
9553
+ visibility
9554
+ } = config;
9555
+ const {
9556
+ sdkOptions
9557
+ } = {
9558
+ __proto__: null,
9559
+ ...options
9560
+ };
9561
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9472
9562
  if (!sockSdkCResult.ok) {
9473
9563
  return sockSdkCResult;
9474
9564
  }
9475
9565
  const sockSdk = sockSdkCResult.data;
9476
9566
  return await utils.handleApiCall(sockSdk.createOrgRepo(orgSlug, {
9477
- name: repoName,
9567
+ default_branch: defaultBranch,
9478
9568
  description,
9479
9569
  homepage,
9480
- default_branch,
9570
+ name: repoName,
9481
9571
  visibility
9482
- }), 'to create a repository');
9572
+ }), {
9573
+ desc: 'to create a repository'
9574
+ });
9483
9575
  }
9484
9576
 
9485
9577
  function outputCreateRepo(result, requestedName, outputKind) {
@@ -9501,7 +9593,7 @@ function outputCreateRepo(result, requestedName, outputKind) {
9501
9593
  }
9502
9594
 
9503
9595
  async function handleCreateRepo({
9504
- default_branch,
9596
+ defaultBranch,
9505
9597
  description,
9506
9598
  homepage,
9507
9599
  orgSlug,
@@ -9509,7 +9601,7 @@ async function handleCreateRepo({
9509
9601
  visibility
9510
9602
  }, outputKind) {
9511
9603
  const data = await fetchCreateRepo({
9512
- default_branch,
9604
+ defaultBranch,
9513
9605
  description,
9514
9606
  homepage,
9515
9607
  orgSlug,
@@ -9639,18 +9731,26 @@ async function run$h(argv, importMeta, {
9639
9731
  repoName: String(repoName),
9640
9732
  description: String(cli.flags['repoDescription'] || ''),
9641
9733
  homepage: String(cli.flags['homepage'] || ''),
9642
- default_branch: String(cli.flags['defaultBranch'] || ''),
9734
+ defaultBranch: String(cli.flags['defaultBranch'] || ''),
9643
9735
  visibility: String(cli.flags['visibility'] || 'private')
9644
9736
  }, outputKind);
9645
9737
  }
9646
9738
 
9647
- async function fetchDeleteRepo(orgSlug, repoName) {
9648
- const sockSdkCResult = await utils.setupSdk();
9739
+ async function fetchDeleteRepo(orgSlug, repoName, options) {
9740
+ const {
9741
+ sdkOptions
9742
+ } = {
9743
+ __proto__: null,
9744
+ ...options
9745
+ };
9746
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9649
9747
  if (!sockSdkCResult.ok) {
9650
9748
  return sockSdkCResult;
9651
9749
  }
9652
9750
  const sockSdk = sockSdkCResult.data;
9653
- return await utils.handleApiCall(sockSdk.deleteOrgRepo(orgSlug, repoName), 'to delete a repository');
9751
+ return await utils.handleApiCall(sockSdk.deleteOrgRepo(orgSlug, repoName), {
9752
+ desc: 'to delete a repository'
9753
+ });
9654
9754
  }
9655
9755
 
9656
9756
  async function outputDeleteRepo(result, repoName, outputKind) {
@@ -9768,12 +9868,16 @@ async function run$g(argv, importMeta, {
9768
9868
  await handleDeleteRepo(orgSlug, repoName, outputKind);
9769
9869
  }
9770
9870
 
9771
- async function fetchListAllRepos({
9772
- direction,
9773
- orgSlug,
9774
- sort
9775
- }) {
9776
- const sockSdkCResult = await utils.setupSdk();
9871
+ async function fetchListAllRepos(orgSlug, options) {
9872
+ const {
9873
+ direction,
9874
+ sdkOptions,
9875
+ sort
9876
+ } = {
9877
+ __proto__: null,
9878
+ ...options
9879
+ };
9880
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9777
9881
  if (!sockSdkCResult.ok) {
9778
9882
  return sockSdkCResult;
9779
9883
  }
@@ -9796,7 +9900,9 @@ async function fetchListAllRepos({
9796
9900
  per_page: String(100),
9797
9901
  // max
9798
9902
  page: String(nextPage)
9799
- }), 'list of repositories');
9903
+ }), {
9904
+ desc: 'list of repositories'
9905
+ });
9800
9906
  if (!orgRepoListCResult.ok) {
9801
9907
  debug.debugFn('error', 'fail: fetch repo');
9802
9908
  debug.debugDir('inspect', {
@@ -9816,14 +9922,24 @@ async function fetchListAllRepos({
9816
9922
  };
9817
9923
  }
9818
9924
 
9819
- async function fetchListRepos({
9820
- direction,
9821
- orgSlug,
9822
- page,
9823
- per_page,
9824
- sort
9825
- }) {
9826
- const sockSdkCResult = await utils.setupSdk();
9925
+ async function fetchListRepos(config, options) {
9926
+ const {
9927
+ direction,
9928
+ orgSlug,
9929
+ page,
9930
+ perPage,
9931
+ sort
9932
+ } = {
9933
+ __proto__: null,
9934
+ ...config
9935
+ };
9936
+ const {
9937
+ sdkOptions
9938
+ } = {
9939
+ __proto__: null,
9940
+ ...options
9941
+ };
9942
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
9827
9943
  if (!sockSdkCResult.ok) {
9828
9944
  return sockSdkCResult;
9829
9945
  }
@@ -9831,9 +9947,11 @@ async function fetchListRepos({
9831
9947
  return await utils.handleApiCall(sockSdk.getOrgRepoList(orgSlug, {
9832
9948
  sort,
9833
9949
  direction,
9834
- per_page: String(per_page),
9950
+ per_page: String(perPage),
9835
9951
  page: String(page)
9836
- }), 'list of repositories');
9952
+ }), {
9953
+ desc: 'list of repositories'
9954
+ });
9837
9955
  }
9838
9956
 
9839
9957
  // @ts-ignore
@@ -9899,13 +10017,12 @@ async function handleListRepos({
9899
10017
  orgSlug,
9900
10018
  outputKind,
9901
10019
  page,
9902
- per_page,
10020
+ perPage,
9903
10021
  sort
9904
10022
  }) {
9905
10023
  if (all) {
9906
- const data = await fetchListAllRepos({
10024
+ const data = await fetchListAllRepos(orgSlug, {
9907
10025
  direction,
9908
- orgSlug,
9909
10026
  sort
9910
10027
  });
9911
10028
  await outputListRepos(data, outputKind, 0, 0, sort, Infinity, direction);
@@ -9914,14 +10031,14 @@ async function handleListRepos({
9914
10031
  direction,
9915
10032
  orgSlug,
9916
10033
  page,
9917
- per_page,
10034
+ perPage,
9918
10035
  sort
9919
10036
  });
9920
10037
  if (!data.ok) {
9921
10038
  await outputListRepos(data, outputKind, 0, 0, '', 0, direction);
9922
10039
  } else {
9923
10040
  // Note: nextPage defaults to 0, is null when there's no next page
9924
- await outputListRepos(data, outputKind, page, data.data.nextPage, sort, per_page, direction);
10041
+ await outputListRepos(data, outputKind, page, data.data.nextPage, sort, perPage, direction);
9925
10042
  }
9926
10043
  }
9927
10044
  }
@@ -10054,32 +10171,44 @@ async function run$f(argv, importMeta, {
10054
10171
  orgSlug,
10055
10172
  outputKind,
10056
10173
  page: Number(cli.flags['page']) || 1,
10057
- per_page: Number(cli.flags['perPage']) || 30,
10174
+ perPage: Number(cli.flags['perPage']) || 30,
10058
10175
  sort: String(cli.flags['sort'] || 'created_at')
10059
10176
  });
10060
10177
  }
10061
10178
 
10062
- async function fetchUpdateRepo({
10063
- default_branch,
10064
- description,
10065
- homepage,
10066
- orgSlug,
10067
- repoName,
10068
- visibility
10069
- }) {
10070
- const sockSdkCResult = await utils.setupSdk();
10179
+ async function fetchUpdateRepo(config, options) {
10180
+ const {
10181
+ defaultBranch,
10182
+ description,
10183
+ homepage,
10184
+ orgSlug,
10185
+ repoName,
10186
+ visibility
10187
+ } = {
10188
+ __proto__: null,
10189
+ ...config
10190
+ };
10191
+ const {
10192
+ sdkOptions
10193
+ } = {
10194
+ __proto__: null,
10195
+ ...options
10196
+ };
10197
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10071
10198
  if (!sockSdkCResult.ok) {
10072
10199
  return sockSdkCResult;
10073
10200
  }
10074
10201
  const sockSdk = sockSdkCResult.data;
10075
10202
  return await utils.handleApiCall(sockSdk.updateOrgRepo(orgSlug, repoName, {
10076
- orgSlug,
10077
- name: repoName,
10203
+ default_branch: defaultBranch,
10078
10204
  description,
10079
10205
  homepage,
10080
- default_branch,
10206
+ name: repoName,
10207
+ orgSlug,
10081
10208
  visibility
10082
- }), 'to update a repository');
10209
+ }), {
10210
+ desc: 'to update a repository'
10211
+ });
10083
10212
  }
10084
10213
 
10085
10214
  async function outputUpdateRepo(result, repoName, outputKind) {
@@ -10098,7 +10227,7 @@ async function outputUpdateRepo(result, repoName, outputKind) {
10098
10227
  }
10099
10228
 
10100
10229
  async function handleUpdateRepo({
10101
- default_branch,
10230
+ defaultBranch,
10102
10231
  description,
10103
10232
  homepage,
10104
10233
  orgSlug,
@@ -10106,7 +10235,7 @@ async function handleUpdateRepo({
10106
10235
  visibility
10107
10236
  }, outputKind) {
10108
10237
  const data = await fetchUpdateRepo({
10109
- default_branch,
10238
+ defaultBranch,
10110
10239
  description,
10111
10240
  homepage,
10112
10241
  orgSlug,
@@ -10238,18 +10367,26 @@ async function run$e(argv, importMeta, {
10238
10367
  repoName: String(repoName),
10239
10368
  description: String(cli.flags['repoDescription'] || ''),
10240
10369
  homepage: String(cli.flags['homepage'] || ''),
10241
- default_branch: String(cli.flags['defaultBranch'] || ''),
10370
+ defaultBranch: String(cli.flags['defaultBranch'] || ''),
10242
10371
  visibility: String(cli.flags['visibility'] || 'private')
10243
10372
  }, outputKind);
10244
10373
  }
10245
10374
 
10246
- async function fetchViewRepo(orgSlug, repoName) {
10247
- const sockSdkCResult = await utils.setupSdk();
10375
+ async function fetchViewRepo(orgSlug, repoName, options) {
10376
+ const {
10377
+ sdkOptions
10378
+ } = {
10379
+ __proto__: null,
10380
+ ...options
10381
+ };
10382
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10248
10383
  if (!sockSdkCResult.ok) {
10249
10384
  return sockSdkCResult;
10250
10385
  }
10251
10386
  const sockSdk = sockSdkCResult.data;
10252
- return await utils.handleApiCall(sockSdk.getOrgRepo(orgSlug, repoName), 'repository data');
10387
+ return await utils.handleApiCall(sockSdk.getOrgRepo(orgSlug, repoName), {
10388
+ desc: 'repository data'
10389
+ });
10253
10390
  }
10254
10391
 
10255
10392
  // @ts-ignore
@@ -10691,7 +10828,7 @@ async function run$c(argv, importMeta, {
10691
10828
  if (detected.count > 0 && !autoManifest) {
10692
10829
  logger.logger.info(`Detected ${detected.count} manifest targets we could try to generate. Please set the --autoManifest flag if you want to include languages covered by \`socket manifest auto\` in the Scan.`);
10693
10830
  }
10694
- if (updatedInput && orgSlug && targets?.length) {
10831
+ if (updatedInput && orgSlug && targets.length) {
10695
10832
  logger.logger.info('Note: You can invoke this command next time to skip the interactive questions:');
10696
10833
  logger.logger.info('```');
10697
10834
  logger.logger.info(` socket scan create [other flags...] ${orgSlug} ${targets.join(' ')}`);
@@ -10759,20 +10896,28 @@ async function run$c(argv, importMeta, {
10759
10896
  pendingHead: Boolean(pendingHead),
10760
10897
  pullRequest: Number(pullRequest),
10761
10898
  readOnly: Boolean(readOnly),
10762
- repoName: repoName,
10899
+ repoName,
10763
10900
  report,
10764
10901
  targets,
10765
10902
  tmp: Boolean(tmp)
10766
10903
  });
10767
10904
  }
10768
10905
 
10769
- async function fetchDeleteOrgFullScan(orgSlug, scanId) {
10770
- const sockSdkCResult = await utils.setupSdk();
10906
+ async function fetchDeleteOrgFullScan(orgSlug, scanId, options) {
10907
+ const {
10908
+ sdkOptions
10909
+ } = {
10910
+ __proto__: null,
10911
+ ...options
10912
+ };
10913
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
10771
10914
  if (!sockSdkCResult.ok) {
10772
10915
  return sockSdkCResult;
10773
10916
  }
10774
10917
  const sockSdk = sockSdkCResult.data;
10775
- return await utils.handleApiCall(sockSdk.deleteOrgFullScan(orgSlug, scanId), 'to delete a scan');
10918
+ return await utils.handleApiCall(sockSdk.deleteOrgFullScan(orgSlug, scanId), {
10919
+ desc: 'to delete a scan'
10920
+ });
10776
10921
  }
10777
10922
 
10778
10923
  async function outputDeleteScan(result, outputKind) {
@@ -11206,10 +11351,6 @@ async function run$a(argv, importMeta, {
11206
11351
  });
11207
11352
  }
11208
11353
 
11209
- // Supported manifest file name patterns
11210
- // Keep in mind that we have to request these files through the GitHub API; that cost is much heavier than local disk searches
11211
- // TODO: get this list from API instead? Is that too much? Has to fetch through gh api...
11212
- const SUPPORTED_FILE_PATTERNS = [/.*[-.]spdx\.json/, /bom\.json/, /.*[-.]cyclonedx\.json/, /.*[-.]cyclonedx\.xml/, /package\.json/, /package-lock\.json/, /npm-shrinkwrap\.json/, /yarn\.lock/, /pnpm-lock\.yaml/, /pnpm-lock\.yml/, /pnpm-workspace\.yaml/, /pnpm-workspace\.yml/, /pipfile/, /pyproject\.toml/, /poetry\.lock/, /requirements[\\/].*\.txt/, /requirements-.*\.txt/, /requirements_.*\.txt/, /requirements\.frozen/, /setup\.py/, /pipfile\.lock/, /go\.mod/, /go\.sum/, /pom\.xml/, /.*\..*proj/, /.*\.props/, /.*\.targets/, /.*\.nuspec/, /nuget\.config/, /packages\.config/, /packages\.lock\.json/];
11213
11354
  async function createScanFromGithub({
11214
11355
  all,
11215
11356
  githubApiUrl,
@@ -11223,9 +11364,8 @@ async function createScanFromGithub({
11223
11364
  let targetRepos = repos.trim().split(',').map(r => r.trim()).filter(Boolean);
11224
11365
  if (all || targetRepos.length === 0) {
11225
11366
  // Fetch from Socket API
11226
- const result = await fetchListAllRepos({
11367
+ const result = await fetchListAllRepos(orgSlug, {
11227
11368
  direction: 'asc',
11228
- orgSlug,
11229
11369
  sort: 'name'
11230
11370
  });
11231
11371
  if (!result.ok) {
@@ -11264,7 +11404,7 @@ async function createScanFromGithub({
11264
11404
  let scansCreated = 0;
11265
11405
  for (const repoSlug of targetRepos) {
11266
11406
  // eslint-disable-next-line no-await-in-loop
11267
- const result = await scanRepo(repoSlug, {
11407
+ const scanCResult = await scanRepo(repoSlug, {
11268
11408
  githubApiUrl,
11269
11409
  githubToken,
11270
11410
  orgSlug,
@@ -11272,8 +11412,13 @@ async function createScanFromGithub({
11272
11412
  outputKind,
11273
11413
  repos
11274
11414
  });
11275
- if (result.ok && result.data.scanCreated) {
11276
- scansCreated += 1;
11415
+ if (scanCResult.ok) {
11416
+ const {
11417
+ scanCreated
11418
+ } = scanCResult.data;
11419
+ if (scanCreated) {
11420
+ scansCreated += 1;
11421
+ }
11277
11422
  }
11278
11423
  }
11279
11424
  logger.logger.success(targetRepos.length, 'GitHub repos detected');
@@ -11459,7 +11604,9 @@ async function testAndDownloadManifestFile({
11459
11604
  tmpDir
11460
11605
  }) {
11461
11606
  debug.debugFn('notice', 'testing: file', file);
11462
- if (!SUPPORTED_FILE_PATTERNS.some(regex => regex.test(file))) {
11607
+ const supportedFilesCResult = await fetchSupportedScanFileNames();
11608
+ const supportedFiles = supportedFilesCResult.ok ? supportedFilesCResult.data : undefined;
11609
+ if (!supportedFiles || !utils.isReportSupportedFile(file, supportedFiles)) {
11463
11610
  debug.debugFn('notice', ' - skip: not a known pattern');
11464
11611
  // Not an error.
11465
11612
  return {
@@ -11840,7 +11987,7 @@ async function handleCreateGithubScan({
11840
11987
  outputKind,
11841
11988
  repos
11842
11989
  }) {
11843
- const result = await createScanFromGithub({
11990
+ const ghScanCResult = await createScanFromGithub({
11844
11991
  all: Boolean(all),
11845
11992
  githubApiUrl,
11846
11993
  githubToken,
@@ -11850,7 +11997,7 @@ async function handleCreateGithubScan({
11850
11997
  outputKind,
11851
11998
  repos: String(repos || '')
11852
11999
  });
11853
- await outputScanGithub(result, outputKind);
12000
+ await outputScanGithub(ghScanCResult, outputKind);
11854
12001
  }
11855
12002
 
11856
12003
  const {
@@ -12057,21 +12204,31 @@ async function run$9(argv, importMeta, {
12057
12204
  });
12058
12205
  }
12059
12206
 
12060
- async function fetchListScans({
12061
- branch,
12062
- direction,
12063
- from_time,
12064
- orgSlug,
12065
- page,
12066
- per_page,
12067
- repo,
12068
- sort
12069
- }) {
12070
- const sockSdkCResult = await utils.setupSdk();
12207
+ async function fetchOrgFullScanList(config, options) {
12208
+ const {
12209
+ sdkOptions
12210
+ } = {
12211
+ __proto__: null,
12212
+ ...options
12213
+ };
12214
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
12071
12215
  if (!sockSdkCResult.ok) {
12072
12216
  return sockSdkCResult;
12073
12217
  }
12074
12218
  const sockSdk = sockSdkCResult.data;
12219
+ const {
12220
+ branch,
12221
+ direction,
12222
+ from_time,
12223
+ orgSlug,
12224
+ page,
12225
+ perPage,
12226
+ repo,
12227
+ sort
12228
+ } = {
12229
+ __proto__: null,
12230
+ ...config
12231
+ };
12075
12232
  return await utils.handleApiCall(sockSdk.getOrgFullScanList(orgSlug, {
12076
12233
  ...(branch ? {
12077
12234
  branch
@@ -12081,10 +12238,12 @@ async function fetchListScans({
12081
12238
  } : {}),
12082
12239
  sort,
12083
12240
  direction,
12084
- per_page: String(per_page),
12241
+ per_page: String(perPage),
12085
12242
  page: String(page),
12086
12243
  from: from_time
12087
- }), 'list of scans');
12244
+ }), {
12245
+ desc: 'list of scans'
12246
+ });
12088
12247
  }
12089
12248
 
12090
12249
  // @ts-ignore
@@ -12141,17 +12300,17 @@ async function handleListScans({
12141
12300
  orgSlug,
12142
12301
  outputKind,
12143
12302
  page,
12144
- per_page,
12303
+ perPage,
12145
12304
  repo,
12146
12305
  sort
12147
12306
  }) {
12148
- const data = await fetchListScans({
12307
+ const data = await fetchOrgFullScanList({
12149
12308
  branch,
12150
12309
  direction,
12151
12310
  from_time,
12152
12311
  orgSlug,
12153
12312
  page,
12154
- per_page,
12313
+ perPage,
12155
12314
  repo,
12156
12315
  sort
12157
12316
  });
@@ -12311,19 +12470,27 @@ async function run$8(argv, importMeta, {
12311
12470
  orgSlug,
12312
12471
  outputKind,
12313
12472
  page: Number(cli.flags['page'] || 1),
12314
- per_page: Number(cli.flags['perPage'] || 30),
12473
+ perPage: Number(cli.flags['perPage'] || 30),
12315
12474
  repo: repo ? String(repo) : '',
12316
12475
  sort: String(cli.flags['sort'] || '')
12317
12476
  });
12318
12477
  }
12319
12478
 
12320
- async function fetchScanMetadata(orgSlug, scanId) {
12321
- const sockSdkCResult = await utils.setupSdk();
12479
+ async function fetchScanMetadata(orgSlug, scanId, options) {
12480
+ const {
12481
+ sdkOptions
12482
+ } = {
12483
+ __proto__: null,
12484
+ ...options
12485
+ };
12486
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
12322
12487
  if (!sockSdkCResult.ok) {
12323
12488
  return sockSdkCResult;
12324
12489
  }
12325
12490
  const sockSdk = sockSdkCResult.data;
12326
- return await utils.handleApiCall(sockSdk.getOrgFullScanMetadata(orgSlug, scanId), 'meta data for a full scan');
12491
+ return await utils.handleApiCall(sockSdk.getOrgFullScanMetadata(orgSlug, scanId), {
12492
+ desc: 'meta data for a full scan'
12493
+ });
12327
12494
  }
12328
12495
 
12329
12496
  async function outputScanMetadata(result, scanId, outputKind) {
@@ -13190,8 +13357,15 @@ async function handleScanView(orgSlug, scanId, filePath, outputKind) {
13190
13357
  await outputScanView(data, orgSlug, scanId, filePath, outputKind);
13191
13358
  }
13192
13359
 
13193
- async function streamScan(orgSlug, scanId, file) {
13194
- const sockSdkCResult = await utils.setupSdk();
13360
+ async function streamScan(orgSlug, scanId, options) {
13361
+ const {
13362
+ file,
13363
+ sdkOptions
13364
+ } = {
13365
+ __proto__: null,
13366
+ ...options
13367
+ };
13368
+ const sockSdkCResult = await utils.setupSdk(sdkOptions);
13195
13369
  if (!sockSdkCResult.ok) {
13196
13370
  return sockSdkCResult;
13197
13371
  }
@@ -13199,7 +13373,9 @@ async function streamScan(orgSlug, scanId, file) {
13199
13373
  logger.logger.info('Requesting data from API...');
13200
13374
 
13201
13375
  // Note: this will write to stdout or target file. It's not a noop
13202
- return await utils.handleApiCall(sockSdk.getOrgFullScan(orgSlug, scanId, file === '-' ? undefined : file), 'a scan');
13376
+ return await utils.handleApiCall(sockSdk.getOrgFullScan(orgSlug, scanId, file === '-' ? undefined : file), {
13377
+ desc: 'a scan'
13378
+ });
13203
13379
  }
13204
13380
 
13205
13381
  const {
@@ -13309,7 +13485,9 @@ async function run$3(argv, importMeta, {
13309
13485
  return;
13310
13486
  }
13311
13487
  if (json && stream) {
13312
- await streamScan(orgSlug, scanId, file);
13488
+ await streamScan(orgSlug, scanId, {
13489
+ file
13490
+ });
13313
13491
  } else {
13314
13492
  await handleScanView(orgSlug, scanId, file, outputKind);
13315
13493
  }
@@ -14345,5 +14523,5 @@ void (async () => {
14345
14523
  await utils.captureException(e);
14346
14524
  }
14347
14525
  })();
14348
- //# debugId=6c157721-65fa-49fb-ac36-a3c9bac032c6
14526
+ //# debugId=8e302883-9371-47ef-9c9a-742aa1ae2a85
14349
14527
  //# sourceMappingURL=cli.js.map