@runeya/runeya 2.0.71 → 2.0.73

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 (261) hide show
  1. package/agent/index.js +208 -160
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-LBV3CVHB.js +7 -0
  4. package/{chunk-Z3KAXI7V.js → chunk-OTJQEK4D.js} +240 -29
  5. package/chunk-OTJQEK4D.js.map +1 -0
  6. package/index.js +3 -2
  7. package/index.js.map +1 -1
  8. package/package.json +1 -1
  9. package/{src-Q3PSCMS7.js → src-MY5W5AYS.js} +828 -633
  10. package/src-MY5W5AYS.js.map +1 -0
  11. package/web/assets/AgentScalarChatInterface.vue-369U2Skl.js +13 -0
  12. package/web/assets/AgentTerminalPage-RHehuR0e.js +1 -0
  13. package/web/assets/AiChatPage-BbgFeCu5.js +1 -0
  14. package/web/assets/AppLayout-CvEbrCSS.js +1 -0
  15. package/web/assets/{AppLayout-BqXoW05V.css → AppLayout-Dj8VrBzz.css} +1 -1
  16. package/web/assets/AuditPage-BRBcRwff.js +1 -0
  17. package/web/assets/CloudAccountPage-C9Y4zQYc.js +1 -0
  18. package/web/assets/CloudAccountPage-DmDrYdSX.js +1 -0
  19. package/web/assets/CloudMessagingPage-j2dztUz1.js +2 -0
  20. package/web/assets/DashboardPage-DbgOaKaI.js +1 -0
  21. package/web/assets/DirectoryPickerDialog-B5a7tO0P.js +1 -0
  22. package/web/assets/{EditorIcon-JRryeySJ.js → EditorIcon-C32poOg-.js} +2 -2
  23. package/web/assets/EnvironmentForm-CjnghPBi.js +108 -0
  24. package/web/assets/EnvironmentFormPage-VkOp77jY.js +1 -0
  25. package/web/assets/EnvironmentListPage-GkrefCj6.js +1 -0
  26. package/web/assets/KanbanBoardPage-CCl8dmwn.css +1 -0
  27. package/web/assets/KanbanBoardPage-CkrXazSk.js +4 -0
  28. package/web/assets/KanbanListPage-CtC0GWl8.js +1 -0
  29. package/web/assets/LaunchProjectPage-BrmWhutG.css +1 -0
  30. package/web/assets/LaunchProjectPage-Zx3L-5pP.js +1 -0
  31. package/web/assets/LaunchServicesPage-CMxUWoNQ.css +1 -0
  32. package/web/assets/LaunchServicesPage-Du56bNpD.js +1 -0
  33. package/web/assets/LogViewer-CusYWOVz.js +3 -0
  34. package/web/assets/OrgKeyPrompt-BhsICoTI.js +1 -0
  35. package/web/assets/{ProcessControls-BPQXGKib.js → ProcessControls-CNrbnTpl.js} +1 -1
  36. package/web/assets/ProcessDetailPage-h8RXTZkW.js +1 -0
  37. package/web/assets/{ProcessMetrics-D7L708Em.js → ProcessMetrics-B6Zf110f.js} +2 -2
  38. package/web/assets/ProjectDetailPage-B_fowFne.js +1 -0
  39. package/web/assets/ProjectListPage-DA9HaZW1.js +1 -0
  40. package/web/assets/RandomJobTestPage-BlKmN8WR.js +2 -0
  41. package/web/assets/ScenarioEditorPage-DxmF9C9y.js +14 -0
  42. package/web/assets/SendToChatDialog-CKDis_oY.js +1 -0
  43. package/web/assets/ServiceControlsBar-DqWOWB8l.js +1 -0
  44. package/web/assets/ServiceDetailPage-D4w7i_m0.js +2 -0
  45. package/web/assets/ServiceFormPage-D9EeSeKX.js +1 -0
  46. package/web/assets/SettingsPage-1zz5wMpp.js +2063 -0
  47. package/web/assets/{SettingsPage-CScovMi5.css → SettingsPage-ClUsbLPy.css} +1 -1
  48. package/web/assets/UnlockPage-BkqsC0ML.css +1 -0
  49. package/web/assets/UnlockPage-C4b4tv9Z.js +1 -0
  50. package/web/assets/VariablesTable-BQW0OS3C.js +1 -0
  51. package/web/assets/VaultMigrationPage-B20L2W_w.css +1 -0
  52. package/web/assets/VaultMigrationPage-B24yEz24.js +1 -0
  53. package/web/assets/VersionBadge-AuIQKahq.js +1 -0
  54. package/web/assets/WikiPage-YnXchmy7.js +1 -0
  55. package/web/assets/WikiView-B4FOcZxi.js +1 -0
  56. package/web/assets/add-scalar-classes-Bb4tLm0z.js +387 -0
  57. package/web/assets/auth-errors-CtC8HAvD.js +1 -0
  58. package/web/assets/autocomplete-LUb8fDRi.js +308 -0
  59. package/web/assets/{basic-shape-diamond.svg-C8K6YjGj.js → basic-shape-diamond.svg-CCzIrujg.js} +1 -1
  60. package/web/assets/{basic-shape-hexagon.svg-C9PeXR6S.js → basic-shape-hexagon.svg-DdSh-N2z.js} +1 -1
  61. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CfBLN6Yj.js → basic-shape-primary-circle-ellipse-round.svg-DsMpzYdr.js} +1 -1
  62. package/web/assets/{basic-shape-primary-square-rectangle.svg-D2QPBP5_.js → basic-shape-primary-square-rectangle.svg-S5aiKynO.js} +1 -1
  63. package/web/assets/{basic-shape-shield.svg-ClsEFdja.js → basic-shape-shield.svg-06mLN5Kq.js} +1 -1
  64. package/web/assets/{browser-D7ZckEFz.js → browser-B6kPJYkH.js} +1 -1
  65. package/web/assets/{browser-CF5_9QqR.js → browser-CvGRE98D.js} +1 -1
  66. package/web/assets/card-DQ-7UOQt.js +32 -0
  67. package/web/assets/{checkbox-CfwNXlF_.js → checkbox-CIizqAL5.js} +3 -3
  68. package/web/assets/{chip-3tOoBrD7.js → chip-CKY-cFPm.js} +2 -2
  69. package/web/assets/client-Cem5gxc3.js +24 -0
  70. package/web/assets/cloud-chat.store-JxTqY8hH.js +1 -0
  71. package/web/assets/cloud-session-BsgS9t9u.js +1 -0
  72. package/web/assets/column-C1iIQeFS.js +907 -0
  73. package/web/assets/{computer-device-desktop-monitor.svg-9f4DSNLj.js → computer-device-desktop-monitor.svg-pZKLXVEO.js} +1 -1
  74. package/web/assets/{computer-device-desktop.svg-BYoXiEOE.js → computer-device-desktop.svg-CPuJoG2N.js} +1 -1
  75. package/web/assets/{computer-device-laptop.svg-DR1sEMdL.js → computer-device-laptop.svg-B2lqbpvX.js} +1 -1
  76. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-B-AOaBuq.js → computer-device-mobile-phone-android-samsung-back.svg-C91mPbw_.js} +1 -1
  77. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-Dw4z_H5H.js → computer-device-mobile-phone-android-samsung.svg-CgjjMhRB.js} +1 -1
  78. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-BtqMb2Wo.js → computer-device-mobile-phone-iphone-x-back.svg-DdpW-odT.js} +1 -1
  79. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-eYEM_VXA.js → computer-device-mobile-phone-iphone-x.svg-B_qWFdEx.js} +1 -1
  80. package/web/assets/{computer-device-mobile-tablet-touch.svg-jLD41nvm.js → computer-device-mobile-tablet-touch.svg-BzehkLNH.js} +1 -1
  81. package/web/assets/{computer-device-mobile-tablet.svg-D_7_M1GK.js → computer-device-mobile-tablet.svg-rkDIg0TG.js} +1 -1
  82. package/web/assets/{computer-device-network-ethernet-cat6.svg-B_527QGY.js → computer-device-network-ethernet-cat6.svg-B-d_wrR_.js} +1 -1
  83. package/web/assets/{computer-device-network-lan-www.svg-ClZIaUOH.js → computer-device-network-lan-www.svg-TIELALfm.js} +1 -1
  84. package/web/assets/{computer-device-network-wifi-connection.svg-DC4OCJY0.js → computer-device-network-wifi-connection.svg-DbXW3PhA.js} +1 -1
  85. package/web/assets/{computer-device-network-wifi-router.svg-BWPpobCc.js → computer-device-network-wifi-router.svg-D_35yOXc.js} +1 -1
  86. package/web/assets/{cssMode-CXUrkdrQ.js → cssMode-B7e_eNPV.js} +1 -1
  87. package/web/assets/{divider-BrO5nkpd.js → divider-BHKktSGp.js} +2 -2
  88. package/web/assets/{docx-preview-tE714WSD.js → docx-preview-DlxCg_6l.js} +1 -1
  89. package/web/assets/{ecology-science-erlenmeyer-flask.svg-o8D0ASmr.js → ecology-science-erlenmeyer-flask.svg-Dl6fsl4J.js} +1 -1
  90. package/web/assets/{fieldset-LX5cdTvN.js → fieldset-De5JS2HC.js} +2 -2
  91. package/web/assets/{freemarker2-DJ82s0fP.js → freemarker2-BZ1pmGPV.js} +1 -1
  92. package/web/assets/{handlebars-BXFlY2Lu.js → handlebars-DQnFd9h7.js} +1 -1
  93. package/web/assets/{html-CqDVypOC.js → html-C0efjIn9.js} +1 -1
  94. package/web/assets/{htmlMode-DrHxdTQP.js → htmlMode-ChFMbKcf.js} +1 -1
  95. package/web/assets/{image-flash-lightning.svg-BDPMOynq.js → image-flash-lightning.svg-B7e5E2Qw.js} +1 -1
  96. package/web/assets/{image-picture-flower.svg-D-AJaery.js → image-picture-flower.svg-Cw1CZ_Iv.js} +1 -1
  97. package/web/assets/{index-CICxLkjp.css → index-B___lI4D.css} +1 -1
  98. package/web/assets/{index-a6DAapTb.js → index-nY5cynKj.js} +238 -238
  99. package/web/assets/{interface-alert-exclamation-diamond.svg-CV7M0IVQ.js → interface-alert-exclamation-diamond.svg-BSUXkUin.js} +1 -1
  100. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-B8NapiB7.js → interface-alert-exclamation-triangle-warning.svg-BYqq_OZy.js} +1 -1
  101. package/web/assets/{interface-alert-information-circle.svg-eQIFULjG.js → interface-alert-information-circle.svg-BhCupwNF.js} +1 -1
  102. package/web/assets/{interface-award-crown.svg-D-4fclUD.js → interface-award-crown.svg-BSbmsgu7.js} +1 -1
  103. package/web/assets/{interface-bookmark.svg-XdbYDqqk.js → interface-bookmark-tag.svg-C9Tj2VKg.js} +1 -1
  104. package/web/assets/{interface-bookmark-tag.svg-Jy6EOdau.js → interface-bookmark.svg-DImT79em.js} +1 -1
  105. package/web/assets/{interface-calendar-date-one.svg-BIoXVZrz.js → interface-calendar-date-one.svg-emGvRYfy.js} +1 -1
  106. package/web/assets/{interface-content-book-open-pages.svg-DHwJbBvQ.js → interface-content-book-open-pages.svg-DZvD8n9A.js} +1 -1
  107. package/web/assets/{interface-content-book-page.svg-47msUBN_.js → interface-content-book-page.svg--RPY0ONx.js} +1 -1
  108. package/web/assets/{interface-content-file.svg-DXw9W8QM.js → interface-content-file.svg-BhkPpAIG.js} +1 -1
  109. package/web/assets/interface-content-folder.svg-DNkHJfTi.js +1 -0
  110. package/web/assets/{interface-content-folder.svg-BmK_IJv8.js → interface-content-folder.svg-_Qz96t7R.js} +1 -1
  111. package/web/assets/{interface-copy-clipboard.svg-CQ1rQN0L.js → interface-copy-clipboard.svg-DBVvMdKB.js} +1 -1
  112. package/web/assets/{interface-edit-attachment.svg-C3aTaTh_.js → interface-edit-attachment.svg-Bq9IjtmQ.js} +1 -1
  113. package/web/assets/{interface-edit-binocular.svg-B2Ue_tgs.js → interface-edit-binocular.svg-BFUljAkg.js} +1 -1
  114. package/web/assets/{interface-edit-magic-wand.svg-DDKse-Wy.js → interface-edit-magic-wand.svg-DSWYEf6V.js} +1 -1
  115. package/web/assets/{interface-edit-tool-paint-roller.svg-C2ABby1f.js → interface-edit-tool-paint-roller.svg-iMYCD-Af.js} +1 -1
  116. package/web/assets/{interface-edit-tool-pencil.svg-CNjYbknQ.js → interface-edit-tool-pencil.svg-D7jUKckt.js} +1 -1
  117. package/web/assets/{interface-favorite-award.svg-DWqSHfIa.js → interface-favorite-award.svg-CLCdfKlW.js} +1 -1
  118. package/web/assets/{interface-favorite-flag.svg-CNUsr98g.js → interface-favorite-flag.svg-CMNediEx.js} +1 -1
  119. package/web/assets/{interface-favorite-heart.svg-3Eb366FO.js → interface-favorite-heart.svg-9AfGidiX.js} +1 -1
  120. package/web/assets/{interface-favorite-star.svg-CVJ3aq1n.js → interface-favorite-star.svg-DD76FDcq.js} +1 -1
  121. package/web/assets/{interface-favorite-stars-sparkles.svg-BfXhPBbs.js → interface-favorite-stars-sparkles.svg-DZmc8XpZ.js} +1 -1
  122. package/web/assets/{interface-hierarchy-flowchart.svg-DzsqKrYq.js → interface-hierarchy-flowchart.svg-DbdQ6BrN.js} +1 -1
  123. package/web/assets/{interface-home-house.svg-BnXbuyZn.js → interface-home-house.svg-BIWYFqhm.js} +1 -1
  124. package/web/assets/{interface-hyperlink.svg-BsmSmyP5.js → interface-hyperlink.svg-CknF1YxB.js} +1 -1
  125. package/web/assets/{interface-lighting-brightness.svg-BywVQRo9.js → interface-lighting-brightness.svg-B3Svsmp0.js} +1 -1
  126. package/web/assets/{interface-lock-closed.svg-BLPORc_h.js → interface-lock-closed.svg-CTmwhMsF.js} +1 -1
  127. package/web/assets/{interface-lock-open-unlock.svg-CaYlbVmU.js → interface-lock-open-unlock.svg-BSC0HJE5.js} +1 -1
  128. package/web/assets/{interface-login-key.svg-D5F_9MJ0.js → interface-login-key.svg-CmPadurO.js} +1 -1
  129. package/web/assets/{interface-search.svg-CF1D8GIV.js → interface-search.svg-BbWqGsiC.js} +1 -1
  130. package/web/assets/{interface-setting-cog.svg-D4AOKG2g.js → interface-setting-cog.svg-D336jNxR.js} +1 -1
  131. package/web/assets/{interface-share-megaphone-bullhorn.svg-BIfr2_va.js → interface-share-megaphone-bullhorn.svg-BEPIq-yB.js} +1 -1
  132. package/web/assets/{interface-share-rocket.svg-NDd3dv1t.js → interface-share-rocket.svg-bi0Fp7B7.js} +1 -1
  133. package/web/assets/{interface-share-satellite.svg-CVDJbmT-.js → interface-share-satellite.svg-DZ-FBSOP.js} +1 -1
  134. package/web/assets/{interface-share-space-ship.svg-D0ZLJNO2.js → interface-share-space-ship.svg-CL8kfexn.js} +1 -1
  135. package/web/assets/{interface-share.svg-WpwbpOes.js → interface-share.svg-B4NzC8MW.js} +1 -1
  136. package/web/assets/{interface-signal-square.svg-DnfzUw_B.js → interface-signal-square.svg-Do9HNC1g.js} +1 -1
  137. package/web/assets/{interface-time-clock-circle.svg-BhxciNvX.js → interface-time-clock-circle.svg-BiwVEBFE.js} +1 -1
  138. package/web/assets/{interface-time-hour-glass.svg-DBzSaSHQ.js → interface-time-hour-glass.svg-Bj4400VR.js} +1 -1
  139. package/web/assets/{interface-users-multiple.svg-BULh1giq.js → interface-users-multiple.svg-wf0xHt7S.js} +1 -1
  140. package/web/assets/{interface-weather-moon.svg-D377V2os.js → interface-weather-moon.svg-CHq44y1K.js} +1 -1
  141. package/web/assets/{javascript-BTXoJ3Qy.js → javascript-C5gAX9Ho.js} +1 -1
  142. package/web/assets/{jsonMode-D4a3Khim.js → jsonMode-Cah11eZC.js} +2 -2
  143. package/web/assets/{liquid-DfO0R4Mk.js → liquid-CS5lfWiD.js} +1 -1
  144. package/web/assets/{lspLanguageFeatures-BvPWuQFt.js → lspLanguageFeatures-DrQCZerv.js} +3 -3
  145. package/web/assets/{mail-chat-bubble-square.svg-SK3IJ6QN.js → mail-chat-bubble-square.svg-Bn4lLCAH.js} +1 -1
  146. package/web/assets/{mail-send-email-paper-airplane.svg-CJFA7B2E.js → mail-send-email-paper-airplane.svg-0dbuhy9s.js} +1 -1
  147. package/web/assets/{mail-send-envelope.svg-eO_-QNyE.js → mail-send-envelope.svg-D7MrBGJp.js} +1 -1
  148. package/web/assets/{mdx-G_vwFSSe.js → mdx-B4jzso3k.js} +1 -1
  149. package/web/assets/{message-CxPw04rG.js → message-DnHiYCym.js} +2 -2
  150. package/web/assets/{minus-Dp5ez1-1.js → minus-BbLiFqfk.js} +2 -2
  151. package/web/assets/modal-BVB2xBJ_.js +1 -0
  152. package/web/assets/modal-dKcYqKht.js +5 -0
  153. package/web/assets/{money-cashier-receipt.svg-EutWthy8.js → money-cashier-receipt.svg-C3G7AK7q.js} +1 -1
  154. package/web/assets/{money-currency-dollar-pay.svg-MnLj-orw.js → money-currency-dollar-pay.svg-DCj0-yon.js} +1 -1
  155. package/web/assets/{money-graph-arrow-increase.svg-CVCZ3TyJ.js → money-graph-arrow-increase.svg-DxdQlcuf.js} +1 -1
  156. package/web/assets/{money-graph-bar-chart-increase.svg-DiUmCuhj.js → money-graph-bar-chart-increase.svg-Cm-WIBNr.js} +1 -1
  157. package/web/assets/multiselect-C8IBJ6lu.js +251 -0
  158. package/web/assets/{nature-ecology-leaf.svg-ByaLs72Y.js → nature-ecology-leaf.svg-BDz3LTpd.js} +1 -1
  159. package/web/assets/{password-CxtOqagM.js → password-DEuFV3TX.js} +4 -4
  160. package/web/assets/{phone-telephone.svg-BKz6Jkwn.js → phone-telephone.svg-DRL7_jEB.js} +1 -1
  161. package/web/assets/{plus-BPT_7GGk.js → plus-CdxO2Yq9.js} +6 -6
  162. package/web/assets/process.store-CauAk_PY.js +1 -0
  163. package/web/assets/{programming-bug.svg-BwSc8f0s.js → programming-bug.svg-BDftmfZl.js} +1 -1
  164. package/web/assets/{programming-cloud.svg-CEIulNEp.js → programming-cloud.svg-i-GCH3f4.js} +1 -1
  165. package/web/assets/{programming-computer-database-server.svg-Bc_F3NH0.js → programming-computer-database-server.svg-CC2MM4RA.js} +1 -1
  166. package/web/assets/{programming-computer-database.svg-AYLkzJJE.js → programming-computer-database.svg-CwD3IE7b.js} +1 -1
  167. package/web/assets/{programming-module-four-layout.svg-DLpzPxNB.js → programming-module-four-layout.svg-L5WQW7eZ.js} +1 -1
  168. package/web/assets/{programming-module-three.svg-CcuZn8dz.js → programming-module-three.svg-BqKxUh2a.js} +1 -1
  169. package/web/assets/{programming-module.svg-BjbGpQeu.js → programming-module.svg-B5HGxk_5.js} +1 -1
  170. package/web/assets/{programming-script-code.svg-poyfodgC.js → programming-script-code.svg-C6b1t67U.js} +1 -1
  171. package/web/assets/{python-DpMMlrWM.js → python-PWdcATjU.js} +1 -1
  172. package/web/assets/{razor-Ba_mg6U5.js → razor-D2OFUF9W.js} +1 -1
  173. package/web/assets/router-WC51nlcm.js +1 -0
  174. package/web/assets/settings-scope-CIL2r-x6.js +1 -0
  175. package/web/assets/settings.store-Cx63DJSu.js +1 -0
  176. package/web/assets/{shopping-cart.svg-BX2KYVCw.js → shopping-cart.svg-C4eUOPuW.js} +1 -1
  177. package/web/assets/{shopping-gift-present.svg-BOl2vYLg.js → shopping-gift-present.svg-DWR1Ue0b.js} +1 -1
  178. package/web/assets/{shopping-shipping-box-parcel-package.svg-gxfbOgnM.js → shopping-shipping-box-parcel-package.svg-vIUMJCzM.js} +1 -1
  179. package/web/assets/src-CG6NRFnq.js +1 -0
  180. package/web/assets/{src-D0LXRijj.js → src-D3B9QT3f.js} +34 -34
  181. package/web/assets/tabpanel-Dt8wxAUn.js +150 -0
  182. package/web/assets/{tag-new-circle.svg-CTRMBJyc.js → tag-new-circle.svg-CrLYLp-g.js} +1 -1
  183. package/web/assets/{toggleswitch-DcDrXRKn.js → toggleswitch-DXNKoD3W.js} +2 -2
  184. package/web/assets/{travel-map-earth-globe.svg-BPp4IapC.js → travel-map-earth-globe.svg-CbJkEfGx.js} +1 -1
  185. package/web/assets/trpc-BTkvhuSo.js +1 -0
  186. package/web/assets/{tsMode-HfLOT-e5.js → tsMode-BWnOhIDG.js} +6 -6
  187. package/web/assets/{typescript-DJAEsDnw.js → typescript-Ca6d0Xpt.js} +1 -1
  188. package/web/assets/useAiChatDrawer-DbiVGX1A.js +1 -0
  189. package/web/assets/useCloudOrg-CYZgY69j.css +1 -0
  190. package/web/assets/useCloudOrg-JI0t8ZfS.js +97 -0
  191. package/web/assets/{useProjectCatalog-C95cDPIr.js → useProjectCatalog-T9HoUKsV.js} +1 -1
  192. package/web/assets/{xml-1frg7aol.js → xml-DJnU4yP8.js} +1 -1
  193. package/web/assets/{yaml-DXzDcMOS.js → yaml-DJC6BhFp.js} +1 -1
  194. package/web/index.html +2 -2
  195. package/agent-manager-UUSQK6S2.js +0 -7
  196. package/chunk-Z3KAXI7V.js.map +0 -1
  197. package/src-Q3PSCMS7.js.map +0 -1
  198. package/web/assets/AgentScalarChatInterface.vue-Cin_Rbay.js +0 -13
  199. package/web/assets/AgentTerminalPage-YgCQj_Mj.js +0 -1
  200. package/web/assets/AiChatPage-cIE_ZdF6.js +0 -1
  201. package/web/assets/AppLayout-dYfSESzv.js +0 -1
  202. package/web/assets/AuditPage-Bw3-G8ZM.js +0 -1
  203. package/web/assets/CloudAccountPage-CA4dMsIm.js +0 -1
  204. package/web/assets/CloudAccountPage-DjljrEI_.js +0 -1
  205. package/web/assets/CloudMessagingPage-CbfH2vPo.js +0 -2
  206. package/web/assets/DashboardPage-Cn3bUyhR.js +0 -1
  207. package/web/assets/DirectoryPickerDialog-BmsAi5gR.js +0 -1
  208. package/web/assets/EnvironmentForm-BfF9IFRB.js +0 -108
  209. package/web/assets/EnvironmentFormPage-CebWv3I_.js +0 -1
  210. package/web/assets/EnvironmentListPage-DDJGOHvR.js +0 -1
  211. package/web/assets/KanbanBoardPage-BMXyvHOl.js +0 -4
  212. package/web/assets/KanbanBoardPage-JjjS4BfO.css +0 -1
  213. package/web/assets/KanbanListPage-YMm_7vzg.js +0 -1
  214. package/web/assets/LaunchProjectPage--S6EXtGb.css +0 -1
  215. package/web/assets/LaunchProjectPage-Da21oFjw.js +0 -1
  216. package/web/assets/LaunchServicesPage-8YJT1stQ.js +0 -1
  217. package/web/assets/LaunchServicesPage-pWREsZTD.css +0 -1
  218. package/web/assets/LogViewer-BYNRWqlP.js +0 -3
  219. package/web/assets/OrgKeyPrompt-De8D0zzy.js +0 -1
  220. package/web/assets/ProcessDetailPage-CVwMbU6x.js +0 -1
  221. package/web/assets/ProjectDetailPage-BjBN3hnN.js +0 -1
  222. package/web/assets/ProjectListPage-BRXKT6op.js +0 -1
  223. package/web/assets/RandomJobTestPage-dhDNam5v.js +0 -2
  224. package/web/assets/ScenarioEditorPage-yOp4ZF14.js +0 -14
  225. package/web/assets/SendToChatDialog-o4y1Q-OD.js +0 -1
  226. package/web/assets/ServiceControlsBar-BH1ZEFkK.js +0 -1
  227. package/web/assets/ServiceDetailPage-CFb0blqq.js +0 -2
  228. package/web/assets/ServiceFormPage-DzFQ_M1-.js +0 -1
  229. package/web/assets/SettingsPage-Bcs3tnUy.js +0 -2063
  230. package/web/assets/UnlockPage-BAxKs_K9.js +0 -1
  231. package/web/assets/UnlockPage-DE_HJy8h.css +0 -1
  232. package/web/assets/VariablesTable-CSuAPeF-.js +0 -1
  233. package/web/assets/VaultMigrationPage-BGJ2PP-7.css +0 -1
  234. package/web/assets/VaultMigrationPage-BJX9kunL.js +0 -1
  235. package/web/assets/VersionBadge-B9Wvyvf6.js +0 -1
  236. package/web/assets/WikiPage-CBZFOPL_.js +0 -1
  237. package/web/assets/WikiView-DxPrGyFy.js +0 -1
  238. package/web/assets/add-scalar-classes-vtTXFTZ6.js +0 -387
  239. package/web/assets/auth-errors-DpUvxKid.js +0 -1
  240. package/web/assets/autocomplete-BakcEoGP.js +0 -308
  241. package/web/assets/card-DcpoBJHQ.js +0 -32
  242. package/web/assets/client-CKBKBNVm.js +0 -24
  243. package/web/assets/cloud-chat.store-Ci1DBP5j.js +0 -1
  244. package/web/assets/cloud-session-CzYQ65k8.js +0 -1
  245. package/web/assets/column-CVuKYYbZ.js +0 -907
  246. package/web/assets/interface-content-folder.svg-BikaY449.js +0 -1
  247. package/web/assets/modal-CGT4d1lM.js +0 -5
  248. package/web/assets/modal-D_N6NaGL.js +0 -1
  249. package/web/assets/multiselect-C6uayHqj.js +0 -251
  250. package/web/assets/process.store-CMxuFjFg.js +0 -1
  251. package/web/assets/router-QZ5Z8Lh7.js +0 -1
  252. package/web/assets/settings-scope-D7umae8c.js +0 -1
  253. package/web/assets/settings.store-Dte8TdJb.js +0 -1
  254. package/web/assets/src-DWvNj-EG.js +0 -1
  255. package/web/assets/tabpanel-Bkt-f7d6.js +0 -150
  256. package/web/assets/trpc-Dtgb4BMw.js +0 -1
  257. package/web/assets/useAiChatDrawer-fzyQ-fyM.js +0 -1
  258. package/web/assets/useCloudOrg-BdpqnN19.css +0 -1
  259. package/web/assets/useCloudOrg-Bg7-icbW.js +0 -97
  260. /package/{agent-manager-UUSQK6S2.js.map → agent-manager-LBV3CVHB.js.map} +0 -0
  261. /package/web/assets/{uuid-CXjA27vZ.js → uuid-FpfcaBnR.js} +0 -0
