openmeld 0.3.225 → 0.3.227
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-BUuys3IZ.js → add-me-membership-pkREbEJG.js} +2 -2
- package/dist/{add-me-membership-BUuys3IZ.js.map → add-me-membership-pkREbEJG.js.map} +1 -1
- package/dist/{agents-Blvf8wC0.js → agents-D_RojMEE.js} +11 -11
- package/dist/{agents-Blvf8wC0.js.map → agents-D_RojMEE.js.map} +1 -1
- package/dist/{api-client-foundation-CqbIn_de.js → api-client-foundation-CEScBsM7.js} +1 -1
- package/dist/{api-client-foundation-DpVwrgh-.js → api-client-foundation-Czb9hJvA.js} +3 -3
- package/dist/{api-client-foundation-DpVwrgh-.js.map → api-client-foundation-Czb9hJvA.js.map} +1 -1
- package/dist/{auth-session-uEk_Tx6T.js → auth-session-Q0B3Nfae.js} +5 -4
- package/dist/{auth-session-uEk_Tx6T.js.map → auth-session-Q0B3Nfae.js.map} +1 -1
- package/dist/auth-session-ga82_Wa9.js +4 -0
- package/dist/{base-url-DXrUiSMI.js → base-url-B8eWb2md.js} +1 -1
- package/dist/{base-url-DvjOkKPs.js → base-url-eck31vC8.js} +3 -2
- package/dist/{base-url-DvjOkKPs.js.map → base-url-eck31vC8.js.map} +1 -1
- package/dist/{channel-B2fD2_be.js → channel-B1gMWx__.js} +3 -3
- package/dist/{channel-B2fD2_be.js.map → channel-B1gMWx__.js.map} +1 -1
- package/dist/{cli-binary-manifest-CT5X05lk.js → cli-binary-manifest-Bjf6T7Ef.js} +2 -2
- package/dist/{cli-binary-manifest-CT5X05lk.js.map → cli-binary-manifest-Bjf6T7Ef.js.map} +1 -1
- package/dist/{command-Cjxx-f4g.js → command-B5E_YSAY.js} +18 -17
- package/dist/{command-Cjxx-f4g.js.map → command-B5E_YSAY.js.map} +1 -1
- package/dist/{computer-connection-Dm7iTnRK.js → computer-connection-BbDdF_MD.js} +2 -2
- package/dist/{computer-connection-Dm7iTnRK.js.map → computer-connection-BbDdF_MD.js.map} +1 -1
- package/dist/{computer-connection-review-De0X_5c4.js → computer-connection-review-Dop02mby.js} +6 -6
- package/dist/{computer-connection-review-De0X_5c4.js.map → computer-connection-review-Dop02mby.js.map} +1 -1
- package/dist/{computer-disconnect-CvBzCJF9.js → computer-disconnect-pH6HaHQq.js} +9 -9
- package/dist/{computer-disconnect-CvBzCJF9.js.map → computer-disconnect-pH6HaHQq.js.map} +1 -1
- package/dist/{computer-setup-continuation-CaUPhhdb.js → computer-setup-continuation-BhM3HsRI.js} +3 -3
- package/dist/{computer-setup-continuation-CaUPhhdb.js.map → computer-setup-continuation-BhM3HsRI.js.map} +1 -1
- package/dist/{context-Bdh3nAzw.js → context-D3kAC8RG.js} +5 -5
- package/dist/{context-Bdh3nAzw.js.map → context-D3kAC8RG.js.map} +1 -1
- package/dist/{daemon-device-id-B1Af2Zmn.js → daemon-device-id-DEGf1fm6.js} +7 -6
- package/dist/{daemon-device-id-B1Af2Zmn.js.map → daemon-device-id-DEGf1fm6.js.map} +1 -1
- package/dist/{daemon-frame-transport-CSvV88PL.js → daemon-frame-transport-BMZP90f0.js} +10 -9
- package/dist/{daemon-frame-transport-CSvV88PL.js.map → daemon-frame-transport-BMZP90f0.js.map} +1 -1
- package/dist/{daemon-lifecycle-journal-ChhAF8yX.js → daemon-lifecycle-journal-NeBAn_SY.js} +27 -12
- package/dist/daemon-lifecycle-journal-NeBAn_SY.js.map +1 -0
- package/dist/{daemon-runtime-lease-1LMeZ6IS.js → daemon-runtime-lease-C1wkT4Bi.js} +2 -2
- package/dist/{daemon-runtime-lease-1LMeZ6IS.js.map → daemon-runtime-lease-C1wkT4Bi.js.map} +1 -1
- package/dist/{daemon-runtime-lease-Bz0ucJj3.js → daemon-runtime-lease-DAQyRUc5.js} +1 -1
- package/dist/{daemon-service-contract-GLmAxsq-.js → daemon-service-contract-DhEfbzHt.js} +4 -4
- package/dist/{daemon-service-contract-GLmAxsq-.js.map → daemon-service-contract-DhEfbzHt.js.map} +1 -1
- package/dist/{daemon-service-manager-C8RUCMDo.js → daemon-service-manager-CRnFxPKA.js} +6 -5
- package/dist/{daemon-service-manager-C8RUCMDo.js.map → daemon-service-manager-CRnFxPKA.js.map} +1 -1
- package/dist/{daemon-service-manager-CU-79a4z.js → daemon-service-manager-l0unaDGa.js} +1 -1
- package/dist/{daemon-service-runtime-BtqJMt8J.js → daemon-service-runtime-nIBQreis.js} +27 -153
- package/dist/daemon-service-runtime-nIBQreis.js.map +1 -0
- package/dist/{daemon-service-update-coordinator-BczvSdXA.js → daemon-service-update-coordinator-BdcEl-QC.js} +22 -20
- package/dist/daemon-service-update-coordinator-BdcEl-QC.js.map +1 -0
- package/dist/{daemon-state-Ca0WK5x0.js → daemon-state-B6G5xe7f.js} +4 -3
- package/dist/{daemon-state-Ca0WK5x0.js.map → daemon-state-B6G5xe7f.js.map} +1 -1
- package/dist/{dist-C32frPV2.js → dist-C5emSnFG.js} +1 -1
- package/dist/{dist-BeJcIdCZ.js → dist-DkN9tKMX.js} +127 -284
- package/dist/dist-DkN9tKMX.js.map +1 -0
- package/dist/{dist-YbTZ-Y-2.js → dist-vpxgF6Lp.js} +2 -2
- package/dist/{dist-YbTZ-Y-2.js.map → dist-vpxgF6Lp.js.map} +1 -1
- package/dist/{elapsed-time-Dvn2LxSm.js → elapsed-time-BxMWSsxC.js} +5 -5
- package/dist/{elapsed-time-Dvn2LxSm.js.map → elapsed-time-BxMWSsxC.js.map} +1 -1
- package/dist/{entry-B19Dcymp.js → entry-jvTvDBr-.js} +12 -11
- package/dist/{entry-B19Dcymp.js.map → entry-jvTvDBr-.js.map} +1 -1
- package/dist/{installation-inventory-BmZVMUzJ.js → installation-inventory-Bf1SvGVh.js} +5 -5
- package/dist/{installation-inventory-BmZVMUzJ.js.map → installation-inventory-Bf1SvGVh.js.map} +1 -1
- package/dist/{installer-DAZpeNXo.js → installer-IVAr1ZD-.js} +2 -2
- package/dist/{installer-DAZpeNXo.js.map → installer-IVAr1ZD-.js.map} +1 -1
- package/dist/{lock-iue1J2xy.js → lock-CMH9eoS7.js} +5 -270
- package/dist/lock-CMH9eoS7.js.map +1 -0
- package/dist/{meta-api-eV9exiaO.js → meta-api-BYB9vhya.js} +8 -8
- package/dist/{meta-api-eV9exiaO.js.map → meta-api-BYB9vhya.js.map} +1 -1
- package/dist/{openmeld-DEbL_TIZ.js → openmeld-0pnb6g3R.js} +63 -38
- package/dist/{openmeld-DEbL_TIZ.js.map → openmeld-0pnb6g3R.js.map} +1 -1
- package/dist/openmeld-dev.js +1 -1
- package/dist/{openmeld-environment-target-BBn5Ko6p.js → openmeld-environment-target-Cw3V0WnE.js} +3 -3
- package/dist/{openmeld-environment-target-BBn5Ko6p.js.map → openmeld-environment-target-Cw3V0WnE.js.map} +1 -1
- package/dist/{openmeld-maintenance-worker-Ds8LpQ1c.js → openmeld-maintenance-worker-CSes51Vp.js} +14 -14
- package/dist/{openmeld-maintenance-worker-Ds8LpQ1c.js.map → openmeld-maintenance-worker-CSes51Vp.js.map} +1 -1
- package/dist/{openmeld-tools-update-join-DV_THLes.js → openmeld-tools-update-join-BlPynw_v.js} +4 -4
- package/dist/{openmeld-tools-update-join-DV_THLes.js.map → openmeld-tools-update-join-BlPynw_v.js.map} +1 -1
- package/dist/openmeld.js +8 -4
- package/dist/openmeld.js.map +1 -1
- package/dist/paths-DSkUuEu3.js +273 -0
- package/dist/paths-DSkUuEu3.js.map +1 -0
- package/dist/{prepare-provider-runtime-CP88BnLy.js → prepare-provider-runtime-DSKQFj-R.js} +94 -28
- package/dist/prepare-provider-runtime-DSKQFj-R.js.map +1 -0
- package/dist/{prepare-session-executor-Dt5hHfsR.js → prepare-session-executor-DEJ9OaJh.js} +25 -24
- package/dist/{prepare-session-executor-Dt5hHfsR.js.map → prepare-session-executor-DEJ9OaJh.js.map} +1 -1
- package/dist/{process-channel-CgbduFCz.js → process-channel-BIumgluJ.js} +2 -2
- package/dist/{process-channel-CgbduFCz.js.map → process-channel-BIumgluJ.js.map} +1 -1
- package/dist/{process-identity-BQLdaZdB.js → process-identity-BRbhGGTM.js} +2 -2
- package/dist/{process-identity-BQLdaZdB.js.map → process-identity-BRbhGGTM.js.map} +1 -1
- package/dist/{published-production-safety-C40hKrBA.js → published-production-safety-CgXxtdMK.js} +2 -2
- package/dist/{published-production-safety-C40hKrBA.js.map → published-production-safety-CgXxtdMK.js.map} +1 -1
- package/dist/{runtime-4_VPSImW.js → runtime-Du3Az4wt.js} +18 -18
- package/dist/{runtime-4_VPSImW.js.map → runtime-Du3Az4wt.js.map} +1 -1
- package/dist/{runtime-agent-controller-reporting-submission-OpySJXCT.js → runtime-agent-controller-reporting-submission-Bl2CWQ96.js} +12 -10
- package/dist/runtime-agent-controller-reporting-submission-Bl2CWQ96.js.map +1 -0
- package/dist/{runtime-reporting-health-state-B14XCJQF.js → runtime-reporting-health-state-CKmph14R.js} +14 -13
- package/dist/{runtime-reporting-health-state-B14XCJQF.js.map → runtime-reporting-health-state-CKmph14R.js.map} +1 -1
- package/dist/{runtime-transport-YIYHSJPn.js → runtime-transport-DUR91mKK.js} +205 -5
- package/dist/runtime-transport-DUR91mKK.js.map +1 -0
- package/dist/{service-v9KNVG7t.js → service-Bh1iD84k.js} +30 -29
- package/dist/service-Bh1iD84k.js.map +1 -0
- package/dist/{service-account-authorization-DZbUOD29.js → service-account-authorization-CyV8YFAw.js} +6 -6
- package/dist/{service-account-authorization-DZbUOD29.js.map → service-account-authorization-CyV8YFAw.js.map} +1 -1
- package/dist/{service-account-control-DguBlRfW.js → service-account-control-Cc6qVa0m.js} +14 -14
- package/dist/{service-account-control-DguBlRfW.js.map → service-account-control-Cc6qVa0m.js.map} +1 -1
- package/dist/{service-control-capabilities-fFuX3GbE.js → service-control-capabilities-CdVTTNRK.js} +1 -1
- package/dist/{service-control-capabilities-CQb9zWvz.js → service-control-capabilities-D4W3WTHS.js} +5 -5
- package/dist/{service-control-capabilities-CQb9zWvz.js.map → service-control-capabilities-D4W3WTHS.js.map} +1 -1
- package/dist/{service-control-carrier-capability-gMk5gMKU.js → service-control-carrier-capability-SuKbNKaR.js} +2 -2
- package/dist/{service-control-carrier-capability-gMk5gMKU.js.map → service-control-carrier-capability-SuKbNKaR.js.map} +1 -1
- package/dist/{state-B7JOni3p.js → state-ClTXLNB3.js} +3 -3
- package/dist/{state-B7JOni3p.js.map → state-ClTXLNB3.js.map} +1 -1
- package/dist/{upgrade-DnWyXA1G.js → upgrade-B07Dh83M.js} +8 -8
- package/dist/{upgrade-DnWyXA1G.js.map → upgrade-B07Dh83M.js.map} +1 -1
- package/dist/upgrade-DgTfV7-m.js +4 -0
- package/dist/windows/openmeld-windows-process.exe +0 -0
- package/dist/{windows-artifact-DJ9DKjfc.js → windows-artifact-D99JU1ll.js} +3 -2
- package/dist/{windows-artifact-DJ9DKjfc.js.map → windows-artifact-D99JU1ll.js.map} +1 -1
- package/dist/windows-managed-install-BVlswqjA.js +146 -0
- package/dist/windows-managed-install-BVlswqjA.js.map +1 -0
- package/dist/windows-preview-channel-DPrYuLyY.js +32 -0
- package/dist/windows-preview-channel-DPrYuLyY.js.map +1 -0
- package/dist/{windows-user-task-Io5QuEVR.js → windows-user-task-BR-WB7hr.js} +5 -5
- package/dist/{windows-user-task-Io5QuEVR.js.map → windows-user-task-BR-WB7hr.js.map} +1 -1
- package/dist/{windows-user-task-B8NcRg_u.js → windows-user-task-m9eMEUEq.js} +1 -1
- package/package.json +11 -11
- package/skills/openmeld-cli/playbooks/plugins.md +12 -0
- package/dist/auth-session-BJfKu74u.js +0 -4
- package/dist/daemon-lifecycle-journal-ChhAF8yX.js.map +0 -1
- package/dist/daemon-service-runtime-BtqJMt8J.js.map +0 -1
- package/dist/daemon-service-update-coordinator-BczvSdXA.js.map +0 -1
- package/dist/dist-BeJcIdCZ.js.map +0 -1
- package/dist/lock-iue1J2xy.js.map +0 -1
- package/dist/prepare-provider-runtime-CP88BnLy.js.map +0 -1
- package/dist/runtime-agent-controller-reporting-submission-OpySJXCT.js.map +0 -1
- package/dist/runtime-transport-YIYHSJPn.js.map +0 -1
- package/dist/service-v9KNVG7t.js.map +0 -1
- package/dist/upgrade-Cy4bMox8.js +0 -4
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import { i as windowsPublisherNameSchema, n as WINDOWS_PROCESS_HELPER_FILENAME
|
|
5
|
-
import { a as cliBinaryServiceReleaseSchema, n as OPENMELD_MACOS_CLI_SIGNING_REQUIREMENT, o as resolveCliBinaryPlatform, r as cliBinaryDeltaPatchSchema, t as OPENMELD_MACOS_CLI_SIGNING_IDENTITY } from "./cli-binary-manifest-
|
|
3
|
+
import { C as openMeldManagedBinaryName, E as openMeldManagedVersionDir, F as resolveOpenMeldEnvPreset, I as resolveOpenMeldRootDir, O as openMeldVersionsDir, R as resolveOpenMeldServiceScope, S as openMeldBinDir, T as openMeldManagedVersionBinaryPath, t as OPENMELD_HOME_ENV_KEY, w as openMeldManagedBinaryPath } from "./paths-DSkUuEu3.js";
|
|
4
|
+
import { i as windowsPublisherNameSchema, n as WINDOWS_PROCESS_HELPER_FILENAME } from "./windows-artifact-D99JU1ll.js";
|
|
5
|
+
import { a as cliBinaryServiceReleaseSchema, n as OPENMELD_MACOS_CLI_SIGNING_REQUIREMENT, o as resolveCliBinaryPlatform, r as cliBinaryDeltaPatchSchema, t as OPENMELD_MACOS_CLI_SIGNING_IDENTITY } from "./cli-binary-manifest-Bjf6T7Ef.js";
|
|
6
6
|
import { b as openMeldToolsUpdateOperationPhaseSchema, w as openMeldToolsUpdateRequestSourceSchema } from "./local-components-DleLEzSU.js";
|
|
7
|
-
import { r as readDaemonRuntimeLease } from "./daemon-runtime-lease-
|
|
8
|
-
import { l as resolveWindowsPowerShellPath, o as powerShellEncodedArguments, s as pruneWindowsBinaryBundle } from "./process-identity-
|
|
7
|
+
import { r as readDaemonRuntimeLease } from "./daemon-runtime-lease-C1wkT4Bi.js";
|
|
8
|
+
import { l as resolveWindowsPowerShellPath, o as powerShellEncodedArguments, s as pruneWindowsBinaryBundle } from "./process-identity-BRbhGGTM.js";
|
|
9
|
+
import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-CMH9eoS7.js";
|
|
9
10
|
import { n as normalizeCommandEnvironment } from "./process-environment-BWSFeUu6.js";
|
|
10
11
|
import { n as resolveOpenMeldDistribution, t as isBinaryDistribution } from "./distribution-BDQT2ilb.js";
|
|
11
|
-
import { A as getDaemonStatus, C as daemonServiceStableBinaryExecutablePath, D as daemonStatePath, E as daemonServiceUpdateWorkerBinaryExecutablePath, T as daemonServiceStableLauncherPath, U as uninstallDaemon, _ as daemonRuntimeStateRootPath, a as DAEMON_SERVICE_RUNTIME_MODE_ENV, b as daemonServiceLegacyExecutableWrapperPath, g as daemonRuntimeServiceManagerPath, h as daemonRuntimeRootPath, i as DAEMON_SERVICE_RUNTIME_DETACHED_ENV, k as getDaemonRuntimeStatus, l as clearDaemonServiceRuntimeState, n as DAEMON_SERVICE_RUNTIME_AUTO_START_ENV, p as daemonRuntimeBundlesPath, r as DAEMON_SERVICE_RUNTIME_CONTROLLER_ENV, s as DAEMON_SERVICE_RUNTIME_SYSTEM_SERVICE_ENV, t as DAEMON_HEARTBEAT_STALE_MS, v as daemonServiceActiveBundleStatePath, w as daemonServiceStableExecutableWrapperPath, x as daemonServiceRecognizedExecutablePaths$1, y as daemonServiceExecutableWrapperPaths$1 } from "./daemon-state-
|
|
12
|
-
import { t as assertNoPublishedProductionMutationDuringTests } from "./published-production-safety-
|
|
13
|
-
import { i as readDaemonServiceContract } from "./daemon-service-contract-
|
|
14
|
-
import { d as compareSemver, l as OPENMELD_VERSION, t as emitDaemonLifecycleEvent, v as package_default } from "./daemon-lifecycle-journal-
|
|
15
|
-
import { a as
|
|
12
|
+
import { A as getDaemonStatus, C as daemonServiceStableBinaryExecutablePath, D as daemonStatePath, E as daemonServiceUpdateWorkerBinaryExecutablePath, T as daemonServiceStableLauncherPath, U as uninstallDaemon, _ as daemonRuntimeStateRootPath, a as DAEMON_SERVICE_RUNTIME_MODE_ENV, b as daemonServiceLegacyExecutableWrapperPath, g as daemonRuntimeServiceManagerPath, h as daemonRuntimeRootPath, i as DAEMON_SERVICE_RUNTIME_DETACHED_ENV, k as getDaemonRuntimeStatus, l as clearDaemonServiceRuntimeState, n as DAEMON_SERVICE_RUNTIME_AUTO_START_ENV, p as daemonRuntimeBundlesPath, r as DAEMON_SERVICE_RUNTIME_CONTROLLER_ENV, s as DAEMON_SERVICE_RUNTIME_SYSTEM_SERVICE_ENV, t as DAEMON_HEARTBEAT_STALE_MS, v as daemonServiceActiveBundleStatePath, w as daemonServiceStableExecutableWrapperPath, x as daemonServiceRecognizedExecutablePaths$1, y as daemonServiceExecutableWrapperPaths$1 } from "./daemon-state-B6G5xe7f.js";
|
|
13
|
+
import { t as assertNoPublishedProductionMutationDuringTests } from "./published-production-safety-CgXxtdMK.js";
|
|
14
|
+
import { i as readDaemonServiceContract } from "./daemon-service-contract-DhEfbzHt.js";
|
|
15
|
+
import { d as compareSemver, l as OPENMELD_VERSION, t as emitDaemonLifecycleEvent, v as package_default } from "./daemon-lifecycle-journal-NeBAn_SY.js";
|
|
16
|
+
import { a as reconcileWindowsManagedLauncher, i as readWindowsManagedCliVersion, n as placeWindowsManagedVersion, t as activateWindowsManagedCli } from "./windows-managed-install-BVlswqjA.js";
|
|
17
|
+
import { a as expectedBinaryServiceFingerprint, c as verifyWindowsServiceSubsystem, l as windowsMaintenanceBinaryPath, o as hashBinaryServiceBundle, s as prepareWindowsMaintenanceBinary } from "./windows-user-task-BR-WB7hr.js";
|
|
16
18
|
import { t as sleep } from "./dist-BLuEEVHh.js";
|
|
17
|
-
import { E as resolveDaemonServiceIdentity, S as resolveDaemonServiceManager } from "./daemon-service-manager-
|
|
19
|
+
import { E as resolveDaemonServiceIdentity, S as resolveDaemonServiceManager } from "./daemon-service-manager-CRnFxPKA.js";
|
|
18
20
|
import { createRequire } from "node:module";
|
|
19
|
-
import { createHash
|
|
21
|
+
import { createHash } from "node:crypto";
|
|
20
22
|
import { homedir } from "node:os";
|
|
21
23
|
import path, { basename, dirname, isAbsolute, join, relative, sep, win32 } from "node:path";
|
|
22
|
-
import { access, chmod, copyFile, cp, lstat, mkdir,
|
|
24
|
+
import { access, chmod, copyFile, cp, lstat, mkdir, readFile, readdir, readlink, realpath, rename, rm, stat, symlink, writeFile } from "node:fs/promises";
|
|
23
25
|
import * as z$1 from "zod/v4";
|
|
24
|
-
import { constants
|
|
26
|
+
import { constants } from "node:fs";
|
|
25
27
|
import process$1 from "node:process";
|
|
26
28
|
import { execFile, spawn } from "node:child_process";
|
|
27
29
|
import { promisify } from "node:util";
|
|
@@ -717,7 +719,7 @@ function daemonServiceUpdateWorkerNpmEntryPath(pathInput = {}) {
|
|
|
717
719
|
}
|
|
718
720
|
async function hasIndependentMaintenanceRegistration(pathInput = {}, platform = process$1.platform, expectedDefinition) {
|
|
719
721
|
if (platform === "win32") {
|
|
720
|
-
const { runWindowsUserTask, readWindowsTaskAction } = await import("./windows-user-task-
|
|
722
|
+
const { runWindowsUserTask, readWindowsTaskAction } = await import("./windows-user-task-m9eMEUEq.js");
|
|
721
723
|
const task = await runWindowsUserTask({
|
|
722
724
|
name: resolveDaemonServiceUpdateWorkerIdentity(pathInput).windowsServiceName,
|
|
723
725
|
legacyScript: resolveDaemonServiceUpdateWorkerWindowsScriptPath(pathInput),
|
|
@@ -728,7 +730,7 @@ async function hasIndependentMaintenanceRegistration(pathInput = {}, platform =
|
|
|
728
730
|
const registration = await readDaemonServiceUpdateWorkerRegistration(pathInput, platform);
|
|
729
731
|
if (!registration?.includes("openmeld-independent-maintenance-v1")) return false;
|
|
730
732
|
if (expectedDefinition !== void 0 && registration !== expectedDefinition) return false;
|
|
731
|
-
const { parseDaemonServiceEnvironmentFromDefinition } = await import("./daemon-service-manager-
|
|
733
|
+
const { parseDaemonServiceEnvironmentFromDefinition } = await import("./daemon-service-manager-l0unaDGa.js");
|
|
732
734
|
return resolveOpenMeldRootDir({ env: parseDaemonServiceEnvironmentFromDefinition({
|
|
733
735
|
controller: platform === "darwin" ? "launchd" : "systemd",
|
|
734
736
|
definition: registration
|
|
@@ -803,7 +805,7 @@ function resolveDaemonServiceUpdateWorkerRegistrationPath(pathInput, platform) {
|
|
|
803
805
|
}
|
|
804
806
|
async function readDaemonServiceUpdateWorkerRegistration(pathInput, platform) {
|
|
805
807
|
if (platform === "win32") {
|
|
806
|
-
const { runWindowsUserTask, readWindowsTaskAction } = await import("./windows-user-task-
|
|
808
|
+
const { runWindowsUserTask, readWindowsTaskAction } = await import("./windows-user-task-m9eMEUEq.js");
|
|
807
809
|
const task = await runWindowsUserTask({
|
|
808
810
|
name: resolveDaemonServiceUpdateWorkerIdentity(pathInput).windowsServiceName,
|
|
809
811
|
legacyScript: resolveDaemonServiceUpdateWorkerWindowsScriptPath(pathInput),
|
|
@@ -995,138 +997,6 @@ function getErrorCode$1(error) {
|
|
|
995
997
|
return error && typeof error === "object" && "code" in error ? String(error.code) : null;
|
|
996
998
|
}
|
|
997
999
|
//#endregion
|
|
998
|
-
//#region src/local-components/windows-managed-install.ts
|
|
999
|
-
const INSTALLATION_RECORD = "cli-installation.json";
|
|
1000
|
-
const CLI_FILENAME = "openmeld.exe";
|
|
1001
|
-
const RETIRED_LAUNCHER = /^\.retired-launcher-[a-f0-9-]{36}\.exe$/u;
|
|
1002
|
-
const STAGING_VERSION = /^\.install-[A-Za-z0-9]{6}$/u;
|
|
1003
|
-
async function readWindowsManagedCliVersion(root) {
|
|
1004
|
-
const serialized = await readFile(join(root, "bin", INSTALLATION_RECORD), "utf8").catch((error) => {
|
|
1005
|
-
if (hasCode(error, "ENOENT")) return null;
|
|
1006
|
-
throw error;
|
|
1007
|
-
});
|
|
1008
|
-
if (serialized === null) return null;
|
|
1009
|
-
const parsed = windowsManagedCliInstallationSchema.safeParse(JSON.parse(serialized));
|
|
1010
|
-
if (!parsed.success) throw new Error("The managed Windows CLI installation record is invalid. No version was selected.");
|
|
1011
|
-
return parsed.data.version;
|
|
1012
|
-
}
|
|
1013
|
-
/** Publish the complete immutable directory, never overwrite an in-use image. */
|
|
1014
|
-
async function placeWindowsManagedVersion(input) {
|
|
1015
|
-
const { version } = windowsManagedCliInstallationSchema.parse({
|
|
1016
|
-
schemaVersion: 1,
|
|
1017
|
-
version: input.version
|
|
1018
|
-
});
|
|
1019
|
-
const versions = join(input.root, "versions");
|
|
1020
|
-
const destination = join(versions, version);
|
|
1021
|
-
const sources = [{
|
|
1022
|
-
source: input.sourceBinary,
|
|
1023
|
-
name: CLI_FILENAME
|
|
1024
|
-
}, {
|
|
1025
|
-
source: join(dirname(input.sourceBinary), WINDOWS_PROCESS_HELPER_FILENAME),
|
|
1026
|
-
name: WINDOWS_PROCESS_HELPER_FILENAME
|
|
1027
|
-
}];
|
|
1028
|
-
if (await entryExists(destination)) {
|
|
1029
|
-
for (const { source, name } of sources) if (!await sameFileBytes(source, join(destination, name))) throw new Error(`The installed Windows CLI ${version} differs from the selected artifact. Published versions are immutable; acquire a new release instead of overwriting this installation.`);
|
|
1030
|
-
return;
|
|
1031
|
-
}
|
|
1032
|
-
await mkdir(versions, { recursive: true });
|
|
1033
|
-
for (const entry of await readdir(versions, { withFileTypes: true })) if (entry.isDirectory() && STAGING_VERSION.test(entry.name)) await rm(join(versions, entry.name), { recursive: true });
|
|
1034
|
-
const staging = await mkdtemp(join(versions, ".install-"));
|
|
1035
|
-
try {
|
|
1036
|
-
for (const { source, name } of sources) await copyFile(source, join(staging, name));
|
|
1037
|
-
await rename(staging, destination);
|
|
1038
|
-
} finally {
|
|
1039
|
-
await rm(staging, {
|
|
1040
|
-
recursive: true,
|
|
1041
|
-
force: true
|
|
1042
|
-
});
|
|
1043
|
-
}
|
|
1044
|
-
}
|
|
1045
|
-
/** The caller holds the shared managed-install lock. Record replacement is the commit. */
|
|
1046
|
-
async function activateWindowsManagedCli(root, version) {
|
|
1047
|
-
const record = windowsManagedCliInstallationSchema.parse({
|
|
1048
|
-
schemaVersion: 1,
|
|
1049
|
-
version
|
|
1050
|
-
});
|
|
1051
|
-
await reconcileWindowsManagedLauncher(root, version);
|
|
1052
|
-
const destination = join(root, "bin", INSTALLATION_RECORD);
|
|
1053
|
-
const temporary = `${destination}.${randomUUID()}.tmp`;
|
|
1054
|
-
try {
|
|
1055
|
-
await writeFile(temporary, `${JSON.stringify(record)}\n`, {
|
|
1056
|
-
flag: "wx",
|
|
1057
|
-
mode: 384
|
|
1058
|
-
});
|
|
1059
|
-
await rename(temporary, destination);
|
|
1060
|
-
} finally {
|
|
1061
|
-
await rm(temporary, { force: true });
|
|
1062
|
-
}
|
|
1063
|
-
}
|
|
1064
|
-
/**
|
|
1065
|
-
* Repair from the authoritative version record. An interrupted launcher swap
|
|
1066
|
-
* can leave bin/openmeld.exe absent; install/maintenance restore it from the
|
|
1067
|
-
* immutable version without changing account data or selecting another version.
|
|
1068
|
-
*/
|
|
1069
|
-
async function reconcileWindowsManagedLauncher(root, version) {
|
|
1070
|
-
windowsManagedCliInstallationSchema.parse({
|
|
1071
|
-
schemaVersion: 1,
|
|
1072
|
-
version
|
|
1073
|
-
});
|
|
1074
|
-
const source = join(root, "versions", version, WINDOWS_PROCESS_HELPER_FILENAME);
|
|
1075
|
-
const bin = join(root, "bin");
|
|
1076
|
-
const launcher = join(bin, CLI_FILENAME);
|
|
1077
|
-
await mkdir(bin, { recursive: true });
|
|
1078
|
-
for (const entry of await readdir(bin, { withFileTypes: true })) if (entry.isFile() && RETIRED_LAUNCHER.test(entry.name)) await removeRetiredLauncher(join(bin, entry.name));
|
|
1079
|
-
if (await sameFileBytes(source, launcher)) return;
|
|
1080
|
-
const temporary = join(bin, `.launcher-${randomUUID()}.tmp`);
|
|
1081
|
-
const retired = join(bin, `.retired-launcher-${randomUUID()}.exe`);
|
|
1082
|
-
await copyFile(source, temporary);
|
|
1083
|
-
let movedPrevious = false;
|
|
1084
|
-
try {
|
|
1085
|
-
if (await entryExists(launcher)) {
|
|
1086
|
-
await rename(launcher, retired);
|
|
1087
|
-
movedPrevious = true;
|
|
1088
|
-
}
|
|
1089
|
-
try {
|
|
1090
|
-
await rename(temporary, launcher);
|
|
1091
|
-
} catch (error) {
|
|
1092
|
-
if (movedPrevious) await rename(retired, launcher);
|
|
1093
|
-
throw error;
|
|
1094
|
-
}
|
|
1095
|
-
if (movedPrevious) await removeRetiredLauncher(retired);
|
|
1096
|
-
} finally {
|
|
1097
|
-
await rm(temporary, { force: true });
|
|
1098
|
-
}
|
|
1099
|
-
}
|
|
1100
|
-
async function removeRetiredLauncher(file) {
|
|
1101
|
-
await rm(file).catch((error) => {
|
|
1102
|
-
if (hasCode(error, "EPERM") || hasCode(error, "EBUSY")) return;
|
|
1103
|
-
throw error;
|
|
1104
|
-
});
|
|
1105
|
-
}
|
|
1106
|
-
async function entryExists(file) {
|
|
1107
|
-
return await lstat(file).then(() => true, (error) => {
|
|
1108
|
-
if (hasCode(error, "ENOENT")) return false;
|
|
1109
|
-
throw error;
|
|
1110
|
-
});
|
|
1111
|
-
}
|
|
1112
|
-
async function sameFileBytes(left, right) {
|
|
1113
|
-
const [leftStat, rightStat] = await Promise.all([lstat(left), lstat(right).catch((error) => {
|
|
1114
|
-
if (hasCode(error, "ENOENT")) return null;
|
|
1115
|
-
throw error;
|
|
1116
|
-
})]);
|
|
1117
|
-
if (!(leftStat.isFile() && rightStat?.isFile()) || leftStat.size !== rightStat.size) return false;
|
|
1118
|
-
const hash = async (file) => {
|
|
1119
|
-
const digest = createHash("sha256");
|
|
1120
|
-
for await (const chunk of createReadStream(file)) digest.update(chunk);
|
|
1121
|
-
return digest.digest("hex");
|
|
1122
|
-
};
|
|
1123
|
-
const [leftHash, rightHash] = await Promise.all([hash(left), hash(right)]);
|
|
1124
|
-
return leftHash === rightHash;
|
|
1125
|
-
}
|
|
1126
|
-
function hasCode(error, code) {
|
|
1127
|
-
return error !== null && typeof error === "object" && "code" in error && error.code === code;
|
|
1128
|
-
}
|
|
1129
|
-
//#endregion
|
|
1130
1000
|
//#region src/local-components/managed-install.ts
|
|
1131
1001
|
const MANAGED_INSTALL_LOCK_PROFILE = "managed-cli";
|
|
1132
1002
|
const MANAGED_INSTALL_LOCK_KEY = "install";
|
|
@@ -1317,7 +1187,7 @@ async function placeVersionedBinary(sourceBinary, version, managedBinaryPath) {
|
|
|
1317
1187
|
}
|
|
1318
1188
|
async function swapCurrentPointer(currentPointerPath, managedBinaryPath) {
|
|
1319
1189
|
if (process$1.platform === "win32") {
|
|
1320
|
-
await activateWindowsManagedCli(resolveOpenMeldRootDir(), path.basename(path.dirname(managedBinaryPath)));
|
|
1190
|
+
await activateWindowsManagedCli(resolveOpenMeldRootDir(), path.basename(path.dirname(managedBinaryPath)), allowUnsignedWindowsInternalPreview() ? "windows-preview" : void 0);
|
|
1321
1191
|
return;
|
|
1322
1192
|
}
|
|
1323
1193
|
await mkdir(openMeldBinDir(), { recursive: true });
|
|
@@ -2774,7 +2644,10 @@ async function matchesExpectedDaemonServiceManagerDefinition(input) {
|
|
|
2774
2644
|
}).some((path) => definition.includes(path));
|
|
2775
2645
|
}
|
|
2776
2646
|
function matchesWindowsTaskInstallation(spec, pathInput = {}) {
|
|
2777
|
-
|
|
2647
|
+
if (resolveOpenMeldRootDir({ env: spec.env }) !== resolveOpenMeldRootDir(pathInput)) return false;
|
|
2648
|
+
if (spec.args[0] === daemonServiceLauncherPath(pathInput)) return spec.args[1] === "service" && spec.args[2] === "run";
|
|
2649
|
+
const relativeExecutable = relative(daemonRuntimeBundlesPath(pathInput), spec.executable).split(sep);
|
|
2650
|
+
return relativeExecutable.length === 2 && relativeExecutable[0] !== ".." && relativeExecutable[1]?.toLowerCase() === "openmeld.exe" && spec.args[0] === "service" && spec.args[1] === "run" && spec.args[2] === "--mode" && spec.args[3] === "foreground" && (spec.args.length === 4 || spec.args.length === 6 && spec.args[4] === "--account-admission-id" && Boolean(spec.args[5]));
|
|
2778
2651
|
}
|
|
2779
2652
|
function resolveExpectedDaemonServiceManagerCommandPaths(input) {
|
|
2780
2653
|
if (input.controller === "launchd") return [daemonServiceExecutableWrapperPath(input.pathInput), ...input.includeLegacyExecutableWrappers === true ? [daemonServiceLegacyWrapperPath(input.pathInput)] : []];
|
|
@@ -2844,7 +2717,8 @@ function resolveDaemonBundleIdFromEntryPath(entryPath, pathInput = {}) {
|
|
|
2844
2717
|
return bundleId && bundleId.length > 0 ? bundleId : null;
|
|
2845
2718
|
}
|
|
2846
2719
|
function looksLikeDaemonEntryPath(token, pathInput) {
|
|
2847
|
-
|
|
2720
|
+
const normalizedToken = normalizeDaemonCommandPath(token);
|
|
2721
|
+
return normalizedToken.includes("/bundles/") || normalizedToken.includes("openmeld/dist/openmeld.js") || normalizedToken.endsWith("/openmeld.js") || normalizedToken.endsWith("/openmeld-dev.js") || normalizedToken.endsWith("/daemon-service-launcher.mjs") || isRecognizedDaemonServiceExecutableWrapperPath(token, pathInput) || isOpenMeldManagedBinaryPath(token, pathInput);
|
|
2848
2722
|
}
|
|
2849
2723
|
function findDaemonServiceCommandIndex(tokens) {
|
|
2850
2724
|
return tokens.findIndex((token, index) => token === "service" && (tokens[index + 1] === "run" || tokens[index + 1] === "start"));
|
|
@@ -3439,4 +3313,4 @@ async function readObservedRuntimeState() {
|
|
|
3439
3313
|
//#endregion
|
|
3440
3314
|
export { readPendingDaemonServiceUpdate as $, prepareDaemonServiceBundle as A, resolveDaemonServiceArtifact as B, daemonServiceExecutableWrapperPath as C, ensureDaemonServiceStableBinaryExecutable as D, discardPreparedDaemonServiceBundle as E, restoreDaemonActiveBundleStateSnapshot as F, readManagedCliInstallation as G, buildInstallSelfJsonPayload as H, runAuditedServiceManagerCarrierMutation as I, withManagedInstallTransaction as J, reconcileManagedCliLauncher as K, verifyDaemonActiveBundleIntegrity as L, resolveAlignedDaemonActiveBundleEntryPath as M, resolveDaemonBundleEntryPathFromState as N, ensureDaemonServiceUpdateWorkerBinaryExecutable as O, resolveInstalledDaemonBundleFingerprint as P, readLastDaemonServiceUpdate as Q, writeDaemonServiceExecutableWrapper as R, daemonServiceBinaryExecutablePath as S, daemonServiceUpdateWorkerBinaryPath as T, performManagedInstall as U, collectLocalOperationFailure as V, pruneManagedInstallVersions as W, completePendingDaemonServiceUpdate as X, DAEMON_SERVICE_UPDATE_JOB_SCHEMA as Y, persistPendingDaemonServiceUpdate as Z, matchesExpectedDaemonServiceManagerDefinition as _, resolveDaemonRuntimeState as a, resolveDaemonServiceUpdateWorkerIdentity as at, cleanupInactiveDaemonServiceBundles as b, resolveObservedDaemonRuntimeStatus as c, resolveDaemonServiceUpdateWorkerSystemdTimerUnitPath as ct, inspectLegacySharedDaemonService as d, DEFAULT_CLI_BINARY_DOWNLOAD_POLICY as dt, resolveBundledServiceRelease as et, listDaemonOwnedProcesses as f, allowUnsignedWindowsInternalPreview as ft, assertDaemonMaintenanceInstallationOwnership as g, verifyCliBinaryCodeSignature as gt, resolveDaemonBundleIdFromEntryPath as h, resolveCliBinaryUpdatePlan as ht, readCurrentObservedDaemonRuntimeStatus as i, hasIndependentMaintenanceRegistration as it, readDaemonActiveBundleState as j, isDaemonBundleSourceAllowedForLane as k, resolveObservedRuntimeCommandEntryPath as l, resolveDaemonServiceUpdateWorkerSystemdUnitPath as lt, normalizeDaemonCommandPath as m, prepareCliBinaryProcessHelper as mt, getEffectiveDaemonRuntimeStatus as n, configureDaemonMaintenanceEnvironment as nt, resolveDaemonServiceManagerForRuntimeState as o, resolveDaemonServiceUpdateWorkerLaunchdPlistPath as ot, extractDaemonCommandEntryPath as p, downloadCliBinaryUpdateArtifact as pt, resolveCliSelfVersion as q, readCurrentDaemonRuntimeContext as r, daemonServiceUpdateWorkerNpmEntryPath as rt, waitForDaemonSystemServiceToStop as s, resolveDaemonServiceUpdateWorkerSystemdPathUnitPath as st, clearDaemonRuntimeStateIfDefinitelyStopped as t, INDEPENDENT_MAINTENANCE_REGISTRATION as tt, cleanupLegacySharedDaemonServiceState as u, resolveDaemonServiceUpdateWorkerWindowsScriptPath as ut, isOpenMeldManagedBinaryPath as v, daemonServiceLauncherPath as w, clearDaemonServiceUpdateWorkerBinaryExecutable as x, activateDaemonServiceBundle as y, writeDaemonServiceLauncher as z };
|
|
3441
3315
|
|
|
3442
|
-
//# sourceMappingURL=daemon-service-runtime-
|
|
3316
|
+
//# sourceMappingURL=daemon-service-runtime-nIBQreis.js.map
|