junhost 0.1.0
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/README.md +38 -0
- package/bin/jun.js +106 -0
- package/dist/index.js +338 -0
- package/dist/mcp-server.js +42 -0
- package/package.json +46 -0
- package/ui-dist/assets/BrowserPage-CLwJOnA1.js +1 -0
- package/ui-dist/assets/DashboardPage-DNlY12tH.js +1 -0
- package/ui-dist/assets/FilesPage-CfFJjtlo.js +64 -0
- package/ui-dist/assets/FormContext-6Ydu-jal.js +1 -0
- package/ui-dist/assets/McpPage-Ckmbp2T3.js +1 -0
- package/ui-dist/assets/MemoriesPage-BgBe2rb6.js +1 -0
- package/ui-dist/assets/RunsPage-9w7iFG8N.js +429 -0
- package/ui-dist/assets/SchedulesPage-B5FVZB0F.js +1 -0
- package/ui-dist/assets/SettingsPage-lNZmrgQF.js +1 -0
- package/ui-dist/assets/SkillsPage-BXcSp6ls.js +1 -0
- package/ui-dist/assets/abap-BF8NL95m.js +1 -0
- package/ui-dist/assets/abap-CLvhMVsD.js +1 -0
- package/ui-dist/assets/actionscript-3--17pq3dv.js +1 -0
- package/ui-dist/assets/actionscript-3-8HxPlehu.js +1 -0
- package/ui-dist/assets/ada-Bw5CILjN.js +1 -0
- package/ui-dist/assets/ada-C5qYipkI.js +1 -0
- package/ui-dist/assets/andromeeda-WkhI09AS.js +1 -0
- package/ui-dist/assets/andromeeda-vGVdxbeo.js +1 -0
- package/ui-dist/assets/angular-html-BKhkKBsm.js +1 -0
- package/ui-dist/assets/angular-html-DrvEcI8G.js +1 -0
- package/ui-dist/assets/angular-ts-CYPbMJCA.js +1 -0
- package/ui-dist/assets/angular-ts-D8CUV3s9.js +1 -0
- package/ui-dist/assets/apache-U0d_L8uA.js +1 -0
- package/ui-dist/assets/apache-_o4xIZnD.js +1 -0
- package/ui-dist/assets/apex-CGTLDQj6.js +1 -0
- package/ui-dist/assets/apex-VAyPSnFM.js +1 -0
- package/ui-dist/assets/apl-D7bENxmy.js +1 -0
- package/ui-dist/assets/apl-PcM4Dp7k.js +1 -0
- package/ui-dist/assets/applescript-BeHGDHfZ.js +1 -0
- package/ui-dist/assets/applescript-CCn79oCD.js +1 -0
- package/ui-dist/assets/ara-4CJ0cIlV.js +1 -0
- package/ui-dist/assets/ara-DO_5Wseq.js +1 -0
- package/ui-dist/assets/arc-8BWbC-0s.js +1 -0
- package/ui-dist/assets/architecture-7EHR7CIX-D8QwdCM4.js +1 -0
- package/ui-dist/assets/architectureDiagram-3BPJPVTR-CZU-I50b.js +36 -0
- package/ui-dist/assets/array-BifhSqXX.js +1 -0
- package/ui-dist/assets/asciidoc-CibGaoXl.js +1 -0
- package/ui-dist/assets/asciidoc-DE70LPWp.js +1 -0
- package/ui-dist/assets/asm-Cmm7eHzH.js +1 -0
- package/ui-dist/assets/asm-MXdQGneo.js +1 -0
- package/ui-dist/assets/astro-B1l9MDUT.js +1 -0
- package/ui-dist/assets/astro-DcteBnKj.js +1 -0
- package/ui-dist/assets/aurora-x-C7CFqhAd.js +1 -0
- package/ui-dist/assets/aurora-x-CDeNXAV0.js +1 -0
- package/ui-dist/assets/awk-BWXHIvNe.js +1 -0
- package/ui-dist/assets/awk-DnQEBQqr.js +1 -0
- package/ui-dist/assets/ayu-dark-CRu61w6_.js +1 -0
- package/ui-dist/assets/ayu-dark-DluEY0Gj.js +1 -0
- package/ui-dist/assets/ayu-light-C3h-C4tm.js +1 -0
- package/ui-dist/assets/ayu-light-Dn6O_aYR.js +1 -0
- package/ui-dist/assets/ayu-mirage-Bqwy1Gya.js +1 -0
- package/ui-dist/assets/ayu-mirage-CTjYAbs-.js +1 -0
- package/ui-dist/assets/badge-DjyNiZCE.js +1 -0
- package/ui-dist/assets/ballerina-B7ZEbQpA.js +1 -0
- package/ui-dist/assets/ballerina-CFI0x2Aa.js +1 -0
- package/ui-dist/assets/bat-Bo4NYOV-.js +1 -0
- package/ui-dist/assets/bat-DC-yen0F.js +1 -0
- package/ui-dist/assets/beancount-D-usSTwE.js +1 -0
- package/ui-dist/assets/beancount-D_qoziCN.js +1 -0
- package/ui-dist/assets/berry-BKmXRlIk.js +1 -0
- package/ui-dist/assets/berry-DKpUyyne.js +1 -0
- package/ui-dist/assets/bibtex-Ci_nEsc7.js +1 -0
- package/ui-dist/assets/bibtex-DPT_ISlA.js +1 -0
- package/ui-dist/assets/bicep-BSNFxtkx.js +1 -0
- package/ui-dist/assets/bicep-CUHmPFLl.js +1 -0
- package/ui-dist/assets/bird2-C2hNVINV.js +1 -0
- package/ui-dist/assets/bird2-C6vDhewU.js +1 -0
- package/ui-dist/assets/blade-6YnoPBU8.js +1 -0
- package/ui-dist/assets/blade-BlkqRXu6.js +1 -0
- package/ui-dist/assets/blockDiagram-GPEHLZMM-CyBud8P5.js +132 -0
- package/ui-dist/assets/bsl-BkkzgIyY.js +1 -0
- package/ui-dist/assets/bsl-DJOyloKD.js +1 -0
- package/ui-dist/assets/bundle-mjs-DssaXR6m.js +1 -0
- package/ui-dist/assets/button-Cg-0y2B2.js +1 -0
- package/ui-dist/assets/c-PpPxyn8g.js +1 -0
- package/ui-dist/assets/c-Y1DAQKNJ.js +1 -0
- package/ui-dist/assets/c3-BFHwR3_K.js +1 -0
- package/ui-dist/assets/c3-CnJL0r0V.js +1 -0
- package/ui-dist/assets/c4Diagram-AAUBKEIU--J4ICgL4.js +10 -0
- package/ui-dist/assets/cadence-CQ2zXKGN.js +1 -0
- package/ui-dist/assets/cadence-Cfz1Ugii.js +1 -0
- package/ui-dist/assets/cairo-CDc8os0h.js +1 -0
- package/ui-dist/assets/cairo-DLTphjLi.js +1 -0
- package/ui-dist/assets/catppuccin-frappe-3VR1Za6u.js +1 -0
- package/ui-dist/assets/catppuccin-frappe-DFlFW5gh.js +1 -0
- package/ui-dist/assets/catppuccin-latte-CpxdcXpJ.js +1 -0
- package/ui-dist/assets/catppuccin-latte-DwIHMF0Q.js +1 -0
- package/ui-dist/assets/catppuccin-macchiato-DIdIQ04K.js +1 -0
- package/ui-dist/assets/catppuccin-macchiato-DYnBP6_5.js +1 -0
- package/ui-dist/assets/catppuccin-mocha-Co3Xjl64.js +1 -0
- package/ui-dist/assets/catppuccin-mocha-DYhrFGRu.js +1 -0
- package/ui-dist/assets/channel-CXOCC3Ms.js +1 -0
- package/ui-dist/assets/checkbox-Dl42vHZu.js +1 -0
- package/ui-dist/assets/chunk-2J33WTMH-BDb1cFmy.js +1 -0
- package/ui-dist/assets/chunk-3OPIFGDE-BlluxIcQ.js +62 -0
- package/ui-dist/assets/chunk-4BX2VUAB-C0kf5ycP.js +1 -0
- package/ui-dist/assets/chunk-55IACEB6-QyFAFTWp.js +1 -0
- package/ui-dist/assets/chunk-5ZQYHXKU-CKTcuPiD.js +2 -0
- package/ui-dist/assets/chunk-727SXJPM-MZn2xvWx.js +206 -0
- package/ui-dist/assets/chunk-AQP2D5EJ-BJaTZvWO.js +231 -0
- package/ui-dist/assets/chunk-BO2N2NFS-BnH2G-m5.js +131 -0
- package/ui-dist/assets/chunk-BSJP7CBP-DIpfLhEz.js +1 -0
- package/ui-dist/assets/chunk-CSCIHK7Q-CXkHF5UK.js +125 -0
- package/ui-dist/assets/chunk-Cyuzqnbw.js +1 -0
- package/ui-dist/assets/chunk-FMBD7UC4-C9D6P7Uq.js +15 -0
- package/ui-dist/assets/chunk-KSCS5N6A-BahjoFv5.js +10 -0
- package/ui-dist/assets/chunk-L5ZTLDWV-Bx4WHt-z.js +1 -0
- package/ui-dist/assets/chunk-LZXEDZCA-CkFznL5l.js +2 -0
- package/ui-dist/assets/chunk-ND2GUHAM-B8gmrqM9.js +1 -0
- package/ui-dist/assets/chunk-NNHCCRGN-DlpIbxXb.js +159 -0
- package/ui-dist/assets/chunk-NZK2D7GU-C18DTyig.js +1 -0
- package/ui-dist/assets/chunk-O5CBEL6O-DhXgjXO_.js +70 -0
- package/ui-dist/assets/chunk-QZHKN3VN-CyVdgm44.js +1 -0
- package/ui-dist/assets/chunk-WU5MYG2G-DakMffny.js +1 -0
- package/ui-dist/assets/chunk-XPW4576I-ru3A962d.js +32 -0
- package/ui-dist/assets/circle-x-BSTd_gmE.js +1 -0
- package/ui-dist/assets/clarity-CCl-fyB_.js +1 -0
- package/ui-dist/assets/clarity-SemFz856.js +1 -0
- package/ui-dist/assets/classDiagram-4FO5ZUOK-DMdoabn-.js +1 -0
- package/ui-dist/assets/classDiagram-v2-Q7XG4LA2-DMdoabn-.js +1 -0
- package/ui-dist/assets/clojure-D5q7Jl6u.js +1 -0
- package/ui-dist/assets/clojure-DqKBuwfJ.js +1 -0
- package/ui-dist/assets/cmake-Bj61d0ZC.js +1 -0
- package/ui-dist/assets/cmake-CbIxKMg_.js +1 -0
- package/ui-dist/assets/cobol-BoXxFQjh.js +1 -0
- package/ui-dist/assets/cobol-IOjEjPmG.js +1 -0
- package/ui-dist/assets/codeowners-BhqpE35O.js +1 -0
- package/ui-dist/assets/codeowners-C8r90Shi.js +1 -0
- package/ui-dist/assets/codeql-Bq651Y_e.js +1 -0
- package/ui-dist/assets/codeql-oeQT6MSM.js +1 -0
- package/ui-dist/assets/coffee-B5TREocO.js +1 -0
- package/ui-dist/assets/coffee-Dl-rf7k6.js +1 -0
- package/ui-dist/assets/collapsible-BdLJt-lG.js +1 -0
- package/ui-dist/assets/common-lisp-8vnVPjBz.js +1 -0
- package/ui-dist/assets/common-lisp-Cv5bFMCO.js +1 -0
- package/ui-dist/assets/coq-Bol-RJ7y.js +1 -0
- package/ui-dist/assets/coq-BrsZFFmf.js +1 -0
- package/ui-dist/assets/cose-bilkent-S5V4N54A-BPg4WNhP.js +1 -0
- package/ui-dist/assets/cpp-C4ceAJBi.js +1 -0
- package/ui-dist/assets/cpp-CVIk4zoB.js +1 -0
- package/ui-dist/assets/crystal-CgtjlE18.js +1 -0
- package/ui-dist/assets/crystal-CvUuUt6_.js +1 -0
- package/ui-dist/assets/csharp-Ct8U2NOr.js +1 -0
- package/ui-dist/assets/csharp-oqKa8noW.js +1 -0
- package/ui-dist/assets/css-D7o5g6xi.js +1 -0
- package/ui-dist/assets/css-Dflf0SUa.js +1 -0
- package/ui-dist/assets/csv-Dx-8-gkx.js +1 -0
- package/ui-dist/assets/csv-aQe9eWwB.js +1 -0
- package/ui-dist/assets/cue-CE9AQfxI.js +1 -0
- package/ui-dist/assets/cue-Dw4Jatp1.js +1 -0
- package/ui-dist/assets/cypher-Ce1ftazo.js +1 -0
- package/ui-dist/assets/cypher-ClKdZ_lG.js +1 -0
- package/ui-dist/assets/cytoscape.esm-h6BdjjI9.js +321 -0
- package/ui-dist/assets/d-C5Cd7-kE.js +1 -0
- package/ui-dist/assets/d-qD-0Kul2.js +1 -0
- package/ui-dist/assets/dagre-BM42HDAG-CRPnH9-w.js +4 -0
- package/ui-dist/assets/dagre-Bx709z4p.js +1 -0
- package/ui-dist/assets/dark-plus-Cs2F2srj.js +1 -0
- package/ui-dist/assets/dark-plus-GAt2ZgX8.js +1 -0
- package/ui-dist/assets/dart-CnvKMtbv.js +1 -0
- package/ui-dist/assets/dart-DkHntEIa.js +1 -0
- package/ui-dist/assets/dax-8Zbmoo6g.js +1 -0
- package/ui-dist/assets/dax-BkyTk9wS.js +1 -0
- package/ui-dist/assets/defaultLocale-C8Fc0cco.js +1 -0
- package/ui-dist/assets/desktop-DfUumfaM.js +1 -0
- package/ui-dist/assets/desktop-Dlh5hvp9.js +1 -0
- package/ui-dist/assets/diagram-2AECGRRQ-BHmnvDJu.js +43 -0
- package/ui-dist/assets/diagram-5GNKFQAL-CnuSOf5i.js +10 -0
- package/ui-dist/assets/diagram-KO2AKTUF-DkD3Oyzq.js +3 -0
- package/ui-dist/assets/diagram-LMA3HP47-qngr_ayi.js +24 -0
- package/ui-dist/assets/diagram-OG6HWLK6-BUXAAFlB.js +24 -0
- package/ui-dist/assets/dialog-Bl8-9u35.js +1 -0
- package/ui-dist/assets/diff-COJGj3FI.js +1 -0
- package/ui-dist/assets/diff-woXpYk--.js +1 -0
- package/ui-dist/assets/dist-D4B_Bs5p.js +1 -0
- package/ui-dist/assets/docker-BRkDW2k5.js +1 -0
- package/ui-dist/assets/docker-IyjqRm3v.js +1 -0
- package/ui-dist/assets/dotenv-BCLQtltE.js +1 -0
- package/ui-dist/assets/dotenv-_5a1GRtc.js +1 -0
- package/ui-dist/assets/dracula-BHWKrbxM.js +1 -0
- package/ui-dist/assets/dracula-C2uKkzgK.js +1 -0
- package/ui-dist/assets/dracula-soft-5eyTD99u.js +1 -0
- package/ui-dist/assets/dracula-soft-D1bVjxWZ.js +1 -0
- package/ui-dist/assets/dream-maker-Bqk5m4Bz.js +1 -0
- package/ui-dist/assets/dream-maker-DW3nJb8Q.js +1 -0
- package/ui-dist/assets/edge-CmXZi-az.js +1 -0
- package/ui-dist/assets/edge-DoVTVjme.js +1 -0
- package/ui-dist/assets/elixir-BoRIkjDi.js +1 -0
- package/ui-dist/assets/elixir-CzgPtVDf.js +1 -0
- package/ui-dist/assets/elm-BN_gLVH_.js +1 -0
- package/ui-dist/assets/elm-Cm7sFdI1.js +1 -0
- package/ui-dist/assets/emacs-lisp-B4R74twV.js +1 -0
- package/ui-dist/assets/emacs-lisp-C9PiwqqW.js +1 -0
- package/ui-dist/assets/erDiagram-TEJ5UH35-B7fmkd3a.js +85 -0
- package/ui-dist/assets/erb-DuMAGb6i.js +1 -0
- package/ui-dist/assets/erb-p0q977En.js +1 -0
- package/ui-dist/assets/erlang-Cphh6RMH.js +1 -0
- package/ui-dist/assets/erlang-Dej7b2OY.js +1 -0
- package/ui-dist/assets/eventmodeling-FCH6USID-DUPVuqbK.js +1 -0
- package/ui-dist/assets/everforest-dark-D-DlICQR.js +1 -0
- package/ui-dist/assets/everforest-dark-sB-x3p7T.js +1 -0
- package/ui-dist/assets/everforest-light-CeVdGHYG.js +1 -0
- package/ui-dist/assets/everforest-light-Df2xbC6M.js +1 -0
- package/ui-dist/assets/external-link-DiZ5uX5z.js +1 -0
- package/ui-dist/assets/fennel-Bb9CuKP4.js +1 -0
- package/ui-dist/assets/fennel-DQxkIbk2.js +1 -0
- package/ui-dist/assets/fish-3TGl8j7I.js +1 -0
- package/ui-dist/assets/fish-BJitypiv.js +1 -0
- package/ui-dist/assets/flowDiagram-I6XJVG4X-D3K28Pdy.js +162 -0
- package/ui-dist/assets/fluent-C03EYrpw.js +1 -0
- package/ui-dist/assets/fluent-D94vzzSS.js +1 -0
- package/ui-dist/assets/fortran-fixed-form-DEKoE2YW.js +1 -0
- package/ui-dist/assets/fortran-fixed-form-RVbzjQ2q.js +1 -0
- package/ui-dist/assets/fortran-free-form-CYNrtFtB.js +1 -0
- package/ui-dist/assets/fortran-free-form-EhmKDVgM.js +1 -0
- package/ui-dist/assets/fsharp-D13ZGOAj.js +1 -0
- package/ui-dist/assets/fsharp-DKW21_Cq.js +1 -0
- package/ui-dist/assets/ganttDiagram-6RSMTGT7-CXzmskXJ.js +292 -0
- package/ui-dist/assets/gdresource-C0sCabJj.js +1 -0
- package/ui-dist/assets/gdresource-b7MixKdf.js +1 -0
- package/ui-dist/assets/gdscript-Cp2uCuqX.js +1 -0
- package/ui-dist/assets/gdscript-DbNIuFFJ.js +1 -0
- package/ui-dist/assets/gdshader-C7BToOo8.js +1 -0
- package/ui-dist/assets/gdshader-CBce3t8t.js +1 -0
- package/ui-dist/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
- package/ui-dist/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
- package/ui-dist/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
- package/ui-dist/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
- package/ui-dist/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
- package/ui-dist/assets/genie-CV2tkWYe.js +1 -0
- package/ui-dist/assets/genie-Cxv98QxF.js +1 -0
- package/ui-dist/assets/gherkin-CcdVVABv.js +1 -0
- package/ui-dist/assets/gherkin-DExj1W_8.js +1 -0
- package/ui-dist/assets/git-commit-BSykSTBG.js +1 -0
- package/ui-dist/assets/git-commit-BU_RZ1WH.js +1 -0
- package/ui-dist/assets/git-rebase-D2tSwjJb.js +1 -0
- package/ui-dist/assets/git-rebase-DfgjiXG9.js +1 -0
- package/ui-dist/assets/gitGraph-WXDBUCRP-CROsiysY.js +1 -0
- package/ui-dist/assets/gitGraphDiagram-PVQCEYII-BBhICl9b.js +106 -0
- package/ui-dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/ui-dist/assets/github-dark-DwbbXv51.js +1 -0
- package/ui-dist/assets/github-dark-default-CxjRwzl6.js +1 -0
- package/ui-dist/assets/github-dark-default-DXG-b-1a.js +1 -0
- package/ui-dist/assets/github-dark-dimmed-Bx1FflLF.js +1 -0
- package/ui-dist/assets/github-dark-dimmed-Cr1oaoul.js +1 -0
- package/ui-dist/assets/github-dark-high-contrast-B4qJZLZa.js +1 -0
- package/ui-dist/assets/github-dark-high-contrast-B_tTalzw.js +1 -0
- package/ui-dist/assets/github-light-CsVXhIlR.js +1 -0
- package/ui-dist/assets/github-light-EUqPIrTm.js +1 -0
- package/ui-dist/assets/github-light-default-BXViO-2h.js +1 -0
- package/ui-dist/assets/github-light-default-DB_IwZa6.js +1 -0
- package/ui-dist/assets/github-light-high-contrast-B68TUdTA.js +1 -0
- package/ui-dist/assets/github-light-high-contrast-DLgVeSB-.js +1 -0
- package/ui-dist/assets/gleam-B359wBlW.js +1 -0
- package/ui-dist/assets/gleam-CSRkHgEL.js +1 -0
- package/ui-dist/assets/glimmer-js--VVKNatA.js +1 -0
- package/ui-dist/assets/glimmer-js-JMWzPMQ2.js +1 -0
- package/ui-dist/assets/glimmer-ts-Bfa_wiNC.js +1 -0
- package/ui-dist/assets/glimmer-ts-DG5GCT78.js +1 -0
- package/ui-dist/assets/glsl-MPwHyiXQ.js +1 -0
- package/ui-dist/assets/glsl-dHcuwXfH.js +1 -0
- package/ui-dist/assets/gn-BdcPb0jv.js +1 -0
- package/ui-dist/assets/gn-ilITqXS6.js +1 -0
- package/ui-dist/assets/gnuplot-7GGW24-e.js +1 -0
- package/ui-dist/assets/gnuplot-DKk0glG7.js +1 -0
- package/ui-dist/assets/go-BJwz_mda.js +1 -0
- package/ui-dist/assets/go-rLFTqkRN.js +1 -0
- package/ui-dist/assets/graphlib-B8gBHxth.js +1 -0
- package/ui-dist/assets/graphql-CdhToEZf.js +1 -0
- package/ui-dist/assets/graphql-NW854Khs.js +1 -0
- package/ui-dist/assets/groovy-CacY0gHj.js +1 -0
- package/ui-dist/assets/groovy-DyoOSCFW.js +1 -0
- package/ui-dist/assets/gruvbox-dark-hard-C820rvS2.js +1 -0
- package/ui-dist/assets/gruvbox-dark-hard-DXm60lX3.js +1 -0
- package/ui-dist/assets/gruvbox-dark-medium-BPjhmG05.js +1 -0
- package/ui-dist/assets/gruvbox-dark-medium-GE2thSmD.js +1 -0
- package/ui-dist/assets/gruvbox-dark-soft-04Cj-4VZ.js +1 -0
- package/ui-dist/assets/gruvbox-dark-soft-MrdJrrXF.js +1 -0
- package/ui-dist/assets/gruvbox-light-hard-BC_s9l72.js +1 -0
- package/ui-dist/assets/gruvbox-light-hard-K6wSn29D.js +1 -0
- package/ui-dist/assets/gruvbox-light-medium-BAWPOn9u.js +1 -0
- package/ui-dist/assets/gruvbox-light-medium-CVy3aSlc.js +1 -0
- package/ui-dist/assets/gruvbox-light-soft-BSMLrYjP.js +1 -0
- package/ui-dist/assets/gruvbox-light-soft-DNgJjaY0.js +1 -0
- package/ui-dist/assets/hack-C4J_0T1S.js +1 -0
- package/ui-dist/assets/hack-CSl79E5u.js +1 -0
- package/ui-dist/assets/haml-Dmb1YmHj.js +1 -0
- package/ui-dist/assets/haml-qGg_91I2.js +1 -0
- package/ui-dist/assets/handlebars-BU7OV8YS.js +1 -0
- package/ui-dist/assets/handlebars-Du8DtnRB.js +1 -0
- package/ui-dist/assets/haskell-D8IpX4py.js +1 -0
- package/ui-dist/assets/haskell-Dsfw-pfZ.js +1 -0
- package/ui-dist/assets/haxe-BZXihDV-.js +1 -0
- package/ui-dist/assets/haxe-OTjmBuCE.js +1 -0
- package/ui-dist/assets/hcl-Dh228itO.js +1 -0
- package/ui-dist/assets/hcl-o1Ej_Blw.js +1 -0
- package/ui-dist/assets/highlighted-body-OFNGDK62-woHDdMrg.js +1 -0
- package/ui-dist/assets/hjson-C0zQIMrr.js +1 -0
- package/ui-dist/assets/hjson-CxZEssPk.js +1 -0
- package/ui-dist/assets/hlsl-BxIm9IaD.js +1 -0
- package/ui-dist/assets/hlsl-Cvrh5tZx.js +1 -0
- package/ui-dist/assets/horizon-0-RkHfro.js +1 -0
- package/ui-dist/assets/horizon-CE9ld1lL.js +1 -0
- package/ui-dist/assets/horizon-bright-Br1oVSNq.js +1 -0
- package/ui-dist/assets/horizon-bright-DSNQnXHK.js +1 -0
- package/ui-dist/assets/houston-CsvMBhTu.js +1 -0
- package/ui-dist/assets/houston-KyjWKfuY.js +1 -0
- package/ui-dist/assets/html-Kpl3bQKd.js +1 -0
- package/ui-dist/assets/html-derivative-BEEWNZ8Y.js +1 -0
- package/ui-dist/assets/html-derivative-CWPAmHEG.js +1 -0
- package/ui-dist/assets/html-x4KE3xEi.js +1 -0
- package/ui-dist/assets/http-CTnm0cit.js +1 -0
- package/ui-dist/assets/http-HvMG3K54.js +1 -0
- package/ui-dist/assets/hurl-CLh1t2ES.js +1 -0
- package/ui-dist/assets/hurl-CpwzV4SP.js +1 -0
- package/ui-dist/assets/hxml-B0Qn7Nwc.js +1 -0
- package/ui-dist/assets/hxml-B_tSdhCX.js +1 -0
- package/ui-dist/assets/hy-CPusJT2P.js +1 -0
- package/ui-dist/assets/hy-CZbG8q4J.js +1 -0
- package/ui-dist/assets/imba-BNhPHnyc.js +1 -0
- package/ui-dist/assets/imba-DsUTQ-LC.js +1 -0
- package/ui-dist/assets/index-DmmH6oax.css +2 -0
- package/ui-dist/assets/index-j386AZTn.js +12 -0
- package/ui-dist/assets/info-J43DQDTF-DHht6dOt.js +1 -0
- package/ui-dist/assets/infoDiagram-5YYISTIA-Df4LhnuE.js +2 -0
- package/ui-dist/assets/ini-B5eOa1yu.js +1 -0
- package/ui-dist/assets/ini-BXoOzk1L.js +1 -0
- package/ui-dist/assets/init-D6jRqBbL.js +1 -0
- package/ui-dist/assets/input-D4O22yGt.js +1 -0
- package/ui-dist/assets/ishikawaDiagram-YF4QCWOH-B8KMc0In.js +70 -0
- package/ui-dist/assets/java-BIlOlX09.js +1 -0
- package/ui-dist/assets/java-Cst_eZTE.js +1 -0
- package/ui-dist/assets/javascript-DywGHrES.js +1 -0
- package/ui-dist/assets/javascript-i_rUTyCW.js +1 -0
- package/ui-dist/assets/jinja-CaXggA6f.js +1 -0
- package/ui-dist/assets/jinja-ISwn25cN.js +1 -0
- package/ui-dist/assets/jison-D9Fg2JgN.js +1 -0
- package/ui-dist/assets/jison-UUT3aynj.js +1 -0
- package/ui-dist/assets/journeyDiagram-JHISSGLW-Bpr7eOEv.js +139 -0
- package/ui-dist/assets/json-BbGuGINB.js +1 -0
- package/ui-dist/assets/json-DS5j4FfK.js +1 -0
- package/ui-dist/assets/json5-BR5RXkoi.js +1 -0
- package/ui-dist/assets/json5-BXepwZod.js +1 -0
- package/ui-dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/ui-dist/assets/jsonc-jqjqAbF7.js +1 -0
- package/ui-dist/assets/jsonl-CmCQp5Yx.js +1 -0
- package/ui-dist/assets/jsonl-sJJpusUR.js +1 -0
- package/ui-dist/assets/jsonnet-CJTPZ8u_.js +1 -0
- package/ui-dist/assets/jsonnet-DKGWD1zU.js +1 -0
- package/ui-dist/assets/jssm-D6JwwFbv.js +1 -0
- package/ui-dist/assets/jssm-DXw9l8Rf.js +1 -0
- package/ui-dist/assets/jsx-CFyhNHav.js +1 -0
- package/ui-dist/assets/jsx-NH_i07l1.js +1 -0
- package/ui-dist/assets/julia-BRnC1exM.js +1 -0
- package/ui-dist/assets/julia-R8NNmfP1.js +1 -0
- package/ui-dist/assets/just-BWbKChh7.js +1 -0
- package/ui-dist/assets/just-BhhHYlS8.js +1 -0
- package/ui-dist/assets/kanagawa-dragon-7TqgsUPC.js +1 -0
- package/ui-dist/assets/kanagawa-dragon-CXtmUGW6.js +1 -0
- package/ui-dist/assets/kanagawa-lotus-BN08jTvb.js +1 -0
- package/ui-dist/assets/kanagawa-lotus-CqxMQulh.js +1 -0
- package/ui-dist/assets/kanagawa-wave-CTweb8Dz.js +1 -0
- package/ui-dist/assets/kanagawa-wave-D8CNn6T_.js +1 -0
- package/ui-dist/assets/kanban-definition-UN3LZRKU-R8MXwX2D.js +89 -0
- package/ui-dist/assets/katex-U6Climy7.js +1 -0
- package/ui-dist/assets/kdl-CsD5j6eV.js +1 -0
- package/ui-dist/assets/kdl-HHaMlHFB.js +1 -0
- package/ui-dist/assets/key-round-D965pLEl.js +1 -0
- package/ui-dist/assets/kotlin-Bvjw1jyK.js +1 -0
- package/ui-dist/assets/kotlin-DhhofPvG.js +1 -0
- package/ui-dist/assets/kusto-BUv0MjJC.js +1 -0
- package/ui-dist/assets/kusto-C7mF5XQf.js +1 -0
- package/ui-dist/assets/label-CxX4-RmK.js +1 -0
- package/ui-dist/assets/laserwave-CQkdhozh.js +1 -0
- package/ui-dist/assets/laserwave-C_8bwKvT.js +1 -0
- package/ui-dist/assets/latex-D5k_uhWv.js +1 -0
- package/ui-dist/assets/latex-DoFV6f5B.js +1 -0
- package/ui-dist/assets/lean-B2IJXP9Y.js +1 -0
- package/ui-dist/assets/lean-CewbzKMR.js +1 -0
- package/ui-dist/assets/less-BGJv5CZz.js +1 -0
- package/ui-dist/assets/less-DVTAwKKz.js +1 -0
- package/ui-dist/assets/light-plus-CNQ8_7Y0.js +1 -0
- package/ui-dist/assets/light-plus-DVQuIRkW.js +1 -0
- package/ui-dist/assets/line-EyXPCaOi.js +1 -0
- package/ui-dist/assets/linear-BktLjFGX.js +1 -0
- package/ui-dist/assets/liquid-BGxpJKqJ.js +1 -0
- package/ui-dist/assets/liquid-Q0_hzjly.js +1 -0
- package/ui-dist/assets/llvm-Cm23YOpf.js +1 -0
- package/ui-dist/assets/llvm-DjdPfBRh.js +1 -0
- package/ui-dist/assets/log-BNLmms1o.js +1 -0
- package/ui-dist/assets/log-CS10erYd.js +1 -0
- package/ui-dist/assets/logo-Cluzi2Zq.js +1 -0
- package/ui-dist/assets/logo-CmXTaeCJ.js +1 -0
- package/ui-dist/assets/lua-SpZ12qGF.js +1 -0
- package/ui-dist/assets/lua-VoGSg0xb.js +1 -0
- package/ui-dist/assets/luau-CNKltnaQ.js +1 -0
- package/ui-dist/assets/luau-FMPmPwt6.js +1 -0
- package/ui-dist/assets/make--KyFtISL.js +1 -0
- package/ui-dist/assets/make-Dixweg8N.js +1 -0
- package/ui-dist/assets/markdown-BYOwaDjH.js +1 -0
- package/ui-dist/assets/markdown-Bk5jPFPK.js +1 -0
- package/ui-dist/assets/marko-D_aeUD__.js +1 -0
- package/ui-dist/assets/marko-E8KxKzjy.js +1 -0
- package/ui-dist/assets/material-theme-Bm3Qr25_.js +1 -0
- package/ui-dist/assets/material-theme-CAtLaHa3.js +1 -0
- package/ui-dist/assets/material-theme-darker-2IIEA8gg.js +1 -0
- package/ui-dist/assets/material-theme-darker-k-s5Bc6K.js +1 -0
- package/ui-dist/assets/material-theme-lighter-CD6a-c4d.js +1 -0
- package/ui-dist/assets/material-theme-lighter-uhdI0v04.js +1 -0
- package/ui-dist/assets/material-theme-ocean-B3mraInd.js +1 -0
- package/ui-dist/assets/material-theme-ocean-CHQ94UKr.js +1 -0
- package/ui-dist/assets/material-theme-palenight-B5W6OYN7.js +1 -0
- package/ui-dist/assets/material-theme-palenight-DEhAARHw.js +1 -0
- package/ui-dist/assets/matlab-CXouX2WE.js +1 -0
- package/ui-dist/assets/matlab-D7qyCx1q.js +1 -0
- package/ui-dist/assets/mdc-BSifqehP.js +1 -0
- package/ui-dist/assets/mdc-ytrN0-8H.js +1 -0
- package/ui-dist/assets/mdx-CT6rFF7S.js +1 -0
- package/ui-dist/assets/mdx-DQZ5AkYe.js +1 -0
- package/ui-dist/assets/mermaid-Bk4SNUv9.js +1 -0
- package/ui-dist/assets/mermaid-CTmv7XD1.js +1 -0
- package/ui-dist/assets/mermaid-GHXKKRXX-CDSYqrX3.js +1 -0
- package/ui-dist/assets/mermaid-parser.core-Bd2TX3li.js +4 -0
- package/ui-dist/assets/min-dark-BFqTAwCr.js +1 -0
- package/ui-dist/assets/min-dark-BSWPekZh.js +1 -0
- package/ui-dist/assets/min-light-DDpmG2fV.js +1 -0
- package/ui-dist/assets/min-light-O7UdaaxX.js +1 -0
- package/ui-dist/assets/mindmap-definition-RKZ34NQL-CCrZYYSm.js +96 -0
- package/ui-dist/assets/mipsasm-BMqwQI7S.js +1 -0
- package/ui-dist/assets/mipsasm-Dl8GaYxY.js +1 -0
- package/ui-dist/assets/mojo-BgCJLMeH.js +1 -0
- package/ui-dist/assets/mojo-hMZsLDIK.js +1 -0
- package/ui-dist/assets/monokai-C0p7Qecz.js +1 -0
- package/ui-dist/assets/monokai-CdkpiU2Y.js +1 -0
- package/ui-dist/assets/moonbit-BgUC1NvV.js +1 -0
- package/ui-dist/assets/moonbit-CaWjb8XO.js +1 -0
- package/ui-dist/assets/move-B1IS1UjX.js +1 -0
- package/ui-dist/assets/move-u3t7wi4x.js +1 -0
- package/ui-dist/assets/narrat-4tTAKi-J.js +1 -0
- package/ui-dist/assets/narrat-_X_XdTYD.js +1 -0
- package/ui-dist/assets/nextflow-BJtWHP5T.js +1 -0
- package/ui-dist/assets/nextflow-Bbiyy34d.js +1 -0
- package/ui-dist/assets/nextflow-groovy-DJMQeKeT.js +1 -0
- package/ui-dist/assets/nextflow-groovy-Dc_ddanL.js +1 -0
- package/ui-dist/assets/nginx-BNb4NZk1.js +1 -0
- package/ui-dist/assets/nginx-CgHaWcsO.js +1 -0
- package/ui-dist/assets/night-owl-BsnCLAKc.js +1 -0
- package/ui-dist/assets/night-owl-DhmEMT88.js +1 -0
- package/ui-dist/assets/night-owl-light-BODRhcTU.js +1 -0
- package/ui-dist/assets/night-owl-light-eJ-hLW7d.js +1 -0
- package/ui-dist/assets/nim-BuixXxPS.js +1 -0
- package/ui-dist/assets/nim-xKCzf2o0.js +1 -0
- package/ui-dist/assets/nix-DGXJ-lch.js +1 -0
- package/ui-dist/assets/nix-IvuFDN5E.js +1 -0
- package/ui-dist/assets/nord-Cb4Vim4T.js +1 -0
- package/ui-dist/assets/nord-Cd-F4txO.js +1 -0
- package/ui-dist/assets/nushell-9zntkpRZ.js +1 -0
- package/ui-dist/assets/nushell-DcLAeLz5.js +1 -0
- package/ui-dist/assets/objective-c-BfQime6S.js +1 -0
- package/ui-dist/assets/objective-c-D1A_Heim.js +1 -0
- package/ui-dist/assets/objective-cpp-BbSyPuOs.js +1 -0
- package/ui-dist/assets/objective-cpp-BsSzOQcm.js +1 -0
- package/ui-dist/assets/ocaml--fvLg7Jk.js +1 -0
- package/ui-dist/assets/ocaml-O90oeIOV.js +1 -0
- package/ui-dist/assets/odin-B1RWQWA5.js +1 -0
- package/ui-dist/assets/odin-B25GiMk5.js +1 -0
- package/ui-dist/assets/one-dark-pro-CLwyXe_n.js +1 -0
- package/ui-dist/assets/one-dark-pro-DUS_IGRK.js +1 -0
- package/ui-dist/assets/one-light-CVUd7yD5.js +1 -0
- package/ui-dist/assets/one-light-D7Lr4KcI.js +1 -0
- package/ui-dist/assets/openscad-BUDT5pXO.js +1 -0
- package/ui-dist/assets/openscad-Cc8OM7cV.js +1 -0
- package/ui-dist/assets/ordinal-hYBb2elL.js +1 -0
- package/ui-dist/assets/packet-YPE3B663-BsRm1dxS.js +1 -0
- package/ui-dist/assets/pascal-4ZHwLPI5.js +1 -0
- package/ui-dist/assets/pascal-DRxrTJXf.js +1 -0
- package/ui-dist/assets/path-BWPyau1x.js +1 -0
- package/ui-dist/assets/perl-BLMySlFJ.js +1 -0
- package/ui-dist/assets/perl-CAUsHq6V.js +1 -0
- package/ui-dist/assets/php-Cn4rjz2P.js +1 -0
- package/ui-dist/assets/php-Czf_fybR.js +1 -0
- package/ui-dist/assets/pie-LRSECV5Y-2jRO4jrF.js +1 -0
- package/ui-dist/assets/pieDiagram-4H26LBE5-O21uLYd7.js +30 -0
- package/ui-dist/assets/pkl-C3VTVe07.js +1 -0
- package/ui-dist/assets/pkl-ot-7Btpt.js +1 -0
- package/ui-dist/assets/plastic-CF8VZTnn.js +1 -0
- package/ui-dist/assets/plastic-DQwYfKfQ.js +1 -0
- package/ui-dist/assets/play-B4R5rXMZ.js +1 -0
- package/ui-dist/assets/plsql-DGHpHOYJ.js +1 -0
- package/ui-dist/assets/plsql-DKCJv1ec.js +1 -0
- package/ui-dist/assets/po-BiJDBrnU.js +1 -0
- package/ui-dist/assets/po-DLYw31Q8.js +1 -0
- package/ui-dist/assets/poimandres-BX2TyY6j.js +1 -0
- package/ui-dist/assets/poimandres-DRFjx7u4.js +1 -0
- package/ui-dist/assets/polar-C7UOKdEL.js +1 -0
- package/ui-dist/assets/polar-D_X-vjiJ.js +1 -0
- package/ui-dist/assets/postcss-BXeXVLqQ.js +1 -0
- package/ui-dist/assets/postcss-BunjpCQr.js +1 -0
- package/ui-dist/assets/powerquery-B6M5zXQ4.js +1 -0
- package/ui-dist/assets/powerquery-DNMTfnFr.js +1 -0
- package/ui-dist/assets/powershell-DqZlBT-v.js +1 -0
- package/ui-dist/assets/powershell-DshXNtvi.js +1 -0
- package/ui-dist/assets/prisma-BsRQq5mF.js +1 -0
- package/ui-dist/assets/prisma-VLinVlWN.js +1 -0
- package/ui-dist/assets/prolog-C--lwqXe.js +1 -0
- package/ui-dist/assets/prolog-iXnhIJG7.js +1 -0
- package/ui-dist/assets/proto-DB4EqR-F.js +1 -0
- package/ui-dist/assets/proto-DSd2dzpT.js +1 -0
- package/ui-dist/assets/pug-CsZglf8T.js +1 -0
- package/ui-dist/assets/pug-DD9HHTGS.js +1 -0
- package/ui-dist/assets/puppet-CDv2pdJW.js +1 -0
- package/ui-dist/assets/puppet-DDYKwRcl.js +1 -0
- package/ui-dist/assets/purescript-9MfHhQsQ.js +1 -0
- package/ui-dist/assets/purescript-C58zfXw7.js +1 -0
- package/ui-dist/assets/python-DkGugaUl.js +1 -0
- package/ui-dist/assets/python-gzcpVVnB.js +1 -0
- package/ui-dist/assets/qml-BPgOJK7U.js +1 -0
- package/ui-dist/assets/qml-DcW_sT3t.js +1 -0
- package/ui-dist/assets/qmldir-5WAoO9FS.js +1 -0
- package/ui-dist/assets/qmldir-DCQb3MpD.js +1 -0
- package/ui-dist/assets/qss-Fe1Jh2GI.js +1 -0
- package/ui-dist/assets/qss-iwYQbQ5a.js +1 -0
- package/ui-dist/assets/quadrantDiagram-W4KKPZXB-PFuRo2tu.js +7 -0
- package/ui-dist/assets/r-B1OEipip.js +1 -0
- package/ui-dist/assets/r-D2d3McyU.js +1 -0
- package/ui-dist/assets/racket-ByduP6X2.js +1 -0
- package/ui-dist/assets/racket-DcIDlBhZ.js +1 -0
- package/ui-dist/assets/radar-GUYGQ44K-DrLd9hhi.js +1 -0
- package/ui-dist/assets/raku-B3gFvitq.js +1 -0
- package/ui-dist/assets/raku-CsvfXYUb.js +1 -0
- package/ui-dist/assets/razor-30Cugjh2.js +1 -0
- package/ui-dist/assets/razor-oFpUW61Z.js +1 -0
- package/ui-dist/assets/react-dom-Bm-PY09n.js +1 -0
- package/ui-dist/assets/red-7ga_dcKu.js +1 -0
- package/ui-dist/assets/red-CJ3rzSJv.js +1 -0
- package/ui-dist/assets/reg-CRGYupPL.js +1 -0
- package/ui-dist/assets/reg-efiUL9qS.js +1 -0
- package/ui-dist/assets/regexp-Bu0flJgP.js +1 -0
- package/ui-dist/assets/regexp-zLCDTged.js +1 -0
- package/ui-dist/assets/rel-BFvj_u7U.js +1 -0
- package/ui-dist/assets/rel-BtDbiS_P.js +1 -0
- package/ui-dist/assets/requirementDiagram-4Y6WPE33-CsP61d0X.js +84 -0
- package/ui-dist/assets/riscv-CQLA6sFw.js +1 -0
- package/ui-dist/assets/riscv-Ckw8ddFX.js +1 -0
- package/ui-dist/assets/ron-UVnZQNEl.js +1 -0
- package/ui-dist/assets/ron-VUp2lXgN.js +1 -0
- package/ui-dist/assets/rose-pine-BthvhNj6.js +1 -0
- package/ui-dist/assets/rose-pine-dawn-DSuRaP6u.js +1 -0
- package/ui-dist/assets/rose-pine-dawn-Dg85fqjY.js +1 -0
- package/ui-dist/assets/rose-pine-moon-DdHjCvFQ.js +1 -0
- package/ui-dist/assets/rose-pine-moon-hon4tzzS.js +1 -0
- package/ui-dist/assets/rose-pine-rh6ipraJ.js +1 -0
- package/ui-dist/assets/rosmsg-CAekHB0j.js +1 -0
- package/ui-dist/assets/rosmsg-Dwq6pEKS.js +1 -0
- package/ui-dist/assets/rotate-cw-B1ZRM7VI.js +1 -0
- package/ui-dist/assets/rough.esm-CSKSodPl.js +1 -0
- package/ui-dist/assets/rst-BIOjc2k6.js +1 -0
- package/ui-dist/assets/rst-U6Eu7ipE.js +1 -0
- package/ui-dist/assets/ruby-BA7kcl5p.js +1 -0
- package/ui-dist/assets/ruby-CUQsVT6d.js +1 -0
- package/ui-dist/assets/rust-Cfkwpbl8.js +1 -0
- package/ui-dist/assets/rust-DfhhoMHs.js +1 -0
- package/ui-dist/assets/sankeyDiagram-5OEKKPKP-OXRKlXwh.js +40 -0
- package/ui-dist/assets/sas-BHVT2N5I.js +1 -0
- package/ui-dist/assets/sas-CNBFrLhc.js +1 -0
- package/ui-dist/assets/sass-DXrisJhu.js +1 -0
- package/ui-dist/assets/sass-DiF7DxUu.js +1 -0
- package/ui-dist/assets/scala-DKOlJaKm.js +1 -0
- package/ui-dist/assets/scala-F4M-xFqw.js +1 -0
- package/ui-dist/assets/scheme-DQCgrYNe.js +1 -0
- package/ui-dist/assets/scheme-yKF7wU_W.js +1 -0
- package/ui-dist/assets/scss-CPnU-uuv.js +1 -0
- package/ui-dist/assets/scss-DdIrFDxD.js +1 -0
- package/ui-dist/assets/sdbl-DzilZtvS.js +1 -0
- package/ui-dist/assets/sdbl-bTVj8UrX.js +1 -0
- package/ui-dist/assets/search-09Pme-NO.js +1 -0
- package/ui-dist/assets/select-CYgMxtlk.js +1 -0
- package/ui-dist/assets/sequenceDiagram-3UESZ5HK-CGKNazDP.js +162 -0
- package/ui-dist/assets/shaderlab-QzRPXpa3.js +1 -0
- package/ui-dist/assets/shaderlab-TOUzSsQk.js +1 -0
- package/ui-dist/assets/shellscript-BbTp1yjG.js +1 -0
- package/ui-dist/assets/shellscript-IH5A6LQB.js +1 -0
- package/ui-dist/assets/shellsession-BebtDBlY.js +1 -0
- package/ui-dist/assets/shellsession-BmAC8SMF.js +1 -0
- package/ui-dist/assets/slack-dark-DYvUXyrP.js +1 -0
- package/ui-dist/assets/slack-dark-DnToyrRv.js +1 -0
- package/ui-dist/assets/slack-ochin-B2OO5cIa.js +1 -0
- package/ui-dist/assets/slack-ochin-bqtMVDfH.js +1 -0
- package/ui-dist/assets/smalltalk-B16xEiuN.js +1 -0
- package/ui-dist/assets/smalltalk-Czn2qXp6.js +1 -0
- package/ui-dist/assets/snazzy-light-4G7pJPwS.js +1 -0
- package/ui-dist/assets/snazzy-light-D8dzFmq5.js +1 -0
- package/ui-dist/assets/solarized-dark-BQwPDzxK.js +1 -0
- package/ui-dist/assets/solarized-dark-DV17i1UV.js +1 -0
- package/ui-dist/assets/solarized-light-BLaijb3X.js +1 -0
- package/ui-dist/assets/solarized-light-DSh2HLQt.js +1 -0
- package/ui-dist/assets/solidity-BOOD8PsF.js +1 -0
- package/ui-dist/assets/solidity-CKzVLygQ.js +1 -0
- package/ui-dist/assets/soy-B5vCsGAN.js +1 -0
- package/ui-dist/assets/soy-CdbyEXp6.js +1 -0
- package/ui-dist/assets/sparql-BQ8pLLZr.js +1 -0
- package/ui-dist/assets/sparql-D_iOobhT.js +1 -0
- package/ui-dist/assets/splunk-BC2Px7Mm.js +1 -0
- package/ui-dist/assets/splunk-Dy5hSDrK.js +1 -0
- package/ui-dist/assets/sql-DCFvu5RM.js +1 -0
- package/ui-dist/assets/sql-hpBkusIy.js +1 -0
- package/ui-dist/assets/square-_9cV5Fet.js +1 -0
- package/ui-dist/assets/src-D-NMWEou.js +1 -0
- package/ui-dist/assets/ssh-config-BgfXC-Er.js +1 -0
- package/ui-dist/assets/ssh-config-DlA0k24P.js +1 -0
- package/ui-dist/assets/stata-DVbvk3qH.js +1 -0
- package/ui-dist/assets/stata-h02h04e7.js +1 -0
- package/ui-dist/assets/stateDiagram-AJRCARHV-BBiaMVYA.js +1 -0
- package/ui-dist/assets/stateDiagram-v2-BHNVJYJU-C_bLdSQ9.js +1 -0
- package/ui-dist/assets/stylus-B6D30XZt.js +1 -0
- package/ui-dist/assets/stylus-BrO8Mu5X.js +1 -0
- package/ui-dist/assets/surrealql-CiJ5GSG5.js +1 -0
- package/ui-dist/assets/surrealql-DxccxuMd.js +1 -0
- package/ui-dist/assets/svelte-CsxBlEum.js +1 -0
- package/ui-dist/assets/svelte-DzNm5V2w.js +1 -0
- package/ui-dist/assets/swift-DonLKvLd.js +1 -0
- package/ui-dist/assets/swift-aU1DoeFE.js +1 -0
- package/ui-dist/assets/synthwave-84-CIknw8y7.js +1 -0
- package/ui-dist/assets/synthwave-84-nFMaYfgc.js +1 -0
- package/ui-dist/assets/system-verilog-CTJOgDVF.js +1 -0
- package/ui-dist/assets/system-verilog-DJ5XKQeo.js +1 -0
- package/ui-dist/assets/systemd-BxMlprV5.js +1 -0
- package/ui-dist/assets/systemd-vW0EBnEZ.js +1 -0
- package/ui-dist/assets/tabs-DS9zR4V0.js +1 -0
- package/ui-dist/assets/talonscript-CohzipZa.js +1 -0
- package/ui-dist/assets/talonscript-DOWETJMR.js +1 -0
- package/ui-dist/assets/tasl-BCK2yre5.js +1 -0
- package/ui-dist/assets/tasl-DMoTqEGO.js +1 -0
- package/ui-dist/assets/tcl-CZd0xW_V.js +1 -0
- package/ui-dist/assets/tcl-DpJlRc9L.js +1 -0
- package/ui-dist/assets/templ-CsM0tTsw.js +1 -0
- package/ui-dist/assets/templ-DmkwoHql.js +1 -0
- package/ui-dist/assets/terraform-BOmekhaT.js +1 -0
- package/ui-dist/assets/terraform-DswuEJGm.js +1 -0
- package/ui-dist/assets/tex-B0f_hYr8.js +1 -0
- package/ui-dist/assets/tex-C3KbjgWU.js +1 -0
- package/ui-dist/assets/textarea-BkUbRqKD.js +1 -0
- package/ui-dist/assets/timeline-definition-PNZ67QCA-DCONMP8y.js +120 -0
- package/ui-dist/assets/tokyo-night-iIspnLcq.js +1 -0
- package/ui-dist/assets/tokyo-night-oM2G3aXe.js +1 -0
- package/ui-dist/assets/toml-CcmNWLt0.js +1 -0
- package/ui-dist/assets/toml-DPDNdnh9.js +1 -0
- package/ui-dist/assets/treeView-BLDUP644-DLNyeiHu.js +1 -0
- package/ui-dist/assets/treemap-LRROVOQU-Cdld0366.js +1 -0
- package/ui-dist/assets/ts-tags-Bf-FGGvT.js +1 -0
- package/ui-dist/assets/ts-tags-CTs7_HT0.js +1 -0
- package/ui-dist/assets/tsv-BCypI0LB.js +1 -0
- package/ui-dist/assets/tsv-sltzmVWM.js +1 -0
- package/ui-dist/assets/tsx-0GViXbh-.js +1 -0
- package/ui-dist/assets/tsx-DFvk7AwW.js +1 -0
- package/ui-dist/assets/turtle-ByJddavk.js +1 -0
- package/ui-dist/assets/turtle-CA3RhB-1.js +1 -0
- package/ui-dist/assets/twig-DgtEA5Er.js +1 -0
- package/ui-dist/assets/twig-VJ4-Ntm0.js +1 -0
- package/ui-dist/assets/typescript-C03X-V26.js +1 -0
- package/ui-dist/assets/typescript-DHTLvXzV.js +1 -0
- package/ui-dist/assets/typespec-B88KGewJ.js +1 -0
- package/ui-dist/assets/typespec-BRdr0IET.js +1 -0
- package/ui-dist/assets/typst-DI99ib-x.js +1 -0
- package/ui-dist/assets/typst-DR_hs4Gi.js +1 -0
- package/ui-dist/assets/useBaseUiId-dSIElxm7.js +1 -0
- package/ui-dist/assets/useButton-DKtiRcm8.js +1 -0
- package/ui-dist/assets/useCompositeListItem-BQ4RLkNZ.js +1 -0
- package/ui-dist/assets/useControlled-t2_qXo7Q.js +1 -0
- package/ui-dist/assets/useRegisterFieldControl-CbOBCC3j.js +1 -0
- package/ui-dist/assets/utils-BX1Diber.js +1 -0
- package/ui-dist/assets/v-ByGVE3cP.js +1 -0
- package/ui-dist/assets/v-DETTlOr0.js +1 -0
- package/ui-dist/assets/vala-DUFyzj-T.js +1 -0
- package/ui-dist/assets/vala-zf12oZj6.js +1 -0
- package/ui-dist/assets/vb-Djn5o6TS.js +1 -0
- package/ui-dist/assets/vb-DzJKgt2N.js +1 -0
- package/ui-dist/assets/vennDiagram-CIIHVFJN-C21GUpuw.js +34 -0
- package/ui-dist/assets/verilog-C0HRahXC.js +1 -0
- package/ui-dist/assets/verilog-CiiDBU1e.js +1 -0
- package/ui-dist/assets/vesper-D5bVUKB1.js +1 -0
- package/ui-dist/assets/vesper-DdrHHSXu.js +1 -0
- package/ui-dist/assets/vhdl-BroJfC0k.js +1 -0
- package/ui-dist/assets/vhdl-Dp1NtpV2.js +1 -0
- package/ui-dist/assets/viml-BLGuOzJC.js +1 -0
- package/ui-dist/assets/viml-DvXPmvsu.js +1 -0
- package/ui-dist/assets/vitesse-black-D082JcaE.js +1 -0
- package/ui-dist/assets/vitesse-black-fwtXNY1n.js +1 -0
- package/ui-dist/assets/vitesse-dark-BZCL-v6S.js +1 -0
- package/ui-dist/assets/vitesse-dark-z-nr_5O8.js +1 -0
- package/ui-dist/assets/vitesse-light-VbXTXTou.js +1 -0
- package/ui-dist/assets/vitesse-light-ojz42ZLy.js +1 -0
- package/ui-dist/assets/vue-CUpaeZ-j.js +1 -0
- package/ui-dist/assets/vue-D3dSYZKz.js +1 -0
- package/ui-dist/assets/vue-html-DQch_7VQ.js +1 -0
- package/ui-dist/assets/vue-html-n-yWadYX.js +1 -0
- package/ui-dist/assets/vue-vine-B67Dz05t.js +1 -0
- package/ui-dist/assets/vue-vine-BCPDker4.js +1 -0
- package/ui-dist/assets/vyper-CgoNMtux.js +1 -0
- package/ui-dist/assets/vyper-DyY9EjYM.js +1 -0
- package/ui-dist/assets/wardley-L42UT6IY-PuTi7B-8.js +1 -0
- package/ui-dist/assets/wardleyDiagram-YWT4CUSO-BwV-yZO0.js +78 -0
- package/ui-dist/assets/wasm-BJZAGh5c.js +1 -0
- package/ui-dist/assets/wasm-BnjxR4X6.js +1 -0
- package/ui-dist/assets/wasm-ByWQv1Qj.js +1 -0
- package/ui-dist/assets/wasm-DpeUkDXq.js +1 -0
- package/ui-dist/assets/wenyan-C8pVoKbM.js +1 -0
- package/ui-dist/assets/wenyan-kGy6j2rl.js +1 -0
- package/ui-dist/assets/wgsl-BsKzXJz4.js +1 -0
- package/ui-dist/assets/wgsl-CLosOKVB.js +1 -0
- package/ui-dist/assets/wikitext-B00H4D6m.js +1 -0
- package/ui-dist/assets/wikitext-ClFFjSW2.js +1 -0
- package/ui-dist/assets/wit-DdvCle-K.js +1 -0
- package/ui-dist/assets/wit-Ib9mjOBG.js +1 -0
- package/ui-dist/assets/wolfram-DLL8P-h_.js +1 -0
- package/ui-dist/assets/wolfram-ofSK-Pwc.js +1 -0
- package/ui-dist/assets/xml-C33zriiW.js +1 -0
- package/ui-dist/assets/xml-DI0syHFL.js +1 -0
- package/ui-dist/assets/xsl-BFS2wyMt.js +1 -0
- package/ui-dist/assets/xsl-C2_ECGp9.js +1 -0
- package/ui-dist/assets/xychartDiagram-2RQKCTM6-D-bOqUpK.js +7 -0
- package/ui-dist/assets/yaml-DtN9Ue11.js +1 -0
- package/ui-dist/assets/yaml-w0rMsuN4.js +1 -0
- package/ui-dist/assets/zenscript-BnlCZFoB.js +1 -0
- package/ui-dist/assets/zenscript-WrGCG97x.js +1 -0
- package/ui-dist/assets/zig-CMLA9XwU.js +1 -0
- package/ui-dist/assets/zig-apmbPCW-.js +1 -0
- package/ui-dist/favicon.svg +9 -0
- package/ui-dist/index.html +19 -0
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "junhost",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Jun — a self-hosted dashboard that runs and supervises Codex as a 24/7 local/VPS agent: chat runs, workspace files, remote browser, skills, MCP, schedules.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"jun": "bin/jun.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"bin",
|
|
11
|
+
"dist",
|
|
12
|
+
"ui-dist",
|
|
13
|
+
"README.md"
|
|
14
|
+
],
|
|
15
|
+
"engines": {
|
|
16
|
+
"bun": ">=1.2.0"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"codex",
|
|
20
|
+
"agent",
|
|
21
|
+
"ai",
|
|
22
|
+
"dashboard",
|
|
23
|
+
"self-hosted",
|
|
24
|
+
"browser-automation",
|
|
25
|
+
"mcp"
|
|
26
|
+
],
|
|
27
|
+
"license": "UNLICENSED",
|
|
28
|
+
"scripts": {
|
|
29
|
+
"dev": "bun --hot src/index.ts",
|
|
30
|
+
"start": "bun src/index.ts",
|
|
31
|
+
"build": "bun build src/index.ts src/mcp-server.ts --target=bun --minify --outdir=dist",
|
|
32
|
+
"typecheck": "bunx tsc --noEmit"
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"agent-browser": "^0.27.1",
|
|
36
|
+
"cloakbrowser": "^0.3.31"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@junhost/shared": "0.0.1",
|
|
40
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
41
|
+
"@types/bun": "^1.2.0",
|
|
42
|
+
"smol-toml": "^1.6.1",
|
|
43
|
+
"typescript": "^5.6.3",
|
|
44
|
+
"zod": "3"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t,r as n}from"./bundle-mjs-DssaXR6m.js";import{I as r,L as i,V as a,t as o}from"./utils-BX1Diber.js";import{x as s}from"./useBaseUiId-dSIElxm7.js";import{t as c}from"./play-B4R5rXMZ.js";import{t as l}from"./rotate-cw-B1ZRM7VI.js";import{t as u}from"./square-_9cV5Fet.js";import{Yt as d,t as f}from"./index-j386AZTn.js";import{t as p}from"./button-Cg-0y2B2.js";import{t as m}from"./input-D4O22yGt.js";var h=s(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),ee=s(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),g=s(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),_=s(`camera`,[[`path`,{d:`M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z`,key:`18u6gg`}],[`circle`,{cx:`12`,cy:`13`,r:`3`,key:`1vg3eu`}]]),v=s(`mouse-pointer`,[[`path`,{d:`M12.586 12.586 19 19`,key:`ea5xo7`}],[`path`,{d:`M3.688 3.037a.497.497 0 0 0-.651.651l6.5 15.999a.501.501 0 0 0 .947-.062l1.569-6.083a2 2 0 0 1 1.448-1.479l6.124-1.579a.5.5 0 0 0 .063-.947z`,key:`277e5u`}]]),y=s(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),b=e(t(),1),x=n(),S={width:1280,height:720},C=[{value:`agent`,label:`Agent`,icon:g},{value:`user`,label:`You`,icon:v},{value:`paused`,label:`Paused`,icon:y}];function w(e){return!!e.altKey|(e.ctrlKey?2:0)|(e.metaKey?4:0)|(e.shiftKey?8:0)}var T=[`left`,`middle`,`right`];function E(){let[e,t]=(0,b.useState)(null),[n,s]=(0,b.useState)([]),[g,y]=(0,b.useState)(``),[E,D]=(0,b.useState)(null),[O,te]=(0,b.useState)(null),[k,A]=(0,b.useState)(!1),[j,M]=(0,b.useState)(null),N=(0,b.useRef)(null),P=(0,b.useRef)(null),F=(0,b.useRef)(null),I=(0,b.useRef)(null),L=(0,b.useCallback)(()=>{let e=I.current;if(!e)return;let t=S.width/S.height,n=e.clientWidth,r=e.clientHeight;if(n===0||r===0)return;let i=n,a=n/t;a>r&&(a=r,i=r*t);let o={w:Math.floor(i),h:Math.floor(a)};te(e=>e?.w===o.w&&e?.h===o.h?e:o)},[]);(0,b.useEffect)(()=>{L();let e=new ResizeObserver(L);return I.current&&e.observe(I.current),()=>e.disconnect()},[L]);let R=(0,b.useRef)(!1),z=(0,b.useRef)(0),B=e?.streaming??!1,V=e?.running??!1,H=e?.controller??`agent`,U=H===`user`,W=(0,b.useCallback)(async()=>{try{let[{status:e},{actions:n}]=await Promise.all([r(`/api/browser/status`),r(`/api/browser/actions`)]);t(e),s(n),!R.current&&e.url&&e.url!==`about:blank`&&y(e.url),M(null)}catch(e){M(e instanceof Error?e.message:String(e))}},[]);f(W,5e3),(0,b.useEffect)(()=>{U&&F.current?.focus()},[U]),(0,b.useEffect)(()=>{if(!B){D(null);return}let e=!1,t=null,n=0,r=()=>{let i=a(`/api/browser/stream`);N.current=i,i.onmessage=e=>{try{let t=JSON.parse(String(e.data));t.type===`frame`&&t.data&&(n=0,D(`data:image/jpeg;base64,${t.data}`))}catch{}},i.onclose=()=>{if(N.current===i&&(N.current=null),e)return;let a=Math.min(1e3*2**n,1e4);n+=1,t=setTimeout(r,a)}};return r(),()=>{e=!0,t&&clearTimeout(t),N.current?.close(),N.current=null}},[B]);let G=(0,b.useCallback)(async e=>{A(!0),M(null);try{await e(),await W()}catch(e){M(e instanceof Error?e.message:String(e))}finally{A(!1)}},[W]),K=()=>G(()=>i(`/api/browser/start`,{url:g.trim()||void 0})),q=()=>G(()=>i(`/api/browser/stop`)),J=()=>{let e=g.trim();if(!e)return;let t=/^[a-z]+:\/\//i.test(e)?e:`https://${e}`;return G(()=>i(`/api/browser/navigate`,{url:t}))},Y=e=>G(()=>i(`/api/browser/${e}`)),ne=()=>G(()=>i(`/api/browser/screenshot`)),X=e=>G(()=>i(`/api/browser/control`,{controller:e})),Z=e=>{let t=N.current;t&&t.readyState===WebSocket.OPEN&&t.send(JSON.stringify(e))},re=e=>{let t=P.current;if(!t)return null;let n=t.getBoundingClientRect();return n.width===0||n.height===0?null:{x:Math.round((e.clientX-n.left)/n.width*S.width),y:Math.round((e.clientY-n.top)/n.height*S.height)}},Q=(e,t,n={})=>{if(!U)return;let r=re(e);r&&(e.preventDefault(),Z({type:`input_mouse`,eventType:t,...r,button:T[e.button]??`left`,clickCount:e.detail||1,modifiers:w(e),...n}))},ie=e=>{let t=performance.now();t-z.current<33||(z.current=t,Q(e,`mouseMoved`))},ae=e=>{let t=e.ctrlKey||e.metaKey||e.altKey;if(e.key.length===1&&!t)return null;let n=[];return e.ctrlKey&&n.push(`Control`),e.shiftKey&&n.push(`Shift`),e.altKey&&n.push(`Alt`),e.metaKey&&n.push(`Meta`),n.push(e.key===` `?`Space`:e.key),n.join(`+`)},$=(e,t)=>{if(!U)return;e.preventDefault();let n=ae(e);if(n){t===`keyDown`&&i(`/api/browser/key`,{key:n}).catch(()=>{});return}Z({type:`input_keyboard`,eventType:t,key:e.key,code:e.code,text:t===`keyDown`?e.key:void 0,modifiers:w(e)})};return(0,x.jsxs)(`div`,{className:`flex h-full min-h-0`,children:[(0,x.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-3 p-4`,children:[(0,x.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,x.jsx)(p,{size:`icon-sm`,variant:`outline`,disabled:!V||k,onClick:()=>Y(`back`),children:(0,x.jsx)(h,{})}),(0,x.jsx)(p,{size:`icon-sm`,variant:`outline`,disabled:!V||k,onClick:()=>Y(`forward`),children:(0,x.jsx)(ee,{})}),(0,x.jsx)(p,{size:`icon-sm`,variant:`outline`,disabled:!V||k,onClick:()=>Y(`reload`),children:(0,x.jsx)(l,{})})]}),(0,x.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2`,children:[(0,x.jsx)(m,{placeholder:`https://example.com`,value:g,onChange:e=>y(e.target.value),onFocus:()=>R.current=!0,onBlur:()=>R.current=!1,onKeyDown:e=>{e.key===`Enter`&&(V?J:K)()}}),(0,x.jsx)(p,{size:`sm`,variant:`outline`,disabled:k||g.trim().length===0,onClick:()=>V?J():K(),children:`Go`})]}),(0,x.jsx)(p,{size:`icon-sm`,variant:`outline`,disabled:!V||k,onClick:ne,title:`Screenshot → workspace/screenshots`,children:(0,x.jsx)(_,{})}),(0,x.jsx)(`div`,{className:`flex items-center rounded-md border p-0.5`,children:C.map(({value:e,label:t,icon:n})=>(0,x.jsxs)(p,{size:`sm`,variant:H===e?`secondary`:`ghost`,className:`h-7 gap-1.5 px-2`,disabled:k,onClick:()=>X(e),children:[(0,x.jsx)(n,{className:`size-3.5`}),t]},e))}),V?(0,x.jsxs)(p,{size:`sm`,variant:`outline`,className:`text-destructive hover:text-destructive`,disabled:k,onClick:q,children:[(0,x.jsx)(u,{className:`size-3.5`}),` Stop`]}):(0,x.jsxs)(p,{size:`sm`,disabled:k,onClick:K,children:[(0,x.jsx)(c,{className:`size-3.5`}),` Start`]})]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,x.jsx)(`span`,{className:o(`inline-block size-2 rounded-full`,V?`bg-emerald-500`:`bg-neutral-300`)}),V?e?.title||e?.url||`Browser running`:`Browser stopped`,U&&V&&(0,x.jsx)(`span`,{className:`rounded bg-primary/10 px-1.5 py-0.5 font-medium text-primary`,children:`You have control — click the page and type`})]}),j&&(0,x.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:j}),(0,x.jsx)(`div`,{ref:I,className:`flex min-h-0 flex-1 items-center justify-center`,children:(0,x.jsxs)(`div`,{ref:F,style:O?{width:O.w,height:O.h}:void 0,className:o(`group relative flex items-center justify-center overflow-hidden rounded-lg border bg-neutral-950/95 outline-none`,U&&`ring-2 ring-primary/60`),tabIndex:0,onMouseDown:()=>{U&&F.current?.focus()},onKeyDown:e=>$(e,`keyDown`),onKeyUp:e=>$(e,`keyUp`),children:[E?(0,x.jsx)(`img`,{ref:P,src:E,alt:`Browser viewport`,draggable:!1,className:o(`h-full w-full select-none object-contain`,U?`cursor-crosshair`:`cursor-default`),onMouseDown:e=>Q(e,`mousePressed`),onMouseUp:e=>Q(e,`mouseReleased`),onMouseMove:ie,onContextMenu:e=>U&&e.preventDefault(),onWheel:e=>Q(e,`mouseWheel`,{deltaX:e.deltaX,deltaY:e.deltaY})}):(0,x.jsxs)(`div`,{className:`flex flex-col items-center gap-2 text-sm text-neutral-400`,children:[(0,x.jsx)(d,{className:`size-8`}),V?`Waiting for viewport frames…`:`Start the browser to see the live viewport.`]}),!U&&E&&(0,x.jsx)(`div`,{className:`absolute inset-0 flex items-end justify-center pb-4 opacity-0 transition-opacity group-hover:opacity-100`,children:(0,x.jsxs)(p,{size:`sm`,className:`shadow-lg`,onClick:()=>X(`user`),children:[(0,x.jsx)(v,{className:`size-3.5`}),` Take control`]})})]})})]}),(0,x.jsxs)(`aside`,{className:`flex w-72 shrink-0 flex-col border-l`,children:[(0,x.jsx)(`div`,{className:`border-b px-3 py-2 text-sm font-semibold`,children:`Action log`}),(0,x.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-1 overflow-auto p-2`,children:[n.map(e=>(0,x.jsxs)(`div`,{className:`rounded-md px-2 py-1.5 text-xs hover:bg-muted/60`,children:[(0,x.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,x.jsx)(`span`,{className:`font-medium`,children:e.kind}),(0,x.jsx)(`span`,{className:`text-muted-foreground`,children:new Date(e.ts).toLocaleTimeString()})]}),e.detail&&(0,x.jsx)(`div`,{className:`truncate text-muted-foreground`,title:e.detail,children:e.detail})]},e.id)),n.length===0&&(0,x.jsx)(`p`,{className:`px-2 py-4 text-xs text-muted-foreground`,children:`No actions yet. Start the browser or navigate somewhere.`})]})]})]})}export{E as BrowserPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t,r as n}from"./bundle-mjs-DssaXR6m.js";import{I as r,t as i}from"./utils-BX1Diber.js";import{tn as a}from"./index-j386AZTn.js";import{t as o}from"./button-Cg-0y2B2.js";import{t as s}from"./badge-DjyNiZCE.js";var c=e(t(),1),l=n();function u({className:e,size:t=`default`,...n}){return(0,l.jsx)(`div`,{"data-slot":`card`,"data-size":t,className:i(`group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,e),...n})}function d({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`card-header`,className:i(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,e),...t})}function f({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`card-title`,className:i(`text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,e),...t})}function p({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`card-description`,className:i(`text-sm text-muted-foreground`,e),...t})}function m({className:e,...t}){return(0,l.jsx)(`div`,{"data-slot":`card-content`,className:i(`px-4 group-data-[size=sm]/card:px-3`,e),...t})}function h(){let[e,t]=(0,c.useState)(null),[n,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{r(`/api/status`).then(t).catch(()=>{}),r(`/api/runs`).then(({runs:e})=>i(e.filter(e=>[`queued`,`starting`,`running`,`waiting_approval`].includes(e.status)).length)).catch(()=>{})},[]),(0,l.jsxs)(`div`,{className:`page`,children:[(0,l.jsx)(`h1`,{children:`Dashboard`}),(0,l.jsxs)(`div`,{className:`grid gap-4 md:grid-cols-2 xl:grid-cols-3`,children:[(0,l.jsxs)(u,{children:[(0,l.jsxs)(d,{children:[(0,l.jsxs)(f,{className:`flex items-center justify-between`,children:[`Daemon`,(0,l.jsx)(s,{variant:e?`default`:`destructive`,children:e?`online`:`offline`})]}),(0,l.jsx)(p,{children:`Local Jun control plane`})]}),(0,l.jsx)(m,{className:`text-sm text-muted-foreground`,children:e?(0,l.jsxs)(`p`,{className:`truncate`,title:e.workspaceRoot,children:[`project `,(0,l.jsx)(`span`,{className:`text-foreground`,children:e.projectId}),` · up `,e.uptimeSeconds,`s`]}):(0,l.jsx)(`p`,{children:`Waiting for daemon…`})})]}),(0,l.jsxs)(u,{children:[(0,l.jsxs)(d,{children:[(0,l.jsxs)(f,{className:`flex items-center justify-between`,children:[`Codex runs`,n!==null&&(0,l.jsxs)(s,{variant:n>0?`default`:`secondary`,children:[n,` active`]})]}),(0,l.jsx)(p,{children:`Agent activity in this workspace`})]}),(0,l.jsx)(m,{children:(0,l.jsx)(o,{size:`sm`,render:(0,l.jsx)(a,{to:`/runs`}),children:`Open Runs`})})]}),(0,l.jsxs)(u,{children:[(0,l.jsxs)(d,{children:[(0,l.jsx)(f,{children:`Dynamic widgets`}),(0,l.jsx)(p,{children:`JSON Render widgets arrive in Phase 7 — this grid is their home.`})]}),(0,l.jsx)(m,{children:(0,l.jsx)(o,{variant:`secondary`,size:`sm`,render:(0,l.jsx)(a,{to:`/files`}),children:`Browse workspace`})})]})]})]})}export{h as DashboardPage};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t,r as n}from"./bundle-mjs-DssaXR6m.js";import{B as r,H as i,I as a,L as o,V as s,t as c,z as l}from"./utils-BX1Diber.js";import{x as u}from"./useBaseUiId-dSIElxm7.js";import{i as d,n as f,r as p,t as m}from"./collapsible-BdLJt-lG.js";import{Xt as h,en as ee}from"./index-j386AZTn.js";var g=u(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),_=u(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),v=e(t(),1),y=n(),b=(0,v.createContext)({expandedPaths:new Set,togglePath:()=>{}}),x=({expanded:e,defaultExpanded:t=new Set,selectedPath:n,onSelect:r,onExpandedChange:i,className:a,children:o,...s})=>{let[l,u]=(0,v.useState)(t),d=e??l,f=(0,v.useCallback)(e=>{let t=new Set(d);t.has(e)?t.delete(e):t.add(e),u(t),i?.(t)},[d,i]),p=(0,v.useMemo)(()=>({expandedPaths:d,onSelect:r,selectedPath:n,togglePath:f}),[d,r,n,f]);return(0,y.jsx)(b.Provider,{value:p,children:(0,y.jsx)(`div`,{className:c(`rounded-lg border bg-background font-mono text-sm`,a),role:`tree`,...s,children:(0,y.jsx)(`div`,{className:`p-2`,children:o})})})},S=({className:e,children:t,...n})=>(0,y.jsx)(`span`,{className:c(`shrink-0`,e),...n,children:t}),C=({className:e,children:t,...n})=>(0,y.jsx)(`span`,{className:c(`truncate`,e),...n,children:t}),w=(0,v.createContext)({isExpanded:!1,name:``,path:``}),T=({path:e,name:t,className:n,children:r,...i})=>{let{expandedPaths:a,togglePath:o,selectedPath:s,onSelect:l}=(0,v.useContext)(b),u=a.has(e),ee=s===e,g=(0,v.useCallback)(()=>{o(e)},[o,e]),x=(0,v.useCallback)(()=>{l?.(e)},[l,e]),T=(0,v.useMemo)(()=>({isExpanded:u,name:t,path:e}),[u,t,e]);return(0,y.jsx)(w.Provider,{value:T,children:(0,y.jsx)(m,{onOpenChange:g,open:u,children:(0,y.jsxs)(`div`,{className:c(``,n),role:`treeitem`,tabIndex:0,...i,children:[(0,y.jsxs)(`div`,{className:c(`flex w-full items-center gap-1 rounded px-2 py-1 text-left transition-colors hover:bg-muted/50`,ee&&`bg-muted`),children:[(0,y.jsx)(p,{className:`flex shrink-0 cursor-pointer items-center border-none bg-transparent p-0`,children:(0,y.jsx)(d,{className:c(`size-4 shrink-0 text-muted-foreground transition-transform`,u&&`rotate-90`)})}),(0,y.jsxs)(`button`,{className:`flex min-w-0 flex-1 cursor-pointer items-center gap-1 border-none bg-transparent p-0 text-left`,onClick:x,type:`button`,children:[(0,y.jsx)(S,{children:u?(0,y.jsx)(h,{className:`size-4`}):(0,y.jsx)(_,{className:`size-4`})}),(0,y.jsx)(C,{children:t})]})]}),(0,y.jsx)(f,{children:(0,y.jsx)(`div`,{className:`ml-4 border-l pl-2`,children:r})})]})})})},E=(0,v.createContext)({name:``,path:``}),D=({path:e,name:t,icon:n,className:r,children:i,...a})=>{let{selectedPath:o,onSelect:s}=(0,v.useContext)(b),l=o===e,u=(0,v.useCallback)(()=>{s?.(e)},[s,e]),d=(0,v.useCallback)(t=>{(t.key===`Enter`||t.key===` `)&&s?.(e)},[s,e]),f=(0,v.useMemo)(()=>({name:t,path:e}),[t,e]);return(0,y.jsx)(E.Provider,{value:f,children:(0,y.jsx)(`div`,{className:c(`flex cursor-pointer items-center gap-1 rounded px-2 py-1 transition-colors hover:bg-muted/50`,l&&`bg-muted`,r),onClick:u,onKeyDown:d,role:`treeitem`,tabIndex:0,...a,children:i??(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`span`,{className:`size-4 shrink-0`}),(0,y.jsx)(S,{children:n??(0,y.jsx)(g,{className:`size-4 text-muted-foreground`})}),(0,y.jsx)(C,{children:t})]})})})};function te({root:e,selectedPath:t,expanded:n,onSelect:r,onToggle:i}){let a=new Map;return ne(e,a),(0,y.jsx)(x,{className:`ai-file-tree`,expanded:n,selectedPath:t??void 0,onExpandedChange:e=>{let t=re(n,e);t&&i(t)},onSelect:e=>{let t=a.get(e);t&&r(t)},children:(e.children??[]).map(e=>(0,y.jsx)(O,{node:e},e.path))})}function O({node:e}){return e.type===`dir`?(0,y.jsx)(T,{name:e.name,path:e.path,children:(e.children??[]).map(e=>(0,y.jsx)(O,{node:e},e.path))}):(0,y.jsx)(D,{name:e.name,path:e.path})}function ne(e,t){t.set(e.path,e);for(let n of e.children??[])ne(n,t)}function re(e,t){for(let n of t)if(!e.has(n))return n;for(let n of e)if(!t.has(n))return n;return null}function k(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A=k();function ie(e){A=e}var j={exec:()=>null};function M(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),i=t[r];return i||(i=e(r),t[r]=i),i}}function N(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(P.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var ae=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),P={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:M(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:M(e=>RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:M(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:M(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:M(e=>RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,`i`)),blockquoteBeginRegex:M(e=>RegExp(`^ {0,${e}}>`))},oe=/^(?:[ \t]*(?:\n|$))+/,se=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,ce=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,F=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,le=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,ue=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,de=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,fe=N(de).replace(/bull/g,ue).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),pe=N(de).replace(/bull/g,ue).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),me=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,he=/^[^\n]+/,I=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,ge=N(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,I).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),_e=N(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,ue).getRegex(),L=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,R=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,ve=N(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,R).replace(`tag`,L).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ye=N(me).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,L).getRegex(),z={blockquote:N(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,ye).getRegex(),code:se,def:ge,fences:ce,heading:le,hr:F,html:ve,lheading:fe,list:_e,newline:oe,paragraph:ye,table:j,text:he},be=N(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,L).getRegex(),xe={...z,lheading:pe,table:be,paragraph:N(me).replace(`hr`,F).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,be).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,L).getRegex()},Se={...z,html:N(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,R).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:j,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:N(me).replace(`hr`,F).replace(`heading`,` *#{1,6} *[^
|
|
2
|
+
]`).replace(`lheading`,fe).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Ce=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,we=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Te=/^( {2,}|\\)\n(?!\s*$)/,Ee=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,B=/[\p{P}\p{S}]/u,V=/[\s\p{P}\p{S}]/u,De=/[^\s\p{P}\p{S}]/u,Oe=N(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,V).getRegex(),ke=/(?!~)[\p{P}\p{S}]/u,Ae=/(?!~)[\s\p{P}\p{S}]/u,je=/(?:[^\s\p{P}\p{S}]|~)/u,Me=N(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,ae?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),Ne=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Pe=N(Ne,`u`).replace(/punct/g,B).getRegex(),Fe=N(Ne,`u`).replace(/punct/g,ke).getRegex(),Ie=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,Le=N(Ie,`gu`).replace(/notPunctSpace/g,De).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),Re=N(Ie,`gu`).replace(/notPunctSpace/g,je).replace(/punctSpace/g,Ae).replace(/punct/g,ke).getRegex(),ze=N(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,De).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),Be=N(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,B).getRegex(),Ve=N(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,De).replace(/punctSpace/g,V).replace(/punct/g,B).getRegex(),He=N(/\\(punct)/,`gu`).replace(/punct/g,B).getRegex(),Ue=N(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),We=N(R).replace(`(?:-->|$)`,`-->`).getRegex(),Ge=N(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,We).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),H=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,Ke=N(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,H).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),qe=N(/^!?\[(label)\]\[(ref)\]/).replace(`label`,H).replace(`ref`,I).getRegex(),Je=N(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,I).getRegex(),Ye=N(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,qe).replace(`nolink`,Je).getRegex(),Xe=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ze={_backpedal:j,anyPunctuation:He,autolink:Ue,blockSkip:Me,br:Te,code:we,del:j,delLDelim:j,delRDelim:j,emStrongLDelim:Pe,emStrongRDelimAst:Le,emStrongRDelimUnd:ze,escape:Ce,link:Ke,nolink:Je,punctuation:Oe,reflink:qe,reflinkSearch:Ye,tag:Ge,text:Ee,url:j},Qe={...Ze,link:N(/^!?\[(label)\]\((.*?)\)/).replace(`label`,H).getRegex(),reflink:N(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,H).getRegex()},$e={...Ze,emStrongRDelimAst:Re,emStrongLDelim:Fe,delLDelim:Be,delRDelim:Ve,url:N(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Xe).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:N(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Xe).getRegex()},et={...$e,br:N(Te).replace(`{2,}`,`*`).getRegex(),text:N($e.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},U={normal:z,gfm:xe,pedantic:Se},W={normal:Ze,gfm:$e,breaks:et,pedantic:Qe},tt={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},nt=e=>tt[e];function G(e,t){if(t){if(P.escapeTest.test(e))return e.replace(P.escapeReplace,nt)}else if(P.escapeTestNoEncode.test(e))return e.replace(P.escapeReplaceNoEncode,nt);return e}function rt(e){try{e=encodeURI(e).replace(P.percentDecode,`%`)}catch{return null}return e}function it(e,t){let n=e.replace(P.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(P.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(P.slashPipe,`|`);return n}function K(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function at(e){let t=e.split(`
|
|
3
|
+
`),n=t.length-1;for(;n>=0&&P.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
4
|
+
`)}function ot(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function st(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function ct(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function lt(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
5
|
+
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
6
|
+
`)}var q=class{options;rules;lexer;constructor(e){this.options=e||A}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:at(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=lt(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=K(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:K(t[0],`
|
|
7
|
+
`),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:K(t[0],`
|
|
8
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=K(t[0],`
|
|
9
|
+
`).split(`
|
|
10
|
+
`),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
|
|
11
|
+
`),c=s.replace(this.rules.other.blockquoteSetextReplace,`
|
|
12
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
|
|
13
|
+
${s}`:s,r=r?`${r}
|
|
14
|
+
${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=t.raw+`
|
|
15
|
+
`+e.join(`
|
|
16
|
+
`),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
|
|
17
|
+
`+e.join(`
|
|
18
|
+
`),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
|
|
19
|
+
`);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=st(t[2].split(`
|
|
20
|
+
`,1)[0],t[1].length),l=e.split(`
|
|
21
|
+
`,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
|
|
22
|
+
`,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let p=e.split(`
|
|
23
|
+
`,1)[0],m;if(l=p,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),m=l):m=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(m.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
|
|
24
|
+
`+m.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
|
|
25
|
+
`+l}u=!l.trim(),r+=p+`
|
|
26
|
+
`,e=e.substring(p.length+1),c=m.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1;if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=at(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:K(t[0],`
|
|
27
|
+
`),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=it(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
|
|
28
|
+
`):[],a={type:`table`,raw:K(t[0],`
|
|
29
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(it(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:K(t[0],`
|
|
30
|
+
`),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
|
|
31
|
+
`?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=K(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=ot(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),ct(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return ct(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},J=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A,this.options.tokenizer=this.options.tokenizer||new q,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:P,block:U.normal,inline:W.normal};this.options.pedantic?(t.block=U.pedantic,t.inline=W.pedantic):this.options.gfm&&(t.block=U.gfm,this.options.breaks?t.inline=W.breaks:t.inline=W.gfm),this.tokenizer.rules=t}static get rules(){return{block:U,inline:W}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(P.carriageReturn,`
|
|
32
|
+
`),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(P.tabCharGlobal,` `).replace(P.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
|
|
33
|
+
`:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
34
|
+
`)?``:`
|
|
35
|
+
`)+i.raw,n.text+=`
|
|
36
|
+
`+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
37
|
+
`)?``:`
|
|
38
|
+
`)+i.raw,n.text+=`
|
|
39
|
+
`+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(`
|
|
40
|
+
`)?``:`
|
|
41
|
+
`)+i.raw,r.text+=`
|
|
42
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
|
|
43
|
+
`)?``:`
|
|
44
|
+
`)+i.raw,n.text+=`
|
|
45
|
+
`+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},Y=class{options;parser;constructor(e){this.options=e||A}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(P.notSpaceStart)?.[0],i=e.replace(P.endingNewline,``)+`
|
|
46
|
+
`;return r?`<pre><code class="language-`+G(r)+`">`+(n?i:G(i,!0))+`</code></pre>
|
|
47
|
+
`:`<pre><code>`+(n?i:G(i,!0))+`</code></pre>
|
|
48
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
49
|
+
${this.parser.parse(e)}</blockquote>
|
|
50
|
+
`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
51
|
+
`}hr(e){return`<hr>
|
|
52
|
+
`}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
|
|
53
|
+
`+r+`</`+i+`>
|
|
54
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
55
|
+
`}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
56
|
+
`}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
|
|
57
|
+
<thead>
|
|
58
|
+
`+t+`</thead>
|
|
59
|
+
`+r+`</table>
|
|
60
|
+
`}tablerow({text:e}){return`<tr>
|
|
61
|
+
${e}</tr>
|
|
62
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
63
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${G(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=rt(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+G(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=rt(e);if(i===null)return G(n);e=i;let a=`<img src="${e}" alt="${G(n)}"`;return t&&(a+=` title="${G(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:G(e.text)}},ut=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},X=class e{options;renderer;textRenderer;constructor(e){this.options=e||A,this.options.renderer=this.options.renderer||new Y,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new ut}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},Z=class{options;block;constructor(e){this.options=e||A}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?J.lex:J.lexInline}provideParser(e=this.block){return e?X.parse:X.parseInline}},Q=new class{defaults=k();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=X;Renderer=Y;TextRenderer=ut;Lexer=J;Tokenizer=q;Hooks=Z;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Y(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new q(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new Z;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];Z.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&Z.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return J.lex(e,t??this.defaults)}parser(e,t){return X.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?J.lex:J.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?X.parse:X.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?J.lex:J.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?X.parse:X.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
64
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+G(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function $(e,t){return Q.parse(e,t)}$.options=$.setOptions=function(e){return Q.setOptions(e),$.defaults=Q.defaults,ie($.defaults),$},$.getDefaults=k,$.defaults=A,$.use=function(...e){return Q.use(...e),$.defaults=Q.defaults,ie($.defaults),$},$.walkTokens=function(e,t){return Q.walkTokens(e,t)},$.parseInline=Q.parseInline,$.Parser=X,$.parser=X.parse,$.Renderer=Y,$.TextRenderer=ut,$.Lexer=J,$.lexer=J.lex,$.Tokenizer=q,$.Hooks=Z,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,X.parse,J.lex;function dt({file:e}){return e.kind===`image`?(0,y.jsx)(`div`,{className:`preview-pane`,children:(0,y.jsx)(`img`,{className:`preview-image`,src:r(e.path),alt:e.path})}):e.kind===`binary`?(0,y.jsx)(`div`,{className:`preview-pane`,children:(0,y.jsxs)(`p`,{className:`page-hint`,children:[`Binary file (`,e.size,` bytes).`,` `,(0,y.jsx)(`a`,{href:r(e.path),children:`Download`})]})}):e.kind===`markdown`?(0,y.jsx)(ft,{content:e.content??``}):e.kind===`json`?(0,y.jsx)(pt,{content:e.content??``}):(0,y.jsx)(`div`,{className:`preview-pane`,children:(0,y.jsx)(`pre`,{className:`code-block`,children:e.content??``})})}function ft({content:e}){return(0,y.jsx)(`div`,{className:`preview-pane markdown-body`,dangerouslySetInnerHTML:{__html:(0,v.useMemo)(()=>$.parse(e,{async:!1}),[e])}})}function pt({content:e}){return(0,y.jsx)(`div`,{className:`preview-pane`,children:(0,y.jsx)(`pre`,{className:`code-block`,children:(0,v.useMemo)(()=>{try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},[e])})})}function mt(){let{activeProjectId:e}=ee(),[t,n]=(0,v.useState)(null),[c,u]=(0,v.useState)(new Set),[d,f]=(0,v.useState)(null),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)(``),[_,b]=(0,v.useState)(!1),[x,S]=(0,v.useState)(`edit`),[C,w]=(0,v.useState)(null),[T,E]=(0,v.useState)(null),D=(0,v.useRef)(null),O=(0,v.useCallback)(async()=>{try{n(await a(i(`/api/files/tree`,e))),w(null)}catch(e){w(e instanceof Error?e.message:String(e))}},[e]);(0,v.useEffect)(()=>{O()},[O]),(0,v.useEffect)(()=>{f(null),m(null),u(new Set)},[e]),(0,v.useEffect)(()=>{let e=s(`/api/files/watch`),t=null;return e.onmessage=()=>{t&&clearTimeout(t),t=setTimeout(O,400)},()=>{t&&clearTimeout(t),e.close()}},[O]);let ne=(0,v.useCallback)(async t=>{if(f(t),E(null),t.type!==`file`){m(null);return}try{let n=await a(i(`/api/files/read?path=${encodeURIComponent(t.path)}`,e));m(n),g(n.content??``),b(!1),S(n.kind===`markdown`||n.kind===`json`?`preview`:`edit`),w(null)}catch(e){m(null),w(e instanceof Error?e.message:String(e))}},[e]),re=(0,v.useCallback)(e=>{u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),k=()=>{if(!d)return`.`;if(d.type===`dir`)return d.path;let e=d.path.lastIndexOf(`/`);return e===-1?`.`:d.path.slice(0,e)},A=async(e,t)=>{try{await e(),w(null),t&&E(t),await O()}catch(e){w(e instanceof Error?e.message:String(e))}},ie=()=>{let t=window.prompt(`New file name (relative to selected folder):`);if(!t)return;let n=ht(k(),t);A(()=>o(i(`/api/files/write`,e),{path:n,content:``}),`Created ${n}`)},j=()=>{let t=window.prompt(`New folder name:`);if(!t)return;let n=ht(k(),t);A(()=>o(i(`/api/files/mkdir`,e),{path:n}),`Created ${n}/`)},M=()=>{if(!d)return;let t=window.prompt(`New path:`,d.path);if(!t||t===d.path)return;let n=d.path;A(async()=>{await o(i(`/api/files/rename`,e),{from:n,to:t}),f(null),m(null)},`Renamed to ${t}`)},N=()=>{if(!d||!window.confirm(`Delete ${d.path}? This cannot be undone.`))return;let t=d.path;A(async()=>{await o(i(`/api/files/delete`,e),{path:t}),f(null),m(null)},`Deleted ${t}`)},ae=t=>{if(!t||t.length===0)return;let n=new FormData;n.set(`path`,k());for(let e of Array.from(t))n.append(`file`,e);A(()=>l(i(`/api/files/upload`,e),n),`Uploaded ${t.length} file(s)`)},P=()=>{p&&A(async()=>{await o(i(`/api/files/write`,e),{path:p.path,content:h}),m({...p,content:h}),b(!1)},`Saved ${p.path}`)},oe=p&&p.kind!==`image`&&p.kind!==`binary`;return(0,y.jsxs)(`div`,{className:`files-page`,children:[(0,y.jsxs)(`aside`,{className:`files-sidebar`,children:[(0,y.jsxs)(`div`,{className:`files-toolbar`,children:[(0,y.jsx)(`button`,{onClick:ie,children:`+ File`}),(0,y.jsx)(`button`,{onClick:j,children:`+ Folder`}),(0,y.jsx)(`button`,{onClick:()=>D.current?.click(),children:`Upload`}),(0,y.jsx)(`button`,{onClick:O,children:`Refresh`}),(0,y.jsx)(`input`,{ref:D,type:`file`,multiple:!0,hidden:!0,onChange:e=>{ae(e.target.files),e.target.value=``}})]}),t?(0,y.jsx)(te,{root:t,selectedPath:d?.path??null,expanded:c,onSelect:ne,onToggle:re}):(0,y.jsx)(`p`,{className:`page-hint`,children:`Loading workspace…`})]}),(0,y.jsxs)(`section`,{className:`files-content`,children:[C&&(0,y.jsx)(`div`,{className:`banner error`,children:C}),T&&!C&&(0,y.jsx)(`div`,{className:`banner notice`,children:T}),d?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsxs)(`div`,{className:`files-header`,children:[(0,y.jsxs)(`span`,{className:`files-path`,title:d.path,children:[d.path,_?` •`:``]}),(0,y.jsxs)(`div`,{className:`files-actions`,children:[oe&&(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(`button`,{className:x===`edit`?`active`:``,onClick:()=>S(`edit`),children:`Edit`}),(0,y.jsx)(`button`,{className:x===`preview`?`active`:``,onClick:()=>S(`preview`),children:`Preview`}),(0,y.jsx)(`button`,{disabled:!_,onClick:P,children:`Save`})]}),d.type===`file`&&(0,y.jsx)(`a`,{className:`button-link`,href:r(d.path,e),children:`Download`}),(0,y.jsx)(`button`,{onClick:M,children:`Rename`}),(0,y.jsx)(`button`,{className:`danger`,onClick:N,children:`Delete`})]})]}),d.type===`dir`?(0,y.jsx)(`p`,{className:`page-hint`,children:`Folder selected. New files, folders, and uploads land here.`}):p?x===`edit`&&oe?(0,y.jsx)(`textarea`,{className:`file-editor`,value:h,spellCheck:!1,onChange:e=>{g(e.target.value),b(!0)}}):(0,y.jsx)(dt,{file:_?{...p,content:h}:p}):(0,y.jsx)(`p`,{className:`page-hint`,children:`Loading file…`})]}):(0,y.jsx)(`p`,{className:`page-hint`,children:`Select a file from the workspace tree to view or edit it.`})]})]})}function ht(e,t){let n=t.replace(/^[/\\]+/,``);return e===`.`?n:`${e}/${n}`}export{mt as FilesPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t}from"./bundle-mjs-DssaXR6m.js";import{f as n}from"./utils-BX1Diber.js";import{x as r}from"./useBaseUiId-dSIElxm7.js";var i=r(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),a=e(t()),o=a.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:n,validationMode:`onSubmit`,submitAttemptedRef:{current:!1}});function s(){return a.useContext(o)}export{i as n,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t,r as n}from"./bundle-mjs-DssaXR6m.js";import{F as r,I as i,L as a,R as o,t as s}from"./utils-BX1Diber.js";import{x as c}from"./useBaseUiId-dSIElxm7.js";import{i as l,n as u,r as d,t as f}from"./collapsible-BdLJt-lG.js";import{t as p}from"./circle-x-BSTd_gmE.js";import{t as m}from"./key-round-D965pLEl.js";import{a as h,i as g,n as _,r as v,t as y}from"./tabs-DS9zR4V0.js";import{E as b}from"./useCompositeListItem-BQ4RLkNZ.js";import{t as x}from"./rotate-cw-B1ZRM7VI.js";import{n as S,t as C}from"./textarea-BkUbRqKD.js";import{a as w,i as T,o as E,r as D,s as O,t as k}from"./dialog-Bl8-9u35.js";import{qt as A}from"./index-j386AZTn.js";import{t as j}from"./button-Cg-0y2B2.js";import{t as M}from"./input-D4O22yGt.js";import{t as N}from"./badge-DjyNiZCE.js";import{t as P}from"./label-CxX4-RmK.js";var F=c(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),I=c(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),L=e(t(),1),R=n();function z({server:e}){if(!e.enabled)return(0,R.jsx)(N,{variant:`outline`,children:`disabled`});switch(e.startupState){case`ready`:return(0,R.jsxs)(N,{variant:`secondary`,className:`gap-1`,children:[(0,R.jsx)(F,{className:`size-3 text-emerald-600`}),` ready`]});case`starting`:return(0,R.jsxs)(N,{variant:`secondary`,className:`gap-1`,children:[(0,R.jsx)(h,{className:`size-3 animate-spin`}),` starting`]});case`failed`:case`cancelled`:return(0,R.jsxs)(N,{variant:`outline`,className:`gap-1 text-destructive`,children:[(0,R.jsx)(p,{className:`size-3`}),` `,e.startupState]});default:return(0,R.jsxs)(N,{variant:`outline`,className:`gap-1`,children:[(0,R.jsx)(I,{className:`size-3`}),` not connected`]})}}function B(){let[e,t]=(0,L.useState)([]),[n,c]=(0,L.useState)(``),[p,h]=(0,L.useState)(!1),[w,T]=(0,L.useState)(null),[E,D]=(0,L.useState)(!1),[O,k]=(0,L.useState)(null),[M,P]=(0,L.useState)(!1),F=(0,L.useCallback)(async()=>{try{let[{servers:e},{toml:n}]=await Promise.all([i(`/api/mcp`),i(`/api/mcp/config`)]);t(e),p||c(n),T(null)}catch(e){T(e instanceof Error?e.message:String(e))}},[p]);(0,L.useEffect)(()=>{F()},[F]);let I=(0,L.useCallback)(async e=>{D(!0),T(null);try{await e(),await F()}catch(e){T(e instanceof Error?e.message:String(e))}finally{D(!1)}},[F]),B=()=>I(()=>a(`/api/mcp/reload`)),H=()=>I(async()=>{await o(`/api/mcp/config`,{toml:n}),h(!1),await a(`/api/mcp/reload`)}),U=e=>I(async()=>{await a(`/api/mcp/servers/${e.name}/enable`,{enabled:!e.enabled}),await a(`/api/mcp/reload`)}),W=e=>I(async()=>{window.confirm(`Remove MCP server "${e}"?`)&&(await r(`/api/mcp/servers/${e}`),await a(`/api/mcp/reload`))});return(0,R.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3 p-4`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`h1`,{className:`text-base font-semibold`,children:`MCP servers`}),(0,R.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,R.jsxs)(j,{size:`sm`,variant:`outline`,onClick:B,disabled:E,children:[(0,R.jsx)(x,{className:`size-3.5`}),` Reload`]}),(0,R.jsxs)(j,{size:`sm`,onClick:()=>P(!0),disabled:E,children:[(0,R.jsx)(b,{className:`size-3.5`}),` Add server`]})]})]}),w&&(0,R.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:w}),(0,R.jsxs)(y,{defaultValue:`servers`,className:`flex min-h-0 flex-1 flex-col`,children:[(0,R.jsxs)(v,{children:[(0,R.jsx)(g,{value:`servers`,children:`Servers`}),(0,R.jsx)(g,{value:`toml`,children:`config.toml`})]}),(0,R.jsx)(_,{value:`servers`,className:`min-h-0 flex-1 overflow-auto pt-2`,children:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[e.map(e=>(0,R.jsx)(`div`,{className:`rounded-lg border bg-card`,children:(0,R.jsxs)(f,{open:O===e.name,onOpenChange:t=>k(t?e.name:null),children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-3 p-3`,children:[(0,R.jsx)(A,{className:`size-4 shrink-0 text-muted-foreground`}),(0,R.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(`span`,{className:`font-medium`,children:e.name}),(0,R.jsx)(z,{server:e}),e.tools.length>0&&(0,R.jsxs)(N,{variant:`outline`,children:[e.tools.length,` tools`]}),e.authStatus===`notLoggedIn`&&(0,R.jsxs)(N,{variant:`outline`,className:`gap-1`,children:[(0,R.jsx)(m,{className:`size-3`}),` login required`]})]}),(0,R.jsx)(`code`,{className:`block truncate text-xs text-muted-foreground`,children:e.url??[e.command,...e.args??[]].join(` `)}),e.envKeys&&e.envKeys.length>0&&(0,R.jsxs)(`div`,{className:`text-xs text-muted-foreground/70`,children:[`env: `,e.envKeys.map(e=>`${e}=••••`).join(` `)]})]}),(0,R.jsx)(j,{size:`sm`,variant:`outline`,onClick:()=>U(e),disabled:E,children:e.enabled?`Disable`:`Enable`}),(0,R.jsx)(j,{size:`icon-sm`,variant:`ghost`,className:`text-destructive hover:text-destructive`,onClick:()=>W(e.name),disabled:E,children:(0,R.jsx)(S,{})}),e.tools.length>0&&(0,R.jsx)(d,{className:`flex size-7 items-center justify-center rounded-md text-muted-foreground hover:bg-muted`,children:(0,R.jsx)(l,{className:s(`size-4 transition-transform`,O===e.name&&`rotate-90`)})})]}),(0,R.jsx)(u,{children:(0,R.jsx)(`div`,{className:`grid gap-1 border-t p-3 sm:grid-cols-2`,children:e.tools.map(e=>(0,R.jsxs)(`div`,{className:`rounded-md bg-muted/40 px-2 py-1.5`,children:[(0,R.jsx)(`code`,{className:`text-xs font-medium`,children:e.name}),e.description&&(0,R.jsx)(`div`,{className:`truncate text-xs text-muted-foreground`,title:e.description,children:e.description})]},e.name))})})]})},e.name)),e.length===0&&(0,R.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-12 text-center text-sm text-muted-foreground`,children:[(0,R.jsx)(A,{className:`size-8`}),`No MCP servers configured. Add one to give Codex extra tools.`]})]})}),(0,R.jsxs)(_,{value:`toml`,className:`flex min-h-0 flex-1 flex-col gap-2 pt-2`,children:[(0,R.jsx)(C,{value:n,spellCheck:!1,className:`min-h-0 flex-1 resize-none font-mono text-sm`,onChange:e=>{c(e.target.value),h(!0)}}),(0,R.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,R.jsx)(j,{size:`sm`,onClick:H,disabled:!p||E,children:E?`Saving…`:`Save & reload`}),(0,R.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Editing here preserves your comments; structured edits reformat the file.`})]})]})]}),(0,R.jsx)(V,{open:M,onOpenChange:P,onAdded:()=>I(()=>a(`/api/mcp/reload`))})]})}function V({open:e,onOpenChange:t,onAdded:n}){let[r,i]=(0,L.useState)(``),[o,s]=(0,L.useState)(``),[c,l]=(0,L.useState)(``),[u,d]=(0,L.useState)(``),[f,p]=(0,L.useState)(null),[m,h]=(0,L.useState)(!1);return(0,R.jsx)(k,{open:e,onOpenChange:t,children:(0,R.jsxs)(D,{children:[(0,R.jsxs)(E,{children:[(0,R.jsx)(O,{children:`Add MCP server`}),(0,R.jsxs)(T,{children:[`A stdio command server (e.g. `,(0,R.jsx)(`code`,{children:`npx -y @scope/pkg`}),`). For URL or advanced transports, use the config.toml tab.`]})]}),f&&(0,R.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:f}),(0,R.jsxs)(`div`,{className:`grid gap-3`,children:[(0,R.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,R.jsx)(P,{htmlFor:`mcp-name`,children:`Name`}),(0,R.jsx)(M,{id:`mcp-name`,value:r,placeholder:`context7`,onChange:e=>i(e.target.value)})]}),(0,R.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,R.jsx)(P,{htmlFor:`mcp-command`,children:`Command`}),(0,R.jsx)(M,{id:`mcp-command`,value:o,placeholder:`npx`,onChange:e=>s(e.target.value)})]}),(0,R.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,R.jsx)(P,{htmlFor:`mcp-args`,children:`Args (space-separated)`}),(0,R.jsx)(M,{id:`mcp-args`,value:c,placeholder:`-y @upstash/context7-mcp`,onChange:e=>l(e.target.value)})]}),(0,R.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,R.jsx)(P,{htmlFor:`mcp-env`,children:`Env (KEY=value per line)`}),(0,R.jsx)(C,{id:`mcp-env`,value:u,rows:3,placeholder:`API_KEY=sk-…`,onChange:e=>d(e.target.value)})]})]}),(0,R.jsxs)(w,{children:[(0,R.jsx)(j,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,R.jsx)(j,{onClick:async()=>{h(!0),p(null);try{let e={};for(let t of u.split(/\r?\n/)){let n=t.indexOf(`=`);n>0&&(e[t.slice(0,n).trim()]=t.slice(n+1).trim())}await a(`/api/mcp/servers`,{name:r.trim(),command:o.trim()||void 0,args:c.trim()?c.trim().split(/\s+/):void 0,env:Object.keys(e).length>0?e:void 0}),t(!1),i(``),s(``),l(``),d(``),n()}catch(e){p(e instanceof Error?e.message:String(e))}finally{h(!1)}},disabled:m||r.trim().length===0||o.trim().length===0,children:m?`Adding…`:`Add & reload`})]})]})})}export{B as McpPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-Cyuzqnbw.js";import{i as t,r as n}from"./bundle-mjs-DssaXR6m.js";import{F as r,I as i,R as a,t as o}from"./utils-BX1Diber.js";import{t as s}from"./checkbox-Dl42vHZu.js";import{t as c}from"./rotate-cw-B1ZRM7VI.js";import{n as l,t as u}from"./textarea-BkUbRqKD.js";import{Qt as d}from"./index-j386AZTn.js";import{t as f}from"./button-Cg-0y2B2.js";import{t as p}from"./input-D4O22yGt.js";import{t as m}from"./badge-DjyNiZCE.js";import{t as h}from"./label-CxX4-RmK.js";var g=e(t(),1),_=n();function v(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function y(){let[e,t]=(0,g.useState)(null),[n,y]=(0,g.useState)(null),[b,x]=(0,g.useState)(!1),[S,C]=(0,g.useState)(null),[w,T]=(0,g.useState)(``),[E,D]=(0,g.useState)(!1),[O,k]=(0,g.useState)(``),A=(0,g.useCallback)(async()=>{try{let e=await i(`/api/memories`);t(e),k(e.settings.minRateLimitRemainingPercent===void 0?``:String(e.settings.minRateLimitRemainingPercent)),y(null)}catch(e){y(e instanceof Error?e.message:String(e))}},[]);(0,g.useEffect)(()=>{A()},[A]);let j=(0,g.useCallback)(async e=>{x(!0),y(null);try{await e(),await A()}catch(e){y(e instanceof Error?e.message:String(e))}finally{x(!1)}},[A]),M=()=>j(()=>a(`/api/memories/config`,{enabled:!e?.enabled})),N=e=>j(()=>a(`/api/memories/config`,{settings:e})),P=()=>{let e=Number(O);if(!Number.isFinite(e)||e<0||e>100){y(`Rate-limit threshold must be a number between 0 and 100`);return}N({minRateLimitRemainingPercent:e})},F=e=>j(async()=>{let t=await i(`/api/memories/file?path=${encodeURIComponent(e.path)}`);C(t.path),T(t.content),D(!1)}),I=()=>j(async()=>{S&&(await a(`/api/memories/file`,{path:S,content:w}),D(!1))}),L=e=>j(async()=>{window.confirm(`Delete memory file "${e}"?`)&&(await r(`/api/memories/file?path=${encodeURIComponent(e)}`),S===e&&(C(null),T(``),D(!1)))}),R=e?.enabled??!1,z=e?.settings??{},B=e?.files??[];return(0,_.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3 p-4`,children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(`h1`,{className:`text-base font-semibold`,children:`Memories`}),(0,_.jsx)(m,{variant:`outline`,children:`beta`}),e&&e.liveEnabled!==null&&e.liveEnabled!==R&&(0,_.jsx)(m,{variant:`outline`,className:`text-amber-600`,children:`engine state differs — restart pending`}),(0,_.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[(0,_.jsxs)(f,{size:`sm`,variant:`outline`,onClick:()=>A(),disabled:b,children:[(0,_.jsx)(c,{className:`size-3.5`}),` Refresh`]}),(0,_.jsx)(f,{size:`sm`,onClick:M,disabled:b||!e,children:R?`Disable`:`Enable`})]})]}),(0,_.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Codex turns useful context from past sessions into local memory files and brings them into new conversations. Memories are global across workspaces (they live in the shared Codex home) and are generated in the background — new files can take a while to appear.`}),n&&(0,_.jsx)(`div`,{className:`rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-sm text-destructive`,children:n}),(0,_.jsxs)(`div`,{className:o(`flex flex-col gap-3`,!R&&`opacity-60`),children:[(0,_.jsxs)(`div`,{className:`rounded-lg border bg-card p-3`,children:[(0,_.jsx)(`div`,{className:`mb-2 text-sm font-medium`,children:`Behavior`}),(0,_.jsxs)(`div`,{className:`grid gap-2`,children:[(0,_.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,_.jsx)(s,{checked:z.generateMemories!==!1,disabled:b||!R,onCheckedChange:e=>N({generateMemories:e===!0})}),`Generate memories from new sessions`]}),(0,_.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,_.jsx)(s,{checked:z.useMemories!==!1,disabled:b||!R,onCheckedChange:e=>N({useMemories:e===!0})}),`Use existing memories in new sessions`]}),(0,_.jsxs)(`label`,{className:`flex items-center gap-2 text-sm`,children:[(0,_.jsx)(s,{checked:z.disableOnExternalContext===!0,disabled:b||!R,onCheckedChange:e=>N({disableOnExternalContext:e===!0})}),`Skip sessions that used external context (MCP tools, web search)`]}),(0,_.jsxs)(`div`,{className:`flex items-center gap-2 text-sm`,children:[(0,_.jsx)(h,{htmlFor:`mem-rate`,className:`font-normal`,children:`Pause generation below`}),(0,_.jsx)(p,{id:`mem-rate`,type:`number`,min:0,max:100,placeholder:`25`,className:`h-7 w-20`,value:O,disabled:b||!R,onChange:e=>k(e.target.value),onBlur:()=>{O!==``&&P()},onKeyDown:e=>{e.key===`Enter`&&O!==``&&P()}}),(0,_.jsx)(`span`,{className:`text-muted-foreground`,children:`% rate limit remaining`})]})]}),(0,_.jsx)(`div`,{className:`mt-2 text-xs text-muted-foreground`,children:`Behavior settings are read by the engine at startup; the on/off toggle applies immediately.`})]}),(0,_.jsxs)(`div`,{className:`flex min-h-0 flex-1 gap-3`,children:[(0,_.jsxs)(`div`,{className:`flex w-72 shrink-0 flex-col gap-1 overflow-auto`,children:[(0,_.jsxs)(`div`,{className:`text-sm font-medium`,children:[`Memory files`,B.length>0&&` (${B.length})`]}),B.map(e=>(0,_.jsxs)(`div`,{className:o(`group flex cursor-pointer items-center gap-2 rounded-md border px-2 py-1.5`,S===e.path?`border-foreground/30 bg-muted/60`:`bg-card hover:bg-muted/40`),onClick:()=>F(e),children:[(0,_.jsx)(d,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,_.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,_.jsx)(`div`,{className:`truncate text-sm`,title:e.path,children:e.path}),(0,_.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[v(e.size),` · `,new Date(e.modifiedAt).toLocaleString()]})]}),(0,_.jsx)(f,{size:`icon-sm`,variant:`ghost`,className:`invisible text-destructive hover:text-destructive group-hover:visible`,disabled:b,onClick:t=>{t.stopPropagation(),L(e.path)},children:(0,_.jsx)(l,{})})]},e.path)),B.length===0&&(0,_.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-4 py-10 text-center text-sm text-muted-foreground`,children:[(0,_.jsx)(d,{className:`size-8`}),R?`No memories yet. Codex builds them in the background from finished sessions.`:`Enable memories to let Codex remember context across sessions.`]})]}),(0,_.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col gap-2`,children:S?(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,_.jsx)(`code`,{className:`truncate text-xs text-muted-foreground`,children:S}),(0,_.jsx)(f,{size:`sm`,className:`ml-auto`,onClick:I,disabled:!E||b,children:b?`Saving…`:`Save`})]}),(0,_.jsx)(u,{value:w,spellCheck:!1,className:`min-h-0 flex-1 resize-none font-mono text-sm`,onChange:e=>{T(e.target.value),D(!0)}})]}):(0,_.jsx)(`div`,{className:`flex flex-1 items-center justify-center rounded-lg border border-dashed text-sm text-muted-foreground`,children:`Select a memory file to inspect or edit it`})})]})]})]})}export{y as MemoriesPage};
|