@@ -0,0 +1,7 @@
1
+ import {
2
+ agentManager
3
+ } from "./chunk-OTJQEK4D.js";
4
+ export {
5
+ agentManager
6
+ };
7
+ //# sourceMappingURL=agent-manager-LBV3CVHB.js.map
@@ -1,7 +1,7 @@
1
1
  // ../server/src/services/agent-manager.ts
2
2
  import { EventEmitter as EventEmitter2 } from "events";
3
3
  import WebSocket2 from "ws";
4
- import { z as z22 } from "zod";
4
+ import { z as z23 } from "zod";
5
5
 
6
6
  // ../server/src/services/agent-store.ts
7
7
  import { randomUUID, randomBytes, createCipheriv, createDecipheriv } from "crypto";
@@ -1758,6 +1758,54 @@ var KanbanCardRefSchema = z20.object({
1758
1758
  commentCount: z20.number().int().nonnegative().default(0)
1759
1759
  });
1760
1760
 
1761
+ // ../../packages/shared/src/schemas/cloud-api-key.schema.ts
1762
+ import { z as z21 } from "zod";
1763
+ var CloudApiScopeSchema = z21.enum([
1764
+ "kanban:read",
1765
+ "kanban:write",
1766
+ "kanban:comment",
1767
+ "kanban:delete"
1768
+ ]);
1769
+ var CloudApiKeySecretSchema = z21.string().regex(/^rk_[0-9a-f]{64}$/);
1770
+ var CloudApiKeySchema = z21.object({
1771
+ id: z21.string().max(128),
1772
+ organizationId: z21.string().max(128),
1773
+ name: z21.string().min(1).max(200),
1774
+ scopes: z21.array(CloudApiScopeSchema).min(1).max(10),
1775
+ /**
1776
+ * Les tableaux que la clé peut atteindre, ou `null` pour « tous ceux de
1777
+ * l'organisation ».
1778
+ *
1779
+ * `null` et `[]` ne sont pas la même chose : la liste vide n'ouvre rien, et
1780
+ * c'est délibéré — un tableau supprimé ne doit pas élargir une clé qui ne le
1781
+ * nommait plus que lui.
1782
+ */
1783
+ boards: z21.array(z21.string().max(64)).max(200).nullable(),
1784
+ createdAt: z21.string().max(64),
1785
+ /** Dernier usage constaté, pour reconnaître une clé oubliée. */
1786
+ lastUsedAt: z21.string().max(64).nullable(),
1787
+ /** Qui l'a émise — une clé sans visage ne se révoque jamais sereinement. */
1788
+ createdBy: z21.object({ id: z21.string().max(128), name: z21.string().max(200) }),
1789
+ /** Les 4 derniers caractères du secret, pour reconnaître une clé dans une liste. */
1790
+ keyPreview: z21.string().max(8)
1791
+ });
1792
+ var CreatedCloudApiKeySchema = z21.object({
1793
+ key: CloudApiKeySchema,
1794
+ secret: CloudApiKeySecretSchema
1795
+ });
1796
+ var CreateCloudApiKeyInput = z21.object({
1797
+ organizationId: z21.string().min(1).max(128),
1798
+ name: z21.string().min(1).max(200),
1799
+ scopes: z21.array(CloudApiScopeSchema).min(1).max(10),
1800
+ boards: z21.array(z21.string().max(64)).max(200).nullable().default(null)
1801
+ });
1802
+ var UpdateCloudApiKeyInput = z21.object({
1803
+ id: z21.string().min(1).max(128),
1804
+ name: z21.string().min(1).max(200).optional(),
1805
+ scopes: z21.array(CloudApiScopeSchema).min(1).max(10).optional(),
1806
+ boards: z21.array(z21.string().max(64)).max(200).nullable().optional()
1807
+ });
1808
+
1761
1809
  // ../../packages/shared/src/utils/crypto.ts
