mycode-cli 0.1.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.
Files changed (477) hide show
  1. mycode_cli-0.1.0/.github/workflows/publish.yml +46 -0
  2. mycode_cli-0.1.0/.gitignore +88 -0
  3. mycode_cli-0.1.0/.pre-commit-config.yaml +30 -0
  4. mycode_cli-0.1.0/AGENTS.md +190 -0
  5. mycode_cli-0.1.0/LICENSE +21 -0
  6. mycode_cli-0.1.0/PKG-INFO +186 -0
  7. mycode_cli-0.1.0/README.md +153 -0
  8. mycode_cli-0.1.0/biome.json +56 -0
  9. mycode_cli-0.1.0/docs/api.md +218 -0
  10. mycode_cli-0.1.0/docs/config.md +157 -0
  11. mycode_cli-0.1.0/docs/frontend.md +116 -0
  12. mycode_cli-0.1.0/docs/providers.md +169 -0
  13. mycode_cli-0.1.0/docs/sessions.md +121 -0
  14. mycode_cli-0.1.0/frontend/index.html +34 -0
  15. mycode_cli-0.1.0/frontend/package.json +48 -0
  16. mycode_cli-0.1.0/frontend/pnpm-lock.yaml +3586 -0
  17. mycode_cli-0.1.0/frontend/postcss.config.js +6 -0
  18. mycode_cli-0.1.0/frontend/public/favicon_slashes.svg +12 -0
  19. mycode_cli-0.1.0/frontend/src/App.tsx +259 -0
  20. mycode_cli-0.1.0/frontend/src/components/Chat/CodeBlock.tsx +103 -0
  21. mycode_cli-0.1.0/frontend/src/components/Chat/EditDiff.tsx +351 -0
  22. mycode_cli-0.1.0/frontend/src/components/Chat/HighlightedCode.tsx +110 -0
  23. mycode_cli-0.1.0/frontend/src/components/Chat/InputArea.tsx +256 -0
  24. mycode_cli-0.1.0/frontend/src/components/Chat/MarkdownBlock.tsx +103 -0
  25. mycode_cli-0.1.0/frontend/src/components/Chat/MessageBubble.tsx +375 -0
  26. mycode_cli-0.1.0/frontend/src/components/Chat/MessageList.tsx +89 -0
  27. mycode_cli-0.1.0/frontend/src/components/Chat/ReasoningBlock.tsx +68 -0
  28. mycode_cli-0.1.0/frontend/src/components/Chat/ToolCard.tsx +248 -0
  29. mycode_cli-0.1.0/frontend/src/components/Layout.tsx +24 -0
  30. mycode_cli-0.1.0/frontend/src/components/MobileHeader.tsx +43 -0
  31. mycode_cli-0.1.0/frontend/src/components/Sidebar.tsx +410 -0
  32. mycode_cli-0.1.0/frontend/src/components/ThemeProvider.tsx +108 -0
  33. mycode_cli-0.1.0/frontend/src/components/UI/Button.tsx +68 -0
  34. mycode_cli-0.1.0/frontend/src/components/WorkspacePicker.tsx +509 -0
  35. mycode_cli-0.1.0/frontend/src/hooks/sessionSelection.test.ts +59 -0
  36. mycode_cli-0.1.0/frontend/src/hooks/sessionSelection.ts +62 -0
  37. mycode_cli-0.1.0/frontend/src/hooks/useChat.test.tsx +67 -0
  38. mycode_cli-0.1.0/frontend/src/hooks/useChat.ts +1008 -0
  39. mycode_cli-0.1.0/frontend/src/index.css +416 -0
  40. mycode_cli-0.1.0/frontend/src/main.tsx +16 -0
  41. mycode_cli-0.1.0/frontend/src/test/setup.ts +7 -0
  42. mycode_cli-0.1.0/frontend/src/types.ts +288 -0
  43. mycode_cli-0.1.0/frontend/src/utils/clipboard.ts +16 -0
  44. mycode_cli-0.1.0/frontend/src/utils/cn.ts +10 -0
  45. mycode_cli-0.1.0/frontend/src/utils/config.ts +58 -0
  46. mycode_cli-0.1.0/frontend/src/utils/highlighter.ts +121 -0
  47. mycode_cli-0.1.0/frontend/src/utils/messages.test.ts +211 -0
  48. mycode_cli-0.1.0/frontend/src/utils/messages.ts +620 -0
  49. mycode_cli-0.1.0/frontend/src/utils/storage.test.ts +48 -0
  50. mycode_cli-0.1.0/frontend/src/utils/storage.ts +168 -0
  51. mycode_cli-0.1.0/frontend/src/vite-env.d.ts +17 -0
  52. mycode_cli-0.1.0/frontend/tailwind.config.js +76 -0
  53. mycode_cli-0.1.0/frontend/tsconfig.json +25 -0
  54. mycode_cli-0.1.0/frontend/vite.config.ts +12 -0
  55. mycode_cli-0.1.0/frontend/vitest.config.ts +13 -0
  56. mycode_cli-0.1.0/hatch_build.py +26 -0
  57. mycode_cli-0.1.0/mycode/__init__.py +1 -0
  58. mycode_cli-0.1.0/mycode/cli/__init__.py +1 -0
  59. mycode_cli-0.1.0/mycode/cli/chat.py +650 -0
  60. mycode_cli-0.1.0/mycode/cli/main.py +245 -0
  61. mycode_cli-0.1.0/mycode/cli/render.py +693 -0
  62. mycode_cli-0.1.0/mycode/cli/runtime.py +271 -0
  63. mycode_cli-0.1.0/mycode/cli/theme.py +109 -0
  64. mycode_cli-0.1.0/mycode/core/__init__.py +30 -0
  65. mycode_cli-0.1.0/mycode/core/agent.py +515 -0
  66. mycode_cli-0.1.0/mycode/core/config.py +551 -0
  67. mycode_cli-0.1.0/mycode/core/messages.py +166 -0
  68. mycode_cli-0.1.0/mycode/core/models.py +144 -0
  69. mycode_cli-0.1.0/mycode/core/models_catalog.json +2090 -0
  70. mycode_cli-0.1.0/mycode/core/providers/__init__.py +86 -0
  71. mycode_cli-0.1.0/mycode/core/providers/anthropic_like.py +366 -0
  72. mycode_cli-0.1.0/mycode/core/providers/base.py +351 -0
  73. mycode_cli-0.1.0/mycode/core/providers/gemini.py +321 -0
  74. mycode_cli-0.1.0/mycode/core/providers/openai_chat.py +356 -0
  75. mycode_cli-0.1.0/mycode/core/providers/openai_responses.py +326 -0
  76. mycode_cli-0.1.0/mycode/core/session.py +537 -0
  77. mycode_cli-0.1.0/mycode/core/system_prompt.md +10 -0
  78. mycode_cli-0.1.0/mycode/core/system_prompt.py +319 -0
  79. mycode_cli-0.1.0/mycode/core/tools.py +898 -0
  80. mycode_cli-0.1.0/mycode/server/__init__.py +1 -0
  81. mycode_cli-0.1.0/mycode/server/app.py +52 -0
  82. mycode_cli-0.1.0/mycode/server/deps.py +29 -0
  83. mycode_cli-0.1.0/mycode/server/routers/__init__.py +7 -0
  84. mycode_cli-0.1.0/mycode/server/routers/chat.py +320 -0
  85. mycode_cli-0.1.0/mycode/server/routers/sessions.py +77 -0
  86. mycode_cli-0.1.0/mycode/server/routers/workspaces.py +92 -0
  87. mycode_cli-0.1.0/mycode/server/run_manager.py +195 -0
  88. mycode_cli-0.1.0/mycode/server/schemas.py +66 -0
  89. mycode_cli-0.1.0/mycode/server/static/assets/EditDiff-C1ql7kft.js +12 -0
  90. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  91. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  92. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  93. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  94. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  95. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  96. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  97. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  98. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  99. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  100. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  101. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  102. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  103. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  104. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  105. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  106. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  107. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  108. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  109. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  110. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  111. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  112. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  113. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  114. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  115. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  116. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  117. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  118. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  119. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  120. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  121. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  122. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  123. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  124. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  125. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  126. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  127. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  128. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  129. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  130. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  131. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  132. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  133. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  134. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  135. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  136. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  137. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  138. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  139. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  140. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  141. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  142. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  143. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  144. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  145. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  146. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  147. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  148. mycode_cli-0.1.0/mycode/server/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  149. mycode_cli-0.1.0/mycode/server/static/assets/abap-BdImnpbu.js +1 -0
  150. mycode_cli-0.1.0/mycode/server/static/assets/actionscript-3-CoDkCxhg.js +1 -0
  151. mycode_cli-0.1.0/mycode/server/static/assets/ada-bCR0ucgS.js +1 -0
  152. mycode_cli-0.1.0/mycode/server/static/assets/andromeeda-C4gqWexZ.js +1 -0
  153. mycode_cli-0.1.0/mycode/server/static/assets/angular-html-DA-rfuFy.js +1 -0
  154. mycode_cli-0.1.0/mycode/server/static/assets/angular-ts-BrjP3tb8.js +1 -0
  155. mycode_cli-0.1.0/mycode/server/static/assets/apache-Pmp26Uib.js +1 -0
  156. mycode_cli-0.1.0/mycode/server/static/assets/apex-D8_7TLub.js +1 -0
  157. mycode_cli-0.1.0/mycode/server/static/assets/apl-CORt7UWP.js +1 -0
  158. mycode_cli-0.1.0/mycode/server/static/assets/applescript-Co6uUVPk.js +1 -0
  159. mycode_cli-0.1.0/mycode/server/static/assets/ara-BRHolxvo.js +1 -0
  160. mycode_cli-0.1.0/mycode/server/static/assets/asciidoc-Ve4PFQV2.js +1 -0
  161. mycode_cli-0.1.0/mycode/server/static/assets/asm-D_Q5rh1f.js +1 -0
  162. mycode_cli-0.1.0/mycode/server/static/assets/astro-HNnZUWAn.js +1 -0
  163. mycode_cli-0.1.0/mycode/server/static/assets/aurora-x-D-2ljcwZ.js +1 -0
  164. mycode_cli-0.1.0/mycode/server/static/assets/auto-render-xntwXHOX.js +261 -0
  165. mycode_cli-0.1.0/mycode/server/static/assets/awk-DMzUqQB5.js +1 -0
  166. mycode_cli-0.1.0/mycode/server/static/assets/ayu-dark-DYE7WIF3.js +1 -0
  167. mycode_cli-0.1.0/mycode/server/static/assets/ayu-light-BA47KaF1.js +1 -0
  168. mycode_cli-0.1.0/mycode/server/static/assets/ayu-mirage-32ctXXKs.js +1 -0
  169. mycode_cli-0.1.0/mycode/server/static/assets/ballerina-BFfxhgS-.js +1 -0
  170. mycode_cli-0.1.0/mycode/server/static/assets/bat-BkioyH1T.js +1 -0
  171. mycode_cli-0.1.0/mycode/server/static/assets/beancount-k_qm7-4y.js +1 -0
  172. mycode_cli-0.1.0/mycode/server/static/assets/berry-uYugtg8r.js +1 -0
  173. mycode_cli-0.1.0/mycode/server/static/assets/bibtex-CHM0blh-.js +1 -0
  174. mycode_cli-0.1.0/mycode/server/static/assets/bicep-Bmn6On1c.js +1 -0
  175. mycode_cli-0.1.0/mycode/server/static/assets/bird2-BIv1doCn.js +1 -0
  176. mycode_cli-0.1.0/mycode/server/static/assets/blade-BjGOyj-B.js +1 -0
  177. mycode_cli-0.1.0/mycode/server/static/assets/bsl-BO_Y6i37.js +1 -0
  178. mycode_cli-0.1.0/mycode/server/static/assets/c-BIGW1oBm.js +1 -0
  179. mycode_cli-0.1.0/mycode/server/static/assets/c3-eo99z4R2.js +1 -0
  180. mycode_cli-0.1.0/mycode/server/static/assets/cadence-Bv_4Rxtq.js +1 -0
  181. mycode_cli-0.1.0/mycode/server/static/assets/cairo-KRGpt6FW.js +1 -0
  182. mycode_cli-0.1.0/mycode/server/static/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  183. mycode_cli-0.1.0/mycode/server/static/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  184. mycode_cli-0.1.0/mycode/server/static/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  185. mycode_cli-0.1.0/mycode/server/static/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  186. mycode_cli-0.1.0/mycode/server/static/assets/clarity-D53aC0YG.js +1 -0
  187. mycode_cli-0.1.0/mycode/server/static/assets/clojure-P80f7IUj.js +1 -0
  188. mycode_cli-0.1.0/mycode/server/static/assets/cmake-D1j8_8rp.js +1 -0
  189. mycode_cli-0.1.0/mycode/server/static/assets/cobol-nBiQ_Alo.js +1 -0
  190. mycode_cli-0.1.0/mycode/server/static/assets/codeowners-Bp6g37R7.js +1 -0
  191. mycode_cli-0.1.0/mycode/server/static/assets/codeql-DsOJ9woJ.js +1 -0
  192. mycode_cli-0.1.0/mycode/server/static/assets/coffee-Ch7k5sss.js +1 -0
  193. mycode_cli-0.1.0/mycode/server/static/assets/common-lisp-Cg-RD9OK.js +1 -0
  194. mycode_cli-0.1.0/mycode/server/static/assets/coq-DkFqJrB1.js +1 -0
  195. mycode_cli-0.1.0/mycode/server/static/assets/cpp-CofmeUqb.js +1 -0
  196. mycode_cli-0.1.0/mycode/server/static/assets/crystal-DNxU26gB.js +1 -0
  197. mycode_cli-0.1.0/mycode/server/static/assets/csharp-COcwbKMJ.js +1 -0
  198. mycode_cli-0.1.0/mycode/server/static/assets/css-CLj8gQPS.js +1 -0
  199. mycode_cli-0.1.0/mycode/server/static/assets/csv-fuZLfV_i.js +1 -0
  200. mycode_cli-0.1.0/mycode/server/static/assets/cue-D82EKSYY.js +1 -0
  201. mycode_cli-0.1.0/mycode/server/static/assets/cypher-COkxafJQ.js +1 -0
  202. mycode_cli-0.1.0/mycode/server/static/assets/d-85-TOEBH.js +1 -0
  203. mycode_cli-0.1.0/mycode/server/static/assets/dark-plus-C3mMm8J8.js +1 -0
  204. mycode_cli-0.1.0/mycode/server/static/assets/dart-bE4Kk8sk.js +1 -0
  205. mycode_cli-0.1.0/mycode/server/static/assets/dax-CEL-wOlO.js +1 -0
  206. mycode_cli-0.1.0/mycode/server/static/assets/desktop-BmXAJ9_W.js +1 -0
  207. mycode_cli-0.1.0/mycode/server/static/assets/diff-D97Zzqfu.js +1 -0
  208. mycode_cli-0.1.0/mycode/server/static/assets/docker-BcOcwvcX.js +1 -0
  209. mycode_cli-0.1.0/mycode/server/static/assets/dotenv-Da5cRb03.js +1 -0
  210. mycode_cli-0.1.0/mycode/server/static/assets/dracula-BzJJZx-M.js +1 -0
  211. mycode_cli-0.1.0/mycode/server/static/assets/dracula-soft-BXkSAIEj.js +1 -0
  212. mycode_cli-0.1.0/mycode/server/static/assets/dream-maker-BtqSS_iP.js +1 -0
  213. mycode_cli-0.1.0/mycode/server/static/assets/edge-FbVlp4U3.js +1 -0
  214. mycode_cli-0.1.0/mycode/server/static/assets/elixir-CkH2-t6x.js +1 -0
  215. mycode_cli-0.1.0/mycode/server/static/assets/elm-DbKCFpqz.js +1 -0
  216. mycode_cli-0.1.0/mycode/server/static/assets/emacs-lisp-CXvaQtF9.js +1 -0
  217. mycode_cli-0.1.0/mycode/server/static/assets/erb-BYCe7drp.js +1 -0
  218. mycode_cli-0.1.0/mycode/server/static/assets/erlang-DsQrWhSR.js +1 -0
  219. mycode_cli-0.1.0/mycode/server/static/assets/everforest-dark-BgDCqdQA.js +1 -0
  220. mycode_cli-0.1.0/mycode/server/static/assets/everforest-light-C8M2exoo.js +1 -0
  221. mycode_cli-0.1.0/mycode/server/static/assets/fennel-BYunw83y.js +1 -0
  222. mycode_cli-0.1.0/mycode/server/static/assets/fish-BvzEVeQv.js +1 -0
  223. mycode_cli-0.1.0/mycode/server/static/assets/fluent-C4IJs8-o.js +1 -0
  224. mycode_cli-0.1.0/mycode/server/static/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  225. mycode_cli-0.1.0/mycode/server/static/assets/fortran-free-form-BxgE0vQu.js +1 -0
  226. mycode_cli-0.1.0/mycode/server/static/assets/fsharp-CXgrBDvD.js +1 -0
  227. mycode_cli-0.1.0/mycode/server/static/assets/gdresource-BOOCDP_w.js +1 -0
  228. mycode_cli-0.1.0/mycode/server/static/assets/gdscript-C5YyOfLZ.js +1 -0
  229. mycode_cli-0.1.0/mycode/server/static/assets/gdshader-DkwncUOv.js +1 -0
  230. mycode_cli-0.1.0/mycode/server/static/assets/genie-D0YGMca9.js +1 -0
  231. mycode_cli-0.1.0/mycode/server/static/assets/gherkin-DyxjwDmM.js +1 -0
  232. mycode_cli-0.1.0/mycode/server/static/assets/git-commit-F4YmCXRG.js +1 -0
  233. mycode_cli-0.1.0/mycode/server/static/assets/git-rebase-r7XF79zn.js +1 -0
  234. mycode_cli-0.1.0/mycode/server/static/assets/github-dark-DHJKELXO.js +1 -0
  235. mycode_cli-0.1.0/mycode/server/static/assets/github-dark-default-Cuk6v7N8.js +1 -0
  236. mycode_cli-0.1.0/mycode/server/static/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  237. mycode_cli-0.1.0/mycode/server/static/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  238. mycode_cli-0.1.0/mycode/server/static/assets/github-light-DAi9KRSo.js +1 -0
  239. mycode_cli-0.1.0/mycode/server/static/assets/github-light-default-D7oLnXFd.js +1 -0
  240. mycode_cli-0.1.0/mycode/server/static/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  241. mycode_cli-0.1.0/mycode/server/static/assets/gleam-BspZqrRM.js +1 -0
  242. mycode_cli-0.1.0/mycode/server/static/assets/glimmer-js-ByusRIyA.js +1 -0
  243. mycode_cli-0.1.0/mycode/server/static/assets/glimmer-ts-BfAWNZQY.js +1 -0
  244. mycode_cli-0.1.0/mycode/server/static/assets/glsl-DplSGwfg.js +1 -0
  245. mycode_cli-0.1.0/mycode/server/static/assets/gn-n2N0HUVH.js +1 -0
  246. mycode_cli-0.1.0/mycode/server/static/assets/gnuplot-DdkO51Og.js +1 -0
  247. mycode_cli-0.1.0/mycode/server/static/assets/go-C27-OAKa.js +1 -0
  248. mycode_cli-0.1.0/mycode/server/static/assets/graphql-ChdNCCLP.js +1 -0
  249. mycode_cli-0.1.0/mycode/server/static/assets/groovy-gcz8RCvz.js +1 -0
  250. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  251. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  252. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  253. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  254. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  255. mycode_cli-0.1.0/mycode/server/static/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  256. mycode_cli-0.1.0/mycode/server/static/assets/hack-i7_Ulhet.js +1 -0
  257. mycode_cli-0.1.0/mycode/server/static/assets/haml-D5jkg6IW.js +1 -0
  258. mycode_cli-0.1.0/mycode/server/static/assets/handlebars-BpdQsYii.js +1 -0
  259. mycode_cli-0.1.0/mycode/server/static/assets/haskell-Df6bDoY_.js +1 -0
  260. mycode_cli-0.1.0/mycode/server/static/assets/haxe-CzTSHFRz.js +1 -0
  261. mycode_cli-0.1.0/mycode/server/static/assets/hcl-BWvSN4gD.js +1 -0
  262. mycode_cli-0.1.0/mycode/server/static/assets/hjson-D5-asLiD.js +1 -0
  263. mycode_cli-0.1.0/mycode/server/static/assets/hlsl-D3lLCCz7.js +1 -0
  264. mycode_cli-0.1.0/mycode/server/static/assets/horizon-BUw7H-hv.js +1 -0
  265. mycode_cli-0.1.0/mycode/server/static/assets/horizon-bright-CUuTKBJd.js +1 -0
  266. mycode_cli-0.1.0/mycode/server/static/assets/houston-DnULxvSX.js +1 -0
  267. mycode_cli-0.1.0/mycode/server/static/assets/html-derivative-DlHx6ybY.js +1 -0
  268. mycode_cli-0.1.0/mycode/server/static/assets/html-pp8916En.js +1 -0
  269. mycode_cli-0.1.0/mycode/server/static/assets/http-jrhK8wxY.js +1 -0
  270. mycode_cli-0.1.0/mycode/server/static/assets/hurl-irOxFIW8.js +1 -0
  271. mycode_cli-0.1.0/mycode/server/static/assets/hxml-Bvhsp5Yf.js +1 -0
  272. mycode_cli-0.1.0/mycode/server/static/assets/hy-DFXneXwc.js +1 -0
  273. mycode_cli-0.1.0/mycode/server/static/assets/imba-DGztddWO.js +1 -0
  274. mycode_cli-0.1.0/mycode/server/static/assets/index-B4e4WQPq.css +1 -0
  275. mycode_cli-0.1.0/mycode/server/static/assets/index-C2xTNJGd.js +203 -0
  276. mycode_cli-0.1.0/mycode/server/static/assets/ini-BEwlwnbL.js +1 -0
  277. mycode_cli-0.1.0/mycode/server/static/assets/java-CylS5w8V.js +1 -0
  278. mycode_cli-0.1.0/mycode/server/static/assets/javascript-wDzz0qaB.js +1 -0
  279. mycode_cli-0.1.0/mycode/server/static/assets/jinja-f2NsQr07.js +1 -0
  280. mycode_cli-0.1.0/mycode/server/static/assets/jison-wvAkD_A8.js +1 -0
  281. mycode_cli-0.1.0/mycode/server/static/assets/json-Cp-IABpG.js +1 -0
  282. mycode_cli-0.1.0/mycode/server/static/assets/json5-C9tS-k6U.js +1 -0
  283. mycode_cli-0.1.0/mycode/server/static/assets/jsonc-Des-eS-w.js +1 -0
  284. mycode_cli-0.1.0/mycode/server/static/assets/jsonl-DcaNXYhu.js +1 -0
  285. mycode_cli-0.1.0/mycode/server/static/assets/jsonnet-DFQXde-d.js +1 -0
  286. mycode_cli-0.1.0/mycode/server/static/assets/jssm-C2t-YnRu.js +1 -0
  287. mycode_cli-0.1.0/mycode/server/static/assets/jsx-g9-lgVsj.js +1 -0
  288. mycode_cli-0.1.0/mycode/server/static/assets/julia-CxzCAyBv.js +1 -0
  289. mycode_cli-0.1.0/mycode/server/static/assets/just-VxiPbLrw.js +1 -0
  290. mycode_cli-0.1.0/mycode/server/static/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  291. mycode_cli-0.1.0/mycode/server/static/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  292. mycode_cli-0.1.0/mycode/server/static/assets/kanagawa-wave-DWedfzmr.js +1 -0
  293. mycode_cli-0.1.0/mycode/server/static/assets/katex-DnJR2-55.css +1 -0
  294. mycode_cli-0.1.0/mycode/server/static/assets/kdl-DV7GczEv.js +1 -0
  295. mycode_cli-0.1.0/mycode/server/static/assets/kotlin-BdnUsdx6.js +1 -0
  296. mycode_cli-0.1.0/mycode/server/static/assets/kusto-wEQ09or8.js +1 -0
  297. mycode_cli-0.1.0/mycode/server/static/assets/laserwave-DUszq2jm.js +1 -0
  298. mycode_cli-0.1.0/mycode/server/static/assets/latex-CWtU0Tv5.js +1 -0
  299. mycode_cli-0.1.0/mycode/server/static/assets/lean-BZvkOJ9d.js +1 -0
  300. mycode_cli-0.1.0/mycode/server/static/assets/less-B1dDrJ26.js +1 -0
  301. mycode_cli-0.1.0/mycode/server/static/assets/light-plus-B7mTdjB0.js +1 -0
  302. mycode_cli-0.1.0/mycode/server/static/assets/liquid-C0sCDyMI.js +1 -0
  303. mycode_cli-0.1.0/mycode/server/static/assets/llvm-DjAJT7YJ.js +1 -0
  304. mycode_cli-0.1.0/mycode/server/static/assets/log-2UxHyX5q.js +1 -0
  305. mycode_cli-0.1.0/mycode/server/static/assets/logo-BtOb2qkB.js +1 -0
  306. mycode_cli-0.1.0/mycode/server/static/assets/lua-BaeVxFsk.js +1 -0
  307. mycode_cli-0.1.0/mycode/server/static/assets/luau-C-HG3fhB.js +1 -0
  308. mycode_cli-0.1.0/mycode/server/static/assets/make-CHLpvVh8.js +1 -0
  309. mycode_cli-0.1.0/mycode/server/static/assets/markdown-Cvjx9yec.js +1 -0
  310. mycode_cli-0.1.0/mycode/server/static/assets/marko-DjSrsDqO.js +1 -0
  311. mycode_cli-0.1.0/mycode/server/static/assets/material-theme-D5KoaKCx.js +1 -0
  312. mycode_cli-0.1.0/mycode/server/static/assets/material-theme-darker-BfHTSMKl.js +1 -0
  313. mycode_cli-0.1.0/mycode/server/static/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  314. mycode_cli-0.1.0/mycode/server/static/assets/material-theme-ocean-CyktbL80.js +1 -0
  315. mycode_cli-0.1.0/mycode/server/static/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  316. mycode_cli-0.1.0/mycode/server/static/assets/matlab-D7o27uSR.js +1 -0
  317. mycode_cli-0.1.0/mycode/server/static/assets/mdc-DTYItulj.js +1 -0
  318. mycode_cli-0.1.0/mycode/server/static/assets/mdx-Cmh6b_Ma.js +1 -0
  319. mycode_cli-0.1.0/mycode/server/static/assets/mermaid-mWjccvbQ.js +1 -0
  320. mycode_cli-0.1.0/mycode/server/static/assets/min-dark-CafNBF8u.js +1 -0
  321. mycode_cli-0.1.0/mycode/server/static/assets/min-light-CTRr51gU.js +1 -0
  322. mycode_cli-0.1.0/mycode/server/static/assets/mipsasm-CKIfxQSi.js +1 -0
  323. mycode_cli-0.1.0/mycode/server/static/assets/mojo-rZm6bMo-.js +1 -0
  324. mycode_cli-0.1.0/mycode/server/static/assets/monokai-D4h5O-jR.js +1 -0
  325. mycode_cli-0.1.0/mycode/server/static/assets/moonbit-_H4v1dQx.js +1 -0
  326. mycode_cli-0.1.0/mycode/server/static/assets/move-IF9eRakj.js +1 -0
  327. mycode_cli-0.1.0/mycode/server/static/assets/narrat-DRg8JJMk.js +1 -0
  328. mycode_cli-0.1.0/mycode/server/static/assets/nextflow-C-mBbutL.js +1 -0
  329. mycode_cli-0.1.0/mycode/server/static/assets/nextflow-groovy-vE_lwT2v.js +1 -0
  330. mycode_cli-0.1.0/mycode/server/static/assets/nginx-BpAMiNFr.js +1 -0
  331. mycode_cli-0.1.0/mycode/server/static/assets/night-owl-C39BiMTA.js +1 -0
  332. mycode_cli-0.1.0/mycode/server/static/assets/night-owl-light-CMTm3GFP.js +1 -0
  333. mycode_cli-0.1.0/mycode/server/static/assets/nim-BIad80T-.js +1 -0
  334. mycode_cli-0.1.0/mycode/server/static/assets/nix-CwoSXNpI.js +1 -0
  335. mycode_cli-0.1.0/mycode/server/static/assets/nord-Ddv68eIx.js +1 -0
  336. mycode_cli-0.1.0/mycode/server/static/assets/nushell-Cz2AlsmD.js +1 -0
  337. mycode_cli-0.1.0/mycode/server/static/assets/objective-c-DXmwc3jG.js +1 -0
  338. mycode_cli-0.1.0/mycode/server/static/assets/objective-cpp-CLxacb5B.js +1 -0
  339. mycode_cli-0.1.0/mycode/server/static/assets/ocaml-C0hk2d4L.js +1 -0
  340. mycode_cli-0.1.0/mycode/server/static/assets/odin-BBf5iR-q.js +1 -0
  341. mycode_cli-0.1.0/mycode/server/static/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  342. mycode_cli-0.1.0/mycode/server/static/assets/one-light-C3Wv6jpd.js +1 -0
  343. mycode_cli-0.1.0/mycode/server/static/assets/openscad-C4EeE6gA.js +1 -0
  344. mycode_cli-0.1.0/mycode/server/static/assets/pascal-D93ZcfNL.js +1 -0
  345. mycode_cli-0.1.0/mycode/server/static/assets/perl-NvoQZIq0.js +1 -0
  346. mycode_cli-0.1.0/mycode/server/static/assets/php-R6g_5hLQ.js +1 -0
  347. mycode_cli-0.1.0/mycode/server/static/assets/pkl-u5AG7uiY.js +1 -0
  348. mycode_cli-0.1.0/mycode/server/static/assets/plastic-3e1v2bzS.js +1 -0
  349. mycode_cli-0.1.0/mycode/server/static/assets/plsql-ChMvpjG-.js +1 -0
  350. mycode_cli-0.1.0/mycode/server/static/assets/po-BTJTHyun.js +1 -0
  351. mycode_cli-0.1.0/mycode/server/static/assets/poimandres-CS3Unz2-.js +1 -0
  352. mycode_cli-0.1.0/mycode/server/static/assets/polar-C0HS_06l.js +1 -0
  353. mycode_cli-0.1.0/mycode/server/static/assets/postcss-CXtECtnM.js +1 -0
  354. mycode_cli-0.1.0/mycode/server/static/assets/powerquery-CEu0bR-o.js +1 -0
  355. mycode_cli-0.1.0/mycode/server/static/assets/powershell-Dpen1YoG.js +1 -0
  356. mycode_cli-0.1.0/mycode/server/static/assets/prisma-Dd19v3D-.js +1 -0
  357. mycode_cli-0.1.0/mycode/server/static/assets/prolog-CbFg5uaA.js +1 -0
  358. mycode_cli-0.1.0/mycode/server/static/assets/proto-C7zT0LnQ.js +1 -0
  359. mycode_cli-0.1.0/mycode/server/static/assets/pug-DKIMFp6K.js +1 -0
  360. mycode_cli-0.1.0/mycode/server/static/assets/puppet-BMWR74SV.js +1 -0
  361. mycode_cli-0.1.0/mycode/server/static/assets/purescript-CklMAg4u.js +1 -0
  362. mycode_cli-0.1.0/mycode/server/static/assets/python-B6aJPvgy.js +1 -0
  363. mycode_cli-0.1.0/mycode/server/static/assets/qml-3beO22l8.js +1 -0
  364. mycode_cli-0.1.0/mycode/server/static/assets/qmldir-C8lEn-DE.js +1 -0
  365. mycode_cli-0.1.0/mycode/server/static/assets/qss-IeuSbFQv.js +1 -0
  366. mycode_cli-0.1.0/mycode/server/static/assets/r-Dspwwk_N.js +1 -0
  367. mycode_cli-0.1.0/mycode/server/static/assets/racket-BqYA7rlc.js +1 -0
  368. mycode_cli-0.1.0/mycode/server/static/assets/raku-DXvB9xmW.js +1 -0
  369. mycode_cli-0.1.0/mycode/server/static/assets/razor-BDqjjVU7.js +1 -0
  370. mycode_cli-0.1.0/mycode/server/static/assets/red-bN70gL4F.js +1 -0
  371. mycode_cli-0.1.0/mycode/server/static/assets/reg-C-SQnVFl.js +1 -0
  372. mycode_cli-0.1.0/mycode/server/static/assets/regexp-CDVJQ6XC.js +1 -0
  373. mycode_cli-0.1.0/mycode/server/static/assets/rel-C3B-1QV4.js +1 -0
  374. mycode_cli-0.1.0/mycode/server/static/assets/riscv-BM1_JUlF.js +1 -0
  375. mycode_cli-0.1.0/mycode/server/static/assets/ron-D8l8udqQ.js +1 -0
  376. mycode_cli-0.1.0/mycode/server/static/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  377. mycode_cli-0.1.0/mycode/server/static/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  378. mycode_cli-0.1.0/mycode/server/static/assets/rose-pine-qdsjHGoJ.js +1 -0
  379. mycode_cli-0.1.0/mycode/server/static/assets/rosmsg-BJDFO7_C.js +1 -0
  380. mycode_cli-0.1.0/mycode/server/static/assets/rst-CRjBmOyv.js +1 -0
  381. mycode_cli-0.1.0/mycode/server/static/assets/ruby-Wjq7vjNf.js +1 -0
  382. mycode_cli-0.1.0/mycode/server/static/assets/rust-B1yitclQ.js +1 -0
  383. mycode_cli-0.1.0/mycode/server/static/assets/sas-cz2c8ADy.js +1 -0
  384. mycode_cli-0.1.0/mycode/server/static/assets/sass-Cj5Yp3dK.js +1 -0
  385. mycode_cli-0.1.0/mycode/server/static/assets/scala-C151Ov-r.js +1 -0
  386. mycode_cli-0.1.0/mycode/server/static/assets/scheme-C98Dy4si.js +1 -0
  387. mycode_cli-0.1.0/mycode/server/static/assets/scss-D5BDwBP9.js +1 -0
  388. mycode_cli-0.1.0/mycode/server/static/assets/sdbl-DVxCFoDh.js +1 -0
  389. mycode_cli-0.1.0/mycode/server/static/assets/shaderlab-Dg9Lc6iA.js +1 -0
  390. mycode_cli-0.1.0/mycode/server/static/assets/shellscript-Yzrsuije.js +1 -0
  391. mycode_cli-0.1.0/mycode/server/static/assets/shellsession-BADoaaVG.js +1 -0
  392. mycode_cli-0.1.0/mycode/server/static/assets/slack-dark-BthQWCQV.js +1 -0
  393. mycode_cli-0.1.0/mycode/server/static/assets/slack-ochin-DqwNpetd.js +1 -0
  394. mycode_cli-0.1.0/mycode/server/static/assets/smalltalk-BERRCDM3.js +1 -0
  395. mycode_cli-0.1.0/mycode/server/static/assets/snazzy-light-Bw305WKR.js +1 -0
  396. mycode_cli-0.1.0/mycode/server/static/assets/solarized-dark-DXbdFlpD.js +1 -0
  397. mycode_cli-0.1.0/mycode/server/static/assets/solarized-light-L9t79GZl.js +1 -0
  398. mycode_cli-0.1.0/mycode/server/static/assets/solidity-rGO070M0.js +1 -0
  399. mycode_cli-0.1.0/mycode/server/static/assets/soy-8wufbnw4.js +1 -0
  400. mycode_cli-0.1.0/mycode/server/static/assets/sparql-rVzFXLq3.js +1 -0
  401. mycode_cli-0.1.0/mycode/server/static/assets/splunk-BtCnVYZw.js +1 -0
  402. mycode_cli-0.1.0/mycode/server/static/assets/sql-BLtJtn59.js +1 -0
  403. mycode_cli-0.1.0/mycode/server/static/assets/ssh-config-_ykCGR6B.js +1 -0
  404. mycode_cli-0.1.0/mycode/server/static/assets/stata-BH5u7GGu.js +1 -0
  405. mycode_cli-0.1.0/mycode/server/static/assets/stylus-BEDo0Tqx.js +1 -0
  406. mycode_cli-0.1.0/mycode/server/static/assets/surrealql-Bq5Q-fJD.js +1 -0
  407. mycode_cli-0.1.0/mycode/server/static/assets/svelte-Cy7k_4gC.js +1 -0
  408. mycode_cli-0.1.0/mycode/server/static/assets/swift-D82vCrfD.js +1 -0
  409. mycode_cli-0.1.0/mycode/server/static/assets/synthwave-84-CbfX1IO0.js +1 -0
  410. mycode_cli-0.1.0/mycode/server/static/assets/system-verilog-CnnmHF94.js +1 -0
  411. mycode_cli-0.1.0/mycode/server/static/assets/systemd-4A_iFExJ.js +1 -0
  412. mycode_cli-0.1.0/mycode/server/static/assets/talonscript-CkByrt1z.js +1 -0
  413. mycode_cli-0.1.0/mycode/server/static/assets/tasl-QIJgUcNo.js +1 -0
  414. mycode_cli-0.1.0/mycode/server/static/assets/tcl-dwOrl1Do.js +1 -0
  415. mycode_cli-0.1.0/mycode/server/static/assets/templ-DhtptRzy.js +1 -0
  416. mycode_cli-0.1.0/mycode/server/static/assets/terraform-BETggiCN.js +1 -0
  417. mycode_cli-0.1.0/mycode/server/static/assets/tex-idrVyKtj.js +1 -0
  418. mycode_cli-0.1.0/mycode/server/static/assets/tokyo-night-hegEt444.js +1 -0
  419. mycode_cli-0.1.0/mycode/server/static/assets/toml-vGWfd6FD.js +1 -0
  420. mycode_cli-0.1.0/mycode/server/static/assets/ts-tags-DQrlYJgV.js +1 -0
  421. mycode_cli-0.1.0/mycode/server/static/assets/tsv-B_m7g4N7.js +1 -0
  422. mycode_cli-0.1.0/mycode/server/static/assets/tsx-COt5Ahok.js +1 -0
  423. mycode_cli-0.1.0/mycode/server/static/assets/turtle-BsS91CYL.js +1 -0
  424. mycode_cli-0.1.0/mycode/server/static/assets/twig-xg9kU7Mw.js +1 -0
  425. mycode_cli-0.1.0/mycode/server/static/assets/typescript-BPQ3VLAy.js +1 -0
  426. mycode_cli-0.1.0/mycode/server/static/assets/typespec-CAFt9gP4.js +1 -0
  427. mycode_cli-0.1.0/mycode/server/static/assets/typst-DHCkPAjA.js +1 -0
  428. mycode_cli-0.1.0/mycode/server/static/assets/v-BcVCzyr7.js +1 -0
  429. mycode_cli-0.1.0/mycode/server/static/assets/vala-CsfeWuGM.js +1 -0
  430. mycode_cli-0.1.0/mycode/server/static/assets/vb-D17OF-Vu.js +1 -0
  431. mycode_cli-0.1.0/mycode/server/static/assets/verilog-BQ8w6xss.js +1 -0
  432. mycode_cli-0.1.0/mycode/server/static/assets/vesper-DU1UobuO.js +1 -0
  433. mycode_cli-0.1.0/mycode/server/static/assets/vhdl-CeAyd5Ju.js +1 -0
  434. mycode_cli-0.1.0/mycode/server/static/assets/viml-CJc9bBzg.js +1 -0
  435. mycode_cli-0.1.0/mycode/server/static/assets/vitesse-black-Bkuqu6BP.js +1 -0
  436. mycode_cli-0.1.0/mycode/server/static/assets/vitesse-dark-D0r3Knsf.js +1 -0
  437. mycode_cli-0.1.0/mycode/server/static/assets/vitesse-light-CVO1_9PV.js +1 -0
  438. mycode_cli-0.1.0/mycode/server/static/assets/vue-D2xRrEX4.js +1 -0
  439. mycode_cli-0.1.0/mycode/server/static/assets/vue-html-AaS7Mt5G.js +1 -0
  440. mycode_cli-0.1.0/mycode/server/static/assets/vue-vine-BoDAl6tE.js +1 -0
  441. mycode_cli-0.1.0/mycode/server/static/assets/vyper-CDx5xZoG.js +1 -0
  442. mycode_cli-0.1.0/mycode/server/static/assets/wasm-CG6Dc4jp.js +1 -0
  443. mycode_cli-0.1.0/mycode/server/static/assets/wasm-MzD3tlZU.js +1 -0
  444. mycode_cli-0.1.0/mycode/server/static/assets/wenyan-BV7otONQ.js +1 -0
  445. mycode_cli-0.1.0/mycode/server/static/assets/wgsl-Dx-B1_4e.js +1 -0
  446. mycode_cli-0.1.0/mycode/server/static/assets/wikitext-BhOHFoWU.js +1 -0
  447. mycode_cli-0.1.0/mycode/server/static/assets/wit-5i3qLPDT.js +1 -0
  448. mycode_cli-0.1.0/mycode/server/static/assets/wolfram-lXgVvXCa.js +1 -0
  449. mycode_cli-0.1.0/mycode/server/static/assets/xml-sdJ4AIDG.js +1 -0
  450. mycode_cli-0.1.0/mycode/server/static/assets/xsl-CtQFsRM5.js +1 -0
  451. mycode_cli-0.1.0/mycode/server/static/assets/yaml-Buea-lGh.js +1 -0
  452. mycode_cli-0.1.0/mycode/server/static/assets/zenscript-DVFEvuxE.js +1 -0
  453. mycode_cli-0.1.0/mycode/server/static/assets/zig-VOosw3JB.js +1 -0
  454. mycode_cli-0.1.0/mycode/server/static/favicon_slashes.svg +12 -0
  455. mycode_cli-0.1.0/mycode/server/static/index.html +35 -0
  456. mycode_cli-0.1.0/pyproject.toml +97 -0
  457. mycode_cli-0.1.0/scripts/__init__.py +1 -0
  458. mycode_cli-0.1.0/scripts/build_frontend.py +38 -0
  459. mycode_cli-0.1.0/scripts/update_models_catalog.py +75 -0
  460. mycode_cli-0.1.0/tests/conftest.py +3 -0
  461. mycode_cli-0.1.0/tests/test_agent_loop.py +373 -0
  462. mycode_cli-0.1.0/tests/test_agent_provider_request.py +126 -0
  463. mycode_cli-0.1.0/tests/test_bash.py +177 -0
  464. mycode_cli-0.1.0/tests/test_cli.py +573 -0
  465. mycode_cli-0.1.0/tests/test_cli_imports.py +13 -0
  466. mycode_cli-0.1.0/tests/test_compact.py +130 -0
  467. mycode_cli-0.1.0/tests/test_config.py +802 -0
  468. mycode_cli-0.1.0/tests/test_instructions.py +68 -0
  469. mycode_cli-0.1.0/tests/test_models.py +110 -0
  470. mycode_cli-0.1.0/tests/test_provider_adapters.py +1446 -0
  471. mycode_cli-0.1.0/tests/test_rewind.py +341 -0
  472. mycode_cli-0.1.0/tests/test_run_manager.py +164 -0
  473. mycode_cli-0.1.0/tests/test_server_app.py +44 -0
  474. mycode_cli-0.1.0/tests/test_session.py +281 -0
  475. mycode_cli-0.1.0/tests/test_skills.py +245 -0
  476. mycode_cli-0.1.0/tests/test_tools.py +447 -0
  477. mycode_cli-0.1.0/uv.lock +1003 -0
