@runeya/runeya 2.0.125 → 2.0.127

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 (281) hide show
  1. package/agent/index.js.map +1 -1
  2. package/agent-manager-FN6M6CLD.js +10 -0
  3. package/{chat-JIJQ7IJS.js → chat-VCHK77CW.js} +7 -7
  4. package/{chunk-HK5QNU6P.js → chunk-BDQOBEZ3.js} +18 -2
  5. package/chunk-BDQOBEZ3.js.map +1 -0
  6. package/{chunk-GKK3ACWB.js → chunk-LHVTBWM7.js} +599 -267
  7. package/chunk-LHVTBWM7.js.map +1 -0
  8. package/{chunk-N3ZI35SC.js → chunk-QPII36FL.js} +3 -3
  9. package/{chunk-T2BV5WZE.js → chunk-TTPL2M74.js} +87 -1
  10. package/chunk-TTPL2M74.js.map +1 -0
  11. package/{chunk-H22YLVQE.js → chunk-UKLNK5YA.js} +44 -20
  12. package/chunk-UKLNK5YA.js.map +1 -0
  13. package/{chunk-4PN7QBNM.js → chunk-WQWRTPPJ.js} +10 -5
  14. package/chunk-WQWRTPPJ.js.map +1 -0
  15. package/{companion-OZODV5BR.js → companion-YB3SDDTU.js} +7 -5
  16. package/{desktop-launcher-EGGVXXKV.js → desktop-launcher-J2BCSSGZ.js} +2 -2
  17. package/index.js +4 -4
  18. package/mcp-server/index.js +1469 -20
  19. package/mcp-server/index.js.map +1 -1
  20. package/package.json +1 -1
  21. package/settings-manager-4EDX7NIB.js +10 -0
  22. package/{src-SGSG2RSF.js → src-J3RBNMRJ.js} +268 -76
  23. package/src-J3RBNMRJ.js.map +1 -0
  24. package/web/assets/AgentScalarChatInterface.vue-86061Tlh.js +13 -0
  25. package/web/assets/AgentTerminalPage-DxGLu5uT.js +1 -0
  26. package/web/assets/AiChatPage-DmQKv6pr.js +1 -0
  27. package/web/assets/{AppLayout-vWoE_P8T.css → AppLayout-Do2CLgOr.css} +1 -1
  28. package/web/assets/AppLayout-DtK_nr-e.js +1 -0
  29. package/web/assets/AuditPage-CX5VJGlF.js +1 -0
  30. package/web/assets/CloudAccountPage-B_sjXlfl.js +1 -0
  31. package/web/assets/CloudAccountPage-ocHdrVEm.js +1 -0
  32. package/web/assets/CloudMessagingPage-BTfGWio6.js +2 -0
  33. package/web/assets/DashboardPage-7sATlyhd.js +164 -0
  34. package/web/assets/DashboardPage-DWA-1xgl.css +1 -0
  35. package/web/assets/DirectoryPickerDialog-DAJGNiRV.js +1 -0
  36. package/web/assets/{EditorIcon-BZyy2C12.js → EditorIcon-lzF8hPtZ.js} +2 -2
  37. package/web/assets/EnvironmentForm-DVWdFsE1.js +108 -0
  38. package/web/assets/EnvironmentFormPage-DoKBTKCU.js +1 -0
  39. package/web/assets/EnvironmentListPage-C9wGFZWU.js +1 -0
  40. package/web/assets/KanbanBoardPage-CoiDga7h.js +4 -0
  41. package/web/assets/KanbanListPage-xWYUu1P0.js +1 -0
  42. package/web/assets/LaunchProjectPage-DVXgnUYk.js +1 -0
  43. package/web/assets/LaunchServicesPage-CPN3Z3m5.css +1 -0
  44. package/web/assets/LaunchServicesPage-DM6keva3.js +1 -0
  45. package/web/assets/LogViewer-CMtuP1rB.js +3 -0
  46. package/web/assets/OrgKeyPrompt-BqVugrV1.js +1 -0
  47. package/web/assets/{ProcessControls-neMxqIY_.js → ProcessControls-DkaiMo0H.js} +1 -1
  48. package/web/assets/ProcessDetailPage-DJacy1ZE.js +1 -0
  49. package/web/assets/{ProcessMetrics-Bb7yNIVd.js → ProcessMetrics-D2lP9cEF.js} +2 -2
  50. package/web/assets/RandomJobTestPage-BOsChnPH.js +2 -0
  51. package/web/assets/ScenarioEditorPage-8XSWtwA5.js +14 -0
  52. package/web/assets/SendToChatDialog-DqPVoUgN.js +1 -0
  53. package/web/assets/ServiceControlsBar-QwLQLGFP.js +1 -0
  54. package/web/assets/ServiceControlsBar-lhuSKZqO.css +1 -0
  55. package/web/assets/ServiceDetailPage-DUw-ZZyD.js +2 -0
  56. package/web/assets/{ServiceDetailPage-BcFOlsU9.css → ServiceDetailPage-cQNK1uWq.css} +1 -1
  57. package/web/assets/ServiceFormPage-OYBr0pY4.js +1 -0
  58. package/web/assets/SettingsPage-BFoWbWhq.js +2063 -0
  59. package/web/assets/UnlockPage-DgLCLMkg.js +1 -0
  60. package/web/assets/VaultMigrationPage-C93bZgWb.js +1 -0
  61. package/web/assets/VersionBadge-2JJyjyFh.js +1 -0
  62. package/web/assets/WikiPage-DBinkJlt.js +1 -0
  63. package/web/assets/WikiView-DMyRUz16.js +1 -0
  64. package/web/assets/add-scalar-classes-C1s53GSo.js +387 -0
  65. package/web/assets/{autocomplete-BTMTTAk9.js → autocomplete-qVwP27uM.js} +3 -3
  66. package/web/assets/{basic-shape-diamond.svg-CZQG7mdB.js → basic-shape-diamond.svg-BwZ1Enqo.js} +1 -1
  67. package/web/assets/{basic-shape-hexagon.svg-BnLoXUmj.js → basic-shape-hexagon.svg-Cyko19l-.js} +1 -1
  68. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-DDU6pRYe.js → basic-shape-primary-circle-ellipse-round.svg-CWaxr-XS.js} +1 -1
  69. package/web/assets/{basic-shape-primary-square-rectangle.svg-Dq_Zdck2.js → basic-shape-primary-square-rectangle.svg-BueTJIhO.js} +1 -1
  70. package/web/assets/{basic-shape-shield.svg-DbFCxPmO.js → basic-shape-shield.svg-DiYXMUMt.js} +1 -1
  71. package/web/assets/{browser-CTYk99RA.js → browser-72mztbYe.js} +1 -1
  72. package/web/assets/{browser-DowFjZcI.js → browser-B8wHMk1o.js} +1 -1
  73. package/web/assets/{card-R4Q2Qr9t.js → card-CRMlmWrt.js} +2 -2
  74. package/web/assets/{checkbox-CfoV-T17.js → checkbox-BiDvmfqK.js} +3 -3
  75. package/web/assets/{chip-V3vhLdcF.js → chip-Cb6eK00K.js} +2 -2
  76. package/web/assets/client-3Q_o9QCm.js +24 -0
  77. package/web/assets/cloud-chat.store-DIxQd2ew.js +1 -0
  78. package/web/assets/cloud-client-Idzdbhu6.js +1 -0
  79. package/web/assets/cloud-session-CIGp7324.js +2 -0
  80. package/web/assets/cloud-session-Cj_Q0hKS.js +1 -0
  81. package/web/assets/column-4DnT4nYp.js +763 -0
  82. package/web/assets/{computer-device-desktop-monitor.svg-CRLfD7-U.js → computer-device-desktop-monitor.svg-DkL4R6oe.js} +1 -1
  83. package/web/assets/{computer-device-desktop.svg-CGKq4iih.js → computer-device-desktop.svg-DXRQ2Wl4.js} +1 -1
  84. package/web/assets/{computer-device-laptop.svg-bmeM_RDO.js → computer-device-laptop.svg-BwdMHvul.js} +1 -1
  85. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CFwMSjoP.js → computer-device-mobile-phone-android-samsung-back.svg-CzfVICvS.js} +1 -1
  86. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-iIOhGZVY.js → computer-device-mobile-phone-android-samsung.svg-5mcZzPvQ.js} +1 -1
  87. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-CLqnsMnT.js → computer-device-mobile-phone-iphone-x-back.svg-CovJE-GH.js} +1 -1
  88. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-XECS9ZDX.js → computer-device-mobile-phone-iphone-x.svg-PgDuCiQq.js} +1 -1
  89. package/web/assets/{computer-device-mobile-tablet-touch.svg-CUR9IhGB.js → computer-device-mobile-tablet-touch.svg-1xFu6tBt.js} +1 -1
  90. package/web/assets/{computer-device-mobile-tablet.svg-BJGisjBt.js → computer-device-mobile-tablet.svg-lvKpoZnh.js} +1 -1
  91. package/web/assets/{computer-device-network-ethernet-cat6.svg-DzgiswAZ.js → computer-device-network-ethernet-cat6.svg-BJ6jNe-4.js} +1 -1
  92. package/web/assets/{computer-device-network-lan-www.svg-Dr1frFpv.js → computer-device-network-lan-www.svg-D2V9EO5w.js} +1 -1
  93. package/web/assets/{computer-device-network-wifi-connection.svg-DSj6qxT1.js → computer-device-network-wifi-connection.svg-DhFLYNK0.js} +1 -1
  94. package/web/assets/{computer-device-network-wifi-router.svg-8lGzw_-s.js → computer-device-network-wifi-router.svg-BGWV2N2B.js} +1 -1
  95. package/web/assets/{cssMode-sBjZEJAf.js → cssMode-Q_UQl6r1.js} +1 -1
  96. package/web/assets/{divider-p4BForJk.js → divider-D2zmU0b9.js} +2 -2
  97. package/web/assets/{docx-preview-D-bfEEBT.js → docx-preview-CAEo0pZg.js} +1 -1
  98. package/web/assets/{ecology-science-erlenmeyer-flask.svg-DhxVJRJ1.js → ecology-science-erlenmeyer-flask.svg-D4Cb7DOj.js} +1 -1
  99. package/web/assets/{fieldset-CCZ1tJUm.js → fieldset-CvPPXvgb.js} +2 -2
  100. package/web/assets/{freemarker2-C8iPD1fo.js → freemarker2-CCRi9jHA.js} +1 -1
  101. package/web/assets/{handlebars-BbBZAhwL.js → handlebars-4FU6Ze_N.js} +1 -1
  102. package/web/assets/{html-BQ_SV3Jd.js → html-1I40tTPC.js} +1 -1
  103. package/web/assets/{htmlMode-DReHoZFB.js → htmlMode-DQrNrxvx.js} +1 -1
  104. package/web/assets/{image-flash-lightning.svg-DbKHX2c2.js → image-flash-lightning.svg-Bh48o-tL.js} +1 -1
  105. package/web/assets/{image-picture-flower.svg-CEpqP8le.js → image-picture-flower.svg-CE0C3oid.js} +1 -1
  106. package/web/assets/{index-PMr5ScNs.js → index-SrQFBx_K.js} +36 -36
  107. package/web/assets/{interface-alert-exclamation-diamond.svg-CoNNtahD.js → interface-alert-exclamation-diamond.svg-Dzt9JrNZ.js} +1 -1
  108. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-BHa7AW0u.js → interface-alert-exclamation-triangle-warning.svg-CET5JCIK.js} +1 -1
  109. package/web/assets/{interface-alert-information-circle.svg-CpRzO-l8.js → interface-alert-information-circle.svg-GX_R0hCS.js} +1 -1
  110. package/web/assets/{interface-award-crown.svg-BFOXAZFu.js → interface-award-crown.svg-BUS_3snr.js} +1 -1
  111. package/web/assets/{interface-bookmark.svg-DulnuoPg.js → interface-bookmark-tag.svg-GOtO3ous.js} +1 -1
  112. package/web/assets/{interface-bookmark-tag.svg-DpZGlSV4.js → interface-bookmark.svg-B1HfpZ9v.js} +1 -1
  113. package/web/assets/{interface-calendar-date-one.svg-CWQHbXWQ.js → interface-calendar-date-one.svg-W8G2NQFL.js} +1 -1
  114. package/web/assets/{interface-content-book-open-pages.svg-BH97UDUJ.js → interface-content-book-open-pages.svg-0dUMuEJV.js} +1 -1
  115. package/web/assets/{interface-content-book-page.svg-DmnJkpeN.js → interface-content-book-page.svg-BZ9dLtQQ.js} +1 -1
  116. package/web/assets/{interface-content-file.svg-DkouOQzj.js → interface-content-file.svg-C5JU1QaC.js} +1 -1
  117. package/web/assets/interface-content-folder.svg-BZAP22kT.js +1 -0
  118. package/web/assets/{interface-content-folder.svg-DK2esxIw.js → interface-content-folder.svg-DeWnODx9.js} +1 -1
  119. package/web/assets/{interface-copy-clipboard.svg-DuwyZprv.js → interface-copy-clipboard.svg-DneOONZN.js} +1 -1
  120. package/web/assets/{interface-edit-attachment.svg-C4lXPh7a.js → interface-edit-attachment.svg-BUDutqFa.js} +1 -1
  121. package/web/assets/{interface-edit-binocular.svg-CuA4f4ED.js → interface-edit-binocular.svg-DQ_sVWUa.js} +1 -1
  122. package/web/assets/{interface-edit-magic-wand.svg-D-Cc4zpI.js → interface-edit-magic-wand.svg-BqDEUbja.js} +1 -1
  123. package/web/assets/{interface-edit-tool-paint-roller.svg-MtAeMQ6k.js → interface-edit-tool-paint-roller.svg-CcbJr-sE.js} +1 -1
  124. package/web/assets/{interface-edit-tool-pencil.svg-ZAP8C3Sw.js → interface-edit-tool-pencil.svg-Dlmq9sMb.js} +1 -1
  125. package/web/assets/{interface-favorite-award.svg-DRZh5var.js → interface-favorite-award.svg-CfRf16yB.js} +1 -1
  126. package/web/assets/{interface-favorite-flag.svg-Dy0qBZak.js → interface-favorite-flag.svg-BeXa9l_o.js} +1 -1
  127. package/web/assets/{interface-favorite-heart.svg-Cjxi5AEp.js → interface-favorite-heart.svg-DWDXtfc-.js} +1 -1
  128. package/web/assets/{interface-favorite-star.svg-B1OPbNTd.js → interface-favorite-star.svg-D0my2O2z.js} +1 -1
  129. package/web/assets/{interface-favorite-stars-sparkles.svg-CvnZTUkf.js → interface-favorite-stars-sparkles.svg-DwnkpORM.js} +1 -1
  130. package/web/assets/{interface-hierarchy-flowchart.svg-GGCH0pvQ.js → interface-hierarchy-flowchart.svg-BS1qAEvQ.js} +1 -1
  131. package/web/assets/{interface-home-house.svg-DB_dC7eo.js → interface-home-house.svg-ByCGOgtp.js} +1 -1
  132. package/web/assets/{interface-hyperlink.svg-LlMqAHmb.js → interface-hyperlink.svg-D0RP2diO.js} +1 -1
  133. package/web/assets/{interface-lighting-brightness.svg-DutEgNfQ.js → interface-lighting-brightness.svg-B7Wir9fI.js} +1 -1
  134. package/web/assets/{interface-lock-closed.svg-DteyBWrL.js → interface-lock-closed.svg-D93wzWGY.js} +1 -1
  135. package/web/assets/{interface-lock-open-unlock.svg-D2g-W1Mn.js → interface-lock-open-unlock.svg-CEbreK15.js} +1 -1
  136. package/web/assets/{interface-login-key.svg-Dk1JjhYH.js → interface-login-key.svg-a_CUiiRx.js} +1 -1
  137. package/web/assets/{interface-search.svg-CDHAdhLc.js → interface-search.svg-CP6bN80a.js} +1 -1
  138. package/web/assets/{interface-setting-cog.svg-BXKxgm-B.js → interface-setting-cog.svg-C1yqB1H3.js} +1 -1
  139. package/web/assets/{interface-share-megaphone-bullhorn.svg-Fq3c3_sE.js → interface-share-megaphone-bullhorn.svg-BpEzN7dc.js} +1 -1
  140. package/web/assets/{interface-share-rocket.svg-BBIuiQ8_.js → interface-share-rocket.svg-CZTpH2do.js} +1 -1
  141. package/web/assets/{interface-share-satellite.svg-LZRzoY-Y.js → interface-share-satellite.svg-CDpvXyTq.js} +1 -1
  142. package/web/assets/{interface-share-space-ship.svg-C6EewxDh.js → interface-share-space-ship.svg-QXv4WQWa.js} +1 -1
  143. package/web/assets/{interface-share.svg-Bj60UW_t.js → interface-share.svg-DO9f8_w3.js} +1 -1
  144. package/web/assets/{interface-signal-square.svg-wJGg3ZJ7.js → interface-signal-square.svg-Dpbb94dT.js} +1 -1
  145. package/web/assets/{interface-time-clock-circle.svg-C2Ki_bgh.js → interface-time-clock-circle.svg-BOM8J4p-.js} +1 -1
  146. package/web/assets/{interface-time-hour-glass.svg-BeaTe2YW.js → interface-time-hour-glass.svg-B4wmuGrS.js} +1 -1
  147. package/web/assets/{interface-users-multiple.svg-ZNPhOLEJ.js → interface-users-multiple.svg-CX6Z1IAw.js} +1 -1
  148. package/web/assets/{interface-weather-moon.svg-CzOxK1E2.js → interface-weather-moon.svg-VjaROepI.js} +1 -1
  149. package/web/assets/{javascript-CV2jmATe.js → javascript-dnJjMqJl.js} +1 -1
  150. package/web/assets/{jsonMode-BpNATOZn.js → jsonMode-DIklAZzl.js} +2 -2
  151. package/web/assets/{liquid-Bkbhlfu6.js → liquid-DM3-T0fg.js} +1 -1
  152. package/web/assets/{lspLanguageFeatures-BIiCr6WR.js → lspLanguageFeatures-DtduOI48.js} +3 -3
  153. package/web/assets/{mail-chat-bubble-square.svg-B-R9ItyG.js → mail-chat-bubble-square.svg-BtQmLgyl.js} +1 -1
  154. package/web/assets/{mail-send-email-paper-airplane.svg-F4sC3JuQ.js → mail-send-email-paper-airplane.svg-DBzfHbzK.js} +1 -1
  155. package/web/assets/{mail-send-envelope.svg-BaE9bGol.js → mail-send-envelope.svg-ByoaJJai.js} +1 -1
  156. package/web/assets/{mdx-CsTzsRLc.js → mdx-COmjqkAf.js} +1 -1
  157. package/web/assets/{minus-CsIPqtIl.js → minus-CLTSMcUf.js} +2 -2
  158. package/web/assets/modal-BaVGcm8s.js +1 -0
  159. package/web/assets/modal-Cl434j6P.js +5 -0
  160. package/web/assets/{money-cashier-receipt.svg-C8rqn3qa.js → money-cashier-receipt.svg-D3I5UkrO.js} +1 -1
  161. package/web/assets/{money-currency-dollar-pay.svg-BW5dnMxx.js → money-currency-dollar-pay.svg-BEt_zoFT.js} +1 -1
  162. package/web/assets/{money-graph-arrow-increase.svg-fHNc8kor.js → money-graph-arrow-increase.svg-BFgo8Syp.js} +1 -1
  163. package/web/assets/{money-graph-bar-chart-increase.svg-65H_xZ15.js → money-graph-bar-chart-increase.svg-BPBRyqtM.js} +1 -1
  164. package/web/assets/{multiselect-Z0owdrkn.js → multiselect-Bd1n3-4t.js} +3 -3
  165. package/web/assets/{nature-ecology-leaf.svg-BIZVZEYz.js → nature-ecology-leaf.svg-DCIaflet.js} +1 -1
  166. package/web/assets/{password-Be5EVCzq.js → password-kxqyN9bC.js} +4 -4
  167. package/web/assets/{phone-telephone.svg-B1dHjXge.js → phone-telephone.svg-_P3X_Fym.js} +1 -1
  168. package/web/assets/{plus-BY4yX4ZS.js → plus-Cs39ICwL.js} +6 -6
  169. package/web/assets/process.store-m5afcW9w.js +1 -0
  170. package/web/assets/{programming-bug.svg-DJHBIgCF.js → programming-bug.svg-BGbIcZnS.js} +1 -1
  171. package/web/assets/{programming-cloud.svg-26MWe8cC.js → programming-cloud.svg-8TyU38aV.js} +1 -1
  172. package/web/assets/{programming-computer-database-server.svg-Dy7gdMab.js → programming-computer-database-server.svg-DBxTrFCn.js} +1 -1
  173. package/web/assets/{programming-computer-database.svg-3HsFit56.js → programming-computer-database.svg-Bi3RBUmB.js} +1 -1
  174. package/web/assets/{programming-module-four-layout.svg-CLumiwsC.js → programming-module-four-layout.svg-BicMHalL.js} +1 -1
  175. package/web/assets/{programming-module-three.svg-3DvVSvY_.js → programming-module-three.svg-D13tfKhT.js} +1 -1
  176. package/web/assets/{programming-module.svg-CgtgW8TW.js → programming-module.svg-HJDv8jeZ.js} +1 -1
  177. package/web/assets/{programming-script-code.svg-DdeXzy2-.js → programming-script-code.svg-oXFzvCKr.js} +1 -1
  178. package/web/assets/project-launch.store-Cgu622KX.js +1 -0
  179. package/web/assets/project.store-CM-kT9-z.js +1 -0
  180. package/web/assets/{python-YqWM3LFr.js → python-ejRXAr81.js} +1 -1
  181. package/web/assets/{radiobutton-Pm1c37Fw.js → radiobutton-BWBirQno.js} +2 -2
  182. package/web/assets/{razor-BtNiyC__.js → razor-CbzUoARP.js} +1 -1
  183. package/web/assets/router-o5ycRaEE.js +1 -0
  184. package/web/assets/settings-scope-CSLK3J2k.js +1 -0
  185. package/web/assets/settings.store-DDQmm1ig.js +1 -0
  186. package/web/assets/{shopping-cart.svg-ejbEU5yG.js → shopping-cart.svg-DL2Mf0BX.js} +1 -1
  187. package/web/assets/{shopping-gift-present.svg-RLuyvmga.js → shopping-gift-present.svg-keqzudV3.js} +1 -1
  188. package/web/assets/{shopping-shipping-box-parcel-package.svg-0GduEUbl.js → shopping-shipping-box-parcel-package.svg-BZ0Ri9AV.js} +1 -1
  189. package/web/assets/src-C1fYy9Ht.js +572 -0
  190. package/web/assets/src-DnhPQBBB.js +1 -0
  191. package/web/assets/{tabpanel-CssLXh-h.js → tabpanel-Bdw_XASI.js} +3 -3
  192. package/web/assets/{tag-new-circle.svg-CEdgH15R.js → tag-new-circle.svg-7tUBDDe7.js} +1 -1
  193. package/web/assets/theme-COzp71lh.js +1 -0
  194. package/web/assets/{toggleswitch-CEiGEBl3.js → toggleswitch-BhJmSx1t.js} +2 -2
  195. package/web/assets/{travel-map-earth-globe.svg-Dmwx1Lus.js → travel-map-earth-globe.svg-CfJb5_3k.js} +1 -1
  196. package/web/assets/trpc-Bn_6G8HK.js +1 -0
  197. package/web/assets/{tsMode-DpPT4F6s.js → tsMode-D5Gulgwd.js} +5 -5
  198. package/web/assets/{typescript-DoO0syM1.js → typescript-B73-3GtI.js} +1 -1
  199. package/web/assets/useAiChatDrawer-QOflawaX.js +1 -0
  200. package/web/assets/useCloudOrg-BZNmQ2Ek.js +1 -0
  201. package/web/assets/useEnvVarAutocomplete-DAxcV0jl.js +1 -0
  202. package/web/assets/useProjectCatalog-8u5wFtf-.js +1 -0
  203. package/web/assets/{useProjectCloudOrg-CG7seJKu.js → useProjectCloudOrg-Bkja4sed.js} +1 -1
  204. package/web/assets/useServiceUrlHost-biHEzQVv.js +1 -0
  205. package/web/assets/{xml-FoCdWVvH.js → xml-Mkua9fdo.js} +1 -1
  206. package/web/assets/{yaml-CgRsanOy.js → yaml-BP9pkdmT.js} +1 -1
  207. package/web/index.html +1 -1
  208. package/agent-manager-FZFFWISA.js +0 -10
  209. package/chunk-4PN7QBNM.js.map +0 -1
  210. package/chunk-GKK3ACWB.js.map +0 -1
  211. package/chunk-H22YLVQE.js.map +0 -1
  212. package/chunk-HK5QNU6P.js.map +0 -1
  213. package/chunk-T2BV5WZE.js.map +0 -1
  214. package/settings-manager-MAVD4GAS.js +0 -10
  215. package/src-SGSG2RSF.js.map +0 -1
  216. package/web/assets/AgentScalarChatInterface.vue-Bv7WQetq.js +0 -13
  217. package/web/assets/AgentTerminalPage-CMA5oI2T.js +0 -1
  218. package/web/assets/AiChatPage-C0Ho1rG3.js +0 -1
  219. package/web/assets/AppLayout-DBKRAp0R.js +0 -1
  220. package/web/assets/AuditPage-fZVhSJlE.js +0 -1
  221. package/web/assets/CloudAccountPage-2LiTQCKr.js +0 -1
  222. package/web/assets/CloudAccountPage-CunPTy1b.js +0 -1
  223. package/web/assets/CloudMessagingPage-DWciFn32.js +0 -2
  224. package/web/assets/DashboardPage-3psdQljM.js +0 -164
  225. package/web/assets/DashboardPage-DFaiJ4c-.css +0 -1
  226. package/web/assets/DirectoryPickerDialog-DiiAUQKg.js +0 -1
  227. package/web/assets/EnvironmentForm-MRC8U5op.js +0 -108
  228. package/web/assets/EnvironmentFormPage-gd8fGS8P.js +0 -1
  229. package/web/assets/EnvironmentListPage-DgbclvZs.js +0 -1
  230. package/web/assets/KanbanBoardPage-BBT0gqjT.js +0 -4
  231. package/web/assets/KanbanListPage-CidIQgAq.js +0 -1
  232. package/web/assets/LaunchProjectPage-DBtkrI-A.js +0 -1
  233. package/web/assets/LaunchServicesPage-DdmfVxYL.js +0 -1
  234. package/web/assets/LaunchServicesPage-zR9FoF4q.css +0 -1
  235. package/web/assets/LogViewer-CvDPgFjq.js +0 -3
  236. package/web/assets/OrgKeyPrompt-D3RmJEtb.js +0 -1
  237. package/web/assets/ProcessDetailPage-Dj0L8Jz0.js +0 -1
  238. package/web/assets/RandomJobTestPage-ohHAOaio.js +0 -2
  239. package/web/assets/ScenarioEditorPage-BIcmG3wo.js +0 -14
  240. package/web/assets/SendToChatDialog-oi4KFAVq.js +0 -1
  241. package/web/assets/ServiceControlsBar-BtnWYJmp.css +0 -1
  242. package/web/assets/ServiceControlsBar-GgoPszoH.js +0 -1
  243. package/web/assets/ServiceDetailPage-CIDlO0iu.js +0 -2
  244. package/web/assets/ServiceFormPage-p3AUhHLN.js +0 -1
  245. package/web/assets/SettingsPage-B_heumvd.js +0 -2063
  246. package/web/assets/UnlockPage-nz_1VQWy.js +0 -1
  247. package/web/assets/VaultMigrationPage-B_nZC8Cc.js +0 -1
  248. package/web/assets/VersionBadge-DJJK7bgD.js +0 -1
  249. package/web/assets/WikiPage-DiCUjWEu.js +0 -1
  250. package/web/assets/WikiView-vYMnLt41.js +0 -1
  251. package/web/assets/add-scalar-classes-_7NDhIUO.js +0 -387
  252. package/web/assets/client-DHQNUKOx.js +0 -24
  253. package/web/assets/cloud-chat.store-CaSRn8Mg.js +0 -1
  254. package/web/assets/cloud-client-CzGojtBl.js +0 -1
  255. package/web/assets/cloud-session-D71P4F3g.js +0 -2
  256. package/web/assets/cloud-session-DlLnrwVQ.js +0 -1
  257. package/web/assets/column-CjJa3tsz.js +0 -763
  258. package/web/assets/interface-content-folder.svg-BLBb2W1v.js +0 -1
  259. package/web/assets/modal-B_0-h4nC.js +0 -1
  260. package/web/assets/modal-KwmdNF_4.js +0 -5
  261. package/web/assets/process.store-B-PvNJQb.js +0 -1
  262. package/web/assets/project-launch.store-DtFeb4vv.js +0 -1
  263. package/web/assets/project.store-DcaBpnnB.js +0 -1
  264. package/web/assets/router-DnVYXVMw.js +0 -1
  265. package/web/assets/settings-scope-DR8NUZr5.js +0 -1
  266. package/web/assets/settings.store-CniuNQ3t.js +0 -1
  267. package/web/assets/src-BS3JGGS_.js +0 -1
  268. package/web/assets/src-BzZzroPd.js +0 -572
  269. package/web/assets/theme-C7HVmgEO.js +0 -1
  270. package/web/assets/trpc-C6zILEMh.js +0 -1
  271. package/web/assets/useAiChatDrawer-CnrYG1GW.js +0 -1
  272. package/web/assets/useCloudOrg-DWmP9gqs.js +0 -1
  273. package/web/assets/useEnvVarAutocomplete-Dkx7Cn9l.js +0 -1
  274. package/web/assets/useProjectCatalog-Cu3VZu2F.js +0 -1
  275. package/web/assets/useServiceUrlHost-ADKWqhx0.js +0 -1
  276. /package/{agent-manager-FZFFWISA.js.map → agent-manager-FN6M6CLD.js.map} +0 -0
  277. /package/{chat-JIJQ7IJS.js.map → chat-VCHK77CW.js.map} +0 -0
  278. /package/{chunk-N3ZI35SC.js.map → chunk-QPII36FL.js.map} +0 -0
  279. /package/{companion-OZODV5BR.js.map → companion-YB3SDDTU.js.map} +0 -0
  280. /package/{desktop-launcher-EGGVXXKV.js.map → desktop-launcher-J2BCSSGZ.js.map} +0 -0
  281. /package/{settings-manager-MAVD4GAS.js.map → settings-manager-4EDX7NIB.js.map} +0 -0
