@runeya/runeya 2.0.124 → 2.0.126
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/index.js.map +1 -1
- package/{agent-manager-FZFFWISA.js → agent-manager-QLXVQ7OD.js} +3 -3
- package/{chat-JIJQ7IJS.js → chat-ODBVFMKX.js} +6 -6
- package/{chunk-GKK3ACWB.js → chunk-2EDVDRKV.js} +589 -258
- package/chunk-2EDVDRKV.js.map +1 -0
- package/{chunk-N3ZI35SC.js → chunk-K7A3Q62R.js} +2 -2
- package/{chunk-H22YLVQE.js → chunk-SG2ACPOE.js} +43 -19
- package/chunk-SG2ACPOE.js.map +1 -0
- package/{chunk-T2BV5WZE.js → chunk-TTPL2M74.js} +87 -1
- package/chunk-TTPL2M74.js.map +1 -0
- package/{chunk-4PN7QBNM.js → chunk-WLZQDWJT.js} +6 -2
- package/chunk-WLZQDWJT.js.map +1 -0
- package/{companion-OZODV5BR.js → companion-5DPH3HIO.js} +6 -4
- package/{desktop-launcher-EGGVXXKV.js → desktop-launcher-J2BCSSGZ.js} +2 -2
- package/index.js +4 -4
- package/mcp-server/index.js +1469 -20
- package/mcp-server/index.js.map +1 -1
- package/package.json +1 -1
- package/{settings-manager-MAVD4GAS.js → settings-manager-E3L56VAY.js} +3 -3
- package/{src-SGSG2RSF.js → src-XCI5NILM.js} +245 -54
- package/src-XCI5NILM.js.map +1 -0
- package/web/assets/AgentScalarChatInterface.vue-86061Tlh.js +13 -0
- package/web/assets/AgentTerminalPage-DxGLu5uT.js +1 -0
- package/web/assets/AiChatPage-DmQKv6pr.js +1 -0
- package/web/assets/{AppLayout-vWoE_P8T.css → AppLayout-Do2CLgOr.css} +1 -1
- package/web/assets/AppLayout-DtK_nr-e.js +1 -0
- package/web/assets/AuditPage-CX5VJGlF.js +1 -0
- package/web/assets/CloudAccountPage-B_sjXlfl.js +1 -0
- package/web/assets/CloudAccountPage-ocHdrVEm.js +1 -0
- package/web/assets/CloudMessagingPage-BTfGWio6.js +2 -0
- package/web/assets/DashboardPage-7sATlyhd.js +164 -0
- package/web/assets/DashboardPage-DWA-1xgl.css +1 -0
- package/web/assets/DirectoryPickerDialog-DAJGNiRV.js +1 -0
- package/web/assets/{EditorIcon-BZyy2C12.js → EditorIcon-lzF8hPtZ.js} +2 -2
- package/web/assets/EnvironmentForm-DVWdFsE1.js +108 -0
- package/web/assets/EnvironmentFormPage-DoKBTKCU.js +1 -0
- package/web/assets/EnvironmentListPage-C9wGFZWU.js +1 -0
- package/web/assets/KanbanBoardPage-CoiDga7h.js +4 -0
- package/web/assets/KanbanListPage-xWYUu1P0.js +1 -0
- package/web/assets/LaunchProjectPage-DVXgnUYk.js +1 -0
- package/web/assets/LaunchServicesPage-CPN3Z3m5.css +1 -0
- package/web/assets/LaunchServicesPage-DM6keva3.js +1 -0
- package/web/assets/LogViewer-CMtuP1rB.js +3 -0
- package/web/assets/OrgKeyPrompt-BqVugrV1.js +1 -0
- package/web/assets/{ProcessControls-neMxqIY_.js → ProcessControls-DkaiMo0H.js} +1 -1
- package/web/assets/ProcessDetailPage-DJacy1ZE.js +1 -0
- package/web/assets/{ProcessMetrics-Bb7yNIVd.js → ProcessMetrics-D2lP9cEF.js} +2 -2
- package/web/assets/RandomJobTestPage-BOsChnPH.js +2 -0
- package/web/assets/ScenarioEditorPage-8XSWtwA5.js +14 -0
- package/web/assets/SendToChatDialog-DqPVoUgN.js +1 -0
- package/web/assets/ServiceControlsBar-QwLQLGFP.js +1 -0
- package/web/assets/ServiceControlsBar-lhuSKZqO.css +1 -0
- package/web/assets/ServiceDetailPage-DUw-ZZyD.js +2 -0
- package/web/assets/{ServiceDetailPage-BcFOlsU9.css → ServiceDetailPage-cQNK1uWq.css} +1 -1
- package/web/assets/ServiceFormPage-OYBr0pY4.js +1 -0
- package/web/assets/SettingsPage-BFoWbWhq.js +2063 -0
- package/web/assets/UnlockPage-DgLCLMkg.js +1 -0
- package/web/assets/VaultMigrationPage-C93bZgWb.js +1 -0
- package/web/assets/VersionBadge-2JJyjyFh.js +1 -0
- package/web/assets/WikiPage-DBinkJlt.js +1 -0
- package/web/assets/WikiView-DMyRUz16.js +1 -0
- package/web/assets/add-scalar-classes-C1s53GSo.js +387 -0
- package/web/assets/{autocomplete-BTMTTAk9.js → autocomplete-qVwP27uM.js} +3 -3
- package/web/assets/{basic-shape-diamond.svg-CZQG7mdB.js → basic-shape-diamond.svg-BwZ1Enqo.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-BnLoXUmj.js → basic-shape-hexagon.svg-Cyko19l-.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-DDU6pRYe.js → basic-shape-primary-circle-ellipse-round.svg-CWaxr-XS.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-Dq_Zdck2.js → basic-shape-primary-square-rectangle.svg-BueTJIhO.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-DbFCxPmO.js → basic-shape-shield.svg-DiYXMUMt.js} +1 -1
- package/web/assets/{browser-CTYk99RA.js → browser-72mztbYe.js} +1 -1
- package/web/assets/{browser-DowFjZcI.js → browser-B8wHMk1o.js} +1 -1
- package/web/assets/{card-R4Q2Qr9t.js → card-CRMlmWrt.js} +2 -2
- package/web/assets/{checkbox-CfoV-T17.js → checkbox-BiDvmfqK.js} +3 -3
- package/web/assets/{chip-V3vhLdcF.js → chip-Cb6eK00K.js} +2 -2
- package/web/assets/client-3Q_o9QCm.js +24 -0
- package/web/assets/cloud-chat.store-DIxQd2ew.js +1 -0
- package/web/assets/cloud-client-Idzdbhu6.js +1 -0
- package/web/assets/cloud-session-CIGp7324.js +2 -0
- package/web/assets/cloud-session-Cj_Q0hKS.js +1 -0
- package/web/assets/column-4DnT4nYp.js +763 -0
- package/web/assets/{computer-device-desktop-monitor.svg-CRLfD7-U.js → computer-device-desktop-monitor.svg-DkL4R6oe.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-CGKq4iih.js → computer-device-desktop.svg-DXRQ2Wl4.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-bmeM_RDO.js → computer-device-laptop.svg-BwdMHvul.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CFwMSjoP.js → computer-device-mobile-phone-android-samsung-back.svg-CzfVICvS.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-iIOhGZVY.js → computer-device-mobile-phone-android-samsung.svg-5mcZzPvQ.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-CLqnsMnT.js → computer-device-mobile-phone-iphone-x-back.svg-CovJE-GH.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-XECS9ZDX.js → computer-device-mobile-phone-iphone-x.svg-PgDuCiQq.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-CUR9IhGB.js → computer-device-mobile-tablet-touch.svg-1xFu6tBt.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-BJGisjBt.js → computer-device-mobile-tablet.svg-lvKpoZnh.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-DzgiswAZ.js → computer-device-network-ethernet-cat6.svg-BJ6jNe-4.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-Dr1frFpv.js → computer-device-network-lan-www.svg-D2V9EO5w.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-DSj6qxT1.js → computer-device-network-wifi-connection.svg-DhFLYNK0.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-8lGzw_-s.js → computer-device-network-wifi-router.svg-BGWV2N2B.js} +1 -1
- package/web/assets/{cssMode-sBjZEJAf.js → cssMode-Q_UQl6r1.js} +1 -1
- package/web/assets/{divider-p4BForJk.js → divider-D2zmU0b9.js} +2 -2
- package/web/assets/{docx-preview-D-bfEEBT.js → docx-preview-CAEo0pZg.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-DhxVJRJ1.js → ecology-science-erlenmeyer-flask.svg-D4Cb7DOj.js} +1 -1
- package/web/assets/{fieldset-CCZ1tJUm.js → fieldset-CvPPXvgb.js} +2 -2
- package/web/assets/{freemarker2-C8iPD1fo.js → freemarker2-CCRi9jHA.js} +1 -1
- package/web/assets/{handlebars-BbBZAhwL.js → handlebars-4FU6Ze_N.js} +1 -1
- package/web/assets/{html-BQ_SV3Jd.js → html-1I40tTPC.js} +1 -1
- package/web/assets/{htmlMode-DReHoZFB.js → htmlMode-DQrNrxvx.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-DbKHX2c2.js → image-flash-lightning.svg-Bh48o-tL.js} +1 -1
- package/web/assets/{image-picture-flower.svg-CEpqP8le.js → image-picture-flower.svg-CE0C3oid.js} +1 -1
- package/web/assets/{index-PMr5ScNs.js → index-SrQFBx_K.js} +36 -36
- package/web/assets/{interface-alert-exclamation-diamond.svg-CoNNtahD.js → interface-alert-exclamation-diamond.svg-Dzt9JrNZ.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-BHa7AW0u.js → interface-alert-exclamation-triangle-warning.svg-CET5JCIK.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-CpRzO-l8.js → interface-alert-information-circle.svg-GX_R0hCS.js} +1 -1
- package/web/assets/{interface-award-crown.svg-BFOXAZFu.js → interface-award-crown.svg-BUS_3snr.js} +1 -1
- package/web/assets/{interface-bookmark.svg-DulnuoPg.js → interface-bookmark-tag.svg-GOtO3ous.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-DpZGlSV4.js → interface-bookmark.svg-B1HfpZ9v.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-CWQHbXWQ.js → interface-calendar-date-one.svg-W8G2NQFL.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-BH97UDUJ.js → interface-content-book-open-pages.svg-0dUMuEJV.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-DmnJkpeN.js → interface-content-book-page.svg-BZ9dLtQQ.js} +1 -1
- package/web/assets/{interface-content-file.svg-DkouOQzj.js → interface-content-file.svg-C5JU1QaC.js} +1 -1
- package/web/assets/interface-content-folder.svg-BZAP22kT.js +1 -0
- package/web/assets/{interface-content-folder.svg-DK2esxIw.js → interface-content-folder.svg-DeWnODx9.js} +1 -1
- package/web/assets/{interface-copy-clipboard.svg-DuwyZprv.js → interface-copy-clipboard.svg-DneOONZN.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-C4lXPh7a.js → interface-edit-attachment.svg-BUDutqFa.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-CuA4f4ED.js → interface-edit-binocular.svg-DQ_sVWUa.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-D-Cc4zpI.js → interface-edit-magic-wand.svg-BqDEUbja.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-MtAeMQ6k.js → interface-edit-tool-paint-roller.svg-CcbJr-sE.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-ZAP8C3Sw.js → interface-edit-tool-pencil.svg-Dlmq9sMb.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-DRZh5var.js → interface-favorite-award.svg-CfRf16yB.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-Dy0qBZak.js → interface-favorite-flag.svg-BeXa9l_o.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-Cjxi5AEp.js → interface-favorite-heart.svg-DWDXtfc-.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-B1OPbNTd.js → interface-favorite-star.svg-D0my2O2z.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-CvnZTUkf.js → interface-favorite-stars-sparkles.svg-DwnkpORM.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-GGCH0pvQ.js → interface-hierarchy-flowchart.svg-BS1qAEvQ.js} +1 -1
- package/web/assets/{interface-home-house.svg-DB_dC7eo.js → interface-home-house.svg-ByCGOgtp.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-LlMqAHmb.js → interface-hyperlink.svg-D0RP2diO.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-DutEgNfQ.js → interface-lighting-brightness.svg-B7Wir9fI.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-DteyBWrL.js → interface-lock-closed.svg-D93wzWGY.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-D2g-W1Mn.js → interface-lock-open-unlock.svg-CEbreK15.js} +1 -1
- package/web/assets/{interface-login-key.svg-Dk1JjhYH.js → interface-login-key.svg-a_CUiiRx.js} +1 -1
- package/web/assets/{interface-search.svg-CDHAdhLc.js → interface-search.svg-CP6bN80a.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-BXKxgm-B.js → interface-setting-cog.svg-C1yqB1H3.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-Fq3c3_sE.js → interface-share-megaphone-bullhorn.svg-BpEzN7dc.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-BBIuiQ8_.js → interface-share-rocket.svg-CZTpH2do.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-LZRzoY-Y.js → interface-share-satellite.svg-CDpvXyTq.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-C6EewxDh.js → interface-share-space-ship.svg-QXv4WQWa.js} +1 -1
- package/web/assets/{interface-share.svg-Bj60UW_t.js → interface-share.svg-DO9f8_w3.js} +1 -1
- package/web/assets/{interface-signal-square.svg-wJGg3ZJ7.js → interface-signal-square.svg-Dpbb94dT.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-C2Ki_bgh.js → interface-time-clock-circle.svg-BOM8J4p-.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-BeaTe2YW.js → interface-time-hour-glass.svg-B4wmuGrS.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-ZNPhOLEJ.js → interface-users-multiple.svg-CX6Z1IAw.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-CzOxK1E2.js → interface-weather-moon.svg-VjaROepI.js} +1 -1
- package/web/assets/{javascript-CV2jmATe.js → javascript-dnJjMqJl.js} +1 -1
- package/web/assets/{jsonMode-BpNATOZn.js → jsonMode-DIklAZzl.js} +2 -2
- package/web/assets/{liquid-Bkbhlfu6.js → liquid-DM3-T0fg.js} +1 -1
- package/web/assets/{lspLanguageFeatures-BIiCr6WR.js → lspLanguageFeatures-DtduOI48.js} +3 -3
- package/web/assets/{mail-chat-bubble-square.svg-B-R9ItyG.js → mail-chat-bubble-square.svg-BtQmLgyl.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-F4sC3JuQ.js → mail-send-email-paper-airplane.svg-DBzfHbzK.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-BaE9bGol.js → mail-send-envelope.svg-ByoaJJai.js} +1 -1
- package/web/assets/{mdx-CsTzsRLc.js → mdx-COmjqkAf.js} +1 -1
- package/web/assets/{minus-CsIPqtIl.js → minus-CLTSMcUf.js} +2 -2
- package/web/assets/modal-BaVGcm8s.js +1 -0
- package/web/assets/modal-Cl434j6P.js +5 -0
- package/web/assets/{money-cashier-receipt.svg-C8rqn3qa.js → money-cashier-receipt.svg-D3I5UkrO.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-BW5dnMxx.js → money-currency-dollar-pay.svg-BEt_zoFT.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-fHNc8kor.js → money-graph-arrow-increase.svg-BFgo8Syp.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-65H_xZ15.js → money-graph-bar-chart-increase.svg-BPBRyqtM.js} +1 -1
- package/web/assets/{multiselect-Z0owdrkn.js → multiselect-Bd1n3-4t.js} +3 -3
- package/web/assets/{nature-ecology-leaf.svg-BIZVZEYz.js → nature-ecology-leaf.svg-DCIaflet.js} +1 -1
- package/web/assets/{password-Be5EVCzq.js → password-kxqyN9bC.js} +4 -4
- package/web/assets/{phone-telephone.svg-B1dHjXge.js → phone-telephone.svg-_P3X_Fym.js} +1 -1
- package/web/assets/{plus-BY4yX4ZS.js → plus-Cs39ICwL.js} +6 -6
- package/web/assets/process.store-m5afcW9w.js +1 -0
- package/web/assets/{programming-bug.svg-DJHBIgCF.js → programming-bug.svg-BGbIcZnS.js} +1 -1
- package/web/assets/{programming-cloud.svg-26MWe8cC.js → programming-cloud.svg-8TyU38aV.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-Dy7gdMab.js → programming-computer-database-server.svg-DBxTrFCn.js} +1 -1
- package/web/assets/{programming-computer-database.svg-3HsFit56.js → programming-computer-database.svg-Bi3RBUmB.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-CLumiwsC.js → programming-module-four-layout.svg-BicMHalL.js} +1 -1
- package/web/assets/{programming-module-three.svg-3DvVSvY_.js → programming-module-three.svg-D13tfKhT.js} +1 -1
- package/web/assets/{programming-module.svg-CgtgW8TW.js → programming-module.svg-HJDv8jeZ.js} +1 -1
- package/web/assets/{programming-script-code.svg-DdeXzy2-.js → programming-script-code.svg-oXFzvCKr.js} +1 -1
- package/web/assets/project-launch.store-Cgu622KX.js +1 -0
- package/web/assets/project.store-CM-kT9-z.js +1 -0
- package/web/assets/{python-YqWM3LFr.js → python-ejRXAr81.js} +1 -1
- package/web/assets/{radiobutton-Pm1c37Fw.js → radiobutton-BWBirQno.js} +2 -2
- package/web/assets/{razor-BtNiyC__.js → razor-CbzUoARP.js} +1 -1
- package/web/assets/router-o5ycRaEE.js +1 -0
- package/web/assets/settings-scope-CSLK3J2k.js +1 -0
- package/web/assets/settings.store-DDQmm1ig.js +1 -0
- package/web/assets/{shopping-cart.svg-ejbEU5yG.js → shopping-cart.svg-DL2Mf0BX.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-RLuyvmga.js → shopping-gift-present.svg-keqzudV3.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-0GduEUbl.js → shopping-shipping-box-parcel-package.svg-BZ0Ri9AV.js} +1 -1
- package/web/assets/src-C1fYy9Ht.js +572 -0
- package/web/assets/src-DnhPQBBB.js +1 -0
- package/web/assets/{tabpanel-CssLXh-h.js → tabpanel-Bdw_XASI.js} +3 -3
- package/web/assets/{tag-new-circle.svg-CEdgH15R.js → tag-new-circle.svg-7tUBDDe7.js} +1 -1
- package/web/assets/theme-COzp71lh.js +1 -0
- package/web/assets/{toggleswitch-CEiGEBl3.js → toggleswitch-BhJmSx1t.js} +2 -2
- package/web/assets/{travel-map-earth-globe.svg-Dmwx1Lus.js → travel-map-earth-globe.svg-CfJb5_3k.js} +1 -1
- package/web/assets/trpc-Bn_6G8HK.js +1 -0
- package/web/assets/{tsMode-DpPT4F6s.js → tsMode-D5Gulgwd.js} +5 -5
- package/web/assets/{typescript-DoO0syM1.js → typescript-B73-3GtI.js} +1 -1
- package/web/assets/useAiChatDrawer-QOflawaX.js +1 -0
- package/web/assets/useCloudOrg-BZNmQ2Ek.js +1 -0
- package/web/assets/useEnvVarAutocomplete-DAxcV0jl.js +1 -0
- package/web/assets/useProjectCatalog-8u5wFtf-.js +1 -0
- package/web/assets/{useProjectCloudOrg-CG7seJKu.js → useProjectCloudOrg-Bkja4sed.js} +1 -1
- package/web/assets/useServiceUrlHost-biHEzQVv.js +1 -0
- package/web/assets/{xml-FoCdWVvH.js → xml-Mkua9fdo.js} +1 -1
- package/web/assets/{yaml-CgRsanOy.js → yaml-BP9pkdmT.js} +1 -1
- package/web/index.html +1 -1
- package/chunk-4PN7QBNM.js.map +0 -1
- package/chunk-GKK3ACWB.js.map +0 -1
- package/chunk-H22YLVQE.js.map +0 -1
- package/chunk-T2BV5WZE.js.map +0 -1
- package/src-SGSG2RSF.js.map +0 -1
- package/web/assets/AgentScalarChatInterface.vue-Bv7WQetq.js +0 -13
- package/web/assets/AgentTerminalPage-CMA5oI2T.js +0 -1
- package/web/assets/AiChatPage-C0Ho1rG3.js +0 -1
- package/web/assets/AppLayout-DBKRAp0R.js +0 -1
- package/web/assets/AuditPage-fZVhSJlE.js +0 -1
- package/web/assets/CloudAccountPage-2LiTQCKr.js +0 -1
- package/web/assets/CloudAccountPage-CunPTy1b.js +0 -1
- package/web/assets/CloudMessagingPage-DWciFn32.js +0 -2
- package/web/assets/DashboardPage-3psdQljM.js +0 -164
- package/web/assets/DashboardPage-DFaiJ4c-.css +0 -1
- package/web/assets/DirectoryPickerDialog-DiiAUQKg.js +0 -1
- package/web/assets/EnvironmentForm-MRC8U5op.js +0 -108
- package/web/assets/EnvironmentFormPage-gd8fGS8P.js +0 -1
- package/web/assets/EnvironmentListPage-DgbclvZs.js +0 -1
- package/web/assets/KanbanBoardPage-BBT0gqjT.js +0 -4
- package/web/assets/KanbanListPage-CidIQgAq.js +0 -1
- package/web/assets/LaunchProjectPage-DBtkrI-A.js +0 -1
- package/web/assets/LaunchServicesPage-DdmfVxYL.js +0 -1
- package/web/assets/LaunchServicesPage-zR9FoF4q.css +0 -1
- package/web/assets/LogViewer-CvDPgFjq.js +0 -3
- package/web/assets/OrgKeyPrompt-D3RmJEtb.js +0 -1
- package/web/assets/ProcessDetailPage-Dj0L8Jz0.js +0 -1
- package/web/assets/RandomJobTestPage-ohHAOaio.js +0 -2
- package/web/assets/ScenarioEditorPage-BIcmG3wo.js +0 -14
- package/web/assets/SendToChatDialog-oi4KFAVq.js +0 -1
- package/web/assets/ServiceControlsBar-BtnWYJmp.css +0 -1
- package/web/assets/ServiceControlsBar-GgoPszoH.js +0 -1
- package/web/assets/ServiceDetailPage-CIDlO0iu.js +0 -2
- package/web/assets/ServiceFormPage-p3AUhHLN.js +0 -1
- package/web/assets/SettingsPage-B_heumvd.js +0 -2063
- package/web/assets/UnlockPage-nz_1VQWy.js +0 -1
- package/web/assets/VaultMigrationPage-B_nZC8Cc.js +0 -1
- package/web/assets/VersionBadge-DJJK7bgD.js +0 -1
- package/web/assets/WikiPage-DiCUjWEu.js +0 -1
- package/web/assets/WikiView-vYMnLt41.js +0 -1
- package/web/assets/add-scalar-classes-_7NDhIUO.js +0 -387
- package/web/assets/client-DHQNUKOx.js +0 -24
- package/web/assets/cloud-chat.store-CaSRn8Mg.js +0 -1
- package/web/assets/cloud-client-CzGojtBl.js +0 -1
- package/web/assets/cloud-session-D71P4F3g.js +0 -2
- package/web/assets/cloud-session-DlLnrwVQ.js +0 -1
- package/web/assets/column-CjJa3tsz.js +0 -763
- package/web/assets/interface-content-folder.svg-BLBb2W1v.js +0 -1
- package/web/assets/modal-B_0-h4nC.js +0 -1
- package/web/assets/modal-KwmdNF_4.js +0 -5
- package/web/assets/process.store-B-PvNJQb.js +0 -1
- package/web/assets/project-launch.store-DtFeb4vv.js +0 -1
- package/web/assets/project.store-DcaBpnnB.js +0 -1
- package/web/assets/router-DnVYXVMw.js +0 -1
- package/web/assets/settings-scope-DR8NUZr5.js +0 -1
- package/web/assets/settings.store-CniuNQ3t.js +0 -1
- package/web/assets/src-BS3JGGS_.js +0 -1
- package/web/assets/src-BzZzroPd.js +0 -572
- package/web/assets/theme-C7HVmgEO.js +0 -1
- package/web/assets/trpc-C6zILEMh.js +0 -1
- package/web/assets/useAiChatDrawer-CnrYG1GW.js +0 -1
- package/web/assets/useCloudOrg-DWmP9gqs.js +0 -1
- package/web/assets/useEnvVarAutocomplete-Dkx7Cn9l.js +0 -1
- package/web/assets/useProjectCatalog-Cu3VZu2F.js +0 -1
- package/web/assets/useServiceUrlHost-ADKWqhx0.js +0 -1
- /package/{settings-manager-MAVD4GAS.js.map → agent-manager-QLXVQ7OD.js.map} +0 -0
- /package/{companion-OZODV5BR.js.map → chat-ODBVFMKX.js.map} +0 -0
- /package/{chunk-N3ZI35SC.js.map → chunk-K7A3Q62R.js.map} +0 -0
- /package/{chat-JIJQ7IJS.js.map → companion-5DPH3HIO.js.map} +0 -0
- /package/{desktop-launcher-EGGVXXKV.js.map → desktop-launcher-J2BCSSGZ.js.map} +0 -0
- /package/{agent-manager-FZFFWISA.js.map → settings-manager-E3L56VAY.js.map} +0 -0
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
settingsManager
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-K7A3Q62R.js";
|
|
4
4
|
import "./chunk-HK5QNU6P.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-TTPL2M74.js";
|
|
6
6
|
import "./chunk-ZFELQG4B.js";
|
|
7
7
|
export {
|
|
8
8
|
settingsManager
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=settings-manager-
|
|
10
|
+
//# sourceMappingURL=settings-manager-E3L56VAY.js.map
|
|
@@ -17,7 +17,9 @@ import {
|
|
|
17
17
|
apiKeyStore,
|
|
18
18
|
appVersion,
|
|
19
19
|
applyPersistedLanMode,
|
|
20
|
+
attachServiceToProject,
|
|
20
21
|
auditService,
|
|
22
|
+
buildServerBuiltins,
|
|
21
23
|
canEnvAction,
|
|
22
24
|
chatRouter,
|
|
23
25
|
cloudAuthRouter,
|
|
@@ -29,6 +31,7 @@ import {
|
|
|
29
31
|
environmentResolver,
|
|
30
32
|
executeKanbanBoardCommands,
|
|
31
33
|
executeKanbanCommands,
|
|
34
|
+
filterEnvForAi,
|
|
32
35
|
generateLlmsTxt,
|
|
33
36
|
getActiveProvider,
|
|
34
37
|
getAllowedServiceIds,
|
|
@@ -62,7 +65,7 @@ import {
|
|
|
62
65
|
soleAccountScope,
|
|
63
66
|
startCliSession,
|
|
64
67
|
vaultOfProject
|
|
65
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-2EDVDRKV.js";
|
|
66
69
|
import {
|
|
67
70
|
resolveCliInvocation,
|
|
68
71
|
whichCommand
|
|
@@ -85,7 +88,7 @@ import {
|
|
|
85
88
|
stopClaudeTranscriptWatcher,
|
|
86
89
|
stopCodexTranscriptWatcher,
|
|
87
90
|
verifyJwt
|
|
88
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-SG2ACPOE.js";
|
|
89
92
|
import "./chunk-MD3VW4HQ.js";
|
|
90
93
|
import {
|
|
91
94
|
agentManager,
|
|
@@ -127,10 +130,10 @@ import {
|
|
|
127
130
|
stableEncryptValue,
|
|
128
131
|
traefikManager,
|
|
129
132
|
unregisterInstance
|
|
130
|
-
} from "./chunk-
|
|
133
|
+
} from "./chunk-WLZQDWJT.js";
|
|
131
134
|
import {
|
|
132
135
|
settingsManager
|
|
133
|
-
} from "./chunk-
|
|
136
|
+
} from "./chunk-K7A3Q62R.js";
|
|
134
137
|
import {
|
|
135
138
|
atomicWriteSecure,
|
|
136
139
|
resolveConversationRunDir,
|
|
@@ -160,16 +163,19 @@ import {
|
|
|
160
163
|
UpdateEnvironmentSchema,
|
|
161
164
|
VariableOverrideSchema,
|
|
162
165
|
VariableSchema,
|
|
166
|
+
VariableSlotSchema,
|
|
163
167
|
ambiguousServiceSlugs,
|
|
164
168
|
crossServiceSlugsIn,
|
|
165
169
|
deriveLauncherIdentity,
|
|
170
|
+
findUnresolvedReferences,
|
|
166
171
|
getCollection,
|
|
167
172
|
nativeParsers,
|
|
168
173
|
primaryServiceLink,
|
|
169
174
|
readEntity,
|
|
170
175
|
serviceSlug,
|
|
176
|
+
suggestBuiltinReferences,
|
|
171
177
|
writeEntity
|
|
172
|
-
} from "./chunk-
|
|
178
|
+
} from "./chunk-TTPL2M74.js";
|
|
173
179
|
import {
|
|
174
180
|
allVaultRoots,
|
|
175
181
|
env,
|
|
@@ -943,27 +949,10 @@ var projectRouter = router({
|
|
|
943
949
|
orgId: z4.string().max(128).nullable().optional(),
|
|
944
950
|
serviceId: z4.string().max(128)
|
|
945
951
|
})).mutation(async ({ input }) => {
|
|
946
|
-
const
|
|
947
|
-
const project = await projectStore.addService(target, input.serviceId);
|
|
952
|
+
const project = await attachServiceToProject({ id: input.projectId, orgId: input.orgId }, input.serviceId);
|
|
948
953
|
if (!project) {
|
|
949
954
|
throw new TRPCError2({ code: "NOT_FOUND", message: `Project ${input.projectId} not found` });
|
|
950
955
|
}
|
|
951
|
-
const service = await serviceStore.get(input.serviceId);
|
|
952
|
-
if (service) {
|
|
953
|
-
const globalEnvs = await environmentStore.listByScope(input.projectId, "global", input.orgId);
|
|
954
|
-
for (const globalEnv of globalEnvs) {
|
|
955
|
-
const svcEnv = await environmentStore.create({
|
|
956
|
-
projectId: input.projectId,
|
|
957
|
-
name: `${service.name} (${globalEnv.name})`,
|
|
958
|
-
scope: "service",
|
|
959
|
-
reference: input.serviceId,
|
|
960
|
-
activateOn: globalEnv.id,
|
|
961
|
-
parentIds: [globalEnv.id],
|
|
962
|
-
variables: {}
|
|
963
|
-
}, input.orgId);
|
|
964
|
-
await projectStore.addEnvironment(target, svcEnv.id);
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
956
|
await auditService.log({
|
|
968
957
|
userId: "local",
|
|
969
958
|
action: "update",
|
|
@@ -1926,8 +1915,86 @@ var setupRouter = router({
|
|
|
1926
1915
|
});
|
|
1927
1916
|
|
|
1928
1917
|
// ../server/src/trpc/routers/environment.ts
|
|
1918
|
+
import { randomUUID } from "crypto";
|
|
1929
1919
|
import { z as z9 } from "zod";
|
|
1930
1920
|
import { TRPCError as TRPCError6 } from "@trpc/server";
|
|
1921
|
+
|
|
1922
|
+
// ../server/src/services/ai-variable-write.ts
|
|
1923
|
+
var AiVariableWriteError = class extends Error {
|
|
1924
|
+
};
|
|
1925
|
+
function planAiVariableWrite(existing, input) {
|
|
1926
|
+
if (!existing) {
|
|
1927
|
+
return {
|
|
1928
|
+
key: input.key,
|
|
1929
|
+
value: VariableSlotSchema.parse({
|
|
1930
|
+
value: input.value ?? "",
|
|
1931
|
+
...input.pre !== void 0 ? { pre: input.pre } : {},
|
|
1932
|
+
...input.post !== void 0 ? { post: input.post } : {},
|
|
1933
|
+
isSecret: input.isSecret ?? false,
|
|
1934
|
+
...input.description !== void 0 ? { description: input.description } : {}
|
|
1935
|
+
})
|
|
1936
|
+
};
|
|
1937
|
+
}
|
|
1938
|
+
const slot = existing.value;
|
|
1939
|
+
if (slot.isSecret && input.isSecret === false) {
|
|
1940
|
+
throw new AiVariableWriteError(`${input.key} is a secret: an AI cannot make it public. Ask the user to change it in Runeya.`);
|
|
1941
|
+
}
|
|
1942
|
+
if (slot.overrideOnly && input.value !== void 0) {
|
|
1943
|
+
throw new AiVariableWriteError(`${input.key} is override-only: it has no shared value, each machine sets its own. Ask the user to fill it in Runeya.`);
|
|
1944
|
+
}
|
|
1945
|
+
return {
|
|
1946
|
+
key: existing.key,
|
|
1947
|
+
value: {
|
|
1948
|
+
...slot,
|
|
1949
|
+
...input.value !== void 0 ? { value: input.value } : {},
|
|
1950
|
+
...input.pre !== void 0 ? { pre: input.pre } : {},
|
|
1951
|
+
...input.post !== void 0 ? { post: input.post } : {},
|
|
1952
|
+
...input.isSecret ? { isSecret: true } : {},
|
|
1953
|
+
...input.description !== void 0 ? { description: input.description } : {}
|
|
1954
|
+
}
|
|
1955
|
+
};
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
// ../server/src/services/ai-environments.ts
|
|
1959
|
+
function describeEnvironmentsForAi(environments, context) {
|
|
1960
|
+
return environments.map((env2) => {
|
|
1961
|
+
const scope = env2.scope ?? "global";
|
|
1962
|
+
return {
|
|
1963
|
+
id: env2.id,
|
|
1964
|
+
name: env2.name,
|
|
1965
|
+
scope,
|
|
1966
|
+
active: env2.id === context.activeEnvironmentId,
|
|
1967
|
+
parentIds: env2.parentIds ?? [],
|
|
1968
|
+
...scope === "service" && env2.reference ? { serviceId: env2.reference } : {},
|
|
1969
|
+
...scope === "service" && env2.reference && context.serviceNames[env2.reference] ? { serviceName: context.serviceNames[env2.reference] } : {},
|
|
1970
|
+
...env2.activateOn ? { activateOn: env2.activateOn } : {},
|
|
1971
|
+
...scope === "service" && env2.activateOn ? { isolated: !(env2.parentIds ?? []).includes(env2.activateOn) } : {},
|
|
1972
|
+
variables: Object.values(env2.variables ?? {}).map((v) => ({
|
|
1973
|
+
key: v.key,
|
|
1974
|
+
secret: v.value.isSecret,
|
|
1975
|
+
required: v.value.required,
|
|
1976
|
+
overrideOnly: v.value.overrideOnly,
|
|
1977
|
+
...v.value.description ? { description: v.value.description } : {}
|
|
1978
|
+
}))
|
|
1979
|
+
};
|
|
1980
|
+
});
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
// ../server/src/trpc/routers/environment.ts
|
|
1984
|
+
async function builtinsForEnvironment(environment) {
|
|
1985
|
+
const project = await projectStore.get(environmentStore.projectRefOf(environment) ?? environment.projectId);
|
|
1986
|
+
if (!project) return {};
|
|
1987
|
+
const services = (await Promise.all(project.serviceIds.map((id) => serviceStore.get(id)))).filter((service) => service !== null);
|
|
1988
|
+
const own = environment.scope === "service" ? services.find((service) => service.id === environment.reference) : void 0;
|
|
1989
|
+
const subject = own ?? services[0];
|
|
1990
|
+
if (!subject) return {};
|
|
1991
|
+
const values = buildServerBuiltins({
|
|
1992
|
+
service: subject,
|
|
1993
|
+
siblings: services.filter((service) => service.id !== subject.id),
|
|
1994
|
+
host: env.HOST
|
|
1995
|
+
});
|
|
1996
|
+
return own ? values : Object.fromEntries(Object.entries(values).filter(([name]) => name.startsWith("services.")));
|
|
1997
|
+
}
|
|
1931
1998
|
var environmentRouter = router({
|
|
1932
1999
|
list: protectedProcedure.input(z9.object({
|
|
1933
2000
|
projectId: z9.string().max(128),
|
|
@@ -2138,6 +2205,130 @@ var environmentRouter = router({
|
|
|
2138
2205
|
if (!result) throw new TRPCError6({ code: "INTERNAL_SERVER_ERROR", message: "Failed to update variable" });
|
|
2139
2206
|
return result;
|
|
2140
2207
|
}),
|
|
2208
|
+
/**
|
|
2209
|
+
* Les environnements d'un projet pour une IA : où ranger une variable, qui
|
|
2210
|
+
* hérite de qui, lequel est actif — sans aucune valeur (`describeEnvironmentsForAi`).
|
|
2211
|
+
* Une clé d'API n'y voit que les environnements qu'elle peut lire.
|
|
2212
|
+
*/
|
|
2213
|
+
listForAi: protectedProcedure.input(z9.object({
|
|
2214
|
+
projectId: z9.string().max(128),
|
|
2215
|
+
orgId: z9.string().max(128).nullable().optional()
|
|
2216
|
+
})).query(async ({ input, ctx }) => {
|
|
2217
|
+
const project = await projectStore.get({
|
|
2218
|
+
id: input.projectId,
|
|
2219
|
+
...input.orgId !== void 0 ? { orgId: input.orgId } : {}
|
|
2220
|
+
});
|
|
2221
|
+
if (!project) throw new TRPCError6({ code: "NOT_FOUND", message: `Project ${input.projectId} not found` });
|
|
2222
|
+
const environments = (await environmentStore.list(input.projectId, input.orgId)).filter((env2) => canEnvAction(ctx, env2.id, "env:read"));
|
|
2223
|
+
const serviceNames = {};
|
|
2224
|
+
for (const serviceId of project.serviceIds) {
|
|
2225
|
+
const service = await serviceStore.get(serviceId);
|
|
2226
|
+
if (service) serviceNames[serviceId] = service.name;
|
|
2227
|
+
}
|
|
2228
|
+
return describeEnvironmentsForAi(environments, { activeEnvironmentId: project.activeEnvironmentId, serviceNames });
|
|
2229
|
+
}),
|
|
2230
|
+
/**
|
|
2231
|
+
* Ce que produit un environnement seul, parents et surcharges du poste
|
|
2232
|
+
* compris, tel qu'une IA peut le lire : secrets non partagés masqués par le
|
|
2233
|
+
* même filtre que `service.getEnv`. Les variables intégrées ne sont pas
|
|
2234
|
+
* remplies — elles dépendent du service qui les reçoit — mais une référence
|
|
2235
|
+
* qui ne correspond à rien est nommée.
|
|
2236
|
+
*/
|
|
2237
|
+
resolveForAi: protectedProcedure.input(z9.object({ environmentId: z9.string().max(128) })).query(async ({ input, ctx }) => {
|
|
2238
|
+
requireEnvAction(ctx, input.environmentId, "env:read");
|
|
2239
|
+
const env2 = await environmentStore.get(input.environmentId);
|
|
2240
|
+
if (!env2) throw new TRPCError6({ code: "NOT_FOUND", message: `Environment ${input.environmentId} not found` });
|
|
2241
|
+
const [resolved, shared] = await Promise.all([
|
|
2242
|
+
environmentResolver.resolveEnvironment(input.environmentId),
|
|
2243
|
+
environmentResolver.resolveAiSharedKeys(input.environmentId)
|
|
2244
|
+
]);
|
|
2245
|
+
const filtered = filterEnvForAi(resolved, shared);
|
|
2246
|
+
return {
|
|
2247
|
+
environmentId: env2.id,
|
|
2248
|
+
name: env2.name,
|
|
2249
|
+
scope: env2.scope ?? "global",
|
|
2250
|
+
...filtered,
|
|
2251
|
+
unresolvedReferences: findUnresolvedReferences(resolved.env, { serverResolved: false, skipKeys: filtered.hiddenKeys })
|
|
2252
|
+
};
|
|
2253
|
+
}),
|
|
2254
|
+
/**
|
|
2255
|
+
* Écrire une variable pour le compte d'une IA, désignée par son nom.
|
|
2256
|
+
*
|
|
2257
|
+
* La route des outils IA (`set_environment_variable`) : les règles de
|
|
2258
|
+
* `planAiVariableWrite` y tiennent quel que soit l'appelant — une IA ne rend
|
|
2259
|
+
* pas un secret public et ne le partage jamais avec les IA. La réponse ne
|
|
2260
|
+
* porte aucune valeur : ce qui vient d'être écrit peut être un secret.
|
|
2261
|
+
*/
|
|
2262
|
+
setVariableBlind: protectedProcedure.input(z9.object({
|
|
2263
|
+
environmentId: z9.string().max(128),
|
|
2264
|
+
key: z9.string().min(1).max(256),
|
|
2265
|
+
value: z9.string().max(8192).optional(),
|
|
2266
|
+
pre: z9.string().max(8192).optional(),
|
|
2267
|
+
post: z9.string().max(8192).optional(),
|
|
2268
|
+
isSecret: z9.boolean().optional(),
|
|
2269
|
+
description: z9.string().max(2e3).optional()
|
|
2270
|
+
})).mutation(async ({ input, ctx }) => {
|
|
2271
|
+
requireEnvAction(ctx, input.environmentId, "env:write");
|
|
2272
|
+
const env2 = await environmentStore.get(input.environmentId);
|
|
2273
|
+
if (!env2) throw new TRPCError6({ code: "NOT_FOUND", message: `Environment ${input.environmentId} not found` });
|
|
2274
|
+
const found = Object.entries(env2.variables).find(([, v]) => v.key === input.key);
|
|
2275
|
+
const variableId = found?.[0] ?? randomUUID();
|
|
2276
|
+
let variable;
|
|
2277
|
+
try {
|
|
2278
|
+
variable = planAiVariableWrite(found?.[1], input);
|
|
2279
|
+
} catch (err) {
|
|
2280
|
+
if (err instanceof AiVariableWriteError) throw new TRPCError6({ code: "FORBIDDEN", message: err.message });
|
|
2281
|
+
throw err;
|
|
2282
|
+
}
|
|
2283
|
+
const result = await environmentStore.upsertVariable(input.environmentId, variableId, variable);
|
|
2284
|
+
if (!result) throw new TRPCError6({ code: "INTERNAL_SERVER_ERROR", message: "Failed to write variable" });
|
|
2285
|
+
const written = `${variable.value.pre}${variable.value.value}${variable.value.post}`;
|
|
2286
|
+
let suggestions = [];
|
|
2287
|
+
if (!variable.value.isSecret) {
|
|
2288
|
+
try {
|
|
2289
|
+
suggestions = suggestBuiltinReferences(written, await builtinsForEnvironment(env2));
|
|
2290
|
+
} catch (err) {
|
|
2291
|
+
console.warn("[environment-router] Built-in suggestions unavailable for", input.environmentId + ":", err.message);
|
|
2292
|
+
}
|
|
2293
|
+
}
|
|
2294
|
+
return {
|
|
2295
|
+
environmentId: input.environmentId,
|
|
2296
|
+
variableId,
|
|
2297
|
+
key: variable.key,
|
|
2298
|
+
isSecret: variable.value.isSecret,
|
|
2299
|
+
created: !found,
|
|
2300
|
+
...suggestions.length > 0 ? { suggestions } : {}
|
|
2301
|
+
};
|
|
2302
|
+
}),
|
|
2303
|
+
/**
|
|
2304
|
+
* L'interrupteur « Hérite / Isolé » d'un environnement de service, pour une
|
|
2305
|
+
* IA : le même geste que l'interface (`ServiceConfigEnv.vue`, `toggleInheritance`)
|
|
2306
|
+
* — ses parents vidés, ou remis à l'environnement global qui l'active. Par
|
|
2307
|
+
* une route dédiée parce que `update` rend l'environnement entier, valeurs
|
|
2308
|
+
* comprises.
|
|
2309
|
+
*/
|
|
2310
|
+
setInheritanceBlind: protectedProcedure.input(z9.object({ environmentId: z9.string().max(128), inherit: z9.boolean() })).mutation(async ({ input, ctx }) => {
|
|
2311
|
+
requireEnvAction(ctx, input.environmentId, "env:write");
|
|
2312
|
+
const env2 = await environmentStore.get(input.environmentId);
|
|
2313
|
+
if (!env2) throw new TRPCError6({ code: "NOT_FOUND", message: `Environment ${input.environmentId} not found` });
|
|
2314
|
+
if (env2.scope !== "service" || !env2.activateOn) {
|
|
2315
|
+
throw new TRPCError6({ code: "BAD_REQUEST", message: `Environment ${input.environmentId} is not a service environment: only those inherit from, or are isolated from, the global environment that activates them` });
|
|
2316
|
+
}
|
|
2317
|
+
const updated = await environmentStore.update({ id: env2.id, parentIds: input.inherit ? [env2.activateOn] : [] });
|
|
2318
|
+
if (!updated) throw new TRPCError6({ code: "INTERNAL_SERVER_ERROR", message: "Failed to update inheritance" });
|
|
2319
|
+
return { environmentId: env2.id, isolated: !input.inherit };
|
|
2320
|
+
}),
|
|
2321
|
+
/** Retirer une variable par son nom, pour le compte d'une IA : la réponse ne porte aucune valeur. */
|
|
2322
|
+
removeVariableBlind: protectedProcedure.input(z9.object({ environmentId: z9.string().max(128), key: z9.string().min(1).max(256) })).mutation(async ({ input, ctx }) => {
|
|
2323
|
+
requireEnvAction(ctx, input.environmentId, "env:write");
|
|
2324
|
+
const env2 = await environmentStore.get(input.environmentId);
|
|
2325
|
+
if (!env2) throw new TRPCError6({ code: "NOT_FOUND", message: `Environment ${input.environmentId} not found` });
|
|
2326
|
+
const found = Object.entries(env2.variables).find(([, v]) => v.key === input.key);
|
|
2327
|
+
if (!found) throw new TRPCError6({ code: "NOT_FOUND", message: `Variable ${input.key} not found in environment ${input.environmentId}` });
|
|
2328
|
+
const result = await environmentStore.removeVariable(input.environmentId, found[0]);
|
|
2329
|
+
if (!result) throw new TRPCError6({ code: "INTERNAL_SERVER_ERROR", message: "Failed to remove variable" });
|
|
2330
|
+
return { environmentId: input.environmentId, key: input.key, removed: true };
|
|
2331
|
+
}),
|
|
2141
2332
|
/**
|
|
2142
2333
|
* List everywhere a variable key is used inside a project: environments that
|
|
2143
2334
|
* define it, and variables that reference it through {{environment.KEY}}.
|
|
@@ -3422,7 +3613,7 @@ Rules:
|
|
|
3422
3613
|
});
|
|
3423
3614
|
|
|
3424
3615
|
// ../server/src/trpc/routers/scenario.ts
|
|
3425
|
-
import { randomUUID as
|
|
3616
|
+
import { randomUUID as randomUUID3 } from "crypto";
|
|
3426
3617
|
import { TRPCError as TRPCError13 } from "@trpc/server";
|
|
3427
3618
|
import { z as z15 } from "zod";
|
|
3428
3619
|
|
|
@@ -3539,7 +3730,7 @@ async function* streamWithActiveProvider(opts) {
|
|
|
3539
3730
|
|
|
3540
3731
|
// ../server/src/services/scenario-runner.ts
|
|
3541
3732
|
import { mkdir as mkdir4 } from "fs/promises";
|
|
3542
|
-
import { randomUUID } from "crypto";
|
|
3733
|
+
import { randomUUID as randomUUID2 } from "crypto";
|
|
3543
3734
|
import { join as join6 } from "path";
|
|
3544
3735
|
|
|
3545
3736
|
// ../server/src/services/scenario-presets.ts
|
|
@@ -3881,7 +4072,7 @@ function applyHireDirectivesFromOutput(manager, scenario, output) {
|
|
|
3881
4072
|
}
|
|
3882
4073
|
const hired = [];
|
|
3883
4074
|
for (const payload of hireDirectives) {
|
|
3884
|
-
const id = `hire-${
|
|
4075
|
+
const id = `hire-${randomUUID2().slice(0, 8)}`;
|
|
3885
4076
|
const position = computeHirePosition(manager, scenario.nodes);
|
|
3886
4077
|
ensureGroupCanContainNode(scenario, manager.groupId ?? null, position);
|
|
3887
4078
|
const node = {
|
|
@@ -5049,7 +5240,7 @@ var scenarioRouter = router({
|
|
|
5049
5240
|
})).mutation(({ input }) => {
|
|
5050
5241
|
const now = Date.now();
|
|
5051
5242
|
return createOrBadRequest(async () => scenarioStore.create({
|
|
5052
|
-
id:
|
|
5243
|
+
id: randomUUID3(),
|
|
5053
5244
|
name: input.name,
|
|
5054
5245
|
icon: input.icon,
|
|
5055
5246
|
description: input.description,
|
|
@@ -5201,7 +5392,7 @@ var scenarioRouter = router({
|
|
|
5201
5392
|
});
|
|
5202
5393
|
|
|
5203
5394
|
// ../server/src/trpc/routers/debug.ts
|
|
5204
|
-
import { randomUUID as
|
|
5395
|
+
import { randomUUID as randomUUID4 } from "crypto";
|
|
5205
5396
|
import { TRPCError as TRPCError14 } from "@trpc/server";
|
|
5206
5397
|
import { z as z16 } from "zod";
|
|
5207
5398
|
var MAX_BUFFER2 = 300;
|
|
@@ -5264,7 +5455,7 @@ var debugRouter = router({
|
|
|
5264
5455
|
intervalMs: z16.number().int().min(100).max(5e3).optional(),
|
|
5265
5456
|
maxTicks: z16.number().int().min(1).max(1e4).optional()
|
|
5266
5457
|
}).optional()).mutation(({ input }) => {
|
|
5267
|
-
const jobId =
|
|
5458
|
+
const jobId = randomUUID4();
|
|
5268
5459
|
const intervalMs = input?.intervalMs ?? 400;
|
|
5269
5460
|
const maxTicks = input?.maxTicks ?? 500;
|
|
5270
5461
|
const job = {
|
|
@@ -5484,7 +5675,7 @@ var diagnosticsRouter = router({
|
|
|
5484
5675
|
import { z as z18 } from "zod";
|
|
5485
5676
|
|
|
5486
5677
|
// ../server/src/services/kanban-queue.ts
|
|
5487
|
-
import { randomUUID as
|
|
5678
|
+
import { randomUUID as randomUUID5 } from "crypto";
|
|
5488
5679
|
import { EventEmitter as EventEmitter2 } from "events";
|
|
5489
5680
|
var KanbanQueueService = class extends EventEmitter2 {
|
|
5490
5681
|
items = [];
|
|
@@ -5512,7 +5703,7 @@ var KanbanQueueService = class extends EventEmitter2 {
|
|
|
5512
5703
|
return { id: alreadyRunning.id, addedAt: alreadyRunning.startedAt, ...item };
|
|
5513
5704
|
}
|
|
5514
5705
|
const queueItem = {
|
|
5515
|
-
id:
|
|
5706
|
+
id: randomUUID5(),
|
|
5516
5707
|
...item,
|
|
5517
5708
|
addedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
5518
5709
|
};
|
|
@@ -6586,7 +6777,7 @@ async function reconcileOrgCanary(orgId) {
|
|
|
6586
6777
|
}
|
|
6587
6778
|
|
|
6588
6779
|
// ../server/src/services/cloud-sync-bridge.ts
|
|
6589
|
-
import { randomUUID as
|
|
6780
|
+
import { randomUUID as randomUUID7 } from "crypto";
|
|
6590
6781
|
import { mkdir as mkdir7, rm as rm3 } from "fs/promises";
|
|
6591
6782
|
import * as Y2 from "yjs";
|
|
6592
6783
|
|
|
@@ -6594,7 +6785,7 @@ import * as Y2 from "yjs";
|
|
|
6594
6785
|
import { readFileSync, renameSync, rmSync, writeFileSync, mkdirSync } from "fs";
|
|
6595
6786
|
import { readFile as readFile4 } from "fs/promises";
|
|
6596
6787
|
import { dirname as dirname4, join as join10 } from "path";
|
|
6597
|
-
import { randomUUID as
|
|
6788
|
+
import { randomUUID as randomUUID6 } from "crypto";
|
|
6598
6789
|
import * as Y from "yjs";
|
|
6599
6790
|
var FILE = "sync-doc.bin";
|
|
6600
6791
|
function cachePath(orgId) {
|
|
@@ -6626,7 +6817,7 @@ function writeSyncDocSync(orgId, state) {
|
|
|
6626
6817
|
} catch {
|
|
6627
6818
|
}
|
|
6628
6819
|
mkdirSync(dirname4(path), { recursive: true });
|
|
6629
|
-
const tmp = `${path}.${process.pid}.${
|
|
6820
|
+
const tmp = `${path}.${process.pid}.${randomUUID6()}.tmp`;
|
|
6630
6821
|
try {
|
|
6631
6822
|
writeFileSync(tmp, mergeWith(existing, state), { mode: 384 });
|
|
6632
6823
|
renameSync(tmp, path);
|
|
@@ -6679,7 +6870,7 @@ var OrgSyncConnection = class {
|
|
|
6679
6870
|
services = getCollection(this.doc, "services");
|
|
6680
6871
|
environments = getCollection(this.doc, "environments");
|
|
6681
6872
|
logParsers = getCollection(this.doc, PARSERS);
|
|
6682
|
-
conn =
|
|
6873
|
+
conn = randomUUID7();
|
|
6683
6874
|
link;
|
|
6684
6875
|
stopped = false;
|
|
6685
6876
|
initializing = true;
|
|
@@ -8627,7 +8818,7 @@ async function migrateSettingsIntoVaults() {
|
|
|
8627
8818
|
// ../server/src/migrations/migrate-from-legacy.ts
|
|
8628
8819
|
import { createRequire } from "module";
|
|
8629
8820
|
import { randomBytes as randomBytes3, createCipheriv as createCipheriv3, createDecipheriv as createDecipheriv3 } from "crypto";
|
|
8630
|
-
import { randomUUID as
|
|
8821
|
+
import { randomUUID as randomUUID8 } from "crypto";
|
|
8631
8822
|
import {
|
|
8632
8823
|
readFile as readFile8,
|
|
8633
8824
|
writeFile as writeFile9,
|
|
@@ -8845,11 +9036,11 @@ async function runLegacyMigration(dataDir) {
|
|
|
8845
9036
|
const data = await readEncrypted(join15(parsersDir, file));
|
|
8846
9037
|
if (data?.id) legacyParsers.push(data);
|
|
8847
9038
|
}
|
|
8848
|
-
const projectMonoId =
|
|
9039
|
+
const projectMonoId = randomUUID8();
|
|
8849
9040
|
const envIdMap = {};
|
|
8850
9041
|
const labelToKey = {};
|
|
8851
9042
|
for (const [name, legacyEnv] of Object.entries(legacyEnvs)) {
|
|
8852
|
-
envIdMap[name] =
|
|
9043
|
+
envIdMap[name] = randomUUID8();
|
|
8853
9044
|
if (legacyEnv?.label) labelToKey[legacyEnv.label] = name;
|
|
8854
9045
|
}
|
|
8855
9046
|
const runeEnvs = [];
|
|
@@ -8874,7 +9065,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
8874
9065
|
if (hasInvalidInterpolation(value)) continue;
|
|
8875
9066
|
const cleaned = cleanVarKey(key);
|
|
8876
9067
|
if (inheritedVars[cleaned] === value) continue;
|
|
8877
|
-
const varId =
|
|
9068
|
+
const varId = randomUUID8();
|
|
8878
9069
|
variables[varId] = makeVariable(cleaned, value);
|
|
8879
9070
|
varIdLookup.set(`${envIdMap[name]}:${cleaned}`, varId);
|
|
8880
9071
|
}
|
|
@@ -8895,7 +9086,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
8895
9086
|
const serviceIdMap = {};
|
|
8896
9087
|
const runeServices = [];
|
|
8897
9088
|
for (const [name, legacy] of Object.entries(legacyServices)) {
|
|
8898
|
-
const id =
|
|
9089
|
+
const id = randomUUID8();
|
|
8899
9090
|
serviceIdMap[name] = id;
|
|
8900
9091
|
const rootPath = legacy.rootPath || "";
|
|
8901
9092
|
const rootPathCwd = rootPath && rootPath !== "." ? rootPath : "";
|
|
@@ -8904,7 +9095,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
8904
9095
|
const parts = [cmd.spawnCmd, ...cmd.spawnArgs || []].filter(Boolean);
|
|
8905
9096
|
if (!parts.length) continue;
|
|
8906
9097
|
commands.push({
|
|
8907
|
-
id: cmd.id ||
|
|
9098
|
+
id: cmd.id || randomUUID8(),
|
|
8908
9099
|
label: "Launch",
|
|
8909
9100
|
command: parts.join(" "),
|
|
8910
9101
|
cwd: cmd.spawnOptions?.cwd || "",
|
|
@@ -8965,7 +9156,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
8965
9156
|
const legacyBootstrapCmds = container.bootstrap?.commands || [];
|
|
8966
9157
|
if (legacyBootstrapCmds.length > 0) {
|
|
8967
9158
|
dockerConfig.bootstrapCommands = legacyBootstrapCmds.filter((bs) => bs.cmd || bs.entrypoint).map((bs, idx) => ({
|
|
8968
|
-
id: bs.id ||
|
|
9159
|
+
id: bs.id || randomUUID8(),
|
|
8969
9160
|
label: bs.label || `Bootstrap ${idx + 1}`,
|
|
8970
9161
|
command: bs.cmd || "",
|
|
8971
9162
|
...bs.entrypoint ? { entrypoint: bs.entrypoint } : {},
|
|
@@ -9013,7 +9204,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
9013
9204
|
cwd: serviceCwd,
|
|
9014
9205
|
runner: dockerConfig ? "docker" : "native",
|
|
9015
9206
|
shortcuts: (legacy.shortcuts || []).filter((s) => s.spawnCmd || s.label).map((s) => ({
|
|
9016
|
-
id: s.id ||
|
|
9207
|
+
id: s.id || randomUUID8(),
|
|
9017
9208
|
label: s.label || s.spawnCmd || "",
|
|
9018
9209
|
command: [s.spawnCmd, ...s.spawnArgs || []].filter(Boolean).join(" "),
|
|
9019
9210
|
...s.spawnOptions?.cwd ? { cwd: s.spawnOptions.cwd } : {}
|
|
@@ -9053,7 +9244,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
9053
9244
|
);
|
|
9054
9245
|
if (!svcScopedEnv) {
|
|
9055
9246
|
svcScopedEnv = {
|
|
9056
|
-
id:
|
|
9247
|
+
id: randomUUID8(),
|
|
9057
9248
|
projectId: projectMonoId,
|
|
9058
9249
|
name: `${service?.name || name} (${globalEnv.name})`,
|
|
9059
9250
|
scope: "service",
|
|
@@ -9077,7 +9268,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
9077
9268
|
const varPost = typeof varData === "object" ? String(varData.suffix ?? "") : "";
|
|
9078
9269
|
if (!varKey || existingKeys.has(cleanVarKey(varKey))) continue;
|
|
9079
9270
|
const cleaned = cleanVarKey(varKey);
|
|
9080
|
-
const varId =
|
|
9271
|
+
const varId = randomUUID8();
|
|
9081
9272
|
svcScopedEnv.variables[varId] = makeVariable(cleaned, varValue, varPre, varPost);
|
|
9082
9273
|
existingKeys.add(cleaned);
|
|
9083
9274
|
}
|
|
@@ -9097,7 +9288,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
9097
9288
|
);
|
|
9098
9289
|
if (!svcScopedEnv) {
|
|
9099
9290
|
svcScopedEnv = {
|
|
9100
|
-
id:
|
|
9291
|
+
id: randomUUID8(),
|
|
9101
9292
|
projectId: projectMonoId,
|
|
9102
9293
|
name: `${service?.name || serviceName} (${globalEnv.name})`,
|
|
9103
9294
|
scope: "service",
|
|
@@ -9118,7 +9309,7 @@ async function runLegacyMigration(dataDir) {
|
|
|
9118
9309
|
const baseEntry = Object.entries(svcScopedEnv.variables).find(([, v]) => v.key === cleaned);
|
|
9119
9310
|
let varId = baseEntry?.[0];
|
|
9120
9311
|
if (!varId) {
|
|
9121
|
-
varId =
|
|
9312
|
+
varId = randomUUID8();
|
|
9122
9313
|
svcScopedEnv.variables[varId] = {
|
|
9123
9314
|
key: cleaned,
|
|
9124
9315
|
value: { value: "", pre: "", post: "", isSecret: false, shareWithAi: false, injectIntoAi: false, required: false, overrideOnly: false, description: "" }
|
|
@@ -9148,13 +9339,13 @@ async function runLegacyMigration(dataDir) {
|
|
|
9148
9339
|
flatOverrides[varId] = makeVariable(cleaned, value);
|
|
9149
9340
|
}
|
|
9150
9341
|
} else {
|
|
9151
|
-
flatOverrides[
|
|
9342
|
+
flatOverrides[randomUUID8()] = makeVariable(cleaned, value);
|
|
9152
9343
|
}
|
|
9153
9344
|
} else {
|
|
9154
9345
|
const cleaned = cleanVarKey(key);
|
|
9155
9346
|
const existingVarId = Object.entries(env2.variables).find(([, v]) => v.key === cleaned)?.[0];
|
|
9156
9347
|
if (!existingVarId) {
|
|
9157
|
-
const varId =
|
|
9348
|
+
const varId = randomUUID8();
|
|
9158
9349
|
env2.variables[varId] = makeVariable(cleaned, value);
|
|
9159
9350
|
varIdLookup.set(`${envId}:${cleaned}`, varId);
|
|
9160
9351
|
}
|
|
@@ -9338,7 +9529,7 @@ async function runOverrideOnlyMigration(dataDir) {
|
|
|
9338
9529
|
if (isSameAsBase(value, baseVar)) continue;
|
|
9339
9530
|
flatOverrides[varId] = makeVariable(cleaned, value);
|
|
9340
9531
|
} else {
|
|
9341
|
-
flatOverrides[
|
|
9532
|
+
flatOverrides[randomUUID8()] = makeVariable(cleaned, value);
|
|
9342
9533
|
}
|
|
9343
9534
|
}
|
|
9344
9535
|
}
|
|
@@ -9375,7 +9566,7 @@ async function runOverrideOnlyMigration(dataDir) {
|
|
|
9375
9566
|
);
|
|
9376
9567
|
if (!svcScopedEnv) {
|
|
9377
9568
|
svcScopedEnv = {
|
|
9378
|
-
id:
|
|
9569
|
+
id: randomUUID8(),
|
|
9379
9570
|
projectId: globalEnv["projectId"],
|
|
9380
9571
|
name: `${service?.["name"] || serviceName} (${globalEnv["name"]})`,
|
|
9381
9572
|
scope: "service",
|
|
@@ -9397,7 +9588,7 @@ async function runOverrideOnlyMigration(dataDir) {
|
|
|
9397
9588
|
const baseEntry = Object.entries(svcScopedEnv["variables"]).find(([, v]) => v.key === cleaned);
|
|
9398
9589
|
let varId = baseEntry?.[0];
|
|
9399
9590
|
if (!varId) {
|
|
9400
|
-
varId =
|
|
9591
|
+
varId = randomUUID8();
|
|
9401
9592
|
svcScopedEnv["variables"][varId] = {
|
|
9402
9593
|
key: cleaned,
|
|
9403
9594
|
value: { value: "", pre: "", post: "", isSecret: false, shareWithAi: false, injectIntoAi: false, required: false, overrideOnly: false, description: "" }
|
|
@@ -10609,7 +10800,7 @@ async function createLocalServer() {
|
|
|
10609
10800
|
]);
|
|
10610
10801
|
console.log("[server] Shutdown complete");
|
|
10611
10802
|
};
|
|
10612
|
-
const { initCompanion } = await import("./companion-
|
|
10803
|
+
const { initCompanion } = await import("./companion-5DPH3HIO.js");
|
|
10613
10804
|
initCompanion();
|
|
10614
10805
|
return { app, server, wss, shutdown };
|
|
10615
10806
|
}
|
|
@@ -11056,4 +11247,4 @@ export {
|
|
|
11056
11247
|
startProcess,
|
|
11057
11248
|
stopProcess
|
|
11058
11249
|
};
|
|
11059
|
-
//# sourceMappingURL=src-
|
|
11250
|
+
//# sourceMappingURL=src-XCI5NILM.js.map
|