openmeld 0.3.164 → 0.3.166

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 (36) hide show
  1. package/dist/{add-me-membership-qKR8PKLL.js → add-me-membership-BamyweUP.js} +2 -2
  2. package/dist/{add-me-membership-qKR8PKLL.js.map → add-me-membership-BamyweUP.js.map} +1 -1
  3. package/dist/{api-client-foundation-C0Zq2voT.js → api-client-foundation-BhZNjDtp.js} +9 -4
  4. package/dist/api-client-foundation-BhZNjDtp.js.map +1 -0
  5. package/dist/{api-client-foundation-BQyVR0ev.js → api-client-foundation-D9GZ4h3w.js} +1 -1
  6. package/dist/{auth-session-xj7oUO1L.js → auth-session-Czzsww9v.js} +2 -2
  7. package/dist/{auth-session-xj7oUO1L.js.map → auth-session-Czzsww9v.js.map} +1 -1
  8. package/dist/auth-session-D9M2sqUr.js +4 -0
  9. package/dist/{command-BmHKOgIq.js → command-Cp-Euzki.js} +25 -10
  10. package/dist/{command-BmHKOgIq.js.map → command-Cp-Euzki.js.map} +1 -1
  11. package/dist/{dist-BZQBQLYA.js → dist-CxpovZqh.js} +1 -1
  12. package/dist/{dist-C7GcYLZj.js → dist-D1Kzdu9F.js} +297 -26
  13. package/dist/dist-D1Kzdu9F.js.map +1 -0
  14. package/dist/{elapsed-time-BDn2tDRl.js → elapsed-time-BZYBcHbZ.js} +3 -3
  15. package/dist/{elapsed-time-BDn2tDRl.js.map → elapsed-time-BZYBcHbZ.js.map} +1 -1
  16. package/dist/{installer-CnGp0v9d.js → installer-CftRW1NY.js} +3 -3
  17. package/dist/{installer-CnGp0v9d.js.map → installer-CftRW1NY.js.map} +1 -1
  18. package/dist/{openmeld-boZ4gJqB.js → openmeld-DpDrTP1I.js} +62 -119
  19. package/dist/openmeld-DpDrTP1I.js.map +1 -0
  20. package/dist/{openmeld-maintenance-worker-DqwYU6nm.js → openmeld-maintenance-worker-ePwchRg-.js} +3 -3
  21. package/dist/{openmeld-maintenance-worker-DqwYU6nm.js.map → openmeld-maintenance-worker-ePwchRg-.js.map} +1 -1
  22. package/dist/{openmeld-tools-update-coordinator-yGkv7wqt.js → openmeld-tools-update-coordinator-m83r0NWy.js} +407 -312
  23. package/dist/openmeld-tools-update-coordinator-m83r0NWy.js.map +1 -0
  24. package/dist/openmeld.js +3 -3
  25. package/dist/{runtime-transport-w7zmmzEz.js → runtime-transport-C5MSLm_z.js} +2 -2
  26. package/dist/{runtime-transport-w7zmmzEz.js.map → runtime-transport-C5MSLm_z.js.map} +1 -1
  27. package/dist/upgrade-Bp2K1fhy.js +4 -0
  28. package/dist/{upgrade-BQcbRIT0.js → upgrade-CKqTnwEX.js} +4 -4
  29. package/dist/{upgrade-BQcbRIT0.js.map → upgrade-CKqTnwEX.js.map} +1 -1
  30. package/package.json +3 -3
  31. package/dist/api-client-foundation-C0Zq2voT.js.map +0 -1
  32. package/dist/auth-session-DWjyI9bE.js +0 -4
  33. package/dist/dist-C7GcYLZj.js.map +0 -1
  34. package/dist/openmeld-boZ4gJqB.js.map +0 -1
  35. package/dist/openmeld-tools-update-coordinator-yGkv7wqt.js.map +0 -1
  36. package/dist/upgrade-BO2qPMmW.js +0 -4
@@ -4,17 +4,17 @@ import { n as toDaemonRouteObservationUrl, t as normalizeBaseUrl } from "./urls-
4
4
  import { t as isLoopbackHostname } from "./loopback-hostname-DHQPKq8N.js";
5
5
  import { $ as openMeldManagedVersionBinaryPath, B as deviceOpenClawProfileWorkspaceDir, F as accountProfileWorkspacePath, G as isPublishedOpenMeldHome, J as normalizeAccountKey, M as accountProfileLocalMetaPath, P as accountProfileViewPath, Q as openMeldManagedBinaryPath, R as deviceOpenClawProfileBootstrapPath, S as isProcessIdentityAlive, X as openMeldBackupsDir, Y as normalizeOpenMeldProfileId, Z as openMeldBinDir, _ as resolveCliContextId, dt as resolveOpenMeldRootDir, et as openMeldManagedVersionDir, ft as runtimeDir, g as resolveCliContext, gt as systemDir, h as readCliContextState, i as isOpenMeldOrphanedLockError, j as OPENMELD_HOME_ENV_KEY, lt as resolveOpenMeldEnvPreset, m as listCliContextStates, nt as openMeldVersionsDir, r as isOpenMeldLockError, t as acquireLock, tt as openMeldRootDir, u as runWithHeldLock, v as writeCliContextState, x as CURRENT_PROCESS_START_IDENTITY, z as deviceOpenClawProfileDir } from "./lock-VfUd0-tH.js";
6
6
  import { _ as canonicalizeBuiltinAgentControllerRef, b as parseAgentControllerRef$1, d as resolveBuiltinAgentControllerConversationKind, f as HOSTED_CENTER_AGENT_CONTROLLER_REF, g as canonicalizeAgentControllerRef, h as buildAgentControllerRoutingKey, l as buildAgentControllerConversationRef, n as runtimeAgentControllerConversationIdMappingSpecSchema, o as runtimeStreamingModeSchema, p as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, r as runtimeAgentControllerLaunchContractSchema, s as runtimeTransportModeSchema, u as conversationPolicySchema, y as normalizeKnownBuiltinAgentControllerId } from "./controller-contract-CvjP4mYj.js";
7
- import { Er as profileErrorResponseSchema, Lt as createAgentProfileBindingApi, Pn as OPENMELD_HEADER_PROFILE_ID, Si as agentControllerCollaborationModeSchema, Sr as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_MESSAGE, Tr as profileCapabilitiesResponseSchema, Ut as createCurrentDeviceApi, Xt as createLocalRuntimeExpectedRoutesApi, bn as toStructuredApiClientFailure, lr as modelCatalogSchema, mi as openCodePermissionConfigSchema, t as OpenMeldApiClientHttpError, wr as authProfileManagedRoleSchema, xi as agentControllerPermissionModeSchema, xr as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_CODE, zn as toErrorMessage$24 } from "./dist-C7GcYLZj.js";
8
- import { Ci as resolveCommandAgentWorkActivity, D as runtimeTransportLookupRouteOwnerServiceEvidenceSchema, En as formatCanonicalMentionLiteral, H as openMeldDaemonProviderAccessEvidenceSchema, M as runtimeTransportRejectedProfileRegistrationSchema, Qr as openMeldProfileIdSchema, R as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, U as openMeldDaemonTaskResultEnvelopeWriteSchema, Vn as agentInteractionResolutionSchema, W as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, _i as resolvePublicAgentFailureRecovery, an as openMeldDaemonControlPlaneResponseSchema, ar as openMeldToolsUpdateRequestSourceSchema, cn as providerDispatchRuntimeContextSchema, ei as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, g as runtimeTransportErrorCodeSchema, gi as resolvePublicAgentAvailabilityCopy, i as localWakeRouteReportSchema, in as openMeldDaemonControlPlaneRequestSchema, kn as normalizeMessageEnvelope, ln as conversationExecutionStateSchema, n as daemonExecutionCompatibilitySchema, ni as normalizeOptionalWorkingDirectory, nr as openMeldToolsUpdateOperationPhaseSchema, o as runtimeTransportCapabilitiesSchema, si as profileWorkspaceModeSchema, sn as skippedDaemonProfileSchema, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, ti as agentProfileIdSchema, tr as openMeldToolsUpdateAttemptSchema, z as isOriginalErrorSafeForMessageDetails } from "./runtime-transport-w7zmmzEz.js";
7
+ import { Er as profileErrorResponseSchema, Lt as createAgentProfileBindingApi, Pn as OPENMELD_HEADER_PROFILE_ID, Si as agentControllerCollaborationModeSchema, Sr as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_MESSAGE, Tr as profileCapabilitiesResponseSchema, Ut as createCurrentDeviceApi, Xt as createLocalRuntimeExpectedRoutesApi, bi as localAgentCatalogSchema, bn as toStructuredApiClientFailure, lr as modelCatalogSchema, mi as openCodePermissionConfigSchema, t as OpenMeldApiClientHttpError, wr as authProfileManagedRoleSchema, xi as agentControllerPermissionModeSchema, xr as ADDITIONAL_HUMAN_PROFILE_CREATION_DISABLED_CODE, zn as toErrorMessage$24 } from "./dist-D1Kzdu9F.js";
8
+ import { $r as openMeldProfileIdSchema, D as runtimeTransportLookupRouteOwnerServiceEvidenceSchema, En as formatCanonicalMentionLiteral, H as openMeldDaemonProviderAccessEvidenceSchema, M as runtimeTransportRejectedProfileRegistrationSchema, R as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, U as openMeldDaemonTaskResultEnvelopeWriteSchema, Vn as agentInteractionResolutionSchema, W as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, _i as resolvePublicAgentAvailabilityCopy, an as openMeldDaemonControlPlaneResponseSchema, ar as openMeldToolsUpdateRequestSourceSchema, ci as profileWorkspaceModeSchema, cn as providerDispatchRuntimeContextSchema, g as runtimeTransportErrorCodeSchema, i as localWakeRouteReportSchema, in as openMeldDaemonControlPlaneRequestSchema, kn as normalizeMessageEnvelope, ln as conversationExecutionStateSchema, n as daemonExecutionCompatibilitySchema, ni as agentProfileIdSchema, nr as openMeldToolsUpdateOperationPhaseSchema, o as runtimeTransportCapabilitiesSchema, ri as normalizeOptionalWorkingDirectory, sn as skippedDaemonProfileSchema, t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, ti as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, tr as openMeldToolsUpdateAttemptSchema, vi as resolvePublicAgentFailureRecovery, wi as resolveCommandAgentWorkActivity, z as isOriginalErrorSafeForMessageDetails } from "./runtime-transport-C5MSLm_z.js";
9
9
  import { r as daemonServiceLaneSchema, t as daemonServiceContractSchema } from "./service-contract-CRyDcIIf.js";
10
10
  import { a as readDaemonLocalStateFile, o as writeDaemonLocalStateFile, r as readDaemonRuntimeLease } from "./daemon-runtime-lease-D_CULMR8.js";
11
11
  import { i as windowsTaskActionArguments, n as runWindowsUserTask, r as windowsPowerShellPath } from "./windows-user-task-DqJWtlAm.js";
12
- import { A as HEARTBEAT_RESPONSE_TIMEOUT_MS$1, B as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1, C as DAEMON_RUNTIME_CONTRACT_EPOCH$1, D as DEFAULT_GATEWAY_CHAIN_TIMEOUT_MS$1, E as DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1, F as OPENCLAW_CLI_TIMEOUT_MS$1, H as RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1, I as PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1, L as PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1, N as MIN_HEARTBEAT_INTERVAL_MS$2, O as DEFAULT_HEARTBEAT_INTERVAL_MS$1, R as REGISTER_RESPONSE_TIMEOUT_MS$1, S as CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1, T as DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1, V as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1, j as MAX_HEARTBEAT_INTERVAL_MS$2, l as getAuthSessionState, v as isBinaryDistribution, w as DAEMON_STREAM_CONNECT_TIMEOUT_MS$1, x as CATALOG_SYNC_RETRY_INTERVAL_MS$1, y as resolveOpenMeldDistribution } from "./auth-session-xj7oUO1L.js";
12
+ import { A as HEARTBEAT_RESPONSE_TIMEOUT_MS$1, B as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1, C as DAEMON_RUNTIME_CONTRACT_EPOCH$1, D as DEFAULT_GATEWAY_CHAIN_TIMEOUT_MS$1, E as DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1, F as OPENCLAW_CLI_TIMEOUT_MS$1, H as RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1, I as PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1, L as PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1, N as MIN_HEARTBEAT_INTERVAL_MS$2, O as DEFAULT_HEARTBEAT_INTERVAL_MS$1, R as REGISTER_RESPONSE_TIMEOUT_MS$1, S as CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1, T as DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1, V as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1, j as MAX_HEARTBEAT_INTERVAL_MS$2, l as getAuthSessionState, v as isBinaryDistribution, w as DAEMON_STREAM_CONNECT_TIMEOUT_MS$1, x as CATALOG_SYNC_RETRY_INTERVAL_MS$1, y as resolveOpenMeldDistribution } from "./auth-session-Czzsww9v.js";
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-CgF_v0Ue.js";
14
14
  import { n as toErrorMessage$25, t as sleep } from "./dist-o3UL1EGQ.js";
