@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.
- package/agent-manager-4XJUIZKL.js +9 -0
- package/{chat-JZ4UQDWV.js → chat-3XDVULFH.js} +7 -7
- package/{chunk-Z67WBWKD.js → chunk-5GYBAMHV.js} +7 -7
- package/{chunk-NZNIWJDT.js → chunk-AAK7ACHG.js} +18 -18
- package/{chunk-UYOWIH4R.js → chunk-IOAGFK3P.js} +24 -18
- package/{chunk-UYOWIH4R.js.map → chunk-IOAGFK3P.js.map} +1 -1
- package/{chunk-KY6KYSOU.js → chunk-LTLOVQJQ.js} +26 -14
- package/chunk-LTLOVQJQ.js.map +1 -0
- package/{chunk-QIBUMYR6.js → chunk-NPORVPEO.js} +13 -13
- package/{companion-6J6NK7H7.js → companion-MUFVXURV.js} +5 -5
- package/index.js +9 -5
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/settings-manager-Y4GNAXOH.js +9 -0
- package/{src-V7DPPFCF.js → src-TEL7L4K2.js} +299 -34
- package/src-TEL7L4K2.js.map +1 -0
- package/{tray-TRWZNOUD.js → tray-NZOXYN5G.js} +19 -3
- package/tray-NZOXYN5G.js.map +1 -0
- package/vault-resolver-JR7TCITD.js +55 -0
- package/vault-resolver-JR7TCITD.js.map +1 -0
- package/web/assets/AgentScalarChatInterface.vue-CveVquKX.js +13 -0
- package/web/assets/AgentTerminalPage-DkNOUzXx.js +1 -0
- package/web/assets/AiChatPage-CTF8FIV4.js +1 -0
- package/web/assets/AppLayout-agjOv6PY.js +1 -0
- package/web/assets/AuditPage-dgYwbpdR.js +1 -0
- package/web/assets/CloudAccountPage-Bx9gNcJQ.js +1 -0
- package/web/assets/CloudAccountPage-DEnVoeik.js +1 -0
- package/web/assets/CloudMessagingPage-qKrKfB-F.js +2 -0
- package/web/assets/DashboardPage-Bwq2Nhg2.js +1 -0
- package/web/assets/DirectoryPickerDialog-D8XDtgZh.js +1 -0
- package/web/assets/{EditorIcon-BguaWtZg.js → EditorIcon-CA5ff6aq.js} +2 -2
- package/web/assets/{EnvironmentForm-D8dq0ffR.js → EnvironmentForm-CzSZiA51.js} +2 -2
- package/web/assets/EnvironmentFormPage-CuSgaY1_.js +1 -0
- package/web/assets/EnvironmentListPage-Dsw3CJvc.js +1 -0
- package/web/assets/KanbanBoardPage-CUVcQ4YW.js +4 -0
- package/web/assets/KanbanListPage-CGhlz8Pe.js +1 -0
- package/web/assets/LaunchProjectPage-BveJC98q.js +1 -0
- package/web/assets/LaunchServicesPage-B0W02JDF.js +1 -0
- package/web/assets/LogViewer-Rr_WYaUa.js +3 -0
- package/web/assets/OrgKeyPrompt-CG2-L3Lf.js +1 -0
- package/web/assets/{ProcessControls-D3zTnHb2.js → ProcessControls-DvSw2AQV.js} +1 -1
- package/web/assets/ProcessDetailPage-Decf7LjW.js +1 -0
- package/web/assets/{ProcessMetrics-Dwd5lzqY.js → ProcessMetrics-xWpkhjoe.js} +2 -2
- package/web/assets/ProjectDetailPage-xg7x2vFI.js +1 -0
- package/web/assets/ProjectListPage-Bv2fwGla.js +1 -0
- package/web/assets/RandomJobTestPage-BEn1gSo3.js +2 -0
- package/web/assets/ScenarioEditorPage-CLiTQe4B.js +14 -0
- package/web/assets/SendToChatDialog-DdvfNdWg.js +1 -0
- package/web/assets/ServiceControlsBar-DKc2e9Ns.js +1 -0
- package/web/assets/ServiceDetailPage-BfkVlUEh.js +2 -0
- package/web/assets/ServiceFormPage-BTJBk_wB.js +1 -0
- package/web/assets/SettingsPage-BlOHIALT.js +2063 -0
- package/web/assets/UnlockPage-u3Zqu1aU.js +1 -0
- package/web/assets/VariablesTable-MFZSG4LV.js +1 -0
- package/web/assets/VaultMigrationPage-CTMCgOtW.js +1 -0
- package/web/assets/VersionBadge-D5zxX_zs.js +1 -0
- package/web/assets/WikiPage-BkQZP60x.js +1 -0
- package/web/assets/WikiView-CFX5gG2s.js +1 -0
- package/web/assets/add-scalar-classes-ClMP-KRl.js +387 -0
- package/web/assets/{autocomplete-QtPLLzzV.js → autocomplete-CBY4HTQR.js} +3 -3
- package/web/assets/{basic-shape-diamond.svg-Dyx8FJkS.js → basic-shape-diamond.svg-irIu-f9l.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-1RKdVP3_.js → basic-shape-hexagon.svg-DasEKbDT.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CSa69hok.js → basic-shape-primary-circle-ellipse-round.svg-DFanDXAm.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-B9TXktd4.js → basic-shape-primary-square-rectangle.svg-Dkyo9dlJ.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-BZvKXoiw.js → basic-shape-shield.svg-3imE69mJ.js} +1 -1
- package/web/assets/{browser-CYeKc8Uo.js → browser-Aa5s7rfo.js} +1 -1
- package/web/assets/{browser-VlhbsseI.js → browser-DUQZPder.js} +1 -1
- package/web/assets/{card-tEWfv-Op.js → card-D-ziPwAg.js} +2 -2
- package/web/assets/{checkbox-CyPqKR6H.js → checkbox-tdxfIWhT.js} +3 -3
- package/web/assets/{chip-wM0gJ_FI.js → chip-DQ2M3lMV.js} +2 -2
- package/web/assets/client-w--F512m.js +24 -0
- package/web/assets/cloud-chat.store-DwSl7oKq.js +1 -0
- package/web/assets/{cloud-session-g6ewm0UI.js → cloud-session-Do-zjE8q.js} +1 -1
- package/web/assets/column-Bv9vDejf.js +907 -0
- package/web/assets/{computer-device-desktop-monitor.svg-ClbIVuot.js → computer-device-desktop-monitor.svg-CYOP3WaB.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-CXpOovTP.js → computer-device-desktop.svg-qlrBIvQY.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-C9sY1wZv.js → computer-device-laptop.svg-IHPj_lEm.js} +1 -1
- 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
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-B0H-mnfh.js → computer-device-mobile-phone-android-samsung.svg-s5qvH0rw.js} +1 -1
- 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
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-qLGK_oVA.js → computer-device-mobile-phone-iphone-x.svg-Cnz0nuie.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-BDpuB6SD.js → computer-device-mobile-tablet-touch.svg-CGw0OJdZ.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-44THWP9E.js → computer-device-mobile-tablet.svg-BllNUwYz.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-tlgWltl_.js → computer-device-network-ethernet-cat6.svg-CDcu8JSm.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-Bd7Ch4QN.js → computer-device-network-lan-www.svg-Cr2Mzrgm.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-D_XjoY-a.js → computer-device-network-wifi-connection.svg-BdIGk-iA.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-BRpuwgUx.js → computer-device-network-wifi-router.svg-ChrqaXoE.js} +1 -1
- package/web/assets/{cssMode-D0M5mbRd.js → cssMode-DQ3QWGDZ.js} +1 -1
- package/web/assets/{divider-gPnMjjpJ.js → divider-BnVkpmcn.js} +2 -2
- package/web/assets/{docx-preview-CBPtwrA0.js → docx-preview-DOVrOL2W.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-CZ3uUeBT.js → ecology-science-erlenmeyer-flask.svg-Bz0bzqPi.js} +1 -1
- package/web/assets/{fieldset-BSGgRmpr.js → fieldset-CaBT4en1.js} +2 -2
- package/web/assets/{freemarker2-BWsK2SIi.js → freemarker2-e7ZK44f9.js} +1 -1
- package/web/assets/{handlebars-CHNB1gG0.js → handlebars-BunSmNEk.js} +1 -1
- package/web/assets/{html-COwA9Dtl.js → html-t6Ga4VcA.js} +1 -1
- package/web/assets/{htmlMode-gZ2_PUDA.js → htmlMode-CjsAz81L.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-Iiwm_7-K.js → image-flash-lightning.svg-CSanVzgy.js} +1 -1
- package/web/assets/{image-picture-flower.svg-BP9U6YP8.js → image-picture-flower.svg-DUlCxHzi.js} +1 -1
- package/web/assets/{index-mBPGEldp.js → index-CNqv4qMO.js} +262 -262
- package/web/assets/{interface-alert-exclamation-diamond.svg-BYWgnbUp.js → interface-alert-exclamation-diamond.svg-C-uhPFKN.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-CWGfXHx_.js → interface-alert-exclamation-triangle-warning.svg-BnSCXw68.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-88Bga8qr.js → interface-alert-information-circle.svg-CTGCb0Yf.js} +1 -1
- package/web/assets/{interface-award-crown.svg-3hO77oiy.js → interface-award-crown.svg-T-Lov9NP.js} +1 -1
- package/web/assets/{interface-bookmark.svg-SfHcE95h.js → interface-bookmark-tag.svg-DLjS0Lnz.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-DcHwQsr0.js → interface-bookmark.svg-CZekkdj9.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-DdXOM9VZ.js → interface-calendar-date-one.svg-DmD4yfdS.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-DD7QTDn_.js → interface-content-book-open-pages.svg-wHqGX15c.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-Dd45mFzB.js → interface-content-book-page.svg-MCSanA32.js} +1 -1
- package/web/assets/{interface-content-file.svg-slPoMF5K.js → interface-content-file.svg-DBpf8dcs.js} +1 -1
- package/web/assets/{interface-content-folder.svg-cSgXwhRh.js → interface-content-folder.svg-DZSoYO0L.js} +1 -1
- package/web/assets/interface-content-folder.svg-ZujlG0Az.js +1 -0
- package/web/assets/{interface-copy-clipboard.svg-DNy0VeWx.js → interface-copy-clipboard.svg-C1-sJNwr.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-VyCAm1jc.js → interface-edit-attachment.svg-CpxThva3.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-DA6QB2sn.js → interface-edit-binocular.svg-BHfWW26z.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-D0uagBk7.js → interface-edit-magic-wand.svg-DcC6CJBy.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-ConlubSG.js → interface-edit-tool-paint-roller.svg-BhReRG-a.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-BgNzCwXf.js → interface-edit-tool-pencil.svg-CztZ4Olx.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-MLL88pIy.js → interface-favorite-award.svg-C0kleqGy.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-ZhM_9XJZ.js → interface-favorite-flag.svg-B-VJ_w7p.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-Cqq1PV9O.js → interface-favorite-heart.svg-CuRtXB-S.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-YumblcRD.js → interface-favorite-star.svg-DtEkT0h3.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-BH5BXXOe.js → interface-favorite-stars-sparkles.svg-ffOT-I95.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-CEfCPIyC.js → interface-hierarchy-flowchart.svg-C5eB0vng.js} +1 -1
- package/web/assets/{interface-home-house.svg-DJE_g94c.js → interface-home-house.svg-Djr3DBJk.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-BFhnDXDD.js → interface-hyperlink.svg-BaesgCsY.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-NwOV0KEv.js → interface-lighting-brightness.svg-CiNPNypw.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-qVkplX0W.js → interface-lock-closed.svg-Dk3IIjH4.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-D18OlPEP.js → interface-lock-open-unlock.svg-DGG8lod0.js} +1 -1
- package/web/assets/{interface-login-key.svg-CccXX7_b.js → interface-login-key.svg-ZREdsGBv.js} +1 -1
- package/web/assets/{interface-search.svg-C6ncELaU.js → interface-search.svg-AF3hFV8X.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-5LrIeBav.js → interface-setting-cog.svg-CxjXHOho.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-C-qB4VYi.js → interface-share-megaphone-bullhorn.svg-C-Ou9l0X.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-Citzuyng.js → interface-share-rocket.svg-CERB2Bts.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-BldpdKdo.js → interface-share-satellite.svg-BfHWK0sr.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-B_Ni34rB.js → interface-share-space-ship.svg-lWM8H0aF.js} +1 -1
- package/web/assets/{interface-share.svg-FAt7Kgad.js → interface-share.svg-CFf-5WEt.js} +1 -1
- package/web/assets/{interface-signal-square.svg-DeBP6Pim.js → interface-signal-square.svg-BIiI1WkB.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-dQfNY8BC.js → interface-time-clock-circle.svg-MloMulBj.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-ylbFnlwY.js → interface-time-hour-glass.svg-BOxCCGI2.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-DXts3WMC.js → interface-users-multiple.svg-4T9srtFC.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-BG6mjCih.js → interface-weather-moon.svg-CKHzp1q9.js} +1 -1
- package/web/assets/{javascript-C_ENjImO.js → javascript-D9xsJ3Az.js} +1 -1
- package/web/assets/{jsonMode-Bt-LEknD.js → jsonMode-DuBcXIAs.js} +2 -2
- package/web/assets/{liquid-CVshgHmY.js → liquid-DEC7GfIV.js} +1 -1
- package/web/assets/{lspLanguageFeatures-D1e-RcOs.js → lspLanguageFeatures-BWtjzx_b.js} +3 -3
- package/web/assets/{mail-chat-bubble-square.svg-RUMLqiUI.js → mail-chat-bubble-square.svg-Bnr_lHI8.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-JDe3yqOH.js → mail-send-email-paper-airplane.svg-BX3SaAOF.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-CCzWaeO-.js → mail-send-envelope.svg-ZUoORksb.js} +1 -1
- package/web/assets/{mdx-D9G2-Bj8.js → mdx-HOoxTDWS.js} +1 -1
- package/web/assets/{minus-BMxEQL_C.js → minus-BBEVgxJH.js} +2 -2
- package/web/assets/modal-DM9X_PVj.js +5 -0
- package/web/assets/modal-lOChu0a6.js +1 -0
- package/web/assets/{money-cashier-receipt.svg-DfbOr89U.js → money-cashier-receipt.svg-DZ3PFTDB.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-DY7fQ7jz.js → money-currency-dollar-pay.svg-MP_zZSsR.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-jewlEZEL.js → money-graph-arrow-increase.svg-zF1qoCJ1.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-BChD8dZv.js → money-graph-bar-chart-increase.svg-BDD2RhNd.js} +1 -1
- package/web/assets/multiselect-BGmyQeLC.js +251 -0
- package/web/assets/{nature-ecology-leaf.svg-AQimnw3F.js → nature-ecology-leaf.svg-C8ROcT5o.js} +1 -1
- package/web/assets/{password-4Ykb_Ejn.js → password-4B0Jk2Id.js} +4 -4
- package/web/assets/{phone-telephone.svg-BdkwIhmo.js → phone-telephone.svg-DKK-lUXQ.js} +1 -1
- package/web/assets/{plus-CYVYZlQL.js → plus-CTzNAMSa.js} +6 -6
- package/web/assets/process.store-hTCiNh-E.js +1 -0
- package/web/assets/{programming-bug.svg-DzT817WD.js → programming-bug.svg-D2E8tMFA.js} +1 -1
- package/web/assets/{programming-cloud.svg-eKZD46YP.js → programming-cloud.svg-BGnh40iK.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-BXOhjcQy.js → programming-computer-database-server.svg-BVAuZnpu.js} +1 -1
- package/web/assets/{programming-computer-database.svg-DUzhimFY.js → programming-computer-database.svg-Cw61nQGg.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-CYGX7Rlj.js → programming-module-four-layout.svg-DoU0KSeo.js} +1 -1
- package/web/assets/{programming-module-three.svg-BhQr1m-R.js → programming-module-three.svg-DVhh6Qdu.js} +1 -1
- package/web/assets/{programming-module.svg-Bik697Ne.js → programming-module.svg-DvJfoHtJ.js} +1 -1
- package/web/assets/{programming-script-code.svg-BaTanEvH.js → programming-script-code.svg-C-tp6SrH.js} +1 -1
- package/web/assets/{python-wDvaXe-V.js → python--BJI87h8.js} +1 -1
- package/web/assets/{razor-C-cEFJP1.js → razor-CyKegkVq.js} +1 -1
- package/web/assets/router-CjeDvoXv.js +1 -0
- package/web/assets/settings-scope-78RP25Qh.js +1 -0
- package/web/assets/settings.store-D0Rg-dsM.js +1 -0
- package/web/assets/{shopping-cart.svg-BwUFrGEq.js → shopping-cart.svg-LfGHmiMy.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-Bs4b94QF.js → shopping-gift-present.svg-DQxn6jVj.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-DhVaYapE.js → shopping-shipping-box-parcel-package.svg-0_aBSgUi.js} +1 -1
- package/web/assets/src-BVvRi5bZ.js +1 -0
- package/web/assets/src-COTZAWP1.js +572 -0
- package/web/assets/{src-CpoqK21I.js → src-DmAdua1A.js} +14 -14
- package/web/assets/{tabpanel-DMt8G5AA.js → tabpanel-DHCbTagN.js} +3 -3
- package/web/assets/{tag-new-circle.svg-B4Z8uL1_.js → tag-new-circle.svg-83yDHm_4.js} +1 -1
- package/web/assets/theme-CDWRcPhl.js +1 -0
- package/web/assets/{toggleswitch-CawhRFb7.js → toggleswitch-98WbJy1b.js} +2 -2
- package/web/assets/{travel-map-earth-globe.svg-D0s5cc-W.js → travel-map-earth-globe.svg-Ih5Yi-jq.js} +1 -1
- package/web/assets/trpc-BOcC0r-H.js +1 -0
- package/web/assets/{tsMode-NHDuTjcd.js → tsMode-ocCX3Kwn.js} +4 -4
- package/web/assets/{typescript-DGkgFTtn.js → typescript-BNLFcH9T.js} +1 -1
- package/web/assets/useAiChatDrawer-DVacYOFX.js +1 -0
- package/web/assets/{useCloudOrg-BJTjZPZ9.js → useCloudOrg-D_o0-v2z.js} +1 -1
- package/web/assets/useProjectCatalog-CSqoTWGy.js +1 -0
- package/web/assets/useProjectCloudOrg-iblWkaw9.js +1 -0
- package/web/assets/{xml-CJaXEqLW.js → xml-DcSXqrs-.js} +1 -1
- package/web/assets/{yaml-bl8i8xOf.js → yaml-BNINCoLr.js} +1 -1
- package/web/index.html +1 -1
- package/agent-manager-OWHTBG46.js +0 -9
- package/chunk-KY6KYSOU.js.map +0 -1
- package/settings-manager-NZV26BC3.js +0 -9
- package/src-V7DPPFCF.js.map +0 -1
- package/tray-TRWZNOUD.js.map +0 -1
- package/web/assets/AgentScalarChatInterface.vue-CvG5ha3R.js +0 -13
- package/web/assets/AgentTerminalPage-DcGppuzO.js +0 -1
- package/web/assets/AiChatPage-BDr5tG0A.js +0 -1
- package/web/assets/AppLayout-Dv3ViAk2.js +0 -1
- package/web/assets/AuditPage-Bc2jlgZJ.js +0 -1
- package/web/assets/CloudAccountPage-4BLXSOix.js +0 -1
- package/web/assets/CloudAccountPage-B3MX6DNn.js +0 -1
- package/web/assets/CloudMessagingPage-CVzUalxx.js +0 -2
- package/web/assets/DashboardPage-Bo51pbzt.js +0 -1
- package/web/assets/DirectoryPickerDialog-CIVjWKUm.js +0 -1
- package/web/assets/EnvironmentFormPage-d8p3q8Yt.js +0 -1
- package/web/assets/EnvironmentListPage-DWo2lWjE.js +0 -1
- package/web/assets/KanbanBoardPage-DkwIz3J1.js +0 -4
- package/web/assets/KanbanListPage-xIQRLcrS.js +0 -1
- package/web/assets/LaunchProjectPage-CXWixUmf.js +0 -1
- package/web/assets/LaunchServicesPage-nv-chYgX.js +0 -1
- package/web/assets/LogViewer-DLupfjjf.js +0 -3
- package/web/assets/OrgKeyPrompt-DePcB-8f.js +0 -1
- package/web/assets/ProcessDetailPage-CgVGzRoJ.js +0 -1
- package/web/assets/ProjectDetailPage-HR20KyJ3.js +0 -1
- package/web/assets/ProjectListPage-DcH4uTTX.js +0 -1
- package/web/assets/RandomJobTestPage-BYTkVcdE.js +0 -2
- package/web/assets/ScenarioEditorPage-zRxR03Ud.js +0 -14
- package/web/assets/SendToChatDialog-Cm5eKBOb.js +0 -1
- package/web/assets/ServiceControlsBar-oBpAP9yX.js +0 -1
- package/web/assets/ServiceDetailPage-CahBi-or.js +0 -2
- package/web/assets/ServiceFormPage-DfmPM_mI.js +0 -1
- package/web/assets/SettingsPage-CDMXFJ4k.js +0 -2063
- package/web/assets/UnlockPage-BUyBEPzQ.js +0 -1
- package/web/assets/VariablesTable-Dc6CyVQW.js +0 -1
- package/web/assets/VaultMigrationPage-BUmzyDXN.js +0 -1
- package/web/assets/VersionBadge-Dx_67FtC.js +0 -1
- package/web/assets/WikiPage-DEMJLDpD.js +0 -1
- package/web/assets/WikiView-CcrQ2ySx.js +0 -1
- package/web/assets/add-scalar-classes-M_EBdf4f.js +0 -387
- package/web/assets/client-B919VgbS.js +0 -24
- package/web/assets/cloud-chat.store-C-A9nIqG.js +0 -1
- package/web/assets/column-DihIO4Zd.js +0 -907
- package/web/assets/interface-content-folder.svg-D90zbTLh.js +0 -1
- package/web/assets/modal-CZ7zYg5t.js +0 -1
- package/web/assets/modal-CmpFIC5N.js +0 -5
- package/web/assets/multiselect-CoRzeHvy.js +0 -251
- package/web/assets/process.store-CtXpHndZ.js +0 -1
- package/web/assets/router-CqYmBKhe.js +0 -1
- package/web/assets/settings-scope-DD7SbjFz.js +0 -1
- package/web/assets/settings.store-DcQmvBBv.js +0 -1
- package/web/assets/src-De5rZb3_.js +0 -1
- package/web/assets/src-NB2ZR0ON.js +0 -572
- package/web/assets/trpc-B17uPEkC.js +0 -1
- package/web/assets/useAiChatDrawer-BxE6EYFc.js +0 -1
- package/web/assets/useProjectCatalog-DifZyVY5.js +0 -1
- package/web/assets/useProjectCloudOrg-EvyyjH6E.js +0 -1
- /package/{agent-manager-OWHTBG46.js.map → agent-manager-4XJUIZKL.js.map} +0 -0
- /package/{chat-JZ4UQDWV.js.map → chat-3XDVULFH.js.map} +0 -0
- /package/{chunk-Z67WBWKD.js.map → chunk-5GYBAMHV.js.map} +0 -0
- /package/{chunk-NZNIWJDT.js.map → chunk-AAK7ACHG.js.map} +0 -0
- /package/{chunk-QIBUMYR6.js.map → chunk-NPORVPEO.js.map} +0 -0
- /package/{companion-6J6NK7H7.js.map → companion-MUFVXURV.js.map} +0 -0
- /package/{settings-manager-NZV26BC3.js.map → settings-manager-Y4GNAXOH.js.map} +0 -0
- /package/web/assets/{abap-BvxTqXT2.js → abap-PT-N0eyj.js} +0 -0
- /package/web/assets/{apex-CIPCCkBr.js → apex-BYovhaVz.js} +0 -0
- /package/web/assets/{azcli-Rs0NIwkA.js → azcli-DOxZ9r2f.js} +0 -0
- /package/web/assets/{bat-BxAhM6gR.js → bat-B29juGG4.js} +0 -0
- /package/web/assets/{bicep-oV_ehPcG.js → bicep-7-ApPSlE.js} +0 -0
- /package/web/assets/{browser-DNbnH79q.js → browser-N7UrAcvB.js} +0 -0
- /package/web/assets/{cameligo-CJLaUyQs.js → cameligo-BipBUQCp.js} +0 -0
- /package/web/assets/{clojure-CjvMureh.js → clojure-DBgUdyK0.js} +0 -0
- /package/web/assets/{coffee-motWC5XQ.js → coffee-DIU_x8Zp.js} +0 -0
- /package/web/assets/{cpp-DiWIfYNM.js → cpp-CAPjLTys.js} +0 -0
- /package/web/assets/{csharp-GBlGBeai.js → csharp-kFCIHjec.js} +0 -0
- /package/web/assets/{csp-tSyK5eO1.js → csp-BFKsjgRE.js} +0 -0
- /package/web/assets/{css-BkFK9HG_.js → css-C3uiAvXV.js} +0 -0
- /package/web/assets/{cypher-Bcp8PXr2.js → cypher-BC8El989.js} +0 -0
- /package/web/assets/{dart-uz9Rxe0M.js → dart-BAClpSRO.js} +0 -0
- /package/web/assets/{dockerfile-iJizx3Zp.js → dockerfile-DVZSJ3rq.js} +0 -0
- /package/web/assets/{ecl-BalaS36Z.js → ecl-Dis7T_5W.js} +0 -0
- /package/web/assets/{elixir-D6CLrLGy.js → elixir-B0xfsmfq.js} +0 -0
- /package/web/assets/{flow9-CFt3-vVY.js → flow9-DbTJxEBz.js} +0 -0
- /package/web/assets/{fsharp-DGa7raxa.js → fsharp-DTOqftZo.js} +0 -0
- /package/web/assets/{go-wlqInk4z.js → go-KWOR5hag.js} +0 -0
- /package/web/assets/{graphql-CP1guigM.js → graphql-DjYFSl6G.js} +0 -0
- /package/web/assets/{hcl-CK0UkKD0.js → hcl-D8RrENjV.js} +0 -0
- /package/web/assets/{ini-Ch56nrUj.js → ini-BOtkgeoY.js} +0 -0
- /package/web/assets/{java-C9_WIayl.js → java-DKd4_eEX.js} +0 -0
- /package/web/assets/{julia-Can2_mhR.js → julia-XpEGblEj.js} +0 -0
- /package/web/assets/{kotlin-DUvGf_BX.js → kotlin-BZv3QweN.js} +0 -0
- /package/web/assets/{less-DoTbG-rc.js → less-H5kV6pUj.js} +0 -0
- /package/web/assets/{lexon-BFMO2_kL.js → lexon-Bg4gEB0s.js} +0 -0
- /package/web/assets/{lua-CC-QtBo7.js → lua-D7eb4Dnq.js} +0 -0
- /package/web/assets/{m3-C51MyH5Q.js → m3-BjDYXZ0c.js} +0 -0
- /package/web/assets/{markdown-CDwLHhgZ.js → markdown-Cl5YxO_y.js} +0 -0
- /package/web/assets/{mips-YuxZtPGU.js → mips-sklxJ87A.js} +0 -0
- /package/web/assets/{msdax-CJjWhmte.js → msdax-C0nZ2Nk3.js} +0 -0
- /package/web/assets/{mysql-B1riwLaD.js → mysql-D6eZPdeQ.js} +0 -0
- /package/web/assets/{objective-c-drXT-gmc.js → objective-c-W10E2fSz.js} +0 -0
- /package/web/assets/{pascal-KUYgrN-Z.js → pascal-Cd0rtL9J.js} +0 -0
- /package/web/assets/{pascaligo-DQmQJP-r.js → pascaligo-BbE09f5f.js} +0 -0
- /package/web/assets/{perl-09XLBmCS.js → perl-bnuvlUCT.js} +0 -0
- /package/web/assets/{pgsql-BFj9IFFu.js → pgsql-BETeeS25.js} +0 -0
- /package/web/assets/{php-UnC5BqwY.js → php-zaSPUC-m.js} +0 -0
- /package/web/assets/{pla-BFuYrPHG.js → pla-ChOKgzpJ.js} +0 -0
- /package/web/assets/{postiats-n4ft3jnO.js → postiats-By_SllB5.js} +0 -0
- /package/web/assets/{powerquery-D-s-oFSc.js → powerquery-CB5gIeJ1.js} +0 -0
- /package/web/assets/{powershell-CTboTf93.js → powershell-CgdaEQwq.js} +0 -0
- /package/web/assets/{protobuf-Dt62GuJP.js → protobuf-P7fNUpCt.js} +0 -0
- /package/web/assets/{pug-CEFWkUzw.js → pug-DZaxV_Nc.js} +0 -0
- /package/web/assets/{qsharp-B0DUmgPZ.js → qsharp-BdkO9QAN.js} +0 -0
- /package/web/assets/{r-BVnF0c4T.js → r-C-pPWc3R.js} +0 -0
- /package/web/assets/{redis-DLl3KQXi.js → redis-BT1HxrEq.js} +0 -0
- /package/web/assets/{redshift-cif1I7h1.js → redshift-CDnJNPnz.js} +0 -0
- /package/web/assets/{restructuredtext-PNfql36m.js → restructuredtext-Bt8v-MuE.js} +0 -0
- /package/web/assets/{ruby-j3jxDjUN.js → ruby-BLxqHkKg.js} +0 -0
- /package/web/assets/{rust-BaIO-mAt.js → rust-CIh7vugr.js} +0 -0
- /package/web/assets/{sb-D8XNVNUQ.js → sb-eE41pfwD.js} +0 -0
- /package/web/assets/{scala-DiK9Ps90.js → scala-COBuWHwn.js} +0 -0
- /package/web/assets/{scheme-DPKqXHmF.js → scheme-BsGc_ajc.js} +0 -0
- /package/web/assets/{scss-DpMwfP2H.js → scss-DLmucKJk.js} +0 -0
- /package/web/assets/{shared-sse-CTMtESqe.js → shared-sse---by8uTc.js} +0 -0
- /package/web/assets/{shell-Dw9mKVg2.js → shell-8IUXMVcg.js} +0 -0
- /package/web/assets/{solidity-DTxo-7fe.js → solidity-DUTott7T.js} +0 -0
- /package/web/assets/{sophia-BjA3Q87y.js → sophia-GqIrTWz8.js} +0 -0
- /package/web/assets/{sparql-q1EpMUqb.js → sparql-BfkJA0CL.js} +0 -0
- /package/web/assets/{sql-CjcQ4wIr.js → sql-BF_o1CCN.js} +0 -0
- /package/web/assets/{st-AuOpxVl7.js → st-B6_wiXyW.js} +0 -0
- /package/web/assets/{swift-BUWnv6f7.js → swift-BHDD2Ajh.js} +0 -0
- /package/web/assets/{systemverilog-FhXn-3OZ.js → systemverilog-BG_Ebh2a.js} +0 -0
- /package/web/assets/{tcl-B0lqcTtS.js → tcl-ocTQVTM_.js} +0 -0
- /package/web/assets/{twig-B0OeGPVa.js → twig-CF5whnDX.js} +0 -0
- /package/web/assets/{typespec-Bmh6VX11.js → typespec-5BWfbhTE.js} +0 -0
- /package/web/assets/{uuid-Q0SWZmaT.js → uuid-FpfcaBnR.js} +0 -0
- /package/web/assets/{vb-bmgX6veu.js → vb-agPNUcOk.js} +0 -0
- /package/web/assets/{w3c-keyname-2TLn3EjF.js → w3c-keyname-2_K_z_q5.js} +0 -0
- /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-
|
|
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-
|
|
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-
|
|
123
|
+
} from "./chunk-NPORVPEO.js";
|
|
122
124
|
import {
|
|
123
125
|
settingsManager
|
|
124
|
-
} from "./chunk-
|
|
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
|
|
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
|
|
3248
|
+
for await (const chunk2 of stream) {
|
|
3247
3249
|
if (signal?.aborted) return;
|
|
3248
|
-
const text =
|
|
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 = ((
|
|
5107
|
+
stream.write = ((chunk2, encoding, callback) => {
|
|
5106
5108
|
try {
|
|
5107
|
-
const text = typeof
|
|
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(
|
|
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 = (
|
|
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-
|
|
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-
|
|
10567
|
+
//# sourceMappingURL=src-TEL7L4K2.js.map
|