@resolveio/server-lib 22.3.215 → 22.3.217

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "22.3.215",
3
+ "version": "22.3.217",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",
@@ -148,6 +148,12 @@ function cleanListEntryText(value, max) {
148
148
  'source_file',
149
149
  'artifactPath',
150
150
  'artifact_path',
151
+ 'request_classification',
152
+ 'requestClassification',
153
+ 'classification_rationale',
154
+ 'classificationRationale',
155
+ 'behavior_type',
156
+ 'behaviorType',
151
157
  'summary',
152
158
  'detail',
153
159
  'message',
@@ -155,6 +161,12 @@ function cleanListEntryText(value, max) {
155
161
  'rationale',
156
162
  'proof_required',
157
163
  'proofRequired',
164
+ 'reported',
165
+ 'verified',
166
+ 'reported_path',
167
+ 'reportedPath',
168
+ 'verified_path',
169
+ 'verifiedPath',
158
170
  'rejection_reason',
159
171
  'rejectionReason',
160
172
  'reason',
@@ -938,6 +950,10 @@ function normalizeIssueClass(value) {
938
950
  customer_inquiry: 'missing_wrong_data',
939
951
  data_mismatch: 'missing_wrong_data',
940
952
  warehouse_mismatch: 'missing_wrong_data',
953
+ data_visibility_mapping: 'missing_wrong_data',
954
+ data_mapping: 'missing_wrong_data',
955
+ visibility_mapping: 'missing_wrong_data',
956
+ display_mapping: 'missing_wrong_data',
941
957
  route_auth: 'route_auth_hydration',
942
958
  auth_hydration: 'route_auth_hydration',
943
959
  route_auth_hydration: 'route_auth_hydration',
@@ -950,7 +966,13 @@ function normalizeIssueClass(value) {
950
966
  requested_behavior_change: 'missing_wrong_data',
951
967
  new_feature: 'missing_wrong_data'
952
968
  };
953
- return aliases[normalized] || '';
969
+ if (aliases[normalized]) {
970
+ return aliases[normalized];
971
+ }
972
+ if (/\b(data|field|value|visibility|mapping|display|warehouse|quantity|inventory)\b/i.test(normalized)) {
973
+ return 'missing_wrong_data';
974
+ }
975
+ return '';
954
976
  }
955
977
  function normalizeReproductionStatus(value) {
956
978
  var normalized = cleanText(value, 80).toLowerCase();
@@ -1050,8 +1072,8 @@ function normalizeSupportDiagnosisEvidence(values, ownerFiles) {
1050
1072
  .filter(function (entry) { return entry && typeof entry === 'object' && !Array.isArray(entry); })
1051
1073
  .map(function (entry) {
1052
1074
  var type = cleanText(entry.type, 80).toLowerCase();
1053
- var artifactPath = cleanText(entry.artifactPath || entry.artifact_path || entry.path || entry.file, 500);
1054
- var summary = cleanText(entry.summary || entry.detail || entry.message || entry.evidence || entry.reason || entry.rejection_reason || entry.rejectionReason || entry.fact || entry.description || entry.proof_required || entry.proofRequired, 1200)
1075
+ var artifactPath = cleanText(entry.artifactPath || entry.artifact_path || entry.artifact || entry.path || entry.file, 500);
1076
+ var summary = cleanText(entry.summary || entry.detail || entry.message || entry.evidence || entry.reason || entry.rejection_reason || entry.rejectionReason || entry.fact || entry.finding || entry.description || entry.proof || entry.proof_required || entry.proofRequired, 1200)
1055
1077
  || (artifactPath ? "Evidence from ".concat(artifactPath) : '');
1056
1078
  var evidenceText = [summary, artifactPath].filter(Boolean).join(' ');
1057
1079
  var inferredType = (function () {
@@ -1755,10 +1777,17 @@ function supportDiagnosisNarrativeText(value, max) {
1755
1777
  return "".concat(hypothesis, " rejected because ").concat(whyRejected).slice(0, max);
1756
1778
  }
1757
1779
  var direct = pickText(source, [
1780
+ 'request_classification',
1781
+ 'requestClassification',
1782
+ 'classification_rationale',
1783
+ 'classificationRationale',
1784
+ 'behavior_type',
1785
+ 'behaviorType',
1758
1786
  'summary',
1759
1787
  'detail',
1760
1788
  'description',
1761
1789
  'rationale',
1790
+ 'why',
1762
1791
  'statement',
1763
1792
  'issue_case',
1764
1793
  'issueCase',
@@ -1771,6 +1800,11 @@ function supportDiagnosisNarrativeText(value, max) {
1771
1800
  'route',
1772
1801
  'path_chain',
1773
1802
  'pathChain',
1803
+ 'chain',
1804
+ 'visibility_gate_trace',
1805
+ 'visibilityGateTrace',
1806
+ 'reported',
1807
+ 'verified',
1774
1808
  'reported_path',
1775
1809
  'reportedPath',
1776
1810
  'verified_path',
@@ -1790,7 +1824,24 @@ function supportDiagnosisNarrativeText(value, max) {
1790
1824
  var routeModulePermission = cleanText(source.route_module_permission_gate || source.routeModulePermissionGate, Math.floor(max / 2));
1791
1825
  var templateGate = cleanText(source.template_conditional_rendering_gate || source.templateConditionalRenderingGate, Math.floor(max / 2));
1792
1826
  var backingGate = cleanText(source.backing_role_group_config_publications_gate || source.backingRoleGroupConfigPublicationsGate, Math.floor(max / 2));
1793
- return [routeModulePermission, templateGate, backingGate].filter(Boolean).join(' | ').slice(0, max);
1827
+ var explicitGateText = [routeModulePermission, templateGate, backingGate].filter(Boolean).join(' | ').slice(0, max);
1828
+ if (explicitGateText) {
1829
+ return explicitGateText;
1830
+ }
1831
+ return Object.entries(source)
1832
+ .filter(function (_a) {
1833
+ var _b = __read(_a, 1), key = _b[0];
1834
+ return !/^(id|_id|type|status|updatedAt|updated_at|createdAt|created_at)$/i.test(key);
1835
+ })
1836
+ .map(function (_a) {
1837
+ var _b = __read(_a, 2), entry = _b[1];
1838
+ return cleanListEntryText(entry, Math.max(80, Math.floor(max / 4)));
1839
+ })
1840
+ .filter(Boolean)
1841
+ .join(' | ')
1842
+ .replace(/\s+/g, ' ')
1843
+ .trim()
1844
+ .slice(0, max);
1794
1845
  }
1795
1846
  function supportDiagnosisLooksLikeClassifiedFeatureRequest(source, issueCaseText, failingPathText, hypothesisText) {
1796
1847
  var classificationText = supportDiagnosisNarrativeText(source.classification || source.classification_reason || source.classificationReason, 700);
@@ -1843,7 +1894,7 @@ function normalizeSupportDiagnosisProofPlanRows(values) {
1843
1894
  var row = values_4_1.value;
1844
1895
  var source = cleanObject(row);
1845
1896
  var action = pickText(source, ['action', 'step', 'browser_action', 'browserAction', 'task'], 500) || supportDiagnosisNarrativeText(row, 500);
1846
- var proof = pickText(source, ['proof_required', 'proofRequired', 'expected', 'expected_result', 'expectedResult', 'assertion', 'business_assertion', 'businessAssertion'], 700);
1897
+ var proof = pickText(source, ['proof', 'proof_required', 'proofRequired', 'expected', 'expected_result', 'expectedResult', 'assertion', 'business_assertion', 'businessAssertion'], 700);
1847
1898
  if (action) {
1848
1899
  actions.push(action);
1849
1900
  }
@@ -1866,8 +1917,81 @@ function normalizeSupportDiagnosisProofPlanRows(values) {
1866
1917
  data_assertion: proofRequired.join(' | ').slice(0, 1000)
1867
1918
  };
1868
1919
  }
1920
+ function collectSupportDiagnosisTextListFromValues(values, limit, max) {
1921
+ var e_8, _a, e_9, _b, e_10, _c, e_11, _d;
1922
+ if (limit === void 0) { limit = 10; }
1923
+ if (max === void 0) { max = 800; }
1924
+ var result = [];
1925
+ try {
1926
+ for (var values_5 = __values(values), values_5_1 = values_5.next(); !values_5_1.done; values_5_1 = values_5.next()) {
1927
+ var value = values_5_1.value;
1928
+ var direct = cleanList(value, limit, max);
1929
+ try {
1930
+ for (var direct_1 = (e_9 = void 0, __values(direct)), direct_1_1 = direct_1.next(); !direct_1_1.done; direct_1_1 = direct_1.next()) {
1931
+ var entry = direct_1_1.value;
1932
+ if (entry && !result.includes(entry)) {
1933
+ result.push(entry);
1934
+ }
1935
+ }
1936
+ }
1937
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
1938
+ finally {
1939
+ try {
1940
+ if (direct_1_1 && !direct_1_1.done && (_b = direct_1.return)) _b.call(direct_1);
1941
+ }
1942
+ finally { if (e_9) throw e_9.error; }
1943
+ }
1944
+ if (value && typeof value === 'object' && !Array.isArray(value)) {
1945
+ try {
1946
+ for (var _e = (e_10 = void 0, __values(Object.entries(value))), _f = _e.next(); !_f.done; _f = _e.next()) {
1947
+ var _g = __read(_f.value, 2), key = _g[0], nestedValue = _g[1];
1948
+ if (!/(evidence|proof|ref|source|code|artifact|fact)/i.test(key)) {
1949
+ continue;
1950
+ }
1951
+ var nestedEntries = Array.isArray(nestedValue)
1952
+ ? cleanList(nestedValue, limit, max)
1953
+ : [cleanListEntryText(nestedValue, max)].filter(Boolean);
1954
+ try {
1955
+ for (var nestedEntries_1 = (e_11 = void 0, __values(nestedEntries)), nestedEntries_1_1 = nestedEntries_1.next(); !nestedEntries_1_1.done; nestedEntries_1_1 = nestedEntries_1.next()) {
1956
+ var entry = nestedEntries_1_1.value;
1957
+ if (entry && !result.includes(entry)) {
1958
+ result.push(entry);
1959
+ }
1960
+ }
1961
+ }
1962
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
1963
+ finally {
1964
+ try {
1965
+ if (nestedEntries_1_1 && !nestedEntries_1_1.done && (_d = nestedEntries_1.return)) _d.call(nestedEntries_1);
1966
+ }
1967
+ finally { if (e_11) throw e_11.error; }
1968
+ }
1969
+ }
1970
+ }
1971
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
1972
+ finally {
1973
+ try {
1974
+ if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
1975
+ }
1976
+ finally { if (e_10) throw e_10.error; }
1977
+ }
1978
+ }
1979
+ if (result.length >= limit) {
1980
+ break;
1981
+ }
1982
+ }
1983
+ }
1984
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
1985
+ finally {
1986
+ try {
1987
+ if (values_5_1 && !values_5_1.done && (_a = values_5.return)) _a.call(values_5);
1988
+ }
1989
+ finally { if (e_8) throw e_8.error; }
1990
+ }
1991
+ return result.slice(0, limit);
1992
+ }
1869
1993
  function normalizeOwnerFilePath(value) {
1870
- var e_8, _a;
1994
+ var e_12, _a;
1871
1995
  var normalized = cleanListEntryText(value, 500)
1872
1996
  .replace(/\\/g, '/')
1873
1997
  .replace(/^\.\/+/, '')
@@ -1893,12 +2017,12 @@ function normalizeOwnerFilePath(value) {
1893
2017
  }
1894
2018
  }
1895
2019
  }
1896
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
2020
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
1897
2021
  finally {
1898
2022
  try {
1899
2023
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1900
2024
  }
1901
- finally { if (e_8) throw e_8.error; }
2025
+ finally { if (e_12) throw e_12.error; }
1902
2026
  }
1903
2027
  return normalized;
1904
2028
  }
@@ -1907,7 +2031,7 @@ function isResolveIOSupportGeneratedAngularWrapperPath(value) {
1907
2031
  return /(?:^|\/)angular\/app\/(?:methods|publications)\.ts$/i.test(normalized);
1908
2032
  }
1909
2033
  function ownerFileComparablePathKeys(value) {
1910
- var e_9, _a;
2034
+ var e_13, _a;
1911
2035
  var normalized = normalizeOwnerFilePath(value);
1912
2036
  if (!normalized) {
1913
2037
  return [];
@@ -1929,12 +2053,12 @@ function ownerFileComparablePathKeys(value) {
1929
2053
  }
1930
2054
  }
1931
2055
  }
1932
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
2056
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
1933
2057
  finally {
1934
2058
  try {
1935
2059
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1936
2060
  }
1937
- finally { if (e_9) throw e_9.error; }
2061
+ finally { if (e_13) throw e_13.error; }
1938
2062
  }
1939
2063
  return Array.from(keys);
1940
2064
  }
@@ -2382,7 +2506,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
2382
2506
  ].filter(Boolean).join(' '), 1200);
2383
2507
  var routeModule = pickText(issueCaseSource, ['route_module', 'routeModule', 'route', 'module', 'screen'], 500)
2384
2508
  || pickText(source, ['route_module', 'routeModule', 'module', 'screen'], 500)
2385
- || pickText(failingPathSource, ['route', 'module', 'path', 'description', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath'], 500)
2509
+ || pickText(failingPathSource, ['route', 'module', 'path', 'description', 'reported', 'verified', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath'], 500)
2386
2510
  || failingPathText
2387
2511
  || (featureRequestClassified ? 'net-new support feature workflow' : '');
2388
2512
  var expectedResult = pickText(issueCaseSource, ['expected_result', 'expectedResult', 'expected'], 1000)
@@ -2399,6 +2523,16 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
2399
2523
  || (featureRequestClassified ? 'Customer/account context from support ticket intake.' : '');
2400
2524
  var rawReproductionStatus = issueCaseSource.reproduction_status || issueCaseSource.reproductionStatus || source.reproduction_status;
2401
2525
  var hasRuntimeReproductionEvidence = diagnosisEvidence.some(function (entry) { return SUPPORT_REPRODUCTION_EVIDENCE_TYPES.has(entry.type); });
2526
+ var explicitHypothesisEvidence = collectSupportDiagnosisTextListFromValues([
2527
+ hypothesisSource.evidence,
2528
+ hypothesisSource.evidence_refs,
2529
+ hypothesisSource.evidenceRefs,
2530
+ hypothesisSource.code_evidence,
2531
+ hypothesisSource.codeEvidence,
2532
+ source.hypothesis_evidence,
2533
+ source.hypothesisEvidence,
2534
+ hypothesisSource
2535
+ ], 10, 800);
2402
2536
  var gate = {
2403
2537
  issue_case: {
2404
2538
  customer_complaint: explicitCustomerComplaint || customerIssueCaseText,
@@ -2417,8 +2551,8 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
2417
2551
  || hypothesisText,
2418
2552
  falsifiable_test: pickText(hypothesisSource, ['falsifiable_test', 'falsifiableTest', 'test', 'proof', 'falsifier'], 1000)
2419
2553
  || (failingPathText ? "Verify the accepted hypothesis against the failing path evidence: ".concat(failingPathText) : ''),
2420
- evidence: cleanList(hypothesisSource.evidence || hypothesisSource.evidence_refs || hypothesisSource.evidenceRefs || source.hypothesis_evidence || source.hypothesisEvidence, 10, 800).length
2421
- ? cleanList(hypothesisSource.evidence || hypothesisSource.evidence_refs || hypothesisSource.evidenceRefs || source.hypothesis_evidence || source.hypothesisEvidence, 10, 800)
2554
+ evidence: explicitHypothesisEvidence.length
2555
+ ? explicitHypothesisEvidence
2422
2556
  : diagnosisEvidence.map(function (entry) { return [entry.artifactPath, entry.summary].filter(Boolean).join(': '); }).filter(Boolean).slice(0, 10)
2423
2557
  },
2424
2558
  rejected_alternatives: normalizeSupportDiagnosisRejectedAlternatives(source.rejected_alternatives || source.rejectedAlternatives),
@@ -2427,7 +2561,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
2427
2561
  backend: pickText(failingPathSource, ['backend', 'backend_path', 'backendPath', 'methodPublicationPath'], 700),
2428
2562
  shared_library: pickText(failingPathSource, ['shared_library', 'sharedLibrary', 'library', 'lib'], 700),
2429
2563
  data_query: pickText(failingPathSource, ['data_query', 'dataQuery', 'query'], 700),
2430
- description: pickText(failingPathSource, ['description', 'path_chain', 'pathChain', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath', 'path', 'assessment', 'summary', 'route'], 1200) || failingPathText
2564
+ description: pickText(failingPathSource, ['description', 'path_chain', 'pathChain', 'chain', 'visibility_gate_trace', 'visibilityGateTrace', 'reported', 'verified', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath', 'path', 'assessment', 'summary', 'route'], 1200) || failingPathText
2431
2565
  },
2432
2566
  owner_files: ownerFiles,
2433
2567
  proof_plan: {
@@ -2453,7 +2587,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
2453
2587
  return gate;
2454
2588
  }
2455
2589
  function extractResolveIOSupportDiagnosisGateFromText(value, now) {
2456
- var e_10, _a;
2590
+ var e_14, _a;
2457
2591
  var text = String(value || '').trim();
2458
2592
  if (!text) {
2459
2593
  return undefined;
@@ -2481,12 +2615,12 @@ function extractResolveIOSupportDiagnosisGateFromText(value, now) {
2481
2615
  }
2482
2616
  }
2483
2617
  }
2484
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
2618
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
2485
2619
  finally {
2486
2620
  try {
2487
2621
  if (candidates_1_1 && !candidates_1_1.done && (_a = candidates_1.return)) _a.call(candidates_1);
2488
2622
  }
2489
- finally { if (e_10) throw e_10.error; }
2623
+ finally { if (e_14) throw e_14.error; }
2490
2624
  }
2491
2625
  return undefined;
2492
2626
  }
@@ -2649,7 +2783,7 @@ function supportStatusLooksPassed(value) {
2649
2783
  return /\b(pass|passed|success|succeeded|complete|completed|ready|not_required|not required)\b/i.test(cleanText(value, 200));
2650
2784
  }
2651
2785
  function nestedObject(source) {
2652
- var e_11, _a;
2786
+ var e_15, _a;
2653
2787
  var keys = [];
2654
2788
  for (var _i = 1; _i < arguments.length; _i++) {
2655
2789
  keys[_i - 1] = arguments[_i];
@@ -2663,17 +2797,17 @@ function nestedObject(source) {
2663
2797
  }
2664
2798
  }
2665
2799
  }
2666
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
2800
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
2667
2801
  finally {
2668
2802
  try {
2669
2803
  if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1);
2670
2804
  }
2671
- finally { if (e_11) throw e_11.error; }
2805
+ finally { if (e_15) throw e_15.error; }
2672
2806
  }
2673
2807
  return {};
2674
2808
  }
2675
2809
  function resolveSupportReplyReleaseGate(input) {
2676
- var e_12, _a;
2810
+ var e_16, _a;
2677
2811
  var _b;
2678
2812
  var releaseEvidence = cleanObject(input.releaseEvidence);
2679
2813
  var releaseStatus = cleanText(input.releaseStatus
@@ -2744,12 +2878,12 @@ function resolveSupportReplyReleaseGate(input) {
2744
2878
  blockers.push("missing_".concat(field));
2745
2879
  }
2746
2880
  }
2747
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
2881
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
2748
2882
  finally {
2749
2883
  try {
2750
2884
  if (missingCommitProofFields_1_1 && !missingCommitProofFields_1_1.done && (_a = missingCommitProofFields_1.return)) _a.call(missingCommitProofFields_1);
2751
2885
  }
2752
- finally { if (e_12) throw e_12.error; }
2886
+ finally { if (e_16) throw e_16.error; }
2753
2887
  }
2754
2888
  var shouldEvaluateHotfix = statusBlocked || commitProofRequired || Object.keys(hotfixEvidence).length > 0;
2755
2889
  var hotfixContinuation = shouldEvaluateHotfix
@@ -2795,7 +2929,7 @@ function supportBusinessAssertionRouteOnly(value) {
2795
2929
  return /^(route_probe_pass|route_only_pass|route_pass|route_probe|route_loaded)$/i.test(cleanText(value, 80));
2796
2930
  }
2797
2931
  function normalizeSupportBusinessProofAssertions(input) {
2798
- var e_13, _a;
2932
+ var e_17, _a;
2799
2933
  var gate = normalizeResolveIOSupportDiagnosisGate(input.diagnosisGate);
2800
2934
  var proofPlan = gate === null || gate === void 0 ? void 0 : gate.proof_plan;
2801
2935
  var proofContract = proofPlan === null || proofPlan === void 0 ? void 0 : proofPlan.business_proof_contract;
@@ -2829,12 +2963,12 @@ function normalizeSupportBusinessProofAssertions(input) {
2829
2963
  });
2830
2964
  }
2831
2965
  }
2832
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
2966
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
2833
2967
  finally {
2834
2968
  try {
2835
2969
  if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
2836
2970
  }
2837
- finally { if (e_13) throw e_13.error; }
2971
+ finally { if (e_17) throw e_17.error; }
2838
2972
  }
2839
2973
  var status = cleanText(input.businessAssertionStatus || input.outcomeLabel, 80);
2840
2974
  if (!assertions.length && (supportBusinessAssertionPassed(status) || supportBusinessAssertionRouteOnly(status) || supportBusinessAssertionFailed(status))) {
@@ -2924,7 +3058,7 @@ function supportBusinessProofAssertionHasStructuredContractMapping(assertion, ga
2924
3058
  return routeMatches && actionMatches && expectedStateMatches && hasBusinessDataProof;
2925
3059
  }
2926
3060
  function supportBusinessProofAssertionMatchesContract(assertion, gate) {
2927
- var e_14, _a;
3061
+ var e_18, _a;
2928
3062
  if (!gate) {
2929
3063
  return false;
2930
3064
  }
@@ -2964,12 +3098,12 @@ function supportBusinessProofAssertionMatchesContract(assertion, gate) {
2964
3098
  }
2965
3099
  }
2966
3100
  }
2967
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
3101
+ catch (e_18_1) { e_18 = { error: e_18_1 }; }
2968
3102
  finally {
2969
3103
  try {
2970
3104
  if (proofWords_1_1 && !proofWords_1_1.done && (_a = proofWords_1.return)) _a.call(proofWords_1);
2971
3105
  }
2972
- finally { if (e_14) throw e_14.error; }
3106
+ finally { if (e_18) throw e_18.error; }
2973
3107
  }
2974
3108
  return overlap >= Math.min(5, Math.max(3, Math.ceil(proofWords.size * 0.45)));
2975
3109
  }
@@ -4494,7 +4628,7 @@ function supportManagerRequiredResetEvidenceForContract(contract) {
4494
4628
  ], false))).slice(0, 16);
4495
4629
  }
4496
4630
  function validateResolveIOSupportNextActionContract(value) {
4497
- var e_15, _a;
4631
+ var e_19, _a;
4498
4632
  var _b, _c, _d, _e, _f;
4499
4633
  var contract = cleanObject(value);
4500
4634
  var blockers = [];
@@ -4516,12 +4650,12 @@ function validateResolveIOSupportNextActionContract(value) {
4516
4650
  }
4517
4651
  }
4518
4652
  }
4519
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
4653
+ catch (e_19_1) { e_19 = { error: e_19_1 }; }
4520
4654
  finally {
4521
4655
  try {
4522
4656
  if (requiredStringFields_1_1 && !requiredStringFields_1_1.done && (_a = requiredStringFields_1.return)) _a.call(requiredStringFields_1);
4523
4657
  }
4524
- finally { if (e_15) throw e_15.error; }
4658
+ finally { if (e_19) throw e_19.error; }
4525
4659
  }
4526
4660
  if (!Array.isArray(contract.nextCommands) || !contract.nextCommands.length) {
4527
4661
  blockers.push('NextActionContract.nextCommands must include at least the primary command.');
@@ -5540,7 +5674,7 @@ function buildResolveIOSupportV5ScopeDigest(input) {
5540
5674
  return raw.slice(0, maxChars);
5541
5675
  }
5542
5676
  function buildResolveIOSupportV5MicrotaskLedger(input) {
5543
- var e_16, _a;
5677
+ var e_20, _a;
5544
5678
  var existing = Array.isArray(input.existing) ? input.existing : [];
5545
5679
  var completedByObjective = new Map();
5546
5680
  try {
@@ -5551,12 +5685,12 @@ function buildResolveIOSupportV5MicrotaskLedger(input) {
5551
5685
  }
5552
5686
  }
5553
5687
  }
5554
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
5688
+ catch (e_20_1) { e_20 = { error: e_20_1 }; }
5555
5689
  finally {
5556
5690
  try {
5557
5691
  if (existing_1_1 && !existing_1_1.done && (_a = existing_1.return)) _a.call(existing_1);
5558
5692
  }
5559
- finally { if (e_16) throw e_16.error; }
5693
+ finally { if (e_20) throw e_20.error; }
5560
5694
  }
5561
5695
  var now = isoNow(input.now);
5562
5696
  var requirements = cleanList(input.requirements, 30, 240);
@@ -7360,7 +7494,7 @@ function buildResolveIOSupportV5MicrotaskPrompt(input) {
7360
7494
  };
7361
7495
  }
7362
7496
  function summarizeResolveIOSupportV5MicrotaskUsage(bundle) {
7363
- var e_17, _a, e_18, _b;
7497
+ var e_21, _a, e_22, _b;
7364
7498
  var byMicrotask = new Map();
7365
7499
  var bySection = new Map();
7366
7500
  var totalPromptTokenEstimate = 0;
@@ -7375,17 +7509,17 @@ function summarizeResolveIOSupportV5MicrotaskUsage(bundle) {
7375
7509
  existing.calls += 1;
7376
7510
  byMicrotask.set(usage.microtaskId, existing);
7377
7511
  try {
7378
- for (var _e = (e_18 = void 0, __values(usage.promptSections || [])), _f = _e.next(); !_f.done; _f = _e.next()) {
7512
+ for (var _e = (e_22 = void 0, __values(usage.promptSections || [])), _f = _e.next(); !_f.done; _f = _e.next()) {
7379
7513
  var section = _f.value;
7380
7514
  bySection.set(section.name, (bySection.get(section.name) || 0) + section.tokenEstimate);
7381
7515
  }
7382
7516
  }
7383
- catch (e_18_1) { e_18 = { error: e_18_1 }; }
7517
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
7384
7518
  finally {
7385
7519
  try {
7386
7520
  if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
7387
7521
  }
7388
- finally { if (e_18) throw e_18.error; }
7522
+ finally { if (e_22) throw e_22.error; }
7389
7523
  }
7390
7524
  var hardCap = usage.lane === 'qa' ? promptBudget.qaMicrotaskHardCap : promptBudget.buildMicrotaskHardCap;
7391
7525
  if ((usage.promptTokenEstimate || 0) > hardCap) {
@@ -7393,12 +7527,12 @@ function summarizeResolveIOSupportV5MicrotaskUsage(bundle) {
7393
7527
  }
7394
7528
  }
7395
7529
  }
7396
- catch (e_17_1) { e_17 = { error: e_17_1 }; }
7530
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
7397
7531
  finally {
7398
7532
  try {
7399
7533
  if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
7400
7534
  }
7401
- finally { if (e_17) throw e_17.error; }
7535
+ finally { if (e_21) throw e_21.error; }
7402
7536
  }
7403
7537
  return {
7404
7538
  totalPromptTokenEstimate: totalPromptTokenEstimate,