15
- import { c as buildRequestAuthHeaders, n as fetchSpaceRequestWithTimeout, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation, u as buildOpenMeldRequestContextFromProfile } from "./api-client-foundation-C0Zq2voT.js";
16
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-C_KmI_0F.js";
17
16
  import { C as assertNoPublishedProductionMutationDuringTests, E as isTestProcess, S as resolveDaemonServiceIdentity, T as isPublishedProductionOpenMeldRoot, a as disableDaemonServiceAutostartIfConfigured, b as resolveDaemonServiceManager, c as getDaemonSystemServiceLogPath, o as formatDaemonServiceJobDiagnosticsEvidence, s as getDaemonServiceLaunchdLabel, w as assertSafePublishedProductionServiceRegistrationMutation } from "./daemon-service-manager-DRzfyljb.js";
17
+ import { c as buildRequestAuthHeaders, n as fetchSpaceRequestWithTimeout, s as buildOpenMeldRequestContextHeadersWithAuth, t as createCliApiClientFoundation, u as buildOpenMeldRequestContextFromProfile } from "./api-client-foundation-BhZNjDtp.js";
18
18
  import { createRequire } from "node:module";
19
19
  import { homedir, tmpdir, userInfo } from "node:os";
20
20
  import path, { basename, delimiter, dirname, extname, isAbsolute, join, normalize, parse, relative, resolve, sep } from "node:path";
@@ -594,9 +594,370 @@ function normalizeOptionalText$54(value) {
594
594
  return normalized.length > 0 ? normalized : null;
595
595
  }
596
596
  //#endregion
597
+ //#region src/config/daemon-service-contract.ts
598
+ const DAEMON_SERVICE_CONTRACT_FILENAME = "service-contract.json";
599
+ function daemonServiceContractPath(pathInput = {}) {
600
+ return join(daemonRuntimeStateRootPath(pathInput), DAEMON_SERVICE_CONTRACT_FILENAME);
601
+ }
602
+ async function readDaemonServiceContract(pathInput = {}) {
603
+ return await readDaemonLocalStateFile({
604
+ path: daemonServiceContractPath(pathInput),
605
+ schema: daemonServiceContractSchema
606
+ });
607
+ }
608
+ async function upsertDaemonServiceContract(input, pathInput = {}) {
609
+ assertDaemonServiceContractMutationAllowed(pathInput);
610
+ const current = await readDaemonServiceContract(pathInput);
611
+ const candidate = buildContractCandidate(input, pathInput, current);
612
+ assertDaemonServiceContractIdentityAllowed(candidate, pathInput);
613
+ if (current && isSameContractState(current, candidate)) return current;
614
+ const next = {
615
+ ...candidate,
616
+ generation: current ? current.generation + 1 : 1,
617
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
618
+ };
619
+ await writeDaemonLocalStateFile({
620
+ path: daemonServiceContractPath(pathInput),
621
+ schema: daemonServiceContractSchema,
622
+ value: next,
623
+ mode: 384
624
+ });
625
+ return next;
626
+ }
627
+ async function clearDaemonServiceContract(pathInput = {}) {
628
+ assertDaemonServiceContractMutationAllowed(pathInput);
629
+ await rm(daemonServiceContractPath(pathInput), { force: true });
630
+ }
631
+ function assertDaemonServiceContractMutationAllowed(pathInput) {
632
+ assertNoPublishedProductionMutationDuringTests(pathInput, "OpenMeld Service contract");
633
+ }
634
+ function assertDaemonServiceContractIdentityAllowed(candidate, pathInput) {
635
+ if (!isUnsafeProductionDaemonServiceContractIdentity(candidate)) return;
636
+ if (isTestProcess(pathInput) && !isPublishedProductionOpenMeldRoot(pathInput)) return;
637
+ throw new Error(["Refusing to write OpenMeld Service contract with a test fixture identity in the published production lane.", "Run `openmeld service repair --profile <profile-id>` from the signed-in production lane, or clear the polluted local service state before retrying."].join(" "));
638
+ }
639
+ function isDaemonServiceContractIdentityReusable(contract, pathInput = {}) {
640
+ if (!contract) return false;
641
+ if (contract.lane !== resolveOpenMeldEnvPreset(pathInput)) return false;
642
+ return !isUnsafeProductionDaemonServiceContractIdentity(contract);
643
+ }
644
+ function isUnsafeProductionDaemonServiceContractIdentity(contract) {
645
+ if (contract.lane !== "prod") return false;
646
+ return isUnsafeProductionDeviceId(contract.deviceId) || (contract.profileId ? isUnsafeProductionProfileId(contract.profileId) : false);
647
+ }
648
+ function isUnsafeProductionDeviceId(deviceId) {
649
+ return normalizeFixtureText(deviceId) === "device_123";
650
+ }
651
+ function isUnsafeProductionProfileId(profileId) {
652
+ return UNSAFE_PRODUCTION_PROFILE_IDS.has(normalizeFixtureText(profileId));
653
+ }
654
+ const UNSAFE_PRODUCTION_PROFILE_IDS = /* @__PURE__ */ new Set([
655
+ "agt_existing",
656
+ "11111111-1111-1111-1111-111111111111",
657
+ "agt_11111111-1111-1111-1111-111111111111",
658
+ "11111111-1111-4111-8111-111111111111",
659
+ "agt_11111111-1111-4111-8111-111111111111"
660
+ ]);
661
+ function normalizeFixtureText(value) {
662
+ return value.trim().toLowerCase();
663
+ }
664
+ function buildContractCandidate(input, pathInput, current) {
665
+ const lane = input.lane ?? resolveOpenMeldEnvPreset(pathInput);
666
+ const connectedComputerId = input.connectedComputerId ?? (current && canReuseConnectedComputerEvidence(current, input, lane) ? current.connectedComputerId : void 0);
667
+ return {
668
+ schema: "openmeld-daemon-service-contract-v1",
669
+ v: 1,
670
+ lane,
671
+ daemonVersion: input.daemonVersion,
672
+ bundleId: input.bundleId,
673
+ desiredState: input.desiredState,
674
+ serviceController: input.serviceController,
675
+ autoStart: input.autoStart,
676
+ gatewayUrl: input.gatewayUrl,
677
+ ...input.ownerUserId ? { ownerUserId: input.ownerUserId } : {},
678
+ ...input.profileId ? { profileId: input.profileId } : {},
679
+ deviceId: input.deviceId,
680
+ ...connectedComputerId ? { connectedComputerId } : {},
681
+ heartbeatMs: input.heartbeatMs
682
+ };
683
+ }
684
+ function canReuseConnectedComputerEvidence(current, input, lane) {
685
+ if (current.lane !== lane || current.gatewayUrl !== input.gatewayUrl || current.deviceId !== input.deviceId) return false;
686
+ if (current.ownerUserId && input.ownerUserId) return current.ownerUserId === input.ownerUserId;
687
+ if (current.profileId && input.profileId) return current.profileId === input.profileId;
688
+ return !(current.ownerUserId || input.ownerUserId);
689
+ }
690
+ function isSameContractState(current, candidate) {
691
+ return current.schema === candidate.schema && current.v === candidate.v && current.lane === candidate.lane && current.daemonVersion === candidate.daemonVersion && current.bundleId === candidate.bundleId && current.desiredState === candidate.desiredState && current.serviceController === candidate.serviceController && current.autoStart === candidate.autoStart && current.gatewayUrl === candidate.gatewayUrl && current.ownerUserId === candidate.ownerUserId && current.profileId === candidate.profileId && current.deviceId === candidate.deviceId && current.connectedComputerId === candidate.connectedComputerId && current.heartbeatMs === candidate.heartbeatMs;
692
+ }
693
+ //#endregion
694
+ //#region src/local-service/core/constants.ts
695
+ const CATALOG_SYNC_RETRY_INTERVAL_MS = CATALOG_SYNC_RETRY_INTERVAL_MS$1;
696
+ const CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS = CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1;
697
+ const DAEMON_RUNTIME_CONTRACT_EPOCH = DAEMON_RUNTIME_CONTRACT_EPOCH$1;
698
+ const DAEMON_STREAM_CONNECT_TIMEOUT_MS = DAEMON_STREAM_CONNECT_TIMEOUT_MS$1;
699
+ const DAEMON_STREAM_KEEPALIVE_INTERVAL_MS = DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1;
700
+ const DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS = DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1;
701
+ const DEFAULT_HEARTBEAT_INTERVAL_MS = DEFAULT_HEARTBEAT_INTERVAL_MS$1;
702
+ const HEARTBEAT_RESPONSE_TIMEOUT_MS = HEARTBEAT_RESPONSE_TIMEOUT_MS$1;
703
+ const MAX_HEARTBEAT_INTERVAL_MS$1 = MAX_HEARTBEAT_INTERVAL_MS$2;
704
+ const MIN_HEARTBEAT_INTERVAL_MS$1 = MIN_HEARTBEAT_INTERVAL_MS$2;
705
+ const PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1;
706
+ const PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1;
707
+ const REGISTER_RESPONSE_TIMEOUT_MS = REGISTER_RESPONSE_TIMEOUT_MS$1;
708
+ const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1;
709
+ const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1;
710
+ const RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS = RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1;
711
+ const DEFAULT_RECONNECT_DELAY_MS = 1e3;
712
+ const MAX_RECONNECT_DELAY_MS = 1e4;
713
+ const CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS = 5e3;
714
+ const CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS = 5e3;
715
+ const CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS = 15e3;
716
+ const DAEMON_DEVICE_ID_FILE = "daemon-device-id.txt";
717
+ const CONTEXT_STORE_FILE = "daemon-context-map.json";
718
+ const LEDGER_DIR_NAME = "openMeldDaemon-ledger";
719
+ const DAEMON_RUNTIME_CONTRACT_META_FILE = "runtime-contract-meta.json";
720
+ const DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE = "runtime-contract-repair-report.json";
721
+ //#endregion
722
+ //#region src/local-service/core/logger.ts
723
+ function emitRunLine(input) {
724
+ if (input.presenter.view === "agent") {
725
+ input.presenter.data({
726
+ code: input.code,
727
+ payload: {
728
+ message: input.text,
729
+ ...input.payload === void 0 ? {} : { payload: input.payload }
730
+ }
731
+ });
732
+ return;
733
+ }
734
+ input.presenter.line({
735
+ code: input.code,
736
+ text: input.text
737
+ });
738
+ }
739
+ function clampInteger$1(value, min, max) {
740
+ return Math.min(max, Math.max(min, Math.trunc(value)));
741
+ }
742
+ function normalizeHeartbeatIntervalMs(value) {
743
+ if (typeof value !== "number" || !Number.isFinite(value)) return DEFAULT_HEARTBEAT_INTERVAL_MS;
744
+ return clampInteger$1(value, MIN_HEARTBEAT_INTERVAL_MS$1, MAX_HEARTBEAT_INTERVAL_MS$1);
745
+ }
746
+ function parseTransportMode$1(value) {
747
+ const parsed = runtimeTransportModeSchema.safeParse(value);
748
+ return parsed.success ? parsed.data : null;
749
+ }
750
+ function parseStreamingMode$1(value) {
751
+ if (value === "final" || value === "stream") return value;
752
+ return null;
753
+ }
754
+ function parseRuntimeTransportMode(value) {
755
+ return parseTransportMode$1(value);
756
+ }
757
+ function parseContextIdMappingSpec(value) {
758
+ const record = asRecord(value);
759
+ if (!record) return null;
760
+ const sourceField = normalizeOptionalText$53(record.sourceField);
761
+ const mappingVersion = normalizePositiveInteger$1(record.mappingVersion);
762
+ if (!(sourceField && mappingVersion)) return null;
763
+ return {
764
+ sourceField,
765
+ mappingVersion
766
+ };
767
+ }
768
+ function parsePositiveInteger(value) {
769
+ if (!(typeof value === "number" && Number.isInteger(value) && value > 0)) return null;
770
+ return value;
771
+ }
772
+ function normalizeNonNegativeInteger(value) {
773
+ if (!(typeof value === "number" && Number.isInteger(value) && value >= 0)) return null;
774
+ return value;
775
+ }
776
+ function normalizePositiveInteger$1(value) {
777
+ return parsePositiveInteger(value);
778
+ }
779
+ function asRecord(value) {
780
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
781
+ return value;
782
+ }
783
+ function normalizeText$11(value) {
784
+ return String(value ?? "").trim();
785
+ }
786
+ function normalizeOptionalText$53(value) {
787
+ const normalized = normalizeText$11(value);
788
+ return normalized.length > 0 ? normalized : null;
789
+ }
790
+ function nowIsoString() {
791
+ return (/* @__PURE__ */ new Date()).toISOString();
792
+ }
793
+ function warnDaemonEvent(eventName, fields) {
794
+ const definedFields = Object.fromEntries(Object.entries(fields).filter((entry) => entry[1] !== void 0));
795
+ console.warn(`${nowIsoString()} ${eventName} ${JSON.stringify(definedFields)}`);
796
+ }
797
+ const toErrorMessage$23 = toErrorMessage$25;
798
+ function dirnamePath(path) {
799
+ const lastSlash = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\"));
800
+ if (lastSlash <= 0) return ".";
801
+ return path.slice(0, lastSlash);
802
+ }
803
+ //#endregion
804
+ //#region src/local-service/state/daemon-device-id.ts
805
+ function resolvePreferredDaemonDeviceId(input) {
806
+ return normalizeOptionalText$53(input.explicitDeviceId) ?? normalizeOptionalText$53(input.contractDeviceId) ?? void 0;
807
+ }
808
+ async function resolveDaemonDeviceId(input) {
809
+ const explicit = normalizeOptionalText$53(input.deviceId);
810
+ if (explicit) {
811
+ await persistDaemonDeviceIdIfNeeded({
812
+ deviceId: explicit,
813
+ deviceIdPath: input.deviceIdPath
814
+ });
815
+ return explicit;
816
+ }
817
+ const persisted = normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => ""));
818
+ if (persisted && !(input.shouldDiscardPersistedDeviceId?.(persisted) ?? false)) return persisted;
819
+ const generated = randomUUID();
820
+ await writeDaemonDeviceId({
821
+ deviceId: generated,
822
+ deviceIdPath: input.deviceIdPath
823
+ });
824
+ return generated;
825
+ }
826
+ async function ensureDaemonRuntimePaths() {
827
+ const dataRootPath = join(daemonRuntimeRootPath(), "data");
828
+ const contextStorePath = join(dataRootPath, CONTEXT_STORE_FILE);
829
+ const deviceIdPath = daemonDeviceIdPath();
830
+ const legacyDeviceIdPath = join(dataRootPath, DAEMON_DEVICE_ID_FILE);
831
+ const ledgerRootPath = join(dataRootPath, LEDGER_DIR_NAME);
832
+ await mkdir(dataRootPath, { recursive: true });
833
+ await mkdir(ledgerRootPath, { recursive: true });
834
+ await mkdir(dirnamePath(deviceIdPath), { recursive: true });
835
+ await migrateLegacyDaemonDeviceId({
836
+ deviceIdPath,
837
+ legacyDeviceIdPath
838
+ });
839
+ return {
840
+ contractMetaPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_META_FILE),
841
+ contractRepairReportPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE),
842
+ contextStorePath,
843
+ dataRootPath,
844
+ deviceIdPath,
845
+ ledgerRootPath
846
+ };
847
+ }
848
+ function daemonDeviceIdPath() {
849
+ return join(systemDir(), DAEMON_DEVICE_ID_FILE);
850
+ }
851
+ function buildLedgerPaths(ledgerRootPath) {
852
+ return {
853
+ backupStateFilePath: join(ledgerRootPath, "state.backup.json"),
854
+ historyFilePath: join(ledgerRootPath, "history.ndjson"),
855
+ historyTempFilePath: join(ledgerRootPath, "history.tmp"),
856
+ rootDirPath: ledgerRootPath,
857
+ stateFilePath: join(ledgerRootPath, "state.json"),
858
+ stateTempFilePath: join(ledgerRootPath, "state.tmp")
859
+ };
860
+ }
861
+ async function persistDaemonDeviceIdIfNeeded(input) {
862
+ if (normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => "")) === input.deviceId) return;
863
+ await writeDaemonDeviceId(input);
864
+ }
865
+ async function writeDaemonDeviceId(input) {
866
+ await mkdir(dirnamePath(input.deviceIdPath), { recursive: true });
867
+ await writeFile(input.deviceIdPath, `${input.deviceId}\n`, "utf8");
868
+ }
869
+ async function migrateLegacyDaemonDeviceId(input) {
870
+ if (normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => ""))) return;
871
+ const legacy = normalizeOptionalText$53(await readFile(input.legacyDeviceIdPath, "utf8").catch(() => ""));
872
+ if (!legacy) return;
873
+ await writeDaemonDeviceId({
874
+ deviceId: legacy,
875
+ deviceIdPath: input.deviceIdPath
876
+ });
877
+ }
878
+ //#endregion
879
+ //#region src/local-service/state/current-device-identity.ts
880
+ function buildLocalAgentCatalogFromReadiness(readiness) {
881
+ const entries = readiness.agents.candidates.map(buildLocalAgentCatalogEntryFromCandidate);
882
+ const catalog = {
883
+ ...summarizeLocalAgentCatalogEntries(entries),
884
+ entries
885
+ };
886
+ const parsed = localAgentCatalogSchema.safeParse(catalog);
887
+ if (!parsed.success) throw new Error(`OpenMeld setup built an invalid local-agent catalog before reporting it: ${formatLocalAgentCatalogValidationError(parsed.error.issues)}`);
888
+ return parsed.data;
889
+ }
890
+ function buildLocalAgentCatalogEntryFromCandidate(candidate) {
891
+ if (candidate.lifecycleStatus === "suspended") return {
892
+ agentId: candidate.agentId,
893
+ displayName: candidate.displayName,
894
+ targetKind: "builtin",
895
+ detected: candidate.detected,
896
+ enabled: candidate.enabled,
897
+ launchStatus: "not_available",
898
+ selectable: false,
899
+ selectableReason: candidate.detected ? "not_supported_yet" : "not_detected"
900
+ };
901
+ if (candidate.launchStatus === "needs_repair" && !candidate.enabled) return {
902
+ agentId: candidate.agentId,
903
+ displayName: candidate.displayName,
904
+ targetKind: "builtin",
905
+ detected: candidate.detected,
906
+ enabled: candidate.enabled,
907
+ launchStatus: "not_available",
908
+ selectable: false,
909
+ selectableReason: "needs_repair"
910
+ };
911
+ return {
912
+ agentId: candidate.agentId,
913
+ displayName: candidate.displayName,
914
+ targetKind: "builtin",
915
+ detected: candidate.detected,
916
+ enabled: candidate.enabled,
917
+ launchStatus: candidate.launchStatus,
918
+ selectable: candidate.selectable,
919
+ selectableReason: normalizeSelectableReason(candidate.selectableReason)
920
+ };
921
+ }
922
+ function summarizeLocalAgentCatalogEntries(entries) {
923
+ return {
924
+ totalBuiltins: entries.length,
925
+ detectedSupported: entries.filter((entry) => entry.detected && entry.launchStatus === "ready").length,
926
+ needsChoice: entries.filter((entry) => entry.detected && entry.launchStatus === "needs_choice").length,
927
+ needsRepair: entries.filter((entry) => entry.detected && entry.launchStatus === "needs_repair").length,
928
+ detectedNotSupportedYet: entries.filter((entry) => entry.detected && entry.launchStatus === "not_available" && entry.selectableReason === "not_supported_yet").length,
929
+ notDetected: entries.filter((entry) => !entry.detected).length
930
+ };
931
+ }
932
+ async function readCurrentLocalDeviceId(input = {}) {
933
+ const contractDeviceId = (input.serviceContract === void 0 ? await readDaemonServiceContract().catch(() => null) : input.serviceContract)?.deviceId;
934
+ if (typeof contractDeviceId === "string" && contractDeviceId.trim().length) return contractDeviceId.trim();
935
+ return await resolveDaemonDeviceId({ deviceIdPath: (await ensureDaemonRuntimePaths()).deviceIdPath });
936
+ }
937
+ function normalizeSelectableReason(selectableReason) {
938
+ switch (selectableReason) {
939
+ case null:
940
+ case "not_detected":
941
+ case "not_supported_yet":
942
+ case "needs_repair":
943
+ case "custom_coming_soon": return selectableReason;
944
+ default: throw new Error(`Unsupported local-agent selectableReason: ${selectableReason}`);
945
+ }
946
+ }
947
+ function formatLocalAgentCatalogValidationError(issues) {
948
+ return issues.slice(0, 3).map((issue) => {
949
+ return `${issue.path.length ? issue.path.join(".") : "catalog"}: ${issue.message}`;
950
+ }).join("; ");
951
+ }
952
+ //#endregion
597
953
  //#region src/system/current-local-runtime-reply-readiness.ts