@@ -0,0 +1,10 @@
1
+ import {
2
+ agentManager
3
+ } from "./chunk-WQWRTPPJ.js";
4
+ import "./chunk-BDQOBEZ3.js";
5
+ import "./chunk-TTPL2M74.js";
6
+ import "./chunk-ZFELQG4B.js";
7
+ export {
8
+ agentManager
9
+ };
10
+ //# sourceMappingURL=agent-manager-FN6M6CLD.js.map
@@ -3,14 +3,14 @@ import {
3
3
  startClaudeCodeSession,
4
4
  startCliSession,
5
5
  startCodexSession
6
- } from "./chunk-GKK3ACWB.js";
6
+ } from "./chunk-LHVTBWM7.js";
7
7
  import "./chunk-B7MABGQN.js";
8
- import "./chunk-H22YLVQE.js";
8
+ import "./chunk-UKLNK5YA.js";
9
9
  import "./chunk-MD3VW4HQ.js";
10
- import "./chunk-4PN7QBNM.js";
11
- import "./chunk-N3ZI35SC.js";
12
- import "./chunk-HK5QNU6P.js";
13
- import "./chunk-T2BV5WZE.js";
10
+ import "./chunk-WQWRTPPJ.js";
11
+ import "./chunk-QPII36FL.js";
12
+ import "./chunk-BDQOBEZ3.js";
13
+ import "./chunk-TTPL2M74.js";
14
14
  import "./chunk-ZFELQG4B.js";
