@runeya/runeya 2.0.102 → 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/assets/icon-alert.ico +0 -0
- package/assets/icon-alert.png +0 -0
- package/assets/icon-alert.svg +19 -0
- package/{chat-OXRRBDB3.js → chat-3XDVULFH.js} +8 -7
- package/{chunk-F3HKV5AU.js → chunk-5GYBAMHV.js} +5 -3
- package/{chunk-F3HKV5AU.js.map → chunk-5GYBAMHV.js.map} +1 -1
- package/{chunk-PSTMO7EE.js → chunk-AAK7ACHG.js} +9 -7
- package/{chunk-PSTMO7EE.js.map → chunk-AAK7ACHG.js.map} +1 -1
- package/{chunk-BDVQB5RK.js → chunk-IOAGFK3P.js} +28 -20
- package/{chunk-BDVQB5RK.js.map → chunk-IOAGFK3P.js.map} +1 -1
- package/chunk-LTLOVQJQ.js +291 -0
- package/chunk-LTLOVQJQ.js.map +1 -0
- package/{chunk-BHLCBARP.js → chunk-NPORVPEO.js} +21 -3
- package/chunk-NPORVPEO.js.map +1 -0
- package/chunk-PH4E5WDN.js +137 -0
- package/chunk-PH4E5WDN.js.map +1 -0
- package/{chunk-NDO5VFZY.js → chunk-QRMG6GMX.js} +694 -917
- package/chunk-QRMG6GMX.js.map +1 -0
- package/{companion-JQGNL4U7.js → companion-MUFVXURV.js} +5 -4
- package/{desktop-launcher-FHNURZA7.js → desktop-launcher-N7WRF3LC.js} +11 -17
- package/desktop-launcher-N7WRF3LC.js.map +1 -0
- package/index.js +68 -2
- package/index.js.map +1 -1
- package/instances-command-KZ5UGXOR.js +17 -0
- package/package.json +4 -1
- package/settings-manager-Y4GNAXOH.js +9 -0
- package/settings-manager-Y4GNAXOH.js.map +1 -0
- package/{src-HZ2XO6TV.js → src-TEL7L4K2.js} +707 -249
- package/src-TEL7L4K2.js.map +1 -0
- package/tray-NZOXYN5G.js +307 -0
- 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-DeWqCLuK.css → AppLayout-CYQBjQBU.css} +1 -1
- 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-C9XKLhc7.js → EditorIcon-CA5ff6aq.js} +2 -2
- package/web/assets/{EnvironmentForm-bS48MK8k.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-DvSw2AQV.js +1 -0
- package/web/assets/ProcessDetailPage-Decf7LjW.js +1 -0
- package/web/assets/{ProcessMetrics-CBPR5ozp.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/SettingsPage-Dw6tbcbw.css +1 -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-CtIxw1IN.js → autocomplete-CBY4HTQR.js} +3 -3
- package/web/assets/{basic-shape-diamond.svg-BErisM9Y.js → basic-shape-diamond.svg-irIu-f9l.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-yC7RoYpa.js → basic-shape-hexagon.svg-DasEKbDT.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-DRmanUIO.js → basic-shape-primary-circle-ellipse-round.svg-DFanDXAm.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-DxuoouSj.js → basic-shape-primary-square-rectangle.svg-Dkyo9dlJ.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-Cy_Frn-W.js → basic-shape-shield.svg-3imE69mJ.js} +1 -1
- package/web/assets/{browser-h0mxWbci.js → browser-Aa5s7rfo.js} +1 -1
- package/web/assets/{browser-Dj3qxJqB.js → browser-DUQZPder.js} +1 -1
- package/web/assets/card-D-ziPwAg.js +32 -0
- package/web/assets/{checkbox-CTw-YDe_.js → checkbox-tdxfIWhT.js} +3 -3
- package/web/assets/{chip-DwSSTlaC.js → chip-DQ2M3lMV.js} +2 -2
- package/web/assets/{client-DYNnTrNm.js → client-w--F512m.js} +2 -2
- package/web/assets/cloud-chat.store-DwSl7oKq.js +1 -0
- package/web/assets/cloud-session-Do-zjE8q.js +1 -0
- package/web/assets/column-Bv9vDejf.js +907 -0
- package/web/assets/{computer-device-desktop-monitor.svg-TLZAKrIM.js → computer-device-desktop-monitor.svg-CYOP3WaB.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-YRcL_Qxn.js → computer-device-desktop.svg-qlrBIvQY.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-CZUEbqra.js → computer-device-laptop.svg-IHPj_lEm.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-CcsmeFGb.js → computer-device-mobile-phone-android-samsung-back.svg-DKPSbT77.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-CXjVvTBT.js → computer-device-mobile-phone-android-samsung.svg-s5qvH0rw.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-BQQXUoZZ.js → computer-device-mobile-phone-iphone-x-back.svg-B77oIjAn.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-CG8VbAP-.js → computer-device-mobile-phone-iphone-x.svg-Cnz0nuie.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-DDMUt0S4.js → computer-device-mobile-tablet-touch.svg-CGw0OJdZ.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-CBXtF47n.js → computer-device-mobile-tablet.svg-BllNUwYz.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-ObjUhwds.js → computer-device-network-ethernet-cat6.svg-CDcu8JSm.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-NGYEGuba.js → computer-device-network-lan-www.svg-Cr2Mzrgm.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-CSnNdKGm.js → computer-device-network-wifi-connection.svg-BdIGk-iA.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-CG7iHt_n.js → computer-device-network-wifi-router.svg-ChrqaXoE.js} +1 -1
- package/web/assets/{cssMode-Bclh_xI1.js → cssMode-DQ3QWGDZ.js} +1 -1
- package/web/assets/{divider-Bb31-CFf.js → divider-BnVkpmcn.js} +2 -2
- package/web/assets/{docx-preview-seOy1U3d.js → docx-preview-DOVrOL2W.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-B8emvJ_p.js → ecology-science-erlenmeyer-flask.svg-Bz0bzqPi.js} +1 -1
- package/web/assets/{fieldset-Czp1Leik.js → fieldset-CaBT4en1.js} +2 -2
- package/web/assets/{freemarker2-D87vjb6-.js → freemarker2-e7ZK44f9.js} +1 -1
- package/web/assets/{handlebars-CjY4u0vA.js → handlebars-BunSmNEk.js} +1 -1
- package/web/assets/{html-C5pOjLe-.js → html-t6Ga4VcA.js} +1 -1
- package/web/assets/{htmlMode-CunB4Bjm.js → htmlMode-CjsAz81L.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-7dRFt_k5.js → image-flash-lightning.svg-CSanVzgy.js} +1 -1
- package/web/assets/{image-picture-flower.svg-ATG6mf9B.js → image-picture-flower.svg-DUlCxHzi.js} +1 -1
- package/web/assets/{index-BMuqGGPP.js → index-CNqv4qMO.js} +287 -287
- package/web/assets/{interface-alert-exclamation-diamond.svg-DuAtIVtT.js → interface-alert-exclamation-diamond.svg-C-uhPFKN.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-Bg9-FBLP.js → interface-alert-exclamation-triangle-warning.svg-BnSCXw68.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-C5etvhA3.js → interface-alert-information-circle.svg-CTGCb0Yf.js} +1 -1
- package/web/assets/{interface-award-crown.svg-zuAFLs7y.js → interface-award-crown.svg-T-Lov9NP.js} +1 -1
- package/web/assets/{interface-bookmark.svg-CfBz0NE3.js → interface-bookmark-tag.svg-DLjS0Lnz.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-C3EKMHOq.js → interface-bookmark.svg-CZekkdj9.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-DGYz2Prk.js → interface-calendar-date-one.svg-DmD4yfdS.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-DGiJpxy1.js → interface-content-book-open-pages.svg-wHqGX15c.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-DydK46P0.js → interface-content-book-page.svg-MCSanA32.js} +1 -1
- package/web/assets/{interface-content-file.svg-D0pUOvAN.js → interface-content-file.svg-DBpf8dcs.js} +1 -1
- package/web/assets/{interface-content-folder.svg-DiJ3Pfaa.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-Dl3aROYy.js → interface-copy-clipboard.svg-C1-sJNwr.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-UmDFMIt5.js → interface-edit-attachment.svg-CpxThva3.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-Bp_8Pfer.js → interface-edit-binocular.svg-BHfWW26z.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-B2A8V7mt.js → interface-edit-magic-wand.svg-DcC6CJBy.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-DKjdsVsS.js → interface-edit-tool-paint-roller.svg-BhReRG-a.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-DuUybI4h.js → interface-edit-tool-pencil.svg-CztZ4Olx.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-DHeTFQv8.js → interface-favorite-award.svg-C0kleqGy.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-kKzUSQkq.js → interface-favorite-flag.svg-B-VJ_w7p.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-CqMgA2mm.js → interface-favorite-heart.svg-CuRtXB-S.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-CuLj8HV6.js → interface-favorite-star.svg-DtEkT0h3.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-lFQTnGOR.js → interface-favorite-stars-sparkles.svg-ffOT-I95.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-CBbliSZq.js → interface-hierarchy-flowchart.svg-C5eB0vng.js} +1 -1
- package/web/assets/{interface-home-house.svg-BoFlxzre.js → interface-home-house.svg-Djr3DBJk.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-DcKs1Vcm.js → interface-hyperlink.svg-BaesgCsY.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-BSNKEyEg.js → interface-lighting-brightness.svg-CiNPNypw.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-DSP-B9Ze.js → interface-lock-closed.svg-Dk3IIjH4.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-Bzg-oBHY.js → interface-lock-open-unlock.svg-DGG8lod0.js} +1 -1
- package/web/assets/{interface-login-key.svg-DG61Q1lR.js → interface-login-key.svg-ZREdsGBv.js} +1 -1
- package/web/assets/{interface-search.svg-CODjdPxd.js → interface-search.svg-AF3hFV8X.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-CgiaBO1E.js → interface-setting-cog.svg-CxjXHOho.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-DM0PsgtH.js → interface-share-megaphone-bullhorn.svg-C-Ou9l0X.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-B0geTs35.js → interface-share-rocket.svg-CERB2Bts.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-v9Q6QwAp.js → interface-share-satellite.svg-BfHWK0sr.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-CLdqgzgZ.js → interface-share-space-ship.svg-lWM8H0aF.js} +1 -1
- package/web/assets/{interface-share.svg-Cx3VhLuj.js → interface-share.svg-CFf-5WEt.js} +1 -1
- package/web/assets/{interface-signal-square.svg-By_pQLw8.js → interface-signal-square.svg-BIiI1WkB.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-Co3P-TM3.js → interface-time-clock-circle.svg-MloMulBj.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-BYSOzVeD.js → interface-time-hour-glass.svg-BOxCCGI2.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-moFZaev3.js → interface-users-multiple.svg-4T9srtFC.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-DhyTNivv.js → interface-weather-moon.svg-CKHzp1q9.js} +1 -1
- package/web/assets/{javascript-B1fZNcy6.js → javascript-D9xsJ3Az.js} +1 -1
- package/web/assets/{jsonMode-BxZ6OjkS.js → jsonMode-DuBcXIAs.js} +2 -2
- package/web/assets/{liquid-B58z0z3s.js → liquid-DEC7GfIV.js} +1 -1
- package/web/assets/{lspLanguageFeatures-VksJLqpV.js → lspLanguageFeatures-BWtjzx_b.js} +3 -3
- package/web/assets/{mail-chat-bubble-square.svg-DU4TDENX.js → mail-chat-bubble-square.svg-Bnr_lHI8.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-jk90Puk3.js → mail-send-email-paper-airplane.svg-BX3SaAOF.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-CrEPc3pm.js → mail-send-envelope.svg-ZUoORksb.js} +1 -1
- package/web/assets/{mdx-l-DSKi30.js → mdx-HOoxTDWS.js} +1 -1
- package/web/assets/{minus-CjETE6Jb.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-veUsiwvj.js → money-cashier-receipt.svg-DZ3PFTDB.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-C5PNkn4j.js → money-currency-dollar-pay.svg-MP_zZSsR.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-BkCcnTWU.js → money-graph-arrow-increase.svg-zF1qoCJ1.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-BDiFSuKt.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-CHyv9oDB.js → nature-ecology-leaf.svg-C8ROcT5o.js} +1 -1
- package/web/assets/{password-BYosjMhB.js → password-4B0Jk2Id.js} +4 -4
- package/web/assets/{phone-telephone.svg-Ce1dgyK9.js → phone-telephone.svg-DKK-lUXQ.js} +1 -1
- package/web/assets/{plus-CVoE_j-e.js → plus-CTzNAMSa.js} +6 -6
- package/web/assets/process.store-hTCiNh-E.js +1 -0
- package/web/assets/{programming-bug.svg-D87My2Ok.js → programming-bug.svg-D2E8tMFA.js} +1 -1
- package/web/assets/{programming-cloud.svg-jUe8apKw.js → programming-cloud.svg-BGnh40iK.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-D4etrIBX.js → programming-computer-database-server.svg-BVAuZnpu.js} +1 -1
- package/web/assets/{programming-computer-database.svg-BtfkmLTx.js → programming-computer-database.svg-Cw61nQGg.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-BkzsDKDq.js → programming-module-four-layout.svg-DoU0KSeo.js} +1 -1
- package/web/assets/{programming-module-three.svg-CpzTvjGS.js → programming-module-three.svg-DVhh6Qdu.js} +1 -1
- package/web/assets/{programming-module.svg-wyvB3tSR.js → programming-module.svg-DvJfoHtJ.js} +1 -1
- package/web/assets/{programming-script-code.svg-Dek4khNq.js → programming-script-code.svg-C-tp6SrH.js} +1 -1
- package/web/assets/{python-IeHrvMxp.js → python--BJI87h8.js} +1 -1
- package/web/assets/{razor-CMgDmoNn.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-DeBhxyDX.js → shopping-cart.svg-LfGHmiMy.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-Bt0oKBk9.js → shopping-gift-present.svg-DQxn6jVj.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-BEQNmjMi.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-C3dPv05m.js → src-DmAdua1A.js} +13 -13
- package/web/assets/tabpanel-DHCbTagN.js +150 -0
- package/web/assets/{tag-new-circle.svg-B1i0Y1yt.js → tag-new-circle.svg-83yDHm_4.js} +1 -1
- package/web/assets/theme-CDWRcPhl.js +1 -0
- package/web/assets/{toggleswitch-CcQEgLiT.js → toggleswitch-98WbJy1b.js} +2 -2
- package/web/assets/{travel-map-earth-globe.svg-CB5sqhKh.js → travel-map-earth-globe.svg-Ih5Yi-jq.js} +1 -1
- package/web/assets/trpc-BOcC0r-H.js +1 -0
- package/web/assets/{tsMode-DoUs-yH0.js → tsMode-ocCX3Kwn.js} +6 -6
- package/web/assets/{typescript-fw9OMJ0N.js → typescript-BNLFcH9T.js} +1 -1
- package/web/assets/useAiChatDrawer-DVacYOFX.js +1 -0
- package/web/assets/{useCloudOrg-CRpEZ-iE.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-Df6_yGan.js → xml-DcSXqrs-.js} +1 -1
- package/web/assets/{yaml-LMvM57fn.js → yaml-BNINCoLr.js} +1 -1
- package/web/index.html +1 -1
- package/agent-manager-SNVPZNLC.js +0 -8
- package/chunk-BHLCBARP.js.map +0 -1
- package/chunk-NDO5VFZY.js.map +0 -1
- package/desktop-launcher-FHNURZA7.js.map +0 -1
- package/settings-manager-YHQ5YHUH.js +0 -8
- package/src-HZ2XO6TV.js.map +0 -1
- package/web/assets/AgentScalarChatInterface.vue-CxmPaQaj.js +0 -13
- package/web/assets/AgentTerminalPage-Bbx4zyQY.js +0 -1
- package/web/assets/AiChatPage-GPPQggxZ.js +0 -1
- package/web/assets/AppLayout-BuwGeA1p.js +0 -1
- package/web/assets/AuditPage-CDsJsoKA.js +0 -1
- package/web/assets/CloudAccountPage-BCP8icYZ.js +0 -1
- package/web/assets/CloudAccountPage-DzpS3_gc.js +0 -1
- package/web/assets/CloudMessagingPage-01hLQzZ5.js +0 -2
- package/web/assets/DashboardPage-CKo-sf8A.js +0 -1
- package/web/assets/DirectoryPickerDialog-B1tSWoOM.js +0 -1
- package/web/assets/EnvironmentFormPage-9yxN-uI3.js +0 -1
- package/web/assets/EnvironmentListPage-BbfptXAU.js +0 -1
- package/web/assets/KanbanBoardPage-BWkqTc1a.js +0 -4
- package/web/assets/KanbanListPage-GxI1nlON.js +0 -1
- package/web/assets/LaunchProjectPage-DKMoGXIC.js +0 -1
- package/web/assets/LaunchServicesPage-6dfxPQMB.js +0 -1
- package/web/assets/LogViewer-DAzGy_T2.js +0 -3
- package/web/assets/OrgKeyPrompt-CQ087D4g.js +0 -1
- package/web/assets/ProcessControls-D8uc4x7M.js +0 -1
- package/web/assets/ProcessDetailPage-BPxLPGeh.js +0 -1
- package/web/assets/ProjectDetailPage-CnZ_CpVU.js +0 -1
- package/web/assets/ProjectListPage-D8Svc5e3.js +0 -1
- package/web/assets/RandomJobTestPage-BdEiEnSi.js +0 -2
- package/web/assets/ScenarioEditorPage-COrL715B.js +0 -14
- package/web/assets/SendToChatDialog-D8YB5RM6.js +0 -1
- package/web/assets/ServiceControlsBar-BKwvqgHw.js +0 -1
- package/web/assets/ServiceDetailPage-BmPRfQN6.js +0 -2
- package/web/assets/ServiceFormPage-rVvnwWkb.js +0 -1
- package/web/assets/SettingsPage-C-OfBHjn.css +0 -1
- package/web/assets/SettingsPage-DmQB6t1_.js +0 -2063
- package/web/assets/UnlockPage-BgVF3XMO.js +0 -1
- package/web/assets/VariablesTable-D4_sssPN.js +0 -1
- package/web/assets/VaultMigrationPage-BRZJnfVg.js +0 -1
- package/web/assets/VersionBadge-Df7iJWvF.js +0 -1
- package/web/assets/WikiPage-UkaH8BqR.js +0 -1
- package/web/assets/WikiView-BQqP4b9A.js +0 -1
- package/web/assets/add-scalar-classes-B9WxxjAm.js +0 -387
- package/web/assets/card-nJdNoKgd.js +0 -32
- package/web/assets/cloud-chat.store-_qILavCL.js +0 -1
- package/web/assets/cloud-session-Ml5g5J1-.js +0 -1
- package/web/assets/column-Bc4-F_tF.js +0 -907
- package/web/assets/interface-content-folder.svg-bb6GV0G0.js +0 -1
- package/web/assets/modal-D2-cZ2mf.js +0 -5
- package/web/assets/modal-DmgVDXcS.js +0 -1
- package/web/assets/multiselect-CDBfo7-0.js +0 -251
- package/web/assets/process.store-BsCJ-VuI.js +0 -1
- package/web/assets/router-KIdzwvCZ.js +0 -1
- package/web/assets/settings-scope-D8l1sq9K.js +0 -1
- package/web/assets/settings.store-VVqF8QkO.js +0 -1
- package/web/assets/src-CJFQ3yWc.js +0 -1
- package/web/assets/src-Cgn_TWXn.js +0 -572
- package/web/assets/tabpanel-B8oBjoSG.js +0 -150
- package/web/assets/trpc-B1bTQz_t.js +0 -1
- package/web/assets/useAiChatDrawer-BpR9XWop.js +0 -1
- package/web/assets/useProjectCatalog-mk8A95KQ.js +0 -1
- package/web/assets/useProjectCloudOrg-CKgvcUWI.js +0 -1
- /package/{agent-manager-SNVPZNLC.js.map → agent-manager-4XJUIZKL.js.map} +0 -0
- /package/{chat-OXRRBDB3.js.map → chat-3XDVULFH.js.map} +0 -0
- /package/{companion-JQGNL4U7.js.map → companion-MUFVXURV.js.map} +0 -0
- /package/{settings-manager-YHQ5YHUH.js.map → instances-command-KZ5UGXOR.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
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28">
|
|
2
|
+
<!--
|
|
3
|
+
L'icône de barre système quand un service est en échec.
|
|
4
|
+
|
|
5
|
+
Le même logo, volontairement : c'est toujours Runeya, et une icône qui
|
|
6
|
+
change de forme se cherche au lieu de se remarquer. Seule la pastille est
|
|
7
|
+
nouvelle — posée en bas à droite, cerclée du fond pour rester lisible sur
|
|
8
|
+
une barre claire comme sombre.
|
|
9
|
+
|
|
10
|
+
Généré vers PNG et ICO par `yarn workspace @runeya/apps-cli icons`.
|
|
11
|
+
-->
|
|
12
|
+
<rect width="28" height="28" rx="8" fill="#6366f1"/>
|
|
13
|
+
<path d="M7 20 L14 8 L21 20" stroke="white" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
14
|
+
<path d="M10 16 L18 16" stroke="white" stroke-width="2.5" stroke-linecap="round"/>
|
|
15
|
+
<circle cx="21.5" cy="21.5" r="6.5" fill="#6366f1"/>
|
|
16
|
+
<circle cx="21.5" cy="21.5" r="5" fill="#ef4444"/>
|
|
17
|
+
<path d="M21.5 18.6 L21.5 22" stroke="white" stroke-width="1.8" stroke-linecap="round"/>
|
|
18
|
+
<circle cx="21.5" cy="24.1" r="1" fill="white"/>
|
|
19
|
+
</svg>
|
|
@@ -3,17 +3,18 @@ import {
|
|
|
3
3
|
startClaudeCodeSession,
|
|
4
4
|
startCliSession,
|
|
5
5
|
startCodexSession
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-PSTMO7EE.js";
|
|
8
|
-
import "./chunk-MD3VW4HQ.js";
|
|
6
|
+
} from "./chunk-IOAGFK3P.js";
|
|
9
7
|
import "./chunk-B7MABGQN.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-AAK7ACHG.js";
|
|
9
|
+
import "./chunk-MD3VW4HQ.js";
|
|
10
|
+
import "./chunk-NPORVPEO.js";
|
|
11
|
+
import "./chunk-5GYBAMHV.js";
|
|
12
|
+
import "./chunk-QRMG6GMX.js";
|
|
13
|
+
import "./chunk-LTLOVQJQ.js";
|
|
13
14
|
export {
|
|
14
15
|
chatRouter,
|
|
15
16
|
startClaudeCodeSession,
|
|
16
17
|
startCliSession,
|
|
17
18
|
startCodexSession
|
|
18
19
|
};
|
|
19
|
-
//# sourceMappingURL=chat-
|
|
20
|
+
//# sourceMappingURL=chat-3XDVULFH.js.map
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SchemaVersionSchema,
|
|
3
3
|
SettingsPrivateSchema,
|
|
4
|
-
SettingsSchema
|
|
4
|
+
SettingsSchema
|
|
5
|
+
} from "./chunk-QRMG6GMX.js";
|
|
6
|
+
import {
|
|
5
7
|
env,
|
|
6
8
|
legacyMachineFilePath,
|
|
7
9
|
machineFilePath,
|
|
8
10
|
machineRoot,
|
|
9
11
|
orgVaultRoot
|
|
10
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-LTLOVQJQ.js";
|
|
11
13
|
|
|
12
14
|
// ../server/src/services/settings-manager.ts
|
|
13
15
|
import { readFile, writeFile, rename, mkdir, chmod } from "fs/promises";
|
|
@@ -149,4 +151,4 @@ var settingsManager = new SettingsManager();
|
|
|
149
151
|
export {
|
|
150
152
|
settingsManager
|
|
151
153
|
};
|
|
152
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-5GYBAMHV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../server/src/services/settings-manager.ts"],"sourcesContent":["import { readFile, writeFile, rename, mkdir, chmod } from 'node:fs/promises';\nimport { env } from '../config/env.js';\nimport { join } from 'node:path';\nimport { machineFilePath, legacyMachineFilePath, machineRoot, orgVaultRoot } from './vault-resolver.js';\nimport { SettingsSchema, SchemaVersionSchema, SettingsPrivateSchema } from '@runeya/packages-shared';\nimport type { Settings, SchemaVersion, SettingsPrivate } from '@runeya/packages-shared';\n\nconst SETTINGS_FILE = 'settings.json';\nconst SETTINGS_PRIVATE_FILE = 'settings.private.json';\nconst SCHEMA_VERSION_FILE = 'schema-version.json';\nconst CURRENT_SCHEMA_VERSION = 4;\n\n/**\n * Les réglages vivent dans le coffre de ce qu'ils configurent.\n *\n * Ils étaient au niveau machine — un fichier pour tout le poste — alors qu'ils\n * décrivent des choses qui appartiennent à des organisations différentes : les\n * fournisseurs d'IA qui paient le travail d'une équipe, les scénarios qui\n * décrivent ses services. Un réglage global obligeait donc à partager la clé\n * machine pour partager un secret d'organisation.\n *\n * `vault` désigne le coffre : l'identifiant d'une organisation, ou l'absence\n * pour le répertoire de lancement — celui d'un projet local, qui n'appartient à\n * personne d'autre. Rien ne reste au niveau machine sinon la session cloud,\n * irréductible puisque c'est elle qui donne accès aux organisations.\n */\nclass SettingsManager {\n private settings = new Map<string, Settings>();\n private settingsPrivate = new Map<string, SettingsPrivate>();\n private schemaVersion: SchemaVersion | null = null;\n\n /**\n * Le coffre visé, sous forme de racine sur le disque.\n *\n * Sans organisation, la racine machine — pas le répertoire de lancement. Ce\n * n'est pas un reste de l'ancien monde : y écrire forcerait un `.runeya` à\n * exister chez quelqu'un qui ne travaille que sur des projets cloud, ce que\n * les coffres ont justement supprimé (et ce qu'un test garde).\n */\n private rootOf(vault?: string): string {\n return vault ? orgVaultRoot(vault) : machineRoot();\n }\n\n private cacheKey(vault?: string): string {\n return vault ?? '';\n }\n\n private async atomicWrite(filename: string, data: unknown, vault?: string): Promise<void> {\n const root = this.rootOf(vault);\n await mkdir(root, { recursive: true });\n const filePath = join(root, filename);\n const tmpPath = filePath + '.tmp';\n await writeFile(tmpPath, JSON.stringify(data, null, 2), 'utf-8');\n await rename(tmpPath, filePath);\n await chmod(filePath, 0o600);\n }\n\n /**\n * Lire le fichier de CE coffre, et rien d'autre.\n *\n * Pas de repli sur un autre emplacement : un réglage lu ailleurs que là où il\n * est écrit fait deux vérités pour un même fait, et l'accord entre les deux\n * devient une chose de plus à tenir. Ce que les versions précédentes ont\n * écrit ailleurs est déplacé une fois pour toutes par\n * `migrateSettingsIntoVaults`, pas relu indéfiniment.\n */\n private async readJson<T>(filename: string, vault?: string): Promise<T | null> {\n try {\n return JSON.parse(await readFile(join(this.rootOf(vault), filename), 'utf-8')) as T;\n } catch {\n return null;\n }\n }\n\n /** Vide les caches — après un déplacement de fichiers sous nos pieds. */\n forget(): void {\n this.settings.clear();\n this.settingsPrivate.clear();\n }\n\n /** Un fichier qui appartient au poste, pas à un coffre. */\n private async readMachineJson<T>(filename: string): Promise<T | null> {\n for (const path of [machineFilePath(filename), legacyMachineFilePath(filename)]) {\n try {\n return JSON.parse(await readFile(path, 'utf-8')) as T;\n } catch {\n // Try the next location.\n }\n }\n return null;\n }\n\n async getSettings(vault?: string): Promise<Settings> {\n const key = this.cacheKey(vault);\n let current = this.settings.get(key);\n if (!current) {\n const raw = await this.readJson<unknown>(SETTINGS_FILE, vault);\n const parsed = raw ? SettingsSchema.safeParse(raw) : null;\n if (parsed?.success) {\n current = parsed.data;\n this.settings.set(key, current);\n } else {\n current = SettingsSchema.parse({ mode: env.MODE, cloudUrl: env.CLOUD_URL ?? null });\n await this.saveSettings(current, vault);\n }\n }\n return current;\n }\n\n async saveSettings(settings: Settings, vault?: string): Promise<void> {\n this.settings.set(this.cacheKey(vault), settings);\n await this.atomicWrite(SETTINGS_FILE, settings, vault);\n }\n\n async getPrivateSettings(vault?: string): Promise<SettingsPrivate> {\n const key = this.cacheKey(vault);\n let current = this.settingsPrivate.get(key);\n if (!current) {\n const raw = await this.readJson<unknown>(SETTINGS_PRIVATE_FILE, vault);\n const parsed = raw ? SettingsPrivateSchema.safeParse(raw) : null;\n if (parsed?.success) {\n current = parsed.data;\n this.settingsPrivate.set(key, current);\n } else {\n current = SettingsPrivateSchema.parse({});\n await this.savePrivateSettings(current, vault);\n }\n }\n return current;\n }\n\n async savePrivateSettings(settings: SettingsPrivate, vault?: string): Promise<void> {\n this.settingsPrivate.set(this.cacheKey(vault), settings);\n await this.atomicWrite(SETTINGS_PRIVATE_FILE, settings, vault);\n }\n\n /**\n * La version de schéma reste au niveau machine, et ce n'est pas un oubli :\n * elle ne configure rien, elle date les migrations des données de ce poste.\n */\n async getSchemaVersion(): Promise<SchemaVersion> {\n if (!this.schemaVersion) {\n const raw = await this.readMachineJson<unknown>(SCHEMA_VERSION_FILE);\n const parsed = raw ? SchemaVersionSchema.safeParse(raw) : null;\n if (parsed?.success) {\n this.schemaVersion = parsed.data;\n } else {\n this.schemaVersion = { version: CURRENT_SCHEMA_VERSION, migratedAt: new Date() };\n await this.saveSchemaVersion(this.schemaVersion);\n }\n }\n return this.schemaVersion;\n }\n\n async saveSchemaVersion(sv: SchemaVersion): Promise<void> {\n this.schemaVersion = sv;\n await mkdir(machineRoot(), { recursive: true });\n const filePath = machineFilePath(SCHEMA_VERSION_FILE);\n const tmpPath = filePath + '.tmp';\n await writeFile(tmpPath, JSON.stringify(sv, null, 2), 'utf-8');\n await rename(tmpPath, filePath);\n await chmod(filePath, 0o600);\n }\n\n getCurrentSchemaVersion(): number {\n return CURRENT_SCHEMA_VERSION;\n }\n}\n\nexport const settingsManager = new SettingsManager();\n"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../server/src/services/settings-manager.ts"],"sourcesContent":["import { readFile, writeFile, rename, mkdir, chmod } from 'node:fs/promises';\nimport { env } from '../config/env.js';\nimport { join } from 'node:path';\nimport { machineFilePath, legacyMachineFilePath, machineRoot, orgVaultRoot } from './vault-resolver.js';\nimport { SettingsSchema, SchemaVersionSchema, SettingsPrivateSchema } from '@runeya/packages-shared';\nimport type { Settings, SchemaVersion, SettingsPrivate } from '@runeya/packages-shared';\n\nconst SETTINGS_FILE = 'settings.json';\nconst SETTINGS_PRIVATE_FILE = 'settings.private.json';\nconst SCHEMA_VERSION_FILE = 'schema-version.json';\nconst CURRENT_SCHEMA_VERSION = 4;\n\n/**\n * Les réglages vivent dans le coffre de ce qu'ils configurent.\n *\n * Ils étaient au niveau machine — un fichier pour tout le poste — alors qu'ils\n * décrivent des choses qui appartiennent à des organisations différentes : les\n * fournisseurs d'IA qui paient le travail d'une équipe, les scénarios qui\n * décrivent ses services. Un réglage global obligeait donc à partager la clé\n * machine pour partager un secret d'organisation.\n *\n * `vault` désigne le coffre : l'identifiant d'une organisation, ou l'absence\n * pour le répertoire de lancement — celui d'un projet local, qui n'appartient à\n * personne d'autre. Rien ne reste au niveau machine sinon la session cloud,\n * irréductible puisque c'est elle qui donne accès aux organisations.\n */\nclass SettingsManager {\n private settings = new Map<string, Settings>();\n private settingsPrivate = new Map<string, SettingsPrivate>();\n private schemaVersion: SchemaVersion | null = null;\n\n /**\n * Le coffre visé, sous forme de racine sur le disque.\n *\n * Sans organisation, la racine machine — pas le répertoire de lancement. Ce\n * n'est pas un reste de l'ancien monde : y écrire forcerait un `.runeya` à\n * exister chez quelqu'un qui ne travaille que sur des projets cloud, ce que\n * les coffres ont justement supprimé (et ce qu'un test garde).\n */\n private rootOf(vault?: string): string {\n return vault ? orgVaultRoot(vault) : machineRoot();\n }\n\n private cacheKey(vault?: string): string {\n return vault ?? '';\n }\n\n private async atomicWrite(filename: string, data: unknown, vault?: string): Promise<void> {\n const root = this.rootOf(vault);\n await mkdir(root, { recursive: true });\n const filePath = join(root, filename);\n const tmpPath = filePath + '.tmp';\n await writeFile(tmpPath, JSON.stringify(data, null, 2), 'utf-8');\n await rename(tmpPath, filePath);\n await chmod(filePath, 0o600);\n }\n\n /**\n * Lire le fichier de CE coffre, et rien d'autre.\n *\n * Pas de repli sur un autre emplacement : un réglage lu ailleurs que là où il\n * est écrit fait deux vérités pour un même fait, et l'accord entre les deux\n * devient une chose de plus à tenir. Ce que les versions précédentes ont\n * écrit ailleurs est déplacé une fois pour toutes par\n * `migrateSettingsIntoVaults`, pas relu indéfiniment.\n */\n private async readJson<T>(filename: string, vault?: string): Promise<T | null> {\n try {\n return JSON.parse(await readFile(join(this.rootOf(vault), filename), 'utf-8')) as T;\n } catch {\n return null;\n }\n }\n\n /** Vide les caches — après un déplacement de fichiers sous nos pieds. */\n forget(): void {\n this.settings.clear();\n this.settingsPrivate.clear();\n }\n\n /** Un fichier qui appartient au poste, pas à un coffre. */\n private async readMachineJson<T>(filename: string): Promise<T | null> {\n for (const path of [machineFilePath(filename), legacyMachineFilePath(filename)]) {\n try {\n return JSON.parse(await readFile(path, 'utf-8')) as T;\n } catch {\n // Try the next location.\n }\n }\n return null;\n }\n\n async getSettings(vault?: string): Promise<Settings> {\n const key = this.cacheKey(vault);\n let current = this.settings.get(key);\n if (!current) {\n const raw = await this.readJson<unknown>(SETTINGS_FILE, vault);\n const parsed = raw ? SettingsSchema.safeParse(raw) : null;\n if (parsed?.success) {\n current = parsed.data;\n this.settings.set(key, current);\n } else {\n current = SettingsSchema.parse({ mode: env.MODE, cloudUrl: env.CLOUD_URL ?? null });\n await this.saveSettings(current, vault);\n }\n }\n return current;\n }\n\n async saveSettings(settings: Settings, vault?: string): Promise<void> {\n this.settings.set(this.cacheKey(vault), settings);\n await this.atomicWrite(SETTINGS_FILE, settings, vault);\n }\n\n async getPrivateSettings(vault?: string): Promise<SettingsPrivate> {\n const key = this.cacheKey(vault);\n let current = this.settingsPrivate.get(key);\n if (!current) {\n const raw = await this.readJson<unknown>(SETTINGS_PRIVATE_FILE, vault);\n const parsed = raw ? SettingsPrivateSchema.safeParse(raw) : null;\n if (parsed?.success) {\n current = parsed.data;\n this.settingsPrivate.set(key, current);\n } else {\n current = SettingsPrivateSchema.parse({});\n await this.savePrivateSettings(current, vault);\n }\n }\n return current;\n }\n\n async savePrivateSettings(settings: SettingsPrivate, vault?: string): Promise<void> {\n this.settingsPrivate.set(this.cacheKey(vault), settings);\n await this.atomicWrite(SETTINGS_PRIVATE_FILE, settings, vault);\n }\n\n /**\n * La version de schéma reste au niveau machine, et ce n'est pas un oubli :\n * elle ne configure rien, elle date les migrations des données de ce poste.\n */\n async getSchemaVersion(): Promise<SchemaVersion> {\n if (!this.schemaVersion) {\n const raw = await this.readMachineJson<unknown>(SCHEMA_VERSION_FILE);\n const parsed = raw ? SchemaVersionSchema.safeParse(raw) : null;\n if (parsed?.success) {\n this.schemaVersion = parsed.data;\n } else {\n this.schemaVersion = { version: CURRENT_SCHEMA_VERSION, migratedAt: new Date() };\n await this.saveSchemaVersion(this.schemaVersion);\n }\n }\n return this.schemaVersion;\n }\n\n async saveSchemaVersion(sv: SchemaVersion): Promise<void> {\n this.schemaVersion = sv;\n await mkdir(machineRoot(), { recursive: true });\n const filePath = machineFilePath(SCHEMA_VERSION_FILE);\n const tmpPath = filePath + '.tmp';\n await writeFile(tmpPath, JSON.stringify(sv, null, 2), 'utf-8');\n await rename(tmpPath, filePath);\n await chmod(filePath, 0o600);\n }\n\n getCurrentSchemaVersion(): number {\n return CURRENT_SCHEMA_VERSION;\n }\n}\n\nexport const settingsManager = new SettingsManager();\n"],"mappings":"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","names":[]}
|
|
@@ -24,14 +24,16 @@ import {
|
|
|
24
24
|
setProjectServices,
|
|
25
25
|
setProjectVault,
|
|
26
26
|
wasRead
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-NPORVPEO.js";
|
|
28
28
|
import {
|
|
29
29
|
COMPANION_RELAY_CLOSE,
|
|
30
30
|
COMPANION_RELAY_OPEN,
|
|
31
31
|
ProjectSchema,
|
|
32
|
+
extractCompanionRelay
|
|
33
|
+
} from "./chunk-QRMG6GMX.js";
|
|
34
|
+
import {
|
|
32
35
|
allVaultRoots,
|
|
33
36
|
ensureLocalVault,
|
|
34
|
-
extractCompanionRelay,
|
|
35
37
|
keyedFilePath,
|
|
36
38
|
legacyMachineFilePath,
|
|
37
39
|
listCloudVaults,
|
|
@@ -41,7 +43,7 @@ import {
|
|
|
41
43
|
orgIdOfRoot,
|
|
42
44
|
vaultFor,
|
|
43
45
|
vaultIdOfRoot
|
|
44
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-LTLOVQJQ.js";
|
|
45
47
|
|
|
46
48
|
// ../server/src/services/companion.ts
|
|
47
49
|
import { EventEmitter as EventEmitter4 } from "events";
|
|
@@ -1857,7 +1859,7 @@ async function runCompanionForTurn(conversationId) {
|
|
|
1857
1859
|
if (!hasNew) {
|
|
1858
1860
|
return trace(conversationId, `rien de neuf \xE0 relire (${messageCount} messages)`);
|
|
1859
1861
|
}
|
|
1860
|
-
const { startCliSession } = await import("./chat-
|
|
1862
|
+
const { startCliSession } = await import("./chat-3XDVULFH.js");
|
|
1861
1863
|
const companionConv = await ensureCompanionConversation(conv);
|
|
1862
1864
|
const isFirstTurn = (companionConv.messages?.length ?? 0) === 0;
|
|
1863
1865
|
const exchange = formatExchange(conv.messages, from);
|
|
@@ -1951,7 +1953,7 @@ async function deliverToMainConversation(conv, message) {
|
|
|
1951
1953
|
async function attemptDelivery(conv, message) {
|
|
1952
1954
|
if (await writeToLivePty(conv.id, message)) return "pty";
|
|
1953
1955
|
try {
|
|
1954
|
-
const { startCliSession } = await import("./chat-
|
|
1956
|
+
const { startCliSession } = await import("./chat-3XDVULFH.js");
|
|
1955
1957
|
await startCliSession(conv.runner, conv.id, message, { jwt: await signJwt() });
|
|
1956
1958
|
return "headless";
|
|
1957
1959
|
} catch (err) {
|
|
@@ -1974,7 +1976,7 @@ async function writeToLivePty(conversationId, message) {
|
|
|
1974
1976
|
}
|
|
1975
1977
|
async function companionSettings() {
|
|
1976
1978
|
try {
|
|
1977
|
-
const { settingsManager } = await import("./settings-manager-
|
|
1979
|
+
const { settingsManager } = await import("./settings-manager-Y4GNAXOH.js");
|
|
1978
1980
|
const settings = await settingsManager.getSettings();
|
|
1979
1981
|
return settings.companion ?? { enabledByDefault: false };
|
|
1980
1982
|
} catch {
|
|
@@ -2093,4 +2095,4 @@ export {
|
|
|
2093
2095
|
companionSettings,
|
|
2094
2096
|
initCompanion
|
|
2095
2097
|
};
|
|
2096
|
-
//# sourceMappingURL=chunk-
|
|
2098
|
+
//# sourceMappingURL=chunk-AAK7ACHG.js.map
|