598
954
  async function readCurrentLocalRuntimeReplyReadiness(input) {
599
- return await createCurrentDeviceApi(createCliApiClientFoundation(input.gatewayUrl)).getCurrentLocalRuntimeReplyReadiness();
955
+ const deviceId = await readCurrentLocalDeviceId();
956
+ if (!deviceId) throw new Error("This installation has no computer identity. Run openmeld setup to connect it.");
957
+ return await createCurrentDeviceApi(createCliApiClientFoundation(input.gatewayUrl)).getPeopleComputerReplyReadiness({
958
+ deviceId,
959
+ runtimeLane: resolveOpenMeldEnvPreset()
960
+ });
600
961
  }
601
962
  //#endregion
602
963
  //#region src/command-entry-checks/server-required-version-assessment.ts
@@ -913,7 +1274,7 @@ async function requestLatestPackageInfo(packageName) {
913
1274
  minRequiredCliVersion: readMinRequiredCliVersion(parsed.openmeld)
914
1275
  };
915
1276
  } catch (error) {
916
- throw new Error(`version check failed: invalid registry response: ${toErrorMessage$23(error)}`);
1277
+ throw new Error(`version check failed: invalid registry response: ${toErrorMessage$22(error)}`);
917
1278
  }
918
1279
  }
919
1280
  const CLI_BINARY_MANIFEST_URL = toNonEmptyString(process$1.env.OPENMELD_CLI_BINARY_MANIFEST_URL) ?? "https://openmeld.ai/cli/manifest.json";
@@ -934,7 +1295,7 @@ async function requestCliBinaryManifest() {
934
1295
  try {
935
1296
  return parseCliBinaryManifest(raw);
936
1297
  } catch (error) {
937
- throw new Error(`version check failed: invalid CLI manifest response: ${toErrorMessage$23(error)}`);
1298
+ throw new Error(`version check failed: invalid CLI manifest response: ${toErrorMessage$22(error)}`);
938
1299
  }
939
1300
  }
