@runeya/runeya 2.0.103 → 2.0.104

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 (334) hide show
  1. package/agent-manager-4XJUIZKL.js +9 -0
  2. package/{chat-JZ4UQDWV.js → chat-3XDVULFH.js} +7 -7
  3. package/{chunk-Z67WBWKD.js → chunk-5GYBAMHV.js} +7 -7
  4. package/{chunk-NZNIWJDT.js → chunk-AAK7ACHG.js} +18 -18
  5. package/{chunk-UYOWIH4R.js → chunk-IOAGFK3P.js} +24 -18
  6. package/{chunk-UYOWIH4R.js.map → chunk-IOAGFK3P.js.map} +1 -1
  7. package/{chunk-KY6KYSOU.js → chunk-LTLOVQJQ.js} +26 -14
  8. package/chunk-LTLOVQJQ.js.map +1 -0
  9. package/{chunk-QIBUMYR6.js → chunk-NPORVPEO.js} +13 -13
  10. package/{companion-6J6NK7H7.js → companion-MUFVXURV.js} +5 -5
  11. package/index.js +9 -5
  12. package/index.js.map +1 -1
  13. package/package.json +1 -1
  14. package/settings-manager-Y4GNAXOH.js +9 -0
  15. package/{src-V7DPPFCF.js → src-TEL7L4K2.js} +299 -34
  16. package/src-TEL7L4K2.js.map +1 -0
  17. package/{tray-TRWZNOUD.js → tray-NZOXYN5G.js} +19 -3
  18. package/tray-NZOXYN5G.js.map +1 -0
  19. package/vault-resolver-JR7TCITD.js +55 -0
  20. package/vault-resolver-JR7TCITD.js.map +1 -0
  21. package/web/assets/AgentScalarChatInterface.vue-CveVquKX.js +13 -0
  22. package/web/assets/AgentTerminalPage-DkNOUzXx.js +1 -0
  23. package/web/assets/AiChatPage-CTF8FIV4.js +1 -0
  24. package/web/assets/AppLayout-agjOv6PY.js +1 -0
  25. package/web/assets/AuditPage-dgYwbpdR.js +1 -0
  26. package/web/assets/CloudAccountPage-Bx9gNcJQ.js +1 -0
  27. package/web/assets/CloudAccountPage-DEnVoeik.js +1 -0
  28. package/web/assets/CloudMessagingPage-qKrKfB-F.js +2 -0
  29. package/web/assets/DashboardPage-Bwq2Nhg2.js +1 -0
  30. package/web/assets/DirectoryPickerDialog-D8XDtgZh.js +1 -0
  31. package/web/assets/{EditorIcon-BguaWtZg.js → EditorIcon-CA5ff6aq.js} +2 -2
  32. package/web/assets/{EnvironmentForm-D8dq0ffR.js → EnvironmentForm-CzSZiA51.js} +2 -2
  33. package/web/assets/EnvironmentFormPage-CuSgaY1_.js +1 -0
  34. package/web/assets/EnvironmentListPage-Dsw3CJvc.js +1 -0
  35. package/web/assets/KanbanBoardPage-CUVcQ4YW.js +4 -0
  36. package/web/assets/KanbanListPage-CGhlz8Pe.js +1 -0
  37. package/web/assets/LaunchProjectPage-BveJC98q.js +1 -0
  38. package/web/assets/LaunchServicesPage-B0W02JDF.js +1 -0
  39. package/web/assets/LogViewer-Rr_WYaUa.js +3 -0
  40. package/web/assets/OrgKeyPrompt-CG2-L3Lf.js +1 -0
  41. package/web/assets/{ProcessControls-D3zTnHb2.js → ProcessControls-DvSw2AQV.js} +1 -1
  42. package/web/assets/ProcessDetailPage-Decf7LjW.js +1 -0
  43. package/web/assets/{ProcessMetrics-Dwd5lzqY.js → ProcessMetrics-xWpkhjoe.js} +2 -2
  44. package/web/assets/ProjectDetailPage-xg7x2vFI.js +1 -0
  45. package/web/assets/ProjectListPage-Bv2fwGla.js +1 -0
  46. package/web/assets/RandomJobTestPage-BEn1gSo3.js +2 -0
  47. package/web/assets/ScenarioEditorPage-CLiTQe4B.js +14 -0
  48. package/web/assets/SendToChatDialog-DdvfNdWg.js +1 -0
  49. package/web/assets/ServiceControlsBar-DKc2e9Ns.js +1 -0
  50. package/web/assets/ServiceDetailPage-BfkVlUEh.js +2 -0
  51. package/web/assets/ServiceFormPage-BTJBk_wB.js +1 -0
  52. package/web/assets/SettingsPage-BlOHIALT.js +2063 -0
  53. package/web/assets/UnlockPage-u3Zqu1aU.js +1 -0
  54. package/web/assets/VariablesTable-MFZSG4LV.js +1 -0
  55. package/web/assets/VaultMigrationPage-CTMCgOtW.js +1 -0
  56. package/web/assets/VersionBadge-D5zxX_zs.js +1 -0
  57. package/web/assets/WikiPage-BkQZP60x.js +1 -0
  58. package/web/assets/WikiView-CFX5gG2s.js +1 -0
  59. package/web/assets/add-scalar-classes-ClMP-KRl.js +387 -0
  60. package/web/assets/{autocomplete-QtPLLzzV.js → autocomplete-CBY4HTQR.js} +3 -3
  61. package/web/assets/{basic-shape-diamond.svg-Dyx8FJkS.js → basic-shape-diamond.svg-irIu-f9l.js} +1 -1
  62. package/web/assets/{basic-shape-hexagon.svg-1RKdVP3_.js → basic-shape-hexagon.svg-DasEKbDT.js} +1 -1
  63. package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CSa69hok.js → basic-shape-primary-circle-ellipse-round.svg-DFanDXAm.js} +1 -1
  64. package/web/assets/{basic-shape-primary-square-rectangle.svg-B9TXktd4.js → basic-shape-primary-square-rectangle.svg-Dkyo9dlJ.js} +1 -1
  65. package/web/assets/{basic-shape-shield.svg-BZvKXoiw.js → basic-shape-shield.svg-3imE69mJ.js} +1 -1
  66. package/web/assets/{browser-CYeKc8Uo.js → browser-Aa5s7rfo.js} +1 -1
  67. package/web/assets/{browser-VlhbsseI.js → browser-DUQZPder.js} +1 -1
  68. package/web/assets/{card-tEWfv-Op.js → card-D-ziPwAg.js} +2 -2
  69. package/web/assets/{checkbox-CyPqKR6H.js → checkbox-tdxfIWhT.js} +3 -3
  70. package/web/assets/{chip-wM0gJ_FI.js → chip-DQ2M3lMV.js} +2 -2
  71. package/web/assets/client-w--F512m.js +24 -0
  72. package/web/assets/cloud-chat.store-DwSl7oKq.js +1 -0
  73. package/web/assets/{cloud-session-g6ewm0UI.js → cloud-session-Do-zjE8q.js} +1 -1
  74. package/web/assets/column-Bv9vDejf.js +907 -0
  75. package/web/assets/{computer-device-desktop-monitor.svg-ClbIVuot.js → computer-device-desktop-monitor.svg-CYOP3WaB.js} +1 -1
  76. package/web/assets/{computer-device-desktop.svg-CXpOovTP.js → computer-device-desktop.svg-qlrBIvQY.js} +1 -1
  77. package/web/assets/{computer-device-laptop.svg-C9sY1wZv.js → computer-device-laptop.svg-IHPj_lEm.js} +1 -1
  78. package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CPWC2QHX.js → computer-device-mobile-phone-android-samsung-back.svg-DKPSbT77.js} +1 -1
  79. package/web/assets/{computer-device-mobile-phone-android-samsung.svg-B0H-mnfh.js → computer-device-mobile-phone-android-samsung.svg-s5qvH0rw.js} +1 -1
  80. package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-BbIunxoN.js → computer-device-mobile-phone-iphone-x-back.svg-B77oIjAn.js} +1 -1
  81. package/web/assets/{computer-device-mobile-phone-iphone-x.svg-qLGK_oVA.js → computer-device-mobile-phone-iphone-x.svg-Cnz0nuie.js} +1 -1
  82. package/web/assets/{computer-device-mobile-tablet-touch.svg-BDpuB6SD.js → computer-device-mobile-tablet-touch.svg-CGw0OJdZ.js} +1 -1
  83. package/web/assets/{computer-device-mobile-tablet.svg-44THWP9E.js → computer-device-mobile-tablet.svg-BllNUwYz.js} +1 -1
  84. package/web/assets/{computer-device-network-ethernet-cat6.svg-tlgWltl_.js → computer-device-network-ethernet-cat6.svg-CDcu8JSm.js} +1 -1
  85. package/web/assets/{computer-device-network-lan-www.svg-Bd7Ch4QN.js → computer-device-network-lan-www.svg-Cr2Mzrgm.js} +1 -1
  86. package/web/assets/{computer-device-network-wifi-connection.svg-D_XjoY-a.js → computer-device-network-wifi-connection.svg-BdIGk-iA.js} +1 -1
  87. package/web/assets/{computer-device-network-wifi-router.svg-BRpuwgUx.js → computer-device-network-wifi-router.svg-ChrqaXoE.js} +1 -1
  88. package/web/assets/{cssMode-D0M5mbRd.js → cssMode-DQ3QWGDZ.js} +1 -1
  89. package/web/assets/{divider-gPnMjjpJ.js → divider-BnVkpmcn.js} +2 -2
  90. package/web/assets/{docx-preview-CBPtwrA0.js → docx-preview-DOVrOL2W.js} +1 -1
  91. package/web/assets/{ecology-science-erlenmeyer-flask.svg-CZ3uUeBT.js → ecology-science-erlenmeyer-flask.svg-Bz0bzqPi.js} +1 -1
  92. package/web/assets/{fieldset-BSGgRmpr.js → fieldset-CaBT4en1.js} +2 -2
  93. package/web/assets/{freemarker2-BWsK2SIi.js → freemarker2-e7ZK44f9.js} +1 -1
  94. package/web/assets/{handlebars-CHNB1gG0.js → handlebars-BunSmNEk.js} +1 -1
  95. package/web/assets/{html-COwA9Dtl.js → html-t6Ga4VcA.js} +1 -1
  96. package/web/assets/{htmlMode-gZ2_PUDA.js → htmlMode-CjsAz81L.js} +1 -1
  97. package/web/assets/{image-flash-lightning.svg-Iiwm_7-K.js → image-flash-lightning.svg-CSanVzgy.js} +1 -1
  98. package/web/assets/{image-picture-flower.svg-BP9U6YP8.js → image-picture-flower.svg-DUlCxHzi.js} +1 -1
  99. package/web/assets/{index-mBPGEldp.js → index-CNqv4qMO.js} +262 -262
  100. package/web/assets/{interface-alert-exclamation-diamond.svg-BYWgnbUp.js → interface-alert-exclamation-diamond.svg-C-uhPFKN.js} +1 -1
  101. package/web/assets/{interface-alert-exclamation-triangle-warning.svg-CWGfXHx_.js → interface-alert-exclamation-triangle-warning.svg-BnSCXw68.js} +1 -1
  102. package/web/assets/{interface-alert-information-circle.svg-88Bga8qr.js → interface-alert-information-circle.svg-CTGCb0Yf.js} +1 -1
  103. package/web/assets/{interface-award-crown.svg-3hO77oiy.js → interface-award-crown.svg-T-Lov9NP.js} +1 -1
  104. package/web/assets/{interface-bookmark.svg-SfHcE95h.js → interface-bookmark-tag.svg-DLjS0Lnz.js} +1 -1
  105. package/web/assets/{interface-bookmark-tag.svg-DcHwQsr0.js → interface-bookmark.svg-CZekkdj9.js} +1 -1
  106. package/web/assets/{interface-calendar-date-one.svg-DdXOM9VZ.js → interface-calendar-date-one.svg-DmD4yfdS.js} +1 -1
  107. package/web/assets/{interface-content-book-open-pages.svg-DD7QTDn_.js → interface-content-book-open-pages.svg-wHqGX15c.js} +1 -1
  108. package/web/assets/{interface-content-book-page.svg-Dd45mFzB.js → interface-content-book-page.svg-MCSanA32.js} +1 -1
  109. package/web/assets/{interface-content-file.svg-slPoMF5K.js → interface-content-file.svg-DBpf8dcs.js} +1 -1
  110. package/web/assets/{interface-content-folder.svg-cSgXwhRh.js → interface-content-folder.svg-DZSoYO0L.js} +1 -1
  111. package/web/assets/interface-content-folder.svg-ZujlG0Az.js +1 -0
  112. package/web/assets/{interface-copy-clipboard.svg-DNy0VeWx.js → interface-copy-clipboard.svg-C1-sJNwr.js} +1 -1
  113. package/web/assets/{interface-edit-attachment.svg-VyCAm1jc.js → interface-edit-attachment.svg-CpxThva3.js} +1 -1
  114. package/web/assets/{interface-edit-binocular.svg-DA6QB2sn.js → interface-edit-binocular.svg-BHfWW26z.js} +1 -1
  115. package/web/assets/{interface-edit-magic-wand.svg-D0uagBk7.js → interface-edit-magic-wand.svg-DcC6CJBy.js} +1 -1
  116. package/web/assets/{interface-edit-tool-paint-roller.svg-ConlubSG.js → interface-edit-tool-paint-roller.svg-BhReRG-a.js} +1 -1
  117. package/web/assets/{interface-edit-tool-pencil.svg-BgNzCwXf.js → interface-edit-tool-pencil.svg-CztZ4Olx.js} +1 -1
  118. package/web/assets/{interface-favorite-award.svg-MLL88pIy.js → interface-favorite-award.svg-C0kleqGy.js} +1 -1
  119. package/web/assets/{interface-favorite-flag.svg-ZhM_9XJZ.js → interface-favorite-flag.svg-B-VJ_w7p.js} +1 -1
  120. package/web/assets/{interface-favorite-heart.svg-Cqq1PV9O.js → interface-favorite-heart.svg-CuRtXB-S.js} +1 -1
  121. package/web/assets/{interface-favorite-star.svg-YumblcRD.js → interface-favorite-star.svg-DtEkT0h3.js} +1 -1
  122. package/web/assets/{interface-favorite-stars-sparkles.svg-BH5BXXOe.js → interface-favorite-stars-sparkles.svg-ffOT-I95.js} +1 -1
  123. package/web/assets/{interface-hierarchy-flowchart.svg-CEfCPIyC.js → interface-hierarchy-flowchart.svg-C5eB0vng.js} +1 -1
  124. package/web/assets/{interface-home-house.svg-DJE_g94c.js → interface-home-house.svg-Djr3DBJk.js} +1 -1
  125. package/web/assets/{interface-hyperlink.svg-BFhnDXDD.js → interface-hyperlink.svg-BaesgCsY.js} +1 -1
  126. package/web/assets/{interface-lighting-brightness.svg-NwOV0KEv.js → interface-lighting-brightness.svg-CiNPNypw.js} +1 -1
  127. package/web/assets/{interface-lock-closed.svg-qVkplX0W.js → interface-lock-closed.svg-Dk3IIjH4.js} +1 -1
  128. package/web/assets/{interface-lock-open-unlock.svg-D18OlPEP.js → interface-lock-open-unlock.svg-DGG8lod0.js} +1 -1
  129. package/web/assets/{interface-login-key.svg-CccXX7_b.js → interface-login-key.svg-ZREdsGBv.js} +1 -1
  130. package/web/assets/{interface-search.svg-C6ncELaU.js → interface-search.svg-AF3hFV8X.js} +1 -1
  131. package/web/assets/{interface-setting-cog.svg-5LrIeBav.js → interface-setting-cog.svg-CxjXHOho.js} +1 -1
  132. package/web/assets/{interface-share-megaphone-bullhorn.svg-C-qB4VYi.js → interface-share-megaphone-bullhorn.svg-C-Ou9l0X.js} +1 -1
  133. package/web/assets/{interface-share-rocket.svg-Citzuyng.js → interface-share-rocket.svg-CERB2Bts.js} +1 -1
  134. package/web/assets/{interface-share-satellite.svg-BldpdKdo.js → interface-share-satellite.svg-BfHWK0sr.js} +1 -1
  135. package/web/assets/{interface-share-space-ship.svg-B_Ni34rB.js → interface-share-space-ship.svg-lWM8H0aF.js} +1 -1
  136. package/web/assets/{interface-share.svg-FAt7Kgad.js → interface-share.svg-CFf-5WEt.js} +1 -1
  137. package/web/assets/{interface-signal-square.svg-DeBP6Pim.js → interface-signal-square.svg-BIiI1WkB.js} +1 -1
  138. package/web/assets/{interface-time-clock-circle.svg-dQfNY8BC.js → interface-time-clock-circle.svg-MloMulBj.js} +1 -1
  139. package/web/assets/{interface-time-hour-glass.svg-ylbFnlwY.js → interface-time-hour-glass.svg-BOxCCGI2.js} +1 -1
  140. package/web/assets/{interface-users-multiple.svg-DXts3WMC.js → interface-users-multiple.svg-4T9srtFC.js} +1 -1
  141. package/web/assets/{interface-weather-moon.svg-BG6mjCih.js → interface-weather-moon.svg-CKHzp1q9.js} +1 -1
  142. package/web/assets/{javascript-C_ENjImO.js → javascript-D9xsJ3Az.js} +1 -1
  143. package/web/assets/{jsonMode-Bt-LEknD.js → jsonMode-DuBcXIAs.js} +2 -2
  144. package/web/assets/{liquid-CVshgHmY.js → liquid-DEC7GfIV.js} +1 -1
  145. package/web/assets/{lspLanguageFeatures-D1e-RcOs.js → lspLanguageFeatures-BWtjzx_b.js} +3 -3
  146. package/web/assets/{mail-chat-bubble-square.svg-RUMLqiUI.js → mail-chat-bubble-square.svg-Bnr_lHI8.js} +1 -1
  147. package/web/assets/{mail-send-email-paper-airplane.svg-JDe3yqOH.js → mail-send-email-paper-airplane.svg-BX3SaAOF.js} +1 -1
  148. package/web/assets/{mail-send-envelope.svg-CCzWaeO-.js → mail-send-envelope.svg-ZUoORksb.js} +1 -1
  149. package/web/assets/{mdx-D9G2-Bj8.js → mdx-HOoxTDWS.js} +1 -1
  150. package/web/assets/{minus-BMxEQL_C.js → minus-BBEVgxJH.js} +2 -2
  151. package/web/assets/modal-DM9X_PVj.js +5 -0
  152. package/web/assets/modal-lOChu0a6.js +1 -0
  153. package/web/assets/{money-cashier-receipt.svg-DfbOr89U.js → money-cashier-receipt.svg-DZ3PFTDB.js} +1 -1
  154. package/web/assets/{money-currency-dollar-pay.svg-DY7fQ7jz.js → money-currency-dollar-pay.svg-MP_zZSsR.js} +1 -1
  155. package/web/assets/{money-graph-arrow-increase.svg-jewlEZEL.js → money-graph-arrow-increase.svg-zF1qoCJ1.js} +1 -1
  156. package/web/assets/{money-graph-bar-chart-increase.svg-BChD8dZv.js → money-graph-bar-chart-increase.svg-BDD2RhNd.js} +1 -1
  157. package/web/assets/multiselect-BGmyQeLC.js +251 -0
  158. package/web/assets/{nature-ecology-leaf.svg-AQimnw3F.js → nature-ecology-leaf.svg-C8ROcT5o.js} +1 -1
  159. package/web/assets/{password-4Ykb_Ejn.js → password-4B0Jk2Id.js} +4 -4
  160. package/web/assets/{phone-telephone.svg-BdkwIhmo.js → phone-telephone.svg-DKK-lUXQ.js} +1 -1
  161. package/web/assets/{plus-CYVYZlQL.js → plus-CTzNAMSa.js} +6 -6
  162. package/web/assets/process.store-hTCiNh-E.js +1 -0
  163. package/web/assets/{programming-bug.svg-DzT817WD.js → programming-bug.svg-D2E8tMFA.js} +1 -1
  164. package/web/assets/{programming-cloud.svg-eKZD46YP.js → programming-cloud.svg-BGnh40iK.js} +1 -1
  165. package/web/assets/{programming-computer-database-server.svg-BXOhjcQy.js → programming-computer-database-server.svg-BVAuZnpu.js} +1 -1
  166. package/web/assets/{programming-computer-database.svg-DUzhimFY.js → programming-computer-database.svg-Cw61nQGg.js} +1 -1
  167. package/web/assets/{programming-module-four-layout.svg-CYGX7Rlj.js → programming-module-four-layout.svg-DoU0KSeo.js} +1 -1
  168. package/web/assets/{programming-module-three.svg-BhQr1m-R.js → programming-module-three.svg-DVhh6Qdu.js} +1 -1
  169. package/web/assets/{programming-module.svg-Bik697Ne.js → programming-module.svg-DvJfoHtJ.js} +1 -1
  170. package/web/assets/{programming-script-code.svg-BaTanEvH.js → programming-script-code.svg-C-tp6SrH.js} +1 -1
  171. package/web/assets/{python-wDvaXe-V.js → python--BJI87h8.js} +1 -1
  172. package/web/assets/{razor-C-cEFJP1.js → razor-CyKegkVq.js} +1 -1
  173. package/web/assets/router-CjeDvoXv.js +1 -0
  174. package/web/assets/settings-scope-78RP25Qh.js +1 -0
  175. package/web/assets/settings.store-D0Rg-dsM.js +1 -0
  176. package/web/assets/{shopping-cart.svg-BwUFrGEq.js → shopping-cart.svg-LfGHmiMy.js} +1 -1
  177. package/web/assets/{shopping-gift-present.svg-Bs4b94QF.js → shopping-gift-present.svg-DQxn6jVj.js} +1 -1
  178. package/web/assets/{shopping-shipping-box-parcel-package.svg-DhVaYapE.js → shopping-shipping-box-parcel-package.svg-0_aBSgUi.js} +1 -1
  179. package/web/assets/src-BVvRi5bZ.js +1 -0
  180. package/web/assets/src-COTZAWP1.js +572 -0
  181. package/web/assets/{src-CpoqK21I.js → src-DmAdua1A.js} +14 -14
  182. package/web/assets/{tabpanel-DMt8G5AA.js → tabpanel-DHCbTagN.js} +3 -3
  183. package/web/assets/{tag-new-circle.svg-B4Z8uL1_.js → tag-new-circle.svg-83yDHm_4.js} +1 -1
  184. package/web/assets/theme-CDWRcPhl.js +1 -0
  185. package/web/assets/{toggleswitch-CawhRFb7.js → toggleswitch-98WbJy1b.js} +2 -2
  186. package/web/assets/{travel-map-earth-globe.svg-D0s5cc-W.js → travel-map-earth-globe.svg-Ih5Yi-jq.js} +1 -1
  187. package/web/assets/trpc-BOcC0r-H.js +1 -0
  188. package/web/assets/{tsMode-NHDuTjcd.js → tsMode-ocCX3Kwn.js} +4 -4
  189. package/web/assets/{typescript-DGkgFTtn.js → typescript-BNLFcH9T.js} +1 -1
  190. package/web/assets/useAiChatDrawer-DVacYOFX.js +1 -0
  191. package/web/assets/{useCloudOrg-BJTjZPZ9.js → useCloudOrg-D_o0-v2z.js} +1 -1
  192. package/web/assets/useProjectCatalog-CSqoTWGy.js +1 -0
  193. package/web/assets/useProjectCloudOrg-iblWkaw9.js +1 -0
  194. package/web/assets/{xml-CJaXEqLW.js → xml-DcSXqrs-.js} +1 -1
  195. package/web/assets/{yaml-bl8i8xOf.js → yaml-BNINCoLr.js} +1 -1
  196. package/web/index.html +1 -1
  197. package/agent-manager-OWHTBG46.js +0 -9
  198. package/chunk-KY6KYSOU.js.map +0 -1
  199. package/settings-manager-NZV26BC3.js +0 -9
  200. package/src-V7DPPFCF.js.map +0 -1
  201. package/tray-TRWZNOUD.js.map +0 -1
  202. package/web/assets/AgentScalarChatInterface.vue-CvG5ha3R.js +0 -13
  203. package/web/assets/AgentTerminalPage-DcGppuzO.js +0 -1
  204. package/web/assets/AiChatPage-BDr5tG0A.js +0 -1
  205. package/web/assets/AppLayout-Dv3ViAk2.js +0 -1
  206. package/web/assets/AuditPage-Bc2jlgZJ.js +0 -1
  207. package/web/assets/CloudAccountPage-4BLXSOix.js +0 -1
  208. package/web/assets/CloudAccountPage-B3MX6DNn.js +0 -1
  209. package/web/assets/CloudMessagingPage-CVzUalxx.js +0 -2
  210. package/web/assets/DashboardPage-Bo51pbzt.js +0 -1
  211. package/web/assets/DirectoryPickerDialog-CIVjWKUm.js +0 -1
  212. package/web/assets/EnvironmentFormPage-d8p3q8Yt.js +0 -1
  213. package/web/assets/EnvironmentListPage-DWo2lWjE.js +0 -1
  214. package/web/assets/KanbanBoardPage-DkwIz3J1.js +0 -4
  215. package/web/assets/KanbanListPage-xIQRLcrS.js +0 -1
  216. package/web/assets/LaunchProjectPage-CXWixUmf.js +0 -1
  217. package/web/assets/LaunchServicesPage-nv-chYgX.js +0 -1
  218. package/web/assets/LogViewer-DLupfjjf.js +0 -3
  219. package/web/assets/OrgKeyPrompt-DePcB-8f.js +0 -1
  220. package/web/assets/ProcessDetailPage-CgVGzRoJ.js +0 -1
  221. package/web/assets/ProjectDetailPage-HR20KyJ3.js +0 -1
  222. package/web/assets/ProjectListPage-DcH4uTTX.js +0 -1
  223. package/web/assets/RandomJobTestPage-BYTkVcdE.js +0 -2
  224. package/web/assets/ScenarioEditorPage-zRxR03Ud.js +0 -14
  225. package/web/assets/SendToChatDialog-Cm5eKBOb.js +0 -1
  226. package/web/assets/ServiceControlsBar-oBpAP9yX.js +0 -1
  227. package/web/assets/ServiceDetailPage-CahBi-or.js +0 -2
  228. package/web/assets/ServiceFormPage-DfmPM_mI.js +0 -1
  229. package/web/assets/SettingsPage-CDMXFJ4k.js +0 -2063
  230. package/web/assets/UnlockPage-BUyBEPzQ.js +0 -1
  231. package/web/assets/VariablesTable-Dc6CyVQW.js +0 -1
  232. package/web/assets/VaultMigrationPage-BUmzyDXN.js +0 -1
  233. package/web/assets/VersionBadge-Dx_67FtC.js +0 -1
  234. package/web/assets/WikiPage-DEMJLDpD.js +0 -1
  235. package/web/assets/WikiView-CcrQ2ySx.js +0 -1
  236. package/web/assets/add-scalar-classes-M_EBdf4f.js +0 -387
  237. package/web/assets/client-B919VgbS.js +0 -24
  238. package/web/assets/cloud-chat.store-C-A9nIqG.js +0 -1
  239. package/web/assets/column-DihIO4Zd.js +0 -907
  240. package/web/assets/interface-content-folder.svg-D90zbTLh.js +0 -1
  241. package/web/assets/modal-CZ7zYg5t.js +0 -1
  242. package/web/assets/modal-CmpFIC5N.js +0 -5
  243. package/web/assets/multiselect-CoRzeHvy.js +0 -251
  244. package/web/assets/process.store-CtXpHndZ.js +0 -1
  245. package/web/assets/router-CqYmBKhe.js +0 -1
  246. package/web/assets/settings-scope-DD7SbjFz.js +0 -1
  247. package/web/assets/settings.store-DcQmvBBv.js +0 -1
  248. package/web/assets/src-De5rZb3_.js +0 -1
  249. package/web/assets/src-NB2ZR0ON.js +0 -572
  250. package/web/assets/trpc-B17uPEkC.js +0 -1
  251. package/web/assets/useAiChatDrawer-BxE6EYFc.js +0 -1
  252. package/web/assets/useProjectCatalog-DifZyVY5.js +0 -1
  253. package/web/assets/useProjectCloudOrg-EvyyjH6E.js +0 -1
  254. /package/{agent-manager-OWHTBG46.js.map → agent-manager-4XJUIZKL.js.map} +0 -0
  255. /package/{chat-JZ4UQDWV.js.map → chat-3XDVULFH.js.map} +0 -0
  256. /package/{chunk-Z67WBWKD.js.map → chunk-5GYBAMHV.js.map} +0 -0
  257. /package/{chunk-NZNIWJDT.js.map → chunk-AAK7ACHG.js.map} +0 -0
  258. /package/{chunk-QIBUMYR6.js.map → chunk-NPORVPEO.js.map} +0 -0
  259. /package/{companion-6J6NK7H7.js.map → companion-MUFVXURV.js.map} +0 -0
  260. /package/{settings-manager-NZV26BC3.js.map → settings-manager-Y4GNAXOH.js.map} +0 -0
  261. /package/web/assets/{abap-BvxTqXT2.js → abap-PT-N0eyj.js} +0 -0
  262. /package/web/assets/{apex-CIPCCkBr.js → apex-BYovhaVz.js} +0 -0
  263. /package/web/assets/{azcli-Rs0NIwkA.js → azcli-DOxZ9r2f.js} +0 -0
  264. /package/web/assets/{bat-BxAhM6gR.js → bat-B29juGG4.js} +0 -0
  265. /package/web/assets/{bicep-oV_ehPcG.js → bicep-7-ApPSlE.js} +0 -0
  266. /package/web/assets/{browser-DNbnH79q.js → browser-N7UrAcvB.js} +0 -0
  267. /package/web/assets/{cameligo-CJLaUyQs.js → cameligo-BipBUQCp.js} +0 -0
  268. /package/web/assets/{clojure-CjvMureh.js → clojure-DBgUdyK0.js} +0 -0
  269. /package/web/assets/{coffee-motWC5XQ.js → coffee-DIU_x8Zp.js} +0 -0
  270. /package/web/assets/{cpp-DiWIfYNM.js → cpp-CAPjLTys.js} +0 -0
  271. /package/web/assets/{csharp-GBlGBeai.js → csharp-kFCIHjec.js} +0 -0
  272. /package/web/assets/{csp-tSyK5eO1.js → csp-BFKsjgRE.js} +0 -0
  273. /package/web/assets/{css-BkFK9HG_.js → css-C3uiAvXV.js} +0 -0
  274. /package/web/assets/{cypher-Bcp8PXr2.js → cypher-BC8El989.js} +0 -0
  275. /package/web/assets/{dart-uz9Rxe0M.js → dart-BAClpSRO.js} +0 -0
  276. /package/web/assets/{dockerfile-iJizx3Zp.js → dockerfile-DVZSJ3rq.js} +0 -0
  277. /package/web/assets/{ecl-BalaS36Z.js → ecl-Dis7T_5W.js} +0 -0
  278. /package/web/assets/{elixir-D6CLrLGy.js → elixir-B0xfsmfq.js} +0 -0
  279. /package/web/assets/{flow9-CFt3-vVY.js → flow9-DbTJxEBz.js} +0 -0
  280. /package/web/assets/{fsharp-DGa7raxa.js → fsharp-DTOqftZo.js} +0 -0
  281. /package/web/assets/{go-wlqInk4z.js → go-KWOR5hag.js} +0 -0
  282. /package/web/assets/{graphql-CP1guigM.js → graphql-DjYFSl6G.js} +0 -0
  283. /package/web/assets/{hcl-CK0UkKD0.js → hcl-D8RrENjV.js} +0 -0
  284. /package/web/assets/{ini-Ch56nrUj.js → ini-BOtkgeoY.js} +0 -0
  285. /package/web/assets/{java-C9_WIayl.js → java-DKd4_eEX.js} +0 -0
  286. /package/web/assets/{julia-Can2_mhR.js → julia-XpEGblEj.js} +0 -0
  287. /package/web/assets/{kotlin-DUvGf_BX.js → kotlin-BZv3QweN.js} +0 -0
  288. /package/web/assets/{less-DoTbG-rc.js → less-H5kV6pUj.js} +0 -0
  289. /package/web/assets/{lexon-BFMO2_kL.js → lexon-Bg4gEB0s.js} +0 -0
  290. /package/web/assets/{lua-CC-QtBo7.js → lua-D7eb4Dnq.js} +0 -0
  291. /package/web/assets/{m3-C51MyH5Q.js → m3-BjDYXZ0c.js} +0 -0
  292. /package/web/assets/{markdown-CDwLHhgZ.js → markdown-Cl5YxO_y.js} +0 -0
  293. /package/web/assets/{mips-YuxZtPGU.js → mips-sklxJ87A.js} +0 -0
  294. /package/web/assets/{msdax-CJjWhmte.js → msdax-C0nZ2Nk3.js} +0 -0
  295. /package/web/assets/{mysql-B1riwLaD.js → mysql-D6eZPdeQ.js} +0 -0
  296. /package/web/assets/{objective-c-drXT-gmc.js → objective-c-W10E2fSz.js} +0 -0
  297. /package/web/assets/{pascal-KUYgrN-Z.js → pascal-Cd0rtL9J.js} +0 -0
  298. /package/web/assets/{pascaligo-DQmQJP-r.js → pascaligo-BbE09f5f.js} +0 -0
  299. /package/web/assets/{perl-09XLBmCS.js → perl-bnuvlUCT.js} +0 -0
  300. /package/web/assets/{pgsql-BFj9IFFu.js → pgsql-BETeeS25.js} +0 -0
  301. /package/web/assets/{php-UnC5BqwY.js → php-zaSPUC-m.js} +0 -0
  302. /package/web/assets/{pla-BFuYrPHG.js → pla-ChOKgzpJ.js} +0 -0
  303. /package/web/assets/{postiats-n4ft3jnO.js → postiats-By_SllB5.js} +0 -0
  304. /package/web/assets/{powerquery-D-s-oFSc.js → powerquery-CB5gIeJ1.js} +0 -0
  305. /package/web/assets/{powershell-CTboTf93.js → powershell-CgdaEQwq.js} +0 -0
  306. /package/web/assets/{protobuf-Dt62GuJP.js → protobuf-P7fNUpCt.js} +0 -0
  307. /package/web/assets/{pug-CEFWkUzw.js → pug-DZaxV_Nc.js} +0 -0
  308. /package/web/assets/{qsharp-B0DUmgPZ.js → qsharp-BdkO9QAN.js} +0 -0
  309. /package/web/assets/{r-BVnF0c4T.js → r-C-pPWc3R.js} +0 -0
  310. /package/web/assets/{redis-DLl3KQXi.js → redis-BT1HxrEq.js} +0 -0
  311. /package/web/assets/{redshift-cif1I7h1.js → redshift-CDnJNPnz.js} +0 -0
  312. /package/web/assets/{restructuredtext-PNfql36m.js → restructuredtext-Bt8v-MuE.js} +0 -0
  313. /package/web/assets/{ruby-j3jxDjUN.js → ruby-BLxqHkKg.js} +0 -0
  314. /package/web/assets/{rust-BaIO-mAt.js → rust-CIh7vugr.js} +0 -0
  315. /package/web/assets/{sb-D8XNVNUQ.js → sb-eE41pfwD.js} +0 -0
  316. /package/web/assets/{scala-DiK9Ps90.js → scala-COBuWHwn.js} +0 -0
  317. /package/web/assets/{scheme-DPKqXHmF.js → scheme-BsGc_ajc.js} +0 -0
  318. /package/web/assets/{scss-DpMwfP2H.js → scss-DLmucKJk.js} +0 -0
  319. /package/web/assets/{shared-sse-CTMtESqe.js → shared-sse---by8uTc.js} +0 -0
  320. /package/web/assets/{shell-Dw9mKVg2.js → shell-8IUXMVcg.js} +0 -0
  321. /package/web/assets/{solidity-DTxo-7fe.js → solidity-DUTott7T.js} +0 -0
  322. /package/web/assets/{sophia-BjA3Q87y.js → sophia-GqIrTWz8.js} +0 -0
  323. /package/web/assets/{sparql-q1EpMUqb.js → sparql-BfkJA0CL.js} +0 -0
  324. /package/web/assets/{sql-CjcQ4wIr.js → sql-BF_o1CCN.js} +0 -0
  325. /package/web/assets/{st-AuOpxVl7.js → st-B6_wiXyW.js} +0 -0
  326. /package/web/assets/{swift-BUWnv6f7.js → swift-BHDD2Ajh.js} +0 -0
  327. /package/web/assets/{systemverilog-FhXn-3OZ.js → systemverilog-BG_Ebh2a.js} +0 -0
  328. /package/web/assets/{tcl-B0lqcTtS.js → tcl-ocTQVTM_.js} +0 -0
  329. /package/web/assets/{twig-B0OeGPVa.js → twig-CF5whnDX.js} +0 -0
  330. /package/web/assets/{typespec-Bmh6VX11.js → typespec-5BWfbhTE.js} +0 -0
  331. /package/web/assets/{uuid-Q0SWZmaT.js → uuid-FpfcaBnR.js} +0 -0
  332. /package/web/assets/{vb-bmgX6veu.js → vb-agPNUcOk.js} +0 -0
  333. /package/web/assets/{w3c-keyname-2TLn3EjF.js → w3c-keyname-2_K_z_q5.js} +0 -0
  334. /package/web/assets/{wgsl-FflLnFqI.js → wgsl-CufoMn6o.js} +0 -0
