@resolveio/server-lib 22.3.237 → 22.3.239

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.237",
3
+ "version": "22.3.239",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",
@@ -1,5 +1,5 @@
1
1
  import { ResolveIOAIManagerHotfixContinuationDecision, ResolveIOAIManagerHotfixDurabilityContract, ResolveIOAIManagerHotfixFirstReleasePolicy, ResolveIOAIManagerEvidenceStrength, ResolveIOAIManagerAutonomyPolicyDecision, ResolveIOAIManagerAutonomyPolicyInput, ResolveIOAIManagerRecoveryCheckpoint, ResolveIOAIManagerRecoveryActionPacket, ResolveIOAIManagerRecoveryActionDispatchRecord, ResolveIOAIManagerRecoveryExecutionDirective, ResolveIOAIManagerRecoveryEvidenceProbe, ResolveIOAIManagerRecoveryPlan } from './ai-runner-manager-policy';
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';
2
+ export type ResolveIOSupportV5StepType = 'diagnosis_gate' | 'reproduction_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';
5
5
  export type ResolveIOSupportIssueClass = string;
@@ -535,7 +535,7 @@ export interface ResolveIOSupportEvidenceFreshness {
535
535
  artifactPaths: string[];
536
536
  }
537
537
  export type ResolveIOSupportEvidenceProbeContractStatus = 'ready' | 'blocked';
538
- export type ResolveIOSupportEvidenceProbeContractType = 'issue_class_probe' | 'business_proof' | 'preflight' | 'release' | 'manual';
538
+ export type ResolveIOSupportEvidenceProbeContractType = 'business_proof' | 'preflight' | 'release' | 'manual';
539
539
  export interface ResolveIOSupportEvidenceProbeContract {
540
540
  contractId: string;
541
541
  status: ResolveIOSupportEvidenceProbeContractStatus;
@@ -1324,6 +1324,7 @@ export declare function buildResolveIOSupportBusinessProofProbes(value: any): Re
1324
1324
  export declare function validateResolveIOSupportIssueClassProbePlan(value: any, diagnosisGate?: any, now?: Date | string): ResolveIOSupportIssueClassProbePlanValidation;
1325
1325
  export declare function buildResolveIOSupportBusinessProofPlan(diagnosisGate: any, now?: Date | string): ResolveIOSupportIssueClassProbePlan;
1326
1326
  export declare const buildResolveIOSupportIssueClassProbePlan: typeof buildResolveIOSupportBusinessProofPlan;
1327
+ export declare const buildResolveIOSupportIssueClassProbes: typeof buildResolveIOSupportBusinessProofProbes;
1327
1328
  export declare function hashResolveIOSupportV5Evidence(value: any): string;
1328
1329
  export declare function validateResolveIOSupportNextActionContract(value: any): ResolveIOSupportNextActionContractValidation;
1329
1330
  export declare function buildResolveIOSupportManagerExecutionPacket(contract: ResolveIOSupportNextActionContract, now?: Date | string): ResolveIOSupportManagerExecutionPacket;
@@ -47,7 +47,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
47
47
  return to.concat(ar || Array.prototype.slice.call(from));
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.buildResolveIOSupportIssueClassProbePlan = void 0;
50
+ exports.buildResolveIOSupportIssueClassProbes = exports.buildResolveIOSupportIssueClassProbePlan = void 0;
51
51
  exports.evaluateResolveIOSupportPreflightGate = evaluateResolveIOSupportPreflightGate;
52
52
  exports.selectResolveIOSupportSimilarCaseHints = selectResolveIOSupportSimilarCaseHints;
53
53
  exports.buildResolveIOSupportDiagnosisEvidencePack = buildResolveIOSupportDiagnosisEvidencePack;
@@ -3899,7 +3899,9 @@ function normalizeResolveIOSupportIssueClassProbeQaRow(value, fallback) {
3899
3899
  assertion: normalizedStateTransition.assertion
3900
3900
  }).slice(0, 16)) }, (normalizeIssueClass(source.issue_class || source.issueClass) || fallback.issueClass
3901
3901
  ? { issue_class: (normalizeIssueClass(source.issue_class || source.issueClass) || fallback.issueClass) }
3902
- : {})), { probe_type: (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), route: cleanText(source.route, 500) || fallback.route, action_under_test: cleanText(source.action_under_test || source.actionUnderTest || source.action, 1200) || fallback.action, browser_steps: browserSteps, expected_result: cleanText(source.expected_result || source.expectedResult, 1600) || fallback.expectedBusinessProof, expected_dom_or_data_proof: cleanText(source.expected_dom_or_data_proof || source.expectedDomOrDataProof || source.expected_evidence || source.expectedEvidence, 1600) || fallback.expectedEvidence, required_artifacts: cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260).length
3902
+ : {})), { probe_type: cleanText(source.probe_type || source.probeType, 80) === 'issue_class_probe'
3903
+ ? 'business_proof'
3904
+ : (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), route: cleanText(source.route, 500) || fallback.route, action_under_test: cleanText(source.action_under_test || source.actionUnderTest || source.action, 1200) || fallback.action, browser_steps: browserSteps, expected_result: cleanText(source.expected_result || source.expectedResult, 1600) || fallback.expectedBusinessProof, expected_dom_or_data_proof: cleanText(source.expected_dom_or_data_proof || source.expectedDomOrDataProof || source.expected_evidence || source.expectedEvidence, 1600) || fallback.expectedEvidence, required_artifacts: cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260).length
3903
3905
  ? cleanList(source.required_artifacts || source.requiredArtifacts, 16, 260)
