@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,