@runeya/runeya 2.0.20 → 2.0.23
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 +161 -13
- package/agent/index.js.map +1 -1
- package/agent-manager-2P4THUVA.js +7 -0
- package/{chunk-PUNE7P6S.js → chunk-Y2R42AXQ.js} +848 -561
- package/chunk-Y2R42AXQ.js.map +1 -0
- package/index.js +92 -43
- package/index.js.map +1 -1
- package/package.json +1 -2
- package/{src-K32WI425.js → src-3TOPUVAK.js} +1354 -1083
- package/src-3TOPUVAK.js.map +1 -0
- package/web/assets/AgentScalarChatInterface.vue-Bk_cXx74.js +13 -0
- package/web/assets/AgentTerminalPage-DqXrABlh.js +1 -0
- package/web/assets/AiChatPage-B3P7qefE.js +1 -0
- package/web/assets/AppLayout-B2e7K0cZ.js +1 -0
- package/web/assets/{AuditPage-CUdrFc3C.js → AuditPage-B55qp9MV.js} +1 -1
- package/web/assets/{CloudAccountPage-am6AxJRB.js → CloudAccountPage-CGyW79m_.js} +1 -1
- package/web/assets/CloudAccountPage-DTity1N0.js +1 -0
- package/web/assets/CloudMessagingPage-7RQRbAOB.js +2 -0
- package/web/assets/CloudMessagingPage-BUnfNsBz.css +1 -0
- package/web/assets/{DashboardPage-pA2caWR9.js → DashboardPage-CwmCbP3t.js} +1 -1
- package/web/assets/{EditorIcon-C9E8hRyM.js → EditorIcon-BaldhaS8.js} +1 -1
- package/web/assets/{EnvironmentForm-XKpxQ-45.js → EnvironmentForm-Da52SUx4.js} +2 -2
- package/web/assets/EnvironmentFormPage-Bab5iOWS.js +1 -0
- package/web/assets/EnvironmentListPage-O1fIWq-g.js +1 -0
- package/web/assets/EnvironmentSelector-BWzLYssP.js +1 -0
- package/web/assets/KanbanBoardPage-BOMHKLHX.css +1 -0
- package/web/assets/KanbanBoardPage-BvtIaHqG.js +4 -0
- package/web/assets/KanbanListPage-BoNcgR3h.css +1 -0
- package/web/assets/KanbanListPage-Cv_QJF00.js +1 -0
- package/web/assets/LaunchProjectPage-uB7iIMG1.js +1 -0
- package/web/assets/{LaunchServicesPage-CViec72c.js → LaunchServicesPage-1ZN1JYqH.js} +1 -1
- package/web/assets/LogViewer-BJxpIK11.js +3 -0
- package/web/assets/{ProcessControls-D97-A3dI.js → ProcessControls-C2EYsD-P.js} +1 -1
- package/web/assets/ProcessDetailPage-DdOfegjU.js +1 -0
- package/web/assets/{ProcessMetrics-CNJ30_ef.js → ProcessMetrics-DpDxpUpO.js} +2 -2
- package/web/assets/ProjectDetailPage-DtwRjTew.js +1 -0
- package/web/assets/ProjectListPage-D9SUNEFu.js +1 -0
- package/web/assets/{RandomJobTestPage-CnY2f-qz.js → RandomJobTestPage-OoAk9WAJ.js} +1 -1
- package/web/assets/{ScenarioEditorPage-CBZp7Q34.css → ScenarioEditorPage-GmFIXPDj.css} +1 -1
- package/web/assets/ScenarioEditorPage-LhEs4hjS.js +14 -0
- package/web/assets/SendToChatDialog-CZWy1K4A.js +1 -0
- package/web/assets/ServiceControlsBar-CU6b2KBJ.js +1 -0
- package/web/assets/{ServiceDetailPage-DhE1LYrn.css → ServiceDetailPage-BvoD3SB6.css} +1 -1
- package/web/assets/ServiceDetailPage-CSaPyV_v.js +2 -0
- package/web/assets/ServiceFormPage-D9NFCmmW.js +1 -0
- package/web/assets/SettingsPage-BMclTDLy.css +1 -0
- package/web/assets/SettingsPage-DXlBFfBq.js +2062 -0
- package/web/assets/{SetupPage-CzabsTON.js → SetupPage-dqqf_M_p.js} +1 -1
- package/web/assets/UnlockPage-ClEawxOC.css +1 -0
- package/web/assets/UnlockPage-DjjpY02d.js +1 -0
- package/web/assets/VariablesTable-B4h9eNC_.css +1 -0
- package/web/assets/VariablesTable-BFgRnjza.js +1 -0
- package/web/assets/{VersionBadge-DUE17MrD.js → VersionBadge-ToW3NGSQ.js} +1 -1
- package/web/assets/WikiPage-Djisdsae.js +1 -0
- package/web/assets/{WikiView-CUBKfTT-.css → WikiView-CaUVD3f1.css} +1 -1
- package/web/assets/WikiView-CiATkY8l.js +1 -0
- package/web/assets/{add-scalar-classes-Cfh7_IWy.js → add-scalar-classes-DGwycuRW.js} +3 -3
- package/web/assets/auth-errors-DEObS1lG.js +1 -0
- package/web/assets/{autocomplete-CrWQ5zMj.js → autocomplete-DP0sGong.js} +1 -1
- package/web/assets/{basic-shape-diamond.svg-pjhwN4JT.js → basic-shape-diamond.svg-B0FzUXGN.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-D0yEDOCC.js → basic-shape-hexagon.svg-BuI9rv44.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-DvZ7CdgE.js → basic-shape-primary-circle-ellipse-round.svg-C0WlStV7.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-ChB1hiGR.js → basic-shape-primary-square-rectangle.svg-ByMGtNMn.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-Bxrmr3jg.js → basic-shape-shield.svg-h6znjRmZ.js} +1 -1
- package/web/assets/{browser-C2YmKQw8.js → browser-DJeF2lho.js} +1 -1
- package/web/assets/{browser-CvQ_J2u9.js → browser-oekISqUb.js} +1 -1
- package/web/assets/{card-CpyeL2dI.js → card-B7-be48x.js} +1 -1
- package/web/assets/{checkbox-DWNV_RaS.js → checkbox-DDSZK_Pi.js} +1 -1
- package/web/assets/{chip-8cRcc2L3.js → chip-BVSQ-56q.js} +1 -1
- package/web/assets/{client-DNj6VDDb.js → client-DWfGqqLr.js} +1 -1
- package/web/assets/cloud-chat.store-BLFChRpl.js +1 -0
- package/web/assets/cloud-client-GmxBhiFl.js +1 -0
- package/web/assets/{column-DtLr_xcq.js → column-BHRqZfnh.js} +7 -7
- package/web/assets/{computer-device-desktop-monitor.svg-CLGySxTI.js → computer-device-desktop-monitor.svg-CL9XulYR.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-DJ9n7_Sq.js → computer-device-desktop.svg-CKWeVTzO.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-k6zcRWN4.js → computer-device-laptop.svg-wAkdRlEi.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-pwKHMzIK.js → computer-device-mobile-phone-android-samsung-back.svg-DOahzxu1.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-CR796QT_.js → computer-device-mobile-phone-android-samsung.svg-FBZO3WLS.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-CY2r7WXK.js → computer-device-mobile-phone-iphone-x-back.svg-CCLknBWv.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-BHISnTWX.js → computer-device-mobile-phone-iphone-x.svg-CWdT8wN4.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-DQqDUvnk.js → computer-device-mobile-tablet-touch.svg-Bx1A6qUQ.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-4Ab5vdIo.js → computer-device-mobile-tablet.svg-JpmP6yqf.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-DJf04S68.js → computer-device-network-ethernet-cat6.svg-D6WFbLbI.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-CaETgcOJ.js → computer-device-network-lan-www.svg-U8NMAi5b.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-PndfmFuy.js → computer-device-network-wifi-connection.svg-FuRBLyH4.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-CBLwEbOV.js → computer-device-network-wifi-router.svg-BMzCP2Aw.js} +1 -1
- package/web/assets/{cssMode-RVPpAuHz.js → cssMode--4DE_809.js} +1 -1
- package/web/assets/{divider-CYFRNVal.js → divider-hPOrl1Iy.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-BYXK2uKa.js → ecology-science-erlenmeyer-flask.svg-Bnte5Nm-.js} +1 -1
- package/web/assets/{fieldset-BCXBPIiB.js → fieldset-BSwilV-Y.js} +1 -1
- package/web/assets/{freemarker2-B6guP0jO.js → freemarker2-DUNAk_0P.js} +1 -1
- package/web/assets/{handlebars-BxlL79LN.js → handlebars-CoM2DS_1.js} +1 -1
- package/web/assets/{html-Dr0M60O0.js → html-CgEDNZ_R.js} +1 -1
- package/web/assets/{htmlMode-B63yAhXq.js → htmlMode-QDDBWVzd.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-DVtJFd09.js → image-flash-lightning.svg-ZIxta1IB.js} +1 -1
- package/web/assets/{image-picture-flower.svg-BaBdyWt-.js → image-picture-flower.svg-BXxhgW1Q.js} +1 -1
- package/web/assets/{index-BTYNCNK0.js → index-Dl-HyfHx.js} +244 -244
- package/web/assets/{index-DS4VL_1S.css → index-gKo3WNkm.css} +1 -1
- package/web/assets/{interface-alert-exclamation-diamond.svg-BQYncN9j.js → interface-alert-exclamation-diamond.svg-bVfL6jBy.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-BvQxARpD.js → interface-alert-exclamation-triangle-warning.svg-BrapXyrc.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-BbiwUtTt.js → interface-alert-information-circle.svg--W3bUw5n.js} +1 -1
- package/web/assets/{interface-award-crown.svg-BJs2BJ9S.js → interface-award-crown.svg-CBbbHFIN.js} +1 -1
- package/web/assets/{interface-bookmark.svg-WUL572zM.js → interface-bookmark-tag.svg-C4_v-zTY.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-huwK9o4X.js → interface-bookmark.svg-CIY69-iu.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-CEkOALKM.js → interface-calendar-date-one.svg-CD7WxblA.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-CDxvdidz.js → interface-content-book-open-pages.svg-BamW-eNv.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-ROxK9a-V.js → interface-content-book-page.svg-CpHhLWQE.js} +1 -1
- package/web/assets/{interface-content-file.svg-69XGQGxu.js → interface-content-file.svg-BmqLN3iR.js} +1 -1
- package/web/assets/interface-content-folder.svg-B2phMZXd.js +1 -0
- package/web/assets/{interface-content-folder.svg-BjXgivIz.js → interface-content-folder.svg-ffbcORbT.js} +1 -1
- package/web/assets/{interface-copy-clipboard.svg-BAAZ1QLS.js → interface-copy-clipboard.svg-MdbbmqXS.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-BCmyBBsd.js → interface-edit-attachment.svg-DtAVj6tp.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-BI3JPE3j.js → interface-edit-binocular.svg-DfT11Y7N.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-DhECH5yw.js → interface-edit-magic-wand.svg-D4mLRHJs.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-0-Os9Flg.js → interface-edit-tool-paint-roller.svg-Cxa7Ct4C.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-CM5UI5Rv.js → interface-edit-tool-pencil.svg-IRM3BHKY.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-BZNkuFiE.js → interface-favorite-award.svg-CLGZ65SX.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-CeHd37SC.js → interface-favorite-flag.svg-ju-VMCAF.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-D5dJ4sOz.js → interface-favorite-heart.svg-DsWpztN8.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-B7YeWzmv.js → interface-favorite-star.svg-CCPUYvBO.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-BwqCtLSB.js → interface-favorite-stars-sparkles.svg-nf2ra-Mg.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-q70-KJ80.js → interface-hierarchy-flowchart.svg-CPrjsUHp.js} +1 -1
- package/web/assets/{interface-home-house.svg-CUco1zSk.js → interface-home-house.svg-DyWL4dgs.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-D6Z-QbxJ.js → interface-hyperlink.svg-DgjI4lGJ.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-DDJ8wIbt.js → interface-lighting-brightness.svg-BhomgGV0.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-1GuN2t9d.js → interface-lock-closed.svg-CDDGuaUG.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-CmSL9GCo.js → interface-lock-open-unlock.svg-DxOzefwC.js} +1 -1
- package/web/assets/{interface-login-key.svg-Cnur4uLY.js → interface-login-key.svg-CLs728UT.js} +1 -1
- package/web/assets/{interface-search.svg-3TqtroIY.js → interface-search.svg-CSE2bUM-.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-B7nRfZ1y.js → interface-setting-cog.svg-SfBQ-E_y.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-DraAk4oI.js → interface-share-megaphone-bullhorn.svg-Cg9QEbsW.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-CGRtk6J4.js → interface-share-rocket.svg-V9fWt6R5.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-COo3kZqu.js → interface-share-satellite.svg-BoAJlAy3.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-iYhfpKY2.js → interface-share-space-ship.svg-CWoqBiZI.js} +1 -1
- package/web/assets/{interface-share.svg-BqVe3lWw.js → interface-share.svg-DW6AG6rC.js} +1 -1
- package/web/assets/{interface-signal-square.svg-DmGT2kio.js → interface-signal-square.svg-DktTeL2e.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-Djt_VZVX.js → interface-time-clock-circle.svg-BBnimglQ.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-DxZVLqJ6.js → interface-time-hour-glass.svg-WNSRow4o.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-n8dIXu9r.js → interface-users-multiple.svg-DoeSSDNX.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-CExHl6HQ.js → interface-weather-moon.svg-BzUq31T3.js} +1 -1
- package/web/assets/{javascript-6lVkE6gP.js → javascript-CDsgZK6E.js} +1 -1
- package/web/assets/{jsonMode-CySg6s8T.js → jsonMode-BOQojnkz.js} +1 -1
- package/web/assets/{liquid-DSLZY9bf.js → liquid-CT8_Ig_a.js} +1 -1
- package/web/assets/{lspLanguageFeatures-C6Gb5-pg.js → lspLanguageFeatures-BW3wbtds.js} +1 -1
- package/web/assets/{mail-chat-bubble-square.svg-BqpIkvR_.js → mail-chat-bubble-square.svg-BB3D-jS5.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-DUkiRZ1x.js → mail-send-email-paper-airplane.svg-BGUFNdDy.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-DjjLaPUo.js → mail-send-envelope.svg-CiEf_X3v.js} +1 -1
- package/web/assets/{mdx-DuCKQZ3-.js → mdx-BzJqzXG7.js} +1 -1
- package/web/assets/{message-CJ-X_z47.js → message-DQfiz3F1.js} +1 -1
- package/web/assets/{minus-RXlNS6-g.js → minus-Bh-ngAnz.js} +1 -1
- package/web/assets/modal-B6tgGww3.js +1 -0
- package/web/assets/{modal-DfNn2ioJ.js → modal-BH8tCrqE.js} +1 -1
- package/web/assets/{money-cashier-receipt.svg-CUzOL6J5.js → money-cashier-receipt.svg-nbLywLCi.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-CQY_KC9b.js → money-currency-dollar-pay.svg-HtpV_93j.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-BDu5i5aF.js → money-graph-arrow-increase.svg-BG4s2n8-.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-xBlBZYiv.js → money-graph-bar-chart-increase.svg-7ivMfz5M.js} +1 -1
- package/web/assets/{multiselect-BbY8SFyO.js → multiselect-CE72JxFr.js} +1 -1
- package/web/assets/{nature-ecology-leaf.svg-C_T6wTIZ.js → nature-ecology-leaf.svg-D60IfAE-.js} +1 -1
- package/web/assets/{password-B_pKmF_I.js → password-CZ-A_ePM.js} +1 -1
- package/web/assets/{phone-telephone.svg-DzUP7zCx.js → phone-telephone.svg-B0OCaSQr.js} +1 -1
- package/web/assets/{plus-DfsTcd_H.js → plus-DZy8IO4Z.js} +1 -1
- package/web/assets/process.store-XR7BoPqt.js +1 -0
- package/web/assets/{programming-bug.svg-C1NvPH7_.js → programming-bug.svg-DDZ7-1a6.js} +1 -1
- package/web/assets/{programming-cloud.svg-hVwd5xzu.js → programming-cloud.svg-BZHqbFE1.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-DXvcm62E.js → programming-computer-database-server.svg-CPK0axOF.js} +1 -1
- package/web/assets/{programming-computer-database.svg-w2w_GH3u.js → programming-computer-database.svg-Dat_iKWZ.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-DLcwogv0.js → programming-module-four-layout.svg-DYTRTKmF.js} +1 -1
- package/web/assets/{programming-module-three.svg-Cfjjs8tf.js → programming-module-three.svg-CU563xPB.js} +1 -1
- package/web/assets/{programming-module.svg-ChyMdD4E.js → programming-module.svg-DdRe2d3E.js} +1 -1
- package/web/assets/{programming-script-code.svg-D8N99_E3.js → programming-script-code.svg-D5dDzg1B.js} +1 -1
- package/web/assets/{python-BT-UPVMQ.js → python-C0tzbgs4.js} +1 -1
- package/web/assets/{radiobutton-C9iiy1zq.js → radiobutton-BYEniO96.js} +1 -1
- package/web/assets/{razor-DKUraACi.js → razor-BNCtUdbo.js} +1 -1
- package/web/assets/router-BpJBXGio.js +1 -0
- package/web/assets/{settings.store-PSHvWAzl.js → settings.store-hW2r6ht2.js} +1 -1
- package/web/assets/{shopping-cart.svg-C_kTBKvf.js → shopping-cart.svg-yNDOoxiE.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-DIfbUecw.js → shopping-gift-present.svg-ZAFtf911.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-DgeqoYij.js → shopping-shipping-box-parcel-package.svg-C_128hOx.js} +1 -1
- package/web/assets/{TiptapEditor-CI1pNNDH.js → src-BTZHXzoT.js} +78 -78
- package/web/assets/src-CmzYYWZd.css +1 -0
- package/web/assets/src-DtlOQm4K.js +1 -0
- package/web/assets/src-ZfecJkW9.css +1 -0
- package/web/assets/{tabpanel-tgozju6m.js → tabpanel-BiifLLS6.js} +2 -2
- package/web/assets/{tag-new-circle.svg-yzrCIErB.js → tag-new-circle.svg-0OOws8vC.js} +1 -1
- package/web/assets/{travel-map-earth-globe.svg-C9CMICQQ.js → travel-map-earth-globe.svg-CvwB8JlN.js} +1 -1
- package/web/assets/trpc-D0HTyuMG.js +1 -0
- package/web/assets/{tsMode-gblCXC3w.js → tsMode-CadFFP73.js} +1 -1
- package/web/assets/{typescript-DeVzlCKf.js → typescript-TsqAe_2a.js} +1 -1
- package/web/assets/useAiChatDrawer-2ELNp1KU.js +1 -0
- package/web/assets/useCloudOrg-BAtUa48Z.css +1 -0
- package/web/assets/useCloudOrg-DuypVndp.js +1 -0
- package/web/assets/{xml-UwUjH4rq.js → xml-bgdRCuvM.js} +1 -1
- package/web/assets/{yaml-DSs0npSB.js → yaml-BRUv0H85.js} +1 -1
- package/web/index.html +2 -2
- package/agent-manager-QPZUYLJA.js +0 -8
- package/chunk-LZWBXYUE.js +0 -354
- package/chunk-LZWBXYUE.js.map +0 -1
- package/chunk-PUNE7P6S.js.map +0 -1
- package/chunk-Q4N37KNN.js +0 -202
- package/chunk-Q4N37KNN.js.map +0 -1
- package/kanban-commands-53WWMCHQ.js +0 -14
- package/kanban-commands-53WWMCHQ.js.map +0 -1
- package/src-K32WI425.js.map +0 -1
- package/web/assets/AgentScalarChatInterface.vue-S7bbKRqw.js +0 -13
- package/web/assets/AgentTerminalPage-c0fCTCzP.js +0 -1
- package/web/assets/AiChatPage-B-kfiUI-.js +0 -1
- package/web/assets/AppLayout-COTo6zQf.js +0 -1
- package/web/assets/CloudAccountPage-H1QGj9tJ.js +0 -1
- package/web/assets/CloudMessagingPage-BEtd8B8B.js +0 -2
- package/web/assets/CloudMessagingPage-sgMxCh6j.css +0 -1
- package/web/assets/EnvironmentFormPage-DMpiq3Zx.js +0 -1
- package/web/assets/EnvironmentListPage-C21qJ3iw.js +0 -1
- package/web/assets/EnvironmentSelector-Be9yMkjY.js +0 -1
- package/web/assets/KanbanBoardPage-CyUTDl_W.css +0 -1
- package/web/assets/KanbanBoardPage-SNCSxTz7.js +0 -4
- package/web/assets/KanbanListPage-B3JpbFlv.css +0 -1
- package/web/assets/KanbanListPage-D-kgPmxI.js +0 -1
- package/web/assets/LaunchProjectPage-BbNDYePE.js +0 -1
- package/web/assets/LogViewer-CHyPfODD.js +0 -3
- package/web/assets/ProcessDetailPage-BlQJDM-W.js +0 -1
- package/web/assets/ProjectDetailPage-DdRYMfcl.js +0 -1
- package/web/assets/ProjectListPage-BDLXGuEj.js +0 -1
- package/web/assets/ScenarioEditorPage-CFNTrVlY.js +0 -14
- package/web/assets/SendToChatDialog-BJjY1MAh.css +0 -1
- package/web/assets/SendToChatDialog-CtGhyaOw.js +0 -1
- package/web/assets/ServiceControlsBar-m_AQmRiR.js +0 -1
- package/web/assets/ServiceDetailPage-RCl6IsBs.js +0 -2
- package/web/assets/ServiceFormPage-CIJ-tFub.js +0 -1
- package/web/assets/SettingsPage-CPF7w35a.css +0 -1
- package/web/assets/SettingsPage-tK-RiJrj.js +0 -2062
- package/web/assets/SetupKeyPage-CzB_AMfr.js +0 -1
- package/web/assets/SetupKeyPage-DoY1Ua1s.css +0 -1
- package/web/assets/TiptapEditor-bdEPMd-W.css +0 -1
- package/web/assets/UnlockPage-DWM5symg.js +0 -1
- package/web/assets/UnlockPage-EZOi-H7d.css +0 -1
- package/web/assets/VariablesTable-Bkv0MOKi.css +0 -1
- package/web/assets/VariablesTable-DoNJ4OIn.js +0 -1
- package/web/assets/WikiPage-COdO-49s.js +0 -1
- package/web/assets/WikiView-BS9HHroX.js +0 -1
- package/web/assets/auth-errors-D-uOLmKt.js +0 -1
- package/web/assets/cloud-chat.store-DHiYOkkN.js +0 -1
- package/web/assets/cloud-client-COpvz58o.js +0 -1
- package/web/assets/interface-content-folder.svg-Bijbx45w.js +0 -1
- package/web/assets/modal-BvVbc_6u.js +0 -1
- package/web/assets/process.store-BLMSPw2l.js +0 -1
- package/web/assets/router-DBNATEGs.js +0 -1
- package/web/assets/trpc-3qbDCsqO.js +0 -1
- package/web/assets/useAiChatDrawer-BtC-0qN-.js +0 -1
- /package/{agent-manager-QPZUYLJA.js.map → agent-manager-2P4THUVA.js.map} +0 -0
- /package/web/assets/{abap-lJFTLuI6.js → abap-DMmvWZUy.js} +0 -0
- /package/web/assets/{apex-Bp0KWav8.js → apex-D89PiTzU.js} +0 -0
- /package/web/assets/{azcli-DBOe7Uvy.js → azcli-ChnjTTA5.js} +0 -0
- /package/web/assets/{bat-Dk_NT_by.js → bat-uLzQ_FhK.js} +0 -0
- /package/web/assets/{bicep-B07Mrlc7.js → bicep-CMOK7Q1v.js} +0 -0
- /package/web/assets/{cameligo-DL5eNXGn.js → cameligo-D1AyojFH.js} +0 -0
- /package/web/assets/{clojure-BzV2Yqu_.js → clojure-D9JoUgXn.js} +0 -0
- /package/web/assets/{coffee-Bjlj5hmf.js → coffee-D-5sSToL.js} +0 -0
- /package/web/assets/{cpp-C9oth5qz.js → cpp-BqT_t_y9.js} +0 -0
- /package/web/assets/{csharp-HyGd049S.js → csharp-CuToYI91.js} +0 -0
- /package/web/assets/{csp-DjCDOBuX.js → csp-CffcxvlO.js} +0 -0
- /package/web/assets/{css-DIL8RTJ3.js → css-CUD0biQW.js} +0 -0
- /package/web/assets/{cypher-DX1zPXL5.js → cypher-ByyWL_9U.js} +0 -0
- /package/web/assets/{dart-BBQZd_ZZ.js → dart-B__ipcUn.js} +0 -0
- /package/web/assets/{dockerfile-Cj0CaWYx.js → dockerfile-DS-_8bWw.js} +0 -0
- /package/web/assets/{ecl-BjmWCTJg.js → ecl-DWsNCBUj.js} +0 -0
- /package/web/assets/{elixir-3uWoEjXX.js → elixir-OfjEy-3g.js} +0 -0
- /package/web/assets/{flow9-D4r739e9.js → flow9-BPX22hxS.js} +0 -0
- /package/web/assets/{fsharp-B3ycAx5T.js → fsharp-CVJcfIUn.js} +0 -0
- /package/web/assets/{go-DFHBjfCl.js → go-CfRHZ3yg.js} +0 -0
- /package/web/assets/{graphql-DBjIbM_e.js → graphql-BZaO3ttK.js} +0 -0
- /package/web/assets/{hcl-Buu_1Hsp.js → hcl-BF9-qUku.js} +0 -0
- /package/web/assets/{ini-CgzZhgz_.js → ini-BUvw6xhr.js} +0 -0
- /package/web/assets/{java-BczDO0q5.js → java-BZ5BNd2x.js} +0 -0
- /package/web/assets/{julia-B142kn-7.js → julia-DN38cgYT.js} +0 -0
- /package/web/assets/{kotlin-42XMP7p1.js → kotlin-CjEJKT8q.js} +0 -0
- /package/web/assets/{less-BCIsKRqU.js → less-DMEH_Nwq.js} +0 -0
- /package/web/assets/{lexon-DTDOH1dQ.js → lexon-CKQUX8Ov.js} +0 -0
- /package/web/assets/{lua-BrH-CeNs.js → lua-CuWjKLJ0.js} +0 -0
- /package/web/assets/{m3-D-eUeHOI.js → m3-CEp1bVrM.js} +0 -0
- /package/web/assets/{markdown-DwpSjZTn.js → markdown-DxtQ_puq.js} +0 -0
- /package/web/assets/{mips-DoGTrjVk.js → mips-Dx7qydpO.js} +0 -0
- /package/web/assets/{msdax-CQ8McnjQ.js → msdax-DpNCaSiO.js} +0 -0
- /package/web/assets/{mysql-Cj3do0ZO.js → mysql-C3xsBDPP.js} +0 -0
- /package/web/assets/{objective-c-BZbR8TG8.js → objective-c-BbaVHCX1.js} +0 -0
- /package/web/assets/{pascal-23PRDHRq.js → pascal-sDju2faq.js} +0 -0
- /package/web/assets/{pascaligo-CxasKTLJ.js → pascaligo-ChCdOH6b.js} +0 -0
- /package/web/assets/{perl-Dhxz2Lhx.js → perl-BCgLFj01.js} +0 -0
- /package/web/assets/{pgsql-BIbUy7yD.js → pgsql-DtKby69f.js} +0 -0
- /package/web/assets/{php-B5qS9qgM.js → php-NYvR17Qb.js} +0 -0
- /package/web/assets/{pla-Bolz9fha.js → pla-gSg-RBG0.js} +0 -0
- /package/web/assets/{postiats-Ba6dE5lj.js → postiats-BQxHyDfy.js} +0 -0
- /package/web/assets/{powerquery-2jW3ONgo.js → powerquery-DzDmbVZN.js} +0 -0
- /package/web/assets/{powershell-CMfBIiJp.js → powershell-yy4Q5BEQ.js} +0 -0
- /package/web/assets/{protobuf-BpaquOUj.js → protobuf-B_hIk9q0.js} +0 -0
- /package/web/assets/{pug-cBG82Ydz.js → pug-CdeEb1ft.js} +0 -0
- /package/web/assets/{qsharp-DtqL8Lmt.js → qsharp-CiSquEgT.js} +0 -0
- /package/web/assets/{r-CKLew4sj.js → r-D1Ocz1x4.js} +0 -0
- /package/web/assets/{redis-BdDxRU-N.js → redis-D42Y12yz.js} +0 -0
- /package/web/assets/{redshift-X4a4MlqW.js → redshift-CS62MYfG.js} +0 -0
- /package/web/assets/{restructuredtext-LA4Fv05h.js → restructuredtext-CKFSMEXw.js} +0 -0
- /package/web/assets/{ruby-CibE_WVM.js → ruby-C4gTaeU3.js} +0 -0
- /package/web/assets/{rust-BK6RsiL0.js → rust-C_f2AiHQ.js} +0 -0
- /package/web/assets/{sb-BnCCt0Qj.js → sb-CdNdpP1r.js} +0 -0
- /package/web/assets/{scala-oaBDrVqj.js → scala-N4EWaFTL.js} +0 -0
- /package/web/assets/{scheme-C-wkLC01.js → scheme-CttIARxx.js} +0 -0
- /package/web/assets/{scss-BceVGOJY.js → scss-v0wtbxaE.js} +0 -0
- /package/web/assets/{shell-CxhBAFA5.js → shell-BJdEWXbc.js} +0 -0
- /package/web/assets/{solidity-D9sXgTfx.js → solidity-DKDa59zZ.js} +0 -0
- /package/web/assets/{sophia-C4VBhIEM.js → sophia--Kw-vDpr.js} +0 -0
- /package/web/assets/{sparql-DbsK2s9y.js → sparql-BI8jS9Pc.js} +0 -0
- /package/web/assets/{sql-CuGfE0wH.js → sql-Dz6z--6O.js} +0 -0
- /package/web/assets/{st-rB6Bqb2h.js → st-CT8D05gv.js} +0 -0
- /package/web/assets/{swift-BtHGe_4T.js → swift-Ayb3KzWx.js} +0 -0
- /package/web/assets/{systemverilog-CgKnzwU4.js → systemverilog-BtWJM9O5.js} +0 -0
- /package/web/assets/{tcl-DyqQWf87.js → tcl-BJvUWpbV.js} +0 -0
- /package/web/assets/{twig-C980XO5P.js → twig-c3YaBCU6.js} +0 -0
- /package/web/assets/{typespec-CVmA80px.js → typespec-gFCWLBoZ.js} +0 -0
- /package/web/assets/{uuid-2Kb5PDpq.js → uuid-B3B8HIK9.js} +0 -0
- /package/web/assets/{vb-rdNQv5VQ.js → vb-CVtfWXV2.js} +0 -0
- /package/web/assets/{w3c-keyname-B2B-WOb1.js → w3c-keyname-nn0G3QC2.js} +0 -0
- /package/web/assets/{wgsl-64oVbimL.js → wgsl-C_huaGQy.js} +0 -0
package/agent/index.js
CHANGED
|
@@ -39,7 +39,6 @@ var t = initTRPC.context().create({
|
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
var router = t.router;
|
|
42
|
-
var publicProcedure = t.procedure;
|
|
43
42
|
var authMiddleware = t.middleware(({ ctx, next }) => {
|
|
44
43
|
const { authorization } = ctx;
|
|
45
44
|
if (!authorization) {
|
|
@@ -74,8 +73,63 @@ import { join as join3, isAbsolute } from "path";
|
|
|
74
73
|
import { execa } from "execa";
|
|
75
74
|
import { execSync } from "child_process";
|
|
76
75
|
import { homedir } from "os";
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
|
|
77
|
+
// ../../node_modules/shellwords/dist/esm/index.js
|
|
78
|
+
var scan = (string, pattern, callback) => {
|
|
79
|
+
let result = "";
|
|
80
|
+
while (string.length > 0) {
|
|
81
|
+
const match = string.match(pattern);
|
|
82
|
+
if (match && match.index != null && match[0] != null) {
|
|
83
|
+
result += string.slice(0, match.index);
|
|
84
|
+
result += callback(match);
|
|
85
|
+
string = string.slice(match.index + match[0].length);
|
|
86
|
+
} else {
|
|
87
|
+
result += string;
|
|
88
|
+
string = "";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return result;
|
|
92
|
+
};
|
|
93
|
+
var split = (line = "") => {
|
|
94
|
+
const words = [];
|
|
95
|
+
let field = "";
|
|
96
|
+
scan(
|
|
97
|
+
line,
|
|
98
|
+
/\s*(?:([^\s\\'"]+)|'((?:[^'\\]|\\.)*)'|"((?:[^"\\]|\\.)*)"|(\\.?)|(\S))(\s|$)?/,
|
|
99
|
+
(match) => {
|
|
100
|
+
const [_raw, word, sq, dq, escape2, garbage, separator] = match;
|
|
101
|
+
if (garbage != null) {
|
|
102
|
+
throw new Error(`Unmatched quote: ${line}`);
|
|
103
|
+
}
|
|
104
|
+
if (word) {
|
|
105
|
+
field += word;
|
|
106
|
+
} else {
|
|
107
|
+
let addition;
|
|
108
|
+
if (sq) {
|
|
109
|
+
addition = sq;
|
|
110
|
+
} else if (dq) {
|
|
111
|
+
addition = dq;
|
|
112
|
+
} else if (escape2) {
|
|
113
|
+
addition = escape2;
|
|
114
|
+
}
|
|
115
|
+
if (addition) {
|
|
116
|
+
field += addition.replace(/\\(?=.)/, "");
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (separator != null) {
|
|
120
|
+
words.push(field);
|
|
121
|
+
field = "";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
if (field) {
|
|
126
|
+
words.push(field);
|
|
127
|
+
}
|
|
128
|
+
return words;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
// ../../packages/runner-native/src/native-runner.ts
|
|
132
|
+
var shellwordsSplit = split;
|
|
79
133
|
function expandEnvVars(str, serviceEnv) {
|
|
80
134
|
const withHome = str.replace(/^~(\/|$)/, `${homedir()}$1`);
|
|
81
135
|
return withHome.replace(/\$\{(\w+)\}|\$(\w+)/g, (_, braced, plain) => {
|
|
@@ -1377,6 +1431,13 @@ var ResolvedEnvironmentSchema = z15.object({
|
|
|
1377
1431
|
resolvedFrom: z15.object({
|
|
1378
1432
|
environmentId: z15.string().max(128),
|
|
1379
1433
|
environmentName: z15.string().max(200)
|
|
1434
|
+
}).optional(),
|
|
1435
|
+
// Set when a machine-local override was applied to this variable, pointing
|
|
1436
|
+
// at the environment that carries the winning override. Distinct from
|
|
1437
|
+
// `overridden`, which also covers "shadows an inherited variable".
|
|
1438
|
+
overriddenBy: z15.object({
|
|
1439
|
+
environmentId: z15.string().max(128),
|
|
1440
|
+
environmentName: z15.string().max(200)
|
|
1380
1441
|
}).optional()
|
|
1381
1442
|
})).refine((obj) => Object.keys(obj).length <= 500, { message: "Max 500 source entries" })
|
|
1382
1443
|
});
|
|
@@ -1402,9 +1463,12 @@ var UpdateEnvironmentSchema = EnvironmentSchema.partial().required({ id: true })
|
|
|
1402
1463
|
|
|
1403
1464
|
// ../../packages/shared/src/schemas/environment-overrides.schema.ts
|
|
1404
1465
|
import { z as z16 } from "zod";
|
|
1466
|
+
var VariableOverrideSchema = z16.object({
|
|
1467
|
+
value: VariableSlotSchema
|
|
1468
|
+
});
|
|
1405
1469
|
var EnvironmentOverridesSchema = z16.record(
|
|
1406
1470
|
z16.string().max(128),
|
|
1407
|
-
|
|
1471
|
+
VariableOverrideSchema
|
|
1408
1472
|
).refine(
|
|
1409
1473
|
(obj) => Object.keys(obj).length <= 5e3,
|
|
1410
1474
|
{ message: "Max 5000 overrides" }
|
|
@@ -1443,8 +1507,15 @@ var ApiKeySchema = z17.object({
|
|
|
1443
1507
|
createdAt: z17.string().max(64),
|
|
1444
1508
|
isPublic: z17.boolean().default(false)
|
|
1445
1509
|
});
|
|
1510
|
+
var PersistedApiKeySchema = ApiKeySchema.extend({
|
|
1511
|
+
key: z17.string().min(1).max(4096)
|
|
1512
|
+
});
|
|
1446
1513
|
var ApiKeysFileSchema = z17.object({
|
|
1447
|
-
keys: z17.array(
|
|
1514
|
+
keys: z17.array(PersistedApiKeySchema).max(100)
|
|
1515
|
+
});
|
|
1516
|
+
var MaskedApiKeySchema = ApiKeySchema.omit({ key: true }).extend({
|
|
1517
|
+
/** Last 4 characters of the secret, for recognising a key in a list. */
|
|
1518
|
+
keyPreview: z17.string().max(8)
|
|
1448
1519
|
});
|
|
1449
1520
|
|
|
1450
1521
|
// ../../packages/shared/src/schemas/image.schema.ts
|
|
@@ -1474,13 +1545,35 @@ var ImageMetaSchema = z18.object({
|
|
|
1474
1545
|
|
|
1475
1546
|
// ../../packages/shared/src/schemas/kanban.schema.ts
|
|
1476
1547
|
import { z as z19 } from "zod";
|
|
1548
|
+
var KanbanAttachmentSchema = z19.object({
|
|
1549
|
+
/** Server-issued id, also the storage key. */
|
|
1550
|
+
id: z19.string().max(128),
|
|
1551
|
+
name: z19.string().max(255),
|
|
1552
|
+
size: z19.number().int().nonnegative(),
|
|
1553
|
+
contentType: z19.string().max(128)
|
|
1554
|
+
});
|
|
1477
1555
|
var KanbanCardEventSchema = z19.object({
|
|
1478
1556
|
type: z19.enum(["created", "edited", "moved", "image_added", "image_removed", "title_changed", "conversation_started", "scenario_started", "comment"]),
|
|
1479
1557
|
timestamp: z19.string(),
|
|
1480
1558
|
/** Extra context: old/new column name, old/new title, comment text, etc. */
|
|
1481
1559
|
detail: z19.string().max(5e3).optional(),
|
|
1560
|
+
/**
|
|
1561
|
+
* Stable identity of the event, used to tell an edit from an insertion when a
|
|
1562
|
+
* whole history is written back. Absent on events recorded before the field
|
|
1563
|
+
* existed; those fall back to (type, timestamp).
|
|
1564
|
+
*/
|
|
1565
|
+
id: z19.string().max(128).optional(),
|
|
1482
1566
|
/** Who authored this event — 'ai' or 'user'. Only set for comment events. */
|
|
1483
1567
|
author: z19.enum(["ai", "user"]).optional(),
|
|
1568
|
+
/**
|
|
1569
|
+
* The human behind a comment, stamped by the server. This is what makes
|
|
1570
|
+
* "my own comment" answerable; `author` only separates AI from human.
|
|
1571
|
+
*/
|
|
1572
|
+
authorUser: z19.object({ id: z19.string().max(128), name: z19.string().max(200) }).optional(),
|
|
1573
|
+
/** Set when the author amended their comment, so the UI can say so. */
|
|
1574
|
+
editedAt: z19.string().optional(),
|
|
1575
|
+
/** Files attached to a comment — same storage as a card's own attachments. */
|
|
1576
|
+
attachments: z19.array(KanbanAttachmentSchema).max(20).optional(),
|
|
1484
1577
|
/** Conversation that produced this event (comments only). Used to navigate back to the conversation. */
|
|
1485
1578
|
conversationId: z19.string().optional()
|
|
1486
1579
|
});
|
|
@@ -1488,12 +1581,29 @@ var KanbanCardSchema = z19.object({
|
|
|
1488
1581
|
id: z19.string(),
|
|
1489
1582
|
title: z19.string().min(1).max(500),
|
|
1490
1583
|
markdown: z19.string().max(1e5).default(""),
|
|
1491
|
-
/**
|
|
1584
|
+
/**
|
|
1585
|
+
* Legacy inline images, kept so boards written before object storage still
|
|
1586
|
+
* render. New uploads go to `attachments` instead.
|
|
1587
|
+
*/
|
|
1492
1588
|
images: z19.array(z19.string()).default([]),
|
|
1589
|
+
/** Files attached to the card — stored out of band, referenced here. */
|
|
1590
|
+
attachments: z19.array(KanbanAttachmentSchema).max(50).default([]),
|
|
1493
1591
|
order: z19.number().int(),
|
|
1494
1592
|
history: z19.array(KanbanCardEventSchema).default([]),
|
|
1495
1593
|
createdAt: z19.string(),
|
|
1496
|
-
updatedAt: z19.string()
|
|
1594
|
+
updatedAt: z19.string(),
|
|
1595
|
+
/**
|
|
1596
|
+
* People assigned to the card. Names are denormalized for display; the server
|
|
1597
|
+
* keeps only members of the owning organization, and notifies newcomers.
|
|
1598
|
+
*/
|
|
1599
|
+
assignees: z19.array(z19.object({ id: z19.string().max(128), name: z19.string().max(200) })).max(20).default([]),
|
|
1600
|
+
/**
|
|
1601
|
+
* Who first created the card. Stamped by the server the first time a card id
|
|
1602
|
+
* appears in a board write, never taken from the client — a member could
|
|
1603
|
+
* otherwise claim any authorship. Absent on cards created before this field
|
|
1604
|
+
* existed, so readers must treat it as unknown rather than assume.
|
|
1605
|
+
*/
|
|
1606
|
+
createdBy: z19.object({ id: z19.string().max(128), name: z19.string().max(200) }).optional()
|
|
1497
1607
|
});
|
|
1498
1608
|
var KanbanColumnSchema = z19.object({
|
|
1499
1609
|
id: z19.string(),
|
|
@@ -1528,6 +1638,8 @@ import { createCipheriv, createDecipheriv, randomBytes, pbkdf2Sync } from "crypt
|
|
|
1528
1638
|
// ../../packages/shared/src/js-log-parser.ts
|
|
1529
1639
|
import vm from "vm";
|
|
1530
1640
|
var VALID_LEVELS = /* @__PURE__ */ new Set(["debug", "info", "warn", "error", "fatal"]);
|
|
1641
|
+
var PARSE_TIMEOUT_MS = 50;
|
|
1642
|
+
var MAX_CONSECUTIVE_TIMEOUTS = 10;
|
|
1531
1643
|
var JSLogParser = class {
|
|
1532
1644
|
parsers = [];
|
|
1533
1645
|
constructor(definitions = []) {
|
|
@@ -1565,6 +1677,16 @@ var JSLogParser = class {
|
|
|
1565
1677
|
}
|
|
1566
1678
|
return this.sanitize(current);
|
|
1567
1679
|
}
|
|
1680
|
+
/**
|
|
1681
|
+
* Compile le code utilisateur en une fonction bornée en temps.
|
|
1682
|
+
*
|
|
1683
|
+
* Le `timeout` de `runInNewContext` ne couvre que l'évaluation de la factory :
|
|
1684
|
+
* la closure retournée s'exécutait ensuite ligne par ligne directement sur
|
|
1685
|
+
* l'event loop, sans aucune borne. Une regex à backtracking exponentiel
|
|
1686
|
+
* fournie par l'utilisateur figeait donc l'agent entier — logs, statuts et
|
|
1687
|
+
* métriques de *tous* les services. Chaque invocation repasse maintenant par
|
|
1688
|
+
* la vm, avec son propre budget.
|
|
1689
|
+
*/
|
|
1568
1690
|
compileParser(def) {
|
|
1569
1691
|
const forbidden = ["require(", "import ", "eval("];
|
|
1570
1692
|
for (const pat of forbidden) {
|
|
@@ -1589,17 +1711,44 @@ var JSLogParser = class {
|
|
|
1589
1711
|
} catch (err) {
|
|
1590
1712
|
throw new Error(`Compilation failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1591
1713
|
}
|
|
1714
|
+
const context = vm.createContext({ ...sandbox, __line: null, __result: null });
|
|
1592
1715
|
let parserFn;
|
|
1593
1716
|
try {
|
|
1594
|
-
parserFn = script.
|
|
1717
|
+
parserFn = script.runInContext(context, { timeout: 100 });
|
|
1595
1718
|
} catch (err) {
|
|
1596
1719
|
throw new Error(`Execution failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
1597
1720
|
}
|
|
1598
1721
|
if (typeof parserFn !== "function") {
|
|
1599
1722
|
throw new Error("Parser code must export a function");
|
|
1600
1723
|
}
|
|
1724
|
+
context["__parserFn"] = parserFn;
|
|
1725
|
+
const callScript = new vm.Script("__result = __parserFn(__line);", {
|
|
1726
|
+
filename: `parser-${def.id}-call.js`
|
|
1727
|
+
});
|
|
1728
|
+
let consecutiveTimeouts = 0;
|
|
1729
|
+
let disabled = false;
|
|
1601
1730
|
return (line) => {
|
|
1602
|
-
|
|
1731
|
+
if (disabled) return line;
|
|
1732
|
+
const ctx = context;
|
|
1733
|
+
ctx["__line"] = line;
|
|
1734
|
+
ctx["__result"] = null;
|
|
1735
|
+
try {
|
|
1736
|
+
callScript.runInContext(context, { timeout: PARSE_TIMEOUT_MS });
|
|
1737
|
+
consecutiveTimeouts = 0;
|
|
1738
|
+
} catch (err) {
|
|
1739
|
+
const e = err;
|
|
1740
|
+
const timedOut = !!e && (e.code === "ERR_SCRIPT_EXECUTION_TIMEOUT" || typeof e.message === "string" && /execution timed out/i.test(e.message));
|
|
1741
|
+
if (!timedOut) throw err;
|
|
1742
|
+
consecutiveTimeouts += 1;
|
|
1743
|
+
if (consecutiveTimeouts >= MAX_CONSECUTIVE_TIMEOUTS) {
|
|
1744
|
+
disabled = true;
|
|
1745
|
+
console.warn(
|
|
1746
|
+
`[js-log-parser] Parser "${def.name}" (${def.id}) disabled after ${MAX_CONSECUTIVE_TIMEOUTS} consecutive timeouts`
|
|
1747
|
+
);
|
|
1748
|
+
}
|
|
1749
|
+
return line;
|
|
1750
|
+
}
|
|
1751
|
+
const result = ctx["__result"];
|
|
1603
1752
|
if (result === null || result === void 0 || typeof result !== "object") {
|
|
1604
1753
|
return line;
|
|
1605
1754
|
}
|
|
@@ -2529,7 +2678,7 @@ async function getDockerStats(containerName) {
|
|
|
2529
2678
|
}
|
|
2530
2679
|
try {
|
|
2531
2680
|
const data = JSON.parse(stdout.trim());
|
|
2532
|
-
const cpu = Number.parseFloat(data.CPUPerc
|
|
2681
|
+
const cpu = Number.parseFloat(data.CPUPerc);
|
|
2533
2682
|
const memStr = data.MemUsage.split("/")[0].trim();
|
|
2534
2683
|
const memory = parseMemBytes(memStr);
|
|
2535
2684
|
resolve({ cpu: Number.isNaN(cpu) ? 0 : cpu, memory });
|
|
@@ -2645,7 +2794,6 @@ var MetricsCollector = class extends EventEmitter5 {
|
|
|
2645
2794
|
// src/services/health-checker.ts
|
|
2646
2795
|
import { EventEmitter as EventEmitter6 } from "events";
|
|
2647
2796
|
import { execa as execa3 } from "execa";
|
|
2648
|
-
import * as shellwordsModule2 from "shellwords";
|
|
2649
2797
|
|
|
2650
2798
|
// src/utils/env.ts
|
|
2651
2799
|
import { homedir as homedir4 } from "os";
|
|
@@ -3091,7 +3239,7 @@ function resolveCwd2(cwd, serviceEnv) {
|
|
|
3091
3239
|
}
|
|
3092
3240
|
|
|
3093
3241
|
// src/services/health-checker.ts
|
|
3094
|
-
var shellwordsSplit2 =
|
|
3242
|
+
var shellwordsSplit2 = split;
|
|
3095
3243
|
function buildHealthCheckEnv(serviceEnv = {}) {
|
|
3096
3244
|
const safeKeys = ["PATH", "HOME", "USER", "SHELL", "LANG", "TERM", "TMPDIR", "TZ"];
|
|
3097
3245
|
const env2 = {};
|
|
@@ -5436,7 +5584,7 @@ async function writeContextFiles(sessionId, files) {
|
|
|
5436
5584
|
}
|
|
5437
5585
|
|
|
5438
5586
|
// src/services/ai-paste-image.ts
|
|
5439
|
-
import { mkdir as mkdir5, writeFile as writeFile5
|
|
5587
|
+
import { mkdir as mkdir5, writeFile as writeFile5 } from "fs/promises";
|
|
5440
5588
|
import path2 from "path";
|
|
5441
5589
|
import os3 from "os";
|
|
5442
5590
|
import { randomUUID as randomUUID6 } from "crypto";
|