openmeld 0.3.184 → 0.3.186

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.
Files changed (25) hide show
  1. package/dist/{add-me-membership-F8HICPOs.js → add-me-membership-CITnTnP5.js} +2 -2
  2. package/dist/{add-me-membership-F8HICPOs.js.map → add-me-membership-CITnTnP5.js.map} +1 -1
  3. package/dist/{command-6gVeE6xE.js → command-ByA4xORh.js} +5 -5
  4. package/dist/{command-6gVeE6xE.js.map → command-ByA4xORh.js.map} +1 -1
  5. package/dist/{daemon-service-manager-CJK8FDmz.js → daemon-service-manager-DqIRLolx.js} +1 -1
  6. package/dist/{daemon-service-manager-9K3dv9dX.js → daemon-service-manager-T-A7pEXr.js} +3 -1
  7. package/dist/daemon-service-manager-T-A7pEXr.js.map +1 -0
  8. package/dist/{elapsed-time-ByvAmamI.js → elapsed-time-CB-YRsGV.js} +2 -2
  9. package/dist/{elapsed-time-ByvAmamI.js.map → elapsed-time-CB-YRsGV.js.map} +1 -1
  10. package/dist/{installer-vV9_WAPd.js → installer-BY56EHyY.js} +2 -2
  11. package/dist/{installer-vV9_WAPd.js.map → installer-BY56EHyY.js.map} +1 -1
  12. package/dist/{openmeld-DiAfHLe4.js → openmeld-DQ-DvfNg.js} +8 -8
  13. package/dist/{openmeld-DiAfHLe4.js.map → openmeld-DQ-DvfNg.js.map} +1 -1
  14. package/dist/{openmeld-maintenance-worker-DGH7uPhX.js → openmeld-maintenance-worker-CRFWy98Q.js} +3 -3
  15. package/dist/{openmeld-maintenance-worker-DGH7uPhX.js.map → openmeld-maintenance-worker-CRFWy98Q.js.map} +1 -1
  16. package/dist/{openmeld-tools-update-coordinator-BEPco317.js → openmeld-tools-update-coordinator-DfJ6glcW.js} +142 -22
  17. package/dist/openmeld-tools-update-coordinator-DfJ6glcW.js.map +1 -0
  18. package/dist/openmeld.js +3 -3
  19. package/dist/{upgrade-D_Hqg-zf.js → upgrade-Bp2cV42d.js} +3 -3
  20. package/dist/{upgrade-D_Hqg-zf.js.map → upgrade-Bp2cV42d.js.map} +1 -1
  21. package/dist/upgrade-bxgqq4js.js +4 -0
  22. package/package.json +1 -1
  23. package/dist/daemon-service-manager-9K3dv9dX.js.map +0 -1
  24. package/dist/openmeld-tools-update-coordinator-BEPco317.js.map +0 -1
  25. package/dist/upgrade-nj1kkcxl.js +0 -4
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { i as isOpenMeldOrphanedLockError, r as isOpenMeldLockError, t as acquireLock, u as runWithHeldLock } from "./lock-Dv-vQTmI.js";
4
- import { On as resolveSkillsAgentRegistry, Wi as assertDaemonMaintenanceInstallationOwnership, h as prepareDaemonServiceUpdateWorkerCarrier, i as readOpenMeldToolsMaintenancePolicy, r as readPendingOpenMeldToolsUpdateAttempt, ss as readDaemonServiceContract, t as createOpenMeldToolsUpdateCoordinator, u as runPendingDaemonServiceUpdate, ua as readPendingDaemonServiceUpdate } from "./openmeld-tools-update-coordinator-BEPco317.js";
5
- import { c as resolveTrackedInstallTargets, f as ensureLocalSkills, h as downloadOfficialSkillUpdate, t as installSkillsToTargets, v as withSkillsInstallLock } from "./installer-vV9_WAPd.js";
4
+ import { On as resolveSkillsAgentRegistry, Wi as assertDaemonMaintenanceInstallationOwnership, h as prepareDaemonServiceUpdateWorkerCarrier, i as readOpenMeldToolsMaintenancePolicy, r as readPendingOpenMeldToolsUpdateAttempt, ss as readDaemonServiceContract, t as createOpenMeldToolsUpdateCoordinator, u as runPendingDaemonServiceUpdate, ua as readPendingDaemonServiceUpdate } from "./openmeld-tools-update-coordinator-DfJ6glcW.js";
5
+ import { c as resolveTrackedInstallTargets, f as ensureLocalSkills, h as downloadOfficialSkillUpdate, t as installSkillsToTargets, v as withSkillsInstallLock } from "./installer-BY56EHyY.js";
6
6
  import { g as getConfiguredSkillsConfig } from "./base-url-CcjogygH.js";
7
7
  //#region src/skills/maintenance.ts
