openmeld 0.3.252 → 0.3.254

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 (130) hide show
  1. package/dist/{add-me-membership-CiUrfgZj.js → add-me-membership-DuLYJgUD.js} +2 -2
  2. package/dist/{add-me-membership-CiUrfgZj.js.map → add-me-membership-DuLYJgUD.js.map} +1 -1
  3. package/dist/{agents-BxGh_k1G.js → agents-DxZHFdXn.js} +13 -13
  4. package/dist/{agents-BxGh_k1G.js.map → agents-DxZHFdXn.js.map} +1 -1
  5. package/dist/{api-client-foundation-BZXQyKBm.js → api-client-foundation-BEg5W5r1.js} +1 -1
  6. package/dist/{api-client-foundation-BKXYmUIC.js → api-client-foundation-CPF0nXbH.js} +4 -4
  7. package/dist/{api-client-foundation-BKXYmUIC.js.map → api-client-foundation-CPF0nXbH.js.map} +1 -1
  8. package/dist/auth-session-BjkIIzIz.js +4 -0
  9. package/dist/{auth-session-CjAfqFxu.js → auth-session-C1QlGOT-.js} +5 -5
  10. package/dist/{auth-session-CjAfqFxu.js.map → auth-session-C1QlGOT-.js.map} +1 -1
  11. package/dist/{auth-url-aZdWr1JF.js → auth-url-B5qYMJO_.js} +2 -2
  12. package/dist/{auth-url-aZdWr1JF.js.map → auth-url-B5qYMJO_.js.map} +1 -1
  13. package/dist/{base-url-COBBy2lR.js → base-url-BUHbVXb3.js} +3 -3
  14. package/dist/{base-url-COBBy2lR.js.map → base-url-BUHbVXb3.js.map} +1 -1
  15. package/dist/{base-url-ByUu5lTF.js → base-url-gA1mPiKc.js} +1 -1
  16. package/dist/{channel-CBb8rO5F.js → channel-BUrgmtp1.js} +2 -2
  17. package/dist/{channel-CBb8rO5F.js.map → channel-BUrgmtp1.js.map} +1 -1
  18. package/dist/{cloud-computer-Xdg9fzBj.js → cloud-computer-ZO4Y_XSQ.js} +6 -6
  19. package/dist/{cloud-computer-Xdg9fzBj.js.map → cloud-computer-ZO4Y_XSQ.js.map} +1 -1
  20. package/dist/{command-DvBigZTU.js → command-CvHpanAE.js} +17 -17
  21. package/dist/{command-DvBigZTU.js.map → command-CvHpanAE.js.map} +1 -1
  22. package/dist/{computer-connection-review-IDQR77zf.js → computer-connection-review-CcOpaXuG.js} +6 -6
  23. package/dist/{computer-connection-review-IDQR77zf.js.map → computer-connection-review-CcOpaXuG.js.map} +1 -1
  24. package/dist/{computer-disconnect-Ga2Wflsg.js → computer-disconnect-DhUhwPXH.js} +9 -9
  25. package/dist/{computer-disconnect-Ga2Wflsg.js.map → computer-disconnect-DhUhwPXH.js.map} +1 -1
  26. package/dist/{computer-setup-continuation-B5BlL7Fa.js → computer-setup-continuation-DdbcZczm.js} +3 -3
  27. package/dist/{computer-setup-continuation-B5BlL7Fa.js.map → computer-setup-continuation-DdbcZczm.js.map} +1 -1
  28. package/dist/{context-CQYtgl3W.js → context-CuCerz9H.js} +7 -7
  29. package/dist/{context-CQYtgl3W.js.map → context-CuCerz9H.js.map} +1 -1
  30. package/dist/{daemon-device-id-Cl702Rt_.js → daemon-device-id-D9V35Y8G.js} +4 -4
  31. package/dist/{daemon-device-id-Cl702Rt_.js.map → daemon-device-id-D9V35Y8G.js.map} +1 -1
  32. package/dist/{daemon-lifecycle-journal-ChHdN1WX.js → daemon-lifecycle-journal-CUhIcQCC.js} +6 -6
  33. package/dist/{daemon-lifecycle-journal-ChHdN1WX.js.map → daemon-lifecycle-journal-CUhIcQCC.js.map} +1 -1
  34. package/dist/{daemon-runtime-lease-B3gNXizL.js → daemon-runtime-lease-Cz48mBXh.js} +3 -3
  35. package/dist/{daemon-runtime-lease-B3gNXizL.js.map → daemon-runtime-lease-Cz48mBXh.js.map} +1 -1
  36. package/dist/{daemon-runtime-lease-B0ojE2k0.js → daemon-runtime-lease-WHFY3-dd.js} +1 -1
  37. package/dist/{daemon-service-contract-N6x7y5XW.js → daemon-service-contract-Ab9x7DQh.js} +3 -3
  38. package/dist/{daemon-service-contract-N6x7y5XW.js.map → daemon-service-contract-Ab9x7DQh.js.map} +1 -1
  39. package/dist/{daemon-service-manager-CAD33H1D.js → daemon-service-manager-BAo7kulx.js} +1 -1
  40. package/dist/{daemon-service-manager-BHqe0xaW.js → daemon-service-manager-CB78d5SA.js} +5 -5
  41. package/dist/{daemon-service-manager-BHqe0xaW.js.map → daemon-service-manager-CB78d5SA.js.map} +1 -1
  42. package/dist/{daemon-service-runtime-CHQwiah5.js → daemon-service-runtime-DDfld-8y.js} +14 -14
  43. package/dist/{daemon-service-runtime-CHQwiah5.js.map → daemon-service-runtime-DDfld-8y.js.map} +1 -1
  44. package/dist/{daemon-service-update-coordinator-C2rzOCun.js → daemon-service-update-coordinator-C7GvL6y0.js} +20 -20
  45. package/dist/{daemon-service-update-coordinator-C2rzOCun.js.map → daemon-service-update-coordinator-C7GvL6y0.js.map} +1 -1
  46. package/dist/{daemon-state-DHJiLvNu.js → daemon-state-BHmahVmK.js} +3 -3
  47. package/dist/{daemon-state-DHJiLvNu.js.map → daemon-state-BHmahVmK.js.map} +1 -1
  48. package/dist/{dispatch-owned-runtime-KWbFVojz.js → dispatch-owned-runtime-D_S7zy21.js} +10 -10
  49. package/dist/{dispatch-owned-runtime-KWbFVojz.js.map → dispatch-owned-runtime-D_S7zy21.js.map} +1 -1
  50. package/dist/{dist-B2-v9n26.js → dist-BvGnlYhy.js} +291 -229
  51. package/dist/dist-BvGnlYhy.js.map +1 -0
  52. package/dist/dist-DdS110I0.js +4 -0
  53. package/dist/{dist-B4wca2os.js → dist-DuAsT5Uv.js} +2 -2
  54. package/dist/{dist-B4wca2os.js.map → dist-DuAsT5Uv.js.map} +1 -1
  55. package/dist/{dist-BPnOcifn.js → dist-QI2-yvvy.js} +1 -1
  56. package/dist/{dual-view-guide-catalog-DzQnUzNV.js → dual-view-guide-catalog-Bwl2JU77.js} +3 -3
  57. package/dist/{dual-view-guide-catalog-DzQnUzNV.js.map → dual-view-guide-catalog-Bwl2JU77.js.map} +1 -1
  58. package/dist/{elapsed-time-CVKwPC7F.js → elapsed-time-EN_F3k88.js} +4 -4
  59. package/dist/{elapsed-time-CVKwPC7F.js.map → elapsed-time-EN_F3k88.js.map} +1 -1
  60. package/dist/{entry-MTDogVdn.js → entry-qp30qZLc.js} +12 -12
  61. package/dist/{entry-MTDogVdn.js.map → entry-qp30qZLc.js.map} +1 -1
  62. package/dist/{installation-inventory-B2V0s2OR.js → installation-inventory--ux3wRf5.js} +4 -4
  63. package/dist/{installation-inventory-B2V0s2OR.js.map → installation-inventory--ux3wRf5.js.map} +1 -1
  64. package/dist/{installer-DR_T_922.js → installer-BN7gvBue.js} +2 -2
  65. package/dist/{installer-DR_T_922.js.map → installer-BN7gvBue.js.map} +1 -1
  66. package/dist/{lock-C-QRzajU.js → lock-anKblZEb.js} +3 -3
  67. package/dist/{lock-C-QRzajU.js.map → lock-anKblZEb.js.map} +1 -1
  68. package/dist/{meta-api-CWcpbma1.js → meta-api-m1Wxrftk.js} +7 -7
  69. package/dist/{meta-api-CWcpbma1.js.map → meta-api-m1Wxrftk.js.map} +1 -1
  70. package/dist/{openmeld-aTrdITKS.js → openmeld-D8f6YPac.js} +39 -39
  71. package/dist/{openmeld-aTrdITKS.js.map → openmeld-D8f6YPac.js.map} +1 -1
  72. package/dist/{openmeld-dev-environment-DKqTaavW.js → openmeld-dev-environment-DoOqw488.js} +3 -3
  73. package/dist/{openmeld-dev-environment-DKqTaavW.js.map → openmeld-dev-environment-DoOqw488.js.map} +1 -1
  74. package/dist/openmeld-dev.js +1 -1
  75. package/dist/{openmeld-environment-target-DDuNq7BC.js → openmeld-environment-target-Cv3uIT4I.js} +3 -3
  76. package/dist/{openmeld-environment-target-DDuNq7BC.js.map → openmeld-environment-target-Cv3uIT4I.js.map} +1 -1
  77. package/dist/{openmeld-maintenance-worker-CvZq28ZL.js → openmeld-maintenance-worker-vYtuiCUl.js} +14 -14
  78. package/dist/{openmeld-maintenance-worker-CvZq28ZL.js.map → openmeld-maintenance-worker-vYtuiCUl.js.map} +1 -1
  79. package/dist/{openmeld-tools-update-join-Bf8E96iM.js → openmeld-tools-update-join-CJUV243X.js} +4 -4
  80. package/dist/{openmeld-tools-update-join-Bf8E96iM.js.map → openmeld-tools-update-join-CJUV243X.js.map} +1 -1
  81. package/dist/{openmeld-tools-update-process-frame-B5IPDtMJ.js → openmeld-tools-update-process-frame-VsOsal5C.js} +1 -1
  82. package/dist/{openmeld-tools-update-process-frame-DTugeKEQ.js → openmeld-tools-update-process-frame-gQxz8eyk.js} +2 -2
  83. package/dist/{openmeld-tools-update-process-frame-DTugeKEQ.js.map → openmeld-tools-update-process-frame-gQxz8eyk.js.map} +1 -1
  84. package/dist/openmeld.js +7 -7
  85. package/dist/{prepare-provider-runtime-BIz1stqo.js → prepare-provider-runtime-D9d7PN7P.js} +16 -16
  86. package/dist/{prepare-provider-runtime-BIz1stqo.js.map → prepare-provider-runtime-D9d7PN7P.js.map} +1 -1
  87. package/dist/{prepare-session-executor-Bkh4TWRA.js → prepare-session-executor-TS55wAl6.js} +25 -25
  88. package/dist/{prepare-session-executor-Bkh4TWRA.js.map → prepare-session-executor-TS55wAl6.js.map} +1 -1
  89. package/dist/{process-channel-DE6-3s_f.js → process-channel-B5adCeDd.js} +2 -2
  90. package/dist/{process-channel-DE6-3s_f.js.map → process-channel-B5adCeDd.js.map} +1 -1
  91. package/dist/{process-identity-BJaVbu5L.js → process-identity-CLoTVpHt.js} +2 -2
  92. package/dist/{process-identity-BJaVbu5L.js.map → process-identity-CLoTVpHt.js.map} +1 -1
  93. package/dist/{runtime-BtW0sl2v.js → runtime-D04xLceb.js} +17 -17
  94. package/dist/{runtime-BtW0sl2v.js.map → runtime-D04xLceb.js.map} +1 -1
  95. package/dist/{runtime-agent-controller-reporting-submission-CNpiIEmC.js → runtime-agent-controller-reporting-submission-CZ0Px7ji.js} +9 -9
  96. package/dist/{runtime-agent-controller-reporting-submission-CNpiIEmC.js.map → runtime-agent-controller-reporting-submission-CZ0Px7ji.js.map} +1 -1
  97. package/dist/{service-CDdlPRws.js → service-COlB2A9y.js} +30 -30
  98. package/dist/{service-CDdlPRws.js.map → service-COlB2A9y.js.map} +1 -1
  99. package/dist/{service-account-authorization-BjmjGSEX.js → service-account-authorization-CmN8zEW6.js} +5 -5
  100. package/dist/{service-account-authorization-BjmjGSEX.js.map → service-account-authorization-CmN8zEW6.js.map} +1 -1
  101. package/dist/{service-account-control-B-oy5mic.js → service-account-control-Ddu-GY7r.js} +15 -15
  102. package/dist/{service-account-control-B-oy5mic.js.map → service-account-control-Ddu-GY7r.js.map} +1 -1
  103. package/dist/{service-control-capabilities-5wjJ-F9o.js → service-control-capabilities-0rXZMj_g.js} +6 -6
  104. package/dist/{service-control-capabilities-5wjJ-F9o.js.map → service-control-capabilities-0rXZMj_g.js.map} +1 -1
  105. package/dist/{service-control-capabilities-HZbFWKCW.js → service-control-capabilities-DZhPHrpC.js} +1 -1
  106. package/dist/{service-control-carrier-capability-CjSl3n2d.js → service-control-carrier-capability-D0AixLdI.js} +3 -3
  107. package/dist/{service-control-carrier-capability-CjSl3n2d.js.map → service-control-carrier-capability-D0AixLdI.js.map} +1 -1
  108. package/dist/{state-DriQcxBO.js → state-dDgMns5H.js} +3 -3
  109. package/dist/{state-DriQcxBO.js.map → state-dDgMns5H.js.map} +1 -1
  110. package/dist/{updates-api-CM1Ivlxx.js → updates-api-Cgei9u7C.js} +14 -14
  111. package/dist/{updates-api-CM1Ivlxx.js.map → updates-api-Cgei9u7C.js.map} +1 -1
  112. package/dist/{upgrade-CUFca_5x.js → upgrade-DOWGG5vs.js} +9 -9
  113. package/dist/{upgrade-CUFca_5x.js.map → upgrade-DOWGG5vs.js.map} +1 -1
  114. package/dist/upgrade-LU1sa_6_.js +4 -0
  115. package/dist/{windows-managed-install-C3yjVVGy.js → windows-managed-install-Ci7VP4U-.js} +2 -2
  116. package/dist/{windows-managed-install-C3yjVVGy.js.map → windows-managed-install-Ci7VP4U-.js.map} +1 -1
  117. package/dist/{windows-preview-channel-CJRzUM47.js → windows-preview-channel-5Bbmxzrc.js} +3 -3
  118. package/dist/{windows-preview-channel-CJRzUM47.js.map → windows-preview-channel-5Bbmxzrc.js.map} +1 -1
  119. package/dist/{windows-task-command-81No8j2T.js → windows-task-command-D3NzNfjC.js} +2 -2
  120. package/dist/{windows-task-command-81No8j2T.js.map → windows-task-command-D3NzNfjC.js.map} +1 -1
  121. package/dist/{windows-task-entry-C1rOuSYk.js → windows-task-entry-BhpUcj36.js} +3 -3
  122. package/dist/{windows-task-entry-C1rOuSYk.js.map → windows-task-entry-BhpUcj36.js.map} +1 -1
  123. package/dist/{windows-user-task-DZJL0qPH.js → windows-user-task-BkwJAIlf.js} +6 -6
  124. package/dist/{windows-user-task-DZJL0qPH.js.map → windows-user-task-BkwJAIlf.js.map} +1 -1
  125. package/dist/{windows-user-task-DzadzzVD.js → windows-user-task-DFNOQ9pw.js} +1 -1
  126. package/package.json +12 -12
  127. package/dist/auth-session-CFX6qIou.js +0 -4
  128. package/dist/dist-B2-v9n26.js.map +0 -1
  129. package/dist/dist-C8c2LM7t.js +0 -4
  130. package/dist/upgrade-lOfXLNPW.js +0 -4
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as DEV_LOCAL_GATEWAY_BASE_URL } from "./base-url-COBBy2lR.js";
4
- import { n as DEV_LOCAL_AUTH_BASE_URL } from "./auth-url-aZdWr1JF.js";
3
+ import { n as DEV_LOCAL_GATEWAY_BASE_URL } from "./base-url-BUHbVXb3.js";
4
+ import { n as DEV_LOCAL_AUTH_BASE_URL } from "./auth-url-B5qYMJO_.js";
5
5
  //#region src/config/openmeld-dev-environment.ts
