mycode-cli 0.4.3__tar.gz → 0.5.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.4.3 → mycode_cli-0.5.0}/PKG-INFO +36 -35
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/README.md +34 -33
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/pyproject.toml +2 -2
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/config.py +17 -9
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/main.py +3 -7
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/runtime.py +19 -17
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/deps.py +2 -1
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/routers/chat.py +29 -31
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/routers/sessions.py +3 -10
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/schemas.py +2 -7
- mycode_cli-0.4.3/src/mycode_cli/server/static/assets/EditDiff-CkRmDFja.js → mycode_cli-0.5.0/src/mycode_cli/server/static/assets/EditDiff-WSvfoXLm.js +1 -1
- mycode_cli-0.4.3/src/mycode_cli/server/static/assets/index-Cymmw6zT.js → mycode_cli-0.5.0/src/mycode_cli/server/static/assets/index-CzU-UeUh.js +54 -56
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/index.html +1 -1
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/system_prompt.py +1 -2
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/tui/chat.py +9 -15
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/tui/render.py +33 -33
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/.gitignore +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/LICENSE +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/hatch_build.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/__init__.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/__init__.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/app.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/routers/__init__.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/routers/workspaces.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/run_manager.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/abap-BdImnpbu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/actionscript-3-CoDkCxhg.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ada-bCR0ucgS.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/andromeeda-C4gqWexZ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/angular-html-DA-rfuFy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/angular-ts-BrjP3tb8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/apache-Pmp26Uib.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/apex-D8_7TLub.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/apl-CORt7UWP.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/applescript-Co6uUVPk.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ara-BRHolxvo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/asciidoc-Ve4PFQV2.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/asm-D_Q5rh1f.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/astro-HNnZUWAn.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/aurora-x-D-2ljcwZ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/awk-DMzUqQB5.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ayu-dark-DYE7WIF3.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ayu-light-BA47KaF1.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ayu-mirage-32ctXXKs.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ballerina-BFfxhgS-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/bat-BkioyH1T.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/beancount-k_qm7-4y.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/berry-uYugtg8r.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/bibtex-CHM0blh-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/bicep-Bmn6On1c.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/bird2-BIv1doCn.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/blade-BjGOyj-B.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/bsl-BO_Y6i37.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/c-BIGW1oBm.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/c3-eo99z4R2.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cadence-Bv_4Rxtq.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cairo-KRGpt6FW.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/catppuccin-frappe-DFWUc33u.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/clarity-D53aC0YG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/clojure-P80f7IUj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cmake-D1j8_8rp.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cobol-nBiQ_Alo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/codeowners-Bp6g37R7.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/codeql-DsOJ9woJ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/coffee-Ch7k5sss.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/common-lisp-Cg-RD9OK.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/coq-DkFqJrB1.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cpp-CofmeUqb.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/crystal-DNxU26gB.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/csharp-COcwbKMJ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/css-CLj8gQPS.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/csv-fuZLfV_i.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cue-D82EKSYY.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/cypher-COkxafJQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/d-85-TOEBH.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dark-plus-C3mMm8J8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dart-bE4Kk8sk.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dax-CEL-wOlO.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/desktop-BmXAJ9_W.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/diff-D97Zzqfu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/docker-BcOcwvcX.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dotenv-Da5cRb03.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dracula-BzJJZx-M.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dracula-soft-BXkSAIEj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/dream-maker-BtqSS_iP.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/edge-FbVlp4U3.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/elixir-CkH2-t6x.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/elm-DbKCFpqz.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/emacs-lisp-CXvaQtF9.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/erb-BYCe7drp.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/erlang-DsQrWhSR.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/everforest-dark-BgDCqdQA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/everforest-light-C8M2exoo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fennel-BYunw83y.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fish-BvzEVeQv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fluent-C4IJs8-o.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fortran-free-form-BxgE0vQu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/fsharp-CXgrBDvD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gdresource-BOOCDP_w.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gdscript-C5YyOfLZ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gdshader-DkwncUOv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/genie-D0YGMca9.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gherkin-DyxjwDmM.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/git-commit-F4YmCXRG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/git-rebase-r7XF79zn.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-dark-DHJKELXO.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-dark-default-Cuk6v7N8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-light-DAi9KRSo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-light-default-D7oLnXFd.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gleam-BspZqrRM.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/glimmer-js-ByusRIyA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/glimmer-ts-BfAWNZQY.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/glsl-DplSGwfg.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gn-n2N0HUVH.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gnuplot-DdkO51Og.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/go-C27-OAKa.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/graphql-ChdNCCLP.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/groovy-gcz8RCvz.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hack-i7_Ulhet.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/haml-D5jkg6IW.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/handlebars-BpdQsYii.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/haskell-Df6bDoY_.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/haxe-CzTSHFRz.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hcl-BWvSN4gD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hjson-D5-asLiD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hlsl-D3lLCCz7.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/horizon-BUw7H-hv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/horizon-bright-CUuTKBJd.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/houston-DnULxvSX.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/html-derivative-DlHx6ybY.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/html-pp8916En.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/http-jrhK8wxY.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hurl-irOxFIW8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hxml-Bvhsp5Yf.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/hy-DFXneXwc.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/imba-DGztddWO.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/index-Bi2yKki-.css +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ini-BEwlwnbL.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/java-CylS5w8V.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/javascript-wDzz0qaB.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jinja-f2NsQr07.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jison-wvAkD_A8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/json-Cp-IABpG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/json5-C9tS-k6U.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jsonc-Des-eS-w.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jsonl-DcaNXYhu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jsonnet-DFQXde-d.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jssm-C2t-YnRu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/jsx-g9-lgVsj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/julia-CxzCAyBv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/just-VxiPbLrw.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kanagawa-wave-DWedfzmr.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kdl-DV7GczEv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kotlin-BdnUsdx6.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/kusto-wEQ09or8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/laserwave-DUszq2jm.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/latex-CWtU0Tv5.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/lean-BZvkOJ9d.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/less-B1dDrJ26.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/light-plus-B7mTdjB0.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/liquid-C0sCDyMI.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/llvm-DjAJT7YJ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/log-2UxHyX5q.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/logo-BtOb2qkB.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/lua-BaeVxFsk.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/luau-C-HG3fhB.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/make-CHLpvVh8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/markdown-Cvjx9yec.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/marko-DjSrsDqO.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/material-theme-D5KoaKCx.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/material-theme-darker-BfHTSMKl.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/material-theme-lighter-B0m2ddpp.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/material-theme-ocean-CyktbL80.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/matlab-D7o27uSR.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/mdc-DTYItulj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/mdx-Cmh6b_Ma.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/mermaid-mWjccvbQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/min-dark-CafNBF8u.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/min-light-CTRr51gU.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/mipsasm-CKIfxQSi.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/mojo-rZm6bMo-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/monokai-D4h5O-jR.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/moonbit-_H4v1dQx.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/move-IF9eRakj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/narrat-DRg8JJMk.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nextflow-C-mBbutL.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nextflow-groovy-vE_lwT2v.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nginx-BpAMiNFr.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/night-owl-C39BiMTA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/night-owl-light-CMTm3GFP.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nim-BIad80T-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nix-CwoSXNpI.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nord-Ddv68eIx.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/nushell-Cz2AlsmD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/objective-c-DXmwc3jG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/objective-cpp-CLxacb5B.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ocaml-C0hk2d4L.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/odin-BBf5iR-q.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/one-dark-pro-DVMEJ2y_.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/one-light-C3Wv6jpd.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/openscad-C4EeE6gA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/pascal-D93ZcfNL.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/perl-NvoQZIq0.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/php-R6g_5hLQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/pkl-u5AG7uiY.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/plastic-3e1v2bzS.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/plsql-ChMvpjG-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/po-BTJTHyun.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/poimandres-CS3Unz2-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/polar-C0HS_06l.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/postcss-CXtECtnM.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/powerquery-CEu0bR-o.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/powershell-Dpen1YoG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/prisma-Dd19v3D-.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/prolog-CbFg5uaA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/proto-C7zT0LnQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/pug-DKIMFp6K.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/puppet-BMWR74SV.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/purescript-CklMAg4u.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/python-B6aJPvgy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/qml-3beO22l8.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/qmldir-C8lEn-DE.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/qss-IeuSbFQv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/r-Dspwwk_N.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/racket-BqYA7rlc.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/raku-DXvB9xmW.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/razor-BDqjjVU7.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/red-bN70gL4F.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/reg-C-SQnVFl.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/regexp-CDVJQ6XC.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rel-C3B-1QV4.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/riscv-BM1_JUlF.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ron-D8l8udqQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rose-pine-moon-D4_iv3hh.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rose-pine-qdsjHGoJ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rosmsg-BJDFO7_C.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rst-CRjBmOyv.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ruby-Wjq7vjNf.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/rust-B1yitclQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/sas-cz2c8ADy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/sass-Cj5Yp3dK.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/scala-C151Ov-r.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/scheme-C98Dy4si.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/scss-D5BDwBP9.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/sdbl-DVxCFoDh.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/shaderlab-Dg9Lc6iA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/shellscript-Yzrsuije.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/shellsession-BADoaaVG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/slack-dark-BthQWCQV.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/slack-ochin-DqwNpetd.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/smalltalk-BERRCDM3.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/snazzy-light-Bw305WKR.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/solarized-dark-DXbdFlpD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/solarized-light-L9t79GZl.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/solidity-rGO070M0.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/soy-8wufbnw4.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/sparql-rVzFXLq3.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/splunk-BtCnVYZw.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/sql-BLtJtn59.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ssh-config-_ykCGR6B.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/stata-BH5u7GGu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/stylus-BEDo0Tqx.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/surrealql-Bq5Q-fJD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/svelte-Cy7k_4gC.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/swift-D82vCrfD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/synthwave-84-CbfX1IO0.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/system-verilog-CnnmHF94.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/systemd-4A_iFExJ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/talonscript-CkByrt1z.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tasl-QIJgUcNo.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tcl-dwOrl1Do.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/templ-DhtptRzy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/terraform-BETggiCN.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tex-idrVyKtj.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tokyo-night-hegEt444.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/toml-vGWfd6FD.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/ts-tags-DQrlYJgV.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tsv-B_m7g4N7.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/tsx-COt5Ahok.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/turtle-BsS91CYL.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/twig-xg9kU7Mw.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/typescript-BPQ3VLAy.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/typespec-CAFt9gP4.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/typst-DHCkPAjA.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/v-BcVCzyr7.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vala-CsfeWuGM.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vb-D17OF-Vu.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/verilog-BQ8w6xss.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vesper-DU1UobuO.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vhdl-CeAyd5Ju.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/viml-CJc9bBzg.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vitesse-black-Bkuqu6BP.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vitesse-dark-D0r3Knsf.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vitesse-light-CVO1_9PV.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vue-D2xRrEX4.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vue-html-AaS7Mt5G.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vue-vine-BoDAl6tE.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/vyper-CDx5xZoG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wasm-CG6Dc4jp.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wasm-MzD3tlZU.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wenyan-BV7otONQ.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wgsl-Dx-B1_4e.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wikitext-BhOHFoWU.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wit-5i3qLPDT.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/wolfram-lXgVvXCa.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/xml-sdJ4AIDG.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/xsl-CtQFsRM5.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/yaml-Buea-lGh.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/zenscript-DVFEvuxE.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/assets/zig-VOosw3JB.js +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/server/static/favicon_slashes.svg +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/tui/__init__.py +0 -0
- {mycode_cli-0.4.3 → mycode_cli-0.5.0}/src/mycode_cli/tui/theme.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mycode-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.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
|
|
@@ -22,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
22
22
|
Classifier: Topic :: Software Development
|
|
23
23
|
Requires-Python: >=3.12
|
|
24
24
|
Requires-Dist: fastapi>=0.115.0
|
|
25
|
-
Requires-Dist: mycode-sdk==0.
|
|
25
|
+
Requires-Dist: mycode-sdk==0.5.0
|
|
26
26
|
Requires-Dist: prompt-toolkit>=3.0.52
|
|
27
27
|
Requires-Dist: pyyaml>=6.0.0
|
|
28
28
|
Requires-Dist: rich>=14.2.0
|
|
@@ -36,13 +36,11 @@ Description-Content-Type: text/markdown
|
|
|
36
36
|
|
|
37
37
|
A minimal coding agent. Inspired by [pi](https://github.com/badlogic/pi-mono).
|
|
38
38
|
|
|
39
|
-
- Minimal core (
|
|
40
|
-
-
|
|
41
|
-
- 4 built-in tools: `read`, `write`, `edit`, `bash`, expanded via skills.
|
|
42
|
-
- Inspectable runtime, append-only JSONL sessions.
|
|
43
|
-
- Native image and pdf input support.
|
|
39
|
+
- Minimal agent core (< 5k lines) with multiple provider support and robust message replay.
|
|
40
|
+
- 4 built-in tools only (`read`, `write`, `edit`, `bash`), expanded via skills.
|
|
44
41
|
- Mobile-friendly web UI.
|
|
45
|
-
-
|
|
42
|
+
- Native image and pdf input support.
|
|
43
|
+
- Lightweight Python SDK for building custom agents.
|
|
46
44
|
|
|
47
45
|
## Quick Start
|
|
48
46
|
|
|
@@ -52,7 +50,7 @@ Requires Python 3.12+. Install via [uv](https://docs.astral.sh/uv/):
|
|
|
52
50
|
uv tool install mycode-cli
|
|
53
51
|
```
|
|
54
52
|
|
|
55
|
-
Interactive terminal
|
|
53
|
+
Interactive terminal UI:
|
|
56
54
|
|
|
57
55
|
```bash
|
|
58
56
|
mycode
|
|
@@ -61,7 +59,7 @@ mycode
|
|
|
61
59
|
Web UI (default at `http://localhost:8000`):
|
|
62
60
|
|
|
63
61
|
```bash
|
|
64
|
-
mycode web
|
|
62
|
+
mycode web [--port <port>] [--hostname <hostname>]
|
|
65
63
|
```
|
|
66
64
|
|
|
67
65
|
Single message, non-interactive:
|
|
@@ -70,32 +68,33 @@ Single message, non-interactive:
|
|
|
70
68
|
mycode run "explain how the session store works"
|
|
71
69
|
```
|
|
72
70
|
|
|
73
|
-
API keys are discovered automatically from environment variables (see Providers
|
|
71
|
+
API keys are discovered automatically from environment variables (see Providers).
|
|
74
72
|
|
|
75
|
-
## Providers
|
|
73
|
+
## Providers
|
|
76
74
|
|
|
77
|
-
| Provider | id | Env var |
|
|
78
|
-
| ----------------- | ------------- | -------------------- |
|
|
79
|
-
| Anthropic | `anthropic` | `ANTHROPIC_API_KEY` |
|
|
80
|
-
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
81
|
-
| Google Gemini | `google` | `GEMINI_API_KEY` |
|
|
82
|
-
| Moonshot | `moonshotai` | `MOONSHOT_API_KEY` |
|
|
83
|
-
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
84
|
-
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` |
|
|
85
|
-
| Z.AI | `zai` | `ZAI_API_KEY` |
|
|
86
|
-
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` |
|
|
87
|
-
| OpenAI-compatible | `openai_chat` | — |
|
|
75
|
+
| Provider | id | Env var |
|
|
76
|
+
| ----------------- | ------------- | -------------------- |
|
|
77
|
+
| Anthropic | `anthropic` | `ANTHROPIC_API_KEY` |
|
|
78
|
+
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
79
|
+
| Google Gemini | `google` | `GEMINI_API_KEY` |
|
|
80
|
+
| Moonshot | `moonshotai` | `MOONSHOT_API_KEY` |
|
|
81
|
+
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
82
|
+
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` |
|
|
83
|
+
| Z.AI | `zai` | `ZAI_API_KEY` |
|
|
84
|
+
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` |
|
|
85
|
+
| OpenAI-compatible | `openai_chat` | — |
|
|
86
|
+
|
|
87
|
+
Run `/model` in tui to see the available models.
|
|
88
88
|
|
|
89
89
|
## Configuration
|
|
90
90
|
|
|
91
|
-
|
|
91
|
+
A config file is optional — API keys from the environment are usually sufficient.
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
2. Overriding built-in provider settings (e.g. changing the available model list)
|
|
95
|
-
3. Adding custom providers with any built-in provider type.
|
|
96
|
-
4. Customize model metadata for built-in and custom models.
|
|
93
|
+
Create `~/.mycode/config.json` (global) or `<workspace>/.mycode/config.json` (project, takes precedence) to:
|
|
97
94
|
|
|
98
|
-
|
|
95
|
+
- set a default provider, model, and reasoning effort
|
|
96
|
+
- expose additional models on an existing provider (e.g. OpenRouter's catalog)
|
|
97
|
+
- register a custom endpoint, such as a private or regional deployment
|
|
99
98
|
|
|
100
99
|
```json
|
|
101
100
|
{
|
|
@@ -133,12 +132,12 @@ Config is loaded from `~/.mycode/config.json` (global) and `<workspace>/.mycode/
|
|
|
133
132
|
}
|
|
134
133
|
```
|
|
135
134
|
|
|
136
|
-
-
|
|
135
|
+
- To override a built-in provider, reuse its id as the key — no `type` needed. Custom providers must declare a `type` — one of the built-in protocols.
|
|
137
136
|
- `reasoning_effort` controls extended thinking for supported models: `auto` (default) · `none` · `low` · `medium` · `high` · `xhigh`.
|
|
138
137
|
- API keys in config accept `${ENV_VAR}` references.
|
|
139
|
-
- Model metadata is
|
|
138
|
+
- Model metadata is bundled from [models.dev](https://models.dev) — `{}` is enough for most models. Provide explicit fields only for models not listed there.
|
|
140
139
|
|
|
141
|
-
> Built-in Moonshot, MiniMax, and Z.AI
|
|
140
|
+
> Built-in Moonshot, MiniMax, and Z.AI providers default to international endpoints. Override `base_url` for China endpoints.
|
|
142
141
|
|
|
143
142
|
## CLI Reference
|
|
144
143
|
|
|
@@ -152,12 +151,12 @@ mycode web --dev API only, no static files
|
|
|
152
151
|
mycode session list list saved sessions
|
|
153
152
|
```
|
|
154
153
|
|
|
155
|
-
Interactive slash commands: `/new` `/resume` `/provider` `/model` `/effort` `/clear` `/q`
|
|
154
|
+
Interactive slash commands: `/new` `/resume` `/rewind` `/provider` `/model` `/effort` `/clear` `/q`
|
|
156
155
|
|
|
157
156
|
## Development
|
|
158
157
|
|
|
159
158
|
```bash
|
|
160
|
-
git clone
|
|
159
|
+
git clone https://github.com/legibet/mycode.git && cd mycode
|
|
161
160
|
uv sync --dev
|
|
162
161
|
uv run mycode
|
|
163
162
|
```
|
|
@@ -186,6 +185,8 @@ uv build --package mycode-cli
|
|
|
186
185
|
|
|
187
186
|
## mycode-sdk
|
|
188
187
|
|
|
188
|
+
Agent core as a lightweight Python SDK for building agents. Install via: `uv add mycode-sdk`
|
|
189
|
+
|
|
189
190
|
```python
|
|
190
191
|
import asyncio
|
|
191
192
|
from mycode import Agent, bash_tool, read_tool
|
|
@@ -205,7 +206,7 @@ async def main() -> None:
|
|
|
205
206
|
asyncio.run(main())
|
|
206
207
|
```
|
|
207
208
|
|
|
208
|
-
See
|
|
209
|
+
See [mycode/README.md](mycode/README.md) for details.
|
|
209
210
|
|
|
210
211
|
## License
|
|
211
212
|
|
|
@@ -4,13 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
A minimal coding agent. Inspired by [pi](https://github.com/badlogic/pi-mono).
|
|
6
6
|
|
|
7
|
-
- Minimal core (
|
|
8
|
-
-
|
|
9
|
-
- 4 built-in tools: `read`, `write`, `edit`, `bash`, expanded via skills.
|
|
10
|
-
- Inspectable runtime, append-only JSONL sessions.
|
|
11
|
-
- Native image and pdf input support.
|
|
7
|
+
- Minimal agent core (< 5k lines) with multiple provider support and robust message replay.
|
|
8
|
+
- 4 built-in tools only (`read`, `write`, `edit`, `bash`), expanded via skills.
|
|
12
9
|
- Mobile-friendly web UI.
|
|
13
|
-
-
|
|
10
|
+
- Native image and pdf input support.
|
|
11
|
+
- Lightweight Python SDK for building custom agents.
|
|
14
12
|
|
|
15
13
|
## Quick Start
|
|
16
14
|
|
|
@@ -20,7 +18,7 @@ Requires Python 3.12+. Install via [uv](https://docs.astral.sh/uv/):
|
|
|
20
18
|
uv tool install mycode-cli
|
|
21
19
|
```
|
|
22
20
|
|
|
23
|
-
Interactive terminal
|
|
21
|
+
Interactive terminal UI:
|
|
24
22
|
|
|
25
23
|
```bash
|
|
26
24
|
mycode
|
|
@@ -29,7 +27,7 @@ mycode
|
|
|
29
27
|
Web UI (default at `http://localhost:8000`):
|
|
30
28
|
|
|
31
29
|
```bash
|
|
32
|
-
mycode web
|
|
30
|
+
mycode web [--port <port>] [--hostname <hostname>]
|
|
33
31
|
```
|
|
34
32
|
|
|
35
33
|
Single message, non-interactive:
|
|
@@ -38,32 +36,33 @@ Single message, non-interactive:
|
|
|
38
36
|
mycode run "explain how the session store works"
|
|
39
37
|
```
|
|
40
38
|
|
|
41
|
-
API keys are discovered automatically from environment variables (see Providers
|
|
39
|
+
API keys are discovered automatically from environment variables (see Providers).
|
|
42
40
|
|
|
43
|
-
## Providers
|
|
41
|
+
## Providers
|
|
44
42
|
|
|
45
|
-
| Provider | id | Env var |
|
|
46
|
-
| ----------------- | ------------- | -------------------- |
|
|
47
|
-
| Anthropic | `anthropic` | `ANTHROPIC_API_KEY` |
|
|
48
|
-
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
49
|
-
| Google Gemini | `google` | `GEMINI_API_KEY` |
|
|
50
|
-
| Moonshot | `moonshotai` | `MOONSHOT_API_KEY` |
|
|
51
|
-
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
52
|
-
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` |
|
|
53
|
-
| Z.AI | `zai` | `ZAI_API_KEY` |
|
|
54
|
-
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` |
|
|
55
|
-
| OpenAI-compatible | `openai_chat` | — |
|
|
43
|
+
| Provider | id | Env var |
|
|
44
|
+
| ----------------- | ------------- | -------------------- |
|
|
45
|
+
| Anthropic | `anthropic` | `ANTHROPIC_API_KEY` |
|
|
46
|
+
| OpenAI | `openai` | `OPENAI_API_KEY` |
|
|
47
|
+
| Google Gemini | `google` | `GEMINI_API_KEY` |
|
|
48
|
+
| Moonshot | `moonshotai` | `MOONSHOT_API_KEY` |
|
|
49
|
+
| MiniMax | `minimax` | `MINIMAX_API_KEY` |
|
|
50
|
+
| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` |
|
|
51
|
+
| Z.AI | `zai` | `ZAI_API_KEY` |
|
|
52
|
+
| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` |
|
|
53
|
+
| OpenAI-compatible | `openai_chat` | — |
|
|
54
|
+
|
|
55
|
+
Run `/model` in tui to see the available models.
|
|
56
56
|
|
|
57
57
|
## Configuration
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
A config file is optional — API keys from the environment are usually sufficient.
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
2. Overriding built-in provider settings (e.g. changing the available model list)
|
|
63
|
-
3. Adding custom providers with any built-in provider type.
|
|
64
|
-
4. Customize model metadata for built-in and custom models.
|
|
61
|
+
Create `~/.mycode/config.json` (global) or `<workspace>/.mycode/config.json` (project, takes precedence) to:
|
|
65
62
|
|
|
66
|
-
|
|
63
|
+
- set a default provider, model, and reasoning effort
|
|
64
|
+
- expose additional models on an existing provider (e.g. OpenRouter's catalog)
|
|
65
|
+
- register a custom endpoint, such as a private or regional deployment
|
|
67
66
|
|
|
68
67
|
```json
|
|
69
68
|
{
|
|
@@ -101,12 +100,12 @@ Config is loaded from `~/.mycode/config.json` (global) and `<workspace>/.mycode/
|
|
|
101
100
|
}
|
|
102
101
|
```
|
|
103
102
|
|
|
104
|
-
-
|
|
103
|
+
- To override a built-in provider, reuse its id as the key — no `type` needed. Custom providers must declare a `type` — one of the built-in protocols.
|
|
105
104
|
- `reasoning_effort` controls extended thinking for supported models: `auto` (default) · `none` · `low` · `medium` · `high` · `xhigh`.
|
|
106
105
|
- API keys in config accept `${ENV_VAR}` references.
|
|
107
|
-
- Model metadata is
|
|
106
|
+
- Model metadata is bundled from [models.dev](https://models.dev) — `{}` is enough for most models. Provide explicit fields only for models not listed there.
|
|
108
107
|
|
|
109
|
-
> Built-in Moonshot, MiniMax, and Z.AI
|
|
108
|
+
> Built-in Moonshot, MiniMax, and Z.AI providers default to international endpoints. Override `base_url` for China endpoints.
|
|
110
109
|
|
|
111
110
|
## CLI Reference
|
|
112
111
|
|
|
@@ -120,12 +119,12 @@ mycode web --dev API only, no static files
|
|
|
120
119
|
mycode session list list saved sessions
|
|
121
120
|
```
|
|
122
121
|
|
|
123
|
-
Interactive slash commands: `/new` `/resume` `/provider` `/model` `/effort` `/clear` `/q`
|
|
122
|
+
Interactive slash commands: `/new` `/resume` `/rewind` `/provider` `/model` `/effort` `/clear` `/q`
|
|
124
123
|
|
|
125
124
|
## Development
|
|
126
125
|
|
|
127
126
|
```bash
|
|
128
|
-
git clone
|
|
127
|
+
git clone https://github.com/legibet/mycode.git && cd mycode
|
|
129
128
|
uv sync --dev
|
|
130
129
|
uv run mycode
|
|
131
130
|
```
|
|
@@ -154,6 +153,8 @@ uv build --package mycode-cli
|
|
|
154
153
|
|
|
155
154
|
## mycode-sdk
|
|
156
155
|
|
|
156
|
+
Agent core as a lightweight Python SDK for building agents. Install via: `uv add mycode-sdk`
|
|
157
|
+
|
|
157
158
|
```python
|
|
158
159
|
import asyncio
|
|
159
160
|
from mycode import Agent, bash_tool, read_tool
|
|
@@ -173,7 +174,7 @@ async def main() -> None:
|
|
|
173
174
|
asyncio.run(main())
|
|
174
175
|
```
|
|
175
176
|
|
|
176
|
-
See
|
|
177
|
+
See [mycode/README.md](mycode/README.md) for details.
|
|
177
178
|
|
|
178
179
|
## License
|
|
179
180
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mycode-cli"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.5.0"
|
|
8
8
|
description = "Minimal coding agent CLI and web UI built on mycode-sdk."
|
|
9
9
|
requires-python = ">=3.12"
|
|
10
10
|
license = "MIT"
|
|
@@ -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.5.0",
|
|
30
30
|
"fastapi>=0.115.0",
|
|
31
31
|
"uvicorn[standard]>=0.32.0",
|
|
32
32
|
"rich>=14.2.0",
|
|
@@ -1,11 +1,4 @@
|
|
|
1
|
-
"""
|
|
2
|
-
|
|
3
|
-
This module keeps runtime config loading intentionally simple:
|
|
4
|
-
|
|
5
|
-
- read the global config, then the workspace config
|
|
6
|
-
- merge provider entries by name
|
|
7
|
-
- resolve one runnable provider from explicit args, config defaults, or env
|
|
8
|
-
"""
|
|
1
|
+
"""Config loading, provider resolution, and CLI-owned filesystem paths."""
|
|
9
2
|
|
|
10
3
|
from __future__ import annotations
|
|
11
4
|
|
|
@@ -27,9 +20,24 @@ from mycode.providers import (
|
|
|
27
20
|
provider_default_models,
|
|
28
21
|
provider_env_api_key_names,
|
|
29
22
|
)
|
|
30
|
-
from mycode.session import resolve_mycode_home
|
|
31
23
|
from mycode.utils import as_bool, as_int
|
|
32
24
|
|
|
25
|
+
_DEFAULT_MYCODE_HOME = "~/.mycode"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def resolve_mycode_home() -> Path:
|
|
29
|
+
"""Resolve the mycode home directory (``$MYCODE_HOME`` or ``~/.mycode``)."""
|
|
30
|
+
|
|
31
|
+
raw = os.environ.get("MYCODE_HOME", _DEFAULT_MYCODE_HOME)
|
|
32
|
+
return Path(raw).expanduser().resolve(strict=False)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def resolve_sessions_dir() -> Path:
|
|
36
|
+
"""Resolve the directory used for persisted sessions."""
|
|
37
|
+
|
|
38
|
+
return resolve_mycode_home() / "sessions"
|
|
39
|
+
|
|
40
|
+
|
|
33
41
|
_API_KEY_ENV_REF_RE = re.compile(r"^\$\{([A-Za-z_][A-Za-z0-9_]*)\}$")
|
|
34
42
|
# Full set of user-facing choices. "auto" means "do not send an explicit effort
|
|
35
43
|
# to the provider" and is represented internally as `None` after normalization.
|
|
@@ -13,7 +13,7 @@ import typer
|
|
|
13
13
|
from mycode.agent import Agent
|
|
14
14
|
from mycode.messages import ConversationMessage
|
|
15
15
|
from mycode.session import SessionStore
|
|
16
|
-
from mycode_cli.config import ResolvedProvider, Settings, get_settings, resolve_provider
|
|
16
|
+
from mycode_cli.config import ResolvedProvider, Settings, get_settings, resolve_provider, resolve_sessions_dir
|
|
17
17
|
|
|
18
18
|
from .runtime import ResolvedSession, build_agent, resolve_session
|
|
19
19
|
from .tui.chat import TerminalChat
|
|
@@ -82,7 +82,7 @@ def _bootstrap(
|
|
|
82
82
|
raise typer.BadParameter("--session and --continue are mutually exclusive")
|
|
83
83
|
|
|
84
84
|
cwd = os.path.abspath(os.getcwd())
|
|
85
|
-
store = SessionStore()
|
|
85
|
+
store = SessionStore(data_dir=resolve_sessions_dir())
|
|
86
86
|
view = TerminalView()
|
|
87
87
|
settings = get_settings(cwd)
|
|
88
88
|
|
|
@@ -91,10 +91,7 @@ def _bootstrap(
|
|
|
91
91
|
resolved_session = asyncio.run(
|
|
92
92
|
resolve_session(
|
|
93
93
|
store=store,
|
|
94
|
-
provider=resolved_provider.provider,
|
|
95
94
|
cwd=cwd,
|
|
96
|
-
model=resolved_provider.model,
|
|
97
|
-
api_base=resolved_provider.api_base,
|
|
98
95
|
requested_session_id=session,
|
|
99
96
|
continue_last=continue_last,
|
|
100
97
|
)
|
|
@@ -109,7 +106,6 @@ def _bootstrap(
|
|
|
109
106
|
settings=settings,
|
|
110
107
|
resolved_provider=resolved_provider,
|
|
111
108
|
session_id=resolved_session.session_id,
|
|
112
|
-
messages=resolved_session.messages,
|
|
113
109
|
max_turns=max_turns,
|
|
114
110
|
)
|
|
115
111
|
|
|
@@ -222,7 +218,7 @@ def session_list(
|
|
|
222
218
|
"""List saved sessions."""
|
|
223
219
|
|
|
224
220
|
cwd = os.path.abspath(os.getcwd())
|
|
225
|
-
store = SessionStore()
|
|
221
|
+
store = SessionStore(data_dir=resolve_sessions_dir())
|
|
226
222
|
view = TerminalView()
|
|
227
223
|
|
|
228
224
|
sessions = asyncio.run(store.list_sessions(cwd=None if all_workspaces else cwd))
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass
|
|
6
6
|
from typing import Any
|
|
7
|
+
from uuid import uuid4
|
|
7
8
|
|
|
8
9
|
from mycode.agent import Agent
|
|
9
10
|
from mycode.providers import (
|
|
@@ -48,22 +49,24 @@ def build_agent(
|
|
|
48
49
|
settings: Settings,
|
|
49
50
|
resolved_provider: ResolvedProvider,
|
|
50
51
|
session_id: str,
|
|
51
|
-
messages: list[dict[str, Any]] | None = None,
|
|
52
52
|
max_turns: int | None = None,
|
|
53
53
|
reasoning_effort: str | None = None,
|
|
54
54
|
) -> Agent:
|
|
55
|
-
"""Build an agent from the resolved provider, honoring model config overrides.
|
|
55
|
+
"""Build an agent from the resolved provider, honoring model config overrides.
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
History is auto-loaded from disk when ``session_id`` already exists under
|
|
58
|
+
the store; callers never pass messages explicitly.
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
model_config = model_config_for(settings, resolved_provider)
|
|
58
62
|
return Agent(
|
|
59
63
|
model=resolved_provider.model,
|
|
60
64
|
provider=resolved_provider.provider,
|
|
61
65
|
cwd=cwd,
|
|
62
|
-
session_dir=store.
|
|
66
|
+
session_dir=store.data_dir,
|
|
63
67
|
session_id=session_id,
|
|
64
68
|
api_key=resolved_provider.api_key,
|
|
65
69
|
api_base=resolved_provider.api_base,
|
|
66
|
-
messages=messages,
|
|
67
70
|
reasoning_effort=reasoning_effort if reasoning_effort is not None else resolved_provider.reasoning_effort,
|
|
68
71
|
max_tokens=model_config.max_output_tokens if model_config else None,
|
|
69
72
|
context_window=model_config.context_window if model_config else None,
|
|
@@ -77,7 +80,7 @@ def build_agent(
|
|
|
77
80
|
)
|
|
78
81
|
|
|
79
82
|
|
|
80
|
-
def
|
|
83
|
+
def model_config_for(settings: Settings, resolved: ResolvedProvider) -> ModelConfig | None:
|
|
81
84
|
"""Return the user-configured overrides for the resolved provider+model, if any."""
|
|
82
85
|
|
|
83
86
|
provider_config = settings.providers.get(resolved.provider_name or "")
|
|
@@ -86,18 +89,20 @@ def _model_config_for(settings: Settings, resolved: ResolvedProvider) -> ModelCo
|
|
|
86
89
|
return provider_config.models.get(resolved.model)
|
|
87
90
|
|
|
88
91
|
|
|
89
|
-
def clone_agent(agent: Agent, *, store: SessionStore, session_id: str
|
|
90
|
-
"""Keep the current runtime config while swapping session state.
|
|
92
|
+
def clone_agent(agent: Agent, *, store: SessionStore, session_id: str) -> Agent:
|
|
93
|
+
"""Keep the current runtime config while swapping session state.
|
|
94
|
+
|
|
95
|
+
History auto-loads from disk when ``session_id`` exists under the store.
|
|
96
|
+
"""
|
|
91
97
|
|
|
92
98
|
return Agent(
|
|
93
99
|
model=agent.model,
|
|
94
100
|
provider=agent.provider,
|
|
95
101
|
cwd=agent.cwd,
|
|
96
|
-
session_dir=store.
|
|
102
|
+
session_dir=store.data_dir,
|
|
97
103
|
session_id=session_id,
|
|
98
104
|
api_key=agent.api_key,
|
|
99
105
|
api_base=agent.api_base,
|
|
100
|
-
messages=messages,
|
|
101
106
|
max_turns=agent.max_turns,
|
|
102
107
|
max_tokens=agent.max_tokens,
|
|
103
108
|
context_window=agent.context_window,
|
|
@@ -171,10 +176,7 @@ def supports_reasoning_effort(agent: Agent) -> bool:
|
|
|
171
176
|
async def resolve_session(
|
|
172
177
|
*,
|
|
173
178
|
store: SessionStore,
|
|
174
|
-
provider: str,
|
|
175
179
|
cwd: str,
|
|
176
|
-
model: str,
|
|
177
|
-
api_base: str | None,
|
|
178
180
|
requested_session_id: str | None,
|
|
179
181
|
continue_last: bool,
|
|
180
182
|
) -> ResolvedSession:
|
|
@@ -205,9 +207,9 @@ async def resolve_session(
|
|
|
205
207
|
"resumed",
|
|
206
208
|
)
|
|
207
209
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
return ResolvedSession(
|
|
210
|
+
# New sessions: the id is allocated here; the on-disk session is created
|
|
211
|
+
# lazily by Agent.achat on the first persist.
|
|
212
|
+
return ResolvedSession(uuid4().hex, {}, [], "new")
|
|
211
213
|
|
|
212
214
|
|
|
213
215
|
def apply_resolved_provider(agent: Agent, resolved: ResolvedProvider, settings: Settings) -> bool:
|
|
@@ -233,7 +235,7 @@ def apply_resolved_provider(agent: Agent, resolved: ResolvedProvider, settings:
|
|
|
233
235
|
agent.reasoning_effort = resolved.reasoning_effort
|
|
234
236
|
|
|
235
237
|
if runtime_changed:
|
|
236
|
-
model_config =
|
|
238
|
+
model_config = model_config_for(settings, resolved)
|
|
237
239
|
agent.refresh_capabilities(
|
|
238
240
|
max_tokens=model_config.max_output_tokens if model_config else None,
|
|
239
241
|
context_window=model_config.context_window if model_config else None,
|
|
@@ -8,6 +8,7 @@ from typing import Annotated
|
|
|
8
8
|
from fastapi import Depends
|
|
9
9
|
|
|
10
10
|
from mycode.session import SessionStore
|
|
11
|
+
from mycode_cli.config import resolve_sessions_dir
|
|
11
12
|
from mycode_cli.server.run_manager import RunManager
|
|
12
13
|
|
|
13
14
|
|
|
@@ -15,7 +16,7 @@ from mycode_cli.server.run_manager import RunManager
|
|
|
15
16
|
def get_store() -> SessionStore:
|
|
16
17
|
"""Return the shared session store for server requests."""
|
|
17
18
|
|
|
18
|
-
return SessionStore()
|
|
19
|
+
return SessionStore(data_dir=resolve_sessions_dir())
|
|
19
20
|
|
|
20
21
|
|
|
21
22
|
@lru_cache
|
|
@@ -17,7 +17,6 @@ from fastapi.responses import StreamingResponse
|
|
|
17
17
|
from mycode.messages import (
|
|
18
18
|
build_message,
|
|
19
19
|
document_block,
|
|
20
|
-
flatten_message_text,
|
|
21
20
|
image_block,
|
|
22
21
|
text_block,
|
|
23
22
|
)
|
|
@@ -31,7 +30,7 @@ from mycode_cli.config import (
|
|
|
31
30
|
resolve_provider,
|
|
32
31
|
resolve_provider_choices,
|
|
33
32
|
)
|
|
34
|
-
from mycode_cli.runtime import build_agent
|
|
33
|
+
from mycode_cli.runtime import build_agent, model_config_for
|
|
35
34
|
from mycode_cli.server.deps import RunManagerDep, StoreDep
|
|
36
35
|
from mycode_cli.server.run_manager import ActiveRunError, RunState
|
|
37
36
|
from mycode_cli.server.schemas import ChatRequest, StreamEvent
|
|
@@ -165,19 +164,19 @@ async def chat(chat: ChatRequest, store: StoreDep, runs: RunManagerDep):
|
|
|
165
164
|
|
|
166
165
|
data = await store.load_session(session_id)
|
|
167
166
|
session = (data or {}).get("session")
|
|
168
|
-
|
|
167
|
+
existing_messages = (data or {}).get("messages") or []
|
|
169
168
|
|
|
170
169
|
if not session and chat.rewind_to is not None:
|
|
171
170
|
raise HTTPException(status_code=400, detail="rewind_to requires an existing session")
|
|
172
171
|
|
|
173
172
|
if chat.rewind_to is not None:
|
|
174
|
-
if not (0 <= chat.rewind_to < len(
|
|
173
|
+
if not (0 <= chat.rewind_to < len(existing_messages)):
|
|
175
174
|
raise HTTPException(
|
|
176
175
|
status_code=400,
|
|
177
|
-
detail=f"rewind_to must reference a visible message index between 0 and {len(
|
|
176
|
+
detail=f"rewind_to must reference a visible message index between 0 and {len(existing_messages) - 1}",
|
|
178
177
|
)
|
|
179
178
|
|
|
180
|
-
target =
|
|
179
|
+
target = existing_messages[chat.rewind_to]
|
|
181
180
|
raw_blocks = target.get("content")
|
|
182
181
|
blocks = raw_blocks if isinstance(raw_blocks, list) else []
|
|
183
182
|
has_user_content = any(
|
|
@@ -194,7 +193,29 @@ async def chat(chat: ChatRequest, store: StoreDep, runs: RunManagerDep):
|
|
|
194
193
|
detail="rewind_to must reference a real user message",
|
|
195
194
|
)
|
|
196
195
|
|
|
197
|
-
|
|
196
|
+
# Capability check before any disk mutation — a failed check must not
|
|
197
|
+
# leave an empty session on disk or land a premature rewind marker.
|
|
198
|
+
model_config = model_config_for(settings, resolved)
|
|
199
|
+
caps = resolve_model_metadata(
|
|
200
|
+
provider=resolved.provider,
|
|
201
|
+
model=resolved.model,
|
|
202
|
+
supports_image_input=model_config.supports_image_input if model_config else None,
|
|
203
|
+
supports_pdf_input=model_config.supports_pdf_input if model_config else None,
|
|
204
|
+
)
|
|
205
|
+
content_types = {b.get("type") for b in (user_message.get("content") or []) if isinstance(b, dict)}
|
|
206
|
+
if "image" in content_types and not caps.supports_image_input:
|
|
207
|
+
raise HTTPException(status_code=400, detail="current model does not support image input")
|
|
208
|
+
if "document" in content_types and not caps.supports_pdf_input:
|
|
209
|
+
raise HTTPException(status_code=400, detail="current model does not support PDF input")
|
|
210
|
+
|
|
211
|
+
# All validation passed. Land the rewind marker (if any) and create the
|
|
212
|
+
# session so the response payload has a meta dict and the agent's
|
|
213
|
+
# auto-resume sees the correct on-disk state.
|
|
214
|
+
if chat.rewind_to is not None:
|
|
215
|
+
await store.append_rewind(session_id, chat.rewind_to)
|
|
216
|
+
if not session:
|
|
217
|
+
created = await store.create_session(session_id, cwd=cwd)
|
|
218
|
+
session = created["session"]
|
|
198
219
|
|
|
199
220
|
agent = build_agent(
|
|
200
221
|
store=store,
|
|
@@ -202,37 +223,14 @@ async def chat(chat: ChatRequest, store: StoreDep, runs: RunManagerDep):
|
|
|
202
223
|
settings=settings,
|
|
203
224
|
resolved_provider=resolved,
|
|
204
225
|
session_id=session_id,
|
|
205
|
-
messages=messages,
|
|
206
226
|
reasoning_effort=reasoning_effort,
|
|
207
227
|
)
|
|
208
228
|
|
|
209
|
-
content_types = {b.get("type") for b in (user_message.get("content") or []) if isinstance(b, dict)}
|
|
210
|
-
if "image" in content_types and not agent.supports_image_input:
|
|
211
|
-
raise HTTPException(status_code=400, detail="current model does not support image input")
|
|
212
|
-
if "document" in content_types and not agent.supports_pdf_input:
|
|
213
|
-
raise HTTPException(status_code=400, detail="current model does not support PDF input")
|
|
214
|
-
|
|
215
|
-
if not session:
|
|
216
|
-
title = flatten_message_text(user_message).replace("\n", " ").strip()[:48] or "New chat"
|
|
217
|
-
created = await store.create_session(
|
|
218
|
-
title,
|
|
219
|
-
session_id=session_id,
|
|
220
|
-
provider=resolved.provider,
|
|
221
|
-
model=resolved.model,
|
|
222
|
-
cwd=cwd,
|
|
223
|
-
api_base=resolved.api_base,
|
|
224
|
-
)
|
|
225
|
-
session = created["session"]
|
|
226
|
-
|
|
227
|
-
if chat.rewind_to is not None:
|
|
228
|
-
# Land the rewind marker before the agent appends the next user turn.
|
|
229
|
-
await store.append_rewind(session_id, chat.rewind_to)
|
|
230
|
-
|
|
231
229
|
try:
|
|
232
230
|
run = await runs.start_run(
|
|
233
231
|
session_id=session_id,
|
|
234
232
|
user_message=user_message,
|
|
235
|
-
base_messages=messages,
|
|
233
|
+
base_messages=agent.messages,
|
|
236
234
|
agent=agent,
|
|
237
235
|
)
|
|
238
236
|
except ActiveRunError as exc:
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import os
|
|
6
|
+
from uuid import uuid4
|
|
6
7
|
|
|
7
8
|
from fastapi import APIRouter, HTTPException
|
|
8
9
|
|
|
9
|
-
from mycode_cli.config import get_settings, resolve_provider
|
|
10
10
|
from mycode_cli.server.deps import RunManagerDep, StoreDep
|
|
11
11
|
from mycode_cli.server.schemas import SessionCreateRequest
|
|
12
12
|
|
|
@@ -16,15 +16,8 @@ router = APIRouter(prefix="/sessions", tags=["sessions"])
|
|
|
16
16
|
@router.post("")
|
|
17
17
|
async def create_session(req: SessionCreateRequest, store: StoreDep):
|
|
18
18
|
cwd = os.path.abspath(req.cwd or os.getcwd())
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return await store.create_session(
|
|
22
|
-
req.title,
|
|
23
|
-
provider=resolved.provider,
|
|
24
|
-
model=resolved.model,
|
|
25
|
-
cwd=cwd,
|
|
26
|
-
api_base=resolved.api_base,
|
|
27
|
-
)
|
|
19
|
+
session_id = uuid4().hex
|
|
20
|
+
return await store.create_session(session_id, cwd=cwd)
|
|
28
21
|
|
|
29
22
|
|
|
30
23
|
@router.get("")
|