@runeya/runeya 2.0.88 → 2.0.91

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 (200) hide show
  1. package/agent-manager-U454MXAX.js +7 -0
  2. package/{chunk-JB7MZWZJ.js → chunk-PDRWT47K.js} +10 -3
  3. package/{chunk-JB7MZWZJ.js.map → chunk-PDRWT47K.js.map} +1 -1
  4. package/{desktop-launcher-4BVDZ3W4.js → desktop-launcher-FHNURZA7.js} +41 -14
  5. package/desktop-launcher-FHNURZA7.js.map +1 -0
  6. package/index.js +2 -2
  7. package/package.json +1 -1
  8. package/{src-5X4QUDVE.js → src-K5L5HTKP.js} +35 -19
  9. package/src-K5L5HTKP.js.map +1 -0
  10. package/web/assets/{AgentScalarChatInterface.vue-3oNhFMjp.js → AgentScalarChatInterface.vue-BaIR1ZwL.js} +1 -1
  11. package/web/assets/{AgentTerminalPage-CuIu1HPP.js → AgentTerminalPage-Chql5o8h.js} +1 -1
  12. package/web/assets/AiChatPage-DijdhDBJ.js +1 -0
  13. package/web/assets/{AppLayout-S3efAhq5.js → AppLayout-DRQiJFAe.js} +1 -1
  14. package/web/assets/{AuditPage-CKPonJN8.js → AuditPage-DBrGkmq6.js} +1 -1
  15. package/web/assets/{CloudAccountPage-D4dsFYJY.js → CloudAccountPage-Bz5yu3CN.js} +1 -1
  16. package/web/assets/CloudAccountPage-CtaTO5Dr.js +1 -0
  17. package/web/assets/{CloudMessagingPage-BRa8oTx9.js → CloudMessagingPage-D1uKwcxg.js} +1 -1
  18. package/web/assets/{DashboardPage-BZGanUz4.js → DashboardPage-BBFsMFk3.js} +1 -1
  19. package/web/assets/{DirectoryPickerDialog-Du8bmuMg.js → DirectoryPickerDialog-DMUrjQdd.js} +1 -1
  20. package/web/assets/{EditorIcon-K5L1iWtJ.js → EditorIcon-c_3UtFYp.js} +1 -1
  21. package/web/assets/{EnvironmentForm-Dvf83Ned.js → EnvironmentForm-D7Cq-8MZ.js} +1 -1
  22. package/web/assets/{EnvironmentFormPage-CORF4IZ-.js → EnvironmentFormPage-Dgcm1IXC.js} +1 -1
  23. package/web/assets/{EnvironmentListPage-Cnbhd0Bl.js → EnvironmentListPage-kQY6ZGA3.js} +1 -1
  24. package/web/assets/{KanbanBoardPage-DvYCodtf.js → KanbanBoardPage-B5xNcvmj.js} +3 -3
  25. package/web/assets/{KanbanListPage-Cge6m4fn.js → KanbanListPage-D-hG5Ag0.js} +1 -1
  26. package/web/assets/{LaunchProjectPage-tsSMCl-g.js → LaunchProjectPage-BPbq8Mqg.js} +1 -1
  27. package/web/assets/{LaunchServicesPage-Dr6NGKSv.js → LaunchServicesPage-CKt_9IHU.js} +1 -1
  28. package/web/assets/{LogViewer-fjtPXmYz.js → LogViewer-BCvltLuS.js} +1 -1
  29. package/web/assets/{OrgKeyPrompt-Bwx5bsfr.js → OrgKeyPrompt-_pg1asnX.js} +1 -1
  30. package/web/assets/{ProcessControls-fGxrA3S_.js → ProcessControls-BXu0aujq.js} +1 -1
  31. package/web/assets/{ProcessDetailPage-CLnJCD72.js → ProcessDetailPage-ClzLOqgt.js} +1 -1
  32. package/web/assets/{ProcessMetrics-BW__HDke.js → ProcessMetrics-D-40_Bx4.js} +1 -1
  33. package/web/assets/{ProjectDetailPage-Ce1zdcwd.js → ProjectDetailPage-XVg6xk7_.js} +1 -1
  34. package/web/assets/{ProjectListPage-qc6QJNM3.js → ProjectListPage-BW4wrm6E.js} +1 -1
  35. package/web/assets/{RandomJobTestPage-BsxisDM5.js → RandomJobTestPage-DZ75Nh-v.js} +1 -1
  36. package/web/assets/{ScenarioEditorPage-tiQrpZNT.js → ScenarioEditorPage-uH-7yybT.js} +1 -1
  37. package/web/assets/{SendToChatDialog-BYiIZsix.js → SendToChatDialog-nfy9y-Ji.js} +1 -1
  38. package/web/assets/{ServiceControlsBar--b8ram4N.js → ServiceControlsBar-hNxsBv7d.js} +1 -1
  39. package/web/assets/{ServiceDetailPage-BK7sOJd4.js → ServiceDetailPage-DxSGMGDF.js} +1 -1
  40. package/web/assets/{ServiceFormPage-BPUbQ8eQ.js → ServiceFormPage-QkfjrWmq.js} +1 -1
  41. package/web/assets/{SettingsPage-8ZgPISDu.js → SettingsPage-DJLCo3L_.js} +4 -4
  42. package/web/assets/{UnlockPage-Bg0EPmSo.js → UnlockPage-BhHpc9pz.js} +1 -1
  43. package/web/assets/{VariablesTable-C7mODFti.js → VariablesTable-N_1OjM81.js} +1 -1
  44. package/web/assets/{VaultMigrationPage-mgp3-Hsq.js → VaultMigrationPage-DVrzZhP0.js} +1 -1
  45. package/web/assets/{VersionBadge-DGZjo982.js → VersionBadge-C8SWxB0u.js} +1 -1
  46. package/web/assets/WikiPage-rOxWNgKc.js +1 -0
  47. package/web/assets/{WikiView-tMGuKUY2.js → WikiView-Bh4Rc1_F.js} +1 -1
  48. package/web/assets/{add-scalar-classes-BgqWOLQH.js → add-scalar-classes-DreMq9eS.js} +3 -3
  49. package/web/assets/auth-errors-BOBaCbd9.js +1 -0
  50. package/web/assets/{autocomplete-DlIRxgc8.js → autocomplete-CdduMsds.js} +1 -1
  51. package/web/assets/{basic-shape-diamond.svg-B7ur9JO4.js → basic-shape-diamond.svg-J1CPrYKJ.js} +1 -1
  52. package/web/assets/{basic-shape-hexagon.svg-DEfqRmFr.js → basic-shape-hexagon.svg-D9pZpKRd.js} +1 -1
  53. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-V6KTcDwi.js → basic-shape-primary-circle-ellipse-round.svg-GoFZOez-.js} +1 -1
  54. package/web/assets/{basic-shape-primary-square-rectangle.svg-mU3jSNud.js → basic-shape-primary-square-rectangle.svg-5sAWcFH7.js} +1 -1
  55. package/web/assets/{basic-shape-shield.svg-JAGEwIw7.js → basic-shape-shield.svg-BBhZF-nU.js} +1 -1
  56. package/web/assets/{browser-DE-oiBA0.js → browser-CGF8J-d2.js} +1 -1
  57. package/web/assets/{browser-0-TVi2jL.js → browser-D9PR5ryM.js} +1 -1
  58. package/web/assets/{card-C152TdF6.js → card-wcB3LVu3.js} +1 -1
  59. package/web/assets/{checkbox-CoDq6QxG.js → checkbox-BGl4zewJ.js} +1 -1
  60. package/web/assets/{chip-DiN27Sf6.js → chip-BeU7R8v5.js} +1 -1
  61. package/web/assets/{client-D3lUQ8TX.js → client-mw7vk2NS.js} +1 -1
  62. package/web/assets/{cloud-chat.store-CIEJoBc3.js → cloud-chat.store-DteZIY7A.js} +1 -1
  63. package/web/assets/{cloud-session-I5TcP0ts.js → cloud-session-PX6MlRl9.js} +1 -1
  64. package/web/assets/{column-rIfrAwvi.js → column-D_CDh4mf.js} +1 -1
  65. package/web/assets/{computer-device-desktop-monitor.svg-BWTOGrGn.js → computer-device-desktop-monitor.svg-DvELTXaq.js} +1 -1
  66. package/web/assets/{computer-device-desktop.svg-BXYm7eHz.js → computer-device-desktop.svg-Cy5MNLjy.js} +1 -1
  67. package/web/assets/{computer-device-laptop.svg-CspWQCMB.js → computer-device-laptop.svg-CeTHd2Gz.js} +1 -1
  68. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-BOi_lHGI.js → computer-device-mobile-phone-android-samsung-back.svg-U357QLLy.js} +1 -1
  69. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-Bw1fgRUL.js → computer-device-mobile-phone-android-samsung.svg-BxWQ3WQu.js} +1 -1
  70. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-ZzI8YM2i.js → computer-device-mobile-phone-iphone-x-back.svg-JTaGwsMH.js} +1 -1
  71. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-Dz7SwpcB.js → computer-device-mobile-phone-iphone-x.svg-CG2NhvNR.js} +1 -1
  72. package/web/assets/{computer-device-mobile-tablet-touch.svg-CfP_nJtb.js → computer-device-mobile-tablet-touch.svg-0RIIeEQE.js} +1 -1
  73. package/web/assets/{computer-device-mobile-tablet.svg-Dkp6oFPr.js → computer-device-mobile-tablet.svg-BpEHWNNy.js} +1 -1
  74. package/web/assets/{computer-device-network-ethernet-cat6.svg-CA3nu1Ai.js → computer-device-network-ethernet-cat6.svg-ekymSTiB.js} +1 -1
  75. package/web/assets/{computer-device-network-lan-www.svg-mfjNsFZV.js → computer-device-network-lan-www.svg-DQ7DjA-N.js} +1 -1
  76. package/web/assets/{computer-device-network-wifi-connection.svg-B9cbDjyZ.js → computer-device-network-wifi-connection.svg-Chlu-E0n.js} +1 -1
  77. package/web/assets/{computer-device-network-wifi-router.svg-mkJlqSab.js → computer-device-network-wifi-router.svg-sXuKxg3H.js} +1 -1
  78. package/web/assets/{cssMode-Bj1qv6mB.js → cssMode-CmAJhlK2.js} +1 -1
  79. package/web/assets/{divider-BV6KyMHP.js → divider-CIEeFsQF.js} +1 -1
  80. package/web/assets/{docx-preview-lGixn6zc.js → docx-preview-BzWsyqjd.js} +1 -1
  81. package/web/assets/{ecology-science-erlenmeyer-flask.svg-BlLI86Cp.js → ecology-science-erlenmeyer-flask.svg-DBWUyVvG.js} +1 -1
  82. package/web/assets/{fieldset-BV-TEl6j.js → fieldset-DbVZGmxF.js} +1 -1
  83. package/web/assets/{freemarker2-DYshYet-.js → freemarker2-CpZwjOiK.js} +1 -1
  84. package/web/assets/{handlebars-DF5eIG2S.js → handlebars-BF01Ro6D.js} +1 -1
  85. package/web/assets/{html-Bkwzn0ft.js → html-y42MG6La.js} +1 -1
  86. package/web/assets/{htmlMode-BTiH01BO.js → htmlMode-BiFUKM7B.js} +1 -1
  87. package/web/assets/{image-flash-lightning.svg-c3b9QPR_.js → image-flash-lightning.svg-D8MQjxej.js} +1 -1
  88. package/web/assets/{image-picture-flower.svg-BRhtkn-W.js → image-picture-flower.svg-DhtjWeFt.js} +1 -1
  89. package/web/assets/{index-CplRrSRh.js → index-K4MHcRkt.js} +5 -5
  90. package/web/assets/{interface-alert-exclamation-diamond.svg-BKNxApru.js → interface-alert-exclamation-diamond.svg-BnuBbqzl.js} +1 -1
  91. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-CS5uFyXe.js → interface-alert-exclamation-triangle-warning.svg-CLIWOLdf.js} +1 -1
  92. package/web/assets/{interface-alert-information-circle.svg-CyYDXV5Z.js → interface-alert-information-circle.svg--CM4LBgr.js} +1 -1
  93. package/web/assets/{interface-award-crown.svg-DUpoEWQ_.js → interface-award-crown.svg-CwUcjE17.js} +1 -1
  94. package/web/assets/{interface-bookmark.svg-C1z7my12.js → interface-bookmark-tag.svg-BYkbHYcm.js} +1 -1
  95. package/web/assets/{interface-bookmark-tag.svg-Bk7FVus1.js → interface-bookmark.svg-C-WYwhpR.js} +1 -1
  96. package/web/assets/{interface-calendar-date-one.svg-D-LhaGu6.js → interface-calendar-date-one.svg-BEV_BtWR.js} +1 -1
  97. package/web/assets/{interface-content-book-open-pages.svg-Ctp8gYd6.js → interface-content-book-open-pages.svg-DklVPzGE.js} +1 -1
  98. package/web/assets/{interface-content-book-page.svg-CJLpVm6-.js → interface-content-book-page.svg-DtEixblx.js} +1 -1
  99. package/web/assets/{interface-content-file.svg-Cdw9adYu.js → interface-content-file.svg-CbdR0tUT.js} +1 -1
  100. package/web/assets/{interface-content-folder.svg-C-LTli3D.js → interface-content-folder.svg-Bb6W8S8_.js} +1 -1
  101. package/web/assets/interface-content-folder.svg-BiARWOa_.js +1 -0
  102. package/web/assets/{interface-copy-clipboard.svg-CZ1FlsN3.js → interface-copy-clipboard.svg-cy8mE1ku.js} +1 -1
  103. package/web/assets/{interface-edit-attachment.svg-BzNI07D3.js → interface-edit-attachment.svg-ujlWFwop.js} +1 -1
  104. package/web/assets/{interface-edit-binocular.svg-D2O6TBox.js → interface-edit-binocular.svg-DdndLqEe.js} +1 -1
  105. package/web/assets/{interface-edit-magic-wand.svg-NbFFUmgA.js → interface-edit-magic-wand.svg-D3PbWjw6.js} +1 -1
  106. package/web/assets/{interface-edit-tool-paint-roller.svg-5NUO3OYA.js → interface-edit-tool-paint-roller.svg-DEJvhvns.js} +1 -1
  107. package/web/assets/{interface-edit-tool-pencil.svg-CsuvbO7P.js → interface-edit-tool-pencil.svg-CSwy7Tpt.js} +1 -1
  108. package/web/assets/{interface-favorite-award.svg-BhZPSTvB.js → interface-favorite-award.svg-Ct3aGvri.js} +1 -1
  109. package/web/assets/{interface-favorite-flag.svg-C3aTxT5W.js → interface-favorite-flag.svg-Dt2tGcDG.js} +1 -1
  110. package/web/assets/{interface-favorite-heart.svg-CdyXJ4-T.js → interface-favorite-heart.svg-BCAdec7C.js} +1 -1
  111. package/web/assets/{interface-favorite-star.svg-Bl7oTnFq.js → interface-favorite-star.svg-Dcen2Unz.js} +1 -1
  112. package/web/assets/{interface-favorite-stars-sparkles.svg-Bsof10gz.js → interface-favorite-stars-sparkles.svg-BptG3dBN.js} +1 -1
  113. package/web/assets/{interface-hierarchy-flowchart.svg-BbdkFdhV.js → interface-hierarchy-flowchart.svg-CG8rKwV2.js} +1 -1
  114. package/web/assets/{interface-home-house.svg-DLWOXxe1.js → interface-home-house.svg-EjYsHgjY.js} +1 -1
  115. package/web/assets/{interface-hyperlink.svg-BrIqh6_T.js → interface-hyperlink.svg-R0Inwsnr.js} +1 -1
  116. package/web/assets/{interface-lighting-brightness.svg-_MFwbHxh.js → interface-lighting-brightness.svg-82wRZ7U5.js} +1 -1
  117. package/web/assets/{interface-lock-closed.svg-D8VwQ7hs.js → interface-lock-closed.svg-CKCtxTSF.js} +1 -1
  118. package/web/assets/{interface-lock-open-unlock.svg-Bj_TseHM.js → interface-lock-open-unlock.svg-25bZt-jb.js} +1 -1
  119. package/web/assets/{interface-login-key.svg-Bk-bjimy.js → interface-login-key.svg-C1nVpqWu.js} +1 -1
  120. package/web/assets/{interface-search.svg-BLDHFL3v.js → interface-search.svg-Db9i4fOU.js} +1 -1
  121. package/web/assets/{interface-setting-cog.svg-DuL65Vq0.js → interface-setting-cog.svg-C2juGx3i.js} +1 -1
  122. package/web/assets/{interface-share-megaphone-bullhorn.svg-sDeWj2To.js → interface-share-megaphone-bullhorn.svg-DWKTYrRq.js} +1 -1
  123. package/web/assets/{interface-share-rocket.svg-C-Ne_EFf.js → interface-share-rocket.svg-D9L6uhiQ.js} +1 -1
  124. package/web/assets/{interface-share-satellite.svg-AyoxSUGq.js → interface-share-satellite.svg-Dt-PZyoP.js} +1 -1
  125. package/web/assets/{interface-share-space-ship.svg-DZkvh0bc.js → interface-share-space-ship.svg-DbJpVjTn.js} +1 -1
  126. package/web/assets/{interface-share.svg-gF-L8Nqu.js → interface-share.svg-9Bxtnx5d.js} +1 -1
  127. package/web/assets/{interface-signal-square.svg-WmkMCnmC.js → interface-signal-square.svg-CYGdCItu.js} +1 -1
  128. package/web/assets/{interface-time-clock-circle.svg-wnGmSxqF.js → interface-time-clock-circle.svg-0lffJ7tQ.js} +1 -1
  129. package/web/assets/{interface-time-hour-glass.svg-BN8-MnG6.js → interface-time-hour-glass.svg-BtZTqD1b.js} +1 -1
  130. package/web/assets/{interface-users-multiple.svg-Iq7LT4bZ.js → interface-users-multiple.svg-B7F73V4j.js} +1 -1
  131. package/web/assets/{interface-weather-moon.svg-L2QkagiT.js → interface-weather-moon.svg-Co0IUTf8.js} +1 -1
  132. package/web/assets/{javascript-D2NstPql.js → javascript-iLWmo9Qr.js} +1 -1
  133. package/web/assets/{jsonMode-6di6CsEi.js → jsonMode-D3SRxnAF.js} +1 -1
  134. package/web/assets/{liquid-D2Cnxy5i.js → liquid-D5C_hJy7.js} +1 -1
  135. package/web/assets/{lspLanguageFeatures-DlOdzu4U.js → lspLanguageFeatures-DeXbFx7Z.js} +1 -1
  136. package/web/assets/{mail-chat-bubble-square.svg-D4A8L_FV.js → mail-chat-bubble-square.svg-Cnn1sRtD.js} +1 -1
  137. package/web/assets/{mail-send-email-paper-airplane.svg-BXZFcU3O.js → mail-send-email-paper-airplane.svg-CqK1oWPg.js} +1 -1
  138. package/web/assets/{mail-send-envelope.svg-BCtFhHY6.js → mail-send-envelope.svg-DIvASWH1.js} +1 -1
  139. package/web/assets/{mdx-Qdv0CXdk.js → mdx-wnkKJwKX.js} +1 -1
  140. package/web/assets/{minus-BYrMN2Qe.js → minus-BGc58rrM.js} +1 -1
  141. package/web/assets/{modal-BOjcXqO0.js → modal-CVEyxr-0.js} +1 -1
  142. package/web/assets/modal-DmCFgP0y.js +1 -0
  143. package/web/assets/{money-cashier-receipt.svg-JFlHIic-.js → money-cashier-receipt.svg-CzJyKfSy.js} +1 -1
  144. package/web/assets/{money-currency-dollar-pay.svg-DqIxaR0X.js → money-currency-dollar-pay.svg-CwjHgCC1.js} +1 -1
  145. package/web/assets/{money-graph-arrow-increase.svg-z_JTyXZ5.js → money-graph-arrow-increase.svg-C2VxjTpX.js} +1 -1
  146. package/web/assets/{money-graph-bar-chart-increase.svg-DKt8OoHk.js → money-graph-bar-chart-increase.svg-CI6bcxy-.js} +1 -1
  147. package/web/assets/{multiselect-hclMAFHG.js → multiselect-DYHLYL35.js} +1 -1
  148. package/web/assets/{nature-ecology-leaf.svg-xt_SUqqe.js → nature-ecology-leaf.svg-DlkkijsA.js} +1 -1
  149. package/web/assets/{password-CyJoTrTG.js → password-CknBOa6c.js} +1 -1
  150. package/web/assets/{phone-telephone.svg-3kwA4q2S.js → phone-telephone.svg-DB57c0uQ.js} +1 -1
  151. package/web/assets/{plus-C_ps1Ew7.js → plus-vTZ3EI82.js} +1 -1
  152. package/web/assets/process.store-CeybR5VK.js +1 -0
  153. package/web/assets/{programming-bug.svg-DxZ_5I-g.js → programming-bug.svg-Bpzz6qqz.js} +1 -1
  154. package/web/assets/{programming-cloud.svg-Bdz2V_07.js → programming-cloud.svg-Bu_Znc8m.js} +1 -1
  155. package/web/assets/{programming-computer-database-server.svg-MsACOwen.js → programming-computer-database-server.svg-BzyehrHn.js} +1 -1
  156. package/web/assets/{programming-computer-database.svg-CA3XDPkS.js → programming-computer-database.svg-jGG7yJ-F.js} +1 -1
  157. package/web/assets/{programming-module-four-layout.svg-C-M_zaN0.js → programming-module-four-layout.svg-BUt4Ml7K.js} +1 -1
  158. package/web/assets/{programming-module-three.svg-z02jPdZc.js → programming-module-three.svg-DTbRPYAb.js} +1 -1
  159. package/web/assets/{programming-module.svg-O2z2h5Yy.js → programming-module.svg-z4xhH8Dl.js} +1 -1
  160. package/web/assets/{programming-script-code.svg-O2y7s7Sg.js → programming-script-code.svg-CnJWv1-9.js} +1 -1
  161. package/web/assets/{python-B9fabt5H.js → python-rG_OzRqj.js} +1 -1
  162. package/web/assets/{razor-RpPGJluR.js → razor-D3sCDiqd.js} +1 -1
  163. package/web/assets/router-Dx2pV4zI.js +1 -0
  164. package/web/assets/settings-scope-DVqLTAzI.js +1 -0
  165. package/web/assets/{settings.store-XG7Iimtz.js → settings.store-Ci_N5bWL.js} +1 -1
  166. package/web/assets/{shopping-cart.svg-Bn438qnw.js → shopping-cart.svg-BKfZC1qE.js} +1 -1
  167. package/web/assets/{shopping-gift-present.svg-BrgI_K4x.js → shopping-gift-present.svg-t023rdyN.js} +1 -1
  168. package/web/assets/{shopping-shipping-box-parcel-package.svg-CCRm84zO.js → shopping-shipping-box-parcel-package.svg-BwzwfQ_c.js} +1 -1
  169. package/web/assets/{src-BWrdKF09.js → src-3tEmDkie.js} +1 -1
  170. package/web/assets/{src-BjUSqLVz.js → src-DPqmktmn.js} +1 -1
  171. package/web/assets/{tabpanel-MTqk9phm.js → tabpanel-B40ITuTH.js} +1 -1
  172. package/web/assets/{tag-new-circle.svg-DQhJVwNv.js → tag-new-circle.svg-BIfD1F_x.js} +1 -1
  173. package/web/assets/{toggleswitch-C2sxI6ou.js → toggleswitch-Dt_ptl6t.js} +1 -1
  174. package/web/assets/{travel-map-earth-globe.svg-6ncQ3ANE.js → travel-map-earth-globe.svg-CXUdwwcu.js} +1 -1
  175. package/web/assets/trpc-BkrN7NiU.js +1 -0
  176. package/web/assets/{tsMode-BP42so6N.js → tsMode-tZ7zzelW.js} +1 -1
  177. package/web/assets/{typescript-Dqi5iqvC.js → typescript-FIjOqkFs.js} +1 -1
  178. package/web/assets/useAiChatDrawer-DFAtVCez.js +1 -0
  179. package/web/assets/useCloudOrg-CZ_ZOAVy.css +1 -0
  180. package/web/assets/{useCloudOrg-DCMGDqIV.js → useCloudOrg-DnZamx1M.js} +5 -5
  181. package/web/assets/{useProjectCatalog-ZQP8yHPc.js → useProjectCatalog-B4PXCnXu.js} +1 -1
  182. package/web/assets/{xml-DVa59_bl.js → xml-CdxscNq-.js} +1 -1
  183. package/web/assets/{yaml-BEVWHb2n.js → yaml-D6DcoEmu.js} +1 -1
  184. package/web/index.html +1 -1
  185. package/agent-manager-XUXD6WPM.js +0 -7
  186. package/desktop-launcher-4BVDZ3W4.js.map +0 -1
  187. package/src-5X4QUDVE.js.map +0 -1
  188. package/web/assets/AiChatPage-C6vKd2Co.js +0 -1
  189. package/web/assets/CloudAccountPage-Dbj64qEe.js +0 -1
  190. package/web/assets/WikiPage-BgmuCAy-.js +0 -1
  191. package/web/assets/auth-errors-DDgcewH0.js +0 -1
  192. package/web/assets/interface-content-folder.svg-BKBGotmZ.js +0 -1
  193. package/web/assets/modal-Bz_LuPtU.js +0 -1
  194. package/web/assets/process.store-BaKrBmHk.js +0 -1
  195. package/web/assets/router-Bgwy1k6u.js +0 -1
  196. package/web/assets/settings-scope-CBy_Xmtx.js +0 -1
  197. package/web/assets/trpc-S8kCUK1q.js +0 -1
  198. package/web/assets/useAiChatDrawer-CPC60d0U.js +0 -1
  199. package/web/assets/useCloudOrg-CxaCKu1v.css +0 -1
  200. /package/{agent-manager-XUXD6WPM.js.map → agent-manager-U454MXAX.js.map} +0 -0
