@resolveio/server-lib 22.3.179 → 22.3.180
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.
|
@@ -188,6 +188,7 @@ export interface ResolveIOSupportHumanReviewPacket {
|
|
|
188
188
|
}
|
|
189
189
|
export interface ResolveIOSupportCustomerReplyPolicyInput {
|
|
190
190
|
diagnosisGate?: any;
|
|
191
|
+
issueClassProbePlan?: any;
|
|
191
192
|
outcomeLabel?: string;
|
|
192
193
|
confidence?: any;
|
|
193
194
|
businessAssertionStatus?: string;
|
|
@@ -210,6 +211,8 @@ export interface ResolveIOSupportCustomerReplyPolicy {
|
|
|
210
211
|
humanReviewPacket?: ResolveIOSupportHumanReviewPacket;
|
|
211
212
|
draftBasis?: {
|
|
212
213
|
issueClass: ResolveIOSupportIssueClass;
|
|
214
|
+
issueClassProbePlanId?: string;
|
|
215
|
+
issueClassProbePlanStatus?: ResolveIOSupportIssueClassProbePlanStatus;
|
|
213
216
|
businessProof: string;
|
|
214
217
|
artifactCount: number;
|
|
215
218
|
};
|
|
@@ -1367,6 +1367,7 @@ function decideResolveIOSupportCustomerReplyPolicy(input) {
|
|
|
1367
1367
|
var releaseBlocked = supportReleaseLooksBlocked(input.releaseStatus);
|
|
1368
1368
|
var requiredEvidence = [
|
|
1369
1369
|
'valid SupportDiagnosisGate',
|
|
1370
|
+
'validated IssueClassProbePlan',
|
|
1370
1371
|
'high confidence with shouldBlockPr=false',
|
|
1371
1372
|
'accepted outcome or passed business assertion',
|
|
1372
1373
|
'business proof contract and artifact evidence',
|
|
@@ -1426,6 +1427,37 @@ function decideResolveIOSupportCustomerReplyPolicy(input) {
|
|
|
1426
1427
|
})
|
|
1427
1428
|
};
|
|
1428
1429
|
}
|
|
1430
|
+
var explicitProbePlan = cleanObject(input.issueClassProbePlan);
|
|
1431
|
+
var generatedProbePlan = gate
|
|
1432
|
+
? buildResolveIOSupportIssueClassProbePlan(gate)
|
|
1433
|
+
: undefined;
|
|
1434
|
+
var issueClassProbePlanValidation = validateResolveIOSupportIssueClassProbePlan(Object.keys(explicitProbePlan).length ? explicitProbePlan : generatedProbePlan, gate);
|
|
1435
|
+
var issueClassProbePlan = issueClassProbePlanValidation.normalized || generatedProbePlan;
|
|
1436
|
+
if (!issueClassProbePlanValidation.valid) {
|
|
1437
|
+
return {
|
|
1438
|
+
action: 'hold_internal',
|
|
1439
|
+
canDraftCustomerReply: false,
|
|
1440
|
+
canSendCustomerReply: false,
|
|
1441
|
+
confidenceLevel: confidenceLevel,
|
|
1442
|
+
safety: 'internal_hold',
|
|
1443
|
+
reason: 'support_reply_requires_valid_issue_class_probe_plan',
|
|
1444
|
+
requiredEvidence: requiredEvidence,
|
|
1445
|
+
humanReviewPacket: buildResolveIOSupportHumanReviewPacket({
|
|
1446
|
+
reviewType: 'business_proof_qa',
|
|
1447
|
+
title: 'Repair Issue-Class Probe Plan',
|
|
1448
|
+
summary: 'Customer reply is blocked until the IssueClassProbePlan validates against the diagnosis proof plan.',
|
|
1449
|
+
primaryAction: 'repair_support_issue_class_probe_plan',
|
|
1450
|
+
safety: 'internal_hold',
|
|
1451
|
+
reason: 'support_reply_requires_valid_issue_class_probe_plan',
|
|
1452
|
+
blockers: issueClassProbePlanValidation.blockers,
|
|
1453
|
+
requiredEvidence: requiredEvidence,
|
|
1454
|
+
evidenceRefs: (issueClassProbePlan === null || issueClassProbePlan === void 0 ? void 0 : issueClassProbePlan.requiredArtifacts) || [],
|
|
1455
|
+
nextCommands: ['repair_issue_class_probe_plan', 'rerun_business_proof_qa', 'rerun_reply_policy'],
|
|
1456
|
+
forbiddenActions: ['Do not draft a customer resolution from business proof that is not mapped to a validated IssueClassProbePlan.'],
|
|
1457
|
+
costRisk: 'free_or_deterministic'
|
|
1458
|
+
})
|
|
1459
|
+
};
|
|
1460
|
+
}
|
|
1429
1461
|
if (shouldBlockConfidence || confidenceLevel !== 'high') {
|
|
1430
1462
|
return {
|
|
1431
1463
|
action: 'hold_internal',
|
|
@@ -1574,6 +1606,8 @@ function decideResolveIOSupportCustomerReplyPolicy(input) {
|
|
|
1574
1606
|
}),
|
|
1575
1607
|
draftBasis: {
|
|
1576
1608
|
issueClass: gate.issue_class,
|
|
1609
|
+
issueClassProbePlanId: issueClassProbePlan === null || issueClassProbePlan === void 0 ? void 0 : issueClassProbePlan.planId,
|
|
1610
|
+
issueClassProbePlanStatus: issueClassProbePlanValidation.status,
|
|
1577
1611
|
businessProof: gate.proof_plan.business_proof_contract.expected_business_state_change,
|
|
1578
1612
|
artifactCount: artifactCount
|
|
1579
1613
|
}
|
|
@@ -2808,6 +2842,7 @@ function decideResolveIOSupportV5AutonomousNextAction(input) {
|
|
|
2808
2842
|
var continuation = decideResolveIOSupportV5Continuation(bundle);
|
|
2809
2843
|
var customerReplyPolicy = decideResolveIOSupportCustomerReplyPolicy({
|
|
2810
2844
|
diagnosisGate: bundle.supportV5DiagnosisGate,
|
|
2845
|
+
issueClassProbePlan: bundle.supportV5IssueClassProbePlan,
|
|
2811
2846
|
outcomeLabel: input.outcomeLabel,
|
|
2812
2847
|
confidence: input.confidence,
|
|
2813
2848
|
businessAssertionStatus: input.businessAssertionStatus,
|