1762
1810
  import { createCipheriv as createCipheriv3, createDecipheriv as createDecipheriv3, randomBytes as randomBytes3, pbkdf2Sync } from "crypto";
1763
1811
 
@@ -3092,7 +3140,7 @@ var ServiceStore = class {
3092
3140
  var serviceStore = new ServiceStore();
3093
3141
 
3094
3142
  // ../server/src/services/agent-spawner.ts
3095
- import { spawn } from "child_process";
3143
+ import { spawn as spawn2 } from "child_process";
3096
3144
  import { createInterface } from "readline";
3097
3145
  import { watch } from "fs";
3098
3146
  import { dirname as dirname2, join as join6 } from "path";
@@ -3100,10 +3148,13 @@ import { fileURLToPath } from "url";
3100
3148
 
3101
3149
  // ../server/src/services/instance-registry.ts
3102
3150
  import { mkdir as mkdir5, readdir as readdir2, readFile as readFile5, writeFile as writeFile5, rm as rm3 } from "fs/promises";
3151
+ import { readFileSync } from "fs";
3152
+ import dotenv from "dotenv";
3153
+ import { spawn } from "child_process";
3103
3154
  import { join as join5 } from "path";
3104
- import { z as z21 } from "zod";
3105
- var InstanceFileSchema = z21.object({
3106
- pid: z21.number().int().positive(),
3155
+ import { z as z22 } from "zod";
3156
+ var InstanceFileSchema = z22.object({
3157
+ pid: z22.number().int().positive(),
3107
3158
  /**
3108
3159
  * The agent this server spawned, when it has one.
3109
3160
  *
@@ -3111,14 +3162,37 @@ var InstanceFileSchema = z21.object({
3111
3162
  * it, and because the agent may not be up yet — or at all, when the
3112
3163
  * encryption key is missing. Absent means « unknown », never « none ».
3113
3164
  */
3114
- agentPid: z21.number().int().positive().optional(),
3115
- port: z21.number().int().min(1).max(65535),
3116
- agentPort: z21.number().int().min(1).max(65535),
3117
- cwd: z21.string().max(4096),
3118
- dataDir: z21.string().max(4096),
3119
- version: z21.string().max(64),
3120
- fromDesktop: z21.boolean(),
3121
- startedAt: z21.number().int().nonnegative()
3165
+ agentPid: z22.number().int().positive().optional(),
3166
+ port: z22.number().int().min(1).max(65535),
3167
+ agentPort: z22.number().int().min(1).max(65535),
3168
+ cwd: z22.string().max(4096),
3169
+ dataDir: z22.string().max(4096),
3170
+ version: z22.string().max(64),
3171
+ fromDesktop: z22.boolean(),
3172
+ startedAt: z22.number().int().nonnegative(),
3173
+ /**
3174
+ * De quoi relancer ce lancement à l'identique : l'exécutable, ses arguments,
3175
+ * et les `RUNEYA_*` de son environnement. Le `cwd` ci-dessus complète le
3176
+ * tableau.
3177
+ *
3178
+ * Optionnels, comme `agentPid` : une instance antérieure à ce champ ne les
3179
+ * écrit pas. Elle reste listée et arrêtable, simplement pas redémarrable —
3180
+ * un redémarrage approximatif serait pire qu'un bouton absent.
3181
+ */
3182
+ execPath: z22.string().max(4096).optional(),
3183
+ argv: z22.array(z22.string().max(4096)).max(128).optional(),
3184
+ env: z22.record(z22.string().max(64), z22.string().max(4096)).optional(),
3185
+ /**
3186
+ * L'instance tient un secret (`RUNEYA_ENCRYPTION_KEY`,
3187
+ * `RUNEYA_MASTER_PASSWORD`) que le relancement ne retrouverait pas. Le
3188
+ * drapeau, jamais la valeur : le registre est un fichier lisible, et ces
3189
+ * deux-là n'ont délibérément pas de flag CLI parce qu'`argv` se lit dans
3190
+ * `ps`.
3191
+ *
3192
+ * Un secret posé dans le `.env` de la pile ne compte pas : `dotenv` le relit
3193
+ * au démarrage depuis le même répertoire. Voir `secretsAreReproducible()`.
3194
+ */
3195
+ needsSecretEnv: z22.boolean().optional()
3122
3196
  });
3123
3197
  function registryDir() {
3124
3198
  return join5(machineRoot(), "instances");
@@ -3127,6 +3201,29 @@ function fileFor(pid) {
3127
3201
  return join5(registryDir(), `${pid}.json`);
3128
3202
  }
3129
3203
  var published = null;
3204
+ var SECRET_ENV_KEYS = ["RUNEYA_ENCRYPTION_KEY", "RUNEYA_MASTER_PASSWORD"];
3205
+ function isSecretEnvKey(key) {
3206
+ return SECRET_ENV_KEYS.includes(key);
3207
+ }
3208
+ function runeyaEnv() {
3209
+ const out = {};
3210
+ for (const [key, value] of Object.entries(process.env)) {
3211
+ if (!key.startsWith("RUNEYA_") || isSecretEnvKey(key)) continue;
3212
+ if (typeof value === "string" && value.length <= 4096) out[key] = value;
3213
+ }
3214
+ return out;
3215
+ }
3216
+ function secretsAreReproducible() {
3217
+ const present = SECRET_ENV_KEYS.filter((key) => Boolean(process.env[key]));
3218
+ if (present.length === 0) return true;
3219
+ let fromFile;
3220
+ try {
3221
+ fromFile = dotenv.parse(readFileSync(join5(process.cwd(), ".env")));
3222
+ } catch {
3223
+ return false;
3224
+ }
3225
+ return present.every((key) => fromFile[key] === process.env[key]);
3226
+ }
3130
3227
  function selfRecord() {
3131
3228
  return {
3132
3229
  pid: process.pid,
@@ -3136,7 +3233,13 @@ function selfRecord() {
3136
3233
  dataDir: env.DATA_DIR,
3137
3234
  version: process.env["RUNEYA_VERSION"] ?? "unknown",
3138
3235
  fromDesktop: env.FROM_DESKTOP,
3139
- startedAt: Date.now()
3236
+ startedAt: Date.now(),
3237
+ execPath: process.execPath,
3238
+ // argv[0] est l'exécutable, déjà repris par `execPath` ; le reste est le
3239
+ // script suivi de ses arguments, c'est-à-dire ce qu'il faut repasser à spawn.
3240
+ argv: process.argv.slice(1),
3241
+ env: runeyaEnv(),
3242
+ needsSecretEnv: !secretsAreReproducible()
3140
3243
  };
3141
3244
  }
3142
3245
  async function registerInstance() {
@@ -3214,14 +3317,18 @@ async function listInstances() {
3214
3317
  });
3215
3318
  return null;
3216
3319
  }
3320
+ const current = record.pid === process.pid;
3321
+ const blocker = restartBlockerFor(record);
3217
3322
  return {
3218
3323
  ...record,
3219
3324
  // Trust the live answer over the file: the file was written at boot
3220
3325
  // and an upgraded instance would keep claiming its old version.
3221
3326
  version: version ?? record.version,
3222
3327
  reachable: true,
3223
- current: record.pid === process.pid,
3224
- uptimeMs
3328
+ current,
3329
+ uptimeMs,
3330
+ restartable: blocker === null,
3331
+ restartBlockedBy: blocker
3225
3332
  };
3226
3333
  })
3227
3334
  );
@@ -3237,6 +3344,11 @@ function dedupeByPort(instances) {
3237
3344
  }
3238
3345
  return [...byPort.values()];
3239
3346
  }
