@resolveio/server-lib 22.3.216 → 22.3.218
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
|
@@ -1072,8 +1072,8 @@ function normalizeSupportDiagnosisEvidence(values, ownerFiles) {
|
|
|
1072
1072
|
.filter(function (entry) { return entry && typeof entry === 'object' && !Array.isArray(entry); })
|
|
1073
1073
|
.map(function (entry) {
|
|
1074
1074
|
var type = cleanText(entry.type, 80).toLowerCase();
|
|
1075
|
-
var artifactPath = cleanText(entry.artifactPath || entry.artifact_path || 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.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)
|
|
1077
1077
|
|| (artifactPath ? "Evidence from ".concat(artifactPath) : '');
|
|
1078
1078
|
var evidenceText = [summary, artifactPath].filter(Boolean).join(' ');
|
|
1079
1079
|
var inferredType = (function () {
|
|
@@ -1749,14 +1749,34 @@ function normalizeSupportDiagnosisBusinessProofContract(value, issueClassHint) {
|
|
|
1749
1749
|
var issueClass = normalizeIssueClass(source.issue_class || source.issueClass || issueClassHint)
|
|
1750
1750
|
|| normalizeIssueClass(issueClassHint)
|
|
1751
1751
|
|| 'missing_wrong_data';
|
|
1752
|
+
var expectedBusinessStateChange = pickText(source, ['expected_business_state_change', 'expectedBusinessStateChange', 'expected_change', 'expectedChange', 'after'], 1000);
|
|
1753
|
+
var dataOrDomAssertion = pickText(source, [
|
|
1754
|
+
'data_or_dom_assertion',
|
|
1755
|
+
'dataOrDomAssertion',
|
|
1756
|
+
'dom_data_assertion',
|
|
1757
|
+
'domDataAssertion',
|
|
1758
|
+
'data_assertion',
|
|
1759
|
+
'dataAssertion',
|
|
1760
|
+
'dom_assertion',
|
|
1761
|
+
'domAssertion',
|
|
1762
|
+
'assertion'
|
|
1763
|
+
], 1000);
|
|
1764
|
+
var proofArtifacts = cleanList(source.proof_artifacts || source.proofArtifacts || source.artifacts || source.artifact_paths || source.artifactPaths, 10, 500);
|
|
1765
|
+
var hasPathLikeArtifactName = proofArtifacts.some(function (artifact) { return /[/.\\]|json|artifact|aiqa|evidence/i.test(artifact); });
|
|
1766
|
+
if (proofArtifacts.length && hasPathLikeArtifactName && proofArtifacts.every(supportProofArtifactLooksVague)) {
|
|
1767
|
+
var derivedArtifact = firstSupportDiagnosisText(dataOrDomAssertion ? "DOM/data proof artifact: ".concat(dataOrDomAssertion) : '', expectedBusinessStateChange ? "before/after business data proof artifact: ".concat(expectedBusinessStateChange) : '');
|
|
1768
|
+
if (derivedArtifact && !proofArtifacts.includes(derivedArtifact)) {
|
|
1769
|
+
proofArtifacts.push(derivedArtifact);
|
|
1770
|
+
}
|
|
1771
|
+
}
|
|
1752
1772
|
return {
|
|
1753
1773
|
issue_class: issueClass,
|
|
1754
1774
|
setup_state: pickText(source, ['setup_state', 'setupState', 'before', 'precondition'], 1000),
|
|
1755
1775
|
action_under_test: pickText(source, ['action_under_test', 'actionUnderTest', 'action', 'steps'], 1000),
|
|
1756
|
-
expected_business_state_change:
|
|
1776
|
+
expected_business_state_change: expectedBusinessStateChange,
|
|
1757
1777
|
prohibited_false_pass: pickText(source, ['prohibited_false_pass', 'prohibitedFalsePass', 'false_pass', 'falsePass'], 1000),
|
|
1758
|
-
proof_artifacts:
|
|
1759
|
-
data_or_dom_assertion:
|
|
1778
|
+
proof_artifacts: proofArtifacts,
|
|
1779
|
+
data_or_dom_assertion: dataOrDomAssertion
|
|
1760
1780
|
};
|
|
1761
1781
|
}
|
|
1762
1782
|
function supportDiagnosisNarrativeText(value, max) {
|
|
@@ -1787,6 +1807,7 @@ function supportDiagnosisNarrativeText(value, max) {
|
|
|
1787
1807
|
'detail',
|
|
1788
1808
|
'description',
|
|
1789
1809
|
'rationale',
|
|
1810
|
+
'why',
|
|
1790
1811
|
'statement',
|
|
1791
1812
|
'issue_case',
|
|
1792
1813
|
'issueCase',
|
|
@@ -1799,6 +1820,9 @@ function supportDiagnosisNarrativeText(value, max) {
|
|
|
1799
1820
|
'route',
|
|
1800
1821
|
'path_chain',
|
|
1801
1822
|
'pathChain',
|
|
1823
|
+
'chain',
|
|
1824
|
+
'visibility_gate_trace',
|
|
1825
|
+
'visibilityGateTrace',
|
|
1802
1826
|
'reported',
|
|
1803
1827
|
'verified',
|
|
1804
1828
|
'reported_path',
|
|
@@ -1890,7 +1914,7 @@ function normalizeSupportDiagnosisProofPlanRows(values) {
|
|
|
1890
1914
|
var row = values_4_1.value;
|
|
1891
1915
|
var source = cleanObject(row);
|
|
1892
1916
|
var action = pickText(source, ['action', 'step', 'browser_action', 'browserAction', 'task'], 500) || supportDiagnosisNarrativeText(row, 500);
|
|
1893
|
-
var proof = pickText(source, ['proof_required', 'proofRequired', 'expected', 'expected_result', 'expectedResult', 'assertion', 'business_assertion', 'businessAssertion'], 700);
|
|
1917
|
+
var proof = pickText(source, ['proof', 'proof_required', 'proofRequired', 'expected', 'expected_result', 'expectedResult', 'assertion', 'business_assertion', 'businessAssertion'], 700);
|
|
1894
1918
|
if (action) {
|
|
1895
1919
|
actions.push(action);
|
|
1896
1920
|
}
|
|
@@ -2415,10 +2439,35 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2415
2439
|
var failingPathText = supportDiagnosisNarrativeText(rawFailingPath, 1200);
|
|
2416
2440
|
var proofPlanRows = normalizeSupportDiagnosisProofPlanRows(rawProofPlan);
|
|
2417
2441
|
var issueClass = normalizeIssueClass(source.issue_class || source.issueClass);
|
|
2442
|
+
var rawBusinessProofContract = proofPlanSource.business_proof_contract
|
|
2443
|
+
|| proofPlanSource.businessProofContract
|
|
2444
|
+
|| source.business_proof_contract
|
|
2445
|
+
|| source.businessProofContract;
|
|
2446
|
+
var businessProofContractSource = cleanObject(rawBusinessProofContract);
|
|
2447
|
+
var contractSetupState = pickText(businessProofContractSource, ['setup_state', 'setupState', 'before', 'precondition'], 1000);
|
|
2448
|
+
var contractActionUnderTest = pickText(businessProofContractSource, ['action_under_test', 'actionUnderTest', 'action', 'steps'], 1000);
|
|
2449
|
+
var contractExpectedChange = pickText(businessProofContractSource, ['expected_business_state_change', 'expectedBusinessStateChange', 'expected_change', 'expectedChange', 'after'], 1000);
|
|
2450
|
+
var contractDataAssertion = pickText(businessProofContractSource, [
|
|
2451
|
+
'data_or_dom_assertion',
|
|
2452
|
+
'dataOrDomAssertion',
|
|
2453
|
+
'dom_data_assertion',
|
|
2454
|
+
'domDataAssertion',
|
|
2455
|
+
'data_assertion',
|
|
2456
|
+
'dataAssertion',
|
|
2457
|
+
'dom_assertion',
|
|
2458
|
+
'domAssertion',
|
|
2459
|
+
'assertion'
|
|
2460
|
+
], 1000);
|
|
2461
|
+
var contractArtifacts = cleanList(businessProofContractSource.proof_artifacts
|
|
2462
|
+
|| businessProofContractSource.proofArtifacts
|
|
2463
|
+
|| businessProofContractSource.artifacts
|
|
2464
|
+
|| businessProofContractSource.artifact_paths
|
|
2465
|
+
|| businessProofContractSource.artifactPaths, 10, 500);
|
|
2418
2466
|
var featureRequestClassified = supportDiagnosisLooksLikeClassifiedFeatureRequest(source, issueCaseText, failingPathText, hypothesisText);
|
|
2419
2467
|
var shouldDeriveLooseProofPlan = Array.isArray(rawProofPlan) || featureRequestClassified;
|
|
2420
2468
|
var looseProofSubject = cleanText(issueCaseText || failingPathText || hypothesisText, 1200);
|
|
2421
|
-
var proofPlanBefore = pickText(proofPlanSource, ['before', 'before_state', 'beforeState', 'precondition'], 1000)
|
|
2469
|
+
var proofPlanBefore = pickText(proofPlanSource, ['before', 'before_state', 'beforeState', 'precondition'], 1000)
|
|
2470
|
+
|| contractSetupState;
|
|
2422
2471
|
var proofPlanBeforeUnavailable = pickText(proofPlanSource, ['before_state_unavailable_reason', 'beforeStateUnavailableReason', 'before_unavailable_reason'], 1000)
|
|
2423
2472
|
|| (featureRequestClassified ? 'Before-state business proof is not available because this is classified as net-new feature scope; current evidence proves the requested route/workflow is not implemented yet.' : '');
|
|
2424
2473
|
var derivedLooseBefore = shouldDeriveLooseProofPlan && looseProofSubject
|
|
@@ -2426,18 +2475,24 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2426
2475
|
: '';
|
|
2427
2476
|
var proofPlanBeforeResolved = proofPlanBefore || derivedLooseBefore;
|
|
2428
2477
|
var proofPlanAction = pickText(proofPlanSource, ['action', 'browser_action', 'browserAction', 'steps'], 1000)
|
|
2478
|
+
|| contractActionUnderTest
|
|
2429
2479
|
|| proofPlanRows.action
|
|
2430
2480
|
|| (shouldDeriveLooseProofPlan ? 'Execute the issue-specific workflow and inspect the affected data/rendering path.' : '');
|
|
2431
2481
|
var proofPlanAfter = pickText(proofPlanSource, ['after', 'after_state', 'afterState', 'expected_after'], 1000)
|
|
2482
|
+
|| contractExpectedChange
|
|
2432
2483
|
|| proofPlanRows.after
|
|
2433
2484
|
|| (shouldDeriveLooseProofPlan && looseProofSubject ? "The workflow produces the expected customer-facing business value instead of the reported wrong result for: ".concat(looseProofSubject) : '');
|
|
2434
2485
|
var proofPlanBusinessAssertion = pickText(proofPlanSource, ['business_assertion', 'businessAssertion', 'assertion'], 1000)
|
|
2486
|
+
|| contractExpectedChange
|
|
2487
|
+
|| contractDataAssertion
|
|
2435
2488
|
|| proofPlanRows.business_assertion
|
|
2436
2489
|
|| (shouldDeriveLooseProofPlan && looseProofSubject ? "The customer-reported condition is resolved with business data proof: ".concat(looseProofSubject) : '');
|
|
2437
2490
|
var proofPlanDataAssertion = pickText(proofPlanSource, ['data_assertion', 'dataAssertion', 'mongo_delta', 'mongoDelta'], 1000)
|
|
2491
|
+
|| contractDataAssertion
|
|
2438
2492
|
|| proofPlanRows.data_assertion
|
|
2439
2493
|
|| (shouldDeriveLooseProofPlan ? 'DOM/data or Mongo proof shows the expected business value and does not show the reported wrong value.' : '');
|
|
2440
2494
|
var proofPlanArtifactExpectation = pickText(proofPlanSource, ['artifact_expectation', 'artifactExpectation', 'artifact', 'screenshot'], 1000)
|
|
2495
|
+
|| contractArtifacts.join(' | ').slice(0, 1000)
|
|
2441
2496
|
|| (shouldDeriveLooseProofPlan && proofPlanBusinessAssertion ? 'browser trace/screenshot plus persisted DOM/data or Mongo delta tied to the business assertion' : '');
|
|
2442
2497
|
var derivedBusinessProofContract = shouldDeriveLooseProofPlan && proofPlanBusinessAssertion ? {
|
|
2443
2498
|
issue_class: issueClass || source.issue_class || source.issueClass,
|
|
@@ -2452,7 +2507,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2452
2507
|
].filter(Boolean),
|
|
2453
2508
|
data_or_dom_assertion: proofPlanDataAssertion || proofPlanBusinessAssertion
|
|
2454
2509
|
} : undefined;
|
|
2455
|
-
var businessProofContract = normalizeSupportDiagnosisBusinessProofContract(
|
|
2510
|
+
var businessProofContract = normalizeSupportDiagnosisBusinessProofContract(rawBusinessProofContract, issueClass || source.issue_class || source.issueClass) || normalizeSupportDiagnosisBusinessProofContract(derivedBusinessProofContract, issueClass || source.issue_class || source.issueClass);
|
|
2456
2511
|
var rawOwnerFiles = cleanList(source.owner_files || source.ownerFiles, 20, 500)
|
|
2457
2512
|
.map(normalizeOwnerFilePath)
|
|
2458
2513
|
.filter(Boolean);
|
|
@@ -2477,7 +2532,18 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2477
2532
|
var ticketEvidenceText = ((_a = diagnosisEvidence.find(function (entry) { return entry.type === 'ticket'; })) === null || _a === void 0 ? void 0 : _a.summary) || '';
|
|
2478
2533
|
var browserEvidenceText = ((_b = diagnosisEvidence.find(function (entry) { return entry.type === 'browser'; })) === null || _b === void 0 ? void 0 : _b.summary) || '';
|
|
2479
2534
|
var rootCauseEvidenceText = ((_c = diagnosisEvidence.find(function (entry) { return SUPPORT_ROOT_CAUSE_EVIDENCE_TYPES.has(entry.type); })) === null || _c === void 0 ? void 0 : _c.summary) || '';
|
|
2480
|
-
var explicitCustomerComplaint = pickText(issueCaseSource, [
|
|
2535
|
+
var explicitCustomerComplaint = pickText(issueCaseSource, [
|
|
2536
|
+
'customer_complaint',
|
|
2537
|
+
'customerComplaint',
|
|
2538
|
+
'customer_symptom',
|
|
2539
|
+
'customerSymptom',
|
|
2540
|
+
'symptom',
|
|
2541
|
+
'reported_issue',
|
|
2542
|
+
'reportedIssue',
|
|
2543
|
+
'complaint',
|
|
2544
|
+
'request',
|
|
2545
|
+
'summary'
|
|
2546
|
+
], 1200);
|
|
2481
2547
|
var customerIssueCaseText = (function () {
|
|
2482
2548
|
if (explicitCustomerComplaint) {
|
|
2483
2549
|
return explicitCustomerComplaint;
|
|
@@ -2500,21 +2566,21 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2500
2566
|
failingPathText,
|
|
2501
2567
|
hypothesisText
|
|
2502
2568
|
].filter(Boolean).join(' '), 1200);
|
|
2503
|
-
var routeModule = pickText(issueCaseSource, ['route_module', 'routeModule', 'route', 'module', 'screen'], 500)
|
|
2504
|
-
|| pickText(source, ['route_module', 'routeModule', 'module', 'screen'], 500)
|
|
2569
|
+
var routeModule = pickText(issueCaseSource, ['route_module', 'routeModule', 'route', 'module', 'workflow', 'screen', 'route_or_module', 'routeOrModule', 'module_path', 'modulePath'], 500)
|
|
2570
|
+
|| pickText(source, ['route_module', 'routeModule', 'module', 'workflow', 'screen', 'route_or_module', 'routeOrModule', 'module_path', 'modulePath'], 500)
|
|
2505
2571
|
|| pickText(failingPathSource, ['route', 'module', 'path', 'description', 'reported', 'verified', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath'], 500)
|
|
2506
2572
|
|| failingPathText
|
|
2507
2573
|
|| (featureRequestClassified ? 'net-new support feature workflow' : '');
|
|
2508
|
-
var expectedResult = pickText(issueCaseSource, ['expected_result', 'expectedResult', 'expected'], 1000)
|
|
2509
|
-
|| pickText(source, ['expected_result', 'expectedResult', 'expected', 'primary_goal', 'primaryGoal', 'requested_behavior', 'requestedBehavior'], 1000)
|
|
2574
|
+
var expectedResult = pickText(issueCaseSource, ['expected_result', 'expectedResult', 'expected', 'expected_business_result', 'expectedBusinessResult', 'expected_business_state', 'expectedBusinessState', 'desired_result', 'desiredResult', 'desired_outcome', 'desiredOutcome'], 1000)
|
|
2575
|
+
|| pickText(source, ['expected_result', 'expectedResult', 'expected', 'expected_business_result', 'expectedBusinessResult', 'primary_goal', 'primaryGoal', 'requested_behavior', 'requestedBehavior', 'desired_result', 'desiredResult'], 1000)
|
|
2510
2576
|
|| (!featureRequestClassified && issueCasePrimaryText ? "Expected customer-facing business result from ticket evidence: ".concat(issueCasePrimaryText) : '')
|
|
2511
2577
|
|| (featureRequestClassified && issueCasePrimaryText ? "Implement the requested workflow: ".concat(issueCasePrimaryText) : '');
|
|
2512
|
-
var observedResult = pickText(issueCaseSource, ['observed_result', 'observedResult', 'observed', 'actual'], 1000)
|
|
2513
|
-
|| pickText(source, ['observed_result', 'observedResult', 'observed', 'actual', 'current_state', 'currentState'], 1000)
|
|
2578
|
+
var observedResult = pickText(issueCaseSource, ['observed_result', 'observedResult', 'observed', 'actual', 'actual_result', 'actualResult', 'current_state', 'currentState', 'customer_symptom', 'customerSymptom', 'symptom'], 1000)
|
|
2579
|
+
|| pickText(source, ['observed_result', 'observedResult', 'observed', 'actual', 'actual_result', 'actualResult', 'current_state', 'currentState', 'customer_symptom', 'customerSymptom'], 1000)
|
|
2514
2580
|
|| (!featureRequestClassified && (browserEvidenceText || issueCasePrimaryText) ? "Observed/reported wrong business result from ticket or screenshot evidence: ".concat(browserEvidenceText || issueCasePrimaryText) : '')
|
|
2515
2581
|
|| (featureRequestClassified ? "Current repo evidence indicates no implemented route/module for ".concat(routeModule || 'the requested workflow', ".") : '');
|
|
2516
|
-
var accountCustomerContext = pickText(issueCaseSource, ['account_customer_context', 'accountCustomerContext', 'account', 'customer', 'user', 'context'], 800)
|
|
2517
|
-
|| pickText(source, ['account_customer_context', 'accountCustomerContext', 'affected_account_user', 'affectedAccountUser', 'account', 'customer', 'client', 'user', 'context'], 800)
|
|
2582
|
+
var accountCustomerContext = pickText(issueCaseSource, ['account_customer_context', 'accountCustomerContext', 'account_context', 'accountContext', 'customer_context', 'customerContext', 'client_context', 'clientContext', 'affected_customer', 'affectedCustomer', 'account', 'customer', 'client', 'user', 'context', 'reporter'], 800)
|
|
2583
|
+
|| pickText(source, ['account_customer_context', 'accountCustomerContext', 'affected_account_user', 'affectedAccountUser', 'account_context', 'accountContext', 'customer_context', 'customerContext', 'client_context', 'clientContext', 'affected_customer', 'affectedCustomer', 'account', 'customer', 'client', 'user', 'context', 'reporter'], 800)
|
|
2518
2584
|
|| (issueCasePrimaryText ? 'Customer/account context from support ticket intake and hydrated support attachments.' : '')
|
|
2519
2585
|
|| (featureRequestClassified ? 'Customer/account context from support ticket intake.' : '');
|
|
2520
2586
|
var rawReproductionStatus = issueCaseSource.reproduction_status || issueCaseSource.reproductionStatus || source.reproduction_status;
|
|
@@ -2539,7 +2605,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2539
2605
|
reproduction_status: rawReproductionStatus
|
|
2540
2606
|
? normalizeReproductionStatus(rawReproductionStatus)
|
|
2541
2607
|
: (featureRequestClassified || !hasRuntimeReproductionEvidence ? 'classified' : 'reproduced'),
|
|
2542
|
-
reproduction_blocker: pickText(issueCaseSource, ['reproduction_blocker', 'reproductionBlocker', 'blocked_reason', 'blockedReason'], 1000)
|
|
2608
|
+
reproduction_blocker: pickText(issueCaseSource, ['reproduction_blocker', 'reproductionBlocker', 'runtime_blocker', 'runtimeBlocker', 'blocked_reason', 'blockedReason', 'blocker', 'blocked_by', 'blockedBy'], 1000)
|
|
2543
2609
|
},
|
|
2544
2610
|
issue_class: issueClass || 'missing_wrong_data',
|
|
2545
2611
|
accepted_hypothesis: {
|
|
@@ -2557,7 +2623,7 @@ function normalizeResolveIOSupportDiagnosisGate(value, now) {
|
|
|
2557
2623
|
backend: pickText(failingPathSource, ['backend', 'backend_path', 'backendPath', 'methodPublicationPath'], 700),
|
|
2558
2624
|
shared_library: pickText(failingPathSource, ['shared_library', 'sharedLibrary', 'library', 'lib'], 700),
|
|
2559
2625
|
data_query: pickText(failingPathSource, ['data_query', 'dataQuery', 'query'], 700),
|
|
2560
|
-
description: pickText(failingPathSource, ['description', 'path_chain', 'pathChain', 'reported', 'verified', 'reported_path', 'reportedPath', 'verified_path', 'verifiedPath', 'path', 'assessment', 'summary', 'route'], 1200) || failingPathText
|
|
2626
|
+
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
|
|
2561
2627
|
},
|
|
2562
2628
|
owner_files: ownerFiles,
|
|
2563
2629
|
proof_plan: {
|