mobbdev 1.4.47 → 1.4.48

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.
@@ -150,7 +150,7 @@ function getSdk(client, withWrapper = defaultWrapper) {
150
150
  }
151
151
  };
152
152
  }
153
- var AiBlameInferenceType, FixQuestionInputType, Language, ManifestAction, Effort_To_Apply_Fix_Enum, Fix_Rating_Tag_Enum, Fix_Report_State_Enum, Fix_State_Enum, IssueLanguage_Enum, Pr_Status_Enum, Project_Role_Type_Enum, Vulnerability_Report_Issue_Category_Enum, Vulnerability_Report_Issue_State_Enum, Vulnerability_Report_Issue_Tag_Enum, Vulnerability_Report_Vendor_Enum, Vulnerability_Severity_Enum, FixDetailsFragmentDoc, FixReportSummaryFieldsFragmentDoc, MeDocument, GetLastOrgAndNamedProjectDocument, GetLastOrgDocument, GetEncryptedApiTokenDocument, FixReportStateDocument, GetVulnerabilityReportPathsDocument, GetAnalysisSubscriptionDocument, GetAnalysisDocument, GetFixesDocument, GetVulByNodesMetadataDocument, GetFalsePositiveDocument, UpdateScmTokenDocument, UploadS3BucketInfoDocument, GetTracyDiffUploadUrlDocument, AnalyzeCommitForExtensionAiBlameDocument, GetAiBlameInferenceDocument, GetAiBlameAttributionPromptDocument, GetPromptSummaryDocument, UploadAiBlameInferencesInitDocument, FinalizeAiBlameInferencesUploadDocument, UploadTracyRecordsDocument, GetTracyRawDataUploadUrlDocument, DigestVulnerabilityReportDocument, SubmitVulnerabilityReportDocument, CreateCommunityUserDocument, CreateCliLoginDocument, PerformCliLoginDocument, SetQuarantineEnabledDocument, CreateProjectDocument, ValidateRepoUrlDocument, GitReferenceDocument, AutoPrAnalysisDocument, GetFixWithAnswersDocument, GetFixReportsByRepoUrlDocument, GetReportFixesDocument, GetLatestReportByRepoUrlDocument, UpdateDownloadedFixDataDocument, GetUserMvsAutoFixDocument, StreamBlameAiAnalysisRequestsDocument, StreamCommitBlameRequestsDocument, ScanSkillDocument, SkillVerdictsByMd5Document, LogMvsEventDocument, GetMvsProjectDocument, IssueTypesDocument, defaultWrapper;
153
+ var AiBlameInferenceType, FixQuestionInputType, Language, ManifestAction, Effort_To_Apply_Fix_Enum, Fix_Rating_Tag_Enum, Fix_Report_State_Enum, Fix_State_Enum, IssueLanguage_Enum, Pr_Status_Enum, Project_Role_Type_Enum, Scan_Source_Enum, Vulnerability_Report_Issue_Category_Enum, Vulnerability_Report_Issue_State_Enum, Vulnerability_Report_Issue_Tag_Enum, Vulnerability_Report_Vendor_Enum, Vulnerability_Severity_Enum, FixDetailsFragmentDoc, FixReportSummaryFieldsFragmentDoc, MeDocument, GetLastOrgAndNamedProjectDocument, GetLastOrgDocument, GetEncryptedApiTokenDocument, FixReportStateDocument, GetVulnerabilityReportPathsDocument, GetAnalysisSubscriptionDocument, GetAnalysisDocument, GetFixesDocument, GetVulByNodesMetadataDocument, GetFalsePositiveDocument, UpdateScmTokenDocument, UploadS3BucketInfoDocument, GetTracyDiffUploadUrlDocument, AnalyzeCommitForExtensionAiBlameDocument, GetAiBlameInferenceDocument, GetAiBlameAttributionPromptDocument, GetPromptSummaryDocument, UploadAiBlameInferencesInitDocument, FinalizeAiBlameInferencesUploadDocument, UploadTracyRecordsDocument, GetTracyRawDataUploadUrlDocument, DigestVulnerabilityReportDocument, SubmitVulnerabilityReportDocument, CreateCommunityUserDocument, CreateCliLoginDocument, PerformCliLoginDocument, SetQuarantineEnabledDocument, CreateProjectDocument, ValidateRepoUrlDocument, GitReferenceDocument, AutoPrAnalysisDocument, GetFixWithAnswersDocument, GetFixReportsByRepoUrlDocument, GetReportFixesDocument, GetLatestReportByRepoUrlDocument, UpdateDownloadedFixDataDocument, GetUserMvsAutoFixDocument, StreamBlameAiAnalysisRequestsDocument, StreamCommitBlameRequestsDocument, ScanSkillDocument, SkillVerdictsByMd5Document, LogMvsEventDocument, GetMvsProjectDocument, IssueTypesDocument, defaultWrapper;
154
154
  var init_client_generates = __esm({
155
155
  "src/features/analysis/scm/generates/client_generates.ts"() {
156
156
  "use strict";
@@ -250,6 +250,25 @@ var init_client_generates = __esm({
250
250
  Project_Role_Type_Enum2["Writer"] = "writer";
251
251
  return Project_Role_Type_Enum2;
252
252
  })(Project_Role_Type_Enum || {});
253
+ Scan_Source_Enum = /* @__PURE__ */ ((Scan_Source_Enum2) => {
254
+ Scan_Source_Enum2["Aspm"] = "ASPM";
255
+ Scan_Source_Enum2["AutoFixer"] = "AUTO_FIXER";
256
+ Scan_Source_Enum2["CiAzure"] = "CI_AZURE";
257
+ Scan_Source_Enum2["CiBamboo"] = "CI_BAMBOO";
258
+ Scan_Source_Enum2["CiCircleci"] = "CI_CIRCLECI";
259
+ Scan_Source_Enum2["CiGithub"] = "CI_GITHUB";
260
+ Scan_Source_Enum2["CiGitlab"] = "CI_GITLAB";
261
+ Scan_Source_Enum2["CiJenkins"] = "CI_JENKINS";
262
+ Scan_Source_Enum2["CiUnknown"] = "CI_UNKNOWN";
263
+ Scan_Source_Enum2["Cli"] = "CLI";
264
+ Scan_Source_Enum2["Mcp"] = "MCP";
265
+ Scan_Source_Enum2["WebUiCheckmarxIntegration"] = "WEB_UI_CHECKMARX_INTEGRATION";
266
+ Scan_Source_Enum2["WebUiFixOwnCode"] = "WEB_UI_FIX_OWN_CODE";
267
+ Scan_Source_Enum2["WebUiOnboarding"] = "WEB_UI_ONBOARDING";
268
+ Scan_Source_Enum2["WebUiRerunAnalysis"] = "WEB_UI_RERUN_ANALYSIS";
269
+ Scan_Source_Enum2["WebUiTryNow"] = "WEB_UI_TRY_NOW";
270
+ return Scan_Source_Enum2;
271
+ })(Scan_Source_Enum || {});
253
272
  Vulnerability_Report_Issue_Category_Enum = /* @__PURE__ */ ((Vulnerability_Report_Issue_Category_Enum2) => {
254
273
  Vulnerability_Report_Issue_Category_Enum2["FalsePositive"] = "FalsePositive";
255
274
  Vulnerability_Report_Issue_Category_Enum2["Filtered"] = "Filtered";
@@ -481,6 +500,7 @@ var init_client_generates = __esm({
481
500
  organization {
482
501
  id
483
502
  enableV2Fixes
503
+ isFixEnabled
484
504
  projects(where: {name: {_eq: $projectName}}) {
485
505
  name
486
506
  id
@@ -500,6 +520,7 @@ var init_client_generates = __esm({
500
520
  organization {
501
521
  id
502
522
  enableV2Fixes
523
+ isFixEnabled
503
524
  }
504
525
  }
505
526
  }
@@ -1895,6 +1916,8 @@ var init_types = __esm({
1895
1916
  reportSummaryUrl: z7.url().nullish(),
1896
1917
  computedVendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1897
1918
  vendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1919
+ // Lets the waiting screen distinguish a first scan from a rescan.
1920
+ scanSource: z7.enum(Scan_Source_Enum).nullable(),
1898
1921
  issuesWithKnownLanguage: z7.number().nullable(),
1899
1922
  scanDate: z7.string().nullable(),
1900
1923
  vendorReportId: z7.guid().nullable(),
@@ -5107,7 +5130,10 @@ var GQLClient = class {
5107
5130
  return {
5108
5131
  organizationId: organization.id,
5109
5132
  projectId,
5110
- enableV2Fixes: organization.enableV2Fixes === true
5133
+ enableV2Fixes: organization.enableV2Fixes === true,
5134
+ // NULL means "unset" and keeps the fix-enabled behaviour; only an
5135
+ // explicit false puts the org in SAST-only mode.
5136
+ isFixEnabled: organization.isFixEnabled !== false
5111
5137
  };
5112
5138
  }
5113
5139
  async getEncryptedApiToken(variables) {
package/dist/index.mjs CHANGED
@@ -150,7 +150,7 @@ function getSdk(client, withWrapper = defaultWrapper) {
150
150
  }
151
151
  };
152
152
  }
153
- var AiBlameInferenceType, FixQuestionInputType, Language, ManifestAction, Effort_To_Apply_Fix_Enum, Fix_Rating_Tag_Enum, Fix_Report_State_Enum, Fix_State_Enum, IssueLanguage_Enum, Pr_Status_Enum, Project_Role_Type_Enum, Vulnerability_Report_Issue_Category_Enum, Vulnerability_Report_Issue_State_Enum, Vulnerability_Report_Issue_Tag_Enum, Vulnerability_Report_Vendor_Enum, Vulnerability_Severity_Enum, FixDetailsFragmentDoc, FixReportSummaryFieldsFragmentDoc, MeDocument, GetLastOrgAndNamedProjectDocument, GetLastOrgDocument, GetEncryptedApiTokenDocument, FixReportStateDocument, GetVulnerabilityReportPathsDocument, GetAnalysisSubscriptionDocument, GetAnalysisDocument, GetFixesDocument, GetVulByNodesMetadataDocument, GetFalsePositiveDocument, UpdateScmTokenDocument, UploadS3BucketInfoDocument, GetTracyDiffUploadUrlDocument, AnalyzeCommitForExtensionAiBlameDocument, GetAiBlameInferenceDocument, GetAiBlameAttributionPromptDocument, GetPromptSummaryDocument, UploadAiBlameInferencesInitDocument, FinalizeAiBlameInferencesUploadDocument, UploadTracyRecordsDocument, GetTracyRawDataUploadUrlDocument, DigestVulnerabilityReportDocument, SubmitVulnerabilityReportDocument, CreateCommunityUserDocument, CreateCliLoginDocument, PerformCliLoginDocument, SetQuarantineEnabledDocument, CreateProjectDocument, ValidateRepoUrlDocument, GitReferenceDocument, AutoPrAnalysisDocument, GetFixWithAnswersDocument, GetFixReportsByRepoUrlDocument, GetReportFixesDocument, GetLatestReportByRepoUrlDocument, UpdateDownloadedFixDataDocument, GetUserMvsAutoFixDocument, StreamBlameAiAnalysisRequestsDocument, StreamCommitBlameRequestsDocument, ScanSkillDocument, SkillVerdictsByMd5Document, LogMvsEventDocument, GetMvsProjectDocument, IssueTypesDocument, defaultWrapper;
153
+ var AiBlameInferenceType, FixQuestionInputType, Language, ManifestAction, Effort_To_Apply_Fix_Enum, Fix_Rating_Tag_Enum, Fix_Report_State_Enum, Fix_State_Enum, IssueLanguage_Enum, Pr_Status_Enum, Project_Role_Type_Enum, Scan_Source_Enum, Vulnerability_Report_Issue_Category_Enum, Vulnerability_Report_Issue_State_Enum, Vulnerability_Report_Issue_Tag_Enum, Vulnerability_Report_Vendor_Enum, Vulnerability_Severity_Enum, FixDetailsFragmentDoc, FixReportSummaryFieldsFragmentDoc, MeDocument, GetLastOrgAndNamedProjectDocument, GetLastOrgDocument, GetEncryptedApiTokenDocument, FixReportStateDocument, GetVulnerabilityReportPathsDocument, GetAnalysisSubscriptionDocument, GetAnalysisDocument, GetFixesDocument, GetVulByNodesMetadataDocument, GetFalsePositiveDocument, UpdateScmTokenDocument, UploadS3BucketInfoDocument, GetTracyDiffUploadUrlDocument, AnalyzeCommitForExtensionAiBlameDocument, GetAiBlameInferenceDocument, GetAiBlameAttributionPromptDocument, GetPromptSummaryDocument, UploadAiBlameInferencesInitDocument, FinalizeAiBlameInferencesUploadDocument, UploadTracyRecordsDocument, GetTracyRawDataUploadUrlDocument, DigestVulnerabilityReportDocument, SubmitVulnerabilityReportDocument, CreateCommunityUserDocument, CreateCliLoginDocument, PerformCliLoginDocument, SetQuarantineEnabledDocument, CreateProjectDocument, ValidateRepoUrlDocument, GitReferenceDocument, AutoPrAnalysisDocument, GetFixWithAnswersDocument, GetFixReportsByRepoUrlDocument, GetReportFixesDocument, GetLatestReportByRepoUrlDocument, UpdateDownloadedFixDataDocument, GetUserMvsAutoFixDocument, StreamBlameAiAnalysisRequestsDocument, StreamCommitBlameRequestsDocument, ScanSkillDocument, SkillVerdictsByMd5Document, LogMvsEventDocument, GetMvsProjectDocument, IssueTypesDocument, defaultWrapper;
154
154
  var init_client_generates = __esm({
155
155
  "src/features/analysis/scm/generates/client_generates.ts"() {
156
156
  "use strict";
@@ -250,6 +250,25 @@ var init_client_generates = __esm({
250
250
  Project_Role_Type_Enum2["Writer"] = "writer";
251
251
  return Project_Role_Type_Enum2;
252
252
  })(Project_Role_Type_Enum || {});
253
+ Scan_Source_Enum = /* @__PURE__ */ ((Scan_Source_Enum2) => {
254
+ Scan_Source_Enum2["Aspm"] = "ASPM";
255
+ Scan_Source_Enum2["AutoFixer"] = "AUTO_FIXER";
256
+ Scan_Source_Enum2["CiAzure"] = "CI_AZURE";
257
+ Scan_Source_Enum2["CiBamboo"] = "CI_BAMBOO";
258
+ Scan_Source_Enum2["CiCircleci"] = "CI_CIRCLECI";
259
+ Scan_Source_Enum2["CiGithub"] = "CI_GITHUB";
260
+ Scan_Source_Enum2["CiGitlab"] = "CI_GITLAB";
261
+ Scan_Source_Enum2["CiJenkins"] = "CI_JENKINS";
262
+ Scan_Source_Enum2["CiUnknown"] = "CI_UNKNOWN";
263
+ Scan_Source_Enum2["Cli"] = "CLI";
264
+ Scan_Source_Enum2["Mcp"] = "MCP";
265
+ Scan_Source_Enum2["WebUiCheckmarxIntegration"] = "WEB_UI_CHECKMARX_INTEGRATION";
266
+ Scan_Source_Enum2["WebUiFixOwnCode"] = "WEB_UI_FIX_OWN_CODE";
267
+ Scan_Source_Enum2["WebUiOnboarding"] = "WEB_UI_ONBOARDING";
268
+ Scan_Source_Enum2["WebUiRerunAnalysis"] = "WEB_UI_RERUN_ANALYSIS";
269
+ Scan_Source_Enum2["WebUiTryNow"] = "WEB_UI_TRY_NOW";
270
+ return Scan_Source_Enum2;
271
+ })(Scan_Source_Enum || {});
253
272
  Vulnerability_Report_Issue_Category_Enum = /* @__PURE__ */ ((Vulnerability_Report_Issue_Category_Enum2) => {
254
273
  Vulnerability_Report_Issue_Category_Enum2["FalsePositive"] = "FalsePositive";
255
274
  Vulnerability_Report_Issue_Category_Enum2["Filtered"] = "Filtered";
@@ -481,6 +500,7 @@ var init_client_generates = __esm({
481
500
  organization {
482
501
  id
483
502
  enableV2Fixes
503
+ isFixEnabled
484
504
  projects(where: {name: {_eq: $projectName}}) {
485
505
  name
486
506
  id
@@ -500,6 +520,7 @@ var init_client_generates = __esm({
500
520
  organization {
501
521
  id
502
522
  enableV2Fixes
523
+ isFixEnabled
503
524
  }
504
525
  }
505
526
  }
@@ -1940,6 +1961,8 @@ var init_types = __esm({
1940
1961
  reportSummaryUrl: z7.url().nullish(),
1941
1962
  computedVendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1942
1963
  vendor: z7.enum(Vulnerability_Report_Vendor_Enum).nullable(),
1964
+ // Lets the waiting screen distinguish a first scan from a rescan.
1965
+ scanSource: z7.enum(Scan_Source_Enum).nullable(),
1943
1966
  issuesWithKnownLanguage: z7.number().nullable(),
1944
1967
  scanDate: z7.string().nullable(),
1945
1968
  vendorReportId: z7.guid().nullable(),
@@ -11847,7 +11870,10 @@ var GQLClient = class {
11847
11870
  return {
11848
11871
  organizationId: organization.id,
11849
11872
  projectId,
11850
- enableV2Fixes: organization.enableV2Fixes === true
11873
+ enableV2Fixes: organization.enableV2Fixes === true,
11874
+ // NULL means "unset" and keeps the fix-enabled behaviour; only an
11875
+ // explicit false puts the org in SAST-only mode.
11876
+ isFixEnabled: organization.isFixEnabled !== false
11851
11877
  };
11852
11878
  }
11853
11879
  async getEncryptedApiToken(variables) {
@@ -15068,7 +15094,7 @@ async function _scan(params, { skipPrompts = false } = {}) {
15068
15094
  pullRequest,
15069
15095
  polling,
15070
15096
  baselineCommit,
15071
- scanOnly
15097
+ scanOnly: requestedScanOnly
15072
15098
  } = params;
15073
15099
  debug22("start %s %s", dirname, repo);
15074
15100
  const { createSpinner: createSpinner5 } = Spinner2({ ci });
@@ -15084,11 +15110,20 @@ async function _scan(params, { skipPrompts = false } = {}) {
15084
15110
  const {
15085
15111
  projectId,
15086
15112
  organizationId,
15087
- enableV2Fixes: orgEnableV2Fixes
15113
+ enableV2Fixes: orgEnableV2Fixes,
15114
+ isFixEnabled: orgIsFixEnabled
15088
15115
  } = await gqlClient.getLastOrgAndNamedProject({
15089
15116
  projectName: mobbProjectName,
15090
15117
  userDefinedOrganizationId: userOrganizationId
15091
15118
  });
15119
+ const scanOnly = requestedScanOnly || !orgIsFixEnabled;
15120
+ if (scanOnly && !requestedScanOnly) {
15121
+ console.log(
15122
+ chalk7.yellow(
15123
+ "\u2139\uFE0F Your organization is on Mobb Scan (scan-only): issues will be found and reported, but no fixes are generated. Contact support to enable Mobb Fixer."
15124
+ )
15125
+ );
15126
+ }
15092
15127
  const {
15093
15128
  uploadS3BucketInfo: { repoUploadInfo, reportUploadInfo }
15094
15129
  } = await gqlClient.uploadS3BucketInfo();
@@ -18282,7 +18317,7 @@ function createLogger(config2) {
18282
18317
 
18283
18318
  // src/features/claude_code/hook_logger.ts
18284
18319
  var DD_RUM_TOKEN = true ? "pubf59c0182545bfb4c299175119f1abf9b" : "";
18285
- var CLI_VERSION = true ? "1.4.47" : "unknown";
18320
+ var CLI_VERSION = true ? "1.4.48" : "unknown";
18286
18321
  var NAMESPACE = "mobbdev-claude-code-hook-logs";
18287
18322
  var claudeCodeVersion;
18288
18323
  function buildDdTags() {
@@ -20056,6 +20091,7 @@ var partitionInteractiveFixes = (fixes) => {
20056
20091
  };
20057
20092
 
20058
20093
  // src/mcp/services/McpGQLClient.ts
20094
+ var MVS_SCAN_ONLY_ERROR = "Mobb Vibe Shield is not available for your organization: it is on Mobb Scan (scan-only), which reports issues but does not generate fixes. Contact support to enable Mobb Fixer.";
20059
20095
  var McpGQLClient = class extends GQLClient {
20060
20096
  constructor(args) {
20061
20097
  super({
@@ -20235,12 +20271,16 @@ var McpGQLClient = class extends GQLClient {
20235
20271
  throw new Error("User email not found");
20236
20272
  }
20237
20273
  const orgRes = await this._clientSdk.getLastOrg({ email: userEmail });
20238
- const organizationId = orgRes.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization?.id;
20274
+ const organization = orgRes.user?.[0]?.userOrganizationsAndUserOrganizationRoles?.[0]?.organization;
20275
+ const organizationId = organization?.id;
20239
20276
  if (!organizationId) {
20240
20277
  throw new Error(
20241
20278
  `The user with email:${userEmail} is not associated with any organization`
20242
20279
  );
20243
20280
  }
20281
+ if (organization.isFixEnabled === false) {
20282
+ throw new Error(MVS_SCAN_ONLY_ERROR);
20283
+ }
20244
20284
  const mvsRes = await this._clientSdk.getMvsProject({ organizationId });
20245
20285
  const projectId = mvsRes.getMvsProject?.projectId;
20246
20286
  if (!projectId) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobbdev",
3
- "version": "1.4.47",
3
+ "version": "1.4.48",
4
4
  "description": "Automated secure code remediation tool",
5
5
  "repository": "git+https://github.com/mobb-dev/bugsy.git",
6
6
  "main": "dist/index.mjs",