@runeya/runeya 2.0.135 → 2.0.137

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 (278) hide show
  1. package/agent/index.js +11 -3
  2. package/agent/index.js.map +1 -1
  3. package/{agent-manager-TUFAFC6U.js → agent-manager-FUU72VGH.js} +3 -3
  4. package/{chat-IQBWQCTK.js → chat-C26CBAZX.js} +5 -5
  5. package/{chunk-GISLEYNE.js → chunk-FJLMXLMK.js} +4 -4
  6. package/{chunk-7JAJSV4L.js → chunk-J4GLFY7G.js} +2 -2
  7. package/{chunk-4RMM2OUU.js → chunk-NURPXHLB.js} +13 -4
  8. package/chunk-NURPXHLB.js.map +1 -0
  9. package/{chunk-M3UUGW5Z.js → chunk-P65BO7WZ.js} +70 -399
  10. package/chunk-P65BO7WZ.js.map +1 -0
  11. package/{companion-YQ7CGW7W.js → companion-Q67RAO3N.js} +4 -4
  12. package/index.js +4 -4
  13. package/{node-JU7A5NDT.js → node-4UUJN2WG.js} +4 -2
  14. package/package.json +1 -1
  15. package/{src-NMMPS4ZF.js → src-7O3GCEIB.js} +7 -7
  16. package/{src-NMMPS4ZF.js.map → src-7O3GCEIB.js.map} +1 -1
  17. package/web/assets/AgentScalarChatInterface.vue-BGGkpyp3.js +13 -0
  18. package/web/assets/AgentTerminalPage-B8gLray2.js +1 -0
  19. package/web/assets/AiChatPage-BKITsyMx.js +1 -0
  20. package/web/assets/AppLayout-B72S4nTi.css +1 -0
  21. package/web/assets/AppLayout-BYw7v2sp.js +1 -0
  22. package/web/assets/AuditPage-nHTwzyia.js +1 -0
  23. package/web/assets/CloudAccountPage-DuaZz2j4.js +1 -0
  24. package/web/assets/CloudAccountPage-XHxI-ixD.js +1 -0
  25. package/web/assets/CloudMessagingPage-B2N5K-Xs.js +2 -0
  26. package/web/assets/DashboardPage-VoWJeWh_.js +1 -0
  27. package/web/assets/DirectoryPickerDialog-B5SuJOhv.js +1 -0
  28. package/web/assets/{EditorIcon-Bhdvfd12.js → EditorIcon-DXYoMZnL.js} +2 -2
  29. package/web/assets/{EnvironmentForm-qEODCXoN.js → EnvironmentForm-D3pZuxVn.js} +2 -2
  30. package/web/assets/EnvironmentFormPage-BIXbPTN5.js +1 -0
  31. package/web/assets/EnvironmentListPage-CHa-Ni3w.js +1 -0
  32. package/web/assets/KanbanBoardPage-B46zbE2H.css +1 -0
  33. package/web/assets/KanbanBoardPage-BFTNpm8P.js +4 -0
  34. package/web/assets/KanbanListPage-CYuIrKXH.js +1 -0
  35. package/web/assets/LaunchProjectPage-jy-R3Fiw.js +1 -0
  36. package/web/assets/LaunchServicesPage-DX7nyo36.js +1 -0
  37. package/web/assets/LaunchShell-BHfseuPM.js +1 -0
  38. package/web/assets/LogViewer-C-pHXudR.js +3 -0
  39. package/web/assets/OrgKeyPrompt-OPnK5oPm.js +1 -0
  40. package/web/assets/OrgLogo-Cxa49Tl3.js +1 -0
  41. package/web/assets/{ProcessControls-DM8lfeiV.js → ProcessControls-DXDyR6XX.js} +1 -1
  42. package/web/assets/ProcessDetailPage-DNKTwgPW.js +1 -0
  43. package/web/assets/ProcessMetrics-CdQc_8Z0.js +168 -0
  44. package/web/assets/RandomJobTestPage-BE8HkgSb.js +2 -0
  45. package/web/assets/ScenarioEditorPage-COC03w7b.css +1 -0
  46. package/web/assets/ScenarioEditorPage-Coo6ExzZ.js +14 -0
  47. package/web/assets/SendToChatDialog-ClXerpCU.js +1 -0
  48. package/web/assets/ServiceControlsBar-C7HrPjQI.js +1 -0
  49. package/web/assets/{ServiceDetailPage-cQNK1uWq.css → ServiceDetailPage-BhFOqSte.css} +1 -1
  50. package/web/assets/ServiceDetailPage-Cxuy0Yix.js +2 -0
  51. package/web/assets/ServiceFormPage-CCOu1h8v.js +1 -0
  52. package/web/assets/{SettingsPage-CDugr781.css → SettingsPage-DA7lVKfg.css} +1 -1
  53. package/web/assets/SettingsPage-Dt1ViDQe.js +2063 -0
  54. package/web/assets/UnlockPage-C5iEOAKH.js +1 -0
  55. package/web/assets/VaultMigrationPage-CwRWvFY7.js +1 -0
  56. package/web/assets/VersionBadge-Bqb72GXf.js +1 -0
  57. package/web/assets/WikiPage-Bl1jDKKp.js +1 -0
  58. package/web/assets/WikiView-58u6vU3q.js +1 -0
  59. package/web/assets/WikiView-BqO5AEaY.css +1 -0
  60. package/web/assets/add-scalar-classes-CT5KQbzH.js +387 -0
  61. package/web/assets/{autocomplete-ChFfCprn.js → autocomplete-DobAPPYJ.js} +3 -3
  62. package/web/assets/{basic-shape-diamond.svg-DMXCGOOi.js → basic-shape-diamond.svg-FbeAPLc-.js} +1 -1
  63. package/web/assets/{basic-shape-hexagon.svg-CYIcPMdS.js → basic-shape-hexagon.svg-CtwcdpTe.js} +1 -1
  64. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-Cwmrd1Ez.js → basic-shape-primary-circle-ellipse-round.svg-DsSs3S2_.js} +1 -1
  65. package/web/assets/{basic-shape-primary-square-rectangle.svg-C6jxeZnm.js → basic-shape-primary-square-rectangle.svg-CNe1RNx8.js} +1 -1
  66. package/web/assets/{basic-shape-shield.svg-DbCz35E5.js → basic-shape-shield.svg-DwZMLfah.js} +1 -1
  67. package/web/assets/{browser-CIvjpXha.js → browser-DsZ9HxVm.js} +1 -1
  68. package/web/assets/{browser-Dqcl_H7_.js → browser-Dz1gvldT.js} +1 -1
  69. package/web/assets/card-46tM5yU0.js +32 -0
  70. package/web/assets/{checkbox-D2Iuu4UI.js → checkbox-DPknldTJ.js} +3 -3
  71. package/web/assets/chevronup-D2Lr2GiV.js +151 -0
  72. package/web/assets/{chip-C6j_aNV_.js → chip-Caiakd-N.js} +2 -2
  73. package/web/assets/client-KL5c1Dog.js +24 -0
  74. package/web/assets/cloud-chat.store-Belo5SKd.js +1 -0
  75. package/web/assets/cloud-client-Cqa2Udt8.js +1 -0
  76. package/web/assets/cloud-session-56bUtkSL.js +2 -0
  77. package/web/assets/cloud-session-Dqm0C6H5.js +1 -0
  78. package/web/assets/column-DQ53_qc6.js +763 -0
  79. package/web/assets/{composables-CSWX_0A0.js → composables-CHyZa9ag.js} +1 -1
  80. package/web/assets/{computer-device-desktop-monitor.svg-B2C-kd0i.js → computer-device-desktop-monitor.svg-CwiGN14T.js} +1 -1
  81. package/web/assets/{computer-device-desktop.svg-3yHh_J9J.js → computer-device-desktop.svg-BC2VdXDZ.js} +1 -1
  82. package/web/assets/{computer-device-laptop.svg-DFT8iA2v.js → computer-device-laptop.svg-BOp8AKN6.js} +1 -1
  83. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CMmFiUFT.js → computer-device-mobile-phone-android-samsung-back.svg-CmbpPX1u.js} +1 -1
  84. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-zfLcL76y.js → computer-device-mobile-phone-android-samsung.svg-_WGKWVtZ.js} +1 -1
  85. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-avbsjvM5.js → computer-device-mobile-phone-iphone-x-back.svg-DmLh97KG.js} +1 -1
  86. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-d5iGTMZf.js → computer-device-mobile-phone-iphone-x.svg-C7-5mdyV.js} +1 -1
  87. package/web/assets/{computer-device-mobile-tablet-touch.svg-Bs2yfb4a.js → computer-device-mobile-tablet-touch.svg-DiUaSnhU.js} +1 -1
  88. package/web/assets/{computer-device-mobile-tablet.svg-C4zqv1Np.js → computer-device-mobile-tablet.svg-B6nfbYm_.js} +1 -1
  89. package/web/assets/{computer-device-network-ethernet-cat6.svg-BNu3-DX-.js → computer-device-network-ethernet-cat6.svg-DwtVKy79.js} +1 -1
  90. package/web/assets/{computer-device-network-lan-www.svg-DKWvhIUS.js → computer-device-network-lan-www.svg-vQKfG3Xz.js} +1 -1
  91. package/web/assets/{computer-device-network-wifi-connection.svg-BeVB4uVk.js → computer-device-network-wifi-connection.svg-DhHaOUge.js} +1 -1
  92. package/web/assets/{computer-device-network-wifi-router.svg-ByESRUy1.js → computer-device-network-wifi-router.svg-1dQS4k4J.js} +1 -1
  93. package/web/assets/{cssMode-CYkE5lQ9.js → cssMode-CdQL22W5.js} +1 -1
  94. package/web/assets/{divider-CA3yAI2V.js → divider-DhYR4BAO.js} +2 -2
  95. package/web/assets/{docx-preview-DWhG4PqM.js → docx-preview-D-jP_CCs.js} +1 -1
  96. package/web/assets/{ecology-science-erlenmeyer-flask.svg-D-XnpZzI.js → ecology-science-erlenmeyer-flask.svg-D76wQVA2.js} +1 -1
  97. package/web/assets/{fieldset-B8HuDLeH.js → fieldset-BtOjs_Hh.js} +2 -2
  98. package/web/assets/{freemarker2-D4-v7trZ.js → freemarker2-BADW9vhy.js} +1 -1
  99. package/web/assets/{handlebars-DjpO5k1R.js → handlebars-CwWQD_C8.js} +1 -1
  100. package/web/assets/{html-DFrFD9Vs.js → html-y87CEbe3.js} +1 -1
  101. package/web/assets/{htmlMode-DOefWnsd.js → htmlMode-CVagtvVh.js} +1 -1
  102. package/web/assets/{image-flash-lightning.svg-D3j4zBSy.js → image-flash-lightning.svg-OvpKi3a3.js} +1 -1
  103. package/web/assets/{image-picture-flower.svg-DQwZxx5i.js → image-picture-flower.svg-DLOePozT.js} +1 -1
  104. package/web/assets/index-CKOtBNaZ.css +1 -0
  105. package/web/assets/{index-C0stqCbw.js → index-CcIrffU_.js} +363 -583
  106. package/web/assets/{interface-alert-exclamation-diamond.svg-Wi3odtkW.js → interface-alert-exclamation-diamond.svg-4Vk7SoQ1.js} +1 -1
  107. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-CReCCTTv.js → interface-alert-exclamation-triangle-warning.svg-BLAvc4am.js} +1 -1
  108. package/web/assets/{interface-alert-information-circle.svg-CcYDlXW6.js → interface-alert-information-circle.svg-CaAXpDAI.js} +1 -1
  109. package/web/assets/{interface-award-crown.svg-nShV1eoE.js → interface-award-crown.svg-CW7XG0wx.js} +1 -1
  110. package/web/assets/{interface-bookmark.svg-C7rl6oRl.js → interface-bookmark-tag.svg-DPWVVeZU.js} +1 -1
  111. package/web/assets/{interface-bookmark-tag.svg-Bcxcf9m_.js → interface-bookmark.svg-BpLEuOv2.js} +1 -1
  112. package/web/assets/{interface-calendar-date-one.svg-Dr1oFk40.js → interface-calendar-date-one.svg-DbBgvI4W.js} +1 -1
  113. package/web/assets/{interface-content-book-open-pages.svg-5k2_6iyY.js → interface-content-book-open-pages.svg-BbsuvPZM.js} +1 -1
  114. package/web/assets/{interface-content-book-page.svg-CVq67m2W.js → interface-content-book-page.svg-DbRPz1j8.js} +1 -1
  115. package/web/assets/{interface-content-file.svg-BTGOcunz.js → interface-content-file.svg-OJPKABxS.js} +1 -1
  116. package/web/assets/{interface-content-folder.svg-c7jw0JHU.js → interface-content-folder.svg-3D_5OE_-.js} +1 -1
  117. package/web/assets/interface-content-folder.svg-8mYqkDao.js +1 -0
  118. package/web/assets/{interface-copy-clipboard.svg-CDxFW9t5.js → interface-copy-clipboard.svg-DqthVh9J.js} +1 -1
  119. package/web/assets/{interface-edit-attachment.svg-ALzerCj2.js → interface-edit-attachment.svg-BAPCnZ0B.js} +1 -1
  120. package/web/assets/{interface-edit-binocular.svg-B8ugIA3a.js → interface-edit-binocular.svg-BoV39ouF.js} +1 -1
  121. package/web/assets/{interface-edit-magic-wand.svg-DUS1BcE7.js → interface-edit-magic-wand.svg-Cz36nKVn.js} +1 -1
  122. package/web/assets/{interface-edit-tool-paint-roller.svg-B2yecsyu.js → interface-edit-tool-paint-roller.svg-DZUQotD5.js} +1 -1
  123. package/web/assets/{interface-edit-tool-pencil.svg-CXrPC_TT.js → interface-edit-tool-pencil.svg-DBf1Y9Tj.js} +1 -1
  124. package/web/assets/{interface-favorite-award.svg-Cp_oIcCh.js → interface-favorite-award.svg-B93sRjxf.js} +1 -1
  125. package/web/assets/{interface-favorite-flag.svg-B36MDZwI.js → interface-favorite-flag.svg-DKHuT11J.js} +1 -1
  126. package/web/assets/{interface-favorite-heart.svg-CTV6u1U4.js → interface-favorite-heart.svg-Bw5FZQ7d.js} +1 -1
  127. package/web/assets/{interface-favorite-star.svg-OdL5QrWJ.js → interface-favorite-star.svg-CgLbct_b.js} +1 -1
  128. package/web/assets/{interface-favorite-stars-sparkles.svg-BqWJOXGz.js → interface-favorite-stars-sparkles.svg-B7cYS4ef.js} +1 -1
  129. package/web/assets/{interface-hierarchy-flowchart.svg-CuSQQZNq.js → interface-hierarchy-flowchart.svg-zwuaRdWq.js} +1 -1
  130. package/web/assets/{interface-home-house.svg-C3MlUubV.js → interface-home-house.svg-B85yMFCe.js} +1 -1
  131. package/web/assets/{interface-hyperlink.svg-BYd5gh77.js → interface-hyperlink.svg-US6b-Svn.js} +1 -1
  132. package/web/assets/{interface-lighting-brightness.svg-Dg3GdUm9.js → interface-lighting-brightness.svg-mZWkhb7f.js} +1 -1
  133. package/web/assets/{interface-lock-closed.svg-DwBww-yp.js → interface-lock-closed.svg-9oHuNwuY.js} +1 -1
  134. package/web/assets/{interface-lock-open-unlock.svg-BPSHjpM5.js → interface-lock-open-unlock.svg-DBetdJny.js} +1 -1
  135. package/web/assets/{interface-login-key.svg-CAKOhBJY.js → interface-login-key.svg-BZnZTYd1.js} +1 -1
  136. package/web/assets/{interface-search.svg-C-J35EwT.js → interface-search.svg-CMXAOoam.js} +1 -1
  137. package/web/assets/{interface-setting-cog.svg-CPTM4JUK.js → interface-setting-cog.svg-CKckatt7.js} +1 -1
  138. package/web/assets/{interface-share-megaphone-bullhorn.svg-De8kepxS.js → interface-share-megaphone-bullhorn.svg-DH7kVqN-.js} +1 -1
  139. package/web/assets/{interface-share-rocket.svg-Drx2GamR.js → interface-share-rocket.svg-BNXcMugi.js} +1 -1
  140. package/web/assets/{interface-share-satellite.svg-CpcvwNrN.js → interface-share-satellite.svg-Bb8t607w.js} +1 -1
  141. package/web/assets/{interface-share-space-ship.svg-C1rwdvlT.js → interface-share-space-ship.svg-Dk4rbLtF.js} +1 -1
  142. package/web/assets/{interface-share.svg-CgYmRRi3.js → interface-share.svg-CtX8dq5i.js} +1 -1
  143. package/web/assets/{interface-signal-square.svg-D18HXtaZ.js → interface-signal-square.svg-DmUIlYTd.js} +1 -1
  144. package/web/assets/{interface-time-clock-circle.svg-CnJh3zUx.js → interface-time-clock-circle.svg-D2ZNaXT3.js} +1 -1
  145. package/web/assets/{interface-time-hour-glass.svg-CJ43-28R.js → interface-time-hour-glass.svg-Ddo-8hHe.js} +1 -1
  146. package/web/assets/{interface-users-multiple.svg-DUoZG3ny.js → interface-users-multiple.svg-Jh7S0sT4.js} +1 -1
  147. package/web/assets/{interface-weather-moon.svg-C6iv_sYC.js → interface-weather-moon.svg-DbdQFgL2.js} +1 -1
  148. package/web/assets/{javascript-C9ITR2y1.js → javascript-BVGFyXBk.js} +1 -1
  149. package/web/assets/{jsonMode-CVg8GDEH.js → jsonMode-vnFlxYl9.js} +2 -2
  150. package/web/assets/{liquid-QQuSH6xu.js → liquid-DieKMEvN.js} +1 -1
  151. package/web/assets/{lspLanguageFeatures-Dw4848W6.js → lspLanguageFeatures-DoeI-8Y7.js} +3 -3
  152. package/web/assets/{mail-chat-bubble-square.svg-BazJ_62-.js → mail-chat-bubble-square.svg-CApdU2ea.js} +1 -1
  153. package/web/assets/{mail-send-email-paper-airplane.svg-B-Dxyqfp.js → mail-send-email-paper-airplane.svg-jjZ0KB32.js} +1 -1
  154. package/web/assets/{mail-send-envelope.svg-C8b7sbKN.js → mail-send-envelope.svg-B6Tsoh-8.js} +1 -1
  155. package/web/assets/{mdx-DAF1FZmF.js → mdx-BCkszXid.js} +1 -1
  156. package/web/assets/{minus-CSyILGbg.js → minus-DfLQX3s2.js} +2 -2
  157. package/web/assets/modal-CCco27Sn.js +5 -0
  158. package/web/assets/modal-D4J85_wC.js +1 -0
  159. package/web/assets/{money-cashier-receipt.svg--Lc3cf7X.js → money-cashier-receipt.svg-DM-I8Snr.js} +1 -1
  160. package/web/assets/{money-currency-dollar-pay.svg-Dj5mJsZo.js → money-currency-dollar-pay.svg-CkDRewrV.js} +1 -1
  161. package/web/assets/{money-graph-arrow-increase.svg-BxDK2s6g.js → money-graph-arrow-increase.svg-BT4KLHWz.js} +1 -1
  162. package/web/assets/{money-graph-bar-chart-increase.svg-DGZaFMZM.js → money-graph-bar-chart-increase.svg-EvyIJ3Uu.js} +1 -1
  163. package/web/assets/{multiselect-Dn8j6BKj.js → multiselect-BmjidXlj.js} +3 -3
  164. package/web/assets/{nature-ecology-leaf.svg-CWHdLRYI.js → nature-ecology-leaf.svg-uZBwXdg9.js} +1 -1
  165. package/web/assets/{password-BHZmKoIG.js → password-D1R5w1qL.js} +4 -4
  166. package/web/assets/{phone-telephone.svg-DsOG1joc.js → phone-telephone.svg-BSvOskIB.js} +1 -1
  167. package/web/assets/{plus-fHFXXVKA.js → plus-CNGSRnxy.js} +6 -6
  168. package/web/assets/process.store-p1LqnpY2.js +1 -0
  169. package/web/assets/{programming-bug.svg-QYUdmLY5.js → programming-bug.svg-CLnGs4K-.js} +1 -1
  170. package/web/assets/{programming-cloud.svg-C6znZJ-C.js → programming-cloud.svg-CxBovXBR.js} +1 -1
  171. package/web/assets/{programming-computer-database-server.svg-3XQZgkj3.js → programming-computer-database-server.svg-C1JmOyio.js} +1 -1
  172. package/web/assets/{programming-computer-database.svg-6OF1JaA-.js → programming-computer-database.svg-BRjyOzP4.js} +1 -1
  173. package/web/assets/{programming-module-four-layout.svg-DN7C2xQ3.js → programming-module-four-layout.svg-Blwzw6Qz.js} +1 -1
  174. package/web/assets/{programming-module-three.svg-8zjQz2zh.js → programming-module-three.svg-6bkrmWsU.js} +1 -1
  175. package/web/assets/{programming-module.svg-BQpaVQTI.js → programming-module.svg-CBS9xKxX.js} +1 -1
  176. package/web/assets/{programming-script-code.svg-C5U07Bnn.js → programming-script-code.svg-BVhyoAD3.js} +1 -1
  177. package/web/assets/project-launch.store-BBYtCcv8.js +1 -0
  178. package/web/assets/project.store-D_2v7amt.js +1 -0
  179. package/web/assets/{python-CIZTrsB5.js → python-CiPYtj_d.js} +1 -1
  180. package/web/assets/{radiobutton-DiazMmAi.js → radiobutton--KWBHcDP.js} +3 -2
  181. package/web/assets/{razor-BN7EghYh.js → razor-CSoWGP30.js} +1 -1
  182. package/web/assets/router-CRKT3825.js +1 -0
  183. package/web/assets/{selectbutton-BLjfO8t-.js → selectbutton-C0NL5n4w.js} +4 -4
  184. package/web/assets/settings-scope-DblmUa3N.js +1 -0
  185. package/web/assets/{settings.store-BfxfuLM2.js → settings.store-DKTQyerJ.js} +1 -1
  186. package/web/assets/{shopping-cart.svg-qy6s5BGQ.js → shopping-cart.svg-C-8NG_Po.js} +1 -1
  187. package/web/assets/{shopping-gift-present.svg-C9HdpVxJ.js → shopping-gift-present.svg-Bp6q5VzJ.js} +1 -1
  188. package/web/assets/{shopping-shipping-box-parcel-package.svg-CMFuFIDh.js → shopping-shipping-box-parcel-package.svg-DeWaEIwm.js} +1 -1
  189. package/web/assets/{src-DzTHX0Uv.js → src-BHR3l7pa.js} +17 -17
  190. package/web/assets/{src-CkT0Buv_.css → src-BN5gTC76.css} +1 -1
  191. package/web/assets/src-BRLkogf3.js +1 -0
  192. package/web/assets/{tag-new-circle.svg-CfhsqJra.js → tag-new-circle.svg-CTljXsqE.js} +1 -1
  193. package/web/assets/theme-BZzt_Sgl.js +1 -0
  194. package/web/assets/{toggleswitch-CjP0YQIo.js → toggleswitch-d41l5g27.js} +2 -2
  195. package/web/assets/{travel-map-earth-globe.svg-DoZqANqT.js → travel-map-earth-globe.svg-BUkcntCp.js} +1 -1
  196. package/web/assets/trpc-Db0Atu8A.js +1 -0
  197. package/web/assets/{tsMode-tM0mPX0S.js → tsMode-B2c-rCAa.js} +4 -4
  198. package/web/assets/{typescript-BEUIW-V_.js → typescript-CmW4u_GQ.js} +1 -1
  199. package/web/assets/useAiChatDrawer-0QJJVXul.js +1 -0
  200. package/web/assets/useCloudOrg-E4l-99WA.js +1 -0
  201. package/web/assets/useEnvVarAutocomplete-BDqUWoGr.js +102 -0
  202. package/web/assets/{useProjectCatalog-BdouNxux.js → useProjectCatalog-Cxt-hL1H.js} +1 -1
  203. package/web/assets/{useProjectCloudOrg-BHkyD0dP.js → useProjectCloudOrg-CwLTQLIO.js} +1 -1
  204. package/web/assets/useServiceUrlHost-VIA3uP5-.js +1 -0
  205. package/web/assets/{xml-dZzMKM-n.js → xml-BxMqu3hT.js} +1 -1
  206. package/web/assets/{yaml-Bm1gOrCp.js → yaml-Djx7E3R1.js} +1 -1
  207. package/web/index.html +2 -2
  208. package/chunk-4RMM2OUU.js.map +0 -1
  209. package/chunk-M3UUGW5Z.js.map +0 -1
  210. package/web/assets/AgentScalarChatInterface.vue-DMB64kMa.js +0 -13
  211. package/web/assets/AgentTerminalPage-RN_RhpdH.js +0 -1
  212. package/web/assets/AiChatPage-9ko8n9o-.js +0 -1
  213. package/web/assets/AppLayout-C_tqGN1Z.js +0 -1
  214. package/web/assets/AppLayout-Db2KGjwQ.css +0 -1
  215. package/web/assets/AuditPage-CiOsIB_G.js +0 -1
  216. package/web/assets/CloudAccountPage-BPQs7Ukh.js +0 -1
  217. package/web/assets/CloudAccountPage-vlELc9s4.js +0 -1
  218. package/web/assets/CloudMessagingPage-CXVBG7G_.js +0 -2
  219. package/web/assets/DashboardPage-DaN6l4Aq.js +0 -1
  220. package/web/assets/DirectoryPickerDialog-DMAE3RCc.js +0 -1
  221. package/web/assets/EnvironmentFormPage-CsdoKvWm.js +0 -1
  222. package/web/assets/EnvironmentListPage-DNvRlujy.js +0 -1
  223. package/web/assets/KanbanBoardPage-BvJB1vAN.js +0 -4
  224. package/web/assets/KanbanBoardPage-acfjgSse.css +0 -1
  225. package/web/assets/KanbanListPage-BXS70nXB.js +0 -1
  226. package/web/assets/LaunchProjectPage-qh5FY_Hp.js +0 -1
  227. package/web/assets/LaunchServicesPage-cRa4PpoA.js +0 -1
  228. package/web/assets/LaunchShell-Xp_uKnnV.js +0 -1
  229. package/web/assets/LogViewer-DEa33rcG.js +0 -3
  230. package/web/assets/OrgKeyPrompt-DjAzt1_e.js +0 -1
  231. package/web/assets/OrgLogo-B90FSNG_.js +0 -1
  232. package/web/assets/ProcessDetailPage-CWOy22x2.js +0 -1
  233. package/web/assets/ProcessMetrics-C2I4giT-.js +0 -51
  234. package/web/assets/RandomJobTestPage-DwHtCAFt.js +0 -2
  235. package/web/assets/ScenarioEditorPage-CsqHIJjY.js +0 -14
  236. package/web/assets/ScenarioEditorPage-GmFIXPDj.css +0 -1
  237. package/web/assets/SendToChatDialog-CKm3Uyu8.js +0 -1
  238. package/web/assets/ServiceControlsBar-Cqr7rrv_.js +0 -1
  239. package/web/assets/ServiceDetailPage-CcBr0uNs.js +0 -2
  240. package/web/assets/ServiceFormPage-CzSFKd5J.js +0 -1
  241. package/web/assets/SettingsPage-BXY3tCv6.js +0 -2063
  242. package/web/assets/UnlockPage-Dz_ZeUOS.js +0 -1
  243. package/web/assets/VaultMigrationPage-ac8mXUny.js +0 -1
  244. package/web/assets/VersionBadge-DkNYiMGe.js +0 -1
  245. package/web/assets/WikiPage-ZAFnZhOV.js +0 -1
  246. package/web/assets/WikiView-CaUVD3f1.css +0 -1
  247. package/web/assets/WikiView-DEv8qkPA.js +0 -1
  248. package/web/assets/add-scalar-classes-DsQIWkxF.js +0 -387
  249. package/web/assets/card-BFnzVWOY.js +0 -32
  250. package/web/assets/client-DI09uuoY.js +0 -24
  251. package/web/assets/cloud-chat.store-DiiPfn2Z.js +0 -1
  252. package/web/assets/cloud-client-CvBR_p1A.js +0 -1
  253. package/web/assets/cloud-session-B__x9RFv.js +0 -2
  254. package/web/assets/cloud-session-CL_GKNrJ.js +0 -1
  255. package/web/assets/column-CrgQlR1x.js +0 -763
  256. package/web/assets/index-rUoTy8xc.css +0 -1
  257. package/web/assets/interface-content-folder.svg-Vn-2b_F8.js +0 -1
  258. package/web/assets/modal-BmOMX0EL.js +0 -5
  259. package/web/assets/modal-X_BQCOfK.js +0 -1
  260. package/web/assets/process.store-C0m4Wixd.js +0 -1
  261. package/web/assets/project-launch.store-GKs5Jjsm.js +0 -1
  262. package/web/assets/project.store-C_os4Nr_.js +0 -1
  263. package/web/assets/router-29Kkqv0z.js +0 -1
  264. package/web/assets/settings-scope-nt8KoQ24.js +0 -1
  265. package/web/assets/src-BFi137TM.js +0 -1
  266. package/web/assets/tabpanel-D9tIljjF.js +0 -150
  267. package/web/assets/theme-To2Yx9kx.js +0 -1
  268. package/web/assets/trpc-DiE7rC1k.js +0 -1
  269. package/web/assets/useAiChatDrawer-DorHkhHZ.js +0 -1
  270. package/web/assets/useCloudOrg-ieBKFf0P.js +0 -1
  271. package/web/assets/useEnvVarAutocomplete-Dqk4Xmzl.js +0 -1
  272. package/web/assets/useServiceUrlHost-D3DylMsX.js +0 -1
  273. /package/{agent-manager-TUFAFC6U.js.map → agent-manager-FUU72VGH.js.map} +0 -0
  274. /package/{chat-IQBWQCTK.js.map → chat-C26CBAZX.js.map} +0 -0
  275. /package/{chunk-GISLEYNE.js.map → chunk-FJLMXLMK.js.map} +0 -0
  276. /package/{chunk-7JAJSV4L.js.map → chunk-J4GLFY7G.js.map} +0 -0
  277. /package/{companion-YQ7CGW7W.js.map → companion-Q67RAO3N.js.map} +0 -0
  278. /package/{node-JU7A5NDT.js.map → node-4UUJN2WG.js.map} +0 -0
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  agentManager
3
- } from "./chunk-7JAJSV4L.js";
3
+ } from "./chunk-J4GLFY7G.js";
4
4
  import "./chunk-BDQOBEZ3.js";