3347
+ function restartBlockerFor(record) {
3348
+ if (record.needsSecretEnv) return "secrets";
3349
+ if (!record.execPath || !record.argv) return "legacy";
3350
+ return null;
3351
+ }
3240
3352
  var GRACE_MS = 5e3;
3241
3353
  var POLL_MS = 100;
3242
3354
  async function terminate(pid) {
@@ -3274,6 +3386,103 @@ async function killInstance(pid) {
3274
3386
  }
3275
3387
  return { agent, server };
3276
3388
  }
3389
+ function launchOf(record) {
3390
+ if (!record.execPath || !record.argv) throw new Error("instance-not-restartable:legacy");
3391
+ const env2 = {};
3392
+ for (const [key, value] of Object.entries(process.env)) {
3393
+ if (typeof value === "string" && !key.startsWith("RUNEYA_")) env2[key] = value;
3394
+ }
3395
+ return {
3396
+ execPath: record.execPath,
3397
+ argv: record.argv,
3398
+ cwd: record.cwd,
3399
+ env: { ...env2, ...record.env ?? {} }
3400
+ };
3401
+ }
3402
+ var PORT_RELEASE_TIMEOUT_MS = 15e3;
3403
+ async function waitForPortRelease(port) {
3404
+ const deadline = Date.now() + PORT_RELEASE_TIMEOUT_MS;
3405
+ while (Date.now() < deadline) {
3406
+ const { ok } = await probe(port);
3407
+ if (!ok) return true;
3408
+ await new Promise((resolve) => setTimeout(resolve, POLL_MS));
3409
+ }
3410
+ return false;
3411
+ }
3412
+ async function restartInstance(pid) {
3413
+ const target = (await listInstances()).find((i) => i.pid === pid);
3414
+ if (!target) throw new Error("instance-not-found");
3415
+ if (target.restartBlockedBy) throw new Error(`instance-not-restartable:${target.restartBlockedBy}`);
3416
+ if (target.current) throw new Error("instance-is-current");
3417
+ const stop = await killInstance(pid);
3418
+ if (stop.server !== "terminated" && stop.server !== "killed") {
3419
+ throw new Error(`instance-stop-${stop.server}`);
3420
+ }
3421
+ const portReleased = await waitForPortRelease(target.port);
3422
+ const launch = launchOf(target);
3423
+ const child = spawn(launch.execPath, launch.argv, {
3424
+ cwd: launch.cwd,
3425
+ env: launch.env,
3426
+ detached: true,
3427
+ stdio: "ignore"
3428
+ });
3429
+ child.on("error", (err) => {
3430
+ console.log(`[instances] Relance du pid ${pid} impossible :`, err.message);
3431
+ });
3432
+ child.unref();
3433
+ if (typeof child.pid !== "number") throw new Error("instance-restart-failed");
3434
+ return { stop, pid: child.pid, portReleased };
3435
+ }
3436
+ var RELAUNCHER = `
3437
+ const p = JSON.parse(process.env.RUNEYA_RELAUNCH_PAYLOAD);
3438
+ const deadline = Date.now() + p.timeoutMs;
3439
+ const held = async () => {
3440
+ try {
3441
+ const res = await fetch('http://127.0.0.1:' + p.port + '/api/trpc/health.check', {
3442
+ signal: AbortSignal.timeout(500),
3443
+ });
3444
+ return res.ok;
3445
+ } catch { return false; }
3446
+ };
3447
+ (async () => {
3448
+ while (Date.now() < deadline && await held()) {
3449
+ await new Promise((r) => setTimeout(r, ${POLL_MS}));
3450
+ }
3451
+ require('node:child_process')
3452
+ .spawn(p.execPath, p.argv, { cwd: p.cwd, env: p.env, detached: true, stdio: 'ignore' })
3453
+ .unref();
3454
+ })();
3455
+ `;
3456
+ var SELF_RESTART_DELAY_MS = 250;
3457
+ function spawnRelauncher(record) {
3458
+ const blocker = restartBlockerFor(record);
3459
+ if (blocker) throw new Error(`instance-not-restartable:${blocker}`);
3460
+ const launch = launchOf(record);
3461
+ const relauncher = spawn(process.execPath, ["-e", RELAUNCHER], {
3462
+ cwd: launch.cwd,
3463
+ env: {
3464
+ ...launch.env,
3465
+ RUNEYA_RELAUNCH_PAYLOAD: JSON.stringify({ ...launch, port: record.port, timeoutMs: PORT_RELEASE_TIMEOUT_MS })
3466
+ },
3467
+ detached: true,
3468
+ stdio: "ignore"
3469
+ });
3470
+ relauncher.on("error", (err) => {
3471
+ console.log("[instances] Relanceur impossible \xE0 lancer :", err.message);
3472
+ });
3473
+ relauncher.unref();
3474
+ if (typeof relauncher.pid !== "number") throw new Error("instance-restart-failed");
3475
+ return relauncher.pid;
3476
+ }
3477
+ async function scheduleSelfRestart() {
3478
+ const record = published ?? selfRecord();
3479
+ const relauncherPid = spawnRelauncher(record);
3480
+ setTimeout(() => {
3481
+ console.log("[instances] Red\xE9marrage demand\xE9 : arr\xEAt de cette instance.");
3482
+ process.kill(process.pid, "SIGTERM");
3483
+ }, SELF_RESTART_DELAY_MS);
3484
+ return { relauncherPid, port: record.port };
3485
+ }
3277
3486
 