@@ -37,6 +37,7 @@ import {
37
37
  logParserStore,
38
38
  maskApiKey,
39
39
  networkInfo,
40
+ orgCloudUrl,
40
41
  protectedProcedure,
41
42
  publicProcedure,
42
43
  registerHttpServer,
@@ -57,7 +58,7 @@ import {
57
58
  shutdownCodexAppServer,
58
59
  startCliSession,
59
60
  vaultOfProject
60
- } from "./chunk-UYOWIH4R.js";
61
+ } from "./chunk-IOAGFK3P.js";
61
62
  import {
62
63
  resolveCliInvocation,
63
64
  whichCommand
@@ -80,7 +81,8 @@ import {
80
81
  stopClaudeTranscriptWatcher,
81
82
  stopCodexTranscriptWatcher,
82
83
  verifyJwt
83
- } from "./chunk-NZNIWJDT.js";
84
+ } from "./chunk-AAK7ACHG.js";
85
+ import "./chunk-MD3VW4HQ.js";
84
86
  import {
85
87
  agentManager,
86
88
  agentSpawner,
@@ -118,29 +120,10 @@ import {
118
120
  stableEncryptValue,
119
121
  traefikManager,
120
122
  unregisterInstance
121
- } from "./chunk-QIBUMYR6.js";
123
+ } from "./chunk-NPORVPEO.js";
122
124
  import {
123
125
  settingsManager
124
- } from "./chunk-Z67WBWKD.js";
125
- import {
126
- env,
127
- forgetOrgLogo,
128
- keyRoot,
129
- legacyMachineFilePath,
130
- legacyVaultRoot,
131
- listCloudVaults,
132
- listOrgVaults,
133
- machineFilePath,
134
- machineRoot,
135
- orgVaultRoot,
136
- projectVaultRoot,
137
- readOrgClouds,
138
- readOrgLogos,
139
- readOrgNames,
140
- rememberOrgLogo,
141
- rememberOrgName,
142
- stampOrgCloud
143
- } from "./chunk-KY6KYSOU.js";
126
+ } from "./chunk-5GYBAMHV.js";
144
127
  import {
145
128
  AGENT_LONG_FETCH_TIMEOUT,
146
129
  AGENT_STOP_FETCH_TIMEOUT,
@@ -171,7 +154,26 @@ import {
171
154
  readEntity,
172
155
  writeEntity
173
156
  } from "./chunk-QRMG6GMX.js";
174
- import "./chunk-MD3VW4HQ.js";
157
+ import {
158
+ env,
159
+ forgetOrgLogo,
160
+ keyRoot,
161
+ legacyMachineFilePath,
162
+ legacyVaultRoot,
163
+ listCloudVaults,
164
+ listOrgVaults,
165
+ machineFilePath,
166
+ machineRoot,
167
+ orgVaultRoot,
168
+ projectVaultRoot,
169
+ readOrgClouds,
170
+ readOrgLogo,
171
+ readOrgLogos,
172
+ readOrgNames,
173
+ rememberOrgLogo,
174
+ rememberOrgName,
175
+ stampOrgCloud
176
+ } from "./chunk-LTLOVQJQ.js";
175
177
 
176
178
  // ../server/src/create-server.ts
177
179
  import express from "express";
@@ -3243,9 +3245,9 @@ async function* streamProviderText(input) {
3243
3245
  stream: true,
3244
3246
  max_tokens: maxTokens
3245
3247
  }, { signal: signal ?? void 0 });
