@runeya/runeya 2.0.47 → 2.0.49
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 +11 -1
- package/agent/index.js.map +1 -1
- package/agent-manager-JNA5ZALK.js +7 -0
- package/{chunk-5PRQBES2.js → chunk-4AGTVGSH.js} +59 -6
- package/chunk-4AGTVGSH.js.map +1 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/{src-IFPDFIDZ.js → src-WVK4WUI3.js} +65 -8
- package/src-WVK4WUI3.js.map +1 -0
- package/web/assets/{AgentScalarChatInterface.vue-Z3BLbola.js → AgentScalarChatInterface.vue-D53JSFzC.js} +1 -1
- package/web/assets/{AgentTerminalPage-Dg4kOMbK.js → AgentTerminalPage-zuXFRGB0.js} +1 -1
- package/web/assets/AiChatPage-BjC9iQnH.js +1 -0
- package/web/assets/{AppLayout-BQpUnN2N.js → AppLayout-fVYVDGr-.js} +1 -1
- package/web/assets/{AuditPage-zfim5OLa.js → AuditPage-DvhG8fxh.js} +1 -1
- package/web/assets/{CloudAccountPage-BD-L27Wl.js → CloudAccountPage-CE3b0q5v.js} +1 -1
- package/web/assets/CloudAccountPage-YkGuA0nb.js +1 -0
- package/web/assets/{CloudMessagingPage-BnaGxzNK.js → CloudMessagingPage-okqqdltV.js} +1 -1
- package/web/assets/{DashboardPage-ByzcpJV7.js → DashboardPage-CmZITjvU.js} +1 -1
- package/web/assets/{EditorIcon-jk0Nz8Mr.js → EditorIcon-dUXSIPv3.js} +1 -1
- package/web/assets/{EnvironmentForm-BH4EMxM6.js → EnvironmentForm-_y5JoRHH.js} +1 -1
- package/web/assets/{EnvironmentFormPage-Bwjr8SsV.js → EnvironmentFormPage-DYhDZdPj.js} +1 -1
- package/web/assets/{EnvironmentListPage-BgqHe-4p.js → EnvironmentListPage-soh5FJDb.js} +1 -1
- package/web/assets/{EnvironmentSelector-CBh21uuY.js → EnvironmentSelector-CQNLsssr.js} +1 -1
- package/web/assets/{KanbanBoardPage-Dg0Od24D.js → KanbanBoardPage-C3cG7v4z.js} +3 -3
- package/web/assets/KanbanListPage-xyv-oiyq.js +1 -0
- package/web/assets/KanbanListPage-yeTYeAas.css +1 -0
- package/web/assets/{LaunchProjectPage-BZe2kaRt.js → LaunchProjectPage-DKqMjh-V.js} +1 -1
- package/web/assets/{LaunchServicesPage-B4xd4APa.js → LaunchServicesPage-IhWdB_Gw.js} +1 -1
- package/web/assets/{LogViewer-BhaSYgvw.js → LogViewer-ChElXmMu.js} +1 -1
- package/web/assets/{ProcessControls-lDF1qNIM.js → ProcessControls-t9skQ_zd.js} +1 -1
- package/web/assets/{ProcessDetailPage-DwaApuHs.js → ProcessDetailPage-DFv0ESg1.js} +1 -1
- package/web/assets/{ProcessMetrics-rGmADRtS.js → ProcessMetrics-DL00NyoX.js} +1 -1
- package/web/assets/{ProjectDetailPage-BoIcnBMH.js → ProjectDetailPage-DEXvg1pg.js} +1 -1
- package/web/assets/{ProjectListPage-C3JtBL-6.js → ProjectListPage-h0AQ_RCw.js} +1 -1
- package/web/assets/{RandomJobTestPage-CndKGKYR.js → RandomJobTestPage-Dp7A7Qgx.js} +1 -1
- package/web/assets/{ScenarioEditorPage-DU7tb4M-.js → ScenarioEditorPage-D0_VpZUT.js} +1 -1
- package/web/assets/{SendToChatDialog-CCRCitBB.js → SendToChatDialog-BpJetpLA.js} +1 -1
- package/web/assets/{ServiceControlsBar-BjyMYoiN.js → ServiceControlsBar-qiCaxnab.js} +1 -1
- package/web/assets/{ServiceDetailPage-JqpmujmY.js → ServiceDetailPage-BD8D0CuN.js} +1 -1
- package/web/assets/{ServiceFormPage-DgNwiYzM.js → ServiceFormPage-Dax40DkX.js} +1 -1
- package/web/assets/{SettingsPage-BZM3WWqc.js → SettingsPage-zriZbuPv.js} +4 -4
- package/web/assets/{UnlockPage-BcZ2vL57.js → UnlockPage-BYtu3w_t.js} +1 -1
- package/web/assets/{VariablesTable-0Gz2ffiL.js → VariablesTable-IvhXwdsn.js} +1 -1
- package/web/assets/{VaultMigrationPage-BxTBDL19.js → VaultMigrationPage-6Id4Fmeo.js} +1 -1
- package/web/assets/{VersionBadge-DvsaGqvh.js → VersionBadge-B-PtNx51.js} +1 -1
- package/web/assets/WikiPage-DqqlIbM6.js +1 -0
- package/web/assets/{WikiView-e81ejcA8.js → WikiView-BZvgaTQp.js} +1 -1
- package/web/assets/{add-scalar-classes-Bh8ghfnQ.js → add-scalar-classes-CEf8wgbL.js} +3 -3
- package/web/assets/auth-errors-B510-08J.js +1 -0
- package/web/assets/{autocomplete-CDWkaHAi.js → autocomplete-DpSrZtZQ.js} +1 -1
- package/web/assets/{basic-shape-diamond.svg-7zqPzGW0.js → basic-shape-diamond.svg-BxBPwaOm.js} +1 -1
- package/web/assets/{basic-shape-hexagon.svg-DQwxqMd2.js → basic-shape-hexagon.svg-Du908vLS.js} +1 -1
- package/web/assets/{basic-shape-primary-circle-ellipse-round.svg-Bqm796vK.js → basic-shape-primary-circle-ellipse-round.svg-CfFm5Pl7.js} +1 -1
- package/web/assets/{basic-shape-primary-square-rectangle.svg-D7eyO04i.js → basic-shape-primary-square-rectangle.svg-CP0kG7Ut.js} +1 -1
- package/web/assets/{basic-shape-shield.svg-Bnc_pFVA.js → basic-shape-shield.svg-DxTsLdrS.js} +1 -1
- package/web/assets/{browser-LxxhMX-Z.js → browser-BvCyKum4.js} +1 -1
- package/web/assets/{browser-DeXg6zUY.js → browser-DV9-oWjy.js} +1 -1
- package/web/assets/{card-RaXQSIfv.js → card-TJ-av0Pi.js} +1 -1
- package/web/assets/{checkbox-DnpUXs7B.js → checkbox-D5bej0ao.js} +1 -1
- package/web/assets/{chip-0f0r_-zR.js → chip-D8vO8NID.js} +1 -1
- package/web/assets/{client-CTzGkOjO.js → client-D5eMRPpD.js} +1 -1
- package/web/assets/{cloud-chat.store-D2oJ_DFn.js → cloud-chat.store-DzSz0QMb.js} +1 -1
- package/web/assets/{cloud-session-BLn7b3ke.js → cloud-session-tALRHewK.js} +1 -1
- package/web/assets/{column-DqAehgUU.js → column-BAToyYIb.js} +1 -1
- package/web/assets/{computer-device-desktop-monitor.svg-k2x9Oiiu.js → computer-device-desktop-monitor.svg-82Glaw7U.js} +1 -1
- package/web/assets/{computer-device-desktop.svg-CyFljvrh.js → computer-device-desktop.svg-BZb-XFcK.js} +1 -1
- package/web/assets/{computer-device-laptop.svg-ZKpV0gtW.js → computer-device-laptop.svg-BnptbmCn.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung-back.svg-BkRkRpCh.js → computer-device-mobile-phone-android-samsung-back.svg-g23ZYYHm.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-android-samsung.svg-gpUXFo9R.js → computer-device-mobile-phone-android-samsung.svg-B5fBZlIN.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x-back.svg-CJwr0WJ3.js → computer-device-mobile-phone-iphone-x-back.svg-BsKZAUH_.js} +1 -1
- package/web/assets/{computer-device-mobile-phone-iphone-x.svg-BsPF_njN.js → computer-device-mobile-phone-iphone-x.svg-GVv-OoXC.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet-touch.svg-DON7qRSP.js → computer-device-mobile-tablet-touch.svg-CpyRybCz.js} +1 -1
- package/web/assets/{computer-device-mobile-tablet.svg-BPnT3MvS.js → computer-device-mobile-tablet.svg-C_6zzbHC.js} +1 -1
- package/web/assets/{computer-device-network-ethernet-cat6.svg-Bpjv_2ub.js → computer-device-network-ethernet-cat6.svg-s_MRa0bJ.js} +1 -1
- package/web/assets/{computer-device-network-lan-www.svg-BhXBIyrf.js → computer-device-network-lan-www.svg-31TS3sqT.js} +1 -1
- package/web/assets/{computer-device-network-wifi-connection.svg-DUaA1GcU.js → computer-device-network-wifi-connection.svg-BfBnT-iK.js} +1 -1
- package/web/assets/{computer-device-network-wifi-router.svg-k_DqQho1.js → computer-device-network-wifi-router.svg-BNQJ_FEI.js} +1 -1
- package/web/assets/{cssMode-CfVTS8OM.js → cssMode-IplHgA8x.js} +1 -1
- package/web/assets/{divider-C1huit3M.js → divider-D-QC8_57.js} +1 -1
- package/web/assets/{ecology-science-erlenmeyer-flask.svg-D7pbgLTT.js → ecology-science-erlenmeyer-flask.svg-CKCEQFIq.js} +1 -1
- package/web/assets/{fieldset-BVRjgmg4.js → fieldset-DpQHSMKf.js} +1 -1
- package/web/assets/{freemarker2-DsY_gjrP.js → freemarker2-DHUVsWtT.js} +1 -1
- package/web/assets/{handlebars-mh1HrGq7.js → handlebars-pE00Hjr_.js} +1 -1
- package/web/assets/{html-BsaAhzOa.js → html-DMtmtVNV.js} +1 -1
- package/web/assets/{htmlMode-pIhI3cAi.js → htmlMode-DFeVLqUM.js} +1 -1
- package/web/assets/{image-flash-lightning.svg-DDbhd-eu.js → image-flash-lightning.svg-NAFI_e2J.js} +1 -1
- package/web/assets/{image-picture-flower.svg-Bbx1pu02.js → image-picture-flower.svg-B6ZUCTNS.js} +1 -1
- package/web/assets/{index-Do0zA8cN.js → index-a1iwaPG1.js} +6 -6
- package/web/assets/{interface-alert-exclamation-diamond.svg-DUJeN1hs.js → interface-alert-exclamation-diamond.svg-CwHTxp3a.js} +1 -1
- package/web/assets/{interface-alert-exclamation-triangle-warning.svg-5y99yZSY.js → interface-alert-exclamation-triangle-warning.svg-Bi-1vcWG.js} +1 -1
- package/web/assets/{interface-alert-information-circle.svg-DPGP01ZU.js → interface-alert-information-circle.svg-CQnbLMfS.js} +1 -1
- package/web/assets/{interface-award-crown.svg-GDQ8ZRUh.js → interface-award-crown.svg-CFtMz4dE.js} +1 -1
- package/web/assets/{interface-bookmark.svg-CTZlXD4R.js → interface-bookmark-tag.svg-DumdjnW1.js} +1 -1
- package/web/assets/{interface-bookmark-tag.svg-D1NUMLB5.js → interface-bookmark.svg-7SV2pxyN.js} +1 -1
- package/web/assets/{interface-calendar-date-one.svg-DXo4raY8.js → interface-calendar-date-one.svg-e7-h1b3y.js} +1 -1
- package/web/assets/{interface-content-book-open-pages.svg-DTsCVw_D.js → interface-content-book-open-pages.svg-DwLQV4lf.js} +1 -1
- package/web/assets/{interface-content-book-page.svg-w9azHLUe.js → interface-content-book-page.svg-CAKDQ2x-.js} +1 -1
- package/web/assets/{interface-content-file.svg-69CCnbNb.js → interface-content-file.svg-DZEwGNLB.js} +1 -1
- package/web/assets/interface-content-folder.svg-BF9F5qf2.js +1 -0
- package/web/assets/{interface-content-folder.svg-85PnJNaK.js → interface-content-folder.svg-BnFYmNMO.js} +1 -1
- package/web/assets/{interface-copy-clipboard.svg-B0AfVljN.js → interface-copy-clipboard.svg-9UwhLON-.js} +1 -1
- package/web/assets/{interface-edit-attachment.svg-mFLLqqcw.js → interface-edit-attachment.svg-C1_u9TNx.js} +1 -1
- package/web/assets/{interface-edit-binocular.svg-CHzgny3z.js → interface-edit-binocular.svg-DoQnsqHf.js} +1 -1
- package/web/assets/{interface-edit-magic-wand.svg-BbJg9LMT.js → interface-edit-magic-wand.svg-C7wTd6JH.js} +1 -1
- package/web/assets/{interface-edit-tool-paint-roller.svg-YKE28Xpc.js → interface-edit-tool-paint-roller.svg-BZ4hqe-1.js} +1 -1
- package/web/assets/{interface-edit-tool-pencil.svg-Cy12MfEi.js → interface-edit-tool-pencil.svg-D1bysygW.js} +1 -1
- package/web/assets/{interface-favorite-award.svg-COiLJu4w.js → interface-favorite-award.svg-0Thu2k9M.js} +1 -1
- package/web/assets/{interface-favorite-flag.svg-C0NtaPD_.js → interface-favorite-flag.svg-DI4_vrUQ.js} +1 -1
- package/web/assets/{interface-favorite-heart.svg-CcKJOjOh.js → interface-favorite-heart.svg-DpwKtPuU.js} +1 -1
- package/web/assets/{interface-favorite-star.svg-C3vRaRtM.js → interface-favorite-star.svg-D-udxHVN.js} +1 -1
- package/web/assets/{interface-favorite-stars-sparkles.svg-DN9WOkFs.js → interface-favorite-stars-sparkles.svg-Dc4Z9Mjg.js} +1 -1
- package/web/assets/{interface-hierarchy-flowchart.svg-CffgUWNS.js → interface-hierarchy-flowchart.svg-vfERX-oc.js} +1 -1
- package/web/assets/{interface-home-house.svg-B9c4N9Fi.js → interface-home-house.svg-BY98XY-a.js} +1 -1
- package/web/assets/{interface-hyperlink.svg-B8dXB276.js → interface-hyperlink.svg-8D6WX1Q9.js} +1 -1
- package/web/assets/{interface-lighting-brightness.svg-BjFVAOW3.js → interface-lighting-brightness.svg-DUoPpiwx.js} +1 -1
- package/web/assets/{interface-lock-closed.svg-DwNcKmwu.js → interface-lock-closed.svg-CzFKU_Z4.js} +1 -1
- package/web/assets/{interface-lock-open-unlock.svg-BXZeKlHt.js → interface-lock-open-unlock.svg-BnrVx0lo.js} +1 -1
- package/web/assets/{interface-login-key.svg-CQnZGVMJ.js → interface-login-key.svg-DAfv-MMA.js} +1 -1
- package/web/assets/{interface-search.svg-CXre9Ja4.js → interface-search.svg-Q2hCozQb.js} +1 -1
- package/web/assets/{interface-setting-cog.svg-CGK2QxqV.js → interface-setting-cog.svg-Bvq0dvZR.js} +1 -1
- package/web/assets/{interface-share-megaphone-bullhorn.svg-BcdTvuin.js → interface-share-megaphone-bullhorn.svg-fUmta8NQ.js} +1 -1
- package/web/assets/{interface-share-rocket.svg-DIvKBIQX.js → interface-share-rocket.svg-BKSZkx2r.js} +1 -1
- package/web/assets/{interface-share-satellite.svg-DNbqAorz.js → interface-share-satellite.svg-CB_uwNHS.js} +1 -1
- package/web/assets/{interface-share-space-ship.svg-Biobo33q.js → interface-share-space-ship.svg-CcUB1z0B.js} +1 -1
- package/web/assets/{interface-share.svg-DWjt5rBb.js → interface-share.svg-Bug50vV0.js} +1 -1
- package/web/assets/{interface-signal-square.svg--hmv5CmE.js → interface-signal-square.svg-zg41vf79.js} +1 -1
- package/web/assets/{interface-time-clock-circle.svg-C1GnMIQD.js → interface-time-clock-circle.svg-a4omIVlV.js} +1 -1
- package/web/assets/{interface-time-hour-glass.svg-BCRsHIbm.js → interface-time-hour-glass.svg-3zmzbQg_.js} +1 -1
- package/web/assets/{interface-users-multiple.svg-CUpeUldF.js → interface-users-multiple.svg-BdPX2m6Y.js} +1 -1
- package/web/assets/{interface-weather-moon.svg-QXMY6B27.js → interface-weather-moon.svg-D9_m-QTi.js} +1 -1
- package/web/assets/{javascript-DKeyayKI.js → javascript-BJlgvmgy.js} +1 -1
- package/web/assets/{jsonMode-I9zemAn2.js → jsonMode-D0zJGMKu.js} +1 -1
- package/web/assets/{liquid-xEdzGxP1.js → liquid-B0fONmvZ.js} +1 -1
- package/web/assets/{lspLanguageFeatures-DOVjCuiu.js → lspLanguageFeatures-CrwGD4mx.js} +1 -1
- package/web/assets/{mail-chat-bubble-square.svg-CR8byO78.js → mail-chat-bubble-square.svg-DZaD3FQ3.js} +1 -1
- package/web/assets/{mail-send-email-paper-airplane.svg-B0cIMUKH.js → mail-send-email-paper-airplane.svg-DkbRfjXY.js} +1 -1
- package/web/assets/{mail-send-envelope.svg-El4e7bXy.js → mail-send-envelope.svg-5c8j8mB_.js} +1 -1
- package/web/assets/{mdx-AWoH37r-.js → mdx-CKW2c2uF.js} +1 -1
- package/web/assets/{message-CATQqbP_.js → message-DZ0RuJXv.js} +1 -1
- package/web/assets/{minus-Sd1wO9DO.js → minus-C_n6M3oC.js} +1 -1
- package/web/assets/modal-C5SccGq4.js +1 -0
- package/web/assets/{modal-ZXFHQ6vP.js → modal-CvqNyAvh.js} +1 -1
- package/web/assets/{money-cashier-receipt.svg-BIEGQvlX.js → money-cashier-receipt.svg-nNTup6TP.js} +1 -1
- package/web/assets/{money-currency-dollar-pay.svg-BgCHAYq5.js → money-currency-dollar-pay.svg-D6ct80fW.js} +1 -1
- package/web/assets/{money-graph-arrow-increase.svg-q6aDu3og.js → money-graph-arrow-increase.svg-DrQ3RzKG.js} +1 -1
- package/web/assets/{money-graph-bar-chart-increase.svg-mRvG_dWg.js → money-graph-bar-chart-increase.svg-CgI8xnRe.js} +1 -1
- package/web/assets/{multiselect-BK7hJt7W.js → multiselect-CSd05WUd.js} +1 -1
- package/web/assets/{nature-ecology-leaf.svg-DdhvC8mq.js → nature-ecology-leaf.svg-SIUCD6fX.js} +1 -1
- package/web/assets/{password-Dnf9oU5a.js → password-1NqZx53t.js} +1 -1
- package/web/assets/{phone-telephone.svg-CjbyxKZA.js → phone-telephone.svg-DuLAx6_w.js} +1 -1
- package/web/assets/{plus-jYeRYaw9.js → plus-CP-dlA9U.js} +1 -1
- package/web/assets/process.store-B_vfVoW1.js +1 -0
- package/web/assets/{programming-bug.svg-DvDCWw4P.js → programming-bug.svg-DzOMyrsK.js} +1 -1
- package/web/assets/{programming-cloud.svg-2prWAqB7.js → programming-cloud.svg-CB7hznLf.js} +1 -1
- package/web/assets/{programming-computer-database-server.svg-CT7k5d_p.js → programming-computer-database-server.svg-Vdd0DgKt.js} +1 -1
- package/web/assets/{programming-computer-database.svg-Dm7fpvII.js → programming-computer-database.svg-CEqheAaf.js} +1 -1
- package/web/assets/{programming-module-four-layout.svg-DBv6QvEO.js → programming-module-four-layout.svg-BdPzuTtB.js} +1 -1
- package/web/assets/{programming-module-three.svg-BnP96bPJ.js → programming-module-three.svg-PwBqCXu4.js} +1 -1
- package/web/assets/{programming-module.svg-Bdr4ZdZO.js → programming-module.svg-DsBi6ejo.js} +1 -1
- package/web/assets/{programming-script-code.svg-DIcr6sF-.js → programming-script-code.svg-Broms4WV.js} +1 -1
- package/web/assets/{python-C554d-pk.js → python-DfCB9qU4.js} +1 -1
- package/web/assets/{razor-BvOiTjBp.js → razor-BBh-Aao5.js} +1 -1
- package/web/assets/router-CEOd6ZAd.js +1 -0
- package/web/assets/{settings.store-DISlY-48.js → settings.store-BfNYjk_y.js} +1 -1
- package/web/assets/{shopping-cart.svg-DoCVSOin.js → shopping-cart.svg-CKdnb6hR.js} +1 -1
- package/web/assets/{shopping-gift-present.svg-CgNqOSQr.js → shopping-gift-present.svg-DIxbK0pG.js} +1 -1
- package/web/assets/{shopping-shipping-box-parcel-package.svg-YkVPEp7J.js → shopping-shipping-box-parcel-package.svg-C-9ntsF7.js} +1 -1
- package/web/assets/{src-DKVQlKvZ.js → src-C77fweBS.js} +1 -1
- package/web/assets/{src-Cvt5pswj.js → src-CXyRAwtR.js} +1 -1
- package/web/assets/{tabpanel-DFoLVdFR.js → tabpanel-C0aUv4Tp.js} +1 -1
- package/web/assets/{tag-new-circle.svg-BeUe12X2.js → tag-new-circle.svg-D9mnL-uB.js} +1 -1
- package/web/assets/{travel-map-earth-globe.svg-B1I1Ed-v.js → travel-map-earth-globe.svg-B1pf_UKK.js} +1 -1
- package/web/assets/trpc-BNJN8Syq.js +1 -0
- package/web/assets/{tsMode-BPD-0Vep.js → tsMode-CBiaVW1A.js} +1 -1
- package/web/assets/{typescript-Q2uKnndS.js → typescript-DSa5kNRs.js} +1 -1
- package/web/assets/useAiChatDrawer-DJh6hREC.js +1 -0
- package/web/assets/useCloudOrg-DYG5BAW1.js +1 -0
- package/web/assets/useCloudOrg-DinvbrpR.css +1 -0
- package/web/assets/{useProjectCatalog-Kh_sHbSD.js → useProjectCatalog-Dyg12Vcr.js} +1 -1
- package/web/assets/{xml-B0CfAsFk.js → xml-BYwyGk9G.js} +1 -1
- package/web/assets/{yaml-B3zRI6AS.js → yaml-Dl2OSYTO.js} +1 -1
- package/web/index.html +1 -1
- package/agent-manager-JJYZDLNB.js +0 -7
- package/chunk-5PRQBES2.js.map +0 -1
- package/src-IFPDFIDZ.js.map +0 -1
- package/web/assets/AiChatPage-0igbt0Ie.js +0 -1
- package/web/assets/CloudAccountPage-CHZG-vv-.js +0 -1
- package/web/assets/KanbanListPage-BXWsI5ji.css +0 -1
- package/web/assets/KanbanListPage-C6bsD-gJ.js +0 -1
- package/web/assets/WikiPage-DkEQXkzp.js +0 -1
- package/web/assets/auth-errors-C1B7h06f.js +0 -1
- package/web/assets/interface-content-folder.svg-Db3hJMdF.js +0 -1
- package/web/assets/modal-BbDElcmR.js +0 -1
- package/web/assets/process.store-C5LXrPXo.js +0 -1
- package/web/assets/router-CCEIu6U5.js +0 -1
- package/web/assets/trpc-CVPkysoa.js +0 -1
- package/web/assets/useAiChatDrawer-B70XYuU8.js +0 -1
- package/web/assets/useCloudOrg-A1wW_KrI.css +0 -1
- package/web/assets/useCloudOrg-CZ68epfW.js +0 -1
- /package/{agent-manager-JJYZDLNB.js.map → agent-manager-JNA5ZALK.js.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-
|
|
2
|
-
import{$r as e,Bi as t,Br as n,Ci as r,Di as i,Dn as a,En as ee,Gi as o,Ht as s,In as c,Ji as te,Kr as l,Mi as ne,Mr as re,Ot as ie,Qr as u,S as ae,Ti as oe,Ur as se,Vt as d,Wi as f,Wr as p,X as ce,Xr as m,Yr as h,Zi as g,Zr as _,_ as le,b as ue,fn as v,g as de,gi as fe,h as pe,ii as y,in as me,jr as b,ki as x,la as S,m as he,mn as C,n as ge,oi as w,p as _e,q as ve,t as ye,un as T,va as E,y as be}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-BNJN8Syq.js","assets/index-a1iwaPG1.js","assets/index-D7XqcLhE.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{$r as e,Bi as t,Br as n,Ci as r,Di as i,Dn as a,En as ee,Gi as o,Ht as s,In as c,Ji as te,Kr as l,Mi as ne,Mr as re,Ot as ie,Qr as u,S as ae,Ti as oe,Ur as se,Vt as d,Wi as f,Wr as p,X as ce,Xr as m,Yr as h,Zi as g,Zr as _,_ as le,b as ue,fn as v,g as de,gi as fe,h as pe,ii as y,in as me,jr as b,ki as x,la as S,m as he,mn as C,n as ge,oi as w,p as _e,q as ve,t as ye,un as T,va as E,y as be}from"./index-a1iwaPG1.js";import"./cloud-session-tALRHewK.js";import"./src-CXyRAwtR.js";import"./src-C77fweBS.js";import"./w3c-keyname-nn0G3QC2.js";import{r as xe,t as Se}from"./useCloudOrg-DYG5BAW1.js";import{t as Ce}from"./SendToChatDialog-BpJetpLA.js";const we=b(`kanban-queue`,()=>{let e=S({items:[],running:[],maxConcurrent:1}),t=null;async function n(){t||=d.kanbanQueue.onChanged.subscribe(void 0,{onData(t){e.value=t}})}function r(){t?.unsubscribe(),t=null}function i(t,n){return e.value.items.some(e=>e.boardId===t&&e.cardId===n)||e.value.running.some(e=>e.boardId===t&&e.cardId===n)}function a(t,n){let r=e.value.items.find(e=>e.boardId===t&&e.cardId===n);return r?r.id:e.value.running.find(e=>e.boardId===t&&e.cardId===n)?.id??null}async function ee(e){await d.kanbanQueue.add.mutate(e)}async function o(e){await d.kanbanQueue.addColumn.mutate(e)}async function s(e){await d.kanbanQueue.remove.mutate({itemId:e})}async function c(){await d.kanbanQueue.stopAll.mutate()}async function te(e){await d.kanbanQueue.setMaxConcurrent.mutate({max:e})}return{state:e,init:n,destroy:r,isCardInQueue:i,getCardQueueItemId:a,addCard:ee,addColumn:o,removeItem:s,stopAll:c,setMaxConcurrent:te}});var Te={key:0,class:`kanban-board-host`},Ee={class:`upgrade-banner__cta`},De=[`onClick`],Oe={key:0,class:`kb-card__ai-badge kb-card__ai-badge--streaming`},ke={key:1,class:`kb-card__ai-badge kb-card__ai-badge--unread`},Ae={class:`kb-populate`},je={class:`kb-populate__hint`},Me={class:`kb-dialog__footer`},Ne={key:0,class:`kb-queue-panel`},Pe={class:`kb-queue-panel__header`},Fe={class:`kb-queue-panel__title`},Ie={class:`kb-queue-panel__concurrency`},Le={class:`kb-queue-panel__concurrency-label`},Re={class:`kb-queue-panel__concurrency-ctrl`},ze={key:0,class:`kb-queue-panel__section`},Be={class:`kb-queue-panel__section-title`},Ve={class:`kb-queue-item__title`},He={key:1,class:`kb-queue-panel__section`},Ue={class:`kb-queue-panel__section-title`},We={class:`kb-queue-item__title`},Ge={key:2,class:`kb-queue-panel__empty`},Ke={class:`kb-queue-panel__footer`},qe={class:`kb-queue-col-dialog`},Je={class:`kb-queue-col-dialog__field`},Ye={for:`kanban-queue-runner`},Xe=[`disabled`],Ze=[`disabled`],Qe={class:`kb-queue-col-dialog__field`},$e={for:`kanban-queue-scenario`},et={value:``},tt=[`value`],nt={class:`kb-dialog__footer`},rt={key:1,class:`kanban-board-loading`},D=T(w({__name:`KanbanBoardPage`,props:{id:{}},setup(d){let b=d,{t:w}=c(),T=a(),D=ee(),{orgId:O,orgSlug:k,cloudUser:it,members:at}=Se();function ot(e,t){return O.value?le(O.value,e,t):Promise.resolve(null)}function st(e){return pe(e.id)}function ct(e){return de(e.id,e.contentType)}function lt(e){return`${ye()}/api/avatar/${e}`}let ut=h(()=>at.value.map(e=>({userId:e.userId,name:e.name})));function dt(e,t){return t?w(`kanban.board.${e}`,t):w(`kanban.board.${e}`)}let A=be(_e,O,{streamUrl:he}),ft=ue(_e,O),pt=h(()=>ft.templates.value.map(e=>({id:e.id,name:e.name,content:e.content}))),j=S(null),M=h(()=>A.activeBoard.value),N=h(()=>M.value?.columns??[]),P=h(()=>!A.canWrite.value||!!M.value?.archived);t([O,()=>b.id],async([e,t])=>{if(!(!e||!t)){if(await A.openBoard(t),!A.activeBoard.value){T.push(`/kanban`);return}await fe(),ht()}},{immediate:!0});let F=h(()=>typeof D.params.cardId==`string`?D.params.cardId:``),I=!1,L=!1;function mt(e){for(let t of N.value){let n=t.cards.find(t=>t.id===e);if(n)return{colId:t.id,card:n}}return null}function ht(){let e=typeof D.query.card==`string`?D.query.card:``;if(e){T.replace({name:`kanban-card`,params:{id:b.id,cardId:e},query:{...D.query,card:void 0}});return}let t=F.value;if(t!==(j.value?.editingCard?.card.id??``)){I=!0;try{if(!t){j.value?.closeCardEditor();return}let e=mt(t);e&&j.value?.openCardEditor(e.colId,e.card)}finally{I=!1}}}function gt(e){if(I)return;let t=e?.card.id??``;if(t!==F.value){if(t){L=!0,T.push({name:`kanban-card`,params:{id:b.id,cardId:t}});return}if(L){L=!1,T.back();return}T.replace({name:`kanban-board`,params:{id:b.id}})}}t(F,()=>ht());function _t(e,t,n){return A.addComment(e,t,n)}async function vt(e){A.markDirty(),await A.saveBoard({columns:e})}async function yt(e){M.value&&await A.setColumnSubscription(M.value.id,e.columnId,e.subscription)}function bt(){k.value&&window.open(`${ge()}/app/${k.value}/settings/org/billing`,`_blank`,`noopener`)}let R=ce(),{claudeCodeAvailable:xt,codexAvailable:St}=re(R),z=ie(),B=S(!1),Ct=S(null),wt=S(null),V=``,H=null;r(()=>{R.init()});function Tt(e){return(e.conversationEvents??e.history??[]).filter(e=>e.type===`conversation_started`||e.type===`scenario_started`).map(e=>{let t=e.detail??``;return t.includes(` — `)?t.split(` — `).pop():t}).filter(Boolean)}function Et(e){return e&&R.conversations.some(t=>t.id===e)?e:null}function Dt(e){return e.type===`comment`?Et(e.conversationId):e.type!==`conversation_started`&&e.type!==`scenario_started`||!e.detail?null:Et(e.detail.includes(` — `)?e.detail.split(` — `).pop():e.detail)}function Ot(e){if(!M.value)return null;if(U.state.running.some(t=>t.cardId===e.id))return`streaming`;if(U.state.items.some(t=>t.cardId===e.id))return`unread`;let t=Tt(e);return t.some(e=>R.streamingConvIds.has(e))?`streaming`:t.some(e=>R.unreadConvIds.has(e))?`unread`:null}function kt(e){R.selectConversation(e),j.value?.closeCardEditor(),z.open()}async function At(e,t,n){H&&await A.addCardEvent(H.card.id,t,n??e)}function jt(e){H={colId:e.colId,card:e.card};let t=e.draft.title||e.card.title||``,n=e.draft.markdown||e.card.markdown||``;V=n?`${t}\n\n${n}`:t,j.value?.saveCard(),B.value=!0}function Mt(e){if(!M.value)return;let t=e.draft.title||e.card.title||w(`kanban.board.card.untitled`),n=N.value.find(t=>t.id===e.colId)?.title??``,r=(e.draft.markdown??``).trim(),i=k.value?`${ge()}/app/${k.value}/kanban/${M.value.id}/card/${e.card.id}`:`${window.location.origin}/kanban/${M.value.id}/card/${e.card.id}`,a=[`📋 ${t}`];n&&a.push(`📍 ${w(`kanban.board.editor.columnLabel`,{column:n})}`),r&&a.push(r),a.push(`🔗 [${w(`kanban.board.editor.openCardLink`)}](${i})`),wt.value?.open(a.join(`
|
|
3
3
|
|
|
4
|
-
`))}function Nt(){return{kanbanBoardId:M.value?.id,kanbanCardId:H?.card.id}}async function Pt(e,t){let n=V,r=await R.createConversation({title:`Kanban: ${H?.card.title||`Card`}`,runner:e,providerId:t,...Nt()});r&&await At(r.id,`conversation_started`),j.value?.closeCardEditor(),n?z.openWithKanbanContext(n):z.open()}function Ft(e,t,n){B.value=!1,Ct.value?.showScenarioDialog(e,V,t,n??void 0)}async function It(e,t){B.value=!1,await Pt(e===`keep`?void 0:e,t??void 0)}async function Lt(e,t,n,r){let i=t||V,a=await R.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${H?.card.title||`Card`}`,...Nt()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;R.startScenarioRun(a.id,e,i,void 0,t),await At(a.id,`scenario_started`,`Scenario run — ${a.id}`)}j.value?.closeCardEditor(),z.open()}let U=we(),W=S(!1),G=S(!1),Rt=S(``),K=S(``),q=S(``),zt=S([]),J=h(()=>U.state.items.length+U.state.running.length);r(async()=>{U.init();try{let{trpc:e}=await s(async()=>{let{trpc:e}=await import(`./trpc-CVPkysoa.js`);return{trpc:e}},__vite__mapDeps([0,1,2]));zt.value=(await e.scenario.list.query()).map(e=>({id:e.id,name:e.name}))}catch{}}),oe(()=>U.destroy());function Bt(e){Rt.value=e,K.value=``,q.value=``,G.value=!0}async function Vt(){M.value&&(await U.addColumn({boardId:M.value.id,columnId:Rt.value,runner:K.value||void 0,scenarioId:q.value||void 0}),G.value=!1)}async function Ht(e){if(!M.value)return;let t=U.getCardQueueItemId(M.value.id,e.id);t?await U.removeItem(t):await U.addCard({boardId:M.value.id,cardId:e.id})}function Y(e){return N.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let X=S(!1),Z=S(!1),Q=S(``);async function Ut(e,t){if(!M.value||!Q.value.trim())return;let n=Q.value.trim(),r=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:M.value.id});if(Z.value=!1,Q.value=``,r){if(e===`claude-code`||e===`codex`){z.openWithPopulateContext(n);return}z.openPopulate(),await fe(),R.send(n,()=>{})}}async function Wt(e,t,n){if(!M.value||!Q.value.trim())return;let r=Q.value.trim(),i=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:M.value.id});Z.value=!1,Q.value=``,i&&(R.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),z.open())}function Gt(){Q.value=``,X.value=!0}function $(){Q.value.trim()&&(X.value=!1,R.fetchProviders(),R.checkCliAvailability(),Z.value=!0)}async function Kt(e,t){await Ut(e===`keep`?void 0:e,t??void 0)}async function qt(e,t,n){await Wt(e,t,n)}return t(()=>R.streamingConvIds.size,()=>{A.refreshActiveBoard()}),(t,r)=>{let a=ne(`tooltip`);return M.value?(i(),e(`div`,Te,[y(E(xe),{ref_key:`boardRef`,ref:j,columns:N.value,name:M.value.name,"read-only":P.value,saving:E(A).saving.value,templates:pt.value,t:dt,"resolve-conversation-id":Dt,"current-user-id":E(it)?.id,members:ut.value,"column-subscriptions":M.value.columnSubscriptions??{},"avatar-url":lt,"upload-image":ot,"fetch-attachment":ct,"delete-attachment":st,"load-history":E(A).loadCardHistory,histories:E(A).cardHistories.value,"add-comment":_t,"edit-comment":E(A).updateComment,"remove-comment":E(A).deleteComment,"move-card":E(A).moveCard,onChange:vt,onBack:r[1]||=e=>E(T).push(`/kanban`),onOpenConversation:kt,onCardOpen:gt,onUpdateColumnSubscription:yt},{"header-actions":f(()=>[P.value?u(``,!0):(i(),_(E(C),{key:0,label:E(w)(`kanban.board.aiPopulate`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,onClick:Gt},null,8,[`label`])),y(E(C),{label:E(w)(`kanban.board.queue.panelHeader`),icon:`pi pi-list`,severity:`secondary`,outlined:``,size:`small`,badge:J.value>0?String(J.value):void 0,"badge-severity":`warn`,onClick:r[0]||=e=>W.value=!W.value},null,8,[`label`,`badge`])]),banner:f(()=>[E(A).canWrite.value?u(``,!0):(i(),e(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:p(bt,[`prevent`])},[m(`span`,null,g(E(w)(`kanban.cloud.readOnlyNotice`)),1),m(`span`,Ee,g(E(w)(`kanban.cloud.upgradeCta`)),1)]))]),"column-actions":f(({column:e})=>[P.value?u(``,!0):o((i(),_(E(C),{key:0,icon:`pi pi-list`,text:``,rounded:``,size:`small`,onClick:p(t=>Bt(e.id),[`stop`])},null,8,[`onClick`])),[[a,E(w)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":f(({card:t})=>[P.value?u(``,!0):o((i(),e(`button`,{key:0,class:te([`kb-card__queue-btn`,{"kb-card__queue-btn--active":M.value&&E(U).isCardInQueue(M.value.id,t.id)}]),onClick:p(e=>Ht(t),[`stop`])},[...r[15]||=[m(`i`,{class:`pi pi-list`},null,-1)]],10,De)),[[a,M.value&&E(U).isCardInQueue(M.value.id,t.id)?E(w)(`kanban.board.queue.tooltipInQueue`):E(w)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":f(({card:t})=>[Ot(t)===`streaming`?o((i(),e(`span`,Oe,null,512)),[[a,E(w)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):Ot(t)===`unread`?o((i(),e(`span`,ke,null,512)),[[a,E(w)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):u(``,!0)]),"card-editor-actions":f(({card:e,colId:t,draft:n})=>[y(E(C),{label:E(w)(`kanban.board.editor.launchAi`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,disabled:P.value,onClick:r=>jt({card:e,colId:t,draft:n})},null,8,[`label`,`disabled`,`onClick`]),y(E(C),{label:E(w)(`kanban.board.editor.sendToChat`),icon:`pi pi-comments`,severity:`secondary`,outlined:``,size:`small`,onClick:r=>Mt({card:e,colId:t,draft:n})},null,8,[`label`,`onClick`])]),_:1},8,[`columns`,`name`,`read-only`,`saving`,`templates`,`current-user-id`,`members`,`column-subscriptions`,`load-history`,`histories`,`edit-comment`,`remove-comment`,`move-card`]),y(E(v),{visible:B.value,header:E(w)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":r[2]||=e=>{e||(B.value=!1)}},{default:f(()=>[y(ve,{compact:``,onSelectScenario:Ft,onSkip:It})]),_:1},8,[`visible`,`header`]),y(ae,{ref_key:`launchModalsRef`,ref:Ct,onConfirmScenarioStart:Lt},null,512),y(Ce,{ref_key:`sendToChatRef`,ref:wt},null,512),y(E(v),{visible:X.value,header:E(w)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},breakpoints:{"600px":`95vw`},"onUpdate:visible":r[5]||=e=>{e||(X.value=!1)}},{footer:f(()=>[m(`div`,Me,[y(E(C),{label:E(w)(`actions.cancel`),text:``,onClick:r[4]||=e=>X.value=!1},null,8,[`label`]),y(E(C),{label:E(w)(`kanban.board.populateDialog.generate`),icon:`pi pi-sparkles`,disabled:!Q.value.trim(),onClick:$},null,8,[`label`,`disabled`])])]),default:f(()=>[m(`div`,Ae,[m(`p`,je,g(E(w)(`kanban.board.populateDialog.hint`)),1),y(E(me),{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,placeholder:E(w)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[se(p($,[`ctrl`]),[`enter`]),se(p($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),y(E(v),{visible:Z.value,header:E(w)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":r[6]||=e=>{e||(Z.value=!1)}},{default:f(()=>[y(ve,{compact:``,onSelectScenario:qt,onSkip:Kt})]),_:1},8,[`visible`,`header`]),W.value?(i(),e(`div`,Ne,[m(`div`,Pe,[m(`span`,Fe,g(E(w)(`kanban.board.queue.panelHeader`)),1),y(E(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:r[7]||=e=>W.value=!1})]),m(`div`,Ie,[m(`span`,Le,g(E(w)(`kanban.board.queue.concurrency`)),1),m(`div`,Re,[y(E(C),{icon:`pi pi-minus`,text:``,rounded:``,size:`small`,disabled:E(U).state.maxConcurrent<=1,onClick:r[8]||=e=>E(U).setMaxConcurrent(E(U).state.maxConcurrent-1)},null,8,[`disabled`]),m(`span`,null,g(E(U).state.maxConcurrent),1),y(E(C),{icon:`pi pi-plus`,text:``,rounded:``,size:`small`,onClick:r[9]||=e=>E(U).setMaxConcurrent(E(U).state.maxConcurrent+1)})])]),E(U).state.running.length>0?(i(),e(`div`,ze,[m(`div`,Be,g(E(w)(`kanban.board.queue.runningSection`,{count:E(U).state.running.length})),1),(i(!0),e(l,null,x(E(U).state.running.filter(e=>e.boardId===M.value?.id),t=>(i(),e(`div`,{key:t.id,class:`kb-queue-item kb-queue-item--running`},[r[16]||=m(`i`,{class:`pi pi-spin pi-spinner`},null,-1),m(`span`,Ve,g(Y(t.cardId)),1),y(E(C),{icon:`pi pi-stop`,text:``,rounded:``,size:`small`,severity:`danger`,onClick:e=>E(U).removeItem(t.id)},null,8,[`onClick`])]))),128))])):u(``,!0),E(U).state.items.length>0?(i(),e(`div`,He,[m(`div`,Ue,g(E(w)(`kanban.board.queue.waitingSection`,{count:E(U).state.items.length})),1),(i(!0),e(l,null,x(E(U).state.items.filter(e=>e.boardId===M.value?.id),t=>(i(),e(`div`,{key:t.id,class:`kb-queue-item`},[r[17]||=m(`i`,{class:`pi pi-clock`},null,-1),m(`span`,We,g(Y(t.cardId)),1),y(E(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:e=>E(U).removeItem(t.id)},null,8,[`onClick`])]))),128))])):u(``,!0),J.value===0?(i(),e(`div`,Ge,g(E(w)(`kanban.board.queue.empty`)),1)):u(``,!0),m(`div`,Ke,[y(E(C),{label:E(w)(`kanban.board.queue.stopAll`),icon:`pi pi-stop`,severity:`danger`,text:``,size:`small`,disabled:J.value===0,onClick:r[10]||=e=>E(U).stopAll()},null,8,[`label`,`disabled`])])])):u(``,!0),y(E(v),{visible:G.value,header:E(w)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":r[14]||=e=>{e||(G.value=!1)}},{footer:f(()=>[m(`div`,nt,[y(E(C),{label:E(w)(`actions.cancel`),text:``,onClick:r[13]||=e=>G.value=!1},null,8,[`label`]),y(E(C),{label:E(w)(`kanban.board.queue.addColumnDialog.confirm`),icon:`pi pi-list`,onClick:Vt},null,8,[`label`])])]),default:f(()=>[m(`div`,qe,[m(`div`,Je,[m(`label`,Ye,g(E(w)(`kanban.board.queue.addColumnDialog.runner`)),1),o(m(`select`,{id:`kanban-queue-runner`,"onUpdate:modelValue":r[11]||=e=>K.value=e,class:`kb-queue-col-dialog__select`},[r[18]||=m(`option`,{value:``},`Auto`,-1),m(`option`,{value:`claude-code`,disabled:!E(xt)},` Claude Code`+g(E(xt)?``:` (non installé)`),9,Xe),m(`option`,{value:`codex`,disabled:!E(St)},` Codex`+g(E(St)?``:` (non installé)`),9,Ze)],512),[[n,K.value]])]),m(`div`,Qe,[m(`label`,$e,g(E(w)(`kanban.board.queue.addColumnDialog.scenario`)),1),o(m(`select`,{id:`kanban-queue-scenario`,"onUpdate:modelValue":r[12]||=e=>q.value=e,class:`kb-queue-col-dialog__select`},[m(`option`,et,g(E(w)(`kanban.board.queue.addColumnDialog.noScenario`)),1),(i(!0),e(l,null,x(zt.value,t=>(i(),e(`option`,{key:t.id,value:t.id},g(t.name),9,tt))),128))],512),[[n,q.value]])])])]),_:1},8,[`visible`,`header`])])):E(A).loading.value?(i(),e(`div`,rt,[...r[19]||=[m(`i`,{class:`pi pi-spin pi-spinner`},null,-1)]])):u(``,!0)}}}),[[`__scopeId`,`data-v-1f9903f2`]]);export{D as default};
|
|
4
|
+
`))}function Nt(){return{kanbanBoardId:M.value?.id,kanbanCardId:H?.card.id}}async function Pt(e,t){let n=V,r=await R.createConversation({title:`Kanban: ${H?.card.title||`Card`}`,runner:e,providerId:t,...Nt()});r&&await At(r.id,`conversation_started`),j.value?.closeCardEditor(),n?z.openWithKanbanContext(n):z.open()}function Ft(e,t,n){B.value=!1,Ct.value?.showScenarioDialog(e,V,t,n??void 0)}async function It(e,t){B.value=!1,await Pt(e===`keep`?void 0:e,t??void 0)}async function Lt(e,t,n,r){let i=t||V,a=await R.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${H?.card.title||`Card`}`,...Nt()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;R.startScenarioRun(a.id,e,i,void 0,t),await At(a.id,`scenario_started`,`Scenario run — ${a.id}`)}j.value?.closeCardEditor(),z.open()}let U=we(),W=S(!1),G=S(!1),Rt=S(``),K=S(``),q=S(``),zt=S([]),J=h(()=>U.state.items.length+U.state.running.length);r(async()=>{U.init();try{let{trpc:e}=await s(async()=>{let{trpc:e}=await import(`./trpc-BNJN8Syq.js`);return{trpc:e}},__vite__mapDeps([0,1,2]));zt.value=(await e.scenario.list.query()).map(e=>({id:e.id,name:e.name}))}catch{}}),oe(()=>U.destroy());function Bt(e){Rt.value=e,K.value=``,q.value=``,G.value=!0}async function Vt(){M.value&&(await U.addColumn({boardId:M.value.id,columnId:Rt.value,runner:K.value||void 0,scenarioId:q.value||void 0}),G.value=!1)}async function Ht(e){if(!M.value)return;let t=U.getCardQueueItemId(M.value.id,e.id);t?await U.removeItem(t):await U.addCard({boardId:M.value.id,cardId:e.id})}function Y(e){return N.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let X=S(!1),Z=S(!1),Q=S(``);async function Ut(e,t){if(!M.value||!Q.value.trim())return;let n=Q.value.trim(),r=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:M.value.id});if(Z.value=!1,Q.value=``,r){if(e===`claude-code`||e===`codex`){z.openWithPopulateContext(n);return}z.openPopulate(),await fe(),R.send(n,()=>{})}}async function Wt(e,t,n){if(!M.value||!Q.value.trim())return;let r=Q.value.trim(),i=await R.createConversation({title:`Kanban populate: ${M.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:M.value.id});Z.value=!1,Q.value=``,i&&(R.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),z.open())}function Gt(){Q.value=``,X.value=!0}function $(){Q.value.trim()&&(X.value=!1,R.fetchProviders(),R.checkCliAvailability(),Z.value=!0)}async function Kt(e,t){await Ut(e===`keep`?void 0:e,t??void 0)}async function qt(e,t,n){await Wt(e,t,n)}return t(()=>R.streamingConvIds.size,()=>{A.refreshActiveBoard()}),(t,r)=>{let a=ne(`tooltip`);return M.value?(i(),e(`div`,Te,[y(E(xe),{ref_key:`boardRef`,ref:j,columns:N.value,name:M.value.name,"read-only":P.value,saving:E(A).saving.value,templates:pt.value,t:dt,"resolve-conversation-id":Dt,"current-user-id":E(it)?.id,members:ut.value,"column-subscriptions":M.value.columnSubscriptions??{},"avatar-url":lt,"upload-image":ot,"fetch-attachment":ct,"delete-attachment":st,"load-history":E(A).loadCardHistory,histories:E(A).cardHistories.value,"add-comment":_t,"edit-comment":E(A).updateComment,"remove-comment":E(A).deleteComment,"move-card":E(A).moveCard,onChange:vt,onBack:r[1]||=e=>E(T).push(`/kanban`),onOpenConversation:kt,onCardOpen:gt,onUpdateColumnSubscription:yt},{"header-actions":f(()=>[P.value?u(``,!0):(i(),_(E(C),{key:0,label:E(w)(`kanban.board.aiPopulate`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,onClick:Gt},null,8,[`label`])),y(E(C),{label:E(w)(`kanban.board.queue.panelHeader`),icon:`pi pi-list`,severity:`secondary`,outlined:``,size:`small`,badge:J.value>0?String(J.value):void 0,"badge-severity":`warn`,onClick:r[0]||=e=>W.value=!W.value},null,8,[`label`,`badge`])]),banner:f(()=>[E(A).canWrite.value?u(``,!0):(i(),e(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:p(bt,[`prevent`])},[m(`span`,null,g(E(w)(`kanban.cloud.readOnlyNotice`)),1),m(`span`,Ee,g(E(w)(`kanban.cloud.upgradeCta`)),1)]))]),"column-actions":f(({column:e})=>[P.value?u(``,!0):o((i(),_(E(C),{key:0,icon:`pi pi-list`,text:``,rounded:``,size:`small`,onClick:p(t=>Bt(e.id),[`stop`])},null,8,[`onClick`])),[[a,E(w)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":f(({card:t})=>[P.value?u(``,!0):o((i(),e(`button`,{key:0,class:te([`kb-card__queue-btn`,{"kb-card__queue-btn--active":M.value&&E(U).isCardInQueue(M.value.id,t.id)}]),onClick:p(e=>Ht(t),[`stop`])},[...r[15]||=[m(`i`,{class:`pi pi-list`},null,-1)]],10,De)),[[a,M.value&&E(U).isCardInQueue(M.value.id,t.id)?E(w)(`kanban.board.queue.tooltipInQueue`):E(w)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":f(({card:t})=>[Ot(t)===`streaming`?o((i(),e(`span`,Oe,null,512)),[[a,E(w)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):Ot(t)===`unread`?o((i(),e(`span`,ke,null,512)),[[a,E(w)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):u(``,!0)]),"card-editor-actions":f(({card:e,colId:t,draft:n})=>[y(E(C),{label:E(w)(`kanban.board.editor.launchAi`),icon:`pi pi-sparkles`,severity:`secondary`,outlined:``,size:`small`,disabled:P.value,onClick:r=>jt({card:e,colId:t,draft:n})},null,8,[`label`,`disabled`,`onClick`]),y(E(C),{label:E(w)(`kanban.board.editor.sendToChat`),icon:`pi pi-comments`,severity:`secondary`,outlined:``,size:`small`,onClick:r=>Mt({card:e,colId:t,draft:n})},null,8,[`label`,`onClick`])]),_:1},8,[`columns`,`name`,`read-only`,`saving`,`templates`,`current-user-id`,`members`,`column-subscriptions`,`load-history`,`histories`,`edit-comment`,`remove-comment`,`move-card`]),y(E(v),{visible:B.value,header:E(w)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":r[2]||=e=>{e||(B.value=!1)}},{default:f(()=>[y(ve,{compact:``,onSelectScenario:Ft,onSkip:It})]),_:1},8,[`visible`,`header`]),y(ae,{ref_key:`launchModalsRef`,ref:Ct,onConfirmScenarioStart:Lt},null,512),y(Ce,{ref_key:`sendToChatRef`,ref:wt},null,512),y(E(v),{visible:X.value,header:E(w)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},breakpoints:{"600px":`95vw`},"onUpdate:visible":r[5]||=e=>{e||(X.value=!1)}},{footer:f(()=>[m(`div`,Me,[y(E(C),{label:E(w)(`actions.cancel`),text:``,onClick:r[4]||=e=>X.value=!1},null,8,[`label`]),y(E(C),{label:E(w)(`kanban.board.populateDialog.generate`),icon:`pi pi-sparkles`,disabled:!Q.value.trim(),onClick:$},null,8,[`label`,`disabled`])])]),default:f(()=>[m(`div`,Ae,[m(`p`,je,g(E(w)(`kanban.board.populateDialog.hint`)),1),y(E(me),{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,placeholder:E(w)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[se(p($,[`ctrl`]),[`enter`]),se(p($,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),y(E(v),{visible:Z.value,header:E(w)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},pt:{content:{style:`overflow-y:auto`}},"onUpdate:visible":r[6]||=e=>{e||(Z.value=!1)}},{default:f(()=>[y(ve,{compact:``,onSelectScenario:qt,onSkip:Kt})]),_:1},8,[`visible`,`header`]),W.value?(i(),e(`div`,Ne,[m(`div`,Pe,[m(`span`,Fe,g(E(w)(`kanban.board.queue.panelHeader`)),1),y(E(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:r[7]||=e=>W.value=!1})]),m(`div`,Ie,[m(`span`,Le,g(E(w)(`kanban.board.queue.concurrency`)),1),m(`div`,Re,[y(E(C),{icon:`pi pi-minus`,text:``,rounded:``,size:`small`,disabled:E(U).state.maxConcurrent<=1,onClick:r[8]||=e=>E(U).setMaxConcurrent(E(U).state.maxConcurrent-1)},null,8,[`disabled`]),m(`span`,null,g(E(U).state.maxConcurrent),1),y(E(C),{icon:`pi pi-plus`,text:``,rounded:``,size:`small`,onClick:r[9]||=e=>E(U).setMaxConcurrent(E(U).state.maxConcurrent+1)})])]),E(U).state.running.length>0?(i(),e(`div`,ze,[m(`div`,Be,g(E(w)(`kanban.board.queue.runningSection`,{count:E(U).state.running.length})),1),(i(!0),e(l,null,x(E(U).state.running.filter(e=>e.boardId===M.value?.id),t=>(i(),e(`div`,{key:t.id,class:`kb-queue-item kb-queue-item--running`},[r[16]||=m(`i`,{class:`pi pi-spin pi-spinner`},null,-1),m(`span`,Ve,g(Y(t.cardId)),1),y(E(C),{icon:`pi pi-stop`,text:``,rounded:``,size:`small`,severity:`danger`,onClick:e=>E(U).removeItem(t.id)},null,8,[`onClick`])]))),128))])):u(``,!0),E(U).state.items.length>0?(i(),e(`div`,He,[m(`div`,Ue,g(E(w)(`kanban.board.queue.waitingSection`,{count:E(U).state.items.length})),1),(i(!0),e(l,null,x(E(U).state.items.filter(e=>e.boardId===M.value?.id),t=>(i(),e(`div`,{key:t.id,class:`kb-queue-item`},[r[17]||=m(`i`,{class:`pi pi-clock`},null,-1),m(`span`,We,g(Y(t.cardId)),1),y(E(C),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,onClick:e=>E(U).removeItem(t.id)},null,8,[`onClick`])]))),128))])):u(``,!0),J.value===0?(i(),e(`div`,Ge,g(E(w)(`kanban.board.queue.empty`)),1)):u(``,!0),m(`div`,Ke,[y(E(C),{label:E(w)(`kanban.board.queue.stopAll`),icon:`pi pi-stop`,severity:`danger`,text:``,size:`small`,disabled:J.value===0,onClick:r[10]||=e=>E(U).stopAll()},null,8,[`label`,`disabled`])])])):u(``,!0),y(E(v),{visible:G.value,header:E(w)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":r[14]||=e=>{e||(G.value=!1)}},{footer:f(()=>[m(`div`,nt,[y(E(C),{label:E(w)(`actions.cancel`),text:``,onClick:r[13]||=e=>G.value=!1},null,8,[`label`]),y(E(C),{label:E(w)(`kanban.board.queue.addColumnDialog.confirm`),icon:`pi pi-list`,onClick:Vt},null,8,[`label`])])]),default:f(()=>[m(`div`,qe,[m(`div`,Je,[m(`label`,Ye,g(E(w)(`kanban.board.queue.addColumnDialog.runner`)),1),o(m(`select`,{id:`kanban-queue-runner`,"onUpdate:modelValue":r[11]||=e=>K.value=e,class:`kb-queue-col-dialog__select`},[r[18]||=m(`option`,{value:``},`Auto`,-1),m(`option`,{value:`claude-code`,disabled:!E(xt)},` Claude Code`+g(E(xt)?``:` (non installé)`),9,Xe),m(`option`,{value:`codex`,disabled:!E(St)},` Codex`+g(E(St)?``:` (non installé)`),9,Ze)],512),[[n,K.value]])]),m(`div`,Qe,[m(`label`,$e,g(E(w)(`kanban.board.queue.addColumnDialog.scenario`)),1),o(m(`select`,{id:`kanban-queue-scenario`,"onUpdate:modelValue":r[12]||=e=>q.value=e,class:`kb-queue-col-dialog__select`},[m(`option`,et,g(E(w)(`kanban.board.queue.addColumnDialog.noScenario`)),1),(i(!0),e(l,null,x(zt.value,t=>(i(),e(`option`,{key:t.id,value:t.id},g(t.name),9,tt))),128))],512),[[n,q.value]])])])]),_:1},8,[`visible`,`header`])])):E(A).loading.value?(i(),e(`div`,rt,[...r[19]||=[m(`i`,{class:`pi pi-spin pi-spinner`},null,-1)]])):u(``,!0)}}}),[[`__scopeId`,`data-v-1f9903f2`]]);export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$r as e,Bi as t,Di as n,Dn as r,In as i,Qr as a,Wi as o,Wr as s,Xr as c,Yr as l,Zi as u,Zr as d,Zt as f,b as p,ia as m,ii as h,m as g,mn as _,n as v,oi as y,p as b,un as x,va as S,y as C}from"./index-a1iwaPG1.js";import"./cloud-session-tALRHewK.js";import"./src-C77fweBS.js";import"./w3c-keyname-nn0G3QC2.js";import{n as w,t as T}from"./useCloudOrg-DYG5BAW1.js";var E={class:`kanban-list-host`},D={class:`topbar`},O={key:0},k={key:0,class:`connect-cta`},A={class:`connect-cta__title`},j={class:`connect-cta__desc`},M={key:1,class:`notice`},N={class:`upgrade-banner__cta`},P=x(y({__name:`KanbanListPage`,setup(y){let{t:x}=i(),P=r(),{orgId:F,orgSlug:I,organizations:L,cloudUser:R}=T();function z(e,t){return t?x(`kanban.list.${e}`,t):x(`kanban.list.${e}`)}let B=C(b,F,{streamUrl:g}),V=p(b,F);t(B.error,e=>{e&&console.error(`[kanban]`,e)}),t(V.error,e=>{e&&console.error(`[kanban:templates]`,e)});let H=l(()=>B.boards.value.map(e=>({id:e.id,name:e.name,description:e.description,instructions:e.instructions??``,archived:e.archived,columnCount:e.columnCount,cardCount:e.cardCount})));function U(){I.value&&window.open(`${v()}/app/${I.value}/settings/org/billing`,`_blank`,`noopener`)}async function W(e){let t=await B.createBoard(e.name,e.description,e.instructions);t&&await P.push(`/kanban/${t.id}?org=${F.value}`)}async function G(e){await B.updateBoardById(e.id,{name:e.name,description:e.description,instructions:e.instructions})}async function K(e){await B.updateBoardById(e.id,{archived:e.archived})}async function q(e){await B.deleteBoard(e)}let J=l(()=>V.templates.value.map(e=>({id:e.id,name:e.name,content:e.content})));return(t,r)=>(n(),e(`div`,E,[c(`div`,D,[S(R)?a(``,!0):(n(),e(`h1`,O,u(S(x)(`kanban.list.title`)),1)),S(R)&&S(L).length>1?(n(),d(S(f),{key:1,modelValue:S(F),"onUpdate:modelValue":r[0]||=e=>m(F)?F.value=e:null,options:S(L),optionLabel:`name`,optionValue:`id`,placeholder:S(x)(`kanban.cloud.selectOrg`),class:`org-select`},null,8,[`modelValue`,`options`,`placeholder`])):a(``,!0)]),S(R)?S(F)?(n(),d(S(w),{key:2,boards:H.value,"read-only":!S(B).canWrite.value,"boards-limit":S(B).access.value?.boardsLimit??null,t:z,onOpen:r[2]||=e=>S(P).push(`/kanban/${e}?org=${S(F)}`),onCreate:W,onUpdate:G,onArchive:K,onDelete:q,templates:J.value,onTemplateCreate:r[3]||=e=>S(V).createTemplate(e.name,e.content),onTemplateUpdate:r[4]||=e=>S(V).updateTemplate(e.id,{name:e.name,content:e.content}),onTemplateDelete:r[5]||=e=>S(V).deleteTemplate(e)},{banner:o(()=>[S(B).canWrite.value?a(``,!0):(n(),e(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:s(U,[`prevent`])},[c(`span`,null,u(S(x)(`kanban.cloud.readOnlyNotice`)),1),c(`span`,N,u(S(x)(`kanban.cloud.upgradeCta`)),1)]))]),_:1},8,[`boards`,`read-only`,`boards-limit`,`templates`])):(n(),e(`div`,M,u(S(x)(`kanban.cloud.pickOrg`)),1)):(n(),e(`div`,k,[r[6]||=c(`div`,{class:`connect-cta__badge`},[c(`i`,{class:`pi pi-th-large`})],-1),c(`h2`,A,u(S(x)(`kanban.cloud.notConnectedTitle`)),1),c(`p`,j,u(S(x)(`kanban.cloud.notConnectedDesc`)),1),h(S(_),{label:S(x)(`kanban.cloud.connectAction`),icon:`pi pi-cloud`,onClick:r[1]||=e=>S(P).push({name:`cloud-account`})},null,8,[`label`])]))]))}}),[[`__scopeId`,`data-v-e56fdde1`]]);export{P as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.kanban-list-host[data-v-e56fdde1]{height:100%;overflow-y:auto}.topbar[data-v-e56fdde1]{align-items:center;gap:.75rem;padding:1rem 1.5rem 0;display:flex}.topbar h1[data-v-e56fdde1]{margin:0;font-size:1.5rem}.org-select[data-v-e56fdde1]{min-width:220px}.notice[data-v-e56fdde1],.connect-cta[data-v-e56fdde1]{text-align:center;color:var(--p-text-muted-color);padding:3rem 1.5rem}.connect-cta__badge[data-v-e56fdde1]{background:var(--p-content-hover-background);width:56px;height:56px;color:var(--p-primary-color);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1rem;font-size:1.5rem;display:flex}.connect-cta__title[data-v-e56fdde1]{color:var(--p-text-color);margin:0 0 .5rem;font-size:1.25rem}.connect-cta__desc[data-v-e56fdde1]{margin:0 0 1.25rem;max-width:32rem;margin-inline:auto}.upgrade-banner[data-v-e56fdde1]{background:color-mix(in srgb, var(--p-orange-500,#f97316) 12%, transparent);border:1px solid color-mix(in srgb, var(--p-orange-500,#f97316) 35%, transparent);color:var(--p-text-color);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:.6rem .9rem;font-size:.8125rem;text-decoration:none;display:flex}.upgrade-banner__cta[data-v-e56fdde1]{color:var(--p-orange-500,#f97316);white-space:nowrap;font-weight:600}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as a,In as o,Ji as s,Kr as c,Qr as l,R as u,Wi as d,Xr as f,Yr as p,Z as m,Zi as h,Zr as g,ii as _,ki as v,la as y,mn as b,oi as x,ri as S,un as C,va as w}from"./index-
|
|
1
|
+
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as a,In as o,Ji as s,Kr as c,Qr as l,R as u,Wi as d,Xr as f,Yr as p,Z as m,Zi as h,Zr as g,ii as _,ki as v,la as y,mn as b,oi as x,ri as S,un as C,va as w}from"./index-a1iwaPG1.js";import"./cloud-session-tALRHewK.js";import{t as T}from"./message-DZ0RuJXv.js";import{t as E}from"./useProjectCatalog-Dyg12Vcr.js";import{t as D}from"./card-TJ-av0Pi.js";import{t as O}from"./VersionBadge-B-PtNx51.js";var k={class:`launch-page`,"data-testid":`page-content`},A={class:`launch-container`},j={class:`launch-branding`},M={class:`launch-subtitle`},N={class:`launch-heading`},P={key:0,class:`launch-loading`},F={class:`empty-message`},I={class:`project-group__title`},L={class:`project-group__count`},R={class:`project-list`},z={key:0,class:`pi pi-spin pi-spinner project-card__spinner`},B={class:`project-description`},V={class:`project-service-count`},H=C(x({__name:`LaunchProjectPage`,setup(x){let C=a(),H=m(),U=n(),{t:W}=o(),G=y(null),K=y(!0),q=E(),J=y(``),Y=y(``);function X(e,t){return`${e??`local`}:${t}`}let Z=p(()=>{let e=[],t=H.projects.filter(e=>!e.orgId);t.length&&e.push({key:`local`,label:W(`launchProject.groupLocal`),cloud:!1,projects:t.map(e=>({id:e.id,orgId:null,key:X(null,e.id),name:e.name,description:e.description,serviceCount:e.serviceIds.length}))});for(let t of q.orgGroups.value)e.push({key:t.orgId,label:t.name,cloud:!0,projects:t.projects.map(e=>{let n=H.getByRef({id:e.projectId,orgId:t.orgId});return{id:e.projectId,orgId:t.orgId,key:X(t.orgId,e.projectId),name:e.name,description:n?.description??``,serviceCount:n?n.serviceIds.length:null}})});return e});r(async()=>{await H.fetchAll(),K.value=!1,q.refreshCloud();let e=H.projects;if(e.length===1){U.setActiveProject(e[0].id,e[0].orgId??null),C.replace(`/launch/services`);return}let t=U.getLastProjectId(),n=U.activeOrgId;t&&e.some(e=>e.id===t&&(e.orgId??null)===n)&&(G.value=X(n,t))});async function Q(t){if(G.value=t.key,t.orgId!==null&&!H.getByRef({id:t.id,orgId:t.orgId})&&t.orgId){J.value=t.key,Y.value=``;try{await q.pullProject(t.orgId,t.id)}catch(t){Y.value=e(t);return}finally{J.value=``}}U.setActiveProject(t.id,t.orgId),C.push(`/launch/services`)}function $(){U.completeLaunch(),C.push(`/`)}return(e,n)=>(i(),t(`div`,k,[f(`div`,A,[f(`div`,j,[n[0]||=f(`h1`,{class:`launch-title`},`Runeya`,-1),f(`p`,M,h(w(W)(`launchProject.subtitle`)),1)]),f(`h2`,N,h(w(W)(`launchProject.selectProject`)),1),K.value?(i(),t(`div`,P,[_(w(u),{style:{width:`48px`,height:`48px`}})])):l(``,!0),Y.value?(i(),g(w(T),{key:1,severity:`error`,closable:!1,class:`launch-error`},{default:d(()=>[S(h(Y.value),1)]),_:1})):Z.value.length?(i(!0),t(c,{key:3},v(Z.value,e=>(i(),t(`section`,{key:e.key,class:`project-group`},[f(`h3`,I,[f(`i`,{class:s([e.cloud?`pi pi-cloud`:`pi pi-desktop`,`project-group__icon`])},null,2),f(`span`,null,h(e.label),1),f(`span`,L,h(e.projects.length),1)]),f(`div`,R,[(i(!0),t(c,null,v(e.projects,e=>(i(),g(w(D),{key:e.key,class:s([`project-card`,{selected:G.value===e.key}]),onClick:t=>Q(e)},{title:d(()=>[S(h(e.name)+` `,1),J.value===e.key?(i(),t(`i`,z)):l(``,!0)]),content:d(()=>[f(`p`,B,h(e.description||w(W)(`launchProject.noDescription`)),1),f(`span`,V,h(e.serviceCount===null?w(W)(`launchProject.notPulled`):w(W)(`launchProject.serviceCount`,e.serviceCount)),1)]),_:2},1032,[`class`,`onClick`]))),128))])]))),128)):(i(),t(c,{key:2},[f(`p`,F,h(w(W)(`launchProject.noProjects`)),1),_(w(b),{label:w(W)(`launchProject.goToDashboard`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])],64))]),_(O)]))}}),[[`__scopeId`,`data-v-16822cd2`]]);export{H as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as ee,In as a,J as te,Kr as o,Mn as ne,Q as re,Qr as s,R as ie,Ti as ae,Wi as c,Xr as l,Yr as u,Z as d,Zi as f,Zr as oe,an as se,c as ce,ii as p,ki as m,la as h,mn as g,oi as le,on as ue,ri as de,un as _,va as v}from"./index-
|
|
1
|
+
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as ee,In as a,J as te,Kr as o,Mn as ne,Q as re,Qr as s,R as ie,Ti as ae,Wi as c,Xr as l,Yr as u,Z as d,Zi as f,Zr as oe,an as se,c as ce,ii as p,ki as m,la as h,mn as g,oi as le,on as ue,ri as de,un as _,va as v}from"./index-a1iwaPG1.js";import{t as fe}from"./message-DZ0RuJXv.js";import{t as y}from"./checkbox-D5bej0ao.js";import{t as pe}from"./VersionBadge-B-PtNx51.js";var me={class:`launch-page`,"data-testid":`page-content`},he={class:`launch-container launch-container--wide`},ge={class:`launch-branding`},_e={class:`launch-subtitle`},b={class:`launch-header`},x={class:`launch-heading`},S={key:0,class:`launch-project-name`},C={key:0,class:`launch-loading`},w={class:`empty-message`},T={class:`services-toolbar`},E={class:`service-list`},D=[`for`],O={class:`group-label`},k={class:`group-count`},A=[`for`],j={class:`service-info`},M={class:`service-name`},N={class:`service-command`},P={class:`launch-actions`},F=`__all__`,I=_(le({__name:`LaunchServicesPage`,setup(le){let _=ee(),I=ne(),{t:L}=a(),R=n(),z=d(),B=re(),V=te(),ve=ce(),H=h(!0),U=h(!1),W=h([]),G=h(``),K=u(()=>z.currentProject),q=R.activeProjectId,J=R.activeRef(),Y=u(()=>K.value?B.getByIds(K.value.serviceIds):[]),ye=u(()=>{if(!G.value)return Y.value;let e=G.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||(t.commands??[]).some(t=>t.command.toLowerCase().includes(e)))}),be=u(()=>{let e=new Map;for(let t of ye.value){let n=t.groups&&t.groups.length>0?t.groups:[F];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=K.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==F).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t})),i=e.get(F);return i&&i.length>0&&r.push({key:F,label:L(`launchServices.defaultGroup`),services:i}),r}),X=u(()=>Y.value.length===0?!1:Y.value.every(e=>W.value.includes(e.id)));function Z(e){return e.services.length>0&&e.services.every(e=>W.value.includes(e.id))}function xe(e){let t=e.services.map(e=>e.id);if(Z(e))W.value=W.value.filter(e=>!t.includes(e));else{let e=new Set(W.value);for(let n of t)e.add(n);W.value=[...e]}}let Q=u(()=>V.connectedAgents.length>0);r(async()=>{if(!q){_.replace(`/launch/project`);return}if(await Promise.all([z.fetchAll(),B.fetchAll(),V.fetchAll()]),V.subscribeStatus(),H.value=!1,K.value){let e=J?R.getSavedSelection(J):[],t=new Set(K.value.serviceIds);W.value=e.filter(e=>t.has(e))}}),ae(()=>{V.unsubscribeStatus()});function Se(){X.value?W.value=[]:W.value=Y.value.map(e=>e.id)}async function Ce(){if(!q||W.value.length===0)return;J&&R.saveSelection(J,W.value),R.completeLaunch(),_.push(`/`);let t=[];await Promise.all(W.value.map(async n=>{let r=B.services.find(e=>e.id===n);if(!r){t.push(`Service ${n} not found`);return}try{await ve.start(r.agentId,r.id)}catch(r){t.push(e(r)??`Failed to launch service ${n}`)}})),t.length>0&&I.add({severity:`warn`,summary:L(`launchServices.someServicesFailed`),detail:t.join(`; `),life:5e3})}function $(){q&&J&&R.saveSelection(J,W.value),R.completeLaunch(),_.push(`/`)}function we(){_.push(`/launch/project`)}return(e,n)=>(i(),t(`div`,me,[l(`div`,he,[l(`div`,ge,[n[2]||=l(`h1`,{class:`launch-title`},`Runeya`,-1),l(`p`,_e,f(v(L)(`launchServices.subtitle`)),1)]),l(`div`,b,[p(v(g),{icon:`pi pi-arrow-left`,text:``,severity:`secondary`,onClick:we}),l(`div`,null,[l(`h2`,x,f(v(L)(`launchServices.selectServices`)),1),K.value?(i(),t(`p`,S,f(K.value.name),1)):s(``,!0)])]),H.value?(i(),t(`div`,C,[p(v(ie),{style:{width:`48px`,height:`48px`}})])):Y.value.length===0?(i(),t(o,{key:1},[l(`p`,w,f(v(L)(`launchServices.noServices`)),1),p(v(g),{label:v(L)(`launchServices.skip`),icon:`pi pi-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])],64)):(i(),t(o,{key:2},[Q.value?s(``,!0):(i(),oe(v(fe),{key:0,severity:`warn`,closable:!1,class:`launch-warning`},{default:c(()=>[de(f(v(L)(`launchServices.noAgents`)),1)]),_:1})),l(`div`,T,[p(v(ue),{modelValue:G.value,"onUpdate:modelValue":n[0]||=e=>G.value=e,placeholder:v(L)(`launchServices.filter`),class:`services-search`},null,8,[`modelValue`,`placeholder`]),p(v(g),{label:X.value?v(L)(`launchServices.deselectAll`):v(L)(`launchServices.selectAll`),text:``,size:`small`,onClick:Se},null,8,[`label`])]),l(`div`,E,[(i(!0),t(o,null,m(be.value,e=>(i(),t(`div`,{key:e.key,class:`service-group`},[l(`label`,{class:`group-header`,for:`launch-group-`+e.key},[p(v(y),{inputId:`launch-group-`+e.key,"model-value":Z(e),binary:``,"onUpdate:modelValue":t=>xe(e)},null,8,[`inputId`,`model-value`,`onUpdate:modelValue`]),l(`span`,O,f(e.label),1),l(`span`,k,f(e.services.length),1)],8,D),(i(!0),t(o,null,m(e.services,r=>(i(),t(`label`,{key:e.key+`:`+r.id,class:`service-item`,for:`launch-svc-`+e.key+`:`+r.id},[p(v(y),{inputId:`launch-svc-`+e.key+`:`+r.id,modelValue:W.value,"onUpdate:modelValue":n[1]||=e=>W.value=e,value:r.id},null,8,[`inputId`,`modelValue`,`value`]),l(`div`,j,[l(`span`,M,f(r.name),1),l(`span`,N,f((r.commands??[]).map(e=>e.label||e.command).join(`, `)||v(L)(`launchServices.noCommands`)),1)]),p(v(se),{value:r.runner,severity:`info`,class:`service-runner`},null,8,[`value`])],8,A))),128))]))),128))]),l(`div`,P,[p(v(g),{label:v(L)(`launchServices.launch`),icon:`pi pi-play`,loading:U.value,disabled:W.value.length===0||!Q.value,class:`launch-action`,onClick:Ce},null,8,[`label`,`loading`,`disabled`]),p(v(g),{label:v(L)(`launchServices.skip`),severity:`secondary`,text:``,disabled:U.value,class:`launch-action`,onClick:$},null,8,[`label`,`disabled`])])],64))]),p(pe)]))}}),[[`__scopeId`,`data-v-d1e82801`]]);export{I as default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{$r as e,Ai as t,Bi as n,Br as r,Ci as i,Di as a,Gi as o,Hr as s,In as c,Ji as l,Kr as u,Ni as d,Nr as f,Ot as p,Qr as m,R as h,S as g,Ti as _,Ur as v,Wi as y,Wr as b,X as x,Xi as S,Xr as C,Xt as w,Yr as T,Zi as E,Zr as D,_a as O,fi as k,fn as ee,gi as A,hi as j,ii as M,ji as N,ki as te,la as P,mn as F,nt as I,oi as L,on as ne,q as re,ri as R,tt as ie,un as z,va as B,z as V}from"./index-Do0zA8cN.js";import{t as ae}from"./multiselect-BK7hJt7W.js";import{t as oe}from"./SendToChatDialog-CCRCitBB.js";var H=e=>Array.isArray(e),se=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ce=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,le=e=>{let t=Number(e);return Number.isNaN(t)?`"${e}":`:`${e}":`},ue=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,U=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,W=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),de={class:`json-view-item`},fe=[`aria-expanded`],G={class:`properties`},K={class:`value-key`},q=(e=>(e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e))(q||{}),pe=L({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(t,{emit:n}){let r=n,i=P(t.data.depth<t.maxDepth),c=()=>{i.value=!i.value},p=e=>{r(`selected`,{key:e.key,value:e.value,path:e.path})},h=e=>r(`selected`,e),g=T(()=>({"chevron-arrow":!0,opened:i.value})),_=T(()=>({"value-key":!0,"can-select":t.canSelect})),x=T(()=>{let{length:e,type:n}=t.data;return e===void 0?``:ue(e,n===1)}),w=T(()=>JSON.stringify(t.data.value)),O=e=>le(e.key),k=e=>ce(e);return(n,r)=>{let T=N(`JsonTreeViewItem`,!0);return a(),e(`div`,de,[t.data.type===0||t.data.type===1?(a(),e(u,{key:0},[C(`button`,{class:`data-key`,type:`button`,"aria-expanded":i.value,onClick:b(c,[`stop`])},[C(`div`,{class:l(g.value),"aria-hidden":`true`},null,2),C(`span`,null,E(t.data.key)+`:`,1),C(`span`,G,E(x.value),1)],8,fe),M(f,{name:`expand`},{default:y(()=>[o(C(`div`,null,[(a(!0),e(u,null,te(t.data.children,e=>(a(),D(T,{key:O(e),data:e,"max-depth":t.maxDepth,"can-select":t.canSelect,onSelected:h},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[s,i.value]])]),_:1})],64)):m(``,!0),t.data.type===2?(a(),D(d(t.canSelect?`button`:`div`),{key:1,class:l(_.value),type:t.canSelect?`button`:null,tabindex:t.canSelect?0:null,onClick:r[0]||=e=>t.canSelect?p(t.data):null,onKeyup:[r[1]||=v(e=>t.canSelect?p(t.data):null,[`enter`]),r[2]||=v(b(e=>t.canSelect?p(t.data):null,[`prevent`]),[`space`])]},{default:y(()=>[C(`span`,K,E(t.data.key)+`:`,1),C(`span`,{style:S({color:k(t.data.value)})},E(w.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):m(``,!0)])}}}),me=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(L({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:t}){let n=t,r=e=>n(`selected`,e),i=(e,t,n,r,i)=>{let a=t.map((t,a)=>c(a.toString(),t,n+1,U(r,e,i,!0),!1));return{key:e,type:q.ARRAY,depth:n,path:r,length:a.length,children:a}},o=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>c(t,a,n+1,U(r,e,i),!0));return{key:e,type:q.OBJECT,depth:n,path:r,length:a.length,children:a}},s=(e,t,n,r,i)=>({key:e,type:q.VALUE,path:W(r,e,i),depth:n,value:t}),c=(e,t,n,r,a)=>H(t)?i(e,t,n,r,a):se(t)?o(e,t,n,r,a):s(e,t,n,r,a),u=(e,t)=>{try{let n=JSON.parse(e);return se(n)||H(n)?c(t,n,0,``,!0):s(t,n,0,``,!0)}catch{return s(t,e,0,``,!0)}},d=T(()=>u(e.json,e.rootKey));return(t,n)=>(a(),D(pe,{class:l([`root-item`,{dark:e.colorScheme===`dark`}]),data:d.value,"max-depth":e.maxDepth,onSelected:r},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),he={class:`log-card__icon`},J=[`innerHTML`],ge={key:0,class:`log-card__badge`},_e=[`innerHTML`],ve={class:`log-card__clip`},ye=320,be=150,Y=z(L({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(n){let r=n,i=P(!r.defaultCollapsed),o=P(!!r.defaultCollapsed),s=P(!!r.defaultCollapsed);function c(){i.value?(i.value=!1,setTimeout(()=>{o.value=!0,s.value=!0},ye)):(o.value=!1,s.value=!1,setTimeout(()=>{i.value=!0},be))}return(r,d)=>(a(),e(`div`,{class:l([`log-card`,{"log-card--muted":n.muted,"log-card--open":!s.value}])},[C(`div`,{class:`log-card__header`,style:S({background:n.color}),onClick:c},[C(`span`,he,E(n.icon),1),C(`span`,{class:`log-card__title`,innerHTML:B(V).sanitize(n.title)},null,8,J),n.badge?(a(),e(`span`,ge,E(n.badge),1)):m(``,!0),r.$slots.default?(a(),e(`span`,{key:1,class:l([`log-card__chevron`,{"log-card__chevron--open":!s.value}])},[...d[0]||=[C(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[C(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):m(``,!0)],4),r.$slots.default?(a(),e(u,{key:0},[M(f,{name:`dots`},{default:y(()=>[o.value?(a(),e(`div`,{key:0,class:`log-card__preview`,style:S({borderLeftColor:n.color})},[n.lastLine?(a(),e(`span`,{key:0,class:`log-card__last-line`,innerHTML:B(V).sanitize(n.lastLine)},null,8,_e)):(a(),e(u,{key:1},[d[1]||=C(`span`,{class:`log-card__dot`},null,-1),d[2]||=C(`span`,{class:`log-card__dot`},null,-1),d[3]||=C(`span`,{class:`log-card__dot`},null,-1)],64))],4)):m(``,!0)]),_:1}),C(`div`,{class:l([`log-card__grid`,{"log-card__grid--open":i.value}])},[C(`div`,ve,[C(`div`,{class:`log-card__body`,style:S({borderLeftColor:n.color})},[t(r.$slots,`default`,{},void 0,!0)],4)])],2)],64)):m(``,!0)],2))}}),[[`__scopeId`,`data-v-9028b0a2`]]),X={key:5},xe=[`title`],Se=[`innerHTML`],Ce=z(L({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(t,{emit:n}){let r=t,i=n;function o(){let e=window.getSelection();e&&e.toString().length>0||i(`click`,r.log)}let s={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},c=T(()=>s[r.log.level]??`#a3a3a3`),l=T(()=>r.log.logCard?.state===`self`?r.log.logCard.type:null);function u(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function d(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function f(e){return JSON.stringify(e.json)}return(n,i)=>(a(),e(`div`,null,[l.value===`command-start`?(a(),D(Y,{key:0,icon:`⌗`,title:t.log.logCard.header,color:`#3b82f6`,onClick:o},{default:y(()=>[R(E(t.log.message),1)]),_:1},8,[`title`])):l.value===`command-fail`?(a(),D(Y,{key:1,icon:`⌗`,title:t.log.logCard.header,color:`#ef4444`,badge:`✗ ${t.log.message}`,onClick:o},null,8,[`title`,`badge`])):l.value===`system-warn`?(a(),D(Y,{key:2,icon:`⚠`,title:t.log.logCard.header,color:`#ef4444`,badge:t.log.message,onClick:o},null,8,[`title`,`badge`])):l.value===`json`?(a(),D(Y,{key:3,icon:`</>`,title:t.log.logCard.header,color:c.value},{default:y(()=>[C(`div`,{onClick:i[0]||=b(()=>{},[`stop`])},[M(B(me),{json:f(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):t.log.json?(a(),D(Y,{key:4,icon:`</>`,title:`JSON`,color:c.value,onClick:o},{default:y(()=>[C(`div`,{onClick:i[1]||=b(()=>{},[`stop`])},[M(B(me),{json:f(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(a(),e(`div`,X,[C(`div`,{class:`log-line`,"data-testid":`log-message`,style:S({boxShadow:`inset 3px 0 0 0 ${c.value}`}),title:u(r.log)?d(r.log):void 0,onClick:o},[C(`span`,{class:`log-message`,innerHTML:B(V).sanitize(r.log.message)},null,8,Se)],12,xe)]))]))}}),[[`__scopeId`,`data-v-9d8a1243`]]),we={class:`log-filter`},Te={class:`log-filter__row`},Ee={class:`log-filter__level-option`},De={class:`log-filter__level-chip`},Oe={key:0,class:`log-filter__badges`},ke=[`title`],Ae={class:`log-filter__badge-type`},je={key:0,class:`log-filter__badge-flag`},Me={class:`log-filter__badge-pattern`},Ne=[`aria-label`,`onClick`],Pe={class:`log-filter__popover`},Fe={class:`log-filter__popover-title`},Ie={class:`log-filter__popover-row`},Le={class:`log-filter__popover-row log-filter__popover-row--between`},Re={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},ze={class:`log-filter__popover-input-wrap`},Be={key:0,class:`log-filter__popover-error`},Ve={class:`log-filter__popover-actions`},He=z(L({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:r}){let{t:i}=c(),o=t,s=r,d={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},f=I.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:d[e]??`#a3a3a3`})),p=P([...o.modelValue.levels]),h=P([...o.modelValue.filters]),g=!1;n(p,e=>{g||s(`update:modelValue`,{levels:e,filters:h.value})}),n(()=>o.modelValue,e=>{g=!0,p.value=[...e.levels],h.value=[...e.filters],A(()=>{g=!1})});let v=P(null),b=P(``),x=P(`include`),T=P(!1),O=P(``);function k(e){v.value?.toggle(e)}function ee(){v.value?.hide()}function j(e){try{return new RegExp(e),!0}catch(e){return O.value=e instanceof Error?e.message:`Invalid regex`,!1}}function N(){let e=b.value.trim();e&&(O.value=``,!(T.value&&!j(e))&&(h.value=[...h.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:x.value,isRegex:T.value}],b.value=``,s(`update:modelValue`,{levels:p.value,filters:h.value}),ee()))}function L(e){e.key===`Enter`&&(e.preventDefault(),N()),e.key===`Escape`&&ee()}function re(){O.value=``}function ie(e){h.value=h.value.filter(t=>t.id!==e),s(`update:modelValue`,{levels:p.value,filters:h.value})}function z(){p.value=[...I],h.value=[],s(`update:modelValue`,{levels:[...I],filters:[]})}return _(()=>{}),(t,n)=>(a(),e(`div`,we,[C(`div`,Te,[M(B(ae),{modelValue:p.value,"onUpdate:modelValue":n[0]||=e=>p.value=e,options:B(f),"option-label":`label`,"option-value":`value`,placeholder:B(i)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,"max-selected-labels":3,display:`chip`},{option:y(({option:e})=>[C(`div`,Ee,[C(`span`,{class:`log-filter__level-dot`,style:S({backgroundColor:e.color})},null,4),R(` `+E(e.label),1)])]),chip:y(({value:e})=>[C(`div`,De,[C(`span`,{class:`log-filter__level-dot`,style:S({backgroundColor:d[e]})},null,4),R(` `+E(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),M(B(F),{icon:`pi pi-filter`,label:B(i)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:h.value.length>0?String(h.value.length):void 0,"badge-severity":`contrast`,onClick:k},null,8,[`label`,`badge`]),h.value.length>0||p.value.length<B(I).length?(a(),D(B(F),{key:0,icon:`pi pi-filter-slash`,text:``,rounded:``,size:`small`,severity:`secondary`,"aria-label":B(i)(`logFilter.clearAll`),title:B(i)(`logFilter.clearAll`),onClick:z},null,8,[`aria-label`,`title`])):m(``,!0)]),h.value.length>0?(a(),e(`div`,Oe,[(a(!0),e(u,null,te(h.value,t=>(a(),e(`span`,{key:t.id,class:l([`log-filter__badge`,t.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${t.type} · ${t.isRegex?`regex`:`text`}: ${t.pattern}`},[C(`span`,Ae,E(t.type===`include`?`+`:`−`),1),t.isRegex?(a(),e(`span`,je,`.*`)):m(``,!0),C(`span`,Me,E(t.pattern),1),C(`button`,{class:`log-filter__badge-remove`,"aria-label":B(i)(`logFilter.removeFilter`),onClick:e=>ie(t.id)},[...n[5]||=[C(`i`,{class:`pi pi-times`,style:{"font-size":`0.6rem`}},null,-1)]],8,Ne)],10,ke))),128))])):m(``,!0),M(B(w),{ref_key:`popoverRef`,ref:v},{default:y(()=>[C(`div`,Pe,[C(`p`,Fe,E(B(i)(`logFilter.newFilter`)),1),C(`div`,Ie,[C(`button`,{class:l([`log-filter__type-btn`,x.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>x.value=`include`},[n[6]||=C(`i`,{class:`pi pi-plus`},null,-1),R(` `+E(B(i)(`logFilter.include`)),1)],2),C(`button`,{class:l([`log-filter__type-btn`,x.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>x.value=`exclude`},[n[7]||=C(`i`,{class:`pi pi-minus`},null,-1),R(` `+E(B(i)(`logFilter.exclude`)),1)],2)]),C(`div`,Le,[C(`label`,Re,E(B(i)(`logFilter.regex`)),1),C(`button`,{id:`logfilter-regex-toggle`,class:l([`log-filter__regex-toggle`,T.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{T.value=!T.value,O.value=``}},` .* `,2)]),C(`div`,ze,[M(B(ne),{modelValue:b.value,"onUpdate:modelValue":n[4]||=e=>b.value=e,placeholder:T.value?B(i)(`logFilter.regexPlaceholder`):B(i)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!O.value,autofocus:``,onInput:re,onKeydown:L},null,8,[`modelValue`,`placeholder`,`invalid`]),O.value?(a(),e(`p`,Be,E(O.value),1)):m(``,!0)]),C(`div`,Ve,[M(B(F),{label:B(i)(`logFilter.add`),icon:`pi pi-check`,size:`small`,disabled:!b.value.trim(),onClick:N},null,8,[`label`,`disabled`]),M(B(F),{label:B(i)(`logFilter.cancel`),size:`small`,severity:`secondary`,text:``,onClick:ee},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-13c2ece1`]]),Ue=null,{min:Z,max:Q,abs:We,floor:Ge}=Math,Ke=(e,t,n)=>Z(n,Q(t,e)),qe=e=>[...e].sort((e,t)=>e-t),Je=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},Ye=()=>{let e;return[new Promise(t=>{e=t}),e]},Xe=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Ze=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Qe=(e,t)=>{let n=e.t[t];return n===-1?e.o:n},$e=(e,t,n)=>{let r=e.t[t]===-1;return e.t[t]=n,e.i=Z(t,e.i),r},et=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,r=e.u[n];for(;n<t;)r+=Qe(e,n),e.u[++n]=r;return e.i=t,r},$=(e,t,n=0,r=e.l-1)=>{let i=n;for(;n<=r;){let a=Ge((n+r)/2);et(e,a)<=t?(i=a,n=a+1):r=a-1}return Ke(i,0,e.l-1)},tt=(e,t,n)=>{let r=t-e.l;return e.i=n?-1:Z(t-1,e.i),e.l=t,r>0?(Ze(e.u,r),Ze(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce((t,n)=>t-(n===-1?e.o:n),0))},nt=e=>e.documentElement,rt=e=>e.ownerDocument,it=e=>e.defaultView,at=Xe(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),ot=Xe(()=>`scrollBehavior`in nt(document).style),st=(e,t=40,n=0,r,i=!1)=>{let a=!!n,o=1,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=Ue,g=[0,a?Q(n-1,0):-1],_=0,v=!1,y=((e,t,n)=>({o:t,t:n?Ze(n.slice(0,Z(e,n.length)),Q(0,e-n.length)):Ze([],e),l:e,i:-1,u:Ze([],e+1)}))(e,r?r[1]:t,r&&r[0]),b=new Set,x=()=>l-c,S=()=>x()+d+u,C=(e,t)=>((e,t,n,r)=>{if(r=Z(r,e.l-1),et(e,r)<=t){let i=$(e,n,r);return[$(e,t,r,i),i]}{let i=$(e,t,void 0,r);return[i,$(e,n,i)]}})(y,e,t,g[0]),w=()=>et(y,y.l),T=(e,t)=>{let n=et(y,e)-d;return t?w()-n-E(e):n},E=e=>Qe(y,e),D=(e,t=-1)=>y.t[e]===t,O=e=>{e&&(at()&&p!==0||h&&m===1?d+=e:u+=e)};return{p:()=>{b.clear()},m:()=>o,h:()=>(e=>[e.t.slice(),e.o])(y),v:(e=200)=>{if(!v||a)return g;let t,n;if(f)[t,n]=g;else{let r=Q(0,S()),a=r+s;i||(e=Q(0,e),p!==1&&(r-=e),p!==2&&(a+=e)),[t,n]=g=C(Q(0,r),Q(0,a)),h&&(t=Z(t,h[0]),n=Q(n,h[1]))}return[Q(t,0),Z(n,y.l-1)]},S:e=>$(y,e-c),I:D,O:T,k:E,j:()=>y.l,N:()=>l,B:()=>p!==0,T:()=>s,q:()=>c,M:w,P:()=>(f=u,u=0,[f,m===2]),R:(e,t)=>{let n=[e,t];return b.add(n),()=>{b.delete(n)}},A:(e,t)=>{let n,r,g=0;switch(e){case 1:{if(t===l&&m===0)break;let e=f;f=0;let n=t-l,i=We(n);e&&i<We(e)+1||m!==0||(p=n<0?2:1),a&&=!1,l=t,g=4;let o=x();o>=-s&&o<=w()&&(g+=1,r=i>s);break}case 2:g=8,p!==0&&(n=!0,g+=1),p=0,m=0,h=Ue;break;case 3:{let e=t.filter(([e,t])=>!D(e,t));if(!e.length)break;O(e.reduce((e,[t,n])=>{let r;if(m===2)r=!0;else if(h&&m===1)r=t<h[0];else{let e=x(),n=T(t),i=E(t);r=p!==1&&m===0?n+i<e:n<e&&n+i<e+s}return r&&(e+=n-E(t)),e},0));for(let[t,n]of e){let e=E(t),r=$e(y,t,n);i&&(_+=r?n:n-e)}i&&s&&_>s&&(O(((e,t)=>{let n=0,r=[];e.t.forEach((e,i)=>{e!==-1&&(r.push(e),i<t&&n++)}),e.i=-1;let i=qe(r),a=i.length,o=a/2|0,s=a%2==0?(i[o-1]+i[o])/2:i[o],c=e.o;return((e.o=s)-c)*Q(t-n,0)})(y,$(y,S()))),i=!1),g=3,r=!0;break}case 4:s!==t&&(s||(v=r=!0),s=t,g=3);break;case 5:t[1]?(O(tt(y,t[0],!0)),m=2,g=1):(tt(y,t[0]),g=1);break;case 6:c=t;break;case 7:m=1;break;case 8:h=C(t,t+s),g=1}g&&(o=1+(2147483647&o),n&&d&&(u+=d,d=0),b.forEach(([e,t])=>{g&e&&t(r)}))}}},ct=setTimeout,lt=(e,t)=>t?-e:e,ut=(e,t,n,r,i,a)=>{let o=Date.now,s=0,c=!1,l=!1,u=!1,d=!1,f=(()=>{let t,n=()=>{t!=Ue&&clearTimeout(t)},r=()=>{n(),t=ct(()=>{t=Ue,(()=>{if(c||l)return c=!1,void f();u=!1,e.A(2)})()},150)};return r.C=n,r})(),p=()=>{s=o(),u&&(d=!0),a&&e.A(6,a()),e.A(1,r()),f()},m=t=>{if(c||!e.B()||t.ctrlKey)return;let r=o()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},h=()=>{l=!0,u=d=!1},g=()=>{l=!1,at()&&(u=!0)};return t.addEventListener(`scroll`,p),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,h,{passive:!0}),t.addEventListener(`touchend`,g,{passive:!0}),{H:()=>{t.removeEventListener(`scroll`,p),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,h),t.removeEventListener(`touchend`,g),f.C()},V:()=>{let[t,n]=e.P();t&&(i(t,n,d),d=!1,n&&e.T()>e.M()&&e.A(1,r()))}}},dt=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;r&&r();let o=()=>{let[t,n]=Ye();return r=()=>{n(!1)},e.T()&&ct(r,150),[t,e.R(2,()=>{n(!0)})]};if(a&&ot())e.A(8,i()),Je(async()=>{for(;;){let t=!0;for(let[n,r]=e.v();n<=r;n++)if(e.I(n)){t=!1;break}if(t)break;let[n,r]=o();try{if(!await n)return}finally{r()}}e.A(7),n(i(),a)});else for(;;){let[t,r]=o();try{if(e.A(7),n(i()),!await t)return}finally{r()}}},()=>{r&&r()}]},ft=e=>{let t;return{F(n){(t||=new(it(rt(n))).ResizeObserver(e)).observe(n)},J(e){t.unobserve(e)},H(){t&&t.disconnect()}}},pt=L({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:Boolean},Z:{type:String,required:!0},ee:Object},setup(e){let t=P(),r=T(()=>e.L.value&&e.W.O(e.D,e.K)),i=T(()=>e.L.value&&e.W.I(e.D));return n(()=>t.value&&e.D,(n,r,i)=>{i(e.Y(t.value,e.D))},{flush:`post`}),()=>{let{X:n,U:a,G:o,Z:s}=e,c=i.value,{style:l,...u}=e.ee??{},d={contain:`layout style`,position:c&&o?void 0:`absolute`,[a?`height`:`width`]:`100%`,[a?`top`:`left`]:`0px`,[a?`left`:`top`]:r.value+`px`,visibility:!c||o?void 0:`hidden`,...l};return a&&(d.display=`inline-flex`),M(s,j({ref:t,style:d},u),typeof(f=n)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!k(f)?n:{default:()=>[n],_:2},16,[`style`]);var f}}}),mt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ht=(e,t)=>e[0]===t[0]&&e[1]===t[1],gt=L({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:r,slots:a}){let o=!!e.ssrCount,s=e.horizontal,c=P(),l=st(e.data.length,e.itemSize,e.ssrCount,e.cache,!e.itemSize),u=((e,t)=>{let n,r=t?`width`:`height`,i=new WeakMap,a=ft(t=>{let a=[];for(let{target:o,contentRect:s}of t)if(o.offsetParent)if(o===n)e.A(4,s[r]);else{let e=i.get(o);e!=Ue&&a.push([e,s[r]])}a.length&&e.A(3,a)});return{te(e){a.F(n=e)},re:(e,t)=>(i.set(e,t),a.F(e),()=>{i.delete(e),a.J(e)}),p:a.H}})(l,s),d=((e,t)=>{let n,r,i=Ye(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=dt(e,()=>i[0],(e,r)=>{e=lt(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e});return{oe(c,u){n=u,t&&(a=getComputedStyle(u).direction===`rtl`),r=ut(e,u,t,()=>lt(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,ct(()=>{e[s]=t})}u[o]=lt(e.N()+t,a),n&&l()}),i[1](!0)},p(){r&&r.H(),i[1](!1),i=Ye()},ne:()=>a,se(e){c(()=>e)},ie(t){t+=e.N(),c(()=>t)},le(t,{align:n,smooth:r,offset:i=0}={}){if(t=Ke(t,0,e.j()-1),n===`nearest`){let r=e.O(t),i=e.N();if(r<i)n=`start`;else{if(!(r+e.k(t)>i+e.T()))return;n=`end`}}c(()=>i+e.q()+e.O(t)+(n===`end`?e.k(t)-e.T():n===`center`?(e.k(t)-e.T())/2:0),r)},ce:()=>{r&&r.V()}}})(l,s),f=P(l.m());l.R(1,()=>{f.value=l.m()}),l.R(4,()=>{t(`scroll`,l.N())}),l.R(8,()=>{t(`scrollEnd`)});let p=T(t=>{f.value;let n=l.v(e.bufferSize);return t&&ht(t,n)?t:n}),m=T(()=>f.value&&l.B()),h=T(()=>f.value&&l.M());return i(()=>{o=!1;let t=c.value,n=requestAnimationFrame(()=>{let n=e=>{u.te(e),d.oe(t,e)};e.scrollRef?n(e.scrollRef):n(t.parentElement)});_(()=>{cancelAnimationFrame(n)})}),_(()=>{l.p(),u.p(),d.p()}),n(()=>e.data.length,t=>{l.A(5,[t,e.shift])}),n(()=>e.startMargin,e=>{l.A(6,e)},{immediate:!0}),n([f],()=>{d.ce()},{flush:`post`}),r({get cache(){return l.h()},get scrollOffset(){return l.N()},get scrollSize(){return(e=>Q(e.M(),e.T()))(l)},get viewportSize(){return l.T()},findItemIndex:l.S,getItemOffset:l.O,getItemSize:l.k,scrollToIndex:d.le,scrollTo:d.se,scrollBy:d.ie}),()=>{let t=e.as,n=e.item,r=h.value,i=d.ne(),g=[],_=t=>{let r=a.default({item:e.data[t],index:t});return M(pt,{key:mt(r,t),L:f,W:l,Y:u.re,D:t,X:r,U:s,K:i,G:o,Z:n,ee:e.itemProps?.({item:e.data[t],index:t})},null,8,[`L`,`W`,`Y`,`D`,`X`,`U`,`K`,`G`,`Z`,`ee`])};if(e.keepMounted){let t=new Set(e.keepMounted);for(let[e,n]=p.value;e<=n;e++)t.add(e);qe([...t]).forEach(e=>{g.push(_(e))})}else for(let[e,t]=p.value;e<=t;e++)g.push(_(e));return M(t,{ref:c,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:s?r+`px`:`100%`,height:s?`100%`:r+`px`,pointerEvents:m.value?`none`:void 0}},typeof(v=g)==`function`||Object.prototype.toString.call(v)===`[object Object]`&&!k(v)?g:{default:()=>[g],_:2},8,[`style`]);var v}}}),_t=L({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=e.horizontal,a=e=>{t(`scroll`,e)},o=()=>{t(`scrollEnd`)},s=P();return n({get cache(){return s.value.cache},get scrollOffset(){return s.value.scrollOffset},get scrollSize(){return s.value.scrollSize},get viewportSize(){return s.value.viewportSize},findItemIndex:(...e)=>s.value.findItemIndex(...e),getItemOffset:(...e)=>s.value.getItemOffset(...e),getItemSize:(...e)=>s.value.getItemSize(...e),scrollToIndex:(...e)=>s.value.scrollToIndex(...e),scrollTo:(...e)=>s.value.scrollTo(...e),scrollBy:(...e)=>s.value.scrollBy(...e)}),()=>{return M(`div`,{style:{display:i?`inline-block`:`block`,[i?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[M(gt,{ref:s,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:i,keepMounted:e.keepMounted,cache:e.cache,onScroll:a,onScrollEnd:o},(t=r,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!k(t)?r:{default:()=>[r],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}});Array,Number,Number,Boolean,Boolean,String,String,Object;var vt={class:`log-viewer`},yt={class:`log-viewer__toolbar`},bt={class:`log-viewer__toolbar-right`},xt={class:`log-viewer__count`},St=[`title`],Ct=[`value`],wt=[`title`],Tt=[`title`],Et={class:`log-viewer__pin-wrap`},Dt=[`title`],Ot={key:0,class:`log-viewer__loading`},kt={key:1,class:`log-viewer__scroll log-viewer__empty`},At={class:`log-viewer__simple-line`},jt={key:0,class:`log-viewer__time-separator`},Mt={class:`log-viewer__time-separator-label`},Nt=150,Pt=2e3,Ft=z(L({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(t,{emit:s}){let l=t,d=s,{t:f}=c(),_=[10,50,100,200,500,1e3,2e3,5e3,1e4],v=P(500),b=P({levels:[...I],filters:[]}),S=P(!0),w=P(null),k=P(!1),j=P(!1),N=P(0),L;function ne(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function ie(e){if(L===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===L)return e.slice(t+1);return null}function z(e){let t=e.length>v.value?e.slice(e.length-v.value):e;L=t[t.length-1]?.id,G.value=ne(t),fe(t),S.value&&A(()=>A(J))}function V(e){e.length!==0&&(L=e[e.length-1].id,G.value+=ne(e),de(e,le(),U.value),U.value.length>v.value?U.value=U.value.slice(U.value.length-v.value):O(U),S.value&&A(J))}function ae(){if(N.value===0)return;N.value=0;let e=l.logs,t=ie(e);t===null?z(e):V(t)}n(()=>l.logs,e=>{if(e.length===0){L=void 0,N.value=0,G.value=0,fe([]);return}if(!S.value){let t=ie(e);N.value=t===null?e.length:t.length;return}if(L===void 0){z(e);return}let t=ie(e);t===null?z(e):V(t)},{deep:!1}),i(()=>{l.logs.length>0&&z(l.logs)});let H=new WeakMap;function se(e){if(H.has(e))return H.get(e);try{let t=new RegExp(e.pattern,`i`);return H.set(e,t),t}catch{return H.set(e,null),null}}function ce(e,t){if(e.isRegex){let n=se(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function le(){return{levelSet:new Set(b.value.levels),filterAll:b.value.levels.length>=I.length,includes:b.value.filters.filter(e=>e.type===`include`),excludes:b.value.filters.filter(e=>e.type===`exclude`),hidden:k.value}}function ue(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>ce(t,e.message))||t.excludes.some(t=>ce(t,e.message)))}let U=P([]),W=new Map;function de(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){ue(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};W.set(e.id,t),n.push(t);continue}if(e.state===`close`){W.delete(e.id);continue}let i=W.get(e.id);i&&ue(r,t)&&i.body.push(r);continue}ue(r,t)&&n.push({...r,_type:`log`})}}function fe(e){W=new Map;let t=le(),n=[];de(e,t,n),U.value=n}n([b,k,v],()=>{z(l.logs)});let G=P(0),K=P(null),q=P(null);n(()=>l.logs,e=>{if(e.length===0){K.value=null,q.value=null;return}let t=Date.now();K.value===null&&(K.value=t),q.value=t});let pe=T(()=>{if(K.value===null||q.value===null)return null;let e=q.value-K.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),me=0,he=0;function J(){!w.value||U.value.length===0||(me=Date.now()+Nt,w.value.scrollToIndex(U.value.length-1,{align:`end`}))}function ge(e){let t=e<he;if(!t&&Date.now()<me){he=e;return}if(he=e,!w.value)return;let n=w.value.scrollSize-e-w.value.viewportSize;S.value?t&&n>1&&(S.value=!1):n<=1&&(S.value=!0,ae(),A(J))}function _e(){S.value=!S.value,S.value&&(ae(),A(J))}i(()=>{S.value&&A(J)});function ve(e){b.value=e}function ye(e){d(`log-click`,e)}let be=P(null),X=P(!1),xe=x(),{openWithContext:Se}=p(),we=``;function Te(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Ee(){return U.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
|
|
1
|
+
import{$r as e,Ai as t,Bi as n,Br as r,Ci as i,Di as a,Gi as o,Hr as s,In as c,Ji as l,Kr as u,Ni as d,Nr as f,Ot as p,Qr as m,R as h,S as g,Ti as _,Ur as v,Wi as y,Wr as b,X as x,Xi as S,Xr as C,Xt as w,Yr as T,Zi as E,Zr as D,_a as O,fi as k,fn as ee,gi as A,hi as j,ii as M,ji as N,ki as te,la as P,mn as F,nt as I,oi as L,on as ne,q as re,ri as R,tt as ie,un as z,va as B,z as V}from"./index-a1iwaPG1.js";import{t as ae}from"./multiselect-CSd05WUd.js";import{t as oe}from"./SendToChatDialog-BpJetpLA.js";var H=e=>Array.isArray(e),se=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ce=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,le=e=>{let t=Number(e);return Number.isNaN(t)?`"${e}":`:`${e}":`},ue=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,U=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,W=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),de={class:`json-view-item`},fe=[`aria-expanded`],G={class:`properties`},K={class:`value-key`},q=(e=>(e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e))(q||{}),pe=L({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(t,{emit:n}){let r=n,i=P(t.data.depth<t.maxDepth),c=()=>{i.value=!i.value},p=e=>{r(`selected`,{key:e.key,value:e.value,path:e.path})},h=e=>r(`selected`,e),g=T(()=>({"chevron-arrow":!0,opened:i.value})),_=T(()=>({"value-key":!0,"can-select":t.canSelect})),x=T(()=>{let{length:e,type:n}=t.data;return e===void 0?``:ue(e,n===1)}),w=T(()=>JSON.stringify(t.data.value)),O=e=>le(e.key),k=e=>ce(e);return(n,r)=>{let T=N(`JsonTreeViewItem`,!0);return a(),e(`div`,de,[t.data.type===0||t.data.type===1?(a(),e(u,{key:0},[C(`button`,{class:`data-key`,type:`button`,"aria-expanded":i.value,onClick:b(c,[`stop`])},[C(`div`,{class:l(g.value),"aria-hidden":`true`},null,2),C(`span`,null,E(t.data.key)+`:`,1),C(`span`,G,E(x.value),1)],8,fe),M(f,{name:`expand`},{default:y(()=>[o(C(`div`,null,[(a(!0),e(u,null,te(t.data.children,e=>(a(),D(T,{key:O(e),data:e,"max-depth":t.maxDepth,"can-select":t.canSelect,onSelected:h},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[s,i.value]])]),_:1})],64)):m(``,!0),t.data.type===2?(a(),D(d(t.canSelect?`button`:`div`),{key:1,class:l(_.value),type:t.canSelect?`button`:null,tabindex:t.canSelect?0:null,onClick:r[0]||=e=>t.canSelect?p(t.data):null,onKeyup:[r[1]||=v(e=>t.canSelect?p(t.data):null,[`enter`]),r[2]||=v(b(e=>t.canSelect?p(t.data):null,[`prevent`]),[`space`])]},{default:y(()=>[C(`span`,K,E(t.data.key)+`:`,1),C(`span`,{style:S({color:k(t.data.value)})},E(w.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):m(``,!0)])}}}),me=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(L({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:t}){let n=t,r=e=>n(`selected`,e),i=(e,t,n,r,i)=>{let a=t.map((t,a)=>c(a.toString(),t,n+1,U(r,e,i,!0),!1));return{key:e,type:q.ARRAY,depth:n,path:r,length:a.length,children:a}},o=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>c(t,a,n+1,U(r,e,i),!0));return{key:e,type:q.OBJECT,depth:n,path:r,length:a.length,children:a}},s=(e,t,n,r,i)=>({key:e,type:q.VALUE,path:W(r,e,i),depth:n,value:t}),c=(e,t,n,r,a)=>H(t)?i(e,t,n,r,a):se(t)?o(e,t,n,r,a):s(e,t,n,r,a),u=(e,t)=>{try{let n=JSON.parse(e);return se(n)||H(n)?c(t,n,0,``,!0):s(t,n,0,``,!0)}catch{return s(t,e,0,``,!0)}},d=T(()=>u(e.json,e.rootKey));return(t,n)=>(a(),D(pe,{class:l([`root-item`,{dark:e.colorScheme===`dark`}]),data:d.value,"max-depth":e.maxDepth,onSelected:r},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),he={class:`log-card__icon`},J=[`innerHTML`],ge={key:0,class:`log-card__badge`},_e=[`innerHTML`],ve={class:`log-card__clip`},ye=320,be=150,Y=z(L({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(n){let r=n,i=P(!r.defaultCollapsed),o=P(!!r.defaultCollapsed),s=P(!!r.defaultCollapsed);function c(){i.value?(i.value=!1,setTimeout(()=>{o.value=!0,s.value=!0},ye)):(o.value=!1,s.value=!1,setTimeout(()=>{i.value=!0},be))}return(r,d)=>(a(),e(`div`,{class:l([`log-card`,{"log-card--muted":n.muted,"log-card--open":!s.value}])},[C(`div`,{class:`log-card__header`,style:S({background:n.color}),onClick:c},[C(`span`,he,E(n.icon),1),C(`span`,{class:`log-card__title`,innerHTML:B(V).sanitize(n.title)},null,8,J),n.badge?(a(),e(`span`,ge,E(n.badge),1)):m(``,!0),r.$slots.default?(a(),e(`span`,{key:1,class:l([`log-card__chevron`,{"log-card__chevron--open":!s.value}])},[...d[0]||=[C(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[C(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):m(``,!0)],4),r.$slots.default?(a(),e(u,{key:0},[M(f,{name:`dots`},{default:y(()=>[o.value?(a(),e(`div`,{key:0,class:`log-card__preview`,style:S({borderLeftColor:n.color})},[n.lastLine?(a(),e(`span`,{key:0,class:`log-card__last-line`,innerHTML:B(V).sanitize(n.lastLine)},null,8,_e)):(a(),e(u,{key:1},[d[1]||=C(`span`,{class:`log-card__dot`},null,-1),d[2]||=C(`span`,{class:`log-card__dot`},null,-1),d[3]||=C(`span`,{class:`log-card__dot`},null,-1)],64))],4)):m(``,!0)]),_:1}),C(`div`,{class:l([`log-card__grid`,{"log-card__grid--open":i.value}])},[C(`div`,ve,[C(`div`,{class:`log-card__body`,style:S({borderLeftColor:n.color})},[t(r.$slots,`default`,{},void 0,!0)],4)])],2)],64)):m(``,!0)],2))}}),[[`__scopeId`,`data-v-9028b0a2`]]),X={key:5},xe=[`title`],Se=[`innerHTML`],Ce=z(L({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(t,{emit:n}){let r=t,i=n;function o(){let e=window.getSelection();e&&e.toString().length>0||i(`click`,r.log)}let s={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},c=T(()=>s[r.log.level]??`#a3a3a3`),l=T(()=>r.log.logCard?.state===`self`?r.log.logCard.type:null);function u(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function d(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function f(e){return JSON.stringify(e.json)}return(n,i)=>(a(),e(`div`,null,[l.value===`command-start`?(a(),D(Y,{key:0,icon:`⌗`,title:t.log.logCard.header,color:`#3b82f6`,onClick:o},{default:y(()=>[R(E(t.log.message),1)]),_:1},8,[`title`])):l.value===`command-fail`?(a(),D(Y,{key:1,icon:`⌗`,title:t.log.logCard.header,color:`#ef4444`,badge:`✗ ${t.log.message}`,onClick:o},null,8,[`title`,`badge`])):l.value===`system-warn`?(a(),D(Y,{key:2,icon:`⚠`,title:t.log.logCard.header,color:`#ef4444`,badge:t.log.message,onClick:o},null,8,[`title`,`badge`])):l.value===`json`?(a(),D(Y,{key:3,icon:`</>`,title:t.log.logCard.header,color:c.value},{default:y(()=>[C(`div`,{onClick:i[0]||=b(()=>{},[`stop`])},[M(B(me),{json:f(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):t.log.json?(a(),D(Y,{key:4,icon:`</>`,title:`JSON`,color:c.value,onClick:o},{default:y(()=>[C(`div`,{onClick:i[1]||=b(()=>{},[`stop`])},[M(B(me),{json:f(r.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(a(),e(`div`,X,[C(`div`,{class:`log-line`,"data-testid":`log-message`,style:S({boxShadow:`inset 3px 0 0 0 ${c.value}`}),title:u(r.log)?d(r.log):void 0,onClick:o},[C(`span`,{class:`log-message`,innerHTML:B(V).sanitize(r.log.message)},null,8,Se)],12,xe)]))]))}}),[[`__scopeId`,`data-v-9d8a1243`]]),we={class:`log-filter`},Te={class:`log-filter__row`},Ee={class:`log-filter__level-option`},De={class:`log-filter__level-chip`},Oe={key:0,class:`log-filter__badges`},ke=[`title`],Ae={class:`log-filter__badge-type`},je={key:0,class:`log-filter__badge-flag`},Me={class:`log-filter__badge-pattern`},Ne=[`aria-label`,`onClick`],Pe={class:`log-filter__popover`},Fe={class:`log-filter__popover-title`},Ie={class:`log-filter__popover-row`},Le={class:`log-filter__popover-row log-filter__popover-row--between`},Re={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},ze={class:`log-filter__popover-input-wrap`},Be={key:0,class:`log-filter__popover-error`},Ve={class:`log-filter__popover-actions`},He=z(L({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:r}){let{t:i}=c(),o=t,s=r,d={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},f=I.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:d[e]??`#a3a3a3`})),p=P([...o.modelValue.levels]),h=P([...o.modelValue.filters]),g=!1;n(p,e=>{g||s(`update:modelValue`,{levels:e,filters:h.value})}),n(()=>o.modelValue,e=>{g=!0,p.value=[...e.levels],h.value=[...e.filters],A(()=>{g=!1})});let v=P(null),b=P(``),x=P(`include`),T=P(!1),O=P(``);function k(e){v.value?.toggle(e)}function ee(){v.value?.hide()}function j(e){try{return new RegExp(e),!0}catch(e){return O.value=e instanceof Error?e.message:`Invalid regex`,!1}}function N(){let e=b.value.trim();e&&(O.value=``,!(T.value&&!j(e))&&(h.value=[...h.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:x.value,isRegex:T.value}],b.value=``,s(`update:modelValue`,{levels:p.value,filters:h.value}),ee()))}function L(e){e.key===`Enter`&&(e.preventDefault(),N()),e.key===`Escape`&&ee()}function re(){O.value=``}function ie(e){h.value=h.value.filter(t=>t.id!==e),s(`update:modelValue`,{levels:p.value,filters:h.value})}function z(){p.value=[...I],h.value=[],s(`update:modelValue`,{levels:[...I],filters:[]})}return _(()=>{}),(t,n)=>(a(),e(`div`,we,[C(`div`,Te,[M(B(ae),{modelValue:p.value,"onUpdate:modelValue":n[0]||=e=>p.value=e,options:B(f),"option-label":`label`,"option-value":`value`,placeholder:B(i)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,"max-selected-labels":3,display:`chip`},{option:y(({option:e})=>[C(`div`,Ee,[C(`span`,{class:`log-filter__level-dot`,style:S({backgroundColor:e.color})},null,4),R(` `+E(e.label),1)])]),chip:y(({value:e})=>[C(`div`,De,[C(`span`,{class:`log-filter__level-dot`,style:S({backgroundColor:d[e]})},null,4),R(` `+E(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),M(B(F),{icon:`pi pi-filter`,label:B(i)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:h.value.length>0?String(h.value.length):void 0,"badge-severity":`contrast`,onClick:k},null,8,[`label`,`badge`]),h.value.length>0||p.value.length<B(I).length?(a(),D(B(F),{key:0,icon:`pi pi-filter-slash`,text:``,rounded:``,size:`small`,severity:`secondary`,"aria-label":B(i)(`logFilter.clearAll`),title:B(i)(`logFilter.clearAll`),onClick:z},null,8,[`aria-label`,`title`])):m(``,!0)]),h.value.length>0?(a(),e(`div`,Oe,[(a(!0),e(u,null,te(h.value,t=>(a(),e(`span`,{key:t.id,class:l([`log-filter__badge`,t.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${t.type} · ${t.isRegex?`regex`:`text`}: ${t.pattern}`},[C(`span`,Ae,E(t.type===`include`?`+`:`−`),1),t.isRegex?(a(),e(`span`,je,`.*`)):m(``,!0),C(`span`,Me,E(t.pattern),1),C(`button`,{class:`log-filter__badge-remove`,"aria-label":B(i)(`logFilter.removeFilter`),onClick:e=>ie(t.id)},[...n[5]||=[C(`i`,{class:`pi pi-times`,style:{"font-size":`0.6rem`}},null,-1)]],8,Ne)],10,ke))),128))])):m(``,!0),M(B(w),{ref_key:`popoverRef`,ref:v},{default:y(()=>[C(`div`,Pe,[C(`p`,Fe,E(B(i)(`logFilter.newFilter`)),1),C(`div`,Ie,[C(`button`,{class:l([`log-filter__type-btn`,x.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>x.value=`include`},[n[6]||=C(`i`,{class:`pi pi-plus`},null,-1),R(` `+E(B(i)(`logFilter.include`)),1)],2),C(`button`,{class:l([`log-filter__type-btn`,x.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>x.value=`exclude`},[n[7]||=C(`i`,{class:`pi pi-minus`},null,-1),R(` `+E(B(i)(`logFilter.exclude`)),1)],2)]),C(`div`,Le,[C(`label`,Re,E(B(i)(`logFilter.regex`)),1),C(`button`,{id:`logfilter-regex-toggle`,class:l([`log-filter__regex-toggle`,T.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{T.value=!T.value,O.value=``}},` .* `,2)]),C(`div`,ze,[M(B(ne),{modelValue:b.value,"onUpdate:modelValue":n[4]||=e=>b.value=e,placeholder:T.value?B(i)(`logFilter.regexPlaceholder`):B(i)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!O.value,autofocus:``,onInput:re,onKeydown:L},null,8,[`modelValue`,`placeholder`,`invalid`]),O.value?(a(),e(`p`,Be,E(O.value),1)):m(``,!0)]),C(`div`,Ve,[M(B(F),{label:B(i)(`logFilter.add`),icon:`pi pi-check`,size:`small`,disabled:!b.value.trim(),onClick:N},null,8,[`label`,`disabled`]),M(B(F),{label:B(i)(`logFilter.cancel`),size:`small`,severity:`secondary`,text:``,onClick:ee},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-13c2ece1`]]),Ue=null,{min:Z,max:Q,abs:We,floor:Ge}=Math,Ke=(e,t,n)=>Z(n,Q(t,e)),qe=e=>[...e].sort((e,t)=>e-t),Je=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},Ye=()=>{let e;return[new Promise(t=>{e=t}),e]},Xe=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},Ze=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},Qe=(e,t)=>{let n=e.t[t];return n===-1?e.o:n},$e=(e,t,n)=>{let r=e.t[t]===-1;return e.t[t]=n,e.i=Z(t,e.i),r},et=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,r=e.u[n];for(;n<t;)r+=Qe(e,n),e.u[++n]=r;return e.i=t,r},$=(e,t,n=0,r=e.l-1)=>{let i=n;for(;n<=r;){let a=Ge((n+r)/2);et(e,a)<=t?(i=a,n=a+1):r=a-1}return Ke(i,0,e.l-1)},tt=(e,t,n)=>{let r=t-e.l;return e.i=n?-1:Z(t-1,e.i),e.l=t,r>0?(Ze(e.u,r),Ze(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce((t,n)=>t-(n===-1?e.o:n),0))},nt=e=>e.documentElement,rt=e=>e.ownerDocument,it=e=>e.defaultView,at=Xe(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),ot=Xe(()=>`scrollBehavior`in nt(document).style),st=(e,t=40,n=0,r,i=!1)=>{let a=!!n,o=1,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=Ue,g=[0,a?Q(n-1,0):-1],_=0,v=!1,y=((e,t,n)=>({o:t,t:n?Ze(n.slice(0,Z(e,n.length)),Q(0,e-n.length)):Ze([],e),l:e,i:-1,u:Ze([],e+1)}))(e,r?r[1]:t,r&&r[0]),b=new Set,x=()=>l-c,S=()=>x()+d+u,C=(e,t)=>((e,t,n,r)=>{if(r=Z(r,e.l-1),et(e,r)<=t){let i=$(e,n,r);return[$(e,t,r,i),i]}{let i=$(e,t,void 0,r);return[i,$(e,n,i)]}})(y,e,t,g[0]),w=()=>et(y,y.l),T=(e,t)=>{let n=et(y,e)-d;return t?w()-n-E(e):n},E=e=>Qe(y,e),D=(e,t=-1)=>y.t[e]===t,O=e=>{e&&(at()&&p!==0||h&&m===1?d+=e:u+=e)};return{p:()=>{b.clear()},m:()=>o,h:()=>(e=>[e.t.slice(),e.o])(y),v:(e=200)=>{if(!v||a)return g;let t,n;if(f)[t,n]=g;else{let r=Q(0,S()),a=r+s;i||(e=Q(0,e),p!==1&&(r-=e),p!==2&&(a+=e)),[t,n]=g=C(Q(0,r),Q(0,a)),h&&(t=Z(t,h[0]),n=Q(n,h[1]))}return[Q(t,0),Z(n,y.l-1)]},S:e=>$(y,e-c),I:D,O:T,k:E,j:()=>y.l,N:()=>l,B:()=>p!==0,T:()=>s,q:()=>c,M:w,P:()=>(f=u,u=0,[f,m===2]),R:(e,t)=>{let n=[e,t];return b.add(n),()=>{b.delete(n)}},A:(e,t)=>{let n,r,g=0;switch(e){case 1:{if(t===l&&m===0)break;let e=f;f=0;let n=t-l,i=We(n);e&&i<We(e)+1||m!==0||(p=n<0?2:1),a&&=!1,l=t,g=4;let o=x();o>=-s&&o<=w()&&(g+=1,r=i>s);break}case 2:g=8,p!==0&&(n=!0,g+=1),p=0,m=0,h=Ue;break;case 3:{let e=t.filter(([e,t])=>!D(e,t));if(!e.length)break;O(e.reduce((e,[t,n])=>{let r;if(m===2)r=!0;else if(h&&m===1)r=t<h[0];else{let e=x(),n=T(t),i=E(t);r=p!==1&&m===0?n+i<e:n<e&&n+i<e+s}return r&&(e+=n-E(t)),e},0));for(let[t,n]of e){let e=E(t),r=$e(y,t,n);i&&(_+=r?n:n-e)}i&&s&&_>s&&(O(((e,t)=>{let n=0,r=[];e.t.forEach((e,i)=>{e!==-1&&(r.push(e),i<t&&n++)}),e.i=-1;let i=qe(r),a=i.length,o=a/2|0,s=a%2==0?(i[o-1]+i[o])/2:i[o],c=e.o;return((e.o=s)-c)*Q(t-n,0)})(y,$(y,S()))),i=!1),g=3,r=!0;break}case 4:s!==t&&(s||(v=r=!0),s=t,g=3);break;case 5:t[1]?(O(tt(y,t[0],!0)),m=2,g=1):(tt(y,t[0]),g=1);break;case 6:c=t;break;case 7:m=1;break;case 8:h=C(t,t+s),g=1}g&&(o=1+(2147483647&o),n&&d&&(u+=d,d=0),b.forEach(([e,t])=>{g&e&&t(r)}))}}},ct=setTimeout,lt=(e,t)=>t?-e:e,ut=(e,t,n,r,i,a)=>{let o=Date.now,s=0,c=!1,l=!1,u=!1,d=!1,f=(()=>{let t,n=()=>{t!=Ue&&clearTimeout(t)},r=()=>{n(),t=ct(()=>{t=Ue,(()=>{if(c||l)return c=!1,void f();u=!1,e.A(2)})()},150)};return r.C=n,r})(),p=()=>{s=o(),u&&(d=!0),a&&e.A(6,a()),e.A(1,r()),f()},m=t=>{if(c||!e.B()||t.ctrlKey)return;let r=o()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},h=()=>{l=!0,u=d=!1},g=()=>{l=!1,at()&&(u=!0)};return t.addEventListener(`scroll`,p),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,h,{passive:!0}),t.addEventListener(`touchend`,g,{passive:!0}),{H:()=>{t.removeEventListener(`scroll`,p),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,h),t.removeEventListener(`touchend`,g),f.C()},V:()=>{let[t,n]=e.P();t&&(i(t,n,d),d=!1,n&&e.T()>e.M()&&e.A(1,r()))}}},dt=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;r&&r();let o=()=>{let[t,n]=Ye();return r=()=>{n(!1)},e.T()&&ct(r,150),[t,e.R(2,()=>{n(!0)})]};if(a&&ot())e.A(8,i()),Je(async()=>{for(;;){let t=!0;for(let[n,r]=e.v();n<=r;n++)if(e.I(n)){t=!1;break}if(t)break;let[n,r]=o();try{if(!await n)return}finally{r()}}e.A(7),n(i(),a)});else for(;;){let[t,r]=o();try{if(e.A(7),n(i()),!await t)return}finally{r()}}},()=>{r&&r()}]},ft=e=>{let t;return{F(n){(t||=new(it(rt(n))).ResizeObserver(e)).observe(n)},J(e){t.unobserve(e)},H(){t&&t.disconnect()}}},pt=L({props:{L:{type:Object,required:!0},W:{type:Object,required:!0},X:{type:Object,required:!0},Y:{type:Function,required:!0},D:{type:Number,required:!0},U:{type:Boolean},G:{type:Boolean},K:{type:Boolean},Z:{type:String,required:!0},ee:Object},setup(e){let t=P(),r=T(()=>e.L.value&&e.W.O(e.D,e.K)),i=T(()=>e.L.value&&e.W.I(e.D));return n(()=>t.value&&e.D,(n,r,i)=>{i(e.Y(t.value,e.D))},{flush:`post`}),()=>{let{X:n,U:a,G:o,Z:s}=e,c=i.value,{style:l,...u}=e.ee??{},d={contain:`layout style`,position:c&&o?void 0:`absolute`,[a?`height`:`width`]:`100%`,[a?`top`:`left`]:`0px`,[a?`left`:`top`]:r.value+`px`,visibility:!c||o?void 0:`hidden`,...l};return a&&(d.display=`inline-flex`),M(s,j({ref:t,style:d},u),typeof(f=n)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!k(f)?n:{default:()=>[n],_:2},16,[`style`]);var f}}}),mt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ht=(e,t)=>e[0]===t[0]&&e[1]===t[1],gt=L({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:r,slots:a}){let o=!!e.ssrCount,s=e.horizontal,c=P(),l=st(e.data.length,e.itemSize,e.ssrCount,e.cache,!e.itemSize),u=((e,t)=>{let n,r=t?`width`:`height`,i=new WeakMap,a=ft(t=>{let a=[];for(let{target:o,contentRect:s}of t)if(o.offsetParent)if(o===n)e.A(4,s[r]);else{let e=i.get(o);e!=Ue&&a.push([e,s[r]])}a.length&&e.A(3,a)});return{te(e){a.F(n=e)},re:(e,t)=>(i.set(e,t),a.F(e),()=>{i.delete(e),a.J(e)}),p:a.H}})(l,s),d=((e,t)=>{let n,r,i=Ye(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=dt(e,()=>i[0],(e,r)=>{e=lt(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e});return{oe(c,u){n=u,t&&(a=getComputedStyle(u).direction===`rtl`),r=ut(e,u,t,()=>lt(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,ct(()=>{e[s]=t})}u[o]=lt(e.N()+t,a),n&&l()}),i[1](!0)},p(){r&&r.H(),i[1](!1),i=Ye()},ne:()=>a,se(e){c(()=>e)},ie(t){t+=e.N(),c(()=>t)},le(t,{align:n,smooth:r,offset:i=0}={}){if(t=Ke(t,0,e.j()-1),n===`nearest`){let r=e.O(t),i=e.N();if(r<i)n=`start`;else{if(!(r+e.k(t)>i+e.T()))return;n=`end`}}c(()=>i+e.q()+e.O(t)+(n===`end`?e.k(t)-e.T():n===`center`?(e.k(t)-e.T())/2:0),r)},ce:()=>{r&&r.V()}}})(l,s),f=P(l.m());l.R(1,()=>{f.value=l.m()}),l.R(4,()=>{t(`scroll`,l.N())}),l.R(8,()=>{t(`scrollEnd`)});let p=T(t=>{f.value;let n=l.v(e.bufferSize);return t&&ht(t,n)?t:n}),m=T(()=>f.value&&l.B()),h=T(()=>f.value&&l.M());return i(()=>{o=!1;let t=c.value,n=requestAnimationFrame(()=>{let n=e=>{u.te(e),d.oe(t,e)};e.scrollRef?n(e.scrollRef):n(t.parentElement)});_(()=>{cancelAnimationFrame(n)})}),_(()=>{l.p(),u.p(),d.p()}),n(()=>e.data.length,t=>{l.A(5,[t,e.shift])}),n(()=>e.startMargin,e=>{l.A(6,e)},{immediate:!0}),n([f],()=>{d.ce()},{flush:`post`}),r({get cache(){return l.h()},get scrollOffset(){return l.N()},get scrollSize(){return(e=>Q(e.M(),e.T()))(l)},get viewportSize(){return l.T()},findItemIndex:l.S,getItemOffset:l.O,getItemSize:l.k,scrollToIndex:d.le,scrollTo:d.se,scrollBy:d.ie}),()=>{let t=e.as,n=e.item,r=h.value,i=d.ne(),g=[],_=t=>{let r=a.default({item:e.data[t],index:t});return M(pt,{key:mt(r,t),L:f,W:l,Y:u.re,D:t,X:r,U:s,K:i,G:o,Z:n,ee:e.itemProps?.({item:e.data[t],index:t})},null,8,[`L`,`W`,`Y`,`D`,`X`,`U`,`K`,`G`,`Z`,`ee`])};if(e.keepMounted){let t=new Set(e.keepMounted);for(let[e,n]=p.value;e<=n;e++)t.add(e);qe([...t]).forEach(e=>{g.push(_(e))})}else for(let[e,t]=p.value;e<=t;e++)g.push(_(e));return M(t,{ref:c,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:s?r+`px`:`100%`,height:s?`100%`:r+`px`,pointerEvents:m.value?`none`:void 0}},typeof(v=g)==`function`||Object.prototype.toString.call(v)===`[object Object]`&&!k(v)?g:{default:()=>[g],_:2},8,[`style`]);var v}}}),_t=L({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:t,expose:n,slots:r}){let i=e.horizontal,a=e=>{t(`scroll`,e)},o=()=>{t(`scrollEnd`)},s=P();return n({get cache(){return s.value.cache},get scrollOffset(){return s.value.scrollOffset},get scrollSize(){return s.value.scrollSize},get viewportSize(){return s.value.viewportSize},findItemIndex:(...e)=>s.value.findItemIndex(...e),getItemOffset:(...e)=>s.value.getItemOffset(...e),getItemSize:(...e)=>s.value.getItemSize(...e),scrollToIndex:(...e)=>s.value.scrollToIndex(...e),scrollTo:(...e)=>s.value.scrollTo(...e),scrollBy:(...e)=>s.value.scrollBy(...e)}),()=>{return M(`div`,{style:{display:i?`inline-block`:`block`,[i?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[M(gt,{ref:s,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:i,keepMounted:e.keepMounted,cache:e.cache,onScroll:a,onScrollEnd:o},(t=r,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!k(t)?r:{default:()=>[r],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}});Array,Number,Number,Boolean,Boolean,String,String,Object;var vt={class:`log-viewer`},yt={class:`log-viewer__toolbar`},bt={class:`log-viewer__toolbar-right`},xt={class:`log-viewer__count`},St=[`title`],Ct=[`value`],wt=[`title`],Tt=[`title`],Et={class:`log-viewer__pin-wrap`},Dt=[`title`],Ot={key:0,class:`log-viewer__loading`},kt={key:1,class:`log-viewer__scroll log-viewer__empty`},At={class:`log-viewer__simple-line`},jt={key:0,class:`log-viewer__time-separator`},Mt={class:`log-viewer__time-separator-label`},Nt=150,Pt=2e3,Ft=z(L({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(t,{emit:s}){let l=t,d=s,{t:f}=c(),_=[10,50,100,200,500,1e3,2e3,5e3,1e4],v=P(500),b=P({levels:[...I],filters:[]}),S=P(!0),w=P(null),k=P(!1),j=P(!1),N=P(0),L;function ne(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function ie(e){if(L===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===L)return e.slice(t+1);return null}function z(e){let t=e.length>v.value?e.slice(e.length-v.value):e;L=t[t.length-1]?.id,G.value=ne(t),fe(t),S.value&&A(()=>A(J))}function V(e){e.length!==0&&(L=e[e.length-1].id,G.value+=ne(e),de(e,le(),U.value),U.value.length>v.value?U.value=U.value.slice(U.value.length-v.value):O(U),S.value&&A(J))}function ae(){if(N.value===0)return;N.value=0;let e=l.logs,t=ie(e);t===null?z(e):V(t)}n(()=>l.logs,e=>{if(e.length===0){L=void 0,N.value=0,G.value=0,fe([]);return}if(!S.value){let t=ie(e);N.value=t===null?e.length:t.length;return}if(L===void 0){z(e);return}let t=ie(e);t===null?z(e):V(t)},{deep:!1}),i(()=>{l.logs.length>0&&z(l.logs)});let H=new WeakMap;function se(e){if(H.has(e))return H.get(e);try{let t=new RegExp(e.pattern,`i`);return H.set(e,t),t}catch{return H.set(e,null),null}}function ce(e,t){if(e.isRegex){let n=se(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function le(){return{levelSet:new Set(b.value.levels),filterAll:b.value.levels.length>=I.length,includes:b.value.filters.filter(e=>e.type===`include`),excludes:b.value.filters.filter(e=>e.type===`exclude`),hidden:k.value}}function ue(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>ce(t,e.message))||t.excludes.some(t=>ce(t,e.message)))}let U=P([]),W=new Map;function de(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){ue(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};W.set(e.id,t),n.push(t);continue}if(e.state===`close`){W.delete(e.id);continue}let i=W.get(e.id);i&&ue(r,t)&&i.body.push(r);continue}ue(r,t)&&n.push({...r,_type:`log`})}}function fe(e){W=new Map;let t=le(),n=[];de(e,t,n),U.value=n}n([b,k,v],()=>{z(l.logs)});let G=P(0),K=P(null),q=P(null);n(()=>l.logs,e=>{if(e.length===0){K.value=null,q.value=null;return}let t=Date.now();K.value===null&&(K.value=t),q.value=t});let pe=T(()=>{if(K.value===null||q.value===null)return null;let e=q.value-K.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),me=0,he=0;function J(){!w.value||U.value.length===0||(me=Date.now()+Nt,w.value.scrollToIndex(U.value.length-1,{align:`end`}))}function ge(e){let t=e<he;if(!t&&Date.now()<me){he=e;return}if(he=e,!w.value)return;let n=w.value.scrollSize-e-w.value.viewportSize;S.value?t&&n>1&&(S.value=!1):n<=1&&(S.value=!0,ae(),A(J))}function _e(){S.value=!S.value,S.value&&(ae(),A(J))}i(()=>{S.value&&A(J)});function ve(e){b.value=e}function ye(e){d(`log-click`,e)}let be=P(null),X=P(!1),xe=x(),{openWithContext:Se}=p(),we=``;function Te(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Ee(){return U.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
|
|
2
2
|
`):`[${e.level}] ${e.message}`).join(`
|
|
3
3
|
`)}function De(){we=Te(),X.value=!0}let Oe=P(null);function ke(){let e=Te()||Me();e.trim()&&Oe.value?.open(e)}function Ae(e,t,n){X.value=!1,be.value?.showScenarioDialog(e,void 0,t,n??void 0)}async function je(e,t){X.value=!1,await Ne(e===`keep`?void 0:e,t??void 0)}function Me(){let e=we||Ee();return l.serviceLabel?`Service: ${l.serviceLabel}\n\n${e}`:e}async function Ne(e,t){let n=Me();n.trim()&&(await xe.createConversation({runner:e,providerId:t}),Se({text:n,label:f(`logViewer.logsContext`),icon:`pi-list`}))}async function Pe(e,t,n,r){let i=Me(),a=t||i,o=await xe.createConversation({scenarioId:e,scenarioInput:a});if(a&&o){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;xe.startScenarioRun(o.id,e,a,void 0,t)}Se({text:i,label:f(`logViewer.logsContext`),icon:`pi-list`})}function Fe(e){return e._type===`card`?e.body[0]?.timestamp??``:e.timestamp}function Ie(e){if(e===0)return!0;let t=U.value[e-1],n=U.value[e];return new Date(Fe(n)).getTime()-new Date(Fe(t)).getTime()>Pt}function Le(e){return new Date(e).toLocaleString()}return(n,i)=>(a(),e(`div`,vt,[C(`div`,yt,[M(He,{"model-value":b.value,"onUpdate:modelValue":ve},null,8,[`model-value`]),C(`div`,bt,[!j.value&&G.value>0?(a(),D(B(F),{key:0,icon:k.value?`pi pi-eye`:`pi pi-eye-slash`,severity:k.value?`warn`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":k.value?B(f)(`logViewer.showingHidden`):B(f)(`logViewer.hiddenFiltered`),title:B(f)(`logViewer.hiddenLogsToggle`,{n:G.value}),onClick:i[0]||=e=>k.value=!k.value},null,8,[`icon`,`severity`,`aria-label`,`title`])):m(``,!0),C(`span`,xt,[R(E(j.value?l.logs.length:U.value.length)+` / `,1),o(C(`select`,{"onUpdate:modelValue":i[1]||=e=>v.value=e,class:`log-viewer__limit-select`,title:B(f)(`logViewer.maxLines`)},[(a(),e(u,null,te(_,e=>C(`option`,{key:e,value:e},E(e),9,Ct)),64))],8,St),[[r,v.value,void 0,{number:!0}]])]),l.showStats&&pe.value!==null?(a(),e(`span`,{key:1,class:`log-viewer__stats`,title:B(f)(`logViewer.timeSpan`)},`⏱ `+E(pe.value),9,wt)):m(``,!0),l.showStats&&l.receivedPerSec!==void 0?(a(),e(`span`,{key:2,class:`log-viewer__stats`,title:B(f)(`logViewer.throughput`)},`↓`+E(l.receivedPerSec)+`/s · ⬡`+E(l.flushedPerSec)+`/s`,9,Tt)):m(``,!0),M(B(F),{icon:j.value?`pi pi-code`:`pi pi-align-left`,severity:j.value?`warn`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":j.value?B(f)(`logViewer.simpleModeOn`):B(f)(`logViewer.simpleModeOff`),title:B(f)(`logViewer.toggleSimple`),onClick:i[2]||=e=>j.value=!j.value},null,8,[`icon`,`severity`,`aria-label`,`title`]),M(B(F),{icon:`pi pi-microchip-ai`,severity:`secondary`,text:``,rounded:``,size:`small`,"aria-label":B(f)(`logViewer.sendToAi`),title:B(f)(`logViewer.sendToAiTitle`),onClick:De},null,8,[`aria-label`,`title`]),M(B(F),{icon:`pi pi-comments`,severity:`secondary`,text:``,rounded:``,size:`small`,"aria-label":B(f)(`logViewer.sendToChat`),title:B(f)(`logViewer.sendToChat`),onClick:ke},null,8,[`aria-label`,`title`]),C(`div`,Et,[M(B(F),{icon:S.value?`pi pi-pause`:`pi pi-arrow-down`,severity:S.value?`success`:`secondary`,text:``,rounded:``,size:`small`,"aria-label":S.value?B(f)(`logViewer.autoScrollOn`):B(f)(`logViewer.autoScrollOff`),title:S.value?B(f)(`logViewer.live`):B(f)(`logViewer.paused`),onClick:_e},null,8,[`icon`,`severity`,`aria-label`,`title`]),!S.value&&N.value>0?(a(),e(`span`,{key:0,class:`log-viewer__waiting-badge`,title:B(f)(`logViewer.waitingLogs`,{n:N.value})},E(N.value>999?`999+`:N.value),9,Dt)):m(``,!0)])])]),t.loading&&l.logs.length===0?(a(),e(`div`,Ot,[M(B(h),{style:{width:`2rem`,height:`2rem`}}),C(`span`,null,E(B(f)(`logViewer.loading`)),1)])):U.value.length===0?(a(),e(`div`,kt,E(B(f)(`logViewer.empty`)),1)):j.value?(a(),D(B(_t),{key:2,ref_key:`listRef`,ref:w,data:l.logs,class:`log-viewer__scroll`,onScroll:ge},{default:y(({item:e})=>[C(`span`,At,E(e.raw),1)]),_:1},8,[`data`])):(a(),D(B(_t),{key:3,ref_key:`listRef`,ref:w,data:U.value,class:`log-viewer__scroll`,onScroll:ge},{default:y(({item:t,index:n})=>[Ie(n)?(a(),e(`div`,jt,[i[4]||=C(`span`,{class:`log-viewer__time-separator-line`},null,-1),C(`span`,Mt,E(Le(Fe(t))),1),i[5]||=C(`span`,{class:`log-viewer__time-separator-line`},null,-1)])):m(``,!0),t._type===`card`?(a(),D(Y,{key:1,icon:`🐋`,title:t.header,color:`#1d4ed8`,"default-collapsed":t.defaultCollapsed,"last-line":t.body.length>0?t.body[t.body.length-1].message:void 0},{default:y(()=>[(a(!0),e(u,null,te(t.body,e=>(a(),D(Ce,{key:e.id,log:e,onClick:ye},null,8,[`log`]))),128))]),_:2},1032,[`title`,`default-collapsed`,`last-line`])):(a(),D(Ce,{key:2,log:t,onClick:ye},null,8,[`log`]))]),_:1},8,[`data`])),M(B(ee),{visible:X.value,header:B(f)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},breakpoints:{"800px":`95vw`},"onUpdate:visible":i[3]||=e=>{e||(X.value=!1)},pt:{content:{style:`overflow-y:auto`}}},{default:y(()=>[M(re,{compact:``,onSelectScenario:Ae,onSkip:je})]),_:1},8,[`visible`,`header`]),M(g,{ref_key:`aiModalsRef`,ref:be,onConfirmScenarioStart:Pe},null,512),M(oe,{ref_key:`sendToChatRef`,ref:Oe},null,512)]))}}),[[`__scopeId`,`data-v-1bca8f34`]]);export{Ft as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$r as e,Di as t,In as n,Kr as r,Mn as i,Qr as a,Zr as o,c as s,ii as c,la as l,mn as u,oi as d,un as f,va as p}from"./index-
|
|
1
|
+
import{$r as e,Di as t,In as n,Kr as r,Mn as i,Qr as a,Zr as o,c as s,ii as c,la as l,mn as u,oi as d,un as f,va as p}from"./index-a1iwaPG1.js";var m={class:`process-controls`},h=f(d({__name:`ProcessControls`,props:{agentId:{},processId:{},state:{}},emits:[`action`],setup(d,{emit:f}){let h=d,g=f,_=i(),v=s(),{t:y}=n(),b=l(null),x=e=>e===`stopped`||e===`errored`,S=e=>e===`running`||e===`starting`,C=e=>e===`running`;async function w(){b.value=`start`;try{await v.start(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.startFailed`),detail:e.message??y(`processControls.startServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`start`)}}async function T(){b.value=`stop`;try{await v.stop(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.stopFailed`),detail:e.message??y(`processControls.stopServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`stop`)}}async function E(){b.value=`restart`;try{await v.restart(h.agentId,h.processId)}catch(e){_.add({severity:`error`,summary:y(`processControls.restartFailed`),detail:e.message??y(`processControls.restartServiceFailed`),life:5e3})}finally{b.value=null,g(`action`,`restart`)}}return(n,i)=>(t(),e(`div`,m,[x(h.state)?(t(),o(p(u),{key:0,icon:`pi pi-play`,label:p(y)(`actions.start`),severity:`success`,size:`small`,"data-testid":`process-start-btn`,disabled:b.value!==null,loading:b.value===`start`,onClick:w},null,8,[`label`,`disabled`,`loading`])):a(``,!0),S(h.state)?(t(),e(r,{key:1},[c(p(u),{icon:`pi pi-stop`,label:p(y)(`actions.stop`),severity:`danger`,size:`small`,disabled:b.value!==null,loading:b.value===`stop`,onClick:T},null,8,[`label`,`disabled`,`loading`]),C(h.state)?(t(),o(p(u),{key:0,icon:`pi pi-refresh`,label:p(y)(`actions.restart`),severity:`warn`,size:`small`,disabled:b.value!==null,loading:b.value===`restart`,onClick:E},null,8,[`label`,`disabled`,`loading`])):a(``,!0)],64)):a(``,!0)]))}}),[[`__scopeId`,`data-v-ba4ca59c`]]);export{h as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$r as e,Ci as t,Di as n,Dn as r,In as ee,J as te,Kr as ne,Qr as i,R as re,Ti as ie,Vt as a,Xr as o,Yr as s,Zi as c,Zr as ae,an as oe,ii as l,la as u,mn as d,oi as f,un as p,va as m}from"./index-
|
|
1
|
+
import{$r as e,Ci as t,Di as n,Dn as r,In as ee,J as te,Kr as ne,Qr as i,R as re,Ti as ie,Vt as a,Xr as o,Yr as s,Zi as c,Zr as ae,an as oe,ii as l,la as u,mn as d,oi as f,un as p,va as m}from"./index-a1iwaPG1.js";import"./cloud-session-tALRHewK.js";import"./src-CXyRAwtR.js";import{t as se}from"./ProcessControls-t9skQ_zd.js";import"./SendToChatDialog-BpJetpLA.js";import{n as h,t as ce}from"./ProcessMetrics-DL00NyoX.js";import{t as le}from"./LogViewer-ChElXmMu.js";var ue={class:`process-detail`},de={key:0,class:`process-detail__loading`},fe={key:1,class:`process-detail__error`},pe={class:`process-detail__header`},me={class:`process-detail__header-left`},he={class:`process-detail__title`},g={class:`process-detail__id`},_={key:0,class:`process-detail__metrics`},v={class:`section-title`},y={key:1,class:`process-detail__metrics-skeleton`},b={class:`metric-skeleton`},x={class:`metric-skeleton`},S={class:`process-detail__info`},C={class:`info-grid`},w={key:0,class:`info-item`},T={class:`info-label`},E={class:`info-value`},D={key:1,class:`info-item`},O={class:`info-label`},k={class:`info-value`},A={class:`info-item`},j={class:`info-label`},M={class:`info-value`},N={key:2,class:`info-item`},P={class:`info-label`},F={class:`info-value`},I={key:3,class:`info-item`},L={class:`info-label`},R={class:`info-value`},ge={class:`process-detail__logs`},_e={class:`section-title`},ve={class:`process-detail__log-container`},z=p(f({__name:`ProcessDetailPage`,props:{agentId:{},processId:{}},setup(f){let p=f,z=r(),{t:B}=ee(),ye=te(),be=s(()=>V.value?.agentId?ye.agents.find(e=>e.config.id===V.value.agentId)?.config.name??V.value.agentId:null),V=u(null),H=u([]),U=u(null),W=u(!1),G=u(!0),K=u(!0),q=u(null),J=null,Y=null,X=null,Z={running:{severity:`success`,icon:`pi pi-check-circle`},stopped:{severity:`secondary`,icon:`pi pi-stop-circle`},errored:{severity:`danger`,icon:`pi pi-times-circle`},starting:{severity:`warn`,icon:`pi pi-spin pi-spinner`}},Q=s(()=>Z[V.value?.state??`stopped`]??Z.stopped);async function $(){try{V.value=await a.process.get.query({agentId:p.agentId,id:p.processId})}catch(e){q.value=e instanceof Error?e.message:`Failed to load process`}}async function xe(){K.value=!0;try{H.value=await a.process.logs.query({agentId:p.agentId,processId:p.processId})}catch{}finally{K.value=!1}}async function Se(){W.value=!0;try{U.value=await a.process.metrics.query({agentId:p.agentId,processId:p.processId})}catch{}finally{W.value=!1}}function Ce(){let e=a.process.onLog.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){H.value=[...H.value,e],H.value.length>1e4&&(H.value=H.value.slice(H.value.length-1e4))}});J=()=>e.unsubscribe()}function we(){let e=a.process.onStatus.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){V.value=e}});Y=()=>e.unsubscribe()}function Te(){let e=a.process.onMetrics.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){U.value=e}});X=()=>e.unsubscribe()}function Ee(){$()}return t(async()=>{G.value=!0,await Promise.all([$(),xe(),Se()]),G.value=!1,Ce(),we(),Te()}),ie(()=>{J?.(),Y?.(),X?.()}),(t,r)=>(n(),e(`div`,ue,[G.value?(n(),e(`div`,de,[l(m(re),{style:{width:`3rem`,height:`3rem`}}),o(`span`,null,c(m(B)(`processDetail.loading`)),1)])):q.value?(n(),e(`div`,fe,[r[2]||=o(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`,color:`var(--p-red-500)`}},null,-1),o(`p`,null,c(q.value),1),l(m(d),{label:m(B)(`processDetail.goBack`),icon:`pi pi-arrow-left`,severity:`secondary`,onClick:r[0]||=e=>m(z).back()},null,8,[`label`])])):V.value?(n(),e(ne,{key:2},[o(`div`,pe,[o(`div`,me,[l(m(d),{icon:`pi pi-arrow-left`,text:``,rounded:``,severity:`secondary`,"aria-label":m(B)(`processDetail.goBack`),onClick:r[1]||=e=>m(z).back()},null,8,[`aria-label`]),o(`div`,he,[o(`h1`,null,c(V.value.serviceId),1),o(`span`,g,c(V.value.id),1)]),l(m(oe),{value:V.value.state,severity:Q.value.severity,icon:Q.value.icon},null,8,[`value`,`severity`,`icon`])]),l(se,{"agent-id":p.agentId,"process-id":p.processId,state:V.value.state,onAction:Ee},null,8,[`agent-id`,`process-id`,`state`])]),U.value||W.value?(n(),e(`section`,_,[o(`h2`,v,c(m(B)(`processDetail.metrics`)),1),U.value?(n(),ae(ce,{key:0,cpu:U.value.cpu,memory:U.value.memory},null,8,[`cpu`,`memory`])):(n(),e(`div`,y,[o(`div`,b,[l(m(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),l(m(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),l(m(h),{width:`100%`,height:`6px`,"border-radius":`4px`})]),o(`div`,x,[l(m(h),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),l(m(h),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),l(m(h),{width:`6rem`,height:`0.65rem`})])]))])):i(``,!0),o(`section`,S,[o(`div`,C,[V.value.pid?(n(),e(`div`,w,[o(`span`,T,c(m(B)(`processDetail.pid`)),1),o(`span`,E,c(V.value.pid),1)])):i(``,!0),V.value.agentId?(n(),e(`div`,D,[o(`span`,O,c(m(B)(`processDetail.agent`)),1),o(`span`,k,c(be.value),1)])):i(``,!0),o(`div`,A,[o(`span`,j,c(m(B)(`processDetail.restarts`)),1),o(`span`,M,c(V.value.restartCount),1)]),V.value.startedAt?(n(),e(`div`,N,[o(`span`,P,c(m(B)(`processDetail.started`)),1),o(`span`,F,c(new Date(V.value.startedAt).toLocaleString()),1)])):i(``,!0),V.value.exitCode==null?i(``,!0):(n(),e(`div`,I,[o(`span`,L,c(m(B)(`processDetail.exitCode`)),1),o(`span`,R,c(V.value.exitCode),1)]))])]),o(`section`,ge,[o(`h2`,_e,c(m(B)(`processDetail.logs`)),1),o(`div`,ve,[l(le,{logs:H.value,loading:K.value,"service-label":V.value?.serviceId},null,8,[`logs`,`loading`,`service-label`])])])],64)):i(``,!0)]))}}),[[`__scopeId`,`data-v-9599e2e1`]]);export{z as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$r as e,Di as t,In as n,Ln as r,Sn as i,V as a,Xi as o,Xr as s,Yr as c,Zi as l,hi as u,ii as d,oi as f,un as p,va as m,yr as h}from"./index-
|
|
1
|
+
import{$r as e,Di as t,In as n,Ln as r,Sn as i,V as a,Xi as o,Xr as s,Yr as c,Zi as l,hi as u,ii as d,oi as f,un as p,va as m,yr as h}from"./index-a1iwaPG1.js";var g=r.extend({name:`skeleton`,style:`
|
|
2
2
|
.p-skeleton {
|
|
3
3
|
display: block;
|
|
4
4
|
overflow: hidden;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,$r as t,At as n,Bi as r,Ci as ee,Di as i,Dn as te,En as ne,Gi as a,In as re,J as ie,Kr as o,Mi as ae,Mn as oe,Q as se,Qr as s,R as ce,Ur as c,Vt as l,Wi as u,Xr as d,Yr as f,Z as le,Zi as p,Zr as m,Zt as ue,an as h,c as de,en as fe,et as pe,fn as me,ii as g,jn as he,la as _,mn as v,oi as y,on as b,ri as x,tn as ge,un as S,va as C,wn as _e}from"./index-Do0zA8cN.js";import{t as ve}from"./EnvironmentSelector-CBh21uuY.js";import{n as ye,t as w}from"./column-DqAehgUU.js";import{t as be}from"./card-RaXQSIfv.js";var xe={class:`project-detail-page`},Se={key:0,class:`loading-container`},Ce={key:1,class:`error-container`},we={class:`page-header`},Te={class:`page-title`},Ee={class:`env-selector-bar`,"data-testid":`env-selector`},De={class:`info-grid`},Oe={class:`info-field`},T={class:`info-label`},ke={key:0,class:`inline-edit`},Ae={class:`info-field`},je={class:`info-label`},Me={key:0,class:`inline-edit`},Ne={class:`section`},E={class:`section-header`},Pe={class:`section-actions`},Fe={key:1,class:`text-muted`},Ie={class:`table-actions`},Le={key:1,class:`empty-section`},Re={class:`form-group`},ze={for:`projdetail-select-service`},D=S(y({__name:`ProjectDetailPage`,props:{projectId:{}},setup(y){let S=y,{t:D}=re(),O=te();ne();let k=oe(),A=he(),j=le(),M=se(),Be=ie(),N=de(),P=n(),Ve=pe(),F=_(null),I=_(!0),L=_(!1),R=_(!1),z=_(!1),B=_(``),V=_(``),H=_({}),U=_(``),W=_(!1),G=_(``),K=_(!1),q=f(()=>F.value?F.value.serviceIds.map(e=>M.services.find(t=>t.id===e)).filter(e=>!!e):[]),He=f(()=>{let e=U.value.trim().toLowerCase();return e?q.value.filter(t=>t.name.toLowerCase().includes(e)||t.runner?.toLowerCase().includes(e)||t.command?.toLowerCase().includes(e)):q.value}),Ue=f(()=>F.value?.activeEnvironmentId??null),J=f(()=>{if(!F.value)return[];let e=new Set(F.value.serviceIds);return M.services.filter(t=>!e.has(t.id))});function Y(e){let t=N.getByService(e);return t.length>0?t[0]:null}function We(e){return e===`stopped`||e===`errored`}function Ge(e){return e===`running`||e===`starting`}function Ke(e){return e===`running`}async function qe(t){H.value={...H.value,[t.id]:`start`};try{await N.start(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.startFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function Je(t){H.value={...H.value,[t.id]:`stop`};try{await N.stop(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.stopFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function Ye(t){H.value={...H.value,[t.id]:`restart`};try{await N.restart(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.restartFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function X(){I.value=!0;try{F.value=await l.project.get.query({id:S.projectId,orgId:P.activeOrgId}),P.setActiveProject(F.value.id,F.value.orgId??null),await Ve.fetchAll(S.projectId)}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t)??D(`projectDetail.failedToLoad`),life:5e3}),F.value=null}finally{I.value=!1}}function Xe(){B.value=F.value?.name??``,R.value=!0}function Ze(){V.value=F.value?.description??``,z.value=!0}async function Z(){if(!(!F.value||!B.value.trim())){L.value=!0;try{F.value=await l.project.update.mutate({id:F.value.id,orgId:F.value.orgId,name:B.value.trim()}),R.value=!1,k.add({severity:`success`,summary:D(`projectDetail.nameUpdated`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{L.value=!1}}}async function Q(){if(F.value){L.value=!0;try{F.value=await l.project.update.mutate({id:F.value.id,orgId:F.value.orgId,description:V.value.trim()}),z.value=!1,k.add({severity:`success`,summary:D(`projectDetail.descriptionUpdated`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{L.value=!1}}}async function Qe(e){F.value&&(q.value.filter(e=>!!e.id).length>0?A.require({message:D(`projectDetail.switchEnvMsg`),header:D(`projectDetail.switchEnvTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:D(`projectDetail.switchEnvCancel`),acceptLabel:D(`projectDetail.switchEnvConfirm`),accept:()=>$(e)}):await $(e))}async function $(t){if(F.value){L.value=!0;try{let e=await j.setActiveEnvironment(F.value,t);e&&(F.value=e),k.add({severity:`success`,summary:D(`projectDetail.envSwitched`),detail:D(`projectDetail.envSwitchedDesc`),life:3e3})}catch(t){console.error(`Failed to switch environment:`,t),k.add({severity:`error`,summary:`Error`,detail:e(t)??`Failed to switch environment`,life:5e3})}finally{L.value=!1}}}async function $e(){if(!(!F.value||!G.value)){K.value=!0;try{F.value=await l.project.addService.mutate({projectId:F.value.id,orgId:F.value.orgId,serviceId:G.value}),W.value=!1,G.value=``,k.add({severity:`success`,summary:D(`projectDetail.serviceAdded`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{K.value=!1}}}function et(e,t){A.require({message:`Remove "${t}" from this project?`,header:D(`projectDetail.removeServiceTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:D(`projectDetail.removeServiceCancel`),acceptLabel:D(`projectDetail.removeServiceConfirm`),acceptClass:`p-button-danger`,accept:()=>tt(e)})}async function tt(t){if(F.value)try{F.value=await l.project.removeService.mutate({projectId:F.value.id,orgId:F.value.orgId,serviceId:t}),k.add({severity:`success`,summary:D(`projectDetail.serviceRemoved`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}function nt(){F.value&&A.require({message:`Are you sure you want to delete "${F.value.name}"? This action cannot be undone.`,header:D(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,rejectLabel:D(`projectDetail.deleteProjectCancel`),acceptLabel:D(`projectDetail.deleteProjectConfirm`),acceptClass:`p-button-danger`,accept:rt})}async function rt(){if(F.value)try{await l.project.delete.mutate({id:F.value.id,orgId:F.value.orgId}),k.add({severity:`success`,summary:D(`projectDetail.projectDeleted`),life:2e3}),await j.fetchAll(),O.push({name:`projects`})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}return ee(async()=>{await Promise.all([X(),M.fetchAll(),Be.fetchAll(),N.fetchAll()])}),r(()=>S.projectId,()=>{X()}),(e,n)=>{let r=ae(`tooltip`);return i(),t(`div`,xe,[I.value?(i(),t(`div`,Se,[g(C(ce))])):F.value?(i(),t(o,{key:2},[d(`div`,we,[g(C(v),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:n[1]||=e=>C(O).push({name:`projects`})}),d(`h1`,Te,p(C(D)(`projectDetail.title`)),1),F.value.orgId?(i(),m(C(h),{key:0,severity:`info`,icon:`pi pi-cloud`,value:C(D)(`projectDetail.cloud.stored`)},null,8,[`value`])):s(``,!0),g(C(v),{label:C(D)(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,severity:`danger`,text:``,onClick:nt},null,8,[`label`])]),d(`div`,Ee,[g(ve,{"model-value":Ue.value,"onUpdate:modelValue":Qe},null,8,[`model-value`]),g(C(v),{label:C(D)(`projectDetail.manageEnvironments`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,onClick:n[2]||=e=>C(O).push({name:`environments`,params:{projectId:F.value.id}})},null,8,[`label`])]),g(C(be),{class:`info-card`},{content:u(()=>[d(`div`,De,[d(`div`,Oe,[d(`span`,T,p(C(D)(`common.name`)),1),R.value?(i(),t(`div`,ke,[g(C(b),{modelValue:B.value,"onUpdate:modelValue":n[3]||=e=>B.value=e,autofocus:``,class:`edit-input`,onKeyup:[c(Z,[`enter`]),n[4]||=c(e=>R.value=!1,[`escape`])]},null,8,[`modelValue`]),g(C(v),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:L.value,onClick:Z},null,8,[`loading`]),g(C(v),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[5]||=e=>R.value=!1})])):(i(),t(`div`,{key:1,class:`info-value clickable`,onClick:Xe},[x(p(F.value.name)+` `,1),n[16]||=d(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))]),d(`div`,Ae,[d(`span`,je,p(C(D)(`common.description`)),1),z.value?(i(),t(`div`,Me,[g(C(b),{modelValue:V.value,"onUpdate:modelValue":n[6]||=e=>V.value=e,autofocus:``,class:`edit-input`,onKeyup:[c(Q,[`enter`]),n[7]||=c(e=>z.value=!1,[`escape`])]},null,8,[`modelValue`]),g(C(v),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:L.value,onClick:Q},null,8,[`loading`]),g(C(v),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[8]||=e=>z.value=!1})])):(i(),t(`div`,{key:1,class:`info-value clickable`,onClick:Ze},[x(p(F.value.description||C(D)(`projectDetail.noDescription`))+` `,1),n[17]||=d(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))])])]),_:1}),d(`div`,Ne,[d(`div`,E,[d(`h2`,null,p(C(D)(`projectDetail.services`)),1),d(`div`,Pe,[g(C(ge),null,{default:u(()=>[g(C(fe),{class:`pi pi-search`}),g(C(b),{modelValue:U.value,"onUpdate:modelValue":n[9]||=e=>U.value=e,placeholder:C(D)(`projectDetail.searchServices`),size:`small`},null,8,[`modelValue`,`placeholder`])]),_:1}),g(C(v),{label:C(D)(`projectDetail.addExisting`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,disabled:J.value.length===0,onClick:n[10]||=e=>W.value=!0},null,8,[`label`,`disabled`]),g(C(v),{label:C(D)(`projectDetail.createNew`),icon:`pi pi-plus-circle`,size:`small`,onClick:n[11]||=e=>C(O).push({name:`service-create`,query:{projectId:F.value.id}})},null,8,[`label`])])]),q.value.length>0?(i(),m(C(ye),{key:0,value:He.value,stripedRows:``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20],class:`services-table`},{default:u(()=>[g(C(w),{field:`name`,header:C(D)(`projectDetail.nameColumn`)},{body:u(({data:e})=>[g(C(_e),{to:{name:`service-detail`,params:{id:e.id}},class:`service-name`,"data-testid":`service-row-link`},{default:u(()=>[x(p(e.name),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),g(C(w),{field:`runner`,header:C(D)(`projectDetail.runnerColumn`),style:{width:`80px`}},{body:u(({data:e})=>[g(C(h),{value:e.runner,severity:e.runner===`docker`?`warn`:`info`},null,8,[`value`,`severity`])]),_:1},8,[`header`]),g(C(w),{field:`ports`,header:C(D)(`projectDetail.portsColumn`),style:{width:`100px`}},{body:u(({data:e})=>[x(p(e.ports?.length?e.ports.join(`, `):`-`),1)]),_:1},8,[`header`]),g(C(w),{header:C(D)(`common.status`),style:{width:`70px`}},{body:u(({data:e})=>[Y(e.id)?(i(),m(C(h),{key:0,value:Y(e.id).state,severity:Y(e.id).state===`running`?`success`:Y(e.id).state===`errored`?`danger`:`secondary`},null,8,[`value`,`severity`])):(i(),t(`span`,Fe,`-`))]),_:1},8,[`header`]),g(C(w),{header:C(D)(`projectDetail.actionsColumn`),style:{width:`130px`}},{body:u(({data:e})=>[d(`div`,Ie,[!Y(e.id)||We(Y(e.id).state)?a((i(),m(C(v),{key:0,icon:`pi pi-play`,severity:`success`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`start`,onClick:t=>qe(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,C(D)(`actions.start`),void 0,{top:!0}]]):s(``,!0),Y(e.id)&&Ge(Y(e.id).state)?(i(),t(o,{key:1},[a(g(C(v),{icon:`pi pi-stop`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`stop`,onClick:t=>Je(e)},null,8,[`disabled`,`loading`,`onClick`]),[[r,C(D)(`actions.stop`),void 0,{top:!0}]]),Ke(Y(e.id).state)?a((i(),m(C(v),{key:0,icon:`pi pi-refresh`,severity:`warn`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`restart`,onClick:t=>Ye(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,C(D)(`actions.restart`),void 0,{top:!0}]]):s(``,!0)],64)):s(``,!0),a(g(C(v),{icon:`pi pi-minus-circle`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t=>et(e.id,e.name)},null,8,[`onClick`]),[[r,C(D)(`projectDetail.removeFromProject`),void 0,{top:!0}]])])]),_:1},8,[`header`])]),_:1},8,[`value`])):(i(),t(`div`,Le,[d(`p`,null,p(C(D)(`projectDetail.noServices`)),1)]))]),g(C(me),{visible:W.value,"onUpdate:visible":n[14]||=e=>W.value=e,header:C(D)(`projectDetail.addExistingService`),style:{width:`450px`},modal:``,closable:!K.value},{footer:u(()=>[g(C(v),{label:C(D)(`actions.cancel`),severity:`secondary`,text:``,disabled:K.value,onClick:n[13]||=e=>W.value=!1},null,8,[`label`,`disabled`]),g(C(v),{label:C(D)(`actions.add`),icon:`pi pi-plus`,loading:K.value,disabled:!G.value,onClick:$e},null,8,[`label`,`loading`,`disabled`])]),default:u(()=>[d(`div`,Re,[d(`label`,ze,p(C(D)(`projectDetail.selectService`)),1),g(C(ue),{inputId:`projdetail-select-service`,modelValue:G.value,"onUpdate:modelValue":n[12]||=e=>G.value=e,options:J.value,optionLabel:`name`,optionValue:`id`,placeholder:C(D)(`projectDetail.chooseServicePlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`])],64)):(i(),t(`div`,Ce,[n[15]||=d(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`}},null,-1),d(`p`,null,p(C(D)(`projectDetail.notFound`)),1),g(C(v),{label:C(D)(`projectDetail.backToProjects`),icon:`pi pi-arrow-left`,onClick:n[0]||=e=>C(O).push({name:`projects`})},null,8,[`label`])]))])}}}),[[`__scopeId`,`data-v-f83dc200`]]);export{D as default};
|
|
1
|
+
import{$ as e,$r as t,At as n,Bi as r,Ci as ee,Di as i,Dn as te,En as ne,Gi as a,In as re,J as ie,Kr as o,Mi as ae,Mn as oe,Q as se,Qr as s,R as ce,Ur as c,Vt as l,Wi as u,Xr as d,Yr as f,Z as le,Zi as p,Zr as m,Zt as ue,an as h,c as de,en as fe,et as pe,fn as me,ii as g,jn as he,la as _,mn as v,oi as y,on as b,ri as x,tn as ge,un as S,va as C,wn as _e}from"./index-a1iwaPG1.js";import{t as ve}from"./EnvironmentSelector-CQNLsssr.js";import{n as ye,t as w}from"./column-BAToyYIb.js";import{t as be}from"./card-TJ-av0Pi.js";var xe={class:`project-detail-page`},Se={key:0,class:`loading-container`},Ce={key:1,class:`error-container`},we={class:`page-header`},Te={class:`page-title`},Ee={class:`env-selector-bar`,"data-testid":`env-selector`},De={class:`info-grid`},Oe={class:`info-field`},T={class:`info-label`},ke={key:0,class:`inline-edit`},Ae={class:`info-field`},je={class:`info-label`},Me={key:0,class:`inline-edit`},Ne={class:`section`},E={class:`section-header`},Pe={class:`section-actions`},Fe={key:1,class:`text-muted`},Ie={class:`table-actions`},Le={key:1,class:`empty-section`},Re={class:`form-group`},ze={for:`projdetail-select-service`},D=S(y({__name:`ProjectDetailPage`,props:{projectId:{}},setup(y){let S=y,{t:D}=re(),O=te();ne();let k=oe(),A=he(),j=le(),M=se(),Be=ie(),N=de(),P=n(),Ve=pe(),F=_(null),I=_(!0),L=_(!1),R=_(!1),z=_(!1),B=_(``),V=_(``),H=_({}),U=_(``),W=_(!1),G=_(``),K=_(!1),q=f(()=>F.value?F.value.serviceIds.map(e=>M.services.find(t=>t.id===e)).filter(e=>!!e):[]),He=f(()=>{let e=U.value.trim().toLowerCase();return e?q.value.filter(t=>t.name.toLowerCase().includes(e)||t.runner?.toLowerCase().includes(e)||t.command?.toLowerCase().includes(e)):q.value}),Ue=f(()=>F.value?.activeEnvironmentId??null),J=f(()=>{if(!F.value)return[];let e=new Set(F.value.serviceIds);return M.services.filter(t=>!e.has(t.id))});function Y(e){let t=N.getByService(e);return t.length>0?t[0]:null}function We(e){return e===`stopped`||e===`errored`}function Ge(e){return e===`running`||e===`starting`}function Ke(e){return e===`running`}async function qe(t){H.value={...H.value,[t.id]:`start`};try{await N.start(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.startFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function Je(t){H.value={...H.value,[t.id]:`stop`};try{await N.stop(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.stopFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function Ye(t){H.value={...H.value,[t.id]:`restart`};try{await N.restart(t.agentId,t.id)}catch(t){k.add({severity:`error`,summary:D(`projectDetail.restartFailed`),detail:e(t),life:5e3})}finally{let{[t.id]:e,...n}=H.value;H.value=n}}async function X(){I.value=!0;try{F.value=await l.project.get.query({id:S.projectId,orgId:P.activeOrgId}),P.setActiveProject(F.value.id,F.value.orgId??null),await Ve.fetchAll(S.projectId)}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t)??D(`projectDetail.failedToLoad`),life:5e3}),F.value=null}finally{I.value=!1}}function Xe(){B.value=F.value?.name??``,R.value=!0}function Ze(){V.value=F.value?.description??``,z.value=!0}async function Z(){if(!(!F.value||!B.value.trim())){L.value=!0;try{F.value=await l.project.update.mutate({id:F.value.id,orgId:F.value.orgId,name:B.value.trim()}),R.value=!1,k.add({severity:`success`,summary:D(`projectDetail.nameUpdated`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{L.value=!1}}}async function Q(){if(F.value){L.value=!0;try{F.value=await l.project.update.mutate({id:F.value.id,orgId:F.value.orgId,description:V.value.trim()}),z.value=!1,k.add({severity:`success`,summary:D(`projectDetail.descriptionUpdated`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{L.value=!1}}}async function Qe(e){F.value&&(q.value.filter(e=>!!e.id).length>0?A.require({message:D(`projectDetail.switchEnvMsg`),header:D(`projectDetail.switchEnvTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:D(`projectDetail.switchEnvCancel`),acceptLabel:D(`projectDetail.switchEnvConfirm`),accept:()=>$(e)}):await $(e))}async function $(t){if(F.value){L.value=!0;try{let e=await j.setActiveEnvironment(F.value,t);e&&(F.value=e),k.add({severity:`success`,summary:D(`projectDetail.envSwitched`),detail:D(`projectDetail.envSwitchedDesc`),life:3e3})}catch(t){console.error(`Failed to switch environment:`,t),k.add({severity:`error`,summary:`Error`,detail:e(t)??`Failed to switch environment`,life:5e3})}finally{L.value=!1}}}async function $e(){if(!(!F.value||!G.value)){K.value=!0;try{F.value=await l.project.addService.mutate({projectId:F.value.id,orgId:F.value.orgId,serviceId:G.value}),W.value=!1,G.value=``,k.add({severity:`success`,summary:D(`projectDetail.serviceAdded`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}finally{K.value=!1}}}function et(e,t){A.require({message:`Remove "${t}" from this project?`,header:D(`projectDetail.removeServiceTitle`),icon:`pi pi-exclamation-triangle`,rejectLabel:D(`projectDetail.removeServiceCancel`),acceptLabel:D(`projectDetail.removeServiceConfirm`),acceptClass:`p-button-danger`,accept:()=>tt(e)})}async function tt(t){if(F.value)try{F.value=await l.project.removeService.mutate({projectId:F.value.id,orgId:F.value.orgId,serviceId:t}),k.add({severity:`success`,summary:D(`projectDetail.serviceRemoved`),life:2e3})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}function nt(){F.value&&A.require({message:`Are you sure you want to delete "${F.value.name}"? This action cannot be undone.`,header:D(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,rejectLabel:D(`projectDetail.deleteProjectCancel`),acceptLabel:D(`projectDetail.deleteProjectConfirm`),acceptClass:`p-button-danger`,accept:rt})}async function rt(){if(F.value)try{await l.project.delete.mutate({id:F.value.id,orgId:F.value.orgId}),k.add({severity:`success`,summary:D(`projectDetail.projectDeleted`),life:2e3}),await j.fetchAll(),O.push({name:`projects`})}catch(t){k.add({severity:`error`,summary:`Error`,detail:e(t),life:5e3})}}return ee(async()=>{await Promise.all([X(),M.fetchAll(),Be.fetchAll(),N.fetchAll()])}),r(()=>S.projectId,()=>{X()}),(e,n)=>{let r=ae(`tooltip`);return i(),t(`div`,xe,[I.value?(i(),t(`div`,Se,[g(C(ce))])):F.value?(i(),t(o,{key:2},[d(`div`,we,[g(C(v),{icon:`pi pi-arrow-left`,severity:`secondary`,text:``,rounded:``,onClick:n[1]||=e=>C(O).push({name:`projects`})}),d(`h1`,Te,p(C(D)(`projectDetail.title`)),1),F.value.orgId?(i(),m(C(h),{key:0,severity:`info`,icon:`pi pi-cloud`,value:C(D)(`projectDetail.cloud.stored`)},null,8,[`value`])):s(``,!0),g(C(v),{label:C(D)(`projectDetail.deleteProjectTitle`),icon:`pi pi-trash`,severity:`danger`,text:``,onClick:nt},null,8,[`label`])]),d(`div`,Ee,[g(ve,{"model-value":Ue.value,"onUpdate:modelValue":Qe},null,8,[`model-value`]),g(C(v),{label:C(D)(`projectDetail.manageEnvironments`),icon:`pi pi-cog`,severity:`secondary`,outlined:``,onClick:n[2]||=e=>C(O).push({name:`environments`,params:{projectId:F.value.id}})},null,8,[`label`])]),g(C(be),{class:`info-card`},{content:u(()=>[d(`div`,De,[d(`div`,Oe,[d(`span`,T,p(C(D)(`common.name`)),1),R.value?(i(),t(`div`,ke,[g(C(b),{modelValue:B.value,"onUpdate:modelValue":n[3]||=e=>B.value=e,autofocus:``,class:`edit-input`,onKeyup:[c(Z,[`enter`]),n[4]||=c(e=>R.value=!1,[`escape`])]},null,8,[`modelValue`]),g(C(v),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:L.value,onClick:Z},null,8,[`loading`]),g(C(v),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[5]||=e=>R.value=!1})])):(i(),t(`div`,{key:1,class:`info-value clickable`,onClick:Xe},[x(p(F.value.name)+` `,1),n[16]||=d(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))]),d(`div`,Ae,[d(`span`,je,p(C(D)(`common.description`)),1),z.value?(i(),t(`div`,Me,[g(C(b),{modelValue:V.value,"onUpdate:modelValue":n[6]||=e=>V.value=e,autofocus:``,class:`edit-input`,onKeyup:[c(Q,[`enter`]),n[7]||=c(e=>z.value=!1,[`escape`])]},null,8,[`modelValue`]),g(C(v),{icon:`pi pi-check`,text:``,rounded:``,size:`small`,loading:L.value,onClick:Q},null,8,[`loading`]),g(C(v),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:n[8]||=e=>z.value=!1})])):(i(),t(`div`,{key:1,class:`info-value clickable`,onClick:Ze},[x(p(F.value.description||C(D)(`projectDetail.noDescription`))+` `,1),n[17]||=d(`i`,{class:`pi pi-pencil edit-icon`},null,-1)]))])])]),_:1}),d(`div`,Ne,[d(`div`,E,[d(`h2`,null,p(C(D)(`projectDetail.services`)),1),d(`div`,Pe,[g(C(ge),null,{default:u(()=>[g(C(fe),{class:`pi pi-search`}),g(C(b),{modelValue:U.value,"onUpdate:modelValue":n[9]||=e=>U.value=e,placeholder:C(D)(`projectDetail.searchServices`),size:`small`},null,8,[`modelValue`,`placeholder`])]),_:1}),g(C(v),{label:C(D)(`projectDetail.addExisting`),icon:`pi pi-plus`,severity:`secondary`,size:`small`,disabled:J.value.length===0,onClick:n[10]||=e=>W.value=!0},null,8,[`label`,`disabled`]),g(C(v),{label:C(D)(`projectDetail.createNew`),icon:`pi pi-plus-circle`,size:`small`,onClick:n[11]||=e=>C(O).push({name:`service-create`,query:{projectId:F.value.id}})},null,8,[`label`])])]),q.value.length>0?(i(),m(C(ye),{key:0,value:He.value,stripedRows:``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20],class:`services-table`},{default:u(()=>[g(C(w),{field:`name`,header:C(D)(`projectDetail.nameColumn`)},{body:u(({data:e})=>[g(C(_e),{to:{name:`service-detail`,params:{id:e.id}},class:`service-name`,"data-testid":`service-row-link`},{default:u(()=>[x(p(e.name),1)]),_:2},1032,[`to`])]),_:1},8,[`header`]),g(C(w),{field:`runner`,header:C(D)(`projectDetail.runnerColumn`),style:{width:`80px`}},{body:u(({data:e})=>[g(C(h),{value:e.runner,severity:e.runner===`docker`?`warn`:`info`},null,8,[`value`,`severity`])]),_:1},8,[`header`]),g(C(w),{field:`ports`,header:C(D)(`projectDetail.portsColumn`),style:{width:`100px`}},{body:u(({data:e})=>[x(p(e.ports?.length?e.ports.join(`, `):`-`),1)]),_:1},8,[`header`]),g(C(w),{header:C(D)(`common.status`),style:{width:`70px`}},{body:u(({data:e})=>[Y(e.id)?(i(),m(C(h),{key:0,value:Y(e.id).state,severity:Y(e.id).state===`running`?`success`:Y(e.id).state===`errored`?`danger`:`secondary`},null,8,[`value`,`severity`])):(i(),t(`span`,Fe,`-`))]),_:1},8,[`header`]),g(C(w),{header:C(D)(`projectDetail.actionsColumn`),style:{width:`130px`}},{body:u(({data:e})=>[d(`div`,Ie,[!Y(e.id)||We(Y(e.id).state)?a((i(),m(C(v),{key:0,icon:`pi pi-play`,severity:`success`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`start`,onClick:t=>qe(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,C(D)(`actions.start`),void 0,{top:!0}]]):s(``,!0),Y(e.id)&&Ge(Y(e.id).state)?(i(),t(o,{key:1},[a(g(C(v),{icon:`pi pi-stop`,severity:`danger`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`stop`,onClick:t=>Je(e)},null,8,[`disabled`,`loading`,`onClick`]),[[r,C(D)(`actions.stop`),void 0,{top:!0}]]),Ke(Y(e.id).state)?a((i(),m(C(v),{key:0,icon:`pi pi-refresh`,severity:`warn`,text:``,rounded:``,size:`small`,disabled:!!H.value[e.id],loading:H.value[e.id]===`restart`,onClick:t=>Ye(e)},null,8,[`disabled`,`loading`,`onClick`])),[[r,C(D)(`actions.restart`),void 0,{top:!0}]]):s(``,!0)],64)):s(``,!0),a(g(C(v),{icon:`pi pi-minus-circle`,severity:`secondary`,text:``,rounded:``,size:`small`,onClick:t=>et(e.id,e.name)},null,8,[`onClick`]),[[r,C(D)(`projectDetail.removeFromProject`),void 0,{top:!0}]])])]),_:1},8,[`header`])]),_:1},8,[`value`])):(i(),t(`div`,Le,[d(`p`,null,p(C(D)(`projectDetail.noServices`)),1)]))]),g(C(me),{visible:W.value,"onUpdate:visible":n[14]||=e=>W.value=e,header:C(D)(`projectDetail.addExistingService`),style:{width:`450px`},modal:``,closable:!K.value},{footer:u(()=>[g(C(v),{label:C(D)(`actions.cancel`),severity:`secondary`,text:``,disabled:K.value,onClick:n[13]||=e=>W.value=!1},null,8,[`label`,`disabled`]),g(C(v),{label:C(D)(`actions.add`),icon:`pi pi-plus`,loading:K.value,disabled:!G.value,onClick:$e},null,8,[`label`,`loading`,`disabled`])]),default:u(()=>[d(`div`,Re,[d(`label`,ze,p(C(D)(`projectDetail.selectService`)),1),g(C(ue),{inputId:`projdetail-select-service`,modelValue:G.value,"onUpdate:modelValue":n[12]||=e=>G.value=e,options:J.value,optionLabel:`name`,optionValue:`id`,placeholder:C(D)(`projectDetail.chooseServicePlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`])],64)):(i(),t(`div`,Ce,[n[15]||=d(`i`,{class:`pi pi-exclamation-triangle`,style:{"font-size":`2rem`}},null,-1),d(`p`,null,p(C(D)(`projectDetail.notFound`)),1),g(C(v),{label:C(D)(`projectDetail.backToProjects`),icon:`pi pi-arrow-left`,onClick:n[0]||=e=>C(O).push({name:`projects`})},null,8,[`label`])]))])}}}),[[`__scopeId`,`data-v-f83dc200`]]);export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as a,In as o,Kr as s,Mn as c,Qr as ee,R as l,Ur as u,Vt as d,Wi as f,Xr as p,Yr as m,Z as h,Zi as g,Zr as _,fn as v,hn as y,ii as b,ki as x,la as S,mn as C,oi as w,on as T,ri as E,un as D,va as O}from"./index-
|
|
1
|
+
import{$ as e,$r as t,At as n,Ci as r,Di as i,Dn as a,In as o,Kr as s,Mn as c,Qr as ee,R as l,Ur as u,Vt as d,Wi as f,Xr as p,Yr as m,Z as h,Zi as g,Zr as _,fn as v,hn as y,ii as b,ki as x,la as S,mn as C,oi as w,on as T,ri as E,un as D,va as O}from"./index-a1iwaPG1.js";import{t as k}from"./card-TJ-av0Pi.js";var A={class:`card-title-row`},j={class:`card-title`},M={class:`card-description`},N={class:`card-meta`},P={class:`meta-item`},F=D(w({__name:`ProjectCard`,props:{project:{}},emits:[`click`],setup(e,{emit:t}){let n=t;function r(e,t){return!e||e.length<=t?e||``:e.slice(0,t)+`...`}return(t,a)=>(i(),_(O(k),{class:`project-card`,onClick:a[0]||=e=>n(`click`)},{title:f(()=>[p(`div`,A,[p(`span`,j,g(e.project.name),1),b(O(y),{value:e.project.serviceIds.length,severity:`info`},null,8,[`value`])])]),content:f(()=>[p(`p`,M,g(r(e.project.description??``,120)),1),p(`div`,N,[p(`span`,P,[a[1]||=p(`i`,{class:`pi pi-box`},null,-1),E(` `+g(e.project.serviceIds.length)+` service`+g(e.project.serviceIds.length===1?``:`s`),1)])])]),_:1}))}}),[[`__scopeId`,`data-v-8a0b8178`]]),I={class:`project-list-page`},L={class:`page-header`},R={class:`search-bar`},z={class:`p-input-icon-left search-input-wrapper`},B={key:0,class:`loading-container`},V={key:1,class:`error-container`},H={key:2,class:`empty-container`},U={key:0},W={key:1},G={key:3,class:`project-grid`},K={class:`form-group`},q={for:`project-name`},J={class:`form-group`},Y={for:`project-desc`},X=D(w({__name:`ProjectListPage`,setup(y){let{t:w}=o(),E=a(),D=c(),k=h(),A=n(),j=S(``),M=S(!1),N=S(!1),P=S({name:``,description:``}),X=m(()=>{let e=j.value.toLowerCase().trim();return e?k.projects.filter(t=>t.name.toLowerCase().includes(e)||(t.description??``).toLowerCase().includes(e)):k.projects});r(()=>{k.fetchAll()});function Z(e){A.setActiveProject(e.id,e.orgId??null),E.push({name:`project-detail`,params:{projectId:e.id}})}function Q(){P.value={name:``,description:``},M.value=!0}async function $(){if(P.value.name.trim()){N.value=!0;try{let e=await d.project.create.mutate({name:P.value.name.trim(),description:P.value.description.trim()||void 0});D.add({severity:`success`,summary:w(`projectList.created`),detail:w(`projectList.createdDetail`,{name:e.name}),life:3e3}),M.value=!1,await k.fetchAll(),E.push({name:`project-detail`,params:{projectId:e.id}})}catch(t){D.add({severity:`error`,summary:w(`projectList.error`),detail:e(t)??w(`projectList.failedToCreate`),life:5e3})}finally{N.value=!1}}}return(e,n)=>(i(),t(`div`,I,[p(`div`,L,[p(`h1`,null,g(O(w)(`projectList.title`)),1),b(O(C),{label:O(w)(`projectList.newProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`])]),p(`div`,R,[p(`span`,z,[n[6]||=p(`i`,{class:`pi pi-search`},null,-1),b(O(T),{modelValue:j.value,"onUpdate:modelValue":n[0]||=e=>j.value=e,placeholder:O(w)(`projectList.searchPlaceholder`),class:`search-input`},null,8,[`modelValue`,`placeholder`])])]),O(k).loading?(i(),t(`div`,B,[b(O(l))])):O(k).error?(i(),t(`div`,V,[n[7]||=p(`i`,{class:`pi pi-exclamation-triangle`},null,-1),p(`p`,null,g(O(k).error),1),b(O(C),{label:O(w)(`projectList.retry`),icon:`pi pi-refresh`,severity:`secondary`,onClick:n[1]||=e=>O(k).fetchAll()},null,8,[`label`])])):X.value.length===0?(i(),t(`div`,H,[n[8]||=p(`i`,{class:`pi pi-folder-open empty-icon`},null,-1),j.value?(i(),t(`p`,U,g(O(w)(`projectList.noMatchProjects`,{query:j.value})),1)):(i(),t(`p`,W,g(O(w)(`projectList.noProjects`)),1)),j.value?ee(``,!0):(i(),_(O(C),{key:2,label:O(w)(`projectList.createProject`),icon:`pi pi-plus`,onClick:Q},null,8,[`label`]))])):(i(),t(`div`,G,[(i(!0),t(s,null,x(X.value,e=>(i(),_(F,{key:e.id,project:e,"data-testid":`project-row-link`,onClick:t=>Z(e)},null,8,[`project`,`onClick`]))),128))])),b(O(v),{visible:M.value,"onUpdate:visible":n[5]||=e=>M.value=e,header:O(w)(`projectList.newProject`),style:{width:`480px`},modal:``,closable:!N.value},{footer:f(()=>[b(O(C),{label:O(w)(`projectList.cancel`),severity:`secondary`,text:``,disabled:N.value,onClick:n[4]||=e=>M.value=!1},null,8,[`label`,`disabled`]),b(O(C),{label:O(w)(`projectList.create`),icon:`pi pi-check`,loading:N.value,disabled:!P.value.name.trim(),onClick:$},null,8,[`label`,`loading`,`disabled`])]),default:f(()=>[p(`div`,K,[p(`label`,q,g(O(w)(`projectList.nameLabel`)),1),b(O(T),{id:`project-name`,modelValue:P.value.name,"onUpdate:modelValue":n[2]||=e=>P.value.name=e,placeholder:O(w)(`projectList.namePlaceholder`),class:`w-full`,autofocus:``,onKeyup:u($,[`enter`])},null,8,[`modelValue`,`placeholder`])]),p(`div`,J,[p(`label`,Y,g(O(w)(`projectList.descriptionLabel`)),1),b(O(T),{id:`project-desc`,modelValue:P.value.description,"onUpdate:modelValue":n[3]||=e=>P.value.description=e,placeholder:O(w)(`projectList.descriptionPlaceholder`),class:`w-full`,onKeyup:u($,[`enter`])},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`visible`,`header`,`closable`])]))}}),[[`__scopeId`,`data-v-eb8c4a0d`]]);export{X as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$r as e,Ci as t,Di as n,Ti as r,Vt as i,Xr as a,Zi as o,gi as s,ii as c,la as l,mn as u,oi as d,ri as f,un as p,va as m}from"./index-
|
|
1
|
+
import{$r as e,Ci as t,Di as n,Ti as r,Vt as i,Xr as a,Zi as o,gi as s,ii as c,la as l,mn as u,oi as d,ri as f,un as p,va as m}from"./index-a1iwaPG1.js";var h={class:`random-job-test`},g={class:`random-job-test__actions`},_={class:`random-job-test__meta`},v={key:0,class:`random-job-test__empty`},y={key:1},b=`runeya:random-job-test:job-id`,x=`runeya:random-job-test:logs`,S=p(d({__name:`RandomJobTestPage`,setup(d){let p=l(null),S=l(!1),C=l([]),w=l(null),T=null;function E(){p.value?sessionStorage.setItem(b,p.value):sessionStorage.removeItem(b),sessionStorage.setItem(x,JSON.stringify(C.value))}function D(e){C.value=[...C.value,e],C.value.length>2e3&&(C.value=C.value.slice(C.value.length-2e3)),E(),s(()=>{w.value&&(w.value.scrollTop=w.value.scrollHeight)})}function O(){T?.unsubscribe(),T=null}function k(e){O(),T=i.debug.streamRandomJob.subscribe({jobId:e},{onData(e){e.type===`tick`?D(`[${new Date(e.at).toLocaleTimeString()}] #${e.index} -> ${e.value.toFixed(8)}`):(D(`[${new Date(e.at).toLocaleTimeString()}] done: ${e.reason}`),S.value=!1,p.value=null,E())},onError(e){D(`[sub] error: ${e.message}`),S.value=!1,E()},onComplete(){D(`[sub] complete`),S.value=!1,E()}}),D(`[sub] started for job ${e}`)}async function A(){if(S.value)return;C.value=[],E();let e=await i.debug.startRandomJob.mutate({intervalMs:300,maxTicks:1e3});p.value=e.jobId,S.value=!0,E(),D(`[job] started id=${e.jobId}, intervalMs=${e.intervalMs}, maxTicks=${e.maxTicks}`),k(e.jobId)}async function j(){if(p.value)try{await i.debug.stopRandomJob.mutate({jobId:p.value}),D(`[job] stop requested id=${p.value}`),S.value=!1,p.value=null,E()}catch(e){D(`[job] stop error: ${e.message}`)}}function M(){C.value=[],E()}return t(async()=>{let e=sessionStorage.getItem(x);if(e)try{let t=JSON.parse(e);Array.isArray(t)&&(C.value=t)}catch{}let t=sessionStorage.getItem(b);if(t){p.value=t;try{let e=await i.debug.randomJobStatus.query({jobId:t});S.value=e.running,E(),e.running?(D(`[job] reconnected id=${t}, tick=${e.tick}`),k(t)):(D(`[job] previous job ended (id=${t})`),p.value=null,E())}catch{S.value=!1,p.value=null,D(`[job] previous job not found`),E()}}}),r(()=>{O()}),(t,r)=>(n(),e(`div`,h,[r[3]||=a(`header`,{class:`random-job-test__header`},[a(`h1`,null,`Random Job Test`),a(`p`,null,`Click start to launch a server job and stream Math.random() values in real time.`)],-1),a(`div`,g,[c(m(u),{label:`Start job`,icon:`pi pi-play`,disabled:S.value,onClick:A},null,8,[`disabled`]),c(m(u),{label:`Stop`,icon:`pi pi-stop`,severity:`danger`,disabled:!S.value,onClick:j},null,8,[`disabled`]),c(m(u),{label:`Clear logs`,icon:`pi pi-trash`,severity:`secondary`,outlined:``,onClick:M})]),a(`div`,_,[a(`span`,null,[r[0]||=a(`strong`,null,`Job ID:`,-1),f(` `+o(p.value??`none`),1)]),a(`span`,null,[r[1]||=a(`strong`,null,`Status:`,-1),f(` `+o(S.value?`running`:`idle`),1)]),a(`span`,null,[r[2]||=a(`strong`,null,`Lines:`,-1),f(` `+o(C.value.length),1)])]),a(`section`,{ref_key:`logsEl`,ref:w,class:`random-job-test__logs`,"aria-live":`polite`},[C.value.length===0?(n(),e(`div`,v,`No logs yet.`)):(n(),e(`pre`,y,o(C.value.join(`
|
|
2
2
|
`)),1))],512)]))}}),[[`__scopeId`,`data-v-96a75827`]]);export{S as default};
|