create-principles-disciple 1.133.13 → 1.134.0
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/console/dist/server/routes/update.js +38 -7
- package/console/dist/server/update/legacy-mutation-journal.d.ts +118 -0
- package/console/dist/server/update/legacy-mutation-journal.js +220 -0
- package/console/dist/web/assets/app.js +81 -11
- package/console/package.json +2 -2
- package/core/dist/runtime-v2/__tests__/recovery-sweep-service.test.js +130 -0
- package/core/dist/runtime-v2/__tests__/recovery-sweep-service.test.js.map +1 -1
- package/core/dist/runtime-v2/recovery-sweep-service.d.ts +9 -0
- package/core/dist/runtime-v2/recovery-sweep-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/recovery-sweep-service.js +7 -2
- package/core/dist/runtime-v2/recovery-sweep-service.js.map +1 -1
- package/core/package.json +1 -1
- package/dist/installer.d.ts +48 -0
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +115 -13
- package/dist/installer.js.map +1 -1
- package/dist/uninstaller.d.ts.map +1 -1
- package/dist/uninstaller.js +7 -3
- package/dist/uninstaller.js.map +1 -1
- package/dist/update/install-layout.d.ts +39 -2
- package/dist/update/install-layout.d.ts.map +1 -1
- package/dist/update/install-layout.js +69 -3
- package/dist/update/install-layout.js.map +1 -1
- package/dist/update/release-manager-authority.d.ts +8 -0
- package/dist/update/release-manager-authority.d.ts.map +1 -1
- package/dist/update/release-manager-authority.js +26 -4
- package/dist/update/release-manager-authority.js.map +1 -1
- package/dist/update/release-metadata-source.d.ts +85 -0
- package/dist/update/release-metadata-source.d.ts.map +1 -0
- package/dist/update/release-metadata-source.js +102 -0
- package/dist/update/release-metadata-source.js.map +1 -0
- package/package.json +2 -2
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.js +82 -6
- package/pd-cli/dist/commands/runtime-recovery-failed-tasks.js.map +1 -1
- package/pd-cli/dist/index.js +6 -3
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/package.json +1 -1
- package/plugin/dist/bundle.js +3 -3
- package/plugin/dist/governance-audit.js +139 -139
- package/plugin/dist/rulehost-evidence.js +144 -144
- package/release-manager/dist/installer.d.ts +48 -0
- package/release-manager/dist/installer.d.ts.map +1 -1
- package/release-manager/dist/installer.js +115 -13
- package/release-manager/dist/installer.js.map +1 -1
- package/release-manager/dist/uninstaller.d.ts.map +1 -1
- package/release-manager/dist/uninstaller.js +7 -3
- package/release-manager/dist/uninstaller.js.map +1 -1
- package/release-manager/dist/update/install-layout.d.ts +39 -2
- package/release-manager/dist/update/install-layout.d.ts.map +1 -1
- package/release-manager/dist/update/install-layout.js +69 -3
- package/release-manager/dist/update/install-layout.js.map +1 -1
- package/release-manager/dist/update/release-manager-authority.d.ts +8 -0
- package/release-manager/dist/update/release-manager-authority.d.ts.map +1 -1
- package/release-manager/dist/update/release-manager-authority.js +26 -4
- package/release-manager/dist/update/release-manager-authority.js.map +1 -1
- package/release-manager/dist/update/release-metadata-source.d.ts +85 -0
- package/release-manager/dist/update/release-metadata-source.d.ts.map +1 -0
- package/release-manager/dist/update/release-metadata-source.js +102 -0
- package/release-manager/dist/update/release-metadata-source.js.map +1 -0
- package/release-manager/package.json +2 -2
package/plugin/dist/bundle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
var l0t=Object.create;var G8=Object.defineProperty;var u0t=Object.getOwnPropertyDescriptor;var d0t=Object.getOwnPropertyNames;var p0t=Object.getPrototypeOf,f0t=Object.prototype.hasOwnProperty;var z=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var W=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Q=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},kn=(t,e)=>{for(var n in e)G8(t,n,{get:e[n],enumerable:!0})},m0t=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of d0t(e))!f0t.call(t,i)&&i!==n&&G8(t,i,{get:()=>e[i],enumerable:!(r=u0t(e,i))||r.enumerable});return t};var sa=(t,e,n)=>(n=t!=null?l0t(p0t(t)):{},m0t(e||!t||!t.__esModule?G8(n,"default",{value:t,enumerable:!0}):n,t));function sg(t){return U9.includes(t)}function VO(t){return xCe.includes(t)}function py(t){return sg(t)||VO(t)}function $9(t){return Q9.includes(t)}function P_(t,e,n){if(t!==null&&typeof t=="object"&&!Array.isArray(t)){let r=t;Object.hasOwn(r,e)||(r[e]=n)}}function Cd(t,e){let n=[];if(t===null||typeof t!="object"||Array.isArray(t))return n;let r=t;for(let i of e.topFields??[]){if(!Object.hasOwn(r,i.field)){P_(r,i.field,i.authoritativeValue);continue}r[i.field]!==i.authoritativeValue&&(r[i.field]=i.authoritativeValue,n.push(i.field))}if(e.trace){let{traceField:i,fields:o}=e.trace,s=r[i];if(s!==null&&typeof s=="object"&&!Array.isArray(s)){let a=s;for(let c of o)a[c.field]!==c.authoritativeValue&&(a[c.field]=c.authoritativeValue,n.push(`${i}.${c.field}`))}else{let a={};for(let c of o)a[c.field]=c.authoritativeValue;r[i]=a,n.push(i)}}return n}var U9,xCe,Q9,Na=W(()=>{"use strict";U9=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"],xCe=["diag_rootcause","diag_distiller","diag_router"],Q9=["prompt","skill","code_tool_hook","defer_archive"]});var RCe={};kn(RCe,{PI_METADATA_KEY:()=>Px,createPITaskDiagnosticJson:()=>co,hydratePITaskRecord:()=>Et,isFreshForNextAttempt:()=>W9,mergePITaskMetadata:()=>La,parseLastValidatorErrors:()=>G9,parsePITaskMetadata:()=>H9,serializePITaskMetadata:()=>q9});function YDt(t){let e=[];for(let n of t){if(e.length>=CCe){let r=t.length-CCe;e.push(`[+${r} more validation error(s) omitted for prompt budget]`);break}e.push(n.length>SCe?`${n.slice(0,SCe)}\u2026[truncated]`:n)}return e}function W9(t,e){return e!==void 0&&t.sourceAttemptCount===e-1}function G9(t){if(!t||t.trim()==="")return null;let e;try{e=JSON.parse(t)}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e)||!Object.hasOwn(e,"lastValidatorErrors"))return null;let n=e.lastValidatorErrors;if(typeof n!="object"||n===null||Array.isArray(n))return null;let r=n;if(typeof r.recordedAt!="string"||r.recordedAt.trim()===""||typeof r.errorCategory!="string"||r.errorCategory.trim()===""||!Array.isArray(r.errors)||r.errors.length===0)return null;for(let i of r.errors)if(typeof i!="string"||i.trim()==="")return null;return typeof r.sourceAttemptCount!="number"||!Number.isInteger(r.sourceAttemptCount)||r.sourceAttemptCount<0?null:{recordedAt:r.recordedAt,errorCategory:r.errorCategory,errors:YDt(r.errors),sourceAttemptCount:r.sourceAttemptCount}}function q9(t){return JSON.stringify({[Px]:{dependencyTaskIds:t.dependencyTaskIds,channel:t.channel,timeoutMs:t.timeoutMs,inputArtifactRefs:t.inputArtifactRefs,outputArtifactRefs:t.outputArtifactRefs,parentTaskId:t.parentTaskId,correlationId:t.correlationId,rejectionCount:t.rejectionCount,adversarialFeedback:t.adversarialFeedback,repairPayload:t.repairPayload,runnerDecision:t.runnerDecision,revisionCount:t.revisionCount,revisionFeedback:t.revisionFeedback,revisionCauseId:t.revisionCauseId,rolloutRevisionPayload:t.rolloutRevisionPayload,completionIntent:t.completionIntent,humanReviewContext:t.humanReviewContext,ownerResolutions:t.ownerResolutions}})}function La(t,e){return{dependencyTaskIds:t.dependencyTaskIds,channel:t.channel,timeoutMs:t.timeoutMs,inputArtifactRefs:t.inputArtifactRefs,outputArtifactRefs:t.outputArtifactRefs,parentTaskId:t.parentTaskId,correlationId:t.correlationId,rejectionCount:t.rejectionCount,adversarialFeedback:t.adversarialFeedback,repairPayload:t.repairPayload,runnerDecision:t.runnerDecision,revisionCount:t.revisionCount,revisionFeedback:t.revisionFeedback,revisionCauseId:t.revisionCauseId,rolloutRevisionPayload:t.rolloutRevisionPayload,completionIntent:t.completionIntent,humanReviewContext:t.humanReviewContext,ownerResolutions:t.ownerResolutions,...e}}function TCe(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.artifactType=="string"&&e.artifactType.trim()!==""&&typeof e.ref=="string"&&e.ref.trim()!==""}function zDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;if(!Array.isArray(e.requiredChanges)||e.requiredChanges.length===0)return!1;for(let n of e.requiredChanges)if(typeof n!="string"||n.trim()==="")return!1;if(!Array.isArray(e.concerns))return!1;for(let n of e.concerns)if(typeof n!="string"||n.trim()==="")return!1;if(typeof e.previousScore!="number"||!Number.isFinite(e.previousScore)||typeof e.repairIteration!="number"||!Number.isInteger(e.repairIteration)||e.repairIteration<1||e.repairIteration>2||typeof e.sourceArtificerArtifactId!="string"||e.sourceArtificerArtifactId.trim()===""||typeof e.sourceEvaluatorTaskId!="string"||e.sourceEvaluatorTaskId.trim()==="")return!1;if(e.diagnosticReplay!==void 0){if(typeof e.diagnosticReplay!="object"||e.diagnosticReplay===null||Array.isArray(e.diagnosticReplay))return!1;let n=e.diagnosticReplay;if(typeof n.ran!="boolean"||typeof n.passed!="boolean"||typeof n.failedCaseCount!="number"||!Number.isInteger(n.failedCaseCount)||n.failedCaseCount<0)return!1}if(e.failureAttribution!==void 0){if(typeof e.failureAttribution!="object"||e.failureAttribution===null||Array.isArray(e.failureAttribution))return!1;let n=e.failureAttribution;if(typeof n.attribution!="string"||n.attribution.trim()===""||typeof n.reason!="string"||n.reason.trim()==="")return!1;if(n.outOfScopeCaseIds!==void 0){if(!Array.isArray(n.outOfScopeCaseIds))return!1;for(let r of n.outOfScopeCaseIds)if(typeof r!="string"||r.trim()==="")return!1}}return!0}function Ti(t){return typeof t=="string"&&t.trim()!==""}function JDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;return!(!Ti(e.reasonCode)||!Ti(e.sourceRunId)||e.sourceArtifactId!==void 0&&!Ti(e.sourceArtifactId)||e.sourceArtifactHash!==void 0&&!Ti(e.sourceArtifactHash)||typeof e.revisionEpoch!="number"||!Number.isInteger(e.revisionEpoch)||e.revisionEpoch<0||!Ti(e.createdAt)||e.detail!==void 0&&!Ti(e.detail))}function XDt(t){if(!Array.isArray(t))return!1;let e=new Set,n=new Set;for(let r of t){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.resolutionId)||!Ti(i.reviewKey)||typeof i.action!="string"||!kCe.has(i.action)||i.status!=="pending"&&i.status!=="applied"||!Ti(i.ownerId)||i.credentialId!==void 0&&!Ti(i.credentialId)||!Ti(i.decidedAt)||i.appliedAt!==void 0&&!Ti(i.appliedAt)||!Ti(i.sourceRunId)||!Ti(i.sourceArtifactId)||!Ti(i.sourceArtifactHash)||typeof i.revisionEpoch!="number"||!Number.isInteger(i.revisionEpoch)||i.revisionEpoch<0||typeof i.machineDecision!="string"||!YO.has(i.machineDecision)||i.effectiveDecision!==void 0&&(typeof i.effectiveDecision!="string"||!YO.has(i.effectiveDecision))||i.targetTaskId!==void 0&&!Ti(i.targetTaskId)||i.targetRevisionCauseId!==void 0&&!Ti(i.targetRevisionCauseId)||i.ownerInstruction!==void 0&&!Ti(i.ownerInstruction)||i.evidenceDigest!==void 0&&!Ti(i.evidenceDigest)||i.evidenceManifest!==void 0&&!ZDt(i.evidenceManifest))return!1;if(i.evidenceAcknowledgement!==void 0){if(typeof i.evidenceAcknowledgement!="object"||i.evidenceAcknowledgement===null||Array.isArray(i.evidenceAcknowledgement))return!1;let o=i.evidenceAcknowledgement;if(o.kind!=="partial_evidence"||o.acknowledged!==!0||o.note!==void 0&&!Ti(o.note))return!1}if(e.has(i.resolutionId)||n.has(i.reviewKey))return!1;e.add(i.resolutionId),n.add(i.reviewKey)}return!0}function ZDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;if(e.schemaVersion!=="owner-review-evidence-v1"||e.digestAlgorithm!=="sha256"||!Array.isArray(e.sources)||e.sources.length>16)return!1;for(let r of e.sources){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.role)||!Ti(i.stableId)||!Ti(i.contentHash))return!1}if(typeof e.semanticFacts!="object"||e.semanticFacts===null||Array.isArray(e.semanticFacts))return!1;let n=e.semanticFacts;if(n.completeness!=="complete"&&n.completeness!=="partial"&&n.completeness!=="insufficient"||!Array.isArray(n.deterministicStatuses)||n.deterministicStatuses.length>16)return!1;for(let r of n.deterministicStatuses){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.check)||i.status!=="passed"&&i.status!=="failed"&&i.status!=="not_run"&&i.status!=="unavailable")return!1}return!(!Array.isArray(n.offeredActions)||!n.offeredActions.every(r=>typeof r=="string"&&kCe.has(r))||!Ti(n.acceptRequirement)||!Ti(n.briefSemanticHash))}function H9(t){let e=t.trim();if(!e)return null;let n;try{n=JSON.parse(e)}catch{return null}if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n[Px];if(!r||typeof r!="object"||r===null||Array.isArray(r))return null;let i=r;if(!Array.isArray(i.dependencyTaskIds))return null;for(let d of i.dependencyTaskIds)if(typeof d!="string")return null;if(typeof i.channel!="string"||!$9(i.channel)||typeof i.timeoutMs!="number"||!Number.isFinite(i.timeoutMs)||i.timeoutMs<=0||!Array.isArray(i.inputArtifactRefs)||!Array.isArray(i.outputArtifactRefs))return null;for(let d of i.inputArtifactRefs)if(!TCe(d))return null;for(let d of i.outputArtifactRefs)if(!TCe(d))return null;if(Object.hasOwn(i,"parentTaskId")&&i.parentTaskId!==void 0&&(typeof i.parentTaskId!="string"||i.parentTaskId.trim()==="")||Object.hasOwn(i,"correlationId")&&i.correlationId!==void 0&&(typeof i.correlationId!="string"||i.correlationId.trim()===""))return null;let o=0;if(Object.hasOwn(i,"rejectionCount")&&i.rejectionCount!==void 0){if(typeof i.rejectionCount!="number"||!Number.isFinite(i.rejectionCount)||i.rejectionCount<0)return null;o=Math.floor(i.rejectionCount)}if(Object.hasOwn(i,"adversarialFeedback")&&i.adversarialFeedback!==void 0&&(typeof i.adversarialFeedback!="string"||i.adversarialFeedback.trim()===""))return null;let s;if(Object.hasOwn(i,"repairPayload")&&i.repairPayload!==void 0){if(!zDt(i.repairPayload))return null;({repairPayload:s}=i)}if(Object.hasOwn(i,"runnerDecision")&&i.runnerDecision!==void 0&&(typeof i.runnerDecision!="string"||!YO.has(i.runnerDecision))||Object.hasOwn(i,"revisionCount")&&i.revisionCount!==void 0&&(typeof i.revisionCount!="number"||!Number.isInteger(i.revisionCount)||i.revisionCount<0)||Object.hasOwn(i,"revisionFeedback")&&i.revisionFeedback!==void 0&&(typeof i.revisionFeedback!="string"||i.revisionFeedback.trim()==="")||Object.hasOwn(i,"revisionCauseId")&&i.revisionCauseId!==void 0&&(typeof i.revisionCauseId!="string"||i.revisionCauseId.trim()===""))return null;let a;if(Object.hasOwn(i,"rolloutRevisionPayload")&&i.rolloutRevisionPayload!==void 0){let d=i.rolloutRevisionPayload;if(typeof d!="object"||d===null||Array.isArray(d))return null;let p=d;if(!Array.isArray(p.requiredChanges)||p.requiredChanges.length===0)return null;for(let g of p.requiredChanges)if(typeof g!="string"||g.trim()==="")return null;if(typeof p.revisionIteration!="number"||!Number.isInteger(p.revisionIteration)||p.revisionIteration<1||p.revisionIteration>2||typeof p.sourceRolloutTaskId!="string"||p.sourceRolloutTaskId.trim()===""||typeof p.sourceArtifactId!="string"||p.sourceArtifactId.trim()===""||p.targetTaskKind!=="scribe"&&p.targetTaskKind!=="artificer")return null;let m;if(p.status!==void 0&&p.status!=="pending"&&p.status!=="applied")return null;(p.status==="pending"||p.status==="applied")&&(m=p.status),a={requiredChanges:p.requiredChanges,revisionIteration:p.revisionIteration,sourceRolloutTaskId:p.sourceRolloutTaskId,sourceArtifactId:p.sourceArtifactId,targetTaskKind:p.targetTaskKind,status:m}}let c;if(Object.hasOwn(i,"completionIntent")&&i.completionIntent!==void 0){let d=i.completionIntent;if(typeof d!="object"||d===null||Array.isArray(d))return null;let p=d;if(typeof p.decision!="string"||!YO.has(p.decision)||typeof p.sourceRunId!="string"||p.sourceRunId.trim()===""||typeof p.revisionEpoch!="number"||!Number.isInteger(p.revisionEpoch)||p.revisionEpoch<0||p.status!=="pending"&&p.status!=="applied")return null;let m;if(p.revisionIteration!==void 0){if(typeof p.revisionIteration!="number"||!Number.isInteger(p.revisionIteration)||p.revisionIteration<1||p.revisionIteration>2)return null;({revisionIteration:m}=p)}let g,A=p.effect!==void 0?p.effect:p.selectedEffect;if(A!==void 0&&A!=="governance_transition"&&A!=="needs_human_review")return null;A==="needs_human_review"&&(g="needs_human_review");let v;if(p.effectReasonCode!==void 0){if(typeof p.effectReasonCode!="string"||p.effectReasonCode.trim()==="")return null;({effectReasonCode:v}=p)}c={decision:p.decision,sourceRunId:p.sourceRunId,revisionEpoch:p.revisionEpoch,status:p.status,revisionIteration:m,...g!==void 0?{effect:g}:{},...v!==void 0?{effectReasonCode:v}:{}}}let l;if(Object.hasOwn(i,"humanReviewContext")&&i.humanReviewContext!==void 0){if(!JDt(i.humanReviewContext))return null;({humanReviewContext:l}=i)}let u;if(Object.hasOwn(i,"ownerResolutions")&&i.ownerResolutions!==void 0){if(!XDt(i.ownerResolutions))return null;({ownerResolutions:u}=i)}return{dependencyTaskIds:i.dependencyTaskIds,channel:i.channel,timeoutMs:i.timeoutMs,inputArtifactRefs:i.inputArtifactRefs,outputArtifactRefs:i.outputArtifactRefs,parentTaskId:typeof i.parentTaskId=="string"?i.parentTaskId:void 0,correlationId:typeof i.correlationId=="string"?i.correlationId:void 0,rejectionCount:o,adversarialFeedback:typeof i.adversarialFeedback=="string"?i.adversarialFeedback:void 0,repairPayload:s,runnerDecision:typeof i.runnerDecision=="string"&&YO.has(i.runnerDecision)?i.runnerDecision:void 0,revisionCount:typeof i.revisionCount=="number"?i.revisionCount:void 0,revisionFeedback:typeof i.revisionFeedback=="string"?i.revisionFeedback:void 0,revisionCauseId:typeof i.revisionCauseId=="string"?i.revisionCauseId:void 0,rolloutRevisionPayload:a,completionIntent:c,humanReviewContext:l,ownerResolutions:u}}function Et(t){if(!py(t.taskKind))return null;let e=t,{diagnosticJson:n}=e;if(!n||typeof n!="string")return null;let r=H9(n);return r?{...t,dependencyTaskIds:r.dependencyTaskIds,channel:r.channel,timeoutMs:r.timeoutMs,inputArtifactRefs:r.inputArtifactRefs,outputArtifactRefs:r.outputArtifactRefs,parentTaskId:r.parentTaskId,correlationId:r.correlationId,rejectionCount:r.rejectionCount??0,adversarialFeedback:r.adversarialFeedback,repairPayload:r.repairPayload,runnerDecision:r.runnerDecision,revisionCount:r.revisionCount,revisionFeedback:r.revisionFeedback,revisionCauseId:r.revisionCauseId,rolloutRevisionPayload:r.rolloutRevisionPayload,completionIntent:r.completionIntent,humanReviewContext:r.humanReviewContext,ownerResolutions:r.ownerResolutions}:null}var Px,CCe,SCe,YO,co,kCe,Bo=W(()=>{"use strict";Na();Px="pi_metadata",CCe=10,SCe=500;YO=new Set(["approved","needs_revision","rejected","approve_rollout","reject"]);co=q9;kCe=new Set(["accept_current","revise_once","reject_current"])});var w$,Fo,Xp=W(()=>{w$=class{queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;isComplete;extractResult;constructor(e,n){this.isComplete=e,this.extractResult=n,this.finalResultPromise=new Promise(r=>{this.resolveFinalResult=r})}push(e){if(this.done)return;this.isComplete(e)&&(this.done=!0,this.resolveFinalResult(this.extractResult(e)));let n=this.waiting.shift();n?n({value:e,done:!1}):this.queue.push(e)}end(e){for(this.done=!0,e!==void 0&&this.resolveFinalResult(e);this.waiting.length>0;)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){for(;;)if(this.queue.length>0)yield this.queue.shift();else{if(this.done)return;{let e=await new Promise(n=>this.waiting.push(n));if(e.done)return;yield e.value}}}result(){return this.finalResultPromise}},Fo=class extends w${constructor(){super(e=>e.type==="done"||e.type==="error",e=>{if(e.type==="done")return e.message;if(e.type==="error")return e.error;throw new Error("Unexpected event type for final result")})}}});function QNt(t,e){return{role:"assistant",content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:e instanceof Error?e.message:String(e),timestamp:Date.now()}}function $Nt(t){return typeof t.result=="function"}async function WNt(t,e){for await(let n of e)t.push(n);t.end($Nt(e)?await e.result():void 0)}function dg(t,e){let n=new Fo;return e().then(r=>WNt(n,r)).catch(r=>{let i=QNt(t,r);n.push({type:"error",reason:"error",error:i}),n.end(i)}),n}function vs(t,e){let n={stream:(r,i,o)=>dg(r,async()=>(await t()).stream(r,i,o)),streamSimple:(r,i,o)=>dg(r,async()=>(await t()).streamSimple(r,i,o))};return e?.fetchDeferred&&(n.fetchDeferred=(r,i,o)=>dg(r,async()=>{let s=await t();if(!s.fetchDeferred)throw new Error("API does not support deferred responses");return s.fetchDeferred(r,i,o)})),e?.cancelDeferred&&(n.cancelDeferred=async(r,i,o)=>{let s=await t();if(!s.cancelDeferred)throw new Error("API cannot cancel deferred responses");await s.cancelDeferred(r,i,o)}),n}var Od=W(()=>{Xp()});function Xe(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}function de(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}var pg=W(()=>{});var j7,sTe=W(()=>{j7=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return j7=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),n=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,r=>(+r^n()&15>>+r/4).toString(16))}});function fg(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var MP,tC=W(()=>{MP=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)}});var xt,da,Ba,_y,nC,rC,iC,oC,sC,aC,cC,lC,uC,wl=W(()=>{tC();xt=class extends Error{},da=class t extends xt{constructor(e,n,r,i,o){super(`${t.makeMessage(e,n,r)}`),this.status=e,this.headers=i,this.requestID=i?.get("request-id"),this.error=n,this.type=o??null}static makeMessage(e,n,r){let i=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):r;return e&&i?`${e} ${i}`:e?`${e} status code (no body)`:i||"(no status code or body)"}static generate(e,n,r,i){if(!e||!i)return new _y({message:r,cause:MP(n)});let o=n,s=o?.error?.type;return e===400?new rC(e,o,r,i,s):e===401?new iC(e,o,r,i,s):e===403?new oC(e,o,r,i,s):e===404?new sC(e,o,r,i,s):e===409?new aC(e,o,r,i,s):e===422?new cC(e,o,r,i,s):e===429?new lC(e,o,r,i,s):e>=500?new uC(e,o,r,i,s):new t(e,o,r,i,s)}},Ba=class extends da{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},_y=class extends da{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}},nC=class extends _y{constructor({message:e}={}){super({message:e??"Request timed out."})}},rC=class extends da{},iC=class extends da{},oC=class extends da{},sC=class extends da{},aC=class extends da{},cC=class extends da{},lC=class extends da{},uC=class extends da{}});function b$(t){return typeof t!="object"?{}:t??{}}function Y7(t){if(!t)return!0;for(let e in t)return!1;return!0}function cTe(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var qNt,aTe,K7,V7,lTe,x$,K_=W(()=>{wl();qNt=/^[a-z][a-z0-9+.-]*:/i,aTe=t=>qNt.test(t),K7=t=>(K7=Array.isArray,K7(t)),V7=K7;lTe=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new xt(`${t} must be an integer`);if(e<0)throw new xt(`${t} must be a positive integer`);return e},x$=t=>{try{return JSON.parse(t)}catch{return}}});var uTe,dTe=W(()=>{uTe=t=>new Promise(e=>setTimeout(e,t))});var vy,z7=W(()=>{vy="0.91.1"});function HNt(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}function KNt(){if(typeof navigator>"u"||!navigator)return null;let t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:n}of t){let r=n.exec(navigator.userAgent);if(r){let i=r[1]||0,o=r[2]||0,s=r[3]||0;return{browser:e,version:`${i}.${o}.${s}`}}}return null}var hTe,jNt,pTe,fTe,mTe,gTe,J7=W(()=>{z7();hTe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";jNt=()=>{let t=HNt();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":fTe(Deno.build.os),"X-Stainless-Arch":pTe(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":fTe(globalThis.process.platform??"unknown"),"X-Stainless-Arch":pTe(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=KNt();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};pTe=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",fTe=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown"),gTe=()=>mTe??(mTe=jNt())});function ATe(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function X7(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function C$(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return X7({start(){},async pull(n){let{done:r,value:i}=await e.next();r?n.close():n.enqueue(i)},async cancel(){await e.return?.()}})}function BP(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let n=await e.read();return n?.done&&e.releaseLock(),n}catch(n){throw e.releaseLock(),n}},async return(){let n=e.cancel();return e.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function yTe(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}let e=t.getReader(),n=e.cancel();e.releaseLock(),await n}var dC=W(()=>{});var ETe,ITe=W(()=>{ETe=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)})});function _Te(t){return Object.entries(t).filter(([e,n])=>typeof n<"u").map(([e,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(e)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(e)}=`;throw new xt(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}var vTe=W(()=>{wl()});function xTe(t){let e=0;for(let i of t)e+=i.length;let n=new Uint8Array(e),r=0;for(let i of t)n.set(i,r),r+=i.length;return n}function FP(t){let e;return(wTe??(e=new globalThis.TextEncoder,wTe=e.encode.bind(e)))(t)}function Z7(t){let e;return(bTe??(e=new globalThis.TextDecoder,bTe=e.decode.bind(e)))(t)}var wTe,bTe,eZ=W(()=>{});function zNt(t,e){for(let i=e??0;i<t.length;i++){if(t[i]===10)return{preceding:i,index:i+1,carriage:!1};if(t[i]===13)return{preceding:i,index:i+1,carriage:!0}}return null}function CTe(t){for(let r=0;r<t.length-1;r++){if(t[r]===10&&t[r+1]===10||t[r]===13&&t[r+1]===13)return r+2;if(t[r]===13&&t[r+1]===10&&r+3<t.length&&t[r+2]===13&&t[r+3]===10)return r+4}return-1}var Iu,_u,mg,tZ=W(()=>{pg();eZ();mg=class{constructor(){Iu.set(this,void 0),_u.set(this,void 0),Xe(this,Iu,new Uint8Array,"f"),Xe(this,_u,null,"f")}decode(e){if(e==null)return[];let n=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?FP(e):e;Xe(this,Iu,xTe([de(this,Iu,"f"),n]),"f");let r=[],i;for(;(i=zNt(de(this,Iu,"f"),de(this,_u,"f")))!=null;){if(i.carriage&&de(this,_u,"f")==null){Xe(this,_u,i.index,"f");continue}if(de(this,_u,"f")!=null&&(i.index!==de(this,_u,"f")+1||i.carriage)){r.push(Z7(de(this,Iu,"f").subarray(0,de(this,_u,"f")-1))),Xe(this,Iu,de(this,Iu,"f").subarray(de(this,_u,"f")),"f"),Xe(this,_u,null,"f");continue}let o=de(this,_u,"f")!==null?i.preceding-1:i.preceding,s=Z7(de(this,Iu,"f").subarray(0,o));r.push(s),Xe(this,Iu,de(this,Iu,"f").subarray(i.index),"f"),Xe(this,_u,null,"f")}return r}flush(){return de(this,Iu,"f").length?this.decode(`
|
|
2
|
+
var l0t=Object.create;var G8=Object.defineProperty;var u0t=Object.getOwnPropertyDescriptor;var d0t=Object.getOwnPropertyNames;var p0t=Object.getPrototypeOf,f0t=Object.prototype.hasOwnProperty;var z=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,n)=>(typeof require<"u"?require:e)[n]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var W=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(r){throw n=[r],r}};var Q=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},kn=(t,e)=>{for(var n in e)G8(t,n,{get:e[n],enumerable:!0})},m0t=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of d0t(e))!f0t.call(t,i)&&i!==n&&G8(t,i,{get:()=>e[i],enumerable:!(r=u0t(e,i))||r.enumerable});return t};var sa=(t,e,n)=>(n=t!=null?l0t(p0t(t)):{},m0t(e||!t||!t.__esModule?G8(n,"default",{value:t,enumerable:!0}):n,t));function py(t){return U9.includes(t)}function VO(t){return xCe.includes(t)}function sg(t){return py(t)||VO(t)}function $9(t){return Q9.includes(t)}function P_(t,e,n){if(t!==null&&typeof t=="object"&&!Array.isArray(t)){let r=t;Object.hasOwn(r,e)||(r[e]=n)}}function Cd(t,e){let n=[];if(t===null||typeof t!="object"||Array.isArray(t))return n;let r=t;for(let i of e.topFields??[]){if(!Object.hasOwn(r,i.field)){P_(r,i.field,i.authoritativeValue);continue}r[i.field]!==i.authoritativeValue&&(r[i.field]=i.authoritativeValue,n.push(i.field))}if(e.trace){let{traceField:i,fields:o}=e.trace,s=r[i];if(s!==null&&typeof s=="object"&&!Array.isArray(s)){let a=s;for(let c of o)a[c.field]!==c.authoritativeValue&&(a[c.field]=c.authoritativeValue,n.push(`${i}.${c.field}`))}else{let a={};for(let c of o)a[c.field]=c.authoritativeValue;r[i]=a,n.push(i)}}return n}var U9,xCe,Q9,Na=W(()=>{"use strict";U9=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"],xCe=["diag_rootcause","diag_distiller","diag_router"],Q9=["prompt","skill","code_tool_hook","defer_archive"]});var RCe={};kn(RCe,{PI_METADATA_KEY:()=>Px,createPITaskDiagnosticJson:()=>co,hydratePITaskRecord:()=>Et,isFreshForNextAttempt:()=>W9,mergePITaskMetadata:()=>La,parseLastValidatorErrors:()=>G9,parsePITaskMetadata:()=>H9,serializePITaskMetadata:()=>q9});function YDt(t){let e=[];for(let n of t){if(e.length>=CCe){let r=t.length-CCe;e.push(`[+${r} more validation error(s) omitted for prompt budget]`);break}e.push(n.length>SCe?`${n.slice(0,SCe)}\u2026[truncated]`:n)}return e}function W9(t,e){return e!==void 0&&t.sourceAttemptCount===e-1}function G9(t){if(!t||t.trim()==="")return null;let e;try{e=JSON.parse(t)}catch{return null}if(typeof e!="object"||e===null||Array.isArray(e)||!Object.hasOwn(e,"lastValidatorErrors"))return null;let n=e.lastValidatorErrors;if(typeof n!="object"||n===null||Array.isArray(n))return null;let r=n;if(typeof r.recordedAt!="string"||r.recordedAt.trim()===""||typeof r.errorCategory!="string"||r.errorCategory.trim()===""||!Array.isArray(r.errors)||r.errors.length===0)return null;for(let i of r.errors)if(typeof i!="string"||i.trim()==="")return null;return typeof r.sourceAttemptCount!="number"||!Number.isInteger(r.sourceAttemptCount)||r.sourceAttemptCount<0?null:{recordedAt:r.recordedAt,errorCategory:r.errorCategory,errors:YDt(r.errors),sourceAttemptCount:r.sourceAttemptCount}}function q9(t){return JSON.stringify({[Px]:{dependencyTaskIds:t.dependencyTaskIds,channel:t.channel,timeoutMs:t.timeoutMs,inputArtifactRefs:t.inputArtifactRefs,outputArtifactRefs:t.outputArtifactRefs,parentTaskId:t.parentTaskId,correlationId:t.correlationId,rejectionCount:t.rejectionCount,adversarialFeedback:t.adversarialFeedback,repairPayload:t.repairPayload,runnerDecision:t.runnerDecision,revisionCount:t.revisionCount,revisionFeedback:t.revisionFeedback,revisionCauseId:t.revisionCauseId,rolloutRevisionPayload:t.rolloutRevisionPayload,completionIntent:t.completionIntent,humanReviewContext:t.humanReviewContext,ownerResolutions:t.ownerResolutions}})}function La(t,e){return{dependencyTaskIds:t.dependencyTaskIds,channel:t.channel,timeoutMs:t.timeoutMs,inputArtifactRefs:t.inputArtifactRefs,outputArtifactRefs:t.outputArtifactRefs,parentTaskId:t.parentTaskId,correlationId:t.correlationId,rejectionCount:t.rejectionCount,adversarialFeedback:t.adversarialFeedback,repairPayload:t.repairPayload,runnerDecision:t.runnerDecision,revisionCount:t.revisionCount,revisionFeedback:t.revisionFeedback,revisionCauseId:t.revisionCauseId,rolloutRevisionPayload:t.rolloutRevisionPayload,completionIntent:t.completionIntent,humanReviewContext:t.humanReviewContext,ownerResolutions:t.ownerResolutions,...e}}function TCe(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.artifactType=="string"&&e.artifactType.trim()!==""&&typeof e.ref=="string"&&e.ref.trim()!==""}function zDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;if(!Array.isArray(e.requiredChanges)||e.requiredChanges.length===0)return!1;for(let n of e.requiredChanges)if(typeof n!="string"||n.trim()==="")return!1;if(!Array.isArray(e.concerns))return!1;for(let n of e.concerns)if(typeof n!="string"||n.trim()==="")return!1;if(typeof e.previousScore!="number"||!Number.isFinite(e.previousScore)||typeof e.repairIteration!="number"||!Number.isInteger(e.repairIteration)||e.repairIteration<1||e.repairIteration>2||typeof e.sourceArtificerArtifactId!="string"||e.sourceArtificerArtifactId.trim()===""||typeof e.sourceEvaluatorTaskId!="string"||e.sourceEvaluatorTaskId.trim()==="")return!1;if(e.diagnosticReplay!==void 0){if(typeof e.diagnosticReplay!="object"||e.diagnosticReplay===null||Array.isArray(e.diagnosticReplay))return!1;let n=e.diagnosticReplay;if(typeof n.ran!="boolean"||typeof n.passed!="boolean"||typeof n.failedCaseCount!="number"||!Number.isInteger(n.failedCaseCount)||n.failedCaseCount<0)return!1}if(e.failureAttribution!==void 0){if(typeof e.failureAttribution!="object"||e.failureAttribution===null||Array.isArray(e.failureAttribution))return!1;let n=e.failureAttribution;if(typeof n.attribution!="string"||n.attribution.trim()===""||typeof n.reason!="string"||n.reason.trim()==="")return!1;if(n.outOfScopeCaseIds!==void 0){if(!Array.isArray(n.outOfScopeCaseIds))return!1;for(let r of n.outOfScopeCaseIds)if(typeof r!="string"||r.trim()==="")return!1}}return!0}function Ti(t){return typeof t=="string"&&t.trim()!==""}function JDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;return!(!Ti(e.reasonCode)||!Ti(e.sourceRunId)||e.sourceArtifactId!==void 0&&!Ti(e.sourceArtifactId)||e.sourceArtifactHash!==void 0&&!Ti(e.sourceArtifactHash)||typeof e.revisionEpoch!="number"||!Number.isInteger(e.revisionEpoch)||e.revisionEpoch<0||!Ti(e.createdAt)||e.detail!==void 0&&!Ti(e.detail))}function XDt(t){if(!Array.isArray(t))return!1;let e=new Set,n=new Set;for(let r of t){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.resolutionId)||!Ti(i.reviewKey)||typeof i.action!="string"||!kCe.has(i.action)||i.status!=="pending"&&i.status!=="applied"||!Ti(i.ownerId)||i.credentialId!==void 0&&!Ti(i.credentialId)||!Ti(i.decidedAt)||i.appliedAt!==void 0&&!Ti(i.appliedAt)||!Ti(i.sourceRunId)||!Ti(i.sourceArtifactId)||!Ti(i.sourceArtifactHash)||typeof i.revisionEpoch!="number"||!Number.isInteger(i.revisionEpoch)||i.revisionEpoch<0||typeof i.machineDecision!="string"||!YO.has(i.machineDecision)||i.effectiveDecision!==void 0&&(typeof i.effectiveDecision!="string"||!YO.has(i.effectiveDecision))||i.targetTaskId!==void 0&&!Ti(i.targetTaskId)||i.targetRevisionCauseId!==void 0&&!Ti(i.targetRevisionCauseId)||i.ownerInstruction!==void 0&&!Ti(i.ownerInstruction)||i.evidenceDigest!==void 0&&!Ti(i.evidenceDigest)||i.evidenceManifest!==void 0&&!ZDt(i.evidenceManifest))return!1;if(i.evidenceAcknowledgement!==void 0){if(typeof i.evidenceAcknowledgement!="object"||i.evidenceAcknowledgement===null||Array.isArray(i.evidenceAcknowledgement))return!1;let o=i.evidenceAcknowledgement;if(o.kind!=="partial_evidence"||o.acknowledged!==!0||o.note!==void 0&&!Ti(o.note))return!1}if(e.has(i.resolutionId)||n.has(i.reviewKey))return!1;e.add(i.resolutionId),n.add(i.reviewKey)}return!0}function ZDt(t){if(typeof t!="object"||t===null||Array.isArray(t))return!1;let e=t;if(e.schemaVersion!=="owner-review-evidence-v1"||e.digestAlgorithm!=="sha256"||!Array.isArray(e.sources)||e.sources.length>16)return!1;for(let r of e.sources){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.role)||!Ti(i.stableId)||!Ti(i.contentHash))return!1}if(typeof e.semanticFacts!="object"||e.semanticFacts===null||Array.isArray(e.semanticFacts))return!1;let n=e.semanticFacts;if(n.completeness!=="complete"&&n.completeness!=="partial"&&n.completeness!=="insufficient"||!Array.isArray(n.deterministicStatuses)||n.deterministicStatuses.length>16)return!1;for(let r of n.deterministicStatuses){if(typeof r!="object"||r===null||Array.isArray(r))return!1;let i=r;if(!Ti(i.check)||i.status!=="passed"&&i.status!=="failed"&&i.status!=="not_run"&&i.status!=="unavailable")return!1}return!(!Array.isArray(n.offeredActions)||!n.offeredActions.every(r=>typeof r=="string"&&kCe.has(r))||!Ti(n.acceptRequirement)||!Ti(n.briefSemanticHash))}function H9(t){let e=t.trim();if(!e)return null;let n;try{n=JSON.parse(e)}catch{return null}if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n[Px];if(!r||typeof r!="object"||r===null||Array.isArray(r))return null;let i=r;if(!Array.isArray(i.dependencyTaskIds))return null;for(let d of i.dependencyTaskIds)if(typeof d!="string")return null;if(typeof i.channel!="string"||!$9(i.channel)||typeof i.timeoutMs!="number"||!Number.isFinite(i.timeoutMs)||i.timeoutMs<=0||!Array.isArray(i.inputArtifactRefs)||!Array.isArray(i.outputArtifactRefs))return null;for(let d of i.inputArtifactRefs)if(!TCe(d))return null;for(let d of i.outputArtifactRefs)if(!TCe(d))return null;if(Object.hasOwn(i,"parentTaskId")&&i.parentTaskId!==void 0&&(typeof i.parentTaskId!="string"||i.parentTaskId.trim()==="")||Object.hasOwn(i,"correlationId")&&i.correlationId!==void 0&&(typeof i.correlationId!="string"||i.correlationId.trim()===""))return null;let o=0;if(Object.hasOwn(i,"rejectionCount")&&i.rejectionCount!==void 0){if(typeof i.rejectionCount!="number"||!Number.isFinite(i.rejectionCount)||i.rejectionCount<0)return null;o=Math.floor(i.rejectionCount)}if(Object.hasOwn(i,"adversarialFeedback")&&i.adversarialFeedback!==void 0&&(typeof i.adversarialFeedback!="string"||i.adversarialFeedback.trim()===""))return null;let s;if(Object.hasOwn(i,"repairPayload")&&i.repairPayload!==void 0){if(!zDt(i.repairPayload))return null;({repairPayload:s}=i)}if(Object.hasOwn(i,"runnerDecision")&&i.runnerDecision!==void 0&&(typeof i.runnerDecision!="string"||!YO.has(i.runnerDecision))||Object.hasOwn(i,"revisionCount")&&i.revisionCount!==void 0&&(typeof i.revisionCount!="number"||!Number.isInteger(i.revisionCount)||i.revisionCount<0)||Object.hasOwn(i,"revisionFeedback")&&i.revisionFeedback!==void 0&&(typeof i.revisionFeedback!="string"||i.revisionFeedback.trim()==="")||Object.hasOwn(i,"revisionCauseId")&&i.revisionCauseId!==void 0&&(typeof i.revisionCauseId!="string"||i.revisionCauseId.trim()===""))return null;let a;if(Object.hasOwn(i,"rolloutRevisionPayload")&&i.rolloutRevisionPayload!==void 0){let d=i.rolloutRevisionPayload;if(typeof d!="object"||d===null||Array.isArray(d))return null;let p=d;if(!Array.isArray(p.requiredChanges)||p.requiredChanges.length===0)return null;for(let g of p.requiredChanges)if(typeof g!="string"||g.trim()==="")return null;if(typeof p.revisionIteration!="number"||!Number.isInteger(p.revisionIteration)||p.revisionIteration<1||p.revisionIteration>2||typeof p.sourceRolloutTaskId!="string"||p.sourceRolloutTaskId.trim()===""||typeof p.sourceArtifactId!="string"||p.sourceArtifactId.trim()===""||p.targetTaskKind!=="scribe"&&p.targetTaskKind!=="artificer")return null;let m;if(p.status!==void 0&&p.status!=="pending"&&p.status!=="applied")return null;(p.status==="pending"||p.status==="applied")&&(m=p.status),a={requiredChanges:p.requiredChanges,revisionIteration:p.revisionIteration,sourceRolloutTaskId:p.sourceRolloutTaskId,sourceArtifactId:p.sourceArtifactId,targetTaskKind:p.targetTaskKind,status:m}}let c;if(Object.hasOwn(i,"completionIntent")&&i.completionIntent!==void 0){let d=i.completionIntent;if(typeof d!="object"||d===null||Array.isArray(d))return null;let p=d;if(typeof p.decision!="string"||!YO.has(p.decision)||typeof p.sourceRunId!="string"||p.sourceRunId.trim()===""||typeof p.revisionEpoch!="number"||!Number.isInteger(p.revisionEpoch)||p.revisionEpoch<0||p.status!=="pending"&&p.status!=="applied")return null;let m;if(p.revisionIteration!==void 0){if(typeof p.revisionIteration!="number"||!Number.isInteger(p.revisionIteration)||p.revisionIteration<1||p.revisionIteration>2)return null;({revisionIteration:m}=p)}let g,A=p.effect!==void 0?p.effect:p.selectedEffect;if(A!==void 0&&A!=="governance_transition"&&A!=="needs_human_review")return null;A==="needs_human_review"&&(g="needs_human_review");let v;if(p.effectReasonCode!==void 0){if(typeof p.effectReasonCode!="string"||p.effectReasonCode.trim()==="")return null;({effectReasonCode:v}=p)}c={decision:p.decision,sourceRunId:p.sourceRunId,revisionEpoch:p.revisionEpoch,status:p.status,revisionIteration:m,...g!==void 0?{effect:g}:{},...v!==void 0?{effectReasonCode:v}:{}}}let l;if(Object.hasOwn(i,"humanReviewContext")&&i.humanReviewContext!==void 0){if(!JDt(i.humanReviewContext))return null;({humanReviewContext:l}=i)}let u;if(Object.hasOwn(i,"ownerResolutions")&&i.ownerResolutions!==void 0){if(!XDt(i.ownerResolutions))return null;({ownerResolutions:u}=i)}return{dependencyTaskIds:i.dependencyTaskIds,channel:i.channel,timeoutMs:i.timeoutMs,inputArtifactRefs:i.inputArtifactRefs,outputArtifactRefs:i.outputArtifactRefs,parentTaskId:typeof i.parentTaskId=="string"?i.parentTaskId:void 0,correlationId:typeof i.correlationId=="string"?i.correlationId:void 0,rejectionCount:o,adversarialFeedback:typeof i.adversarialFeedback=="string"?i.adversarialFeedback:void 0,repairPayload:s,runnerDecision:typeof i.runnerDecision=="string"&&YO.has(i.runnerDecision)?i.runnerDecision:void 0,revisionCount:typeof i.revisionCount=="number"?i.revisionCount:void 0,revisionFeedback:typeof i.revisionFeedback=="string"?i.revisionFeedback:void 0,revisionCauseId:typeof i.revisionCauseId=="string"?i.revisionCauseId:void 0,rolloutRevisionPayload:a,completionIntent:c,humanReviewContext:l,ownerResolutions:u}}function Et(t){if(!sg(t.taskKind))return null;let e=t,{diagnosticJson:n}=e;if(!n||typeof n!="string")return null;let r=H9(n);return r?{...t,dependencyTaskIds:r.dependencyTaskIds,channel:r.channel,timeoutMs:r.timeoutMs,inputArtifactRefs:r.inputArtifactRefs,outputArtifactRefs:r.outputArtifactRefs,parentTaskId:r.parentTaskId,correlationId:r.correlationId,rejectionCount:r.rejectionCount??0,adversarialFeedback:r.adversarialFeedback,repairPayload:r.repairPayload,runnerDecision:r.runnerDecision,revisionCount:r.revisionCount,revisionFeedback:r.revisionFeedback,revisionCauseId:r.revisionCauseId,rolloutRevisionPayload:r.rolloutRevisionPayload,completionIntent:r.completionIntent,humanReviewContext:r.humanReviewContext,ownerResolutions:r.ownerResolutions}:null}var Px,CCe,SCe,YO,co,kCe,Bo=W(()=>{"use strict";Na();Px="pi_metadata",CCe=10,SCe=500;YO=new Set(["approved","needs_revision","rejected","approve_rollout","reject"]);co=q9;kCe=new Set(["accept_current","revise_once","reject_current"])});var w$,Fo,Xp=W(()=>{w$=class{queue=[];waiting=[];done=!1;finalResultPromise;resolveFinalResult;isComplete;extractResult;constructor(e,n){this.isComplete=e,this.extractResult=n,this.finalResultPromise=new Promise(r=>{this.resolveFinalResult=r})}push(e){if(this.done)return;this.isComplete(e)&&(this.done=!0,this.resolveFinalResult(this.extractResult(e)));let n=this.waiting.shift();n?n({value:e,done:!1}):this.queue.push(e)}end(e){for(this.done=!0,e!==void 0&&this.resolveFinalResult(e);this.waiting.length>0;)this.waiting.shift()({value:void 0,done:!0})}async*[Symbol.asyncIterator](){for(;;)if(this.queue.length>0)yield this.queue.shift();else{if(this.done)return;{let e=await new Promise(n=>this.waiting.push(n));if(e.done)return;yield e.value}}}result(){return this.finalResultPromise}},Fo=class extends w${constructor(){super(e=>e.type==="done"||e.type==="error",e=>{if(e.type==="done")return e.message;if(e.type==="error")return e.error;throw new Error("Unexpected event type for final result")})}}});function QNt(t,e){return{role:"assistant",content:[],api:t.api,provider:t.provider,model:t.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"error",errorMessage:e instanceof Error?e.message:String(e),timestamp:Date.now()}}function $Nt(t){return typeof t.result=="function"}async function WNt(t,e){for await(let n of e)t.push(n);t.end($Nt(e)?await e.result():void 0)}function dg(t,e){let n=new Fo;return e().then(r=>WNt(n,r)).catch(r=>{let i=QNt(t,r);n.push({type:"error",reason:"error",error:i}),n.end(i)}),n}function vs(t,e){let n={stream:(r,i,o)=>dg(r,async()=>(await t()).stream(r,i,o)),streamSimple:(r,i,o)=>dg(r,async()=>(await t()).streamSimple(r,i,o))};return e?.fetchDeferred&&(n.fetchDeferred=(r,i,o)=>dg(r,async()=>{let s=await t();if(!s.fetchDeferred)throw new Error("API does not support deferred responses");return s.fetchDeferred(r,i,o)})),e?.cancelDeferred&&(n.cancelDeferred=async(r,i,o)=>{let s=await t();if(!s.cancelDeferred)throw new Error("API cannot cancel deferred responses");await s.cancelDeferred(r,i,o)}),n}var Od=W(()=>{Xp()});function Xe(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n}function de(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)}var pg=W(()=>{});var j7,sTe=W(()=>{j7=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return j7=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),n=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,r=>(+r^n()&15>>+r/4).toString(16))}});function fg(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var MP,tC=W(()=>{MP=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)}});var xt,da,Ba,_y,nC,rC,iC,oC,sC,aC,cC,lC,uC,wl=W(()=>{tC();xt=class extends Error{},da=class t extends xt{constructor(e,n,r,i,o){super(`${t.makeMessage(e,n,r)}`),this.status=e,this.headers=i,this.requestID=i?.get("request-id"),this.error=n,this.type=o??null}static makeMessage(e,n,r){let i=n?.message?typeof n.message=="string"?n.message:JSON.stringify(n.message):n?JSON.stringify(n):r;return e&&i?`${e} ${i}`:e?`${e} status code (no body)`:i||"(no status code or body)"}static generate(e,n,r,i){if(!e||!i)return new _y({message:r,cause:MP(n)});let o=n,s=o?.error?.type;return e===400?new rC(e,o,r,i,s):e===401?new iC(e,o,r,i,s):e===403?new oC(e,o,r,i,s):e===404?new sC(e,o,r,i,s):e===409?new aC(e,o,r,i,s):e===422?new cC(e,o,r,i,s):e===429?new lC(e,o,r,i,s):e>=500?new uC(e,o,r,i,s):new t(e,o,r,i,s)}},Ba=class extends da{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},_y=class extends da{constructor({message:e,cause:n}){super(void 0,void 0,e||"Connection error.",void 0),n&&(this.cause=n)}},nC=class extends _y{constructor({message:e}={}){super({message:e??"Request timed out."})}},rC=class extends da{},iC=class extends da{},oC=class extends da{},sC=class extends da{},aC=class extends da{},cC=class extends da{},lC=class extends da{},uC=class extends da{}});function b$(t){return typeof t!="object"?{}:t??{}}function Y7(t){if(!t)return!0;for(let e in t)return!1;return!0}function cTe(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var qNt,aTe,K7,V7,lTe,x$,K_=W(()=>{wl();qNt=/^[a-z][a-z0-9+.-]*:/i,aTe=t=>qNt.test(t),K7=t=>(K7=Array.isArray,K7(t)),V7=K7;lTe=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new xt(`${t} must be an integer`);if(e<0)throw new xt(`${t} must be a positive integer`);return e},x$=t=>{try{return JSON.parse(t)}catch{return}}});var uTe,dTe=W(()=>{uTe=t=>new Promise(e=>setTimeout(e,t))});var vy,z7=W(()=>{vy="0.91.1"});function HNt(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}function KNt(){if(typeof navigator>"u"||!navigator)return null;let t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:n}of t){let r=n.exec(navigator.userAgent);if(r){let i=r[1]||0,o=r[2]||0,s=r[3]||0;return{browser:e,version:`${i}.${o}.${s}`}}}return null}var hTe,jNt,pTe,fTe,mTe,gTe,J7=W(()=>{z7();hTe=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";jNt=()=>{let t=HNt();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":fTe(Deno.build.os),"X-Stainless-Arch":pTe(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":fTe(globalThis.process.platform??"unknown"),"X-Stainless-Arch":pTe(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=KNt();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":vy,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};pTe=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",fTe=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown"),gTe=()=>mTe??(mTe=jNt())});function ATe(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function X7(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function C$(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return X7({start(){},async pull(n){let{done:r,value:i}=await e.next();r?n.close():n.enqueue(i)},async cancel(){await e.return?.()}})}function BP(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let n=await e.read();return n?.done&&e.releaseLock(),n}catch(n){throw e.releaseLock(),n}},async return(){let n=e.cancel();return e.releaseLock(),await n,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function yTe(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}let e=t.getReader(),n=e.cancel();e.releaseLock(),await n}var dC=W(()=>{});var ETe,ITe=W(()=>{ETe=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)})});function _Te(t){return Object.entries(t).filter(([e,n])=>typeof n<"u").map(([e,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(e)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(e)}=`;throw new xt(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}var vTe=W(()=>{wl()});function xTe(t){let e=0;for(let i of t)e+=i.length;let n=new Uint8Array(e),r=0;for(let i of t)n.set(i,r),r+=i.length;return n}function FP(t){let e;return(wTe??(e=new globalThis.TextEncoder,wTe=e.encode.bind(e)))(t)}function Z7(t){let e;return(bTe??(e=new globalThis.TextDecoder,bTe=e.decode.bind(e)))(t)}var wTe,bTe,eZ=W(()=>{});function zNt(t,e){for(let i=e??0;i<t.length;i++){if(t[i]===10)return{preceding:i,index:i+1,carriage:!1};if(t[i]===13)return{preceding:i,index:i+1,carriage:!0}}return null}function CTe(t){for(let r=0;r<t.length-1;r++){if(t[r]===10&&t[r+1]===10||t[r]===13&&t[r+1]===13)return r+2;if(t[r]===13&&t[r+1]===10&&r+3<t.length&&t[r+2]===13&&t[r+3]===10)return r+4}return-1}var Iu,_u,mg,tZ=W(()=>{pg();eZ();mg=class{constructor(){Iu.set(this,void 0),_u.set(this,void 0),Xe(this,Iu,new Uint8Array,"f"),Xe(this,_u,null,"f")}decode(e){if(e==null)return[];let n=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?FP(e):e;Xe(this,Iu,xTe([de(this,Iu,"f"),n]),"f");let r=[],i;for(;(i=zNt(de(this,Iu,"f"),de(this,_u,"f")))!=null;){if(i.carriage&&de(this,_u,"f")==null){Xe(this,_u,i.index,"f");continue}if(de(this,_u,"f")!=null&&(i.index!==de(this,_u,"f")+1||i.carriage)){r.push(Z7(de(this,Iu,"f").subarray(0,de(this,_u,"f")-1))),Xe(this,Iu,de(this,Iu,"f").subarray(de(this,_u,"f")),"f"),Xe(this,_u,null,"f");continue}let o=de(this,_u,"f")!==null?i.preceding-1:i.preceding,s=Z7(de(this,Iu,"f").subarray(0,o));r.push(s),Xe(this,Iu,de(this,Iu,"f").subarray(i.index),"f"),Xe(this,_u,null,"f")}return r}flush(){return de(this,Iu,"f").length?this.decode(`
|
|
3
3
|
`):[]}};Iu=new WeakMap,_u=new WeakMap;mg.NEWLINE_CHARS=new Set([`
|
|
4
4
|
`,"\r"]);mg.NEWLINE_REGEXP=/\r\n|[\n\r]/g});function UP(){}function S$(t,e,n){return!e||T$[t]>T$[n]?UP:e[t].bind(e)}function pa(t){let e=t.logger,n=t.logLevel??"off";if(!e)return JNt;let r=STe.get(e);if(r&&r[0]===n)return r[1];let i={error:S$("error",e,n),warn:S$("warn",e,n),info:S$("info",e,n),debug:S$("debug",e,n)};return STe.set(e,[n,i]),i}var T$,nZ,JNt,STe,hg,k$=W(()=>{K_();T$={off:0,error:200,warn:300,info:400,debug:500},nZ=(t,e,n)=>{if(t){if(cTe(T$,t))return t;pa(n).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(T$))}`)}};JNt={error:UP,warn:UP,info:UP,debug:UP},STe=new WeakMap;hg=t=>(t.options&&(t.options={...t.options},delete t.options.headers),t.headers&&(t.headers=Object.fromEntries((t.headers instanceof Headers?[...t.headers]:Object.entries(t.headers)).map(([e,n])=>[e,e.toLowerCase()==="x-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":n]))),"retryOfRequestLogID"in t&&(t.retryOfRequestLogID&&(t.retryOf=t.retryOfRequestLogID),delete t.retryOfRequestLogID),t)});async function*XNt(t,e){if(!t.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new xt("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new xt("Attempted to iterate over a response with no body");let n=new rZ,r=new mg,i=BP(t.body);for await(let o of ZNt(i))for(let s of r.decode(o)){let a=n.decode(s);a&&(yield a)}for(let o of r.flush()){let s=n.decode(o);s&&(yield s)}}async function*ZNt(t){let e=new Uint8Array;for await(let n of t){if(n==null)continue;let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n=="string"?FP(n):n,i=new Uint8Array(e.length+r.length);i.set(e),i.set(r,e.length),e=i;let o;for(;(o=CTe(e))!==-1;)yield e.slice(0,o),e=e.slice(o)}e.length>0&&(yield e)}function eLt(t,e){let n=t.indexOf(e);return n!==-1?[t.substring(0,n),e,t.substring(n+e.length)]:[t,"",""]}var QP,ym,rZ,iZ=W(()=>{pg();wl();dC();tZ();dC();tC();K_();eZ();k$();wl();ym=class t{constructor(e,n,r){this.iterator=e,QP.set(this,void 0),this.controller=n,Xe(this,QP,r,"f")}static fromSSEResponse(e,n,r){let i=!1,o=r?pa(r):console;async function*s(){if(i)throw new xt("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let a=!1;try{for await(let c of XNt(e,n)){if(c.event==="completion")try{yield JSON.parse(c.data)}catch(l){throw o.error("Could not parse message into JSON:",c.data),o.error("From chunk:",c.raw),l}if(c.event==="message_start"||c.event==="message_delta"||c.event==="message_stop"||c.event==="content_block_start"||c.event==="content_block_delta"||c.event==="content_block_stop"||c.event==="message"||c.event==="user.message"||c.event==="user.interrupt"||c.event==="user.tool_confirmation"||c.event==="user.custom_tool_result"||c.event==="agent.message"||c.event==="agent.thinking"||c.event==="agent.tool_use"||c.event==="agent.tool_result"||c.event==="agent.mcp_tool_use"||c.event==="agent.mcp_tool_result"||c.event==="agent.custom_tool_use"||c.event==="agent.thread_context_compacted"||c.event==="session.status_running"||c.event==="session.status_idle"||c.event==="session.status_rescheduled"||c.event==="session.status_terminated"||c.event==="session.error"||c.event==="session.deleted"||c.event==="span.model_request_start"||c.event==="span.model_request_end")try{yield JSON.parse(c.data)}catch(l){throw o.error("Could not parse message into JSON:",c.data),o.error("From chunk:",c.raw),l}if(c.event!=="ping"&&c.event==="error"){let l=x$(c.data)??c.data,u=l?.error?.type;throw new da(void 0,l,void 0,e.headers,u)}}a=!0}catch(c){if(fg(c))return;throw c}finally{a||n.abort()}}return new t(s,n,r)}static fromReadableStream(e,n,r){let i=!1;async function*o(){let a=new mg,c=BP(e);for await(let l of c)for(let u of a.decode(l))yield u;for(let l of a.flush())yield l}async function*s(){if(i)throw new xt("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let a=!1;try{for await(let c of o())a||c&&(yield JSON.parse(c));a=!0}catch(c){if(fg(c))return;throw c}finally{a||n.abort()}}return new t(s,n,r)}[(QP=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],n=[],r=this.iterator(),i=o=>({next:()=>{if(o.length===0){let s=r.next();e.push(s),n.push(s)}return o.shift()}});return[new t(()=>i(e),this.controller,de(this,QP,"f")),new t(()=>i(n),this.controller,de(this,QP,"f"))]}toReadableStream(){let e=this,n;return X7({async start(){n=e[Symbol.asyncIterator]()},async pull(r){try{let{value:i,done:o}=await n.next();if(o)return r.close();let s=FP(JSON.stringify(i)+`
|
|
5
5
|
`);r.enqueue(s)}catch(i){r.error(i)}},async cancel(){await n.return?.()}})}};rZ=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let o={event:this.event,data:this.data.join(`
|
|
@@ -1443,7 +1443,7 @@ function evaluate(input, helpers) {
|
|
|
1443
1443
|
${s}
|
|
1444
1444
|
return { decision: 'allow', matched: false, reason: 'rule not applicable' };
|
|
1445
1445
|
}
|
|
1446
|
-
`}function sft(t){if(!t||t.length===0)return new Set;let e=new Map;for(let r of t){if(!r?.principleId||!r?.decision||!r?.reviewedAt)continue;let i=e.get(r.principleId);(!i||r.reviewedAt>=i.reviewedAt)&&e.set(r.principleId,{decision:r.decision,reviewedAt:r.reviewedAt})}let n=new Set;for(let[r,{decision:i}]of e)i==="archive-candidate"&&n.add(r);return n}var lLn=6e4,F6=null,ift=0,oft="";function oye(t,e=lLn){let n=Date.now();if(F6!==null&&oft===t&&n-ift<e)return F6;let r=kme(t);return F6=sft(r),ift=n,oft=t,F6}var uLn=new Set(["allow","block","requireApproval","auto_correct"]),aft=new Set(["__proto__","constructor","prototype"]);function cft(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function lft(t){return typeof t=="string"&&uLn.has(t)}function Wf(t){let e=[];if(!cft(t)){let n=t===null?"null":Array.isArray(t)?"array":typeof t;return e.push(`result must be a plain object, got ${n}`),{valid:!1,errors:e}}for(let n of aft)Object.hasOwn(t,n)&&e.push(`result must not contain prototype pollution key "${n}"`);if(!Object.hasOwn(t,"decision"))e.push("decision is required");else{let{decision:n}=t;(typeof n!="string"||!lft(n))&&e.push(`decision must be one of allow|block|requireApproval|auto_correct, got ${String(n)}`)}if(Object.hasOwn(t,"matched")?typeof t.matched!="boolean"&&e.push(`matched must be a boolean, got ${typeof t.matched}`):e.push("matched is required"),Object.hasOwn(t,"matched")&&typeof t.matched=="boolean"&&t.matched===!1&&Object.hasOwn(t,"decision")&&typeof t.decision=="string"&&lft(t.decision)&&t.decision!=="allow"&&e.push(`matched=false requires decision 'allow', got '${t.decision}'`),Object.hasOwn(t,"reason")?typeof t.reason!="string"&&e.push(`reason must be a string, got ${typeof t.reason}`):e.push("reason is required"),Object.hasOwn(t,"diagnostics")&&t.diagnostics!==void 0){let n=t.diagnostics;if(!cft(n))e.push("diagnostics must be a plain object if present");else for(let r of aft)Object.hasOwn(n,r)&&e.push(`diagnostics must not contain prototype pollution key "${r}"`)}if(Object.hasOwn(t,"ruleId")&&t.ruleId!==void 0&&typeof t.ruleId!="string"&&e.push(`ruleId must be a string if present, got ${typeof t.ruleId}`),Object.hasOwn(t,"principleId")&&t.principleId!==void 0&&typeof t.principleId!="string"&&e.push(`principleId must be a string if present, got ${typeof t.principleId}`),t.decision==="auto_correct")if(!Object.hasOwn(t,"correctionProposal")||t.correctionProposal===void 0)e.push("correctionProposal is required when decision is auto_correct");else{let n=bA(t.correctionProposal);n.valid||e.push(`correctionProposal invalid: ${n.errors.join("; ")}`)}return{valid:e.length===0,errors:e}}function hF(t,e,n){if(!(!t||t.length===0))try{let r,i=[],o=[];for(let s of t)try{let a=s.evaluate(e),c=Wf(a);if(!c.valid){let l=`invalid RuleHostResult: ${c.errors.join("; ")}`;n?.warn?.(`[RuleHost] Implementation ${s.implId} returned ${l}`),n?.onImplementationUnhealthy?.(s,l);continue}if(!a.matched)continue;if(a.decision==="block"){r=a;break}a.decision==="auto_correct"?i.push(a):a.decision==="requireApproval"&&o.push(a)}catch(a){let c=`evaluation failed: ${String(a)}`;n?.warn?.(`[RuleHost] Implementation ${s.implId} ${c}`),n?.onImplementationUnhealthy?.(s,c)}if(r)return r;if(i.length>0)for(let s of i)if(s.correctionProposal)try{let a=bA(s.correctionProposal);if(a.valid)return s;n?.warn?.(`[RuleHost] auto_correct proposal from ${s.ruleId??"unknown"} failed validation: ${a.errors.join("; ")}`)}catch(a){n?.warn?.(`[RuleHost] auto_correct proposal from ${s.ruleId??"unknown"} threw during validation (fail-closed): ${String(a)}`)}else n?.warn?.(`[RuleHost] auto_correct decision from ${s.ruleId??"unknown"} missing correctionProposal`);return o.length>0?{decision:"requireApproval",matched:!0,reason:o.map(s=>s.reason).join("; "),diagnostics:o.reduce((s,a,c)=>{let l=a.ruleId??`approval_${c}`,u=Object.entries(a.diagnostics??{});for(let[d,p]of u)s[`${l}_${d}`]=p;return s},{})}:void 0}catch(r){n?.warn?.(`[RuleHost] Host evaluation failed, degrading conservatively: ${String(r)}`);return}}function Gf(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function sye(t,e){return e<=0?0:t/e*100}function dLn(t){let{liveEvidence:e,replayEvidence:n}=t,r=0;return e.hasActiveImplementation&&(r+=35),e.hasPassingActiveImplementation?r+=30:n.passingImplementationIds.length>0&&(r+=20),e.candidateCount>0&&(r+=10),n.reportCount>0&&(r+=15),e.hasActiveImplementation&&e.durablePenaltyCount===0&&e.rollbackEvidenceCount===0&&(r+=10),r-=e.durablePenaltyCount*12,r-=e.rollbackEvidenceCount*8,Gf(r)}function Yw(t){let e=sye(t.replayEvidence.painNegative.passed,t.replayEvidence.painNegative.total),n=sye(t.replayEvidence.principleAnchor.passed,t.replayEvidence.principleAnchor.total),r=dLn(t),i=sye(t.replayEvidence.successPositive.failed,t.replayEvidence.successPositive.total),o=Math.min(15,t.liveEvidence.durablePenaltyCount*5+t.liveEvidence.rollbackEvidenceCount*3);return{coverageRate:Gf(e*.5+n*.3+r*.2),falsePositiveRate:Gf(i+o),painNegativeHitRate:Gf(e),principleAnchorPassRate:Gf(n),implementationStabilityScore:r,replayFalsePositiveRate:Gf(i),livePenaltyRate:Gf(o)}}function zw(t,e){let n=e??Object.fromEntries(t.rules.map(u=>[u.rule.id,Yw(u)]));if(t.rules.length===0)return{insufficientData:!0,adherenceRate:0,averageRuleCoverage:0,averageFalsePositiveRate:0,repeatedErrorReductionScore:0,repeatedErrorSignal:t.summary.repeatedErrorSignal,stableRuleIds:[],unstableRuleIds:[]};let r=t.rules.map(u=>({ruleId:u.rule.id,metrics:n[u.rule.id]??Yw(u)})),i=r.reduce((u,d)=>u+d.metrics.coverageRate,0)/r.length,o=r.reduce((u,d)=>u+d.metrics.falsePositiveRate,0)/r.length,s=r.filter(u=>u.metrics.coverageRate>=70&&u.metrics.falsePositiveRate<=25).map(u=>u.ruleId),a=r.filter(u=>!s.includes(u.ruleId)).map(u=>u.ruleId),c=t.summary.repeatedErrorSignal*10+a.length*12+o*.4,l=Gf(100-c);return{adherenceRate:Gf(i*.7+l*.3),averageRuleCoverage:Gf(i),averageFalsePositiveRate:Gf(o),repeatedErrorReductionScore:l,repeatedErrorSignal:t.summary.repeatedErrorSignal,stableRuleIds:s,unstableRuleIds:a}}var pLn=.45,fLn=.25,mLn=.15,hLn=.15,gLn=75,ALn=20,yLn=70,ELn=55,ILn=.5,_Ln=1;function vLn(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function aye(t,e,n){let r=n??zw(t,e),i=[],o=t.rules.length>0?r.stableRuleIds.length/t.rules.length:0,s=l=>{i.includes(l)||i.push(l)};t.rules.length===0&&s("No material rules are attached to this principle yet."),t.summary.activeImplementationCount===0&&s("No active lower-layer implementation is absorbing the principle."),r.averageRuleCoverage<gLn&&s("Rule coverage is not yet stable enough to absorb the principle."),r.averageFalsePositiveRate>ALn&&s("False-positive rate remains too high for deprecation readiness."),(r.repeatedErrorSignal>0||r.repeatedErrorReductionScore<yLn)&&s("Repeated related errors have not fallen enough yet.");let a=vLn(r.adherenceRate*pLn+r.averageRuleCoverage*fLn+(100-r.averageFalsePositiveRate)*mLn+r.repeatedErrorReductionScore*hLn);return{status:i.length===0&&o===_Ln?"ready":a>=ELn&&t.summary.activeImplementationCount>0&&o>=ILn?"watch":"not-ready",score:a,blockingReasons:i,supportingRuleIds:r.stableRuleIds,evidence:{adherenceRate:r.adherenceRate,averageRuleCoverage:r.averageRuleCoverage,averageFalsePositiveRate:r.averageFalsePositiveRate,repeatedErrorReductionScore:r.repeatedErrorReductionScore,repeatedErrorSignal:r.repeatedErrorSignal,stableRuleCount:r.stableRuleIds.length,activeImplementationCount:t.summary.activeImplementationCount}}}var wLn=15,bLn=15,xLn=2,CLn=80,SLn=15,TLn=50,kLn=78,RLn=8,DLn=70,OLn=.2,PLn=62,NLn=.12,LLn=.15,MLn=58,BLn=.2,FLn=6,ULn=8,QLn=2;function gF(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function $Ln(t){if(t.rules.length===0)return"mixed";let n=t.rules.map(i=>i.rule.type).filter(i=>i!==void 0);return new Set(n).size===1?n[0]:"mixed"}function WLn(t){let e=Object.values(t).map(n=>Math.max(0,100-n.coverageRate));return e.length===0?0:gF(e.reduce((n,r)=>n+r,0)/e.length)}function GLn(t,e){return t==="P0"||e==="deterministic"}function qLn(t){return t.rules.every(e=>e.rule.enforcement!=="block"||["skill","prompt","test"].includes(e.rule.type))}function HLn(t,e,n){return{replayReportCount:t.summary.replayReportCount,activeImplementationCount:t.summary.activeImplementationCount,candidateImplementationCount:t.summary.candidateImplementationCount,repeatedErrorSignal:t.summary.repeatedErrorSignal,averageRuleCoverage:e.averageRuleCoverage,averageFalsePositiveRate:e.averageFalsePositiveRate,highestRuleCoverageGap:WLn(n),dominantRuleType:$Ln(t)}}function cye(t,e,n){let r=e??Object.fromEntries(t.rules.map(g=>[g.rule.id,Yw(g)])),i=n??zw(t,r),o=HLn(t,i,r),s=[],a=t.principle.coreAxiomId,c=0,l=0;a==="T-05"||a==="T-08"?(c=wLn,s.push("axiom_governance_enforcement")):(a==="T-01"||a==="T-03"||a==="T-04")&&(l=bLn,s.push("axiom_knowledge_guidance"));let u=GLn(t.principle.priority,t.principle.evaluability),d=t.summary.replayReportCount<Math.max(1,t.rules.length)&&t.summary.activeImplementationCount===0&&t.summary.candidateImplementationCount===0&&t.summary.repeatedErrorSignal<xLn,p=i.averageRuleCoverage>=CLn&&i.averageFalsePositiveRate<=SLn&&t.summary.repeatedErrorSignal===0;return t.rules.length===0?(s.push("insufficient_data","no_material_rules"),{principleId:t.principle.id,route:"defer",confidence:TLn,reasonCodes:s,evidenceSummary:o,nextAction:"No rules defined for this principle. Create at least one rule via pain\u2192principle\u2192rule pipeline before internalization routing can produce meaningful recommendations."}):d?(s.push("sparse_evidence"),{principleId:t.principle.id,route:"defer",confidence:gF(kLn-t.summary.repeatedErrorSignal*RLn),reasonCodes:s,evidenceSummary:o,nextAction:"Collect more replay evidence or live violations before committing to a heavier implementation path."}):p?(s.push("already_absorbing"),{principleId:t.principle.id,route:"defer",confidence:gF(DLn+i.averageRuleCoverage*OLn),reasonCodes:s,evidenceSummary:o,nextAction:"Defer new implementation work and keep monitoring until the lower layer proves it needs another route."}):qLn(t)&&(!u&&t.principle.evaluability!=="deterministic"&&t.summary.repeatedErrorSignal<=QLn||l>0&&c===0)&&c===0?(s.push("cheapest_viable_skill"),t.summary.activeImplementationCount===0&&s.push("no_hard_boundary_required"),{principleId:t.principle.id,route:"skill",confidence:gF(PLn+i.repeatedErrorReductionScore*NLn-i.averageFalsePositiveRate*LLn+l),reasonCodes:s,evidenceSummary:o,nextAction:"Prefer a skill or prompt-level intervention first, then replay again before escalating to code."}):(s.push("deterministic_or_high_risk"),t.summary.replayReportCount>0&&s.push("replay_evidence_sufficient"),t.summary.repeatedErrorSignal>0&&s.push("repeated_errors_continue"),{principleId:t.principle.id,route:"code",confidence:gF(MLn+o.highestRuleCoverageGap*BLn+t.summary.repeatedErrorSignal*FLn+(u?ULn:0)+c),reasonCodes:s,evidenceSummary:o,nextAction:"Prepare a code implementation candidate and keep promotion manual after replay validation."})}function lye(t){return t.reduce((e,n)=>({total:e.total+n.total,passed:e.passed+n.passed,failed:e.failed+n.failed}),{total:0,passed:0,failed:0})}function U6(t,e){return t.filter(n=>n.lifecycleState===e).length}function jLn(t){return t.lifecycleState==="disabled"||t.lifecycleState==="archived"?!0:typeof t.disabledReason=="string"&&t.disabledReason.trim().length>0}function KLn(t){return typeof t.previousActive=="string"&&t.previousActive.length>0}function VLn(t){return{reportCount:t.length,latestReports:t.map(e=>e.report),painNegative:lye(t.map(e=>e.report.replayResults.painNegative)),successPositive:lye(t.map(e=>e.report.replayResults.successPositive)),principleAnchor:lye(t.map(e=>e.report.replayResults.principleAnchor)),passingImplementationIds:t.filter(e=>e.report.overallDecision==="pass").map(e=>e.implementationId),failingImplementationIds:t.filter(e=>e.report.overallDecision==="fail").map(e=>e.implementationId),needsReviewImplementationIds:t.filter(e=>e.report.overallDecision==="needs-review").map(e=>e.implementationId)}}function YLn(t,e=!1){let n=new Set,r=new Set;for(let o of t){for(let s of o.sourcePainIds)n.add(s);for(let s of o.sourceGateBlockIds)r.add(s)}let i=t.length>0?t.map(o=>o.createdAt).sort((o,s)=>new Date(s).getTime()-new Date(o).getTime())[0]:void 0;return{records:t,distinctPainSignalCount:n.size,distinctGateBlockCount:r.size,repeatedErrorSignal:n.size+r.size,latestCreatedAt:i,sourceRetired:e}}function zLn(t,e){let n=t.filter(r=>r.lifecycleState==="active");return{activeCount:U6(t,"active"),candidateCount:U6(t,"candidate"),disabledCount:U6(t,"disabled"),archivedCount:U6(t,"archived"),durablePenaltyCount:t.filter(r=>jLn(r)).length,rollbackEvidenceCount:t.filter(r=>KLn(r)).length,hasActiveImplementation:n.length>0,hasPassingActiveImplementation:n.some(r=>e.passingImplementationIds.includes(r.id))}}function AF(t){let e=t.loadLedger(),n=[],r=!1;try{n=t.listLineageRecords("rule-implementation-candidate")}catch(o){if(o instanceof Error&&o.name==="LineageSourceRetiredError")r=!0;else throw o}let i=Object.values(e.principles).map(o=>{let a=(o.ruleIds??[]).map(c=>e.rules[c]).filter(c=>c!==void 0).map(c=>{let l=c,d=c.implementationIds.map(E=>e.implementations[E]).filter(E=>E!==void 0).map(E=>E),p=d.map(E=>{let w=t.listReplayReports(E.id),k=n.filter(C=>C.ruleId===l.id||C.implementationId===E.id);return{implementation:E,latestReplayReport:w[0]??null,replayHistoryCount:w.length,lineageRecords:k}}),m=VLn(p.filter(E=>E.latestReplayReport!==null).map(E=>({implementationId:E.implementation.id,report:E.latestReplayReport}))),g=n.filter(E=>E.ruleId===l.id),A=YLn(g,r),v=zLn(d,m);return{rule:l,implementations:p,replayEvidence:m,liveEvidence:v,lineageEvidence:A}});return{principle:o,rules:a,summary:{replayReportCount:a.reduce((c,l)=>c+l.replayEvidence.reportCount,0),activeImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.activeCount,0),candidateImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.candidateCount,0),disabledImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.disabledCount,0),archivedImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.archivedCount,0),distinctPainSignalCount:a.reduce((c,l)=>c+l.lineageEvidence.distinctPainSignalCount,0),distinctGateBlockCount:a.reduce((c,l)=>c+l.lineageEvidence.distinctGateBlockCount,0),repeatedErrorSignal:a.reduce((c,l)=>c+l.lineageEvidence.repeatedErrorSignal,0)}}}).sort((o,s)=>o.principle.id.localeCompare(s.principle.id));return{generatedAt:new Date().toISOString(),principles:i}}Na();Na();var uye=[["dreamer","philosopher"],["philosopher","scribe"],["scribe","artificer"],["artificer","evaluator"],["evaluator","rollout_reviewer"]],uft=[["diag_rootcause","diag_distiller"],["diag_distiller","diag_router"]];function dye(t,e,n){return uye.some(([r,i])=>r===t&&i===e)}function pye(t){return uft.filter(([e])=>e===t).map(([,e])=>e)}function fye(t){return uye.filter(([e])=>e===t).map(([,e])=>e)}Na();function yF(t,e,n){let r=[],i=[];if(!Y9(t))return{decision:"blocked",ready:!1,blockedBy:[],failedDependencies:[]};if(!V9(t,n))return{decision:"retry_wait_pending",ready:!1,blockedBy:[],failedDependencies:[],retryAfter:t.leaseExpiresAt};let o=new Map(e.map(s=>[s.taskId,s]));for(let s of t.dependencyTaskIds){let a=o.get(s);a?a.status==="succeeded"||(a.status==="failed"?i.push(s):r.push(s)):r.push(s)}return i.length>0?{decision:"dependency_failed",ready:!1,blockedBy:r,failedDependencies:i}:r.length>0?{decision:"blocked",ready:!1,blockedBy:r,failedDependencies:[]}:{decision:"proceed",ready:!0,blockedBy:[],failedDependencies:[]}}function mye(t,e,n){if(t.status!=="succeeded"||JO(t)||!sg(t.taskKind))return null;let{taskKind:r}=t,i=n??t.channel,s=fye(r).filter(c=>dye(r,c,i));return s.length===0?null:{taskKind:s[0],parentTaskId:t.taskId,dependencyTaskIds:[t.taskId],inputArtifactRefs:[...t.outputArtifactRefs],channel:i,correlationId:t.correlationId}}Bo();import{createHash as eMn}from"node:crypto";var hs={evaluatorRepairBudgetExhausted:"evaluator_repair_budget_exhausted",rolloutRevisionBudgetExhausted:"rollout_revision_budget_exhausted",rolloutActivationCandidateUnresolved:"rollout_activation_candidate_unresolved",evaluatorTestOutOfScope:"evaluator_test_out_of_scope",evaluatorRepairSeedFailed:"evaluator_repair_seed_failed",rolloutDispatchNotWired:"rollout_dispatch_not_wired",rolloutDispatchRefused:"rollout_dispatch_refused",rolloutRevisionTargetUnresolved:"rollout_revision_target_unresolved",rolloutRevisionRoutingNotWired:"rollout_revision_routing_not_wired",rolloutRevisionReopenFailed:"rollout_revision_reopen_failed",rolloutRevisionIterationMissing:"rollout_revision_iteration_missing",workspaceDirtyStall:"workspace_dirty_stall"},tMn=new Set([hs.evaluatorRepairBudgetExhausted,hs.rolloutRevisionBudgetExhausted,hs.rolloutActivationCandidateUnresolved,hs.evaluatorTestOutOfScope]),tlo=new Set([hs.rolloutActivationCandidateUnresolved]);function nMn(t){return eMn("sha256").update(t,"utf8").digest("hex")}function Jw(t){return nMn(t)}function EF(t){let e=t.revisionCount??0,n=t.ownerResolutions;if(!n||n.length===0)return null;let r=null;for(let i of n)i.revisionEpoch===e&&(i.action!=="accept_current"&&i.action!=="reject_current"||(!r||i.decidedAt>r.decidedAt)&&(r=i));return!r||r.effectiveDecision===void 0?null:{resolution:r,overrideDecision:r.effectiveDecision}}function hye(t){return t.startsWith("rollout_revision_budget_exhausted")?hs.rolloutRevisionBudgetExhausted:t==="rollout_dispatch_not_wired"?hs.rolloutDispatchNotWired:t.startsWith("rollout_dispatch_")?hs.rolloutDispatchRefused:t==="rollout_activation_candidate_unresolved"?hs.rolloutActivationCandidateUnresolved:t==="rollout_revision_target_unresolved"?hs.rolloutRevisionTargetUnresolved:t==="rollout_revision_routing_not_wired"?hs.rolloutRevisionRoutingNotWired:t.startsWith("rollout_revision_reopen_failed")?hs.rolloutRevisionReopenFailed:t==="rollout_revision_iteration_missing"?hs.rolloutRevisionIterationMissing:(t===hs.evaluatorRepairBudgetExhausted||t===hs.evaluatorRepairSeedFailed,t)}function dft(t){let e=t.revisionCount??0,n=t.ownerResolutions;if(!n)return null;let r=null;for(let i of n)i.revisionEpoch!==e||i.status!=="applied"||i.action!=="accept_current"&&i.action!=="reject_current"||(!r||i.decidedAt>r.decidedAt)&&(r=i);return r}function gye(t){let e=dft(t);return e?.effectiveDecision!==void 0?e.effectiveDecision:t.runnerDecision}async function Xw(t){let{updateDiagnosticJson:e,getTask:n,taskId:r,resolutionId:i,appliedAt:o}=t,s=await n(r);if(!s)return;let a=Et(s);if(!a?.ownerResolutions)return;let c=a.ownerResolutions.find(u=>u.resolutionId===i);if(!c||c.status==="applied")return;let l=a.ownerResolutions.map(u=>u.resolutionId===i?{...u,status:"applied",appliedAt:o}:u);await e(r,co(La(a,{ownerResolutions:l})))}var rMn=new Set(["approved","needs_revision","rejected"]),iMn=new Set(["approve_rollout","needs_revision","reject"]);function Aye(t){let{taskKind:e,taskStatus:n,runnerDecision:r,legacyRunnerDecision:i,isRepairTask:o,revisionCount:s}=t;if(n==="needs_human_review")return{kind:"HUMAN_REVIEW_REQUIRED",reason:"task_awaiting_owner_attention"};if(n!=="succeeded")return{kind:"NOT_ADVANCEABLE",reason:`task_status_${n}`};if(o&&e==="artificer")return{kind:"REOPEN_SOURCE_EVALUATOR",reason:`repair_round_complete_revision_${s}`};if(e==="evaluator"){let a=r??(i!==void 0&&rMn.has(i)?i:void 0);return a===void 0?{kind:"BLOCKED_MISSING_VERDICT",reason:"evaluator_verdict_missing_durable_and_legacy"}:a==="approved"?{kind:"ADVANCE",reason:"evaluator_approved"}:a==="needs_revision"?{kind:"REVISION_REQUIRED",reason:"evaluator_needs_revision_repair_loop"}:{kind:"TERMINAL_REJECT",reason:"evaluator_rejected"}}if(e==="rollout_reviewer"){let a=r??(i!==void 0&&iMn.has(i)?i:void 0);return a===void 0?{kind:"BLOCKED_MISSING_VERDICT",reason:"rollout_verdict_missing_durable_and_legacy"}:a==="approve_rollout"?{kind:"ADVANCE",reason:"rollout_approved_dispatch_activation"}:a==="needs_revision"?{kind:"REVISION_REQUIRED",reason:"rollout_needs_revision_routed_upstream"}:{kind:"TERMINAL_REJECT",reason:"rollout_rejected_no_activation"}}return{kind:"ADVANCE",reason:`task_succeeded_${e}`}}function yye(t,e){return{taskKind:t.taskKind,taskStatus:t.status,runnerDecision:gye(t),legacyRunnerDecision:e,isRepairTask:t.repairPayload!==void 0,revisionCount:t.revisionCount??0}}Bo();Bo();Bo();function Eye(t){let e=t.revisionCount??0;return e===0?`repair-${t.taskId}`:`repair-${t.taskId}-rc${e}`}async function Q6(t,e,n){let r=await t.getTask(e);if(!r)return{ok:!1,reason:"task_not_found"};let i=Et(r);if(!i)return{ok:!1,reason:"invalid_task_metadata"};if(n?.revisionCauseId&&i.revisionCauseId===n.revisionCauseId)return{ok:!0,reason:"idempotent_replay_same_revision"};if(!(r.status==="pending"||r.status==="retry_wait")){if(r.status!=="succeeded"&&r.status!=="needs_human_review")return{ok:!1,reason:`task_in_flight_${r.status}`}}let o=La(i,{runnerDecision:void 0,completionIntent:void 0,revisionCount:(i.revisionCount??0)+1,revisionFeedback:n?.revisionFeedback??i.revisionFeedback,revisionCauseId:n?.revisionCauseId});if(n?.replaceArtificerDependencyWith){let s=[];for(let a of i.dependencyTaskIds){if(a===n.replaceArtificerDependencyWith)continue;let c=await t.getTask(a);c&&c.taskKind==="artificer"||s.push(a)}o.dependencyTaskIds=[...s,n.replaceArtificerDependencyWith],o.inputArtifactRefs=[]}return await t.updateTask(e,{diagnosticJson:co(o),status:"pending",attemptCount:0}),{ok:!0,reason:n?.reason??"revision_reopen"}}Na();function oMn(t,e){if(!e)return t;let n=`-${e}`;return t.endsWith(n)?t.slice(0,t.length-n.length):t}var IF=class{owner;runtimeKind;dryRun;stateManager;constructor(e,n){if(!n.owner||!n.runtimeKind)throw new Y("input_invalid","InternalizationOrchestrator requires non-empty owner and runtimeKind");this.stateManager=e.stateManager,this.owner=n.owner,this.runtimeKind=n.runtimeKind,this.dryRun=n.dryRun??!1}async wakeOnce(e){let n=await this.findCandidates(e),r=n.length;if(r===0)return{decision:"no_ready_tasks",inspectedCount:0,reason:(e?(await this.findCandidates()).length:0)>0?"filtered_out":"no_candidates"};let i=0,o=0,s=0,a=0,c=0;for(let u of n){let d=Et(u);if(!d){i++;continue}let p=await this.resolveDependencies(d.dependencyTaskIds),m=yF(d,p);if(m.decision==="blocked"){o++;continue}if(m.decision==="dependency_failed"){s++;continue}if(m.decision==="retry_wait_pending"){a++;continue}if(this.dryRun)return{decision:"would_lease",taskId:d.taskId,taskKind:d.taskKind,gateResult:m};try{let g=await this.stateManager.acquireLease({taskId:d.taskId,owner:this.owner,runtimeKind:this.runtimeKind});return{decision:"leased",taskId:g.taskId,taskKind:d.taskKind,attemptCount:g.attemptCount}}catch(g){if(g instanceof Y&&g.category==="lease_conflict"){c++;continue}let A=g instanceof Y?g:new Y("runtime_unavailable",String(g));throw new Y(A.category??"runtime_unavailable",`wakeOnce lease acquisition failed for task ${d.taskId}: ${A.message}`,{cause:g})}}let l=a>0&&a>=i&&a>=s&&a>=o&&a>=c?"all_retry_wait_pending":i>0&&i>=s&&i>=o&&i>=c?"all_hydration_failed":s>=o&&s>=c?"all_dependency_failed":o>=c?"all_blocked":c>0?"all_lease_conflict":"no_candidates";return{decision:"no_ready_tasks",inspectedCount:r,reason:l}}async proposeNextTask(e){let n=await this.stateManager.getTask(e);if(!n)return null;let r=Et(n);if(!r||r.status!=="succeeded")return null;if(VO(r.taskKind)){let o=pye(r.taskKind);if(o.length===0)return null;let s=o[0];return{decision:"proposal_created",taskId:r.taskId,taskKind:r.taskKind,proposal:{taskKind:s,parentTaskId:r.taskId,dependencyTaskIds:[r.taskId],inputArtifactRefs:[...r.outputArtifactRefs],channel:r.channel,correlationId:r.correlationId}}}if(!sg(r.taskKind))return null;let i=mye(r,[]);return i?{decision:"proposal_created",taskId:r.taskId,taskKind:r.taskKind,proposal:i}:null}async commitNextTaskProposal(e){let n=await this.stateManager.getTask(e);if(!n)return{decision:"task_not_found",taskId:e};let r=Et(n);if(!r)return{decision:"invalid_task_metadata",taskId:e,reason:"Failed to hydrate PITaskRecord from diagnosticJson"};let i=await this.resolveLegacyRunnerVerdict(e,n.taskKind),o=Aye(yye(r,i));if(o.kind==="HUMAN_REVIEW_REQUIRED")return{decision:"source_not_succeeded",taskId:e,status:r.status};if(o.kind==="NOT_ADVANCEABLE")return{decision:"source_not_succeeded",taskId:e,status:r.status};if(o.kind==="BLOCKED_MISSING_VERDICT")return{decision:"blocked_missing_verdict",taskId:e,reason:o.reason};if(o.kind==="REVISION_REQUIRED")return{decision:"blocked_by_revision",sourceTaskId:e,reason:o.reason,runnerDecision:r.runnerDecision??"unknown"};if(o.kind==="TERMINAL_REJECT")return{decision:"blocked_by_rejection",sourceTaskId:e,reason:o.reason,runnerDecision:r.runnerDecision??"unknown"};if(o.kind==="REOPEN_SOURCE_EVALUATOR"&&r.repairPayload){let g=Eye(r),A=await this.stateManager.getTask(r.repairPayload.sourceEvaluatorTaskId),v=A?Et(A):null;if(v&&v.revisionCauseId===g)return{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:"revision_cause_already_materialized"};let E=await this.reopenTaskForRevision(r.repairPayload.sourceEvaluatorTaskId,{replaceArtificerDependencyWith:e,reason:"artificer_repair_complete",revisionCauseId:g});return E.ok?E.reason==="idempotent_replay_same_revision"?{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:E.reason}:{decision:"revision_reopened",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:o.reason}:{decision:"no_successor",sourceTaskId:e,reason:`evaluator_reopen_failed:${E.reason}`}}if(r.status!=="succeeded")return{decision:"source_not_succeeded",taskId:e,status:r.status};let s=await this.proposeNextTask(e);if(!s)return{decision:"no_successor",sourceTaskId:e,reason:"No valid successor in job graph for this task kind and channel"};let{proposal:a}=s,c=await this.findExistingSuccessor(e,a.taskKind,a.channel);if(c)return{decision:"successor_exists",sourceTaskId:e,successorTaskId:c.taskId,successorKind:a.taskKind};let l=a.correlationId??oMn(e,a.channel),u=a.channel?`${a.taskKind}-${l}-${a.channel}`:`${a.taskKind}-${l}`,d=(r.revisionCount??0)>0?await this.stateManager.getTask(u):null;if(d&&(d.status==="succeeded"||d.status==="needs_human_review")){let g=`cascade-${e}-rc${r.revisionCount??0}-${u}`,A=Et(d);if(A&&A.revisionCauseId===g)return{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:u,reason:"revision_cause_already_materialized"};let v;if(A&&a.taskKind==="evaluator")for(let w of A.dependencyTaskIds){if(w===e)continue;if((await this.stateManager.getTask(w))?.taskKind==="artificer"){v=e;break}}let E=await this.reopenTaskForRevision(u,{reason:"upstream_revision_cascade",revisionCauseId:g,...v!==void 0?{replaceArtificerDependencyWith:v}:{}});return E.ok?E.reason==="idempotent_replay_same_revision"?{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:u,reason:E.reason}:{decision:"successor_reopened",sourceTaskId:e,reopenedTaskId:u,successorKind:a.taskKind}:{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind}}if(d)return{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind};let p={dependencyTaskIds:a.dependencyTaskIds,channel:a.channel,timeoutMs:3e5,inputArtifactRefs:a.inputArtifactRefs,outputArtifactRefs:[],parentTaskId:a.parentTaskId,correlationId:a.correlationId},m;try{m=await this.stateManager.createTask({taskId:u,taskKind:a.taskKind,status:"pending",attemptCount:0,maxAttempts:3,inputRef:void 0,resultRef:void 0,lastError:void 0,leaseOwner:void 0,leaseExpiresAt:void 0,diagnosticJson:co(p)})}catch(g){let A=g instanceof Error?g.message:String(g);if(A.includes("UNIQUE constraint")||A.includes("PRIMARY KEY")||A.includes("already exists"))return{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind};throw g}return{decision:"successor_created",sourceTaskId:e,successorTaskId:m.taskId,successorKind:a.taskKind}}async resolveLegacyRunnerVerdict(e,n){if(n!=="evaluator"&&n!=="rollout_reviewer")return;let r;try{r=await this.stateManager.getRunsByTask(e)}catch{return}for(let i of[...r].reverse()){let o=i.outputPayload;if(typeof o!="string"||o.length===0)continue;let s;try{s=JSON.parse(o)}catch{continue}if(typeof s!="object"||s===null)continue;let a=s,c=[a.evaluation,a.review];for(let l of c)if(typeof l=="object"&&l!==null){let u=l.decision;if(typeof u=="string"&&u.length>0)return u}if(typeof a.rolloutDecision=="string"&&a.rolloutDecision.length>0)return a.rolloutDecision}}async reconcileSucceededTransitions(e){let r=Math.max(1,Math.min(e?.limit??10,50)),i=await this.stateManager.listTasks({status:"succeeded",orderBy:"updated_at_asc",afterCursor:e?.cursor,limit:r}),o=[],s=0,a=0,c=0,l;for(let p of i)if(l={lastUpdatedAt:p.updatedAt,lastTaskId:p.taskId},!!sg(p.taskKind))try{let m=await this.commitNextTaskProposal(p.taskId);o.push({taskId:p.taskId,decision:m.decision}),m.decision==="successor_created"||m.decision==="revision_reopened"||m.decision==="successor_reopened"?(s+=1,e?.logger?.info?.(`[PD:Reconcile] recovered missing transition for ${p.taskId} (${m.decision})`)):m.decision==="successor_exists"||m.decision==="revision_reopen_noop"?a+=1:c+=1}catch(m){o.push({taskId:p.taskId,decision:`reconcile_error:${m instanceof Error?m.message:String(m)}`}),c+=1}if(i.length===0){let p=e?.cursor;return{scanned:0,recovered:s,alreadyMaterialized:a,blocked:c,outcomes:o,nextCursor:{lastUpdatedAt:p?.updatedAt??"",lastTaskId:p?.taskId??""},wrappedAround:!0}}let u=e?.cursor,d=l??{lastUpdatedAt:u?.updatedAt??"",lastTaskId:u?.taskId??""};return{scanned:o.length+i.filter(p=>!sg(p.taskKind)).length,recovered:s,alreadyMaterialized:a,blocked:c,outcomes:o,nextCursor:d,wrappedAround:i.length<r}}async reopenTaskForRevision(e,n){return Q6(this.stateManager,e,n)}async findExistingSuccessor(e,n,r){let i=await this.stateManager.listTasks({status:"pending"}),o=await this.stateManager.listTasks({status:"retry_wait"}),s=[...i,...o];for(let a of s){if(a.taskKind!==n)continue;let c=Et(a);if(c&&c.parentTaskId===e&&c.channel===r)return a}return null}async findCandidates(e){if(e&&!py(e))throw new Y("input_invalid",`findCandidates: invalid taskKind filter: ${e}`);let n=[];try{let i=await this.stateManager.listTasks({status:"pending"}),o=await this.stateManager.listTasks({status:"retry_wait"});n.push(...i,...o)}catch(i){throw i instanceof Y?i:new Y("runtime_unavailable","findCandidates failed",{cause:i})}let r=n.filter(i=>py(i.taskKind));return e&&(r=r.filter(i=>i.taskKind===e)),r}async resolveDependencies(e){return e.length===0?[]:(await Promise.allSettled(e.map(r=>this.stateManager.getTask(r)))).filter(r=>r.status==="fulfilled").map(r=>r.value).filter(r=>r!==null)}};var sMn={canonicalDiagnosis:{workspaceDir:"/workspace/dogfood",painEvents:[{id:1,source:"manual",reason:"Before declaring a user journey complete verify full observable product surface",text:"Manual record: surface validation missing",created_at:"2026-06-13T10:00:00.000Z",score:90}],tasks:[{task_id:"diagnosis_manual_1",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:01:00.000Z",input_ref:"pain_1",diagnostic_json:JSON.stringify({rootCause:"Verifier checks static patterns but misses real runtime load."})}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},subRunDiagnosis:{workspaceDir:"/workspace/dogfood",painEvents:[{id:"2",source:"manual",reason:"Verify config file updates before committing",text:"Manual record: verify config changes",created_at:"2026-06-13T10:02:00.000Z",score:80}],tasks:[{task_id:"diag_router-diagnosis_manual_2",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:03:00.000Z",input_ref:"pain_2",diagnostic_json:JSON.stringify({rootCause:"No pre-commit hook runs pd config verification."})}],candidates:[{candidate_id:"cand-subrun-2",task_id:"diag_router-diagnosis_manual_2",title:"Verify config changes before commit",description:"Verify all config files conform to parser constraints prior to commit.",confidence:.95,recommendation_kind:"principle"}],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},asyncPendingWithoutConsumer:{workspaceDir:"/workspace/dogfood",painEvents:[{id:3,source:"manual",reason:"Agent does not pause to clarify when command fails",created_at:"2026-06-13T10:04:00.000Z",score:75}],tasks:[{task_id:"diagnosis_manual_3",task_kind:"diagnostician",status:"pending",created_at:"2026-06-13T10:05:00.000Z",input_ref:"pain_3"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},candidateGeneratedNoDreamer:{workspaceDir:"/workspace/dogfood",painEvents:[{id:4,source:"manual",reason:"Auto-consumer should lease tasks correctly",created_at:"2026-06-13T10:06:00.000Z",score:70}],tasks:[{task_id:"diagnosis_manual_4",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:07:00.000Z",input_ref:"pain_4"}],candidates:[{candidate_id:"cand-4",task_id:"diagnosis_manual_4",title:"Lease tasks correctly in auto-consumer",description:"Prevent ready dreamer tasks from staying pending.",confidence:.85,recommendation_kind:"principle"}],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerPending:{workspaceDir:"/workspace/dogfood",painEvents:[{id:5,source:"manual",reason:"Dreamer pending task scenario",created_at:"2026-06-13T10:08:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_5",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:09:00.000Z",input_ref:"pain_5"}],candidates:[{candidate_id:"cand-5",task_id:"diagnosis_manual_5",title:"Dreamer pending title",description:"Dreamer pending description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-5-prompt",task_kind:"dreamer",status:"pending"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerRunning:{workspaceDir:"/workspace/dogfood",painEvents:[{id:6,source:"manual",reason:"Dreamer running task scenario",created_at:"2026-06-13T10:10:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_6",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:11:00.000Z",input_ref:"pain_6"}],candidates:[{candidate_id:"cand-6",task_id:"diagnosis_manual_6",title:"Dreamer running title",description:"Dreamer running description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-6-prompt",task_kind:"dreamer",status:"running"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerFailed:{workspaceDir:"/workspace/dogfood",painEvents:[{id:7,source:"manual",reason:"Dreamer failed task scenario",created_at:"2026-06-13T10:12:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_7",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:13:00.000Z",input_ref:"pain_7"}],candidates:[{candidate_id:"cand-7",task_id:"diagnosis_manual_7",title:"Dreamer failed title",description:"Dreamer failed description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-7-prompt",task_kind:"dreamer",status:"failed"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerSucceeded:{workspaceDir:"/workspace/dogfood",painEvents:[{id:8,source:"manual",reason:"Dreamer succeeded task scenario",created_at:"2026-06-13T10:14:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_8",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:15:00.000Z",input_ref:"pain_8"}],candidates:[{candidate_id:"cand-8",task_id:"diagnosis_manual_8",title:"Dreamer succeeded title",description:"Dreamer succeeded description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-8-prompt",task_kind:"dreamer",status:"succeeded"}],ledgerPrinciples:[{id:"principle-8",derivedFromPainIds:["pain_8"],status:"candidate",text:"Dreamer succeeded principle text"}],trajectoryDbAvailable:!0,stateDbAvailable:!0},malformedLedgerDegradedJson:{workspaceDir:"/workspace/dogfood",painEvents:[{id:9,source:"manual",reason:"Malformed data handling",created_at:"2026-06-13T10:16:00.000Z",score:80}],tasks:[{task_id:"diagnosis_manual_9",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:17:00.000Z",input_ref:"pain_9",diagnostic_json:"{invalid-json}"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},workspaceMismatchWarning:{workspaceDir:"/workspace/dogfood",painEvents:[{id:10,source:"hook",reason:"Workspace mismatch event",created_at:"2026-06-13T10:18:00.000Z",score:60}],tasks:[{task_id:"diagnosis_other_999",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:00:00.000Z",input_ref:"pain_999"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},autoConsumerSuccess:{workspaceDir:"/workspace/dogfood",painEvents:[{id:11,source:"manual",reason:"Auto-consumer leasing and successor creation success",created_at:"2026-06-13T10:20:00.000Z",score:95}],tasks:[{task_id:"diagnosis_manual_11",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:21:00.000Z",input_ref:"pain_11"}],candidates:[{candidate_id:"cand-11",task_id:"diagnosis_manual_11",title:"Auto-consumer successor task",description:"Verifies that successor philosopher task is created after dreamer success.",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-11-prompt",task_kind:"dreamer",status:"succeeded"}],ledgerPrinciples:[{id:"principle-11",derivedFromPainIds:["pain_11"],status:"active"}],trajectoryDbAvailable:!0,stateDbAvailable:!0},autoConsumerFailure:{workspaceDir:"/workspace/dogfood",painEvents:[{id:12,source:"manual",reason:"Auto-consumer failure persistence check",created_at:"2026-06-13T10:22:00.000Z",score:95}],tasks:[{task_id:"diagnosis_manual_12",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:23:00.000Z",input_ref:"pain_12"}],candidates:[{candidate_id:"cand-12",task_id:"diagnosis_manual_12",title:"Auto-consumer failure details",description:"Dreamer failed task description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-12-prompt",task_kind:"dreamer",status:"failed"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0}};Bo();function aMn(t={}){return`You are a Dreamer agent in a principle internalization pipeline. Your role is to generate alternative decision candidates based on the predecessor's diagnosis analysis.
|
|
1446
|
+
`}function sft(t){if(!t||t.length===0)return new Set;let e=new Map;for(let r of t){if(!r?.principleId||!r?.decision||!r?.reviewedAt)continue;let i=e.get(r.principleId);(!i||r.reviewedAt>=i.reviewedAt)&&e.set(r.principleId,{decision:r.decision,reviewedAt:r.reviewedAt})}let n=new Set;for(let[r,{decision:i}]of e)i==="archive-candidate"&&n.add(r);return n}var lLn=6e4,F6=null,ift=0,oft="";function oye(t,e=lLn){let n=Date.now();if(F6!==null&&oft===t&&n-ift<e)return F6;let r=kme(t);return F6=sft(r),ift=n,oft=t,F6}var uLn=new Set(["allow","block","requireApproval","auto_correct"]),aft=new Set(["__proto__","constructor","prototype"]);function cft(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function lft(t){return typeof t=="string"&&uLn.has(t)}function Wf(t){let e=[];if(!cft(t)){let n=t===null?"null":Array.isArray(t)?"array":typeof t;return e.push(`result must be a plain object, got ${n}`),{valid:!1,errors:e}}for(let n of aft)Object.hasOwn(t,n)&&e.push(`result must not contain prototype pollution key "${n}"`);if(!Object.hasOwn(t,"decision"))e.push("decision is required");else{let{decision:n}=t;(typeof n!="string"||!lft(n))&&e.push(`decision must be one of allow|block|requireApproval|auto_correct, got ${String(n)}`)}if(Object.hasOwn(t,"matched")?typeof t.matched!="boolean"&&e.push(`matched must be a boolean, got ${typeof t.matched}`):e.push("matched is required"),Object.hasOwn(t,"matched")&&typeof t.matched=="boolean"&&t.matched===!1&&Object.hasOwn(t,"decision")&&typeof t.decision=="string"&&lft(t.decision)&&t.decision!=="allow"&&e.push(`matched=false requires decision 'allow', got '${t.decision}'`),Object.hasOwn(t,"reason")?typeof t.reason!="string"&&e.push(`reason must be a string, got ${typeof t.reason}`):e.push("reason is required"),Object.hasOwn(t,"diagnostics")&&t.diagnostics!==void 0){let n=t.diagnostics;if(!cft(n))e.push("diagnostics must be a plain object if present");else for(let r of aft)Object.hasOwn(n,r)&&e.push(`diagnostics must not contain prototype pollution key "${r}"`)}if(Object.hasOwn(t,"ruleId")&&t.ruleId!==void 0&&typeof t.ruleId!="string"&&e.push(`ruleId must be a string if present, got ${typeof t.ruleId}`),Object.hasOwn(t,"principleId")&&t.principleId!==void 0&&typeof t.principleId!="string"&&e.push(`principleId must be a string if present, got ${typeof t.principleId}`),t.decision==="auto_correct")if(!Object.hasOwn(t,"correctionProposal")||t.correctionProposal===void 0)e.push("correctionProposal is required when decision is auto_correct");else{let n=bA(t.correctionProposal);n.valid||e.push(`correctionProposal invalid: ${n.errors.join("; ")}`)}return{valid:e.length===0,errors:e}}function hF(t,e,n){if(!(!t||t.length===0))try{let r,i=[],o=[];for(let s of t)try{let a=s.evaluate(e),c=Wf(a);if(!c.valid){let l=`invalid RuleHostResult: ${c.errors.join("; ")}`;n?.warn?.(`[RuleHost] Implementation ${s.implId} returned ${l}`),n?.onImplementationUnhealthy?.(s,l);continue}if(!a.matched)continue;if(a.decision==="block"){r=a;break}a.decision==="auto_correct"?i.push(a):a.decision==="requireApproval"&&o.push(a)}catch(a){let c=`evaluation failed: ${String(a)}`;n?.warn?.(`[RuleHost] Implementation ${s.implId} ${c}`),n?.onImplementationUnhealthy?.(s,c)}if(r)return r;if(i.length>0)for(let s of i)if(s.correctionProposal)try{let a=bA(s.correctionProposal);if(a.valid)return s;n?.warn?.(`[RuleHost] auto_correct proposal from ${s.ruleId??"unknown"} failed validation: ${a.errors.join("; ")}`)}catch(a){n?.warn?.(`[RuleHost] auto_correct proposal from ${s.ruleId??"unknown"} threw during validation (fail-closed): ${String(a)}`)}else n?.warn?.(`[RuleHost] auto_correct decision from ${s.ruleId??"unknown"} missing correctionProposal`);return o.length>0?{decision:"requireApproval",matched:!0,reason:o.map(s=>s.reason).join("; "),diagnostics:o.reduce((s,a,c)=>{let l=a.ruleId??`approval_${c}`,u=Object.entries(a.diagnostics??{});for(let[d,p]of u)s[`${l}_${d}`]=p;return s},{})}:void 0}catch(r){n?.warn?.(`[RuleHost] Host evaluation failed, degrading conservatively: ${String(r)}`);return}}function Gf(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function sye(t,e){return e<=0?0:t/e*100}function dLn(t){let{liveEvidence:e,replayEvidence:n}=t,r=0;return e.hasActiveImplementation&&(r+=35),e.hasPassingActiveImplementation?r+=30:n.passingImplementationIds.length>0&&(r+=20),e.candidateCount>0&&(r+=10),n.reportCount>0&&(r+=15),e.hasActiveImplementation&&e.durablePenaltyCount===0&&e.rollbackEvidenceCount===0&&(r+=10),r-=e.durablePenaltyCount*12,r-=e.rollbackEvidenceCount*8,Gf(r)}function Yw(t){let e=sye(t.replayEvidence.painNegative.passed,t.replayEvidence.painNegative.total),n=sye(t.replayEvidence.principleAnchor.passed,t.replayEvidence.principleAnchor.total),r=dLn(t),i=sye(t.replayEvidence.successPositive.failed,t.replayEvidence.successPositive.total),o=Math.min(15,t.liveEvidence.durablePenaltyCount*5+t.liveEvidence.rollbackEvidenceCount*3);return{coverageRate:Gf(e*.5+n*.3+r*.2),falsePositiveRate:Gf(i+o),painNegativeHitRate:Gf(e),principleAnchorPassRate:Gf(n),implementationStabilityScore:r,replayFalsePositiveRate:Gf(i),livePenaltyRate:Gf(o)}}function zw(t,e){let n=e??Object.fromEntries(t.rules.map(u=>[u.rule.id,Yw(u)]));if(t.rules.length===0)return{insufficientData:!0,adherenceRate:0,averageRuleCoverage:0,averageFalsePositiveRate:0,repeatedErrorReductionScore:0,repeatedErrorSignal:t.summary.repeatedErrorSignal,stableRuleIds:[],unstableRuleIds:[]};let r=t.rules.map(u=>({ruleId:u.rule.id,metrics:n[u.rule.id]??Yw(u)})),i=r.reduce((u,d)=>u+d.metrics.coverageRate,0)/r.length,o=r.reduce((u,d)=>u+d.metrics.falsePositiveRate,0)/r.length,s=r.filter(u=>u.metrics.coverageRate>=70&&u.metrics.falsePositiveRate<=25).map(u=>u.ruleId),a=r.filter(u=>!s.includes(u.ruleId)).map(u=>u.ruleId),c=t.summary.repeatedErrorSignal*10+a.length*12+o*.4,l=Gf(100-c);return{adherenceRate:Gf(i*.7+l*.3),averageRuleCoverage:Gf(i),averageFalsePositiveRate:Gf(o),repeatedErrorReductionScore:l,repeatedErrorSignal:t.summary.repeatedErrorSignal,stableRuleIds:s,unstableRuleIds:a}}var pLn=.45,fLn=.25,mLn=.15,hLn=.15,gLn=75,ALn=20,yLn=70,ELn=55,ILn=.5,_Ln=1;function vLn(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function aye(t,e,n){let r=n??zw(t,e),i=[],o=t.rules.length>0?r.stableRuleIds.length/t.rules.length:0,s=l=>{i.includes(l)||i.push(l)};t.rules.length===0&&s("No material rules are attached to this principle yet."),t.summary.activeImplementationCount===0&&s("No active lower-layer implementation is absorbing the principle."),r.averageRuleCoverage<gLn&&s("Rule coverage is not yet stable enough to absorb the principle."),r.averageFalsePositiveRate>ALn&&s("False-positive rate remains too high for deprecation readiness."),(r.repeatedErrorSignal>0||r.repeatedErrorReductionScore<yLn)&&s("Repeated related errors have not fallen enough yet.");let a=vLn(r.adherenceRate*pLn+r.averageRuleCoverage*fLn+(100-r.averageFalsePositiveRate)*mLn+r.repeatedErrorReductionScore*hLn);return{status:i.length===0&&o===_Ln?"ready":a>=ELn&&t.summary.activeImplementationCount>0&&o>=ILn?"watch":"not-ready",score:a,blockingReasons:i,supportingRuleIds:r.stableRuleIds,evidence:{adherenceRate:r.adherenceRate,averageRuleCoverage:r.averageRuleCoverage,averageFalsePositiveRate:r.averageFalsePositiveRate,repeatedErrorReductionScore:r.repeatedErrorReductionScore,repeatedErrorSignal:r.repeatedErrorSignal,stableRuleCount:r.stableRuleIds.length,activeImplementationCount:t.summary.activeImplementationCount}}}var wLn=15,bLn=15,xLn=2,CLn=80,SLn=15,TLn=50,kLn=78,RLn=8,DLn=70,OLn=.2,PLn=62,NLn=.12,LLn=.15,MLn=58,BLn=.2,FLn=6,ULn=8,QLn=2;function gF(t){return Number.isFinite(t)?Math.max(0,Math.min(100,Number(t.toFixed(2)))):0}function $Ln(t){if(t.rules.length===0)return"mixed";let n=t.rules.map(i=>i.rule.type).filter(i=>i!==void 0);return new Set(n).size===1?n[0]:"mixed"}function WLn(t){let e=Object.values(t).map(n=>Math.max(0,100-n.coverageRate));return e.length===0?0:gF(e.reduce((n,r)=>n+r,0)/e.length)}function GLn(t,e){return t==="P0"||e==="deterministic"}function qLn(t){return t.rules.every(e=>e.rule.enforcement!=="block"||["skill","prompt","test"].includes(e.rule.type))}function HLn(t,e,n){return{replayReportCount:t.summary.replayReportCount,activeImplementationCount:t.summary.activeImplementationCount,candidateImplementationCount:t.summary.candidateImplementationCount,repeatedErrorSignal:t.summary.repeatedErrorSignal,averageRuleCoverage:e.averageRuleCoverage,averageFalsePositiveRate:e.averageFalsePositiveRate,highestRuleCoverageGap:WLn(n),dominantRuleType:$Ln(t)}}function cye(t,e,n){let r=e??Object.fromEntries(t.rules.map(g=>[g.rule.id,Yw(g)])),i=n??zw(t,r),o=HLn(t,i,r),s=[],a=t.principle.coreAxiomId,c=0,l=0;a==="T-05"||a==="T-08"?(c=wLn,s.push("axiom_governance_enforcement")):(a==="T-01"||a==="T-03"||a==="T-04")&&(l=bLn,s.push("axiom_knowledge_guidance"));let u=GLn(t.principle.priority,t.principle.evaluability),d=t.summary.replayReportCount<Math.max(1,t.rules.length)&&t.summary.activeImplementationCount===0&&t.summary.candidateImplementationCount===0&&t.summary.repeatedErrorSignal<xLn,p=i.averageRuleCoverage>=CLn&&i.averageFalsePositiveRate<=SLn&&t.summary.repeatedErrorSignal===0;return t.rules.length===0?(s.push("insufficient_data","no_material_rules"),{principleId:t.principle.id,route:"defer",confidence:TLn,reasonCodes:s,evidenceSummary:o,nextAction:"No rules defined for this principle. Create at least one rule via pain\u2192principle\u2192rule pipeline before internalization routing can produce meaningful recommendations."}):d?(s.push("sparse_evidence"),{principleId:t.principle.id,route:"defer",confidence:gF(kLn-t.summary.repeatedErrorSignal*RLn),reasonCodes:s,evidenceSummary:o,nextAction:"Collect more replay evidence or live violations before committing to a heavier implementation path."}):p?(s.push("already_absorbing"),{principleId:t.principle.id,route:"defer",confidence:gF(DLn+i.averageRuleCoverage*OLn),reasonCodes:s,evidenceSummary:o,nextAction:"Defer new implementation work and keep monitoring until the lower layer proves it needs another route."}):qLn(t)&&(!u&&t.principle.evaluability!=="deterministic"&&t.summary.repeatedErrorSignal<=QLn||l>0&&c===0)&&c===0?(s.push("cheapest_viable_skill"),t.summary.activeImplementationCount===0&&s.push("no_hard_boundary_required"),{principleId:t.principle.id,route:"skill",confidence:gF(PLn+i.repeatedErrorReductionScore*NLn-i.averageFalsePositiveRate*LLn+l),reasonCodes:s,evidenceSummary:o,nextAction:"Prefer a skill or prompt-level intervention first, then replay again before escalating to code."}):(s.push("deterministic_or_high_risk"),t.summary.replayReportCount>0&&s.push("replay_evidence_sufficient"),t.summary.repeatedErrorSignal>0&&s.push("repeated_errors_continue"),{principleId:t.principle.id,route:"code",confidence:gF(MLn+o.highestRuleCoverageGap*BLn+t.summary.repeatedErrorSignal*FLn+(u?ULn:0)+c),reasonCodes:s,evidenceSummary:o,nextAction:"Prepare a code implementation candidate and keep promotion manual after replay validation."})}function lye(t){return t.reduce((e,n)=>({total:e.total+n.total,passed:e.passed+n.passed,failed:e.failed+n.failed}),{total:0,passed:0,failed:0})}function U6(t,e){return t.filter(n=>n.lifecycleState===e).length}function jLn(t){return t.lifecycleState==="disabled"||t.lifecycleState==="archived"?!0:typeof t.disabledReason=="string"&&t.disabledReason.trim().length>0}function KLn(t){return typeof t.previousActive=="string"&&t.previousActive.length>0}function VLn(t){return{reportCount:t.length,latestReports:t.map(e=>e.report),painNegative:lye(t.map(e=>e.report.replayResults.painNegative)),successPositive:lye(t.map(e=>e.report.replayResults.successPositive)),principleAnchor:lye(t.map(e=>e.report.replayResults.principleAnchor)),passingImplementationIds:t.filter(e=>e.report.overallDecision==="pass").map(e=>e.implementationId),failingImplementationIds:t.filter(e=>e.report.overallDecision==="fail").map(e=>e.implementationId),needsReviewImplementationIds:t.filter(e=>e.report.overallDecision==="needs-review").map(e=>e.implementationId)}}function YLn(t,e=!1){let n=new Set,r=new Set;for(let o of t){for(let s of o.sourcePainIds)n.add(s);for(let s of o.sourceGateBlockIds)r.add(s)}let i=t.length>0?t.map(o=>o.createdAt).sort((o,s)=>new Date(s).getTime()-new Date(o).getTime())[0]:void 0;return{records:t,distinctPainSignalCount:n.size,distinctGateBlockCount:r.size,repeatedErrorSignal:n.size+r.size,latestCreatedAt:i,sourceRetired:e}}function zLn(t,e){let n=t.filter(r=>r.lifecycleState==="active");return{activeCount:U6(t,"active"),candidateCount:U6(t,"candidate"),disabledCount:U6(t,"disabled"),archivedCount:U6(t,"archived"),durablePenaltyCount:t.filter(r=>jLn(r)).length,rollbackEvidenceCount:t.filter(r=>KLn(r)).length,hasActiveImplementation:n.length>0,hasPassingActiveImplementation:n.some(r=>e.passingImplementationIds.includes(r.id))}}function AF(t){let e=t.loadLedger(),n=[],r=!1;try{n=t.listLineageRecords("rule-implementation-candidate")}catch(o){if(o instanceof Error&&o.name==="LineageSourceRetiredError")r=!0;else throw o}let i=Object.values(e.principles).map(o=>{let a=(o.ruleIds??[]).map(c=>e.rules[c]).filter(c=>c!==void 0).map(c=>{let l=c,d=c.implementationIds.map(E=>e.implementations[E]).filter(E=>E!==void 0).map(E=>E),p=d.map(E=>{let w=t.listReplayReports(E.id),k=n.filter(C=>C.ruleId===l.id||C.implementationId===E.id);return{implementation:E,latestReplayReport:w[0]??null,replayHistoryCount:w.length,lineageRecords:k}}),m=VLn(p.filter(E=>E.latestReplayReport!==null).map(E=>({implementationId:E.implementation.id,report:E.latestReplayReport}))),g=n.filter(E=>E.ruleId===l.id),A=YLn(g,r),v=zLn(d,m);return{rule:l,implementations:p,replayEvidence:m,liveEvidence:v,lineageEvidence:A}});return{principle:o,rules:a,summary:{replayReportCount:a.reduce((c,l)=>c+l.replayEvidence.reportCount,0),activeImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.activeCount,0),candidateImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.candidateCount,0),disabledImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.disabledCount,0),archivedImplementationCount:a.reduce((c,l)=>c+l.liveEvidence.archivedCount,0),distinctPainSignalCount:a.reduce((c,l)=>c+l.lineageEvidence.distinctPainSignalCount,0),distinctGateBlockCount:a.reduce((c,l)=>c+l.lineageEvidence.distinctGateBlockCount,0),repeatedErrorSignal:a.reduce((c,l)=>c+l.lineageEvidence.repeatedErrorSignal,0)}}}).sort((o,s)=>o.principle.id.localeCompare(s.principle.id));return{generatedAt:new Date().toISOString(),principles:i}}Na();Na();var uye=[["dreamer","philosopher"],["philosopher","scribe"],["scribe","artificer"],["artificer","evaluator"],["evaluator","rollout_reviewer"]],uft=[["diag_rootcause","diag_distiller"],["diag_distiller","diag_router"]];function dye(t,e,n){return uye.some(([r,i])=>r===t&&i===e)}function pye(t){return uft.filter(([e])=>e===t).map(([,e])=>e)}function fye(t){return uye.filter(([e])=>e===t).map(([,e])=>e)}Na();function yF(t,e,n){let r=[],i=[];if(!Y9(t))return{decision:"blocked",ready:!1,blockedBy:[],failedDependencies:[]};if(!V9(t,n))return{decision:"retry_wait_pending",ready:!1,blockedBy:[],failedDependencies:[],retryAfter:t.leaseExpiresAt};let o=new Map(e.map(s=>[s.taskId,s]));for(let s of t.dependencyTaskIds){let a=o.get(s);a?a.status==="succeeded"||(a.status==="failed"?i.push(s):r.push(s)):r.push(s)}return i.length>0?{decision:"dependency_failed",ready:!1,blockedBy:r,failedDependencies:i}:r.length>0?{decision:"blocked",ready:!1,blockedBy:r,failedDependencies:[]}:{decision:"proceed",ready:!0,blockedBy:[],failedDependencies:[]}}function mye(t,e,n){if(t.status!=="succeeded"||JO(t)||!py(t.taskKind))return null;let{taskKind:r}=t,i=n??t.channel,s=fye(r).filter(c=>dye(r,c,i));return s.length===0?null:{taskKind:s[0],parentTaskId:t.taskId,dependencyTaskIds:[t.taskId],inputArtifactRefs:[...t.outputArtifactRefs],channel:i,correlationId:t.correlationId}}Bo();import{createHash as eMn}from"node:crypto";var hs={evaluatorRepairBudgetExhausted:"evaluator_repair_budget_exhausted",rolloutRevisionBudgetExhausted:"rollout_revision_budget_exhausted",rolloutActivationCandidateUnresolved:"rollout_activation_candidate_unresolved",evaluatorTestOutOfScope:"evaluator_test_out_of_scope",evaluatorRepairSeedFailed:"evaluator_repair_seed_failed",rolloutDispatchNotWired:"rollout_dispatch_not_wired",rolloutDispatchRefused:"rollout_dispatch_refused",rolloutRevisionTargetUnresolved:"rollout_revision_target_unresolved",rolloutRevisionRoutingNotWired:"rollout_revision_routing_not_wired",rolloutRevisionReopenFailed:"rollout_revision_reopen_failed",rolloutRevisionIterationMissing:"rollout_revision_iteration_missing",workspaceDirtyStall:"workspace_dirty_stall"},tMn=new Set([hs.evaluatorRepairBudgetExhausted,hs.rolloutRevisionBudgetExhausted,hs.rolloutActivationCandidateUnresolved,hs.evaluatorTestOutOfScope]),tlo=new Set([hs.rolloutActivationCandidateUnresolved]);function nMn(t){return eMn("sha256").update(t,"utf8").digest("hex")}function Jw(t){return nMn(t)}function EF(t){let e=t.revisionCount??0,n=t.ownerResolutions;if(!n||n.length===0)return null;let r=null;for(let i of n)i.revisionEpoch===e&&(i.action!=="accept_current"&&i.action!=="reject_current"||(!r||i.decidedAt>r.decidedAt)&&(r=i));return!r||r.effectiveDecision===void 0?null:{resolution:r,overrideDecision:r.effectiveDecision}}function hye(t){return t.startsWith("rollout_revision_budget_exhausted")?hs.rolloutRevisionBudgetExhausted:t==="rollout_dispatch_not_wired"?hs.rolloutDispatchNotWired:t.startsWith("rollout_dispatch_")?hs.rolloutDispatchRefused:t==="rollout_activation_candidate_unresolved"?hs.rolloutActivationCandidateUnresolved:t==="rollout_revision_target_unresolved"?hs.rolloutRevisionTargetUnresolved:t==="rollout_revision_routing_not_wired"?hs.rolloutRevisionRoutingNotWired:t.startsWith("rollout_revision_reopen_failed")?hs.rolloutRevisionReopenFailed:t==="rollout_revision_iteration_missing"?hs.rolloutRevisionIterationMissing:(t===hs.evaluatorRepairBudgetExhausted||t===hs.evaluatorRepairSeedFailed,t)}function dft(t){let e=t.revisionCount??0,n=t.ownerResolutions;if(!n)return null;let r=null;for(let i of n)i.revisionEpoch!==e||i.status!=="applied"||i.action!=="accept_current"&&i.action!=="reject_current"||(!r||i.decidedAt>r.decidedAt)&&(r=i);return r}function gye(t){let e=dft(t);return e?.effectiveDecision!==void 0?e.effectiveDecision:t.runnerDecision}async function Xw(t){let{updateDiagnosticJson:e,getTask:n,taskId:r,resolutionId:i,appliedAt:o}=t,s=await n(r);if(!s)return;let a=Et(s);if(!a?.ownerResolutions)return;let c=a.ownerResolutions.find(u=>u.resolutionId===i);if(!c||c.status==="applied")return;let l=a.ownerResolutions.map(u=>u.resolutionId===i?{...u,status:"applied",appliedAt:o}:u);await e(r,co(La(a,{ownerResolutions:l})))}var rMn=new Set(["approved","needs_revision","rejected"]),iMn=new Set(["approve_rollout","needs_revision","reject"]);function Aye(t){let{taskKind:e,taskStatus:n,runnerDecision:r,legacyRunnerDecision:i,isRepairTask:o,revisionCount:s}=t;if(n==="needs_human_review")return{kind:"HUMAN_REVIEW_REQUIRED",reason:"task_awaiting_owner_attention"};if(n!=="succeeded")return{kind:"NOT_ADVANCEABLE",reason:`task_status_${n}`};if(o&&e==="artificer")return{kind:"REOPEN_SOURCE_EVALUATOR",reason:`repair_round_complete_revision_${s}`};if(e==="evaluator"){let a=r??(i!==void 0&&rMn.has(i)?i:void 0);return a===void 0?{kind:"BLOCKED_MISSING_VERDICT",reason:"evaluator_verdict_missing_durable_and_legacy"}:a==="approved"?{kind:"ADVANCE",reason:"evaluator_approved"}:a==="needs_revision"?{kind:"REVISION_REQUIRED",reason:"evaluator_needs_revision_repair_loop"}:{kind:"TERMINAL_REJECT",reason:"evaluator_rejected"}}if(e==="rollout_reviewer"){let a=r??(i!==void 0&&iMn.has(i)?i:void 0);return a===void 0?{kind:"BLOCKED_MISSING_VERDICT",reason:"rollout_verdict_missing_durable_and_legacy"}:a==="approve_rollout"?{kind:"ADVANCE",reason:"rollout_approved_dispatch_activation"}:a==="needs_revision"?{kind:"REVISION_REQUIRED",reason:"rollout_needs_revision_routed_upstream"}:{kind:"TERMINAL_REJECT",reason:"rollout_rejected_no_activation"}}return{kind:"ADVANCE",reason:`task_succeeded_${e}`}}function yye(t,e){return{taskKind:t.taskKind,taskStatus:t.status,runnerDecision:gye(t),legacyRunnerDecision:e,isRepairTask:t.repairPayload!==void 0,revisionCount:t.revisionCount??0}}Bo();Bo();Bo();function Eye(t){let e=t.revisionCount??0;return e===0?`repair-${t.taskId}`:`repair-${t.taskId}-rc${e}`}async function Q6(t,e,n){let r=await t.getTask(e);if(!r)return{ok:!1,reason:"task_not_found"};let i=Et(r);if(!i)return{ok:!1,reason:"invalid_task_metadata"};if(n?.revisionCauseId&&i.revisionCauseId===n.revisionCauseId)return{ok:!0,reason:"idempotent_replay_same_revision"};if(!(r.status==="pending"||r.status==="retry_wait")){if(r.status!=="succeeded"&&r.status!=="needs_human_review")return{ok:!1,reason:`task_in_flight_${r.status}`}}let o=La(i,{runnerDecision:void 0,completionIntent:void 0,revisionCount:(i.revisionCount??0)+1,revisionFeedback:n?.revisionFeedback??i.revisionFeedback,revisionCauseId:n?.revisionCauseId});if(n?.replaceArtificerDependencyWith){let s=[];for(let a of i.dependencyTaskIds){if(a===n.replaceArtificerDependencyWith)continue;let c=await t.getTask(a);c&&c.taskKind==="artificer"||s.push(a)}o.dependencyTaskIds=[...s,n.replaceArtificerDependencyWith],o.inputArtifactRefs=[]}return await t.updateTask(e,{diagnosticJson:co(o),status:"pending",attemptCount:0}),{ok:!0,reason:n?.reason??"revision_reopen"}}Na();function oMn(t,e){if(!e)return t;let n=`-${e}`;return t.endsWith(n)?t.slice(0,t.length-n.length):t}var IF=class{owner;runtimeKind;dryRun;stateManager;constructor(e,n){if(!n.owner||!n.runtimeKind)throw new Y("input_invalid","InternalizationOrchestrator requires non-empty owner and runtimeKind");this.stateManager=e.stateManager,this.owner=n.owner,this.runtimeKind=n.runtimeKind,this.dryRun=n.dryRun??!1}async wakeOnce(e){let n=await this.findCandidates(e),r=n.length;if(r===0)return{decision:"no_ready_tasks",inspectedCount:0,reason:(e?(await this.findCandidates()).length:0)>0?"filtered_out":"no_candidates"};let i=0,o=0,s=0,a=0,c=0;for(let u of n){let d=Et(u);if(!d){i++;continue}let p=await this.resolveDependencies(d.dependencyTaskIds),m=yF(d,p);if(m.decision==="blocked"){o++;continue}if(m.decision==="dependency_failed"){s++;continue}if(m.decision==="retry_wait_pending"){a++;continue}if(this.dryRun)return{decision:"would_lease",taskId:d.taskId,taskKind:d.taskKind,gateResult:m};try{let g=await this.stateManager.acquireLease({taskId:d.taskId,owner:this.owner,runtimeKind:this.runtimeKind});return{decision:"leased",taskId:g.taskId,taskKind:d.taskKind,attemptCount:g.attemptCount}}catch(g){if(g instanceof Y&&g.category==="lease_conflict"){c++;continue}let A=g instanceof Y?g:new Y("runtime_unavailable",String(g));throw new Y(A.category??"runtime_unavailable",`wakeOnce lease acquisition failed for task ${d.taskId}: ${A.message}`,{cause:g})}}let l=a>0&&a>=i&&a>=s&&a>=o&&a>=c?"all_retry_wait_pending":i>0&&i>=s&&i>=o&&i>=c?"all_hydration_failed":s>=o&&s>=c?"all_dependency_failed":o>=c?"all_blocked":c>0?"all_lease_conflict":"no_candidates";return{decision:"no_ready_tasks",inspectedCount:r,reason:l}}async proposeNextTask(e){let n=await this.stateManager.getTask(e);if(!n)return null;let r=Et(n);if(!r||r.status!=="succeeded")return null;if(VO(r.taskKind)){let o=pye(r.taskKind);if(o.length===0)return null;let s=o[0];return{decision:"proposal_created",taskId:r.taskId,taskKind:r.taskKind,proposal:{taskKind:s,parentTaskId:r.taskId,dependencyTaskIds:[r.taskId],inputArtifactRefs:[...r.outputArtifactRefs],channel:r.channel,correlationId:r.correlationId}}}if(!py(r.taskKind))return null;let i=mye(r,[]);return i?{decision:"proposal_created",taskId:r.taskId,taskKind:r.taskKind,proposal:i}:null}async commitNextTaskProposal(e){let n=await this.stateManager.getTask(e);if(!n)return{decision:"task_not_found",taskId:e};let r=Et(n);if(!r)return{decision:"invalid_task_metadata",taskId:e,reason:"Failed to hydrate PITaskRecord from diagnosticJson"};let i=await this.resolveLegacyRunnerVerdict(e,n.taskKind),o=Aye(yye(r,i));if(o.kind==="HUMAN_REVIEW_REQUIRED")return{decision:"source_not_succeeded",taskId:e,status:r.status};if(o.kind==="NOT_ADVANCEABLE")return{decision:"source_not_succeeded",taskId:e,status:r.status};if(o.kind==="BLOCKED_MISSING_VERDICT")return{decision:"blocked_missing_verdict",taskId:e,reason:o.reason};if(o.kind==="REVISION_REQUIRED")return{decision:"blocked_by_revision",sourceTaskId:e,reason:o.reason,runnerDecision:r.runnerDecision??"unknown"};if(o.kind==="TERMINAL_REJECT")return{decision:"blocked_by_rejection",sourceTaskId:e,reason:o.reason,runnerDecision:r.runnerDecision??"unknown"};if(o.kind==="REOPEN_SOURCE_EVALUATOR"&&r.repairPayload){let g=Eye(r),A=await this.stateManager.getTask(r.repairPayload.sourceEvaluatorTaskId),v=A?Et(A):null;if(v&&v.revisionCauseId===g)return{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:"revision_cause_already_materialized"};let E=await this.reopenTaskForRevision(r.repairPayload.sourceEvaluatorTaskId,{replaceArtificerDependencyWith:e,reason:"artificer_repair_complete",revisionCauseId:g});return E.ok?E.reason==="idempotent_replay_same_revision"?{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:E.reason}:{decision:"revision_reopened",sourceTaskId:e,reopenedTaskId:r.repairPayload.sourceEvaluatorTaskId,reason:o.reason}:{decision:"no_successor",sourceTaskId:e,reason:`evaluator_reopen_failed:${E.reason}`}}if(r.status!=="succeeded")return{decision:"source_not_succeeded",taskId:e,status:r.status};let s=await this.proposeNextTask(e);if(!s)return{decision:"no_successor",sourceTaskId:e,reason:"No valid successor in job graph for this task kind and channel"};let{proposal:a}=s,c=await this.findExistingSuccessor(e,a.taskKind,a.channel);if(c)return{decision:"successor_exists",sourceTaskId:e,successorTaskId:c.taskId,successorKind:a.taskKind};let l=a.correlationId??oMn(e,a.channel),u=a.channel?`${a.taskKind}-${l}-${a.channel}`:`${a.taskKind}-${l}`,d=(r.revisionCount??0)>0?await this.stateManager.getTask(u):null;if(d&&(d.status==="succeeded"||d.status==="needs_human_review")){let g=`cascade-${e}-rc${r.revisionCount??0}-${u}`,A=Et(d);if(A&&A.revisionCauseId===g)return{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:u,reason:"revision_cause_already_materialized"};let v;if(A&&a.taskKind==="evaluator")for(let w of A.dependencyTaskIds){if(w===e)continue;if((await this.stateManager.getTask(w))?.taskKind==="artificer"){v=e;break}}let E=await this.reopenTaskForRevision(u,{reason:"upstream_revision_cascade",revisionCauseId:g,...v!==void 0?{replaceArtificerDependencyWith:v}:{}});return E.ok?E.reason==="idempotent_replay_same_revision"?{decision:"revision_reopen_noop",sourceTaskId:e,reopenedTaskId:u,reason:E.reason}:{decision:"successor_reopened",sourceTaskId:e,reopenedTaskId:u,successorKind:a.taskKind}:{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind}}if(d)return{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind};let p={dependencyTaskIds:a.dependencyTaskIds,channel:a.channel,timeoutMs:3e5,inputArtifactRefs:a.inputArtifactRefs,outputArtifactRefs:[],parentTaskId:a.parentTaskId,correlationId:a.correlationId},m;try{m=await this.stateManager.createTask({taskId:u,taskKind:a.taskKind,status:"pending",attemptCount:0,maxAttempts:3,inputRef:void 0,resultRef:void 0,lastError:void 0,leaseOwner:void 0,leaseExpiresAt:void 0,diagnosticJson:co(p)})}catch(g){let A=g instanceof Error?g.message:String(g);if(A.includes("UNIQUE constraint")||A.includes("PRIMARY KEY")||A.includes("already exists"))return{decision:"successor_exists",sourceTaskId:e,successorTaskId:u,successorKind:a.taskKind};throw g}return{decision:"successor_created",sourceTaskId:e,successorTaskId:m.taskId,successorKind:a.taskKind}}async resolveLegacyRunnerVerdict(e,n){if(n!=="evaluator"&&n!=="rollout_reviewer")return;let r;try{r=await this.stateManager.getRunsByTask(e)}catch{return}for(let i of[...r].reverse()){let o=i.outputPayload;if(typeof o!="string"||o.length===0)continue;let s;try{s=JSON.parse(o)}catch{continue}if(typeof s!="object"||s===null)continue;let a=s,c=[a.evaluation,a.review];for(let l of c)if(typeof l=="object"&&l!==null){let u=l.decision;if(typeof u=="string"&&u.length>0)return u}if(typeof a.rolloutDecision=="string"&&a.rolloutDecision.length>0)return a.rolloutDecision}}async reconcileSucceededTransitions(e){let r=Math.max(1,Math.min(e?.limit??10,50)),i=await this.stateManager.listTasks({status:"succeeded",orderBy:"updated_at_asc",afterCursor:e?.cursor,limit:r}),o=[],s=0,a=0,c=0,l;for(let p of i)if(l={lastUpdatedAt:p.updatedAt,lastTaskId:p.taskId},!!py(p.taskKind))try{let m=await this.commitNextTaskProposal(p.taskId);o.push({taskId:p.taskId,decision:m.decision}),m.decision==="successor_created"||m.decision==="revision_reopened"||m.decision==="successor_reopened"?(s+=1,e?.logger?.info?.(`[PD:Reconcile] recovered missing transition for ${p.taskId} (${m.decision})`)):m.decision==="successor_exists"||m.decision==="revision_reopen_noop"?a+=1:c+=1}catch(m){o.push({taskId:p.taskId,decision:`reconcile_error:${m instanceof Error?m.message:String(m)}`}),c+=1}if(i.length===0){let p=e?.cursor;return{scanned:0,recovered:s,alreadyMaterialized:a,blocked:c,outcomes:o,nextCursor:{lastUpdatedAt:p?.updatedAt??"",lastTaskId:p?.taskId??""},wrappedAround:!0}}let u=e?.cursor,d=l??{lastUpdatedAt:u?.updatedAt??"",lastTaskId:u?.taskId??""};return{scanned:o.length+i.filter(p=>!py(p.taskKind)).length,recovered:s,alreadyMaterialized:a,blocked:c,outcomes:o,nextCursor:d,wrappedAround:i.length<r}}async reopenTaskForRevision(e,n){return Q6(this.stateManager,e,n)}async findExistingSuccessor(e,n,r){let i=await this.stateManager.listTasks({status:"pending"}),o=await this.stateManager.listTasks({status:"retry_wait"}),s=[...i,...o];for(let a of s){if(a.taskKind!==n)continue;let c=Et(a);if(c&&c.parentTaskId===e&&c.channel===r)return a}return null}async findCandidates(e){if(e&&!sg(e))throw new Y("input_invalid",`findCandidates: invalid taskKind filter: ${e}`);let n=[];try{let i=await this.stateManager.listTasks({status:"pending"}),o=await this.stateManager.listTasks({status:"retry_wait"});n.push(...i,...o)}catch(i){throw i instanceof Y?i:new Y("runtime_unavailable","findCandidates failed",{cause:i})}let r=n.filter(i=>sg(i.taskKind));return e&&(r=r.filter(i=>i.taskKind===e)),r}async resolveDependencies(e){return e.length===0?[]:(await Promise.allSettled(e.map(r=>this.stateManager.getTask(r)))).filter(r=>r.status==="fulfilled").map(r=>r.value).filter(r=>r!==null)}};var sMn={canonicalDiagnosis:{workspaceDir:"/workspace/dogfood",painEvents:[{id:1,source:"manual",reason:"Before declaring a user journey complete verify full observable product surface",text:"Manual record: surface validation missing",created_at:"2026-06-13T10:00:00.000Z",score:90}],tasks:[{task_id:"diagnosis_manual_1",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:01:00.000Z",input_ref:"pain_1",diagnostic_json:JSON.stringify({rootCause:"Verifier checks static patterns but misses real runtime load."})}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},subRunDiagnosis:{workspaceDir:"/workspace/dogfood",painEvents:[{id:"2",source:"manual",reason:"Verify config file updates before committing",text:"Manual record: verify config changes",created_at:"2026-06-13T10:02:00.000Z",score:80}],tasks:[{task_id:"diag_router-diagnosis_manual_2",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:03:00.000Z",input_ref:"pain_2",diagnostic_json:JSON.stringify({rootCause:"No pre-commit hook runs pd config verification."})}],candidates:[{candidate_id:"cand-subrun-2",task_id:"diag_router-diagnosis_manual_2",title:"Verify config changes before commit",description:"Verify all config files conform to parser constraints prior to commit.",confidence:.95,recommendation_kind:"principle"}],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},asyncPendingWithoutConsumer:{workspaceDir:"/workspace/dogfood",painEvents:[{id:3,source:"manual",reason:"Agent does not pause to clarify when command fails",created_at:"2026-06-13T10:04:00.000Z",score:75}],tasks:[{task_id:"diagnosis_manual_3",task_kind:"diagnostician",status:"pending",created_at:"2026-06-13T10:05:00.000Z",input_ref:"pain_3"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},candidateGeneratedNoDreamer:{workspaceDir:"/workspace/dogfood",painEvents:[{id:4,source:"manual",reason:"Auto-consumer should lease tasks correctly",created_at:"2026-06-13T10:06:00.000Z",score:70}],tasks:[{task_id:"diagnosis_manual_4",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:07:00.000Z",input_ref:"pain_4"}],candidates:[{candidate_id:"cand-4",task_id:"diagnosis_manual_4",title:"Lease tasks correctly in auto-consumer",description:"Prevent ready dreamer tasks from staying pending.",confidence:.85,recommendation_kind:"principle"}],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerPending:{workspaceDir:"/workspace/dogfood",painEvents:[{id:5,source:"manual",reason:"Dreamer pending task scenario",created_at:"2026-06-13T10:08:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_5",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:09:00.000Z",input_ref:"pain_5"}],candidates:[{candidate_id:"cand-5",task_id:"diagnosis_manual_5",title:"Dreamer pending title",description:"Dreamer pending description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-5-prompt",task_kind:"dreamer",status:"pending"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerRunning:{workspaceDir:"/workspace/dogfood",painEvents:[{id:6,source:"manual",reason:"Dreamer running task scenario",created_at:"2026-06-13T10:10:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_6",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:11:00.000Z",input_ref:"pain_6"}],candidates:[{candidate_id:"cand-6",task_id:"diagnosis_manual_6",title:"Dreamer running title",description:"Dreamer running description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-6-prompt",task_kind:"dreamer",status:"running"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerFailed:{workspaceDir:"/workspace/dogfood",painEvents:[{id:7,source:"manual",reason:"Dreamer failed task scenario",created_at:"2026-06-13T10:12:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_7",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:13:00.000Z",input_ref:"pain_7"}],candidates:[{candidate_id:"cand-7",task_id:"diagnosis_manual_7",title:"Dreamer failed title",description:"Dreamer failed description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-7-prompt",task_kind:"dreamer",status:"failed"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},dreamerSucceeded:{workspaceDir:"/workspace/dogfood",painEvents:[{id:8,source:"manual",reason:"Dreamer succeeded task scenario",created_at:"2026-06-13T10:14:00.000Z",score:85}],tasks:[{task_id:"diagnosis_manual_8",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:15:00.000Z",input_ref:"pain_8"}],candidates:[{candidate_id:"cand-8",task_id:"diagnosis_manual_8",title:"Dreamer succeeded title",description:"Dreamer succeeded description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-8-prompt",task_kind:"dreamer",status:"succeeded"}],ledgerPrinciples:[{id:"principle-8",derivedFromPainIds:["pain_8"],status:"candidate",text:"Dreamer succeeded principle text"}],trajectoryDbAvailable:!0,stateDbAvailable:!0},malformedLedgerDegradedJson:{workspaceDir:"/workspace/dogfood",painEvents:[{id:9,source:"manual",reason:"Malformed data handling",created_at:"2026-06-13T10:16:00.000Z",score:80}],tasks:[{task_id:"diagnosis_manual_9",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:17:00.000Z",input_ref:"pain_9",diagnostic_json:"{invalid-json}"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},workspaceMismatchWarning:{workspaceDir:"/workspace/dogfood",painEvents:[{id:10,source:"hook",reason:"Workspace mismatch event",created_at:"2026-06-13T10:18:00.000Z",score:60}],tasks:[{task_id:"diagnosis_other_999",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:00:00.000Z",input_ref:"pain_999"}],candidates:[],dreamerTasks:[],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0},autoConsumerSuccess:{workspaceDir:"/workspace/dogfood",painEvents:[{id:11,source:"manual",reason:"Auto-consumer leasing and successor creation success",created_at:"2026-06-13T10:20:00.000Z",score:95}],tasks:[{task_id:"diagnosis_manual_11",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:21:00.000Z",input_ref:"pain_11"}],candidates:[{candidate_id:"cand-11",task_id:"diagnosis_manual_11",title:"Auto-consumer successor task",description:"Verifies that successor philosopher task is created after dreamer success.",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-11-prompt",task_kind:"dreamer",status:"succeeded"}],ledgerPrinciples:[{id:"principle-11",derivedFromPainIds:["pain_11"],status:"active"}],trajectoryDbAvailable:!0,stateDbAvailable:!0},autoConsumerFailure:{workspaceDir:"/workspace/dogfood",painEvents:[{id:12,source:"manual",reason:"Auto-consumer failure persistence check",created_at:"2026-06-13T10:22:00.000Z",score:95}],tasks:[{task_id:"diagnosis_manual_12",task_kind:"diagnostician",status:"succeeded",created_at:"2026-06-13T10:23:00.000Z",input_ref:"pain_12"}],candidates:[{candidate_id:"cand-12",task_id:"diagnosis_manual_12",title:"Auto-consumer failure details",description:"Dreamer failed task description",confidence:.9}],dreamerTasks:[{task_id:"dreamer-cand-12-prompt",task_kind:"dreamer",status:"failed"}],ledgerPrinciples:[],trajectoryDbAvailable:!0,stateDbAvailable:!0}};Bo();function aMn(t={}){return`You are a Dreamer agent in a principle internalization pipeline. Your role is to generate alternative decision candidates based on the predecessor's diagnosis analysis.
|
|
1447
1447
|
|
|
1448
1448
|
PROTOCOL:
|
|
1449
1449
|
1. Review the predecessorOutput (typically a Diagnostician diagnosis) to understand what went wrong
|
|
@@ -1790,7 +1790,7 @@ CONSTRAINTS:
|
|
|
1790
1790
|
- risks MUST be an array of strings (can be empty if no risks identified)
|
|
1791
1791
|
- generatedAt MUST be the current ISO-8601 timestamp (use the actual current time, NOT a placeholder)
|
|
1792
1792
|
`,kft="rollout-reviewer-output-v1.prompt.v1",SF=class{buildPrompt(e){let n={taskId:e.taskId,contextHash:e.contextHash,sourceEvaluatorArtifactId:e.sourceEvaluatorArtifactId,evaluatorArtifact:e.evaluatorArtifact,rolloutReviewerInstruction:Tft,promptContractVersion:kft};return{message:JSON.stringify(n),promptInput:n}}};Na();var qMn="accepted_shadow";function Rft(t){let e;try{e=JSON.parse(t)}catch{return{ok:!1,missingFields:["content_json_unparseable"]}}if(typeof e!="object"||e===null||Array.isArray(e))return{ok:!1,missingFields:["content_json_unparseable"]};let{implementationCode:n,goldenTrace:r,ruleHostGateDecision:i}=e,o=[];return(typeof n!="string"||n.trim().length===0)&&o.push("implementationCode"),bR(r).valid||o.push("goldenTrace"),i!==qMn&&o.push("ruleHostGateDecision:accepted_shadow"),o.length===0?{ok:!0}:{ok:!1,missingFields:o}}var TF={pollIntervalMs:5e3,timeoutMs:3e5,defaultMaxAttempts:3,agentId:"rollout_reviewer"};function Dft(t){return{pollIntervalMs:t.pollIntervalMs??TF.pollIntervalMs,timeoutMs:t.timeoutMs??TF.timeoutMs,defaultMaxAttempts:t.defaultMaxAttempts??TF.defaultMaxAttempts,owner:t.owner,runtimeKind:t.runtimeKind,agentId:t.agentId??TF.agentId}}var HMn=new Set(["storage_unavailable","workspace_invalid","capability_missing","cancelled","input_invalid","output_invalid"]),kF=class t{phase=Hn.Idle;resolvedOptions;stateManager;runtimeAdapter;eventEmitter;validator;artifactStore;dispatchActivation;reopenRevisionTarget;constructor(e,n){this.stateManager=e.stateManager,this.runtimeAdapter=e.runtimeAdapter,this.eventEmitter=e.eventEmitter,this.validator=e.validator,this.artifactStore=e.artifactStore,this.dispatchActivation=e.dispatchActivation,this.reopenRevisionTarget=e.reopenRevisionTarget,this.resolvedOptions=Dft(n)}get currentPhase(){return this.phase}emitRolloutReviewerEvent(e,n,r){this.eventEmitter.emitTelemetry({eventType:e,traceId:n,timestamp:new Date().toISOString(),sessionId:this.resolvedOptions.owner,agentId:this.resolvedOptions.agentId,payload:r})}async run(e){this.phase=Hn.Idle;let n;try{n=await this.stateManager.acquireLease({taskId:e,owner:this.resolvedOptions.owner,runtimeKind:this.resolvedOptions.runtimeKind})}catch(r){return await this.handleLeaseOrPhaseError(e,r)}if(n.taskKind!=="rollout_reviewer")return this.emitRolloutReviewerEvent("rollout_reviewer_wrong_task_kind",e,{expectedKind:"rollout_reviewer",actualKind:n.taskKind}),this.retryOrFail({taskId:e,task:n,errorCategory:"input_invalid",failureReason:`Task kind must be 'rollout_reviewer', got '${n.taskKind}'`});this.emitRolloutReviewerEvent("rollout_reviewer_task_leased",e,{taskKind:"rollout_reviewer",attemptCount:n.attemptCount});try{let r=await this.maybeResumePendingIntent(e,n);if(r)return this.phase=Hn.Completed,r;let i=await this.resolveStoreRunId(e);this.phase=Hn.BuildingContext;let{contextHash:o,evaluatorArtifact:s,sourceEvaluatorArtifactId:a}=await this.buildContext(e);if(!s||!a)return this.retryOrFail({taskId:e,task:n,errorCategory:"input_invalid",failureReason:a?"Evaluator dependency artifact not found":"Evaluator dependency artifact ID not resolved"});this.emitRolloutReviewerEvent("rollout_reviewer_context_built",e,{contextHash:o}),this.phase=Hn.Invoking;let c=await this.invokeRuntime({taskId:e,contextHash:o,evaluatorArtifact:s,sourceEvaluatorArtifactId:a});this.emitRolloutReviewerEvent("rollout_reviewer_run_started",e,{runtimeKind:this.resolvedOptions.runtimeKind}),this.phase=Hn.Polling;let l=await this.pollUntilTerminal(c);if(l.status!=="succeeded")return await this.handleRuntimeFailure(e,n,l);this.phase=Hn.FetchingOutput;let u=await this.fetchAndParseOutput(c.runId);this.reconcileLineageEcho(e,u,a),this.phase=Hn.Validating;let d=await this.validator.validate(u,e,a??void 0);return d.valid?(this.emitRolloutReviewerEvent("rollout_reviewer_output_validated",e,{reviewDecision:u.review.decision,reviewConfidence:u.review.confidence}),await this.succeedTask({taskId:e,runId:i,output:u,task:n,contextHash:o,sourceEvaluatorArtifactId:a,channel:Et(n)?.channel})):await this.handleValidationError({taskId:e,task:n,errors:d.errors,errorCategory:d.errorCategory})}catch(r){return await this.handlePostLeaseError(e,n,r)}}reconcileLineageEcho(e,n,r){let i=Cd(n,{topFields:[{field:"taskId",authoritativeValue:e},{field:"sourceEvaluatorArtifactId",authoritativeValue:r}],trace:{traceField:"sourceTrace",fields:[{field:"evaluatorArtifactId",authoritativeValue:r}]}});i.length>0&&this.emitRolloutReviewerEvent("rollout_reviewer_lineage_echo_corrected",e,{correctedFields:i,authoritativeSourceEvaluatorArtifactId:r})}async buildContext(e){let n=await this.stateManager.getTask(e);if(!n)throw new Y("input_invalid",`Task ${e} not found`);let i=Et(n)?.dependencyTaskIds??[];if(i.length===0)return this.emitRolloutReviewerEvent("rollout_reviewer_no_dependencies",e,{}),{contextHash:"empty",evaluatorArtifact:null,sourceEvaluatorArtifactId:null};for(let o of i){let s=await this.stateManager.getTask(o);if(!s||s.taskKind!=="evaluator")continue;if(s.status!=="succeeded"){this.emitRolloutReviewerEvent("rollout_reviewer_dependency_not_succeeded",e,{depTaskId:o,depStatus:s.status});continue}let a=await this.artifactStore.listBySourceTaskId(o);if(a.length>0){let[c]=a;if(!c)continue;let l=c.artifactId;return this.emitRolloutReviewerEvent("rollout_reviewer_evaluator_dep_selected",e,{depTaskId:o,artifactId:c.artifactId}),{contextHash:t.hashContextRefs([l]),evaluatorArtifact:c.contentJson,sourceEvaluatorArtifactId:c.artifactId}}}return this.emitRolloutReviewerEvent("rollout_reviewer_no_evaluator_artifact",e,{}),{contextHash:"empty",evaluatorArtifact:null,sourceEvaluatorArtifactId:null}}static hashContextRefs(e){if(e.length===0)return"empty";let n=e.join("|"),r=0;for(let i=0;i<n.length;i++)r=Math.imul(31,r)+n.charCodeAt(i)|0;return`ctx-${Math.abs(r).toString(16)}`}async resolveStoreRunId(e){let n=await this.stateManager.getRunsByTask(e),r=n[n.length-1];if(!r)throw new Y("execution_failed",`No run records found for task ${e} after lease acquisition`);return r.runId}async invokeRuntime(e){let n=null;if(e.evaluatorArtifact)try{n=JSON.parse(e.evaluatorArtifact)}catch{n=e.evaluatorArtifact}let r=new SF,{message:i}=r.buildPrompt({taskId:e.taskId,contextHash:e.contextHash,evaluatorArtifact:n,sourceEvaluatorArtifactId:e.sourceEvaluatorArtifactId}),o={agentSpec:{agentId:this.resolvedOptions.agentId,schemaVersion:"v1"},taskRef:{taskId:e.taskId},inputPayload:i,contextItems:[],outputSchemaRef:"rollout-reviewer-output-v1",timeoutMs:this.resolvedOptions.timeoutMs};return this.runtimeAdapter.startRun(o)}async pollUntilTerminal(e){let n=Date.now()+this.resolvedOptions.timeoutMs,r=["succeeded","failed","timed_out","cancelled"];for(;Date.now()<n;){let s=await this.runtimeAdapter.pollRun(e.runId);if(r.includes(s.status))return s;await this.sleep(this.resolvedOptions.pollIntervalMs)}try{let s=await this.runtimeAdapter.pollRun(e.runId);if(r.includes(s.status))return s}catch{}let i=!1;try{await this.runtimeAdapter.cancelRun(e.runId)}catch(s){i=!0,this.emitRolloutReviewerEvent("rollout_reviewer_cancel_run_failed",e.runId,{runId:e.runId,errorMessage:s instanceof Error?s.message:String(s)})}let o=i?" (cancelRun also failed)":"";throw new Y("timeout",`Run ${e.runId} timed out after ${this.resolvedOptions.timeoutMs}ms${o}`)}async fetchAndParseOutput(e){let n=await this.runtimeAdapter.fetchOutput(e);if(!n||!n.payload)throw new Y("output_invalid",`No output available for run ${e}`);let r=n.payload;if(typeof r!="object"||r===null)throw new Y("output_invalid",`Output payload is not an object for run ${e}`);if(typeof r.review!="object"||r.review===null)throw new Y("output_invalid",`Output payload missing review object for run ${e}`);return n.payload}async succeedTask(e){try{await this.stateManager.updateRunOutput(e.runId,JSON.stringify(e.output))}catch(l){throw this.emitRolloutReviewerEvent("rollout_reviewer_update_output_failed",e.taskId,{runId:e.runId,errorMessage:l instanceof Error?l.message:String(l)}),l}let n=`pi-art-${e.taskId}-${e.runId}`,r=new Date().toISOString(),i=[];try{let u=Et(e.task)?.dependencyTaskIds??[],d=await Promise.allSettled(u.map(p=>this.artifactStore.listBySourceTaskId(p)));for(let p of d)if(p.status==="fulfilled")for(let m of p.value)i.push(m.artifactId)}catch{}try{await this.artifactStore.upsertArtifact({artifactId:n,artifactKind:"principle",sourceTaskId:e.taskId,lineageArtifactIds:i,validationStatus:"pending",contentJson:JSON.stringify(e.output),createdAt:r,updatedAt:r})}catch(l){return this.emitRolloutReviewerEvent("rollout_reviewer_artifact_write_failed",e.taskId,{runId:e.runId,errorMessage:l instanceof Error?l.message:String(l)}),this.retryOrFail({taskId:e.taskId,task:e.task,errorCategory:"artifact_commit_failed",failureReason:`PIArtifact write failed: ${l instanceof Error?l.message:String(l)}`})}let o=`rollout-reviewer://${e.runId}`,{decision:s}=e.output.review,a=await this.recordCompletionOrThrow(e.taskId,e.runId,s);if(a.kind==="budget_exhausted")return await this.markNeedsHumanReviewOrThrow(e.taskId,`rollout_revision_budget_exhausted_applied_${a.appliedCount}`,e),await this.markCompletionIntentAppliedOrThrow(e.taskId),this.phase=Hn.Completed,t.buildSucceededResult(e,n,o);let c=await this.applyDecisionEffects(e,a.kind==="intent"?a.iteration:void 0);if(c.kind==="human_review")return this.phase=Hn.Completed,t.buildSucceededResult(e,n,o);await this.markCompletionIntentAppliedOrThrow(e.taskId);try{await this.stateManager.markTaskSucceeded(e.taskId,o)}catch(l){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e.taskId,{taskId:e.taskId,runId:e.runId,errorMessage:l instanceof Error?l.message:String(l)}),l}return this.emitRolloutReviewerEvent("rollout_reviewer_task_succeeded",e.taskId,{attemptCount:e.task.attemptCount,resultRef:o,reviewDecision:e.output.review.decision,reviewConfidence:e.output.review.confidence,...c.dispatchArtifactId?{dispatchedArtifactId:c.dispatchArtifactId}:{}}),this.phase=Hn.Completed,t.buildSucceededResult(e,n,o)}static buildSucceededResult(e,n,r){return{status:"succeeded",taskId:e.taskId,runId:e.runId,artifactId:n,resultRef:r,contextHash:e.contextHash,output:e.output,attemptCount:e.task.attemptCount}}async resolveActivationCandidate(e){let n=e.channel??"prompt",r=n==="code_tool_hook"?"rule":"principle",i=await this.collectLineageSourceTaskIds(e.taskId,[e.taskId],0),o=[],s=[];for(let c of i){if(r==="principle"){let u=await this.stateManager.getTask(c);if(u?.taskKind==="evaluator"||u?.taskKind==="rollout_reviewer")continue}let l=await this.artifactStore.listBySourceTaskId(c).catch(()=>null);if(l){for(let u of l)if(u.artifactKind===r&&u.validationStatus==="validated"){if(r==="rule"){let d=Rft(u.contentJson);if(!d.ok){s.push({artifactId:u.artifactId,missingFields:d.missingFields});continue}}o.push(u.artifactId)}}}if(o.length===1){let[c]=o;return this.emitRolloutReviewerEvent("rollout_activation_candidate_resolved",e.taskId,{artifactId:c??"",channel:n,kind:r,searchedTaskIds:i}),{candidateId:c??null}}let a=s.length===0?void 0:`${s.length} ${r}/validated artifact(s) rejected by activation content contract: `+s.map(c=>`${c.artifactId} (missing: ${c.missingFields.join(", ")})`).join("; ");return this.emitRolloutReviewerEvent("rollout_activation_candidate_unresolved",e.taskId,{channel:n,kind:r,matchCount:o.length,matchedArtifactIds:o,...s.length>0?{rejectedCandidates:s}:{},reason:o.length===0?s.length>0?"no_content_valid_candidate_in_lineage":"no_validated_candidate_in_lineage":"ambiguous_validated_candidates",nextAction:s.length>0&&o.length===0?"rejected candidates are not evaluator-assembled rule artifacts (missing goldenTrace/ruleHostGateDecision); fix artifact production or dispatch a valid artifact manually":"inspect lineage artifacts; dispatch manually via pd activation dispatch after fixing"}),{candidateId:null,...a!==void 0?{rejectionDetail:a}:{}}}static LINEAGE_MAX_DEPTH=5;async collectLineageSourceTaskIds(e,n,r){if(r>t.LINEAGE_MAX_DEPTH)return n;let i=await this.stateManager.getTask(e);if(!i)return n;let o=Et(i);for(let s of o?.dependencyTaskIds??[])n.includes(s)||(n.push(s),await this.collectLineageSourceTaskIds(s,n,r+1));return n}async dispatchOrRouteFailure(e,n){if(!this.dispatchActivation)return this.emitRolloutReviewerEvent("rollout_dispatch_not_wired",e.taskId,{reason:"dispatch_activation_dep_not_injected",nextAction:"wire_activation_dispatcher_in_auto_consumer_or_run_once"}),await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_dispatch_not_wired",e),!1;let r=await this.dispatchActivation({artifactId:n,channel:e.channel??"prompt",confidence:e.output.review.confidence,rolloutTaskId:e.taskId}),i=r.decision==="activated"||r.decision==="already_activated"||r.decision==="queued_for_approval";return this.emitRolloutReviewerEvent(i?"rollout_activation_dispatched":"rollout_activation_dispatch_refused",e.taskId,{artifactId:n,channel:e.channel??"prompt",decision:r.decision,activationId:r.activationId??null,reason:r.reason??null,nextAction:i?null:"owner_inspect_artifact_then_manual_dispatch_or_archive"}),i?!0:(await this.markNeedsHumanReviewOrThrow(e.taskId,`rollout_dispatch_${r.decision}`,{runId:e.runId,...r.reason!==void 0?{detail:r.reason}:{}}),!1)}async handleRevisionRouting(e,n){let r=await this.resolveRevisionTarget(e.taskId,e.channel??"prompt");if(!r)return await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_revision_target_unresolved",e),!1;if(!this.reopenRevisionTarget)return this.emitRolloutReviewerEvent("rollout_revision_not_wired",e.taskId,{reason:"reopen_revision_target_dep_not_injected",nextAction:"wire_revision_routing_in_auto_consumer_or_run_once"}),await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_revision_routing_not_wired",e),!1;let i=t.formatRevisionFeedback(e.output);await this.recordRolloutRevisionRoutingOrThrow(e.taskId,{requiredChanges:[...e.output.review.requiredChanges],revisionIteration:n,sourceRolloutTaskId:e.taskId,sourceArtifactId:r.viaArtifactId??e.taskId,targetTaskKind:r.kind,status:"pending"});try{let o=`rollout-${e.taskId}-r${n}`,s=await this.stateManager.getTask(r.taskId),a=s?Et(s):null;if(a&&a.revisionCauseId===o)this.emitRolloutReviewerEvent("rollout_revision_already_materialized",e.taskId,{targetTaskId:r.taskId,revisionIteration:n,causeId:o});else{let c=await this.reopenRevisionTarget({targetTaskId:r.taskId,targetKind:r.kind,revisionFeedback:i,revisionIteration:n,sourceRolloutTaskId:e.taskId,sourceArtifactId:r.viaArtifactId??e.taskId});if(!c.ok)return await this.markNeedsHumanReviewOrThrow(e.taskId,`rollout_revision_reopen_failed_${c.reason}`,e),!1}return await this.markRevisionIntentAppliedOrThrow(e.taskId,n,{requiredChanges:[...e.output.review.requiredChanges],sourceRolloutTaskId:e.taskId,sourceArtifactId:r.viaArtifactId??e.taskId,targetTaskKind:r.kind}),this.emitRolloutReviewerEvent("rollout_revision_routed",e.taskId,{targetTaskId:r.taskId,targetKind:r.kind,revisionIteration:n}),!0}catch(o){throw this.emitRolloutReviewerEvent("rollout_revision_route_failed",e.taskId,{errorMessage:o instanceof Error?o.message:String(o),nextAction:"task_will_retry_then_resume_completion_intent_without_llm"}),o}}async resolveRevisionTarget(e,n){let r=await this.stateManager.getTask(e);if(!r)return null;let i=Et(r),o=null,s=[],a=i?.dependencyTaskIds??[];for(let c of a){let l=await this.stateManager.getTask(c);if(l){if(l.taskKind==="artificer"){let u=Et(l);o=l.taskId,s=u?.dependencyTaskIds??[];break}if(l.taskKind==="evaluator"){let u=Et(l);for(let d of u?.dependencyTaskIds??[]){let p=await this.stateManager.getTask(d);if(!p||p.taskKind!=="artificer")continue;let m=Et(p);o=p.taskId,s=m?.dependencyTaskIds??[];break}if(o)break}}}if(!o)return null;if(n==="code_tool_hook")return{taskId:o,kind:"artificer"};for(let c of s){let l=await this.stateManager.getTask(c);if(!(!l||l.taskKind!=="scribe"))return{taskId:l.taskId,kind:"scribe"}}return null}static formatRevisionFeedback(e){let n=["Rollout review \u5224\u5B9A needs_revision,\u8BF7\u4FEE\u8BA2\u540E\u91CD\u65B0\u8D70\u9A8C\u8BC1\u94FE:"];for(let r of e.review.requiredChanges)n.push(`- \u5FC5\u987B\u4FEE\u6539: ${r}`);for(let r of e.review.rolloutRisks)n.push(`- \u98CE\u9669: ${r}`);return n.join(`
|
|
1793
|
-
`)}async markNeedsHumanReviewOrThrow(e,n,r){this.emitRolloutReviewerEvent("rollout_reviewer_task_needs_human_review",e,{reason:n,nextAction:"owner_inspect_retry_or_archive"});try{let i=await this.stateManager.getTask(e);if(!i)throw new Error(`task ${e} not found`);let o=Et(i);if(!o)throw new Error(`task ${e} not hydratable`);let s=`pi-art-${e}-${r.runId}`,a;try{let d=await this.artifactStore.getArtifactById(s);d&&(a=Jw(d.contentJson))}catch{a=void 0}let c={reasonCode:hye(n),sourceRunId:r.runId,sourceArtifactId:s,...a!==void 0?{sourceArtifactHash:a}:{},revisionEpoch:o.revisionCount??0,...typeof r.detail=="string"&&r.detail.length>0?{detail:r.detail}:{},createdAt:new Date().toISOString()},l=La(o,{humanReviewContext:c});await this.stateManager.updateTask(e,{status:"needs_human_review",diagnosticJson:co(l)});let u=await this.stateManager.getTask(e);if(!u||u.status!=="needs_human_review")throw new Y("storage_unavailable",`needs_human_review effect not durable for task ${e} (read-back status: ${u?.status??"task_missing"})`)}catch(i){throw this.emitRolloutReviewerEvent("rollout_mark_human_review_failed",e,{errorMessage:i instanceof Error?i.message:String(i),reason:n,nextAction:"task_will_retry_then_resume_completion_intent_without_llm"}),i}}async readRolloutRevisionPayload(e){let n=await this.stateManager.getTask(e);return n?Et(n)?.rolloutRevisionPayload??null:null}async recordCompletionOrThrow(e,n,r){let i=await this.readRolloutRevisionPayload(e),o,s=!1,a=0;r==="needs_revision"&&(a=i&&i.status!=="pending"?i.revisionIteration:0,a>=2?s=!0:o=i&&i.status==="pending"?i.revisionIteration:a+1);try{let c=await this.stateManager.getTask(e);if(!c)throw new Error(`task ${e} not found`);let l=Et(c);if(!l)throw new Error(`task ${e} not hydratable`);let u=La(l,{runnerDecision:r==="approve_rollout"||r==="needs_revision"||r==="reject"?r:l.runnerDecision,completionIntent:{decision:r,sourceRunId:n,revisionEpoch:l.revisionCount??0,status:"pending",...o!==void 0?{revisionIteration:o}:{},...s?{effect:"needs_human_review"}:{}}});await this.stateManager.updateTaskDiagnosticJson(e,co(u))}catch(c){throw this.emitRolloutReviewerEvent("rollout_completion_record_failed",e,{errorMessage:c instanceof Error?c.message:String(c),nextAction:"task_will_retry; record is idempotent overwrite"}),c}return s?{kind:"budget_exhausted",appliedCount:a}:{kind:"intent",iteration:o}}async applyDecisionEffects(e,n,r){let i=r??e.output.review.decision;if(i==="approve_rollout"){let{candidateId:o,rejectionDetail:s}=await this.resolveActivationCandidate(e);return o?await this.dispatchOrRouteFailure(e,o)?{kind:"completed",dispatchArtifactId:o}:{kind:"human_review"}:(await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_activation_candidate_unresolved",{runId:e.runId,...s!==void 0?{detail:s}:{}}),{kind:"human_review"})}return i==="needs_revision"?n===void 0?(await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_revision_iteration_missing",e),{kind:"human_review"}):await this.handleRevisionRouting(e,n)?{kind:"completed"}:{kind:"human_review"}:{kind:"completed"}}async markCompletionIntentAppliedOrThrow(e){try{let n=await this.stateManager.getTask(e);if(!n)throw new Error(`task ${e} not found`);let r=Et(n);if(!r?.completionIntent)return;let i=La(r,{completionIntent:{...r.completionIntent,status:"applied"}});await this.stateManager.updateTaskDiagnosticJson(e,co(i))}catch(n){throw this.emitRolloutReviewerEvent("rollout_completion_mark_applied_failed",e,{errorMessage:n instanceof Error?n.message:String(n),nextAction:"task_will_retry; resume re-passes materialize checks"}),n}}async maybeResumePendingIntent(e,n){let r=Et(n),i=r?EF(r):null;if(i)return this.phase=Hn.Completed,await this.applyOwnerVerdictOverrideAndFinalize(e,n,i);let o=r?.completionIntent;if(!r||!o||o.status!=="pending")return r&&o&&o.status==="applied"&&o.revisionEpoch===(r.revisionCount??0)&&n.status!=="needs_human_review"?await this.finalizeAppliedIntentTerminal(e,o.sourceRunId,n):null;if(o.revisionEpoch!==(r.revisionCount??0))return this.emitRolloutReviewerEvent("rollout_completion_intent_stale_epoch",e,{intentEpoch:o.revisionEpoch,currentEpoch:r.revisionCount??0,nextAction:"reopen should have cleared intent; verify reopenTaskForRevision path"}),null;if(this.emitRolloutReviewerEvent("rollout_completion_intent_resumed",e,{decision:o.decision,sourceRunId:o.sourceRunId}),o.effect==="needs_human_review"){let d=await this.recoverIntentOutput(e,o.sourceRunId),p=await this.readRolloutRevisionPayload(e),m=p&&p.status!=="pending"?p.revisionIteration:2;return await this.markNeedsHumanReviewOrThrow(e,`rollout_revision_budget_exhausted_applied_${m}`,{runId:o.sourceRunId}),await this.markCompletionIntentAppliedOrThrow(e),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:`pi-art-${e}-${o.sourceRunId}`,resultRef:`rollout-reviewer://${o.sourceRunId}`,output:d,attemptCount:n.attemptCount})}let s=await this.recoverIntentOutput(e,o.sourceRunId),a={taskId:e,runId:o.sourceRunId,output:s,task:n,contextHash:`resume-${o.sourceRunId}`,sourceEvaluatorArtifactId:s.sourceEvaluatorArtifactId,channel:r.channel},c=`pi-art-${e}-${o.sourceRunId}`,l=`rollout-reviewer://${o.sourceRunId}`,u=await this.applyDecisionEffects(a,o.revisionIteration);if(u.kind==="human_review")return this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount});await this.markCompletionIntentAppliedOrThrow(e);try{await this.stateManager.markTaskSucceeded(e,l)}catch(d){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:o.sourceRunId,errorMessage:d instanceof Error?d.message:String(d)}),d}return this.emitRolloutReviewerEvent("rollout_reviewer_task_succeeded",e,{attemptCount:n.attemptCount,resultRef:l,reviewDecision:o.decision,reviewConfidence:s.review.confidence,resumedFromCompletionIntent:!0,...u.dispatchArtifactId?{dispatchedArtifactId:u.dispatchArtifactId}:{}}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount})}async applyOwnerVerdictOverrideAndFinalize(e,n,r){let{resolution:i,overrideDecision:o}=r;this.emitRolloutReviewerEvent("rollout_owner_resolution_applying",e,{resolutionId:i.resolutionId,action:i.action,machineDecision:i.machineDecision,effectiveDecision:o,sourceRunId:i.sourceRunId});let s=await this.recoverIntentOutput(e,i.sourceRunId);if(s.review.decision!==i.machineDecision)throw new Y("storage_unavailable",`owner resolution output mismatch for task ${e}: recovered decision '${s.review.decision}' != recorded machine decision '${i.machineDecision}'`);let a={taskId:e,runId:i.sourceRunId,output:s,task:n,contextHash:`owner-override-${i.resolutionId}`,sourceEvaluatorArtifactId:s.sourceEvaluatorArtifactId,channel:Et(n)?.channel},c=`pi-art-${e}-${i.sourceRunId}`,l=`rollout-reviewer://${i.sourceRunId}`,u=await this.applyDecisionEffects(a,void 0,o==="approve_rollout"?"approve_rollout":"reject");if(u.kind==="human_review")return await Xw({updateDiagnosticJson:(d,p)=>this.stateManager.updateTaskDiagnosticJson(d,p),getTask:d=>this.stateManager.getTask(d),taskId:e,resolutionId:i.resolutionId,appliedAt:new Date().toISOString()}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:i.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount});await this.markCompletionIntentAppliedOrThrow(e),await Xw({updateDiagnosticJson:(d,p)=>this.stateManager.updateTaskDiagnosticJson(d,p),getTask:d=>this.stateManager.getTask(d),taskId:e,resolutionId:i.resolutionId,appliedAt:new Date().toISOString()});try{await this.stateManager.markTaskSucceeded(e,l)}catch(d){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:i.sourceRunId,errorMessage:d instanceof Error?d.message:String(d)}),d}return this.emitRolloutReviewerEvent("rollout_reviewer_task_succeeded",e,{attemptCount:n.attemptCount,resultRef:l,reviewDecision:s.review.decision,reviewConfidence:s.review.confidence,ownerResolutionApplied:i.resolutionId,effectiveDecision:o,...u.dispatchArtifactId?{dispatchedArtifactId:u.dispatchArtifactId}:{}}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:i.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount})}async finalizeAppliedIntentTerminal(e,n,r){this.emitRolloutReviewerEvent("rollout_completion_intent_finalize_terminal",e,{sourceRunId:n,taskStatus:r.status});let i=await this.recoverIntentOutput(e,n),o=`rollout-reviewer://${n}`;try{await this.stateManager.markTaskSucceeded(e,o)}catch(s){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:n,errorMessage:s instanceof Error?s.message:String(s)}),s}return this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:n,artifactId:`pi-art-${e}-${n}`,resultRef:o,output:i,attemptCount:r.attemptCount})}async recoverIntentOutput(e,n){let o=(await this.stateManager.getRunsByTask(e)).find(u=>u.runId===n)?.outputPayload;if(typeof o!="string"||o.length===0)throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} has no outputPayload`);let s;try{s=JSON.parse(o)}catch{throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} has unparseable outputPayload`)}let a;if(typeof s=="object"&&s!==null){let u=s.sourceEvaluatorArtifactId;typeof u=="string"&&(a=u)}let c=s,l=await this.validator.validate(c,e,a);if(!l.valid)throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} failed revalidation (${l.errors.join("; ")})`);return c}static buildResumeResult(e){return{status:"succeeded",taskId:e.taskId,runId:e.runId,artifactId:e.artifactId,resultRef:e.resultRef,contextHash:`resume-${e.runId}`,output:e.output,attemptCount:e.attemptCount}}async markRevisionIntentAppliedOrThrow(e,n,r){await this.recordRolloutRevisionRouting(e,{requiredChanges:r.requiredChanges,revisionIteration:n,sourceRolloutTaskId:r.sourceRolloutTaskId,sourceArtifactId:r.sourceArtifactId,targetTaskKind:r.targetTaskKind,status:"applied"})}async recordRolloutRevisionRouting(e,n){try{let r=await this.stateManager.getTask(e);if(!r)return;let i=Et(r);if(!i)return;let o=La(i,{rolloutRevisionPayload:n});await this.stateManager.updateTaskDiagnosticJson(e,co(o))}catch(r){throw this.emitRolloutReviewerEvent("rollout_revision_record_failed",e,{errorMessage:r instanceof Error?r.message:String(r),nextAction:"task_will_retry; record is idempotent overwrite"}),r}}async recordRolloutRevisionRoutingOrThrow(e,n){await this.recordRolloutRevisionRouting(e,n)}async handleRuntimeFailure(e,n,r){let i=this.mapRunStatusToErrorCategory(r.status);return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{runStatus:r.status,errorCategory:i}),this.retryOrFail({taskId:e,task:n,errorCategory:i,failureReason:`Runtime execution ended with status: ${r.status}`})}async handleValidationError(e){let n=e.errorCategory??"output_invalid";return this.emitRolloutReviewerEvent("rollout_reviewer_output_invalid",e.taskId,{errorCount:e.errors.length,errorCategory:n}),this.retryOrFail({taskId:e.taskId,task:e.task,errorCategory:n,failureReason:`Validation failed: ${e.errors.join("; ")}`})}async handleLeaseOrPhaseError(e,n){let r=this.classifyError(n);if(r.category==="lease_conflict")return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:"lease_conflict",errorMessage:r.message}),{status:"failed",taskId:e,errorCategory:"lease_conflict",failureReason:r.message,attemptCount:1};this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:r.category,errorMessage:r.message});let i={taskId:e,taskKind:"rollout_reviewer",status:"leased",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),attemptCount:1,maxAttempts:this.resolvedOptions.defaultMaxAttempts};return this.retryOrFail({taskId:e,task:i,errorCategory:r.category,failureReason:r.message})}async handlePostLeaseError(e,n,r){let i=this.classifyError(r);return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:i.category,errorMessage:i.message}),this.retryOrFail({taskId:e,task:n,errorCategory:i.category,failureReason:i.message})}async retryOrFail(e){if(this.isPermanentError(e.errorCategory)){try{await this.stateManager.markTaskFailed(e.taskId,e.errorCategory)}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_failed_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_failed",e.taskId,{errorCategory:e.errorCategory,attemptCount:e.task.attemptCount,failureReason:e.failureReason}),this.phase=Hn.Failed,{status:"failed",taskId:e.taskId,errorCategory:e.errorCategory,failureReason:e.failureReason,attemptCount:e.task.attemptCount}}if(this.stateManager.getRetryPolicy().shouldRetry(e.task)){try{await this.stateManager.markTaskRetryWait(e.taskId,e.errorCategory)}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_retry_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_retried",e.taskId,{errorCategory:e.errorCategory,attemptCount:e.task.attemptCount}),this.phase=Hn.RetryWaiting,{status:"retried",taskId:e.taskId,errorCategory:e.errorCategory,failureReason:e.failureReason,attemptCount:e.task.attemptCount}}try{await this.stateManager.markTaskFailed(e.taskId,"max_attempts_exceeded")}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_failed_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_failed",e.taskId,{errorCategory:"max_attempts_exceeded",attemptCount:e.task.attemptCount,failureReason:`Max attempts exceeded: ${e.failureReason}`}),this.phase=Hn.Failed,{status:"failed",taskId:e.taskId,errorCategory:"max_attempts_exceeded",failureReason:`Max attempts exceeded: ${e.failureReason}`,attemptCount:e.task.attemptCount}}isPermanentError(e){return HMn.has(e)}classifyError(e){return e instanceof Y?{category:e.category,message:e.message}:e instanceof Error?{category:"execution_failed",message:e.message}:{category:"execution_failed",message:String(e)}}mapRunStatusToErrorCategory(e){switch(e){case"failed":return"execution_failed";case"timed_out":return"timeout";case"cancelled":return"cancelled";default:return"execution_failed"}}sleep(e){return new Promise(n=>setTimeout(n,e))}};function Tye(t,e){let n=e?.logger?.warn??(r=>console.warn(r));return{listActivePrinciples:async()=>{try{let r=t.tree.principles??{};return Object.values(r).filter(o=>o.status!=="active"?!1:typeof o.id!="string"||typeof o.text!="string"||o.text.length===0?(n(`[l2_dreamer] skipping active principle with missing id or empty text: ${JSON.stringify(o).slice(0,120)}`),!1):!0).map(o=>({id:o.id,statement:o.text}))}catch(r){let i=r instanceof Error?r.message:String(r);return n(`[l2_dreamer] listActivePrinciples degraded \u2014 no internalized principles loaded: ${i}`),[]}}}}async function RF(t){let e=new zp({workspaceDir:t.workspaceDir,readonly:t.readonly??!1}),n=!1;try{await e.initialize()}catch(r){try{await e.close()}catch{}throw r}return{stateManager:e,close:async()=>{n||(n=!0,await e.close())}}}Na();Bo();var J6=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"];function kye(t,e){return e.enabledChannels.has(t.channel)?e.actionableTaskKinds.has(t.taskKind)?{actionable:!0}:{actionable:!1,reason:"task_kind_not_mvp_actionable",diagnostic:{taskId:t.taskId,taskKind:t.taskKind,channel:t.channel,reason:"task_kind_not_mvp_actionable"}}:{actionable:!1,reason:"channel_disabled",diagnostic:{taskId:t.taskId,taskKind:t.taskKind,channel:t.channel,reason:"channel_disabled"}}}var uD=3;function jMn(t,e){if(t.status!=="pending"||!t.leaseOwner||!t.leaseExpiresAt)return!1;let n=new Date(t.leaseExpiresAt).getTime();return Number.isNaN(n)?!1:n>e}var DF=class{stateManager;policy=null;constructor(e){this.stateManager=e}setPolicy(e){this.policy=e}async getSnapshot(){let[e,n]=await Promise.all([this.stateManager.listTasks({status:"pending"}),this.stateManager.listTasks({status:"retry_wait"})]),r=[...e,...n].filter(J=>py(J.taskKind)),i=0,o=0,s={},a={},c=0,l=[],u=[],d=[],p=[],m=[],g=[],A=[],v=[],E=0,w=0,k=0,C=0,D=0,R=0,F=0,L=Date.now();for(let J of r){let V=Et(J);if(!V){c++,E++,l.length<uD&&l.push(J.taskId);continue}if(this.policy){let oe=kye({taskId:V.taskId,taskKind:V.taskKind,channel:V.channel},this.policy);if(!oe.actionable){v.push(oe.diagnostic);continue}}if(F++,V.status==="pending"?i++:V.status==="retry_wait"&&o++,s[V.taskKind]=(s[V.taskKind]??0)+1,a[V.channel]=(a[V.channel]??0)+1,jMn(V,L)){C++,p.length<uD&&p.push({taskId:V.taskId,taskKind:V.taskKind,leaseOwner:V.leaseOwner??"",leaseExpiresAt:V.leaseExpiresAt??""});continue}if(JO(V)){R++,g.length<uD&&g.push({taskId:V.taskId,taskKind:V.taskKind,rejectionCount:V.rejectionCount});continue}let Ee=await this.resolveDependencies(V.dependencyTaskIds),Re=yF(V,Ee,L);if(Re.decision==="retry_wait_pending"){D++,m.length<uD&&m.push({taskId:V.taskId,taskKind:V.taskKind,retryAfter:Re.retryAfter??V.leaseExpiresAt??""});continue}if(Re.decision==="blocked"){w++,u.length<uD&&u.push({taskId:V.taskId,taskKind:V.taskKind,blockedBy:Re.blockedBy});continue}if(Re.decision==="dependency_failed"){k++,d.length<uD&&d.push({taskId:V.taskId,taskKind:V.taskKind,failedDependencies:Re.failedDependencies});continue}A.push({taskId:V.taskId,taskKind:V.taskKind,channel:V.channel})}let P=F+E,q=null;return A.length===0&&(P===0?q={reason:"no_candidates",inspectedCount:P}:q={reason:R>0&&R>=E&&R>=k&&R>=w&&R>=D&&R>=C?"all_unresolvable":D>0&&D>=E&&D>=k&&D>=w?"all_retry_wait_pending":C>0&&C>=E&&C>=k&&C>=w?"all_lease_conflict":E>0&&E>=k&&E>=w?"all_hydration_failed":k>=w?"all_dependency_failed":"all_blocked",inspectedCount:P}),{pendingCount:i,retryWaitCount:o,countsByTaskKind:s,countsByChannel:a,invalidMetadataCount:c,sampleInvalidTaskIds:l,blockedSummary:{count:w,samples:u},dependencyFailedSummary:{count:k,samples:d},leaseConflictSummary:{count:C,samples:p,sampleTaskIds:p.map(J=>J.taskId)},retryWaitPendingSummary:{count:D,samples:m},unresolvableSummary:{count:R,samples:g},readyTasks:A,noReadyTasks:q,suppressedTasks:v}}async resolveDependencies(e){return e.length===0?[]:(await Promise.allSettled(e.map(r=>this.stateManager.getTask(r)))).filter(r=>r.status==="fulfilled").map(r=>r.value).filter(r=>r!==null)}async close(){}};var X6=["dreamer"],Rye=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"];function Dye(t){let e=t.maxTasksPerCycle??1,n=t.runnerKinds??X6;return t.autoConsumerEnabled?t.readyTaskCount===0?{shouldConsume:!1,maxTasksPerCycle:e,runnerKinds:n,reason:"no_ready_tasks"}:{shouldConsume:!0,maxTasksPerCycle:Math.min(e,t.readyTaskCount),runnerKinds:n}:{shouldConsume:!1,maxTasksPerCycle:0,runnerKinds:[],reason:"auto_consumer_disabled",nextAction:'pd runtime internalization run-once --workspace "<workspace>" --runner dreamer --runtime config --json'}}Na();Bo();Bo();function ZMn(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function NI(t,e){if(!Object.hasOwn(t,e))return null;let n=t[e];return typeof n=="string"&&n.length>0?n:null}function eBn(t){if(typeof t!="string")return null;let e=["prompt","defer_archive","code_tool_hook"];for(let n of e)if(t===n)return n;return null}function Z6(t){if(!ZMn(t))return null;let e=eBn(t.channel);if(!e)return null;let n=NI(t,"activation_id"),r=NI(t,"idempotency_key"),i=NI(t,"artifact_id"),o=NI(t,"action"),s=NI(t,"activated_at");if(!n||!r||!i||!o||!s)return null;let a=NI(t,"target_ref"),c=NI(t,"deactivated_at"),l=NI(t,"promoted_at");return{activationId:n,idempotencyKey:r,artifactId:i,channel:e,action:o,targetRef:a??"",activatedAt:s,promotedAt:l??null,deactivatedAt:c??null}}var Dh=class{connection;constructor(e){this.connection=e}async getActivationStatus(e){let r=this.connection.getDb().prepare(`
|
|
1793
|
+
`)}async markNeedsHumanReviewOrThrow(e,n,r){this.emitRolloutReviewerEvent("rollout_reviewer_task_needs_human_review",e,{reason:n,nextAction:"owner_inspect_retry_or_archive"});try{let i=await this.stateManager.getTask(e);if(!i)throw new Error(`task ${e} not found`);let o=Et(i);if(!o)throw new Error(`task ${e} not hydratable`);let s=`pi-art-${e}-${r.runId}`,a;try{let d=await this.artifactStore.getArtifactById(s);d&&(a=Jw(d.contentJson))}catch{a=void 0}let c={reasonCode:hye(n),sourceRunId:r.runId,sourceArtifactId:s,...a!==void 0?{sourceArtifactHash:a}:{},revisionEpoch:o.revisionCount??0,...typeof r.detail=="string"&&r.detail.length>0?{detail:r.detail}:{},createdAt:new Date().toISOString()},l=La(o,{humanReviewContext:c});await this.stateManager.updateTask(e,{status:"needs_human_review",diagnosticJson:co(l)});let u=await this.stateManager.getTask(e);if(!u||u.status!=="needs_human_review")throw new Y("storage_unavailable",`needs_human_review effect not durable for task ${e} (read-back status: ${u?.status??"task_missing"})`)}catch(i){throw this.emitRolloutReviewerEvent("rollout_mark_human_review_failed",e,{errorMessage:i instanceof Error?i.message:String(i),reason:n,nextAction:"task_will_retry_then_resume_completion_intent_without_llm"}),i}}async readRolloutRevisionPayload(e){let n=await this.stateManager.getTask(e);return n?Et(n)?.rolloutRevisionPayload??null:null}async recordCompletionOrThrow(e,n,r){let i=await this.readRolloutRevisionPayload(e),o,s=!1,a=0;r==="needs_revision"&&(a=i&&i.status!=="pending"?i.revisionIteration:0,a>=2?s=!0:o=i&&i.status==="pending"?i.revisionIteration:a+1);try{let c=await this.stateManager.getTask(e);if(!c)throw new Error(`task ${e} not found`);let l=Et(c);if(!l)throw new Error(`task ${e} not hydratable`);let u=La(l,{runnerDecision:r==="approve_rollout"||r==="needs_revision"||r==="reject"?r:l.runnerDecision,completionIntent:{decision:r,sourceRunId:n,revisionEpoch:l.revisionCount??0,status:"pending",...o!==void 0?{revisionIteration:o}:{},...s?{effect:"needs_human_review"}:{}}});await this.stateManager.updateTaskDiagnosticJson(e,co(u))}catch(c){throw this.emitRolloutReviewerEvent("rollout_completion_record_failed",e,{errorMessage:c instanceof Error?c.message:String(c),nextAction:"task_will_retry; record is idempotent overwrite"}),c}return s?{kind:"budget_exhausted",appliedCount:a}:{kind:"intent",iteration:o}}async applyDecisionEffects(e,n,r){let i=r??e.output.review.decision;if(i==="approve_rollout"){let{candidateId:o,rejectionDetail:s}=await this.resolveActivationCandidate(e);return o?await this.dispatchOrRouteFailure(e,o)?{kind:"completed",dispatchArtifactId:o}:{kind:"human_review"}:(await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_activation_candidate_unresolved",{runId:e.runId,...s!==void 0?{detail:s}:{}}),{kind:"human_review"})}return i==="needs_revision"?n===void 0?(await this.markNeedsHumanReviewOrThrow(e.taskId,"rollout_revision_iteration_missing",e),{kind:"human_review"}):await this.handleRevisionRouting(e,n)?{kind:"completed"}:{kind:"human_review"}:{kind:"completed"}}async markCompletionIntentAppliedOrThrow(e){try{let n=await this.stateManager.getTask(e);if(!n)throw new Error(`task ${e} not found`);let r=Et(n);if(!r?.completionIntent)return;let i=La(r,{completionIntent:{...r.completionIntent,status:"applied"}});await this.stateManager.updateTaskDiagnosticJson(e,co(i))}catch(n){throw this.emitRolloutReviewerEvent("rollout_completion_mark_applied_failed",e,{errorMessage:n instanceof Error?n.message:String(n),nextAction:"task_will_retry; resume re-passes materialize checks"}),n}}async maybeResumePendingIntent(e,n){let r=Et(n),i=r?EF(r):null;if(i)return this.phase=Hn.Completed,await this.applyOwnerVerdictOverrideAndFinalize(e,n,i);let o=r?.completionIntent;if(!r||!o||o.status!=="pending")return r&&o&&o.status==="applied"&&o.revisionEpoch===(r.revisionCount??0)&&n.status!=="needs_human_review"?await this.finalizeAppliedIntentTerminal(e,o.sourceRunId,n):null;if(o.revisionEpoch!==(r.revisionCount??0))return this.emitRolloutReviewerEvent("rollout_completion_intent_stale_epoch",e,{intentEpoch:o.revisionEpoch,currentEpoch:r.revisionCount??0,nextAction:"reopen should have cleared intent; verify reopenTaskForRevision path"}),null;if(this.emitRolloutReviewerEvent("rollout_completion_intent_resumed",e,{decision:o.decision,sourceRunId:o.sourceRunId}),o.effect==="needs_human_review"){let d=await this.recoverIntentOutput(e,o.sourceRunId),p=await this.readRolloutRevisionPayload(e),m=p&&p.status!=="pending"?p.revisionIteration:2;return await this.markNeedsHumanReviewOrThrow(e,`rollout_revision_budget_exhausted_applied_${m}`,{runId:o.sourceRunId}),await this.markCompletionIntentAppliedOrThrow(e),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:`pi-art-${e}-${o.sourceRunId}`,resultRef:`rollout-reviewer://${o.sourceRunId}`,output:d,attemptCount:n.attemptCount})}let s=await this.recoverIntentOutput(e,o.sourceRunId),a={taskId:e,runId:o.sourceRunId,output:s,task:n,contextHash:`resume-${o.sourceRunId}`,sourceEvaluatorArtifactId:s.sourceEvaluatorArtifactId,channel:r.channel},c=`pi-art-${e}-${o.sourceRunId}`,l=`rollout-reviewer://${o.sourceRunId}`,u=await this.applyDecisionEffects(a,o.revisionIteration);if(u.kind==="human_review")return this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount});await this.markCompletionIntentAppliedOrThrow(e);try{await this.stateManager.markTaskSucceeded(e,l)}catch(d){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:o.sourceRunId,errorMessage:d instanceof Error?d.message:String(d)}),d}return this.emitRolloutReviewerEvent("rollout_reviewer_task_succeeded",e,{attemptCount:n.attemptCount,resultRef:l,reviewDecision:o.decision,reviewConfidence:s.review.confidence,resumedFromCompletionIntent:!0,...u.dispatchArtifactId?{dispatchedArtifactId:u.dispatchArtifactId}:{}}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:o.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount})}async applyOwnerVerdictOverrideAndFinalize(e,n,r){let{resolution:i,overrideDecision:o}=r;this.emitRolloutReviewerEvent("rollout_owner_resolution_applying",e,{resolutionId:i.resolutionId,action:i.action,machineDecision:i.machineDecision,effectiveDecision:o,sourceRunId:i.sourceRunId});let s=await this.recoverIntentOutput(e,i.sourceRunId);if(s.review.decision!==i.machineDecision)throw new Y("storage_unavailable",`owner resolution output mismatch for task ${e}: recovered decision '${s.review.decision}' != recorded machine decision '${i.machineDecision}'`);let a={taskId:e,runId:i.sourceRunId,output:s,task:n,contextHash:`owner-override-${i.resolutionId}`,sourceEvaluatorArtifactId:s.sourceEvaluatorArtifactId,channel:Et(n)?.channel},c=`pi-art-${e}-${i.sourceRunId}`,l=`rollout-reviewer://${i.sourceRunId}`,u=await this.applyDecisionEffects(a,void 0,o==="approve_rollout"?"approve_rollout":"reject");if(u.kind==="human_review")return await Xw({updateDiagnosticJson:(d,p)=>this.stateManager.updateTaskDiagnosticJson(d,p),getTask:d=>this.stateManager.getTask(d),taskId:e,resolutionId:i.resolutionId,appliedAt:new Date().toISOString()}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:i.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount});await this.markCompletionIntentAppliedOrThrow(e),await Xw({updateDiagnosticJson:(d,p)=>this.stateManager.updateTaskDiagnosticJson(d,p),getTask:d=>this.stateManager.getTask(d),taskId:e,resolutionId:i.resolutionId,appliedAt:new Date().toISOString()});try{await this.stateManager.markTaskSucceeded(e,l)}catch(d){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:i.sourceRunId,errorMessage:d instanceof Error?d.message:String(d)}),d}return this.emitRolloutReviewerEvent("rollout_reviewer_task_succeeded",e,{attemptCount:n.attemptCount,resultRef:l,reviewDecision:s.review.decision,reviewConfidence:s.review.confidence,ownerResolutionApplied:i.resolutionId,effectiveDecision:o,...u.dispatchArtifactId?{dispatchedArtifactId:u.dispatchArtifactId}:{}}),this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:i.sourceRunId,artifactId:c,resultRef:l,output:s,attemptCount:n.attemptCount})}async finalizeAppliedIntentTerminal(e,n,r){this.emitRolloutReviewerEvent("rollout_completion_intent_finalize_terminal",e,{sourceRunId:n,taskStatus:r.status});let i=await this.recoverIntentOutput(e,n),o=`rollout-reviewer://${n}`;try{await this.stateManager.markTaskSucceeded(e,o)}catch(s){throw this.emitRolloutReviewerEvent("rollout_reviewer_mark_succeeded_failed",e,{taskId:e,runId:n,errorMessage:s instanceof Error?s.message:String(s)}),s}return this.phase=Hn.Completed,t.buildResumeResult({taskId:e,runId:n,artifactId:`pi-art-${e}-${n}`,resultRef:o,output:i,attemptCount:r.attemptCount})}async recoverIntentOutput(e,n){let o=(await this.stateManager.getRunsByTask(e)).find(u=>u.runId===n)?.outputPayload;if(typeof o!="string"||o.length===0)throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} has no outputPayload`);let s;try{s=JSON.parse(o)}catch{throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} has unparseable outputPayload`)}let a;if(typeof s=="object"&&s!==null){let u=s.sourceEvaluatorArtifactId;typeof u=="string"&&(a=u)}let c=s,l=await this.validator.validate(c,e,a);if(!l.valid)throw new Y("storage_unavailable",`completion intent output unrecoverable: run ${n} of task ${e} failed revalidation (${l.errors.join("; ")})`);return c}static buildResumeResult(e){return{status:"succeeded",taskId:e.taskId,runId:e.runId,artifactId:e.artifactId,resultRef:e.resultRef,contextHash:`resume-${e.runId}`,output:e.output,attemptCount:e.attemptCount}}async markRevisionIntentAppliedOrThrow(e,n,r){await this.recordRolloutRevisionRouting(e,{requiredChanges:r.requiredChanges,revisionIteration:n,sourceRolloutTaskId:r.sourceRolloutTaskId,sourceArtifactId:r.sourceArtifactId,targetTaskKind:r.targetTaskKind,status:"applied"})}async recordRolloutRevisionRouting(e,n){try{let r=await this.stateManager.getTask(e);if(!r)return;let i=Et(r);if(!i)return;let o=La(i,{rolloutRevisionPayload:n});await this.stateManager.updateTaskDiagnosticJson(e,co(o))}catch(r){throw this.emitRolloutReviewerEvent("rollout_revision_record_failed",e,{errorMessage:r instanceof Error?r.message:String(r),nextAction:"task_will_retry; record is idempotent overwrite"}),r}}async recordRolloutRevisionRoutingOrThrow(e,n){await this.recordRolloutRevisionRouting(e,n)}async handleRuntimeFailure(e,n,r){let i=this.mapRunStatusToErrorCategory(r.status);return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{runStatus:r.status,errorCategory:i}),this.retryOrFail({taskId:e,task:n,errorCategory:i,failureReason:`Runtime execution ended with status: ${r.status}`})}async handleValidationError(e){let n=e.errorCategory??"output_invalid";return this.emitRolloutReviewerEvent("rollout_reviewer_output_invalid",e.taskId,{errorCount:e.errors.length,errorCategory:n}),this.retryOrFail({taskId:e.taskId,task:e.task,errorCategory:n,failureReason:`Validation failed: ${e.errors.join("; ")}`})}async handleLeaseOrPhaseError(e,n){let r=this.classifyError(n);if(r.category==="lease_conflict")return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:"lease_conflict",errorMessage:r.message}),{status:"failed",taskId:e,errorCategory:"lease_conflict",failureReason:r.message,attemptCount:1};this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:r.category,errorMessage:r.message});let i={taskId:e,taskKind:"rollout_reviewer",status:"leased",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),attemptCount:1,maxAttempts:this.resolvedOptions.defaultMaxAttempts};return this.retryOrFail({taskId:e,task:i,errorCategory:r.category,failureReason:r.message})}async handlePostLeaseError(e,n,r){let i=this.classifyError(r);return this.emitRolloutReviewerEvent("rollout_reviewer_run_failed",e,{errorCategory:i.category,errorMessage:i.message}),this.retryOrFail({taskId:e,task:n,errorCategory:i.category,failureReason:i.message})}async retryOrFail(e){if(this.isPermanentError(e.errorCategory)){try{await this.stateManager.markTaskFailed(e.taskId,e.errorCategory)}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_failed_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_failed",e.taskId,{errorCategory:e.errorCategory,attemptCount:e.task.attemptCount,failureReason:e.failureReason}),this.phase=Hn.Failed,{status:"failed",taskId:e.taskId,errorCategory:e.errorCategory,failureReason:e.failureReason,attemptCount:e.task.attemptCount}}if(this.stateManager.getRetryPolicy().shouldRetry(e.task)){try{await this.stateManager.markTaskRetryWait(e.taskId,e.errorCategory)}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_retry_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_retried",e.taskId,{errorCategory:e.errorCategory,attemptCount:e.task.attemptCount}),this.phase=Hn.RetryWaiting,{status:"retried",taskId:e.taskId,errorCategory:e.errorCategory,failureReason:e.failureReason,attemptCount:e.task.attemptCount}}try{await this.stateManager.markTaskFailed(e.taskId,"max_attempts_exceeded")}catch(r){return this.emitRolloutReviewerEvent("rollout_reviewer_mark_failed_error",e.taskId,{errorCategory:"storage_unavailable",attemptCount:e.task.attemptCount,errorMessage:r instanceof Error?r.message:String(r)}),{status:"failed",taskId:e.taskId,errorCategory:"storage_unavailable",failureReason:`State manager error: ${e.failureReason}`,attemptCount:e.task.attemptCount}}return this.emitRolloutReviewerEvent("rollout_reviewer_task_failed",e.taskId,{errorCategory:"max_attempts_exceeded",attemptCount:e.task.attemptCount,failureReason:`Max attempts exceeded: ${e.failureReason}`}),this.phase=Hn.Failed,{status:"failed",taskId:e.taskId,errorCategory:"max_attempts_exceeded",failureReason:`Max attempts exceeded: ${e.failureReason}`,attemptCount:e.task.attemptCount}}isPermanentError(e){return HMn.has(e)}classifyError(e){return e instanceof Y?{category:e.category,message:e.message}:e instanceof Error?{category:"execution_failed",message:e.message}:{category:"execution_failed",message:String(e)}}mapRunStatusToErrorCategory(e){switch(e){case"failed":return"execution_failed";case"timed_out":return"timeout";case"cancelled":return"cancelled";default:return"execution_failed"}}sleep(e){return new Promise(n=>setTimeout(n,e))}};function Tye(t,e){let n=e?.logger?.warn??(r=>console.warn(r));return{listActivePrinciples:async()=>{try{let r=t.tree.principles??{};return Object.values(r).filter(o=>o.status!=="active"?!1:typeof o.id!="string"||typeof o.text!="string"||o.text.length===0?(n(`[l2_dreamer] skipping active principle with missing id or empty text: ${JSON.stringify(o).slice(0,120)}`),!1):!0).map(o=>({id:o.id,statement:o.text}))}catch(r){let i=r instanceof Error?r.message:String(r);return n(`[l2_dreamer] listActivePrinciples degraded \u2014 no internalized principles loaded: ${i}`),[]}}}}async function RF(t){let e=new zp({workspaceDir:t.workspaceDir,readonly:t.readonly??!1}),n=!1;try{await e.initialize()}catch(r){try{await e.close()}catch{}throw r}return{stateManager:e,close:async()=>{n||(n=!0,await e.close())}}}Na();Bo();var J6=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"];function kye(t,e){return e.enabledChannels.has(t.channel)?e.actionableTaskKinds.has(t.taskKind)?{actionable:!0}:{actionable:!1,reason:"task_kind_not_mvp_actionable",diagnostic:{taskId:t.taskId,taskKind:t.taskKind,channel:t.channel,reason:"task_kind_not_mvp_actionable"}}:{actionable:!1,reason:"channel_disabled",diagnostic:{taskId:t.taskId,taskKind:t.taskKind,channel:t.channel,reason:"channel_disabled"}}}var uD=3;function jMn(t,e){if(t.status!=="pending"||!t.leaseOwner||!t.leaseExpiresAt)return!1;let n=new Date(t.leaseExpiresAt).getTime();return Number.isNaN(n)?!1:n>e}var DF=class{stateManager;policy=null;constructor(e){this.stateManager=e}setPolicy(e){this.policy=e}async getSnapshot(){let[e,n]=await Promise.all([this.stateManager.listTasks({status:"pending"}),this.stateManager.listTasks({status:"retry_wait"})]),r=[...e,...n].filter(J=>sg(J.taskKind)),i=0,o=0,s={},a={},c=0,l=[],u=[],d=[],p=[],m=[],g=[],A=[],v=[],E=0,w=0,k=0,C=0,D=0,R=0,F=0,L=Date.now();for(let J of r){let V=Et(J);if(!V){c++,E++,l.length<uD&&l.push(J.taskId);continue}if(this.policy){let oe=kye({taskId:V.taskId,taskKind:V.taskKind,channel:V.channel},this.policy);if(!oe.actionable){v.push(oe.diagnostic);continue}}if(F++,V.status==="pending"?i++:V.status==="retry_wait"&&o++,s[V.taskKind]=(s[V.taskKind]??0)+1,a[V.channel]=(a[V.channel]??0)+1,jMn(V,L)){C++,p.length<uD&&p.push({taskId:V.taskId,taskKind:V.taskKind,leaseOwner:V.leaseOwner??"",leaseExpiresAt:V.leaseExpiresAt??""});continue}if(JO(V)){R++,g.length<uD&&g.push({taskId:V.taskId,taskKind:V.taskKind,rejectionCount:V.rejectionCount});continue}let Ee=await this.resolveDependencies(V.dependencyTaskIds),Re=yF(V,Ee,L);if(Re.decision==="retry_wait_pending"){D++,m.length<uD&&m.push({taskId:V.taskId,taskKind:V.taskKind,retryAfter:Re.retryAfter??V.leaseExpiresAt??""});continue}if(Re.decision==="blocked"){w++,u.length<uD&&u.push({taskId:V.taskId,taskKind:V.taskKind,blockedBy:Re.blockedBy});continue}if(Re.decision==="dependency_failed"){k++,d.length<uD&&d.push({taskId:V.taskId,taskKind:V.taskKind,failedDependencies:Re.failedDependencies});continue}A.push({taskId:V.taskId,taskKind:V.taskKind,channel:V.channel})}let P=F+E,q=null;return A.length===0&&(P===0?q={reason:"no_candidates",inspectedCount:P}:q={reason:R>0&&R>=E&&R>=k&&R>=w&&R>=D&&R>=C?"all_unresolvable":D>0&&D>=E&&D>=k&&D>=w?"all_retry_wait_pending":C>0&&C>=E&&C>=k&&C>=w?"all_lease_conflict":E>0&&E>=k&&E>=w?"all_hydration_failed":k>=w?"all_dependency_failed":"all_blocked",inspectedCount:P}),{pendingCount:i,retryWaitCount:o,countsByTaskKind:s,countsByChannel:a,invalidMetadataCount:c,sampleInvalidTaskIds:l,blockedSummary:{count:w,samples:u},dependencyFailedSummary:{count:k,samples:d},leaseConflictSummary:{count:C,samples:p,sampleTaskIds:p.map(J=>J.taskId)},retryWaitPendingSummary:{count:D,samples:m},unresolvableSummary:{count:R,samples:g},readyTasks:A,noReadyTasks:q,suppressedTasks:v}}async resolveDependencies(e){return e.length===0?[]:(await Promise.allSettled(e.map(r=>this.stateManager.getTask(r)))).filter(r=>r.status==="fulfilled").map(r=>r.value).filter(r=>r!==null)}async close(){}};var X6=["dreamer"],Rye=["dreamer","philosopher","scribe","artificer","evaluator","rollout_reviewer"];function Dye(t){let e=t.maxTasksPerCycle??1,n=t.runnerKinds??X6;return t.autoConsumerEnabled?t.readyTaskCount===0?{shouldConsume:!1,maxTasksPerCycle:e,runnerKinds:n,reason:"no_ready_tasks"}:{shouldConsume:!0,maxTasksPerCycle:Math.min(e,t.readyTaskCount),runnerKinds:n}:{shouldConsume:!1,maxTasksPerCycle:0,runnerKinds:[],reason:"auto_consumer_disabled",nextAction:'pd runtime internalization run-once --workspace "<workspace>" --runner dreamer --runtime config --json'}}Na();Bo();Bo();function ZMn(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function NI(t,e){if(!Object.hasOwn(t,e))return null;let n=t[e];return typeof n=="string"&&n.length>0?n:null}function eBn(t){if(typeof t!="string")return null;let e=["prompt","defer_archive","code_tool_hook"];for(let n of e)if(t===n)return n;return null}function Z6(t){if(!ZMn(t))return null;let e=eBn(t.channel);if(!e)return null;let n=NI(t,"activation_id"),r=NI(t,"idempotency_key"),i=NI(t,"artifact_id"),o=NI(t,"action"),s=NI(t,"activated_at");if(!n||!r||!i||!o||!s)return null;let a=NI(t,"target_ref"),c=NI(t,"deactivated_at"),l=NI(t,"promoted_at");return{activationId:n,idempotencyKey:r,artifactId:i,channel:e,action:o,targetRef:a??"",activatedAt:s,promotedAt:l??null,deactivatedAt:c??null}}var Dh=class{connection;constructor(e){this.connection=e}async getActivationStatus(e){let r=this.connection.getDb().prepare(`
|
|
1794
1794
|
SELECT activation_id, idempotency_key, artifact_id, channel, action, target_ref, activated_at, promoted_at, deactivated_at
|
|
1795
1795
|
FROM activations
|
|
1796
1796
|
WHERE idempotency_key = ? AND deactivated_at IS NULL
|