3278
3487
  // ../server/src/services/agent-spawner.ts
3279
3488
  var POSIX_SAFE_KEYS = [
@@ -3392,7 +3601,7 @@ var AgentSpawner = class {
3392
3601
  console.log(`[agent-spawner] Spawning local agent on ${agentUrl}...`);
3393
3602
  const isDev = process.env.NODE_ENV === "development";
3394
3603
  this.agentDistPath = env.AGENT_BINARY_PATH || join6(dirname2(fileURLToPath(import.meta.url)), "..", "..", "agent", "dist", "index.js");
3395
- this.agentProcess = spawn("node", [this.agentDistPath], {
3604
+ this.agentProcess = spawn2("node", [this.agentDistPath], {
3396
3605
  env: agentEnv,
3397
3606
  stdio: ["ignore", "pipe", "pipe"]
3398
3607
  });
@@ -3529,7 +3738,7 @@ var AgentSpawner = class {
3529
3738
  }
3530
3739
  const agentUrl = `http://${env.RUNEYA_AGENT_HOST}:${env.RUNEYA_AGENT_PORT}`;
3531
3740
  const isDev = process.env.NODE_ENV === "development";
3532
- this.agentProcess = spawn("node", [this.agentDistPath], {
3741
+ this.agentProcess = spawn2("node", [this.agentDistPath], {
3533
3742
  env: agentEnv,
3534
3743
  stdio: ["ignore", "pipe", "pipe"]
3535
3744
  });
@@ -3805,13 +4014,13 @@ var AgentWSBridge = class extends EventEmitter {
3805
4014
  };
3806
4015
 
3807
4016
  // ../server/src/services/agent-manager.ts
3808
- var HealthMessageSchema = z22.object({
3809
- status: z22.string(),
3810
- uptime: z22.number(),
3811
- runnersAvailable: z22.array(z22.enum(["native", "docker"])),
3812
- processCount: z22.number(),
3813
- runningCount: z22.number(),
3814
- lanIp: z22.string().optional()
4017
+ var HealthMessageSchema = z23.object({
4018
+ status: z23.string(),
4019
+ uptime: z23.number(),
4020
+ runnersAvailable: z23.array(z23.enum(["native", "docker"])),
4021
+ processCount: z23.number(),
4022
+ runningCount: z23.number(),
4023
+ lanIp: z23.string().optional()
3815
4024
  });
3816
4025
  var MIN_RECONNECT_DELAY = WS_RECONNECT_MIN;
3817
4026
  var MAX_RECONNECT_DELAY = WS_RECONNECT_MAX;
@@ -4197,9 +4406,9 @@ var AgentManager = class extends EventEmitter2 {
4197
4406
  if (spawns.length > 0) {
4198
4407
  const summary = spawns.map((s) => `${s.spawnId} (${s.cli}, ${s.status}, buf:${s.bufferLength})`).join(", ");
4199
4408
  console.log("[agent-manager] Agent %s has %d AI spawn(s): %s", agentId, spawns.length, summary);
4200
- for (const spawn2 of spawns) {
4201
- if (spawn2.status !== "running") {
4202
- this.agentMutation(agentId, "ai.ack", { spawnId: spawn2.spawnId }).catch(() => {
4409
+ for (const spawn3 of spawns) {
4410
+ if (spawn3.status !== "running") {
4411
+ this.agentMutation(agentId, "ai.ack", { spawnId: spawn3.spawnId }).catch(() => {
4203
4412
  });
4204
4413
  }
4205
4414
  }
@@ -4369,8 +4578,10 @@ export {
4369
4578
  unregisterInstance,
4370
4579
  listInstances,
4371
4580
  killInstance,
4581
+ restartInstance,
4582
+ scheduleSelfRestart,
4372
4583
  agentSpawner,
4373
4584
  traefikManager,
4374
4585
  agentManager
4375
4586
  };
4376
- //# sourceMappingURL=chunk-Z3KAXI7V.js.map
4587
+ //# sourceMappingURL=chunk-OTJQEK4D.js.map