15
15
  export {
16
16
  chatRouter,
@@ -18,4 +18,4 @@ export {
18
18
  startCliSession,
19
19
  startCodexSession
20
20
  };
21
- //# sourceMappingURL=chat-JIJQ7IJS.js.map
21
+ //# sourceMappingURL=chat-VCHK77CW.js.map
@@ -54,12 +54,27 @@ function resolveConversationRunDir(rootDirName, conversationId) {
54
54
  }
55
55
  return dir;
56
56
  }
57
+ var TRANSIENT_RENAME_CODES = /* @__PURE__ */ new Set(["EPERM", "EACCES", "EBUSY"]);
58
+ var RENAME_RETRY_BUDGET_MS = 2e3;
59
+ async function renameWithRetry(from, to) {
60
+ const deadline = Date.now() + RENAME_RETRY_BUDGET_MS;
61
+ for (let delay = 10; ; delay = Math.min(delay * 2, 200)) {
62
+ try {
63
+ await rename(from, to);
64
+ return;
65
+ } catch (err) {
66
+ const code = err.code;
67
+ if (!code || !TRANSIENT_RENAME_CODES.has(code) || Date.now() + delay > deadline) throw err;
68
+ await new Promise((r) => setTimeout(r, delay));
69
+ }
70
+ }
71
+ }
57
72
  async function atomicWriteSecure(filePath, content) {
58
73
  await mkdir(dirname(filePath), { recursive: true });
59
74
  const tmpPath = `${filePath}.${process.pid}.${randomUUID()}.tmp`;
60
75
  try {
61
76
  await writeFile(tmpPath, content, typeof content === "string" ? "utf-8" : void 0);
62
- await rename(tmpPath, filePath);
77
+ await renameWithRetry(tmpPath, filePath);
63
78
  } catch (err) {
64
79
  await rm(tmpPath, { force: true }).catch(() => {
65
80
  });
@@ -109,9 +124,10 @@ export {
109
124
  wasRead,
110
125
  fingerprintFiles,
111
126
  resolveConversationRunDir,
127
+ renameWithRetry,
112
128
  atomicWriteSecure,
113
129
  sweepStaleTempFiles,
114
130
  atomicWriteJsonSecure,
115
131
  readJsonFileSafe
116
132
  };
117
- //# sourceMappingURL=chunk-HK5QNU6P.js.map
133
+ //# sourceMappingURL=chunk-BDQOBEZ3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../server/src/services/disk-freshness.ts","../../server/src/services/run-store-utils.ts"],"sourcesContent":["import { stat } from 'node:fs/promises';\n\n/**\n * Le fichier a-t-il changé depuis qu'on l'a lu ?\n *\n * Les stores gardent de côté ce qu'ils n'ont pas su déchiffrer, pour le\n * réécrire tel quel plutôt que de l'effacer. Cette copie est la bonne réponse\n * tant que personne d'autre ne touche au fichier — et la mauvaise dès que\n * quelqu'un le répare par-dessous : la copie, elle, ne se périme jamais, et la\n * sauvegarde suivante réinstalle l'état d'avant la réparation.\n *\n * C'est arrivé deux fois de suite sur le même coffre : une conversion de clé\n * menée sur le disque, défaite quelques minutes plus tard par un store qui\n * tenait encore l'ancien chiffré en mémoire.\n *\n * D'où ce repère : l'empreinte du fichier au moment de la lecture. Si elle a\n * bougé, la copie mémoire ne fait plus foi et doit être abandonnée.\n */\n\ninterface Fingerprint {\n mtimeMs: number;\n size: number;\n /**\n * L'inode du chemin, qui change à chaque `rename` par-dessus.\n *\n * La date et la taille laissent passer le motif d'écriture de tout le dépôt :\n * les stores réécrivent le fichier entier, donc une modification rend souvent\n * le même nombre d'octets, et deux instances qui réagissent au même événement\n * écrivent dans la même milliseconde. Le fichier temporaire renommé\n * par-dessus, lui, installe toujours un autre inode.\n *\n * Là où le système n'en expose pas (il rend alors 0), le repère retombe sur\n * la date et la taille — ce qu'il valait avant.\n */\n ino: number;\n}\n\nconst seen = new Map<string, Fingerprint>();\n\n/** Retenir l'état d'un fichier au moment où on vient de le lire. */\nexport async function rememberFile(path: string): Promise<void> {\n try {\n const s = await stat(path);\n seen.set(path, { mtimeMs: s.mtimeMs, size: s.size, ino: s.ino });\n } catch {\n // Pas encore de fichier : rien à retenir, et rien à réémettre non plus.\n seen.delete(path);\n }\n}\n\n/**\n * Vrai si le fichier a changé — ou si l'on ne sait pas.\n *\n * L'ignorance compte comme un changement : réécrire une copie dont on ne peut\n * plus prouver qu'elle correspond au disque est précisément le geste à éviter.\n */\nexport async function hasChangedSinceRead(path: string): Promise<boolean> {\n const known = seen.get(path);\n if (!known) return true;\n try {\n const s = await stat(path);\n return s.mtimeMs !== known.mtimeMs || s.size !== known.size || s.ino !== known.ino;\n } catch {\n return true;\n }\n}\n\n/**\n * A-t-on lu ce fichier ?\n *\n * `hasChangedSinceRead` tient l'ignorance pour un changement : c'est juste\n * quand il s'agit de décider si une copie mémoire fait encore foi. Ça ne l'est\n * pas pour décider d'écrire — un fichier jamais lu est le cas d'un coffre neuf,\n * et le traiter comme « modifié sous nos pieds » revenait à ne jamais écrire la\n * première fois. Les appelants qui protègent une écriture demandent donc les\n * deux : connu, et inchangé.\n */\nexport function wasRead(path: string): boolean {\n return seen.has(path);\n}\n\n/** Oublier un fichier — après un rechargement complet, par exemple. */\nexport function forgetFile(path: string): void {\n seen.delete(path);\n}\n\n/**\n * L'empreinte d'un ensemble de fichiers : lesquels, et dans quel état.\n *\n * Le repère ci-dessus répond pour un fichier qu'on a lu soi-même ; celui-ci\n * répond pour un store dont le contenu vient de plusieurs fichiers à la fois —\n * un par coffre — et dont la question est « le disque a-t-il bougé depuis mon\n * dernier chargement ? ». Comparer deux empreintes coûte quelques `stat` ;\n * recharger coûte autant de lectures, d'analyses et de déchiffrements.\n *\n * L'absence d'un fichier en fait partie : un coffre disparu change l'empreinte\n * autant qu'un coffre modifié.\n */\nexport async function fingerprintFiles(paths: string[]): Promise<string> {\n const stamps = await Promise.all(paths.map(async (path) => {\n try {\n const s = await stat(path);\n // L'inode en fait partie pour la raison décrite sur `Fingerprint` : un\n // fichier renommé par-dessus la cible peut n'avoir bougé ni en taille ni\n // en date, et reste pourtant un autre contenu.\n return `${path}:${s.mtimeMs}:${s.size}:${s.ino}`;\n } catch {\n return `${path}:-`;\n }\n }));\n return stamps.sort().join('|');\n}\n","import { randomUUID } from 'node:crypto';\nimport { chmod, mkdir, readdir, rename, rm, stat, writeFile, readFile } from 'node:fs/promises';\nimport { dirname, join, resolve, sep } from 'node:path';\nimport { machineRoot } from './vault-resolver.js';\n\nconst SAFE_PATH_SEGMENT_RE = /^[a-zA-Z0-9][a-zA-Z0-9._-]{0,127}$/;\n\nexport function resolveConversationRunDir(rootDirName: string, conversationId: string): string {\n if (!SAFE_PATH_SEGMENT_RE.test(conversationId)) {\n throw new Error('Invalid conversationId');\n }\n // Machine-wide, like the conversations these runs belong to: using the launch\n // directory would put a `.runeya` in a repository just for asking the AI a\n // question about a cloud project.\n const base = resolve(machineRoot(), rootDirName);\n const dir = resolve(base, conversationId);\n if (!dir.startsWith(base + sep)) {\n throw new Error('Invalid conversationId');\n }\n return dir;\n}\n\n/** Codes que Windows renvoie tant qu'un autre descripteur tient la cible ouverte. */\nconst TRANSIENT_RENAME_CODES = new Set(['EPERM', 'EACCES', 'EBUSY']);\nconst RENAME_RETRY_BUDGET_MS = 2000;\n\n/**\n * Sous Windows, remplacer un fichier qu'un lecteur concurrent, un antivirus ou\n * l'indexeur tient ouvert échoue quelques millisecondes. Réessayer avec un recul\n * croissant, borné : au-delà, le refus est réel et remonte.\n */\nexport async function renameWithRetry(from: string, to: string): Promise<void> {\n const deadline = Date.now() + RENAME_RETRY_BUDGET_MS;\n for (let delay = 10; ; delay = Math.min(delay * 2, 200)) {\n try {\n await rename(from, to);\n return;\n } catch (err) {\n const code = (err as NodeJS.ErrnoException).code;\n if (!code || !TRANSIENT_RENAME_CODES.has(code) || Date.now() + delay > deadline) throw err;\n await new Promise((r) => setTimeout(r, delay));\n }\n }\n}\n\nexport async function atomicWriteSecure(filePath: string, content: string | Uint8Array): Promise<void> {\n await mkdir(dirname(filePath), { recursive: true });\n // Un nom par écriture : deux Runeya d'un même poste écrivent les mêmes\n // fichiers, et un `.tmp` commun se fait renommer sous le nez de l'autre.\n const tmpPath = `${filePath}.${process.pid}.${randomUUID()}.tmp`;\n try {\n await writeFile(tmpPath, content, typeof content === 'string' ? 'utf-8' : undefined);\n await renameWithRetry(tmpPath, filePath);\n } catch (err) {\n // Un nom unique ne se réécrit jamais : laissé là, chaque échec en ajouterait un.\n await rm(tmpPath, { force: true }).catch(() => {});\n throw err;\n }\n await chmod(filePath, 0o600);\n}\n\n/** Le nom qu'`atomicWriteSecure` donne à ses fichiers temporaires : `<fichier>.<pid>.<uuid>.tmp`. */\nconst OWN_TEMP_RE = /\\.\\d+\\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\.tmp$/;\nconst STALE_TEMP_MS = 3600_000;\n\n/**\n * Retirer les fichiers temporaires qu'un arrêt brutal a laissés.\n *\n * Un nom par écriture ne se réécrit jamais : chaque arrêt en pleine écriture en\n * laissait un pour toujours. Seuls les nôtres sont concernés, et seulement\n * passé une heure — un plus récent peut appartenir à une écriture en cours,\n * celle d'une autre Runeya du même poste.\n */\nexport async function sweepStaleTempFiles(dirs: string[]): Promise<number> {\n let removed = 0;\n const limit = Date.now() - STALE_TEMP_MS;\n for (const dir of dirs) {\n let names: string[];\n try {\n names = await readdir(dir);\n } catch {\n continue;\n }\n for (const name of names.filter((n) => OWN_TEMP_RE.test(n))) {\n const path = join(dir, name);\n try {\n if ((await stat(path)).mtimeMs > limit) continue;\n await rm(path, { force: true });\n removed += 1;\n } catch {\n // Disparu entre-temps : rien à retirer.\n }\n }\n }\n return removed;\n}\n\nexport async function atomicWriteJsonSecure(filePath: string, data: unknown, pretty = false): Promise<void> {\n await atomicWriteSecure(filePath, JSON.stringify(data, null, pretty ? 2 : 0));\n}\n\nexport async function readJsonFileSafe<T>(filePath: string): Promise<T | null> {\n try {\n const raw = await readFile(filePath, 'utf-8');\n return JSON.parse(raw) as T;\n } catch {\n return null;\n }\n}\n"],"mappings":"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","names":["stat","stat"]}