@runeya/runeya 2.0.120 → 2.0.122

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 (280) hide show
  1. package/agent/index.js +17 -2
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-BSPEFZKZ.js +10 -0
  4. package/{chat-PXMMZIAY.js → chat-SE5GIT4B.js} +7 -6
  5. package/{chunk-22RJM654.js → chunk-BVBK2WII.js} +155 -157
  6. package/chunk-BVBK2WII.js.map +1 -0
  7. package/chunk-GL7WA5K3.js +92 -0
  8. package/chunk-GL7WA5K3.js.map +1 -0
  9. package/{chunk-GIHR3BGT.js → chunk-NIU3CN5A.js} +37 -17
  10. package/chunk-NIU3CN5A.js.map +1 -0
  11. package/{chunk-H6VIS4OY.js → chunk-T2BV5WZE.js} +18 -3
  12. package/chunk-T2BV5WZE.js.map +1 -0
  13. package/{chunk-NYKFDU76.js → chunk-VNLIA5PV.js} +137 -59
  14. package/chunk-VNLIA5PV.js.map +1 -0
  15. package/{chunk-2WXQIUVC.js → chunk-XTLQOYLT.js} +147 -81
  16. package/chunk-XTLQOYLT.js.map +1 -0
  17. package/{companion-4RQ3AMOL.js → companion-HEJHC3UR.js} +5 -4
  18. package/{desktop-launcher-ADGRYF4S.js → desktop-launcher-EGGVXXKV.js} +2 -2
  19. package/index.js +4 -4
  20. package/package.json +1 -1
  21. package/settings-manager-4GAINSJO.js +10 -0
  22. package/{src-NRKK27F3.js → src-YUVA6WCM.js} +259 -172
  23. package/src-YUVA6WCM.js.map +1 -0
  24. package/web/assets/AgentScalarChatInterface.vue-DrcrJYKe.js +13 -0
  25. package/web/assets/AgentTerminalPage-BonnuSSS.js +1 -0
  26. package/web/assets/AiChatPage-DzTc9-iH.js +1 -0
  27. package/web/assets/AppLayout-DRTTSl7g.js +1 -0
  28. package/web/assets/{AppLayout-kIdcdJ2n.css → AppLayout-vWoE_P8T.css} +1 -1
  29. package/web/assets/AuditPage-CBWGaY0D.js +1 -0
  30. package/web/assets/CloudAccountPage-DTrPLz-p.js +1 -0
  31. package/web/assets/CloudAccountPage-DYOvfMjD.css +1 -0
  32. package/web/assets/CloudAccountPage-DvbOBtHJ.js +1 -0
  33. package/web/assets/CloudMessagingPage-BB-_RdEk.js +2 -0
  34. package/web/assets/DashboardPage-MdYRjTwv.js +164 -0
  35. package/web/assets/DirectoryPickerDialog-DROtNZ9T.js +1 -0
  36. package/web/assets/{EditorIcon-CdapdMgo.js → EditorIcon-LCl9V_-a.js} +2 -2
  37. package/web/assets/{EnvironmentForm-Dgrt5I5N.js → EnvironmentForm-BUadxutb.js} +2 -2
  38. package/web/assets/EnvironmentFormPage-Do3NwXL5.js +1 -0
  39. package/web/assets/EnvironmentListPage-DiG8nF1p.js +1 -0
  40. package/web/assets/KanbanBoardPage-_QCZ2A2f.js +4 -0
  41. package/web/assets/KanbanListPage-Dl-FpuPX.css +1 -0
  42. package/web/assets/KanbanListPage-nyfKMn50.js +1 -0
  43. package/web/assets/LaunchProjectPage-VHAUZ-cq.js +1 -0
  44. package/web/assets/LaunchServicesPage-CRv2zJxH.js +1 -0
  45. package/web/assets/LogViewer-DcoQF_33.js +3 -0
  46. package/web/assets/OrgKeyPrompt-X9hHtpi9.js +1 -0
  47. package/web/assets/{ProcessControls-DRyD5bQg.js → ProcessControls-PKQWukd7.js} +1 -1
  48. package/web/assets/ProcessDetailPage-DhFoi4DT.js +1 -0
  49. package/web/assets/{ProcessMetrics-D5SgFgFU.js → ProcessMetrics-CMewzyxA.js} +2 -2
  50. package/web/assets/RandomJobTestPage-CErdKP1K.js +2 -0
  51. package/web/assets/ScenarioEditorPage-CpRlfU3g.js +14 -0
  52. package/web/assets/SendToChatDialog-DIp62wvw.js +1 -0
  53. package/web/assets/ServiceControlsBar-Bk4M-tKR.js +1 -0
  54. package/web/assets/ServiceDetailPage-BxAZTqFu.js +2 -0
  55. package/web/assets/ServiceFormPage-Dr_e9QMM.js +1 -0
  56. package/web/assets/SettingsPage-Dx1eYZKP.js +2063 -0
  57. package/web/assets/UnlockPage-CgynzFN3.js +1 -0
  58. package/web/assets/UnlockPage-DU3hoV78.css +1 -0
  59. package/web/assets/VaultMigrationPage-Cw--n60U.js +1 -0
  60. package/web/assets/VersionBadge-Ct-qYNDF.js +1 -0
  61. package/web/assets/WikiPage-D7N7nA2O.js +1 -0
  62. package/web/assets/WikiView-Izg2SvGt.js +1 -0
  63. package/web/assets/add-scalar-classes-BP_OZa5m.js +387 -0
  64. package/web/assets/{autocomplete-ByrzVX5h.js → autocomplete-DMfvn4sK.js} +3 -3
  65. package/web/assets/{basic-shape-diamond.svg-h2koobo1.js → basic-shape-diamond.svg-B5H1r2bp.js} +1 -1
  66. package/web/assets/{basic-shape-hexagon.svg--IMj5O6H.js → basic-shape-hexagon.svg-CYAjKF0z.js} +1 -1
  67. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-B0JqtIPK.js → basic-shape-primary-circle-ellipse-round.svg-CgleCAf-.js} +1 -1
  68. package/web/assets/{basic-shape-primary-square-rectangle.svg-nMUFcz3q.js → basic-shape-primary-square-rectangle.svg-1Oa48Hhs.js} +1 -1
  69. package/web/assets/{basic-shape-shield.svg-B01_o2Y1.js → basic-shape-shield.svg-F6dZwVUJ.js} +1 -1
  70. package/web/assets/{browser-OPkfGEHD.js → browser-CmPAWcJ7.js} +1 -1
  71. package/web/assets/{browser-DcLBGCAS.js → browser-D3KJ0m2n.js} +1 -1
  72. package/web/assets/card-Ciw7uU90.js +32 -0
  73. package/web/assets/{checkbox-DGCPu95-.js → checkbox-BCCx0Nu6.js} +3 -3
  74. package/web/assets/{chip-Chk5tAnb.js → chip-JRh6DXig.js} +2 -2
  75. package/web/assets/client-BIlYBe0s.js +24 -0
  76. package/web/assets/cloud-chat.store-BUYi4kYT.js +1 -0
  77. package/web/assets/cloud-client-CujRC6FF.js +1 -0
  78. package/web/assets/cloud-session-CSIV9Uvx.js +1 -0
  79. package/web/assets/{cloud-session-CnTOFA6T.js → cloud-session-CZWto5y3.js} +2 -2
  80. package/web/assets/column-DSBHw97f.js +763 -0
  81. package/web/assets/{computer-device-desktop-monitor.svg-CfTbcAFd.js → computer-device-desktop-monitor.svg-D7wu2cQ4.js} +1 -1
  82. package/web/assets/{computer-device-desktop.svg-Cl-xv361.js → computer-device-desktop.svg-BtVwjOEG.js} +1 -1
  83. package/web/assets/{computer-device-laptop.svg-ukRjIyMq.js → computer-device-laptop.svg-f3tFeUHj.js} +1 -1
  84. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CoDvI0SU.js → computer-device-mobile-phone-android-samsung-back.svg-CmJcGkrL.js} +1 -1
  85. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-BQWjk4Zt.js → computer-device-mobile-phone-android-samsung.svg-C2ke6Sbg.js} +1 -1
  86. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-DAoSG317.js → computer-device-mobile-phone-iphone-x-back.svg-DxMqUXKE.js} +1 -1
  87. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-BPjvW-EA.js → computer-device-mobile-phone-iphone-x.svg-DkbKlrh8.js} +1 -1
  88. package/web/assets/{computer-device-mobile-tablet-touch.svg-BYEFFDGJ.js → computer-device-mobile-tablet-touch.svg-DP0uXMda.js} +1 -1
  89. package/web/assets/{computer-device-mobile-tablet.svg-DNLPmtgI.js → computer-device-mobile-tablet.svg-C064ZFQm.js} +1 -1
  90. package/web/assets/{computer-device-network-ethernet-cat6.svg-BLWV1j_N.js → computer-device-network-ethernet-cat6.svg-Dwzl7zBN.js} +1 -1
  91. package/web/assets/{computer-device-network-lan-www.svg-BOoU0zpo.js → computer-device-network-lan-www.svg-BgErom5w.js} +1 -1
  92. package/web/assets/{computer-device-network-wifi-connection.svg-DGwn0IjA.js → computer-device-network-wifi-connection.svg-ByqNsV6y.js} +1 -1
  93. package/web/assets/{computer-device-network-wifi-router.svg-C5g_K48A.js → computer-device-network-wifi-router.svg-AySGITbi.js} +1 -1
  94. package/web/assets/{cssMode-Cx5qrxXy.js → cssMode-BqrZ4SB-.js} +1 -1
  95. package/web/assets/{divider-BrS14lDG.js → divider-BswZTb8q.js} +2 -2
  96. package/web/assets/{docx-preview-DAPpQjxw.js → docx-preview-t_oOha_C.js} +1 -1
  97. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DomVqm74.js → ecology-science-erlenmeyer-flask.svg-Keg4ZY0z.js} +1 -1
  98. package/web/assets/{fieldset-C0CmkHzJ.js → fieldset-DaWy9FsL.js} +2 -2
  99. package/web/assets/{freemarker2-183f16_T.js → freemarker2-Br0kiufp.js} +1 -1
  100. package/web/assets/{handlebars-Ck2u5MRS.js → handlebars-BrATzKUL.js} +1 -1
  101. package/web/assets/{html-RFHCet7g.js → html-LWTJcTM2.js} +1 -1
  102. package/web/assets/{htmlMode-MLvTePcj.js → htmlMode-A23pWfMP.js} +1 -1
  103. package/web/assets/{image-flash-lightning.svg-C_9EqK2Z.js → image-flash-lightning.svg-uQfoT6Ex.js} +1 -1
  104. package/web/assets/{image-picture-flower.svg-Cw0p4SDa.js → image-picture-flower.svg-XxD1bCHC.js} +1 -1
  105. package/web/assets/{index-De7vzwYE.js → index-e5dmzMc-.js} +362 -362
  106. package/web/assets/{index-qjiWPMcS.css → index-rUoTy8xc.css} +1 -1
  107. package/web/assets/{interface-alert-exclamation-diamond.svg-D_7jQp52.js → interface-alert-exclamation-diamond.svg-gQAlkILu.js} +1 -1
  108. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-slrQHD7Z.js → interface-alert-exclamation-triangle-warning.svg-Ga2rsl6o.js} +1 -1
  109. package/web/assets/{interface-alert-information-circle.svg-D6HZsCxj.js → interface-alert-information-circle.svg-BS0N2R1M.js} +1 -1
  110. package/web/assets/{interface-award-crown.svg-C8KlpCo8.js → interface-award-crown.svg-CtLbK4Gl.js} +1 -1
  111. package/web/assets/{interface-bookmark.svg-CcHEFyZI.js → interface-bookmark-tag.svg-Dfd6eXAX.js} +1 -1
  112. package/web/assets/{interface-bookmark-tag.svg-4m7iWpFd.js → interface-bookmark.svg-Clt6TTov.js} +1 -1
  113. package/web/assets/{interface-calendar-date-one.svg-B-NpBZQW.js → interface-calendar-date-one.svg-BmFNLrzR.js} +1 -1
  114. package/web/assets/{interface-content-book-open-pages.svg-D6JSr0DE.js → interface-content-book-open-pages.svg-u8kJbc3N.js} +1 -1
  115. package/web/assets/{interface-content-book-page.svg-4JwHKP99.js → interface-content-book-page.svg-Csk8d0R8.js} +1 -1
  116. package/web/assets/{interface-content-file.svg-dDsVtuW0.js → interface-content-file.svg-DIoD1UhJ.js} +1 -1
  117. package/web/assets/interface-content-folder.svg-BPZbNQNK.js +1 -0
  118. package/web/assets/{interface-content-folder.svg-VlaIOWsg.js → interface-content-folder.svg-ipO7hYM2.js} +1 -1
  119. package/web/assets/{interface-copy-clipboard.svg-C8NaVJTP.js → interface-copy-clipboard.svg-BaK2fHKS.js} +1 -1
  120. package/web/assets/{interface-edit-attachment.svg-DLv3r8Ta.js → interface-edit-attachment.svg-CrpyP6c6.js} +1 -1
  121. package/web/assets/{interface-edit-binocular.svg-Dn_isC0z.js → interface-edit-binocular.svg-Cw-YeqUQ.js} +1 -1
  122. package/web/assets/{interface-edit-magic-wand.svg-D7nDtfWR.js → interface-edit-magic-wand.svg-BPa49t_4.js} +1 -1
  123. package/web/assets/{interface-edit-tool-paint-roller.svg-pvqfHBhq.js → interface-edit-tool-paint-roller.svg-Cfag7vxY.js} +1 -1
  124. package/web/assets/{interface-edit-tool-pencil.svg-65sH97q4.js → interface-edit-tool-pencil.svg-BNAmX0d_.js} +1 -1
  125. package/web/assets/{interface-favorite-award.svg-ByKr9sn6.js → interface-favorite-award.svg-CIMvocAv.js} +1 -1
  126. package/web/assets/{interface-favorite-flag.svg-Dw-AP2Bq.js → interface-favorite-flag.svg-8C3GXK06.js} +1 -1
  127. package/web/assets/{interface-favorite-heart.svg-B_rIv8ZF.js → interface-favorite-heart.svg-CEU_IALn.js} +1 -1
  128. package/web/assets/{interface-favorite-star.svg-DdSC1aGg.js → interface-favorite-star.svg-Bs0RUtgk.js} +1 -1
  129. package/web/assets/{interface-favorite-stars-sparkles.svg-B2P_fEQm.js → interface-favorite-stars-sparkles.svg-CZYZ5qkH.js} +1 -1
  130. package/web/assets/{interface-hierarchy-flowchart.svg-Dn7xVcha.js → interface-hierarchy-flowchart.svg-DOgEXHV2.js} +1 -1
  131. package/web/assets/{interface-home-house.svg-CPV7dtoL.js → interface-home-house.svg-lDERGk8q.js} +1 -1
  132. package/web/assets/{interface-hyperlink.svg-BxEpW0yS.js → interface-hyperlink.svg-CAZrs64U.js} +1 -1
  133. package/web/assets/{interface-lighting-brightness.svg-CHwx5muE.js → interface-lighting-brightness.svg-CVANBB7i.js} +1 -1
  134. package/web/assets/{interface-lock-closed.svg-Ct9YyvGT.js → interface-lock-closed.svg-qDLyceL-.js} +1 -1
  135. package/web/assets/{interface-lock-open-unlock.svg-DuuZ9seB.js → interface-lock-open-unlock.svg-Bc-cq6eU.js} +1 -1
  136. package/web/assets/{interface-login-key.svg-DwQq_1hs.js → interface-login-key.svg-D6wZBYEi.js} +1 -1
  137. package/web/assets/{interface-search.svg-Cd9FPHXP.js → interface-search.svg-BVM6kkvA.js} +1 -1
  138. package/web/assets/{interface-setting-cog.svg-C2oUvcZk.js → interface-setting-cog.svg-uJYqlmKx.js} +1 -1
  139. package/web/assets/{interface-share-megaphone-bullhorn.svg-D_sqPbcr.js → interface-share-megaphone-bullhorn.svg-CgBVBu7Z.js} +1 -1
  140. package/web/assets/{interface-share-rocket.svg-DHw9o1DN.js → interface-share-rocket.svg-C1iCXMlX.js} +1 -1
  141. package/web/assets/{interface-share-satellite.svg-CYuWbhdH.js → interface-share-satellite.svg-uH-Cvq9d.js} +1 -1
  142. package/web/assets/{interface-share-space-ship.svg-CsQbvDGw.js → interface-share-space-ship.svg-81lauyV5.js} +1 -1
  143. package/web/assets/{interface-share.svg-CxR58P36.js → interface-share.svg-DO85t-F0.js} +1 -1
  144. package/web/assets/{interface-signal-square.svg-BFCAMIlM.js → interface-signal-square.svg-CFAni6lY.js} +1 -1
  145. package/web/assets/{interface-time-clock-circle.svg-BMtmcI_Z.js → interface-time-clock-circle.svg-BUQfluh7.js} +1 -1
  146. package/web/assets/{interface-time-hour-glass.svg-F_74mbfe.js → interface-time-hour-glass.svg-BAZDU-C5.js} +1 -1
  147. package/web/assets/{interface-users-multiple.svg-GqG3hBlb.js → interface-users-multiple.svg-Bj0AvF2-.js} +1 -1
  148. package/web/assets/{interface-weather-moon.svg-By26aJ-s.js → interface-weather-moon.svg-Cxz-5thD.js} +1 -1
  149. package/web/assets/{javascript-DWG-shUz.js → javascript-CuP68vN5.js} +1 -1
  150. package/web/assets/{jsonMode-c7o5Rqeq.js → jsonMode-CdGjze9r.js} +1 -1
  151. package/web/assets/{liquid-DqJ-7gUQ.js → liquid-fJJZPdJb.js} +1 -1
  152. package/web/assets/{lspLanguageFeatures-C_r6rVue.js → lspLanguageFeatures-YzzH9q9a.js} +3 -3
  153. package/web/assets/{mail-chat-bubble-square.svg-1OECQtwZ.js → mail-chat-bubble-square.svg-DY1-sN8v.js} +1 -1
  154. package/web/assets/{mail-send-email-paper-airplane.svg-DGa9kXqg.js → mail-send-email-paper-airplane.svg-6zVEUG2-.js} +1 -1
  155. package/web/assets/{mail-send-envelope.svg-DOnW83Qn.js → mail-send-envelope.svg-DNpA7Auy.js} +1 -1
  156. package/web/assets/{mdx-BmXiyjsf.js → mdx-CphM-wvX.js} +1 -1
  157. package/web/assets/{minus-Bva6o6mu.js → minus-DD84SZSh.js} +2 -2
  158. package/web/assets/modal-CKGM8Wb3.js +5 -0
  159. package/web/assets/modal-Dd5rzDUd.js +1 -0
  160. package/web/assets/{money-cashier-receipt.svg-C9S8E9Gs.js → money-cashier-receipt.svg-ChxLUMT0.js} +1 -1
  161. package/web/assets/{money-currency-dollar-pay.svg-CXNYqgJd.js → money-currency-dollar-pay.svg-CcPdfv1E.js} +1 -1
  162. package/web/assets/{money-graph-arrow-increase.svg-DVTCnF_9.js → money-graph-arrow-increase.svg-BsmXO8yM.js} +1 -1
  163. package/web/assets/{money-graph-bar-chart-increase.svg-CIlyGCUY.js → money-graph-bar-chart-increase.svg-QVk3zD8i.js} +1 -1
  164. package/web/assets/multiselect-3cR58mLz.js +251 -0
  165. package/web/assets/{nature-ecology-leaf.svg-xc6FzauK.js → nature-ecology-leaf.svg-nzup63P6.js} +1 -1
  166. package/web/assets/{password-B_HLITFe.js → password-CCYLOu-C.js} +4 -4
  167. package/web/assets/{phone-telephone.svg-D6y6im-g.js → phone-telephone.svg-BLtgdZw-.js} +1 -1
  168. package/web/assets/{plus-DJr2QEgS.js → plus-jk73RdzY.js} +5 -5
  169. package/web/assets/process.store-jsfEBwiA.js +1 -0
  170. package/web/assets/{programming-bug.svg-jKhqPvQ0.js → programming-bug.svg-BCN6lOn1.js} +1 -1
  171. package/web/assets/{programming-cloud.svg-C1_us4-8.js → programming-cloud.svg-DHNBRNkQ.js} +1 -1
  172. package/web/assets/{programming-computer-database-server.svg-C_8mq7k2.js → programming-computer-database-server.svg-C4DheEbm.js} +1 -1
  173. package/web/assets/{programming-computer-database.svg-Cc445gb5.js → programming-computer-database.svg-cD2w2ZZ6.js} +1 -1
  174. package/web/assets/{programming-module-four-layout.svg-B5fbcAO3.js → programming-module-four-layout.svg-D6_P2rTG.js} +1 -1
  175. package/web/assets/{programming-module-three.svg-J7fncT0c.js → programming-module-three.svg-Dc076Z_f.js} +1 -1
  176. package/web/assets/{programming-module.svg-BVjzZRgZ.js → programming-module.svg-D0c9akII.js} +1 -1
  177. package/web/assets/{programming-script-code.svg-By609kb5.js → programming-script-code.svg-BrT3KZQe.js} +1 -1
  178. package/web/assets/project-launch.store-Bp7vasUu.js +1 -0
  179. package/web/assets/project.store-DuZriz9o.js +1 -0
  180. package/web/assets/{python-jVn8dPRY.js → python-DMw-TRDY.js} +1 -1
  181. package/web/assets/{radiobutton-erK19fCL.js → radiobutton-CnoEo0qc.js} +2 -2
  182. package/web/assets/{razor-BJoJ2H1P.js → razor-BTS4Lk96.js} +1 -1
  183. package/web/assets/router-BU2tqcBm.js +1 -0
  184. package/web/assets/settings-scope-Bg_X1n_Y.js +1 -0
  185. package/web/assets/{settings.store-CcYfFedF.js → settings.store-DeGpnclr.js} +1 -1
  186. package/web/assets/{shopping-cart.svg-a8Rjk8rK.js → shopping-cart.svg-pvFNKXP_.js} +1 -1
  187. package/web/assets/{shopping-gift-present.svg-BIN9jnEb.js → shopping-gift-present.svg-PYJ4_vdS.js} +1 -1
  188. package/web/assets/{shopping-shipping-box-parcel-package.svg-05MVPg3v.js → shopping-shipping-box-parcel-package.svg-KMRd9Rmg.js} +1 -1
  189. package/web/assets/src-BsadAol0.js +572 -0
  190. package/web/assets/{src-DCcw9sU3.css → src-DU1mBjF-.css} +1 -1
  191. package/web/assets/src-NXursDRf.js +1 -0
  192. package/web/assets/{tabpanel-BIAV4aKH.js → tabpanel-CKudNnqo.js} +3 -3
  193. package/web/assets/{tag-new-circle.svg-ehKpryNe.js → tag-new-circle.svg-Bf83DYRq.js} +1 -1
  194. package/web/assets/theme-D6M00FyZ.js +1 -0
  195. package/web/assets/{toggleswitch-qhHjeH7s.js → toggleswitch-Cv0supU2.js} +2 -2
  196. package/web/assets/{travel-map-earth-globe.svg-D0Dk72so.js → travel-map-earth-globe.svg-WxnFDzEH.js} +1 -1
  197. package/web/assets/trpc-mWVODCs2.js +1 -0
  198. package/web/assets/{tsMode-B-s4JVyR.js → tsMode-CfruLmor.js} +5 -5
  199. package/web/assets/{typescript-CToySho3.js → typescript-BvsjNfHT.js} +1 -1
  200. package/web/assets/useAiChatDrawer-vNey6IKe.js +1 -0
  201. package/web/assets/useCloudOrg-B0o8vN4e.js +1 -0
  202. package/web/assets/useEnvVarAutocomplete-DJMTIim7.js +1 -0
  203. package/web/assets/useProjectCatalog-B6GXBDDA.js +1 -0
  204. package/web/assets/{useProjectCloudOrg-DOTcwa9I.js → useProjectCloudOrg-BwLsTiz0.js} +1 -1
  205. package/web/assets/useServiceUrlHost-CE4Qoy-J.js +1 -0
  206. package/web/assets/{xml-BMt9wg3H.js → xml-BTID20Kj.js} +1 -1
  207. package/web/assets/{yaml-RmzWffCM.js → yaml-BtOf_8je.js} +1 -1
  208. package/web/index.html +2 -2
  209. package/agent-manager-ACPQWUZ5.js +0 -9
  210. package/chunk-22RJM654.js.map +0 -1
  211. package/chunk-2WXQIUVC.js.map +0 -1
  212. package/chunk-GIHR3BGT.js.map +0 -1
  213. package/chunk-H6VIS4OY.js.map +0 -1
  214. package/chunk-NYKFDU76.js.map +0 -1
  215. package/settings-manager-2C7RY6ZC.js +0 -9
  216. package/src-NRKK27F3.js.map +0 -1
  217. package/web/assets/AgentScalarChatInterface.vue-Lgml1vhh.js +0 -13
  218. package/web/assets/AgentTerminalPage-CwxbyQxm.js +0 -1
  219. package/web/assets/AiChatPage-CknE-NOo.js +0 -1
  220. package/web/assets/AppLayout-DT6bb__K.js +0 -1
  221. package/web/assets/AuditPage-DzK5Tp3Z.js +0 -1
  222. package/web/assets/CloudAccountPage-BDQpVEAX.js +0 -1
  223. package/web/assets/CloudAccountPage-CWdxZvAC.js +0 -1
  224. package/web/assets/CloudAccountPage-CfMY69pk.css +0 -1
  225. package/web/assets/CloudMessagingPage-BX0QPzkR.js +0 -2
  226. package/web/assets/DashboardPage-BNBzT2zb.js +0 -164
  227. package/web/assets/DirectoryPickerDialog-ZT-tL_4A.js +0 -1
  228. package/web/assets/EnvironmentFormPage-B7uerFJ0.js +0 -1
  229. package/web/assets/EnvironmentListPage-tTe_1yh-.js +0 -1
  230. package/web/assets/KanbanBoardPage-DTZVqxd6.js +0 -4
  231. package/web/assets/KanbanListPage-C5rbZ1eL.css +0 -1
  232. package/web/assets/KanbanListPage-D82HSRy7.js +0 -1
  233. package/web/assets/LaunchProjectPage-DgaslasQ.js +0 -1
  234. package/web/assets/LaunchServicesPage-I2HCqujc.js +0 -1
  235. package/web/assets/LogViewer-CYuoSJAN.js +0 -3
  236. package/web/assets/OrgKeyPrompt-Asz6FlrN.js +0 -1
  237. package/web/assets/ProcessDetailPage-DHmTCgj8.js +0 -1
  238. package/web/assets/RandomJobTestPage-COLLiJzt.js +0 -2
  239. package/web/assets/ScenarioEditorPage-rDIB08Ap.js +0 -14
  240. package/web/assets/SendToChatDialog-BvUmZhUU.js +0 -1
  241. package/web/assets/ServiceControlsBar-DGTsbA5Q.js +0 -1
  242. package/web/assets/ServiceDetailPage-Ddko3DNN.js +0 -2
  243. package/web/assets/ServiceFormPage-oVVmtWjt.js +0 -1
  244. package/web/assets/SettingsPage-BcQruhk1.js +0 -2063
  245. package/web/assets/UnlockPage-CpysPhlT.css +0 -1
  246. package/web/assets/UnlockPage-OH7UV01L.js +0 -1
  247. package/web/assets/VaultMigrationPage-B4a0WihW.js +0 -1
  248. package/web/assets/VersionBadge-URtOAd5L.js +0 -1
  249. package/web/assets/WikiPage-BotpKBAY.js +0 -1
  250. package/web/assets/WikiView-DQCs79lu.js +0 -1
  251. package/web/assets/add-scalar-classes-CnAomA8D.js +0 -387
  252. package/web/assets/card-C3Xots9M.js +0 -32
  253. package/web/assets/client-CbBJUuyt.js +0 -24
  254. package/web/assets/cloud-chat.store-COR3nnYR.js +0 -1
  255. package/web/assets/cloud-client-DZFY1sze.js +0 -1
  256. package/web/assets/cloud-session-CCJUvzk1.js +0 -1
  257. package/web/assets/column-ROcesBUs.js +0 -763
  258. package/web/assets/interface-content-folder.svg-CagI3wg0.js +0 -1
  259. package/web/assets/modal-AUS2ksVq.js +0 -5
  260. package/web/assets/modal-BR3MAJDn.js +0 -1
  261. package/web/assets/multiselect-aPow7kzy.js +0 -251
  262. package/web/assets/process.store-CVrBwiRB.js +0 -1
  263. package/web/assets/project-launch.store-DCuERm8z.js +0 -1
  264. package/web/assets/project.store-D0oo8kyl.js +0 -1
  265. package/web/assets/router-0UcfydXq.js +0 -1
  266. package/web/assets/settings-scope-DdLe151G.js +0 -1
  267. package/web/assets/src-BiwZaAz3.js +0 -1
  268. package/web/assets/src-OmBj_GBQ.js +0 -572
  269. package/web/assets/theme-DiK_jXoN.js +0 -1
  270. package/web/assets/trpc-DOYpfRgV.js +0 -1
  271. package/web/assets/useAiChatDrawer-BSlDU8P0.js +0 -1
  272. package/web/assets/useCloudOrg-_EGQ6eUY.js +0 -1
  273. package/web/assets/useEnvVarAutocomplete-B4h_6ylX.js +0 -1
  274. package/web/assets/useProjectCatalog-B3GacZkf.js +0 -1
  275. package/web/assets/useServiceUrlHost-B-38dOxY.js +0 -1
  276. /package/{agent-manager-ACPQWUZ5.js.map → agent-manager-BSPEFZKZ.js.map} +0 -0
  277. /package/{chat-PXMMZIAY.js.map → chat-SE5GIT4B.js.map} +0 -0
  278. /package/{companion-4RQ3AMOL.js.map → companion-HEJHC3UR.js.map} +0 -0
  279. /package/{desktop-launcher-ADGRYF4S.js.map → desktop-launcher-EGGVXXKV.js.map} +0 -0
  280. /package/{settings-manager-2C7RY6ZC.js.map → settings-manager-4GAINSJO.js.map} +0 -0