@@ -0,0 +1,46 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "v*"
7
+
8
+ jobs:
9
+ publish:
10
+ runs-on: ubuntu-latest
11
+ environment:
12
+ name: pypi
13
+ url: https://pypi.org/project/mycode-cli/
14
+ permissions:
15
+ contents: read
16
+ id-token: write
17
+ steps:
18
+ - name: Checkout
19
+ uses: actions/checkout@v6
20
+
21
+ - name: Install uv
22
+ uses: astral-sh/setup-uv@v7
23
+
24
+ - name: Install pnpm
25
+ uses: pnpm/action-setup@v4
26
+ with:
27
+ version: 10
28
+
29
+ - name: Install Node.js
30
+ uses: actions/setup-node@v6
31
+ with:
32
+ node-version: 20
33
+ cache: pnpm
34
+ cache-dependency-path: frontend/pnpm-lock.yaml
35
+
36
+ - name: Install Python
37
+ run: uv python install 3.12
38
+
39
+ - name: Build
40
+ run: uv build --no-sources
41
+
42
+ - name: Verify wheel import
43
+ run: uv run --isolated --no-project --with dist/*.whl -- python -c "import mycode"
44
+
45
+ - name: Publish to PyPI
46
+ run: uv publish
@@ -0,0 +1,88 @@
1
+ # OS specific
2
+ .DS_Store
3
+ .DS_Store?
4
+ ._*
5
+ .Spotlight-V100
6
+ .Trashes
7
+ ehthumbs.db
8
+ Thumbs.db
9
+ *.swp
10
+ *.swo
11
+ *~
12
+
13
+ # IDEs and Editors
14
+ .vscode/
15
+ !.vscode/extensions.json
16
+ .idea/
17
+ *.suo
18
+ *.ntvs*
19
+ *.njsproj
20
+ *.sln
21
+ *.sw?
22
+
23
+ # Environment
24
+ .env
25
+ .env.local
26
+ .env.*.local
27
+ *.local
28
+
29
+ # Logs
30
+ logs/
31
+ *.log
32
+ npm-debug.log*
33
+ yarn-debug.log*
34
+ yarn-error.log*
35
+ pnpm-debug.log*
36
+ lerna-debug.log*
37
+
38
+ # Python
39
+ __pycache__/
40
+ *.py[cod]
41
+ *$py.class
42
+ *.pyc
43
+ *.pyo
44
+ *.pyd
45
+ .pytest_cache/
46
+ .mypy_cache/
47
+ .ruff_cache/
48
+ .venv/
49
+ venv/
50
+ env/
51
+ ENV/
52
+ .python-version
53
+ *.egg-info/
54
+ dist-python/
55
+ build/
56
+ *.egg
57
+ .uv-cache
58
+
59
+ # Node.js / Frontend
60
+ node_modules/
61
+ dist/
62
+ dist-ssr/
63
+ .vite/
64
+ *.tsbuildinfo
65
+ .eslintcache
66
+ .npm
67
+ .yarn/cache
68
+ .yarn/unplugged
69
+ .yarn/build-state.yml
70
+ .yarn/install-state.gz
71
+ .pnp.*
72
+
73
+ # Archives
74
+ archive/
75
+ legacy/
76
+
77
+ # Local data
78
+ /mycode/server/static/
79
+
80
+ # Config with secrets (use config.example.json as template)
81
+ config.json
82
+
83
+ # AI Agents
84
+ CLAUDE.md
85
+ .claude/
86
+ GEMINI.md
87
+ .gemini/
88
+ .pi/
@@ -0,0 +1,30 @@
1
+ # See https://pre-commit.com for more information
2
+ repos:
3
+ # General hooks
4
+ - repo: https://github.com/pre-commit/pre-commit-hooks
5
+ rev: v6.0.0
6
+ hooks:
7
+ - id: trailing-whitespace
8
+ - id: end-of-file-fixer
9
+ - id: check-yaml
10
+ - id: check-added-large-files
11
+ args: ["--maxkb=1000"]
12
+ - id: check-merge-conflict
13
+ - id: detect-private-key
14
+
15
+ # Python - Ruff (linter + formatter)
16
+ - repo: https://github.com/astral-sh/ruff-pre-commit
17
+ rev: v0.14.13
18
+ hooks:
19
+ - id: ruff-check
20
+ args: [--fix]
21
+ - id: ruff-format
22
+
23
+ # Frontend - Biome (linter + formatter)
24
+ - repo: https://github.com/biomejs/pre-commit
25
+ rev: v2.4.7
26
+ hooks:
27
+ - id: biome-check
28
+ additional_dependencies: ["@biomejs/biome@2.4.7"]
29
+ args: ["--config-path=biome.json"]
30
+ files: ^frontend/
@@ -0,0 +1,190 @@
1
+ # mycode — Project Context
2
+
3
+ Authoritative context for agent runs. Keep in sync with the code. See `docs/` for detailed specs.
4
+
5
+ ## Product
6
+
7
+ `mycode` is a personal minimal coding agent with a web UI and CLI.
8
+
9
+ Priorities: small readable core · one message model · one agent loop · append-only sessions · provider adapters at the boundary.
10
+
11
+ Not a general agent framework.
12
+
13
+ ## Core Rules
14
+
15
+ - 4 built-in tools only: `read`, `write`, `edit`, `bash` — do not add more to core
16
+ - Provider-specific behavior stays inside adapters, never in the agent loop
17
+ - Prefer simple Python; add helpers only for real reuse or non-obvious logic
18
+ - Keep the runtime deterministic and easy to inspect
19
+
20
+ ## Source Map
21
+
22
+ Core runtime (`mycode/core/`):
23
+
24
+ - `agent.py` — the only orchestration loop
25
+ - `messages.py` — internal message/block format
26
+ - `tools.py` — 4 built-in tools, executor, truncation, path resolution
27
+ - `session.py` — append-only JSONL session storage, compact/rewind events, interrupted tool repair
28
+ - `config.py` — layered config loading and provider resolution
29
+ - `models.py` — bundled model metadata lookup (`context_window`, `supports_reasoning`, `supports_image_input`)
30
+ - `system_prompt.py` — runtime system prompt assembly, AGENTS.md discovery, skills discovery
31
+ - `system_prompt.md` — system prompt template
32
+ - `providers/base.py` — ProviderAdapter abstract interface
33
+ - `providers/__init__.py` — adapter registry and provider lookup helpers
34
+ - `providers/anthropic_like.py` — adapters: `anthropic`, `moonshotai`, `minimax`
35
+ - `providers/gemini.py` — adapter: `google`
36
+ - `providers/openai_responses.py` — adapter: `openai`
37
+ - `providers/openai_chat.py` — adapters: `openai_chat`, `deepseek`, `zai`, `openrouter`
38
+
39
+ CLI (`mycode/cli/`):
40
+
41
+ - `main.py` — Typer entrypoint (commands: default, run, web, session)
42
+ - `chat.py` — TerminalChat interactive loop
43
+ - `render.py` — TerminalView rich rendering
44
+ - `runtime.py` — build_agent(), resolve_session()
45
+
46
+ Server (`mycode/server/`):
47
+
48
+ - `app.py` — FastAPI factory, static mount
49
+ - `routers/chat.py` — POST /api/chat, GET /api/runs/{id}/stream, POST /api/runs/{id}/cancel, GET /api/config
50
+ - `routers/sessions.py` — session CRUD
51
+ - `routers/workspaces.py` — directory browser
52
+ - `run_manager.py` — concurrent run management
53
+ - `schemas.py` — Pydantic request/response models
54
+
55
+ Frontend (`frontend/src/`):
56
+
57
+ - `hooks/useChat.ts` — chat state, SSE streaming, tool runtime
58
+ - `utils/messages.ts` — buildRenderMessages() — canonical blocks → UI messages
59
+
60
+ ## Internal Message Model
61
+
62
+ Block-based JSON — single format used at runtime and persisted to sessions:
63
+
64
+ ```json
65
+ {
66
+ "role": "assistant",
67
+ "content": [
68
+ {"type": "thinking", "text": "...", "meta": {}},
69
+ {"type": "text", "text": "..."},
70
+ {"type": "tool_use", "id": "call_1", "name": "read", "input": {"path": "x.py"}}
71
+ ],
72
+ "meta": {
73
+ "provider": "anthropic",
74
+ "model": "claude-sonnet-4-6",
75
+ "stop_reason": "tool_use",
76
+ "usage": {},
77
+ "native": {}
78
+ }
79
+ }
80
+ ```
81
+
82
+ Block types: `text` · `image` · `thinking` · `tool_use` · `tool_result`
83
+
84
+ - `thinking` blocks are first-class session data — persisted and shown in UI
85
+ - Provider-specific extras: `meta.native` on messages, `block.meta.native` on blocks
86
+ - Tool results stored as a `user` message with `tool_result` blocks:
87
+
88
+ ```json
89
+ {"type": "tool_result", "tool_use_id": "call_1", "model_text": "ok", "display_text": "Wrote x.py", "is_error": false}
90
+ ```
91
+
92
+ `model_text` is replayed to providers on later turns; `display_text` is shown to users.
93
+ `tool_result.content` may store structured `text` and `image` blocks.
94
+ - System prompt is runtime-only, not persisted
95
+
96
+ ## Agent Loop
97
+
98
+ `mycode/core/agent.py` — per user turn:
99
+
100
+ 1. Append user message to session
101
+ 2. Call provider adapter → stream events to CLI/server
102
+ 3. Persist assistant message to JSONL
103
+ 4. Execute tool calls locally
104
+ 5. Append `user` tool-result message
105
+ 6. Repeat until no tool calls; `max_turns` defaults to unlimited
106
+ 7. Optionally compact context when usage ≥ `compact_threshold` (default 0.8)
107
+
108
+ ## Provider Adapters
109
+
110
+ See `docs/providers.md` for per-adapter details, env vars, and quirks.
111
+
112
+ | id | protocol | file |
113
+ | ------------- | ----------------------------- | --------------------- |
114
+ | `anthropic` | Anthropic Messages API | `anthropic_like.py` |
115
+ | `moonshotai` | Anthropic-compatible endpoint | `anthropic_like.py` |
116
+ | `minimax` | Anthropic-compatible endpoint | `anthropic_like.py` |
117
+ | `google` | Google genai SDK | `gemini.py` |
118
+ | `openai` | OpenAI Responses API | `openai_responses.py` |
119
+ | `openai_chat` | OpenAI Chat Completions | `openai_chat.py` |
120
+ | `deepseek` | OpenAI-compatible chat | `openai_chat.py` |
121
+ | `zai` | OpenAI-compatible chat | `openai_chat.py` |
122
+ | `openrouter` | OpenAI-compatible chat | `openai_chat.py` |
123
+
124
+ All adapters implement `ProviderAdapter.stream_turn()`. Message projection to provider wire format lives in `prepare_messages()`.
125
+
126
+ ## SSE Contract
127
+
128
+ **Do not change event names or payload shapes without updating server, CLI, and frontend.**
129
+
130
+ | event | payload |
131
+ | ------------- | ------------------------------------------------------- |
132
+ | `reasoning` | `delta` |
133
+ | `text` | `delta` |
134
+ | `tool_start` | `tool_call: {id, name, input}` |
135
+ | `tool_output` | `tool_use_id`, `output` |
136
+ | `tool_done` | `tool_use_id`, `model_text`, `display_text`, `is_error` |
137
+ | `compact` | `message` |
138
+ | `error` | `message` |
139
+
140
+ ## Detailed Docs
141
+
142
+ - `docs/api.md` — Server API endpoints, request/response schemas, SSE contract details
143
+ - `docs/config.md` — Config files, schema, API key resolution, reasoning effort, skills/instructions discovery
144
+ - `docs/providers.md` — Per-adapter details: SDK, base URL, env vars, reasoning effort mapping, quirks
145
+ - `docs/sessions.md` — Storage layout, JSONL record types, compact/rewind/repair, format version
146
+ - `docs/frontend.md` — Component structure, message state model, build process
147
+
148
+ ## Interfaces
149
+
150
+ **CLI** — `mycode/cli/main.py`:
151
+
152
+ - `mycode` — interactive session (default)
153
+ - `mycode run "..."` — non-interactive single run
154
+ - `mycode web [--dev]` — web server; `--dev` serves API only (for Vite dev)
155
+ - `mycode session list` — list sessions
156
+ - Interactive CLI: `@path` attaches files; images become `image` blocks, text files become extra `text` blocks
157
+ - Slash commands: `/clear` `/new` `/resume` `/rewind` `/provider` `/model` `/effort` `/q`
158
+
159
+ **Server** — `mycode/server/routers/`:
160
+
161
+ - `POST /api/chat` — start a run from `message` or `input`; returns `{run, session}` JSON immediately
162
+ - `GET /api/runs/{run_id}/stream` — SSE stream for a run
163
+ - `POST /api/runs/{run_id}/cancel` — cancel a run
164
+ - `GET /api/config` — provider, reasoning, and image-input metadata for frontend
165
+ - Session CRUD at `/api/sessions`
166
+ - Workspace browser at `/api/workspaces`
167
+
168
+ ## Dev Workflow
169
+
170
+ ```bash
171
+ uv sync --dev # Python setup
172
+ uv run mycode # run CLI
173
+ uv run mycode web --dev # API only (backend for Vite dev)
174
+ pnpm --dir frontend test:run # run frontend tests once
175
+ pnpm --dir frontend dev # Vite frontend dev server
176
+ uv run --no-project python scripts/build_frontend.py # rebuild packaged frontend
177
+ uv build # build wheel + sdist
178
+ ```
179
+
180
+ ## Guardrails
181
+
182
+ Preserve unless explicitly asked to change:
183
+
184
+ - 4-tool core stays unchanged
185
+ - Append-only sessions stay human-inspectable
186
+ - CLI and server remain thin wrappers over `mycode.core`
187
+ - Provider-specific quirks stay in adapters
188
+ - No new abstraction layers unless they remove real complexity
189
+
190
+ When in doubt, prefer the simpler and more explicit design.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 LeGibet
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,186 @@
1
+ Metadata-Version: 2.4
2
+ Name: mycode-cli
3
+ Version: 0.1.0
4
+ Summary: Minimal coding agent with web UI
5
+ Project-URL: Homepage, https://github.com/legibet/mycode
6
+ Project-URL: Repository, https://github.com/legibet/mycode
7
+ Project-URL: Issues, https://github.com/legibet/mycode/issues
8
+ Author-email: LeGibet <legibetpeng@gmail.com>
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: agent,cli,coding-agent,fastapi,llm
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Environment :: Web Environment
15
+ Classifier: Framework :: FastAPI
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3 :: Only
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development
23
+ Requires-Python: >=3.12
24
+ Requires-Dist: anthropic>=0.74.0
25
+ Requires-Dist: fastapi>=0.115.0
26
+ Requires-Dist: google-genai>=1.68.0
27
+ Requires-Dist: openai>=2.11.0
28
+ Requires-Dist: prompt-toolkit>=3.0.52
29
+ Requires-Dist: rich>=14.2.0
30
+ Requires-Dist: typer>=0.24.1
31
+ Requires-Dist: uvicorn[standard]>=0.32.0
32
+ Description-Content-Type: text/markdown
33
+
34
+ # mycode
35
+
36
+ >There are many coding agents, but this one is mine.
37
+
38
+ A minimal coding agent. Inspired by [pi](https://github.com/badlogic/pi-mono).
39
+
40
+ - Minimal core (under 5k lines of code).
41
+ - Unified message format and robust cross-provider replay.
42
+ - 4 built-in tools: `read`, `write`, `edit`, `bash`, expanded via skills.
43
+ - Inspectable runtime, append-only JSONL sessions.
44
+ - Native image input.
45
+ - Mobile-friendly web UI.
46
+
47
+ ## Quick Start
48
+
49
+ Requires Python 3.12+. Install via [uv](https://docs.astral.sh/uv/):
50
+
51
+ ```bash
52
+ uv tool install mycode-cli
53
+ ```
54
+
55
+ Interactive terminal session:
56
+
57
+ ```bash
58
+ mycode
59
+ ```
60
+
61
+ Web UI (default at `http://localhost:8000`):
62
+
63
+ ```bash
64
+ mycode web (--port <port> --hostname <hostname>)
65
+ ```
66
+
67
+ Single message, non-interactive:
68
+
69
+ ```bash
70
+ mycode run "explain how the session store works"
71
+ ```
72
+
73
+ API keys are discovered automatically from environment variables (see Providers & Models).
74
+
75
+ ## Providers & Models
76
+
77
+ | Provider | id | Env var | Default models |
78
+ | ----------------- | ------------- | -------------------- | -------------------------------------------------- |
79
+ | Anthropic | `anthropic` | `ANTHROPIC_API_KEY` | `claude-sonnet-4-6`, `claude-opus-4-6` |
80
+ | OpenAI | `openai` | `OPENAI_API_KEY` | `gpt-5.4`, `gpt-5.4-mini` |
81
+ | Google Gemini | `google` | `GEMINI_API_KEY` | `gemini-3.1-pro-preview`, `gemini-3-flash-preview` |
82
+ | Moonshot | `moonshotai` | `MOONSHOT_API_KEY` | `kimi-k2.5` |
83
+ | MiniMax | `minimax` | `MINIMAX_API_KEY` | `MiniMax-M2.7`, `MiniMax-M2.7-highspeed` |
84
+ | DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek-chat`, `deepseek-reasoner` |
85
+ | Z.AI | `zai` | `ZAI_API_KEY` | `glm-5.1`, `glm-5-turbo` |
86
+ | OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` |
87
+ | OpenAI-compatible | `openai_chat` | — | (configured per provider) |
88
+
89
+ ## Configuration
90
+
91
+ No config file is required. It is only used for:
92
+
93
+ 1. Setting default provider, model, and other options
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.
97
+
98
+ Config is loaded from `~/.mycode/config.json` (global) and `<workspace>/.mycode/config.json` (project-specific, takes precedence).
99
+
100
+ ```json
101
+ {
102
+ "default": {
103
+ "provider": "anthropic",
104
+ "model": "claude-sonnet-4-6",
105
+ "reasoning_effort": "medium"
106
+ },
107
+ "providers": {
108
+ "openrouter": {
109
+ "models": {
110
+ "deepseek/deepseek-v3.2": {},
111
+ "xiaomi/mimo-v2-pro": {}
112
+ }
113
+ },
114
+ "zhipu-coding-plan": {
115
+ "type": "zai",
116
+ "base_url": "https://open.bigmodel.cn/api/coding/paas/v4",
117
+ "api_key": "${ZHIPU_API_KEY}"
118
+ },
119
+ "custom-provider": {
120
+ "type": "openai_chat",
121
+ "base_url": "https://custom-endpoint.com/v1",
122
+ "api_key": "${CUSTOM_API_KEY}",
123
+ "models": {
124
+ "custom-model": {
125
+ "context_window": 128000,
126
+ "max_output_tokens": 16384,
127
+ "supports_reasoning": true,
128
+ "supports_image_input": false
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ ```
135
+
136
+ - Built-in provider ids can be overridden by key without specifying `type`. Custom providers must set `type`.
137
+ - `reasoning_effort` controls extended thinking for supported models: `auto` (default) · `none` · `low` · `medium` · `high` · `xhigh`.
138
+ - API keys in config accept `${ENV_VAR}` references.
139
+ - Model metadata is sourced from models.dev and bundled — no manual config needed for built-in models.
140
+
141
+ > Built-in Moonshot, MiniMax, and Z.AI defaults use international endpoints. Override `base_url` in config for China endpoints.
142
+
143
+ ## CLI Reference
144
+
145
+ ```
146
+ mycode start interactive session (new)
147
+ mycode --continue resume the most recent session
148
+ mycode --session <id> resume a specific session
149
+ mycode run "..." send one message, non-interactive
150
+ mycode web start web server (default port 8000)
151
+ mycode web --dev API only, no static files
152
+ mycode session list list saved sessions
153
+ ```
154
+
155
+ Interactive slash commands: `/new` `/resume` `/provider` `/model` `/effort` `/clear` `/q`
156
+
157
+ ## Development
158
+
159
+ ```bash
160
+ git clone <repo> && cd mycode
161
+ uv sync --dev
162
+ uv run mycode
163
+ ```
164
+
165
+ Web development (backend + Vite dev server):
166
+
167
+ ```bash
168
+ uv run mycode web --dev
169
+ pnpm --dir frontend install && pnpm --dir frontend dev
170
+ ```
171
+
172
+ Rebuild packaged frontend assets:
173
+
174
+ ```bash
175
+ uv run --no-project python scripts/build_frontend.py
176
+ ```
177
+
178
+ Build distributable artifacts:
179
+
180
+ ```bash
181
+ uv build
182
+ ```
183
+
184
+ ## License
185
+
186
+ MIT