6
6
  const LOCAL_GATEWAY_URL = DEV_LOCAL_GATEWAY_BASE_URL;
7
7
  const LOCAL_AUTH_URL = DEV_LOCAL_AUTH_BASE_URL;
@@ -21,4 +21,4 @@ function applyOpenMeldDevEnvironment(env = process.env) {
21
21
  //#endregion
22
22
  export { PRODUCTION_AUTH_CLIENT_ID as n, applyOpenMeldDevEnvironment as r, LOCAL_AUTH_CLIENT_ID as t };
23
23
 
24
- //# sourceMappingURL=openmeld-dev-environment-DKqTaavW.js.map
24
+ //# sourceMappingURL=openmeld-dev-environment-DoOqw488.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-dev-environment-DKqTaavW.js","names":[],"sources":["../src/config/openmeld-dev-environment.ts"],"sourcesContent":["import { DEFAULT_AUTH_BASE_URL, DEV_LOCAL_AUTH_BASE_URL } from \"./auth-url\";\nimport {\n DEFAULT_GATEWAY_BASE_URL,\n DEV_LOCAL_GATEWAY_BASE_URL,\n} from \"./base-url\";\n\nconst LOCAL_GATEWAY_URL = DEV_LOCAL_GATEWAY_BASE_URL;\nconst LOCAL_AUTH_URL = DEV_LOCAL_AUTH_BASE_URL;\nexport const LOCAL_AUTH_CLIENT_ID = \"openmeld-cli-dev\";\nexport const PRODUCTION_AUTH_CLIENT_ID = \"openmeld-cli\";\nconst LOCAL_DEV_ENV_PRESET = \"dev-local\";\nconst LOCAL_DEV_ENTRY_COMMAND = \"openmeld-dev\";\n\nexport function applyOpenMeldDevEnvironment(\n env: NodeJS.ProcessEnv = process.env\n): void {\n if (\n !String(env.OPENMELD_GATEWAY_URL ?? \"\").trim() ||\n env.OPENMELD_GATEWAY_URL === DEFAULT_GATEWAY_BASE_URL\n ) {\n env.OPENMELD_GATEWAY_URL = LOCAL_GATEWAY_URL;\n }\n if (\n !String(env.OPENMELD_AUTH_URL ?? \"\").trim() ||\n env.OPENMELD_AUTH_URL === DEFAULT_AUTH_BASE_URL\n ) {\n env.OPENMELD_AUTH_URL = LOCAL_AUTH_URL;\n }\n if (\n !String(env.OPENMELD_AUTH_CLIENT_ID ?? \"\").trim() ||\n env.OPENMELD_AUTH_CLIENT_ID === PRODUCTION_AUTH_CLIENT_ID\n ) {\n env.OPENMELD_AUTH_CLIENT_ID = LOCAL_AUTH_CLIENT_ID;\n }\n\n // The executable name is the lane selector. Inherited production values\n // must never make openmeld-dev manage the production OS service identity.\n env.OPENMELD_ENV_PRESET = LOCAL_DEV_ENV_PRESET;\n env.OPENMELD_ENV = \"dev\";\n env.OPENMELD_USER_FACING_CLI_COMMAND = LOCAL_DEV_ENTRY_COMMAND;\n env.OPENMELD_DEV_MODE = \"1\";\n}\n"],"mappings":";;;;;AAMA,MAAM,oBAAoB;AAC1B,MAAM,iBAAiB;AACvB,MAAa,uBAAuB;AACpC,MAAa,4BAA4B;AACzC,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAEhC,SAAgB,4BACd,MAAyB,QAAQ,KAC3B;CACN,IACE,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAC,CAAC,KAAK,KAC7C,IAAI,yBAAA,+BAEJ,IAAI,uBAAuB;CAE7B,IACE,CAAC,OAAO,IAAI,qBAAqB,EAAE,CAAC,CAAC,KAAK,KAC1C,IAAI,sBAAA,4BAEJ,IAAI,oBAAoB;CAE1B,IACE,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC,CAAC,KAAK,KAChD,IAAI,4BAAA,gBAEJ,IAAI,0BAA0B;CAKhC,IAAI,sBAAsB;CAC1B,IAAI,eAAe;CACnB,IAAI,mCAAmC;CACvC,IAAI,oBAAoB;AAC1B"}
1
+ {"version":3,"file":"openmeld-dev-environment-DoOqw488.js","names":[],"sources":["../src/config/openmeld-dev-environment.ts"],"sourcesContent":["import { DEFAULT_AUTH_BASE_URL, DEV_LOCAL_AUTH_BASE_URL } from \"./auth-url\";\nimport {\n DEFAULT_GATEWAY_BASE_URL,\n DEV_LOCAL_GATEWAY_BASE_URL,\n} from \"./base-url\";\n\nconst LOCAL_GATEWAY_URL = DEV_LOCAL_GATEWAY_BASE_URL;\nconst LOCAL_AUTH_URL = DEV_LOCAL_AUTH_BASE_URL;\nexport const LOCAL_AUTH_CLIENT_ID = \"openmeld-cli-dev\";\nexport const PRODUCTION_AUTH_CLIENT_ID = \"openmeld-cli\";\nconst LOCAL_DEV_ENV_PRESET = \"dev-local\";\nconst LOCAL_DEV_ENTRY_COMMAND = \"openmeld-dev\";\n\nexport function applyOpenMeldDevEnvironment(\n env: NodeJS.ProcessEnv = process.env\n): void {\n if (\n !String(env.OPENMELD_GATEWAY_URL ?? \"\").trim() ||\n env.OPENMELD_GATEWAY_URL === DEFAULT_GATEWAY_BASE_URL\n ) {\n env.OPENMELD_GATEWAY_URL = LOCAL_GATEWAY_URL;\n }\n if (\n !String(env.OPENMELD_AUTH_URL ?? \"\").trim() ||\n env.OPENMELD_AUTH_URL === DEFAULT_AUTH_BASE_URL\n ) {\n env.OPENMELD_AUTH_URL = LOCAL_AUTH_URL;\n }\n if (\n !String(env.OPENMELD_AUTH_CLIENT_ID ?? \"\").trim() ||\n env.OPENMELD_AUTH_CLIENT_ID === PRODUCTION_AUTH_CLIENT_ID\n ) {\n env.OPENMELD_AUTH_CLIENT_ID = LOCAL_AUTH_CLIENT_ID;\n }\n\n // The executable name is the lane selector. Inherited production values\n // must never make openmeld-dev manage the production OS service identity.\n env.OPENMELD_ENV_PRESET = LOCAL_DEV_ENV_PRESET;\n env.OPENMELD_ENV = \"dev\";\n env.OPENMELD_USER_FACING_CLI_COMMAND = LOCAL_DEV_ENTRY_COMMAND;\n env.OPENMELD_DEV_MODE = \"1\";\n}\n"],"mappings":";;;;;AAMA,MAAM,oBAAoB;AAC1B,MAAM,iBAAiB;AACvB,MAAa,uBAAuB;AACpC,MAAa,4BAA4B;AACzC,MAAM,uBAAuB;AAC7B,MAAM,0BAA0B;AAEhC,SAAgB,4BACd,MAAyB,QAAQ,KAC3B;CACN,IACE,CAAC,OAAO,IAAI,wBAAwB,EAAE,CAAC,CAAC,KAAK,KAC7C,IAAI,yBAAA,+BAEJ,IAAI,uBAAuB;CAE7B,IACE,CAAC,OAAO,IAAI,qBAAqB,EAAE,CAAC,CAAC,KAAK,KAC1C,IAAI,sBAAA,4BAEJ,IAAI,oBAAoB;CAE1B,IACE,CAAC,OAAO,IAAI,2BAA2B,EAAE,CAAC,CAAC,KAAK,KAChD,IAAI,4BAAA,gBAEJ,IAAI,0BAA0B;CAKhC,IAAI,sBAAsB;CAC1B,IAAI,eAAe;CACnB,IAAI,mCAAmC;CACvC,IAAI,oBAAoB;AAC1B"}
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { r as applyOpenMeldDevEnvironment } from "./openmeld-dev-environment-DKqTaavW.js";
3
+ import { r as applyOpenMeldDevEnvironment } from "./openmeld-dev-environment-DoOqw488.js";
4
4
  //#region src/openmeld-dev.ts
5
5
  applyOpenMeldDevEnvironment();
6
6
  import("./openmeld.js").catch((error) => {
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { a as resolveBaseUrl, r as normalizeGatewayBaseUrl, s as resolveDefaultGatewayBaseUrl } from "./base-url-COBBy2lR.js";
3
+ import { a as resolveBaseUrl, r as normalizeGatewayBaseUrl, s as resolveDefaultGatewayBaseUrl } from "./base-url-BUHbVXb3.js";
4
4
  import { P as resolveOpenMeldEnvPreset } from "./paths-De9xdA2h.js";
5
- import { r as resolveAuthBaseUrl } from "./auth-url-aZdWr1JF.js";
5
+ import { r as resolveAuthBaseUrl } from "./auth-url-B5qYMJO_.js";
6
6
  import { l as resolveUserFacingCliEntryCommand } from "./cli-entry-command-CR_9QU1i.js";
7
7
  import process from "node:process";
8
8
  //#region src/config/openmeld-environment-target.ts
@@ -57,4 +57,4 @@ function normalizeOptionalText(value) {
57
57
  //#endregion
58
58
  export { resolveOpenMeldEnvironmentTargetFromEnv as n, resolveOpenMeldEnvironmentTarget as t };
59
59
 
60
- //# sourceMappingURL=openmeld-environment-target-DDuNq7BC.js.map
60
+ //# sourceMappingURL=openmeld-environment-target-Cv3uIT4I.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-environment-target-DDuNq7BC.js","names":[],"sources":["../src/config/openmeld-environment-target.ts"],"sourcesContent":["import process from \"node:process\";\nimport { resolveUserFacingCliEntryCommand } from \"../runtime/cli-entry-command\";\nimport { resolveAuthBaseUrl } from \"./auth-url\";\nimport {\n normalizeGatewayBaseUrl,\n resolveBaseUrl,\n resolveDefaultGatewayBaseUrl,\n} from \"./base-url\";\nimport type { OpenMeldEnvPreset } from \"./paths\";\nimport { resolveOpenMeldEnvPreset } from \"./paths\";\n\nconst OPENMELD_USER_FACING_CLI_COMMAND_ENV = \"OPENMELD_USER_FACING_CLI_COMMAND\";\n\nexport type OpenMeldEnvironmentTarget = {\n preset: OpenMeldEnvPreset;\n gatewayUrl: string;\n authBaseUrl: string;\n userFacingCommand: string;\n};\n\ntype OpenMeldEnvironmentTargetInput = {\n gatewayUrl?: string;\n authUrl?: string;\n env?: NodeJS.ProcessEnv;\n};\n\nexport async function resolveOpenMeldEnvironmentTarget(\n input: OpenMeldEnvironmentTargetInput = {}\n): Promise<OpenMeldEnvironmentTarget> {\n const env = input.env ?? process.env;\n const preset = resolveOpenMeldEnvPreset({ env });\n return {\n preset,\n gatewayUrl: await resolveBaseUrl(input.gatewayUrl, { env }),\n authBaseUrl: resolveAuthBaseUrl(input.authUrl, { env }),\n userFacingCommand: resolveUserFacingCommandForPreset({ env, preset }),\n };\n}\n\nexport function resolveOpenMeldEnvironmentTargetFromEnv(\n input: OpenMeldEnvironmentTargetInput = {}\n): OpenMeldEnvironmentTarget {\n const env = input.env ?? process.env;\n const preset = resolveOpenMeldEnvPreset({ env });\n return {\n preset,\n gatewayUrl: resolveGatewayUrlFromEnvOnly({\n env,\n gatewayUrl: input.gatewayUrl,\n }),\n authBaseUrl: resolveAuthBaseUrl(input.authUrl, { env }),\n userFacingCommand: resolveUserFacingCommandForPreset({ env, preset }),\n };\n}\n\nfunction resolveUserFacingCommandForPreset(input: {\n env: NodeJS.ProcessEnv;\n preset: OpenMeldEnvPreset;\n}): string {\n const explicitCommand = normalizeOptionalText(\n input.env[OPENMELD_USER_FACING_CLI_COMMAND_ENV]\n );\n if (explicitCommand) {\n return explicitCommand;\n }\n if (input.preset === \"dev-local\") {\n return \"openmeld-dev\";\n }\n if (input.preset === \"canary\") {\n return \"openmeld-canary\";\n }\n return resolveUserFacingCliEntryCommand({ env: input.env });\n}\n\nfunction resolveGatewayUrlFromEnvOnly(input: {\n env: NodeJS.ProcessEnv;\n gatewayUrl?: string;\n}): string {\n const fromInput = normalizeOptionalText(input.gatewayUrl);\n if (fromInput) {\n return normalizeGatewayBaseUrl(fromInput);\n }\n const fromEnv = normalizeOptionalText(input.env.OPENMELD_GATEWAY_URL);\n if (fromEnv) {\n return normalizeGatewayBaseUrl(fromEnv);\n }\n return normalizeGatewayBaseUrl(\n resolveDefaultGatewayBaseUrl({ env: input.env })\n );\n}\n\nfunction normalizeOptionalText(value: unknown): string | null {\n const normalized = String(value ?? \"\").trim();\n return normalized.length > 0 ? normalized : null;\n}\n"],"mappings":";;;;;;;;AAWA,MAAM,uCAAuC;AAe7C,eAAsB,iCACpB,QAAwC,CAAC,GACL;CACpC,MAAM,MAAM,MAAM,OAAO,QAAQ;CACjC,MAAM,SAAS,yBAAyB,EAAE,IAAI,CAAC;CAC/C,OAAO;EACL;EACA,YAAY,MAAM,eAAe,MAAM,YAAY,EAAE,IAAI,CAAC;EAC1D,aAAa,mBAAmB,MAAM,SAAS,EAAE,IAAI,CAAC;EACtD,mBAAmB,kCAAkC;GAAE;GAAK;EAAO,CAAC;CACtE;AACF;AAEA,SAAgB,wCACd,QAAwC,CAAC,GACd;CAC3B,MAAM,MAAM,MAAM,OAAO,QAAQ;CACjC,MAAM,SAAS,yBAAyB,EAAE,IAAI,CAAC;CAC/C,OAAO;EACL;EACA,YAAY,6BAA6B;GACvC;GACA,YAAY,MAAM;EACpB,CAAC;EACD,aAAa,mBAAmB,MAAM,SAAS,EAAE,IAAI,CAAC;EACtD,mBAAmB,kCAAkC;GAAE;GAAK;EAAO,CAAC;CACtE;AACF;AAEA,SAAS,kCAAkC,OAGhC;CACT,MAAM,kBAAkB,sBACtB,MAAM,IAAI,qCACZ;CACA,IAAI,iBACF,OAAO;CAET,IAAI,MAAM,WAAW,aACnB,OAAO;CAET,IAAI,MAAM,WAAW,UACnB,OAAO;CAET,OAAO,iCAAiC,EAAE,KAAK,MAAM,IAAI,CAAC;AAC5D;AAEA,SAAS,6BAA6B,OAG3B;CACT,MAAM,YAAY,sBAAsB,MAAM,UAAU;CACxD,IAAI,WACF,OAAO,wBAAwB,SAAS;CAE1C,MAAM,UAAU,sBAAsB,MAAM,IAAI,oBAAoB;CACpE,IAAI,SACF,OAAO,wBAAwB,OAAO;CAExC,OAAO,wBACL,6BAA6B,EAAE,KAAK,MAAM,IAAI,CAAC,CACjD;AACF;AAEA,SAAS,sBAAsB,OAA+B;CAC5D,MAAM,aAAa,OAAO,SAAS,EAAE,CAAC,CAAC,KAAK;CAC5C,OAAO,WAAW,SAAS,IAAI,aAAa;AAC9C"}
1
+ {"version":3,"file":"openmeld-environment-target-Cv3uIT4I.js","names":[],"sources":["../src/config/openmeld-environment-target.ts"],"sourcesContent":["import process from \"node:process\";\nimport { resolveUserFacingCliEntryCommand } from \"../runtime/cli-entry-command\";\nimport { resolveAuthBaseUrl } from \"./auth-url\";\nimport {\n normalizeGatewayBaseUrl,\n resolveBaseUrl,\n resolveDefaultGatewayBaseUrl,\n} from \"./base-url\";\nimport type { OpenMeldEnvPreset } from \"./paths\";\nimport { resolveOpenMeldEnvPreset } from \"./paths\";\n\nconst OPENMELD_USER_FACING_CLI_COMMAND_ENV = \"OPENMELD_USER_FACING_CLI_COMMAND\";\n\nexport type OpenMeldEnvironmentTarget = {\n preset: OpenMeldEnvPreset;\n gatewayUrl: string;\n authBaseUrl: string;\n userFacingCommand: string;\n};\n\ntype OpenMeldEnvironmentTargetInput = {\n gatewayUrl?: string;\n authUrl?: string;\n env?: NodeJS.ProcessEnv;\n};\n\nexport async function resolveOpenMeldEnvironmentTarget(\n input: OpenMeldEnvironmentTargetInput = {}\n): Promise<OpenMeldEnvironmentTarget> {\n const env = input.env ?? process.env;\n const preset = resolveOpenMeldEnvPreset({ env });\n return {\n preset,\n gatewayUrl: await resolveBaseUrl(input.gatewayUrl, { env }),\n authBaseUrl: resolveAuthBaseUrl(input.authUrl, { env }),\n userFacingCommand: resolveUserFacingCommandForPreset({ env, preset }),\n };\n}\n\nexport function resolveOpenMeldEnvironmentTargetFromEnv(\n input: OpenMeldEnvironmentTargetInput = {}\n): OpenMeldEnvironmentTarget {\n const env = input.env ?? process.env;\n const preset = resolveOpenMeldEnvPreset({ env });\n return {\n preset,\n gatewayUrl: resolveGatewayUrlFromEnvOnly({\n env,\n gatewayUrl: input.gatewayUrl,\n }),\n authBaseUrl: resolveAuthBaseUrl(input.authUrl, { env }),\n userFacingCommand: resolveUserFacingCommandForPreset({ env, preset }),\n };\n}\n\nfunction resolveUserFacingCommandForPreset(input: {\n env: NodeJS.ProcessEnv;\n preset: OpenMeldEnvPreset;\n}): string {\n const explicitCommand = normalizeOptionalText(\n input.env[OPENMELD_USER_FACING_CLI_COMMAND_ENV]\n );\n if (explicitCommand) {\n return explicitCommand;\n }\n if (input.preset === \"dev-local\") {\n return \"openmeld-dev\";\n }\n if (input.preset === \"canary\") {\n return \"openmeld-canary\";\n }\n return resolveUserFacingCliEntryCommand({ env: input.env });\n}\n\nfunction resolveGatewayUrlFromEnvOnly(input: {\n env: NodeJS.ProcessEnv;\n gatewayUrl?: string;\n}): string {\n const fromInput = normalizeOptionalText(input.gatewayUrl);\n if (fromInput) {\n return normalizeGatewayBaseUrl(fromInput);\n }\n const fromEnv = normalizeOptionalText(input.env.OPENMELD_GATEWAY_URL);\n if (fromEnv) {\n return normalizeGatewayBaseUrl(fromEnv);\n }\n return normalizeGatewayBaseUrl(\n resolveDefaultGatewayBaseUrl({ env: input.env })\n );\n}\n\nfunction normalizeOptionalText(value: unknown): string | null {\n const normalized = String(value ?? \"\").trim();\n return normalized.length > 0 ? normalized : null;\n}\n"],"mappings":";;;;;;;;AAWA,MAAM,uCAAuC;AAe7C,eAAsB,iCACpB,QAAwC,CAAC,GACL;CACpC,MAAM,MAAM,MAAM,OAAO,QAAQ;CACjC,MAAM,SAAS,yBAAyB,EAAE,IAAI,CAAC;CAC/C,OAAO;EACL;EACA,YAAY,MAAM,eAAe,MAAM,YAAY,EAAE,IAAI,CAAC;EAC1D,aAAa,mBAAmB,MAAM,SAAS,EAAE,IAAI,CAAC;EACtD,mBAAmB,kCAAkC;GAAE;GAAK;EAAO,CAAC;CACtE;AACF;AAEA,SAAgB,wCACd,QAAwC,CAAC,GACd;CAC3B,MAAM,MAAM,MAAM,OAAO,QAAQ;CACjC,MAAM,SAAS,yBAAyB,EAAE,IAAI,CAAC;CAC/C,OAAO;EACL;EACA,YAAY,6BAA6B;GACvC;GACA,YAAY,MAAM;EACpB,CAAC;EACD,aAAa,mBAAmB,MAAM,SAAS,EAAE,IAAI,CAAC;EACtD,mBAAmB,kCAAkC;GAAE;GAAK;EAAO,CAAC;CACtE;AACF;AAEA,SAAS,kCAAkC,OAGhC;CACT,MAAM,kBAAkB,sBACtB,MAAM,IAAI,qCACZ;CACA,IAAI,iBACF,OAAO;CAET,IAAI,MAAM,WAAW,aACnB,OAAO;CAET,IAAI,MAAM,WAAW,UACnB,OAAO;CAET,OAAO,iCAAiC,EAAE,KAAK,MAAM,IAAI,CAAC;AAC5D;AAEA,SAAS,6BAA6B,OAG3B;CACT,MAAM,YAAY,sBAAsB,MAAM,UAAU;CACxD,IAAI,WACF,OAAO,wBAAwB,SAAS;CAE1C,MAAM,UAAU,sBAAsB,MAAM,IAAI,oBAAoB;CACpE,IAAI,SACF,OAAO,wBAAwB,OAAO;CAExC,OAAO,wBACL,6BAA6B,EAAE,KAAK,MAAM,IAAI,CAAC,CACjD;AACF;AAEA,SAAS,sBAAsB,OAA+B;CAC5D,MAAM,aAAa,OAAO,SAAS,EAAE,CAAC,CAAC,KAAK;CAC5C,OAAO,WAAW,SAAS,IAAI,aAAa;AAC9C"}
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { et as resolveSkillsAgentRegistry } from "./prepare-provider-runtime-BIz1stqo.js";
4
- import { g as getConfiguredSkillsConfig } from "./base-url-COBBy2lR.js";
5
- import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-C-QRzajU.js";
6
- import { G as withDaemonServiceReconcileLock } from "./daemon-state-DHJiLvNu.js";
7
- import { i as readDaemonServiceContract } from "./daemon-service-contract-N6x7y5XW.js";
8
- import { l as OPENMELD_VERSION } from "./daemon-lifecycle-journal-ChHdN1WX.js";
9
- import { $ as readPendingDaemonServiceUpdate, K as reconcileManagedCliLauncher, X as completePendingDaemonServiceUpdate, g as assertDaemonMaintenanceInstallationOwnership, nt as configureDaemonMaintenanceEnvironment } from "./daemon-service-runtime-CHQwiah5.js";
10
- import { S as resolveDaemonServiceManager, v as readDaemonServiceStartupPolicyCurrent } from "./daemon-service-manager-BHqe0xaW.js";
11
- import { at as readPendingOpenMeldToolsUpdateAttempt, n as scheduleDaemonServiceUpdate, nt as createOpenMeldToolsUpdateCoordinator, ot as readOpenMeldToolsMaintenancePolicy, t as runPendingDaemonServiceUpdate, ut as prepareDaemonServiceUpdateWorkerCarrier } from "./daemon-service-update-coordinator-C2rzOCun.js";
12
- import { f as withSkillsInstallLock, l as downloadOfficialSkillUpdate, r as ensureLocalSkills } from "./state-DriQcxBO.js";
13
- import { s as resolveTrackedInstallTargets } from "./installation-inventory-B2V0s2OR.js";
14
- import { t as installSkillsToTargets } from "./installer-DR_T_922.js";
3
+ import { et as resolveSkillsAgentRegistry } from "./prepare-provider-runtime-D9d7PN7P.js";
4
+ import { g as getConfiguredSkillsConfig } from "./base-url-BUHbVXb3.js";
5
+ import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-anKblZEb.js";
6
+ import { G as withDaemonServiceReconcileLock } from "./daemon-state-BHmahVmK.js";
7
+ import { i as readDaemonServiceContract } from "./daemon-service-contract-Ab9x7DQh.js";
8
+ import { l as OPENMELD_VERSION } from "./daemon-lifecycle-journal-CUhIcQCC.js";
9
+ import { $ as readPendingDaemonServiceUpdate, K as reconcileManagedCliLauncher, X as completePendingDaemonServiceUpdate, g as assertDaemonMaintenanceInstallationOwnership, nt as configureDaemonMaintenanceEnvironment } from "./daemon-service-runtime-DDfld-8y.js";
10
+ import { S as resolveDaemonServiceManager, v as readDaemonServiceStartupPolicyCurrent } from "./daemon-service-manager-CB78d5SA.js";
11
+ import { at as readPendingOpenMeldToolsUpdateAttempt, n as scheduleDaemonServiceUpdate, nt as createOpenMeldToolsUpdateCoordinator, ot as readOpenMeldToolsMaintenancePolicy, t as runPendingDaemonServiceUpdate, ut as prepareDaemonServiceUpdateWorkerCarrier } from "./daemon-service-update-coordinator-C7GvL6y0.js";
12
+ import { f as withSkillsInstallLock, l as downloadOfficialSkillUpdate, r as ensureLocalSkills } from "./state-dDgMns5H.js";
13
+ import { s as resolveTrackedInstallTargets } from "./installation-inventory--ux3wRf5.js";
14
+ import { t as installSkillsToTargets } from "./installer-BN7gvBue.js";
15
15
  //#region src/skills/maintenance.ts
16
16
  async function maintainOfficialCliSkill() {
17
17
  if (await downloadOfficialSkillUpdate().catch((error) => {
@@ -76,7 +76,7 @@ async function runMaintenancePass() {
76
76
  }
77
77
  const result = await runPendingDaemonServiceUpdate();
78
78
  if (result?.phase === "updated") {
79
- const { finishComputerSetupAfterBackgroundUpdate, recoverComputerSetupAfterBackgroundUpdate } = await import("./computer-setup-continuation-B5BlL7Fa.js");
79
+ const { finishComputerSetupAfterBackgroundUpdate, recoverComputerSetupAfterBackgroundUpdate } = await import("./computer-setup-continuation-DdbcZczm.js");
80
80
  await prepareDaemonServiceUpdateWorkerCarrier(result);
81
81
  await finishComputerSetupAfterBackgroundUpdate();
82
82
  await withDaemonServiceReconcileLock(async () => {
@@ -105,4 +105,4 @@ async function reconcileCurrentServiceStartupPolicy(updatesCurrent) {
105
105
  //#endregion
106
106
  export { runOpenMeldMaintenanceWorker };
107
107
 
108
- //# sourceMappingURL=openmeld-maintenance-worker-CvZq28ZL.js.map
108
+ //# sourceMappingURL=openmeld-maintenance-worker-vYtuiCUl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-maintenance-worker-CvZq28ZL.js","names":[],"sources":["../src/skills/maintenance.ts","../src/local-service/maintenance/openmeld-maintenance-worker.ts"],"sourcesContent":["import { getConfiguredSkillsConfig } from \"../config/runtime-config\";\nimport { resolveSkillsAgentRegistry } from \"./agents\";\nimport { resolveTrackedInstallTargets } from \"./installation-inventory\";\nimport { installSkillsToTargets, withSkillsInstallLock } from \"./installer\";\nimport { downloadOfficialSkillUpdate } from \"./official-release\";\nimport { ensureLocalSkills } from \"./store\";\n\nexport async function maintainOfficialCliSkill(): Promise<void> {\n const outcome = await downloadOfficialSkillUpdate().catch(\n (error: unknown) => {\n process.stderr.write(\n `[openmeld] Skill download deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n return \"deferred\" as const;\n }\n );\n if (outcome === \"lane_isolated\") {\n return;\n }\n await withSkillsInstallLock(async () => {\n const localSkills = await ensureLocalSkills();\n const skillsConfig = await getConfiguredSkillsConfig();\n const targets = await resolveTrackedInstallTargets({\n skillsConfig,\n registry: resolveSkillsAgentRegistry(skillsConfig),\n localSkills,\n onlyOpenMeldInstalledTargets: false,\n });\n const results = await installSkillsToTargets({\n skills: localSkills,\n targets,\n });\n const failures = results.filter((result) => result.status === \"failed\");\n if (failures.length) {\n throw new Error(\n failures\n .map((result) => `${result.targetId}: ${result.reason}`)\n .join(\"; \")\n );\n }\n });\n}\n","import { readDaemonServiceContract } from \"../../config/daemon-service-contract\";\nimport { configureDaemonMaintenanceEnvironment } from \"../../config/daemon-service-update-worker-registration\";\nimport { withDaemonServiceReconcileLock } from \"../../config/daemon-state\";\nimport {\n acquireLock,\n isOpenMeldLockError,\n isOpenMeldOrphanedLockError,\n runWithHeldLock,\n} from \"../../config/lock\";\nimport { reconcileManagedCliLauncher } from \"../../local-components/managed-install\";\nimport { OPENMELD_VERSION } from \"../../runtime/version\";\nimport { maintainOfficialCliSkill } from \"../../skills/maintenance\";\nimport {\n readDaemonServiceStartupPolicyCurrent,\n resolveDaemonServiceManager,\n} from \"../lifecycle/daemon-service-manager\";\nimport { assertDaemonMaintenanceInstallationOwnership } from \"../lifecycle/daemon-service-manager-command-match\";\nimport {\n runPendingDaemonServiceUpdate,\n scheduleDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-coordinator\";\nimport {\n completePendingDaemonServiceUpdate,\n readPendingDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-state\";\nimport { prepareDaemonServiceUpdateWorkerCarrier } from \"../lifecycle/daemon-service-update-worker-manager\";\nimport { readOpenMeldToolsMaintenancePolicy } from \"./openmeld-tools-maintenance-policy\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { createOpenMeldToolsUpdateCoordinator } from \"./openmeld-tools-update-coordinator\";\n\n// The OS owns this process. It is also the sole executor of persisted download\n// attempts; Service requests only publish an attempt and wake this worker.\nexport async function runOpenMeldMaintenanceWorker(): Promise<void> {\n configureDaemonMaintenanceEnvironment(process.env);\n await runMaintenanceWithLock();\n}\n\nasync function runMaintenanceWithLock(): Promise<boolean> {\n try {\n const lock = await acquireLock({\n openMeldProfileId: \"__system__\",\n key: \"maintenance-worker\",\n });\n return await runWithHeldLock({\n lock,\n run: runMaintenancePass,\n releaseContext: { component: \"maintenance_worker\" },\n });\n } catch (error) {\n // Setup/repair may still own the lifecycle lock when the OS first runs us.\n // Leave its state intact; the existing OS trigger will run another pass.\n if (isOpenMeldLockError(error) && !isOpenMeldOrphanedLockError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nasync function runMaintenancePass(): Promise<boolean> {\n const pendingJob = await readPendingDaemonServiceUpdate();\n const pendingAttempt = await readPendingOpenMeldToolsUpdateAttempt();\n if (!(pendingJob || pendingAttempt)) {\n const contract = await readDaemonServiceContract();\n if (!contract || contract.desiredState !== \"background\") {\n return false;\n }\n }\n await assertDaemonMaintenanceInstallationOwnership();\n await reconcileManagedCliLauncher();\n if ((await readOpenMeldToolsMaintenancePolicy()).automaticUpdatesEnabled) {\n try {\n await maintainOfficialCliSkill();\n } catch (error) {\n process.stderr.write(\n `[openmeld] Skill maintenance deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n }\n }\n const coordinator = createOpenMeldToolsUpdateCoordinator();\n if (!pendingJob) {\n if (pendingAttempt) {\n await coordinator.resumePendingUpdate();\n } else {\n const update = await coordinator.requestUpdate({\n requestSource: \"automatic\",\n });\n await reconcileCurrentServiceStartupPolicy(update.status === \"current\");\n }\n await coordinator.waitForIdle();\n }\n const result = await runPendingDaemonServiceUpdate();\n if (result?.phase === \"updated\") {\n const {\n finishComputerSetupAfterBackgroundUpdate,\n recoverComputerSetupAfterBackgroundUpdate,\n } = await import(\"../../commands/computer-setup-continuation\");\n // Only a verified replacement may replace the working recovery carrier.\n await prepareDaemonServiceUpdateWorkerCarrier(result);\n await finishComputerSetupAfterBackgroundUpdate();\n await withDaemonServiceReconcileLock(async () => {\n const current = await readPendingDaemonServiceUpdate();\n if (\n current?.jobId === result.jobId &&\n current.phase === \"updated\" &&\n current.targetVersion === result.targetVersion\n ) {\n await completePendingDaemonServiceUpdate(current);\n }\n });\n await recoverComputerSetupAfterBackgroundUpdate();\n return true;\n }\n if (result?.phase === \"restored\" || result?.phase === \"needs_help\") {\n process.exitCode = 1;\n }\n return false;\n}\n\nasync function reconcileCurrentServiceStartupPolicy(\n updatesCurrent: boolean\n): Promise<void> {\n if (!updatesCurrent) {\n return;\n }\n const contract = await readDaemonServiceContract();\n // An older recovery worker must not apply its policy to a newer Service,\n // and maintenance must preserve an explicit user stop.\n if (\n contract?.desiredState !== \"background\" ||\n contract.daemonVersion !== OPENMELD_VERSION\n ) {\n return;\n }\n const manager = await resolveDaemonServiceManager();\n if (\n (await readDaemonServiceStartupPolicyCurrent({\n controller: manager?.controller ?? null,\n status: (await manager?.status()) ?? null,\n })) === false\n ) {\n await scheduleDaemonServiceUpdate({\n targetVersion: contract.daemonVersion,\n urgency: \"available\",\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"openmeld-maintenance-worker-vYtuiCUl.js","names":[],"sources":["../src/skills/maintenance.ts","../src/local-service/maintenance/openmeld-maintenance-worker.ts"],"sourcesContent":["import { getConfiguredSkillsConfig } from \"../config/runtime-config\";\nimport { resolveSkillsAgentRegistry } from \"./agents\";\nimport { resolveTrackedInstallTargets } from \"./installation-inventory\";\nimport { installSkillsToTargets, withSkillsInstallLock } from \"./installer\";\nimport { downloadOfficialSkillUpdate } from \"./official-release\";\nimport { ensureLocalSkills } from \"./store\";\n\nexport async function maintainOfficialCliSkill(): Promise<void> {\n const outcome = await downloadOfficialSkillUpdate().catch(\n (error: unknown) => {\n process.stderr.write(\n `[openmeld] Skill download deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n return \"deferred\" as const;\n }\n );\n if (outcome === \"lane_isolated\") {\n return;\n }\n await withSkillsInstallLock(async () => {\n const localSkills = await ensureLocalSkills();\n const skillsConfig = await getConfiguredSkillsConfig();\n const targets = await resolveTrackedInstallTargets({\n skillsConfig,\n registry: resolveSkillsAgentRegistry(skillsConfig),\n localSkills,\n onlyOpenMeldInstalledTargets: false,\n });\n const results = await installSkillsToTargets({\n skills: localSkills,\n targets,\n });\n const failures = results.filter((result) => result.status === \"failed\");\n if (failures.length) {\n throw new Error(\n failures\n .map((result) => `${result.targetId}: ${result.reason}`)\n .join(\"; \")\n );\n }\n });\n}\n","import { readDaemonServiceContract } from \"../../config/daemon-service-contract\";\nimport { configureDaemonMaintenanceEnvironment } from \"../../config/daemon-service-update-worker-registration\";\nimport { withDaemonServiceReconcileLock } from \"../../config/daemon-state\";\nimport {\n acquireLock,\n isOpenMeldLockError,\n isOpenMeldOrphanedLockError,\n runWithHeldLock,\n} from \"../../config/lock\";\nimport { reconcileManagedCliLauncher } from \"../../local-components/managed-install\";\nimport { OPENMELD_VERSION } from \"../../runtime/version\";\nimport { maintainOfficialCliSkill } from \"../../skills/maintenance\";\nimport {\n readDaemonServiceStartupPolicyCurrent,\n resolveDaemonServiceManager,\n} from \"../lifecycle/daemon-service-manager\";\nimport { assertDaemonMaintenanceInstallationOwnership } from \"../lifecycle/daemon-service-manager-command-match\";\nimport {\n runPendingDaemonServiceUpdate,\n scheduleDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-coordinator\";\nimport {\n completePendingDaemonServiceUpdate,\n readPendingDaemonServiceUpdate,\n} from \"../lifecycle/daemon-service-update-state\";\nimport { prepareDaemonServiceUpdateWorkerCarrier } from \"../lifecycle/daemon-service-update-worker-manager\";\nimport { readOpenMeldToolsMaintenancePolicy } from \"./openmeld-tools-maintenance-policy\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { createOpenMeldToolsUpdateCoordinator } from \"./openmeld-tools-update-coordinator\";\n\n// The OS owns this process. It is also the sole executor of persisted download\n// attempts; Service requests only publish an attempt and wake this worker.\nexport async function runOpenMeldMaintenanceWorker(): Promise<void> {\n configureDaemonMaintenanceEnvironment(process.env);\n await runMaintenanceWithLock();\n}\n\nasync function runMaintenanceWithLock(): Promise<boolean> {\n try {\n const lock = await acquireLock({\n openMeldProfileId: \"__system__\",\n key: \"maintenance-worker\",\n });\n return await runWithHeldLock({\n lock,\n run: runMaintenancePass,\n releaseContext: { component: \"maintenance_worker\" },\n });\n } catch (error) {\n // Setup/repair may still own the lifecycle lock when the OS first runs us.\n // Leave its state intact; the existing OS trigger will run another pass.\n if (isOpenMeldLockError(error) && !isOpenMeldOrphanedLockError(error)) {\n return false;\n }\n throw error;\n }\n}\n\nasync function runMaintenancePass(): Promise<boolean> {\n const pendingJob = await readPendingDaemonServiceUpdate();\n const pendingAttempt = await readPendingOpenMeldToolsUpdateAttempt();\n if (!(pendingJob || pendingAttempt)) {\n const contract = await readDaemonServiceContract();\n if (!contract || contract.desiredState !== \"background\") {\n return false;\n }\n }\n await assertDaemonMaintenanceInstallationOwnership();\n await reconcileManagedCliLauncher();\n if ((await readOpenMeldToolsMaintenancePolicy()).automaticUpdatesEnabled) {\n try {\n await maintainOfficialCliSkill();\n } catch (error) {\n process.stderr.write(\n `[openmeld] Skill maintenance deferred: ${error instanceof Error ? error.message : String(error)}\\n`\n );\n }\n }\n const coordinator = createOpenMeldToolsUpdateCoordinator();\n if (!pendingJob) {\n if (pendingAttempt) {\n await coordinator.resumePendingUpdate();\n } else {\n const update = await coordinator.requestUpdate({\n requestSource: \"automatic\",\n });\n await reconcileCurrentServiceStartupPolicy(update.status === \"current\");\n }\n await coordinator.waitForIdle();\n }\n const result = await runPendingDaemonServiceUpdate();\n if (result?.phase === \"updated\") {\n const {\n finishComputerSetupAfterBackgroundUpdate,\n recoverComputerSetupAfterBackgroundUpdate,\n } = await import(\"../../commands/computer-setup-continuation\");\n // Only a verified replacement may replace the working recovery carrier.\n await prepareDaemonServiceUpdateWorkerCarrier(result);\n await finishComputerSetupAfterBackgroundUpdate();\n await withDaemonServiceReconcileLock(async () => {\n const current = await readPendingDaemonServiceUpdate();\n if (\n current?.jobId === result.jobId &&\n current.phase === \"updated\" &&\n current.targetVersion === result.targetVersion\n ) {\n await completePendingDaemonServiceUpdate(current);\n }\n });\n await recoverComputerSetupAfterBackgroundUpdate();\n return true;\n }\n if (result?.phase === \"restored\" || result?.phase === \"needs_help\") {\n process.exitCode = 1;\n }\n return false;\n}\n\nasync function reconcileCurrentServiceStartupPolicy(\n updatesCurrent: boolean\n): Promise<void> {\n if (!updatesCurrent) {\n return;\n }\n const contract = await readDaemonServiceContract();\n // An older recovery worker must not apply its policy to a newer Service,\n // and maintenance must preserve an explicit user stop.\n if (\n contract?.desiredState !== \"background\" ||\n contract.daemonVersion !== OPENMELD_VERSION\n ) {\n return;\n }\n const manager = await resolveDaemonServiceManager();\n if (\n (await readDaemonServiceStartupPolicyCurrent({\n controller: manager?.controller ?? null,\n status: (await manager?.status()) ?? null,\n })) === false\n ) {\n await scheduleDaemonServiceUpdate({\n targetVersion: contract.daemonVersion,\n urgency: \"available\",\n });\n }\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { $ as readPendingDaemonServiceUpdate } from "./daemon-service-runtime-CHQwiah5.js";
4
- import { at as readPendingOpenMeldToolsUpdateAttempt } from "./daemon-service-update-coordinator-C2rzOCun.js";
5
- import { m as resolveOpenMeldToolsUpdateOperation } from "./elapsed-time-CVKwPC7F.js";
3
+ import { $ as readPendingDaemonServiceUpdate } from "./daemon-service-runtime-DDfld-8y.js";
4
+ import { at as readPendingOpenMeldToolsUpdateAttempt } from "./daemon-service-update-coordinator-C7GvL6y0.js";
5
+ import { m as resolveOpenMeldToolsUpdateOperation } from "./elapsed-time-EN_F3k88.js";
6
6
  import { setTimeout } from "node:timers/promises";
7
7
  //#region src/local-service/maintenance/openmeld-tools-update-join.ts
8
8
  const DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS = 500;
@@ -61,4 +61,4 @@ async function waitForExternalOpenMeldToolsUpdate(input = {}) {
61
61
  //#endregion
62
62
  export { waitForExternalOpenMeldToolsUpdate as n, waitForOpenMeldToolsUpdateCompletion as r, resolveExternalOpenMeldToolsUpdate as t };
63
63
 
64
- //# sourceMappingURL=openmeld-tools-update-join-Bf8E96iM.js.map
64
+ //# sourceMappingURL=openmeld-tools-update-join-CJUV243X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-tools-update-join-Bf8E96iM.js","names":["sleep"],"sources":["../src/local-service/maintenance/openmeld-tools-update-join.ts"],"sourcesContent":["import { setTimeout as sleep } from \"node:timers/promises\";\nimport type { OpenMeldToolsUpdateOperation } from \"@openmeld/schemas/types\";\nimport type { OpenMeldPathResolutionInput } from \"../../config/paths\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { resolveOpenMeldToolsUpdateOperation } from \"./openmeld-tools-update-operation\";\n\nconst DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS = 500;\n\n// This is an observer of the existing durable operation, never an updater.\n// The OS-owned worker continues even if this caller exits while waiting.\nexport async function waitForOpenMeldToolsUpdateCompletion(\n input: {\n operationId?: string;\n pollIntervalMs?: number;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n let operationId = input.operationId ?? null;\n await waitForExternalOpenMeldToolsUpdate({\n completedServiceUpdateIsIdle: true,\n pollIntervalMs: input.pollIntervalMs,\n onWaiting: async (operation) => {\n if (operationId !== null && operationId !== operation.operationId) {\n throw new Error(\n `OpenMeld update ${operationId} was replaced before its completion could be verified.`\n );\n }\n operationId = operation.operationId;\n await input.onWaiting?.(operation);\n },\n });\n const completed = await resolveOpenMeldToolsUpdateOperation();\n if (\n operationId !== null &&\n (completed?.operationId !== operationId || completed.phase !== \"updated\")\n ) {\n throw new Error(\n `OpenMeld update ${operationId} did not finish successfully (${completed?.phase ?? \"completion evidence unavailable\"}).`\n );\n }\n return completed;\n}\n\nexport async function resolveExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n // The coordinator persists the Service job before discarding the tools\n // attempt. Reading in this order prevents observers from seeing a false idle\n // gap while ownership moves from the CLI download to the Service worker.\n const toolsAttempt = await readPendingOpenMeldToolsUpdateAttempt(input);\n const serviceJob = await readPendingDaemonServiceUpdate(input);\n if (\n serviceJob &&\n serviceJob.jobId !== (input.currentOperationId ?? null) &&\n !(input.completedServiceUpdateIsIdle && serviceJob.phase === \"updated\")\n ) {\n return {\n operationId: serviceJob.jobId,\n phase: serviceJob.phase,\n requestSource: serviceJob.requestSource,\n requestedAt: serviceJob.requestedAt,\n ...(serviceJob.targetCliVersion\n ? { targetCliVersion: serviceJob.targetCliVersion }\n : {}),\n ...(serviceJob.targetServiceVersion\n ? { targetServiceVersion: serviceJob.targetServiceVersion }\n : {}),\n targetVersion: serviceJob.targetVersion,\n updatedAt: serviceJob.updatedAt,\n urgency: serviceJob.urgency,\n };\n }\n if (\n toolsAttempt &&\n toolsAttempt.operation.operationId !== (input.currentOperationId ?? null)\n ) {\n return toolsAttempt.operation;\n }\n return null;\n}\n\nexport async function waitForExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n pollIntervalMs?: number;\n unclaimedTimeoutMs?: number;\n } = {}\n): Promise<void> {\n let reportedOperationId: string | null = null;\n let unclaimedSince: number | null = null;\n while (true) {\n const operation = await resolveExternalOpenMeldToolsUpdate(input);\n if (!operation) {\n return;\n }\n if (input.unclaimedTimeoutMs !== undefined) {\n const pending = await readPendingOpenMeldToolsUpdateAttempt(input);\n if (\n pending?.operation.operationId === operation.operationId &&\n pending.attempts === 0\n ) {\n unclaimedSince ??= Date.now();\n if (Date.now() - unclaimedSince >= input.unclaimedTimeoutMs) {\n throw new Error(\n \"OpenMeld's background updater did not start. Run openmeld doctor to check the background service, then try setup again.\"\n );\n }\n } else {\n unclaimedSince = null;\n }\n }\n if (reportedOperationId !== operation.operationId) {\n reportedOperationId = operation.operationId;\n await input.onWaiting?.(operation);\n }\n await sleep(\n Math.max(1, input.pollIntervalMs ?? DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS)\n );\n }\n}\n"],"mappings":";;;;;;;AAOA,MAAM,uCAAuC;AAI7C,eAAsB,qCACpB,QAMI,CAAC,GACyC;CAC9C,IAAI,cAAc,MAAM,eAAe;CACvC,MAAM,mCAAmC;EACvC,8BAA8B;EAC9B,gBAAgB,MAAM;EACtB,WAAW,OAAO,cAAc;GAC9B,IAAI,gBAAgB,QAAQ,gBAAgB,UAAU,aACpD,MAAM,IAAI,MACR,mBAAmB,YAAY,uDACjC;GAEF,cAAc,UAAU;GACxB,MAAM,MAAM,YAAY,SAAS;EACnC;CACF,CAAC;CACD,MAAM,YAAY,MAAM,oCAAoC;CAC5D,IACE,gBAAgB,SACf,WAAW,gBAAgB,eAAe,UAAU,UAAU,YAE/D,MAAM,IAAI,MACR,mBAAmB,YAAY,gCAAgC,WAAW,SAAS,kCAAkC,GACvH;CAEF,OAAO;AACT;AAEA,eAAsB,mCACpB,QAGI,CAAC,GACyC;CAI9C,MAAM,eAAe,MAAM,sCAAsC,KAAK;CACtE,MAAM,aAAa,MAAM,+BAA+B,KAAK;CAC7D,IACE,cACA,WAAW,WAAW,MAAM,sBAAsB,SAClD,EAAE,MAAM,gCAAgC,WAAW,UAAU,YAE7D,OAAO;EACL,aAAa,WAAW;EACxB,OAAO,WAAW;EAClB,eAAe,WAAW;EAC1B,aAAa,WAAW;EACxB,GAAI,WAAW,mBACX,EAAE,kBAAkB,WAAW,iBAAiB,IAChD,CAAC;EACL,GAAI,WAAW,uBACX,EAAE,sBAAsB,WAAW,qBAAqB,IACxD,CAAC;EACL,eAAe,WAAW;EAC1B,WAAW,WAAW;EACtB,SAAS,WAAW;CACtB;CAEF,IACE,gBACA,aAAa,UAAU,iBAAiB,MAAM,sBAAsB,OAEpE,OAAO,aAAa;CAEtB,OAAO;AACT;AAEA,eAAsB,mCACpB,QAQI,CAAC,GACU;CACf,IAAI,sBAAqC;CACzC,IAAI,iBAAgC;CACpC,OAAO,MAAM;EACX,MAAM,YAAY,MAAM,mCAAmC,KAAK;EAChE,IAAI,CAAC,WACH;EAEF,IAAI,MAAM,uBAAuB,KAAA,GAAW;GAC1C,MAAM,UAAU,MAAM,sCAAsC,KAAK;GACjE,IACE,SAAS,UAAU,gBAAgB,UAAU,eAC7C,QAAQ,aAAa,GACrB;IACA,mBAAmB,KAAK,IAAI;IAC5B,IAAI,KAAK,IAAI,IAAI,kBAAkB,MAAM,oBACvC,MAAM,IAAI,MACR,yHACF;GAEJ,OACE,iBAAiB;EAErB;EACA,IAAI,wBAAwB,UAAU,aAAa;GACjD,sBAAsB,UAAU;GAChC,MAAM,MAAM,YAAY,SAAS;EACnC;EACA,MAAMA,WACJ,KAAK,IAAI,GAAG,MAAM,kBAAkB,oCAAoC,CAC1E;CACF;AACF"}
1
+ {"version":3,"file":"openmeld-tools-update-join-CJUV243X.js","names":["sleep"],"sources":["../src/local-service/maintenance/openmeld-tools-update-join.ts"],"sourcesContent":["import { setTimeout as sleep } from \"node:timers/promises\";\nimport type { OpenMeldToolsUpdateOperation } from \"@openmeld/schemas/types\";\nimport type { OpenMeldPathResolutionInput } from \"../../config/paths\";\nimport { readPendingDaemonServiceUpdate } from \"../lifecycle/daemon-service-update-state\";\nimport { readPendingOpenMeldToolsUpdateAttempt } from \"./openmeld-tools-update-attempt-state\";\nimport { resolveOpenMeldToolsUpdateOperation } from \"./openmeld-tools-update-operation\";\n\nconst DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS = 500;\n\n// This is an observer of the existing durable operation, never an updater.\n// The OS-owned worker continues even if this caller exits while waiting.\nexport async function waitForOpenMeldToolsUpdateCompletion(\n input: {\n operationId?: string;\n pollIntervalMs?: number;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n let operationId = input.operationId ?? null;\n await waitForExternalOpenMeldToolsUpdate({\n completedServiceUpdateIsIdle: true,\n pollIntervalMs: input.pollIntervalMs,\n onWaiting: async (operation) => {\n if (operationId !== null && operationId !== operation.operationId) {\n throw new Error(\n `OpenMeld update ${operationId} was replaced before its completion could be verified.`\n );\n }\n operationId = operation.operationId;\n await input.onWaiting?.(operation);\n },\n });\n const completed = await resolveOpenMeldToolsUpdateOperation();\n if (\n operationId !== null &&\n (completed?.operationId !== operationId || completed.phase !== \"updated\")\n ) {\n throw new Error(\n `OpenMeld update ${operationId} did not finish successfully (${completed?.phase ?? \"completion evidence unavailable\"}).`\n );\n }\n return completed;\n}\n\nexport async function resolveExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n } = {}\n): Promise<OpenMeldToolsUpdateOperation | null> {\n // The coordinator persists the Service job before discarding the tools\n // attempt. Reading in this order prevents observers from seeing a false idle\n // gap while ownership moves from the CLI download to the Service worker.\n const toolsAttempt = await readPendingOpenMeldToolsUpdateAttempt(input);\n const serviceJob = await readPendingDaemonServiceUpdate(input);\n if (\n serviceJob &&\n serviceJob.jobId !== (input.currentOperationId ?? null) &&\n !(input.completedServiceUpdateIsIdle && serviceJob.phase === \"updated\")\n ) {\n return {\n operationId: serviceJob.jobId,\n phase: serviceJob.phase,\n requestSource: serviceJob.requestSource,\n requestedAt: serviceJob.requestedAt,\n ...(serviceJob.targetCliVersion\n ? { targetCliVersion: serviceJob.targetCliVersion }\n : {}),\n ...(serviceJob.targetServiceVersion\n ? { targetServiceVersion: serviceJob.targetServiceVersion }\n : {}),\n targetVersion: serviceJob.targetVersion,\n updatedAt: serviceJob.updatedAt,\n urgency: serviceJob.urgency,\n };\n }\n if (\n toolsAttempt &&\n toolsAttempt.operation.operationId !== (input.currentOperationId ?? null)\n ) {\n return toolsAttempt.operation;\n }\n return null;\n}\n\nexport async function waitForExternalOpenMeldToolsUpdate(\n input: OpenMeldPathResolutionInput & {\n currentOperationId?: string | null;\n completedServiceUpdateIsIdle?: boolean;\n onWaiting?: (\n operation: OpenMeldToolsUpdateOperation\n ) => Promise<void> | void;\n pollIntervalMs?: number;\n unclaimedTimeoutMs?: number;\n } = {}\n): Promise<void> {\n let reportedOperationId: string | null = null;\n let unclaimedSince: number | null = null;\n while (true) {\n const operation = await resolveExternalOpenMeldToolsUpdate(input);\n if (!operation) {\n return;\n }\n if (input.unclaimedTimeoutMs !== undefined) {\n const pending = await readPendingOpenMeldToolsUpdateAttempt(input);\n if (\n pending?.operation.operationId === operation.operationId &&\n pending.attempts === 0\n ) {\n unclaimedSince ??= Date.now();\n if (Date.now() - unclaimedSince >= input.unclaimedTimeoutMs) {\n throw new Error(\n \"OpenMeld's background updater did not start. Run openmeld doctor to check the background service, then try setup again.\"\n );\n }\n } else {\n unclaimedSince = null;\n }\n }\n if (reportedOperationId !== operation.operationId) {\n reportedOperationId = operation.operationId;\n await input.onWaiting?.(operation);\n }\n await sleep(\n Math.max(1, input.pollIntervalMs ?? DEFAULT_UPDATE_JOIN_POLL_INTERVAL_MS)\n );\n }\n}\n"],"mappings":";;;;;;;AAOA,MAAM,uCAAuC;AAI7C,eAAsB,qCACpB,QAMI,CAAC,GACyC;CAC9C,IAAI,cAAc,MAAM,eAAe;CACvC,MAAM,mCAAmC;EACvC,8BAA8B;EAC9B,gBAAgB,MAAM;EACtB,WAAW,OAAO,cAAc;GAC9B,IAAI,gBAAgB,QAAQ,gBAAgB,UAAU,aACpD,MAAM,IAAI,MACR,mBAAmB,YAAY,uDACjC;GAEF,cAAc,UAAU;GACxB,MAAM,MAAM,YAAY,SAAS;EACnC;CACF,CAAC;CACD,MAAM,YAAY,MAAM,oCAAoC;CAC5D,IACE,gBAAgB,SACf,WAAW,gBAAgB,eAAe,UAAU,UAAU,YAE/D,MAAM,IAAI,MACR,mBAAmB,YAAY,gCAAgC,WAAW,SAAS,kCAAkC,GACvH;CAEF,OAAO;AACT;AAEA,eAAsB,mCACpB,QAGI,CAAC,GACyC;CAI9C,MAAM,eAAe,MAAM,sCAAsC,KAAK;CACtE,MAAM,aAAa,MAAM,+BAA+B,KAAK;CAC7D,IACE,cACA,WAAW,WAAW,MAAM,sBAAsB,SAClD,EAAE,MAAM,gCAAgC,WAAW,UAAU,YAE7D,OAAO;EACL,aAAa,WAAW;EACxB,OAAO,WAAW;EAClB,eAAe,WAAW;EAC1B,aAAa,WAAW;EACxB,GAAI,WAAW,mBACX,EAAE,kBAAkB,WAAW,iBAAiB,IAChD,CAAC;EACL,GAAI,WAAW,uBACX,EAAE,sBAAsB,WAAW,qBAAqB,IACxD,CAAC;EACL,eAAe,WAAW;EAC1B,WAAW,WAAW;EACtB,SAAS,WAAW;CACtB;CAEF,IACE,gBACA,aAAa,UAAU,iBAAiB,MAAM,sBAAsB,OAEpE,OAAO,aAAa;CAEtB,OAAO;AACT;AAEA,eAAsB,mCACpB,QAQI,CAAC,GACU;CACf,IAAI,sBAAqC;CACzC,IAAI,iBAAgC;CACpC,OAAO,MAAM;EACX,MAAM,YAAY,MAAM,mCAAmC,KAAK;EAChE,IAAI,CAAC,WACH;EAEF,IAAI,MAAM,uBAAuB,KAAA,GAAW;GAC1C,MAAM,UAAU,MAAM,sCAAsC,KAAK;GACjE,IACE,SAAS,UAAU,gBAAgB,UAAU,eAC7C,QAAQ,aAAa,GACrB;IACA,mBAAmB,KAAK,IAAI;IAC5B,IAAI,KAAK,IAAI,IAAI,kBAAkB,MAAM,oBACvC,MAAM,IAAI,MACR,yHACF;GAEJ,OACE,iBAAiB;EAErB;EACA,IAAI,wBAAwB,UAAU,aAAa;GACjD,sBAAsB,UAAU;GAChC,MAAM,MAAM,YAAY,SAAS;EACnC;EACA,MAAMA,WACJ,KAAK,IAAI,GAAG,MAAM,kBAAkB,oCAAoC,CAC1E;CACF;AACF"}
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { n as emitOpenMeldToolsUpdateFailureFrame } from "./openmeld-tools-update-process-frame-DTugeKEQ.js";
3
+ import { n as emitOpenMeldToolsUpdateFailureFrame } from "./openmeld-tools-update-process-frame-gQxz8eyk.js";
4
4
  export { emitOpenMeldToolsUpdateFailureFrame };
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { OF as openMeldToolsUpdateProcessFailureFrameSchema, TF as openMeldToolsUpdateFailureCodeSchema, YP as OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS } from "./dist-B2-v9n26.js";
3
+ import { OF as openMeldToolsUpdateFailureCodeSchema, QP as OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS, jF as openMeldToolsUpdateProcessFailureFrameSchema } from "./dist-BvGnlYhy.js";
4
4
  import { n as toErrorMessage } from "./dist-BLuEEVHh.js";
5
5
  //#region src/local-service/maintenance/openmeld-tools-update-failure.ts
6
6
  const PERSISTED_FAILURE_PREFIX = "openmeld.tools.update.failure=";
@@ -90,4 +90,4 @@ function truncateText(value, maxChars, side = "head") {
90
90
  //#endregion
91
91
  export { encodePersistedOpenMeldToolsUpdateFailure as a, withOpenMeldToolsUpdateFailure as c, OpenMeldToolsUpdateFailureError as i, emitOpenMeldToolsUpdateFailureFrame as n, resolveOpenMeldToolsUpdateFailure as o, parseOpenMeldToolsUpdateFailureFrame as r, resolvePersistedOpenMeldToolsUpdateFailure as s, appendBoundedOpenMeldToolsUpdateProcessOutput as t };
92
92
 
93
- //# sourceMappingURL=openmeld-tools-update-process-frame-DTugeKEQ.js.map
93
+ //# sourceMappingURL=openmeld-tools-update-process-frame-gQxz8eyk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmeld-tools-update-process-frame-DTugeKEQ.js","names":["LINE_SPLIT_RE"],"sources":["../src/local-service/maintenance/openmeld-tools-update-failure.ts","../src/local-service/maintenance/openmeld-tools-update-process-frame.ts"],"sourcesContent":["import { openMeldToolsUpdateFailureCodeSchema } from \"@openmeld/schemas\";\nimport type { OpenMeldToolsUpdateFailureCode } from \"@openmeld/schemas/types\";\nimport { toErrorMessage } from \"@openmeld/utils\";\n\nconst PERSISTED_FAILURE_PREFIX = \"openmeld.tools.update.failure=\";\nconst INTERNAL_FAILURE_PREFIX = \"openmeld.tools.update.\";\nconst LINE_SPLIT_RE = /\\r?\\n/u;\n\nexport class OpenMeldToolsUpdateFailureError extends Error {\n readonly failureCode: OpenMeldToolsUpdateFailureCode;\n\n constructor(input: {\n cause?: unknown;\n failureCode: OpenMeldToolsUpdateFailureCode;\n message: string;\n }) {\n super(\n input.message,\n input.cause === undefined ? undefined : { cause: input.cause }\n );\n this.name = \"OpenMeldToolsUpdateFailureError\";\n this.failureCode = openMeldToolsUpdateFailureCodeSchema.parse(\n input.failureCode\n );\n }\n}\n\nexport function withOpenMeldToolsUpdateFailure(\n error: unknown,\n fallbackCode: OpenMeldToolsUpdateFailureCode\n): OpenMeldToolsUpdateFailureError {\n const existing = resolveOpenMeldToolsUpdateFailure(error);\n if (error instanceof OpenMeldToolsUpdateFailureError && existing) {\n return error;\n }\n return new OpenMeldToolsUpdateFailureError({\n cause: error,\n failureCode: existing ?? fallbackCode,\n message: toErrorMessage(error),\n });\n}\n\nexport function resolveOpenMeldToolsUpdateFailure(\n error: unknown\n): OpenMeldToolsUpdateFailureCode | null {\n const seen = new Set<unknown>();\n let current: unknown = error;\n while (current && typeof current === \"object\" && !seen.has(current)) {\n seen.add(current);\n const direct = openMeldToolsUpdateFailureCodeSchema.safeParse(\n (current as { failureCode?: unknown }).failureCode\n );\n if (direct.success) {\n return direct.data;\n }\n const internalCode = (current as { code?: unknown }).code;\n if (typeof internalCode === \"string\") {\n const parsed = openMeldToolsUpdateFailureCodeSchema.safeParse(\n internalCode.startsWith(INTERNAL_FAILURE_PREFIX)\n ? `cli.update.${internalCode.slice(INTERNAL_FAILURE_PREFIX.length)}`\n : internalCode\n );\n if (parsed.success) {\n return parsed.data;\n }\n }\n current = (current as { cause?: unknown }).cause;\n }\n return null;\n}\n\nexport function encodePersistedOpenMeldToolsUpdateFailure(input: {\n detail: string;\n failureCode: OpenMeldToolsUpdateFailureCode;\n}): string {\n const failureCode = openMeldToolsUpdateFailureCodeSchema.parse(\n input.failureCode\n );\n const detail = input.detail.trim();\n return `${PERSISTED_FAILURE_PREFIX}${failureCode}${\n detail ? `\\n${detail}` : \"\"\n }`;\n}\n\nexport function resolvePersistedOpenMeldToolsUpdateFailure(\n errorMessage: string | null\n): OpenMeldToolsUpdateFailureCode | null {\n if (!errorMessage?.startsWith(PERSISTED_FAILURE_PREFIX)) {\n return null;\n }\n const firstLine = errorMessage.split(LINE_SPLIT_RE, 1)[0] ?? \"\";\n const parsed = openMeldToolsUpdateFailureCodeSchema.safeParse(\n firstLine.slice(PERSISTED_FAILURE_PREFIX.length)\n );\n return parsed.success ? parsed.data : null;\n}\n","import {\n OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS,\n openMeldToolsUpdateProcessFailureFrameSchema,\n} from \"@openmeld/schemas\";\nimport type {\n OpenMeldToolsUpdateFailureCode,\n OpenMeldToolsUpdateProcessFailureFrame,\n} from \"@openmeld/schemas/types\";\nimport { toErrorMessage } from \"@openmeld/utils\";\nimport { resolveOpenMeldToolsUpdateFailure } from \"./openmeld-tools-update-failure\";\n\nconst FAILURE_FRAME_OUTPUT_MAX_CHARS = 64 * 1024;\nconst LINE_SPLIT_RE = /\\r?\\n/u;\n\nexport type OpenMeldToolsUpdateProcessFailure = {\n detail: string;\n failureCode: OpenMeldToolsUpdateFailureCode;\n};\n\nexport function emitOpenMeldToolsUpdateFailureFrame(error: unknown): void {\n const detail = truncateText(\n toErrorMessage(error),\n OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS\n );\n const frame: OpenMeldToolsUpdateProcessFailureFrame =\n openMeldToolsUpdateProcessFailureFrameSchema.parse({\n detail: detail || \"OpenMeld update process failed.\",\n failureCode:\n resolveOpenMeldToolsUpdateFailure(error) ?? \"cli.update.failed\",\n schema: \"openmeld-tools-update-process-failure-v1\",\n v: 1,\n });\n // The leading newline keeps the frame parseable even when prior presenter\n // output ended mid-line.\n process.stdout.write(`\\n${JSON.stringify(frame)}\\n`);\n}\n\nexport function appendBoundedOpenMeldToolsUpdateProcessOutput(\n current: string,\n chunk: string\n): string {\n return truncateText(\n `${current}${chunk}`,\n FAILURE_FRAME_OUTPUT_MAX_CHARS,\n \"tail\"\n );\n}\n\nexport function parseOpenMeldToolsUpdateFailureFrame(\n output: string\n): OpenMeldToolsUpdateProcessFailure | null {\n const lines = output.split(LINE_SPLIT_RE);\n for (let index = lines.length - 1; index >= 0; index -= 1) {\n const line = lines[index]?.trim();\n if (!line?.startsWith(\"{\")) {\n continue;\n }\n try {\n const parsed = openMeldToolsUpdateProcessFailureFrameSchema.safeParse(\n JSON.parse(line) as unknown\n );\n if (parsed.success) {\n return {\n detail: parsed.data.detail,\n failureCode: parsed.data.failureCode,\n };\n }\n } catch {\n // Other agent-view output and truncated lines are not update frames.\n }\n }\n return null;\n}\n\nfunction truncateText(\n value: string,\n maxChars: number,\n side: \"head\" | \"tail\" = \"head\"\n): string {\n if (value.length <= maxChars) {\n return value;\n }\n if (side === \"tail\") {\n return value.slice(-maxChars);\n }\n const suffix = \"…\";\n return value.slice(0, Math.max(0, maxChars - suffix.length)) + suffix;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"openmeld-tools-update-process-frame-gQxz8eyk.js","names":["LINE_SPLIT_RE"],"sources":["../src/local-service/maintenance/openmeld-tools-update-failure.ts","../src/local-service/maintenance/openmeld-tools-update-process-frame.ts"],"sourcesContent":["import { openMeldToolsUpdateFailureCodeSchema } from \"@openmeld/schemas\";\nimport type { OpenMeldToolsUpdateFailureCode } from \"@openmeld/schemas/types\";\nimport { toErrorMessage } from \"@openmeld/utils\";\n\nconst PERSISTED_FAILURE_PREFIX = \"openmeld.tools.update.failure=\";\nconst INTERNAL_FAILURE_PREFIX = \"openmeld.tools.update.\";\nconst LINE_SPLIT_RE = /\\r?\\n/u;\n\nexport class OpenMeldToolsUpdateFailureError extends Error {\n readonly failureCode: OpenMeldToolsUpdateFailureCode;\n\n constructor(input: {\n cause?: unknown;\n failureCode: OpenMeldToolsUpdateFailureCode;\n message: string;\n }) {\n super(\n input.message,\n input.cause === undefined ? undefined : { cause: input.cause }\n );\n this.name = \"OpenMeldToolsUpdateFailureError\";\n this.failureCode = openMeldToolsUpdateFailureCodeSchema.parse(\n input.failureCode\n );\n }\n}\n\nexport function withOpenMeldToolsUpdateFailure(\n error: unknown,\n fallbackCode: OpenMeldToolsUpdateFailureCode\n): OpenMeldToolsUpdateFailureError {\n const existing = resolveOpenMeldToolsUpdateFailure(error);\n if (error instanceof OpenMeldToolsUpdateFailureError && existing) {\n return error;\n }\n return new OpenMeldToolsUpdateFailureError({\n cause: error,\n failureCode: existing ?? fallbackCode,\n message: toErrorMessage(error),\n });\n}\n\nexport function resolveOpenMeldToolsUpdateFailure(\n error: unknown\n): OpenMeldToolsUpdateFailureCode | null {\n const seen = new Set<unknown>();\n let current: unknown = error;\n while (current && typeof current === \"object\" && !seen.has(current)) {\n seen.add(current);\n const direct = openMeldToolsUpdateFailureCodeSchema.safeParse(\n (current as { failureCode?: unknown }).failureCode\n );\n if (direct.success) {\n return direct.data;\n }\n const internalCode = (current as { code?: unknown }).code;\n if (typeof internalCode === \"string\") {\n const parsed = openMeldToolsUpdateFailureCodeSchema.safeParse(\n internalCode.startsWith(INTERNAL_FAILURE_PREFIX)\n ? `cli.update.${internalCode.slice(INTERNAL_FAILURE_PREFIX.length)}`\n : internalCode\n );\n if (parsed.success) {\n return parsed.data;\n }\n }\n current = (current as { cause?: unknown }).cause;\n }\n return null;\n}\n\nexport function encodePersistedOpenMeldToolsUpdateFailure(input: {\n detail: string;\n failureCode: OpenMeldToolsUpdateFailureCode;\n}): string {\n const failureCode = openMeldToolsUpdateFailureCodeSchema.parse(\n input.failureCode\n );\n const detail = input.detail.trim();\n return `${PERSISTED_FAILURE_PREFIX}${failureCode}${\n detail ? `\\n${detail}` : \"\"\n }`;\n}\n\nexport function resolvePersistedOpenMeldToolsUpdateFailure(\n errorMessage: string | null\n): OpenMeldToolsUpdateFailureCode | null {\n if (!errorMessage?.startsWith(PERSISTED_FAILURE_PREFIX)) {\n return null;\n }\n const firstLine = errorMessage.split(LINE_SPLIT_RE, 1)[0] ?? \"\";\n const parsed = openMeldToolsUpdateFailureCodeSchema.safeParse(\n firstLine.slice(PERSISTED_FAILURE_PREFIX.length)\n );\n return parsed.success ? parsed.data : null;\n}\n","import {\n OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS,\n openMeldToolsUpdateProcessFailureFrameSchema,\n} from \"@openmeld/schemas\";\nimport type {\n OpenMeldToolsUpdateFailureCode,\n OpenMeldToolsUpdateProcessFailureFrame,\n} from \"@openmeld/schemas/types\";\nimport { toErrorMessage } from \"@openmeld/utils\";\nimport { resolveOpenMeldToolsUpdateFailure } from \"./openmeld-tools-update-failure\";\n\nconst FAILURE_FRAME_OUTPUT_MAX_CHARS = 64 * 1024;\nconst LINE_SPLIT_RE = /\\r?\\n/u;\n\nexport type OpenMeldToolsUpdateProcessFailure = {\n detail: string;\n failureCode: OpenMeldToolsUpdateFailureCode;\n};\n\nexport function emitOpenMeldToolsUpdateFailureFrame(error: unknown): void {\n const detail = truncateText(\n toErrorMessage(error),\n OPEN_MELD_TOOLS_UPDATE_FAILURE_DETAIL_MAX_CHARS\n );\n const frame: OpenMeldToolsUpdateProcessFailureFrame =\n openMeldToolsUpdateProcessFailureFrameSchema.parse({\n detail: detail || \"OpenMeld update process failed.\",\n failureCode:\n resolveOpenMeldToolsUpdateFailure(error) ?? \"cli.update.failed\",\n schema: \"openmeld-tools-update-process-failure-v1\",\n v: 1,\n });\n // The leading newline keeps the frame parseable even when prior presenter\n // output ended mid-line.\n process.stdout.write(`\\n${JSON.stringify(frame)}\\n`);\n}\n\nexport function appendBoundedOpenMeldToolsUpdateProcessOutput(\n current: string,\n chunk: string\n): string {\n return truncateText(\n `${current}${chunk}`,\n FAILURE_FRAME_OUTPUT_MAX_CHARS,\n \"tail\"\n );\n}\n\nexport function parseOpenMeldToolsUpdateFailureFrame(\n output: string\n): OpenMeldToolsUpdateProcessFailure | null {\n const lines = output.split(LINE_SPLIT_RE);\n for (let index = lines.length - 1; index >= 0; index -= 1) {\n const line = lines[index]?.trim();\n if (!line?.startsWith(\"{\")) {\n continue;\n }\n try {\n const parsed = openMeldToolsUpdateProcessFailureFrameSchema.safeParse(\n JSON.parse(line) as unknown\n );\n if (parsed.success) {\n return {\n detail: parsed.data.detail,\n failureCode: parsed.data.failureCode,\n };\n }\n } catch {\n // Other agent-view output and truncated lines are not update frames.\n }\n }\n return null;\n}\n\nfunction truncateText(\n value: string,\n maxChars: number,\n side: \"head\" | \"tail\" = \"head\"\n): string {\n if (value.length <= maxChars) {\n return value;\n }\n if (side === \"tail\") {\n return value.slice(-maxChars);\n }\n const suffix = \"…\";\n return value.slice(0, Math.max(0, maxChars - suffix.length)) + suffix;\n}\n"],"mappings":"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"}
package/dist/openmeld.js CHANGED
@@ -2,16 +2,16 @@
2
2
 
3
3
  //#region src/openmeld-entry.ts
4
4
  if (process.platform === "win32" && /[\\/]openmeld\.exe$/iu.test(process.execPath) && !process.argv.includes("--openmeld-windows-task")) {
5
- const { restoreWindowsPreviewChannel } = await import("./windows-preview-channel-CJRzUM47.js");
5
+ const { restoreWindowsPreviewChannel } = await import("./windows-preview-channel-5Bbmxzrc.js");
6
6
  await restoreWindowsPreviewChannel();
7
7
  }
8
8
  if (process.argv.includes("--openmeld-windows-task")) {
9
- const { initializeWindowsTaskEntry } = await import("./windows-task-entry-C1rOuSYk.js");
9
+ const { initializeWindowsTaskEntry } = await import("./windows-task-entry-BhpUcj36.js");
10
10
  initializeWindowsTaskEntry();
11
11
  }
12
12
  const args = process.argv.slice(2);
13
13
  if (args.length === 3 && args[0] === "service" && args[1] === "execution-host") try {
14
- const { runExecutionHost } = await import("./entry-MTDogVdn.js");
14
+ const { runExecutionHost } = await import("./entry-qp30qZLc.js");
15
15
  const hostInstanceId = args[2];
16
16
  if (!hostInstanceId) throw new Error("The Host incarnation is required.");
17
17
  await runExecutionHost(hostInstanceId);
@@ -21,24 +21,24 @@ if (args.length === 3 && args[0] === "service" && args[1] === "execution-host")
21
21
  if (process.connected) process.disconnect();
22
22
  }
23
23
  else if (args.length === 2 && args[0] === "service" && args[1] === "update-worker") try {
24
- const { runOpenMeldMaintenanceWorker } = await import("./openmeld-maintenance-worker-CvZq28ZL.js");
24
+ const { runOpenMeldMaintenanceWorker } = await import("./openmeld-maintenance-worker-vYtuiCUl.js");
25
25
  await runOpenMeldMaintenanceWorker();
26
26
  } catch (error) {
27
27
  console.error("[openmeld.maintenance.failed]", error);
28
28
  process.exitCode = 1;
29
29
  }
30
30
  else if (args.length === 1 && (args[0] === "maintenance-upgrade" || args[0] === "maintenance-align-service")) try {
31
- const { runMaintenanceUpgrade } = await import("./upgrade-lOfXLNPW.js");
31
+ const { runMaintenanceUpgrade } = await import("./upgrade-LU1sa_6_.js");
32
32
  await runMaintenanceUpgrade(args[0] === "maintenance-align-service");
33
33
  } catch (error) {
34
34
  try {
35
- const { emitOpenMeldToolsUpdateFailureFrame } = await import("./openmeld-tools-update-process-frame-B5IPDtMJ.js");
35
+ const { emitOpenMeldToolsUpdateFailureFrame } = await import("./openmeld-tools-update-process-frame-VsOsal5C.js");
36
36
  emitOpenMeldToolsUpdateFailureFrame(error);
37
37
  } catch {}
38
38
  console.error("[openmeld.maintenance.upgrade_failed]", error);
39
39
  process.exitCode = 1;
40
40
  }
41
- else await import("./openmeld-aTrdITKS.js");
41
+ else await import("./openmeld-D8f6YPac.js");
42
42
  //#endregion
43
43
  export {};
44
44
 
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { C as updateConfiguredDeviceRuntimeState, T as updateConfiguredSkillsConfig, a as resolveBaseUrl, d as createDefaultRuntimeAgentControllerSettings, g as getConfiguredSkillsConfig, p as getConfiguredDeviceRuntimeState, v as getRuntimeConfigReadHealth, y as resolveRuntimeSkillsCustomTargetId } from "./base-url-COBBy2lR.js";
3
+ import { C as updateConfiguredDeviceRuntimeState, T as updateConfiguredSkillsConfig, a as resolveBaseUrl, d as createDefaultRuntimeAgentControllerSettings, g as getConfiguredSkillsConfig, p as getConfiguredDeviceRuntimeState, v as getRuntimeConfigReadHealth, y as resolveRuntimeSkillsCustomTargetId } from "./base-url-BUHbVXb3.js";
4
4
  import { F as resolveOpenMeldRootDir, P as resolveOpenMeldEnvPreset, a as accountProfileWorkspacePath, b as normalizeOpenMeldProfileId, c as deviceOpenClawProfileBootstrapPath, h as isPublishedOpenMeldHome, l as deviceOpenClawProfileDir, n as accountProfileLocalMetaPath, u as deviceOpenClawProfileWorkspaceDir } from "./paths-De9xdA2h.js";
5
- import { $D as agentInteractionResolutionSchema, $F as canonicalizeAgentControllerRef, $T as buildAgentControllerConversationRef, Ba as windowsNativeProcessRequestSchema, Gj as daemonServiceLaneSchema, KF as compareAgentControllerRefsForDisplay, Lg as modelCatalogSchema, NF as resolveCommandAgentWorkActivity, OS as aiUsageObservationSchema, Ov as agentExecutionSteerRequestSchema, Pb as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, QF as buildAgentControllerRoutingKey, RE as formatCanonicalMentionLiteral, Rw as openMeldDaemonControlPlaneRequestSchema, WE as normalizeMessageEnvelope, XF as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, YF as HOSTED_CENTER_AGENT_CONTROLLER_REF, YT as runtimeTransportModeSchema, ZF as HOSTED_REMOTE_AGENT_CONTROLLER_REF, ao as daemonRouteCatalogCacheSchema, bP as agentControllerPermissionModeSchema, cS as openMeldDaemonProviderAccessEvidenceSchema, dS as openMeldDaemonTaskResultEnvelopeWriteSchema, eI as canonicalizeBuiltinAgentControllerRef, iR as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, iS as isOriginalErrorSafeForMessageDetails, jT as conversationExecutionStateSchema, kT as providerDispatchRuntimeContextSchema, mR as profileWorkspaceOriginSchema, oR as normalizeOptionalWorkingDirectory, pR as profileWorkspaceModeSchema, pS as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, rI as parseAgentControllerRef$1, rS as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, ro as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME, tE as resolveBuiltinAgentControllerConversationKind, xP as agentControllerCollaborationModeSchema, zw as openMeldDaemonControlPlaneResponseSchema } from "./dist-B2-v9n26.js";
6
- import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-C-QRzajU.js";
5
+ import { $F as HOSTED_CENTER_AGENT_CONTROLLER_REF_ID, $x as openMeldDaemonProviderAccessEvidenceSchema, CP as agentControllerPermissionModeSchema, Hw as openMeldDaemonControlPlaneResponseSchema, IF as resolveCommandAgentWorkActivity, Ja as DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME, Jj as daemonServiceLaneSchema, Jx as OPENMELD_ORIGINAL_ERROR_MAX_LENGTH, MT as providerDispatchRuntimeContextSchema, Og as modelCatalogSchema, PT as conversationExecutionStateSchema, QF as HOSTED_CENTER_AGENT_CONTROLLER_REF, QT as runtimeTransportModeSchema, Tb as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH, VE as formatCanonicalMentionLiteral, Vw as openMeldDaemonControlPlaneRequestSchema, Xa as daemonRouteCatalogCacheSchema, YF as compareAgentControllerRefsForDisplay, Yx as isOriginalErrorSafeForMessageDetails, _R as profileWorkspaceOriginSchema, eI as HOSTED_REMOTE_AGENT_CONTROLLER_REF, gR as profileWorkspaceModeSchema, iE as resolveBuiltinAgentControllerConversationKind, iS as openMeldDaemonTaskResultOpenClawGatewayVisibilityStatusSchema, ja as windowsNativeProcessRequestSchema, lR as normalizeOptionalWorkingDirectory, nE as buildAgentControllerConversationRef, nI as canonicalizeAgentControllerRef, nO as agentInteractionResolutionSchema, nS as openMeldDaemonTaskResultEnvelopeWriteSchema, oI as parseAgentControllerRef$1, qE as normalizeMessageEnvelope, rI as canonicalizeBuiltinAgentControllerRef, sR as MAX_PROFILE_WORKING_DIRECTORY_LENGTH, tI as buildAgentControllerRoutingKey, wP as agentControllerCollaborationModeSchema, yS as aiUsageObservationSchema, yv as agentExecutionSteerRequestSchema } from "./dist-BvGnlYhy.js";
6
+ import { a as isOpenMeldOrphanedLockError, d as runWithHeldLock, i as isOpenMeldLockError, t as acquireLock } from "./lock-anKblZEb.js";
7
7
  import { n as normalizeCommandEnvironment } from "./process-environment-BWSFeUu6.js";
8
- import { c as readWindowsProcessStartFileTime, d as resolveWindowsNativeProcessHelper, l as resolveWindowsPowerShellPath, o as powerShellEncodedArguments, r as isProcessIdentityAlive, t as CURRENT_PROCESS_START_IDENTITY, u as WINDOWS_NATIVE_PROCESS_REQUEST_ENV } from "./process-identity-BJaVbu5L.js";
9
- import { Vt as createAgentProfileBindingApi, in as createLocalRuntimeExpectedRoutesApi, t as OpenMeldApiClientHttpError } from "./dist-B4wca2os.js";
10
- import { F as resolveCurrentOpenMeldAccountContext, _ as touchDaemonCatalogSyncSignal, d as listOpenMeldProfiles } from "./context-CQYtgl3W.js";
11
- import { Y as OPENCLAW_CLI_TIMEOUT_MS$1, d as getAuthSessionState } from "./auth-session-CjAfqFxu.js";
8
+ import { c as readWindowsProcessStartFileTime, d as resolveWindowsNativeProcessHelper, l as resolveWindowsPowerShellPath, o as powerShellEncodedArguments, r as isProcessIdentityAlive, t as CURRENT_PROCESS_START_IDENTITY, u as WINDOWS_NATIVE_PROCESS_REQUEST_ENV } from "./process-identity-CLoTVpHt.js";
9
+ import { Vt as createAgentProfileBindingApi, in as createLocalRuntimeExpectedRoutesApi, t as OpenMeldApiClientHttpError } from "./dist-DuAsT5Uv.js";
10
+ import { F as resolveCurrentOpenMeldAccountContext, _ as touchDaemonCatalogSyncSignal, d as listOpenMeldProfiles } from "./context-CuCerz9H.js";
11
+ import { Y as OPENCLAW_CLI_TIMEOUT_MS$1, d as getAuthSessionState } from "./auth-session-C1QlGOT-.js";
12
12
  import { n as writeDaemonLocalStateFile, t as readDaemonLocalStateFile } from "./daemon-local-state-file-jOXuXrky.js";
13
- import { m as daemonRuntimeDataPath } from "./daemon-state-DHJiLvNu.js";
14
- import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-BKXYmUIC.js";
15
- import { i as readDaemonServiceContract } from "./daemon-service-contract-N6x7y5XW.js";
16
- import { C as requestLocalSyncRouteCatalog } from "./daemon-lifecycle-journal-ChHdN1WX.js";
13
+ import { m as daemonRuntimeDataPath } from "./daemon-state-BHmahVmK.js";
14
+ import { d as buildOpenMeldRequestContextFromProfile, t as createCliApiClientFoundation } from "./api-client-foundation-CPF0nXbH.js";
15
+ import { i as readDaemonServiceContract } from "./daemon-service-contract-Ab9x7DQh.js";
16
+ import { C as requestLocalSyncRouteCatalog } from "./daemon-lifecycle-journal-CUhIcQCC.js";
17
17
  import { i as resolveWindowsCommandPath, n as quoteWindowsProcessArgument, r as resolvePlatformCommand, t as execPlatformFile } from "./process-launch-B0pHlkV_.js";
18
- import { _ as toErrorMessage$20, d as normalizeText$11, g as parseTransportMode$1, h as parseStreamingMode$1, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$49 } from "./daemon-device-id-Cl702Rt_.js";
18
+ import { _ as toErrorMessage$20, d as normalizeText$11, g as parseTransportMode$1, h as parseStreamingMode$1, m as parseRuntimeTransportMode, p as parseContextIdMappingSpec, s as emitRunLine, u as normalizeOptionalText$49 } from "./daemon-device-id-D9V35Y8G.js";
19
19
  import { createRequire } from "node:module";
20
20
  import { createHash, randomBytes, randomUUID } from "node:crypto";
21
21
  import { homedir, loadavg, tmpdir } from "node:os";
@@ -33353,9 +33353,9 @@ function createModelCatalogReadSession(input) {
33353
33353
  async function readModelCatalogOnce(baseUrl) {
33354
33354
  try {
33355
33355
  const [apiClient, baseUrlModule, clientFoundationModule] = await Promise.all([
33356
- import("./dist-BPnOcifn.js"),
33357
- import("./base-url-ByUu5lTF.js"),
33358
- import("./api-client-foundation-BZXQyKBm.js")
33356
+ import("./dist-QI2-yvvy.js"),
33357
+ import("./base-url-gA1mPiKc.js"),
33358
+ import("./api-client-foundation-BEg5W5r1.js")
33359
33359
  ]);
33360
33360
  if (typeof apiClient.createConfigApi !== "function") throw new Error("config api client is unavailable");
33361
33361
  const resolvedBaseUrl = baseUrl ?? await baseUrlModule.resolveBaseUrl();
@@ -35201,4 +35201,4 @@ async function prepareProviderRuntime(input, options = {}) {
35201
35201
  //#endregion
35202
35202
  export { detectInstalledSkillsAgents as $, buildAgentContextLookupKey as $n, normalizeDispatchPostMessageAction as $t, createExpectedRoutesReadSession as A, readCodexAccountUsageObservation as An, renderTaskKnowledgeIndex as Ar, ensureOpenMeldManagedProfileWorkspace as At, removeAgentCustomTarget as B, buildRuntimeWorkspaceFingerprint as Bn, ADAPTIVE_HEARTBEAT_JITTER_RATIO as Br, describeProfileWorkspacePathValidationFailure as Bt, createModelCatalogReadSession as C, resolveCodexTimeoutMs as Cn, isAgentControllerUsageRefreshUnavailable as Cr, resolveLocalProjectConnectionForPath as Ct, NO_LOCAL_AGENTS_NEED_OPENMELD_SERVICE_REASON as D, resolveCodexAppServerCompletedTurn as Dn, peopleComputerContainsDevice as Dr, resolveRegistryOriginLaunchCommand as Dt, resolveProfileWorkspaceRuntime as E, probeCodexAppServerAccount as En, parseAgentControllerRef as Er, listBuiltinAgentsRegistryEntries as Et, listAgentRegistrations as F, emitDriftDetectedEvidence as Fn, resolveEvidenceSyncHealth as Fr, resolveConfiguredProfileWorkspacePath as Ft, notifyDaemonRouteCatalogChanged as G, removeConversationExecutionState as Gn, pruneStaleLeases as Gr, syncDaemonRouteCatalogState as Gt, setAgentRegistrationEnabled as H, appendLedgerHistoryEntry as Hn, MIN_HEARTBEAT_INTERVAL_MS as Hr, createRouteCatalogFromMutableState as Ht, listAgentTargetStates as I, emitReconcileCompletedEvidence as In, resolveNativeAgentControllerPermissionModeForController as Ir, resolveConfiguredProfileWorkspacePathForAccount as It, parseAgentEnabledOption as J, settleInflightTask as Jn, __toESM as Jr, SPACE_ACTION_CONTEXT_GUIDANCE_LINES as Jt, normalizeAgentId as K, resolveConversationExecutionStateByLookupKey as Kn, resolveAdaptiveHeartbeatIntervalMs as Kr, normalizeDispatchThreadAction as Kt, manageAgentRegistrationInstallation as L, emitReconcileStartedEvidence as Ln, resolveSelectableCandidates as Lr, setCustomProfileWorkspace as Lt, addAgentCustomTarget as M, resolveInstalledClaudeCodeLaunchCandidates as Mn, resolveAgentControllerPermissionModeForController as Mr, readProfileWorkspaceConfig as Mt, createRegistrationFromCatalogTarget as N, isAntigravityAcpLaunchContract as Nn, resolveAgentExecutionStatus as Nr, readProfileWorkspaceConfigForAccount as Nt, syncDeviceRuntimeStateProjection as O, verifyCodexAppServerThread as On, projectPeopleComputersToLegacyLocalRuntimes as Or, resolveRegistryRuntimeAdapterCapabilitySnapshot as Ot, listAgentCustomTargets as P, probeAntigravityAcp as Pn, resolveAgentProfileEditCapabilities as Pr, readSavedProfileWorkspaceForAccount as Pt, canManageRegistryAgentSkillTargets as Q, assertLegacyAgentContextAssociation as Qn, buildDispatchReplyContextSummary as Qt, readAgentRuntimeConfigHealth as R, DaemonServiceRunError as Rn, supportsSpaceWorkHandoff as Rr, setOpenMeldManagedProfileWorkspace as Rt, syncProfileWorkspaceState as S, projectCursorUsageLimits as Sn, isAgentControllerUsageAccountUnavailable as Sr, canonicalizeLocalProjectPath as St, resolveEffectiveProfileWorkingFolderRuntime as T, forkCodexAppServerThread as Tn, listAgentControllerPermissionModeOptions as Tr, withAgentActivityLocalStateLock as Tt, updateAgentCustomTarget as U, commitResolvedAgentContext as Un, applyAcceptedLeases as Ur, replaceMutableRouteCatalogState as Ut, resolveAgentTargetState as V, buildTaskResultEnvelope as Vn, MAX_HEARTBEAT_INTERVAL_MS as Vr, createMutableRouteCatalogState as Vt, updateAgentRegistrations as W, loadLedgerState as Wn, applyIntervalJitterMs as Wr, summarizeSkippedDaemonProfiles as Wt, repairBuiltinControllerInstall as X, withLedgerStateTransaction as Xn, isDaemonReconcileInProgressError as Xt, sortAgentRegistrations as Y, upsertConversationExecutionState as Yn, SPACE_ACTION_TARGET_GUIDANCE_LINES as Yt, resolveLocalRegistryAgentIdFromAgentControllerRef as Z, buildAuthenticatedControlPlaneResponse as Zn, createSerialAgentInteractionCallback as Zt, loadDaemonRouteCatalog as _, readOpenCode2Inventory as _n, createAgentControllerInterfaceDisplayRows as _r, removeProjectConnection as _t, buildOpenClawSpaceSessionKey as a, createInflightTaskControlRegistry as an, resolveExecutablePathsOnPath as ar, isNpmGlobalCommandPath as at, resolveLocalController as b, probeGrokBuildAcpInterface as bn, getAgentControllerPermissionModeDisplayMetadata as br, setDefaultProjectConnection as bt, findOpenClawAgentById as c, resolveCompatibleAgentContextMatch as cn, DISPATCH_SPACE_ACTION_DELIVERY_ONLY_ENV as cr, ProjectBindingStoreUpdateRequiredError as ct, resolveOpenClawAuthStatus as d, resolveCatalogSyncSkippedProfilesLogState as dn, TASK_KNOWLEDGE_GUIDANCE as dr, isProjectBound as dt, createPendingAgentInteractionRegistry as en, createUnavailableProviderUsageLimits as er, resolveSkillsAgentRegistry as et, resolveOpenClawProviderRuntimeWorkingDirectory as f, createLocalAdapterContainer as fn, areAgentControllerInterfaceAccountsSame as fr, listProjectBindings as ft, writeDaemonRouteCatalogCache as g, forkOpenCodeServerSession as gn, compareAgentControllerVersions as gr, removeMissingProjectConnections as gt, readDaemonRouteCatalogCache as h, parseOpenCodeGoUsageResponse as hn, buildWorkingLanguagePromptPlan as hr, removeAgentActivityBindingsWhileDeliveryLocked as ht, listOpenClawGatewayAgents as i, createLocalExecutionSlots as in, materializeCliLaunchCommand as ir, isHomebrewCommandPath as it, resolveAgentProfilePrimaryAgentControllerReport as j, probeClaudeCodeUsageLimits as jn, renderWorkingLanguagePrompt as jr, normalizeCustomProfileWorkspacePath as jt, createPrimaryBindingReadSession as k, projectCodexUsageObservation as kn, renderInformationProtectionPrompt as kr, resolveRegistryRuntimeAdapterContractByAgentControllerRef as kt, findOpenClawAgentsByWorkspace as l, resolveCompatibleConversationExecutionState as ln, isDispatchSpaceActionDeliveryOnly as lr, bindProject as lt, resolveOpenClawLocalBootstrapPaths as m, parseOpenRouterUsageResponse as mn, buildInformationProtectionPromptPlan as mr, migrateProjectBindingStore as mt, fetchOpenClawGatewayHealth as n, createLocalTaskInterruptSender as nn, resolveDispatchSpaceActionMcpServer as nr, resolveBuiltinAgentControllerDefinition as nt, normalizeOpenClawSpaceIdPrefix as o, resolveDispatchQueueLogMeta as on, listAgentControllerSupervisedProcessIds as or, isPnpmGlobalCommandPath as ot, readOpenClawLocalBootstrapState as p, createLocalAdapterEntries as pn, buildAgentControllerRef as pr, listProjectConnectionsWithStatus as pt, normalizeAgentIds as q, seedLegacyAgentContext as qn, resolveCatalogSyncIntervalMs as qr, syncRuntimeEventToInflightTaskControlRegistry as qt, listOpenClawAgents as r, buildLocalServiceDiagnosticsPayload as rn, buildCliLaunchInvocation as rr, isBunGlobalCommandPath as rt, slugifyOpenClawNamePart as s, resolveDispatchContinuityObservation as sn, createProviderOriginalError as sr, ProjectBindingOperationError as st, prepareProviderRuntime as t, mergeOpenClawGatewayVisibility as tn, createUnsupportedProviderUsageLimits as tr, EMPTY_AGENT_CONTROLLER_INTERFACE_CAPABILITIES as tt, matchesExpectedWorkspace as u, resolveLatestScopedConversationExecutionState as un, DEFAULT_TASK_LIFECYCLE_HEARTBEAT_INTERVAL_MS as ur, hasProjectBindingForPath as ut, buildRuntimeRouteTargets as v, resolveInstalledOpenCodeLaunchCandidates as vn, createAgentExecutionStatusDisplayRows as vr, resolveProjectBindingForPath as vt, resolveCurrentEffectiveProfileWorkingFolderRuntime as w, resolveInstalledCodexLaunchCandidates as wn, isAgentExecutionReadyOrConnecting as wr, withAgentActivityDeliveryLock as wt, resolveLocalRuntimeControllerSupport as x, resolveInstalledGrokBuildLaunchCandidates as xn, getAgentControllerPermissionModeFieldLabel as xr, unbindProject as xt, readLocalEnabledControllers as y, GrokBuildAcpTransportError as yn, createAuthorityOpenMeldServiceRuntimeId as yr, runIfAgentActivityBindingGenerationIsCurrent as yt, reconcileNewRunnableBuiltinAgentsForSetup as z, runRuntimeTask as zn, resolveRouteRegistrationReconcileDecision as zr, validateCustomProfileWorkspacePath as zt };
35203
35203
 
35204
- //# sourceMappingURL=prepare-provider-runtime-BIz1stqo.js.map
35204
+ //# sourceMappingURL=prepare-provider-runtime-D9d7PN7P.js.map