mycode-cli 0.3.2__tar.gz → 0.3.4__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 (479) hide show
  1. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/PKG-INFO +1 -1
  2. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/render.py +4 -0
  3. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/system_prompt.py +16 -11
  4. mycode_cli-0.3.2/mycode/server/static/assets/EditDiff-BAqtlKnI.js → mycode_cli-0.3.4/mycode/server/static/assets/EditDiff-BCA9aTUr.js +1 -1
  5. mycode_cli-0.3.2/mycode/server/static/assets/index-CY827G4K.js → mycode_cli-0.3.4/mycode/server/static/assets/index-C8gu4B-1.js +2 -2
  6. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/index.html +1 -1
  7. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/pyproject.toml +1 -1
  8. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_skills.py +1 -1
  9. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/uv.lock +1 -1
  10. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/CodeBlock.tsx +6 -4
  11. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/.basedpyright/baseline.json +0 -0
  12. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/.github/workflows/ci.yml +0 -0
  13. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/.github/workflows/publish.yml +0 -0
  14. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/.gitignore +0 -0
  15. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/.pre-commit-config.yaml +0 -0
  16. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/AGENTS.md +0 -0
  17. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/LICENSE +0 -0
  18. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/README.md +0 -0
  19. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/biome.json +0 -0
  20. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/docs/api.md +0 -0
  21. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/docs/config.md +0 -0
  22. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/docs/providers.md +0 -0
  23. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/docs/sessions.md +0 -0
  24. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/docs/web.md +0 -0
  25. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/hatch_build.py +0 -0
  26. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/__init__.py +0 -0
  27. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/__init__.py +0 -0
  28. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/chat.py +0 -0
  29. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/main.py +0 -0
  30. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/runtime.py +0 -0
  31. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/cli/theme.py +0 -0
  32. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/__init__.py +0 -0
  33. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/agent.py +0 -0
  34. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/config.py +0 -0
  35. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/messages.py +0 -0
  36. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/models.py +0 -0
  37. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/models_catalog.json +0 -0
  38. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/__init__.py +0 -0
  39. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/anthropic_like.py +0 -0
  40. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/base.py +0 -0
  41. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/gemini.py +0 -0
  42. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/openai_chat.py +0 -0
  43. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/providers/openai_responses.py +0 -0
  44. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/session.py +0 -0
  45. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/tools.py +0 -0
  46. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/core/utils.py +0 -0
  47. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/__init__.py +0 -0
  48. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/app.py +0 -0
  49. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/deps.py +0 -0
  50. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/routers/__init__.py +0 -0
  51. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/routers/chat.py +0 -0
  52. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/routers/sessions.py +0 -0
  53. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/routers/workspaces.py +0 -0
  54. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/run_manager.py +0 -0
  55. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/schemas.py +0 -0
  56. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  57. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  58. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  59. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  60. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  61. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  62. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  63. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  64. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  65. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  66. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  67. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  68. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  69. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  70. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  71. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  72. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  73. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  74. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  75. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  76. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  77. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  78. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  79. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  80. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  81. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  82. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  83. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  84. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  85. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  86. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  87. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  88. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  89. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  90. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  91. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  92. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  93. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  94. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  95. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  96. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  97. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  98. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  99. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  100. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  101. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  102. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  103. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  104. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  105. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  106. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  107. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  108. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  109. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  110. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  111. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  112. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  113. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  114. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  115. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/abap-BdImnpbu.js +0 -0
  116. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/actionscript-3-CoDkCxhg.js +0 -0
  117. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ada-bCR0ucgS.js +0 -0
  118. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/andromeeda-C4gqWexZ.js +0 -0
  119. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/angular-html-DA-rfuFy.js +0 -0
  120. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/angular-ts-BrjP3tb8.js +0 -0
  121. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/apache-Pmp26Uib.js +0 -0
  122. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/apex-D8_7TLub.js +0 -0
  123. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/apl-CORt7UWP.js +0 -0
  124. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/applescript-Co6uUVPk.js +0 -0
  125. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ara-BRHolxvo.js +0 -0
  126. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/asciidoc-Ve4PFQV2.js +0 -0
  127. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/asm-D_Q5rh1f.js +0 -0
  128. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/astro-HNnZUWAn.js +0 -0
  129. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/aurora-x-D-2ljcwZ.js +0 -0
  130. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/awk-DMzUqQB5.js +0 -0
  131. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ayu-dark-DYE7WIF3.js +0 -0
  132. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ayu-light-BA47KaF1.js +0 -0
  133. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ayu-mirage-32ctXXKs.js +0 -0
  134. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ballerina-BFfxhgS-.js +0 -0
  135. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/bat-BkioyH1T.js +0 -0
  136. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/beancount-k_qm7-4y.js +0 -0
  137. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/berry-uYugtg8r.js +0 -0
  138. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/bibtex-CHM0blh-.js +0 -0
  139. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/bicep-Bmn6On1c.js +0 -0
  140. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/bird2-BIv1doCn.js +0 -0
  141. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/blade-BjGOyj-B.js +0 -0
  142. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/bsl-BO_Y6i37.js +0 -0
  143. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/c-BIGW1oBm.js +0 -0
  144. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/c3-eo99z4R2.js +0 -0
  145. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cadence-Bv_4Rxtq.js +0 -0
  146. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cairo-KRGpt6FW.js +0 -0
  147. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  148. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  149. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  150. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  151. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/clarity-D53aC0YG.js +0 -0
  152. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/clojure-P80f7IUj.js +0 -0
  153. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cmake-D1j8_8rp.js +0 -0
  154. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cobol-nBiQ_Alo.js +0 -0
  155. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/codeowners-Bp6g37R7.js +0 -0
  156. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/codeql-DsOJ9woJ.js +0 -0
  157. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/coffee-Ch7k5sss.js +0 -0
  158. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/common-lisp-Cg-RD9OK.js +0 -0
  159. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/coq-DkFqJrB1.js +0 -0
  160. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cpp-CofmeUqb.js +0 -0
  161. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/crystal-DNxU26gB.js +0 -0
  162. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/csharp-COcwbKMJ.js +0 -0
  163. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/css-CLj8gQPS.js +0 -0
  164. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/csv-fuZLfV_i.js +0 -0
  165. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cue-D82EKSYY.js +0 -0
  166. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/cypher-COkxafJQ.js +0 -0
  167. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/d-85-TOEBH.js +0 -0
  168. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dark-plus-C3mMm8J8.js +0 -0
  169. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dart-bE4Kk8sk.js +0 -0
  170. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dax-CEL-wOlO.js +0 -0
  171. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/desktop-BmXAJ9_W.js +0 -0
  172. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/diff-D97Zzqfu.js +0 -0
  173. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/docker-BcOcwvcX.js +0 -0
  174. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dotenv-Da5cRb03.js +0 -0
  175. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dracula-BzJJZx-M.js +0 -0
  176. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dracula-soft-BXkSAIEj.js +0 -0
  177. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/dream-maker-BtqSS_iP.js +0 -0
  178. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/edge-FbVlp4U3.js +0 -0
  179. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/elixir-CkH2-t6x.js +0 -0
  180. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/elm-DbKCFpqz.js +0 -0
  181. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/emacs-lisp-CXvaQtF9.js +0 -0
  182. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/erb-BYCe7drp.js +0 -0
  183. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/erlang-DsQrWhSR.js +0 -0
  184. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/everforest-dark-BgDCqdQA.js +0 -0
  185. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/everforest-light-C8M2exoo.js +0 -0
  186. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fennel-BYunw83y.js +0 -0
  187. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fish-BvzEVeQv.js +0 -0
  188. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fluent-C4IJs8-o.js +0 -0
  189. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
  190. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fortran-free-form-BxgE0vQu.js +0 -0
  191. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/fsharp-CXgrBDvD.js +0 -0
  192. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gdresource-BOOCDP_w.js +0 -0
  193. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gdscript-C5YyOfLZ.js +0 -0
  194. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gdshader-DkwncUOv.js +0 -0
  195. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/genie-D0YGMca9.js +0 -0
  196. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gherkin-DyxjwDmM.js +0 -0
  197. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/git-commit-F4YmCXRG.js +0 -0
  198. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/git-rebase-r7XF79zn.js +0 -0
  199. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-dark-DHJKELXO.js +0 -0
  200. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-dark-default-Cuk6v7N8.js +0 -0
  201. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  202. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  203. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-light-DAi9KRSo.js +0 -0
  204. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-light-default-D7oLnXFd.js +0 -0
  205. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  206. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gleam-BspZqrRM.js +0 -0
  207. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/glimmer-js-ByusRIyA.js +0 -0
  208. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/glimmer-ts-BfAWNZQY.js +0 -0
  209. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/glsl-DplSGwfg.js +0 -0
  210. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gn-n2N0HUVH.js +0 -0
  211. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gnuplot-DdkO51Og.js +0 -0
  212. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/go-C27-OAKa.js +0 -0
  213. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/graphql-ChdNCCLP.js +0 -0
  214. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/groovy-gcz8RCvz.js +0 -0
  215. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  216. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  217. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  218. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  219. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  220. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  221. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hack-i7_Ulhet.js +0 -0
  222. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/haml-D5jkg6IW.js +0 -0
  223. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/handlebars-BpdQsYii.js +0 -0
  224. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/haskell-Df6bDoY_.js +0 -0
  225. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/haxe-CzTSHFRz.js +0 -0
  226. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hcl-BWvSN4gD.js +0 -0
  227. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hjson-D5-asLiD.js +0 -0
  228. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hlsl-D3lLCCz7.js +0 -0
  229. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/horizon-BUw7H-hv.js +0 -0
  230. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/horizon-bright-CUuTKBJd.js +0 -0
  231. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/houston-DnULxvSX.js +0 -0
  232. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/html-derivative-DlHx6ybY.js +0 -0
  233. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/html-pp8916En.js +0 -0
  234. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/http-jrhK8wxY.js +0 -0
  235. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hurl-irOxFIW8.js +0 -0
  236. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hxml-Bvhsp5Yf.js +0 -0
  237. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/hy-DFXneXwc.js +0 -0
  238. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/imba-DGztddWO.js +0 -0
  239. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/index-Bi2yKki-.css +0 -0
  240. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ini-BEwlwnbL.js +0 -0
  241. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/java-CylS5w8V.js +0 -0
  242. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/javascript-wDzz0qaB.js +0 -0
  243. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jinja-f2NsQr07.js +0 -0
  244. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jison-wvAkD_A8.js +0 -0
  245. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/json-Cp-IABpG.js +0 -0
  246. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/json5-C9tS-k6U.js +0 -0
  247. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jsonc-Des-eS-w.js +0 -0
  248. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jsonl-DcaNXYhu.js +0 -0
  249. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jsonnet-DFQXde-d.js +0 -0
  250. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jssm-C2t-YnRu.js +0 -0
  251. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/jsx-g9-lgVsj.js +0 -0
  252. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/julia-CxzCAyBv.js +0 -0
  253. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/just-VxiPbLrw.js +0 -0
  254. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  255. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  256. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kanagawa-wave-DWedfzmr.js +0 -0
  257. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kdl-DV7GczEv.js +0 -0
  258. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kotlin-BdnUsdx6.js +0 -0
  259. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/kusto-wEQ09or8.js +0 -0
  260. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/laserwave-DUszq2jm.js +0 -0
  261. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/latex-CWtU0Tv5.js +0 -0
  262. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/lean-BZvkOJ9d.js +0 -0
  263. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/less-B1dDrJ26.js +0 -0
  264. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/light-plus-B7mTdjB0.js +0 -0
  265. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/liquid-C0sCDyMI.js +0 -0
  266. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/llvm-DjAJT7YJ.js +0 -0
  267. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/log-2UxHyX5q.js +0 -0
  268. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/logo-BtOb2qkB.js +0 -0
  269. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/lua-BaeVxFsk.js +0 -0
  270. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/luau-C-HG3fhB.js +0 -0
  271. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/make-CHLpvVh8.js +0 -0
  272. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/markdown-Cvjx9yec.js +0 -0
  273. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/marko-DjSrsDqO.js +0 -0
  274. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/material-theme-D5KoaKCx.js +0 -0
  275. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/material-theme-darker-BfHTSMKl.js +0 -0
  276. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  277. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/material-theme-ocean-CyktbL80.js +0 -0
  278. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  279. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/matlab-D7o27uSR.js +0 -0
  280. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/mdc-DTYItulj.js +0 -0
  281. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/mdx-Cmh6b_Ma.js +0 -0
  282. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/mermaid-mWjccvbQ.js +0 -0
  283. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/min-dark-CafNBF8u.js +0 -0
  284. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/min-light-CTRr51gU.js +0 -0
  285. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/mipsasm-CKIfxQSi.js +0 -0
  286. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/mojo-rZm6bMo-.js +0 -0
  287. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/monokai-D4h5O-jR.js +0 -0
  288. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/moonbit-_H4v1dQx.js +0 -0
  289. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/move-IF9eRakj.js +0 -0
  290. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/narrat-DRg8JJMk.js +0 -0
  291. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nextflow-C-mBbutL.js +0 -0
  292. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nextflow-groovy-vE_lwT2v.js +0 -0
  293. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nginx-BpAMiNFr.js +0 -0
  294. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/night-owl-C39BiMTA.js +0 -0
  295. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/night-owl-light-CMTm3GFP.js +0 -0
  296. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nim-BIad80T-.js +0 -0
  297. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nix-CwoSXNpI.js +0 -0
  298. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nord-Ddv68eIx.js +0 -0
  299. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/nushell-Cz2AlsmD.js +0 -0
  300. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/objective-c-DXmwc3jG.js +0 -0
  301. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/objective-cpp-CLxacb5B.js +0 -0
  302. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ocaml-C0hk2d4L.js +0 -0
  303. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/odin-BBf5iR-q.js +0 -0
  304. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  305. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/one-light-C3Wv6jpd.js +0 -0
  306. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/openscad-C4EeE6gA.js +0 -0
  307. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/pascal-D93ZcfNL.js +0 -0
  308. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/perl-NvoQZIq0.js +0 -0
  309. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/php-R6g_5hLQ.js +0 -0
  310. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/pkl-u5AG7uiY.js +0 -0
  311. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/plastic-3e1v2bzS.js +0 -0
  312. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/plsql-ChMvpjG-.js +0 -0
  313. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/po-BTJTHyun.js +0 -0
  314. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/poimandres-CS3Unz2-.js +0 -0
  315. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/polar-C0HS_06l.js +0 -0
  316. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/postcss-CXtECtnM.js +0 -0
  317. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/powerquery-CEu0bR-o.js +0 -0
  318. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/powershell-Dpen1YoG.js +0 -0
  319. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/prisma-Dd19v3D-.js +0 -0
  320. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/prolog-CbFg5uaA.js +0 -0
  321. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/proto-C7zT0LnQ.js +0 -0
  322. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/pug-DKIMFp6K.js +0 -0
  323. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/puppet-BMWR74SV.js +0 -0
  324. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/purescript-CklMAg4u.js +0 -0
  325. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/python-B6aJPvgy.js +0 -0
  326. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/qml-3beO22l8.js +0 -0
  327. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/qmldir-C8lEn-DE.js +0 -0
  328. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/qss-IeuSbFQv.js +0 -0
  329. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/r-Dspwwk_N.js +0 -0
  330. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/racket-BqYA7rlc.js +0 -0
  331. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/raku-DXvB9xmW.js +0 -0
  332. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/razor-BDqjjVU7.js +0 -0
  333. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/red-bN70gL4F.js +0 -0
  334. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/reg-C-SQnVFl.js +0 -0
  335. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/regexp-CDVJQ6XC.js +0 -0
  336. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rel-C3B-1QV4.js +0 -0
  337. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/riscv-BM1_JUlF.js +0 -0
  338. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ron-D8l8udqQ.js +0 -0
  339. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  340. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  341. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rose-pine-qdsjHGoJ.js +0 -0
  342. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rosmsg-BJDFO7_C.js +0 -0
  343. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rst-CRjBmOyv.js +0 -0
  344. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ruby-Wjq7vjNf.js +0 -0
  345. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/rust-B1yitclQ.js +0 -0
  346. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/sas-cz2c8ADy.js +0 -0
  347. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/sass-Cj5Yp3dK.js +0 -0
  348. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/scala-C151Ov-r.js +0 -0
  349. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/scheme-C98Dy4si.js +0 -0
  350. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/scss-D5BDwBP9.js +0 -0
  351. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/sdbl-DVxCFoDh.js +0 -0
  352. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/shaderlab-Dg9Lc6iA.js +0 -0
  353. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/shellscript-Yzrsuije.js +0 -0
  354. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/shellsession-BADoaaVG.js +0 -0
  355. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/slack-dark-BthQWCQV.js +0 -0
  356. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/slack-ochin-DqwNpetd.js +0 -0
  357. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/smalltalk-BERRCDM3.js +0 -0
  358. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/snazzy-light-Bw305WKR.js +0 -0
  359. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/solarized-dark-DXbdFlpD.js +0 -0
  360. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/solarized-light-L9t79GZl.js +0 -0
  361. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/solidity-rGO070M0.js +0 -0
  362. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/soy-8wufbnw4.js +0 -0
  363. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/sparql-rVzFXLq3.js +0 -0
  364. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/splunk-BtCnVYZw.js +0 -0
  365. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/sql-BLtJtn59.js +0 -0
  366. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ssh-config-_ykCGR6B.js +0 -0
  367. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/stata-BH5u7GGu.js +0 -0
  368. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/stylus-BEDo0Tqx.js +0 -0
  369. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/surrealql-Bq5Q-fJD.js +0 -0
  370. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/svelte-Cy7k_4gC.js +0 -0
  371. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/swift-D82vCrfD.js +0 -0
  372. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/synthwave-84-CbfX1IO0.js +0 -0
  373. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/system-verilog-CnnmHF94.js +0 -0
  374. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/systemd-4A_iFExJ.js +0 -0
  375. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/talonscript-CkByrt1z.js +0 -0
  376. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tasl-QIJgUcNo.js +0 -0
  377. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tcl-dwOrl1Do.js +0 -0
  378. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/templ-DhtptRzy.js +0 -0
  379. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/terraform-BETggiCN.js +0 -0
  380. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tex-idrVyKtj.js +0 -0
  381. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tokyo-night-hegEt444.js +0 -0
  382. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/toml-vGWfd6FD.js +0 -0
  383. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/ts-tags-DQrlYJgV.js +0 -0
  384. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tsv-B_m7g4N7.js +0 -0
  385. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/tsx-COt5Ahok.js +0 -0
  386. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/turtle-BsS91CYL.js +0 -0
  387. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/twig-xg9kU7Mw.js +0 -0
  388. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/typescript-BPQ3VLAy.js +0 -0
  389. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/typespec-CAFt9gP4.js +0 -0
  390. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/typst-DHCkPAjA.js +0 -0
  391. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/v-BcVCzyr7.js +0 -0
  392. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vala-CsfeWuGM.js +0 -0
  393. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vb-D17OF-Vu.js +0 -0
  394. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/verilog-BQ8w6xss.js +0 -0
  395. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vesper-DU1UobuO.js +0 -0
  396. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vhdl-CeAyd5Ju.js +0 -0
  397. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/viml-CJc9bBzg.js +0 -0
  398. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vitesse-black-Bkuqu6BP.js +0 -0
  399. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vitesse-dark-D0r3Knsf.js +0 -0
  400. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vitesse-light-CVO1_9PV.js +0 -0
  401. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vue-D2xRrEX4.js +0 -0
  402. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vue-html-AaS7Mt5G.js +0 -0
  403. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vue-vine-BoDAl6tE.js +0 -0
  404. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/vyper-CDx5xZoG.js +0 -0
  405. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wasm-CG6Dc4jp.js +0 -0
  406. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wasm-MzD3tlZU.js +0 -0
  407. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wenyan-BV7otONQ.js +0 -0
  408. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wgsl-Dx-B1_4e.js +0 -0
  409. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wikitext-BhOHFoWU.js +0 -0
  410. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wit-5i3qLPDT.js +0 -0
  411. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/wolfram-lXgVvXCa.js +0 -0
  412. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/xml-sdJ4AIDG.js +0 -0
  413. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/xsl-CtQFsRM5.js +0 -0
  414. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/yaml-Buea-lGh.js +0 -0
  415. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/zenscript-DVFEvuxE.js +0 -0
  416. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/assets/zig-VOosw3JB.js +0 -0
  417. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/mycode/server/static/favicon_slashes.svg +0 -0
  418. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/scripts/__init__.py +0 -0
  419. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/scripts/build_web.py +0 -0
  420. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/scripts/release.sh +0 -0
  421. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/scripts/update_models_catalog.py +0 -0
  422. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/conftest.py +0 -0
  423. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_agent_loop.py +0 -0
  424. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_agent_provider_request.py +0 -0
  425. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_bash.py +0 -0
  426. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_cli.py +0 -0
  427. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_cli_imports.py +0 -0
  428. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_compact.py +0 -0
  429. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_config.py +0 -0
  430. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_instructions.py +0 -0
  431. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_models.py +0 -0
  432. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_provider_adapters.py +0 -0
  433. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_rewind.py +0 -0
  434. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_run_manager.py +0 -0
  435. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_server_app.py +0 -0
  436. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_session.py +0 -0
  437. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/tests/test_tools.py +0 -0
  438. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/index.html +0 -0
  439. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/package.json +0 -0
  440. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/pnpm-lock.yaml +0 -0
  441. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/postcss.config.js +0 -0
  442. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/public/favicon_slashes.svg +0 -0
  443. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/App.tsx +0 -0
  444. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/EditDiff.tsx +0 -0
  445. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/HighlightedCode.tsx +0 -0
  446. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/InputArea.tsx +0 -0
  447. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/MarkdownBlock.test.tsx +0 -0
  448. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/MarkdownBlock.tsx +0 -0
  449. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/MessageBubble.tsx +0 -0
  450. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/MessageList.tsx +0 -0
  451. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/ReasoningBlock.tsx +0 -0
  452. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Chat/ToolCard.tsx +0 -0
  453. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Layout.tsx +0 -0
  454. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/MobileHeader.tsx +0 -0
  455. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/Sidebar.tsx +0 -0
  456. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/ThemeProvider.tsx +0 -0
  457. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/UI/Button.tsx +0 -0
  458. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/components/WorkspacePicker.tsx +0 -0
  459. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/hooks/sessionSelection.test.ts +0 -0
  460. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/hooks/sessionSelection.ts +0 -0
  461. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/hooks/useChat.test.tsx +0 -0
  462. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/hooks/useChat.ts +0 -0
  463. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/index.css +0 -0
  464. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/main.tsx +0 -0
  465. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/test/setup.ts +0 -0
  466. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/types.ts +0 -0
  467. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/clipboard.ts +0 -0
  468. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/cn.ts +0 -0
  469. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/config.ts +0 -0
  470. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/highlighter.ts +0 -0
  471. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/messages.test.ts +0 -0
  472. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/messages.ts +0 -0
  473. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/storage.test.ts +0 -0
  474. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/utils/storage.ts +0 -0
  475. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/src/vite-env.d.ts +0 -0
  476. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/tailwind.config.js +0 -0
  477. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/tsconfig.json +0 -0
  478. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/vite.config.ts +0 -0
  479. {mycode_cli-0.3.2 → mycode_cli-0.3.4}/web/vitest.config.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mycode-cli
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: Minimal coding agent with web UI
5
5
  Project-URL: Homepage, https://github.com/legibet/mycode
