@resolveio/server-lib 22.3.129 → 22.3.130

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.
@@ -54,6 +54,7 @@ exports.buildResolveIOSupportIssueClassProbes = buildResolveIOSupportIssueClassP
54
54
  exports.hashResolveIOSupportV5Evidence = hashResolveIOSupportV5Evidence;
55
55
  exports.decideResolveIOSupportV5RepeatedFailureStop = decideResolveIOSupportV5RepeatedFailureStop;
56
56
  exports.changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles = changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles;
57
+ exports.decideResolveIOSupportV5RepairGate = decideResolveIOSupportV5RepairGate;
57
58
  exports.applyResolveIOSupportDiagnosisGateToMicrotasks = applyResolveIOSupportDiagnosisGateToMicrotasks;
58
59
  exports.fingerprintResolveIOSupportV5Blocker = fingerprintResolveIOSupportV5Blocker;
59
60
  exports.buildResolveIOSupportV5Budget = buildResolveIOSupportV5Budget;
@@ -590,6 +591,90 @@ function changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(diagnosisGate, c
590
591
  return true;
591
592
  });
592
593
  }
594
+ function decideResolveIOSupportV5RepairGate(input) {
595
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
596
+ var activeStepType = cleanText(input.activeStepType, 80);
597
+ var failureClass = cleanText(input.failureClass, 80).toLowerCase();
598
+ var diagnosisValidation = validateResolveIOSupportDiagnosisGate(input.diagnosisGate, {
599
+ maxOwnerFiles: input.maxOwnerFiles
600
+ });
601
+ var ownerFiles = ((_a = diagnosisValidation.normalized) === null || _a === void 0 ? void 0 : _a.owner_files) || [];
602
+ var outsideOwnerFiles = changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(diagnosisValidation.normalized || input.diagnosisGate, input.changedFiles, { allowTests: input.allowTestsOutsideOwnerFiles === true });
603
+ var repeatedFailure = ((_b = input.history) === null || _b === void 0 ? void 0 : _b.length) ? decideResolveIOSupportV5RepeatedFailureStop({
604
+ history: input.history,
605
+ failureClass: failureClass,
606
+ blocker: input.blocker,
607
+ evidence: input.evidence,
608
+ evidenceHash: input.evidenceHash,
609
+ limit: Math.max(1, Number(input.maxRepeatedNoProgress || 2) || 2),
610
+ ignoreInfra: true
611
+ }) : undefined;
612
+ if (repeatedFailure === null || repeatedFailure === void 0 ? void 0 : repeatedFailure.shouldStop) {
613
+ return {
614
+ action: 'park_repeated_failure',
615
+ canEditProductCode: false,
616
+ blockers: [repeatedFailure.reason],
617
+ ownerFiles: ownerFiles,
618
+ issueClass: (_c = diagnosisValidation.normalized) === null || _c === void 0 ? void 0 : _c.issue_class,
619
+ proofPlan: (_d = diagnosisValidation.normalized) === null || _d === void 0 ? void 0 : _d.proof_plan,
620
+ outsideOwnerFiles: outsideOwnerFiles,
621
+ repeatedFailure: repeatedFailure,
622
+ diagnosisValidation: diagnosisValidation
623
+ };
624
+ }
625
+ if (failureClass === 'infra' || failureClass === 'compile') {
626
+ return {
627
+ action: 'infra_repair_only',
628
+ canEditProductCode: false,
629
+ blockers: ['Infra/compile/Puppeteer/startup failures must be repaired in the harness lane before product-code repair.'],
630
+ ownerFiles: ownerFiles,
631
+ issueClass: (_e = diagnosisValidation.normalized) === null || _e === void 0 ? void 0 : _e.issue_class,
632
+ proofPlan: (_f = diagnosisValidation.normalized) === null || _f === void 0 ? void 0 : _f.proof_plan,
633
+ outsideOwnerFiles: outsideOwnerFiles,
634
+ repeatedFailure: repeatedFailure,
635
+ diagnosisValidation: diagnosisValidation
636
+ };
637
+ }
638
+ if (activeStepType === 'diagnosis_gate' || !diagnosisValidation.valid) {
639
+ return {
640
+ action: 'diagnose_only',
641
+ canEditProductCode: false,
642
+ blockers: diagnosisValidation.blockers.length
643
+ ? diagnosisValidation.blockers
644
+ : ['SupportDiagnosisGate is required before product-code repair.'],
645
+ ownerFiles: ownerFiles,
646
+ issueClass: (_g = diagnosisValidation.normalized) === null || _g === void 0 ? void 0 : _g.issue_class,
647
+ proofPlan: (_h = diagnosisValidation.normalized) === null || _h === void 0 ? void 0 : _h.proof_plan,
648
+ outsideOwnerFiles: outsideOwnerFiles,
649
+ repeatedFailure: repeatedFailure,
650
+ diagnosisValidation: diagnosisValidation
651
+ };
652
+ }
653
+ if (outsideOwnerFiles.length) {
654
+ return {
655
+ action: 'reject_out_of_scope',
656
+ canEditProductCode: false,
657
+ blockers: ["Changed files outside diagnosis owner_files; revise diagnosis with new evidence before broadening edits: ".concat(outsideOwnerFiles.join(', '))],
658
+ ownerFiles: ownerFiles,
659
+ issueClass: (_j = diagnosisValidation.normalized) === null || _j === void 0 ? void 0 : _j.issue_class,
660
+ proofPlan: (_k = diagnosisValidation.normalized) === null || _k === void 0 ? void 0 : _k.proof_plan,
661
+ outsideOwnerFiles: outsideOwnerFiles,
662
+ repeatedFailure: repeatedFailure,
663
+ diagnosisValidation: diagnosisValidation
664
+ };
665
+ }
666
+ return {
667
+ action: 'allow_product_repair',
668
+ canEditProductCode: true,
669
+ blockers: [],
670
+ ownerFiles: ownerFiles,
671
+ issueClass: (_l = diagnosisValidation.normalized) === null || _l === void 0 ? void 0 : _l.issue_class,
672
+ proofPlan: (_m = diagnosisValidation.normalized) === null || _m === void 0 ? void 0 : _m.proof_plan,
673
+ outsideOwnerFiles: outsideOwnerFiles,
674
+ repeatedFailure: repeatedFailure,
675
+ diagnosisValidation: diagnosisValidation
676
+ };
677
+ }
593
678
  function applyResolveIOSupportDiagnosisGateToMicrotasks(bundle, diagnosisGate) {
594
679
  var validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);
595
680
  var gate = validation.normalized;