@runeya/runeya 2.0.50 → 2.0.52
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 +58 -17
- package/agent/index.js.map +1 -1
- package/agent-manager-FD2NGRIW.js +7 -0
- package/{chunk-JBR3MGS7.js → chunk-IHUELGIB.js} +216 -79
- package/chunk-IHUELGIB.js.map +1 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/{src-LLRT5YLM.js → src-MHKSKRBK.js} +10506 -10177
- package/src-MHKSKRBK.js.map +1 -0
- package/web/assets/{AgentScalarChatInterface.vue-D53JSFzC.js → AgentScalarChatInterface.vue-JTgBbqsP.js} +1 -1
- package/web/assets/{AgentTerminalPage-zuXFRGB0.js → AgentTerminalPage-fXxKDSBp.js} +1 -1
- package/web/assets/AiChatPage-Bp7ILsub.js +1 -0
- package/web/assets/AppLayout-BKe5kedw.js +1 -0
- package/web/assets/{AppLayout-D1bdzemo.css → AppLayout-CDh-jiJ3.css} +1 -1
- package/web/assets/{AuditPage-DvhG8fxh.js → AuditPage-Ddclku7y.js} +1 -1
- package/web/assets/CloudAccountPage-CJvovJKI.js +1 -0
- package/web/assets/CloudAccountPage-CbfN4BNY.js +1 -0
- package/web/assets/CloudAccountPage-CkavjE7H.css +1 -0
- package/web/assets/{CloudMessagingPage-okqqdltV.js → CloudMessagingPage-DL7yhkIr.js} +1 -1
- package/web/assets/{DashboardPage-CmZITjvU.js → DashboardPage-C5_XFyV4.js} +1 -1
- package/web/assets/{EditorIcon-dUXSIPv3.js → EditorIcon-DGhMRlEH.js} +1 -1
- package/web/assets/{EnvironmentForm-_y5JoRHH.js → EnvironmentForm-Cukn9qzo.js} +1 -1
- package/web/assets/{EnvironmentFormPage-DYhDZdPj.js → EnvironmentFormPage-BpfgeFpg.js} +1 -1
- package/web/assets/{EnvironmentListPage-soh5FJDb.js → EnvironmentListPage-Li3GLLyj.js} +1 -1
- package/web/assets/{EnvironmentSelector-CQNLsssr.js → EnvironmentSelector-BWHfZMtZ.js} +1 -1
- package/web/assets/{KanbanBoardPage-C3cG7v4z.js → KanbanBoardPage-1w2I89mN.js} +3 -3
- package/web/assets/{KanbanListPage-xyv-oiyq.js → KanbanListPage-DK1fKIHQ.js} +1 -1
- package/web/assets/{LaunchProjectPage-DKqMjh-V.js → LaunchProjectPage-D_cvL12d.js} +1 -1
- package/web/assets/{LaunchServicesPage-IhWdB_Gw.js → LaunchServicesPage-CXjCCXsD.js} +1 -1
- package/web/assets/{LogViewer-ChElXmMu.js → LogViewer-UxzuKlYv.js} +1 -1
- package/web/assets/{ProcessControls-t9skQ_zd.js → ProcessControls-CQ8xwnrF.js} +1 -1
- package/web/assets/{ProcessDetailPage-DFv0ESg1.js → ProcessDetailPage-Cs2iFdad.js} +1 -1
- package/web/assets/{ProcessMetrics-DL00NyoX.js → ProcessMetrics-Clh3v2iV.js} +1 -1
- package/web/assets/{ProjectDetailPage-DEXvg1pg.js → ProjectDetailPage-yy_WuImd.js} +1 -1
- package/web/assets/{ProjectListPage-h0AQ_RCw.js → ProjectListPage-BLc6N4m9.js} +1 -1
- package/web/assets/{RandomJobTestPage-Dp7A7Qgx.js → RandomJobTestPage--f9IHi8X.js} +1 -1
- package/web/assets/{ScenarioEditorPage-D0_VpZUT.js → ScenarioEditorPage-CGGi9d-0.js} +1 -1
- package/web/assets/{SendToChatDialog-BpJetpLA.js → SendToChatDialog-Do2v5Six.js} +1 -1
- package/web/assets/{ServiceControlsBar-qiCaxnab.js → ServiceControlsBar-BssqBAbh.js} +1 -1
- package/web/assets/{ServiceDetailPage-BD8D0CuN.js → ServiceDetailPage-BX5JWwRn.js} +1 -1
- package/web/assets/{ServiceFormPage-Dax40DkX.js → ServiceFormPage-B_rj0cRE.js} +1 -1
- package/web/assets/SettingsPage-B992G0HP.js +2062 -0
- package/web/assets/{SettingsPage-C9WtnczY.css → SettingsPage-jkWxbWkZ.css} +1 -1
- package/web/assets/{UnlockPage-BYtu3w_t.js → UnlockPage-hsk1oePv.js} +1 -1
- package/web/assets/{VariablesTable-IvhXwdsn.js → VariablesTable-BcufD-wK.js} +1 -1
- package/web/assets/{VaultMigrationPage-6Id4Fmeo.js → VaultMigrationPage-g7BEHG1W.js} +1 -1
- package/web/assets/{VersionBadge-B-PtNx51.js → VersionBadge-al4x1GFB.js} +1 -1
- package/web/assets/WikiPage-7B9dOrIk.js +1 -0
- package/web/assets/{WikiView-BZvgaTQp.js → WikiView-DmKiYIq5.js} +1 -1
- package/web/assets/{add-scalar-classes-CEf8wgbL.js → add-scalar-classes-BSEzJner.js} +3 -3
- package/web/assets/auth-errors-6e5dqdyJ.js +1 -0
- package/web/assets/{autocomplete-DpSrZtZQ.js → autocomplete-BKoTlKQ4.js} +1 -1
- package/web/assets/{basic-shape-diamond.svg-BxBPwaOm.js → basic-shape-diamond.svg-YpT_2yGM.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-Du908vLS.js → basic-shape-hexagon.svg-ZHh7P2mz.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-CfFm5Pl7.js → basic-shape-primary-circle-ellipse-round.svg-yEGfULrq.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-CP0kG7Ut.js → basic-shape-primary-square-rectangle.svg-CV_MBv8E.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-DxTsLdrS.js → basic-shape-shield.svg-CLVN0WJX.js} +1 -1
- package/web/assets/{browser-BvCyKum4.js → browser-C_GxJ_3e.js} +1 -1
- package/web/assets/{browser-DV9-oWjy.js → browser-D4w7UetE.js} +1 -1
- package/web/assets/{card-TJ-av0Pi.js → card-BuAageiY.js} +1 -1
- package/web/assets/{checkbox-D5bej0ao.js → checkbox-DeY_k6xP.js} +1 -1
- package/web/assets/{chip-D8vO8NID.js → chip-DrQIKVKn.js} +1 -1
- package/web/assets/{client-D5eMRPpD.js → client-DE0Y5Nrj.js} +1 -1
- package/web/assets/{cloud-chat.store-DzSz0QMb.js → cloud-chat.store-fBYK5Cgw.js} +1 -1
- package/web/assets/{cloud-session-tALRHewK.js → cloud-session-BuGqIC29.js} +1 -1
- package/web/assets/{column-BAToyYIb.js → column-DEHgjs7t.js} +1 -1
- package/web/assets/{computer-device-desktop-monitor.svg-82Glaw7U.js → computer-device-desktop-monitor.svg-FAeSFvzj.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-BZb-XFcK.js → computer-device-desktop.svg-DA-GQ3hr.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-BnptbmCn.js → computer-device-laptop.svg-D2eE8iPZ.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-g23ZYYHm.js → computer-device-mobile-phone-android-samsung-back.svg-B6zevToY.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-B5fBZlIN.js → computer-device-mobile-phone-android-samsung.svg-BmxrNEhr.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-BsKZAUH_.js → computer-device-mobile-phone-iphone-x-back.svg-CojBzdim.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-GVv-OoXC.js → computer-device-mobile-phone-iphone-x.svg-1BUZ4i95.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-CpyRybCz.js → computer-device-mobile-tablet-touch.svg-CSfNBal6.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-C_6zzbHC.js → computer-device-mobile-tablet.svg-twjoIYnU.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-s_MRa0bJ.js → computer-device-network-ethernet-cat6.svg-DeLJr_Bg.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-31TS3sqT.js → computer-device-network-lan-www.svg-D4tLpabf.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-BfBnT-iK.js → computer-device-network-wifi-connection.svg-DkinP8JJ.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-BNQJ_FEI.js → computer-device-network-wifi-router.svg-CbTYcPoV.js} +1 -1
- package/web/assets/{cssMode-IplHgA8x.js → cssMode-B-5qMS9W.js} +1 -1
- package/web/assets/{divider-D-QC8_57.js → divider-CMl36DmL.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-CKCEQFIq.js → ecology-science-erlenmeyer-flask.svg-h7u0Vs9p.js} +1 -1
- package/web/assets/{fieldset-DpQHSMKf.js → fieldset-C1yXTDn4.js} +1 -1
- package/web/assets/{freemarker2-DHUVsWtT.js → freemarker2-CjLTuk8k.js} +1 -1
- package/web/assets/{handlebars-pE00Hjr_.js → handlebars-DGqtsUFa.js} +1 -1
- package/web/assets/{html-DMtmtVNV.js → html-i8MbH284.js} +1 -1
- package/web/assets/{htmlMode-DFeVLqUM.js → htmlMode-ClDqI0EC.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-NAFI_e2J.js → image-flash-lightning.svg-B8iwzLyv.js} +1 -1
- package/web/assets/{image-picture-flower.svg-B6ZUCTNS.js → image-picture-flower.svg-Dk0wJr-9.js} +1 -1
- package/web/assets/{index-a1iwaPG1.js → index-Dp6bkX9T.js} +5 -5
- package/web/assets/{interface-alert-exclamation-diamond.svg-CwHTxp3a.js → interface-alert-exclamation-diamond.svg-BsbY85gZ.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-Bi-1vcWG.js → interface-alert-exclamation-triangle-warning.svg-DP1wSCt3.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-CQnbLMfS.js → interface-alert-information-circle.svg-Xh0RC3va.js} +1 -1
- package/web/assets/{interface-award-crown.svg-CFtMz4dE.js → interface-award-crown.svg-BYXc7LVx.js} +1 -1
- package/web/assets/{interface-bookmark.svg-7SV2pxyN.js → interface-bookmark-tag.svg-ket4A6Lr.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-DumdjnW1.js → interface-bookmark.svg-DDQ_ylEK.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-e7-h1b3y.js → interface-calendar-date-one.svg-TCIcZLUR.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-DwLQV4lf.js → interface-content-book-open-pages.svg-HpGg1i7p.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-CAKDQ2x-.js → interface-content-book-page.svg-DanHo22R.js} +1 -1
- package/web/assets/{interface-content-file.svg-DZEwGNLB.js → interface-content-file.svg-D_7M3Gzg.js} +1 -1
- package/web/assets/{interface-content-folder.svg-BnFYmNMO.js → interface-content-folder.svg-B56JOABU.js} +1 -1
- package/web/assets/interface-content-folder.svg-bcqnWOK0.js +1 -0
- package/web/assets/{interface-copy-clipboard.svg-9UwhLON-.js → interface-copy-clipboard.svg-D6pxFSYk.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-C1_u9TNx.js → interface-edit-attachment.svg-CgbZkf8y.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-DoQnsqHf.js → interface-edit-binocular.svg-DlKyYNaD.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-C7wTd6JH.js → interface-edit-magic-wand.svg-3Z3vgwMa.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-BZ4hqe-1.js → interface-edit-tool-paint-roller.svg-B0HQxlm0.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-D1bysygW.js → interface-edit-tool-pencil.svg-DTBA5aOW.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-0Thu2k9M.js → interface-favorite-award.svg-D2sdh8hY.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-DI4_vrUQ.js → interface-favorite-flag.svg-BwolDorS.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-DpwKtPuU.js → interface-favorite-heart.svg-C0xoK2eX.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-D-udxHVN.js → interface-favorite-star.svg-B3u5n7c2.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-Dc4Z9Mjg.js → interface-favorite-stars-sparkles.svg-BQ6_nHMc.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-vfERX-oc.js → interface-hierarchy-flowchart.svg-DpR1KgBm.js} +1 -1
- package/web/assets/{interface-home-house.svg-BY98XY-a.js → interface-home-house.svg-Cxdi_eZT.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-8D6WX1Q9.js → interface-hyperlink.svg-D3Az4MB1.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-DUoPpiwx.js → interface-lighting-brightness.svg-CFCx0wxJ.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-CzFKU_Z4.js → interface-lock-closed.svg-4nQ3nAjd.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-BnrVx0lo.js → interface-lock-open-unlock.svg-DEZb7XRS.js} +1 -1
- package/web/assets/{interface-login-key.svg-DAfv-MMA.js → interface-login-key.svg-BzhBvtOH.js} +1 -1
- package/web/assets/{interface-search.svg-Q2hCozQb.js → interface-search.svg-BTVjJsdx.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-Bvq0dvZR.js → interface-setting-cog.svg-BfeZ86e-.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-fUmta8NQ.js → interface-share-megaphone-bullhorn.svg-BuX4jZss.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-BKSZkx2r.js → interface-share-rocket.svg-QkrdvPm3.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-CB_uwNHS.js → interface-share-satellite.svg-Cdu9Ssss.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-CcUB1z0B.js → interface-share-space-ship.svg-DL0JpObS.js} +1 -1
- package/web/assets/{interface-share.svg-Bug50vV0.js → interface-share.svg-BIBmVu-Z.js} +1 -1
- package/web/assets/{interface-signal-square.svg-zg41vf79.js → interface-signal-square.svg-DBiXDixA.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-a4omIVlV.js → interface-time-clock-circle.svg-Dw8ufcru.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-3zmzbQg_.js → interface-time-hour-glass.svg-DW-VGZ9S.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-BdPX2m6Y.js → interface-users-multiple.svg-BINNDDOm.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-D9_m-QTi.js → interface-weather-moon.svg-7AwWEmfi.js} +1 -1
- package/web/assets/{javascript-BJlgvmgy.js → javascript-BmwETCoN.js} +1 -1
- package/web/assets/{jsonMode-D0zJGMKu.js → jsonMode-jhfq8N1j.js} +1 -1
- package/web/assets/{liquid-B0fONmvZ.js → liquid-CXHFHq2a.js} +1 -1
- package/web/assets/{lspLanguageFeatures-CrwGD4mx.js → lspLanguageFeatures-DNlDiaf8.js} +1 -1
- package/web/assets/{mail-chat-bubble-square.svg-DZaD3FQ3.js → mail-chat-bubble-square.svg-Cbw9XSWq.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-DkbRfjXY.js → mail-send-email-paper-airplane.svg-BsOn0WRk.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-5c8j8mB_.js → mail-send-envelope.svg-FiCVjNhS.js} +1 -1
- package/web/assets/{mdx-CKW2c2uF.js → mdx-BXQ_HHCT.js} +1 -1
- package/web/assets/{message-DZ0RuJXv.js → message-BhAEg6uM.js} +1 -1
- package/web/assets/{minus-C_n6M3oC.js → minus-DCjXtDL7.js} +1 -1
- package/web/assets/{modal-CvqNyAvh.js → modal-D55b155P.js} +1 -1
- package/web/assets/modal-cjFJ-Pqb.js +1 -0
- package/web/assets/{money-cashier-receipt.svg-nNTup6TP.js → money-cashier-receipt.svg-BPAwldjt.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-D6ct80fW.js → money-currency-dollar-pay.svg-D_nR6kZg.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-DrQ3RzKG.js → money-graph-arrow-increase.svg-CoZwsioR.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-CgI8xnRe.js → money-graph-bar-chart-increase.svg-DTaCKAmM.js} +1 -1
- package/web/assets/{multiselect-CSd05WUd.js → multiselect-By28VIxd.js} +1 -1
- package/web/assets/{nature-ecology-leaf.svg-SIUCD6fX.js → nature-ecology-leaf.svg-AXZXO7rv.js} +1 -1
- package/web/assets/{password-1NqZx53t.js → password-DO4Z8eXp.js} +1 -1
- package/web/assets/{phone-telephone.svg-DuLAx6_w.js → phone-telephone.svg-DsO2IQVY.js} +1 -1
- package/web/assets/{plus-CP-dlA9U.js → plus-yPEoWB54.js} +1 -1
- package/web/assets/process.store-Ddlv2x7t.js +1 -0
- package/web/assets/{programming-bug.svg-DzOMyrsK.js → programming-bug.svg-DKOd0mcH.js} +1 -1
- package/web/assets/{programming-cloud.svg-CB7hznLf.js → programming-cloud.svg-D9jQ_h92.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-Vdd0DgKt.js → programming-computer-database-server.svg-DKTyeoSb.js} +1 -1
- package/web/assets/{programming-computer-database.svg-CEqheAaf.js → programming-computer-database.svg-BDqL3cIA.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-BdPzuTtB.js → programming-module-four-layout.svg-C3VK_bT8.js} +1 -1
- package/web/assets/{programming-module-three.svg-PwBqCXu4.js → programming-module-three.svg-Bq1FzDKb.js} +1 -1
- package/web/assets/{programming-module.svg-DsBi6ejo.js → programming-module.svg-Qm6lzSnJ.js} +1 -1
- package/web/assets/{programming-script-code.svg-Broms4WV.js → programming-script-code.svg-C8X07wUI.js} +1 -1
- package/web/assets/{python-DfCB9qU4.js → python-By6Mp1Ix.js} +1 -1
- package/web/assets/{razor-BBh-Aao5.js → razor-CEUV3zJp.js} +1 -1
- package/web/assets/router-CwxQMOvD.js +1 -0
- package/web/assets/{settings.store-BfNYjk_y.js → settings.store-CdbxGLwM.js} +1 -1
- package/web/assets/{shopping-cart.svg-CKdnb6hR.js → shopping-cart.svg-BRL8Ll51.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-DIxbK0pG.js → shopping-gift-present.svg-CXQFba5I.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-C-9ntsF7.js → shopping-shipping-box-parcel-package.svg-Bn2p6-mI.js} +1 -1
- package/web/assets/{src-C77fweBS.js → src-Fna7vk35.js} +1 -1
- package/web/assets/{src-CXyRAwtR.js → src-ZKiShuw1.js} +1 -1
- package/web/assets/{tabpanel-C0aUv4Tp.js → tabpanel-DWqdAA9H.js} +1 -1
- package/web/assets/{tag-new-circle.svg-D9mnL-uB.js → tag-new-circle.svg-1MfDK7Ga.js} +1 -1
- package/web/assets/{travel-map-earth-globe.svg-B1pf_UKK.js → travel-map-earth-globe.svg-825O-f6n.js} +1 -1
- package/web/assets/trpc-C9TOnzsl.js +1 -0
- package/web/assets/{tsMode-CBiaVW1A.js → tsMode-DijbMMhR.js} +1 -1
- package/web/assets/{typescript-DSa5kNRs.js → typescript-46ax_ZH8.js} +1 -1
- package/web/assets/useAiChatDrawer-Fipk1tL5.js +1 -0
- package/web/assets/{useCloudOrg-DYG5BAW1.js → useCloudOrg-B3j8giwe.js} +1 -1
- package/web/assets/{useProjectCatalog-Dyg12Vcr.js → useProjectCatalog-BW2ZvrJl.js} +1 -1
- package/web/assets/{xml-BYwyGk9G.js → xml-DflJhDfp.js} +1 -1
- package/web/assets/{yaml-Dl2OSYTO.js → yaml-BS1mDEyU.js} +1 -1
- package/web/index.html +1 -1
- package/agent-manager-ABEKUAWR.js +0 -7
- package/chunk-JBR3MGS7.js.map +0 -1
- package/src-LLRT5YLM.js.map +0 -1
- package/web/assets/AiChatPage-BjC9iQnH.js +0 -1
- package/web/assets/AppLayout-fVYVDGr-.js +0 -1
- package/web/assets/CloudAccountPage-CE3b0q5v.js +0 -1
- package/web/assets/CloudAccountPage-ChVg2wnJ.css +0 -1
- package/web/assets/CloudAccountPage-YkGuA0nb.js +0 -1
- package/web/assets/SettingsPage-zriZbuPv.js +0 -2062
- package/web/assets/WikiPage-DqqlIbM6.js +0 -1
- package/web/assets/auth-errors-B510-08J.js +0 -1
- package/web/assets/interface-content-folder.svg-BF9F5qf2.js +0 -1
- package/web/assets/modal-C5SccGq4.js +0 -1
- package/web/assets/process.store-B_vfVoW1.js +0 -1
- package/web/assets/router-CEOd6ZAd.js +0 -1
- package/web/assets/trpc-BNJN8Syq.js +0 -1
- package/web/assets/useAiChatDrawer-DJh6hREC.js +0 -1
- /package/{agent-manager-ABEKUAWR.js.map → agent-manager-FD2NGRIW.js.map} +0 -0
- /package/web/assets/{uuid-B3B8HIK9.js → uuid-B_qWVd9j.js} +0 -0
- /package/web/assets/{w3c-keyname-nn0G3QC2.js → w3c-keyname-CEC6uTIQ.js} +0 -0
|
@@ -6,7 +6,7 @@ import { z as z21 } from "zod";
|
|
|
6
6
|
// ../server/src/services/agent-store.ts
|
|
7
7
|
import { randomUUID, randomBytes, createCipheriv, createDecipheriv } from "crypto";
|
|
8
8
|
import { readFile as readFile2, writeFile as writeFile2, rename, mkdir as mkdir2, chmod } from "fs/promises";
|
|
9
|
-
import { dirname } from "path";
|
|
9
|
+
import { dirname, join as join2 } from "path";
|
|
10
10
|
|
|
11
11
|
// ../server/src/services/vault-resolver.ts
|
|
12
12
|
import { join, sep } from "path";
|
|
@@ -96,11 +96,8 @@ function vaultFor(target) {
|
|
|
96
96
|
var ORG_CLOUD_FILE = "cloud.json";
|
|
97
97
|
async function stampOrgCloud(orgId, cloudUrl) {
|
|
98
98
|
const root = orgVaultRoot(orgId);
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
await writeFile(join(root, ORG_CLOUD_FILE), JSON.stringify({ cloudUrl }, null, 2), "utf-8");
|
|
102
|
-
} catch {
|
|
103
|
-
}
|
|
99
|
+
await mkdir(root, { recursive: true });
|
|
100
|
+
await writeFile(join(root, ORG_CLOUD_FILE), JSON.stringify({ cloudUrl }, null, 2), "utf-8");
|
|
104
101
|
}
|
|
105
102
|
async function readOrgClouds() {
|
|
106
103
|
const orgsDir = join(machineRoot(), "orgs");
|
|
@@ -121,6 +118,14 @@ async function readOrgClouds() {
|
|
|
121
118
|
}
|
|
122
119
|
return out;
|
|
123
120
|
}
|
|
121
|
+
async function listOrgVaults() {
|
|
122
|
+
const orgsDir = join(machineRoot(), "orgs");
|
|
123
|
+
try {
|
|
124
|
+
return (await readdir(orgsDir, { withFileTypes: true })).filter((e) => e.isDirectory() && SAFE_ID.test(e.name)).map((e) => e.name);
|
|
125
|
+
} catch {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
124
129
|
async function listCloudVaults() {
|
|
125
130
|
const orgsDir = join(machineRoot(), "orgs");
|
|
126
131
|
const found = [];
|
|
@@ -286,64 +291,116 @@ var AgentStore = class {
|
|
|
286
291
|
agents = /* @__PURE__ */ new Map();
|
|
287
292
|
passthroughEnv = {};
|
|
288
293
|
traefikConfigs = {};
|
|
294
|
+
/** Le propriétaire de chaque agent, d'après le coffre où il a été lu. */
|
|
295
|
+
owners = /* @__PURE__ */ new Map();
|
|
296
|
+
/**
|
|
297
|
+
* Tous les coffres rencontrés, y compris ceux devenus vides.
|
|
298
|
+
*
|
|
299
|
+
* Déduire cette liste des agents encore présents laisserait le dernier agent
|
|
300
|
+
* d'une organisation dans son fichier après suppression : plus personne pour
|
|
301
|
+
* désigner ce coffre, donc plus personne pour le réécrire.
|
|
302
|
+
*/
|
|
303
|
+
knownOwners = /* @__PURE__ */ new Set([null]);
|
|
289
304
|
loaded = false;
|
|
290
305
|
/**
|
|
291
|
-
*
|
|
292
|
-
*
|
|
306
|
+
* Le fichier d'un propriétaire donné.
|
|
307
|
+
*
|
|
308
|
+
* Pour la machine, il reste à côté de la clé qui l'ouvre (`keyedFilePath`) :
|
|
309
|
+
* lu sous une autre clé il se déchiffrerait en blancs, puis serait réécrit
|
|
310
|
+
* blanc. Pour une organisation, c'est son coffre — la clé, elle, répond
|
|
311
|
+
* toujours pour toute la machine.
|
|
293
312
|
*/
|
|
294
|
-
|
|
295
|
-
return keyedFilePath(FILENAME);
|
|
313
|
+
filePathFor(owner) {
|
|
314
|
+
if (owner === null) return keyedFilePath(FILENAME);
|
|
315
|
+
return Promise.resolve(join2(orgVaultRoot(owner), FILENAME));
|
|
296
316
|
}
|
|
297
317
|
/** Where older versions kept it — read only, so an older Runeya keeps working. */
|
|
298
318
|
getLegacyFilePath() {
|
|
299
319
|
return legacyMachineFilePath(FILENAME);
|
|
300
320
|
}
|
|
321
|
+
/** Ce qu'un fichier de coffre contient, ou null s'il n'y en a pas. */
|
|
322
|
+
async readOwnerFile(owner) {
|
|
323
|
+
const paths = owner === null ? [await this.filePathFor(null), this.getLegacyFilePath()] : [await this.filePathFor(owner)];
|
|
324
|
+
for (const path of paths) {
|
|
325
|
+
let raw;
|
|
326
|
+
try {
|
|
327
|
+
raw = await readFile2(path, "utf-8");
|
|
328
|
+
} catch {
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
try {
|
|
332
|
+
const data = JSON.parse(raw);
|
|
333
|
+
if (Array.isArray(data)) {
|
|
334
|
+
return { agents: data, passthroughEnv: {}, traefikConfigs: {} };
|
|
335
|
+
}
|
|
336
|
+
const fileData = data;
|
|
337
|
+
return {
|
|
338
|
+
agents: fileData.agents ?? [],
|
|
339
|
+
passthroughEnv: fileData.passthroughEnv ?? {},
|
|
340
|
+
traefikConfigs: fileData.traefikConfigs ?? {}
|
|
341
|
+
};
|
|
342
|
+
} catch {
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
301
347
|
/**
|
|
302
|
-
*
|
|
348
|
+
* Lire la machine puis chaque organisation présente sur ce disque.
|
|
303
349
|
*
|
|
304
|
-
*
|
|
305
|
-
*
|
|
350
|
+
* Les organisations sont relues du disque et non d'une liste tenue à part :
|
|
351
|
+
* un coffre qui existe est une organisation dont les agents comptent, et
|
|
352
|
+
* c'est déjà comme ça que la synchronisation décide de sa portée.
|
|
306
353
|
*/
|
|
307
|
-
async readFromDisk() {
|
|
308
|
-
try {
|
|
309
|
-
return await readFile2(await this.getFilePath(), "utf-8");
|
|
310
|
-
} catch {
|
|
311
|
-
return readFile2(this.getLegacyFilePath(), "utf-8");
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
async ensureDir() {
|
|
315
|
-
await mkdir2(dirname(await this.getFilePath()), { recursive: true });
|
|
316
|
-
}
|
|
317
354
|
async load() {
|
|
318
355
|
if (this.loaded) return;
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
const data =
|
|
322
|
-
if (
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
for (const a of fileData.agents) this.agents.set(a.id, a);
|
|
328
|
-
this.passthroughEnv = fileData.passthroughEnv ?? {};
|
|
329
|
-
this.traefikConfigs = fileData.traefikConfigs ?? {};
|
|
356
|
+
const owners = [null, ...await listOrgVaults()];
|
|
357
|
+
for (const owner of owners) {
|
|
358
|
+
const data = await this.readOwnerFile(owner);
|
|
359
|
+
if (!data) continue;
|
|
360
|
+
this.knownOwners.add(owner);
|
|
361
|
+
for (const a of data.agents) {
|
|
362
|
+
this.agents.set(a.id, a);
|
|
363
|
+
this.owners.set(a.id, owner);
|
|
330
364
|
}
|
|
331
|
-
|
|
365
|
+
Object.assign(this.passthroughEnv, data.passthroughEnv);
|
|
366
|
+
Object.assign(this.traefikConfigs, data.traefikConfigs);
|
|
332
367
|
}
|
|
333
368
|
this.loaded = true;
|
|
334
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Réécrire chaque coffre concerné.
|
|
372
|
+
*
|
|
373
|
+
* Un agent emporte son `passthroughEnv` et sa configuration Traefik dans le
|
|
374
|
+
* fichier de son propriétaire : les laisser côté machine rendrait la portée
|
|
375
|
+
* mensongère — l'organisation partirait en laissant ses miettes derrière.
|
|
376
|
+
* Tous les coffres sont réécrits, y compris ceux devenus vides, sinon un
|
|
377
|
+
* agent déplacé subsisterait dans les deux.
|
|
378
|
+
*/
|
|
335
379
|
async save() {
|
|
336
|
-
|
|
337
|
-
const
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
380
|
+
const byOwner = /* @__PURE__ */ new Map();
|
|
381
|
+
for (const owner of this.knownOwners) byOwner.set(owner, []);
|
|
382
|
+
for (const agent of this.agents.values()) {
|
|
383
|
+
const owner = this.owners.get(agent.id) ?? null;
|
|
384
|
+
byOwner.set(owner, [...byOwner.get(owner) ?? [], agent]);
|
|
385
|
+
}
|
|
386
|
+
for (const [owner, agents] of byOwner) {
|
|
387
|
+
const ids = new Set(agents.map((a) => a.id));
|
|
388
|
+
const fileData = {
|
|
389
|
+
agents,
|
|
390
|
+
passthroughEnv: Object.fromEntries(
|
|
391
|
+
Object.entries(this.passthroughEnv).filter(([id]) => ids.has(id))
|
|
392
|
+
),
|
|
393
|
+
traefikConfigs: Object.fromEntries(
|
|
394
|
+
Object.entries(this.traefikConfigs).filter(([id]) => ids.has(id))
|
|
395
|
+
)
|
|
396
|
+
};
|
|
397
|
+
const filePath = await this.filePathFor(owner);
|
|
398
|
+
await mkdir2(dirname(filePath), { recursive: true });
|
|
399
|
+
const tmpPath = filePath + ".tmp";
|
|
400
|
+
await writeFile2(tmpPath, JSON.stringify(fileData, null, 2), "utf-8");
|
|
401
|
+
await rename(tmpPath, filePath);
|
|
402
|
+
await chmod(filePath, 384);
|
|
403
|
+
}
|
|
347
404
|
}
|
|
348
405
|
toAgentConfig(stored) {
|
|
349
406
|
return {
|
|
@@ -370,7 +427,7 @@ var AgentStore = class {
|
|
|
370
427
|
if (!stored) return null;
|
|
371
428
|
return this.toAgentConfig(stored);
|
|
372
429
|
}
|
|
373
|
-
async register(name, url, passphrase) {
|
|
430
|
+
async register(name, url, passphrase, owner = null) {
|
|
374
431
|
await this.load();
|
|
375
432
|
const existing = Array.from(this.agents.values()).find((a) => a.url === url);
|
|
376
433
|
const { encrypted, iv, authTag } = encrypt(passphrase);
|
|
@@ -385,6 +442,8 @@ var AgentStore = class {
|
|
|
385
442
|
const id = randomUUID();
|
|
386
443
|
const stored = { id, name, url, encrypted, iv, authTag };
|
|
387
444
|
this.agents.set(id, stored);
|
|
445
|
+
this.owners.set(id, owner);
|
|
446
|
+
this.knownOwners.add(owner);
|
|
388
447
|
await this.save();
|
|
389
448
|
return { id, name, url, passphrase, passthroughEnv: [] };
|
|
390
449
|
}
|
|
@@ -392,6 +451,7 @@ var AgentStore = class {
|
|
|
392
451
|
await this.load();
|
|
393
452
|
if (!this.agents.has(id)) return false;
|
|
394
453
|
this.agents.delete(id);
|
|
454
|
+
this.owners.delete(id);
|
|
395
455
|
delete this.passthroughEnv[id];
|
|
396
456
|
delete this.traefikConfigs[id];
|
|
397
457
|
await this.save();
|
|
@@ -443,7 +503,7 @@ var agentStore = new AgentStore();
|
|
|
443
503
|
// ../server/src/services/service-store.ts
|
|
444
504
|
import { randomUUID as randomUUID3 } from "crypto";
|
|
445
505
|
import { readFile as readFile4, writeFile as writeFile4, rename as rename3, mkdir as mkdir4, chmod as chmod3, rm as rm2 } from "fs/promises";
|
|
446
|
-
import { join as
|
|
506
|
+
import { join as join4 } from "path";
|
|
447
507
|
|
|
448
508
|
// ../server/src/services/project-key.ts
|
|
449
509
|
function projectKey(ref) {
|
|
@@ -556,7 +616,7 @@ function isVaultConflicted(root) {
|
|
|
556
616
|
// ../server/src/services/environment-store.ts
|
|
557
617
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
558
618
|
import { readFile as readFile3, writeFile as writeFile3, rename as rename2, mkdir as mkdir3, chmod as chmod2, rm } from "fs/promises";
|
|
559
|
-
import { join as
|
|
619
|
+
import { join as join3 } from "path";
|
|
560
620
|
|
|
561
621
|
// ../server/src/services/crypto-helpers.ts
|
|
562
622
|
import { randomBytes as randomBytes2, createCipheriv as createCipheriv2, createDecipheriv as createDecipheriv2 } from "crypto";
|
|
@@ -1951,7 +2011,7 @@ var EnvironmentStore = class {
|
|
|
1951
2011
|
*/
|
|
1952
2012
|
roots = /* @__PURE__ */ new Map();
|
|
1953
2013
|
getFilePath(root) {
|
|
1954
|
-
return
|
|
2014
|
+
return join3(root, FILENAME2);
|
|
1955
2015
|
}
|
|
1956
2016
|
/**
|
|
1957
2017
|
* The vault an environment must be written to: its project's.
|
|
@@ -2468,7 +2528,7 @@ var ServiceStore = class {
|
|
|
2468
2528
|
/** Which vault each service was read from, used until its project is known. */
|
|
2469
2529
|
roots = /* @__PURE__ */ new Map();
|
|
2470
2530
|
getFilePath(root) {
|
|
2471
|
-
return
|
|
2531
|
+
return join4(root, FILENAME3);
|
|
2472
2532
|
}
|
|
2473
2533
|
/**
|
|
2474
2534
|
* The vault a service must be written to: the one of the project owning it.
|
|
@@ -2581,6 +2641,24 @@ var ServiceStore = class {
|
|
|
2581
2641
|
await this.load();
|
|
2582
2642
|
await this.save();
|
|
2583
2643
|
}
|
|
2644
|
+
/**
|
|
2645
|
+
* Réattribuer l'organisation de services dont le projet vient de changer de
|
|
2646
|
+
* coffre.
|
|
2647
|
+
*
|
|
2648
|
+
* Un service porte son `orgId` en propre : laissé à `null` après le passage
|
|
2649
|
+
* du projet dans une organisation, il partirait dans le doc en se disant
|
|
2650
|
+
* local. La sauvegarde qui suit les écrit dans leur nouveau coffre et les
|
|
2651
|
+
* retire de l'ancien, le registre ayant déjà été mis à jour par le projet.
|
|
2652
|
+
*/
|
|
2653
|
+
async reassignOrg(serviceIds, orgId) {
|
|
2654
|
+
await this.load();
|
|
2655
|
+
for (const id of serviceIds) {
|
|
2656
|
+
const service = this.services.get(id);
|
|
2657
|
+
if (service) this.services.set(id, { ...service, orgId });
|
|
2658
|
+
}
|
|
2659
|
+
await this.save();
|
|
2660
|
+
this.notify();
|
|
2661
|
+
}
|
|
2584
2662
|
async list() {
|
|
2585
2663
|
await this.load();
|
|
2586
2664
|
return Array.from(this.services.values());
|
|
@@ -2739,28 +2817,81 @@ var serviceStore = new ServiceStore();
|
|
|
2739
2817
|
import { spawn } from "child_process";
|
|
2740
2818
|
import { createInterface } from "readline";
|
|
2741
2819
|
import { watch } from "fs";
|
|
2742
|
-
import { dirname as dirname2, join as
|
|
2820
|
+
import { dirname as dirname2, join as join5 } from "path";
|
|
2743
2821
|
import { fileURLToPath } from "url";
|
|
2822
|
+
var POSIX_SAFE_KEYS = [
|
|
2823
|
+
"PATH",
|
|
2824
|
+
"HOME",
|
|
2825
|
+
"USER",
|
|
2826
|
+
"SHELL",
|
|
2827
|
+
"LANG",
|
|
2828
|
+
"TERM",
|
|
2829
|
+
"NODE_ENV",
|
|
2830
|
+
"TMPDIR",
|
|
2831
|
+
"TZ",
|
|
2832
|
+
"DBUS_SESSION_BUS_ADDRESS",
|
|
2833
|
+
"XDG_RUNTIME_DIR",
|
|
2834
|
+
// Needed so the agent can talk to the user's clipboard for the chat image-paste flow
|
|
2835
|
+
// (xclip needs DISPLAY/XAUTHORITY, wl-copy needs WAYLAND_DISPLAY).
|
|
2836
|
+
"DISPLAY",
|
|
2837
|
+
"XAUTHORITY",
|
|
2838
|
+
"WAYLAND_DISPLAY",
|
|
2839
|
+
"XDG_SESSION_TYPE"
|
|
2840
|
+
];
|
|
2841
|
+
var WINDOWS_SAFE_KEYS = [
|
|
2842
|
+
"PATH",
|
|
2843
|
+
"PATHEXT",
|
|
2844
|
+
"NODE_ENV",
|
|
2845
|
+
"TZ",
|
|
2846
|
+
"TERM",
|
|
2847
|
+
// Interpreter + OS roots
|
|
2848
|
+
"ComSpec",
|
|
2849
|
+
"SystemRoot",
|
|
2850
|
+
"SystemDrive",
|
|
2851
|
+
"windir",
|
|
2852
|
+
"OS",
|
|
2853
|
+
"PSModulePath",
|
|
2854
|
+
// User profile & app data (git config, credential helpers, npm/scoop shims)
|
|
2855
|
+
"USERPROFILE",
|
|
2856
|
+
"HOMEDRIVE",
|
|
2857
|
+
"HOMEPATH",
|
|
2858
|
+
"USERNAME",
|
|
2859
|
+
"USERDOMAIN",
|
|
2860
|
+
"USERDOMAIN_ROAMINGPROFILE",
|
|
2861
|
+
"LOGONSERVER",
|
|
2862
|
+
"APPDATA",
|
|
2863
|
+
"LOCALAPPDATA",
|
|
2864
|
+
// Machine-wide install roots
|
|
2865
|
+
"ProgramData",
|
|
2866
|
+
"ProgramFiles",
|
|
2867
|
+
"ProgramFiles(x86)",
|
|
2868
|
+
"ProgramW6432",
|
|
2869
|
+
"CommonProgramFiles",
|
|
2870
|
+
"CommonProgramFiles(x86)",
|
|
2871
|
+
"CommonProgramW6432",
|
|
2872
|
+
"ALLUSERSPROFILE",
|
|
2873
|
+
"PUBLIC",
|
|
2874
|
+
"DriverData",
|
|
2875
|
+
// Temp
|
|
2876
|
+
"TEMP",
|
|
2877
|
+
"TMP",
|
|
2878
|
+
// Architecture / CPU (used by installers and native module loaders)
|
|
2879
|
+
"PROCESSOR_ARCHITECTURE",
|
|
2880
|
+
"PROCESSOR_ARCHITEW6432",
|
|
2881
|
+
"PROCESSOR_IDENTIFIER",
|
|
2882
|
+
"PROCESSOR_LEVEL",
|
|
2883
|
+
"PROCESSOR_REVISION",
|
|
2884
|
+
"NUMBER_OF_PROCESSORS",
|
|
2885
|
+
// Session / terminal
|
|
2886
|
+
"SESSIONNAME",
|
|
2887
|
+
"COMPUTERNAME",
|
|
2888
|
+
"FPS_BROWSER_APP_PROFILE_STRING",
|
|
2889
|
+
"FPS_BROWSER_USER_PROFILE_STRING",
|
|
2890
|
+
"WT_SESSION",
|
|
2891
|
+
"WT_PROFILE_ID"
|
|
2892
|
+
];
|
|
2744
2893
|
function buildAgentEnv() {
|
|
2745
|
-
const safeKeys =
|
|
2746
|
-
"PATH",
|
|
2747
|
-
"HOME",
|
|
2748
|
-
"USER",
|
|
2749
|
-
"SHELL",
|
|
2750
|
-
"LANG",
|
|
2751
|
-
"TERM",
|
|
2752
|
-
"NODE_ENV",
|
|
2753
|
-
"TMPDIR",
|
|
2754
|
-
"TZ",
|
|
2755
|
-
"DBUS_SESSION_BUS_ADDRESS",
|
|
2756
|
-
"XDG_RUNTIME_DIR",
|
|
2757
|
-
// Needed so the agent can talk to the user's clipboard for the chat image-paste flow
|
|
2758
|
-
// (xclip needs DISPLAY/XAUTHORITY, wl-copy needs WAYLAND_DISPLAY).
|
|
2759
|
-
"DISPLAY",
|
|
2760
|
-
"XAUTHORITY",
|
|
2761
|
-
"WAYLAND_DISPLAY",
|
|
2762
|
-
"XDG_SESSION_TYPE"
|
|
2763
|
-
];
|
|
2894
|
+
const safeKeys = process.platform === "win32" ? WINDOWS_SAFE_KEYS : POSIX_SAFE_KEYS;
|
|
2764
2895
|
const agentEnv = {
|
|
2765
2896
|
RUNEYA_AGENT_PORT: String(env.RUNEYA_AGENT_PORT),
|
|
2766
2897
|
RUNEYA_AGENT_HOST: env.RUNEYA_AGENT_HOST
|
|
@@ -2772,9 +2903,10 @@ function buildAgentEnv() {
|
|
|
2772
2903
|
}
|
|
2773
2904
|
agentEnv.PASSPHRASE_OVERRIDE = passphrase;
|
|
2774
2905
|
}
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2906
|
+
const wanted = new Set(safeKeys.map((k) => k.toLowerCase()));
|
|
2907
|
+
for (const [key, value] of Object.entries(process.env)) {
|
|
2908
|
+
if (value && wanted.has(key.toLowerCase())) {
|
|
2909
|
+
agentEnv[key] = value;
|
|
2778
2910
|
}
|
|
2779
2911
|
}
|
|
2780
2912
|
return agentEnv;
|
|
@@ -2797,7 +2929,7 @@ var AgentSpawner = class {
|
|
|
2797
2929
|
}
|
|
2798
2930
|
console.log(`[agent-spawner] Spawning local agent on ${agentUrl}...`);
|
|
2799
2931
|
const isDev = process.env.NODE_ENV === "development";
|
|
2800
|
-
this.agentDistPath = env.AGENT_BINARY_PATH ||
|
|
2932
|
+
this.agentDistPath = env.AGENT_BINARY_PATH || join5(dirname2(fileURLToPath(import.meta.url)), "..", "..", "agent", "dist", "index.js");
|
|
2801
2933
|
this.agentProcess = spawn("node", [this.agentDistPath], {
|
|
2802
2934
|
env: agentEnv,
|
|
2803
2935
|
stdio: ["ignore", "pipe", "pipe"]
|
|
@@ -2900,7 +3032,7 @@ var AgentSpawner = class {
|
|
|
2900
3032
|
this.fileWatcher.close();
|
|
2901
3033
|
}
|
|
2902
3034
|
console.log("[agent-spawner] \u{1F50D} Watching agent dist for changes (hot reload enabled)");
|
|
2903
|
-
const distDir =
|
|
3035
|
+
const distDir = join5(this.agentDistPath, "..");
|
|
2904
3036
|
this.fileWatcher = watch(distDir, { persistent: false }, (eventType, filename) => {
|
|
2905
3037
|
if ((eventType === "change" || eventType === "rename") && filename === "index.js" && !this.isRestarting) {
|
|
2906
3038
|
this.isRestarting = true;
|
|
@@ -3331,8 +3463,12 @@ var AgentManager = class extends EventEmitter2 {
|
|
|
3331
3463
|
this.connectAgent(agent);
|
|
3332
3464
|
}
|
|
3333
3465
|
}
|
|
3334
|
-
|
|
3335
|
-
|
|
3466
|
+
/**
|
|
3467
|
+
* `owner` dit à quelle organisation l'agent appartient, ou `null` pour la
|
|
3468
|
+
* machine — l'agent local, qui n'exécute des processus que sur ce poste.
|
|
3469
|
+
*/
|
|
3470
|
+
async register(name, url, passphrase, owner = null) {
|
|
3471
|
+
const config = await agentStore.register(name, url, passphrase, owner);
|
|
3336
3472
|
const isReRegistration = this.connections.has(config.id);
|
|
3337
3473
|
if (isReRegistration) {
|
|
3338
3474
|
console.log(`[agent-manager] Re-registering agent ${config.name} (${config.id})`);
|
|
@@ -3683,6 +3819,7 @@ export {
|
|
|
3683
3819
|
vaultFor,
|
|
3684
3820
|
stampOrgCloud,
|
|
3685
3821
|
readOrgClouds,
|
|
3822
|
+
listOrgVaults,
|
|
3686
3823
|
listCloudVaults,
|
|
3687
3824
|
allVaultRoots,
|
|
3688
3825
|
machineFilePath,
|
|
@@ -3749,4 +3886,4 @@ export {
|
|
|
3749
3886
|
traefikManager,
|
|
3750
3887
|
agentManager
|
|
3751
3888
|
};
|
|
3752
|
-
//# sourceMappingURL=chunk-
|
|
3889
|
+
//# sourceMappingURL=chunk-IHUELGIB.js.map
|