@runeya/runeya 2.0.65 → 2.0.67
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 +143 -29
- package/agent/index.js.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/mcp-server/index.js +11 -5
- package/mcp-server/index.js.map +1 -1
- package/mcp-server/launch.d.ts +45 -0
- package/mcp-server/launch.js +65 -0
- package/mcp-server/launch.js.map +1 -0
- package/node-QABM22GF.js +78 -0
- package/node-QABM22GF.js.map +1 -0
- package/package.json +1 -1
- package/{src-YPQEXOFN.js → src-QP5LALGR.js} +1275 -1031
- package/src-QP5LALGR.js.map +1 -0
- package/web/assets/{AgentScalarChatInterface.vue-Zqu9sSBH.js → AgentScalarChatInterface.vue-DVn9R6UA.js} +1 -1
- package/web/assets/{AgentTerminalPage-Bm3kpbcU.js → AgentTerminalPage-C66ptjgH.js} +1 -1
- package/web/assets/AiChatPage-Bh3ugfp4.js +1 -0
- package/web/assets/AppLayout-B0n34XKU.js +1 -0
- package/web/assets/{AppLayout-Cx7ccwgc.css → AppLayout-BqXoW05V.css} +1 -1
- package/web/assets/{AuditPage-DUSwJfVK.js → AuditPage-CbkmlJeq.js} +1 -1
- package/web/assets/{CloudAccountPage-Ye5gyp-a.js → CloudAccountPage-CqMO-gQ1.js} +1 -1
- package/web/assets/CloudAccountPage-DuTsra7v.js +1 -0
- package/web/assets/{CloudMessagingPage-D2bQQJYt.js → CloudMessagingPage-D8Y4KWWS.js} +1 -1
- package/web/assets/{DashboardPage-CHU-AVBl.js → DashboardPage-B7BrLHKh.js} +1 -1
- package/web/assets/{DirectoryPickerDialog-DWBd-8G-.js → DirectoryPickerDialog-DiXqygSc.js} +1 -1
- package/web/assets/{EditorIcon-CCXptJPw.js → EditorIcon-ChiKZey2.js} +1 -1
- package/web/assets/{EnvironmentForm-PHlewheL.js → EnvironmentForm-C_Vb13xF.js} +1 -1
- package/web/assets/{EnvironmentFormPage-D38aMov8.js → EnvironmentFormPage-BaMwL4YK.js} +1 -1
- package/web/assets/{EnvironmentListPage-DdQ4q79B.js → EnvironmentListPage-DAKszj2p.js} +1 -1
- package/web/assets/{KanbanBoardPage-BQixRj2E.js → KanbanBoardPage-DVfCJ09e.js} +3 -3
- package/web/assets/{KanbanListPage-CZbGUlKe.js → KanbanListPage-CAUPVG3x.js} +1 -1
- package/web/assets/{LaunchProjectPage-DCECoi2W.js → LaunchProjectPage-DboQPHhM.js} +1 -1
- package/web/assets/{LaunchServicesPage-Igch4OkU.js → LaunchServicesPage-CjM0FUsg.js} +1 -1
- package/web/assets/{LogViewer-CJ7eJWSJ.js → LogViewer-CV4UKjXg.js} +1 -1
- package/web/assets/{OrgKeyPrompt-Beh4oSZo.js → OrgKeyPrompt-B-Ob1wQo.js} +1 -1
- package/web/assets/{ProcessControls-C338q9mk.js → ProcessControls-DAciBoSD.js} +1 -1
- package/web/assets/{ProcessDetailPage-nOQRTRxC.js → ProcessDetailPage-DtFb-qaA.js} +1 -1
- package/web/assets/{ProcessMetrics-2zeVTtwB.js → ProcessMetrics--iokpCM-.js} +1 -1
- package/web/assets/{ProjectDetailPage-_KWEJ7Rf.js → ProjectDetailPage-DKwgJnBb.js} +1 -1
- package/web/assets/{ProjectListPage-BpjpOa0B.js → ProjectListPage-Dxb9S6la.js} +1 -1
- package/web/assets/{RandomJobTestPage-C2P7Of7m.js → RandomJobTestPage-Rjvqbre2.js} +1 -1
- package/web/assets/{ScenarioEditorPage-CLZfBdRV.js → ScenarioEditorPage-Diue0rEv.js} +1 -1
- package/web/assets/{SendToChatDialog-CVk67rVP.js → SendToChatDialog-DZm9rbYQ.js} +1 -1
- package/web/assets/{ServiceControlsBar-Bj8W6_zq.js → ServiceControlsBar-CqH5T0Bt.js} +1 -1
- package/web/assets/{ServiceDetailPage-BQLxNRdV.js → ServiceDetailPage-yYY05Ofq.js} +1 -1
- package/web/assets/{ServiceFormPage-D6xyXhpD.js → ServiceFormPage-DLDyDff6.js} +1 -1
- package/web/assets/{SettingsPage-DgoltSoU.js → SettingsPage-iHIqmfyf.js} +4 -4
- package/web/assets/{UnlockPage-CGvHLoeU.js → UnlockPage-DQ34l5l1.js} +1 -1
- package/web/assets/{VariablesTable-yUXhkoTa.js → VariablesTable-WVZfP2VG.js} +1 -1
- package/web/assets/{VaultMigrationPage-COgPnndp.js → VaultMigrationPage-DqKJ_shK.js} +1 -1
- package/web/assets/{VersionBadge-D0-TBwlH.js → VersionBadge-zIjq4iAX.js} +1 -1
- package/web/assets/WikiPage-BsY9YXHO.js +1 -0
- package/web/assets/{WikiView-BSJ7xirc.js → WikiView-BnCFtAdF.js} +1 -1
- package/web/assets/{add-scalar-classes-CmUab9yH.js → add-scalar-classes-CjgwfCIh.js} +3 -3
- package/web/assets/auth-errors-DBBrz53D.js +1 -0
- package/web/assets/{autocomplete-BoVkCZ3N.js → autocomplete-D-6FU1t-.js} +1 -1
- package/web/assets/{basic-shape-diamond.svg-BAFkGVp0.js → basic-shape-diamond.svg-DE3LO5SU.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-CXBYrKDq.js → basic-shape-hexagon.svg-DHCVACA2.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-BGIUk5JU.js → basic-shape-primary-circle-ellipse-round.svg-BGztJOjy.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-Cs7aJCXJ.js → basic-shape-primary-square-rectangle.svg-BNvakQwI.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-D0zGJ-AS.js → basic-shape-shield.svg-D0xk91H_.js} +1 -1
- package/web/assets/{browser-ew4T6Wak.js → browser-BivKTyTv.js} +1 -1
- package/web/assets/{browser-DM2Khq4B.js → browser-bzX9Nao0.js} +1 -1
- package/web/assets/{card-DEwOdoy7.js → card-wjkfdMj0.js} +1 -1
- package/web/assets/{checkbox-7RxjiveI.js → checkbox-IknS1FQn.js} +1 -1
- package/web/assets/{chip-DIaKFEgA.js → chip-Boe0Xov3.js} +1 -1
- package/web/assets/{client-C7GCqCio.js → client-BSU8WE5S.js} +1 -1
- package/web/assets/{cloud-chat.store-Dyj5VOAR.js → cloud-chat.store-XQdrKrub.js} +1 -1
- package/web/assets/{cloud-session-BlHm1AAi.js → cloud-session-BwiZNDmW.js} +1 -1
- package/web/assets/{column-BaYEu-Xp.js → column-B7tQz83B.js} +1 -1
- package/web/assets/{computer-device-desktop-monitor.svg-HxK5c6Pq.js → computer-device-desktop-monitor.svg-CnYkVG-R.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-g9vb_5N-.js → computer-device-desktop.svg-XlBIDLoz.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-BMMBociB.js → computer-device-laptop.svg-DaLHuxcg.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-Czfpjn43.js → computer-device-mobile-phone-android-samsung-back.svg-qHWgnNNS.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-pUCOHsgN.js → computer-device-mobile-phone-android-samsung.svg-CtxJbuqe.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-Dix3VORS.js → computer-device-mobile-phone-iphone-x-back.svg-BQiGDxzt.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-p2gbl1TW.js → computer-device-mobile-phone-iphone-x.svg-CgAytTCm.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-DnE6hC8T.js → computer-device-mobile-tablet-touch.svg-CAqOIQYV.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-BlCJk_bJ.js → computer-device-mobile-tablet.svg-DQpw8q67.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-830kQkxi.js → computer-device-network-ethernet-cat6.svg-CBRhWnOl.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-C8QS39hd.js → computer-device-network-lan-www.svg-Cv-QFYIZ.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-Cq9SMwuS.js → computer-device-network-wifi-connection.svg-BBsVDFRE.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-Co3SwsJB.js → computer-device-network-wifi-router.svg-BK2DsNKU.js} +1 -1
- package/web/assets/{cssMode-BmpKaBWz.js → cssMode-B4oj4WYQ.js} +1 -1
- package/web/assets/{divider-BbEJbTN0.js → divider-_mB7RWpZ.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-Di0Wf0dY.js → ecology-science-erlenmeyer-flask.svg-CA-I1J40.js} +1 -1
- package/web/assets/{fieldset-BrjmZWof.js → fieldset-DxE1RM8v.js} +1 -1
- package/web/assets/{freemarker2-22AUFDyO.js → freemarker2-DjWzSYtR.js} +1 -1
- package/web/assets/{handlebars-BSkOvV0L.js → handlebars-CrIRV8P_.js} +1 -1
- package/web/assets/{html-hlHaQZ73.js → html-FZ2bNZkn.js} +1 -1
- package/web/assets/{htmlMode-BRTwjwpU.js → htmlMode-C4UY3uXX.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-dkqSucku.js → image-flash-lightning.svg-BESGut9z.js} +1 -1
- package/web/assets/{image-picture-flower.svg-DZnDd7_J.js → image-picture-flower.svg-DFFw77B4.js} +1 -1
- package/web/assets/{index-DQD0hOgi.js → index-ChHZJigw.js} +5 -5
- package/web/assets/{interface-alert-exclamation-diamond.svg-C401SWye.js → interface-alert-exclamation-diamond.svg-C0_oVqKd.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-COovlb0i.js → interface-alert-exclamation-triangle-warning.svg-CT57udnb.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-BwNbo0yM.js → interface-alert-information-circle.svg-feXGxf07.js} +1 -1
- package/web/assets/{interface-award-crown.svg-C-w5fwti.js → interface-award-crown.svg-Dzcgb2OZ.js} +1 -1
- package/web/assets/{interface-bookmark.svg-D0m1qU6o.js → interface-bookmark-tag.svg-DYObw7kI.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-6ZIfhpAK.js → interface-bookmark.svg-D29YXcId.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-D8GMSKK4.js → interface-calendar-date-one.svg-B6LAQ50v.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-DQVGr6Tp.js → interface-content-book-open-pages.svg-BlpLjyAs.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-Burs9T5l.js → interface-content-book-page.svg-D8zFMaud.js} +1 -1
- package/web/assets/{interface-content-file.svg-QMaR0bu1.js → interface-content-file.svg-Bu9ZoTup.js} +1 -1
- package/web/assets/{interface-content-folder.svg-DmjHF_FL.js → interface-content-folder.svg-C7xURsse.js} +1 -1
- package/web/assets/interface-content-folder.svg-ZuNlhEM9.js +1 -0
- package/web/assets/{interface-copy-clipboard.svg-lgdNoQUH.js → interface-copy-clipboard.svg-pk2ijV65.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-DkWZed8H.js → interface-edit-attachment.svg-Bcr20hoB.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-C_luoo2V.js → interface-edit-binocular.svg-COIP_m1k.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-mfDVPLMa.js → interface-edit-magic-wand.svg-D_m1zeUL.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-DCBpOYQu.js → interface-edit-tool-paint-roller.svg-BeVeFbeH.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-fqyQWL5k.js → interface-edit-tool-pencil.svg-dsW53gC1.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-DgUlQfKG.js → interface-favorite-award.svg-3BNGOKWw.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg--8SQf4C2.js → interface-favorite-flag.svg-D48-u5Nr.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-Bk03QjU6.js → interface-favorite-heart.svg-CKvRWS8p.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-BmYbWrQE.js → interface-favorite-star.svg-CxMLBraT.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-BEYyPTqH.js → interface-favorite-stars-sparkles.svg-Cy14KCtV.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-C0J6xzvI.js → interface-hierarchy-flowchart.svg-Lg00w7YV.js} +1 -1
- package/web/assets/{interface-home-house.svg-yWpAesCb.js → interface-home-house.svg-CsvIh8II.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-COfqwBSx.js → interface-hyperlink.svg-BuFqr9k_.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-C_ACQ4IE.js → interface-lighting-brightness.svg-C1Me4yCs.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-CznsvqCi.js → interface-lock-closed.svg-DVhklYLb.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-BFpG7swb.js → interface-lock-open-unlock.svg-Day60scV.js} +1 -1
- package/web/assets/{interface-login-key.svg-ByQoPb-O.js → interface-login-key.svg-DYEI5voM.js} +1 -1
- package/web/assets/{interface-search.svg-DXFtCXpT.js → interface-search.svg-DwsHXg2v.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-CaV3Cp60.js → interface-setting-cog.svg-CeNdjOvF.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-By8aY7RU.js → interface-share-megaphone-bullhorn.svg-C8ZC1W-n.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-DNohy-ip.js → interface-share-rocket.svg-gmRwyR-9.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-BavAgRbB.js → interface-share-satellite.svg-BfcRjFbw.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-BgJFQkJk.js → interface-share-space-ship.svg-CEjN-mXM.js} +1 -1
- package/web/assets/{interface-share.svg-Bg-xjVsD.js → interface-share.svg-CPspWlPa.js} +1 -1
- package/web/assets/{interface-signal-square.svg-Bss2X0FB.js → interface-signal-square.svg-DxhbfEQv.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-CJjbqmaM.js → interface-time-clock-circle.svg-Ck0G0rmI.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-DVqPtXUm.js → interface-time-hour-glass.svg-C-mRKciT.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-wdqJgfZm.js → interface-users-multiple.svg-DYmB6Rbf.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-BKrQgzTa.js → interface-weather-moon.svg-Cvj6_eNh.js} +1 -1
- package/web/assets/{javascript-DSFf_YjS.js → javascript-CY5caZva.js} +1 -1
- package/web/assets/{jsonMode-B2P8l1pU.js → jsonMode-rh9HaZkf.js} +1 -1
- package/web/assets/{liquid-B7MQ4Fsk.js → liquid-DlLRGYKU.js} +1 -1
- package/web/assets/{lspLanguageFeatures-C3FF6vUy.js → lspLanguageFeatures-CRnhy4bG.js} +1 -1
- package/web/assets/{mail-chat-bubble-square.svg-BloaVfp-.js → mail-chat-bubble-square.svg-BObGty59.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-B6ZIXm5P.js → mail-send-email-paper-airplane.svg-B5czr-hw.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-DY5COScs.js → mail-send-envelope.svg-C37J2sdc.js} +1 -1
- package/web/assets/{mdx-C_WgJhu_.js → mdx-B3a8uTpN.js} +1 -1
- package/web/assets/{message-BHo4LcuI.js → message-CD325uOm.js} +1 -1
- package/web/assets/{minus-B_o0inoM.js → minus-Cl1s4nDX.js} +1 -1
- package/web/assets/{modal-DquH5DEK.js → modal-CU6Bnd1J.js} +1 -1
- package/web/assets/modal-DEWMc9tx.js +1 -0
- package/web/assets/{money-cashier-receipt.svg-oseoAVlB.js → money-cashier-receipt.svg-Cc8n6S0T.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-DcGijgHE.js → money-currency-dollar-pay.svg-C0_3kvpL.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-3ZRKzQXX.js → money-graph-arrow-increase.svg-woD8qioO.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-BrHE0FOy.js → money-graph-bar-chart-increase.svg-CSw1VAAV.js} +1 -1
- package/web/assets/{multiselect-CZCZtbEb.js → multiselect-BRGZ5fql.js} +1 -1
- package/web/assets/{nature-ecology-leaf.svg-DUFviPEE.js → nature-ecology-leaf.svg-CQP_HptW.js} +1 -1
- package/web/assets/{password-BTw05sQ2.js → password-CT6KZaXX.js} +1 -1
- package/web/assets/{phone-telephone.svg-NChbl8AZ.js → phone-telephone.svg-DdIEcJda.js} +1 -1
- package/web/assets/{plus-CYFRbMfZ.js → plus-CNb4vtRF.js} +1 -1
- package/web/assets/process.store-DS0H00M6.js +1 -0
- package/web/assets/{programming-bug.svg-BQnBdCsT.js → programming-bug.svg-b2e0hwhB.js} +1 -1
- package/web/assets/{programming-cloud.svg-CFurS7YD.js → programming-cloud.svg-2k-_lY2R.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-BCVSLupS.js → programming-computer-database-server.svg-CsVPAAB9.js} +1 -1
- package/web/assets/{programming-computer-database.svg-Durcs657.js → programming-computer-database.svg-CzCJ-cUE.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-C2j6c2b3.js → programming-module-four-layout.svg-D3tAGvjg.js} +1 -1
- package/web/assets/{programming-module-three.svg-Dl1mzila.js → programming-module-three.svg-Cgtxdkq9.js} +1 -1
- package/web/assets/{programming-module.svg-Ru5EdTBU.js → programming-module.svg-B1uuFp4W.js} +1 -1
- package/web/assets/{programming-script-code.svg-DcVa8zJ9.js → programming-script-code.svg-B4FKnqTv.js} +1 -1
- package/web/assets/{python-BykhsxRP.js → python-BObWJ8Hq.js} +1 -1
- package/web/assets/{razor-D_mR8RkO.js → razor-COigQ7gt.js} +1 -1
- package/web/assets/router-Di7VfiOq.js +1 -0
- package/web/assets/settings-scope-D3a6G9-2.js +1 -0
- package/web/assets/{settings.store-DOfmiAcW.js → settings.store-Dxshs2VQ.js} +1 -1
- package/web/assets/{shopping-cart.svg-B3H5uLw5.js → shopping-cart.svg-BuRDYcqM.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-Iqn37pBP.js → shopping-gift-present.svg-h10DhCw1.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-BLFpdcWA.js → shopping-shipping-box-parcel-package.svg-Cj8fvF6E.js} +1 -1
- package/web/assets/{src-C_rj6jTS.js → src-CeD-dzB5.js} +1 -1
- package/web/assets/{src-BYh7ThU0.js → src-D83niZVs.js} +1 -1
- package/web/assets/{tabpanel-Bv4fRZzp.js → tabpanel-DguHvr4k.js} +1 -1
- package/web/assets/{tag-new-circle.svg-DIeLhows.js → tag-new-circle.svg-Zn07CrZt.js} +1 -1
- package/web/assets/{toggleswitch-BceT7a4p.js → toggleswitch-BGTO0eH4.js} +1 -1
- package/web/assets/{travel-map-earth-globe.svg-ZeztXqnU.js → travel-map-earth-globe.svg-B4LvrGwp.js} +1 -1
- package/web/assets/trpc-B3z_V0Ei.js +1 -0
- package/web/assets/{tsMode-SvRa8C_f.js → tsMode-Hh_YkITa.js} +1 -1
- package/web/assets/{typescript-CWqZ6okb.js → typescript-C9fyq61g.js} +1 -1
- package/web/assets/useAiChatDrawer-DvkZ7XYr.js +1 -0
- package/web/assets/{useCloudOrg-DdUm6wvu.js → useCloudOrg-Cn9VivVr.js} +1 -1
- package/web/assets/{useProjectCatalog-CvcCqyU7.js → useProjectCatalog-BTfFgYwA.js} +1 -1
- package/web/assets/{xml-CBOHM5vV.js → xml-DGE9ZlpR.js} +1 -1
- package/web/assets/{yaml-Ck5vZTNH.js → yaml-D4ibnYJa.js} +1 -1
- package/web/index.html +1 -1
- package/src-YPQEXOFN.js.map +0 -1
- package/web/assets/AiChatPage-B14vDmO-.js +0 -1
- package/web/assets/AppLayout-Cwizg1FV.js +0 -1
- package/web/assets/CloudAccountPage-CpSBW_If.js +0 -1
- package/web/assets/WikiPage-BnqPhEQ9.js +0 -1
- package/web/assets/auth-errors-DHq-tg-I.js +0 -1
- package/web/assets/interface-content-folder.svg-DiUdq9Xr.js +0 -1
- package/web/assets/modal-B-Sy97Tr.js +0 -1
- package/web/assets/process.store-ClHfDEKC.js +0 -1
- package/web/assets/router-DBBbiuoP.js +0 -1
- package/web/assets/settings-scope-BliiOU7-.js +0 -1
- package/web/assets/trpc-CilSj96H.js +0 -1
- package/web/assets/useAiChatDrawer-BWCsxZJK.js +0 -1
package/agent/index.js
CHANGED
|
@@ -5172,11 +5172,14 @@ import { TRPCError as TRPCError5 } from "@trpc/server";
|
|
|
5172
5172
|
import { spawn as spawn4, execFileSync } from "child_process";
|
|
5173
5173
|
import { EventEmitter as EventEmitter9 } from "events";
|
|
5174
5174
|
import { randomUUID as randomUUID5 } from "crypto";
|
|
5175
|
-
import {
|
|
5176
|
-
import { createRequire } from "module";
|
|
5177
|
-
import { existsSync as existsSync2, readFileSync } from "fs";
|
|
5175
|
+
import { existsSync as existsSync3, readFileSync } from "fs";
|
|
5178
5176
|
import { dirname, resolve as resolvePath2 } from "path";
|
|
5179
5177
|
import * as pty2 from "@lydell/node-pty";
|
|
5178
|
+
|
|
5179
|
+
// ../../packages/mcp-server/src/launch.ts
|
|
5180
|
+
import { fileURLToPath } from "url";
|
|
5181
|
+
import { createRequire } from "module";
|
|
5182
|
+
import { existsSync as existsSync2 } from "fs";
|
|
5180
5183
|
function resolveMcpServerPath() {
|
|
5181
5184
|
try {
|
|
5182
5185
|
const req = createRequire(import.meta.url);
|
|
@@ -5184,9 +5187,13 @@ function resolveMcpServerPath() {
|
|
|
5184
5187
|
} catch {
|
|
5185
5188
|
}
|
|
5186
5189
|
const candidates = [
|
|
5190
|
+
// Build packagé du CLI : dist/agent/index.js et dist/index.js côtoient
|
|
5191
|
+
// dist/mcp-server/, copié là par le post-build.
|
|
5192
|
+
new URL("../mcp-server/index.js", import.meta.url),
|
|
5193
|
+
new URL("./mcp-server/index.js", import.meta.url),
|
|
5194
|
+
// Monorepo, depuis un dist d'app.
|
|
5187
5195
|
new URL("../../../packages/mcp-server/dist/index.js", import.meta.url),
|
|
5188
|
-
new URL("../../../../packages/mcp-server/dist/index.js", import.meta.url)
|
|
5189
|
-
new URL("../mcp-server/index.js", import.meta.url)
|
|
5196
|
+
new URL("../../../../packages/mcp-server/dist/index.js", import.meta.url)
|
|
5190
5197
|
];
|
|
5191
5198
|
for (const c of candidates) {
|
|
5192
5199
|
const p = fileURLToPath(c);
|
|
@@ -5194,6 +5201,42 @@ function resolveMcpServerPath() {
|
|
|
5194
5201
|
}
|
|
5195
5202
|
throw new Error("Could not locate @runeya/packages-mcp-server (built dist not found)");
|
|
5196
5203
|
}
|
|
5204
|
+
function pickEnv(env2) {
|
|
5205
|
+
return {
|
|
5206
|
+
...env2.RUNEYA_BASE_URL ? { RUNEYA_BASE_URL: env2.RUNEYA_BASE_URL } : {},
|
|
5207
|
+
...env2.RUNEYA_API_TOKEN ? { RUNEYA_API_TOKEN: env2.RUNEYA_API_TOKEN } : {}
|
|
5208
|
+
};
|
|
5209
|
+
}
|
|
5210
|
+
function claudeMcpArgs(env2) {
|
|
5211
|
+
const config = JSON.stringify({
|
|
5212
|
+
mcpServers: {
|
|
5213
|
+
runeya: {
|
|
5214
|
+
command: "node",
|
|
5215
|
+
args: [resolveMcpServerPath()],
|
|
5216
|
+
env: pickEnv(env2)
|
|
5217
|
+
}
|
|
5218
|
+
}
|
|
5219
|
+
});
|
|
5220
|
+
return ["--mcp-config", config];
|
|
5221
|
+
}
|
|
5222
|
+
function codexMcpArgs(env2) {
|
|
5223
|
+
const fields = [
|
|
5224
|
+
`command=${tomlString("node")}`,
|
|
5225
|
+
`args=[${tomlString(resolveMcpServerPath())}]`
|
|
5226
|
+
];
|
|
5227
|
+
const entries = Object.entries(pickEnv(env2));
|
|
5228
|
+
if (entries.length > 0) {
|
|
5229
|
+
const inline = entries.map(([k, v]) => `${k}=${tomlString(v)}`).join(",");
|
|
5230
|
+
fields.push(`env={${inline}}`);
|
|
5231
|
+
}
|
|
5232
|
+
return ["-c", `mcp_servers.runeya={${fields.join(",")}}`];
|
|
5233
|
+
}
|
|
5234
|
+
function tomlString(value) {
|
|
5235
|
+
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/[\u0000-\u001f\u007f]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
|
|
5236
|
+
return `"${escaped}"`;
|
|
5237
|
+
}
|
|
5238
|
+
|
|
5239
|
+
// src/services/ai-spawn-manager.ts
|
|
5197
5240
|
function resolveCliInvocation(cli, args) {
|
|
5198
5241
|
if (process.platform !== "win32") return { command: cli, args };
|
|
5199
5242
|
if (/\.exe$/i.test(cli)) return { command: cli, args };
|
|
@@ -5209,13 +5252,13 @@ function resolveCliInvocation(cli, args) {
|
|
|
5209
5252
|
shim = found.find((f) => /\.cmd$/i.test(f)) ?? found[0] ?? cli;
|
|
5210
5253
|
}
|
|
5211
5254
|
if (/\.exe$/i.test(shim)) return { command: shim, args };
|
|
5212
|
-
if (/\.cmd$/i.test(shim) &&
|
|
5255
|
+
if (/\.cmd$/i.test(shim) && existsSync3(shim)) {
|
|
5213
5256
|
try {
|
|
5214
5257
|
const content = readFileSync(shim, "utf-8");
|
|
5215
5258
|
const m = content.match(/%~?dp0%\\?([^"\s]+\.js)/i);
|
|
5216
5259
|
if (m?.[1]) {
|
|
5217
5260
|
const entry = resolvePath2(dirname(shim), m[1].replace(/^\\+/, ""));
|
|
5218
|
-
if (
|
|
5261
|
+
if (existsSync3(entry)) return { command: process.execPath, args: [entry, ...args] };
|
|
5219
5262
|
}
|
|
5220
5263
|
} catch {
|
|
5221
5264
|
}
|
|
@@ -5235,23 +5278,18 @@ function resolveSpawnEnvAndArgs(opts) {
|
|
|
5235
5278
|
...opts.mcpApiToken ? { RUNEYA_API_TOKEN: opts.mcpApiToken } : {}
|
|
5236
5279
|
};
|
|
5237
5280
|
const env2 = { ...process.env, ...opts.env, ...runeyaEnv };
|
|
5238
|
-
|
|
5239
|
-
if (opts.enableMcp
|
|
5281
|
+
let args = [...opts.args];
|
|
5282
|
+
if (opts.enableMcp) {
|
|
5283
|
+
const mcpEnv = {
|
|
5284
|
+
RUNEYA_BASE_URL: env2.RUNEYA_BASE_URL,
|
|
5285
|
+
RUNEYA_API_TOKEN: env2.RUNEYA_API_TOKEN
|
|
5286
|
+
};
|
|
5240
5287
|
try {
|
|
5241
|
-
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
args: [mcpServerPath],
|
|
5247
|
-
env: {
|
|
5248
|
-
...env2.RUNEYA_BASE_URL ? { RUNEYA_BASE_URL: env2.RUNEYA_BASE_URL } : {},
|
|
5249
|
-
...env2.RUNEYA_API_TOKEN ? { RUNEYA_API_TOKEN: env2.RUNEYA_API_TOKEN } : {}
|
|
5250
|
-
}
|
|
5251
|
-
}
|
|
5252
|
-
}
|
|
5253
|
-
});
|
|
5254
|
-
args.push("--mcp-config", mcpConfig);
|
|
5288
|
+
if (opts.cli === "claude") {
|
|
5289
|
+
args.push(...claudeMcpArgs(mcpEnv));
|
|
5290
|
+
} else if (opts.cli === "codex") {
|
|
5291
|
+
args = [...codexMcpArgs(mcpEnv), ...args];
|
|
5292
|
+
}
|
|
5255
5293
|
} catch (err) {
|
|
5256
5294
|
console.warn("[ai-spawn-manager] Failed to resolve MCP server path:", err.message);
|
|
5257
5295
|
}
|
|
@@ -5556,6 +5594,18 @@ import { spawn as spawn6 } from "child_process";
|
|
|
5556
5594
|
import { createInterface as createInterface2 } from "readline";
|
|
5557
5595
|
import { EventEmitter as EventEmitter10 } from "events";
|
|
5558
5596
|
var REQUEST_TIMEOUT_MS = 3e5;
|
|
5597
|
+
function resolveMcpArgs(env2) {
|
|
5598
|
+
if (!env2["RUNEYA_API_TOKEN"]) return [];
|
|
5599
|
+
try {
|
|
5600
|
+
return codexMcpArgs({
|
|
5601
|
+
RUNEYA_BASE_URL: env2["RUNEYA_BASE_URL"],
|
|
5602
|
+
RUNEYA_API_TOKEN: env2["RUNEYA_API_TOKEN"]
|
|
5603
|
+
});
|
|
5604
|
+
} catch (err) {
|
|
5605
|
+
console.warn("[codex-app-server-mgr] Failed to resolve MCP server path:", err.message);
|
|
5606
|
+
return [];
|
|
5607
|
+
}
|
|
5608
|
+
}
|
|
5559
5609
|
var CodexAppServerManager = class extends EventEmitter10 {
|
|
5560
5610
|
proc = null;
|
|
5561
5611
|
rl = null;
|
|
@@ -5580,9 +5630,10 @@ var CodexAppServerManager = class extends EventEmitter10 {
|
|
|
5580
5630
|
}
|
|
5581
5631
|
}
|
|
5582
5632
|
async doConnect() {
|
|
5583
|
-
|
|
5633
|
+
const env2 = { ...process.env, ...this.extraEnv };
|
|
5634
|
+
this.proc = spawn6("codex", [...resolveMcpArgs(env2), "app-server"], {
|
|
5584
5635
|
stdio: ["pipe", "pipe", "pipe"],
|
|
5585
|
-
env:
|
|
5636
|
+
env: env2
|
|
5586
5637
|
});
|
|
5587
5638
|
this.rl = createInterface2({ input: this.proc.stdout });
|
|
5588
5639
|
this.rl.on("line", (line) => this.handleLine(line));
|
|
@@ -6301,14 +6352,76 @@ function createAgent(opts) {
|
|
|
6301
6352
|
return { app, server, trpcWss, healthWss, passphraseHex, shutdown };
|
|
6302
6353
|
}
|
|
6303
6354
|
|
|
6304
|
-
// src/
|
|
6355
|
+
// ../../packages/shared/src/node/node-path.ts
|
|
6305
6356
|
import { dirname as dirname3, delimiter } from "path";
|
|
6306
6357
|
function ensureNodeBinOnPath(environment = process.env) {
|
|
6307
|
-
|
|
6358
|
+
appendToPath(dirname3(process.execPath), environment);
|
|
6359
|
+
}
|
|
6360
|
+
function appendToPath(dir, environment = process.env) {
|
|
6361
|
+
if (!dir) return;
|
|
6308
6362
|
const current = environment["PATH"] ?? "";
|
|
6309
6363
|
const entries = current.split(delimiter).filter(Boolean);
|
|
6310
|
-
if (entries.includes(
|
|
6311
|
-
environment["PATH"] = entries.length > 0 ? `${current}${delimiter}${
|
|
6364
|
+
if (entries.includes(dir)) return;
|
|
6365
|
+
environment["PATH"] = entries.length > 0 ? `${current}${delimiter}${dir}` : dir;
|
|
6366
|
+
}
|
|
6367
|
+
|
|
6368
|
+
// ../../packages/shared/src/node/user-path.ts
|
|
6369
|
+
import { execFile as execFile5 } from "child_process";
|
|
6370
|
+
import { promisify as promisify3 } from "util";
|
|
6371
|
+
import { homedir as homedir5 } from "os";
|
|
6372
|
+
import { existsSync as existsSync4, statSync } from "fs";
|
|
6373
|
+
import { join as join6, delimiter as delimiter2 } from "path";
|
|
6374
|
+
var execFileAsync3 = promisify3(execFile5);
|
|
6375
|
+
var MARKER = "__RUNEYA_PATH__";
|
|
6376
|
+
var SHELL_TIMEOUT_MS = 3e3;
|
|
6377
|
+
function commonUserBins(home) {
|
|
6378
|
+
return [
|
|
6379
|
+
join6(home, ".local", "bin"),
|
|
6380
|
+
join6(home, "bin"),
|
|
6381
|
+
join6(home, ".npm-global", "bin"),
|
|
6382
|
+
join6(home, ".bun", "bin"),
|
|
6383
|
+
join6(home, ".cargo", "bin"),
|
|
6384
|
+
"/opt/homebrew/bin",
|
|
6385
|
+
"/usr/local/bin"
|
|
6386
|
+
];
|
|
6387
|
+
}
|
|
6388
|
+
async function readLoginShellPath() {
|
|
6389
|
+
if (process.platform === "win32") return null;
|
|
6390
|
+
const shell = process.env["SHELL"];
|
|
6391
|
+
if (!shell || !existsSync4(shell)) return null;
|
|
6392
|
+
try {
|
|
6393
|
+
const { stdout } = await execFileAsync3(shell, ["-l", "-i", "-c", `echo "${MARKER}$PATH"`], {
|
|
6394
|
+
timeout: SHELL_TIMEOUT_MS,
|
|
6395
|
+
shell: false,
|
|
6396
|
+
encoding: "utf8",
|
|
6397
|
+
maxBuffer: 1024 * 1024,
|
|
6398
|
+
env: { ...process.env, TERM: "dumb" }
|
|
6399
|
+
});
|
|
6400
|
+
const line = stdout.split("\n").find((l) => l.includes(MARKER));
|
|
6401
|
+
if (!line) return null;
|
|
6402
|
+
const value = line.slice(line.indexOf(MARKER) + MARKER.length).trim();
|
|
6403
|
+
return value.length > 0 ? value : null;
|
|
6404
|
+
} catch {
|
|
6405
|
+
return null;
|
|
6406
|
+
}
|
|
6407
|
+
}
|
|
6408
|
+
async function ensureUserBinsOnPath(environment = process.env, home = homedir5()) {
|
|
6409
|
+
const shellPath = await readLoginShellPath();
|
|
6410
|
+
if (shellPath) {
|
|
6411
|
+
for (const entry of shellPath.split(delimiter2).filter(Boolean)) {
|
|
6412
|
+
appendToPath(entry, environment);
|
|
6413
|
+
}
|
|
6414
|
+
}
|
|
6415
|
+
for (const dir of commonUserBins(home)) {
|
|
6416
|
+
if (isDirectory(dir)) appendToPath(dir, environment);
|
|
6417
|
+
}
|
|
6418
|
+
}
|
|
6419
|
+
function isDirectory(path3) {
|
|
6420
|
+
try {
|
|
6421
|
+
return statSync(path3).isDirectory();
|
|
6422
|
+
} catch {
|
|
6423
|
+
return false;
|
|
6424
|
+
}
|
|
6312
6425
|
}
|
|
6313
6426
|
|
|
6314
6427
|
// src/index.ts
|
|
@@ -6345,6 +6458,7 @@ process.on("uncaughtException", (err) => {
|
|
|
6345
6458
|
});
|
|
6346
6459
|
async function main() {
|
|
6347
6460
|
ensureNodeBinOnPath();
|
|
6461
|
+
await ensureUserBinsOnPath();
|
|
6348
6462
|
const { server, shutdown, passphraseHex } = createAgent({
|
|
6349
6463
|
passphraseHex: env.PASSPHRASE_OVERRIDE
|
|
6350
6464
|
});
|