3904
3906
  : fallback.requiredArtifacts, false_pass_blockers: cleanList(source.false_pass_blockers || source.falsePassBlockers, 12, 260).length
3905
3907
  ? cleanList(source.false_pass_blockers || source.falsePassBlockers, 12, 260)
@@ -4097,7 +4099,9 @@ function normalizeResolveIOSupportIssueClassProbe(value, diagnosisGate) {
4097
4099
  stateTransition: normalizedStateTransition,
4098
4100
  requiredArtifacts: requiredArtifacts
4099
4101
  });
4100
- return __assign(__assign({}, (normalizedIssueClass ? { issue_class: normalizedIssueClass } : {})), { probe_type: (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), failure_class: failureClass, objective: cleanText(source.objective, 1000), route: route, action: action, browser_steps: browserSteps, expected_evidence: expectedEvidence, expected_business_proof: expectedBusinessProof, data_proof_requirements: dataProofRequirements, required_artifacts: requiredArtifacts, qa_rows: normalizedQaRows, active_qa_row: normalizedQaRows[0], aiqa_business_assertion_template: assertionTemplate, state_transition: normalizedStateTransition, acceptance_gate: cleanText(source.acceptance_gate || source.acceptanceGate, 120) === 'aiqa_business_assertion'
4102
+ return __assign(__assign({}, (normalizedIssueClass ? { issue_class: normalizedIssueClass } : {})), { probe_type: cleanText(source.probe_type || source.probeType, 80) === 'issue_class_probe'
4103
+ ? 'business_proof'
4104
+ : (cleanText(source.probe_type || source.probeType, 80) || 'business_proof'), failure_class: failureClass, objective: cleanText(source.objective, 1000), route: route, action: action, browser_steps: browserSteps, expected_evidence: expectedEvidence, expected_business_proof: expectedBusinessProof, data_proof_requirements: dataProofRequirements, required_artifacts: requiredArtifacts, qa_rows: normalizedQaRows, active_qa_row: normalizedQaRows[0], aiqa_business_assertion_template: assertionTemplate, state_transition: normalizedStateTransition, acceptance_gate: cleanText(source.acceptance_gate || source.acceptanceGate, 120) === 'aiqa_business_assertion'
4101
4105
  ? 'aiqa_business_assertion'
4102
4106
  : 'aiqa_business_assertion', blocks_acceptance_without_business_assertion: source.blocks_acceptance_without_business_assertion !== false
4103
4107
  && source.blocksAcceptanceWithoutBusinessAssertion !== false, false_pass_blockers: falsePassBlockers });
@@ -4254,6 +4258,7 @@ function buildResolveIOSupportBusinessProofPlan(diagnosisGate, now) {
4254
4258
  return validation.normalized || __assign(__assign({}, provisional), { status: validation.status, blockers: validation.blockers });
4255
4259
  }
4256
4260
  exports.buildResolveIOSupportIssueClassProbePlan = buildResolveIOSupportBusinessProofPlan;
4261
+ exports.buildResolveIOSupportIssueClassProbes = buildResolveIOSupportBusinessProofProbes;
4257
4262
  function hashResolveIOSupportV5Evidence(value) {
4258
4263
  var raw = typeof value === 'string' ? value : JSON.stringify(value || {});
4259
4264
  var normalized = cleanText(raw, 8000)
@@ -4851,7 +4856,9 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4851
4856
  var normalized = {
4852
4857
  contractId: cleanText(source.contractId || source.contract_id, 180),
4853
4858
  status: status,
4854
- probeType: cleanText(source.probeType || source.probe_type, 80) || 'manual',
4859
+ probeType: cleanText(source.probeType || source.probe_type, 80) === 'issue_class_probe'
4860
+ ? 'business_proof'
4861
+ : (cleanText(source.probeType || source.probe_type, 80) || 'manual'),
4855
4862
  evidenceOnly: true,
4856
4863
  productRepairAllowed: false,
4857
4864
  canRunWithoutCodexMonitor: source.canRunWithoutCodexMonitor === true || source.can_run_without_codex_monitor === true,
@@ -4878,7 +4885,7 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4878
4885
  if (!normalized.contractId) {
4879
4886
  blockers.push('Evidence probe contract requires contractId.');
4880
4887
  }
4881
- if (!['issue_class_probe', 'business_proof', 'preflight', 'release', 'manual'].includes(normalized.probeType)) {
4888
+ if (!['business_proof', 'preflight', 'release', 'manual'].includes(normalized.probeType)) {
4882
4889
  blockers.push('Evidence probe contract probeType is invalid.');
4883
4890
  }
4884
4891
  if (source.evidenceOnly === false || source.evidence_only === false) {
@@ -4902,7 +4909,7 @@ function validateResolveIOSupportEvidenceProbeContract(value) {
4902
4909
  if (!normalized.forbiddenActions.some(function (entry) { return /product-code|repair loop|source edit|owner_files/i.test(entry); })) {
4903
4910
  blockers.push('Evidence probe contract must explicitly forbid product-code repair/source edits.');
4904
4911
  }
4905
- if (normalized.probeType === 'business_proof' || normalized.probeType === 'issue_class_probe') {
4912
+ if (normalized.probeType === 'business_proof') {
4906
4913
  if (!normalized.activeRoute) {
4907
4914
  blockers.push('Business-proof evidence probe requires activeRoute.');
4908
4915
  }
@@ -5863,7 +5870,8 @@ function decideResolveIOSupportV5AutonomousNextAction(input) {
5863
5870
  var diagnosisValidation = validateResolveIOSupportDiagnosisGate(bundle.supportV5DiagnosisGate, {
5864
5871
  maxOwnerFiles: input.maxOwnerFiles
5865
5872
  });
5866
- var activeStepType = cleanText((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.type) || (!diagnosisValidation.valid ? bundle.supportV5SupervisorState.activeStep : 'cleanup') || 'diagnosis_gate', 80);
5873
+ var rawActiveStepType = cleanText((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.type) || (!diagnosisValidation.valid ? bundle.supportV5SupervisorState.activeStep : 'cleanup') || 'diagnosis_gate', 80);
5874
+ var activeStepType = (rawActiveStepType === 'issue_class_probe' ? 'business_proof' : rawActiveStepType);
5867
5875
  var repairGate = decideResolveIOSupportV5RepairGate({
5868
5876
  diagnosisGate: bundle.supportV5DiagnosisGate,
5869
5877
  preflightGate: preflightGate,
@@ -6814,14 +6822,14 @@ function decideResolveIOSupportV5AutonomousNextAction(input) {
6814
6822
  humanReviewPacket: customerReplyPolicy.humanReviewPacket
6815
6823
  });
6816
6824
  }
6817
- if ((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.lane) === 'qa' || /^(qa_row|qa_retest|business_proof|route_probe|issue_class_probe)$/.test(activeStepType)) {
6825
+ if ((activeMicrotask === null || activeMicrotask === void 0 ? void 0 : activeMicrotask.lane) === 'qa' || /^(qa_row|qa_retest|business_proof|route_probe)$/.test(activeStepType)) {
6818
6826
  return makeDecision('run_business_proof_qa', 'Run Business Proof QA', 'support_v5_business_assertion_required', {
6819
6827
  canRunAutonomously: true,
6820
6828
  canRunQa: true,
6821
6829
  canRunModel: false,
6822
6830
  canEditProductCode: false,
6823
6831
  lane: 'qa',
6824
- stepType: /^(qa_row|qa_retest|business_proof|route_probe|issue_class_probe)$/.test(activeStepType) ? activeStepType : 'qa_row',
6832
+ stepType: /^(qa_row|qa_retest|business_proof|route_probe)$/.test(activeStepType) ? activeStepType : 'qa_row',
6825
6833
  primaryCommand: 'run_support_v5_business_proof_qa_row',
6826
6834
  nextCommands: ['start_local_stack_if_needed', 'execute_business_proof', 'record_before_action_after_artifacts', 'write_aiqa_business_assertion'],
6827
6835
  requiredEvidence: Array.from(new Set(__spreadArray(['AIQaBusinessAssertion pass', 'business proof artifact', 'artifact path'], __read(issueClassProbeEvidence), false))),
@@ -7131,6 +7139,7 @@ function buildResolveIOSupportV5MicrotaskPrompt(input) {
7131
7139
  'Support Runner V5 Microtask Contract.',
7132
7140
  'Use the existing persistent lane thread. Do not start a fresh thread.',
7133
7141
  'Do exactly one microtask and one proof gate. Do not replay ticket triage, prior plans, attachments, broad QA checklist, or unrelated scope.',
7142
+ 'Do not force support issues into fixed issue taxonomies or keyword buckets. Infer the proof, files, and action path from the customer complaint, observed behavior, and code/data flow.',
7134
7143
  'If context is insufficient, request the smallest missing file/log/artifact by path and park this microtask; do not broaden the prompt.',
7135
7144
  'Do not send customer email. Do not deploy. Do not spawn duplicate server/client/Mongo/browser/Codex processes.',
7136
7145
  diagnosisActive