@@ -6,6 +6,7 @@ import {
6
6
  } from "./chunk-MD3VW4HQ.js";
7
7
  import {
8
8
  AmbiguousProjectError,
9
+ StoreDiskCoordinator,
9
10
  agentManager,
10
11
  decryptValue,
11
12
  encryptValue,
@@ -13,24 +14,28 @@ import {
13
14
  environmentStore,
14
15
  forgetProject,
15
16
  getEncryptionKey,
16
- hasChangedSinceRead,
17
17
  projectKey,
18
18
  refOfProjectAmong,
19
19
  registerProjectLoader,
20
- rememberFile,
21
20
  rootOfProjectAmong,
22
21
  rootOfProjectRef,
23
22
  serviceStore,
24
23
  setProjectServices,
25
- setProjectVault,
24
+ setProjectVault
25
+ } from "./chunk-XTLQOYLT.js";
26
+ import {
27
+ atomicWriteSecure,
28
+ fingerprintFiles,
29
+ hasChangedSinceRead,
30
+ rememberFile,
26
31
  wasRead
27
- } from "./chunk-2WXQIUVC.js";
32
+ } from "./chunk-GL7WA5K3.js";
28
33
  import {
29
34
  COMPANION_RELAY_CLOSE,
30
35
  COMPANION_RELAY_OPEN,
31
36
  ProjectSchema,
32
37
  extractCompanionRelay
33
- } from "./chunk-H6VIS4OY.js";
38
+ } from "./chunk-T2BV5WZE.js";
34
39
  import {
35
40
  allVaultRoots,
36
41
  ensureLocalVault,
@@ -50,14 +55,14 @@ import { EventEmitter as EventEmitter4 } from "events";
50
55
 
51
56
  // ../server/src/services/conversation-store.ts
52
57
  import { randomUUID as randomUUID2 } from "crypto";
53
- import { readFile as readFile3, writeFile as writeFile4, rename as rename3, mkdir as mkdir3, chmod as chmod3 } from "fs/promises";
58
+ import { readFile as readFile3, mkdir as mkdir2 } from "fs/promises";
54
59
  import { dirname, join as join4 } from "path";
55
60
  import { EventEmitter as EventEmitter2 } from "events";
56
61
 
57
62
  // ../server/src/services/project-store.ts
58
63
  import { randomUUID } from "crypto";
59
64
  import { EventEmitter } from "events";
60
- import { readFile as readFile2, writeFile as writeFile3, rename as rename2, mkdir as mkdir2, chmod as chmod2, rm } from "fs/promises";
65
+ import { readFile as readFile2, rename as rename2, rm } from "fs/promises";
61
66
  import { join as join3 } from "path";
62
67
 
63
68
  // ../server/src/utils/ensure-data-gitignore.ts
@@ -267,22 +272,27 @@ var ProjectStore = class {
267
272
  */
268
273
  projects = /* @__PURE__ */ new Map();
269
274
  loaded = false;
275
+ /**
276
+ * L'état du disque tel qu'il était au dernier chargement.
277
+ *
278
+ * Plusieurs Runeya partagent la racine machine — l'application installée et
279
+ * celle qu'on développe, couramment — et créent donc des projets dans les
280
+ * mêmes coffres. Un store chargé une fois pour toutes ne voit jamais le
281
+ * travail de l'autre : il faudrait le redémarrer pour qu'un projet créé à
282
+ * côté existe pour lui.
283
+ */
284
+ fingerprint = "";
285
+ disk = new StoreDiskCoordinator();
270
286
  /** Emits `'saved'` after every persisted mutation, for the cloud sync bridge. */
271
287
  events = new EventEmitter();
272
288
  getFilePath(root = localVaultRoot()) {
273
289
  return join3(root, FILENAME2);
274
290
  }
275
- async writeAtomic(filePath, data) {
276
- const tmpPath = filePath + ".tmp";
277
- await writeFile3(tmpPath, data, "utf-8");
278
- await rename2(tmpPath, filePath);
279
- await chmod2(filePath, 384);
280
- }
281
291
  /** Adopt a project read from disk, remembering which vault it came from. */
282
- async absorb(p, root) {
292
+ async absorb(into, p, root) {
283
293
  const projectEnvs = await environmentStore.getByProjectId(p.id).catch(() => []);
284
294
  const defaultEnv = projectEnvs.find((e) => e.default);
285
- this.projects.set(projectKey(p), {
295
+ into.set(projectKey(p), {
286
296
  ...p,
287
297
  environmentIds: p.environmentIds ?? [],
288
298
  groupOrder: p.groupOrder ?? [],
@@ -292,6 +302,21 @@ var ProjectStore = class {
292
302
  setProjectVault(p, root);
293
303
  setProjectServices(p, p.serviceIds ?? []);
294
304
  }
305
+ /**
306
+ * Ce que le disque porte : quels coffres, et quand leur fiche a changé.
307
+ *
308
+ * Les coffres sont demandés à `listCloudVaults`, qui les découvre déjà par
309
+ * balayage — en refaire un ici donnerait deux inventaires à tenir d'accord.
310
+ * Seules les dates sont relevées : lire et analyser les fiches, puis les
311
+ * absorber (ce qui va interroger les environnements), est justement ce que ce
312
+ * repère évite de refaire à chaque appel.
313
+ */
314
+ async diskFingerprint() {
315
+ return fingerprintFiles([
316
+ this.getFilePath(),
317
+ ...(await listCloudVaults()).map((v) => this.getFilePath(v.root))
318
+ ]);
319
+ }
295
320
  /**
296
321
  * Read every vault: the launch directory, then each organization's projects.
297
322
  *
@@ -299,28 +324,53 @@ var ProjectStore = class {
299
324
  * than from an index. An index is one more thing that can disagree with the
300
325
  * disk — and a project present on disk but missing from it is exactly the
301
326
  * "already here, still shown as downloadable" bug.
327
+ *
328
+ * Relu quand le disque a bougé, pas une fois pour toutes : une autre instance
329
+ * partageant cette racine machine y crée des projets, et ne jamais relire
330
+ * reviendrait à exiger un redémarrage pour les voir.
302
331
  */
303
332
  async load() {
304
- if (this.loaded) return;
305
- this.loaded = true;
333
+ let migrated = false;
334
+ await this.disk.load(async () => {
335
+ const fingerprint = await this.diskFingerprint();
336
+ if (this.loaded && fingerprint === this.fingerprint) return null;
337
+ const next = await this.readVaults();
338
+ return () => {
339
+ for (const [key, project] of next.projects) {
340
+ const before = this.projects.get(key)?.activeEnvironmentId;
341
+ if (before && project.environmentIds.includes(before)) {
342
+ project.activeEnvironmentId = before;
343
+ }
344
+ }
345
+ this.projects = next.projects;
346
+ this.fingerprint = fingerprint;
347
+ this.loaded = true;
348
+ migrated = next.migrated;
349
+ };
350
+ });
351
+ if (migrated) {
352
+ await this.save();
353
+ await serviceStore.relocateAll();
354
+ await environmentStore.relocateAll();
355
+ }
356
+ }
357
+ /** Le parcours proprement dit, dans une table neuve que `load` substitue. */
358
+ async readVaults() {
359
+ const projects = /* @__PURE__ */ new Map();
306
360
  const { local, strayCloud } = await readLocalProject();
307
- if (local) await this.absorb(local, localVaultRoot());
361
+ if (local) await this.absorb(projects, local, localVaultRoot());
308
362
  let migrated = false;
309
363
  for (const project of strayCloud) {
310
364
  try {
311
- await this.absorb(project, vaultFor(project).root);
365
+ await this.absorb(projects, project, vaultFor(project).root);
312
366
  migrated = true;
313
367
  } catch {
314
368
  }
315
369
  }
316
370
  for (const { project, root } of await readCloudProjects()) {
317
- await this.absorb(project, root);
318
- }
319
- if (migrated) {
320
- await this.save();
321
- await serviceStore.relocateAll();
322
- await environmentStore.relocateAll();
371
+ await this.absorb(projects, project, root);
323
372
  }
373
+ return { projects, migrated };
324
374
  }
325
375
  /**
326
376
  * Persist every vault this store knows about.
@@ -329,7 +379,10 @@ var ProjectStore = class {
329
379
  * that moved between vaults — a local project adopted by an org, a cloud
330
380
  * project pulled for the first time — from lingering in the vault it left.
331
381
  */
332
- async save() {
382
+ save() {
383
+ return this.disk.save(() => this.writeVaults());
384
+ }
385
+ async writeVaults() {
333
386
  const locals = [];
334
387
  const cloud = [];
335
388
  for (const project of this.projects.values()) {
@@ -346,7 +399,7 @@ var ProjectStore = class {
346
399
  if (local) {
347
400
  await ensureLocalVault();
348
401
  await ensureDataGitignore(localVaultRoot());
349
- await this.writeAtomic(this.getFilePath(), JSON.stringify(toDiskForm(local), null, 2));
402
+ await atomicWriteSecure(this.getFilePath(), JSON.stringify(toDiskForm(local), null, 2));
350
403
  } else {
351
404
  await rm(this.getFilePath(), { force: true }).catch(() => {
352
405
  });
@@ -354,10 +407,10 @@ var ProjectStore = class {
354
407
  await rename2(join3(localVaultRoot(), LEGACY_FILENAME), join3(localVaultRoot(), LEGACY_FILENAME + ".bak")).catch(() => {
355
408
  });
356
409
  for (const { project, root } of cloud) {
357
- await mkdir2(root, { recursive: true });
358
- await this.writeAtomic(this.getFilePath(root), JSON.stringify(toDiskForm(project), null, 2));
410
+ await atomicWriteSecure(this.getFilePath(root), JSON.stringify(toDiskForm(project), null, 2));
359
411
  setProjectVault(project, root);
360
412
  }
413
+ this.fingerprint = await this.diskFingerprint();
361
414
  this.events.emit("saved");
362
415
  }
363
416
  /**
@@ -678,8 +731,17 @@ var ConversationStore = class {
678
731
  */
679
732
  unreadable = /* @__PURE__ */ new Map();
680
733
  loaded = false;
734
+ /**
735
+ * L'état du disque au dernier chargement — voir `ProjectStore.fingerprint`.
736
+ *
737
+ * Les conversations ne passent pas par le cloud : elles restent sur ce poste.
738
+ * Le disque est donc le seul canal entre deux Runeya qui le partagent, et un
739
+ * cache jamais revu y est la seule chose qui puisse faire disparaître une
740
+ * conversation écrite dans l'autre fenêtre.
741
+ */
742
+ fingerprint = "";
681
743
  events = new EventEmitter2().setMaxListeners(0);
682
- saveQueue = Promise.resolve();
744
+ disk = new StoreDiskCoordinator();
683
745
  snapshotConversation(conv) {
684
746
  return structuredClone(conv);
685
747
  }
@@ -708,7 +770,7 @@ var ConversationStore = class {
708
770
  }
709
771
  }
710
772
  async ensureDir() {
711
- await mkdir3(dirname(await this.getFilePath()), { recursive: true });
773
+ await mkdir2(dirname(await this.getFilePath()), { recursive: true });
712
774
  }
713
775
  encryptMessages(messages, vault) {
714
776
  return encryptValue(JSON.stringify(messages), vault);
@@ -800,21 +862,42 @@ ${new Error("trace").stack}`
800
862
  * one project. With no local project to point at, it is left unattributed
801
863
  * rather than filed under a project picked at random.
802
864
  */
803
- async load() {
804
- if (this.loaded) return;
805
- if (!getEncryptionKey()) {
806
- return;
807
- }
808
- this.loaded = true;
809
- this.unreadable.clear();
810
- await ensureProjectsLoaded();
865
+ /** Les fichiers dont ce store tire son contenu : les coffres, et l'hérité. */
866
+ async sourcePaths() {
811
867
  const vaults = await allVaultRoots();
812
868
  const legacyPaths = [this.getLegacyFilePath(), await keyedFilePath(FILENAME3)];
813
- const sources = [
869
+ return [
814
870
  ...legacyPaths.map((path) => ({ path, legacy: true })),
815
871
  ...vaults.map((root) => ({ path: join4(root, FILENAME3), legacy: false }))
816
872
  ];
817
- for (const { path, legacy } of sources) {
873
+ }
874
+ async diskFingerprint() {
875
+ return fingerprintFiles((await this.sourcePaths()).map((s) => s.path));
876
+ }
877
+ async load() {
878
+ if (!getEncryptionKey()) {
879
+ return;
880
+ }
881
+ await this.disk.load(async () => {
882
+ const fingerprint = await this.diskFingerprint();
883
+ if (this.loaded && fingerprint === this.fingerprint) return null;
884
+ await ensureProjectsLoaded();
885
+ const next = await this.readSources();
886
+ return () => {
887
+ this.conversations = next.conversations;
888
+ this.roots = next.roots;
889
+ this.unreadable = next.unreadable;
890
+ this.fingerprint = fingerprint;
891
+ this.loaded = true;
892
+ };
893
+ });
894
+ }
895
+ /** Lire toutes les sources dans des tables neuves, que `load` substitue d'un coup. */
896
+ async readSources() {
897
+ const conversations = /* @__PURE__ */ new Map();
898
+ const roots = /* @__PURE__ */ new Map();
899
+ const unreadable = /* @__PURE__ */ new Map();
900
+ for (const { path, legacy } of await this.sourcePaths()) {
818
901
  let data;
819
902
  try {
820
903
  data = JSON.parse(await readFile3(path, "utf-8"));
@@ -828,15 +911,16 @@ ${new Error("trace").stack}`
828
911
  try {
829
912
  const conv = this.fromDisk(item, vaultIdOfRoot(root));
830
913
  if (!conv.projectId && inherited) conv.projectId = inherited;
831
- this.conversations.set(item.id, conv);
832
- this.roots.set(item.id, root);
914
+ conversations.set(item.id, conv);
915
+ roots.set(item.id, root);
833
916
  } catch {
834
- const bucket = this.unreadable.get(root) ?? [];
917
+ const bucket = unreadable.get(root) ?? [];
835
918
  bucket.push(item);
836
- this.unreadable.set(root, bucket);
919
+ unreadable.set(root, bucket);
837
920
  }
838
921
  }
839
922
  }
923
+ return { conversations, roots, unreadable };
840
924
  }
841
925
  /**
842
926
  * Oublier ce qui a été lu, pour tout relire sous la clé courante.
@@ -903,13 +987,10 @@ ${new Error("trace").stack}`
903
987
  );
904
988
  continue;
905
989
  }
906
- await mkdir3(root, { recursive: true });
907
- const tmpPath = `${filePath}.tmp`;
908
- await writeFile4(tmpPath, JSON.stringify(data, null, 2), "utf-8");
909
- await rename3(tmpPath, filePath);
910
- await chmod3(filePath, 384);
990
+ await atomicWriteSecure(filePath, JSON.stringify(data, null, 2));
911
991
  await rememberFile(filePath);
912
992
  }
993
+ this.fingerprint = await this.diskFingerprint();
913
994
  }
914
995
  /**
915
996
  * The vault a conversation is written to: its project's.
@@ -945,11 +1026,8 @@ ${new Error("trace").stack}`
945
1026
  await this.load();
946
1027
  await this.save();
947
1028
  }
948
- async save() {
949
- const write = this.saveQueue.then(() => this.saveInternal());
950
- this.saveQueue = write.catch(() => {
951
- });
952
- return write;
1029
+ save() {
1030
+ return this.disk.save(() => this.saveInternal());
953
1031
  }
954
1032
  async list() {
955
1033
  await this.load();
@@ -1944,7 +2022,7 @@ async function runCompanionForTurn(conversationId) {
1944
2022
  if (!hasNew) {
1945
2023
  return skip(conversationId, "nothingNew", `rien de neuf \xE0 relire (${messageCount} messages)`);
1946
2024
  }
1947
- const { startCliSession } = await import("./chat-PXMMZIAY.js");
2025
+ const { startCliSession } = await import("./chat-SE5GIT4B.js");
1948
2026
  const companionConv = await ensureCompanionConversation(conv);
1949
2027
  const isFirstTurn = (companionConv.messages?.length ?? 0) === 0;
1950
2028
  const exchange = formatExchange(conv.messages, from);
@@ -2058,7 +2136,7 @@ async function deliverToMainConversation(conv, message) {
2058
2136
  async function attemptDelivery(conv, message) {
2059
2137
  if (await writeToLivePty(conv.id, message)) return "pty";
2060
2138
  try {
2061
- const { startCliSession } = await import("./chat-PXMMZIAY.js");
2139
+ const { startCliSession } = await import("./chat-SE5GIT4B.js");
2062
2140
  await startCliSession(conv.runner, conv.id, message, { jwt: await signJwt() });
2063
2141
  return "headless";
2064
2142
  } catch (err) {
@@ -2081,7 +2159,7 @@ async function writeToLivePty(conversationId, message) {
2081
2159
  }
2082
2160
  async function companionSettings() {
2083
2161
  try {
2084
- const { settingsManager } = await import("./settings-manager-2C7RY6ZC.js");
2162
+ const { settingsManager } = await import("./settings-manager-4GAINSJO.js");
2085
2163
  const settings = await settingsManager.getSettings();
2086
2164
  return settings.companion ?? { enabledByDefault: false };
2087
2165
  } catch {
@@ -2210,4 +2288,4 @@ export {
2210
2288
  runCompanionNow,
2211
2289
  initCompanion
2212
2290
  };
2213
- //# sourceMappingURL=chunk-NYKFDU76.js.map
2291
+ //# sourceMappingURL=chunk-VNLIA5PV.js.map