@resolveio/server-lib 22.3.157 → 22.3.159

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.
@@ -1,4 +1,4 @@
1
- import { ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
1
+ import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
2
2
  export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_probe' | 'issue_class_probe' | 'business_proof' | 'compile_check' | 'startup_check' | 'live_seed' | 'auth_bootstrap' | 'route_probe' | 'qa_row' | 'build_repair' | 'qa_retest' | 'pr_review' | 'artifact_package' | 'cleanup';
3
3
  export type ResolveIOSupportV5Outcome = 'pass' | 'needs_repair' | 'retry_same_step' | 'park_manual' | 'budget_stop' | 'infra_retry' | 'ready_for_merge';
4
4
  export type ResolveIOSupportV5Lane = 'build' | 'qa' | 'review' | 'supervisor';
@@ -57,6 +57,35 @@ export interface ResolveIOSupportDiagnosisHint {
57
57
  commitMessage?: string;
58
58
  reason?: string;
59
59
  }
60
+ export type ResolveIOSupportSimilarCaseSource = 'airun' | 'support_ticket' | 'git_commit' | 'manual';
61
+ export interface ResolveIOSupportSimilarCaseCandidate extends ResolveIOSupportDiagnosisHint {
62
+ source: ResolveIOSupportSimilarCaseSource;
63
+ summary?: string;
64
+ keywords?: string[];
65
+ updatedAt?: string;
66
+ metadata?: Record<string, any>;
67
+ }
68
+ export interface ResolveIOSupportSimilarCaseRankedHint extends ResolveIOSupportDiagnosisHint {
69
+ source: ResolveIOSupportSimilarCaseSource;
70
+ score: number;
71
+ structuredSignals: string[];
72
+ advisoryOnly: true;
73
+ }
74
+ export interface ResolveIOSupportSimilarCaseSelectionInput {
75
+ issueClass?: ResolveIOSupportIssueClass | string;
76
+ ownerFiles?: any;
77
+ text?: any;
78
+ candidates?: any[];
79
+ limit?: number;
80
+ now?: Date | string;
81
+ }
82
+ export interface ResolveIOSupportSimilarCaseSelection {
83
+ ranked: ResolveIOSupportSimilarCaseRankedHint[];
84
+ similarTickets: ResolveIOSupportSimilarCaseRankedHint[];
85
+ similarCommits: ResolveIOSupportSimilarCaseRankedHint[];
86
+ ignoredCount: number;
87
+ generatedAt: string;
88
+ }
60
89
  export interface ResolveIOSupportDiagnosisEvidence {
61
90
  type: 'ticket' | 'browser' | 'mongo' | 'log' | 'code' | 'commit' | 'qa' | 'other';
62
91
  summary: string;
@@ -95,12 +124,35 @@ export interface ResolveIOSupportDiagnosisEvidenceQuality {
95
124
  hasReproductionEvidence: boolean;
96
125
  }
97
126
  export type ResolveIOSupportCustomerReplyAction = 'draft_resolution_reply' | 'ask_clarification' | 'hold_internal';
127
+ export type ResolveIOSupportHumanReviewType = 'diagnosis_gate' | 'owner_scoped_repair' | 'business_proof_qa' | 'release_hotfix' | 'customer_resolution_reply' | 'customer_clarification' | 'new_evidence' | 'internal_hold';
128
+ export interface ResolveIOSupportHumanReviewPacket {
129
+ reviewType: ResolveIOSupportHumanReviewType;
130
+ title: string;
131
+ summary: string;
132
+ primaryAction: string;
133
+ question?: string;
134
+ customerFacingDraftAllowed: boolean;
135
+ customerSendAllowed: boolean;
136
+ requiresHumanApproval: boolean;
137
+ safety: 'safe_to_draft' | 'needs_clarification' | 'internal_hold';
138
+ reason: string;
139
+ blockers: string[];
140
+ requiredEvidence: string[];
141
+ evidenceRefs: string[];
142
+ nextCommands: string[];
143
+ forbiddenActions: string[];
144
+ costRisk: 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send';
145
+ createdAt: string;
146
+ }
98
147
  export interface ResolveIOSupportCustomerReplyPolicyInput {
99
148
  diagnosisGate?: any;
100
149
  outcomeLabel?: string;
101
150
  confidence?: any;
102
151
  businessAssertionStatus?: string;
152
+ businessAssertions?: any[];
103
153
  businessProofArtifacts?: any[];
154
+ previousProofFingerprint?: string;
155
+ previousArtifactFingerprint?: string;
104
156
  unresolvedBlockers?: any[];
105
157
  releaseStatus?: string;
106
158
  }
@@ -113,6 +165,7 @@ export interface ResolveIOSupportCustomerReplyPolicy {
113
165
  reason: string;
114
166
  requiredEvidence: string[];
115
167
  clarificationQuestion?: string;
168
+ humanReviewPacket?: ResolveIOSupportHumanReviewPacket;
116
169
  draftBasis?: {
117
170
  issueClass: ResolveIOSupportIssueClass;
118
171
  businessProof: string;
@@ -122,18 +175,69 @@ export interface ResolveIOSupportCustomerReplyPolicy {
122
175
  export interface ResolveIOSupportIssueClassProbe {
123
176
  issue_class: ResolveIOSupportIssueClass;
124
177
  probe_type: ResolveIOSupportV5StepType;
178
+ failure_class: ResolveIOSupportV5FailureClass;
125
179
  objective: string;
126
180
  route?: string;
127
181
  action: string;
128
182
  expected_evidence: string;
183
+ expected_business_proof: string;
184
+ required_artifacts: string[];
185
+ state_transition: {
186
+ before: string;
187
+ action: string;
188
+ after: string;
189
+ assertion: string;
190
+ };
191
+ acceptance_gate: 'aiqa_business_assertion';
129
192
  blocks_acceptance_without_business_assertion: boolean;
130
193
  }
194
+ export interface ResolveIOSupportBusinessProofAssertion {
195
+ assertion: string;
196
+ status: string;
197
+ workflow?: string;
198
+ route?: string;
199
+ before?: string;
200
+ action?: string;
201
+ expected?: string;
202
+ after?: string;
203
+ observed?: string;
204
+ dataProof?: string;
205
+ mongoDelta?: Record<string, any>;
206
+ artifactPaths: string[];
207
+ message?: string;
208
+ acceptanceBlocked?: boolean;
209
+ routeOnly?: boolean;
210
+ metadata?: Record<string, any>;
211
+ }
212
+ export interface ResolveIOSupportBusinessProofReadinessInput {
213
+ diagnosisGate?: any;
214
+ outcomeLabel?: string;
215
+ businessAssertionStatus?: string;
216
+ businessAssertions?: any[];
217
+ businessProofArtifacts?: any[];
218
+ previousProofFingerprint?: string;
219
+ previousArtifactFingerprint?: string;
220
+ }
221
+ export interface ResolveIOSupportBusinessProofReadiness {
222
+ ready: boolean;
223
+ status: 'missing' | 'route_only' | 'failed' | 'blocked' | 'weak' | 'stale' | 'passed';
224
+ reason: string;
225
+ blockers: string[];
226
+ requiredEvidence: string[];
227
+ artifactPaths: string[];
228
+ proofFingerprint: string;
229
+ artifactFingerprint: string;
230
+ proofFreshness: 'missing' | 'fresh' | 'same_as_previous' | 'stale_artifact' | 'unknown';
231
+ matchedAssertion?: ResolveIOSupportBusinessProofAssertion;
232
+ }
131
233
  export interface ResolveIOSupportV5RepeatStopInput {
132
234
  history: ResolveIOSupportV5StepRecord[];
133
235
  failureClass?: ResolveIOSupportV5FailureClass | string;
134
236
  blocker?: string;
135
237
  evidence?: any;
136
238
  evidenceHash?: string;
239
+ changedFiles?: any;
240
+ artifactPaths?: any;
137
241
  limit?: number;
138
242
  ignoreInfra?: boolean;
139
243
  }
@@ -143,13 +247,39 @@ export interface ResolveIOSupportV5RepeatStopDecision {
143
247
  failureClass: string;
144
248
  blockerFingerprint: string;
145
249
  evidenceHash: string;
250
+ newEvidence?: boolean;
251
+ materialEvidence?: boolean;
252
+ evidenceStrength?: ResolveIOAIManagerEvidenceStrength;
253
+ evidenceSignals?: string[];
146
254
  reason: string;
147
255
  }
256
+ export type ResolveIOSupportEvidenceFreshnessStatus = 'missing' | 'fresh' | 'retry_below_limit' | 'material_evidence' | 'weak_evidence' | 'stale_repeated' | 'ping_pong' | 'infra_ignored';
257
+ export interface ResolveIOSupportEvidenceFreshness {
258
+ status: ResolveIOSupportEvidenceFreshnessStatus;
259
+ failureClass: string;
260
+ blockerFingerprint: string;
261
+ evidenceHash: string;
262
+ sameFailureCount: number;
263
+ pingPongCount: number;
264
+ newEvidence: boolean;
265
+ materialEvidence: boolean;
266
+ evidenceStrength: ResolveIOAIManagerEvidenceStrength;
267
+ evidenceSignals: string[];
268
+ loopBudgetShouldReset: boolean;
269
+ canRetry: boolean;
270
+ mustCollectNewEvidence: boolean;
271
+ productRepairFailure: boolean;
272
+ reason: string;
273
+ requiredResetEvidence: string[];
274
+ changedFiles: string[];
275
+ artifactPaths: string[];
276
+ }
148
277
  export type ResolveIOSupportV5RepairGateAction = 'diagnose_only' | 'infra_repair_only' | 'allow_product_repair' | 'reject_out_of_scope' | 'park_repeated_failure';
149
278
  export interface ResolveIOSupportV5RepairGateInput {
150
279
  diagnosisGate?: any;
151
280
  activeStepType?: ResolveIOSupportV5StepType | string;
152
281
  changedFiles?: any;
282
+ artifactPaths?: any;
153
283
  failureClass?: ResolveIOSupportV5FailureClass | string;
154
284
  blocker?: string;
155
285
  evidence?: any;
@@ -374,16 +504,119 @@ export interface ResolveIOSupportV5ContinuationDecision {
374
504
  recoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;
375
505
  recoveryAction: ResolveIOAIManagerRecoveryActionPacket;
376
506
  }
507
+ export type ResolveIOSupportV5AutonomousNextAction = 'run_diagnosis_gate' | 'ask_customer_clarification' | 'repair_infra_only' | 'revise_diagnosis_scope' | 'run_owner_scoped_repair' | 'run_business_proof_qa' | 'repair_release_hotfix_first' | 'collect_new_evidence' | 'draft_customer_reply' | 'ready_for_release_gate' | 'park_manual';
508
+ export type ResolveIOSupportRootCauseReadinessStatus = 'diagnosis_required' | 'customer_clarification_required' | 'infra_repair_only' | 'scope_revision_required' | 'owner_scoped_repair_ready' | 'business_proof_required' | 'release_hotfix_required' | 'release_gate_ready' | 'customer_reply_draft_ready' | 'collect_new_evidence' | 'parked';
509
+ export interface ResolveIOSupportRootCauseReadiness {
510
+ status: ResolveIOSupportRootCauseReadinessStatus;
511
+ nextGate: 'diagnosis' | 'infra' | 'scope' | 'repair' | 'business_proof' | 'release' | 'customer_reply' | 'evidence' | 'manual';
512
+ nextCommand: string;
513
+ rootCauseFirstSatisfied: boolean;
514
+ diagnosisValid: boolean;
515
+ ownerFilesReady: boolean;
516
+ proofPlanReady: boolean;
517
+ businessProofReady: boolean;
518
+ infraOnly: boolean;
519
+ sameFailureParked: boolean;
520
+ canEditProductCode: boolean;
521
+ canRunIssueClassProbe: boolean;
522
+ canRunBusinessProofQa: boolean;
523
+ canRelease: boolean;
524
+ canDraftCustomerReply: boolean;
525
+ requiresHumanDecision: boolean;
526
+ reason: string;
527
+ blockers: string[];
528
+ ownerFiles: string[];
529
+ issueClass?: ResolveIOSupportIssueClass;
530
+ expectedProof?: string;
531
+ issueClassProbes?: ResolveIOSupportIssueClassProbe[];
532
+ businessProofStatus?: ResolveIOSupportBusinessProofReadiness['status'];
533
+ proofFingerprint?: string;
534
+ artifactFingerprint?: string;
535
+ proofFreshness?: ResolveIOSupportBusinessProofReadiness['proofFreshness'];
536
+ }
537
+ export interface ResolveIOSupportV5AutonomousDecisionInput {
538
+ bundle: ResolveIOSupportV5StateBundle;
539
+ changedFiles?: any;
540
+ failureClass?: ResolveIOSupportV5FailureClass | string;
541
+ blocker?: any;
542
+ evidence?: any;
543
+ evidenceHash?: string;
544
+ outcomeLabel?: string;
545
+ confidence?: any;
546
+ businessAssertionStatus?: string;
547
+ businessAssertions?: any[];
548
+ businessProofArtifacts?: any[];
549
+ artifactPaths?: any;
550
+ previousProofFingerprint?: string;
551
+ previousArtifactFingerprint?: string;
552
+ unresolvedBlockers?: any[];
553
+ releaseStatus?: string;
554
+ hotfixEvidence?: any;
555
+ releasePolicy?: ResolveIOAIManagerHotfixFirstReleasePolicy;
556
+ releaseGatePassed?: boolean;
557
+ maxOwnerFiles?: number;
558
+ now?: Date | string;
559
+ }
560
+ export interface ResolveIOSupportV5AutonomousDecision {
561
+ action: ResolveIOSupportV5AutonomousNextAction;
562
+ label: string;
563
+ reason: string;
564
+ canRunAutonomously: boolean;
565
+ canEditProductCode: boolean;
566
+ canRunModel: boolean;
567
+ canRunQa: boolean;
568
+ canHotfixBackend: boolean;
569
+ canDraftCustomerReply: boolean;
570
+ canSendCustomerReply: boolean;
571
+ lane: ResolveIOSupportV5Lane | 'release' | 'customer';
572
+ stepType: ResolveIOSupportV5StepType | 'release_gate' | 'customer_reply';
573
+ microtaskId?: string;
574
+ primaryCommand: string;
575
+ nextCommands: string[];
576
+ requiredEvidence: string[];
577
+ forbiddenActions: string[];
578
+ blockers: string[];
579
+ ownerFiles: string[];
580
+ issueClass?: ResolveIOSupportIssueClass;
581
+ expectedProof?: string;
582
+ issueClassProbes: ResolveIOSupportIssueClassProbe[];
583
+ activeMicrotask?: ResolveIOSupportV5Microtask;
584
+ diagnosisValidation: ResolveIOSupportDiagnosisGateValidation;
585
+ repairGate: ResolveIOSupportV5RepairGateDecision;
586
+ continuation: ResolveIOSupportV5ContinuationDecision;
587
+ customerReplyPolicy: ResolveIOSupportCustomerReplyPolicy;
588
+ businessProofReadiness: ResolveIOSupportBusinessProofReadiness;
589
+ evidenceFreshness: ResolveIOSupportEvidenceFreshness;
590
+ rootCauseReadiness: ResolveIOSupportRootCauseReadiness;
591
+ humanReviewPacket: ResolveIOSupportHumanReviewPacket;
592
+ hotfixContinuation?: ResolveIOAIManagerHotfixContinuationDecision;
593
+ recordedAt: string;
594
+ }
595
+ export declare function selectResolveIOSupportSimilarCaseHints(input?: ResolveIOSupportSimilarCaseSelectionInput): ResolveIOSupportSimilarCaseSelection;
377
596
  export declare function evaluateResolveIOSupportDiagnosisEvidenceQuality(value: any): ResolveIOSupportDiagnosisEvidenceQuality;
378
597
  export declare function normalizeResolveIOSupportDiagnosisGate(value: any, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
379
598
  export declare function extractResolveIOSupportDiagnosisGateFromText(value: string, now?: Date | string): ResolveIOSupportDiagnosisGate | undefined;
380
599
  export declare function validateResolveIOSupportDiagnosisGate(value: any, options?: {
381
600
  maxOwnerFiles?: number;
382
601
  }): ResolveIOSupportDiagnosisGateValidation;
602
+ export declare function evaluateResolveIOSupportBusinessProofReadiness(input?: ResolveIOSupportBusinessProofReadinessInput): ResolveIOSupportBusinessProofReadiness;
383
603
  export declare function decideResolveIOSupportCustomerReplyPolicy(input?: ResolveIOSupportCustomerReplyPolicyInput): ResolveIOSupportCustomerReplyPolicy;
384
604
  export declare function buildResolveIOSupportIssueClassProbes(value: any): ResolveIOSupportIssueClassProbe[];
385
605
  export declare function hashResolveIOSupportV5Evidence(value: any): string;
386
606
  export declare function decideResolveIOSupportV5RepeatedFailureStop(input: ResolveIOSupportV5RepeatStopInput): ResolveIOSupportV5RepeatStopDecision;
607
+ export declare function evaluateResolveIOSupportEvidenceFreshness(input: {
608
+ history?: ResolveIOSupportV5StepRecord[];
609
+ failureClass?: ResolveIOSupportV5FailureClass | string;
610
+ blocker?: any;
611
+ evidence?: any;
612
+ evidenceHash?: string;
613
+ changedFiles?: any;
614
+ artifactPaths?: any;
615
+ lane?: ResolveIOSupportV5Lane | string;
616
+ stepType?: ResolveIOSupportV5StepType | string;
617
+ limit?: number;
618
+ ignoreInfra?: boolean;
619
+ }): ResolveIOSupportEvidenceFreshness;
387
620
  export declare function changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(diagnosisGate: any, changedFiles: any, options?: {
388
621
  allowTests?: boolean;
389
622
  }): string[];
@@ -411,6 +644,7 @@ export declare function initializeResolveIOSupportV5State(input: ResolveIOSuppor
411
644
  export declare function recordResolveIOSupportV5Step(bundle: ResolveIOSupportV5StateBundle, step: ResolveIOSupportV5StepInput): ResolveIOSupportV5StateBundle;
412
645
  export declare function recordResolveIOSupportV5MicrotaskUsage(bundle: ResolveIOSupportV5StateBundle, usage: Omit<ResolveIOSupportV5MicrotaskUsage, 'recordedAt'>): ResolveIOSupportV5StateBundle;
413
646
  export declare function decideResolveIOSupportV5Continuation(bundle: ResolveIOSupportV5StateBundle): ResolveIOSupportV5ContinuationDecision;
647
+ export declare function decideResolveIOSupportV5AutonomousNextAction(input: ResolveIOSupportV5AutonomousDecisionInput): ResolveIOSupportV5AutonomousDecision;
414
648
  export declare function buildResolveIOSupportV5DiagnoseFirstPrompt(lines: {
415
649
  goal?: string;
416
650
  approvedScope?: string[];
@@ -432,6 +666,7 @@ export declare function buildResolveIOSupportV5MicrotaskPrompt(input: {
432
666
  artifactPaths?: string[];
433
667
  targetFiles?: string[];
434
668
  contextSnippets?: string[];
669
+ similarCaseHints?: any;
435
670
  activeQaRow?: ResolveIOSupportV5LaneMemory['activeQaRow'];
436
671
  }): {
437
672
  prompt: string;