openmeld 0.3.271 → 0.3.273
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/dist/{add-me-membership-DwE2T84q.js → add-me-membership-BG7xTEI1.js} +2 -2
- package/dist/{add-me-membership-DwE2T84q.js.map → add-me-membership-BG7xTEI1.js.map} +1 -1
- package/dist/{agents-CrRzEfkX.js → agents-1GlXlx6C.js} +9 -9
- package/dist/{agents-CrRzEfkX.js.map → agents-1GlXlx6C.js.map} +1 -1
- package/dist/{api-client-foundation-HEsvF4KD.js → api-client-foundation-Dp3dg6qn.js} +5 -5
- package/dist/{api-client-foundation-HEsvF4KD.js.map → api-client-foundation-Dp3dg6qn.js.map} +1 -1
- package/dist/{api-client-foundation-Brg4u2d7.js → api-client-foundation-GJkHzahS.js} +1 -1
- package/dist/auth-session-BvCCb6yu.js +3 -0
- package/dist/{auth-session-CZyzuPIi.js → auth-session-DYDO5gN9.js} +2 -2
- package/dist/{auth-session-CZyzuPIi.js.map → auth-session-DYDO5gN9.js.map} +1 -1
- package/dist/{channel-DSRmEJ1D.js → channel-BpNJdH9N.js} +4 -4
- package/dist/{channel-DSRmEJ1D.js.map → channel-BpNJdH9N.js.map} +1 -1
- package/dist/{client-6NxLAJ9r.js → client-iqnaeeAE.js} +2 -2
- package/dist/{client-6NxLAJ9r.js.map → client-iqnaeeAE.js.map} +1 -1
- package/dist/{cloud-computer-CbvdkjSF.js → cloud-computer-0wGthXDM.js} +5 -5
- package/dist/{cloud-computer-CbvdkjSF.js.map → cloud-computer-0wGthXDM.js.map} +1 -1
- package/dist/{command-logPqA8K.js → command-DGIQVL02.js} +17 -17
- package/dist/{command-logPqA8K.js.map → command-DGIQVL02.js.map} +1 -1
- package/dist/{computer-connection-review-CLn2qrBs.js → computer-connection-review-DZc6sX-f.js} +4 -4
- package/dist/{computer-connection-review-CLn2qrBs.js.map → computer-connection-review-DZc6sX-f.js.map} +1 -1
- package/dist/{computer-disconnect-DhbPpbIb.js → computer-disconnect-D6otPdU9.js} +7 -7
- package/dist/{computer-disconnect-DhbPpbIb.js.map → computer-disconnect-D6otPdU9.js.map} +1 -1
- package/dist/{computer-setup-continuation-Cefe6uV-.js → computer-setup-continuation-DqNDWr40.js} +5 -5
- package/dist/{computer-setup-continuation-Cefe6uV-.js.map → computer-setup-continuation-DqNDWr40.js.map} +1 -1
- package/dist/{computer-update-wait-DH5BbLYF.js → computer-update-wait-ak_zmzkm.js} +4 -4
- package/dist/{computer-update-wait-DH5BbLYF.js.map → computer-update-wait-ak_zmzkm.js.map} +1 -1
- package/dist/{context-Dx9P5CHq.js → context-Dr1KyPnd.js} +5 -5
- package/dist/{context-Dx9P5CHq.js.map → context-Dr1KyPnd.js.map} +1 -1
- package/dist/{control-plane-B7LNDcqH.js → control-plane-ybtdmnjp.js} +2 -2
- package/dist/control-plane-ybtdmnjp.js.map +1 -0
- package/dist/{daemon-device-id-i0QISq4o.js → daemon-device-id-Be2uXs8_.js} +4 -4
- package/dist/{daemon-device-id-i0QISq4o.js.map → daemon-device-id-Be2uXs8_.js.map} +1 -1
- package/dist/{daemon-lifecycle-journal-DQ-R93Pl.js → daemon-lifecycle-journal-H5xwKNuR.js} +4 -4
- package/dist/{daemon-lifecycle-journal-DQ-R93Pl.js.map → daemon-lifecycle-journal-H5xwKNuR.js.map} +1 -1
- package/dist/{daemon-service-runtime-B6TqOIbY.js → daemon-service-runtime-C9LE4USp.js} +2 -2
- package/dist/{daemon-service-runtime-B6TqOIbY.js.map → daemon-service-runtime-C9LE4USp.js.map} +1 -1
- package/dist/{dispatch-owned-runtime-BeuqU7JS.js → dispatch-owned-runtime-CkRTsbC0.js} +10 -10
- package/dist/dispatch-owned-runtime-CkRTsbC0.js.map +1 -0
- package/dist/{dist-CzMcb_Ep.js → dist-BnwTzZRn.js} +2 -2
- package/dist/{dist-DIphcm0P.js → dist-C1UsG5Yt.js} +1 -1
- package/dist/{dist-D_ChD876.js → dist-MZ3BDdeh.js} +10 -6
- package/dist/dist-MZ3BDdeh.js.map +1 -0
- package/dist/dist-T2-Tss6O.js +34 -0
- package/dist/{dist-CLaPWoWc.js → dist-zSTmRrSr.js} +6 -4
- package/dist/dist-zSTmRrSr.js.map +1 -0
- package/dist/{dual-view-guide-catalog-CebO3Cu8.js → dual-view-guide-catalog-BaTapncw.js} +4 -4
- package/dist/{dual-view-guide-catalog-CebO3Cu8.js.map → dual-view-guide-catalog-BaTapncw.js.map} +1 -1
- package/dist/{elapsed-time-COPcqBjI.js → elapsed-time-XW9bQHob.js} +2 -2
- package/dist/{elapsed-time-COPcqBjI.js.map → elapsed-time-XW9bQHob.js.map} +1 -1
- package/dist/{entry-C1xrKsRH.js → entry-D1pzFY4O.js} +8 -8
- package/dist/{entry-C1xrKsRH.js.map → entry-D1pzFY4O.js.map} +1 -1
- package/dist/{installation-inventory-DZDoKAMY.js → installation-inventory-7HJQH-zA.js} +3 -3
- package/dist/{installation-inventory-DZDoKAMY.js.map → installation-inventory-7HJQH-zA.js.map} +1 -1
- package/dist/{installer-DNNq5lNL.js → installer-CztCvh78.js} +2 -2
- package/dist/{installer-DNNq5lNL.js.map → installer-CztCvh78.js.map} +1 -1
- package/dist/{meta-api--BTgpaqm.js → meta-api-1W60B2MB.js} +7 -7
- package/dist/{meta-api--BTgpaqm.js.map → meta-api-1W60B2MB.js.map} +1 -1
- package/dist/{openmeld-DnL_hJII.js → openmeld-B7P1VchG.js} +38 -38
- package/dist/{openmeld-DnL_hJII.js.map → openmeld-B7P1VchG.js.map} +1 -1
- package/dist/{openmeld-environment-target-jmK2YgeZ.js → openmeld-environment-target-DR4t4qHn.js} +2 -2
- package/dist/{openmeld-environment-target-jmK2YgeZ.js.map → openmeld-environment-target-DR4t4qHn.js.map} +1 -1
- package/dist/{openmeld-maintenance-worker-mUCMsbaG.js → openmeld-maintenance-worker-Bomlbax_.js} +9 -9
- package/dist/{openmeld-maintenance-worker-mUCMsbaG.js.map → openmeld-maintenance-worker-Bomlbax_.js.map} +1 -1
- package/dist/{openmeld-tools-update-coordinator-B65qVrCc.js → openmeld-tools-update-coordinator-C3vujqsJ.js} +14 -14
- package/dist/{openmeld-tools-update-coordinator-B65qVrCc.js.map → openmeld-tools-update-coordinator-C3vujqsJ.js.map} +1 -1
- package/dist/{openmeld-tools-update-join-BAExtMrp.js → openmeld-tools-update-join-CzvVNGj8.js} +2 -2
- package/dist/{openmeld-tools-update-join-BAExtMrp.js.map → openmeld-tools-update-join-CzvVNGj8.js.map} +1 -1
- package/dist/openmeld.js +5 -5
- package/dist/{prepare-provider-runtime-B2g66DKB.js → prepare-provider-runtime-DuhDkbSk.js} +21 -17
- package/dist/prepare-provider-runtime-DuhDkbSk.js.map +1 -0
- package/dist/{prepare-session-executor-DJXre9k5.js → prepare-session-executor-C5GV5WQN.js} +19 -19
- package/dist/{prepare-session-executor-DJXre9k5.js.map → prepare-session-executor-C5GV5WQN.js.map} +1 -1
- package/dist/{presenter-CfWueHEB.js → presenter-CRyQ8Ez-.js} +2 -2
- package/dist/{presenter-CfWueHEB.js.map → presenter-CRyQ8Ez-.js.map} +1 -1
- package/dist/{process-channel-F22yNYgh.js → process-channel-9JPzc6mj.js} +2 -2
- package/dist/{process-channel-F22yNYgh.js.map → process-channel-9JPzc6mj.js.map} +1 -1
- package/dist/{runtime-Bpy7aAhe.js → runtime-BiaZzyiT.js} +23 -23
- package/dist/runtime-BiaZzyiT.js.map +1 -0
- package/dist/{runtime-agent-controller-reporting-submission-Fnk9TZkc.js → runtime-agent-controller-reporting-submission-Daje9gTj.js} +7 -7
- package/dist/{runtime-agent-controller-reporting-submission-Fnk9TZkc.js.map → runtime-agent-controller-reporting-submission-Daje9gTj.js.map} +1 -1
- package/dist/{runtime-transport-CzsmHWDa.js → runtime-transport-BL3oZs5F.js} +2 -2
- package/dist/{runtime-transport-CzsmHWDa.js.map → runtime-transport-BL3oZs5F.js.map} +1 -1
- package/dist/{sensitive-operation-credentials-CmDLTj46.js → sensitive-operation-credentials-BLefg0Rk.js} +3 -3
- package/dist/{sensitive-operation-credentials-CmDLTj46.js.map → sensitive-operation-credentials-BLefg0Rk.js.map} +1 -1
- package/dist/{service-CvtmHkgm.js → service-D73xEKnK.js} +26 -26
- package/dist/service-D73xEKnK.js.map +1 -0
- package/dist/{service-account-authorization-BeDfJWYF.js → service-account-authorization-BA0ijRyM.js} +3 -3
- package/dist/{service-account-authorization-BeDfJWYF.js.map → service-account-authorization-BA0ijRyM.js.map} +1 -1
- package/dist/{service-account-control-BCXyjPd4.js → service-account-control-D1YguKg5.js} +9 -9
- package/dist/{service-account-control-BCXyjPd4.js.map → service-account-control-D1YguKg5.js.map} +1 -1
- package/dist/{service-control-capabilities-DoohzFnP.js → service-control-capabilities-BpTOgN55.js} +1 -1
- package/dist/{service-control-capabilities-B8jVDtCH.js → service-control-capabilities-Dsjw1Is_.js} +3 -3
- package/dist/{service-control-capabilities-B8jVDtCH.js.map → service-control-capabilities-Dsjw1Is_.js.map} +1 -1
- package/dist/{state-DPBVWBvC.js → state-BtqGDJ-k.js} +2 -2
- package/dist/{state-DPBVWBvC.js.map → state-BtqGDJ-k.js.map} +1 -1
- package/dist/{updates-api-BQ3g_5Vs.js → updates-api-Dfp3B7dk.js} +13 -13
- package/dist/{updates-api-BQ3g_5Vs.js.map → updates-api-Dfp3B7dk.js.map} +1 -1
- package/dist/{upgrade-BVYWxG52.js → upgrade-BofP9etm.js} +10 -10
- package/dist/{upgrade-BVYWxG52.js.map → upgrade-BofP9etm.js.map} +1 -1
- package/dist/upgrade-u-vjbZwN.js +3 -0
- package/dist/windows/openmeld-windows-process.exe +0 -0
- package/package.json +9 -9
- package/dist/auth-session-Bp6aRtzm.js +0 -3
- package/dist/control-plane-B7LNDcqH.js.map +0 -1
- package/dist/dispatch-owned-runtime-BeuqU7JS.js.map +0 -1
- package/dist/dist-B5fo7evs.js +0 -34
- package/dist/dist-CLaPWoWc.js.map +0 -1
- package/dist/dist-D_ChD876.js.map +0 -1
- package/dist/prepare-provider-runtime-B2g66DKB.js.map +0 -1
- package/dist/runtime-Bpy7aAhe.js.map +0 -1
- package/dist/service-CvtmHkgm.js.map +0 -1
- package/dist/upgrade-DAzexyTq.js +0 -3
package/dist/{openmeld-tools-update-join-BAExtMrp.js → openmeld-tools-update-join-CzvVNGj8.js}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { F as resolveOpenMeldRootDir } from "./paths-De9xdA2h.js";
|
|
4
4
|
import { a as readPendingDaemonServiceUpdate, i as readLastDaemonServiceUpdate } from "./daemon-service-update-state-W63dRzB9.js";
|
|
5
|
-
import { r as requestLocalDaemonServiceUpdateReadiness } from "./client-
|
|
5
|
+
import { r as requestLocalDaemonServiceUpdateReadiness } from "./client-iqnaeeAE.js";
|
|
6
6
|
import { a as readPendingOpenMeldToolsUpdateAttempt, i as readLastOpenMeldToolsUpdateAttempt } from "./openmeld-tools-update-attempt-state-B3ctJz-T.js";
|
|
7
7
|
import { i as resolvePersistedOpenMeldToolsUpdateFailure } from "./openmeld-tools-update-failure-tKmsDdeP.js";
|
|
8
8
|
import { setTimeout } from "node:timers/promises";
|
|
@@ -121,4 +121,4 @@ async function readUpdateWorkReadiness(operation, input) {
|
|
|
121
121
|
//#endregion
|
|
122
122
|
export { resolveOpenMeldToolsUpdateOperationProjection as i, waitForExternalOpenMeldToolsUpdate as n, waitForOpenMeldToolsUpdateCompletion as r, resolveExternalOpenMeldToolsUpdate as t };
|
|
123
123
|
|
|
124
|
-
//# sourceMappingURL=openmeld-tools-update-join-
|
|
124
|
+
//# sourceMappingURL=openmeld-tools-update-join-CzvVNGj8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openmeld-tools-update-join-BAExtMrp.js","names":["sleep"],"sources":["../src/local-service/maintenance/openmeld-tools-update-operation.ts","../src/local-service/maintenance/openmeld-tools-update-join.ts"],"sourcesContent":["import type {\n DaemonServiceUpdateJob,\n OpenMeldToolsUpdateAttempt,\n OpenMeldToolsUpdateFailureCode,\n OpenMeldToolsUpdateOperation,\n} from \"@openmeld/schemas/types\";\nimport type { OpenMeldPathResolutionInput } from \"../../config/paths\";\nimport {\n readLastDaemonServiceUpdate,\n readPendingDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-state\";\nimport {\n readLastOpenMeldToolsUpdateAttempt,\n readPendingOpenMeldToolsUpdateAttempt,\n} from \"./openmeld-tools-update-attempt-state\";\nimport { resolvePersistedOpenMeldToolsUpdateFailure } from \"./openmeld-tools-update-failure\";\n\nconst TERMINAL_VISIBILITY_MS = 24 * 60 * 60 * 1000;\n\nexport type OpenMeldToolsUpdateOperationProjection = {\n failureCode: OpenMeldToolsUpdateFailureCode | null;\n operation: OpenMeldToolsUpdateOperation;\n};\n\nexport async function resolveOpenMeldToolsUpdateOperation(\n pathInput: OpenMeldPathResolutionInput = {},\n nowMs = Date.now()\n): Promise<OpenMeldToolsUpdateOperation | null> {\n const projection = await resolveOpenMeldToolsUpdateOperationProjection(\n pathInput,\n nowMs\n );\n return projection?.operation ?? null;\n}\n\nexport async function resolveOpenMeldToolsUpdateOperationProjection(\n pathInput: OpenMeldPathResolutionInput = {},\n nowMs = Date.now()\n): Promise<OpenMeldToolsUpdateOperationProjection | null> {\n const [servicePending, toolsPending] = await Promise.all([\n readPendingDaemonServiceUpdate(pathInput),\n readPendingOpenMeldToolsUpdateAttempt(pathInput),\n ]);\n if (servicePending) {\n return projectServiceJob(servicePending);\n }\n if (toolsPending) {\n return projectToolsAttempt(toolsPending);\n }\n\n const [serviceLast, toolsLast] = await Promise.all([\n readLastDaemonServiceUpdate(pathInput),\n readLastOpenMeldToolsUpdateAttempt(pathInput),\n ]);\n const candidates = [\n ...(serviceLast ? [projectServiceJob(serviceLast)] : []),\n ...(toolsLast ? [projectToolsAttempt(toolsLast)] : []),\n ]\n .filter((candidate) => isRecentTerminal(candidate.operation, nowMs))\n .sort(\n (a, b) =>\n Date.parse(b.operation.updatedAt) - Date.parse(a.operation.updatedAt)\n );\n return candidates[0] ?? null;\n}\n\nfunction projectToolsAttempt(\n attempt: OpenMeldToolsUpdateAttempt\n): OpenMeldToolsUpdateOperationProjection {\n const terminalFailure =\n attempt.operation.phase === \"needs_help\" ||\n attempt.operation.phase === \"restored\";\n return {\n failureCode: terminalFailure\n ? (resolvePersistedOpenMeldToolsUpdateFailure(attempt.errorMessage) ??\n \"cli.update.failed\")\n : null,\n operation: attempt.operation,\n };\n}\n\nfunction projectServiceJob(\n job: DaemonServiceUpdateJob\n): OpenMeldToolsUpdateOperationProjection {\n return {\n failureCode:\n job.phase === \"needs_help\" || job.phase === \"restored\"\n ? \"cli.update.service_alignment_failed\"\n : null,\n operation: {\n operationId: job.jobId,\n phase: job.phase,\n requestSource: job.requestSource,\n requestedAt: job.requestedAt,\n ...(job.targetCliVersion\n ? { targetCliVersion: job.targetCliVersion }\n : {}),\n ...(job.targetServiceVersion\n ? { targetServiceVersion: job.targetServiceVersion }\n : {}),\n targetVersion: job.targetVersion,\n updatedAt: job.updatedAt,\n urgency: job.urgency,\n },\n };\n}\n\nfunction isRecentTerminal(\n operation: OpenMeldToolsUpdateOperation,\n nowMs: number\n): boolean {\n if (\n operation.phase !== \"updated\" &&\n operation.phase !== \"restored\" &&\n operation.phase !== \"needs_help\"\n ) {\n return false;\n }\n const updatedAtMs = Date.parse(operation.updatedAt);\n return (\n Number.isFinite(updatedAtMs) &&\n nowMs >= updatedAtMs &&\n nowMs - updatedAtMs <= TERMINAL_VISIBILITY_MS\n );\n}\n","import { setTimeout as sleep } from \"node:timers/promises\";\nimport type {\n OpenMeldDaemonServiceUpdateReadinessPayload,\n OpenMeldToolsUpdateOperation,\n} from \"@openmeld/schemas/types\";\nimport {\n type OpenMeldPathResolutionInput,\n resolveOpenMeldRootDir,\n} from \"../../config/paths\";\nimport { requestLocalDaemonServiceUpdateReadiness } from \"../control-plane/client\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { resolveOpenMeldToolsUpdateOperation } from \"./openmeld-tools-update-operation\";\n\nconst DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS = 500;\n\n// This is an observer of the existing durable operation, never an updater.\n// The OS-owned worker continues even if this caller exits while waiting.\nexport async function waitForOpenMeldToolsUpdateCompletion(\n input: {\n operationId?: string;\n timeoutMs?: number;\n pollIntervalMs?: number;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n onObservation?: (\n operation: OpenMeldToolsUpdateOperation,\n readiness: OpenMeldDaemonServiceUpdateReadinessPayload | null\n ) => void;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n let operationId = input.operationId ?? null;\n await waitForExternalOpenMeldToolsUpdate({\n completedServiceUpdateIsIdle: true,\n timeoutMs: input.timeoutMs,\n pollIntervalMs: input.pollIntervalMs,\n onWaiting: async (operation) => {\n if (operationId !== null && operationId !== operation.operationId) {\n throw new Error(\n `OpenMeld update ${operationId} was replaced before its completion could be verified.`\n );\n }\n operationId = operation.operationId;\n await input.onWaiting?.(operation);\n },\n onObservation: input.onObservation,\n });\n const completed = await resolveOpenMeldToolsUpdateOperation();\n if (\n operationId !== null &&\n (completed?.operationId !== operationId || completed.phase !== \"updated\")\n ) {\n throw new Error(\n `OpenMeld update ${operationId} did not finish successfully (${completed?.phase ?? \"completion evidence unavailable\"}).`\n );\n }\n return completed;\n}\n\nexport async function resolveExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n // The coordinator persists the Service job before discarding the tools\n // attempt. Reading in this order prevents observers from seeing a false idle\n // gap while ownership moves from the CLI download to the Service worker.\n const toolsAttempt = await readPendingOpenMeldToolsUpdateAttempt(input);\n const serviceJob = await readPendingDaemonServiceUpdate(input);\n if (\n serviceJob &&\n serviceJob.jobId !== (input.currentOperationId ?? null) &&\n !(input.completedServiceUpdateIsIdle && serviceJob.phase === \"updated\")\n ) {\n return {\n operationId: serviceJob.jobId,\n phase: serviceJob.phase,\n requestSource: serviceJob.requestSource,\n requestedAt: serviceJob.requestedAt,\n ...(serviceJob.targetCliVersion\n ? { targetCliVersion: serviceJob.targetCliVersion }\n : {}),\n ...(serviceJob.targetServiceVersion\n ? { targetServiceVersion: serviceJob.targetServiceVersion }\n : {}),\n targetVersion: serviceJob.targetVersion,\n updatedAt: serviceJob.updatedAt,\n urgency: serviceJob.urgency,\n };\n }\n if (\n toolsAttempt &&\n toolsAttempt.operation.operationId !== (input.currentOperationId ?? null)\n ) {\n return toolsAttempt.operation;\n }\n return null;\n}\n\nexport async function waitForExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n pollIntervalMs?: number;\n unclaimedTimeoutMs?: number;\n timeoutMs?: number;\n onObservation?: (\n operation: OpenMeldToolsUpdateOperation,\n readiness: OpenMeldDaemonServiceUpdateReadinessPayload | null\n ) => void;\n } = {}\n): Promise<void> {\n let reportedOperation: string | null = null;\n const deadline = Date.now() + (input.timeoutMs ?? Number.POSITIVE_INFINITY);\n let unclaimedSince: number | null = null;\n while (true) {\n const operation = await resolveExternalOpenMeldToolsUpdate(input);\n if (!operation) {\n return;\n }\n assertUpdateObservationActive(deadline);\n if (input.onObservation) {\n // Reuse the Service's public local control projection. Required updates\n // enter `updating` before drain, so the durable phase alone cannot say\n // whether accepted work still owns the wait. This read never extends\n // the observer deadline or reserves the setup mutation lock.\n const readiness = await readUpdateWorkReadiness(operation, input);\n input.onObservation(operation, readiness);\n }\n if (input.unclaimedTimeoutMs !== undefined) {\n const pending = await readPendingOpenMeldToolsUpdateAttempt(input);\n if (\n pending?.operation.operationId === operation.operationId &&\n pending.attempts === 0\n ) {\n unclaimedSince ??= Date.now();\n if (Date.now() - unclaimedSince >= input.unclaimedTimeoutMs) {\n throw new Error(\n \"OpenMeld's background updater did not start. Run openmeld doctor to check the background service, then try setup again.\"\n );\n }\n } else {\n unclaimedSince = null;\n }\n }\n const observationKey = `${operation.operationId}:${operation.phase}`;\n if (reportedOperation !== observationKey) {\n reportedOperation = observationKey;\n await input.onWaiting?.(operation);\n }\n await sleep(\n Math.max(1, input.pollIntervalMs ?? DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS)\n );\n }\n}\n\nfunction assertUpdateObservationActive(deadline: number): void {\n if (Date.now() >= deadline) {\n throw new Error(\n \"OpenMeld is still waiting for the background update. Current tasks and the update continue. Check their status, then try connecting again.\"\n );\n }\n}\n\nasync function readUpdateWorkReadiness(\n operation: OpenMeldToolsUpdateOperation,\n input: OpenMeldPathResolutionInput\n) {\n // The local control client is bound to this process's lane. Never query a\n // different Service while inspecting another root's durable update files.\n if (resolveOpenMeldRootDir(input) !== resolveOpenMeldRootDir()) {\n return null;\n }\n const pending = await readPendingDaemonServiceUpdate(input);\n if (\n pending?.jobId !== operation.operationId ||\n (pending.phase !== \"updating\" && pending.phase !== \"waiting_for_work\")\n ) {\n return null;\n }\n return await requestLocalDaemonServiceUpdateReadiness({\n timeoutMs: 2000,\n }).catch(() => null);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openmeld-tools-update-join-CzvVNGj8.js","names":["sleep"],"sources":["../src/local-service/maintenance/openmeld-tools-update-operation.ts","../src/local-service/maintenance/openmeld-tools-update-join.ts"],"sourcesContent":["import type {\n DaemonServiceUpdateJob,\n OpenMeldToolsUpdateAttempt,\n OpenMeldToolsUpdateFailureCode,\n OpenMeldToolsUpdateOperation,\n} from \"@openmeld/schemas/types\";\nimport type { OpenMeldPathResolutionInput } from \"../../config/paths\";\nimport {\n readLastDaemonServiceUpdate,\n readPendingDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-state\";\nimport {\n readLastOpenMeldToolsUpdateAttempt,\n readPendingOpenMeldToolsUpdateAttempt,\n} from \"./openmeld-tools-update-attempt-state\";\nimport { resolvePersistedOpenMeldToolsUpdateFailure } from \"./openmeld-tools-update-failure\";\n\nconst TERMINAL_VISIBILITY_MS = 24 * 60 * 60 * 1000;\n\nexport type OpenMeldToolsUpdateOperationProjection = {\n failureCode: OpenMeldToolsUpdateFailureCode | null;\n operation: OpenMeldToolsUpdateOperation;\n};\n\nexport async function resolveOpenMeldToolsUpdateOperation(\n pathInput: OpenMeldPathResolutionInput = {},\n nowMs = Date.now()\n): Promise<OpenMeldToolsUpdateOperation | null> {\n const projection = await resolveOpenMeldToolsUpdateOperationProjection(\n pathInput,\n nowMs\n );\n return projection?.operation ?? null;\n}\n\nexport async function resolveOpenMeldToolsUpdateOperationProjection(\n pathInput: OpenMeldPathResolutionInput = {},\n nowMs = Date.now()\n): Promise<OpenMeldToolsUpdateOperationProjection | null> {\n const [servicePending, toolsPending] = await Promise.all([\n readPendingDaemonServiceUpdate(pathInput),\n readPendingOpenMeldToolsUpdateAttempt(pathInput),\n ]);\n if (servicePending) {\n return projectServiceJob(servicePending);\n }\n if (toolsPending) {\n return projectToolsAttempt(toolsPending);\n }\n\n const [serviceLast, toolsLast] = await Promise.all([\n readLastDaemonServiceUpdate(pathInput),\n readLastOpenMeldToolsUpdateAttempt(pathInput),\n ]);\n const candidates = [\n ...(serviceLast ? [projectServiceJob(serviceLast)] : []),\n ...(toolsLast ? [projectToolsAttempt(toolsLast)] : []),\n ]\n .filter((candidate) => isRecentTerminal(candidate.operation, nowMs))\n .sort(\n (a, b) =>\n Date.parse(b.operation.updatedAt) - Date.parse(a.operation.updatedAt)\n );\n return candidates[0] ?? null;\n}\n\nfunction projectToolsAttempt(\n attempt: OpenMeldToolsUpdateAttempt\n): OpenMeldToolsUpdateOperationProjection {\n const terminalFailure =\n attempt.operation.phase === \"needs_help\" ||\n attempt.operation.phase === \"restored\";\n return {\n failureCode: terminalFailure\n ? (resolvePersistedOpenMeldToolsUpdateFailure(attempt.errorMessage) ??\n \"cli.update.failed\")\n : null,\n operation: attempt.operation,\n };\n}\n\nfunction projectServiceJob(\n job: DaemonServiceUpdateJob\n): OpenMeldToolsUpdateOperationProjection {\n return {\n failureCode:\n job.phase === \"needs_help\" || job.phase === \"restored\"\n ? \"cli.update.service_alignment_failed\"\n : null,\n operation: {\n operationId: job.jobId,\n phase: job.phase,\n requestSource: job.requestSource,\n requestedAt: job.requestedAt,\n ...(job.targetCliVersion\n ? { targetCliVersion: job.targetCliVersion }\n : {}),\n ...(job.targetServiceVersion\n ? { targetServiceVersion: job.targetServiceVersion }\n : {}),\n targetVersion: job.targetVersion,\n updatedAt: job.updatedAt,\n urgency: job.urgency,\n },\n };\n}\n\nfunction isRecentTerminal(\n operation: OpenMeldToolsUpdateOperation,\n nowMs: number\n): boolean {\n if (\n operation.phase !== \"updated\" &&\n operation.phase !== \"restored\" &&\n operation.phase !== \"needs_help\"\n ) {\n return false;\n }\n const updatedAtMs = Date.parse(operation.updatedAt);\n return (\n Number.isFinite(updatedAtMs) &&\n nowMs >= updatedAtMs &&\n nowMs - updatedAtMs <= TERMINAL_VISIBILITY_MS\n );\n}\n","import { setTimeout as sleep } from \"node:timers/promises\";\nimport type {\n OpenMeldDaemonServiceUpdateReadinessPayload,\n OpenMeldToolsUpdateOperation,\n} from \"@openmeld/schemas/types\";\nimport {\n type OpenMeldPathResolutionInput,\n resolveOpenMeldRootDir,\n} from \"../../config/paths\";\nimport { requestLocalDaemonServiceUpdateReadiness } from \"../control-plane/client\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { resolveOpenMeldToolsUpdateOperation } from \"./openmeld-tools-update-operation\";\n\nconst DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS = 500;\n\n// This is an observer of the existing durable operation, never an updater.\n// The OS-owned worker continues even if this caller exits while waiting.\nexport async function waitForOpenMeldToolsUpdateCompletion(\n input: {\n operationId?: string;\n timeoutMs?: number;\n pollIntervalMs?: number;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n onObservation?: (\n operation: OpenMeldToolsUpdateOperation,\n readiness: OpenMeldDaemonServiceUpdateReadinessPayload | null\n ) => void;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n let operationId = input.operationId ?? null;\n await waitForExternalOpenMeldToolsUpdate({\n completedServiceUpdateIsIdle: true,\n timeoutMs: input.timeoutMs,\n pollIntervalMs: input.pollIntervalMs,\n onWaiting: async (operation) => {\n if (operationId !== null && operationId !== operation.operationId) {\n throw new Error(\n `OpenMeld update ${operationId} was replaced before its completion could be verified.`\n );\n }\n operationId = operation.operationId;\n await input.onWaiting?.(operation);\n },\n onObservation: input.onObservation,\n });\n const completed = await resolveOpenMeldToolsUpdateOperation();\n if (\n operationId !== null &&\n (completed?.operationId !== operationId || completed.phase !== \"updated\")\n ) {\n throw new Error(\n `OpenMeld update ${operationId} did not finish successfully (${completed?.phase ?? \"completion evidence unavailable\"}).`\n );\n }\n return completed;\n}\n\nexport async function resolveExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n // The coordinator persists the Service job before discarding the tools\n // attempt. Reading in this order prevents observers from seeing a false idle\n // gap while ownership moves from the CLI download to the Service worker.\n const toolsAttempt = await readPendingOpenMeldToolsUpdateAttempt(input);\n const serviceJob = await readPendingDaemonServiceUpdate(input);\n if (\n serviceJob &&\n serviceJob.jobId !== (input.currentOperationId ?? null) &&\n !(input.completedServiceUpdateIsIdle && serviceJob.phase === \"updated\")\n ) {\n return {\n operationId: serviceJob.jobId,\n phase: serviceJob.phase,\n requestSource: serviceJob.requestSource,\n requestedAt: serviceJob.requestedAt,\n ...(serviceJob.targetCliVersion\n ? { targetCliVersion: serviceJob.targetCliVersion }\n : {}),\n ...(serviceJob.targetServiceVersion\n ? { targetServiceVersion: serviceJob.targetServiceVersion }\n : {}),\n targetVersion: serviceJob.targetVersion,\n updatedAt: serviceJob.updatedAt,\n urgency: serviceJob.urgency,\n };\n }\n if (\n toolsAttempt &&\n toolsAttempt.operation.operationId !== (input.currentOperationId ?? null)\n ) {\n return toolsAttempt.operation;\n }\n return null;\n}\n\nexport async function waitForExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n pollIntervalMs?: number;\n unclaimedTimeoutMs?: number;\n timeoutMs?: number;\n onObservation?: (\n operation: OpenMeldToolsUpdateOperation,\n readiness: OpenMeldDaemonServiceUpdateReadinessPayload | null\n ) => void;\n } = {}\n): Promise<void> {\n let reportedOperation: string | null = null;\n const deadline = Date.now() + (input.timeoutMs ?? Number.POSITIVE_INFINITY);\n let unclaimedSince: number | null = null;\n while (true) {\n const operation = await resolveExternalOpenMeldToolsUpdate(input);\n if (!operation) {\n return;\n }\n assertUpdateObservationActive(deadline);\n if (input.onObservation) {\n // Reuse the Service's public local control projection. Required updates\n // enter `updating` before drain, so the durable phase alone cannot say\n // whether accepted work still owns the wait. This read never extends\n // the observer deadline or reserves the setup mutation lock.\n const readiness = await readUpdateWorkReadiness(operation, input);\n input.onObservation(operation, readiness);\n }\n if (input.unclaimedTimeoutMs !== undefined) {\n const pending = await readPendingOpenMeldToolsUpdateAttempt(input);\n if (\n pending?.operation.operationId === operation.operationId &&\n pending.attempts === 0\n ) {\n unclaimedSince ??= Date.now();\n if (Date.now() - unclaimedSince >= input.unclaimedTimeoutMs) {\n throw new Error(\n \"OpenMeld's background updater did not start. Run openmeld doctor to check the background service, then try setup again.\"\n );\n }\n } else {\n unclaimedSince = null;\n }\n }\n const observationKey = `${operation.operationId}:${operation.phase}`;\n if (reportedOperation !== observationKey) {\n reportedOperation = observationKey;\n await input.onWaiting?.(operation);\n }\n await sleep(\n Math.max(1, input.pollIntervalMs ?? DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS)\n );\n }\n}\n\nfunction assertUpdateObservationActive(deadline: number): void {\n if (Date.now() >= deadline) {\n throw new Error(\n \"OpenMeld is still waiting for the background update. Current tasks and the update continue. Check their status, then try connecting again.\"\n );\n }\n}\n\nasync function readUpdateWorkReadiness(\n operation: OpenMeldToolsUpdateOperation,\n input: OpenMeldPathResolutionInput\n) {\n // The local control client is bound to this process's lane. Never query a\n // different Service while inspecting another root's durable update files.\n if (resolveOpenMeldRootDir(input) !== resolveOpenMeldRootDir()) {\n return null;\n }\n const pending = await readPendingDaemonServiceUpdate(input);\n if (\n pending?.jobId !== operation.operationId ||\n (pending.phase !== \"updating\" && pending.phase !== \"waiting_for_work\")\n ) {\n return null;\n }\n return await requestLocalDaemonServiceUpdateReadiness({\n timeoutMs: 2000,\n }).catch(() => null);\n}\n"],"mappings":"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"}
|
package/dist/openmeld.js
CHANGED
|
@@ -28,7 +28,7 @@ if (process.argv.includes("--openmeld-windows-task")) {
|
|
|
28
28
|
const args = process.argv.slice(2);
|
|
29
29
|
if (args.length === 3 && args[0] === "service" && args[1] === "execution-host") {
|
|
30
30
|
try {
|
|
31
|
-
const { runExecutionHost } = await import("./entry-
|
|
31
|
+
const { runExecutionHost } = await import("./entry-D1pzFY4O.js");
|
|
32
32
|
const hostInstanceId = args[2];
|
|
33
33
|
if (!hostInstanceId) throw new Error("The Host incarnation is required.");
|
|
34
34
|
await runExecutionHost(hostInstanceId);
|
|
@@ -38,7 +38,7 @@ if (args.length === 3 && args[0] === "service" && args[1] === "execution-host")
|
|
|
38
38
|
if (process.connected) process.disconnect();
|
|
39
39
|
}
|
|
40
40
|
try {
|
|
41
|
-
const { terminateLiveAgentControllerProcesses } = await import("./dist-
|
|
41
|
+
const { terminateLiveAgentControllerProcesses } = await import("./dist-BnwTzZRn.js");
|
|
42
42
|
await terminateLiveAgentControllerProcesses();
|
|
43
43
|
} catch (error) {
|
|
44
44
|
console.error("[openmeld.execution_host.probe_cleanup_failed]", error);
|
|
@@ -48,14 +48,14 @@ if (args.length === 3 && args[0] === "service" && args[1] === "execution-host")
|
|
|
48
48
|
})));
|
|
49
49
|
process.exit();
|
|
50
50
|
} else if (args.length === 2 && args[0] === "service" && args[1] === "update-worker") try {
|
|
51
|
-
const { runOpenMeldMaintenanceWorker } = await import("./openmeld-maintenance-worker-
|
|
51
|
+
const { runOpenMeldMaintenanceWorker } = await import("./openmeld-maintenance-worker-Bomlbax_.js");
|
|
52
52
|
await runOpenMeldMaintenanceWorker();
|
|
53
53
|
} catch (error) {
|
|
54
54
|
console.error("[openmeld.maintenance.failed]", error);
|
|
55
55
|
process.exitCode = 1;
|
|
56
56
|
}
|
|
57
57
|
else if (args.length === 1 && (args[0] === "maintenance-upgrade" || args[0] === "maintenance-align-service")) try {
|
|
58
|
-
const { runMaintenanceUpgrade } = await import("./upgrade-
|
|
58
|
+
const { runMaintenanceUpgrade } = await import("./upgrade-u-vjbZwN.js");
|
|
59
59
|
await runMaintenanceUpgrade(args[0] === "maintenance-align-service");
|
|
60
60
|
} catch (error) {
|
|
61
61
|
try {
|
|
@@ -65,7 +65,7 @@ else if (args.length === 1 && (args[0] === "maintenance-upgrade" || args[0] ===
|
|
|
65
65
|
console.error("[openmeld.maintenance.upgrade_failed]", error);
|
|
66
66
|
process.exitCode = 1;
|
|
67
67
|
}
|
|
68
|
-
else await import("./openmeld-
|
|
68
|
+
else await import("./openmeld-B7P1VchG.js");
|
|
69
69
|
//#endregion
|
|
70
70
|
export {};
|
|
71
71
|
|
|
@@ -5,22 +5,22 @@ import { C as updateConfiguredDeviceRuntimeState, T as updateConfiguredSkillsCon
|
|
|
5
5
|
import { F as resolveOpenMeldRootDir, P as resolveOpenMeldEnvPreset, a as accountProfileWorkspacePath, b as normalizeOpenMeldProfileId, c as deviceOpenClawProfileBootstrapPath, h as isPublishedOpenMeldHome, l as deviceOpenClawProfileDir, n as accountProfileLocalMetaPath, u as deviceOpenClawProfileWorkspaceDir } from "./paths-De9xdA2h.js";
|
|
6
6
|
import { Ca as profileWorkspaceModeSchema, Hr as agentControllerCollaborationModeSchema, Jr as HOSTED_REMOTE_AGENT_CONTROLLER_REF, Kr as HOSTED_CENTER_AGENT_CONTROLLER_REF, Vr as agentControllerPermissionModeSchema, Zr as canonicalizeAgentControllerRef, ei as normalizeKnownBuiltinAgentControllerId, ga as normalizeOptionalWorkingDirectory, lt as daemonServiceLaneSchema, ma as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, qr as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, ti as parseAgentControllerRef$1, wa as profileWorkspaceOriginSchema } from "./dist-Dsr-v0H_.js";
|
|
7
7
|
import { Dn as profileFolderIdSchema, En as profileFolderDisplayNameSchema, d as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema } from "./task-result-Cft38W1I.js";
|
|
8
|
-
import { Fh as modelCatalogSchema, Gt as createAgentProfileBindingApi, ln as createLocalRuntimeExpectedRoutesApi, t as OpenMeldApiClientHttpError } from "./dist-
|
|
9
|
-
import { Pa as resolveCommandAgentWorkActivity, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH } from "./runtime-transport-
|
|
8
|
+
import { Fh as modelCatalogSchema, Gt as createAgentProfileBindingApi, ln as createLocalRuntimeExpectedRoutesApi, t as OpenMeldApiClientHttpError } from "./dist-MZ3BDdeh.js";
|
|
9
|
+
import { Pa as resolveCommandAgentWorkActivity, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH } from "./runtime-transport-BL3oZs5F.js";
|
|
10
10
|
import { l as runtimeTransportModeSchema } from "./controller-contract-Cq54h7mm.js";
|
|
11
11
|
import { n as conversationExecutionStateSchema } from "./conversation-execution-state-BFEFGG1r.js";
|
|
12
|
-
import { it as providerDispatchRuntimeContextSchema } from "./control-plane-
|
|
13
|
-
import { H as agentExecutionSteerRequestSchema, V as daemonRouteCatalogCacheSchema, _ as toErrorMessage$17, d as normalizeText$10, g as parseTransportMode$1, h as parseStreamingMode$1, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$42, z as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME } from "./daemon-device-id-
|
|
12
|
+
import { it as providerDispatchRuntimeContextSchema } from "./control-plane-ybtdmnjp.js";
|
|
13
|
+
import { H as agentExecutionSteerRequestSchema, V as daemonRouteCatalogCacheSchema, _ as toErrorMessage$17, d as normalizeText$10, g as parseTransportMode$1, h as parseStreamingMode$1, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$42, z as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME } from "./daemon-device-id-Be2uXs8_.js";
|
|
14
14
|
import { a as resolveWindowsPowerShellPath, n as powerShellEncodedArguments } from "./windows-system-DsNqYvVr.js";
|
|
15
|
-
import { X as OPENCLAW_CLI_TIMEOUT_MS$1, d as getAuthSessionState } from "./auth-session-
|
|
15
|
+
import { X as OPENCLAW_CLI_TIMEOUT_MS$1, d as getAuthSessionState } from "./auth-session-DYDO5gN9.js";
|
|
16
16
|
import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-DP8d33p_.js";
|
|
17
17
|
import { r as isProcessIdentityAlive, t as CURRENT_PROCESS_START_IDENTITY } from "./process-identity-DsKKbftl.js";
|
|
18
|
-
import { F as resolveCurrentOpenMeldAccountContext, _ as touchDaemonCatalogSyncSignal, d as listOpenMeldProfiles } from "./context-
|
|
18
|
+
import { F as resolveCurrentOpenMeldAccountContext, _ as touchDaemonCatalogSyncSignal, d as listOpenMeldProfiles } from "./context-Dr1KyPnd.js";
|
|
19
19
|
import { n as writeDaemonLocalStateFile, t as readDaemonLocalStateFile } from "./daemon-local-state-file-jOXuXrky.js";
|
|
20
20
|
import { m as daemonRuntimeDataPath } from "./daemon-state-C1LbGczX.js";
|
|
21
|
-
import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-
|
|
21
|
+
import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-Dp3dg6qn.js";
|
|
22
22
|
import { i as readDaemonServiceContract } from "./daemon-service-contract-CDgkiQ5e.js";
|
|
23
|
-
import { o as requestLocalSyncRouteCatalog } from "./client-
|
|
23
|
+
import { o as requestLocalSyncRouteCatalog } from "./client-iqnaeeAE.js";
|
|
24
24
|
import { r as resolvePlatformCommand, t as execPlatformFile } from "./process-launch-B0pHlkV_.js";
|
|
25
25
|
import { $ as createProviderOriginalError, A as resolveExecutableOnPath, B as CliDriverError, C as buildAdapterAgentControllerConversationRef, D as buildCliLaunchInvocation, E as AcpProcessSession, F as resolveInstalledNodeScriptLaunchContract, H as createAgentControllerProcessDiscoveryDiagnosticAggregator, I as resolveLaunchCandidatesAfterVerification, K as resolveAgentControllerProcessSignalId, L as resolveSiblingCommandPath, M as resolveInstalledCommandPath, O as buildExecutableLaunchContract, P as resolveInstalledNodeScriptLaunchCandidates, R as verifyCliLaunchContract, S as bridgeAgentControllerConversationRef, T as resolveBuiltinAdapterConversationBridgeSpec, U as listAgentControllerDescendantProcessIds, V as runCliDriver, W as listAgentControllerSupervisedProcessIds, X as spawnAgentControllerProcess, Y as signalAgentControllerProcessTree, _ as OPENMELD_SPACE_ACTION_MCP_SERVER_ID, b as buildDispatchSpaceActionMcpToolIds, d as resolveAdapterAgentContext, h as looksLikeRuntimePermissionDenialMessage, k as materializeCliLaunchCommand, l as invokeWithSingleContextHeal, m as classifyRuntimePermissionDenialMessage, nt as isDispatchSpaceActionDeliveryOnly, o as createSharedControlShell, r as buildInterruptPlan, s as createSharedDispatchShell, tt as describeDispatchSpaceTools, u as readAdapterAiUsageObservation, v as OPENMELD_SPACE_ACTION_MCP_TOOL_NAMES, x as resolveDispatchSpaceActionMcpServer, y as buildAcpDispatchSpaceActionMcpServers, z as verifyLaunchContractFiles } from "./dist-Cdj9kcbj.js";
|
|
26
26
|
import { createRequire } from "node:module";
|
|
@@ -10039,14 +10039,18 @@ async function verifyCodexAppServerThread(input) {
|
|
|
10039
10039
|
env: input.env,
|
|
10040
10040
|
launchContract: input.launchContract
|
|
10041
10041
|
}, async (session) => {
|
|
10042
|
-
|
|
10043
|
-
|
|
10044
|
-
excludeTurns: true,
|
|
10042
|
+
if (readThreadIdFromResponse(await session.requestControl("thread/read", {
|
|
10043
|
+
includeTurns: false,
|
|
10045
10044
|
threadId
|
|
10046
10045
|
}, {
|
|
10047
|
-
code: "context.
|
|
10048
|
-
operation: "thread/
|
|
10049
|
-
}))
|
|
10046
|
+
code: "context.read_timeout",
|
|
10047
|
+
operation: "thread/read"
|
|
10048
|
+
})) !== threadId) throw new CodexAppServerTransportError({
|
|
10049
|
+
code: "context.thread_mismatch",
|
|
10050
|
+
errorType: "config",
|
|
10051
|
+
message: "Codex returned a different thread for the conversation check."
|
|
10052
|
+
});
|
|
10053
|
+
return { threadId };
|
|
10050
10054
|
});
|
|
10051
10055
|
}
|
|
10052
10056
|
async function resolveCodexAppServerCompletedTurn(input) {
|
|
@@ -30835,9 +30839,9 @@ function createModelCatalogReadSession(input) {
|
|
|
30835
30839
|
async function readModelCatalogOnce(baseUrl) {
|
|
30836
30840
|
try {
|
|
30837
30841
|
const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
|
|
30838
|
-
import("./dist-
|
|
30842
|
+
import("./dist-C1UsG5Yt.js"),
|
|
30839
30843
|
import("./base-url-D-8k5GDw.js"),
|
|
30840
|
-
import("./api-client-foundation-
|
|
30844
|
+
import("./api-client-foundation-GJkHzahS.js")
|
|
30841
30845
|
]);
|
|
30842
30846
|
if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
|
|
30843
30847
|
const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
|
|
@@ -32907,4 +32911,4 @@ async function prepareProviderRuntime(input, options = {}) {
|
|
|
32907
32911
|
//#endregion
|
|
32908
32912
|
export { bindProject as $, projectCodexUsageObservation as $n, BUILTIN_AGENT_CONTROLLER_DISPLAY_ORDER as $r, repairBuiltinControllerInstall as $t, resolveCurrentEffectiveProfileWorkingFolderRuntime as A, buildAgentContextLookupKey as An, resolveAgentExecutionStatus as Ar, listAgentTargetStates as At, readProfileFolderListForAccount as B, resolveInstalledGrokBuildLaunchCandidates as Bn, classifyCliDriverTimeoutFailure as Br, updateAgentRegistrations as Bt, syncDaemonRouteCatalogState as C, loadLedgerState as Cn, peopleComputerContainsDevice as Cr, createPrimaryBindingReadSession as Ct, resolveLocalRuntimeControllerSupport as D, upsertConversationExecutionState as Dn, renderTaskKnowledgeIndex as Dr, createRegistrationFromCatalogTarget as Dt, resolveLocalController as E, seedLegacyAgentContext as En, renderNonOwnerAudiencePathGuidance as Er, addAgentCustomTarget as Et, defaultProfileFolderDisplayName as F, forkOpenCodeServerSession as Fn, supportsExecutionContextSelection as Fr, registerUnselectedBuiltinAgentsTurnedOff as Ft, resolveConfiguredProfileWorkspacePathForAccount as G, supportsGrokBotSetup as Gn, resolveAdapterToolWorkActivity as Gr, resolveRegistryOriginLaunchCommand as Gt, readProfileWorkspaceConfigForAccount as H, isManagedGrokBotSignedIn as Hn, createUnsupportedProviderUsageLimits as Hr, detectInstalledSkillsAgents as Ht, ensureOpenMeldManagedProfileWorkspace as I, readOpenCode2Inventory as In, supportsSpaceWorkHandoff as Ir, removeAgentCustomTarget as It, validateCustomProfileWorkspacePath as J, resolveInstalledCodexLaunchCandidates as Jn, grokBotConversationIdSchema as Jr, notifyDaemonRouteCatalogChanged as Jt, setCustomProfileWorkspace as K, projectCursorUsageLimits as Kn, DaemonServiceRunError as Kr, resolveRegistryRuntimeAdapterCapabilitySnapshot as Kt, mutateProfileFolderListForAccount as L, resolveInstalledOpenCodeLaunchCandidates as Ln, checkAntigravityAcpAccount as Lr, resolveAgentTargetState as Lt, resolveProfileWorkspaceRuntime as M, createLocalAdapterEntries as Mn, resolveEvidenceSyncHealth as Mr, readAgentRuntimeConfigHealth as Mt, OPENMELD_MANAGED_FOLDER_DISPLAY_NAME as N, parseOpenRouterUsageResponse as Nn, resolveNativeAgentControllerPermissionModeForController as Nr, reconcileNewRunnableBuiltinAgentRegistrations as Nt, syncProfileWorkspaceState as O, withLedgerStateTransaction as On, renderWorkingLanguagePrompt as Or, listAgentCustomTargets as Ot, ProfileFolderListLimitError as P, parseOpenCodeGoUsageResponse as Pn, resolveSelectableCandidates as Pr, reconcileNewRunnableBuiltinAgentsForSetup as Pt, ProjectBindingStoreUpdateRequiredError as Q, verifyCodexAppServerThread as Qn, BUILTIN_AGENT_CONTROLLER_BRANDS as Qr, sortAgentRegistrations as Qt, nextProfileFolderRevision as R, GrokBuildAcpTransportError as Rn, isAntigravityAcpLaunchContract as Rr, setAgentRegistrationEnabled as Rt, summarizeSkippedDaemonProfiles as S, commitResolvedAgentContext as Sn, parseAgentControllerRef as Sr, emitReconcileStartedEvidence as St, readLocalEnabledControllers as T, resolveConversationExecutionStateByLookupKey as Tn, renderInformationProtectionPrompt as Tr, resolveAgentProfilePrimaryAgentControllerReport as Tt, readSavedProfileWorkspaceForAccount as U, loginManagedGrokBot as Un, createAcpToolActivityTracker as Ur, resolveSkillsAgentRegistry as Ut, readProfileWorkspaceConfig as V, installGrokBotTools as Vn, createUnavailableProviderUsageLimits as Vr, canManageRegistryAgentSkillTargets as Vt, resolveConfiguredProfileWorkspacePath as W, readManagedGrokBotCandidate as Wn, resolveAdapterToolActivityName as Wr, listBuiltinAgentsRegistryEntries as Wt, validateCustomProfileWorkspacePath$1 as X, probeCodexAppServerAccount as Xn, grokBotMessageReceiptSchema as Xr, normalizeAgentIds as Xt, describeProfileWorkspacePathValidationFailure as Y, forkCodexAppServerThread as Yn, grokBotEntriesSchema as Yr, normalizeAgentId as Yt, ProjectBindingOperationError as Z, resolveCodexAppServerCompletedTurn as Zn, grokBotStoredCredentialSchema as Zr, parseAgentEnabledOption as Zt, writeDaemonRouteCatalogCache as _, resolveCompatibleAgentContextMatch as _n, getAgentControllerPermissionModeFieldLabel as _r, withAgentActivityLocalStateLock as _t, buildOpenClawSpaceSessionKey as a, isPnpmGlobalCommandPath as an, resolveInstalledClaudeCodeLaunchCandidates as ar, migrateProjectBindingStore as at, createRouteCatalogFromMutableState as b, runRuntimeTask as bn, isAgentExecutionReadyOrConnecting as br, emitDriftDetectedEvidence as bt, slugifyOpenClawNamePart as c, createLocalTaskInterruptSender as cn, areAgentControllerInterfaceAccountsSame as cr, removeProjectConnection as ct, matchesExpectedWorkspace as d, MIN_HEARTBEAT_INTERVAL_MS as dn, buildWorkingLanguagePromptPlan as dr, setDefaultProjectConnection as dt, compareAgentControllerRefsForDisplay as ei, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as en, readCodexAccountUsageObservation as er, claimLegacyProjectConnection as et, resolveOpenClawAuthStatus as f, applyAcceptedLeases as fn, compareAgentControllerVersions as fr, unbindProject as ft, readDaemonRouteCatalogCache as g, resolveCatalogSyncIntervalMs as gn, getAgentControllerPermissionModeDisplayMetadata as gr, withAgentActivityDeliveryLock as gt, resolveOpenClawLocalBootstrapPaths as h, resolveAdaptiveHeartbeatIntervalMs as hn, createAuthorityOpenMeldServiceRuntimeId as hr, resolveLocalProjectConnectionForPath as ht, listOpenClawGatewayAgents as i, isNpmGlobalCommandPath as in, updateClaudeNativeInstallation as ir, listProjectConnectionsWithStatus as it, resolveEffectiveProfileWorkingFolderRuntime as j, createLocalAdapterContainer as jn, resolveAgentProfileEditCapabilities as jr, manageAgentRegistrationInstallation as jt, createModelCatalogReadSession as k, assertLegacyAgentContextAssociation as kn, resolveAgentControllerPermissionModeForController as kr, listAgentRegistrations as kt, findOpenClawAgentById as l, ADAPTIVE_HEARTBEAT_JITTER_RATIO as ln, buildAgentControllerRef as lr, resolveProjectBindingForPath as lt, readOpenClawLocalBootstrapState as m, pruneStaleLeases as mn, createAgentExecutionStatusDisplayRows as mr, isProjectConnectionReadableByOwner as mt, fetchOpenClawGatewayHealth as n, resolveBuiltinAgentControllerBrand as ni, isBunGlobalCommandPath as nn, readClaudeNativeVersion as nr, isProjectBound as nt, buildOpenClawWakeSessionKey as o, resolveLocalRegistryAgentIdFromAgentControllerRef as on, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as or, removeAgentActivityBindingsWhileDeliveryLocked as ot, resolveOpenClawProviderRuntimeWorkingDirectory as p, applyIntervalJitterMs as pn, createAgentControllerInterfaceDisplayRows as pr, canonicalizeLocalProjectPath as pt, setOpenMeldManagedProfileWorkspace as q, resolveCodexTimeoutMs as qn, grokBotAccountSchema as qr, resolveRegistryRuntimeAdapterContractByAgentControllerRef as qt, listOpenClawAgents as r, isHomebrewCommandPath as rn, resolveClaudeNativeUpdateCommand as rr, listProjectBindings as rt, normalizeOpenClawSpaceIdPrefix as s, resolveRouteRegistrationReconcileDecision as sn, TASK_KNOWLEDGE_GUIDANCE as sr, removeMissingProjectConnections as st, prepareProviderRuntime as t, isBuiltinAgentControllerBrandId as ti, resolveBuiltinAgentControllerDefinition as tn, probeClaudeCodeUsageLimits as tr, hasProjectBindingForPath as tt, findOpenClawAgentsByWorkspace as u, MAX_HEARTBEAT_INTERVAL_MS as un, buildInformationProtectionPromptPlan as ur, runIfAgentActivityBindingGenerationIsCurrent as ut, loadDaemonRouteCatalog as v, resolveCompatibleConversationExecutionState as vn, isAgentControllerUsageAccountUnavailable as vr, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as vt, buildRuntimeRouteTargets as w, removeConversationExecutionState as wn, projectPeopleComputersToLegacyLocalRuntimes as wr, createExpectedRoutesReadSession as wt, replaceMutableRouteCatalogState as x, buildRuntimeWorkspaceFingerprint as xn, listAgentControllerPermissionModeOptions as xr, emitReconcileCompletedEvidence as xt, createMutableRouteCatalogState as y, resolveLatestScopedConversationExecutionState as yn, isAgentControllerUsageRefreshUnavailable as yr, syncDeviceRuntimeStateProjection as yt, normalizeCustomProfileWorkspacePath as z, probeGrokBuildAcpInterface as zn, buildProviderExitError as zr, updateAgentCustomTarget as zt };
|
|
32909
32913
|
|
|
32910
|
-
//# sourceMappingURL=prepare-provider-runtime-
|
|
32914
|
+
//# sourceMappingURL=prepare-provider-runtime-DuhDkbSk.js.map
|