5
5
  import "./chunk-5EMEJNVU.js";
6
6
  import "./chunk-ZFELQG4B.js";
7
- import "./chunk-4RMM2OUU.js";
7
+ import "./chunk-NURPXHLB.js";
8
8
  export {
9
9
  agentManager
10
10
  };
11
- //# sourceMappingURL=agent-manager-TUFAFC6U.js.map
11
+ //# sourceMappingURL=agent-manager-FUU72VGH.js.map
@@ -3,19 +3,19 @@ import {
3
3
  startClaudeCodeSession,
4
4
  startCliSession,
5
5
  startCodexSession
6
- } from "./chunk-M3UUGW5Z.js";
6
+ } from "./chunk-P65BO7WZ.js";
7
7
  import "./chunk-I7JHF5FE.js";
8
- import "./chunk-GISLEYNE.js";
8
+ import "./chunk-FJLMXLMK.js";
9
9
  import "./chunk-MD3VW4HQ.js";
10
- import "./chunk-7JAJSV4L.js";
10
+ import "./chunk-J4GLFY7G.js";
11
11
  import "./chunk-BDQOBEZ3.js";
12
12
  import "./chunk-5EMEJNVU.js";
13
13
  import "./chunk-ZFELQG4B.js";
14
- import "./chunk-4RMM2OUU.js";
14
+ import "./chunk-NURPXHLB.js";
15
15
  export {
16
16
  chatRouter,
17
17
  startClaudeCodeSession,
18
18
  startCliSession,
19
19
  startCodexSession
20
20
  };