3246
- for await (const chunk of stream) {
3248
+ for await (const chunk2 of stream) {
3247
3249
  if (signal?.aborted) return;
3248
- const text = chunk.choices[0]?.delta?.content;
3250
+ const text = chunk2.choices[0]?.delta?.content;
3249
3251
  if (text) yield text;
3250
3252
  }
3251
3253
  return;
@@ -5102,16 +5104,16 @@ function installLogCapture() {
5102
5104
  [process.stderr, "stderr"]
5103
5105
  ]) {
5104
5106
  const original = stream.write.bind(stream);
5105
- stream.write = ((chunk, encoding, callback) => {
5107
+ stream.write = ((chunk2, encoding, callback) => {
5106
5108
  try {
5107
- const text = typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8");
5109
+ const text = typeof chunk2 === "string" ? chunk2 : Buffer.from(chunk2).toString("utf8");
5108
5110
  for (const raw of text.split("\n")) {
5109
5111
  const line = raw.endsWith("\r") ? raw.slice(0, -1) : raw;
5110
5112
  if (line.trim() !== "") push(line, name);
5111
5113
  }
5112
5114
  } catch {
5113
5115
  }
5114
- return original(chunk, encoding, callback);
5116
+ return original(chunk2, encoding, callback);
5115
5117
  });
5116
5118
  }
5117
5119
  }
@@ -7681,12 +7683,11 @@ var cloudSyncRouter = router({
7681
7683
  * réseau muet laisse en place ce qui est déjà là : hors ligne, on garde.
7682
7684
  */
7683
7685
  cacheOrgLogos: protectedProcedure.input(z23.object({ orgIds: z23.array(z23.string().min(1).max(128)).max(200) })).mutation(async ({ input }) => {
7684
- const clouds = await readOrgClouds();
7685
7686
  let cached = 0;
7686
7687
  for (const orgId of input.orgIds) {
7687
- const base = (clouds[orgId] ?? getCloudApiUrl()).replace(/\/+$/, "");
7688
+ const base = await orgCloudUrl(orgId);
7688
7689
  try {
7689
- const res = await fetch(`${base}/api/org-logo/${encodeURIComponent(orgId)}`, {
7690
+ const res = await fetch(`${base}/api/org-logo/${encodeURIComponent(orgId)}?format=png`, {
7690
7691
  signal: AbortSignal.timeout(1e4)
7691
7692
  });
7692
7693
  if (res.status === 404) {
@@ -7876,10 +7877,46 @@ async function installLauncher(input) {
7876
7877
  return { name: input.name, output: [stdout, stderr].filter((s) => s.trim()).join("\n").trim() };
7877
7878
  }
7878
7879
 
7880
+ // ../server/src/services/tray-accent.ts
7881
+ var accent = null;
7882
+ var listeners2 = /* @__PURE__ */ new Set();
7883
+ function getTrayAccent() {
7884
+ return accent;
7885
+ }
7886
+ function setTrayAccent(next) {
7887
+ const normalized = next === null ? null : next.trim().toLowerCase();
7888
+ if (normalized === accent) return;
7889
+ accent = normalized;
7890
+ for (const listener of listeners2) {
7891
+ try {
7892
+ listener();
7893
+ } catch {
7894
+ }
7895
+ }
7896
+ }
7897
+ function onTrayAccentChanged(listener) {
7898
+ listeners2.add(listener);
7899
+ return () => listeners2.delete(listener);
7900
+ }
7901
+
7879
7902
  // ../server/src/trpc/routers/desktop.ts
7880
7903
  var desktopRouter = router({
7881
7904
  /** Ce que le CLI demanderait, prérempli avec l'instance en cours. */
7882
7905
  suggestLauncher: protectedProcedure.query(() => suggestLauncher()),
7906
+ /**
7907
+ * La couleur du thème de cet onglet.
7908
+ *
7909
+ * Le thème vit dans le navigateur ; l'icône de barre système, elle, est
7910
+ * dessinée par le serveur. Sans cette annonce elle garderait la teinte figée
7911
+ * du fichier livré avec le CLI. Rien n'est persisté — voir `tray-accent.ts`.
7912
+ */
7913
+ setTrayAccent: protectedProcedure.input(z25.object({
7914
+ // `#rgb` ou `#rrggbb` : la forme est vérifiée ici, pas rabotée plus loin.
7915
+ color: z25.string().regex(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/).nullable()
7916
+ })).mutation(({ input }) => {
7917
+ setTrayAccent(input.color);
7918
+ return { ok: true };
7919
+ }),
7883
7920
  installLauncher: protectedProcedure.input(z25.object({
7884
7921
  name: z25.string().trim().min(1).max(120),
7885
7922
  /**
@@ -10080,7 +10117,7 @@ async function createLocalServer() {
10080
10117
  ]);
10081
10118
  console.log("[server] Shutdown complete");
10082
10119
  };
10083
- const { initCompanion } = await import("./companion-6J6NK7H7.js");
10120
+ const { initCompanion } = await import("./companion-MUFVXURV.js");
10084
10121
  initCompanion();
10085
10122
  return { app, server, wss, shutdown };
10086
10123
  }
@@ -10199,14 +10236,241 @@ function onTrayServicesChanged(listener) {
10199
10236
  const offServices = serviceStore.onChange(onStatus);
10200
10237
  const offUnlock = onVaultUnlocked(onStatus);
10201
10238
  const offProject = onCurrentProjectChanged(onStatus);
10239
+ const offAccent = onTrayAccentChanged(onStatus);
10202
10240
  return () => {
10203
10241
  agentManager.off("process:status", onStatus);
10204
10242
  offServices();
10205
10243
  offUnlock();
10244
+ offAccent();
10206
10245
  offProject();
10207
10246
  };
10208
10247
  }
10209
10248
 
10249
+ // ../server/src/services/tray-icon.ts
10250
+ import { mkdir as mkdir13, writeFile as writeFile10, rename as rename8 } from "fs/promises";
10251
+ import { join as join17 } from "path";
10252
+
10253
+ // ../server/src/services/png-to-ico.ts
10254
+ function isPng(bytes) {
10255
+ const signature = [137, 80, 78, 71, 13, 10, 26, 10];
10256
+ return bytes.length > signature.length && signature.every((b, i) => bytes[i] === b);
10257
+ }
10258
+ function pngSize(bytes) {
10259
+ if (bytes.length < 24 || !isPng(bytes)) return null;
10260
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
10261
+ if (String.fromCharCode(...bytes.slice(12, 16)) !== "IHDR") return null;
10262
+ const width = view.getUint32(16);
10263
+ const height = view.getUint32(20);
10264
+ if (width === 0 || height === 0) return null;
10265
+ return { width, height };
10266
+ }
10267
+ function pngToIco(png) {
10268
+ const size = pngSize(png);
10269
+ if (!size) return null;
10270
+ if (size.width > 256 || size.height > 256) return null;
10271
+ const header = new Uint8Array(6 + 16);
10272
+ const view = new DataView(header.buffer);
10273
+ view.setUint16(0, 0, true);
10274
+ view.setUint16(2, 1, true);
10275
+ view.setUint16(4, 1, true);
10276
+ header[6] = size.width === 256 ? 0 : size.width;
10277
+ header[7] = size.height === 256 ? 0 : size.height;
10278
+ header[8] = 0;
10279
+ header[9] = 0;
10280
+ view.setUint16(10, 1, true);
10281
+ view.setUint16(12, 32, true);
10282
+ view.setUint32(14, png.length, true);
10283
+ view.setUint32(18, header.length, true);
10284
+ const ico = new Uint8Array(header.length + png.length);
10285
+ ico.set(header, 0);
10286
+ ico.set(png, header.length);
10287
+ return ico;
10288
+ }
10289
+
10290
+ // ../server/src/services/runeya-icon.ts
10291
+ import { deflateSync } from "zlib";
10292
+ var VIEW = 28;
10293
+ var CORNER_RADIUS = 8;
10294
+ var STROKE_WIDTH = 2.5;
10295
+ var STROKES = [
10296
+ [7, 20, 14, 8],
10297
+ [14, 8, 21, 20],
10298
+ [10, 16, 18, 16]
10299
+ ];
10300
+ function parseHexColor(hex) {
10301
+ const value = hex.trim().replace(/^#/, "");
10302
+ const full = value.length === 3 ? value.replace(/./g, (c) => c + c) : value;
10303
+ if (!/^[0-9a-fA-F]{6}$/.test(full)) return null;
10304
+ return [
10305
+ parseInt(full.slice(0, 2), 16),
10306
+ parseInt(full.slice(2, 4), 16),
10307
+ parseInt(full.slice(4, 6), 16)
10308
+ ];
10309
+ }
10310
+ function distanceToRoundedRect(x, y, half, radius) {
10311
+ const dx = Math.abs(x) - (half - radius);
10312
+ const dy = Math.abs(y) - (half - radius);
10313
+ const outside = Math.hypot(Math.max(dx, 0), Math.max(dy, 0));
10314
+ return outside + Math.min(Math.max(dx, dy), 0) - radius;
10315
+ }
10316
+ function distanceToStroke(x, y, [ax, ay, bx, by], width) {
10317
+ const px = x - ax;
10318
+ const py = y - ay;
10319
+ const vx = bx - ax;
10320
+ const vy = by - ay;
10321
+ const t = Math.min(1, Math.max(0, (px * vx + py * vy) / (vx * vx + vy * vy)));
10322
+ return Math.hypot(px - vx * t, py - vy * t) - width / 2;
10323
+ }
10324
+ function coverage(distance, pixel) {
10325
+ return Math.min(1, Math.max(0, 0.5 - distance / pixel));
10326
+ }
10327
+ function renderRuneyaIcon(color, size = 64) {
10328
+ const rgb = parseHexColor(color);
10329
+ if (!rgb || size < 8 || size > 1024) return null;
10330
+ const scale = size / VIEW;
10331
+ const pixel = 1 / scale;
10332
+ const half = VIEW / 2;
10333
+ const rgba = new Uint8Array(size * size * 4);
10334
+ for (let py = 0; py < size; py += 1) {
10335
+ for (let px = 0; px < size; px += 1) {
10336
+ const x = (px + 0.5) / scale;
10337
+ const y = (py + 0.5) / scale;
10338
+ const background = coverage(distanceToRoundedRect(x - half, y - half, half, CORNER_RADIUS), pixel);
10339
+ if (background <= 0) continue;
10340
+ let stroke = 0;
10341
+ for (const segment of STROKES) {
10342
+ stroke = Math.max(stroke, coverage(distanceToStroke(x, y, segment, STROKE_WIDTH), pixel));
10343
+ }
10344
+ stroke = Math.min(stroke, background);
10345
+ const offset = (py * size + px) * 4;
10346
+ for (let channel = 0; channel < 3; channel += 1) {
10347
+ rgba[offset + channel] = Math.round(rgb[channel] * (1 - stroke) + 255 * stroke);
10348
+ }
10349
+ rgba[offset + 3] = Math.round(background * 255);
10350
+ }
10351
+ }
10352
+ return encodePng(rgba, size, size);
10353
+ }
10354
+ var CRC_TABLE = (() => {
10355
+ const table = new Uint32Array(256);
10356
+ for (let n = 0; n < 256; n += 1) {
10357
+ let c = n;
10358
+ for (let k = 0; k < 8; k += 1) c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1;
10359
+ table[n] = c >>> 0;
10360
+ }
10361
+ return table;
10362
+ })();
10363
+ function crc32(bytes) {
10364
+ let crc = 4294967295;
10365
+ for (const byte of bytes) crc = CRC_TABLE[(crc ^ byte) & 255] ^ crc >>> 8;
10366
+ return (crc ^ 4294967295) >>> 0;
10367
+ }
10368
+ function chunk(type, data) {
10369
+ const out = new Uint8Array(data.length + 12);
10370
+ const view = new DataView(out.buffer);
10371
+ view.setUint32(0, data.length);
10372
+ for (let i = 0; i < 4; i += 1) out[4 + i] = type.charCodeAt(i);
10373
+ out.set(data, 8);
10374
+ view.setUint32(data.length + 8, crc32(out.subarray(4, data.length + 8)));
10375
+ return out;
10376
+ }
10377
+ function encodePng(rgba, width, height) {
10378
+ const header = new Uint8Array(13);
10379
+ const view = new DataView(header.buffer);
10380
+ view.setUint32(0, width);
10381
+ view.setUint32(4, height);
10382
+ header[8] = 8;
10383
+ header[9] = 6;
10384
+ const raw = new Uint8Array(height * (width * 4 + 1));
10385
+ for (let y = 0; y < height; y += 1) {
10386
+ raw[y * (width * 4 + 1)] = 0;
10387
+ raw.set(rgba.subarray(y * width * 4, (y + 1) * width * 4), y * (width * 4 + 1) + 1);
10388
+ }
10389
+ const signature = new Uint8Array([137, 80, 78, 71, 13, 10, 26, 10]);
10390
+ const parts = [
10391
+ signature,
10392
+ chunk("IHDR", header),
10393
+ chunk("IDAT", new Uint8Array(deflateSync(raw))),
10394
+ chunk("IEND", new Uint8Array(0))
10395
+ ];
10396
+ const png = new Uint8Array(parts.reduce((total, part) => total + part.length, 0));
10397
+ let at = 0;
10398
+ for (const part of parts) {
10399
+ png.set(part, at);
10400
+ at += part.length;
10401
+ }
10402
+ return png;
10403
+ }
10404
+
10405
+ // ../server/src/services/tray-icon.ts
10406
+ var MAX_LOGO_BYTES = 1024 * 1024;
10407
+ var FETCH_TIMEOUT_MS = 3e3;
10408
+ var CACHE_TTL_MS = 10 * 6e4;
10409
+ var cache2 = /* @__PURE__ */ new Map();
10410
+ function trayIconDir() {
10411
+ return join17(machineRoot(), "tray-icons");
10412
+ }
10413
+ async function resolveTrayIcon(platform = process.platform) {
10414
+ const orgId = getCurrentProject()?.orgId;
10415
+ if (orgId) {
10416
+ const cached = cache2.get(orgId);
10417
+ const logo = cached && Date.now() - cached.at < CACHE_TTL_MS ? cached.path : await resolveOrgLogo(orgId, platform);
10418
+ if (!cached || Date.now() - cached.at >= CACHE_TTL_MS) {
10419
+ cache2.set(orgId, { path: logo, at: Date.now() });
10420
+ }
10421
+ if (logo) return logo;
10422
+ }
10423
+ return renderThemedIcon(platform);
10424
+ }
10425
+ async function renderThemedIcon(platform) {
10426
+ const accent2 = getTrayAccent();
10427
+ if (!accent2) return null;
10428
+ try {
10429
+ const png = renderRuneyaIcon(accent2, 64);
10430
+ if (!png) return null;
10431
+ return writeTrayIcon(`theme-${accent2.replace(/[^a-z0-9]/g, "")}`, png, platform);
10432
+ } catch (err) {
10433
+ console.log(`[tray] ic\xF4ne du th\xE8me non \xE9crite : ${err.message}`);
10434
+ return null;
10435
+ }
10436
+ }
10437
+ async function writeTrayIcon(stem, png, platform) {
10438
+ const dir = trayIconDir();
10439
+ await mkdir13(dir, { recursive: true });
10440
+ const path = join17(dir, stem);
10441
+ if (platform === "win32") {
10442
+ const ico = pngToIco(png);
10443
+ return ico ? writeAtomic(`${path}.ico`, ico) : null;
10444
+ }
10445
+ return writeAtomic(`${path}.png`, png);
10446
+ }
10447
+ async function writeAtomic(path, bytes) {
10448
+ const tmp = `${path}.${process.pid}.tmp`;
10449
+ await writeFile10(tmp, bytes);
10450
+ await rename8(tmp, path);
10451
+ return path;
10452
+ }
10453
+ async function resolveOrgLogo(orgId, platform) {
10454
+ try {
10455
+ const bytes = await orgLogoBytes(orgId);
10456
+ if (!bytes) return null;
10457
+ return writeTrayIcon(`org-${orgId.replace(/[^a-zA-Z0-9_-]/g, "")}`, bytes, platform);
10458
+ } catch (err) {
10459
+ console.log(`[tray] logo d'organisation indisponible : ${err.message}`);
10460
+ return null;
10461
+ }
10462
+ }
10463
+ async function orgLogoBytes(orgId) {
10464
+ const stored = await readOrgLogo(orgId);
10465
+ if (stored && isPng(stored.bytes)) return stored.bytes;
10466
+ const url = `${await orgCloudUrl(orgId)}/api/org-logo/${encodeURIComponent(orgId)}?format=png`;
10467
+ const response = await fetch(url, { signal: AbortSignal.timeout(FETCH_TIMEOUT_MS) });
10468
+ if (!response.ok) return null;
10469
+ const bytes = new Uint8Array(await response.arrayBuffer());
10470
+ if (bytes.length === 0 || bytes.length > MAX_LOGO_BYTES) return null;
10471
+ return isPng(bytes) ? bytes : null;
10472
+ }
10473
+
10210
10474
  // ../server/src/index.ts
10211
10475
  dotenv.config({ quiet: true });
10212
10476
  if (process.env["RUNEYA_DATA_DIR"]) {
@@ -10292,6 +10556,7 @@ export {
10292
10556
  pullEnv,
10293
10557
  registerCli as registerCliLocation,
10294
10558
  registerInstance,
10559
+ resolveTrayIcon,
10295
10560
  restartInstance,
10296
10561
  restartProcess,
10297
10562
  scheduleSelfRestart,
@@ -10299,4 +10564,4 @@ export {
10299
10564
  startProcess,
10300
10565
  stopProcess
10301
10566
  };
10302
- //# sourceMappingURL=src-V7DPPFCF.js.map
10567
+ //# sourceMappingURL=src-TEL7L4K2.js.map