6
6
  Project-URL: Repository, https://github.com/legibet/mycode
@@ -669,7 +669,11 @@ class ReplyRenderer:
669
669
  self._thinking_collapsed = True
670
670
 
671
671
  if self._live is not None:
672
+ # Rich's stop() refreshes the last renderable once more before
673
+ # restoring the cursor. Blank it first so a final spinner frame
674
+ # can't get stranded in terminals that occasionally miss the clear.
672
675
  self._live.transient = True
676
+ self._live.update(Text(""))
673
677
  self._live.stop()
674
678
  self._live = None
675
679
 
@@ -13,6 +13,7 @@ import logging
13
13
  import re
14
14
  from collections import deque
15
15
  from dataclasses import dataclass
16
+ from datetime import date
16
17
  from pathlib import Path
17
18
 
18
19
  import yaml
@@ -35,9 +36,8 @@ You have four tools: read, write, edit, bash.
35
36
  - Use bash for file operations and exploration like `ls`, `find`, `rg`, etc.
36
37
  - Always set offset/limit when reading large files.
37
38
  - Always read files before editing them.
38
- - Use write only for new files or complete rewrites
39
- - Your response should be concise and relevant.
40
- - When available skills match the current task, prefer them over manual alternatives. To use a skill: read its `SKILL.md`, then follow the instructions inside.\
39
+ - Use write only for new files or complete rewrites.
40
+ - Your response should be concise and relevant.\
41
41
  """
42
42
 
43
43
 
@@ -62,7 +62,7 @@ def build_system_prompt(cwd: str, settings: Settings | None = None) -> str:
62
62
  if skills_prompt:
63
63
  parts.append(skills_prompt)
64
64
 
65
- parts.append(f"Current working directory: {resolved_cwd}")
65
+ parts.append(f"Current working directory: {resolved_cwd}\nCurrent date: {date.today().strftime('%Y-%m')}")
66
66
  return "\n\n".join(parts)
67
67
 
68
68
 
@@ -108,7 +108,7 @@ def load_instructions_prompt(cwd: str, settings: Settings | None = None) -> str:
108
108
  continue
109
109
 
110
110
  if text:
111
- sections.append(f"## {path}\n{text}")
111
+ sections.append(f"Instructions from: {path}\n{text}")
112
112
 
113
113
  if not sections:
114
114
  return ""
@@ -116,7 +116,7 @@ def load_instructions_prompt(cwd: str, settings: Settings | None = None) -> str:
116
116
  return "\n".join(
117
117
  [
118
118
  "<workspace_instructions>",
119
- "Instructions are ordered from global to current cwd. Later files are more specific.",
119
+ "Ordered from global to project; later instructions take precedence.",
120
120
  "",
121
121
  "\n\n".join(sections),
122
122
  "</workspace_instructions>",
@@ -308,12 +308,17 @@ def format_skills_for_prompt(skills: list[Skill]) -> str:
308
308
  if not skills:
309
309
  return ""
310
310
 
311
- lines = ["<available_skills>"]
311
+ lines = [
312
+ "When a task matches a skill's description, prefer it over manual alternatives — use the read tool to load the file at <location> and follow the instructions inside.",
313
+ "Relative paths inside a skill file resolve against the skill's directory (dirname of <location>).",
314
+ "<available_skills>",
315
+ ]
312
316
  for skill in skills:
313
- lines.append(f"- name: {skill.name}")
314
- lines.append(f" path: {skill.path}")
315
- lines.append(f" description: {skill.description}")
316
- lines.append("")
317
+ lines.append(" <skill>")
318
+ lines.append(f" <name>{skill.name}</name>")
319
+ lines.append(f" <description>{skill.description}</description>")
320
+ lines.append(f" <location>{skill.path}</location>")
321
+ lines.append(" </skill>")
317
322
  lines.append("</available_skills>")
318
323
  return "\n".join(lines)
319
324
 
@@ -1,4 +1,4 @@
1
- import{r as N,h as D,a as _,l as O,j as y,c as q,S as A}from"./index-CY827G4K.js";class R{diff(e,n,t={}){let l;typeof t=="function"?(l=t,t={}):"callback"in t&&(l=t.callback);const o=this.castInput(e,t),i=this.castInput(n,t),a=this.removeEmpty(this.tokenize(o,t)),s=this.removeEmpty(this.tokenize(i,t));return this.diffWithOptionsObj(a,s,t,l)}diffWithOptionsObj(e,n,t,l){var o;const i=m=>{if(m=this.postProcess(m,t),l){setTimeout(function(){l(m)},0);return}else return m},a=n.length,s=e.length;let r=1,d=a+s;t.maxEditLength!=null&&(d=Math.min(d,t.maxEditLength));const h=(o=t.timeout)!==null&&o!==void 0?o:1/0,x=Date.now()+h,f=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(f[0],n,e,0,t);if(f[0].oldPos+1>=s&&p+1>=a)return i(this.buildValues(f[0].lastComponent,n,e));let g=-1/0,P=1/0;const T=()=>{for(let m=Math.max(g,-r);m<=Math.min(P,r);m+=2){let v;const L=f[m-1],j=f[m+1];L&&(f[m-1]=void 0);let u=!1;if(j){const k=j.oldPos-m;u=j&&0<=k&&k<a}const w=L&&L.oldPos+1<s;if(!u&&!w){f[m]=void 0;continue}if(!w||u&&L.oldPos<j.oldPos?v=this.addToPath(j,!0,!1,0,t):v=this.addToPath(L,!1,!0,1,t),p=this.extractCommon(v,n,e,m,t),v.oldPos+1>=s&&p+1>=a)return i(this.buildValues(v.lastComponent,n,e))||!0;f[m]=v,v.oldPos+1>=s&&(P=Math.min(P,m-1)),p+1>=a&&(g=Math.max(g,m+1))}r++};if(l)(function m(){setTimeout(function(){if(r>d||Date.now()>x)return l(void 0);T()||m()},0)})();else for(;r<=d&&Date.now()<=x;){const m=T();if(m)return m}}addToPath(e,n,t,l,o){const i=e.lastComponent;return i&&!o.oneChangePerToken&&i.added===n&&i.removed===t?{oldPos:e.oldPos+l,lastComponent:{count:i.count+1,added:n,removed:t,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+l,lastComponent:{count:1,added:n,removed:t,previousComponent:i}}}extractCommon(e,n,t,l,o){const i=n.length,a=t.length;let s=e.oldPos,r=s-l,d=0;for(;r+1<i&&s+1<a&&this.equals(t[s+1],n[r+1],o);)r++,s++,d++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return d&&!o.oneChangePerToken&&(e.lastComponent={count:d,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,r}equals(e,n,t){return t.comparator?t.comparator(e,n):e===n||!!t.ignoreCase&&e.toLowerCase()===n.toLowerCase()}removeEmpty(e){const n=[];for(let t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n}castInput(e,n){return e}tokenize(e,n){return Array.from(e)}join(e){return e.join("")}postProcess(e,n){return e}get useLongestToken(){return!1}buildValues(e,n,t){const l=[];let o;for(;e;)l.push(e),o=e.previousComponent,delete e.previousComponent,e=o;l.reverse();const i=l.length;let a=0,s=0,r=0;for(;a<i;a++){const d=l[a];if(d.removed)d.value=this.join(t.slice(r,r+d.count)),r+=d.count;else{if(!d.added&&this.useLongestToken){let h=n.slice(s,s+d.count);h=h.map(function(x,f){const p=t[r+f];return p.length>x.length?p:x}),d.value=this.join(h)}else d.value=this.join(n.slice(s,s+d.count));s+=d.count,d.added||(r+=d.count)}}return l}}class z extends R{constructor(){super(...arguments),this.tokenize=V}equals(e,n,t){return t.ignoreWhitespace?((!t.newlineIsToken||!e.includes(`
1
+ import{r as N,h as D,a as _,l as O,j as y,c as q,S as A}from"./index-C8gu4B-1.js";class R{diff(e,n,t={}){let l;typeof t=="function"?(l=t,t={}):"callback"in t&&(l=t.callback);const o=this.castInput(e,t),i=this.castInput(n,t),a=this.removeEmpty(this.tokenize(o,t)),s=this.removeEmpty(this.tokenize(i,t));return this.diffWithOptionsObj(a,s,t,l)}diffWithOptionsObj(e,n,t,l){var o;const i=m=>{if(m=this.postProcess(m,t),l){setTimeout(function(){l(m)},0);return}else return m},a=n.length,s=e.length;let r=1,d=a+s;t.maxEditLength!=null&&(d=Math.min(d,t.maxEditLength));const h=(o=t.timeout)!==null&&o!==void 0?o:1/0,x=Date.now()+h,f=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(f[0],n,e,0,t);if(f[0].oldPos+1>=s&&p+1>=a)return i(this.buildValues(f[0].lastComponent,n,e));let g=-1/0,P=1/0;const T=()=>{for(let m=Math.max(g,-r);m<=Math.min(P,r);m+=2){let v;const L=f[m-1],j=f[m+1];L&&(f[m-1]=void 0);let u=!1;if(j){const k=j.oldPos-m;u=j&&0<=k&&k<a}const w=L&&L.oldPos+1<s;if(!u&&!w){f[m]=void 0;continue}if(!w||u&&L.oldPos<j.oldPos?v=this.addToPath(j,!0,!1,0,t):v=this.addToPath(L,!1,!0,1,t),p=this.extractCommon(v,n,e,m,t),v.oldPos+1>=s&&p+1>=a)return i(this.buildValues(v.lastComponent,n,e))||!0;f[m]=v,v.oldPos+1>=s&&(P=Math.min(P,m-1)),p+1>=a&&(g=Math.max(g,m+1))}r++};if(l)(function m(){setTimeout(function(){if(r>d||Date.now()>x)return l(void 0);T()||m()},0)})();else for(;r<=d&&Date.now()<=x;){const m=T();if(m)return m}}addToPath(e,n,t,l,o){const i=e.lastComponent;return i&&!o.oneChangePerToken&&i.added===n&&i.removed===t?{oldPos:e.oldPos+l,lastComponent:{count:i.count+1,added:n,removed:t,previousComponent:i.previousComponent}}:{oldPos:e.oldPos+l,lastComponent:{count:1,added:n,removed:t,previousComponent:i}}}extractCommon(e,n,t,l,o){const i=n.length,a=t.length;let s=e.oldPos,r=s-l,d=0;for(;r+1<i&&s+1<a&&this.equals(t[s+1],n[r+1],o);)r++,s++,d++,o.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return d&&!o.oneChangePerToken&&(e.lastComponent={count:d,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,r}equals(e,n,t){return t.comparator?t.comparator(e,n):e===n||!!t.ignoreCase&&e.toLowerCase()===n.toLowerCase()}removeEmpty(e){const n=[];for(let t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n}castInput(e,n){return e}tokenize(e,n){return Array.from(e)}join(e){return e.join("")}postProcess(e,n){return e}get useLongestToken(){return!1}buildValues(e,n,t){const l=[];let o;for(;e;)l.push(e),o=e.previousComponent,delete e.previousComponent,e=o;l.reverse();const i=l.length;let a=0,s=0,r=0;for(;a<i;a++){const d=l[a];if(d.removed)d.value=this.join(t.slice(r,r+d.count)),r+=d.count;else{if(!d.added&&this.useLongestToken){let h=n.slice(s,s+d.count);h=h.map(function(x,f){const p=t[r+f];return p.length>x.length?p:x}),d.value=this.join(h)}else d.value=this.join(n.slice(s,s+d.count));s+=d.count,d.added||(r+=d.count)}}return l}}class z extends R{constructor(){super(...arguments),this.tokenize=V}equals(e,n,t){return t.ignoreWhitespace?((!t.newlineIsToken||!e.includes(`
2
2
  `))&&(e=e.trim()),(!t.newlineIsToken||!n.includes(`
3
3
  `))&&(n=n.trim())):t.ignoreNewlineAtEof&&!t.newlineIsToken&&(e.endsWith(`
4
4
  `)&&(e=e.slice(0,-1)),n.endsWith(`
@@ -453,10 +453,10 @@ XID_Start XIDS`.split(/\s/).map(e=>[Oc(e),e])),II=new Map([["s",sn(383)],[sn(383
453
453
  ]`:`(?>\r
454
454
  ?|[
455
455
  \v\f…\u2028\u2029])`),t));else if(f==="posix")if(!l&&(m==="graph"||m==="print")){if(r==="strict")throw new Error(`POSIX class "${m}" requires min target ES2024 or non-strict accuracy`);let g={graph:"!-~",print:" -~"}[m];d&&(g=`\0-${sn(g.codePointAt(0)-1)}${sn(g.codePointAt(2)+1)}-􏿿`),n(Ft(di(`[${g}]`),t))}else n(Ft(nm(di(qI.get(m)),d),t));else if(f==="property")bp.has(Oc(m))||(e.key="sc");else if(f==="space")n(ta(ql("space",{negate:d}),t));else if(f==="word")n(Ft(nm(di(hi),d),t));else throw new Error(`Unexpected character set kind "${f}"`)},Directive({node:e,parent:t,root:n,remove:r,replaceWith:l,removeAllPrevSiblings:s,removeAllNextSiblings:u}){const{kind:c,flags:f}=e;if(c==="flags")if(!f.enable&&!f.disable)r();else{const d=Rr({flags:f});d.body[0].body=u(),l(Ft(d,t),{traverse:!0})}else if(c==="keep"){const d=n.body[0],g=n.body.length===1&&s8(d,{type:"Group"})&&d.body[0].body.length===1?d.body[0]:n;if(t.parent!==g||g.body.length>1)throw new Error(Ve`Uses "\K" in a way that's unsupported`);const b=ja({behind:!0});b.body[0].body=s(),l(Ft(b,t))}else throw new Error(`Unexpected directive kind "${c}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t?.extended&&delete t.extended,n?.extended&&delete n.extended,t?.dotAll&&n?.dotAll&&delete t.dotAll,t?.ignoreCase&&n?.ignoreCase&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:r}=e;if(r==="fail")n(Ft(ja({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Rr();t.body[0].body.push(e.body),e.body=Ft(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let r=!1,l=!1;for(const s of e.body)if(s.body.length===1&&s.body[0].kind==="search_start")s.body.pop();else{const u=S8(s.body);u?(r=!0,Array.isArray(u)?n.push(...u):n.push(u)):l=!0}r&&!l&&n.forEach(s=>t.add(s))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t==="strict"&&n&&r)throw new Error(Ve`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!tm(n)&&(n=em(n,t),e.ref=n)}},VI={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:r,ref:l}=e;r||n.set(e,[...t.get(l).map(({node:s})=>s)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:l,groupsByName:s,multiplexCapturesToLeftByRef:u,openRefs:c,reffedNodesByReferencer:f}){const d=l.get(e);if(d&&c.has(e.number)){const g=ta(s6(e.number),t);f.set(g,c.get(e.number)),n(g);return}c.set(e.number,e),u.set(e.number,[]),e.name&&ko(u,e.name,[]);const m=u.get(e.name??e.number);for(let g=0;g<m.length;g++){const b=m[g];if(d===b.node||d&&d===b.origin||e===b.origin){m.splice(g,1);break}}if(u.get(e.number).push({node:e,origin:d}),e.name&&u.get(e.name).push({node:e,origin:d}),e.name){const g=ko(s,e.name,new Map);let b=!1;if(d)b=!0;else for(const v of g.values())if(!v.hasDuplicateNameToRemove){b=!0;break}s.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:b})}},exit({node:e},{openRefs:t}){t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=ec(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){const{isRecursive:l,ref:s}=e;if(l){let m=t;for(;(m=m.parent)&&!(m.type==="CapturingGroup"&&(m.name===s||m.number===s)););r.reffedNodesByReferencer.set(e,m);return}const u=r.subroutineRefMap.get(s),c=s===0,f=c?s6(0):x8(u,r.groupOriginByCopy,null);let d=f;if(!c){const m=w8(YI(u,b=>b.type==="Group"&&!!b.flags)),g=m?ec(r.globalFlags,m):r.globalFlags;FI(g,r.currentFlags)||(d=Rr({flags:XI(g)}),d.body[0].body.push(f))}n(Ft(d,t),{traverse:!c})}},GI={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}const s=r.reffedNodesByReferencer.get(e).filter(u=>$I(u,e));if(!s.length)n(Ft(ja({negate:!0}),t));else if(s.length>1){const u=Rr({atomic:!0,body:s.reverse().map(c=>Ua({body:[s1(c.number)]}))});n(Ft(u,t))}else e.ref=s[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let r=0;r<n;r++){const l=u8();e.body.at(-1).body.push(l)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function b8(e){mo(e,{"*"({node:t,parent:n}){t.parent=n}})}function FI(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function $I(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const r=_8(n.parent);for(const l of r){if(l===n)break;if(l===e||k8(l,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function x8(e,t,n,r){const l=Array.isArray(e)?[]:{};for(const[s,u]of Object.entries(e))s==="parent"?l.parent=Array.isArray(n)?r:n:u&&typeof u=="object"?l[s]=x8(u,t,l,n):(s==="type"&&u==="CapturingGroup"&&t.set(l,t.get(e)??e),l[s]=u);return l}function s6(e){const t=f8(e);return t.isRecursive=!0,t}function YI(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function em(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function w8(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:r})=>{t.forEach(l=>{r.enable?.[l]&&(delete n.disable[l],n.enable[l]=!0),r.disable?.[l]&&(n.disable[l]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function XI({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function _8(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function S8(e){const t=e.find(n=>n.kind==="search_start"||KI(n,{negate:!1})||!QI(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const r of t.body){const l=S8(r.body);if(!l)return null;Array.isArray(l)?n.push(...l):n.push(l)}return n}return null}function k8(e,t){const n=_8(e)??[];for(const r of n)if(r===t||k8(r,t))return!0;return!1}function QI({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function ZI(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function KI(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&s8(e.body[0],{type:"Assertion",kind:"search_start"})}function tm(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function di(e,t){const r=o8(e,{...t,unicodePropertyMap:bp}).body;return r.length>1||r[0].body.length>1?Rr({body:r}):r[0].body[0]}function nm(e,t){return e.negate=t,e}function ta(e,t){return e.parent=t,e}function Ft(e,t){return b8(e),e.parent=t,e}function WI(e,t){const n=g8(t),r=c1(n.target,"ES2024"),l=c1(n.target,"ES2025"),s=n.rules.recursionLimit;if(!Number.isInteger(s)||s<2||s>20)throw new Error("Invalid recursionLimit; use 2-20");let u=null,c=null;if(!l){const v=[e.flags.ignoreCase];mo(e,JI,{getCurrentModI:()=>v.at(-1),popModI(){v.pop()},pushModI(_){v.push(_)},setHasCasedChar(){v.at(-1)?u=!0:c=!0}})}const f={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||u)&&!c)};let d=e;const m={accuracy:n.accuracy,appliedGlobalFlags:f,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:d,originMap:e._originMap,recursionLimit:s,useAppliedIgnoreCase:!!(!l&&u&&c),useFlagMods:l,useFlagV:r,verbose:n.verbose};function g(v){return m.lastNode=d,d=v,OI(eB[v.type],`Unexpected node type "${v.type}"`)(v,m,g)}const b={pattern:e.body.map(g).join("|"),flags:g(e.flags),options:{...e.options}};return r||(delete b.options.force.v,b.options.disable.v=!0,b.options.unicodeSetsPlugin=null),b._captureTransfers=new Map,b._hiddenCaptures=[],m.captureMap.forEach((v,_)=>{v.hidden&&b._hiddenCaptures.push(_),v.transferTo&&ko(b._captureTransfers,v.transferTo,[]).push(_)}),b}var JI={"*":{enter({node:e},t){if(u6(e)){const n=t.getCurrentModI();t.pushModI(e.flags?ec({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){u6(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){xp(sn(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),E8(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&v8.has(e.value)&&t.setHasCasedChar()}},eB={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?Ve`\B`:Ve`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:r,name:l,number:s}=e,u={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(u.hidden=!0,s>c.number&&(u.transferTo=c.number)),t.captureMap.set(s,u),`(${l?`?<${l}>`:""}${r.map(n).join("|")})`},Character({value:e},t){const n=sn(e),r=Il(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&xp(n)){const l=y8(n);return t.inCharClass?l.join(""):l.length>1?`[${l.join("")}]`:l[0]}return n},CharacterClass(e,t,n){const{kind:r,negate:l,parent:s}=e;let{body:u}=e;if(r==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");Dr.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&u.some(c6)&&(u=[Dc(45),...u.filter(d=>!c6(d))]);const c=()=>`[${l?"^":""}${u.map(n).join(r==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||Dr.bugNestedClassIgnoresNegation)&&!l){const m=u.filter(g=>g.type==="CharacterClass"&&g.kind==="union"&&g.negate);if(m.length){const g=Rr(),b=g.body[0];return g.parent=s,b.parent=g,u=u.filter(v=>!m.includes(v)),e.body=u,u.length?(e.parent=b,b.body.push(e)):g.body.pop(),m.forEach(v=>{const _=Ua({body:[v]});v.parent=_,_.parent=g,g.body.push(_)}),n(g)}}t.inCharClass=!0;const d=c();return t.inCharClass=!1,d}const f=u[0];if(r==="union"&&!l&&f&&((!t.useFlagV||!t.verbose)&&s.kind==="union"&&!(Dr.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&s.kind==="intersection"&&u.length===1&&f.type!=="CharacterClassRange"))return u.map(n).join("");if(!t.useFlagV&&s.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){const n=e.min.value,r=e.max.value,l={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},s=Il(n,l),u=Il(r,l),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const f=E8(e);aB(f).forEach(m=>{c.add(Array.isArray(m)?`${Il(m[0],l)}-${Il(m[1],l)}`:Il(m,l))})}return`${s}-${u}${[...c].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:r},l){if(e==="dot")return l.currentFlags.dotAll?l.appliedGlobalFlags.dotAll||l.useFlagMods?".":"[^]":Ve`[^\n]`;if(e==="digit")return t?Ve`\D`:Ve`\d`;if(e==="property"){if(l.useAppliedIgnoreCase&&l.currentFlags.ignoreCase&&v8.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?Ve`\P`:Ve`\p`}{${r?`${r}=`:""}${n}}`}if(e==="word")return t?Ve`\W`:Ve`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:r},l,s){const u=l.currentFlags;n&&(l.currentFlags=ec(u,n));const c=t.map(s).join("|"),f=!l.verbose&&t.length===1&&r.type!=="Quantifier"&&!e&&(!l.useFlagMods||!n)?c:`(?${lB(e,n,l.useFlagMods)}${c})`;return l.currentFlags=u,f},LookaroundAssertion({body:e,kind:t,negate:n},r,l){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(l).join("|")})`},Quantifier(e,t,n){return n(e.body)+sB(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const r=n.recursionLimit;return t===0?`(?R=${r})`:Ve`\g<${t}&R=${r}>`}},tB=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),nB=new Set(["-","\\","]","^","["]),rB=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),o6=new Map([[9,Ve`\t`],[10,Ve`\n`],[11,Ve`\v`],[12,Ve`\f`],[13,Ve`\r`],[8232,Ve`\u2028`],[8233,Ve`\u2029`],[65279,Ve`\uFEFF`]]),iB=new RegExp("^\\p{Cased}$","u");function xp(e){return iB.test(e)}function E8(e,t){const n=!!t?.firstOnly,r=e.min.value,l=e.max.value,s=[];if(r<65&&(l===65535||l>=131071)||r===65536&&l>=131071)return s;for(let u=r;u<=l;u++){const c=sn(u);if(!xp(c))continue;const f=y8(c).filter(d=>{const m=d.codePointAt(0);return m<r||m>l});if(f.length&&(s.push(...f),n))break}return s}function Il(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(o6.has(e))return o6.get(e);if(e<32||e>126&&e<160||e>262143||t&&oB(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const l=n?r?rB:nB:tB,s=sn(e);return(l.has(s)?"\\":"")+s}function aB(e){const t=e.map(l=>l.codePointAt(0)).sort((l,s)=>l-s),n=[];let r=null;for(let l=0;l<t.length;l++)t[l+1]===t[l]+1?r??=t[l]:r===null?n.push(t[l]):(n.push([r,t[l]]),r=null);return n}function lB(e,t,n){if(e)return">";let r="";if(t&&n){const{enable:l,disable:s}=t;r=(l?.ignoreCase?"i":"")+(l?.dotAll?"s":"")+(s?"-":"")+(s?.ignoreCase?"i":"")+(s?.dotAll?"s":"")}return`${r}:`}function sB({kind:e,max:t,min:n}){let r;return!n&&t===1?r="?":!n&&t===1/0?r="*":n===1&&t===1/0?r="+":n===t?r=`{${n}}`:r=`{${n},${t===1/0?"":t}}`,r+{greedy:"",lazy:"?",possessive:"+"}[e]}function u6({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function oB(e){return e>47&&e<58}function c6({type:e,value:t}){return e==="Character"&&t===45}var uB=class f1 extends RegExp{#t=new Map;#e=null;#r;#n=null;#i=null;rawOptions={};get source(){return this.#r||"(?:)"}constructor(t,n,r){const l=!!r?.lazyCompile;if(t instanceof RegExp){if(r)throw new Error("Cannot provide options when copying a regexp");const s=t;super(s,n),this.#r=s.source,s instanceof f1&&(this.#t=s.#t,this.#n=s.#n,this.#i=s.#i,this.rawOptions=s.rawOptions)}else{const s={hiddenCaptures:[],strategy:null,transfers:[],...r};super(l?"":t,n),this.#r=t,this.#t=fB(s.hiddenCaptures,s.transfers),this.#i=s.strategy,this.rawOptions=r??{}}l||(this.#e=this)}exec(t){if(!this.#e){const{lazyCompile:l,...s}=this.rawOptions;this.#e=new f1(this.#r,this.flags,s)}const n=this.global||this.sticky,r=this.lastIndex;if(this.#i==="clip_search"&&n&&r){this.lastIndex=0;const l=this.#a(t.slice(r));return l&&(cB(l,r,t,this.hasIndices),this.lastIndex+=r),l}return this.#a(t)}#a(t){this.#e.lastIndex=this.lastIndex;const n=super.exec.call(this.#e,t);if(this.lastIndex=this.#e.lastIndex,!n||!this.#t.size)return n;const r=[...n];n.length=1;let l;this.hasIndices&&(l=[...n.indices],n.indices.length=1);const s=[0];for(let u=1;u<r.length;u++){const{hidden:c,transferTo:f}=this.#t.get(u)??{};if(c?s.push(null):(s.push(n.length),n.push(r[u]),this.hasIndices&&n.indices.push(l[u])),f&&r[u]!==void 0){const d=s[f];if(!d)throw new Error(`Invalid capture transfer to "${d}"`);if(n[d]=r[u],this.hasIndices&&(n.indices[d]=l[u]),n.groups){this.#n||(this.#n=hB(this.source));const m=this.#n.get(f);m&&(n.groups[m]=r[u],this.hasIndices&&(n.indices.groups[m]=l[u]))}}}return n}};function cB(e,t,n,r){if(e.index+=t,e.input=n,r){const l=e.indices;for(let u=0;u<l.length;u++){const c=l[u];c&&(l[u]=[c[0]+t,c[1]+t])}const s=l.groups;s&&Object.keys(s).forEach(u=>{const c=s[u];c&&(s[u]=[c[0]+t,c[1]+t])})}}function fB(e,t){const n=new Map;for(const r of e)n.set(r,{hidden:!0});for(const[r,l]of t)for(const s of l)ko(n,s,{}).transferTo=r;return n}function hB(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let r=0,l=0,s;for(;s=t.exec(e);){const{0:u,groups:{capture:c,name:f}}=s;u==="["?r++:r?u==="]"&&r--:c&&(l++,f&&n.set(l,f))}return n}function dB(e,t){const n=mB(e,t);return n.options?new uB(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function mB(e,t){const n=g8(t),r=o8(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:bp}),l=PI(r,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),s=WI(l,n),u=MI(s.pattern,{captureTransfers:s._captureTransfers,hiddenCaptures:s._hiddenCaptures,mode:"external"}),c=CI(u.pattern),f=TI(c.pattern,{captureTransfers:u.captureTransfers,hiddenCaptures:u.hiddenCaptures}),d={pattern:f.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${s.flags}${s.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const m=f.hiddenCaptures.sort((_,E)=>_-E),g=Array.from(f.captureTransfers),b=l._strategy,v=d.pattern.length>=n.lazyCompileLength;(m.length||g.length||b||v)&&(d.options={...m.length&&{hiddenCaptures:m},...g.length&&{transfers:g},...b&&{strategy:b},...v&&{lazyCompile:v}})}return d}function A8(e,t){return dB(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function T8(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||=n=>A8(n,{target:t.target}),{createScanner(n){return new DL(n,t)},createString(n){return{content:n}}}}var pB=ip({bundledLanguages:()=>_c,bundledLanguagesAlias:()=>lp,bundledLanguagesBase:()=>ap,bundledLanguagesInfo:()=>wc,bundledThemes:()=>op,bundledThemesInfo:()=>sp,codeToHast:()=>Zb,codeToHtml:()=>Qb,codeToTokens:()=>Kb,codeToTokensBase:()=>Wb,codeToTokensWithThemes:()=>Jb,createHighlighter:()=>Mc,createJavaScriptRegexEngine:()=>T8,createOnigurumaEngine:()=>pb,defaultJavaScriptRegexConstructor:()=>A8,getLastGrammarState:()=>t8,getSingletonHighlighter:()=>e8,loadWasm:()=>cp});hb(pB,ML);let C8=null;const gB={"c#":"csharp","c++":"cpp",golang:"go",md:"markdown",plaintext:"text",py:"python",rb:"ruby",rs:"rust",sh:"bash",text:"text",ts:"typescript",yml:"yaml"},jj=Mc({themes:["dark-plus","light-plus"],langs:["javascript","typescript","python","json","bash","html","css","jsx","tsx"],engine:T8()}).then(e=>(C8=e,e));function yB(){return C8}const S0=new Map;function R8(e){const t=String(e||"").trim().toLowerCase();if(!t)return"text";const n=gB[t]||t;return Object.hasOwn(_c,n)?n:"text"}function vB(e,t){const n=R8(t);if(n==="text")return Promise.resolve("text");if(e.getLoadedLanguages().includes(n))return Promise.resolve(n);if(!S0.has(n))try{S0.set(n,Promise.resolve(e.loadLanguage(n)).then(()=>n).catch(()=>(S0.delete(n),"text")))}catch{return Promise.resolve("text")}return S0.get(n)??Promise.resolve("text")}function bB(e,t,n){try{return e.codeToHtml(t,n)}catch{return null}}const xB={themes:{dark:"dark-plus",light:"light-plus"},defaultColor:!1},rm={margin:0,padding:0,fontFamily:'"DM Mono", "JetBrains Mono", monospace',fontSize:"13px",lineHeight:"1.5",fontWeight:400};function wB({code:e,language:t}){const n=yB(),r=R8(t),s=n?.getLoadedLanguages()?.includes(r)?r:"text",[u,c]=ne.useState(s);if(ne.useEffect(()=>{if(!n)return;const d=n.getLoadedLanguages().includes(r)?r:"text";if(c(g=>g===d?g:d),d!=="text"||r==="text")return;let m=!1;return vB(n,r).then(g=>{m||g==="text"||ne.startTransition(()=>{c(b=>b===g?b:g)})}),()=>{m=!0}},[n,r]),!n)return z.jsx("pre",{style:rm,children:z.jsx("code",{children:e})});const f=bB(n,e,{lang:u,...xB});return f?z.jsx("div",{className:"shiki-wrapper",style:rm,dangerouslySetInnerHTML:{__html:f}}):z.jsx("pre",{style:rm,children:z.jsx("code",{children:e})})}const _B=/language-([a-z0-9+#-]+)/i;function SB({className:e,children:t,...n}){const[r,l]=ne.useState(!1),s=ne.useRef(null),u=_B.exec(e||""),c=u?.[1]??"",f=Array.isArray(t)?t.join(""):String(t||""),d=f.replace(/\n$/,""),m=!u&&!f.endsWith(`
456
- `);ne.useEffect(()=>()=>{s.current!==null&&window.clearTimeout(s.current)},[]);const g=async()=>{try{await t7(d),l(!0),s.current!==null&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{l(!1),s.current=null},2e3)}catch{}};return m?z.jsx("code",{className:dt("px-1.5 py-0.5 rounded bg-code font-mono text-[13px] text-accent font-medium",e),...n,children:t}):z.jsxs("div",{"data-code-block":!0,className:"group/code relative my-3 rounded-md bg-code overflow-x-auto scrollbar-subtle",children:[c&&z.jsx("span",{className:"absolute top-1.5 left-3 text-[11px] font-mono text-muted-foreground/50 uppercase tracking-wider select-none",children:c}),z.jsx("button",{type:"button","aria-label":"Copy code",onClick:g,className:dt("absolute top-1 right-1 z-10 flex items-center justify-center h-7 w-7 rounded-md transition duration-150",r?"text-emerald-400 opacity-100":"text-muted-foreground/40 max-md:opacity-60 opacity-0 group-hover/code:opacity-100 hover:text-foreground/60 hover:bg-muted/20"),title:"Copy",children:r?z.jsx(p1,{className:"h-3.5 w-3.5"}):z.jsx(B6,{className:"h-3.5 w-3.5"})}),z.jsx("div",{className:dt("px-3 pb-2.5",c?"pt-6":"pt-2"),children:z.jsx(wB,{language:c,code:d})})]})}const kB=[yO,CO],EB=[oM],AB={pre:({children:e})=>e,code:SB,table:({children:e,...t})=>z.jsx("div",{className:"my-4 overflow-x-auto scrollbar-subtle",children:z.jsx("table",{...t,children:e})})};function TB(e){let t="",n=0,r="",l=0;for(;n<e.length;){const s=n===0||e[n-1]===`
456
+ `);ne.useEffect(()=>()=>{s.current!==null&&window.clearTimeout(s.current)},[]);const g=async()=>{try{await t7(d),l(!0),s.current!==null&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{l(!1),s.current=null},2e3)}catch{}};return m?z.jsx("code",{className:dt("px-1.5 py-0.5 rounded bg-code font-mono text-[13px] text-accent font-medium",e),...n,children:t}):z.jsxs("div",{"data-code-block":!0,className:"group/code relative my-3 rounded-md bg-code",children:[c&&z.jsx("span",{className:"absolute top-1.5 left-3 text-[11px] font-mono text-muted-foreground/50 uppercase tracking-wider select-none pointer-events-none z-10",children:c}),z.jsx("button",{type:"button","aria-label":"Copy code",onClick:g,className:dt("absolute top-1 right-1 z-10 flex items-center justify-center h-7 w-7 rounded-md transition duration-150",r?"text-emerald-400 opacity-100":"text-muted-foreground/40 max-md:opacity-60 opacity-0 group-hover/code:opacity-100 hover:text-foreground/60 hover:bg-muted/20"),title:"Copy",children:r?z.jsx(p1,{className:"h-3.5 w-3.5"}):z.jsx(B6,{className:"h-3.5 w-3.5"})}),z.jsx("div",{className:"overflow-x-auto scrollbar-subtle",children:z.jsx("div",{className:dt("px-3 pb-2.5",c?"pt-6":"pt-2"),children:z.jsx(wB,{language:c,code:d})})})]})}const kB=[yO,CO],EB=[oM],AB={pre:({children:e})=>e,code:SB,table:({children:e,...t})=>z.jsx("div",{className:"my-4 overflow-x-auto scrollbar-subtle",children:z.jsx("table",{...t,children:e})})};function TB(e){let t="",n=0,r="",l=0;for(;n<e.length;){const s=n===0||e[n-1]===`
457
457
  `,u=e.indexOf(`
458
458
  `,n),c=u===-1?e.length:u+1;if(s){const f=e.slice(n,c),d=/^( {0,3})(`{3,}|~{3,})/.exec(f);if(r){t+=f,d&&d[2]?.[0]===r&&d[2].length>=l&&(r="",l=0),n=c;continue}if(d){t+=f,r=d[2]?.[0]||"",l=d[2]?.length||0,n=c;continue}if(f.startsWith(" ")||f.startsWith(" ")){t+=f,n=c;continue}}if(e[n]==="`"){let f=1;for(;e[n+f]==="`";)f+=1;const d="`".repeat(f),m=e.indexOf(d,n+f);if(m!==-1){t+=e.slice(n,m+f),n=m+f;continue}}if(e[n]==="\\"&&e[n+1]==="["){const f=e.indexOf("\\]",n+2);if(f!==-1){t+=`$$${e.slice(n+2,f)}$$`,n=f+2;continue}}if(e[n]==="\\"&&e[n+1]==="("){const f=e.indexOf("\\)",n+2);if(f!==-1){const d=e.slice(n+2,f);if(!d.includes(`
459
- `)){t+=`$${d}$`,n=f+2;continue}}}t+=e[n],n+=1}return t}const CB=ne.memo(function({content:t}){return z.jsx("div",{className:"prose prose-sm max-w-none dark:prose-invert",children:z.jsx(jT,{remarkPlugins:kB,rehypePlugins:EB,components:AB,children:TB(t)})})}),RB=ne.memo(function({content:t,isStreaming:n}){const[r,l]=ne.useState(null),s=r??!!n;return t?z.jsxs("div",{className:"rounded-lg bg-secondary/20 px-3 py-2",children:[z.jsxs("button",{type:"button",className:"flex w-full items-center gap-1.5 select-none cursor-pointer text-left","aria-expanded":s,onClick:()=>l(!s),children:[z.jsx("span",{className:dt("text-xs transition-colors duration-200",n?"text-accent/60 animate-thinking font-medium":"text-muted-foreground/50"),children:"Thinking"}),z.jsx(I6,{className:dt("h-3 w-3 text-muted-foreground/25 transition-transform duration-200",!s&&"-rotate-90"),"aria-hidden":"true"})]}),z.jsx("div",{className:dt("grid transition-[grid-template-rows,opacity] duration-250 ease-out",s?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:z.jsx("div",{className:"overflow-hidden",children:z.jsx("div",{className:"pt-2 text-[13px] text-muted-foreground/70 whitespace-pre-wrap italic leading-relaxed",children:t})})})]}):null});let im;function MB(){return im||(im=N(()=>import("./EditDiff-BAqtlKnI.js"),[])),im}const DB=ne.lazy(MB);function OB(e){const t=e;return(t.path===void 0||typeof t.path=="string")&&Array.isArray(t.edits)}function NB(e){if(!e)return null;try{const t=JSON.parse(e);if(t.status==="ok"&&Array.isArray(t.edits))return t.edits.filter(n=>typeof n?.start_line=="number")}catch{}return null}function zB({edits:e}){return z.jsx("div",{className:"rounded-md bg-code px-3 py-2 font-mono text-[13px] leading-[1.5] overflow-x-auto scrollbar-subtle whitespace-pre-wrap",children:e.map((t,n)=>z.jsxs("div",{children:[n>0&&z.jsx("div",{className:"text-center text-muted-foreground/20 select-none text-xs py-0.5",children:"···"}),t.oldText&&z.jsx("div",{className:"diff-line-removed px-1",children:t.oldText}),t.newText&&z.jsx("div",{className:"diff-line-added px-1",children:t.newText})]},n))})}const f6={read:{icon:O0,label:"read"},write:{icon:__,label:"write"},edit:{icon:D_,label:"edit"},bash:{icon:g1,label:"bash"}},LB="rounded-md px-3 py-2 font-mono text-[13px] leading-relaxed overflow-x-auto overflow-y-auto scrollbar-subtle whitespace-pre-wrap max-h-[240px]";function Ql({text:e,isError:t}){return e?z.jsx("div",{className:dt(LB,t?"bg-red-500/[0.05] text-red-400/70":"bg-code text-muted-foreground/80"),children:e}):null}function IB(e,t){if(!t)return"";switch(e){case"bash":{const n=t;return typeof n.command=="string"?n.command:""}case"read":case"write":case"edit":{const n=t;return typeof n.path=="string"?n.path:""}default:return Object.entries(t).filter(([n])=>n!=="content"&&n!=="prompt").map(([,n])=>typeof n=="object"?"…":String(n)).join(" ")}}function BB(e){if(!e)return null;const n=e.edits;if(!Array.isArray(n))return null;let r=0,l=0;for(const s of n){if(typeof s?.oldText!="string"||typeof s?.newText!="string")continue;const u=new Map;for(const f of s.oldText.split(`
459
+ `)){t+=`$${d}$`,n=f+2;continue}}}t+=e[n],n+=1}return t}const CB=ne.memo(function({content:t}){return z.jsx("div",{className:"prose prose-sm max-w-none dark:prose-invert",children:z.jsx(jT,{remarkPlugins:kB,rehypePlugins:EB,components:AB,children:TB(t)})})}),RB=ne.memo(function({content:t,isStreaming:n}){const[r,l]=ne.useState(null),s=r??!!n;return t?z.jsxs("div",{className:"rounded-lg bg-secondary/20 px-3 py-2",children:[z.jsxs("button",{type:"button",className:"flex w-full items-center gap-1.5 select-none cursor-pointer text-left","aria-expanded":s,onClick:()=>l(!s),children:[z.jsx("span",{className:dt("text-xs transition-colors duration-200",n?"text-accent/60 animate-thinking font-medium":"text-muted-foreground/50"),children:"Thinking"}),z.jsx(I6,{className:dt("h-3 w-3 text-muted-foreground/25 transition-transform duration-200",!s&&"-rotate-90"),"aria-hidden":"true"})]}),z.jsx("div",{className:dt("grid transition-[grid-template-rows,opacity] duration-250 ease-out",s?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:z.jsx("div",{className:"overflow-hidden",children:z.jsx("div",{className:"pt-2 text-[13px] text-muted-foreground/70 whitespace-pre-wrap italic leading-relaxed",children:t})})})]}):null});let im;function MB(){return im||(im=N(()=>import("./EditDiff-BCA9aTUr.js"),[])),im}const DB=ne.lazy(MB);function OB(e){const t=e;return(t.path===void 0||typeof t.path=="string")&&Array.isArray(t.edits)}function NB(e){if(!e)return null;try{const t=JSON.parse(e);if(t.status==="ok"&&Array.isArray(t.edits))return t.edits.filter(n=>typeof n?.start_line=="number")}catch{}return null}function zB({edits:e}){return z.jsx("div",{className:"rounded-md bg-code px-3 py-2 font-mono text-[13px] leading-[1.5] overflow-x-auto scrollbar-subtle whitespace-pre-wrap",children:e.map((t,n)=>z.jsxs("div",{children:[n>0&&z.jsx("div",{className:"text-center text-muted-foreground/20 select-none text-xs py-0.5",children:"···"}),t.oldText&&z.jsx("div",{className:"diff-line-removed px-1",children:t.oldText}),t.newText&&z.jsx("div",{className:"diff-line-added px-1",children:t.newText})]},n))})}const f6={read:{icon:O0,label:"read"},write:{icon:__,label:"write"},edit:{icon:D_,label:"edit"},bash:{icon:g1,label:"bash"}},LB="rounded-md px-3 py-2 font-mono text-[13px] leading-relaxed overflow-x-auto overflow-y-auto scrollbar-subtle whitespace-pre-wrap max-h-[240px]";function Ql({text:e,isError:t}){return e?z.jsx("div",{className:dt(LB,t?"bg-red-500/[0.05] text-red-400/70":"bg-code text-muted-foreground/80"),children:e}):null}function IB(e,t){if(!t)return"";switch(e){case"bash":{const n=t;return typeof n.command=="string"?n.command:""}case"read":case"write":case"edit":{const n=t;return typeof n.path=="string"?n.path:""}default:return Object.entries(t).filter(([n])=>n!=="content"&&n!=="prompt").map(([,n])=>typeof n=="object"?"…":String(n)).join(" ")}}function BB(e){if(!e)return null;const n=e.edits;if(!Array.isArray(n))return null;let r=0,l=0;for(const s of n){if(typeof s?.oldText!="string"||typeof s?.newText!="string")continue;const u=new Map;for(const f of s.oldText.split(`
460
460
  `))u.set(f,(u.get(f)??0)+1);const c=new Map;for(const f of s.newText.split(`
461
461
  `))c.set(f,(c.get(f)??0)+1);for(const[f,d]of u){const m=c.get(f)??0;d>m&&(l+=d-m)}for(const[f,d]of c){const m=u.get(f)??0;d>m&&(r+=d-m)}}return{added:r,removed:l}}function M8(e){if(!e)return"";const t=e,n=typeof t.offset=="number"?t.offset:null,r=typeof t.limit=="number"?t.limit:null;return n!=null&&r!=null?`:${n}-${n+r}`:n!=null?`:${n}`:r!=null?`:1-${r}`:""}function jB(e){if(!e)return"";const n=e.content;return typeof n!="string"?"":`${n.split(`
462
462
  `).length} lines`}const qB="shrink-0 ml-1.5 text-[12px] font-mono text-muted-foreground/30";function HB({name:e,args:t}){if(e==="edit"){const r=BB(t);return!r||r.added===0&&r.removed===0?null:z.jsxs("span",{className:"shrink-0 ml-1.5 text-[12px] font-mono tabular-nums",children:[z.jsxs("span",{className:"text-emerald-500/60",children:["+",r.added]}),z.jsxs("span",{className:"text-red-400/60 ml-1",children:["−",r.removed]})]})}const n=e==="read"?M8(t):e==="write"?jB(t):"";return n?z.jsx("span",{className:qB,children:n}):null}function PB({args:e,display:t,isError:n}){const r=e,l=typeof r?.command=="string"?r.command:"";return z.jsxs("div",{className:"pt-2 space-y-2",children:[l&&z.jsxs("div",{className:"rounded-md bg-code px-3 py-2 font-mono text-[13px] leading-[1.5] overflow-x-auto scrollbar-subtle",children:[z.jsx("span",{className:"text-muted-foreground/30 select-none",children:"$ "}),z.jsx("span",{className:"text-foreground/65 whitespace-pre-wrap break-all",children:l})]}),z.jsx(Ql,{text:t,isError:n})]})}function UB({args:e,display:t,isError:n}){const r=e,l=typeof r?.path=="string"?r.path:"",s=M8(e);return z.jsxs("div",{className:"pt-2 space-y-2",children:[l&&z.jsxs("div",{className:"font-mono text-[13px] text-muted-foreground/40 truncate",children:[l,s&&z.jsx("span",{className:"text-muted-foreground/30",children:s})]}),z.jsx(Ql,{text:t,isError:n})]})}function VB({args:e,display:t,isError:n}){const r=e,l=typeof r?.path=="string"?r.path:"",s=typeof r?.content=="string"?r.content:"";return z.jsxs("div",{className:"pt-2 space-y-2",children:[l&&z.jsx("div",{className:"font-mono text-[13px] text-muted-foreground/40 truncate",children:l}),s&&!n&&z.jsx("div",{className:"rounded-md bg-code px-3 py-2 font-mono text-[13px] leading-[1.5] overflow-x-auto overflow-y-auto scrollbar-subtle whitespace-pre-wrap max-h-[240px] text-foreground/65",children:s}),n&&z.jsx(Ql,{text:t,isError:!0})]})}function GB({args:e,modelText:t,display:n,isError:r}){if(e&&OB(e)&&e.edits?.length){const l=NB(t),s=e.edits.map((u,c)=>({oldText:u.oldText,newText:u.newText,meta:l?.[c]??null}));return z.jsxs("div",{className:"pt-2 space-y-2",children:[z.jsx(ne.Suspense,{fallback:z.jsx(zB,{edits:e.edits}),children:z.jsx(DB,{path:e.path,edits:s})}),r&&z.jsx(Ql,{text:n,isError:!0})]})}return z.jsxs("div",{className:"pt-2 space-y-2",children:[e&&Object.keys(e).length>0&&z.jsx(D8,{args:e}),z.jsx(Ql,{text:n,isError:r})]})}function D8({args:e}){return z.jsx("div",{className:"rounded-md bg-code px-3 py-2 font-mono text-[13px] leading-relaxed overflow-x-auto scrollbar-subtle",children:Object.entries(e).map(([t,n])=>z.jsxs("div",{children:[z.jsxs("span",{className:"text-accent/50",children:[t,": "]}),z.jsx("span",{className:"text-foreground/65 break-all whitespace-pre-wrap",children:typeof n=="object"?JSON.stringify(n,null,2):String(n)})]},t))})}const FB=ne.memo(function({name:t,args:n,output:r,modelText:l,displayText:s,pending:u,isError:c}){const f=typeof s=="string"?s:typeof r=="string"?r:"",d=!!c||typeof l=="string"&&l.startsWith("error:"),[m,g]=ne.useState(null),b=m??d,v=u?"pending":d?"error":"success",E=(Object.hasOwn(f6,t)?f6[t]:{icon:g1}).icon,D=IB(t,n);return z.jsxs("div",{className:dt("relative rounded-lg px-3 py-2",v==="error"?"bg-red-500/[0.05]":"bg-secondary/20"),children:[v==="pending"&&z.jsx("div",{className:"absolute top-0 left-0 right-0 h-[1px] overflow-hidden rounded-t-lg",children:z.jsx("div",{className:"h-full w-1/3 bg-accent/30 animate-progress-line"})}),z.jsxs("button",{type:"button",className:"flex w-full items-center gap-1.5 select-none cursor-pointer text-left","aria-expanded":b,onClick:()=>g(!b),children:[z.jsx(E,{className:dt("h-3.5 w-3.5 shrink-0 transition-colors duration-200",v==="error"?"text-red-400/80":v==="pending"?"text-accent/50":"text-foreground/60"),"aria-hidden":"true"}),z.jsx("span",{className:dt("text-[13px] font-medium shrink-0 transition-colors duration-200",v==="error"?"text-red-400/80":v==="pending"?"text-foreground/70":"text-foreground/60"),children:t}),!b&&D&&z.jsx("span",{className:"pl-1 text-[13px] text-muted-foreground/40 font-mono truncate",children:D}),!b&&z.jsx(HB,{name:t,args:n}),z.jsx("span",{className:"flex-1"}),v==="success"&&z.jsx(p1,{className:"h-3 w-3 text-emerald-500/40 shrink-0","aria-hidden":"true"}),z.jsx(I6,{className:dt("h-3 w-3 text-muted-foreground/25 transition-transform duration-200 shrink-0",!b&&"-rotate-90"),"aria-hidden":"true"})]}),z.jsx("div",{className:dt("grid transition-[grid-template-rows,opacity] duration-250 ease-out",b?"grid-rows-[1fr] opacity-100":"grid-rows-[0fr] opacity-0"),children:z.jsx("div",{className:"overflow-hidden",children:t==="bash"?z.jsx(PB,{args:n,display:f,isError:d}):t==="read"?z.jsx(UB,{args:n,display:f,isError:d}):t==="write"?z.jsx(VB,{args:n,display:f,isError:d}):t==="edit"?z.jsx(GB,{args:n,modelText:l,display:f,isError:d}):z.jsxs("div",{className:"pt-2 space-y-2",children:[n&&Object.keys(n).length>0&&z.jsx(D8,{args:n}),z.jsx(Ql,{text:f,isError:d})]})})})]})});function am(e){return e.meta}class lm extends ne.Component{state={hasError:!1,resetKey:this.props.resetKey};static getDerivedStateFromProps(t,n){return t.resetKey===n.resetKey?null:{hasError:!1,resetKey:t.resetKey}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(t){console.error("Chat block render failed:",t)}render(){return this.state.hasError?this.props.fallback:this.props.children}}const $B=ne.memo(function({role:t,blocks:n,sourceIndex:r,synthetic:l,isStreaming:s,isLoading:u,index:c,onRewindAndSend:f}){const d=t==="user",[m,g]=ne.useState(!1),[b,v]=ne.useState(!1),[_,E]=ne.useState(""),D=ne.useRef(null),A=ne.useRef(null),C=ne.useMemo(()=>n.filter(Q=>Q?.type==="text"&&!am(Q)?.attachment),[n]),L=ne.useMemo(()=>C.map(Q=>Q.text).join(`
@@ -24,7 +24,7 @@
24
24
  rel="stylesheet" />
25
25
  <link rel="icon" type="image/svg+xml" href="/favicon_slashes.svg" />
26
26
  <title>mycode</title>
27
- <script type="module" crossorigin src="/assets/index-CY827G4K.js"></script>
27
+ <script type="module" crossorigin src="/assets/index-C8gu4B-1.js"></script>
28
28
  <link rel="stylesheet" crossorigin href="/assets/index-Bi2yKki-.css">
29
29
  </head>
30
30
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "mycode-cli"
7
- version = "0.3.2"
7
+ version = "0.3.4"
8
8
  description = "Minimal coding agent with web UI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12"
@@ -236,7 +236,7 @@ class TestLoadSkillsPrompt:
236
236
  result = load_skills_prompt(str(tmp_path))
237
237
 
238
238
  assert "<available_skills>" in result
239
- assert "name: greet" in result
239
+ assert "<name>greet</name>" in result
240
240
 
241
241
  def test_no_skills_returns_empty(self, tmp_path: Path, monkeypatch) -> None:
242
242
  monkeypatch.setenv("MYCODE_HOME", str(tmp_path / "home" / ".mycode"))
@@ -540,7 +540,7 @@ wheels = [
540
540
 
541
541
  [[package]]
542
542
  name = "mycode-cli"
543
- version = "0.3.2"
543
+ version = "0.3.4"
544
544
  source = { editable = "." }
545
545
  dependencies = [
546
546
  { name = "anthropic" },
@@ -68,10 +68,10 @@ export function CodeBlock({ className, children, ...props }: CodeBlockProps) {
68
68
  return (
69
69
  <div
70
70
  data-code-block
71
- className="group/code relative my-3 rounded-md bg-code overflow-x-auto scrollbar-subtle"
71
+ className="group/code relative my-3 rounded-md bg-code"
72
72
  >
73
73
  {language && (
74
- <span className="absolute top-1.5 left-3 text-[11px] font-mono text-muted-foreground/50 uppercase tracking-wider select-none">
74
+ <span className="absolute top-1.5 left-3 text-[11px] font-mono text-muted-foreground/50 uppercase tracking-wider select-none pointer-events-none z-10">
75
75
  {language}
76
76
  </span>
77
77
  )}
@@ -95,8 +95,10 @@ export function CodeBlock({ className, children, ...props }: CodeBlockProps) {
95
95
  )}
96
96
  </button>
97
97
 
98
- <div className={cn('px-3 pb-2.5', language ? 'pt-6' : 'pt-2')}>
99
- <HighlightedCode language={language} code={codeContent} />
98
+ <div className="overflow-x-auto scrollbar-subtle">
99
+ <div className={cn('px-3 pb-2.5', language ? 'pt-6' : 'pt-2')}>
100
+ <HighlightedCode language={language} code={codeContent} />
101
+ </div>
100
102
  </div>
101
103
  </div>
102
104
  )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes