UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

43 lines (42 loc) • 2.01 kB
import { n as openDoctorStateSchemaReadAdmission } from "./openclaw-state-db-doctor-schema-BlUz8kWR.mjs"; import { r as inspectUpdateRepairDriverAdmission } from "./update-run-activity-CykyDahG.mjs"; import { d as recordUpdateRunRepairContinuation } from "./update-run-ledger-jBhhLo0P.mjs"; import { t as createUpdateRunAdmissionReader } from "./update-run-reader-B7x8dkVs.mjs"; import "./update-control-plane-sentinel-Du9790-7.mjs"; //#region src/commands/doctor-maintenance-admission.ts function resolveDoctorUpdateAdmission(env, boundRunId) { const inheritedRunId = (boundRunId ?? env["OPENCLAW_UPDATE_RUN_ID"])?.trim(); const readRuns = createUpdateRunAdmissionReader({ active: true, limit: 100, includeRunId: inheritedRunId }, { env }, openDoctorStateSchemaReadAdmission); const readAdmission = () => { const runs = readRuns(); const admission = inspectUpdateRepairDriverAdmission(runs, inheritedRunId); if (admission.kind === "conflict") throw new Error(admission.message); return admission; }; const admission = readAdmission(); const continuation = admission.kind === "continuation" ? admission.run : admission.runs.find((run) => run.runId === inheritedRunId); return { assertCurrent: () => { readAdmission(); }, readContinuation: () => { const current = readAdmission(); return current.kind === "continuation" ? current.run : void 0; }, recordContinuation: () => { const current = readAdmission(); if (continuation?.steps.some((step) => step.step === "finalize:repair-continuation")) { const run = current.kind === "continuation" ? current.run : current.runs.find((entry) => entry.runId === continuation.runId); const step = current.kind === "continuation" ? "finalize:repair-continuation" : "finalize:repair-takeover"; if (run?.steps.some((entry) => entry.step === step)) return; recordUpdateRunRepairContinuation(continuation.runId, inheritedRunId, { env }); } } }; } //#endregion export { resolveDoctorUpdateAdmission as t };