940
1301
  function parseCliBinaryManifest(raw) {
@@ -1020,7 +1381,7 @@ function toNonEmptyString(value) {
1020
1381
  const normalized = value.trim();
1021
1382
  return normalized.length > 0 ? normalized : null;
1022
1383
  }
1023
- function toErrorMessage$23(error) {
1384
+ function toErrorMessage$22(error) {
1024
1385
  if (error instanceof Error) return error.message;
1025
1386
  return String(error);
1026
1387
  }
@@ -2296,7 +2657,7 @@ function resolveOpenMeldAccountContext(input) {
2296
2657
  };
2297
2658
  }
2298
2659
  async function resolveCurrentOpenMeldAccountContext() {
2299
- const { getAuthSessionMetadata } = await import("./auth-session-DWjyI9bE.js");
2660
+ const { getAuthSessionMetadata } = await import("./auth-session-D9M2sqUr.js");
2300
2661
  return resolveOpenMeldAccountContext({ session: await getAuthSessionMetadata().catch(() => null) });
2301
2662
  }
2302
2663
  function resolveHostKey(baseUrl) {
@@ -2738,8 +3099,8 @@ function parseJson$1(raw) {
2738
3099
  var package_default = {
2739
3100
  $schema: "https://www.schemastore.org/package.json",
2740
3101
  name: "openmeld",
2741
- version: "0.3.164",
2742
- openMeldReleaseDate: "2026-09-06",
3102
+ version: "0.3.166",
3103
+ openMeldReleaseDate: "2026-09-07",
2743
3104
  description: "OpenMeld CLI - https://openmeld.ai",
2744
3105
  license: "MIT",
2745
3106
  type: "module",
@@ -2816,7 +3177,7 @@ var package_default = {
2816
3177
  },
2817
3178
  openmeld: {
2818
3179
  "releaseLine": "openmeld-greenfield-2026-07",
2819
- "minRequiredCliVersion": "0.3.126"
3180
+ "minRequiredCliVersion": "0.3.165"
2820
3181
  }
2821
3182
  };
2822
3183
  //#endregion
@@ -2838,213 +3199,6 @@ function resolveCurrentDaemonExpectedVersion() {
2838
3199
  return OPENMELD_VERSION;
2839
3200
  }
2840
3201
  //#endregion
2841
- //#region src/config/daemon-service-contract.ts
2842
- const DAEMON_SERVICE_CONTRACT_FILENAME = "service-contract.json";
2843
- function daemonServiceContractPath(pathInput = {}) {
2844
- return join(daemonRuntimeStateRootPath(pathInput), DAEMON_SERVICE_CONTRACT_FILENAME);
2845
- }
2846
- async function readDaemonServiceContract(pathInput = {}) {
2847
- return await readDaemonLocalStateFile({
2848
- path: daemonServiceContractPath(pathInput),
2849
- schema: daemonServiceContractSchema
2850
- });
2851
- }
2852
- async function upsertDaemonServiceContract(input, pathInput = {}) {
2853
- assertDaemonServiceContractMutationAllowed(pathInput);
2854
- const current = await readDaemonServiceContract(pathInput);
2855
- const candidate = buildContractCandidate(input, pathInput, current);
2856
- assertDaemonServiceContractIdentityAllowed(candidate, pathInput);
2857
- if (current && isSameContractState(current, candidate)) return current;
2858
- const next = {
2859
- ...candidate,
2860
- generation: current ? current.generation + 1 : 1,
2861
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
2862
- };
2863
- await writeDaemonLocalStateFile({
2864
- path: daemonServiceContractPath(pathInput),
2865
- schema: daemonServiceContractSchema,
2866
- value: next,
2867
- mode: 384
2868
- });
2869
- return next;
2870
- }
2871
- async function clearDaemonServiceContract(pathInput = {}) {
2872
- assertDaemonServiceContractMutationAllowed(pathInput);
2873
- await rm(daemonServiceContractPath(pathInput), { force: true });
2874
- }
2875
- function assertDaemonServiceContractMutationAllowed(pathInput) {
2876
- assertNoPublishedProductionMutationDuringTests(pathInput, "OpenMeld Service contract");
2877
- }
2878
- function assertDaemonServiceContractIdentityAllowed(candidate, pathInput) {
2879
- if (!isUnsafeProductionDaemonServiceContractIdentity(candidate)) return;
2880
- if (isTestProcess(pathInput) && !isPublishedProductionOpenMeldRoot(pathInput)) return;
2881
- throw new Error(["Refusing to write OpenMeld Service contract with a test fixture identity in the published production lane.", "Run `openmeld service repair --profile <profile-id>` from the signed-in production lane, or clear the polluted local service state before retrying."].join(" "));
2882
- }
2883
- function isDaemonServiceContractIdentityReusable(contract, pathInput = {}) {
2884
- if (!contract) return false;
2885
- if (contract.lane !== resolveOpenMeldEnvPreset(pathInput)) return false;
2886
- return !isUnsafeProductionDaemonServiceContractIdentity(contract);
2887
- }
2888
- function isUnsafeProductionDaemonServiceContractIdentity(contract) {
2889
- if (contract.lane !== "prod") return false;
2890
- return isUnsafeProductionDeviceId(contract.deviceId) || (contract.profileId ? isUnsafeProductionProfileId(contract.profileId) : false);
2891
- }
2892
- function isUnsafeProductionDeviceId(deviceId) {
2893
- return normalizeFixtureText(deviceId) === "device_123";
2894
- }
2895
- function isUnsafeProductionProfileId(profileId) {
2896
- return UNSAFE_PRODUCTION_PROFILE_IDS.has(normalizeFixtureText(profileId));
2897
- }
2898
- const UNSAFE_PRODUCTION_PROFILE_IDS = /* @__PURE__ */ new Set([
2899
- "agt_existing",
2900
- "11111111-1111-1111-1111-111111111111",
2901
- "agt_11111111-1111-1111-1111-111111111111",
2902
- "11111111-1111-4111-8111-111111111111",
2903
- "agt_11111111-1111-4111-8111-111111111111"
2904
- ]);
2905
- function normalizeFixtureText(value) {
2906
- return value.trim().toLowerCase();
2907
- }
2908
- function buildContractCandidate(input, pathInput, current) {
2909
- const lane = input.lane ?? resolveOpenMeldEnvPreset(pathInput);
2910
- const connectedComputerId = input.connectedComputerId ?? (current && canReuseConnectedComputerEvidence(current, input, lane) ? current.connectedComputerId : void 0);
2911
- return {
2912
- schema: "openmeld-daemon-service-contract-v1",
2913
- v: 1,
2914
- lane,
2915
- daemonVersion: input.daemonVersion,
2916
- bundleId: input.bundleId,
2917
- desiredState: input.desiredState,
2918
- serviceController: input.serviceController,
2919
- autoStart: input.autoStart,
2920
- gatewayUrl: input.gatewayUrl,
2921
- ...input.ownerUserId ? { ownerUserId: input.ownerUserId } : {},
2922
- ...input.profileId ? { profileId: input.profileId } : {},
2923
- deviceId: input.deviceId,
2924
- ...connectedComputerId ? { connectedComputerId } : {},
2925
- heartbeatMs: input.heartbeatMs
2926
- };
2927
- }
2928
- function canReuseConnectedComputerEvidence(current, input, lane) {
2929
- if (current.lane !== lane || current.gatewayUrl !== input.gatewayUrl || current.deviceId !== input.deviceId) return false;
2930
- if (current.ownerUserId && input.ownerUserId) return current.ownerUserId === input.ownerUserId;
2931
- if (current.profileId && input.profileId) return current.profileId === input.profileId;
2932
- return !(current.ownerUserId || input.ownerUserId);
2933
- }
2934
- function isSameContractState(current, candidate) {
2935
- return current.schema === candidate.schema && current.v === candidate.v && current.lane === candidate.lane && current.daemonVersion === candidate.daemonVersion && current.bundleId === candidate.bundleId && current.desiredState === candidate.desiredState && current.serviceController === candidate.serviceController && current.autoStart === candidate.autoStart && current.gatewayUrl === candidate.gatewayUrl && current.ownerUserId === candidate.ownerUserId && current.profileId === candidate.profileId && current.deviceId === candidate.deviceId && current.connectedComputerId === candidate.connectedComputerId && current.heartbeatMs === candidate.heartbeatMs;
2936
- }
2937
- //#endregion
2938
- //#region src/local-service/core/constants.ts
2939
- const CATALOG_SYNC_RETRY_INTERVAL_MS = CATALOG_SYNC_RETRY_INTERVAL_MS$1;
2940
- const CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS = CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1;
2941
- const DAEMON_RUNTIME_CONTRACT_EPOCH = DAEMON_RUNTIME_CONTRACT_EPOCH$1;
2942
- const DAEMON_STREAM_CONNECT_TIMEOUT_MS = DAEMON_STREAM_CONNECT_TIMEOUT_MS$1;
2943
- const DAEMON_STREAM_KEEPALIVE_INTERVAL_MS = DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1;
2944
- const DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS = DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1;
2945
- const DEFAULT_HEARTBEAT_INTERVAL_MS = DEFAULT_HEARTBEAT_INTERVAL_MS$1;
2946
- const HEARTBEAT_RESPONSE_TIMEOUT_MS = HEARTBEAT_RESPONSE_TIMEOUT_MS$1;
2947
- const MAX_HEARTBEAT_INTERVAL_MS$1 = MAX_HEARTBEAT_INTERVAL_MS$2;
2948
- const MIN_HEARTBEAT_INTERVAL_MS$1 = MIN_HEARTBEAT_INTERVAL_MS$2;
2949
- const PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1;
2950
- const PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1;
2951
- const REGISTER_RESPONSE_TIMEOUT_MS = REGISTER_RESPONSE_TIMEOUT_MS$1;
2952
- const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1;
2953
- const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1;
2954
- const RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS = RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1;
2955
- const DEFAULT_RECONNECT_DELAY_MS = 1e3;
2956
- const MAX_RECONNECT_DELAY_MS = 1e4;
2957
- const CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS = 5e3;
2958
- const CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS = 5e3;
2959
- const CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS = 15e3;
2960
- const DAEMON_DEVICE_ID_FILE = "daemon-device-id.txt";
2961
- const CONTEXT_STORE_FILE = "daemon-context-map.json";
2962
- const LEDGER_DIR_NAME = "openMeldDaemon-ledger";
2963
- const DAEMON_RUNTIME_CONTRACT_META_FILE = "runtime-contract-meta.json";
2964
- const DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE = "runtime-contract-repair-report.json";
2965
- //#endregion
2966
- //#region src/local-service/core/logger.ts
2967
- function emitRunLine(input) {
2968
- if (input.presenter.view === "agent") {
2969
- input.presenter.data({
2970
- code: input.code,
2971
- payload: {
2972
- message: input.text,
2973
- ...input.payload === void 0 ? {} : { payload: input.payload }
2974
- }
2975
- });
2976
- return;
2977
- }
2978
- input.presenter.line({
2979
- code: input.code,
2980
- text: input.text
2981
- });
2982
- }
2983
- function clampInteger$1(value, min, max) {
2984
- return Math.min(max, Math.max(min, Math.trunc(value)));
2985
- }
2986
- function normalizeHeartbeatIntervalMs(value) {
2987
- if (typeof value !== "number" || !Number.isFinite(value)) return DEFAULT_HEARTBEAT_INTERVAL_MS;
2988
- return clampInteger$1(value, MIN_HEARTBEAT_INTERVAL_MS$1, MAX_HEARTBEAT_INTERVAL_MS$1);
2989
- }
2990
- function parseTransportMode$1(value) {
2991
- const parsed = runtimeTransportModeSchema.safeParse(value);
2992
- return parsed.success ? parsed.data : null;
2993
- }
2994
- function parseStreamingMode$1(value) {
2995
- if (value === "final" || value === "stream") return value;
2996
- return null;
2997
- }
2998
- function parseRuntimeTransportMode(value) {
2999
- return parseTransportMode$1(value);
3000
- }
3001
- function parseContextIdMappingSpec(value) {
3002
- const record = asRecord(value);
3003
- if (!record) return null;
3004
- const sourceField = normalizeOptionalText$53(record.sourceField);
3005
- const mappingVersion = normalizePositiveInteger$1(record.mappingVersion);
3006
- if (!(sourceField && mappingVersion)) return null;
3007
- return {
3008
- sourceField,
3009
- mappingVersion
3010
- };
3011
- }
3012
- function parsePositiveInteger(value) {
3013
- if (!(typeof value === "number" && Number.isInteger(value) && value > 0)) return null;
3014
- return value;
3015
- }
3016
- function normalizeNonNegativeInteger(value) {
3017
- if (!(typeof value === "number" && Number.isInteger(value) && value >= 0)) return null;
3018
- return value;
3019
- }
3020
- function normalizePositiveInteger$1(value) {
3021
- return parsePositiveInteger(value);
3022
- }
3023
- function asRecord(value) {
3024
- if (!value || typeof value !== "object" || Array.isArray(value)) return null;
3025
- return value;
3026
- }
3027
- function normalizeText$11(value) {
3028
- return String(value ?? "").trim();
3029
- }
3030
- function normalizeOptionalText$53(value) {
3031
- const normalized = normalizeText$11(value);
3032
- return normalized.length > 0 ? normalized : null;
3033
- }
3034
- function nowIsoString() {
3035
- return (/* @__PURE__ */ new Date()).toISOString();
3036
- }
3037
- function warnDaemonEvent(eventName, fields) {
3038
- const definedFields = Object.fromEntries(Object.entries(fields).filter((entry) => entry[1] !== void 0));
3039
- console.warn(`${nowIsoString()} ${eventName} ${JSON.stringify(definedFields)}`);
3040
- }
3041
- const toErrorMessage$22 = toErrorMessage$25;
3042
- function dirnamePath(path) {
3043
- const lastSlash = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\"));
3044
- if (lastSlash <= 0) return ".";
3045
- return path.slice(0, lastSlash);
3046
- }
3047
- //#endregion
3048
3202
  //#region src/local-service/core/types.ts
3049
3203
  var DaemonServiceRunError = class extends Error {
3050
3204
  code;
@@ -3247,7 +3401,7 @@ const backupAndCleanRuntimeState = async (input) => {
3247
3401
  appliedAt: input.nowIso,
3248
3402
  backupPaths,
3249
3403
  cleanedPaths,
3250
- errorMessage: toErrorMessage$22(error),
3404
+ errorMessage: toErrorMessage$23(error),
3251
3405
  fromEpoch: input.fromEpoch,
3252
3406
  reason: input.reason,
3253
3407
  status: "failed",
@@ -3337,7 +3491,7 @@ async function resolveDaemonRuntimeContractCompatibility(input) {
3337
3491
  observedEpoch: null,
3338
3492
  updatedAt: null,
3339
3493
  reasonCode: "daemon.runtime_contract.unavailable",
3340
- errorMessage: toErrorMessage$22(error)
3494
+ errorMessage: toErrorMessage$23(error)
3341
3495
  };
3342
3496
  }
3343
3497
  if (!meta) return {
@@ -5920,7 +6074,8 @@ function formatDaemonOwnerKinds(ownerKinds) {
5920
6074
  }
5921
6075
  function resolveActiveOwnerKinds(input) {
5922
6076
  const owners = /* @__PURE__ */ new Set();
5923
- if (input.serviceManagerStatus?.running === true || input.ownedProcesses.some((processInfo) => processInfo.ownership === "stable_launcher") || input.runtimeStatus.managedBySystemService && input.effectiveRuntimeStatus === "running") owners.add("system_service");
6077
+ const verifiedDirectRuntimePid = input.runtimeStatus.status === "running" && !input.runtimeStatus.managedBySystemService && input.runtimeStatus.serviceController === "unknown" ? input.runtimeStatus.pid : null;
6078
+ if (input.serviceManagerStatus?.running === true || input.ownedProcesses.some((processInfo) => processInfo.ownership === "stable_launcher" && processInfo.pid !== verifiedDirectRuntimePid) || input.runtimeStatus.managedBySystemService && input.effectiveRuntimeStatus === "running") owners.add("system_service");
5924
6079
  if (input.ownedProcesses.some((processInfo) => processInfo.ownership === "legacy_detached") || input.runtimeStatus.serviceController === "legacy-detached" && input.effectiveRuntimeStatus === "running") owners.add("legacy_detached");
5925
6080
  if (input.ownedProcesses.some((processInfo) => processInfo.ownership === "cli_direct" || processInfo.ownership === "unknown") || !input.runtimeStatus.managedBySystemService && input.runtimeStatus.serviceController !== "legacy-detached" && input.effectiveRuntimeStatus === "running") owners.add("cli_direct");
5926
6081
  return Array.from(owners).sort();
@@ -6012,8 +6167,6 @@ async function inspectDaemonServiceInventory(input) {
6012
6167
  runtimeState: runtimeStatus,
6013
6168
  serviceManagerStatus: scopedServiceManager.serviceManagerStatus
6014
6169
  }),
6015
- unscopedServiceManager: observedServiceManager,
6016
- unscopedServiceManagerStatus: observedServiceManagerStatus,
6017
6170
  serviceContract,
6018
6171
  serviceManager: scopedServiceManager.serviceManager,
6019
6172
  serviceManagerStatus: scopedServiceManager.serviceManagerStatus,
@@ -6131,8 +6284,8 @@ function buildRuntimeHealthAnomalies(input) {
6131
6284
  const anomalies = [];
6132
6285
  const ownerSnapshot = buildDaemonOwnerSnapshotFromObservedState({
6133
6286
  runtimeStatus: input.runtimeStatus,
6134
- serviceManager: input.unscopedServiceManager,
6135
- serviceManagerStatus: input.unscopedServiceManagerStatus,
6287
+ serviceManager: input.serviceManager,
6288
+ serviceManagerStatus: input.serviceManagerStatus,
6136
6289
  effectiveRuntimeStatus: input.effectiveRuntimeStatus,
6137
6290
  ownedProcesses: input.ownedProcesses
6138
6291
  });
@@ -6156,7 +6309,7 @@ function buildRuntimeHealthAnomalies(input) {
6156
6309
  code: "service_manager_path_drift",
6157
6310
  message: "The OS service manager is still pointing at an old CLI path instead of the OpenMeld-managed stable launcher."
6158
6311
  });
6159
- if ((input.runtimeStatus.status === "running" || input.runtimeStatus.status === "stale") && hasRuntimeBundleMismatch({
6312
+ if ((input.runtimeStatus.status === "running" || input.runtimeStatus.status === "stale") && (input.runtimeStatus.reason !== "process_not_alive" || input.ownedProcesses.some((processInfo) => processInfo.pid === input.runtimeStatus.pid)) && hasRuntimeBundleMismatch({
6160
6313
  activeBundleEntryPath: input.activeBundleEntryPath,
6161
6314
  activeBundleSourceEntryPath: input.activeBundleSourceEntryPath,
6162
6315
  runtimeCommandEntryPath: input.runtimeCommandEntryPath,
@@ -23555,6 +23708,23 @@ function normalizeOptionalText$12(value) {
23555
23708
  const normalized = String(value ?? "").trim();
23556
23709
  return normalized.length > 0 ? normalized : null;
23557
23710
  }
23711
+ function projectPeopleComputersToLegacyLocalRuntimes(inventory, target) {
23712
+ return {
23713
+ currentDeviceId: target?.deviceId ?? null,
23714
+ currentRuntimeLane: target?.runtimeLane ?? null,
23715
+ localRuntimes: inventory.computers.map(({ identityStatus: _identity, connection: _connection, ...computer }) => ({
23716
+ ...computer,
23717
+ isCurrent: target !== null && peopleComputerContainsDevice(computer, target.deviceId),
23718
+ executionTargets: computer.executionTargets.map((entry) => ({
23719
+ ...entry,
23720
+ isCurrent: entry.deviceId === target?.deviceId && entry.runtimeLane === target?.runtimeLane
23721
+ }))
23722
+ }))
23723
+ };
23724
+ }
23725
+ function peopleComputerContainsDevice(computer, deviceId) {
23726
+ return computer.deviceId === deviceId || computer.legacyDeviceIds?.includes(deviceId) === true || computer.executionTargets.some((target) => target.deviceId === deviceId);
23727
+ }
23558
23728
  [.../* @__PURE__ */ new Set([
23559
23729
  "bind_agent_profile",
23560
23730
  "create_binding",
@@ -32595,9 +32765,9 @@ function createModelCatalogReadSession(input) {
32595
32765
  async function readModelCatalogOnce(baseUrl) {
32596
32766
  try {
32597
32767
  const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
32598
- import("./dist-BZQBQLYA.js"),
32768
+ import("./dist-CxpovZqh.js"),
32599
32769
  import("./base-url-iT1pbiC4.js"),
32600
- import("./api-client-foundation-BQyVR0ev.js")
32770
+ import("./api-client-foundation-D9GZ4h3w.js")
32601
32771
  ]);
32602
32772
  if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
32603
32773
  const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
@@ -33236,7 +33406,7 @@ async function repairLocalReplyStateOrThrow(input) {
33236
33406
  mode: "repair"
33237
33407
  });
33238
33408
  } catch (error) {
33239
- const errorMessage = toErrorMessage$22(error);
33409
+ const errorMessage = toErrorMessage$23(error);
33240
33410
  emitRunLine({
33241
33411
  presenter: input.presenter,
33242
33412
  code: "daemon.run.projection_sync_failed",
@@ -33253,7 +33423,7 @@ async function repairLocalReplyStateOrThrow(input) {
33253
33423
  try {
33254
33424
  await syncProfileWorkspaceState({ mode: "repair" });
33255
33425
  } catch (error) {
33256
- const errorMessage = toErrorMessage$22(error);
33426
+ const errorMessage = toErrorMessage$23(error);
33257
33427
  emitRunLine({
33258
33428
  presenter: input.presenter,
33259
33429
  code: "daemon.run.profile_workspace_sync_failed",
@@ -33311,7 +33481,7 @@ async function syncDaemonRouteCatalogState(input) {
33311
33481
  return {
33312
33482
  status: "failed",
33313
33483
  reason: "load_failed",
33314
- errorMessage: toErrorMessage$22(error)
33484
+ errorMessage: toErrorMessage$23(error)
33315
33485
  };
33316
33486
  }
33317
33487
  const nextFingerprint = buildRouteCatalogFingerprint(nextCatalog);
@@ -33324,7 +33494,7 @@ async function syncDaemonRouteCatalogState(input) {
33324
33494
  return {
33325
33495
  status: "failed",
33326
33496
  reason: "register_failed",
33327
- errorMessage: toErrorMessage$22(error)
33497
+ errorMessage: toErrorMessage$23(error)
33328
33498
  };
33329
33499
  }
33330
33500
  applyAcceptedLeases({
@@ -33363,7 +33533,7 @@ async function syncDaemonRouteCatalogState(input) {
33363
33533
  return {
33364
33534
  status: "failed",
33365
33535
  reason: "register_failed",
33366
- errorMessage: toErrorMessage$22(error)
33536
+ errorMessage: toErrorMessage$23(error)
33367
33537
  };
33368
33538
  }
33369
33539
  const diff = buildRouteCatalogDiff({
@@ -33570,7 +33740,7 @@ async function resolveLocalServiceDemand(input) {
33570
33740
  decision: "indeterminate",
33571
33741
  hasLocalExecutionRoute: false,
33572
33742
  repairableReplyCandidateCount: 0,
33573
- reason: `failed to load local daemon routes: ${toErrorMessage$22(error)}`,
33743
+ reason: `failed to load local daemon routes: ${toErrorMessage$23(error)}`,
33574
33744
  localExecutionRouteCount: 0,
33575
33745
  projection
33576
33746
  };
@@ -37561,81 +37731,6 @@ function toErrorMessage(error) {
37561
37731
  return String(error);
37562
37732
  }
37563
37733
  //#endregion
37564
- //#region src/local-service/state/daemon-device-id.ts
37565
- function resolvePreferredDaemonDeviceId(input) {
37566
- return normalizeOptionalText$53(input.explicitDeviceId) ?? normalizeOptionalText$53(input.contractDeviceId) ?? void 0;
37567
- }
37568
- async function resolveDaemonDeviceId(input) {
37569
- const explicit = normalizeOptionalText$53(input.deviceId);
37570
- if (explicit) {
37571
- await persistDaemonDeviceIdIfNeeded({
37572
- deviceId: explicit,
37573
- deviceIdPath: input.deviceIdPath
37574
- });
37575
- return explicit;
37576
- }
37577
- const persisted = normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => ""));
37578
- if (persisted && !(input.shouldDiscardPersistedDeviceId?.(persisted) ?? false)) return persisted;
37579
- const generated = randomUUID();
37580
- await writeDaemonDeviceId({
37581
- deviceId: generated,
37582
- deviceIdPath: input.deviceIdPath
37583
- });
37584
- return generated;
37585
- }
37586
- async function ensureDaemonRuntimePaths() {
37587
- const dataRootPath = join(daemonRuntimeRootPath(), "data");
37588
- const contextStorePath = join(dataRootPath, CONTEXT_STORE_FILE);
37589
- const deviceIdPath = daemonDeviceIdPath();
37590
- const legacyDeviceIdPath = join(dataRootPath, DAEMON_DEVICE_ID_FILE);
37591
- const ledgerRootPath = join(dataRootPath, LEDGER_DIR_NAME);
37592
- await mkdir(dataRootPath, { recursive: true });
37593
- await mkdir(ledgerRootPath, { recursive: true });
37594
- await mkdir(dirnamePath(deviceIdPath), { recursive: true });
37595
- await migrateLegacyDaemonDeviceId({
37596
- deviceIdPath,
37597
- legacyDeviceIdPath
37598
- });
37599
- return {
37600
- contractMetaPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_META_FILE),
37601
- contractRepairReportPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE),
37602
- contextStorePath,
37603
- dataRootPath,
37604
- deviceIdPath,
37605
- ledgerRootPath
37606
- };
37607
- }
37608
- function daemonDeviceIdPath() {
37609
- return join(systemDir(), DAEMON_DEVICE_ID_FILE);
37610
- }
37611
- function buildLedgerPaths(ledgerRootPath) {
37612
- return {
37613
- backupStateFilePath: join(ledgerRootPath, "state.backup.json"),
37614
- historyFilePath: join(ledgerRootPath, "history.ndjson"),
37615
- historyTempFilePath: join(ledgerRootPath, "history.tmp"),
37616
- rootDirPath: ledgerRootPath,
37617
- stateFilePath: join(ledgerRootPath, "state.json"),
37618
- stateTempFilePath: join(ledgerRootPath, "state.tmp")
37619
- };
37620
- }
37621
- async function persistDaemonDeviceIdIfNeeded(input) {
37622
- if (normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => "")) === input.deviceId) return;
37623
- await writeDaemonDeviceId(input);
37624
- }
37625
- async function writeDaemonDeviceId(input) {
37626
- await mkdir(dirnamePath(input.deviceIdPath), { recursive: true });
37627
- await writeFile(input.deviceIdPath, `${input.deviceId}\n`, "utf8");
37628
- }
37629
- async function migrateLegacyDaemonDeviceId(input) {
37630
- if (normalizeOptionalText$53(await readFile(input.deviceIdPath, "utf8").catch(() => ""))) return;
37631
- const legacy = normalizeOptionalText$53(await readFile(input.legacyDeviceIdPath, "utf8").catch(() => ""));
37632
- if (!legacy) return;
37633
- await writeDaemonDeviceId({
37634
- deviceId: legacy,
37635
- deviceIdPath: input.deviceIdPath
37636
- });
37637
- }
37638
- //#endregion
37639
37734
  //#region src/local-service/state/runtime-data-preservation.ts
37640
37735
  const DAEMON_RUNTIME_DATA_BACKUP_PREFIX = "openmeld-daemon-runtime-data-";
37641
37736
  const DAEMON_RUNTIME_DATA_DIR_NAME = "data";
@@ -40443,6 +40538,6 @@ function projectServiceJob(job) {
40443
40538
  };
40444
40539
  }
40445
40540
  //#endregion
40446
- export { resolveCurrentReplyReadinessSnapshot as $, buildDaemonRouteObservationPresentation as $a, emitDaemonLifecycleEvent as $i, resolveLocalRegistryAgentIdFromAgentControllerRef as $n, hasIndependentMaintenanceRegistration as $o, listAgentControllerPermissionModeOptions as $r, removeMissingProjectConnections as $t, formatDaemonFailureContextText as A, CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS as Aa, formatDaemonOwnerSummaryLabel as Ai, canManageRegistryAgentSkillTargets as An, createAuthenticationError as Ao, buildTaskResultEnvelope as Ar, resolveLocalRuntimeControllerSupport as At, buildDaemonServiceUpdateRequiredNextStep as B, PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS as Ba, resolveDaemonRuntimeState as Bi, requestLocalDaemonShutdown as Bn, DAEMON_SERVICE_AUTO_HEAL_ANOMALIES as Bo, buildAuthenticatedControlPlaneResponse as Br, resolveConfiguredProfileWorkspacePathForAccount as Bt, ensureDaemonSystemServiceCommandFiles as C, normalizeText$11 as Ca, resolveInstalledClaudeCodeLaunchCandidates as Ci, reconcileNewRunnableBuiltinAgentRegistrations as Cn, clearSelectedOpenMeldProfileId as Co, resolveDispatchQueueLogMeta as Cr, createRouteCatalogFromMutableState as Ct, resolvePreferredDaemonDeviceId as D, CATALOG_SYNC_RETRY_INTERVAL_MS as Da, materializeCliLaunchCommand as Di, setAgentRegistrationEnabled as Dn, buildAuthenticationStatusLabel as Do, resolveLatestScopedConversationExecutionState as Dr, buildRuntimeRouteTargets as Dt, resolveDaemonDeviceId as E, warnDaemonEvent as Ea, buildCliLaunchInvocation as Ei, resolveAgentTargetState as En, buildAgentAuthenticationGuide as Eo, resolveCompatibleConversationExecutionState as Er, syncDaemonRouteCatalogState as Et, resolveServiceReadinessFromServiceStatus as F, DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS as Fa, summarizeDaemonOwnerSnapshot as Fi, resolveRegistryRuntimeAdapterCapabilitySnapshot as Fn, resolveAuthenticationReasonFromState as Fo, resolveConversationExecutionStateByLookupKey as Fr, ensureOpenMeldManagedProfileWorkspace as Ft, clearDaemonStartFailureState as G, clearDaemonServiceContract as Ga, assertDaemonMaintenanceInstallationOwnership as Gi, sortAgentRegistrations as Gn, classifyDaemonServiceWakeability as Go, buildInformationProtectionPromptPlan as Gr, ProjectBindingOperationError as Gt, formatDaemonServiceUpdateRequiredMessage as H, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS as Ha, waitForDaemonSystemServiceToStop as Hi, normalizeAgentId as Hn, DAEMON_SERVICE_REPAIR_ANOMALIES as Ho, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as Hr, setOpenMeldManagedProfileWorkspace as Ht, buildDaemonServiceRefreshNextStep as I, DEFAULT_RECONNECT_DELAY_MS as Ia, clearDaemonRuntimeStateIfDefinitelyStopped as Ii, resolveRegistryRuntimeAdapterContractByAgentControllerRef as In, buildDaemonServiceTargetSpec as Io, seedLegacyAgentContext as Ir, normalizeCustomProfileWorkspacePath as It, buildDaemonServiceDependencyMeaning as J, upsertDaemonServiceContract as Ja, cleanupInactiveDaemonServiceBundles as Ji, resolveBuiltinAgentControllerDefinition as Jn, ensureVersionStateReady as Jo, createAgentExecutionStatusDisplayRows as Jr, isProjectBound as Jt, writeDaemonStartFailureState as K, isDaemonServiceContractIdentityReusable as Ka, extractDaemonCommandEntryPath as Ki, repairBuiltinControllerInstall as Kn, buildNextVersionState as Ko, buildWorkingLanguagePromptPlan as Kr, ProjectBindingStoreUpdateRequiredError as Kt, buildDaemonServiceRefreshPromptMessage as L, HEARTBEAT_RESPONSE_TIMEOUT_MS as La, getEffectiveDaemonRuntimeStatus as Li, notifyDaemonRouteCatalogChanged as Ln, resolveDaemonServiceAlignmentDecision as Lo, settleInflightTask as Lr, readProfileWorkspaceConfig as Lt, resolveDaemonStatusAttention as M, DAEMON_RUNTIME_CONTRACT_EPOCH as Ma, readCurrentDaemonOwnerSnapshot as Mi, resolveSkillsAgentRegistry as Mn, resolveAuthenticationGuidance as Mo, commitResolvedAgentContext as Mr, createModelCatalogReadSession as Mt, resolveDaemonStatusAuthenticationAttention as N, DAEMON_STREAM_CONNECT_TIMEOUT_MS as Na, resolveDaemonStopStrategy as Ni, listBuiltinAgentsRegistryEntries as Nn, resolveAuthenticationGuidanceFromError as No, loadLedgerState as Nr, resolveCurrentEffectiveProfileWorkingFolderRuntime as Nt, captureDaemonServiceEvidence as O, CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS as Oa, inspectDaemonServiceInventory as Oi, updateAgentCustomTarget as On, buildCommandAuthenticationPromptMessage as Oo, runRuntimeTask as Or, readLocalEnabledControllers as Ot, resolveServiceReadiness as P, DAEMON_STREAM_KEEPALIVE_INTERVAL_MS as Pa, resolveStoppedContractWriteBlockedReason as Pi, resolveRegistryOriginLaunchCommand as Pn, resolveAuthenticationGuidanceFromMessage as Po, removeConversationExecutionState as Pr, resolveProfileWorkspaceRuntime as Pt, resolveDaemonServiceDependencyDiagnostics as Q, PREPARE_SESSION_RECONNECT_GRACE_MS as Qa, resolveDaemonBundleEntryPathFromState as Qi, isPnpmGlobalCommandPath as Qn, writeVersionState as Qo, isAgentExecutionReadyOrConnecting as Qr, removeAgentActivityBindingsWhileDeliveryLocked as Qt, buildDaemonServiceRepairGuidance as R, MAX_RECONNECT_DELAY_MS as Ra, readCurrentDaemonRuntimeContext as Ri, LocalDaemonControlPlaneClientError as Rn, isVersionDowngrade as Ro, upsertConversationExecutionState as Rr, readProfileWorkspaceConfigForAccount as Rt, buildDaemonSystemServiceCommandSpec as S, normalizeOptionalText$53 as Sa, verifyCodexAppServerThread as Si, readAgentRuntimeConfigHealth as Sn, clearAllSelectedOpenMeldProfileIds as So, resolveCatalogSyncIntervalMs as Sr, createMutableRouteCatalogState as St, ensureDaemonRuntimePaths as T, toErrorMessage$22 as Ta, createUnsupportedProviderUsageLimits as Ti, removeAgentCustomTarget as Tn, setSelectedOpenMeldProfileId as To, resolveCompatibleAgentContextMatch as Tr, summarizeSkippedDaemonProfiles as Tt, buildDaemonServiceFreshnessPromptLines as U, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS as Ua, cleanupLegacySharedDaemonServiceState as Ui, normalizeAgentIds as Un, DAEMON_SERVICE_WAKEABILITY_ADVISORY_ANOMALIES as Uo, areAgentControllerInterfaceAccountsSame as Ur, validateCustomProfileWorkspacePath as Ut, formatDaemonServiceRefreshReliabilityMessage as V, REGISTER_RESPONSE_TIMEOUT_MS as Va, resolveDaemonServiceManagerForRuntimeState as Vi, sendLocalDaemonControlPlaneRequest as Vn, DAEMON_SERVICE_FULL_ALIGNMENT_ANOMALIES as Vo, buildAgentContextLookupKey as Vr, setCustomProfileWorkspace as Vt, resolveDaemonServiceFreshnessWarning as W, RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS as Wa, listDaemonOwnedProcesses as Wi, parseAgentEnabledOption as Wn, classifyDaemonServiceRunStartability as Wo, buildAgentControllerRef as Wr, describeProfileWorkspacePathValidationFailure as Wt, buildDaemonServiceDependencySummary as X, OPENMELD_VERSION as Xa, readDaemonActiveBundleState as Xi, isHomebrewCommandPath as Xn, fetchLatestPackageInfo as Xo, getAgentControllerPermissionModeDisplayMetadata as Xr, listProjectConnectionsWithStatus as Xt, buildDaemonServiceDependencyNextStep as Y, resolveCurrentDaemonExpectedVersion as Ya, prepareDaemonServiceBundle as Yi, isBunGlobalCommandPath as Yn, fetchLatestCliBinaryRelease as Yo, createAuthorityOpenMeldServiceRuntimeId as Yr, listProjectBindings as Yt, buildDaemonServiceDependencyTitle as Z, package_default as Za, resolveAlignedDaemonActiveBundleEntryPath as Zi, isNpmGlobalCommandPath as Zn, readVersionState as Zo, getAgentControllerPermissionModeFieldLabel as Zr, migrateProjectBindingStore as Zt, isDaemonInventoryRunningAndStartReady as _, asRecord as _a, resolveInstalledGrokBuildLaunchCandidates as _i, createRegistrationFromCatalogTarget as _n, resolveOpenMeldProfile as _o, MIN_HEARTBEAT_INTERVAL_MS as _r, normalizeOpenClawSpaceIdPrefix as _t, resolveOpenMeldToolsMaintenanceProjection as a, runDaemonServiceManagerAction as aa, resolveAgentProfileEditCapabilities as ai, canonicalizeLocalProjectPath as an, getProfileDefaultView as ao, resolveRouteRegistrationReconcileDecision as ar, formatInlineOpenMeldCliCommands as as, REPLY_READINESS_COPY as at, waitForSystemServiceStartup as b, normalizeHeartbeatIntervalMs as ba, resolveInstalledCodexLaunchCandidates as bi, listAgentTargetStates as bn, readDaemonCatalogSyncSignal as bo, pruneStaleLeases as br, writeDaemonRouteCatalogCache as bt, isCliUpdateCheckApplicable as c, performManagedInstall as ca, resolveSelectableCandidates as ci, withAgentActivityLocalStateLock as cn, isSelectedOpenMeldProfileRequiredError as co, normalizeDispatchPostMessageAction as cr, formatOpenMeldCliLine as cs, resolveReplyReadinessGuidanceSummaryCopy as ct, scheduleDaemonServiceUpdate as d, resolveDaemonServiceUpdateOperation as da, createLocalAdapterEntries as di, emitDriftDetectedEvidence as dn, createOpenMeldAgentProfile as do, createLocalTaskInterruptSender as dr, formatProfileAwareOpenMeldCliCommands as ds, resolveGatewayChainReadiness as dt, formatDaemonLifecycleOriginSummary as ea, parseAgentControllerRef as ei, removeProjectConnection as en, buildOnboardingPlan as eo, normalizeDispatchThreadAction as er, resolveServiceUpdateUrgency as es, formatAgentReplyReadinessLabel as et, DaemonServiceLifecycleDrainTimeoutError as f, resolveDaemonRuntimeContractCompatibility as fa, parseOpenCodeGoUsageResponse as fi, emitReconcileCompletedEvidence as fn, createOpenMeldHumanProfile as fo, buildLocalServiceDiagnosticsPayload as fr, resolveSetupFollowUpCliEntryCommand as fs, resolveGatewayChainRepairGuidance as ft, uninstallDaemonServiceUpdateWorker as g, DaemonServiceRunError as ga, probeGrokBuildAcpInterface as gi, addAgentCustomTarget as gn, primeOpenMeldProfilesSessionCache as go, MAX_HEARTBEAT_INTERVAL_MS as gr, resolveBuiltinAgentControllerBrand as gs, buildOpenClawSpaceSessionKey as gt, prepareDaemonServiceUpdateWorkerCarrier as h, readDaemonRuntimeContractRepairReport as ha, GrokBuildAcpTransportError as hi, resolveAgentProfilePrimaryAgentControllerReport as hn, listOpenMeldProfiles as ho, ADAPTIVE_HEARTBEAT_JITTER_RATIO as hr, compareAgentControllerRefsForDisplay as hs, prepareProviderRuntime as ht, readOpenMeldToolsMaintenancePolicy as i, resolveRecentDaemonSignalStopCause as ia, resolveAgentExecutionStatus as ii, unbindProject as in, resolveViewProfileKey as io, isDaemonReconcileInProgressError as ir, resolveAuthBaseUrl as is, mapAgentReplyReadinessToLegacyAutoReply as it, resolveDaemonStatusSnapshot as j, CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS as ja, hasActiveDaemonOwners as ji, detectInstalledSkillsAgents as jn, extractAuthenticationPromptAction as jo, appendLedgerHistoryEntry as jr, syncProfileWorkspaceState as jt, captureDaemonServiceEvidenceBestEffort as k, CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS as ka, buildDaemonOwnerSnapshotFromObservedState as ki, updateAgentRegistrations as kn, buildHumanAuthenticationCard as ko, buildRuntimeWorkspaceFingerprint as kr, resolveLocalController as kt, readOpenMeldToolsUpdateContextFromEnv as l, readLastDaemonServiceUpdate as la, resolveCatalogSyncSkippedProfilesLogState as li, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as ln, requireOpenMeldProfile as lo, createPendingAgentInteractionRegistry as lr, formatOpenMeldCliTextBlock as ls, resolveOpenClawDiagnosticsGuidance as lt, ensureDaemonServiceMaintenanceInstalled as m, ensureDaemonRuntimeContractState as ma, resolveInstalledOpenCodeLaunchCandidates as mi, createPrimaryBindingReadSession as mn, getOpenMeldProfileCapabilities as mo, createInflightTaskControlRegistry as mr, cliBinaryDeltaPatchSchema as ms, resolveOpenClawLocalDiagnosticsValue as mt, readLastOpenMeldToolsUpdateAttempt as n, readLatestDaemonLifecycleOriginEvent as na, renderWorkingLanguagePrompt as ni, runIfAgentActivityBindingGenerationIsCurrent as nn, parseCliViewMode as no, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as nr, describeServerRequiredVersionUnavailableReason as ns, formatHumanReplyReadinessReason as nt, writeOpenMeldToolsMaintenancePolicy as o, runWithDaemonLifecycleCommandJournal as oa, resolveEvidenceSyncHealth as oi, resolveLocalProjectConnectionForPath as on, setProfileDefaultView as oo, createSerialAgentInteractionCallback as or, formatOpenMeldCliCommand as os, formatSpaceMemberCommandRecoveryCopy as ot, runDaemonServiceLifecycle as p, toStartBackgroundHelperExecutionCompatibility as pa, forkOpenCodeServerSession as pi, emitReconcileStartedEvidence as pn, deleteOpenMeldProfile as po, createLocalExecutionSlots as pr, resolveUserFacingCliEntryCommand as ps, resolveGatewayChainRetryGuidance as pt, buildDaemonServiceDependencyDetails as q, readDaemonServiceContract as qa, resolveDaemonBundleIdFromEntryPath as qi, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as qn, compareSemver as qo, createAgentControllerInterfaceDisplayRows as qr, bindProject as qt, readPendingOpenMeldToolsUpdateAttempt as r, readRecentDaemonLifecycleEvents as ra, resolveAgentControllerPermissionModeForController as ri, setDefaultProjectConnection as rn, resolveRuntimeContext as ro, SPACE_ACTION_TARGET_GUIDANCE_LINES as rr, resolveOpenMeldEnvironmentTarget as rs, formatReplyReadinessSummary as rt, assessCliUpdate as s, buildInstallSelfJsonPayload as sa, resolveNativeAgentControllerPermissionModeForController as si, withAgentActivityDeliveryLock as sn, resolveCurrentOpenMeldAccountContext as so, buildDispatchReplyContextSummary as sr, formatOpenMeldCliCommands as ss, resolveReplyReadinessAvailabilityReasonCopy as st, createOpenMeldToolsUpdateCoordinator as t, readLatestDaemonLifecycleConnectionStateEvent as ta, renderInformationProtectionPrompt as ti, resolveProjectBindingForPath as tn, getSetupFlowCopy as to, syncRuntimeEventToInflightTaskControlRegistry as tr, assessServerRequiredVersion as ts, formatDeviceReplyReadinessLabel as tt, runPendingDaemonServiceUpdate as u, readPendingDaemonServiceUpdate as ua, createLocalAdapterContainer as ui, syncDeviceRuntimeStateProjection as un, resolveOpenMeldProfileOrNull as uo, mergeOpenClawGatewayVisibility as ur, formatProfileAwareOpenMeldCliCommand as us, classifyGatewayChainFailure as ut, isSystemServiceStartupTimeoutError as v, dirnamePath as va, projectCodexUsageLimits as vi, listAgentCustomTargets as vn, updateOpenMeldProfile as vo, applyAcceptedLeases as vr, slugifyOpenClawNamePart as vt, buildLedgerPaths as w, nowIsoString as wa, createUnavailableProviderUsageLimits as wi, reconcileNewRunnableBuiltinAgentsForSetup as wn, getSelectedOpenMeldProfileId as wo, resolveDispatchContinuityObservation as wr, loadDaemonRouteCatalog as wt, writeDaemonServiceContract as x, normalizeNonNegativeInteger as xa, forkCodexAppServerThread as xi, manageAgentRegistrationInstallation as xn, alignSelectedOpenMeldProfileStorage as xo, resolveAdaptiveHeartbeatIntervalMs as xr, resolveLocalServiceDemand as xt, resolveSystemServiceStartupWaitMs as y, emitRunLine as ya, resolveCodexTimeoutMs as yi, listAgentRegistrations as yn, assertAdditionalHumanProfileCreationEnabled as yo, applyIntervalJitterMs as yr, readDaemonRouteCatalogCache as yt, buildDaemonServiceStatusReadOnlyDetail as z, PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS as za, readCurrentObservedDaemonRuntimeStatus as zi, requestLocalAgentActivitySync as zn, resolveVersionChangeDirection as zo, withLedgerStateTransaction as zr, resolveConfiguredProfileWorkspacePath as zt };
40541
+ export { formatReplyReadinessSummary as $, resolveAuthenticationGuidanceFromError as $a, readLatestDaemonLifecycleConnectionStateEvent as $i, SPACE_ACTION_TARGET_GUIDANCE_LINES as $n, REGISTER_RESPONSE_TIMEOUT_MS as $o, renderInformationProtectionPrompt as $r, setDefaultProjectConnection as $t, resolveServiceReadiness as A, resolveOpenMeldProfileOrNull as Aa, readCurrentDaemonOwnerSnapshot as Ai, resolveRegistryOriginLaunchCommand as An, dirnamePath as Ao, removeConversationExecutionState as Ar, resolveProfileWorkspaceRuntime as At, resolveDaemonServiceFreshnessWarning as B, readDaemonCatalogSyncSignal as Ba, waitForDaemonSystemServiceToStop as Bi, parseAgentEnabledOption as Bn, CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS as Bo, buildAgentControllerRef as Br, describeProfileWorkspacePathValidationFailure as Bt, ensureDaemonSystemServiceCommandFiles as C, resolveRuntimeContext as Ca, createUnsupportedProviderUsageLimits as Ci, setAgentRegistrationEnabled as Cn, buildLocalAgentCatalogFromReadiness as Co, resolveLatestScopedConversationExecutionState as Cr, buildRuntimeRouteTargets as Ct, resolveDaemonStatusSnapshot as D, resolveCurrentOpenMeldAccountContext as Da, buildDaemonOwnerSnapshotFromObservedState as Di, detectInstalledSkillsAgents as Dn, resolveDaemonDeviceId as Do, appendLedgerHistoryEntry as Dr, syncProfileWorkspaceState as Dt, formatDaemonFailureContextText as E, setProfileDefaultView as Ea, inspectDaemonServiceInventory as Ei, canManageRegistryAgentSkillTargets as En, ensureDaemonRuntimePaths as Eo, buildTaskResultEnvelope as Er, resolveLocalRuntimeControllerSupport as Et, buildDaemonServiceStatusReadOnlyDetail as F, listOpenMeldProfiles as Fa, getEffectiveDaemonRuntimeStatus as Fi, requestLocalAgentActivitySync as Fn, normalizeText$11 as Fo, withLedgerStateTransaction as Fr, resolveConfiguredProfileWorkspacePath as Ft, buildDaemonServiceDependencyNextStep as G, setSelectedOpenMeldProfileId as Ga, resolveDaemonBundleIdFromEntryPath as Gi, isBunGlobalCommandPath as Gn, DAEMON_STREAM_CONNECT_TIMEOUT_MS as Go, createAuthorityOpenMeldServiceRuntimeId as Gr, listProjectBindings as Gt, writeDaemonStartFailureState as H, clearAllSelectedOpenMeldProfileIds as Ha, listDaemonOwnedProcesses as Hi, repairBuiltinControllerInstall as Hn, CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS as Ho, buildWorkingLanguagePromptPlan as Hr, ProjectBindingStoreUpdateRequiredError as Ht, buildDaemonServiceUpdateRequiredNextStep as I, primeOpenMeldProfilesSessionCache as Ia, readCurrentDaemonRuntimeContext as Ii, requestLocalDaemonShutdown as In, nowIsoString as Io, buildAuthenticatedControlPlaneResponse as Ir, resolveConfiguredProfileWorkspacePathForAccount as It, resolveDaemonServiceDependencyDiagnostics as J, buildCommandAuthenticationPromptMessage as Ja, readDaemonActiveBundleState as Ji, isPnpmGlobalCommandPath as Jn, DEFAULT_RECONNECT_DELAY_MS as Jo, isAgentExecutionReadyOrConnecting as Jr, removeAgentActivityBindingsWhileDeliveryLocked as Jt, buildDaemonServiceDependencySummary as K, buildAgentAuthenticationGuide as Ka, cleanupInactiveDaemonServiceBundles as Ki, isHomebrewCommandPath as Kn, DAEMON_STREAM_KEEPALIVE_INTERVAL_MS as Ko, getAgentControllerPermissionModeDisplayMetadata as Kr, listProjectConnectionsWithStatus as Kt, formatDaemonServiceRefreshReliabilityMessage as L, resolveOpenMeldProfile as La, readCurrentObservedDaemonRuntimeStatus as Li, sendLocalDaemonControlPlaneRequest as Ln, toErrorMessage$23 as Lo, buildAgentContextLookupKey as Lr, setCustomProfileWorkspace as Lt, buildDaemonServiceRefreshNextStep as M, createOpenMeldHumanProfile as Ma, resolveStoppedContractWriteBlockedReason as Mi, resolveRegistryRuntimeAdapterContractByAgentControllerRef as Mn, normalizeHeartbeatIntervalMs as Mo, seedLegacyAgentContext as Mr, normalizeCustomProfileWorkspacePath as Mt, buildDaemonServiceRefreshPromptMessage as N, deleteOpenMeldProfile as Na, summarizeDaemonOwnerSnapshot as Ni, notifyDaemonRouteCatalogChanged as Nn, normalizeNonNegativeInteger as No, settleInflightTask as Nr, readProfileWorkspaceConfig as Nt, resolveDaemonStatusAttention as O, isSelectedOpenMeldProfileRequiredError as Oa, formatDaemonOwnerSummaryLabel as Oi, resolveSkillsAgentRegistry as On, resolvePreferredDaemonDeviceId as Oo, commitResolvedAgentContext as Or, createModelCatalogReadSession as Ot, buildDaemonServiceRepairGuidance as P, getOpenMeldProfileCapabilities as Pa, clearDaemonRuntimeStateIfDefinitelyStopped as Pi, LocalDaemonControlPlaneClientError as Pn, normalizeOptionalText$53 as Po, upsertConversationExecutionState as Pr, readProfileWorkspaceConfigForAccount as Pt, formatHumanReplyReadinessReason as Q, resolveAuthenticationGuidance as Qa, formatDaemonLifecycleOriginSummary as Qi, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as Qn, PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS as Qo, projectPeopleComputersToLegacyLocalRuntimes as Qr, runIfAgentActivityBindingGenerationIsCurrent as Qt, formatDaemonServiceUpdateRequiredMessage as R, updateOpenMeldProfile as Ra, resolveDaemonRuntimeState as Ri, normalizeAgentId as Rn, warnDaemonEvent as Ro, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as Rr, setOpenMeldManagedProfileWorkspace as Rt, buildDaemonSystemServiceCommandSpec as S, parseCliViewMode as Sa, createUnavailableProviderUsageLimits as Si, resolveAgentTargetState as Sn, describeServerRequiredVersionUnavailableReason as So, resolveCompatibleConversationExecutionState as Sr, syncDaemonRouteCatalogState as St, captureDaemonServiceEvidenceBestEffort as T, getProfileDefaultView as Ta, materializeCliLaunchCommand as Ti, updateAgentRegistrations as Tn, buildLedgerPaths as To, buildRuntimeWorkspaceFingerprint as Tr, resolveLocalController as Tt, buildDaemonServiceDependencyDetails as U, clearSelectedOpenMeldProfileId as Ua, assertDaemonMaintenanceInstallationOwnership as Ui, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as Un, CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS as Uo, createAgentControllerInterfaceDisplayRows as Ur, bindProject as Ut, clearDaemonStartFailureState as V, alignSelectedOpenMeldProfileStorage as Va, cleanupLegacySharedDaemonServiceState as Vi, sortAgentRegistrations as Vn, CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS as Vo, buildInformationProtectionPromptPlan as Vr, ProjectBindingOperationError as Vt, buildDaemonServiceDependencyMeaning as W, getSelectedOpenMeldProfileId as Wa, extractDaemonCommandEntryPath as Wi, resolveBuiltinAgentControllerDefinition as Wn, DAEMON_RUNTIME_CONTRACT_EPOCH as Wo, createAgentExecutionStatusDisplayRows as Wr, isProjectBound as Wt, formatAgentReplyReadinessLabel as X, createAuthenticationError as Xa, resolveDaemonBundleEntryPathFromState as Xi, normalizeDispatchThreadAction as Xn, MAX_RECONNECT_DELAY_MS as Xo, parseAgentControllerRef as Xr, removeProjectConnection as Xt, resolveCurrentReplyReadinessSnapshot as Y, buildHumanAuthenticationCard as Ya, resolveAlignedDaemonActiveBundleEntryPath as Yi, resolveLocalRegistryAgentIdFromAgentControllerRef as Yn, HEARTBEAT_RESPONSE_TIMEOUT_MS as Yo, listAgentControllerPermissionModeOptions as Yr, removeMissingProjectConnections as Yt, formatDeviceReplyReadinessLabel as Z, extractAuthenticationPromptAction as Za, emitDaemonLifecycleEvent as Zi, syncRuntimeEventToInflightTaskControlRegistry as Zn, PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS as Zo, peopleComputerContainsDevice as Zr, resolveProjectBindingForPath as Zt, isDaemonInventoryRunningAndStartReady as _, package_default as _a, resolveCodexTimeoutMs as _i, manageAgentRegistrationInstallation as _n, readVersionState as _o, resolveAdaptiveHeartbeatIntervalMs as _r, resolveUserFacingCliEntryCommand as _s, resolveLocalServiceDemand as _t, resolveOpenMeldToolsMaintenanceProjection as a, buildInstallSelfJsonPayload as aa, resolveNativeAgentControllerPermissionModeForController as ai, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as an, resolveVersionChangeDirection as ao, createPendingAgentInteractionRegistry as ar, readDaemonServiceContract as as, resolveOpenClawDiagnosticsGuidance as at, waitForSystemServiceStartup as b, buildOnboardingPlan as ba, verifyCodexAppServerThread as bi, reconcileNewRunnableBuiltinAgentsForSetup as bn, resolveServiceUpdateUrgency as bo, resolveDispatchContinuityObservation as br, resolveBuiltinAgentControllerBrand as bs, loadDaemonRouteCatalog as bt, isCliUpdateCheckApplicable as c, readPendingDaemonServiceUpdate as ca, createLocalAdapterContainer as ci, emitReconcileCompletedEvidence as cn, DAEMON_SERVICE_REPAIR_ANOMALIES as co, buildLocalServiceDiagnosticsPayload as cr, resolveAuthBaseUrl as cs, resolveGatewayChainRepairGuidance as ct, scheduleDaemonServiceUpdate as d, toStartBackgroundHelperExecutionCompatibility as da, forkOpenCodeServerSession as di, resolveAgentProfilePrimaryAgentControllerReport as dn, classifyDaemonServiceWakeability as do, ADAPTIVE_HEARTBEAT_JITTER_RATIO as dr, formatOpenMeldCliCommands as ds, prepareProviderRuntime as dt, readLatestDaemonLifecycleOriginEvent as ea, renderWorkingLanguagePrompt as ei, unbindProject as en, resolveAuthenticationGuidanceFromMessage as eo, isDaemonReconcileInProgressError as er, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS as es, mapAgentReplyReadinessToLegacyAutoReply as et, DaemonServiceLifecycleDrainTimeoutError as f, ensureDaemonRuntimeContractState as fa, resolveInstalledOpenCodeLaunchCandidates as fi, addAgentCustomTarget as fn, buildNextVersionState as fo, MAX_HEARTBEAT_INTERVAL_MS as fr, formatOpenMeldCliLine as fs, buildOpenClawSpaceSessionKey as ft, uninstallDaemonServiceUpdateWorker as g, OPENMELD_VERSION as ga, projectCodexUsageLimits as gi, listAgentTargetStates as gn, fetchLatestPackageInfo as go, pruneStaleLeases as gr, resolveSetupFollowUpCliEntryCommand as gs, writeDaemonRouteCatalogCache as gt, prepareDaemonServiceUpdateWorkerCarrier as h, resolveCurrentDaemonExpectedVersion as ha, resolveInstalledGrokBuildLaunchCandidates as hi, listAgentRegistrations as hn, fetchLatestCliBinaryRelease as ho, applyIntervalJitterMs as hr, formatProfileAwareOpenMeldCliCommands as hs, readDaemonRouteCatalogCache as ht, readOpenMeldToolsMaintenancePolicy as i, runWithDaemonLifecycleCommandJournal as ia, resolveEvidenceSyncHealth as ii, withAgentActivityLocalStateLock as in, isVersionDowngrade as io, normalizeDispatchPostMessageAction as ir, isDaemonServiceContractIdentityReusable as is, resolveReplyReadinessGuidanceSummaryCopy as it, resolveServiceReadinessFromServiceStatus as j, createOpenMeldAgentProfile as ja, resolveDaemonStopStrategy as ji, resolveRegistryRuntimeAdapterCapabilitySnapshot as jn, emitRunLine as jo, resolveConversationExecutionStateByLookupKey as jr, ensureOpenMeldManagedProfileWorkspace as jt, resolveDaemonStatusAuthenticationAttention as k, requireOpenMeldProfile as ka, hasActiveDaemonOwners as ki, listBuiltinAgentsRegistryEntries as kn, asRecord as ko, loadLedgerState as kr, resolveCurrentEffectiveProfileWorkingFolderRuntime as kt, readOpenMeldToolsUpdateContextFromEnv as l, resolveDaemonServiceUpdateOperation as la, createLocalAdapterEntries as li, emitReconcileStartedEvidence as ln, DAEMON_SERVICE_WAKEABILITY_ADVISORY_ANOMALIES as lo, createLocalExecutionSlots as lr, formatInlineOpenMeldCliCommands as ls, resolveGatewayChainRetryGuidance as lt, ensureDaemonServiceMaintenanceInstalled as m, DaemonServiceRunError as ma, probeGrokBuildAcpInterface as mi, listAgentCustomTargets as mn, ensureVersionStateReady as mo, applyAcceptedLeases as mr, formatProfileAwareOpenMeldCliCommand as ms, slugifyOpenClawNamePart as mt, readLastOpenMeldToolsUpdateAttempt as n, resolveRecentDaemonSignalStopCause as na, resolveAgentExecutionStatus as ni, resolveLocalProjectConnectionForPath as nn, buildDaemonServiceTargetSpec as no, createSerialAgentInteractionCallback as nr, RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS as ns, formatSpaceMemberCommandRecoveryCopy as nt, writeOpenMeldToolsMaintenancePolicy as o, performManagedInstall as oa, resolveSelectableCandidates as oi, syncDeviceRuntimeStateProjection as on, DAEMON_SERVICE_AUTO_HEAL_ANOMALIES as oo, mergeOpenClawGatewayVisibility as or, upsertDaemonServiceContract as os, classifyGatewayChainFailure as ot, runDaemonServiceLifecycle as p, readDaemonRuntimeContractRepairReport as pa, GrokBuildAcpTransportError as pi, createRegistrationFromCatalogTarget as pn, compareSemver as po, MIN_HEARTBEAT_INTERVAL_MS as pr, formatOpenMeldCliTextBlock as ps, normalizeOpenClawSpaceIdPrefix as pt, buildDaemonServiceDependencyTitle as q, buildAuthenticationStatusLabel as qa, prepareDaemonServiceBundle as qi, isNpmGlobalCommandPath as qn, DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS as qo, getAgentControllerPermissionModeFieldLabel as qr, migrateProjectBindingStore as qt, readPendingOpenMeldToolsUpdateAttempt as r, runDaemonServiceManagerAction as ra, resolveAgentProfileEditCapabilities as ri, withAgentActivityDeliveryLock as rn, resolveDaemonServiceAlignmentDecision as ro, buildDispatchReplyContextSummary as rr, clearDaemonServiceContract as rs, resolveReplyReadinessAvailabilityReasonCopy as rt, assessCliUpdate as s, readLastDaemonServiceUpdate as sa, resolveCatalogSyncSkippedProfilesLogState as si, emitDriftDetectedEvidence as sn, DAEMON_SERVICE_FULL_ALIGNMENT_ANOMALIES as so, createLocalTaskInterruptSender as sr, resolveOpenMeldEnvironmentTarget as ss, resolveGatewayChainReadiness as st, createOpenMeldToolsUpdateCoordinator as t, readRecentDaemonLifecycleEvents as ta, resolveAgentControllerPermissionModeForController as ti, canonicalizeLocalProjectPath as tn, resolveAuthenticationReasonFromState as to, resolveRouteRegistrationReconcileDecision as tr, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS as ts, REPLY_READINESS_COPY as tt, runPendingDaemonServiceUpdate as u, resolveDaemonRuntimeContractCompatibility as ua, parseOpenCodeGoUsageResponse as ui, createPrimaryBindingReadSession as un, classifyDaemonServiceRunStartability as uo, createInflightTaskControlRegistry as ur, formatOpenMeldCliCommand as us, resolveOpenClawLocalDiagnosticsValue as ut, isSystemServiceStartupTimeoutError as v, PREPARE_SESSION_RECONNECT_GRACE_MS as va, resolveInstalledCodexLaunchCandidates as vi, readAgentRuntimeConfigHealth as vn, writeVersionState as vo, resolveCatalogSyncIntervalMs as vr, cliBinaryDeltaPatchSchema as vs, createMutableRouteCatalogState as vt, captureDaemonServiceEvidence as w, resolveViewProfileKey as wa, buildCliLaunchInvocation as wi, updateAgentCustomTarget as wn, readCurrentLocalDeviceId as wo, runRuntimeTask as wr, readLocalEnabledControllers as wt, writeDaemonServiceContract as x, getSetupFlowCopy as xa, resolveInstalledClaudeCodeLaunchCandidates as xi, removeAgentCustomTarget as xn, assessServerRequiredVersion as xo, resolveCompatibleAgentContextMatch as xr, summarizeSkippedDaemonProfiles as xt, resolveSystemServiceStartupWaitMs as y, buildDaemonRouteObservationPresentation as ya, forkCodexAppServerThread as yi, reconcileNewRunnableBuiltinAgentRegistrations as yn, hasIndependentMaintenanceRegistration as yo, resolveDispatchQueueLogMeta as yr, compareAgentControllerRefsForDisplay as ys, createRouteCatalogFromMutableState as yt, buildDaemonServiceFreshnessPromptLines as z, assertAdditionalHumanProfileCreationEnabled as za, resolveDaemonServiceManagerForRuntimeState as zi, normalizeAgentIds as zn, CATALOG_SYNC_RETRY_INTERVAL_MS as zo, areAgentControllerInterfaceAccountsSame as zr, validateCustomProfileWorkspacePath as zt };
40447
40542
 
40448
- //# sourceMappingURL=openmeld-tools-update-coordinator-yGkv7wqt.js.map
40543
+ //# sourceMappingURL=openmeld-tools-update-coordinator-m83r0NWy.js.map