mycode-cli 0.18.0__tar.gz → 0.19.0__tar.gz
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.
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/PKG-INFO +15 -13
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/README.md +14 -12
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/pyproject.toml +2 -2
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/runtime.py +6 -11
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/routers/chat.py +106 -14
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/routers/sessions.py +28 -14
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/run_manager.py +161 -40
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/schemas.py +26 -14
- mycode_cli-0.19.0/src/mycode_cli/server/static/assets/index-CrhooK9g.js +395 -0
- mycode_cli-0.19.0/src/mycode_cli/server/static/assets/index-D9h4EXyc.css +1 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/index.html +2 -2
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/sessions.py +82 -33
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/system_prompt.py +11 -1
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/chat.py +134 -36
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/render.py +29 -8
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/terminal.py +60 -13
- mycode_cli-0.18.0/src/mycode_cli/server/static/assets/index-C7MhyuLY.js +0 -389
- mycode_cli-0.18.0/src/mycode_cli/server/static/assets/index-D71Nwfrp.css +0 -1
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/.gitignore +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/LICENSE +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/hatch_build.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/__init__.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/config.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/main.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/permissions.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/__init__.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/app.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/deps.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/routers/__init__.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/routers/settings.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/routers/workspaces.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/EditDiff-DOjxGJl-.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ThemeProvider-zTKbpxjH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/abap-CLvhMVsD.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/actionscript-3--17pq3dv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ada-C5qYipkI.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/andromeeda-vGVdxbeo.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/angular-html-BVBpGdXr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/angular-ts-BfdufMKP.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/apache-U0d_L8uA.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/apex-VAyPSnFM.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/apl-DWBSSoBH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/applescript-CCn79oCD.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ara-4CJ0cIlV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/asciidoc-DE70LPWp.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/asm-Cmm7eHzH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/astro-3LtMP0Sq.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/aurora-x-CDeNXAV0.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/awk-BWXHIvNe.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ayu-dark-DluEY0Gj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ayu-light-C3h-C4tm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ayu-mirage-Bqwy1Gya.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ballerina-B7ZEbQpA.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/bat-Bo4NYOV-.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/beancount-D-usSTwE.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/berry-DKpUyyne.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/bibtex-Ci_nEsc7.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/bicep-CUHmPFLl.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/bird2-C6vDhewU.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/blade-llJRbbtR.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/bsl-BkkzgIyY.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/c-Wt1voDr2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/c3-BFHwR3_K.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cadence-CQ2zXKGN.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cairo-DLTphjLi.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/catppuccin-frappe-3VR1Za6u.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/catppuccin-latte-DwIHMF0Q.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/catppuccin-macchiato-DYnBP6_5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/catppuccin-mocha-DYhrFGRu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/clarity-SemFz856.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/clojure-DqKBuwfJ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cmake-Bj61d0ZC.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cobol-x_HIyl2P.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/codeowners-C8r90Shi.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/codeql-oeQT6MSM.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/coffee-CThvmt4R.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/common-lisp-Cv5bFMCO.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/coq-BrsZFFmf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cpp-NtAeskI3.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/crystal-DNu_sX0G.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/csharp-oqKa8noW.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/css-DJp_X0uY.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/csv-Dx-8-gkx.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cue-CE9AQfxI.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/cypher-ClKdZ_lG.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/d-qD-0Kul2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dark-plus-Cs2F2srj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dart-CnvKMtbv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dax-BkyTk9wS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/desktop-Dlh5hvp9.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/diff-woXpYk--.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/docker-IyjqRm3v.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dotenv-_5a1GRtc.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dracula-BHWKrbxM.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dracula-soft-5eyTD99u.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/dream-maker-DW3nJb8Q.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/edge-ozw5tpLl.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/elixir-VhA6FeZt.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/elm-dREJmIFz.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/emacs-lisp-B4R74twV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/engine-compile-Cbfz3NVV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/erb-CIg6G69l.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/erlang-Cphh6RMH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/everforest-dark-sB-x3p7T.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/everforest-light-Df2xbC6M.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fennel-DQxkIbk2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fish-BJitypiv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fluent-C03EYrpw.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fortran-fixed-form-DEKoE2YW.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fortran-free-form-CYNrtFtB.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/fsharp-D13ZGOAj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gdresource-C0sCabJj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gdscript-Cp2uCuqX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gdshader-CBce3t8t.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/genie-CV2tkWYe.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gherkin-DExj1W_8.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/git-commit-BSykSTBG.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/git-rebase-B44mJPta.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-dark-C-LZuMrd.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-dark-default-DXG-b-1a.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-dark-dimmed-Bx1FflLF.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-dark-high-contrast-B_tTalzw.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-light-EUqPIrTm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-light-default-BXViO-2h.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/github-light-high-contrast-B68TUdTA.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gleam-CSRkHgEL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/glimmer-js-vH_gHG0-.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/glimmer-ts--abOzSAQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/glsl-Dv5r7kPw.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gn-ilITqXS6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gnuplot-7GGW24-e.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/go-rLFTqkRN.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/graphql-CB4jsw2E.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/groovy-CacY0gHj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-dark-hard-C820rvS2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-dark-medium-BPjhmG05.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-dark-soft-MrdJrrXF.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-light-hard-BC_s9l72.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-light-medium-BAWPOn9u.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/gruvbox-light-soft-BSMLrYjP.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hack-DvEYX148.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/haml-zE6W3STP.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/handlebars-CzBR2SDs.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/haskell-D8IpX4py.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/haxe-OTjmBuCE.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hcl-Dh228itO.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/highlighter-CZbuWYc3.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hjson-CxZEssPk.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hlsl-Cvrh5tZx.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/horizon-CE9ld1lL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/horizon-bright-DSNQnXHK.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/houston-CsvMBhTu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/html-C8UlPnhE.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/html-derivative-CY6NRz-J.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/http-Cyd7bS_S.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hurl-CWPsiEpf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hxml-B0Qn7Nwc.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/hy-CZbG8q4J.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/imba-DsUTQ-LC.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ini-B5eOa1yu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/java-CGc3VwQr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/javascript-CUt1pgmJ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jinja-CD-Z-FLd.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jison-imPNup1l.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/json-Bg9ijW3F.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/json5-BR5RXkoi.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jsonc-CYpm1nAK.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jsonl-CmCQp5Yx.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jsonnet-CJTPZ8u_.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jssm-DXw9l8Rf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/jsx-CY6oMTks.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/julia-Dc3O-irA.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/just-BhOq_Kbv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kanagawa-dragon-CXtmUGW6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kanagawa-lotus-BN08jTvb.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kanagawa-wave-CTweb8Dz.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kdl-CsD5j6eV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kotlin-DhhofPvG.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/kusto-C7mF5XQf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/laserwave-C_8bwKvT.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/latex-Cu4Y1d5w.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/lean-CewbzKMR.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/less-DVTAwKKz.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/light-plus-DVQuIRkW.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/liquid-CvXMrjlQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/llvm-Cm23YOpf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/log-BNLmms1o.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/logo-Cluzi2Zq.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/lua-BjLEUjKY.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/luau-FMPmPwt6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/make-Dixweg8N.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/markdown-BYOwaDjH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/marko-DvhNOisQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/material-theme-Bm3Qr25_.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/material-theme-darker-2IIEA8gg.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/material-theme-lighter-uhdI0v04.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/material-theme-ocean-CHQ94UKr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/material-theme-palenight-B5W6OYN7.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/matlab-D7qyCx1q.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/mdc-Bm9TpL1X.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/mdx-DQZ5AkYe.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/mermaid-Bk4SNUv9.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/min-dark-BSWPekZh.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/min-light-DDpmG2fV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/mipsasm-BMqwQI7S.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/mojo-BgCJLMeH.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/monokai-CdkpiU2Y.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/moonbit-CaWjb8XO.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/move-B1IS1UjX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/narrat-_X_XdTYD.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nextflow-BJtWHP5T.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nextflow-groovy-DJMQeKeT.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nginx-Bhc82uuv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/night-owl-DhmEMT88.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/night-owl-light-eJ-hLW7d.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nim-DXTVBFnF.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nix-IvuFDN5E.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nord-Cb4Vim4T.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/nushell-DcLAeLz5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/objective-c-D1A_Heim.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/objective-cpp-BsSzOQcm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ocaml-O90oeIOV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/odin-B1RWQWA5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/one-dark-pro-CLwyXe_n.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/one-light-D7Lr4KcI.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/openscad-BUDT5pXO.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pascal-4ZHwLPI5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/perl-C7veXV9z.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/php-BRiuMnnr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-dark-sU4Zdns8.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-dark-soft-HXgun5vs.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-dark-vibrant-D4RhcSIK.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-light-DWBk51d8.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-light-soft-CodEzPxf.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pierre-light-vibrant-B76X7i5Y.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pkl-ot-7Btpt.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/plastic-DQwYfKfQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/plsql-DGHpHOYJ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/po-BiJDBrnU.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/poimandres-DRFjx7u4.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/polar-C7UOKdEL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/postcss-BXeXVLqQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/powerquery-DNMTfnFr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/powershell-DshXNtvi.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/preload-helper-FMEmyu_K.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/prisma-BsRQq5mF.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/prolog-iXnhIJG7.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/proto-DB4EqR-F.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/pug-C5hz5LQ7.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/puppet-CDv2pdJW.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/purescript-9MfHhQsQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/python-gzcpVVnB.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/qml-BdUV3aTS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/qmldir-DCQb3MpD.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/qss-Fe1Jh2GI.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/r-8R7vtdQc.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/racket-DcIDlBhZ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/raku-B3gFvitq.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/razor-DRL52XO2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/red-CJ3rzSJv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/reg-CRGYupPL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/regexp-Omp9DhTb.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rel-BtDbiS_P.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/riscv-Ckw8ddFX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rolldown-runtime-QTnfLwEv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ron-VUp2lXgN.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rose-pine-BthvhNj6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rose-pine-dawn-Dg85fqjY.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rose-pine-moon-hon4tzzS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rosmsg-CAekHB0j.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rst-BHX71KW9.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ruby-B--HzjGU.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/rust-Cfkwpbl8.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/sas-DrLaYOK_.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/sass-DXrisJhu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/scala-DKOlJaKm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/scheme-DQCgrYNe.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/scss-DdSxiZKl.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/sdbl-bTVj8UrX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/shaderlab-TOUzSsQk.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/shellscript-DwcUjJBL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/shellsession-CPZkydE6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/slack-dark-DnToyrRv.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/slack-ochin-B2OO5cIa.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/smalltalk-B16xEiuN.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/snazzy-light-4G7pJPwS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/solarized-dark-DV17i1UV.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/solarized-light-DSh2HLQt.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/solidity-CKzVLygQ.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/soy-Br5FhD7c.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/sparql-D_iOobhT.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/splunk-BC2Px7Mm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/sql-DNssxck8.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ssh-config-BgfXC-Er.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/stata-DXn1tqOr.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/stylus-B6D30XZt.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/surrealql-IeLNQw0f.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/svelte-DOdLCIlh.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/swift-DonLKvLd.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/synthwave-84-nFMaYfgc.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/system-verilog-DJ5XKQeo.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/systemd-BxMlprV5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/talonscript-CohzipZa.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tasl-DMoTqEGO.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tcl-CZd0xW_V.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/templ-CIwIngms.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/terraform-DswuEJGm.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tex-D8QMumu5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tokyo-night-oM2G3aXe.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/toml-CcmNWLt0.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/ts-tags-BMVY4q-l.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tsv-sltzmVWM.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/tsx-5Eka4NBX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/turtle-ByJddavk.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/twig-C8o_5mgw.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/typescript-DOu2WMV5.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/typespec-BRdr0IET.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/typst-DI99ib-x.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/v-DETTlOr0.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vala-zf12oZj6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vb-Djn5o6TS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/verilog-CiiDBU1e.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vesper-DdrHHSXu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vhdl-BroJfC0k.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/viml-DvXPmvsu.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vitesse-black-fwtXNY1n.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vitesse-dark-BZCL-v6S.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vitesse-light-VbXTXTou.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vue-BU18DNDL.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vue-html-BeluIYX0.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vue-vine-DGUAbOCX.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/vyper-CgoNMtux.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wasm-BnjxR4X6.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wasm-ByWQv1Qj.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wenyan-C8pVoKbM.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wgsl-BsKzXJz4.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wikitext-ClFFjSW2.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wit-DdvCle-K.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/wolfram-DLL8P-h_.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/xml-DIqSwXR3.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/xsl-Ct_-YIAy.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/yaml-DTtCYNlS.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/zenscript-BnlCZFoB.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/assets/zig-CMLA9XwU.js +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/favicon_slashes.svg +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/fonts/OFL.txt +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/fonts/SourceCodePro-Variable.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/server/static/fonts/SourceSans3-Variable.woff2 +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/state.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tools.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/__init__.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/markdown.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/tui/theme.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/web_tools.py +0 -0
- {mycode_cli-0.18.0 → mycode_cli-0.19.0}/src/mycode_cli/workspace.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: mycode-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.19.0
|
|
4
4
|
Summary: Minimal coding agent CLI and web UI built on mycode-sdk.
|
|
5
5
|
Project-URL: Homepage, https://github.com/legibet/mycode
|
|
6
6
|
Project-URL: Repository, https://github.com/legibet/mycode
|
|
@@ -25,7 +25,7 @@ Requires-Dist: beautifulsoup4>=4.15.0
|
|
|
25
25
|
Requires-Dist: fastapi>=0.139.0
|
|
26
26
|
Requires-Dist: httpx2>=2.10.0
|
|
27
27
|
Requires-Dist: markdownify>=1.2.3
|
|
28
|
-
Requires-Dist: mycode-sdk==0.
|
|
28
|
+
Requires-Dist: mycode-sdk==0.19.0
|
|
29
29
|
Requires-Dist: prompt-toolkit>=3.0.52
|
|
30
30
|
Requires-Dist: pydantic>=2.13.4
|
|
31
31
|
Requires-Dist: pygments>=2.20.0
|
|
@@ -122,21 +122,23 @@ The CLI assembles the system prompt from instructions files and discovered skill
|
|
|
122
122
|
|
|
123
123
|
## Terminal UI
|
|
124
124
|
|
|
125
|
-
| Key | Action
|
|
126
|
-
| ---------------------------- |
|
|
127
|
-
| Enter | Send the message; with a completion menu open, accept
|
|
128
|
-
|
|
|
129
|
-
|
|
|
130
|
-
|
|
|
131
|
-
|
|
|
132
|
-
| Ctrl+
|
|
133
|
-
|
|
|
125
|
+
| Key | Action |
|
|
126
|
+
| ---------------------------- | -------------------------------------------------------------------------------------- |
|
|
127
|
+
| Enter | Send the message (steer while a reply runs); with a completion menu open, accept it |
|
|
128
|
+
| Ctrl+Q | Queue the message for after the reply; otherwise send it |
|
|
129
|
+
| Alt+Up | Take back pending steers and queued messages into the input |
|
|
130
|
+
| Esc then Enter, or Alt+Enter | Insert a newline |
|
|
131
|
+
| Esc | Take back pending messages and interrupt the reply; close a selection list |
|
|
132
|
+
| Ctrl+C | Take back pending messages and interrupt the reply; otherwise clear the input |
|
|
133
|
+
| Ctrl+D | Exit (empty input only) |
|
|
134
|
+
| Ctrl+L | Clear the screen |
|
|
135
|
+
| Up / Down | Move between lines; on the first or last line, browse input history |
|
|
134
136
|
|
|
135
|
-
|
|
137
|
+
While a reply runs, Enter steers it: the model sees the message at its next step, after the running tools finish. Ctrl+Q queues the message instead; queued messages are sent together as the next turn when the reply finishes. Pending messages show above the input. Commands are unavailable until the reply ends.
|
|
136
138
|
|
|
137
139
|
`@path` attaches a file to the message: text files as snapshots, images and PDFs as image or document input. Pasted file paths become `@path` references.
|
|
138
140
|
|
|
139
|
-
Slash commands: `/new` `/resume` `/rewind` `/model` `/effort` `/
|
|
141
|
+
Slash commands: `/new` (alias `/clear`) `/resume` `/rewind` `/model` `/effort` `/compact` `/quit` (alias `/exit`). `exit` and `quit` also exit.
|
|
140
142
|
|
|
141
143
|
## CLI Reference
|
|
142
144
|
|
|
@@ -85,21 +85,23 @@ The CLI assembles the system prompt from instructions files and discovered skill
|
|
|
85
85
|
|
|
86
86
|
## Terminal UI
|
|
87
87
|
|
|
88
|
-
| Key | Action
|
|
89
|
-
| ---------------------------- |
|
|
90
|
-
| Enter | Send the message; with a completion menu open, accept
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
| Ctrl+
|
|
96
|
-
|
|
|
97
|
-
|
|
98
|
-
|
|
88
|
+
| Key | Action |
|
|
89
|
+
| ---------------------------- | -------------------------------------------------------------------------------------- |
|
|
90
|
+
| Enter | Send the message (steer while a reply runs); with a completion menu open, accept it |
|
|
91
|
+
| Ctrl+Q | Queue the message for after the reply; otherwise send it |
|
|
92
|
+
| Alt+Up | Take back pending steers and queued messages into the input |
|
|
93
|
+
| Esc then Enter, or Alt+Enter | Insert a newline |
|
|
94
|
+
| Esc | Take back pending messages and interrupt the reply; close a selection list |
|
|
95
|
+
| Ctrl+C | Take back pending messages and interrupt the reply; otherwise clear the input |
|
|
96
|
+
| Ctrl+D | Exit (empty input only) |
|
|
97
|
+
| Ctrl+L | Clear the screen |
|
|
98
|
+
| Up / Down | Move between lines; on the first or last line, browse input history |
|
|
99
|
+
|
|
100
|
+
While a reply runs, Enter steers it: the model sees the message at its next step, after the running tools finish. Ctrl+Q queues the message instead; queued messages are sent together as the next turn when the reply finishes. Pending messages show above the input. Commands are unavailable until the reply ends.
|
|
99
101
|
|
|
100
102
|
`@path` attaches a file to the message: text files as snapshots, images and PDFs as image or document input. Pasted file paths become `@path` references.
|
|
101
103
|
|
|
102
|
-
Slash commands: `/new` `/resume` `/rewind` `/model` `/effort` `/
|
|
104
|
+
Slash commands: `/new` (alias `/clear`) `/resume` `/rewind` `/model` `/effort` `/compact` `/quit` (alias `/exit`). `exit` and `quit` also exit.
|
|
103
105
|
|
|
104
106
|
## CLI Reference
|
|
105
107
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mycode-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.19.0"
|
|
8
8
|
description = "Minimal coding agent CLI and web UI built on mycode-sdk."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.12"
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
]
|
|
27
27
|
keywords = ["agent", "cli", "llm", "coding-agent", "fastapi"]
|
|
28
28
|
dependencies = [
|
|
29
|
-
"mycode-sdk==0.
|
|
29
|
+
"mycode-sdk==0.19.0",
|
|
30
30
|
"fastapi>=0.139.0",
|
|
31
31
|
"uvicorn[standard]>=0.51.0",
|
|
32
32
|
"rich>=15.0.0",
|
|
@@ -5,26 +5,21 @@ from __future__ import annotations
|
|
|
5
5
|
from mycode.agent import Agent
|
|
6
6
|
from mycode_cli.config import ResolvedProvider, Settings
|
|
7
7
|
from mycode_cli.permissions import ToolReviewCallback, build_permission_hooks
|
|
8
|
-
from mycode_cli.sessions import SessionStore,
|
|
8
|
+
from mycode_cli.sessions import SessionStore, SessionTotals, sum_session_totals
|
|
9
9
|
from mycode_cli.system_prompt import build_system_prompt
|
|
10
10
|
from mycode_cli.tools import DEFAULT_TOOLS
|
|
11
11
|
from mycode_cli.web_tools import build_web_tools
|
|
12
12
|
from mycode_cli.workspace import CliDeps
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def
|
|
16
|
-
|
|
17
|
-
return sum(known) if known else None
|
|
15
|
+
async def load_session_totals(store: SessionStore, session_id: str) -> SessionTotals:
|
|
16
|
+
"""Load the session's cumulative usage and USD cost from its raw JSONL timeline.
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"""Load the session's cumulative USD cost from its raw JSONL timeline.
|
|
22
|
-
|
|
23
|
-
Counts persisted costs from tool loops, compact summaries, and turns
|
|
24
|
-
discarded by rewind. Records without a cost are skipped.
|
|
18
|
+
Counts tool loops, compact summaries, and turns discarded by rewind.
|
|
19
|
+
Records without usage or cost contribute nothing to that total.
|
|
25
20
|
"""
|
|
26
21
|
|
|
27
|
-
return
|
|
22
|
+
return sum_session_totals(await store.load_raw_messages(session_id))
|
|
28
23
|
|
|
29
24
|
|
|
30
25
|
def build_agent(
|
|
@@ -21,7 +21,7 @@ from mycode.attachments import (
|
|
|
21
21
|
detect_document_mime_type,
|
|
22
22
|
detect_image_mime_type,
|
|
23
23
|
)
|
|
24
|
-
from mycode.compact import has_compactable_history
|
|
24
|
+
from mycode.compact import DEFAULT_COMPACT_THRESHOLD, has_compactable_history
|
|
25
25
|
from mycode.messages import (
|
|
26
26
|
ConversationMessage,
|
|
27
27
|
build_message,
|
|
@@ -30,6 +30,7 @@ from mycode.messages import (
|
|
|
30
30
|
image_block,
|
|
31
31
|
text_block,
|
|
32
32
|
)
|
|
33
|
+
from mycode.models import ModelMetadata
|
|
33
34
|
from mycode_cli.config import (
|
|
34
35
|
ResolvedProvider,
|
|
35
36
|
get_settings,
|
|
@@ -40,19 +41,21 @@ from mycode_cli.config import (
|
|
|
40
41
|
resolve_provider_choices,
|
|
41
42
|
)
|
|
42
43
|
from mycode_cli.permissions import ToolReviewDecision, ToolReviewRequest
|
|
43
|
-
from mycode_cli.runtime import build_agent,
|
|
44
|
+
from mycode_cli.runtime import build_agent, load_session_totals
|
|
44
45
|
from mycode_cli.server.deps import RunManagerDep, StoreDep, resolve_workspace_cwd
|
|
45
|
-
from mycode_cli.server.run_manager import ActiveRunError
|
|
46
|
+
from mycode_cli.server.run_manager import ActiveRunError, RunAgent
|
|
46
47
|
from mycode_cli.server.schemas import (
|
|
47
48
|
CancelRunResponse,
|
|
48
49
|
ChatRequest,
|
|
49
50
|
ChatResponse,
|
|
50
51
|
CompactRequest,
|
|
51
|
-
CompactResponse,
|
|
52
52
|
DecideRequest,
|
|
53
|
+
PendingInputRequest,
|
|
53
54
|
RunInfo,
|
|
55
|
+
RunResponse,
|
|
54
56
|
StatusResponse,
|
|
55
57
|
StreamEvent,
|
|
58
|
+
UserInputRequest,
|
|
56
59
|
)
|
|
57
60
|
from mycode_cli.system_prompt import build_skill_snapshot_blocks, discover_slash_skills
|
|
58
61
|
from mycode_cli.workspace import resolve_path
|
|
@@ -86,7 +89,7 @@ def _read_workspace_text_attachment(rel_path: str, *, name: str | None, cwd: str
|
|
|
86
89
|
raise HTTPException(status_code=400, detail=str(exc)) from exc
|
|
87
90
|
|
|
88
91
|
|
|
89
|
-
async def _build_user_message(chat:
|
|
92
|
+
async def _build_user_message(chat: UserInputRequest, cwd: str) -> ConversationMessage:
|
|
90
93
|
if not chat.input:
|
|
91
94
|
text = str(chat.message or "").strip()
|
|
92
95
|
snapshots = await asyncio.to_thread(build_skill_snapshot_blocks, text, cwd)
|
|
@@ -143,6 +146,14 @@ async def _build_user_message(chat: ChatRequest, cwd: str) -> ConversationMessag
|
|
|
143
146
|
return build_message("user", blocks)
|
|
144
147
|
|
|
145
148
|
|
|
149
|
+
def _check_input_support(message: ConversationMessage, model: ModelMetadata | RunAgent) -> None:
|
|
150
|
+
content_types = {b.get("type") for b in (message.get("content") or []) if isinstance(b, dict)}
|
|
151
|
+
if "image" in content_types and not model.supports_image_input:
|
|
152
|
+
raise HTTPException(status_code=400, detail="current model does not support image input")
|
|
153
|
+
if "document" in content_types and not model.supports_pdf_input:
|
|
154
|
+
raise HTTPException(status_code=400, detail="current model does not support PDF input")
|
|
155
|
+
|
|
156
|
+
|
|
146
157
|
def _validate_rewind_request(
|
|
147
158
|
*,
|
|
148
159
|
session: dict[str, Any] | None,
|
|
@@ -192,11 +203,7 @@ async def chat(chat: ChatRequest, store: StoreDep, runs: RunManagerDep) -> ChatR
|
|
|
192
203
|
model=resolved.model,
|
|
193
204
|
model_config=model_config,
|
|
194
205
|
)
|
|
195
|
-
|
|
196
|
-
if "image" in content_types and not model_meta.supports_image_input:
|
|
197
|
-
raise HTTPException(status_code=400, detail="current model does not support image input")
|
|
198
|
-
if "document" in content_types and not model_meta.supports_pdf_input:
|
|
199
|
-
raise HTTPException(status_code=400, detail="current model does not support PDF input")
|
|
206
|
+
_check_input_support(user_message, model_meta)
|
|
200
207
|
|
|
201
208
|
reasoning_effort = resolved.reasoning_effort
|
|
202
209
|
if "reasoning_effort" in chat.model_fields_set:
|
|
@@ -274,10 +281,11 @@ async def chat(chat: ChatRequest, store: StoreDep, runs: RunManagerDep) -> ChatR
|
|
|
274
281
|
try:
|
|
275
282
|
run = await runs.start_run(
|
|
276
283
|
session_id=session_id,
|
|
284
|
+
cwd=cwd,
|
|
277
285
|
user_message=user_message,
|
|
278
286
|
base_messages=agent.messages,
|
|
279
287
|
agent=agent,
|
|
280
|
-
|
|
288
|
+
session_base=await load_session_totals(store, session_id),
|
|
281
289
|
)
|
|
282
290
|
except ActiveRunError as exc:
|
|
283
291
|
existing = await runs.get_run(exc.run_id)
|
|
@@ -339,7 +347,7 @@ async def compact_session(
|
|
|
339
347
|
body: CompactRequest,
|
|
340
348
|
store: StoreDep,
|
|
341
349
|
runs: RunManagerDep,
|
|
342
|
-
) ->
|
|
350
|
+
) -> RunResponse:
|
|
343
351
|
"""Start a compact run: summarize the session and append one compact marker."""
|
|
344
352
|
|
|
345
353
|
async with runs.session_operation(session_id):
|
|
@@ -372,9 +380,10 @@ async def compact_session(
|
|
|
372
380
|
try:
|
|
373
381
|
run = await runs.start_compact(
|
|
374
382
|
session_id=session_id,
|
|
383
|
+
cwd=cwd,
|
|
375
384
|
base_messages=agent.messages,
|
|
376
385
|
agent=agent,
|
|
377
|
-
|
|
386
|
+
session_base=data["totals"],
|
|
378
387
|
on_complete=store.touch,
|
|
379
388
|
)
|
|
380
389
|
except ActiveRunError as exc:
|
|
@@ -384,7 +393,86 @@ async def compact_session(
|
|
|
384
393
|
detail["run"] = existing.info()
|
|
385
394
|
raise HTTPException(status_code=409, detail=detail) from exc
|
|
386
395
|
|
|
387
|
-
return
|
|
396
|
+
return RunResponse(run=RunInfo.model_validate(run))
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
@router.post("/runs/{run_id}/steer")
|
|
400
|
+
async def steer_run(
|
|
401
|
+
run_id: Annotated[str, PathParam(min_length=1)], body: PendingInputRequest, runs: RunManagerDep
|
|
402
|
+
) -> RunResponse:
|
|
403
|
+
"""Hand a user message to the running chat for its next step boundary."""
|
|
404
|
+
|
|
405
|
+
state = await runs.get_run(run_id)
|
|
406
|
+
if state is None:
|
|
407
|
+
raise HTTPException(status_code=404, detail="run not found")
|
|
408
|
+
message = await _build_user_message(body, state.cwd)
|
|
409
|
+
message["meta"] = {"input_id": body.input_id}
|
|
410
|
+
_check_input_support(message, state.agent)
|
|
411
|
+
if not state.agent.steer(message):
|
|
412
|
+
raise HTTPException(
|
|
413
|
+
status_code=409,
|
|
414
|
+
detail={"message": "run is not accepting steers", "run": state.info()},
|
|
415
|
+
)
|
|
416
|
+
return RunResponse(run=RunInfo.model_validate(state.info()))
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
@router.post("/sessions/{session_id}/queue")
|
|
420
|
+
async def queue_message(
|
|
421
|
+
session_id: Annotated[str, PathParam(min_length=1)],
|
|
422
|
+
body: PendingInputRequest,
|
|
423
|
+
store: StoreDep,
|
|
424
|
+
runs: RunManagerDep,
|
|
425
|
+
) -> RunResponse:
|
|
426
|
+
"""Queue a user message as the next turn of the session's running chat."""
|
|
427
|
+
|
|
428
|
+
state = await runs.get_active_run(session_id)
|
|
429
|
+
if state is None:
|
|
430
|
+
raise HTTPException(status_code=409, detail={"message": "session has no running chat to queue on"})
|
|
431
|
+
message = await _build_user_message(body, state.cwd)
|
|
432
|
+
message["meta"] = {"input_id": body.input_id}
|
|
433
|
+
_check_input_support(message, state.agent)
|
|
434
|
+
if not await runs.enqueue(state, message):
|
|
435
|
+
raise HTTPException(status_code=409, detail={"message": "session has no running chat to queue on"})
|
|
436
|
+
await store.record_user_turn(
|
|
437
|
+
session_id,
|
|
438
|
+
cwd=state.cwd,
|
|
439
|
+
text=flatten_message_text(message, include_thinking=False),
|
|
440
|
+
)
|
|
441
|
+
return RunResponse(run=RunInfo.model_validate(state.info()))
|
|
442
|
+
|
|
443
|
+
|
|
444
|
+
@router.delete("/sessions/{session_id}/queue/{input_id}")
|
|
445
|
+
async def remove_queued_message(
|
|
446
|
+
session_id: Annotated[str, PathParam(min_length=1)],
|
|
447
|
+
input_id: Annotated[str, PathParam(min_length=1)],
|
|
448
|
+
runs: RunManagerDep,
|
|
449
|
+
) -> RunResponse:
|
|
450
|
+
"""Remove a queued message that has not been delivered."""
|
|
451
|
+
|
|
452
|
+
run = await runs.remove_queued(session_id, input_id)
|
|
453
|
+
if run is None:
|
|
454
|
+
raise HTTPException(status_code=404, detail="queued message not found")
|
|
455
|
+
return RunResponse(run=RunInfo.model_validate(run))
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
@router.post("/sessions/{session_id}/queue/{input_id}/steer")
|
|
459
|
+
async def steer_queued_message(
|
|
460
|
+
session_id: Annotated[str, PathParam(min_length=1)],
|
|
461
|
+
input_id: Annotated[str, PathParam(min_length=1)],
|
|
462
|
+
runs: RunManagerDep,
|
|
463
|
+
) -> RunResponse:
|
|
464
|
+
"""Move a queued message into the current turn, keeping it as built."""
|
|
465
|
+
|
|
466
|
+
state = await runs.get_active_run(session_id)
|
|
467
|
+
moved = None if state is None else await runs.steer_queued(state, input_id)
|
|
468
|
+
if state is None or moved is None:
|
|
469
|
+
raise HTTPException(status_code=404, detail="queued message not found")
|
|
470
|
+
if not moved:
|
|
471
|
+
raise HTTPException(
|
|
472
|
+
status_code=409,
|
|
473
|
+
detail={"message": "run is not accepting steers", "run": state.info()},
|
|
474
|
+
)
|
|
475
|
+
return RunResponse(run=RunInfo.model_validate(state.info()))
|
|
388
476
|
|
|
389
477
|
|
|
390
478
|
@router.get("/config")
|
|
@@ -454,6 +542,10 @@ async def get_config(cwd: Annotated[str | None, Query()] = None) -> dict[str, An
|
|
|
454
542
|
"cwd_exists": os.path.isdir(resolved_cwd),
|
|
455
543
|
"project": settings.project,
|
|
456
544
|
"config_paths": settings.config_paths,
|
|
545
|
+
# Effective for this cwd; 0 disables automatic compaction.
|
|
546
|
+
"compact_threshold": (
|
|
547
|
+
settings.compact_threshold if settings.compact_threshold is not None else DEFAULT_COMPACT_THRESHOLD
|
|
548
|
+
),
|
|
457
549
|
"skills": [{"name": skill.name, "description": skill.description} for skill in skills],
|
|
458
550
|
"setup_error": setup_error,
|
|
459
551
|
}
|
|
@@ -11,6 +11,7 @@ from fastapi import Path as PathParam
|
|
|
11
11
|
from mycode.messages import ConversationMessage
|
|
12
12
|
from mycode_cli.server.deps import RunManagerDep, StoreDep, resolve_workspace_cwd
|
|
13
13
|
from mycode_cli.server.schemas import SessionCreateRequest, StatusResponse
|
|
14
|
+
from mycode_cli.sessions import SessionTotals
|
|
14
15
|
|
|
15
16
|
router = APIRouter(prefix="/sessions", tags=["sessions"])
|
|
16
17
|
|
|
@@ -50,6 +51,21 @@ async def list_sessions(
|
|
|
50
51
|
return {"sessions": sessions}
|
|
51
52
|
|
|
52
53
|
|
|
54
|
+
@router.get("/search")
|
|
55
|
+
async def search_sessions(
|
|
56
|
+
store: StoreDep,
|
|
57
|
+
runs: RunManagerDep,
|
|
58
|
+
q: Annotated[str, Query(min_length=1)],
|
|
59
|
+
cwd: Annotated[str | None, Query()] = None,
|
|
60
|
+
limit: Annotated[int, Query(ge=1)] = 50,
|
|
61
|
+
) -> dict[str, Any]:
|
|
62
|
+
results = await store.search_sessions(q, cwd=cwd, limit=limit)
|
|
63
|
+
for result in results:
|
|
64
|
+
session = result["session"]
|
|
65
|
+
session["is_running"] = await runs.has_active_run(str(session["id"]))
|
|
66
|
+
return {"results": results}
|
|
67
|
+
|
|
68
|
+
|
|
53
69
|
@router.get("/{session_id}")
|
|
54
70
|
async def load_session(
|
|
55
71
|
session_id: Annotated[str, PathParam(min_length=1)], store: StoreDep, runs: RunManagerDep
|
|
@@ -62,22 +78,31 @@ async def load_session(
|
|
|
62
78
|
return {
|
|
63
79
|
"session": await store.load_metadata(session_id),
|
|
64
80
|
"messages": _redact_document_data(active["messages"]),
|
|
65
|
-
|
|
81
|
+
**active["totals"].payload(),
|
|
66
82
|
"active_run": active["run"],
|
|
67
83
|
"pending_events": active["pending_events"],
|
|
84
|
+
"pending": {kind: _redact_document_data(messages) for kind, messages in active["pending"].items()},
|
|
68
85
|
}
|
|
69
86
|
|
|
70
87
|
data = await store.load_session(session_id)
|
|
71
88
|
|
|
72
89
|
if data is None:
|
|
73
|
-
return {
|
|
90
|
+
return {
|
|
91
|
+
"session": None,
|
|
92
|
+
"messages": [],
|
|
93
|
+
**SessionTotals().payload(),
|
|
94
|
+
"active_run": None,
|
|
95
|
+
"pending_events": [],
|
|
96
|
+
"pending": {"steers": [], "queue": []},
|
|
97
|
+
}
|
|
74
98
|
|
|
75
99
|
return {
|
|
76
100
|
"session": data["session"],
|
|
77
101
|
"messages": _redact_document_data(data["messages"]),
|
|
78
|
-
|
|
102
|
+
**data["totals"].payload(),
|
|
79
103
|
"active_run": None,
|
|
80
104
|
"pending_events": [],
|
|
105
|
+
"pending": {"steers": [], "queue": []},
|
|
81
106
|
}
|
|
82
107
|
|
|
83
108
|
|
|
@@ -90,14 +115,3 @@ async def delete_session(
|
|
|
90
115
|
raise HTTPException(status_code=409, detail="session has a running task")
|
|
91
116
|
await store.delete_session(session_id)
|
|
92
117
|
return StatusResponse(status="ok")
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
@router.post("/{session_id}/clear")
|
|
96
|
-
async def clear_session(
|
|
97
|
-
session_id: Annotated[str, PathParam(min_length=1)], store: StoreDep, runs: RunManagerDep
|
|
98
|
-
) -> StatusResponse:
|
|
99
|
-
async with runs.session_operation(session_id):
|
|
100
|
-
if await runs.has_active_run(session_id):
|
|
101
|
-
raise HTTPException(status_code=409, detail="session has a running task")
|
|
102
|
-
await store.clear_session(session_id)
|
|
103
|
-
return StatusResponse(status="ok")
|