@@ -180,6 +180,26 @@ function windowsLnkPath(name) {
180
180
  const appData = process.env["APPDATA"] || join(homedir(), "AppData/Roaming");
181
181
  return join(appData, "Microsoft/Windows/Start Menu/Programs", `${name}.lnk`);
182
182
  }
183
+ function windowsVbsPath(id) {
184
+ const localAppData = process.env["LOCALAPPDATA"] || join(homedir(), "AppData/Local");
185
+ return join(localAppData, "Runeya", `${id}.vbs`);
186
+ }
187
+ function vbsQuote(value) {
188
+ return `"${value.replace(/"/g, '""')}"`;
189
+ }
190
+ function windowsVbsScript(opts) {
191
+ const command = [opts.nodePath, opts.cliEntry, ...launcherArgs(opts)].map((part) => `"${part}"`).join(" ");
192
+ return [
193
+ // Commentaires en ASCII : wscript lit un .vbs sans BOM comme de l'ANSI, et
194
+ // des accents s'y afficheraient de travers à qui l'ouvre.
195
+ "' Runeya launcher - created by 'runeya install-desktop', do not edit.",
196
+ "' wscript.exe opens no console; the 0 below starts Runeya hidden.",
197
+ 'Set sh = CreateObject("WScript.Shell")',
198
+ `sh.CurrentDirectory = ${vbsQuote(launcherWorkingDir(opts.workingDir))}`,
199
+ `sh.Run ${vbsQuote(command)}, 0, False`,
200
+ ""
201
+ ].join("\n");
202
+ }
183
203
  async function runPowerShell(script, warnings) {
184
204
  const encoded = Buffer.from(script, "utf16le").toString("base64");
185
205
  try {
@@ -195,28 +215,33 @@ async function installWindows(opts) {
195
215
  const icoPath = join(opts.distDir, "assets/icon.ico");
196
216
  const iconPath = await exists(icoPath) ? icoPath : null;
197
217
  if (!iconPath) warnings.push(`Ic\xF4ne introuvable (${icoPath}), ic\xF4ne de Node utilis\xE9e`);
218
+ const vbs = windowsVbsPath(opts.id);
219
+ await mkdir(dirname(vbs), { recursive: true });
220
+ await writeFile(vbs, windowsVbsScript(opts), "utf8");
221
+ const wscript = join(process.env["SystemRoot"] || "C:\\Windows", "System32", "wscript.exe");
198
222
  const script = [
199
223
  `$ws = New-Object -ComObject WScript.Shell`,
200
224
  `$sc = $ws.CreateShortcut(${psQuote(lnk)})`,
201
- `$sc.TargetPath = ${psQuote(opts.nodePath)}`,
202
- `$sc.Arguments = ${psQuote([`"${opts.cliEntry}"`, ...launcherArgs(opts)].join(" "))}`,
225
+ `$sc.TargetPath = ${psQuote(wscript)}`,
226
+ `$sc.Arguments = ${psQuote(`"${vbs}"`)}`,
203
227
  `$sc.WorkingDirectory = ${psQuote(launcherWorkingDir(opts.workingDir))}`,
204
228
  `$sc.Description = 'Runeya \u2014 process and service manager'`,
229
+ // L'icône reste celle de Runeya : elle est déclarée à part de la cible.
205
230
  iconPath ? `$sc.IconLocation = ${psQuote(iconPath)}` : "",
206
- // WindowStyle 7 = minimized: the console still exists (Node needs one) but
207
- // stays out of the way while the browser opens.
208
- `$sc.WindowStyle = 7`,
209
231
  `$sc.Save()`
210
232
  ].filter(Boolean).join("\n");
211
233
  await mkdir(dirname(lnk), { recursive: true });
212
234
  await runPowerShell(script, warnings);
213
- return { paths: [lnk], warnings };
235
+ return { paths: [lnk, vbs], warnings };
214
236
  }
215
- async function uninstallWindows(name) {
216
- const lnk = windowsLnkPath(name);
217
- if (!await exists(lnk)) return { paths: [], warnings: [] };
218
- await rm(lnk, { force: true });
219
- return { paths: [lnk], warnings: [] };
237
+ async function uninstallWindows(name, id) {
238
+ const removed = [];
239
+ for (const path of [windowsLnkPath(name), windowsVbsPath(id)]) {
240
+ if (!await exists(path)) continue;
241
+ await rm(path, { force: true });
242
+ removed.push(path);
243
+ }
244
+ return { paths: removed, warnings: [] };
220
245
  }
221
246
  async function installDesktopLauncher(opts) {
222
247
  switch (process.platform) {
@@ -241,7 +266,7 @@ async function uninstallDesktopLauncher(name, id) {
241
266
  case "darwin":
242
267
  return uninstallMac(name);
243
268
  case "win32":
244
- return uninstallWindows(name);
269
+ return uninstallWindows(name, id);
245
270
  default:
246
271
  throw new Error(`Plateforme non support\xE9e : ${process.platform}`);
247
272
  }
@@ -255,6 +280,8 @@ export {
255
280
  launcherWorkingDir,
256
281
  psQuote,
257
282
  slugify,
258
- uninstallDesktopLauncher
283
+ uninstallDesktopLauncher,
284
+ vbsQuote,
285
+ windowsVbsScript
259
286
  };
260
- //# sourceMappingURL=desktop-launcher-4BVDZ3W4.js.map
287
+ //# sourceMappingURL=desktop-launcher-FHNURZA7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/desktop-launcher.ts"],"sourcesContent":["/**\n * Cross-platform desktop launcher (`runeya install-desktop`).\n *\n * Deliberately an explicit sub-command rather than a postinstall hook: npm 12\n * blocks lifecycle scripts by default, so a launcher created that way would be\n * silently missing. Here the user asks for it, and gets the paths back.\n *\n * Nothing is embedded — the launcher points at the Node binary and the CLI\n * entry point currently in use. If the user switches Node version manager,\n * re-running the command re-pins the paths.\n */\nimport { mkdir, writeFile, rm, copyFile, access } from 'node:fs/promises';\nimport { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\nimport { homedir } from 'node:os';\nimport { join, basename, dirname } from 'node:path';\n\nconst exec = promisify(execFile);\n\nexport type InstallOptions = {\n /** Absolute path to the Node binary the launcher must use. */\n nodePath: string;\n /** Absolute path to the CLI entry point (dist/index.js). */\n cliEntry: string;\n /** Directory holding the CLI dist — used to find the bundled icons in assets/. */\n distDir: string;\n /** Working directory to pin, or null to let the desktop decide. */\n workingDir: string | null;\n /** Display name, e.g. \"Runeya\" or \"Runeya — my-stack\". */\n name: string;\n /** Filesystem-safe id derived from the name, e.g. \"runeya-my-stack\". */\n id: string;\n /** Port baked into the launcher, or null to follow Runeya's default. */\n port: number | null;\n /** Agent port, or null to let Runeya derive it from `port + 1`. */\n agentPort: number | null;\n};\n\n/**\n * Arguments the launcher passes to the CLI.\n *\n * `--agent-port` is omitted when it is exactly what Runeya would derive on its\n * own, so the command line stays readable and keeps following the derivation\n * if it ever changes.\n */\nexport function launcherArgs(opts: Pick<InstallOptions, 'port' | 'agentPort'>): string[] {\n const args = ['--from-desktop'];\n if (opts.port !== null) args.push('--port', String(opts.port));\n if (opts.agentPort !== null && opts.agentPort !== (opts.port ?? 4000) + 1) {\n args.push('--agent-port', String(opts.agentPort));\n }\n return args;\n}\n\nexport type LauncherResult = {\n /** Files created or removed, for reporting back to the user. */\n paths: string[];\n /** Non-fatal problems (missing icon, desktop database refresh failed…). */\n warnings: string[];\n};\n\n/** Turn a display name into a filesystem- and desktop-id-safe slug. */\nexport function slugify(name: string): string {\n const slug = name\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '');\n return slug || 'runeya';\n}\n\n/**\n * The id is a pure function of the display name, so `uninstall-desktop --name`\n * always resolves to the launcher that `install-desktop` created. Names that\n * already slug to something starting with \"runeya\" are not prefixed again —\n * without that, the default \"Runeya — my-stack\" would yield the unreachable\n * id \"runeya-runeya-my-stack\".\n */\nexport function idFromName(name: string): string {\n const slug = slugify(name);\n return slug.startsWith('runeya') ? slug : `runeya-${slug}`;\n}\n\n/**\n * Derive the display name and id for a launcher.\n * Pinning a directory yields \"Runeya — <folder>\" so several stacks can each\n * have their own entry without colliding.\n */\n/**\n * Le dossier de travail d'un lanceur, avec un repli qui n'est jamais la racine.\n *\n * Sans dossier épinglé, un lanceur hérite du cwd du système — `/` pour le\n * Finder comme pour systemd — et Runeya y placerait son `.runeya`. La racine\n * est en lecture seule sous macOS et interdite d'écriture sous Linux : le home\n * est le seul repli toujours disponible. Le CLI applique la même garde à\n * l'exécution, pour les lanceurs posés avant ce correctif.\n */\nexport function launcherWorkingDir(workingDir: string | null): string {\n return workingDir ?? homedir();\n}\n\nexport function deriveIdentity(explicitName: string | undefined, workingDir: string | null): { name: string; id: string } {\n const name = explicitName ?? (workingDir ? `Runeya — ${basename(workingDir)}` : 'Runeya');\n return { name, id: idFromName(name) };\n}\n\nasync function exists(path: string): Promise<boolean> {\n try {\n await access(path);\n return true;\n } catch {\n return false;\n }\n}\n\n/** Best-effort command: never fails the install, just reports a warning. */\nasync function tryExec(file: string, args: string[], warnings: string[]): Promise<void> {\n try {\n await exec(file, args);\n } catch {\n warnings.push(`Commande optionnelle échouée : ${file} (le lanceur est créé, le menu peut mettre un instant à l'afficher)`);\n }\n}\n\n// ─── Linux ───────────────────────────────────────────────────────────────────\n\n/**\n * Quote a value for the `Exec=` key of a .desktop file.\n * Per the Desktop Entry spec, inside a quoted argument the characters\n * `\"`, backtick, `$` and `\\` must each be preceded by a backslash.\n */\nexport function desktopExecQuote(value: string): string {\n return `\"${value.replace(/[\"`$\\\\]/g, (c) => `\\\\${c}`)}\"`;\n}\n\n/** Escape a value for a non-Exec .desktop key (only backslashes are special). */\nfunction desktopValue(value: string): string {\n return value.replace(/\\\\/g, '\\\\\\\\').replace(/\\n/g, ' ');\n}\n\nfunction xdgDataHome(): string {\n return process.env['XDG_DATA_HOME'] || join(homedir(), '.local/share');\n}\n\nfunction linuxPaths(id: string) {\n const dataHome = xdgDataHome();\n const appsDir = join(dataHome, 'applications');\n return {\n appsDir,\n entry: join(appsDir, `${id}.desktop`),\n iconDir: join(dataHome, 'icons/hicolor/scalable/apps'),\n icon: join(dataHome, `icons/hicolor/scalable/apps/${id}.svg`),\n };\n}\n\nasync function installLinux(opts: InstallOptions): Promise<LauncherResult> {\n const paths: string[] = [];\n const warnings: string[] = [];\n const p = linuxPaths(opts.id);\n\n // The icon is an SVG, which the scalable hicolor directory takes as-is.\n const sourceIcon = join(opts.distDir, 'assets/icon.svg');\n let iconName = 'application-x-executable';\n if (await exists(sourceIcon)) {\n await mkdir(p.iconDir, { recursive: true });\n await copyFile(sourceIcon, p.icon);\n paths.push(p.icon);\n iconName = opts.id;\n } else {\n warnings.push(`Icône introuvable (${sourceIcon}), icône générique utilisée`);\n }\n\n // --from-desktop: nobody is watching a terminal, so startup failures must be\n // reported in a browser window rather than written to a discarded stderr.\n const exec_ = [opts.nodePath, opts.cliEntry, ...launcherArgs(opts)]\n .map(desktopExecQuote)\n .join(' ');\n const lines = [\n '[Desktop Entry]',\n 'Type=Application',\n `Name=${desktopValue(opts.name)}`,\n 'Comment=Process and service manager',\n `Exec=${exec_}`,\n `Icon=${iconName}`,\n 'Terminal=false',\n 'Categories=Development;',\n 'StartupNotify=true',\n // Marker used by uninstall-desktop to refuse deleting a hand-written entry\n 'X-Runeya-Managed=true',\n ];\n lines.push(`Path=${desktopValue(launcherWorkingDir(opts.workingDir))}`);\n\n await mkdir(p.appsDir, { recursive: true });\n await writeFile(p.entry, lines.join('\\n') + '\\n', { mode: 0o755 });\n paths.push(p.entry);\n\n await tryExec('update-desktop-database', [p.appsDir], warnings);\n\n return { paths, warnings };\n}\n\nasync function uninstallLinux(id: string): Promise<LauncherResult> {\n const paths: string[] = [];\n const warnings: string[] = [];\n const p = linuxPaths(id);\n for (const target of [p.entry, p.icon]) {\n if (await exists(target)) {\n await rm(target, { force: true });\n paths.push(target);\n }\n }\n if (paths.length) await tryExec('update-desktop-database', [p.appsDir], warnings);\n return { paths, warnings };\n}\n\n// ─── macOS ───────────────────────────────────────────────────────────────────\n\n/** Escape a value destined for a <string> node of an Info.plist. */\nfunction plistString(value: string): string {\n return value\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;');\n}\n\n/** Single-quote a value for the POSIX shell inside the .app stub script. */\nfunction shQuote(value: string): string {\n return `'${value.replace(/'/g, `'\\\\''`)}'`;\n}\n\nfunction macAppPath(name: string): string {\n return join(homedir(), 'Applications', `${name}.app`);\n}\n\nasync function installMac(opts: InstallOptions): Promise<LauncherResult> {\n const warnings: string[] = [];\n const appPath = macAppPath(opts.name);\n const macosDir = join(appPath, 'Contents/MacOS');\n const resourcesDir = join(appPath, 'Contents/Resources');\n const execName = opts.id;\n\n await mkdir(macosDir, { recursive: true });\n await mkdir(resourcesDir, { recursive: true });\n\n // The bundle executable is a shell stub: no compiled code, no signing needed.\n // A locally generated .app carries no quarantine attribute, so Gatekeeper\n // lets it run even unsigned.\n const stub = [\n '#!/bin/sh',\n '# Generated by `runeya install-desktop` — safe to delete.',\n `cd ${shQuote(launcherWorkingDir(opts.workingDir))} || exit 1`,\n `exec ${[opts.nodePath, opts.cliEntry, ...launcherArgs(opts)].map(shQuote).join(' ')} \"$@\"`,\n '',\n ].filter(Boolean).join('\\n');\n await writeFile(join(macosDir, execName), stub, { mode: 0o755 });\n\n // CFBundleIconFile is only emitted when the .icns actually made it into the\n // bundle — a key pointing at a missing file makes Finder fall back silently,\n // which is harder to diagnose than no key at all.\n const sourceIcns = join(opts.distDir, 'assets/icon.icns');\n let iconKey = '';\n if (await exists(sourceIcns)) {\n await copyFile(sourceIcns, join(resourcesDir, `${execName}.icns`));\n iconKey = `\\n <key>CFBundleIconFile</key><string>${plistString(execName)}</string>`;\n } else {\n warnings.push(`Icône introuvable (${sourceIcns}), icône générique utilisée`);\n }\n\n const plist = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n<plist version=\"1.0\">\n<dict>\n <key>CFBundleName</key><string>${plistString(opts.name)}</string>\n <key>CFBundleDisplayName</key><string>${plistString(opts.name)}</string>\n <key>CFBundleExecutable</key><string>${plistString(execName)}</string>\n <key>CFBundleIdentifier</key><string>dev.runeya.launcher.${plistString(opts.id)}</string>\n <key>CFBundlePackageType</key><string>APPL</string>${iconKey}\n <key>CFBundleInfoDictionaryVersion</key><string>6.0</string>\n <key>CFBundleShortVersionString</key><string>1.0</string>\n <key>NSHighResolutionCapable</key><true/>\n</dict>\n</plist>\n`;\n await writeFile(join(appPath, 'Contents/Info.plist'), plist);\n\n // Ask LaunchServices to notice the new bundle so Spotlight finds it right away.\n await tryExec(\n '/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister',\n ['-f', appPath],\n warnings,\n );\n\n return { paths: [appPath], warnings };\n}\n\nasync function uninstallMac(name: string): Promise<LauncherResult> {\n const appPath = macAppPath(name);\n if (!(await exists(appPath))) return { paths: [], warnings: [] };\n await rm(appPath, { recursive: true, force: true });\n return { paths: [appPath], warnings: [] };\n}\n\n// ─── Windows ─────────────────────────────────────────────────────────────────\n\n/** Single-quote a value for a PowerShell literal string. */\nexport function psQuote(value: string): string {\n return `'${value.replace(/'/g, \"''\")}'`;\n}\n\nfunction windowsLnkPath(name: string): string {\n const appData = process.env['APPDATA'] || join(homedir(), 'AppData/Roaming');\n return join(appData, 'Microsoft/Windows/Start Menu/Programs', `${name}.lnk`);\n}\n\n/**\n * Où vit le script qui lance Runeya sans console.\n *\n * Hors du dossier du menu Démarrer — un `.vbs` posé là apparaîtrait dans la\n * recherche Windows à côté du raccourci — et hors du `dist` du paquet, qu'une\n * réinstallation npm remplace : le script y disparaîtrait sans que rien ne le\n * recrée, faute de postinstall (npm 12 les bloque).\n */\nfunction windowsVbsPath(id: string): string {\n const localAppData = process.env['LOCALAPPDATA'] || join(homedir(), 'AppData/Local');\n return join(localAppData, 'Runeya', `${id}.vbs`);\n}\n\n/** Double-quote a value for a VBScript string literal. */\nexport function vbsQuote(value: string): string {\n return `\"${value.replace(/\"/g, '\"\"')}\"`;\n}\n\n/**\n * Le script qui lance Runeya **sans fenêtre**.\n *\n * `node.exe` est une application console : Windows lui alloue une console, et\n * un raccourci ne sait que la réduire (`WindowStyle = 7`) — d'où une fenêtre de\n * commande dans la barre des tâches pendant tout l'usage de l'application.\n *\n * `wscript.exe`, lui, est une application graphique : il n'ouvre aucune console\n * et lance sa cible en `SW_HIDE` (le `0` de `Run`). La console de Node existe\n * donc toujours — c'est ce qui compte : **elle est seulement cachée, pas\n * absente**, et tout ce que Runeya lance ensuite (l'agent, git, docker, les\n * services) l'hérite sans rien afficher. C'est la même intention que le\n * `windowsHide` des runners, posée une fois pour toute la descendance.\n *\n * Le `False` rend la main immédiatement : `wscript` sort, Runeya reste.\n */\nexport function windowsVbsScript(\n opts: Pick<InstallOptions, 'nodePath' | 'cliEntry' | 'port' | 'agentPort'> & { workingDir: string | null },\n): string {\n const command = [opts.nodePath, opts.cliEntry, ...launcherArgs(opts)]\n .map((part) => `\"${part}\"`)\n .join(' ');\n return [\n // Commentaires en ASCII : wscript lit un .vbs sans BOM comme de l'ANSI, et\n // des accents s'y afficheraient de travers à qui l'ouvre.\n \"' Runeya launcher - created by 'runeya install-desktop', do not edit.\",\n \"' wscript.exe opens no console; the 0 below starts Runeya hidden.\",\n 'Set sh = CreateObject(\"WScript.Shell\")',\n `sh.CurrentDirectory = ${vbsQuote(launcherWorkingDir(opts.workingDir))}`,\n `sh.Run ${vbsQuote(command)}, 0, False`,\n '',\n ].join('\\n');\n}\n\nasync function runPowerShell(script: string, warnings: string[]): Promise<void> {\n // -EncodedCommand avoids every layer of cmd.exe quoting.\n const encoded = Buffer.from(script, 'utf16le').toString('base64');\n try {\n await exec('powershell.exe', ['-NoProfile', '-NonInteractive', '-EncodedCommand', encoded]);\n } catch (err) {\n warnings.push(`PowerShell a échoué : ${(err as Error).message}`);\n throw err;\n }\n}\n\nasync function installWindows(opts: InstallOptions): Promise<LauncherResult> {\n const warnings: string[] = [];\n const lnk = windowsLnkPath(opts.name);\n\n // The .ico is referenced in place inside the installed dist rather than\n // copied: the shortcut already breaks if that dist moves, so a second copy\n // would only add a file to leave behind.\n const icoPath = join(opts.distDir, 'assets/icon.ico');\n const iconPath = (await exists(icoPath)) ? icoPath : null;\n if (!iconPath) warnings.push(`Icône introuvable (${icoPath}), icône de Node utilisée`);\n\n // Le raccourci ne lance pas Node : il lance `wscript.exe`, qui lance Node\n // sans console. Un raccourci pointant sur `node.exe` laissait une fenêtre de\n // commande dans la barre des tâches, `WindowStyle` ne sachant que la réduire.\n const vbs = windowsVbsPath(opts.id);\n await mkdir(dirname(vbs), { recursive: true });\n await writeFile(vbs, windowsVbsScript(opts), 'utf8');\n\n const wscript = join(process.env['SystemRoot'] || 'C:\\\\Windows', 'System32', 'wscript.exe');\n\n const script = [\n `$ws = New-Object -ComObject WScript.Shell`,\n `$sc = $ws.CreateShortcut(${psQuote(lnk)})`,\n `$sc.TargetPath = ${psQuote(wscript)}`,\n `$sc.Arguments = ${psQuote(`\"${vbs}\"`)}`,\n `$sc.WorkingDirectory = ${psQuote(launcherWorkingDir(opts.workingDir))}`,\n `$sc.Description = 'Runeya — process and service manager'`,\n // L'icône reste celle de Runeya : elle est déclarée à part de la cible.\n iconPath ? `$sc.IconLocation = ${psQuote(iconPath)}` : '',\n `$sc.Save()`,\n ].filter(Boolean).join('\\n');\n\n await mkdir(dirname(lnk), { recursive: true });\n await runPowerShell(script, warnings);\n\n return { paths: [lnk, vbs], warnings };\n}\n\nasync function uninstallWindows(name: string, id: string): Promise<LauncherResult> {\n // Les deux fichiers, et chacun pour lui-même : un raccourci posé avant que le\n // lanceur ne passe par `wscript` n'a pas de `.vbs` à côté de lui, et son\n // absence n'est pas une raison de laisser le raccourci en place.\n const removed: string[] = [];\n for (const path of [windowsLnkPath(name), windowsVbsPath(id)]) {\n if (!(await exists(path))) continue;\n await rm(path, { force: true });\n removed.push(path);\n }\n return { paths: removed, warnings: [] };\n}\n\n// ─── Entry points ────────────────────────────────────────────────────────────\n\nexport async function installDesktopLauncher(opts: InstallOptions): Promise<LauncherResult> {\n switch (process.platform) {\n case 'linux':\n case 'freebsd':\n case 'openbsd':\n return installLinux(opts);\n case 'darwin':\n return installMac(opts);\n case 'win32':\n return installWindows(opts);\n default:\n throw new Error(`Plateforme non supportée : ${process.platform}`);\n }\n}\n\nexport async function uninstallDesktopLauncher(name: string, id: string): Promise<LauncherResult> {\n switch (process.platform) {\n case 'linux':\n case 'freebsd':\n case 'openbsd':\n return uninstallLinux(id);\n case 'darwin':\n return uninstallMac(name);\n case 'win32':\n return uninstallWindows(name, id);\n default:\n throw new Error(`Plateforme non supportée : ${process.platform}`);\n }\n}\n"],"mappings":"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","names":[]}
package/index.js CHANGED
@@ -84,7 +84,7 @@ for (const { flag, env: key } of ENV_FLAGS) {
84
84
  if (args.includes("--debug")) process.env["RUNEYA_DEBUG"] = "1";
85
85
  var subCommand = args[0];
86
86
  if (subCommand === "install-desktop" || subCommand === "uninstall-desktop") {
87
- const { installDesktopLauncher, uninstallDesktopLauncher, deriveIdentity } = await import("./desktop-launcher-4BVDZ3W4.js");
87
+ const { installDesktopLauncher, uninstallDesktopLauncher, deriveIdentity } = await import("./desktop-launcher-FHNURZA7.js");
88
88
  const { shouldRunWizard, runInstallWizard, printInstallReport, printUninstallReport } = await import("./desktop-wizard-4CYANX2O.js");
89
89
  const { parsePort } = await import("./free-port-565NMFIZ.js");
90
90
  const rest = args.slice(1);
@@ -279,7 +279,7 @@ async function main() {
279
279
  ensureNodeBinOnPath();
280
280
  await ensureUserBinsOnPath();
281
281
  if (!isPullEnv) stampConsole();
282
- const { createLocalServer, pullEnv, PullEnvError, registerInstance } = await import("./src-5X4QUDVE.js");
282
+ const { createLocalServer, pullEnv, PullEnvError, registerInstance } = await import("./src-K5L5HTKP.js");
283
283
  if (isPullEnv) {
284
284
  if (!serviceArg) {
285
285
  console.error("Error: --service (-s) is required with --pull-env");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runeya/runeya",
3
- "version": "2.0.88",
3
+ "version": "2.0.91",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "runeya": "./index.js"
@@ -114,7 +114,7 @@ import {
114
114
  wasRead,
115
115
  withDeprecatedAliases,
116
116
  writeEntity
117
- } from "./chunk-JB7MZWZJ.js";
117
+ } from "./chunk-PDRWT47K.js";
118
118
 
119
119
  // ../server/src/create-server.ts
120
120
  import express from "express";
@@ -582,16 +582,28 @@ var execFileAsync2 = promisify2(execFile2);
582
582
  var PACKAGE_NAME = "@runeya/runeya";
583
583
  var INSTALL_TIMEOUT_MS = 10 * 6e4;
584
584
  function resolveNpm() {
585
- const binary = process.platform === "win32" ? "npm.cmd" : "npm";
586
- const besideNode = join2(dirname2(process.execPath), binary);
587
- return existsSync(besideNode) ? besideNode : binary;
585
+ const nodeDir = dirname2(process.execPath);
586
+ const candidates = [
587
+ // Windows (installateur officiel, nvm-windows, volta) : npm est un dossier
588
+ // frère de node.exe.
589
+ join2(nodeDir, "node_modules", "npm", "bin", "npm-cli.js"),
590
+ // Unix : node est dans `bin/`, npm sous `lib/node_modules/`.
591
+ join2(nodeDir, "..", "lib", "node_modules", "npm", "bin", "npm-cli.js")
592
+ ];
593
+ for (const cli of candidates) {
594
+ if (existsSync(cli)) return { command: process.execPath, args: [cli], shell: false };
595
+ }
596
+ return process.platform === "win32" ? { command: "npm.cmd", args: [], shell: true } : { command: "npm", args: [], shell: false };
588
597
  }
589
- async function probeVersion(command, args) {
598
+ function npmLabel(npm) {
599
+ return [npm.command, ...npm.args].join(" ");
600
+ }
601
+ async function probeVersion(npm, args) {
590
602
  try {
591
- const { stdout } = await execFileAsync2(command, args, {
603
+ const { stdout } = await execFileAsync2(npm.command, [...npm.args, ...args], {
592
604
  timeout: 1e4,
593
605
  windowsHide: true,
594
- shell: false
606
+ shell: npm.shell
595
607
  });
596
608
  return stdout.trim().split("\n")[0]?.trim() || null;
597
609
  } catch {
@@ -619,14 +631,14 @@ var appUpdateRouter = router({
619
631
  })
620
632
  ).query(async ({ ctx }) => {
621
633
  await requireLoopbackOrToken(ctx);
622
- const npmPath = resolveNpm();
623
- const npmVersion = await probeVersion(npmPath, ["--version"]);
624
- const globalPrefix = npmVersion ? await probeVersion(npmPath, ["prefix", "-g"]) : null;
634
+ const npm = resolveNpm();
635
+ const npmVersion = await probeVersion(npm, ["--version"]);
636
+ const globalPrefix = npmVersion ? await probeVersion(npm, ["prefix", "-g"]) : null;
625
637
  return {
626
638
  fromDesktop: env.FROM_DESKTOP,
627
639
  nodeVersion: process.version,
628
640
  npmVersion,
629
- npmPath,
641
+ npmPath: npmLabel(npm),
630
642
  globalPrefix,
631
643
  ready: env.FROM_DESKTOP && npmVersion !== null
632
644
  };
@@ -647,14 +659,14 @@ var appUpdateRouter = router({
647
659
  ).mutation(async ({ ctx }) => {
648
660
  await requireLoopbackOrToken(ctx);
649
661
  requireDesktop();
650
- const npmPath = resolveNpm();
662
+ const npm = resolveNpm();
651
663
  try {
652
664
  const { stdout, stderr } = await execFileAsync2(
653
- npmPath,
654
- ["install", "-g", `${PACKAGE_NAME}@latest`],
655
- { timeout: INSTALL_TIMEOUT_MS, windowsHide: true, shell: false, maxBuffer: 10 * 1024 * 1024 }
665
+ npm.command,
666
+ [...npm.args, "install", "-g", `${PACKAGE_NAME}@latest`],
667
+ { timeout: INSTALL_TIMEOUT_MS, windowsHide: true, shell: npm.shell, maxBuffer: 10 * 1024 * 1024 }
656
668
  );
657
- const installedVersion = await probeVersion(npmPath, ["view", `${PACKAGE_NAME}`, "version"]);
669
+ const installedVersion = await probeVersion(npm, ["view", `${PACKAGE_NAME}`, "version"]);
658
670
  return { ok: true, output: [stdout, stderr].filter(Boolean).join("\n").trim(), installedVersion };
659
671
  } catch (err) {
660
672
  const e = err;
@@ -676,6 +688,10 @@ var appUpdateRouter = router({
676
688
  const child = spawn(process.execPath, process.argv.slice(1), {
677
689
  detached: true,
678
690
  stdio: "ignore",
691
+ // `detached` demande une console neuve à Windows, et une console neuve
692
+ // est une fenêtre de commande à l'écran : le lanceur de bureau cache la
693
+ // sienne, la mise à jour n'a pas à en rouvrir une.
694
+ windowsHide: true,
679
695
  cwd: process.cwd(),
680
696
  env: process.env
681
697
  });
@@ -8529,7 +8545,7 @@ function tailTranscript(opts) {
8529
8545
 
8530
8546
  // ../server/src/services/ai-runners/claude-pty-runner.ts
8531
8547
  async function getAgentManager() {
8532
- const { agentManager: agentManager2 } = await import("./agent-manager-XUXD6WPM.js");
8548
+ const { agentManager: agentManager2 } = await import("./agent-manager-U454MXAX.js");
8533
8549
  return agentManager2;
8534
8550
  }
8535
8551
  function buildPtyArgs(params, sessionId, opts) {
@@ -9270,7 +9286,7 @@ async function shutdownCodexAppServer() {
9270
9286
  }
9271
9287
  }
9272
9288
  async function getAgentManager2() {
9273
- const { agentManager: agentManager2 } = await import("./agent-manager-XUXD6WPM.js");
9289
+ const { agentManager: agentManager2 } = await import("./agent-manager-U454MXAX.js");
9274
9290
  return agentManager2;
9275
9291
  }
9276
9292
  function parseRuneyaCurlCommand(command) {
@@ -18348,4 +18364,4 @@ export {
18348
18364
  pullEnv,
18349
18365
  registerInstance
18350
18366
  };
18351
- //# sourceMappingURL=src-5X4QUDVE.js.map
18367
+ //# sourceMappingURL=src-K5L5HTKP.js.map