@resolveio/server-lib 22.3.173 → 22.3.174
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
|
@@ -1513,6 +1513,40 @@ function supportNextActionContractObject(ticket, job, evidence) {
|
|
|
1513
1513
|
|| ticket.support_v5_autonomous_decision);
|
|
1514
1514
|
return evidenceObject(autonomousDecision.nextActionContract, autonomousDecision.next_action_contract, job.supportV5NextActionContract, job.support_v5_next_action_contract, job.nextActionContract, job.next_action_contract, evidence.supportV5NextActionContract, evidence.support_v5_next_action_contract, evidence.nextActionContract, evidence.next_action_contract, ticket.supportV5NextActionContract, ticket.support_v5_next_action_contract, ticket.nextActionContract, ticket.next_action_contract, ticketManager.nextActionContract, ticketManager.next_action_contract);
|
|
1515
1515
|
}
|
|
1516
|
+
function supportNextActionContractRequired(ticket, job, evidence) {
|
|
1517
|
+
var ticketAutomation = plainObject(ticket.automation);
|
|
1518
|
+
var ticketManager = plainObject(ticketAutomation.manager || ticket.manager);
|
|
1519
|
+
var workflowMarkers = [
|
|
1520
|
+
job.supportWorkflowMode,
|
|
1521
|
+
job.workflowMode,
|
|
1522
|
+
job.workflow_mode,
|
|
1523
|
+
job.supportWorkflowVersion,
|
|
1524
|
+
job.support_workflow_version,
|
|
1525
|
+
ticket.supportWorkflowMode,
|
|
1526
|
+
ticket.workflowMode,
|
|
1527
|
+
ticket.workflow_mode
|
|
1528
|
+
].map(function (value) { return cleanText(value, 80).toLowerCase(); });
|
|
1529
|
+
return workflowMarkers.some(function (value) { return value === 'support_v5' || value === 'v5'; })
|
|
1530
|
+
|| !!job.supportV5SupervisorState
|
|
1531
|
+
|| !!job.supportV5MicrotaskLedger
|
|
1532
|
+
|| !!job.supportV5StepHistory
|
|
1533
|
+
|| !!job.supportV5DiagnosisGate
|
|
1534
|
+
|| !!job.supportV5DiagnosisEvidencePack
|
|
1535
|
+
|| !!job.support_v5_supervisor_state
|
|
1536
|
+
|| !!job.support_v5_microtask_ledger
|
|
1537
|
+
|| !!job.support_v5_step_history
|
|
1538
|
+
|| !!job.support_v5_diagnosis_gate
|
|
1539
|
+
|| !!job.support_v5_diagnosis_evidence_pack
|
|
1540
|
+
|| !!job.supportRootCauseEntryContract
|
|
1541
|
+
|| !!job.support_root_cause_entry_contract
|
|
1542
|
+
|| !!evidence.supportV5AutonomousDecision
|
|
1543
|
+
|| !!evidence.support_v5_autonomous_decision
|
|
1544
|
+
|| !!evidence.rootCauseReadiness
|
|
1545
|
+
|| !!evidence.root_cause_readiness
|
|
1546
|
+
|| !!ticketManager.root_cause_entry_contract
|
|
1547
|
+
|| !!ticketManager.rootCauseEntryContract
|
|
1548
|
+
|| !!ticketManager.last_watchdog_decision;
|
|
1549
|
+
}
|
|
1516
1550
|
function supportNextActionContractMetadata(contract) {
|
|
1517
1551
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
1518
1552
|
var decisionBasis = plainObject(contract.decisionBasis || contract.decision_basis);
|
|
@@ -1558,9 +1592,31 @@ function supportNextActionContractMetadata(contract) {
|
|
|
1558
1592
|
};
|
|
1559
1593
|
return source;
|
|
1560
1594
|
}
|
|
1561
|
-
function supportNextActionContractGate(contract, now) {
|
|
1595
|
+
function supportNextActionContractGate(contract, now, required) {
|
|
1596
|
+
if (required === void 0) { required = false; }
|
|
1562
1597
|
if (!contract || !Object.keys(contract).length) {
|
|
1563
|
-
|
|
1598
|
+
if (!required) {
|
|
1599
|
+
return undefined;
|
|
1600
|
+
}
|
|
1601
|
+
var blocker = 'Support V5 run is missing a validated next-action contract, so the manager cannot prove one safe primary action without external Codex monitoring.';
|
|
1602
|
+
return {
|
|
1603
|
+
key: 'support_next_action_contract',
|
|
1604
|
+
label: 'Support next-action contract',
|
|
1605
|
+
status: 'blocked',
|
|
1606
|
+
reason: blocker,
|
|
1607
|
+
evidenceRefs: [],
|
|
1608
|
+
recordedAt: isoNow(now),
|
|
1609
|
+
metadata: {
|
|
1610
|
+
required: true,
|
|
1611
|
+
missingContract: true,
|
|
1612
|
+
safeToAutoRun: false,
|
|
1613
|
+
canRunWithoutCodexMonitor: false,
|
|
1614
|
+
codexFallbackRequired: true,
|
|
1615
|
+
codexFallbackReason: 'missing_support_next_action_contract',
|
|
1616
|
+
blockers: [blocker],
|
|
1617
|
+
missingSafetyFlags: ['safeToAutoRun', 'canRunWithoutCodexMonitor', 'codexFallbackRequired']
|
|
1618
|
+
}
|
|
1619
|
+
};
|
|
1564
1620
|
}
|
|
1565
1621
|
var metadata = supportNextActionContractMetadata(contract);
|
|
1566
1622
|
var blockers = cleanStringList(metadata.blockers, 40, 500);
|
|
@@ -2370,7 +2426,8 @@ function buildSupportAIRunFromEvidence(input) {
|
|
|
2370
2426
|
});
|
|
2371
2427
|
}
|
|
2372
2428
|
var nextActionContract = supportNextActionContractObject(ticket, job, evidence);
|
|
2373
|
-
var
|
|
2429
|
+
var nextActionContractRequired = supportNextActionContractRequired(ticket, job, evidence);
|
|
2430
|
+
var nextActionContractGate = supportNextActionContractGate(nextActionContract, input.now, nextActionContractRequired);
|
|
2374
2431
|
if (nextActionContractGate) {
|
|
2375
2432
|
gates.push(nextActionContractGate);
|
|
2376
2433
|
pushEvent(events, {
|