21
- //# sourceMappingURL=chat-IQBWQCTK.js.map
21
+ //# sourceMappingURL=chat-C26CBAZX.js.map
@@ -23,7 +23,7 @@ import {
23
23
  serviceStore,
24
24
  setProjectServices,
25
25
  setProjectVault
26
- } from "./chunk-7JAJSV4L.js";
26
+ } from "./chunk-J4GLFY7G.js";
27
27
  import {
28
28
  atomicWriteSecure,
29
29
  fingerprintFiles,
@@ -2037,7 +2037,7 @@ async function runCompanionForTurn(conversationId) {
2037
2037
  if (!hasNew) {
2038
2038
  return skip(conversationId, "nothingNew", `rien de neuf \xE0 relire (${messageCount} messages)`);
2039
2039
  }
2040
- const { startCliSession } = await import("./chat-IQBWQCTK.js");
2040
+ const { startCliSession } = await import("./chat-C26CBAZX.js");
2041
2041
  const companionConv = await ensureCompanionConversation(conv);
2042
2042
  const isFirstTurn = (companionConv.messages?.length ?? 0) === 0;
2043
2043
  const exchange = formatExchange(conv.messages, from);
@@ -2152,7 +2152,7 @@ async function deliverToMainConversation(conv, message) {
2152
2152
  async function attemptDelivery(conv, message) {
2153
2153
  if (await writeToLivePty(conv.id, message)) return "pty";
2154
2154
  try {
2155
- const { startCliSession } = await import("./chat-IQBWQCTK.js");
2155
+ const { startCliSession } = await import("./chat-C26CBAZX.js");
2156
2156
  await startCliSession(conv.runner, conv.id, message, { jwt: await signJwt() });
2157
2157
  return "headless";
2158
2158
  } catch (err) {
@@ -2317,4 +2317,4 @@ export {
2317
2317
  runCompanionNow,
2318
2318
  initCompanion
2319
2319
  };
2320
- //# sourceMappingURL=chunk-GISLEYNE.js.map
2320
+ //# sourceMappingURL=chunk-FJLMXLMK.js.map
@@ -33,7 +33,7 @@ import {
33
33
  import {
34
34
  decryptValueWith,
35
35
  encryptValueWith
36
- } from "./chunk-4RMM2OUU.js";
36
+ } from "./chunk-NURPXHLB.js";
37
37
 
38
38
  // ../server/src/services/agent-manager.ts
39
39
  import { EventEmitter as EventEmitter2 } from "events";
@@ -3112,4 +3112,4 @@ export {
3112
3112
  traefikManager,
3113
3113
  agentManager
3114
3114
  };
3115
- //# sourceMappingURL=chunk-7JAJSV4L.js.map
3115
+ //# sourceMappingURL=chunk-J4GLFY7G.js.map
@@ -1,7 +1,7 @@
1
1
  // ../../packages/shared/src/node/node-path.ts
2
2
  import { dirname, delimiter } from "path";
3
3
  function ensureNodeBinOnPath(environment = process.env) {
4
- appendToPath(dirname(process.execPath), environment);
4
+ prependToPath(dirname(process.execPath), environment);
5
5
  }
6
6
  function appendToPath(dir, environment = process.env) {
7
7
  if (!dir) return;
@@ -10,6 +10,13 @@ function appendToPath(dir, environment = process.env) {
10
10
  if (entries.includes(dir)) return;
11
11
  environment["PATH"] = entries.length > 0 ? `${current}${delimiter}${dir}` : dir;
12
12
  }
13
+ function prependToPath(dir, environment = process.env) {
14
+ if (!dir) return;
15
+ const current = environment["PATH"] ?? "";
16
+ const entries = current.split(delimiter).filter(Boolean);
17
+ if (entries.includes(dir)) return;
18
+ environment["PATH"] = entries.length > 0 ? `${dir}${delimiter}${current}` : dir;
19
+ }
13
20
 
14
21
  // ../../packages/shared/src/node/user-path.ts
15
22
  import { execFile } from "child_process";
@@ -54,8 +61,9 @@ async function readLoginShellPath() {
54
61
  async function ensureUserBinsOnPath(environment = process.env, home = homedir()) {
55
62
  const shellPath = await readLoginShellPath();
56
63
  if (shellPath) {
57
- for (const entry of shellPath.split(delimiter2).filter(Boolean)) {
58
- appendToPath(entry, environment);
64
+ const entries = shellPath.split(delimiter2).filter(Boolean);
65
+ for (let i = entries.length - 1; i >= 0; i--) {
66
+ prependToPath(entries[i], environment);
59
67
  }
60
68
  }
61
69
  for (const dir of commonUserBins(home)) {
@@ -170,6 +178,7 @@ function decryptValueWith(key, encrypted) {
170
178
  export {
171
179
  ensureNodeBinOnPath,
172
180
  appendToPath,
181
+ prependToPath,
173
182
  readLoginShellPath,
174
183
  ensureUserBinsOnPath,
175
184
  stampConsole,
@@ -179,4 +188,4 @@ export {
179
188
  encryptValueWith,
180
189
  decryptValueWith
181
190
  };
182
- //# sourceMappingURL=chunk-4RMM2OUU.js.map
191
+ //# sourceMappingURL=chunk-NURPXHLB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/shared/src/node/node-path.ts","../../../packages/shared/src/node/user-path.ts","../../../packages/shared/src/node/log-timestamps.ts","../../../packages/shared/src/node/cli-invocation.ts","../../../packages/shared/src/node/aes-gcm.ts"],"sourcesContent":["import { dirname, delimiter } from 'node:path';\n\n/**\n * Garantit que le répertoire du binaire Node est dans le `PATH` des services.\n *\n * Un raccourci de bureau n'hérite pas du `PATH` d'un shell de connexion : il\n * reçoit celui de la session graphique, où les gestionnaires de version (n, nvm,\n * fnm, volta, brew) ne figurent pas. Node, lui, est lancé par chemin absolu et\n * démarre très bien — mais `npm`, `npx`, `yarn` et `corepack`, qui vivent à côté\n * de lui, deviennent introuvables. Un service échoue alors sur un message qui ne\n * dit rien de sa cause : « cannot find package manager binary ».\n *\n * Le répertoire est ajouté EN TÊTE. Être présent dans le `PATH` ne suffit pas :\n * un poste où `/usr/bin/node` est un Node système ancien le résoudrait avant le\n * nôtre, et le service démarrerait sur la mauvaise version sans rien signaler.\n */\nexport function ensureNodeBinOnPath(environment: NodeJS.ProcessEnv = process.env): void {\n prependToPath(dirname(process.execPath), environment);\n}\n\n/**\n * Ajoute un répertoire en queue du `PATH`, sans doublon ni séparateur vide.\n */\nexport function appendToPath(dir: string, environment: NodeJS.ProcessEnv = process.env): void {\n if (!dir) return;\n const current = environment['PATH'] ?? '';\n const entries = current.split(delimiter).filter(Boolean);\n if (entries.includes(dir)) return;\n environment['PATH'] = entries.length > 0 ? `${current}${delimiter}${dir}` : dir;\n}\n\n/**\n * Ajoute un répertoire en TÊTE du `PATH`, sans doublon ni séparateur vide.\n *\n * Réservé à ce dont on connaît la provenance — le Node qui nous exécute, le\n * `PATH` du shell de connexion de l'utilisateur — par opposition aux\n * emplacements devinés, qui restent en queue.\n *\n * Un répertoire déjà présent n'est PAS déplacé : on complète un `PATH`, on ne\n * réordonne pas les choix que la machine a déjà faits pour ses propres\n * répertoires.\n */\nexport function prependToPath(dir: string, environment: NodeJS.ProcessEnv = process.env): void {\n if (!dir) return;\n const current = environment['PATH'] ?? '';\n const entries = current.split(delimiter).filter(Boolean);\n if (entries.includes(dir)) return;\n environment['PATH'] = entries.length > 0 ? `${dir}${delimiter}${current}` : dir;\n}\n","import { execFile } from 'node:child_process';\nimport { promisify } from 'node:util';\nimport { homedir } from 'node:os';\nimport { existsSync, statSync } from 'node:fs';\nimport { join, delimiter } from 'node:path';\nimport { appendToPath, prependToPath } from './node-path.js';\n\nconst execFileAsync = promisify(execFile);\n\n/**\n * Marqueur : un `.zshrc` interactif écrit volontiers sur stdout (bannières,\n * gestionnaires de version, `motd`). Sans balise, on ne sait pas quelle ligne\n * est le `PATH`.\n */\nconst MARKER = '__RUNEYA_PATH__';\n\n/** Le profil de l'utilisateur peut être long à charger — mais pas éternel. */\nconst SHELL_TIMEOUT_MS = 3000;\n\n/**\n * Emplacements où un CLI utilisateur s'installe sans passer par le système.\n * Filet de sécurité quand le shell de connexion n'a rien donné : on ne devine\n * pas les gestionnaires de version (chemins versionnés), seulement le banal.\n */\nfunction commonUserBins(home: string): string[] {\n return [\n join(home, '.local', 'bin'),\n join(home, 'bin'),\n join(home, '.npm-global', 'bin'),\n join(home, '.bun', 'bin'),\n join(home, '.cargo', 'bin'),\n '/opt/homebrew/bin',\n '/usr/local/bin',\n ];\n}\n\n/**\n * Demande son `PATH` au shell de connexion de l'utilisateur.\n *\n * Un raccourci de bureau reçoit le `PATH` de la session graphique, pas celui du\n * shell : `~/.local/bin`, nvm, fnm, volta, mise, asdf… n'y figurent pas. Le CLI\n * installé par l'utilisateur devient alors introuvable, et l'agent le déclare\n * simplement « non disponible ».\n *\n * Renvoie `null` en cas d'échec (Windows, pas de `SHELL`, timeout, profil qui\n * plante) : l'absence de réponse ne doit jamais empêcher l'agent de démarrer.\n */\nexport async function readLoginShellPath(): Promise<string | null> {\n if (process.platform === 'win32') return null;\n\n const shell = process.env['SHELL'];\n if (!shell || !existsSync(shell)) return null;\n\n try {\n // `-l -i` : le `PATH` d'un utilisateur vit aussi bien dans le profil de\n // connexion que dans le fichier interactif (`.zshrc`, `.bashrc`).\n // `shell: false` : le shell EST le programme lancé, pas l'interpréteur.\n const { stdout } = await execFileAsync(shell, ['-l', '-i', '-c', `echo \"${MARKER}$PATH\"`], {\n timeout: SHELL_TIMEOUT_MS,\n shell: false,\n encoding: 'utf8',\n maxBuffer: 1024 * 1024,\n env: { ...process.env, TERM: 'dumb' },\n });\n\n const line = stdout.split('\\n').find(l => l.includes(MARKER));\n if (!line) return null;\n\n const value = line.slice(line.indexOf(MARKER) + MARKER.length).trim();\n return value.length > 0 ? value : null;\n } catch {\n return null;\n }\n}\n\n/**\n * Complète le `PATH` de l'agent avec ce que le shell de connexion connaît, puis\n * avec les emplacements utilisateur usuels qui existent réellement sur disque.\n *\n * Le `PATH` du shell passe EN TÊTE, comme pour Node. Le mettre en queue\n * revenait à ne rien faire là où ça comptait : sur un poste portant un Node\n * système en `/usr/bin`, celui-ci l'emportait sur la version choisie par\n * l'utilisateur (nvm, fnm, volta…), et le service démarrait sur la mauvaise\n * sans qu'aucun message ne le dise. Ce que l'utilisateur a choisi pour son\n * shell est ce qu'il attend de ses services.\n *\n * Les emplacements usuels, eux, restent EN QUEUE : ce sont des devinettes, pas\n * une préférence exprimée. Un répertoire déjà présent n'est jamais déplacé.\n */\nexport async function ensureUserBinsOnPath(\n environment: NodeJS.ProcessEnv = process.env,\n home: string = homedir(),\n): Promise<void> {\n const shellPath = await readLoginShellPath();\n if (shellPath) {\n // Parcours à l'envers : chaque entrée passe devant la précédente, donc\n // remonter la liste de la fin vers le début restitue son ordre d'origine.\n const entries = shellPath.split(delimiter).filter(Boolean);\n for (let i = entries.length - 1; i >= 0; i--) {\n prependToPath(entries[i]!, environment);\n }\n }\n\n for (const dir of commonUserBins(home)) {\n if (isDirectory(dir)) appendToPath(dir, environment);\n }\n}\n\nfunction isDirectory(path: string): boolean {\n try {\n return statSync(path).isDirectory();\n } catch {\n return false;\n }\n}\n","/**\n * Horodate ce que le process écrit sur la console, en temps écoulé depuis son\n * démarrage.\n *\n * Les 300 et quelques appels à `console.log` du serveur, de l'agent et du CLI\n * n'ont pas à être réécrits : on enveloppe `console` une fois, au démarrage, et\n * tout ce qui passe par lui est daté — jusqu'aux bibliothèques tierces.\n *\n * Le delta plutôt que l'heure : ces journaux servent surtout à comprendre ce qui\n * prend du temps au sein d'un même lancement, et « +1.204s » se lit sans\n * soustraction mentale. L'heure absolue reste disponible dans le journal\n * d'audit, qui, lui, sert à recouper avec le cloud.\n */\n\n/**\n * Une ligne qui ne dit rien à dater : une ligne vide, ou un morceau d'encadré.\n *\n * La bannière de démarrage est dessinée ligne à ligne ; un horodatage devant\n * chacune casse l'alignement des colonnes et n'apprend rien — elles sont toutes\n * écrites dans la même milliseconde.\n */\nfunction isDecorative(args: unknown[]): boolean {\n if (args.length === 0) return true;\n const first = args[0];\n if (typeof first !== 'string') return false;\n const trimmed = first.trim();\n return trimmed === '' || /^[┌│└├┬┴┼─┐┘┤]/.test(trimmed);\n}\n\nconst LEVELS = ['log', 'info', 'warn', 'error', 'debug'] as const;\n\n/** Le temps écoulé, cadré pour que les lignes s'alignent en colonne. */\nfunction formatElapsed(startedAt: number, now: number): string {\n const seconds = (now - startedAt) / 1000;\n return `+${seconds.toFixed(3)}s`.padStart(10);\n}\n\n/**\n * Enveloppe `console`. Rend une fonction qui remet l'original en place — les\n * tests en ont besoin, et un mode dont la sortie est lue par un script aussi.\n *\n * Appelé deux fois, le second appel ne fait rien : sans cette garde, deux\n * horodatages se cumuleraient sur chaque ligne.\n */\nexport function stampConsole(startedAt: number = Date.now()): () => void {\n const target = console as unknown as Record<string, unknown> & { __runeyaStamped?: boolean };\n if (target.__runeyaStamped) return () => {};\n target.__runeyaStamped = true;\n\n const originals = LEVELS.map((level) => {\n const original = console[level].bind(console);\n console[level] = (...args: unknown[]) => (\n isDecorative(args)\n ? original(...args)\n : original(formatElapsed(startedAt, Date.now()), ...args)\n );\n return [level, original] as const;\n });\n\n return () => {\n for (const [level, original] of originals) console[level] = original;\n target.__runeyaStamped = false;\n };\n}\n","import { execFile, execFileSync } from 'node:child_process';\nimport { existsSync, readFileSync } from 'node:fs';\nimport { dirname, resolve as resolvePath } from 'node:path';\n\nexport interface CliInvocation {\n command: string;\n args: string[];\n}\n\n/**\n * Comment lancer un CLI global (`claude`, `codex`) sur la plateforme courante.\n *\n * Windows : un CLI installé globalement par npm n'est pas un `.exe` mais un\n * shim `claude.cmd`. Ni `child_process.spawn(..., { shell: false })` ni\n * `pty.spawn()` ne savent le lancer — node-pty échoue sur « File not found:\n * claude ». Passer par `cmd.exe /c` fonctionnerait mais abîme les arguments\n * (le prompt système contient guillemets, retours à la ligne et `%`), donc on\n * résout le point d'entrée JS visé par le shim et on le lance avec le `node`\n * courant.\n *\n * Sur POSIX la commande est rendue telle quelle : rien ne change pour Linux\n * ni macOS.\n */\nexport function resolveCliInvocation(cli: string, args: string[] = []): CliInvocation {\n if (process.platform !== 'win32') return { command: cli, args };\n if (/\\.exe$/i.test(cli)) return { command: cli, args };\n\n // 1. Localiser le shim sur le PATH (sauf si un chemin explicite est donné).\n let shim = cli;\n if (!cli.includes('\\\\') && !cli.includes('/')) {\n let found: string[] = [];\n try {\n // Borné : un `where` qui ne rend pas la main figerait le process appelant,\n // puisque la résolution est synchrone.\n found = execFileSync('where', [cli], { encoding: 'utf-8', timeout: 5_000, windowsHide: true })\n .split(/\\r?\\n/).map((l) => l.trim()).filter(Boolean);\n } catch { /* absent du PATH — laisser le spawn échouer avec son propre message */ }\n const exe = found.find((f) => /\\.exe$/i.test(f));\n if (exe) return { command: exe, args };\n shim = found.find((f) => /\\.cmd$/i.test(f)) ?? found[0] ?? cli;\n }\n if (/\\.exe$/i.test(shim)) return { command: shim, args };\n\n // 2. Extraire le point d'entrée `.js` du shim npm et le lancer avec node.\n if (/\\.cmd$/i.test(shim) && existsSync(shim)) {\n try {\n const content = readFileSync(shim, 'utf-8');\n // Les shims npm écrivent « %~dp0\\...\\cli.js » ; certains outils écrivent\n // « %~dp0%\\...\\cli.js ». Les deux formes mènent au même point d'entrée.\n const m = content.match(/%~?dp0%?\\\\?([^\"\\s]+\\.js)/i);\n if (m?.[1]) {\n const entry = resolvePath(dirname(shim), m[1].replace(/^\\\\+/, ''));\n if (existsSync(entry)) return { command: process.execPath, args: [entry, ...args] };\n }\n } catch { /* on retombe sur l'interpréteur de commandes */ }\n }\n\n // 3. Dernier recours : confier à l'interpréteur de commandes.\n const comspec = process.env['ComSpec'] || process.env['COMSPEC'] || 'cmd.exe';\n return { command: comspec, args: ['/d', '/s', '/c', shim, ...args] };\n}\n\n/**\n * La commande qui dit où vit un exécutable, selon la plateforme.\n *\n * `which` n'existe pas sur Windows ; une détection qui l'appelle y répond\n * toujours « absent », quel que soit l'outil installé.\n */\nexport function whichCommand(): string {\n return process.platform === 'win32' ? 'where' : 'which';\n}\n\n/**\n * `<cli> --version` répond-il ?\n *\n * Le même contrôle vivait côté serveur et côté agent, et les deux lançaient\n * `execFile('claude', …, { shell: false })` : sur Windows, un shim `.cmd` n'est\n * pas lançable ainsi, et la détection répondait « absent » pour un CLI\n * parfaitement installé — l'interface désactivait alors le runner.\n */\nexport async function isCliAvailable(cli: string, timeoutMs = 5_000): Promise<boolean> {\n const { command, args } = resolveCliInvocation(cli, ['--version']);\n return new Promise((resolve) => {\n execFile(command, args, { timeout: timeoutMs, windowsHide: true }, (err) => resolve(!err));\n });\n}\n","import { randomBytes, createCipheriv, createDecipheriv } from 'node:crypto';\n\nconst ALGORITHM = 'aes-256-gcm';\n\n/**\n * Encrypt under a caller-supplied key.\n *\n * The no-key forms in the server read the process keyring, which is the right default\n * everywhere except migration: converting a vault means holding two keys at\n * once, and neither of them is \"the\" current one.\n */\nexport function encryptValueWith(key: Buffer, plaintext: string): string {\n const iv = randomBytes(16);\n const cipher = createCipheriv(ALGORITHM, key, iv);\n let enc = cipher.update(plaintext, 'utf-8', 'hex');\n enc += cipher.final('hex');\n const authTag = cipher.getAuthTag().toString('hex');\n return `${iv.toString('hex')}:${authTag}:${enc}`;\n}\n\n/** Decrypt under a caller-supplied key. Throws when the key does not open it. */\nexport function decryptValueWith(key: Buffer, encrypted: string): string {\n const parts = encrypted.split(':');\n if (parts.length !== 3) throw new Error('Invalid encrypted value format — expected iv:authTag:ciphertext');\n const [ivHex, authTagHex, ciphertext] = parts;\n if (!/^[0-9a-f]+$/i.test(ivHex) || !/^[0-9a-f]+$/i.test(authTagHex) || (ciphertext !== '' && !/^[0-9a-f]+$/i.test(ciphertext))) {\n throw new Error('Invalid hex in encrypted value — possible data corruption');\n }\n const decipher = createDecipheriv(ALGORITHM, key, Buffer.from(ivHex, 'hex'), { authTagLength: 16 });\n decipher.setAuthTag(Buffer.from(authTagHex, 'hex'));\n let dec = decipher.update(ciphertext, 'hex', 'utf-8');\n dec += decipher.final('utf-8');\n return dec;\n}\n"],"mappings":"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","names":["delimiter","delimiter","execFile","existsSync","dirname"]}