8
8
  async function maintainOfficialCliSkill() {
@@ -75,4 +75,4 @@ async function runMaintenancePass() {
75
75
  //#endregion
76
76
  export { runOpenMeldMaintenanceWorker };
77
77
 
78
- //# sourceMappingURL=openmeld-maintenance-worker-DGH7uPhX.js.map
78
+ //# sourceMappingURL=openmeld-maintenance-worker-CRFWy98Q.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-maintenance-worker-DGH7uPhX.js","names":[],"sources":["../src/skills/maintenance.ts","../src/local-service/maintenance/openmeld-maintenance-worker.ts"],"sourcesContent":["import { getConfiguredSkillsConfig } from \"../config/runtime-config\";\nimport { resolveSkillsAgentRegistry } from \"./agents\";\nimport { resolveTrackedInstallTargets } from \"./installation-inventory\";\nimport { installSkillsToTargets, withSkillsInstallLock } from \"./installer\";\nimport { downloadOfficialSkillUpdate } from \"./official-release\";\nimport { ensureLocalSkills } from \"./store\";\n\nexport async function maintainOfficialCliSkill(): Promise<void> {\n const outcome = await downloadOfficialSkillUpdate().catch(\n (error: unknown) => {\n process.stderr.write(\n `[openmeld] Skill download deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n return \"deferred\" as const;\n }\n );\n if (outcome === \"lane_isolated\") {\n return;\n }\n await withSkillsInstallLock(async () => {\n const localSkills = await ensureLocalSkills();\n const skillsConfig = await getConfiguredSkillsConfig();\n const targets = await resolveTrackedInstallTargets({\n skillsConfig,\n registry: resolveSkillsAgentRegistry(skillsConfig),\n localSkills,\n onlyOpenMeldInstalledTargets: false,\n });\n const results = await installSkillsToTargets({\n skills: localSkills,\n targets,\n });\n const failures = results.filter((result) => result.status === \"failed\");\n if (failures.length) {\n throw new Error(\n failures\n .map((result) => `${result.targetId}: ${result.reason}`)\n .join(\"; \")\n );\n }\n });\n}\n","import { readDaemonServiceContract } from \"../../config/daemon-service-contract\";\nimport {\n acquireLock,\n isOpenMeldLockError,\n isOpenMeldOrphanedLockError,\n runWithHeldLock,\n} from \"../../config/lock\";\nimport { maintainOfficialCliSkill } from \"../../skills/maintenance\";\nimport { assertDaemonMaintenanceInstallationOwnership } from \"../lifecycle/daemon-service-manager-command-match\";\nimport { runPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-coordinator\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { prepareDaemonServiceUpdateWorkerCarrier } from \"../lifecycle/daemon-service-update-worker-manager\";\nimport { readOpenMeldToolsMaintenancePolicy } from \"./openmeld-tools-maintenance-policy\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { createOpenMeldToolsUpdateCoordinator } from \"./openmeld-tools-update-coordinator\";\n\n// The OS owns this process. It is also the sole executor of persisted download\n// attempts; Service requests only publish an attempt and wake this worker.\nexport async function runOpenMeldMaintenanceWorker(): Promise<void> {\n await runMaintenanceWithLock();\n}\n\nasync function runMaintenanceWithLock(): Promise<boolean> {\n try {\n const lock = await acquireLock({\n openMeldProfileId: \"__system__\",\n key: \"maintenance-worker\",\n });\n return await runWithHeldLock({\n lock,\n run: runMaintenancePass,\n releaseContext: { component: \"maintenance_worker\" },\n });\n } catch (error) {\n // Setup/repair may still own the lifecycle lock when the OS first runs us.\n // Leave its state intact; the existing OS trigger will run another pass.\n if (isOpenMeldLockError(error) && !isOpenMeldOrphanedLockError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nasync function runMaintenancePass(): Promise<boolean> {\n const pendingJob = await readPendingDaemonServiceUpdate();\n const pendingAttempt = await readPendingOpenMeldToolsUpdateAttempt();\n if (!(pendingJob || pendingAttempt)) {\n const contract = await readDaemonServiceContract();\n if (!contract || contract.desiredState !== \"background\") {\n return false;\n }\n }\n await assertDaemonMaintenanceInstallationOwnership();\n if ((await readOpenMeldToolsMaintenancePolicy()).automaticUpdatesEnabled) {\n try {\n await maintainOfficialCliSkill();\n } catch (error) {\n process.stderr.write(\n `[openmeld] Skill maintenance deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n }\n }\n const coordinator = createOpenMeldToolsUpdateCoordinator();\n if (!pendingJob) {\n if (pendingAttempt) {\n await coordinator.resumePendingUpdate();\n } else {\n await coordinator.requestUpdate({ requestSource: \"automatic\" });\n }\n await coordinator.waitForIdle();\n }\n const result = await runPendingDaemonServiceUpdate();\n if (result?.phase === \"updated\") {\n // Only a verified replacement may replace the working recovery carrier.\n await prepareDaemonServiceUpdateWorkerCarrier(result);\n return true;\n }\n if (result?.phase === \"restored\" || result?.phase === \"needs_help\") {\n process.exitCode = 1;\n }\n return false;\n}\n"],"mappings":";;;;;;;AAOA,eAAsB,2BAA0C;CAS9D,IAAI,MARkB,4BAA4B,CAAC,CAAC,OACjD,UAAmB;EAClB,QAAQ,OAAO,MACb,uCAAuC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GAChG;EACA,OAAO;CACT,CACF,MACgB,iBACd;CAEF,MAAM,sBAAsB,YAAY;EACtC,MAAM,cAAc,MAAM,kBAAkB;EAC5C,MAAM,eAAe,MAAM,0BAA0B;EAWrD,MAAM,YAAW,MAJK,uBAAuB;GAC3C,QAAQ;GACR,SAAA,MARoB,6BAA6B;IACjD;IACA,UAAU,2BAA2B,YAAY;IACjD;IACA,8BAA8B;GAChC,CAAC;EAID,CAAC,EAAA,CACwB,QAAQ,WAAW,OAAO,WAAW,QAAQ;EACtE,IAAI,SAAS,QACX,MAAM,IAAI,MACR,SACG,KAAK,WAAW,GAAG,OAAO,SAAS,IAAI,OAAO,QAAQ,CAAC,CACvD,KAAK,IAAI,CACd;CAEJ,CAAC;AACH;;;ACvBA,eAAsB,+BAA8C;CAClE,MAAM,uBAAuB;AAC/B;AAEA,eAAe,yBAA2C;CACxD,IAAI;EAKF,OAAO,MAAM,gBAAgB;GAC3B,MAAA,MALiB,YAAY;IAC7B,mBAAmB;IACnB,KAAK;GACP,CAAC;GAGC,KAAK;GACL,gBAAgB,EAAE,WAAW,qBAAqB;EACpD,CAAC;CACH,SAAS,OAAO;EAGd,IAAI,oBAAoB,KAAK,KAAK,CAAC,4BAA4B,KAAK,GAClE,OAAO;EAET,MAAM;CACR;AACF;AAEA,eAAe,qBAAuC;CACpD,MAAM,aAAa,MAAM,+BAA+B;CACxD,MAAM,iBAAiB,MAAM,sCAAsC;CACnE,IAAI,EAAE,cAAc,iBAAiB;EACnC,MAAM,WAAW,MAAM,0BAA0B;EACjD,IAAI,CAAC,YAAY,SAAS,iBAAiB,cACzC,OAAO;CAEX;CACA,MAAM,6CAA6C;CACnD,KAAK,MAAM,mCAAmC,EAAA,CAAG,yBAC/C,IAAI;EACF,MAAM,yBAAyB;CACjC,SAAS,OAAO;EACd,QAAQ,OAAO,MACb,0CAA0C,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GACnG;CACF;CAEF,MAAM,cAAc,qCAAqC;CACzD,IAAI,CAAC,YAAY;EACf,IAAI,gBACF,MAAM,YAAY,oBAAoB;OAEtC,MAAM,YAAY,cAAc,EAAE,eAAe,YAAY,CAAC;EAEhE,MAAM,YAAY,YAAY;CAChC;CACA,MAAM,SAAS,MAAM,8BAA8B;CACnD,IAAI,QAAQ,UAAU,WAAW;EAE/B,MAAM,wCAAwC,MAAM;EACpD,OAAO;CACT;CACA,IAAI,QAAQ,UAAU,cAAc,QAAQ,UAAU,cACpD,QAAQ,WAAW;CAErB,OAAO;AACT"}
1
+ {"version":3,"file":"openmeld-maintenance-worker-CRFWy98Q.js","names":[],"sources":["../src/skills/maintenance.ts","../src/local-service/maintenance/openmeld-maintenance-worker.ts"],"sourcesContent":["import { getConfiguredSkillsConfig } from \"../config/runtime-config\";\nimport { resolveSkillsAgentRegistry } from \"./agents\";\nimport { resolveTrackedInstallTargets } from \"./installation-inventory\";\nimport { installSkillsToTargets, withSkillsInstallLock } from \"./installer\";\nimport { downloadOfficialSkillUpdate } from \"./official-release\";\nimport { ensureLocalSkills } from \"./store\";\n\nexport async function maintainOfficialCliSkill(): Promise<void> {\n const outcome = await downloadOfficialSkillUpdate().catch(\n (error: unknown) => {\n process.stderr.write(\n `[openmeld] Skill download deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n return \"deferred\" as const;\n }\n );\n if (outcome === \"lane_isolated\") {\n return;\n }\n await withSkillsInstallLock(async () => {\n const localSkills = await ensureLocalSkills();\n const skillsConfig = await getConfiguredSkillsConfig();\n const targets = await resolveTrackedInstallTargets({\n skillsConfig,\n registry: resolveSkillsAgentRegistry(skillsConfig),\n localSkills,\n onlyOpenMeldInstalledTargets: false,\n });\n const results = await installSkillsToTargets({\n skills: localSkills,\n targets,\n });\n const failures = results.filter((result) => result.status === \"failed\");\n if (failures.length) {\n throw new Error(\n failures\n .map((result) => `${result.targetId}: ${result.reason}`)\n .join(\"; \")\n );\n }\n });\n}\n","import { readDaemonServiceContract } from \"../../config/daemon-service-contract\";\nimport {\n acquireLock,\n isOpenMeldLockError,\n isOpenMeldOrphanedLockError,\n runWithHeldLock,\n} from \"../../config/lock\";\nimport { maintainOfficialCliSkill } from \"../../skills/maintenance\";\nimport { assertDaemonMaintenanceInstallationOwnership } from \"../lifecycle/daemon-service-manager-command-match\";\nimport { runPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-coordinator\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { prepareDaemonServiceUpdateWorkerCarrier } from \"../lifecycle/daemon-service-update-worker-manager\";\nimport { readOpenMeldToolsMaintenancePolicy } from \"./openmeld-tools-maintenance-policy\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { createOpenMeldToolsUpdateCoordinator } from \"./openmeld-tools-update-coordinator\";\n\n// The OS owns this process. It is also the sole executor of persisted download\n// attempts; Service requests only publish an attempt and wake this worker.\nexport async function runOpenMeldMaintenanceWorker(): Promise<void> {\n await runMaintenanceWithLock();\n}\n\nasync function runMaintenanceWithLock(): Promise<boolean> {\n try {\n const lock = await acquireLock({\n openMeldProfileId: \"__system__\",\n key: \"maintenance-worker\",\n });\n return await runWithHeldLock({\n lock,\n run: runMaintenancePass,\n releaseContext: { component: \"maintenance_worker\" },\n });\n } catch (error) {\n // Setup/repair may still own the lifecycle lock when the OS first runs us.\n // Leave its state intact; the existing OS trigger will run another pass.\n if (isOpenMeldLockError(error) && !isOpenMeldOrphanedLockError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nasync function runMaintenancePass(): Promise<boolean> {\n const pendingJob = await readPendingDaemonServiceUpdate();\n const pendingAttempt = await readPendingOpenMeldToolsUpdateAttempt();\n if (!(pendingJob || pendingAttempt)) {\n const contract = await readDaemonServiceContract();\n if (!contract || contract.desiredState !== \"background\") {\n return false;\n }\n }\n await assertDaemonMaintenanceInstallationOwnership();\n if ((await readOpenMeldToolsMaintenancePolicy()).automaticUpdatesEnabled) {\n try {\n await maintainOfficialCliSkill();\n } catch (error) {\n process.stderr.write(\n `[openmeld] Skill maintenance deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n }\n }\n const coordinator = createOpenMeldToolsUpdateCoordinator();\n if (!pendingJob) {\n if (pendingAttempt) {\n await coordinator.resumePendingUpdate();\n } else {\n await coordinator.requestUpdate({ requestSource: \"automatic\" });\n }\n await coordinator.waitForIdle();\n }\n const result = await runPendingDaemonServiceUpdate();\n if (result?.phase === \"updated\") {\n // Only a verified replacement may replace the working recovery carrier.\n await prepareDaemonServiceUpdateWorkerCarrier(result);\n return true;\n }\n if (result?.phase === \"restored\" || result?.phase === \"needs_help\") {\n process.exitCode = 1;\n }\n return false;\n}\n"],"mappings":";;;;;;;AAOA,eAAsB,2BAA0C;CAS9D,IAAI,MARkB,4BAA4B,CAAC,CAAC,OACjD,UAAmB;EAClB,QAAQ,OAAO,MACb,uCAAuC,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GAChG;EACA,OAAO;CACT,CACF,MACgB,iBACd;CAEF,MAAM,sBAAsB,YAAY;EACtC,MAAM,cAAc,MAAM,kBAAkB;EAC5C,MAAM,eAAe,MAAM,0BAA0B;EAWrD,MAAM,YAAW,MAJK,uBAAuB;GAC3C,QAAQ;GACR,SAAA,MARoB,6BAA6B;IACjD;IACA,UAAU,2BAA2B,YAAY;IACjD;IACA,8BAA8B;GAChC,CAAC;EAID,CAAC,EAAA,CACwB,QAAQ,WAAW,OAAO,WAAW,QAAQ;EACtE,IAAI,SAAS,QACX,MAAM,IAAI,MACR,SACG,KAAK,WAAW,GAAG,OAAO,SAAS,IAAI,OAAO,QAAQ,CAAC,CACvD,KAAK,IAAI,CACd;CAEJ,CAAC;AACH;;;ACvBA,eAAsB,+BAA8C;CAClE,MAAM,uBAAuB;AAC/B;AAEA,eAAe,yBAA2C;CACxD,IAAI;EAKF,OAAO,MAAM,gBAAgB;GAC3B,MAAA,MALiB,YAAY;IAC7B,mBAAmB;IACnB,KAAK;GACP,CAAC;GAGC,KAAK;GACL,gBAAgB,EAAE,WAAW,qBAAqB;EACpD,CAAC;CACH,SAAS,OAAO;EAGd,IAAI,oBAAoB,KAAK,KAAK,CAAC,4BAA4B,KAAK,GAClE,OAAO;EAET,MAAM;CACR;AACF;AAEA,eAAe,qBAAuC;CACpD,MAAM,aAAa,MAAM,+BAA+B;CACxD,MAAM,iBAAiB,MAAM,sCAAsC;CACnE,IAAI,EAAE,cAAc,iBAAiB;EACnC,MAAM,WAAW,MAAM,0BAA0B;EACjD,IAAI,CAAC,YAAY,SAAS,iBAAiB,cACzC,OAAO;CAEX;CACA,MAAM,6CAA6C;CACnD,KAAK,MAAM,mCAAmC,EAAA,CAAG,yBAC/C,IAAI;EACF,MAAM,yBAAyB;CACjC,SAAS,OAAO;EACd,QAAQ,OAAO,MACb,0CAA0C,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,EAAE,GACnG;CACF;CAEF,MAAM,cAAc,qCAAqC;CACzD,IAAI,CAAC,YAAY;EACf,IAAI,gBACF,MAAM,YAAY,oBAAoB;OAEtC,MAAM,YAAY,cAAc,EAAE,eAAe,YAAY,CAAC;EAEhE,MAAM,YAAY,YAAY;CAChC;CACA,MAAM,SAAS,MAAM,8BAA8B;CACnD,IAAI,QAAQ,UAAU,WAAW;EAE/B,MAAM,wCAAwC,MAAM;EACpD,OAAO;CACT;CACA,IAAI,QAAQ,UAAU,cAAc,QAAQ,UAAU,cACpD,QAAQ,WAAW;CAErB,OAAO;AACT"}
@@ -13,11 +13,11 @@ import { A as HEARTBEAT_RESPONSE_TIMEOUT_MS$1, B as RUNTIME_AGENT_CONTROLLER_REP
13
13
  import { C as updateConfiguredDeviceRuntimeState, T as updateConfiguredSkillsConfig, _ as getConfiguredViewCustomization, a as resolveBaseUrl, c as resolveExplicitGatewayUrlOrThrow, d as createDefaultRuntimeAgentControllerSettings, g as getConfiguredSkillsConfig, h as getConfiguredOpenMeldToolsMaintenance, i as normalizeGatewayBaseUrlOrNull, o as resolveBaseUrlOrNull, p as getConfiguredDeviceRuntimeState, r as normalizeGatewayBaseUrl, s as resolveDefaultGatewayBaseUrl, v as getRuntimeConfigReadHealth, x as setConfiguredOpenMeldToolsMaintenance, y as resolveRuntimeSkillsCustomTargetId } from "./base-url-CcjogygH.js";
14
14
  import { n as toErrorMessage$25, t as sleep } from "./dist-o3UL1EGQ.js";
15
15
  import { A as installDaemon, B as rotateDaemonControlPlaneTokenIfExpired, C as daemonServiceStableExecutableWrapperPath, E as daemonStatePath, F as readDaemonServiceRuntimeSnapshot, H as uninstallDaemon, L as resolveDaemonControlPlaneEndpoint, M as readDaemonControlPlaneToken, N as readDaemonServiceLifecycleLockMeta, O as getDaemonRuntimeStatus, P as readDaemonServiceLifecycleLockMetaWithCleanup, S as daemonServiceStableBinaryExecutablePath, T as daemonServiceUpdateWorkerBinaryExecutablePath, U as withDaemonServiceReconcileLock, _ as daemonServiceActiveBundleStatePath, a as DAEMON_SERVICE_RUNTIME_MODE_ENV, b as daemonServiceRecognizedExecutablePaths$1, d as daemonLifecycleJournalPath, f as daemonRuntimeBundlesPath, g as daemonRuntimeStateRootPath, h as daemonRuntimeServiceManagerPath, i as DAEMON_SERVICE_RUNTIME_DETACHED_ENV, k as getDaemonStatus, l as clearDaemonServiceRuntimeState, m as daemonRuntimeRootPath, n as DAEMON_SERVICE_RUNTIME_AUTO_START_ENV, p as daemonRuntimeDataPath, r as DAEMON_SERVICE_RUNTIME_CONTROLLER_ENV, s as DAEMON_SERVICE_RUNTIME_SYSTEM_SERVICE_ENV, t as DAEMON_HEARTBEAT_STALE_MS, v as daemonServiceExecutableWrapperPaths$1, w as daemonServiceStableLauncherPath, y as daemonServiceLegacyExecutableWrapperPath, z as restoreDaemonInstallStateSnapshot } from "./daemon-state-DRo7-Vjz.js";
16
- import { C as resolveDaemonServiceIdentity, D as isTestProcess, E as isPublishedProductionOpenMeldRoot, S as waitForLaunchdJobUnloaded, T as assertSafePublishedProductionServiceRegistrationMutation, a as disableDaemonServiceAutostartIfConfigured, b as resolveDaemonServiceManager, c as getDaemonSystemServiceLogPath, o as formatDaemonServiceJobDiagnosticsEvidence, s as getDaemonServiceLaunchdLabel, w as assertNoPublishedProductionMutationDuringTests } from "./daemon-service-manager-9K3dv9dX.js";
16
+ import { C as resolveDaemonServiceIdentity, D as isTestProcess, E as isPublishedProductionOpenMeldRoot, S as waitForLaunchdJobUnloaded, T as assertSafePublishedProductionServiceRegistrationMutation, a as disableDaemonServiceAutostartIfConfigured, b as resolveDaemonServiceManager, c as getDaemonSystemServiceLogPath, o as formatDaemonServiceJobDiagnosticsEvidence, s as getDaemonServiceLaunchdLabel, w as assertNoPublishedProductionMutationDuringTests } from "./daemon-service-manager-T-A7pEXr.js";
17
17
  import { c as buildRequestAuthHeaders, n as fetchSpaceRequestWithTimeout, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation, u as buildOpenMeldRequestContextFromProfile } from "./api-client-foundation-wW__rrcr.js";
18
18
  import { createRequire } from "node:module";
19
19
  import { createHash, randomUUID } from "node:crypto";
20
- import { homedir, tmpdir, userInfo } from "node:os";
20
+ import { homedir, loadavg, tmpdir, userInfo } from "node:os";
21
21
  import path, { basename, delimiter, dirname, extname, isAbsolute, join, normalize, parse, relative, resolve, sep } from "node:path";
22
22
  import { access, appendFile, chmod, copyFile, cp, lstat, mkdir, mkdtemp, open, readFile, readdir, readlink, realpath, rename, rm, stat, symlink, writeFile } from "node:fs/promises";
23
23
  import * as z$1 from "zod/v4";
@@ -28,7 +28,7 @@ import { setTimeout as setTimeout$1 } from "node:timers/promises";
28
28
  import { fileURLToPath, pathToFileURL } from "node:url";
29
29
  import { promisify } from "node:util";
30
30
  import { query } from "@anthropic-ai/claude-agent-sdk";
31
- import { createConnection, createServer } from "node:net";
31
+ import { connect, createConnection, createServer } from "node:net";
32
32
  import { createOpencodeClient } from "@opencode-ai/sdk/v2";
33
33
  //#region ../../packages/schemas/dist/agent-controller-brand.js
34
34
  const BUILTIN_AGENT_CONTROLLER_DISPLAY_ORDER = [
@@ -1052,7 +1052,7 @@ async function hasIndependentMaintenanceRegistration(pathInput = {}, platform =
1052
1052
  }
1053
1053
  const registration = await readDaemonServiceUpdateWorkerRegistration(pathInput, platform);
1054
1054
  if (!registration?.includes("openmeld-independent-maintenance-v1")) return false;
1055
- const { parseDaemonServiceEnvironmentFromDefinition } = await import("./daemon-service-manager-CJK8FDmz.js");
1055
+ const { parseDaemonServiceEnvironmentFromDefinition } = await import("./daemon-service-manager-DqIRLolx.js");
1056
1056
  return resolveOpenMeldRootDir({ env: parseDaemonServiceEnvironmentFromDefinition({
1057
1057
  controller: platform === "darwin" ? "launchd" : "systemd",
1058
1058
  definition: registration
@@ -3100,7 +3100,7 @@ function parseJson$1(raw) {
3100
3100
  var package_default = {
3101
3101
  $schema: "https://www.schemastore.org/package.json",
3102
3102
  name: "openmeld",
3103
- version: "0.3.184",
3103
+ version: "0.3.186",
3104
3104
  openMeldReleaseDate: "2026-09-09",
3105
3105
  description: "OpenMeld CLI - https://openmeld.ai",
3106
3106
  license: "MIT",
@@ -10396,6 +10396,7 @@ const toClaudeCliTransportError = (error, timeoutMs) => {
10396
10396
  const classifyClaudeFailure = (input) => {
10397
10397
  const trustedProviderMessages = /* @__PURE__ */ new Set([...input.providerOriginalErrorMessages ?? [], ...extractErrorMessagesFromStdout$2(input.stdoutText)]);
10398
10398
  const providerMessage = resolveProviderFailureMessage$3(input);
10399
+ const originalError = providerMessage && trustedProviderMessages.has(providerMessage) ? createProviderOriginalError(providerMessage) ?? void 0 : void 0;
10399
10400
  if (providerMessage) {
10400
10401
  const classified = classifyProviderMessageFailure(providerMessage, trustedProviderMessages.has(providerMessage));
10401
10402
  if (classified) return classified;
@@ -10403,15 +10404,20 @@ const classifyClaudeFailure = (input) => {
10403
10404
  if (input.exitSignal) return {
10404
10405
  code: "provider.process_terminated",
10405
10406
  errorType: "adapter",
10406
- message: `provider.process_terminated: claude process was terminated by ${input.exitSignal} before returning a result`
10407
+ message: `provider.process_terminated: claude process was terminated by ${input.exitSignal} before returning a result`,
10408
+ originalError
10407
10409
  };
10408
10410
  const stderrText = normalizeOptionalText$41(input.stderrText);
10409
10411
  if (stderrText) return {
10410
10412
  code: "upstream_unreachable",
10411
10413
  errorType: "adapter",
10412
- message: `upstream_unreachable: ${stderrText}`
10414
+ message: `upstream_unreachable: ${stderrText}`,
10415
+ originalError
10416
+ };
10417
+ return {
10418
+ ...buildProviderExitError({ providerLabel: "claude" }),
10419
+ originalError
10413
10420
  };
10414
- return { ...buildProviderExitError({ providerLabel: "claude" }) };
10415
10421
  };
10416
10422
  const classifyProviderMessageFailure = (providerMessage, includeOriginalError) => {
10417
10423
  const lowered = providerMessage.toLowerCase();
@@ -12050,6 +12056,7 @@ async function invokeCodexAppServerTransport(input) {
12050
12056
  function requireSuccessfulCodexTurn(turn) {
12051
12057
  if (turn.status !== "failed") return;
12052
12058
  const failureMessage = readTurnFailureMessage(turn);
12059
+ const originalError = createProviderOriginalError(failureMessage) ?? void 0;
12053
12060
  const permissionDenial = classifyRuntimePermissionDenialMessage({
12054
12061
  message: failureMessage,
12055
12062
  source: "codex"
@@ -12057,7 +12064,8 @@ function requireSuccessfulCodexTurn(turn) {
12057
12064
  if (permissionDenial) throw new CodexAppServerTransportError({
12058
12065
  code: permissionDenial.code,
12059
12066
  errorType: permissionDenial.errorType,
12060
- message: permissionDenial.message
12067
+ message: permissionDenial.message,
12068
+ originalError
12061
12069
  });
12062
12070
  const providerFailure = classifyCodexProviderAccountFailure({
12063
12071
  codexErrorInfo: readTurnFailureCodexErrorInfo(turn),
@@ -12073,7 +12081,8 @@ function requireSuccessfulCodexTurn(turn) {
12073
12081
  throw new CodexAppServerTransportError({
12074
12082
  code: "runtime.turn.failed",
12075
12083
  errorType: "adapter",
12076
- message: `runtime.turn.failed: ${failureMessage}`
12084
+ message: `runtime.turn.failed: ${failureMessage}`,
12085
+ originalError
12077
12086
  });
12078
12087
  }
12079
12088
  async function verifyCodexAppServerThread(input) {
@@ -13405,6 +13414,7 @@ function buildServerRequestDeclineResponse(method) {
13405
13414
  }
13406
13415
  function toJsonRpcTransportError$1(error) {
13407
13416
  const message = normalizeOptionalText$36(error.message) ?? "codex app-server error";
13417
+ const originalError = createProviderOriginalError(message) ?? void 0;
13408
13418
  const permissionDenial = classifyRuntimePermissionDenialMessage({
13409
13419
  message,
13410
13420
  source: "codex"
@@ -13412,7 +13422,8 @@ function toJsonRpcTransportError$1(error) {
13412
13422
  if (permissionDenial) return new CodexAppServerTransportError({
13413
13423
  code: permissionDenial.code,
13414
13424
  errorType: permissionDenial.errorType,
13415
- message: permissionDenial.message
13425
+ message: permissionDenial.message,
13426
+ originalError
13416
13427
  });
13417
13428
  const providerFailure = classifyCodexProviderAccountFailure({ message });
13418
13429
  if (providerFailure) return new CodexAppServerTransportError({
@@ -13426,17 +13437,20 @@ function toJsonRpcTransportError$1(error) {
13426
13437
  if (lowered.includes("not logged in") || lowered.includes("unauthorized") || lowered.includes("authentication") || lowered.includes("401")) return new CodexAppServerTransportError({
13427
13438
  code: "auth.required",
13428
13439
  errorType: "auth",
13429
- message
13440
+ message,
13441
+ originalError
13430
13442
  });
13431
13443
  if (lowered.includes("no rollout found") || lowered.includes("rollout not found") || lowered.includes("thread not found") || lowered.includes("thread not loaded") || lowered.includes("no thread") || lowered.includes("not found")) return new CodexAppServerTransportError({
13432
13444
  code: "context_not_found",
13433
13445
  errorType: "config",
13434
- message
13446
+ message,
13447
+ originalError
13435
13448
  });
13436
13449
  return new CodexAppServerTransportError({
13437
13450
  code: "upstream_unreachable",
13438
13451
  errorType: "adapter",
13439
13452
  message,
13453
+ originalError,
13440
13454
  ...typeof error.code === "number" ? { rpcErrorCode: error.code } : {}
13441
13455
  });
13442
13456
  }
@@ -14104,6 +14118,7 @@ const readCodexJsonErrorMessage = (line) => {
14104
14118
  };
14105
14119
  const classifyCodexFailure = (input) => {
14106
14120
  const providerMessage = resolveProviderFailureMessage$2(input);
14121
+ const originalError = providerMessage && input.providerErrorMessages.includes(providerMessage) ? createProviderOriginalError(providerMessage) ?? void 0 : void 0;
14107
14122
  if (providerMessage) {
14108
14123
  const lowered = providerMessage.toLowerCase();
14109
14124
  const permissionDenial = classifyRuntimePermissionDenialMessage({
@@ -14113,12 +14128,14 @@ const classifyCodexFailure = (input) => {
14113
14128
  if (permissionDenial) return {
14114
14129
  code: permissionDenial.code,
14115
14130
  errorType: permissionDenial.errorType,
14116
- message: permissionDenial.message
14131
+ message: permissionDenial.message,
14132
+ originalError
14117
14133
  };
14118
14134
  if (isControllerClientUpgradeRequiredFailure(lowered)) return {
14119
14135
  code: "controller.client.upgrade_required",
14120
14136
  errorType: "config",
14121
- message: toControllerClientUpgradeRequiredMessage(providerMessage)
14137
+ message: toControllerClientUpgradeRequiredMessage(providerMessage),
14138
+ originalError
14122
14139
  };
14123
14140
  const providerFailure = classifyCodexProviderAccountFailure({ message: providerMessage });
14124
14141
  if (providerFailure) return {
@@ -14128,16 +14145,21 @@ const classifyCodexFailure = (input) => {
14128
14145
  if (isConfigFailure(lowered)) return {
14129
14146
  code: "config.invalid",
14130
14147
  errorType: "config",
14131
- message: toConfigInvalidMessage(providerMessage)
14148
+ message: toConfigInvalidMessage(providerMessage),
14149
+ originalError
14132
14150
  };
14133
14151
  }
14134
14152
  const stderrText = normalizeOptionalText$33(input.stderrText);
14135
14153
  if (stderrText) return {
14136
14154
  code: "upstream_unreachable",
14137
14155
  errorType: "adapter",
14138
- message: `upstream_unreachable: ${stderrText}`
14156
+ message: `upstream_unreachable: ${stderrText}`,
14157
+ originalError
14158
+ };
14159
+ return {
14160
+ ...buildProviderExitError({ providerLabel: "codex" }),
14161
+ originalError
14139
14162
  };
14140
- return { ...buildProviderExitError({ providerLabel: "codex" }) };
14141
14163
  };
14142
14164
  const resolveProviderFailureMessage$2 = (input) => {
14143
14165
  const candidateMessages = [
@@ -19665,6 +19687,8 @@ const SERVER_HOSTNAME = "127.0.0.1";
19665
19687
  const SERVER_HEALTH_TIMEOUT_MS = 5e3;
19666
19688
  const SERVER_STARTUP_TIMEOUT_MS = 15e3;
19667
19689
  const SERVER_MAX_START_ATTEMPTS = 2;
19690
+ const SERVER_SLOW_START_MS = 5e3;
19691
+ const SERVER_DIAGNOSTIC_CONNECT_TIMEOUT_MS = 250;
19668
19692
  const SERVER_PROCESS_KILL_GRACE_MS = 1e3;
19669
19693
  const SERVER_PROCESS_CLOSE_TIMEOUT_MS = 2e3;
19670
19694
  const SERVER_READY_LINE_PATTERN = /^opencode server listening on (https?:\/\/[^\s]+)$/;
@@ -19801,6 +19825,7 @@ async function forkOpenCodeSessionWithClient(input) {
19801
19825
  }
19802
19826
  async function startHealthyOpenCodeServer(input) {
19803
19827
  let lastError = null;
19828
+ const startupEvidence = [];
19804
19829
  for (let attemptIndex = 0; attemptIndex < SERVER_MAX_START_ATTEMPTS; attemptIndex += 1) {
19805
19830
  const remainingTimeoutMs = readRemainingTimeoutMs(input.deadlineMs);
19806
19831
  if (remainingTimeoutMs !== null && remainingTimeoutMs <= 0) break;
@@ -19814,10 +19839,15 @@ async function startHealthyOpenCodeServer(input) {
19814
19839
  server: attempt.server,
19815
19840
  serverUrl: attempt.serverUrl
19816
19841
  };
19842
+ startupEvidence.push(`Startup evidence, attempt ${attemptIndex + 1}: ${JSON.stringify(attempt.evidence)}`);
19817
19843
  lastError = new OpenCodeServerTransportError({
19818
19844
  ...attempt.error,
19819
19845
  message: `${attempt.error.message} OpenCode server ${attempt.phase === "startup" ? "startup" : "health check"} failed on attempt ${attemptIndex + 1} of ${SERVER_MAX_START_ATTEMPTS}. No Agent task was sent.`,
19820
- originalError: createProviderOriginalError([`OpenCode server ${attempt.phase}, attempt ${attemptIndex + 1} of ${SERVER_MAX_START_ATTEMPTS}.`, attempt.error.originalError ?? attempt.error.message].join("\n")) ?? void 0
19846
+ originalError: createProviderOriginalError([
19847
+ ...startupEvidence,
19848
+ `OpenCode server ${attempt.phase}, attempt ${attemptIndex + 1} of ${SERVER_MAX_START_ATTEMPTS}.`,
19849
+ attempt.error.originalError ?? attempt.error.message
19850
+ ].join("\n")) ?? void 0
19821
19851
  });
19822
19852
  if (!attempt.serverExited) throw createOpenCodeServerCleanupError();
19823
19853
  const hasNextAttempt = attemptIndex < SERVER_MAX_START_ATTEMPTS - 1;
@@ -19883,9 +19913,16 @@ async function assertOpenCodeServerHealthy(input) {
19883
19913
  }
19884
19914
  async function closeFailedOpenCodeServer(input) {
19885
19915
  const error = toOpenCodeServerTransportError(input.error, input.server.readStderr());
19916
+ const evidence = input.server.readStartupEvidence();
19917
+ console.warn("[openmeld.opencode.server_start.failed]", {
19918
+ ...evidence,
19919
+ errorCode: error.code,
19920
+ phase: input.phase
19921
+ });
19886
19922
  const serverExited = await input.server.close();
19887
19923
  return {
19888
19924
  error,
19925
+ evidence,
19889
19926
  phase: input.phase,
19890
19927
  serverExited,
19891
19928
  status: "failed"
@@ -20260,6 +20297,15 @@ var OpenCodeServerProcess = class {
20260
20297
  #processTimeout = null;
20261
20298
  #settledFailure = null;
20262
20299
  #stderr = "";
20300
+ #stdoutBytes = 0;
20301
+ #stderrBytes = 0;
20302
+ #stdoutLines = 0;
20303
+ #readyLineObserved = false;
20304
+ #startupStartedAt = 0;
20305
+ #port = null;
20306
+ #portProbe = { status: "not_sampled" };
20307
+ #slowStartTimer = null;
20308
+ #diagnosticSocket = null;
20263
20309
  #startupReject = null;
20264
20310
  #startupResolve = null;
20265
20311
  #startupTimeoutMs;
@@ -20286,6 +20332,8 @@ var OpenCodeServerProcess = class {
20286
20332
  }
20287
20333
  async start() {
20288
20334
  const port = await reserveLocalPort();
20335
+ this.#port = port;
20336
+ this.#startupStartedAt = performance.now();
20289
20337
  const invocation = buildCliLaunchInvocation({
20290
20338
  args: [
20291
20339
  "serve",
@@ -20329,6 +20377,7 @@ var OpenCodeServerProcess = class {
20329
20377
  });
20330
20378
  child.stdout.setEncoding("utf8");
20331
20379
  child.stdout.on("data", (chunk) => {
20380
+ this.#stdoutBytes += Buffer.byteLength(chunk);
20332
20381
  if (this.#lifecycle.firstStdoutAtMs === null) {
20333
20382
  const firstStdoutAtMs = Date.now();
20334
20383
  this.#lifecycle.firstStdoutAtMs = firstStdoutAtMs;
@@ -20342,6 +20391,7 @@ var OpenCodeServerProcess = class {
20342
20391
  });
20343
20392
  child.stderr.setEncoding("utf8");
20344
20393
  child.stderr.on("data", (chunk) => {
20394
+ this.#stderrBytes += Buffer.byteLength(chunk);
20345
20395
  if (this.#lifecycle.firstStderrAtMs === null) {
20346
20396
  const firstStderrAtMs = Date.now();
20347
20397
  this.#lifecycle.firstStderrAtMs = firstStderrAtMs;
@@ -20400,7 +20450,74 @@ var OpenCodeServerProcess = class {
20400
20450
  }));
20401
20451
  this.#requestProcessTermination();
20402
20452
  }, this.#openCodeTimeoutMs);
20403
- return await Promise.race([startup, timeoutAfter(this.#startupTimeoutMs, `OpenCode did not open its local server within ${this.#startupTimeoutMs}ms.`)]);
20453
+ if (this.#startupTimeoutMs > SERVER_SLOW_START_MS) {
20454
+ this.#slowStartTimer = setTimeout(() => this.#sampleSlowStartup(port), SERVER_SLOW_START_MS);
20455
+ this.#slowStartTimer.unref?.();
20456
+ }
20457
+ try {
20458
+ return await Promise.race([startup, timeoutAfter(this.#startupTimeoutMs, `OpenCode did not open its local server within ${this.#startupTimeoutMs}ms.`)]);
20459
+ } finally {
20460
+ this.#clearStartupDiagnostic();
20461
+ }
20462
+ }
20463
+ readStartupEvidence() {
20464
+ return {
20465
+ processId: this.#lifecycle.processId,
20466
+ processSpawnedAtMs: this.#lifecycle.processSpawnedAtMs,
20467
+ elapsedMs: Math.round(performance.now() - this.#startupStartedAt),
20468
+ budgetMs: this.#startupTimeoutMs,
20469
+ firstStdoutAtMs: this.#lifecycle.firstStdoutAtMs,
20470
+ firstStderrAtMs: this.#lifecycle.firstStderrAtMs,
20471
+ stdoutBytes: this.#stdoutBytes,
20472
+ stderrBytes: this.#stderrBytes,
20473
+ stdoutLines: this.#stdoutLines,
20474
+ readyLineObserved: this.#readyLineObserved,
20475
+ port: this.#port,
20476
+ portProbe: this.#portProbe,
20477
+ processExitObserved: this.#lifecycle.exitObservedAtMs !== null,
20478
+ hostLoadAverage: loadavg().map((value) => Math.round(value * 100) / 100)
20479
+ };
20480
+ }
20481
+ #sampleSlowStartup(port) {
20482
+ const startedAt = performance.now();
20483
+ const socket = connect({
20484
+ host: SERVER_HOSTNAME,
20485
+ port
20486
+ });
20487
+ this.#diagnosticSocket = socket;
20488
+ this.#portProbe = {
20489
+ status: "pending",
20490
+ observedAtMs: Date.now()
20491
+ };
20492
+ const finish = (status) => {
20493
+ if (this.#diagnosticSocket !== socket) return;
20494
+ this.#portProbe = {
20495
+ status,
20496
+ elapsedMs: Math.round(performance.now() - startedAt),
20497
+ observedAtMs: Date.now()
20498
+ };
20499
+ this.#diagnosticSocket = null;
20500
+ socket.destroy();
20501
+ console.warn("[openmeld.opencode.server_start.slow]", this.readStartupEvidence());
20502
+ };
20503
+ socket.once("connect", () => finish("connected"));
20504
+ socket.once("error", (error) => finish(error.code === "ECONNREFUSED" ? "refused" : "error"));
20505
+ socket.setTimeout(SERVER_DIAGNOSTIC_CONNECT_TIMEOUT_MS, () => finish("timeout"));
20506
+ socket.unref();
20507
+ }
20508
+ #clearStartupDiagnostic() {
20509
+ if (this.#slowStartTimer) {
20510
+ clearTimeout(this.#slowStartTimer);
20511
+ this.#slowStartTimer = null;
20512
+ }
20513
+ if (this.#diagnosticSocket) {
20514
+ this.#diagnosticSocket.destroy();
20515
+ this.#diagnosticSocket = null;
20516
+ this.#portProbe = {
20517
+ ...this.#portProbe,
20518
+ status: "cancelled"
20519
+ };
20520
+ }
20404
20521
  }
20405
20522
  async close() {
20406
20523
  this.#expectedExit = true;
@@ -20465,6 +20582,7 @@ var OpenCodeServerProcess = class {
20465
20582
  return this.#failure.promise;
20466
20583
  }
20467
20584
  #clearTimers() {
20585
+ this.#clearStartupDiagnostic();
20468
20586
  if (this.#processTimeout !== null) {
20469
20587
  clearTimeout(this.#processTimeout);
20470
20588
  this.#processTimeout = null;
@@ -20480,6 +20598,7 @@ var OpenCodeServerProcess = class {
20480
20598
  const newlineIndex = this.#lineBuffer.indexOf("\n");
20481
20599
  if (newlineIndex < 0) return;
20482
20600
  const line = this.#lineBuffer.slice(0, newlineIndex).trim();
20601
+ this.#stdoutLines += 1;
20483
20602
  this.#lineBuffer = this.#lineBuffer.slice(newlineIndex + 1);
20484
20603
  const match = line.match(SERVER_READY_LINE_PATTERN);
20485
20604
  if (!match) continue;
@@ -20495,6 +20614,7 @@ var OpenCodeServerProcess = class {
20495
20614
  return;
20496
20615
  }
20497
20616
  this.#startupResolve?.(reportedUrl);
20617
+ this.#readyLineObserved = true;
20498
20618
  this.#startupResolve = null;
20499
20619
  this.#startupReject = null;
20500
20620
  }
@@ -20599,7 +20719,7 @@ function unwrapSdkData(value) {
20599
20719
  }
20600
20720
  function toOpenCodeServerTransportError(error, stderr) {
20601
20721
  if (error instanceof OpenCodeServerTransportError) {
20602
- const originalError = createProviderOriginalError([error.originalError ?? error.message, normalizeOptionalText$14(stderr)].filter(Boolean).join("\n"));
20722
+ const originalError = createProviderOriginalError(error.originalError ?? [error.message, normalizeOptionalText$14(stderr)].filter(Boolean).join("\n"));
20603
20723
  return new OpenCodeServerTransportError({
20604
20724
  ...error,
20605
20725
  message: error.message,
@@ -40580,4 +40700,4 @@ function projectServiceJob(job) {
40580
40700
  //#endregion
40581
40701
  export { formatReplyReadinessSummary as $, extractAuthenticationPromptAction as $a, emitDaemonLifecycleEvent as $i, SPACE_ACTION_TARGET_GUIDANCE_LINES as $n, PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS as $o, renderInformationProtectionPrompt as $r, setDefaultProjectConnection as $t, resolveServiceReadiness as A, isSelectedOpenMeldProfileRequiredError as Aa, hasActiveDaemonOwners as Ai, resolveRegistryOriginLaunchCommand as An, resolvePreferredDaemonDeviceId as Ao, removeConversationExecutionState as Ar, resolveProfileWorkspaceRuntime as At, resolveDaemonServiceFreshnessWarning as B, updateOpenMeldProfile as Ba, resolveDaemonServiceManagerForRuntimeState as Bi, parseAgentEnabledOption as Bn, warnDaemonEvent as Bo, buildAgentControllerRef as Br, describeProfileWorkspacePathValidationFailure as Bt, ensureDaemonSystemServiceCommandFiles as C, getSetupFlowCopy as Ca, createUnsupportedProviderUsageLimits as Ci, setAgentRegistrationEnabled as Cn, assessServerRequiredVersion as Co, resolveLatestScopedConversationExecutionState as Cr, buildRuntimeRouteTargets as Ct, resolveDaemonStatusSnapshot as D, getProfileDefaultView as Da, inspectDaemonServiceInventory as Di, detectInstalledSkillsAgents as Dn, buildLedgerPaths as Do, appendLedgerHistoryEntry as Dr, syncProfileWorkspaceState as Dt, formatDaemonFailureContextText as E, resolveViewProfileKey as Ea, materializeCliLaunchCommand as Ei, canManageRegistryAgentSkillTargets as En, readCurrentLocalDeviceId as Eo, buildTaskResultEnvelope as Er, resolveLocalRuntimeControllerSupport as Et, buildDaemonServiceStatusReadOnlyDetail as F, deleteOpenMeldProfile as Fa, clearDaemonRuntimeStateIfDefinitelyStopped as Fi, requestLocalAgentActivitySync as Fn, normalizeNonNegativeInteger as Fo, withLedgerStateTransaction as Fr, resolveConfiguredProfileWorkspacePath as Ft, buildDaemonServiceDependencyNextStep as G, clearSelectedOpenMeldProfileId as Ga, extractDaemonCommandEntryPath as Gi, isBunGlobalCommandPath as Gn, CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS as Go, createAuthorityOpenMeldServiceRuntimeId as Gr, listProjectBindings as Gt, writeDaemonStartFailureState as H, readDaemonCatalogSyncSignal as Ha, cleanupLegacySharedDaemonServiceState as Hi, repairBuiltinControllerInstall as Hn, CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS as Ho, buildWorkingLanguagePromptPlan as Hr, ProjectBindingStoreUpdateRequiredError as Ht, buildDaemonServiceUpdateRequiredNextStep as I, getOpenMeldProfileCapabilities as Ia, getEffectiveDaemonRuntimeStatus as Ii, requestLocalDaemonShutdown as In, normalizeOptionalText$53 as Io, buildAuthenticatedControlPlaneResponse as Ir, resolveConfiguredProfileWorkspacePathForAccount as It, resolveDaemonServiceDependencyDiagnostics as J, buildAgentAuthenticationGuide as Ja, cleanupInactiveDaemonServiceBundles as Ji, isPnpmGlobalCommandPath as Jn, DAEMON_STREAM_KEEPALIVE_INTERVAL_MS as Jo, isAgentExecutionReadyOrConnecting as Jr, removeAgentActivityBindingsWhileDeliveryLocked as Jt, buildDaemonServiceDependencySummary as K, getSelectedOpenMeldProfileId as Ka, resolveDaemonBundleIdFromEntryPath as Ki, isHomebrewCommandPath as Kn, DAEMON_RUNTIME_CONTRACT_EPOCH as Ko, getAgentControllerPermissionModeDisplayMetadata as Kr, listProjectConnectionsWithStatus as Kt, formatDaemonServiceRefreshReliabilityMessage as L, listOpenMeldProfiles as La, readCurrentDaemonRuntimeContext as Li, sendLocalDaemonControlPlaneRequest as Ln, normalizeText$11 as Lo, buildAgentContextLookupKey as Lr, setCustomProfileWorkspace as Lt, buildDaemonServiceRefreshNextStep as M, resolveOpenMeldProfileOrNull as Ma, resolveDaemonStopStrategy as Mi, resolveRegistryRuntimeAdapterContractByAgentControllerRef as Mn, dirnamePath as Mo, seedLegacyAgentContext as Mr, normalizeCustomProfileWorkspacePath as Mt, buildDaemonServiceRefreshPromptMessage as N, createOpenMeldAgentProfile as Na, resolveStoppedContractWriteBlockedReason as Ni, notifyDaemonRouteCatalogChanged as Nn, emitRunLine as No, settleInflightTask as Nr, readProfileWorkspaceConfig as Nt, resolveDaemonStatusAttention as O, setProfileDefaultView as Oa, buildDaemonOwnerSnapshotFromObservedState as Oi, resolveSkillsAgentRegistry as On, ensureDaemonRuntimePaths as Oo, commitResolvedAgentContext as Or, createModelCatalogReadSession as Ot, buildDaemonServiceRepairGuidance as P, createOpenMeldHumanProfile as Pa, summarizeDaemonOwnerSnapshot as Pi, LocalDaemonControlPlaneClientError as Pn, normalizeHeartbeatIntervalMs as Po, upsertConversationExecutionState as Pr, readProfileWorkspaceConfigForAccount as Pt, formatHumanReplyReadinessReason as Q, createAuthenticationError as Qa, resolveDaemonBundleEntryPathFromState as Qi, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as Qn, MAX_RECONNECT_DELAY_MS as Qo, projectPeopleComputersToLegacyLocalRuntimes as Qr, runIfAgentActivityBindingGenerationIsCurrent as Qt, formatDaemonServiceUpdateRequiredMessage as R, primeOpenMeldProfilesSessionCache as Ra, readCurrentObservedDaemonRuntimeStatus as Ri, normalizeAgentId as Rn, nowIsoString as Ro, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as Rr, setOpenMeldManagedProfileWorkspace as Rt, buildDaemonSystemServiceCommandSpec as S, buildOnboardingPlan as Sa, createUnavailableProviderUsageLimits as Si, resolveAgentTargetState as Sn, resolveServiceUpdateUrgency as So, resolveCompatibleConversationExecutionState as Sr, resolveBuiltinAgentControllerBrand as Ss, syncDaemonRouteCatalogState as St, captureDaemonServiceEvidenceBestEffort as T, resolveRuntimeContext as Ta, buildCliLaunchInvocation as Ti, updateAgentRegistrations as Tn, buildLocalAgentCatalogFromReadiness as To, buildRuntimeWorkspaceFingerprint as Tr, resolveLocalController as Tt, buildDaemonServiceDependencyDetails as U, alignSelectedOpenMeldProfileStorage as Ua, listDaemonOwnedProcesses as Ui, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as Un, CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS as Uo, createAgentControllerInterfaceDisplayRows as Ur, bindProject as Ut, clearDaemonStartFailureState as V, assertAdditionalHumanProfileCreationEnabled as Va, waitForDaemonSystemServiceToStop as Vi, sortAgentRegistrations as Vn, CATALOG_SYNC_RETRY_INTERVAL_MS as Vo, buildInformationProtectionPromptPlan as Vr, ProjectBindingOperationError as Vt, buildDaemonServiceDependencyMeaning as W, clearAllSelectedOpenMeldProfileIds as Wa, assertDaemonMaintenanceInstallationOwnership as Wi, resolveBuiltinAgentControllerDefinition as Wn, CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS as Wo, createAgentExecutionStatusDisplayRows as Wr, isProjectBound as Wt, formatAgentReplyReadinessLabel as X, buildCommandAuthenticationPromptMessage as Xa, readDaemonActiveBundleState as Xi, normalizeDispatchThreadAction as Xn, DEFAULT_RECONNECT_DELAY_MS as Xo, parseAgentControllerRef as Xr, removeProjectConnection as Xt, resolveCurrentReplyReadinessSnapshot as Y, buildAuthenticationStatusLabel as Ya, prepareDaemonServiceBundle as Yi, resolveLocalRegistryAgentIdFromAgentControllerRef as Yn, DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS as Yo, listAgentControllerPermissionModeOptions as Yr, removeMissingProjectConnections as Yt, formatDeviceReplyReadinessLabel as Z, buildHumanAuthenticationCard as Za, resolveAlignedDaemonActiveBundleEntryPath as Zi, syncRuntimeEventToInflightTaskControlRegistry as Zn, HEARTBEAT_RESPONSE_TIMEOUT_MS as Zo, peopleComputerContainsDevice as Zr, resolveProjectBindingForPath as Zt, isDaemonInventoryRunningAndStartReady as _, resolveCurrentDaemonExpectedVersion as _a, resolveCodexTimeoutMs as _i, manageAgentRegistrationInstallation as _n, fetchLatestCliBinaryRelease as _o, resolveAdaptiveHeartbeatIntervalMs as _r, formatProfileAwareOpenMeldCliCommands as _s, resolveLocalServiceDemand as _t, resolveOpenMeldToolsMaintenanceProjection as a, runDaemonServiceManagerAction as aa, resolveNativeAgentControllerPermissionModeForController as ai, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as an, resolveDaemonServiceAlignmentDecision as ao, createPendingAgentInteractionRegistry as ar, clearDaemonServiceContract as as, resolveOpenClawDiagnosticsGuidance as at, waitForSystemServiceStartup as b, PREPARE_SESSION_RECONNECT_GRACE_MS as ba, verifyCodexAppServerThread as bi, reconcileNewRunnableBuiltinAgentsForSetup as bn, writeVersionState as bo, resolveDispatchContinuityObservation as br, cliBinaryDeltaPatchSchema as bs, loadDaemonRouteCatalog as bt, isCliUpdateCheckApplicable as c, performManagedInstall as ca, createLocalAdapterContainer as ci, emitReconcileCompletedEvidence as cn, DAEMON_SERVICE_AUTO_HEAL_ANOMALIES as co, buildLocalServiceDiagnosticsPayload as cr, upsertDaemonServiceContract as cs, resolveGatewayChainRepairGuidance as ct, scheduleDaemonServiceUpdate as d, resolveDaemonServiceUpdateOperation as da, forkOpenCodeServerSession as di, resolveAgentProfilePrimaryAgentControllerReport as dn, DAEMON_SERVICE_WAKEABILITY_ADVISORY_ANOMALIES as do, ADAPTIVE_HEARTBEAT_JITTER_RATIO as dr, formatInlineOpenMeldCliCommands as ds, prepareProviderRuntime as dt, formatDaemonLifecycleOriginSummary as ea, renderWorkingLanguagePrompt as ei, unbindProject as en, resolveAuthenticationGuidance as eo, isDaemonReconcileInProgressError as er, PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS as es, mapAgentReplyReadinessToLegacyAutoReply as et, DaemonServiceLifecycleDrainTimeoutError as f, resolveDaemonRuntimeContractCompatibility as fa, resolveInstalledOpenCodeLaunchCandidates as fi, addAgentCustomTarget as fn, classifyDaemonServiceRunStartability as fo, MAX_HEARTBEAT_INTERVAL_MS as fr, formatOpenMeldCliCommand as fs, buildOpenClawSpaceSessionKey as ft, uninstallDaemonServiceUpdateWorker as g, DaemonServiceRunError as ga, projectCodexUsageLimits as gi, listAgentTargetStates as gn, ensureVersionStateReady as go, pruneStaleLeases as gr, formatProfileAwareOpenMeldCliCommand as gs, writeDaemonRouteCatalogCache as gt, prepareDaemonServiceUpdateWorkerCarrier as h, readDaemonRuntimeContractRepairReport as ha, resolveInstalledGrokBuildLaunchCandidates as hi, listAgentRegistrations as hn, compareSemver as ho, applyIntervalJitterMs as hr, formatOpenMeldCliTextBlock as hs, readDaemonRouteCatalogCache as ht, readOpenMeldToolsMaintenancePolicy as i, resolveRecentDaemonSignalStopCause as ia, resolveEvidenceSyncHealth as ii, withAgentActivityLocalStateLock as in, buildDaemonServiceTargetSpec as io, normalizeDispatchPostMessageAction as ir, RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS as is, resolveReplyReadinessGuidanceSummaryCopy as it, resolveServiceReadinessFromServiceStatus as j, requireOpenMeldProfile as ja, readCurrentDaemonOwnerSnapshot as ji, resolveRegistryRuntimeAdapterCapabilitySnapshot as jn, asRecord as jo, resolveConversationExecutionStateByLookupKey as jr, ensureOpenMeldManagedProfileWorkspace as jt, resolveDaemonStatusAuthenticationAttention as k, resolveCurrentOpenMeldAccountContext as ka, formatDaemonOwnerSummaryLabel as ki, listBuiltinAgentsRegistryEntries as kn, resolveDaemonDeviceId as ko, loadLedgerState as kr, resolveCurrentEffectiveProfileWorkingFolderRuntime as kt, readOpenMeldToolsUpdateContextFromEnv as l, readLastDaemonServiceUpdate as la, createLocalAdapterEntries as li, emitReconcileStartedEvidence as ln, DAEMON_SERVICE_FULL_ALIGNMENT_ANOMALIES as lo, createLocalExecutionSlots as lr, resolveOpenMeldEnvironmentTarget as ls, resolveGatewayChainRetryGuidance as lt, ensureDaemonServiceMaintenanceInstalled as m, ensureDaemonRuntimeContractState as ma, probeGrokBuildAcpInterface as mi, listAgentCustomTargets as mn, buildNextVersionState as mo, applyAcceptedLeases as mr, formatOpenMeldCliLine as ms, slugifyOpenClawNamePart as mt, readLastOpenMeldToolsUpdateAttempt as n, readLatestDaemonLifecycleOriginEvent as na, resolveAgentExecutionStatus as ni, resolveLocalProjectConnectionForPath as nn, resolveAuthenticationGuidanceFromMessage as no, createSerialAgentInteractionCallback as nr, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS as ns, formatSpaceMemberCommandRecoveryCopy as nt, writeOpenMeldToolsMaintenancePolicy as o, runWithDaemonLifecycleCommandJournal as oa, resolveSelectableCandidates as oi, syncDeviceRuntimeStateProjection as on, isVersionDowngrade as oo, mergeOpenClawGatewayVisibility as or, isDaemonServiceContractIdentityReusable as os, classifyGatewayChainFailure as ot, runDaemonServiceLifecycle as p, toStartBackgroundHelperExecutionCompatibility as pa, GrokBuildAcpTransportError as pi, createRegistrationFromCatalogTarget as pn, classifyDaemonServiceWakeability as po, MIN_HEARTBEAT_INTERVAL_MS as pr, formatOpenMeldCliCommands as ps, normalizeOpenClawSpaceIdPrefix as pt, buildDaemonServiceDependencyTitle as q, setSelectedOpenMeldProfileId as qa, isOpenMeldManagedBinaryPath as qi, isNpmGlobalCommandPath as qn, DAEMON_STREAM_CONNECT_TIMEOUT_MS as qo, getAgentControllerPermissionModeFieldLabel as qr, migrateProjectBindingStore as qt, readPendingOpenMeldToolsUpdateAttempt as r, readRecentDaemonLifecycleEvents as ra, resolveAgentProfileEditCapabilities as ri, withAgentActivityDeliveryLock as rn, resolveAuthenticationReasonFromState as ro, buildDispatchReplyContextSummary as rr, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS as rs, resolveReplyReadinessAvailabilityReasonCopy as rt, assessCliUpdate as s, buildInstallSelfJsonPayload as sa, resolveCatalogSyncSkippedProfilesLogState as si, emitDriftDetectedEvidence as sn, resolveVersionChangeDirection as so, createLocalTaskInterruptSender as sr, readDaemonServiceContract as ss, resolveGatewayChainReadiness as st, createOpenMeldToolsUpdateCoordinator as t, readLatestDaemonLifecycleConnectionStateEvent as ta, resolveAgentControllerPermissionModeForController as ti, canonicalizeLocalProjectPath as tn, resolveAuthenticationGuidanceFromError as to, resolveRouteRegistrationReconcileDecision as tr, REGISTER_RESPONSE_TIMEOUT_MS as ts, REPLY_READINESS_COPY as tt, runPendingDaemonServiceUpdate as u, readPendingDaemonServiceUpdate as ua, parseOpenCodeGoUsageResponse as ui, createPrimaryBindingReadSession as un, DAEMON_SERVICE_REPAIR_ANOMALIES as uo, createInflightTaskControlRegistry as ur, resolveAuthBaseUrl as us, resolveOpenClawLocalDiagnosticsValue as ut, isSystemServiceStartupTimeoutError as v, OPENMELD_VERSION as va, resolveInstalledCodexLaunchCandidates as vi, readAgentRuntimeConfigHealth as vn, fetchLatestPackageInfo as vo, resolveCatalogSyncIntervalMs as vr, resolveSetupFollowUpCliEntryCommand as vs, createMutableRouteCatalogState as vt, captureDaemonServiceEvidence as w, parseCliViewMode as wa, resolveDispatchSpaceActionMcpServer as wi, updateAgentCustomTarget as wn, describeServerRequiredVersionUnavailableReason as wo, runRuntimeTask as wr, readLocalEnabledControllers as wt, writeDaemonServiceContract as x, buildDaemonRouteObservationPresentation as xa, resolveInstalledClaudeCodeLaunchCandidates as xi, removeAgentCustomTarget as xn, hasIndependentMaintenanceRegistration as xo, resolveCompatibleAgentContextMatch as xr, compareAgentControllerRefsForDisplay as xs, summarizeSkippedDaemonProfiles as xt, resolveSystemServiceStartupWaitMs as y, package_default as ya, forkCodexAppServerThread as yi, reconcileNewRunnableBuiltinAgentRegistrations as yn, readVersionState as yo, resolveDispatchQueueLogMeta as yr, resolveUserFacingCliEntryCommand as ys, createRouteCatalogFromMutableState as yt, buildDaemonServiceFreshnessPromptLines as z, resolveOpenMeldProfile as za, resolveDaemonRuntimeState as zi, normalizeAgentIds as zn, toErrorMessage$23 as zo, areAgentControllerInterfaceAccountsSame as zr, validateCustomProfileWorkspacePath as zt };
40582
40702
 
40583
- //# sourceMappingURL=openmeld-tools-update-coordinator-BEPco317.js.map
40703
+ //# sourceMappingURL=openmeld-tools-update-coordinator-DfJ6glcW.js.map