klaude-code 2.34.0__tar.gz → 2.35.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (859) hide show
  1. {klaude_code-2.34.0 → klaude_code-2.35.0}/PKG-INFO +1 -1
  2. {klaude_code-2.34.0 → klaude_code-2.35.0}/pyproject.toml +1 -1
  3. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/agent.py +4 -0
  4. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/agent_profile.py +2 -2
  5. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/agent_ops.py +31 -8
  6. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/dispatcher.py +55 -0
  7. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/step.py +1 -0
  8. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/task.py +15 -1
  9. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/runtime_facade.py +89 -3
  10. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/headless_cmd.py +52 -10
  11. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/const.py +2 -1
  12. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/runtime/actor.py +1 -0
  13. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/events.py +13 -0
  14. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/message.py +9 -1
  15. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/__init__.py +2 -0
  16. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/tool_ui.py +13 -0
  17. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/op.py +17 -0
  18. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/op_handler.py +5 -0
  19. klaude_code-2.35.0/src/klaude_code/protocol/shell_task.py +27 -0
  20. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/finder.py +1 -1
  21. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/general_purpose.py +1 -0
  22. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/maintenance_review.py +1 -1
  23. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/review.py +1 -1
  24. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/tools.py +1 -0
  25. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/app.py +11 -1
  26. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/headless.py +132 -10
  27. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/prevent_sleep.py +2 -0
  28. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/headless.py +85 -2
  29. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/server.py +5 -0
  30. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/ws.py +109 -8
  31. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/upgrade.py +2 -1
  32. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/session.py +2 -0
  33. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/__init__.py +2 -0
  34. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/context.py +5 -1
  35. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/shell/bash_tool.md +4 -0
  36. klaude_code-2.35.0/src/klaude_code/tool/shell/bash_tool.py +228 -0
  37. klaude_code-2.35.0/src/klaude_code/tool/shell/manage_shell_tool.md +8 -0
  38. klaude_code-2.35.0/src/klaude_code/tool/shell/manage_shell_tool.py +107 -0
  39. klaude_code-2.35.0/src/klaude_code/tool/shell/task_manager.py +561 -0
  40. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/__init__.py +3 -0
  41. klaude_code-2.35.0/src/klaude_code/tui/command/tasks_cmd.py +70 -0
  42. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/types.py +1 -0
  43. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/commands.py +7 -0
  44. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_dispatch.py +14 -1
  45. klaude_code-2.35.0/src/klaude_code/tui/components/tools/_manage_shell.py +191 -0
  46. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_presentation.py +9 -0
  47. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/compact.py +28 -0
  48. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/images.py +11 -0
  49. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/machine.py +38 -3
  50. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/renderer.py +56 -6
  51. klaude_code-2.34.0/src/klaude_code/.DS_Store +0 -0
  52. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  53. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  54. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  55. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  56. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  57. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  58. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  59. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  60. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  61. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  62. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  63. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  64. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  65. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  66. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  67. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  68. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  69. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  70. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  71. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  72. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  73. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  74. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  75. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  76. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  77. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  78. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  79. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  80. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  81. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  82. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  83. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  84. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  85. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  86. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  87. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  88. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  89. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  90. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  91. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  92. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  93. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  94. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  95. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  96. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  97. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  98. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  99. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  100. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  101. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  102. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  103. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  104. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  105. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  106. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  107. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  108. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  109. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  110. klaude_code-2.34.0/src/klaude_code/server/web/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  111. klaude_code-2.34.0/src/klaude_code/server/web/assets/PaperMono-Variable-DQvzASPe.woff2 +0 -0
  112. klaude_code-2.34.0/src/klaude_code/server/web/assets/c-BIGW1oBm.js +0 -1
  113. klaude_code-2.34.0/src/klaude_code/server/web/assets/cpp-DddhVWhK.js +0 -1
  114. klaude_code-2.34.0/src/klaude_code/server/web/assets/csharp-DSvCPggb.js +0 -1
  115. klaude_code-2.34.0/src/klaude_code/server/web/assets/css-CLj8gQPS.js +0 -1
  116. klaude_code-2.34.0/src/klaude_code/server/web/assets/go-C27-OAKa.js +0 -1
  117. klaude_code-2.34.0/src/klaude_code/server/web/assets/html-CfGypltT.js +0 -1
  118. klaude_code-2.34.0/src/klaude_code/server/web/assets/index-gobToU9i.js +0 -506
  119. klaude_code-2.34.0/src/klaude_code/server/web/assets/index-vwkr7oYA.css +0 -1
  120. klaude_code-2.34.0/src/klaude_code/server/web/assets/ini-BEwlwnbL.js +0 -1
  121. klaude_code-2.34.0/src/klaude_code/server/web/assets/java-CylS5w8V.js +0 -1
  122. klaude_code-2.34.0/src/klaude_code/server/web/assets/kotlin-BdnUsdx6.js +0 -1
  123. klaude_code-2.34.0/src/klaude_code/server/web/assets/less-B1dDrJ26.js +0 -1
  124. klaude_code-2.34.0/src/klaude_code/server/web/assets/lua-BaeVxFsk.js +0 -1
  125. klaude_code-2.34.0/src/klaude_code/server/web/assets/markdown-Cvjx9yec.js +0 -1
  126. klaude_code-2.34.0/src/klaude_code/server/web/assets/mdx-Cmh6b_Ma.js +0 -1
  127. klaude_code-2.34.0/src/klaude_code/server/web/assets/php-Dpscij6T.js +0 -1
  128. klaude_code-2.34.0/src/klaude_code/server/web/assets/python-B6aJPvgy.js +0 -1
  129. klaude_code-2.34.0/src/klaude_code/server/web/assets/ruby-AMTQbAGo.js +0 -1
  130. klaude_code-2.34.0/src/klaude_code/server/web/assets/rust-B1yitclQ.js +0 -1
  131. klaude_code-2.34.0/src/klaude_code/server/web/assets/scss-D5BDwBP9.js +0 -1
  132. klaude_code-2.34.0/src/klaude_code/server/web/assets/sql-CRqJ_cUM.js +0 -1
  133. klaude_code-2.34.0/src/klaude_code/server/web/assets/swift-C2oV4EkX.js +0 -1
  134. klaude_code-2.34.0/src/klaude_code/server/web/assets/toml-vGWfd6FD.js +0 -1
  135. klaude_code-2.34.0/src/klaude_code/server/web/assets/xml-sdJ4AIDG.js +0 -1
  136. klaude_code-2.34.0/src/klaude_code/server/web/assets/yaml-Buea-lGh.js +0 -1
  137. klaude_code-2.34.0/src/klaude_code/server/web/favicon.svg +0 -9
  138. klaude_code-2.34.0/src/klaude_code/server/web/index.html +0 -14
  139. klaude_code-2.34.0/src/klaude_code/tool/shell/bash_tool.py +0 -359
  140. klaude_code-2.34.0/src/klaude_code/web/dist/assets/abap-BdImnpbu.js +0 -1
  141. klaude_code-2.34.0/src/klaude_code/web/dist/assets/actionscript-3-CoDkCxhg.js +0 -1
  142. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ada-bCR0ucgS.js +0 -1
  143. klaude_code-2.34.0/src/klaude_code/web/dist/assets/andromeeda-C4gqWexZ.js +0 -1
  144. klaude_code-2.34.0/src/klaude_code/web/dist/assets/angular-html-CU67Zn6k.js +0 -1
  145. klaude_code-2.34.0/src/klaude_code/web/dist/assets/angular-ts-BwZT4LLn.js +0 -1
  146. klaude_code-2.34.0/src/klaude_code/web/dist/assets/apache-Pmp26Uib.js +0 -1
  147. klaude_code-2.34.0/src/klaude_code/web/dist/assets/apex-D8_7TLub.js +0 -1
  148. klaude_code-2.34.0/src/klaude_code/web/dist/assets/apl-dKokRX4l.js +0 -1
  149. klaude_code-2.34.0/src/klaude_code/web/dist/assets/applescript-Co6uUVPk.js +0 -1
  150. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ara-BRHolxvo.js +0 -1
  151. klaude_code-2.34.0/src/klaude_code/web/dist/assets/asciidoc-Ve4PFQV2.js +0 -1
  152. klaude_code-2.34.0/src/klaude_code/web/dist/assets/asm-D_Q5rh1f.js +0 -1
  153. klaude_code-2.34.0/src/klaude_code/web/dist/assets/astro-CbQHKStN.js +0 -1
  154. klaude_code-2.34.0/src/klaude_code/web/dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  155. klaude_code-2.34.0/src/klaude_code/web/dist/assets/awk-DMzUqQB5.js +0 -1
  156. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ayu-dark-DYE7WIF3.js +0 -1
  157. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ayu-light-BA47KaF1.js +0 -1
  158. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ayu-mirage-32ctXXKs.js +0 -1
  159. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ballerina-BFfxhgS-.js +0 -1
  160. klaude_code-2.34.0/src/klaude_code/web/dist/assets/bat-BkioyH1T.js +0 -1
  161. klaude_code-2.34.0/src/klaude_code/web/dist/assets/beancount-k_qm7-4y.js +0 -1
  162. klaude_code-2.34.0/src/klaude_code/web/dist/assets/berry-uYugtg8r.js +0 -1
  163. klaude_code-2.34.0/src/klaude_code/web/dist/assets/bibtex-CHM0blh-.js +0 -1
  164. klaude_code-2.34.0/src/klaude_code/web/dist/assets/bicep-Bmn6On1c.js +0 -1
  165. klaude_code-2.34.0/src/klaude_code/web/dist/assets/bird2-DPOp833l.js +0 -1
  166. klaude_code-2.34.0/src/klaude_code/web/dist/assets/blade-D4QpJJKB.js +0 -1
  167. klaude_code-2.34.0/src/klaude_code/web/dist/assets/bsl-BO_Y6i37.js +0 -1
  168. klaude_code-2.34.0/src/klaude_code/web/dist/assets/c-BIGW1oBm.js +0 -1
  169. klaude_code-2.34.0/src/klaude_code/web/dist/assets/c3-eo99z4R2.js +0 -1
  170. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cadence-Bv_4Rxtq.js +0 -1
  171. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cairo-KRGpt6FW.js +0 -1
  172. klaude_code-2.34.0/src/klaude_code/web/dist/assets/catppuccin-frappe-DFWUc33u.js +0 -1
  173. klaude_code-2.34.0/src/klaude_code/web/dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -1
  174. klaude_code-2.34.0/src/klaude_code/web/dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -1
  175. klaude_code-2.34.0/src/klaude_code/web/dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -1
  176. klaude_code-2.34.0/src/klaude_code/web/dist/assets/clarity-D53aC0YG.js +0 -1
  177. klaude_code-2.34.0/src/klaude_code/web/dist/assets/clojure-P80f7IUj.js +0 -1
  178. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cmake-D1j8_8rp.js +0 -1
  179. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cobol-nwyudZeR.js +0 -1
  180. klaude_code-2.34.0/src/klaude_code/web/dist/assets/codeowners-Bp6g37R7.js +0 -1
  181. klaude_code-2.34.0/src/klaude_code/web/dist/assets/codeql-DsOJ9woJ.js +0 -1
  182. klaude_code-2.34.0/src/klaude_code/web/dist/assets/coffee-Ch7k5sss.js +0 -1
  183. klaude_code-2.34.0/src/klaude_code/web/dist/assets/common-lisp-Cg-RD9OK.js +0 -1
  184. klaude_code-2.34.0/src/klaude_code/web/dist/assets/coq-DkFqJrB1.js +0 -1
  185. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cpp-CofmeUqb.js +0 -1
  186. klaude_code-2.34.0/src/klaude_code/web/dist/assets/crystal-tKQVLTB8.js +0 -1
  187. klaude_code-2.34.0/src/klaude_code/web/dist/assets/csharp-COcwbKMJ.js +0 -1
  188. klaude_code-2.34.0/src/klaude_code/web/dist/assets/css-DPfMkruS.js +0 -1
  189. klaude_code-2.34.0/src/klaude_code/web/dist/assets/csv-fuZLfV_i.js +0 -1
  190. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cue-D82EKSYY.js +0 -1
  191. klaude_code-2.34.0/src/klaude_code/web/dist/assets/cypher-COkxafJQ.js +0 -1
  192. klaude_code-2.34.0/src/klaude_code/web/dist/assets/d-85-TOEBH.js +0 -1
  193. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dark-plus-C3mMm8J8.js +0 -1
  194. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dart-CF10PKvl.js +0 -1
  195. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dax-CEL-wOlO.js +0 -1
  196. klaude_code-2.34.0/src/klaude_code/web/dist/assets/desktop-BmXAJ9_W.js +0 -1
  197. klaude_code-2.34.0/src/klaude_code/web/dist/assets/diff-D97Zzqfu.js +0 -1
  198. klaude_code-2.34.0/src/klaude_code/web/dist/assets/docker-BcOcwvcX.js +0 -1
  199. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dotenv-Da5cRb03.js +0 -1
  200. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dracula-BzJJZx-M.js +0 -1
  201. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  202. klaude_code-2.34.0/src/klaude_code/web/dist/assets/dream-maker-BtqSS_iP.js +0 -1
  203. klaude_code-2.34.0/src/klaude_code/web/dist/assets/edge-BkV0erSs.js +0 -1
  204. klaude_code-2.34.0/src/klaude_code/web/dist/assets/elixir-CDX3lj18.js +0 -1
  205. klaude_code-2.34.0/src/klaude_code/web/dist/assets/elm-DbKCFpqz.js +0 -1
  206. klaude_code-2.34.0/src/klaude_code/web/dist/assets/emacs-lisp-C9XAeP06.js +0 -1
  207. klaude_code-2.34.0/src/klaude_code/web/dist/assets/erb-B12qg9BL.js +0 -1
  208. klaude_code-2.34.0/src/klaude_code/web/dist/assets/erlang-DsQrWhSR.js +0 -1
  209. klaude_code-2.34.0/src/klaude_code/web/dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  210. klaude_code-2.34.0/src/klaude_code/web/dist/assets/everforest-light-C8M2exoo.js +0 -1
  211. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fennel-BYunw83y.js +0 -1
  212. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fish-BvzEVeQv.js +0 -1
  213. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fluent-C4IJs8-o.js +0 -1
  214. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  215. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
  216. klaude_code-2.34.0/src/klaude_code/web/dist/assets/fsharp-CXgrBDvD.js +0 -1
  217. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gdresource-BOOCDP_w.js +0 -1
  218. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gdscript-C5YyOfLZ.js +0 -1
  219. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gdshader-DkwncUOv.js +0 -1
  220. klaude_code-2.34.0/src/klaude_code/web/dist/assets/genie-D0YGMca9.js +0 -1
  221. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gherkin-DyxjwDmM.js +0 -1
  222. klaude_code-2.34.0/src/klaude_code/web/dist/assets/git-commit-F4YmCXRG.js +0 -1
  223. klaude_code-2.34.0/src/klaude_code/web/dist/assets/git-rebase-r7XF79zn.js +0 -1
  224. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-dark-DHJKELXO.js +0 -1
  225. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  226. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  227. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  228. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-light-DAi9KRSo.js +0 -1
  229. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-light-default-D7oLnXFd.js +0 -1
  230. klaude_code-2.34.0/src/klaude_code/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  231. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gleam-BspZqrRM.js +0 -1
  232. klaude_code-2.34.0/src/klaude_code/web/dist/assets/glimmer-js-Rg0-pVw9.js +0 -1
  233. klaude_code-2.34.0/src/klaude_code/web/dist/assets/glimmer-ts-U6CK756n.js +0 -1
  234. klaude_code-2.34.0/src/klaude_code/web/dist/assets/glsl-DplSGwfg.js +0 -1
  235. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gn-n2N0HUVH.js +0 -1
  236. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gnuplot-DdkO51Og.js +0 -1
  237. klaude_code-2.34.0/src/klaude_code/web/dist/assets/go-CxLEBnE3.js +0 -1
  238. klaude_code-2.34.0/src/klaude_code/web/dist/assets/graphql-ChdNCCLP.js +0 -1
  239. klaude_code-2.34.0/src/klaude_code/web/dist/assets/groovy-gcz8RCvz.js +0 -1
  240. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  241. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  242. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  243. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  244. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  245. klaude_code-2.34.0/src/klaude_code/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  246. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hack-CaT9iCJl.js +0 -1
  247. klaude_code-2.34.0/src/klaude_code/web/dist/assets/haml-B8DHNrY2.js +0 -1
  248. klaude_code-2.34.0/src/klaude_code/web/dist/assets/handlebars-BL8al0AC.js +0 -1
  249. klaude_code-2.34.0/src/klaude_code/web/dist/assets/haskell-Df6bDoY_.js +0 -1
  250. klaude_code-2.34.0/src/klaude_code/web/dist/assets/haxe-CzTSHFRz.js +0 -1
  251. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hcl-BWvSN4gD.js +0 -1
  252. klaude_code-2.34.0/src/klaude_code/web/dist/assets/highlighted-body-OFNGDK62-BAlPQylW.js +0 -1
  253. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hjson-D5-asLiD.js +0 -1
  254. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hlsl-D3lLCCz7.js +0 -1
  255. klaude_code-2.34.0/src/klaude_code/web/dist/assets/horizon-BUw7H-hv.js +0 -1
  256. klaude_code-2.34.0/src/klaude_code/web/dist/assets/horizon-bright-Cn-bp-IR.js +0 -1
  257. klaude_code-2.34.0/src/klaude_code/web/dist/assets/houston-DnULxvSX.js +0 -1
  258. klaude_code-2.34.0/src/klaude_code/web/dist/assets/html-GMplVEZG.js +0 -1
  259. klaude_code-2.34.0/src/klaude_code/web/dist/assets/html-derivative-BFtXZ54Q.js +0 -1
  260. klaude_code-2.34.0/src/klaude_code/web/dist/assets/http-jrhK8wxY.js +0 -1
  261. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hurl-irOxFIW8.js +0 -1
  262. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hxml-Bvhsp5Yf.js +0 -1
  263. klaude_code-2.34.0/src/klaude_code/web/dist/assets/hy-DFXneXwc.js +0 -1
  264. klaude_code-2.34.0/src/klaude_code/web/dist/assets/imba-DGztddWO.js +0 -1
  265. klaude_code-2.34.0/src/klaude_code/web/dist/assets/index-C9qNNGOM.css +0 -1
  266. klaude_code-2.34.0/src/klaude_code/web/dist/assets/index-DAO84tSS.js +0 -134
  267. klaude_code-2.34.0/src/klaude_code/web/dist/assets/index-YF27pVQl.js +0 -2352
  268. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ini-BEwlwnbL.js +0 -1
  269. klaude_code-2.34.0/src/klaude_code/web/dist/assets/java-CylS5w8V.js +0 -1
  270. klaude_code-2.34.0/src/klaude_code/web/dist/assets/javascript-wDzz0qaB.js +0 -1
  271. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jinja-4LBKfQ-Z.js +0 -1
  272. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jison-wvAkD_A8.js +0 -1
  273. klaude_code-2.34.0/src/klaude_code/web/dist/assets/json-Cp-IABpG.js +0 -1
  274. klaude_code-2.34.0/src/klaude_code/web/dist/assets/json5-C9tS-k6U.js +0 -1
  275. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jsonc-Des-eS-w.js +0 -1
  276. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jsonl-DcaNXYhu.js +0 -1
  277. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jsonnet-DFQXde-d.js +0 -1
  278. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jssm-C2t-YnRu.js +0 -1
  279. klaude_code-2.34.0/src/klaude_code/web/dist/assets/jsx-g9-lgVsj.js +0 -1
  280. klaude_code-2.34.0/src/klaude_code/web/dist/assets/julia-CxzCAyBv.js +0 -1
  281. klaude_code-2.34.0/src/klaude_code/web/dist/assets/just-Cw27pwNe.js +0 -1
  282. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -1
  283. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -1
  284. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kanagawa-wave-DWedfzmr.js +0 -1
  285. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kdl-DV7GczEv.js +0 -1
  286. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kotlin-BdnUsdx6.js +0 -1
  287. klaude_code-2.34.0/src/klaude_code/web/dist/assets/kusto-DZf3V79B.js +0 -1
  288. klaude_code-2.34.0/src/klaude_code/web/dist/assets/laserwave-DUszq2jm.js +0 -1
  289. klaude_code-2.34.0/src/klaude_code/web/dist/assets/latex-CWtU0Tv5.js +0 -1
  290. klaude_code-2.34.0/src/klaude_code/web/dist/assets/lean-BZvkOJ9d.js +0 -1
  291. klaude_code-2.34.0/src/klaude_code/web/dist/assets/less-B1dDrJ26.js +0 -1
  292. klaude_code-2.34.0/src/klaude_code/web/dist/assets/light-plus-B7mTdjB0.js +0 -1
  293. klaude_code-2.34.0/src/klaude_code/web/dist/assets/liquid-DYVedYrR.js +0 -1
  294. klaude_code-2.34.0/src/klaude_code/web/dist/assets/llvm-DjAJT7YJ.js +0 -1
  295. klaude_code-2.34.0/src/klaude_code/web/dist/assets/log-2UxHyX5q.js +0 -1
  296. klaude_code-2.34.0/src/klaude_code/web/dist/assets/logo-BtOb2qkB.js +0 -1
  297. klaude_code-2.34.0/src/klaude_code/web/dist/assets/lua-BaeVxFsk.js +0 -1
  298. klaude_code-2.34.0/src/klaude_code/web/dist/assets/luau-C-HG3fhB.js +0 -1
  299. klaude_code-2.34.0/src/klaude_code/web/dist/assets/make-CHLpvVh8.js +0 -1
  300. klaude_code-2.34.0/src/klaude_code/web/dist/assets/markdown-Cvjx9yec.js +0 -1
  301. klaude_code-2.34.0/src/klaude_code/web/dist/assets/marko-CnJfTvn9.js +0 -1
  302. klaude_code-2.34.0/src/klaude_code/web/dist/assets/material-theme-D5KoaKCx.js +0 -1
  303. klaude_code-2.34.0/src/klaude_code/web/dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  304. klaude_code-2.34.0/src/klaude_code/web/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  305. klaude_code-2.34.0/src/klaude_code/web/dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  306. klaude_code-2.34.0/src/klaude_code/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  307. klaude_code-2.34.0/src/klaude_code/web/dist/assets/matlab-D7o27uSR.js +0 -1
  308. klaude_code-2.34.0/src/klaude_code/web/dist/assets/mdc-BMNejdWA.js +0 -1
  309. klaude_code-2.34.0/src/klaude_code/web/dist/assets/mdx-Cmh6b_Ma.js +0 -1
  310. klaude_code-2.34.0/src/klaude_code/web/dist/assets/mermaid-mWjccvbQ.js +0 -1
  311. klaude_code-2.34.0/src/klaude_code/web/dist/assets/min-dark-CafNBF8u.js +0 -1
  312. klaude_code-2.34.0/src/klaude_code/web/dist/assets/min-light-CTRr51gU.js +0 -1
  313. klaude_code-2.34.0/src/klaude_code/web/dist/assets/mipsasm-CKIfxQSi.js +0 -1
  314. klaude_code-2.34.0/src/klaude_code/web/dist/assets/mojo-rZm6bMo-.js +0 -1
  315. klaude_code-2.34.0/src/klaude_code/web/dist/assets/monokai-D4h5O-jR.js +0 -1
  316. klaude_code-2.34.0/src/klaude_code/web/dist/assets/moonbit-_H4v1dQx.js +0 -1
  317. klaude_code-2.34.0/src/klaude_code/web/dist/assets/move-IF9eRakj.js +0 -1
  318. klaude_code-2.34.0/src/klaude_code/web/dist/assets/narrat-DRg8JJMk.js +0 -1
  319. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nextflow-Zz6hmt5N.js +0 -1
  320. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nextflow-groovy-BeH2EWoN.js +0 -1
  321. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nginx-BpAMiNFr.js +0 -1
  322. klaude_code-2.34.0/src/klaude_code/web/dist/assets/night-owl-C39BiMTA.js +0 -1
  323. klaude_code-2.34.0/src/klaude_code/web/dist/assets/night-owl-light-CMTm3GFP.js +0 -1
  324. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nim-CVrawwO9.js +0 -1
  325. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nix-CwoSXNpI.js +0 -1
  326. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nord-Ddv68eIx.js +0 -1
  327. klaude_code-2.34.0/src/klaude_code/web/dist/assets/nushell-Cz2AlsmD.js +0 -1
  328. klaude_code-2.34.0/src/klaude_code/web/dist/assets/objective-c-DXmwc3jG.js +0 -1
  329. klaude_code-2.34.0/src/klaude_code/web/dist/assets/objective-cpp-CLxacb5B.js +0 -1
  330. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ocaml-C0hk2d4L.js +0 -1
  331. klaude_code-2.34.0/src/klaude_code/web/dist/assets/odin-BBf5iR-q.js +0 -1
  332. klaude_code-2.34.0/src/klaude_code/web/dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  333. klaude_code-2.34.0/src/klaude_code/web/dist/assets/one-light-C3Wv6jpd.js +0 -1
  334. klaude_code-2.34.0/src/klaude_code/web/dist/assets/openscad-C4EeE6gA.js +0 -1
  335. klaude_code-2.34.0/src/klaude_code/web/dist/assets/pascal-D93ZcfNL.js +0 -1
  336. klaude_code-2.34.0/src/klaude_code/web/dist/assets/perl-C0TMdlhV.js +0 -1
  337. klaude_code-2.34.0/src/klaude_code/web/dist/assets/php-Dhbhpdrm.js +0 -1
  338. klaude_code-2.34.0/src/klaude_code/web/dist/assets/pierre-dark-DF2SEV7i.js +0 -1
  339. klaude_code-2.34.0/src/klaude_code/web/dist/assets/pierre-light-DOlZxES8.js +0 -1
  340. klaude_code-2.34.0/src/klaude_code/web/dist/assets/pkl-u5AG7uiY.js +0 -1
  341. klaude_code-2.34.0/src/klaude_code/web/dist/assets/plastic-3e1v2bzS.js +0 -1
  342. klaude_code-2.34.0/src/klaude_code/web/dist/assets/plsql-ChMvpjG-.js +0 -1
  343. klaude_code-2.34.0/src/klaude_code/web/dist/assets/po-BTJTHyun.js +0 -1
  344. klaude_code-2.34.0/src/klaude_code/web/dist/assets/poimandres-CS3Unz2-.js +0 -1
  345. klaude_code-2.34.0/src/klaude_code/web/dist/assets/polar-C0HS_06l.js +0 -1
  346. klaude_code-2.34.0/src/klaude_code/web/dist/assets/postcss-CXtECtnM.js +0 -1
  347. klaude_code-2.34.0/src/klaude_code/web/dist/assets/powerquery-CEu0bR-o.js +0 -1
  348. klaude_code-2.34.0/src/klaude_code/web/dist/assets/powershell-Dpen1YoG.js +0 -1
  349. klaude_code-2.34.0/src/klaude_code/web/dist/assets/prisma-Dd19v3D-.js +0 -1
  350. klaude_code-2.34.0/src/klaude_code/web/dist/assets/prolog-CbFg5uaA.js +0 -1
  351. klaude_code-2.34.0/src/klaude_code/web/dist/assets/proto-C7zT0LnQ.js +0 -1
  352. klaude_code-2.34.0/src/klaude_code/web/dist/assets/pug-CGlum2m_.js +0 -1
  353. klaude_code-2.34.0/src/klaude_code/web/dist/assets/puppet-BMWR74SV.js +0 -1
  354. klaude_code-2.34.0/src/klaude_code/web/dist/assets/purescript-CklMAg4u.js +0 -1
  355. klaude_code-2.34.0/src/klaude_code/web/dist/assets/python-B6aJPvgy.js +0 -1
  356. klaude_code-2.34.0/src/klaude_code/web/dist/assets/qml-3beO22l8.js +0 -1
  357. klaude_code-2.34.0/src/klaude_code/web/dist/assets/qmldir-C8lEn-DE.js +0 -1
  358. klaude_code-2.34.0/src/klaude_code/web/dist/assets/qss-IeuSbFQv.js +0 -1
  359. klaude_code-2.34.0/src/klaude_code/web/dist/assets/r-Dspwwk_N.js +0 -1
  360. klaude_code-2.34.0/src/klaude_code/web/dist/assets/racket-BqYA7rlc.js +0 -1
  361. klaude_code-2.34.0/src/klaude_code/web/dist/assets/raku-DXvB9xmW.js +0 -1
  362. klaude_code-2.34.0/src/klaude_code/web/dist/assets/razor-Uh8Bk_45.js +0 -1
  363. klaude_code-2.34.0/src/klaude_code/web/dist/assets/red-bN70gL4F.js +0 -1
  364. klaude_code-2.34.0/src/klaude_code/web/dist/assets/reg-C-SQnVFl.js +0 -1
  365. klaude_code-2.34.0/src/klaude_code/web/dist/assets/regexp-CDVJQ6XC.js +0 -1
  366. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rel-C3B-1QV4.js +0 -1
  367. klaude_code-2.34.0/src/klaude_code/web/dist/assets/riscv-BM1_JUlF.js +0 -1
  368. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ron-D8l8udqQ.js +0 -1
  369. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -1
  370. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rose-pine-moon-D4_iv3hh.js +0 -1
  371. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rose-pine-qdsjHGoJ.js +0 -1
  372. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rosmsg-BJDFO7_C.js +0 -1
  373. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rst-BrH8l1NY.js +0 -1
  374. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ruby-Dw2BHqvy.js +0 -1
  375. klaude_code-2.34.0/src/klaude_code/web/dist/assets/rust-B1yitclQ.js +0 -1
  376. klaude_code-2.34.0/src/klaude_code/web/dist/assets/sas-cz2c8ADy.js +0 -1
  377. klaude_code-2.34.0/src/klaude_code/web/dist/assets/sass-Cj5Yp3dK.js +0 -1
  378. klaude_code-2.34.0/src/klaude_code/web/dist/assets/scala-C151Ov-r.js +0 -1
  379. klaude_code-2.34.0/src/klaude_code/web/dist/assets/scheme-C98Dy4si.js +0 -1
  380. klaude_code-2.34.0/src/klaude_code/web/dist/assets/scss-OYdSNvt2.js +0 -1
  381. klaude_code-2.34.0/src/klaude_code/web/dist/assets/sdbl-DVxCFoDh.js +0 -1
  382. klaude_code-2.34.0/src/klaude_code/web/dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
  383. klaude_code-2.34.0/src/klaude_code/web/dist/assets/shellscript-Yzrsuije.js +0 -1
  384. klaude_code-2.34.0/src/klaude_code/web/dist/assets/shellsession-BADoaaVG.js +0 -1
  385. klaude_code-2.34.0/src/klaude_code/web/dist/assets/slack-dark-BthQWCQV.js +0 -1
  386. klaude_code-2.34.0/src/klaude_code/web/dist/assets/slack-ochin-DqwNpetd.js +0 -1
  387. klaude_code-2.34.0/src/klaude_code/web/dist/assets/smalltalk-BERRCDM3.js +0 -1
  388. klaude_code-2.34.0/src/klaude_code/web/dist/assets/snazzy-light-Bw305WKR.js +0 -1
  389. klaude_code-2.34.0/src/klaude_code/web/dist/assets/solarized-dark-DXbdFlpD.js +0 -1
  390. klaude_code-2.34.0/src/klaude_code/web/dist/assets/solarized-light-L9t79GZl.js +0 -1
  391. klaude_code-2.34.0/src/klaude_code/web/dist/assets/solidity-rGO070M0.js +0 -1
  392. klaude_code-2.34.0/src/klaude_code/web/dist/assets/soy-Brmx7dQM.js +0 -1
  393. klaude_code-2.34.0/src/klaude_code/web/dist/assets/sparql-rVzFXLq3.js +0 -1
  394. klaude_code-2.34.0/src/klaude_code/web/dist/assets/splunk-BtCnVYZw.js +0 -1
  395. klaude_code-2.34.0/src/klaude_code/web/dist/assets/sql-BLtJtn59.js +0 -1
  396. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ssh-config-_ykCGR6B.js +0 -1
  397. klaude_code-2.34.0/src/klaude_code/web/dist/assets/stata-BH5u7GGu.js +0 -1
  398. klaude_code-2.34.0/src/klaude_code/web/dist/assets/stylus-BEDo0Tqx.js +0 -1
  399. klaude_code-2.34.0/src/klaude_code/web/dist/assets/surrealql-Bq5Q-fJD.js +0 -1
  400. klaude_code-2.34.0/src/klaude_code/web/dist/assets/svelte-C_ipcX3V.js +0 -1
  401. klaude_code-2.34.0/src/klaude_code/web/dist/assets/swift-D82vCrfD.js +0 -1
  402. klaude_code-2.34.0/src/klaude_code/web/dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  403. klaude_code-2.34.0/src/klaude_code/web/dist/assets/system-verilog-CnnmHF94.js +0 -1
  404. klaude_code-2.34.0/src/klaude_code/web/dist/assets/systemd-4A_iFExJ.js +0 -1
  405. klaude_code-2.34.0/src/klaude_code/web/dist/assets/talonscript-CkByrt1z.js +0 -1
  406. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tasl-QIJgUcNo.js +0 -1
  407. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tcl-dwOrl1Do.js +0 -1
  408. klaude_code-2.34.0/src/klaude_code/web/dist/assets/templ-P3uqSqPl.js +0 -1
  409. klaude_code-2.34.0/src/klaude_code/web/dist/assets/terraform-BETggiCN.js +0 -1
  410. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tex-idrVyKtj.js +0 -1
  411. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tokyo-night-hegEt444.js +0 -1
  412. klaude_code-2.34.0/src/klaude_code/web/dist/assets/toml-vGWfd6FD.js +0 -1
  413. klaude_code-2.34.0/src/klaude_code/web/dist/assets/ts-tags-zn1MmPIZ.js +0 -1
  414. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tsv-B_m7g4N7.js +0 -1
  415. klaude_code-2.34.0/src/klaude_code/web/dist/assets/tsx-COt5Ahok.js +0 -1
  416. klaude_code-2.34.0/src/klaude_code/web/dist/assets/turtle-BsS91CYL.js +0 -1
  417. klaude_code-2.34.0/src/klaude_code/web/dist/assets/twig-DNn4PbVi.js +0 -1
  418. klaude_code-2.34.0/src/klaude_code/web/dist/assets/typescript-BPQ3VLAy.js +0 -1
  419. klaude_code-2.34.0/src/klaude_code/web/dist/assets/typespec-BGHnOYBU.js +0 -1
  420. klaude_code-2.34.0/src/klaude_code/web/dist/assets/typst-DHCkPAjA.js +0 -1
  421. klaude_code-2.34.0/src/klaude_code/web/dist/assets/v-BcVCzyr7.js +0 -1
  422. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vala-CsfeWuGM.js +0 -1
  423. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vb-D17OF-Vu.js +0 -1
  424. klaude_code-2.34.0/src/klaude_code/web/dist/assets/verilog-BQ8w6xss.js +0 -1
  425. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vesper-DU1UobuO.js +0 -1
  426. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vhdl-CeAyd5Ju.js +0 -1
  427. klaude_code-2.34.0/src/klaude_code/web/dist/assets/viml-CJc9bBzg.js +0 -1
  428. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  429. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  430. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  431. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vue-DN_0RTcg.js +0 -1
  432. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vue-html-AaS7Mt5G.js +0 -1
  433. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vue-vine-CQOfvN7w.js +0 -1
  434. klaude_code-2.34.0/src/klaude_code/web/dist/assets/vyper-CDx5xZoG.js +0 -1
  435. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wasm-CG6Dc4jp.js +0 -1
  436. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wasm-MzD3tlZU.js +0 -1
  437. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wenyan-BV7otONQ.js +0 -1
  438. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wgsl-Dx-B1_4e.js +0 -1
  439. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wikitext-BhOHFoWU.js +0 -1
  440. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wit-5i3qLPDT.js +0 -1
  441. klaude_code-2.34.0/src/klaude_code/web/dist/assets/wolfram-lXgVvXCa.js +0 -1
  442. klaude_code-2.34.0/src/klaude_code/web/dist/assets/xml-sdJ4AIDG.js +0 -1
  443. klaude_code-2.34.0/src/klaude_code/web/dist/assets/xsl-CtQFsRM5.js +0 -1
  444. klaude_code-2.34.0/src/klaude_code/web/dist/assets/yaml-Buea-lGh.js +0 -1
  445. klaude_code-2.34.0/src/klaude_code/web/dist/assets/zenscript-DVFEvuxE.js +0 -1
  446. klaude_code-2.34.0/src/klaude_code/web/dist/assets/zig-VOosw3JB.js +0 -1
  447. klaude_code-2.34.0/src/klaude_code/web/dist/favicon.svg +0 -3
  448. klaude_code-2.34.0/src/klaude_code/web/dist/fonts/InterVariable-Italic.woff2 +0 -0
  449. klaude_code-2.34.0/src/klaude_code/web/dist/fonts/InterVariable.woff2 +0 -0
  450. klaude_code-2.34.0/src/klaude_code/web/dist/index.html +0 -21
  451. {klaude_code-2.34.0 → klaude_code-2.35.0}/README.md +0 -0
  452. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/__init__.py +0 -0
  453. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/__init__.py +0 -0
  454. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/__init__.py +0 -0
  455. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/autonomy.py +0 -0
  456. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/collection.py +0 -0
  457. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/files.py +0 -0
  458. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/memory.py +0 -0
  459. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/skills.py +0 -0
  460. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/attachments/state.py +0 -0
  461. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/away_summary.py +0 -0
  462. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/bash_mode.py +0 -0
  463. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/cache_break_detection.py +0 -0
  464. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/cache_safe.py +0 -0
  465. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/compaction/AGENTS.md +0 -0
  466. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/compaction/__init__.py +0 -0
  467. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/compaction/compaction.py +0 -0
  468. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/compaction/overflow.py +0 -0
  469. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/connectivity.py +0 -0
  470. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/context_usage.py +0 -0
  471. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/handoff/__init__.py +0 -0
  472. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/handoff/handoff.py +0 -0
  473. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/handoff/manager.py +0 -0
  474. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/llm_request.py +0 -0
  475. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/model_fallback.py +0 -0
  476. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/prompt_suggestion/__init__.py +0 -0
  477. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/prompt_suggestion/prompt_suggestion.py +0 -0
  478. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/rewind/AGENTS.md +0 -0
  479. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/rewind/__init__.py +0 -0
  480. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/rewind/summary.py +0 -0
  481. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/__init__.py +0 -0
  482. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/away_summary.py +0 -0
  483. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/config_ops.py +0 -0
  484. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/llm.py +0 -0
  485. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/runtime/sub_agent.py +0 -0
  486. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/session_stats.py +0 -0
  487. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/session_title.py +0 -0
  488. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/side_question.py +0 -0
  489. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/skill_inventory.py +0 -0
  490. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/suspend.py +0 -0
  491. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/system_prompt.py +0 -0
  492. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/token_estimate.py +0 -0
  493. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/agent/welcome_context.py +0 -0
  494. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/__init__.py +0 -0
  495. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/auth_flow.py +0 -0
  496. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/herdr.py +0 -0
  497. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/ports/__init__.py +0 -0
  498. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/ports/display.py +0 -0
  499. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/ports/input.py +0 -0
  500. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/ports/interaction.py +0 -0
  501. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/app/runtime.py +0 -0
  502. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/AGENTS.md +0 -0
  503. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/__init__.py +0 -0
  504. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/base.py +0 -0
  505. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/codex/__init__.py +0 -0
  506. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/codex/exceptions.py +0 -0
  507. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/codex/jwt_utils.py +0 -0
  508. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/codex/oauth.py +0 -0
  509. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/codex/token_manager.py +0 -0
  510. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/env.py +0 -0
  511. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/removed_provider.py +0 -0
  512. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/xai/__init__.py +0 -0
  513. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/xai/exceptions.py +0 -0
  514. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/xai/oauth.py +0 -0
  515. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/auth/xai/token_manager.py +0 -0
  516. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/__init__.py +0 -0
  517. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/agents_cmd.py +0 -0
  518. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/attach_cmd.py +0 -0
  519. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/auth_cmd.py +0 -0
  520. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/config_cmd.py +0 -0
  521. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/cost_cmd.py +0 -0
  522. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/debug.py +0 -0
  523. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/list_model.py +0 -0
  524. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/main.py +0 -0
  525. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/oauth_usage.py +0 -0
  526. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/self_update.py +0 -0
  527. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/server_cmd.py +0 -0
  528. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/trace_cmd.py +0 -0
  529. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/cli/uds_client.py +0 -0
  530. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/AGENTS.md +0 -0
  531. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/__init__.py +0 -0
  532. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/assets/__init__.py +0 -0
  533. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/assets/builtin_config.yaml +0 -0
  534. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/builtin_config.py +0 -0
  535. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/config.py +0 -0
  536. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/formatters.py +0 -0
  537. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/loader.py +0 -0
  538. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/merge.py +0 -0
  539. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/model_matcher.py +0 -0
  540. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/config/sub_agent_model.py +0 -0
  541. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/__init__.py +0 -0
  542. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/event_bus.py +0 -0
  543. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/event_tape.py +0 -0
  544. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/runtime/__init__.py +0 -0
  545. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/runtime/registry.py +0 -0
  546. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/control/user_interaction.py +0 -0
  547. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/AGENTS.md +0 -0
  548. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/__init__.py +0 -0
  549. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/anthropic/__init__.py +0 -0
  550. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/anthropic/client.py +0 -0
  551. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/anthropic/input.py +0 -0
  552. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/bedrock_anthropic/__init__.py +0 -0
  553. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/bedrock_anthropic/client.py +0 -0
  554. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/client.py +0 -0
  555. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/google/__init__.py +0 -0
  556. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/google/client.py +0 -0
  557. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/google/input.py +0 -0
  558. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/google_vertex/__init__.py +0 -0
  559. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/google_vertex/client.py +0 -0
  560. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/http.py +0 -0
  561. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/image.py +0 -0
  562. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/input_common.py +0 -0
  563. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/json_stable.py +0 -0
  564. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/model_workarounds.py +0 -0
  565. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_codex/__init__.py +0 -0
  566. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_codex/client.py +0 -0
  567. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_compatible/__init__.py +0 -0
  568. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_compatible/client.py +0 -0
  569. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_compatible/input.py +0 -0
  570. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_compatible/stream.py +0 -0
  571. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_responses/__init__.py +0 -0
  572. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_responses/client.py +0 -0
  573. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_responses/input.py +0 -0
  574. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openai_responses/prompt_cache.py +0 -0
  575. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openrouter/__init__.py +0 -0
  576. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openrouter/client.py +0 -0
  577. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openrouter/input.py +0 -0
  578. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/openrouter/reasoning.py +0 -0
  579. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/proxy_support.py +0 -0
  580. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/registry.py +0 -0
  581. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/stop_reason.py +0 -0
  582. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/stream_parts.py +0 -0
  583. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/usage.py +0 -0
  584. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/xai_oauth/__init__.py +0 -0
  585. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/llm/xai_oauth/client.py +0 -0
  586. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/log.py +0 -0
  587. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/__init__.py +0 -0
  588. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/attachments.py +0 -0
  589. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/away_summary.py +0 -0
  590. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/compaction.py +0 -0
  591. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/grilling.py +0 -0
  592. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/handoff.py +0 -0
  593. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/messages.py +0 -0
  594. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/prompt_suggestion.py +0 -0
  595. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/session_title.py +0 -0
  596. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/side_question.py +0 -0
  597. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-finder.md +0 -0
  598. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-maintenance-review.md +0 -0
  599. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-review.md +0 -0
  600. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/sub_agents.py +0 -0
  601. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/auto-memory-prompt.md +0 -0
  602. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/base-system-prompt-gpt.md +0 -0
  603. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/base-system-prompt.md +0 -0
  604. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/following-conventions-prompt.md +0 -0
  605. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/git-workspace-hygiene-prompt.md +0 -0
  606. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/prompts/system/visual-explanation-prompt.md +0 -0
  607. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/__init__.py +0 -0
  608. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/env_sync.py +0 -0
  609. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/input_syntax.py +0 -0
  610. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/llm_param.py +0 -0
  611. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/model_id.py +0 -0
  612. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/common.py +0 -0
  613. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/context_usage.py +0 -0
  614. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/developer_ui.py +0 -0
  615. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/file_tracking.py +0 -0
  616. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/session_runtime.py +0 -0
  617. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/sub_agent.py +0 -0
  618. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/task_metadata.py +0 -0
  619. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/todo.py +0 -0
  620. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/models/usage.py +0 -0
  621. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/AGENTS.md +0 -0
  622. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/sub_agent/__init__.py +0 -0
  623. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/system_prompt.py +0 -0
  624. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/user_interaction.py +0 -0
  625. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/protocol/version.py +0 -0
  626. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/__init__.py +0 -0
  627. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/binding.py +0 -0
  628. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/display.py +0 -0
  629. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/history_bridge.py +0 -0
  630. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/host_guard.py +0 -0
  631. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/interaction.py +0 -0
  632. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/lifecycle.py +0 -0
  633. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/paths.py +0 -0
  634. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/__init__.py +0 -0
  635. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/sessions.py +0 -0
  636. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/web.py +0 -0
  637. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/routes/web_api.py +0 -0
  638. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/server.py +0 -0
  639. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/session_index.py +0 -0
  640. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/session_live.py +0 -0
  641. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/session_state.py +0 -0
  642. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/session_tape.py +0 -0
  643. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/startup_log.py +0 -0
  644. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/state.py +0 -0
  645. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/server/system_context.py +0 -0
  646. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/__init__.py +0 -0
  647. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/codec.py +0 -0
  648. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/history.py +0 -0
  649. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/ledger.py +0 -0
  650. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/meta.py +0 -0
  651. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/search.py +0 -0
  652. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/selector.py +0 -0
  653. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/store.py +0 -0
  654. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/session/store_registry.py +0 -0
  655. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/AGENTS.md +0 -0
  656. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/__init__.py +0 -0
  657. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/.git +0 -0
  658. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/.gitignore +0 -0
  659. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/SOURCES.md +0 -0
  660. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/SKILL.md +0 -0
  661. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/authentication.md +0 -0
  662. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/commands.md +0 -0
  663. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/profiling.md +0 -0
  664. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/proxy-support.md +0 -0
  665. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/session-management.md +0 -0
  666. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/snapshot-refs.md +0 -0
  667. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/references/video-recording.md +0 -0
  668. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/templates/authenticated-session.sh +0 -0
  669. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/templates/capture-workflow.sh +0 -0
  670. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/agent-browser/templates/form-automation.sh +0 -0
  671. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/frontend-design/SKILL.md +0 -0
  672. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/LICENSE.txt +0 -0
  673. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/SKILL.md +0 -0
  674. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/references/cli.md +0 -0
  675. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/references/gateway-api.md +0 -0
  676. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/references/model-routing.md +0 -0
  677. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/references/prompting.md +0 -0
  678. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/references/sample-prompts.md +0 -0
  679. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/scripts/image_gen.py +0 -0
  680. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/image-gen/tests/test_image_gen.py +0 -0
  681. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/SKILL.md +0 -0
  682. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/references/background-agents.md +0 -0
  683. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/references/builtin-providers.md +0 -0
  684. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/references/config-file.md +0 -0
  685. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/references/memory-files.md +0 -0
  686. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/klaude-config/references/skill-system.md +0 -0
  687. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/SKILL.md +0 -0
  688. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/forms.md +0 -0
  689. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/reference.md +0 -0
  690. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/check_bounding_boxes.py +0 -0
  691. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/check_fillable_fields.py +0 -0
  692. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/convert_pdf_to_images.py +0 -0
  693. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/create_validation_image.py +0 -0
  694. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_field_info.py +0 -0
  695. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_structure.py +0 -0
  696. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/fill_fillable_fields.py +0 -0
  697. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  698. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/LICENSE.txt +0 -0
  699. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/NOTICE.txt +0 -0
  700. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/SKILL.md +0 -0
  701. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/assets/playwright-small.svg +0 -0
  702. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/assets/playwright.png +0 -0
  703. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/references/cli.md +0 -0
  704. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/references/workflows.md +0 -0
  705. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/playwright/scripts/playwright_cli.sh +0 -0
  706. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/.gitignore +0 -0
  707. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/SKILL.md +0 -0
  708. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/package.json +0 -0
  709. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/references/config/first-time-setup.md +0 -0
  710. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/references/config/preferences-schema.md +0 -0
  711. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/references/templates/standalone.html +0 -0
  712. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/references/troubleshooting.md +0 -0
  713. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/scripts/render_mermaid.js +0 -0
  714. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/render-mermaid/scripts/setup.sh +0 -0
  715. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/session-logs/SKILL.md +0 -0
  716. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/skill-creator/SKILL.md +0 -0
  717. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/assets/skills-lock.json +0 -0
  718. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/loader.py +0 -0
  719. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/manager.py +0 -0
  720. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/skill/system_skills.py +0 -0
  721. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/AGENTS.md +0 -0
  722. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/agent_tool.md +0 -0
  723. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/agent_tool.py +0 -0
  724. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/ask_user_question_tool.md +0 -0
  725. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/ask_user_question_tool.py +0 -0
  726. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/__init__.py +0 -0
  727. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/abc.py +0 -0
  728. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/ansi.py +0 -0
  729. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/offload.py +0 -0
  730. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/registry.py +0 -0
  731. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/core/runner.py +0 -0
  732. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/__init__.py +0 -0
  733. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/_read_core.py +0 -0
  734. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/_utils.py +0 -0
  735. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/apply_patch.py +0 -0
  736. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/apply_patch_tool.md +0 -0
  737. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/apply_patch_tool.py +0 -0
  738. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/diff_builder.py +0 -0
  739. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/edit_tool.md +0 -0
  740. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/edit_tool.py +0 -0
  741. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/look_at_tool.md +0 -0
  742. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/look_at_tool.py +0 -0
  743. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/read_handlers.py +0 -0
  744. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/read_tool.md +0 -0
  745. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/read_tool.py +0 -0
  746. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/write_tool.md +0 -0
  747. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/file/write_tool.py +0 -0
  748. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/handoff_tool.md +0 -0
  749. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/handoff_tool.py +0 -0
  750. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/shell/__init__.py +0 -0
  751. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/shell/command_safety.py +0 -0
  752. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/shell/file_tracking.py +0 -0
  753. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/todo/__init__.py +0 -0
  754. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/todo/todo_write_tool.md +0 -0
  755. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/todo/todo_write_tool.py +0 -0
  756. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/__init__.py +0 -0
  757. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/external_content.py +0 -0
  758. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/ssrf.py +0 -0
  759. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/web_cache.py +0 -0
  760. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/web_fetch_tool.md +0 -0
  761. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/web_fetch_tool.py +0 -0
  762. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/web_search_tool.md +0 -0
  763. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tool/web/web_search_tool.py +0 -0
  764. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/AGENTS.md +0 -0
  765. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/__init__.py +0 -0
  766. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/client/__init__.py +0 -0
  767. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/client/base.py +0 -0
  768. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/client/command_agent.py +0 -0
  769. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/client/server_api.py +0 -0
  770. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/client/socket_client.py +0 -0
  771. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/AGENTS.md +0 -0
  772. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/auth_selector.py +0 -0
  773. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/btw_cmd.py +0 -0
  774. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/command_abc.py +0 -0
  775. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/compact_cmd.py +0 -0
  776. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/context_cmd.py +0 -0
  777. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/continue_cmd.py +0 -0
  778. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/copy_cmd.py +0 -0
  779. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/fork_session_cmd.py +0 -0
  780. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/grill_me_cmd.py +0 -0
  781. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/login_cmd.py +0 -0
  782. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/logout_cmd.py +0 -0
  783. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/manage_providers_cmd.py +0 -0
  784. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/model_cmd.py +0 -0
  785. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/model_picker.py +0 -0
  786. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/new_cmd.py +0 -0
  787. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/provider_manager.py +0 -0
  788. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/recap_cmd.py +0 -0
  789. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/refresh_cmd.py +0 -0
  790. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/registry.py +0 -0
  791. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/reload_cmd.py +0 -0
  792. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/rewind_cmd.py +0 -0
  793. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/status_cmd.py +0 -0
  794. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/sub_agent_model_cmd.py +0 -0
  795. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/command/switch_cmd.py +0 -0
  796. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/__init__.py +0 -0
  797. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/away_summary.py +0 -0
  798. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/bash_syntax.py +0 -0
  799. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/command_output.py +0 -0
  800. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/common.py +0 -0
  801. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/context_usage.py +0 -0
  802. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/developer.py +0 -0
  803. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/diffs.py +0 -0
  804. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/errors.py +0 -0
  805. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/metadata.py +0 -0
  806. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/__init__.py +0 -0
  807. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/cjk_wrap.py +0 -0
  808. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/clip.py +0 -0
  809. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/markdown.py +0 -0
  810. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/mermaid.py +0 -0
  811. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/quote.py +0 -0
  812. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/status.py +0 -0
  813. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/rich/theme.py +0 -0
  814. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/side_question.py +0 -0
  815. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/sub_agent.py +0 -0
  816. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/task_file_changes.py +0 -0
  817. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/thinking.py +0 -0
  818. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/__init__.py +0 -0
  819. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_bash.py +0 -0
  820. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_common.py +0 -0
  821. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_file.py +0 -0
  822. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_look_at.py +0 -0
  823. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_question.py +0 -0
  824. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_read.py +0 -0
  825. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_todo.py +0 -0
  826. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/tools/_web.py +0 -0
  827. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/user_input.py +0 -0
  828. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/components/welcome.py +0 -0
  829. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/display.py +0 -0
  830. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/AGENTS.md +0 -0
  831. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/__init__.py +0 -0
  832. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/color_scheme.py +0 -0
  833. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/completers.py +0 -0
  834. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/completion_menu.py +0 -0
  835. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/csi_u.py +0 -0
  836. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/drag_drop.py +0 -0
  837. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/flicker_safe_stdout.py +0 -0
  838. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/key_bindings.py +0 -0
  839. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/paste.py +0 -0
  840. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/prompt_status_bar.py +0 -0
  841. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/prompt_toolkit.py +0 -0
  842. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/pt_theme.py +0 -0
  843. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/input/resize_watcher.py +0 -0
  844. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/runner.py +0 -0
  845. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/status_runtime.py +0 -0
  846. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/__init__.py +0 -0
  847. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/ask_user_question.py +0 -0
  848. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/color.py +0 -0
  849. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/control.py +0 -0
  850. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/image.py +0 -0
  851. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/notifier.py +0 -0
  852. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/selector.py +0 -0
  853. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/session_selector.py +0 -0
  854. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/title.py +0 -0
  855. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/terminal/tty_state.py +0 -0
  856. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/transcript_detail.py +0 -0
  857. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/tui/workspace.py +0 -0
  858. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/update.py +0 -0
  859. {klaude_code-2.34.0 → klaude_code-2.35.0}/src/klaude_code/workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.34.0
3
+ Version: 2.35.0
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic[bedrock]>=1.8.0,<2
6
6
  Requires-Dist: chardet>=5.2.0,<6
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "klaude-code"
7
- version = "2.34.0"
7
+ version = "2.35.0"
8
8
  description = "Minimal code agent CLI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -12,6 +12,7 @@ from klaude_code.protocol.models import TaskMetadata
12
12
  from klaude_code.session import Session
13
13
  from klaude_code.tool import build_todo_context, get_registry
14
14
  from klaude_code.tool.core.context import RunSubtask
15
+ from klaude_code.tool.shell.task_manager import ShellTaskManager
15
16
 
16
17
 
17
18
  class Agent:
@@ -33,6 +34,7 @@ class Agent:
33
34
  | None
34
35
  ) = None,
35
36
  model_profile_provider: ModelProfileProvider | None = None,
37
+ shell_task_manager: ShellTaskManager | None = None,
36
38
  ):
37
39
  self.session: Session = session
38
40
  self.profile: AgentProfile = profile
@@ -47,6 +49,7 @@ class Agent:
47
49
  self._last_interrupt_prefill_text: str | None = None
48
50
  self.request_user_interaction = request_user_interaction
49
51
  self._model_profile_provider = model_profile_provider
52
+ self.shell_task_manager = shell_task_manager
50
53
  if not self.session.model_name:
51
54
  self.session.model_name = profile.llm_client.model_name
52
55
 
@@ -195,6 +198,7 @@ class Agent:
195
198
  run_subtask=run_subtask,
196
199
  request_user_interaction=self.request_user_interaction,
197
200
  prompt_cache_key=self.session.prompt_cache_key,
201
+ shell_task_manager=self.shell_task_manager,
198
202
  )
199
203
  context = TaskExecutionContext(
200
204
  session=self.session,
@@ -38,7 +38,7 @@ class AgentProfile:
38
38
  attachments: list[Attachment]
39
39
 
40
40
 
41
- MAIN_AGENT_COMMON_BASE_TOOLS: list[str] = [tools.BASH, tools.READ]
41
+ MAIN_AGENT_COMMON_BASE_TOOLS: list[str] = [tools.BASH, tools.MANAGE_SHELL, tools.READ]
42
42
  MAIN_AGENT_APPLY_PATCH_DIFF_TOOLS: list[str] = [tools.APPLY_PATCH, tools.TODO_WRITE]
43
43
  MAIN_AGENT_EDIT_WRITE_DIFF_TOOLS: list[str] = [tools.EDIT, tools.WRITE, tools.TODO_WRITE]
44
44
  MAIN_AGENT_COMMON_TOOLS: list[str] = [
@@ -219,6 +219,6 @@ class VanillaModelProfileProvider(ModelProfileProvider):
219
219
  return AgentProfile(
220
220
  llm_client=llm_client,
221
221
  system_prompt="You're an agent running in user's terminal",
222
- tools=get_tool_schemas([tools.BASH, tools.EDIT, tools.WRITE, tools.READ]),
222
+ tools=get_tool_schemas([tools.BASH, tools.MANAGE_SHELL, tools.EDIT, tools.WRITE, tools.READ]),
223
223
  attachments=[],
224
224
  )
@@ -46,6 +46,7 @@ from klaude_code.protocol import events, message, op, user_interaction
46
46
  from klaude_code.protocol.models import SubAgentState, TaskMetadata
47
47
  from klaude_code.protocol.sub_agent import SubAgentResult
48
48
  from klaude_code.session.session import Session
49
+ from klaude_code.tool.shell.task_manager import ShellTaskManager
49
50
  from klaude_code.update import get_startup_update_summary
50
51
 
51
52
 
@@ -100,8 +101,12 @@ class AgentOperationHandler:
100
101
  [PendingUserInteractionRequest],
101
102
  Awaitable[user_interaction.UserInteractionResponse],
102
103
  ],
104
+ shell_task_manager: ShellTaskManager | None = None,
105
+ has_pending_shell_notifications: Callable[[str], bool] | None = None,
103
106
  ) -> None:
104
107
  self._emit_event = emit_event
108
+ self._shell_task_manager = shell_task_manager
109
+ self._has_pending_shell_notifications = has_pending_shell_notifications
105
110
  self._llm_clients_template = llm_clients
106
111
  self._model_profile_provider = model_profile_provider
107
112
  self._sub_agent_launcher: SubAgentLauncher | None = None
@@ -401,6 +406,7 @@ class AgentOperationHandler:
401
406
  compact_llm_client=session_clients.compact,
402
407
  request_user_interaction=self._build_request_user_interaction_callback(session_id=session.id),
403
408
  model_profile_provider=profile_provider,
409
+ shell_task_manager=self._shell_task_manager,
404
410
  )
405
411
 
406
412
  # Another initializer may have completed while this one built the
@@ -498,6 +504,7 @@ class AgentOperationHandler:
498
504
  compact_llm_client=session_clients.compact,
499
505
  request_user_interaction=self._build_request_user_interaction_callback(session_id=session.id),
500
506
  model_profile_provider=profile_provider,
507
+ shell_task_manager=self._shell_task_manager,
501
508
  )
502
509
  runtime.set_agent(agent)
503
510
  return agent
@@ -639,6 +646,10 @@ class AgentOperationHandler:
639
646
  debug_type=DebugType.EXECUTION,
640
647
  )
641
648
  return
649
+ if (self._shell_task_manager is not None and session_id in self._shell_task_manager.active_session_ids()) or (
650
+ self._has_pending_shell_notifications is not None and self._has_pending_shell_notifications(session_id)
651
+ ):
652
+ return
642
653
  suppress = should_suggest(agent.session)
643
654
  if suppress is not None:
644
655
  log_debug(
@@ -720,10 +731,7 @@ class AgentOperationHandler:
720
731
  frozen_images = await asyncio.to_thread(
721
732
  lambda: [freeze_image_for_history(image, images_dir=images_dir) for image in images]
722
733
  )
723
- return message.UserInputPayload(
724
- text=user_input.text,
725
- images=frozen_images,
726
- )
734
+ return user_input.model_copy(update={"images": frozen_images})
727
735
 
728
736
  async def run_agent(self, operation: op.RunAgentOperation) -> None:
729
737
  agent = await self.ensure_agent(operation.session_id)
@@ -749,10 +757,14 @@ class AgentOperationHandler:
749
757
  frozen_input.text,
750
758
  frozen_input.images,
751
759
  ),
760
+ source=frozen_input.source,
761
+ shell_tasks=frozen_input.shell_tasks,
752
762
  )
753
763
  ]
754
764
  )
755
- if self._should_refresh_session_title_during_task(agent.session.id):
765
+ if operation.shell_notification_generation is None and self._should_refresh_session_title_during_task(
766
+ agent.session.id
767
+ ):
756
768
  self._schedule_session_title_refresh(agent.session)
757
769
 
758
770
  existing_active = self.get_active_task(operation.id)
@@ -763,7 +775,13 @@ class AgentOperationHandler:
763
775
 
764
776
  async def _run_with_event_context() -> None:
765
777
  with event_publish_context(task_id=task_id):
766
- await self._run_agent_task(agent, frozen_input, task_id, operation.session_id)
778
+ await self._run_agent_task(
779
+ agent,
780
+ frozen_input,
781
+ task_id,
782
+ operation.session_id,
783
+ shell_notification=operation.shell_notification_generation is not None,
784
+ )
767
785
 
768
786
  task: asyncio.Task[None] = asyncio.create_task(_run_with_event_context())
769
787
  self._register_task(
@@ -1098,6 +1116,7 @@ class AgentOperationHandler:
1098
1116
  compact_llm_client=session_clients.compact,
1099
1117
  request_user_interaction=self._build_request_user_interaction_callback(session_id=new_session.id),
1100
1118
  model_profile_provider=self._model_profile_provider,
1119
+ shell_task_manager=self._shell_task_manager,
1101
1120
  )
1102
1121
 
1103
1122
  old_runtime.clear_execution_state()
@@ -1146,6 +1165,7 @@ class AgentOperationHandler:
1146
1165
  compact_llm_client=session_clients.compact,
1147
1166
  request_user_interaction=self._build_request_user_interaction_callback(session_id=new_session.id),
1148
1167
  model_profile_provider=self._model_profile_provider,
1168
+ shell_task_manager=self._shell_task_manager,
1149
1169
  )
1150
1170
 
1151
1171
  old_runtime.clear_execution_state()
@@ -1435,6 +1455,8 @@ class AgentOperationHandler:
1435
1455
  user_input: message.UserInputPayload,
1436
1456
  task_id: str,
1437
1457
  session_id: str,
1458
+ *,
1459
+ shell_notification: bool = False,
1438
1460
  ) -> None:
1439
1461
  try:
1440
1462
  log_debug(
@@ -1471,7 +1493,8 @@ class AgentOperationHandler:
1471
1493
 
1472
1494
  # Task completed normally — predict the user's next prompt in the
1473
1495
  # background. Cancelled implicitly when the next user turn starts.
1474
- self._schedule_prompt_suggestion(agent)
1496
+ if not shell_notification:
1497
+ self._schedule_prompt_suggestion(agent)
1475
1498
 
1476
1499
  except asyncio.CancelledError:
1477
1500
  log_debug(
@@ -1495,7 +1518,7 @@ class AgentOperationHandler:
1495
1518
  )
1496
1519
  finally:
1497
1520
  self._remove_task(session_id=session_id, task_id=task_id)
1498
- if not self._should_refresh_session_title_during_task(session_id):
1521
+ if not shell_notification and not self._should_refresh_session_title_during_task(session_id):
1499
1522
  self._schedule_session_title_refresh(agent.session)
1500
1523
  log_debug(
1501
1524
  f"Cleaned up agent task {task_id}",
@@ -3,8 +3,10 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  import asyncio
6
+ import contextlib
6
7
  from collections.abc import Awaitable, Callable
7
8
  from dataclasses import dataclass
9
+ from pathlib import Path
8
10
  from typing import Literal
9
11
 
10
12
  from klaude_code.agent.agent import Agent
@@ -18,6 +20,7 @@ from klaude_code.control.runtime.actor import SessionActor
18
20
  from klaude_code.control.user_interaction import PendingUserInteractionRequest
19
21
  from klaude_code.protocol import events, op, user_interaction
20
22
  from klaude_code.protocol.op_handler import OperationHandler
23
+ from klaude_code.tool.shell.task_manager import ShellTaskManager
21
24
 
22
25
 
23
26
  @dataclass(frozen=True)
@@ -40,6 +43,7 @@ class OperationDispatcherPorts:
40
43
  # and awaits operations on them via these facade entry points.
41
44
  submit_operation: Callable[[op.Operation], Awaitable[str]]
42
45
  wait_for_operation: Callable[[str], Awaitable[Literal["completed", "rejected", "failed"] | None]]
46
+ disable_shell_notifications: Callable[[str], None]
43
47
 
44
48
 
45
49
  class OperationDispatcher:
@@ -59,10 +63,13 @@ class OperationDispatcher:
59
63
  ports: OperationDispatcherPorts,
60
64
  model_profile_provider: ModelProfileProvider | None = None,
61
65
  on_model_change: Callable[[str], None] | None = None,
66
+ shell_task_manager: ShellTaskManager | None = None,
67
+ has_pending_shell_notifications: Callable[[str], bool] | None = None,
62
68
  ):
63
69
  self._event_bus = event_bus
64
70
  self.llm_clients: LLMClients = llm_clients
65
71
  self._ports = ports
72
+ self._shell_task_manager = shell_task_manager
66
73
 
67
74
  resolved_profile_provider = model_profile_provider or DefaultModelProfileProvider()
68
75
  self.model_profile_provider: ModelProfileProvider = resolved_profile_provider
@@ -79,6 +86,8 @@ class OperationDispatcher:
79
86
  register_task=ports.register_task,
80
87
  remove_task=ports.remove_task,
81
88
  request_user_interaction=self.request_user_interaction,
89
+ shell_task_manager=shell_task_manager,
90
+ has_pending_shell_notifications=has_pending_shell_notifications,
82
91
  )
83
92
  self._sub_agent_launcher = SubAgentLauncher(
84
93
  handler=self._agent_operation_handler,
@@ -216,6 +225,51 @@ class OperationDispatcher:
216
225
  async def handle_run_bash(self, operation: op.RunBashOperation) -> None:
217
226
  await self._agent_operation_handler.run_bash(operation)
218
227
 
228
+ async def handle_manage_shell(self, operation: op.ManageShellOperation) -> None:
229
+ manager = self._shell_task_manager
230
+ if manager is None:
231
+ return
232
+ actor = self._ports.get_session_actor(operation.session_id)
233
+ agent = actor.get_agent() if actor is not None else None
234
+ work_dir = agent.session.work_dir if agent is not None else None
235
+ try:
236
+ tasks = await manager.list_tasks(operation.session_id, work_dir=work_dir)
237
+ if operation.action == "list":
238
+ await self.emit_event(events.ShellTasksUpdatedEvent(session_id=operation.session_id, tasks=tasks))
239
+ content = (
240
+ "\n".join(
241
+ f"{task.task_id} {task.status} exit={task.exit_code} {task.description or task.command}"
242
+ for task in tasks
243
+ )
244
+ or "No background shell tasks."
245
+ )
246
+ else:
247
+ task_id = operation.task_id
248
+ if task_id is None:
249
+ if not tasks:
250
+ raise ValueError("No background shell tasks.")
251
+ task_id = tasks[-1].task_id
252
+ if operation.action == "stop":
253
+ task = await manager.stop_task(operation.session_id, task_id)
254
+ content = f"{task.task_id}: {task.status}; log: {task.output_path}"
255
+ else:
256
+ offset = operation.offset
257
+ if operation.task_id is None and offset == 0:
258
+ task = next(task for task in tasks if task.task_id == task_id)
259
+ with contextlib.suppress(OSError):
260
+ offset = max(0, Path(task.output_path).stat().st_size - operation.limit)
261
+ output = await manager.read_output(
262
+ operation.session_id, task_id, offset=offset, limit=operation.limit
263
+ )
264
+ content = (
265
+ f"{output.task.task_id}: {output.task.status}; log: {output.task.output_path}\n"
266
+ f"{output.output}\nNext offset: {output.next_offset}"
267
+ )
268
+ except (ValueError, KeyError, OSError) as exc:
269
+ await self.emit_event(events.NoticeEvent(session_id=operation.session_id, content=str(exc), is_error=True))
270
+ return
271
+ await self.emit_event(events.NoticeEvent(session_id=operation.session_id, content=content))
272
+
219
273
  async def handle_continue_agent(self, operation: op.ContinueAgentOperation) -> None:
220
274
  await self._agent_operation_handler.continue_agent(operation)
221
275
 
@@ -282,6 +336,7 @@ class OperationDispatcher:
282
336
  )
283
337
  if not interrupted:
284
338
  return
339
+ self._ports.disable_shell_notifications(operation.session_id)
285
340
  cancelled_requests = self.cancel_pending_user_interactions(session_id=operation.session_id)
286
341
  await self._emit_interaction_cancelled_events(cancelled_requests, reason="interrupt")
287
342
  # Sub-agents run in their own actors; cancelling the parent task no
@@ -468,6 +468,7 @@ class StepExecutor:
468
468
  run_subtask=session_ctx.run_subtask,
469
469
  handoff_manager=ctx.handoff_manager,
470
470
  request_user_interaction=session_ctx.request_user_interaction,
471
+ shell_task_manager=session_ctx.shell_task_manager,
471
472
  )
472
473
 
473
474
  executor = ToolExecutor(
@@ -49,6 +49,7 @@ from klaude_code.protocol.models import (
49
49
  from klaude_code.session.session import Session
50
50
  from klaude_code.tool import FileTracker, TodoContext, ToolABC, get_registry
51
51
  from klaude_code.tool.core.context import RunSubtask
52
+ from klaude_code.tool.shell.task_manager import ShellTaskManager
52
53
 
53
54
  type RequestUserInteraction = Callable[
54
55
  [
@@ -225,6 +226,7 @@ class SessionContext:
225
226
  run_subtask: RunSubtask | None
226
227
  request_user_interaction: RequestUserInteraction | None
227
228
  prompt_cache_key: str | None = None
229
+ shell_task_manager: ShellTaskManager | None = None
228
230
 
229
231
 
230
232
  @dataclass
@@ -295,6 +297,18 @@ class TaskExecutor:
295
297
  ) -> list[events.DeveloperMessageEvent]:
296
298
  ctx = self._context
297
299
  attachment_results = await collect_attachments(ctx.session, ctx.profile.attachments)
300
+ manager = ctx.session_ctx.shell_task_manager
301
+ if manager is not None:
302
+ tasks = await manager.list_tasks(ctx.session.id, work_dir=ctx.session.work_dir)
303
+ active = [task for task in tasks if task.status in ("running", "stopping")]
304
+ if active:
305
+ # Runtime-owned identifiers only; command/log text is untrusted.
306
+ summary = "\n".join(f"- {task.task_id}: {task.status}; log: {task.output_path}" for task in active)
307
+ attachment_results.append(
308
+ message.DeveloperMessage(
309
+ parts=[message.TextPart(text=f"Active background shell tasks in this session:\n{summary}")]
310
+ )
311
+ )
298
312
  events_to_emit: list[events.DeveloperMessageEvent] = []
299
313
  existing: set[str] = set()
300
314
  if skip_existing:
@@ -620,7 +634,7 @@ class TaskExecutor:
620
634
  ctx = self._context
621
635
  session_ctx = ctx.session_ctx
622
636
  self._started_at = time.perf_counter()
623
- self._current_user_input_text = user_input.text
637
+ self._current_user_input_text = user_input.text if user_input.source != "shell_completion" else None
624
638
  self._task_visible_output_started = False
625
639
  self._last_interrupt_show_notice = True
626
640
  self._last_interrupt_prefill_text = None
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import asyncio
4
4
  import contextlib
5
- from collections.abc import Callable
5
+ from collections.abc import Awaitable, Callable
6
6
  from typing import Literal
7
7
 
8
8
  from klaude_code.agent.agent import Agent
@@ -14,7 +14,9 @@ from klaude_code.control.runtime.registry import OperationLifecycleHooks, Sessio
14
14
  from klaude_code.control.user_interaction import PendingUserInteractionRequest
15
15
  from klaude_code.log import DebugType, log_debug
16
16
  from klaude_code.protocol import events, op, user_interaction
17
+ from klaude_code.protocol.shell_task import ShellTaskSnapshot
17
18
  from klaude_code.session.session import Session
19
+ from klaude_code.tool.shell.task_manager import ShellTaskManager
18
20
 
19
21
 
20
22
  class OperationCompletionAwaiter:
@@ -92,6 +94,14 @@ class RuntimeFacade:
92
94
  model_profile_provider: ModelProfileProvider | None = None,
93
95
  on_model_change: Callable[[str], None] | None = None,
94
96
  ):
97
+ self._stopped = False
98
+ self._shell_notification_generations: dict[str, int] = {}
99
+ self._shell_notifications_disabled: set[str] = set()
100
+ self._shell_completion_handler: Callable[[ShellTaskSnapshot, int], Awaitable[None]] | None = None
101
+ self._shell_pending_provider: Callable[[str], bool] | None = None
102
+ self.shell_task_manager = ShellTaskManager(
103
+ on_update=self._shell_tasks_updated, on_complete=self._shell_completed
104
+ )
95
105
  self.session_registry = SessionRegistry(
96
106
  handle_operation=self._execute_operation,
97
107
  reject_operation=self._reject_operation,
@@ -125,9 +135,12 @@ class RuntimeFacade:
125
135
  on_child_task_state_change=self._on_child_task_state_change,
126
136
  submit_operation=self.submit,
127
137
  wait_for_operation=self.wait_for,
138
+ disable_shell_notifications=self.disable_shell_notifications,
128
139
  ),
129
140
  model_profile_provider,
130
141
  on_model_change,
142
+ shell_task_manager=self.shell_task_manager,
143
+ has_pending_shell_notifications=self.has_pending_shell_notifications,
131
144
  )
132
145
  self._operation_awaiter = OperationCompletionAwaiter(event_bus)
133
146
  self._stopped = False
@@ -314,6 +327,30 @@ class RuntimeFacade:
314
327
  if self._stopped:
315
328
  raise RuntimeError("RuntimeFacade is stopped")
316
329
 
330
+ if isinstance(operation, op.InterruptOperation):
331
+ actor = self.session_registry.get_session_actor(operation.session_id)
332
+ root = actor.snapshot().active_root_task if actor is not None else None
333
+ if operation.expected_operation_id is None or (
334
+ root is not None and root.operation_id == operation.expected_operation_id
335
+ ):
336
+ pending = [operation.session_id]
337
+ disabled: set[str] = set()
338
+ actors = self.session_registry.list_session_actors()
339
+ while pending:
340
+ session_id = pending.pop()
341
+ if session_id in disabled:
342
+ continue
343
+ disabled.add(session_id)
344
+ self.disable_shell_notifications(session_id)
345
+ for actor in actors:
346
+ agent = actor.get_agent()
347
+ if agent is not None and agent.session.parent_session_id == session_id:
348
+ pending.append(actor.session_id)
349
+ elif (
350
+ isinstance(operation, op.RunAgentOperation) and operation.shell_notification_generation is None
351
+ ) or isinstance(operation, op.RunBashOperation | op.FollowUpAgentOperation):
352
+ self.resume_shell_notifications(operation.session_id)
353
+
317
354
  self._operation_awaiter.register(operation.id)
318
355
  try:
319
356
  await self.session_registry.submit(operation)
@@ -331,6 +368,39 @@ class RuntimeFacade:
331
368
  async def emit_event(self, event: events.Event) -> None:
332
369
  await self._operation_dispatcher.emit_event(event)
333
370
 
371
+ async def _shell_tasks_updated(self, session_id: str, tasks: list[ShellTaskSnapshot]) -> None:
372
+ if not self._stopped:
373
+ await self.emit_event(events.ShellTasksUpdatedEvent(session_id=session_id, tasks=tasks))
374
+
375
+ async def _shell_completed(self, task: ShellTaskSnapshot) -> None:
376
+ generation = self.shell_notification_generation(task.session_id)
377
+ if generation is not None and self._shell_completion_handler is not None:
378
+ await self._shell_completion_handler(task, generation)
379
+
380
+ def set_shell_completion_handler(
381
+ self,
382
+ handler: Callable[[ShellTaskSnapshot, int], Awaitable[None]] | None,
383
+ *,
384
+ has_pending: Callable[[str], bool] | None = None,
385
+ ) -> None:
386
+ self._shell_completion_handler = handler
387
+ self._shell_pending_provider = has_pending
388
+
389
+ def has_pending_shell_notifications(self, session_id: str) -> bool:
390
+ return self._shell_pending_provider is not None and self._shell_pending_provider(session_id)
391
+
392
+ def shell_notification_generation(self, session_id: str) -> int | None:
393
+ if self._stopped or session_id in self._shell_notifications_disabled:
394
+ return None
395
+ return self._shell_notification_generations.get(session_id, 0)
396
+
397
+ def disable_shell_notifications(self, session_id: str) -> None:
398
+ self._shell_notification_generations[session_id] = self._shell_notification_generations.get(session_id, 0) + 1
399
+ self._shell_notifications_disabled.add(session_id)
400
+
401
+ def resume_shell_notifications(self, session_id: str) -> None:
402
+ self._shell_notifications_disabled.discard(session_id)
403
+
334
404
  async def replay_session_history(self, session_id: str) -> None:
335
405
  """Replay an initialized session's transcript to the display."""
336
406
  await self._operation_dispatcher.replay_session_history(session_id)
@@ -350,7 +420,9 @@ class RuntimeFacade:
350
420
  return self._operation_dispatcher.current_agent
351
421
 
352
422
  def has_running_tasks(self) -> bool:
353
- return any(not active.task.done() for active in self._operation_dispatcher.list_active_tasks())
423
+ return self.shell_task_manager.has_running_tasks() or any(
424
+ not active.task.done() for active in self._operation_dispatcher.list_active_tasks()
425
+ )
354
426
 
355
427
  def cancel_auto_away_summary(self, session_id: str) -> None:
356
428
  self._operation_dispatcher.cancel_auto_away_summary(session_id)
@@ -365,6 +437,8 @@ class RuntimeFacade:
365
437
 
366
438
  closed = await self.session_registry.close_session(session_id, force=force)
367
439
  if closed:
440
+ self.disable_shell_notifications(session_id)
441
+ await self.shell_task_manager.stop_session(session_id)
368
442
  for request in cancelled_requests:
369
443
  await self._operation_dispatcher.emit_event(
370
444
  events.UserInteractionCancelledEvent(
@@ -392,7 +466,12 @@ class RuntimeFacade:
392
466
  # Never reclaim the primary (TUI-active) session or any session an
393
467
  # exclusion provider vouches for (the server excludes every session
394
468
  # with a live WS attach — an attached-but-quiet TUI is still in use).
395
- exclude: set[str] = set()
469
+ exclude: set[str] = self.shell_task_manager.active_session_ids()
470
+ exclude |= {
471
+ actor.session_id
472
+ for actor in self.session_registry.list_session_actors()
473
+ if self.has_pending_shell_notifications(actor.session_id)
474
+ }
396
475
  primary = self._operation_dispatcher.current_session_id()
397
476
  if primary is not None:
398
477
  exclude.add(primary)
@@ -412,6 +491,7 @@ class RuntimeFacade:
412
491
 
413
492
  async def stop(self) -> None:
414
493
  self._stopped = True
494
+ await self.shell_task_manager.aclose()
415
495
  sessions_to_flush: list[Agent] = []
416
496
  for runtime in self.session_registry.list_session_actors():
417
497
  agent = runtime.get_agent()
@@ -459,6 +539,12 @@ class RuntimeFacade:
459
539
  log_debug("RuntimeFacade stopped", debug_type=DebugType.EXECUTION)
460
540
 
461
541
  async def _execute_operation(self, operation: op.Operation) -> None:
542
+ if (
543
+ isinstance(operation, op.RunAgentOperation)
544
+ and operation.shell_notification_generation is not None
545
+ and self.shell_notification_generation(operation.session_id) != operation.shell_notification_generation
546
+ ):
547
+ return
462
548
  try:
463
549
  log_debug(
464
550
  f"Handling operation {operation.id} of type {operation.type.value}",
@@ -692,9 +692,23 @@ def ps_command(
692
692
  # -- brief --
693
693
 
694
694
 
695
+ def _truncate_middle(text: str, limit: int) -> str:
696
+ if len(text) <= limit:
697
+ return text
698
+ marker = "\n… [middle truncated] …\n"
699
+ if limit <= len(marker):
700
+ return text[: max(0, limit - 1)] + "…" if limit > 0 else ""
701
+ remaining = limit - len(marker)
702
+ head = (remaining + 1) // 2
703
+ tail = remaining // 2
704
+ return text[:head] + marker + (text[-tail:] if tail else "")
705
+
706
+
695
707
  def brief_command(
696
708
  target: str = typer.Argument(..., metavar="TARGET"),
697
- max_chars: int = typer.Option(2000, "--max-chars", show_default=False, help="Output budget (default 2000)"),
709
+ max_chars: int = typer.Option(
710
+ 4000, "--max-chars", min=1, show_default=False, help="Target output size (default 4000)"
711
+ ),
698
712
  full_last: bool = typer.Option(False, "--full-last", help="Do not truncate the last assistant message"),
699
713
  json_: bool = typer.Option(False, "--json", help="Machine-readable"),
700
714
  ) -> None:
@@ -703,9 +717,13 @@ def brief_command(
703
717
  Never dumps the full transcript.
704
718
 
705
719
  \b
706
- Sections: state, title, model, dir, todos, current/last tool call,
707
- pending request (when waiting_input), last assistant message
708
- (truncated), token usage, changed-files summary.
720
+ Sections: state, title, model, dir, latest user request, todos, current tool call,
721
+ recent tool calls from the latest user turn (up to 5, with result status),
722
+ pending request (when waiting_input), recent assistant messages (up to 5,
723
+ older messages middle-truncated), token usage, changed-files summary.
724
+ The latest message gets the text budget first; --full-last keeps it whole.
725
+ In-progress assistant text is included and marked as streaming.
726
+ Metadata and pending requests are never cut to meet the budget.
709
727
  """
710
728
  body = _api("GET", f"/api/headless/sessions/{target}/brief")
711
729
  if json_:
@@ -727,6 +745,8 @@ def brief_command(
727
745
  lines.append(f"agent: {body.get('agent_type')}")
728
746
  if body.get("approval_policy"):
729
747
  lines.append(f"approval: {body.get('approval_policy')}")
748
+ if body.get("last_user_message"):
749
+ lines.append(f"request: {body.get('last_user_message')}")
730
750
 
731
751
  todos = body.get("todos") or []
732
752
  if todos:
@@ -738,6 +758,12 @@ def brief_command(
738
758
  if body.get("current_tool_call"):
739
759
  lines.append(f"current tool: {body.get('current_tool_call')}")
740
760
 
761
+ recent_tools = body.get("recent_tool_calls") or []
762
+ if recent_tools:
763
+ lines.append("recent tools:")
764
+ for tool in recent_tools:
765
+ lines.append(f" [{tool.get('status')}] {tool.get('activity')}")
766
+
741
767
  pending = body.get("pending_request")
742
768
  if isinstance(pending, dict):
743
769
  lines.extend(_pending_request_lines(pending, target=target))
@@ -753,20 +779,36 @@ def brief_command(
753
779
  )
754
780
 
755
781
  changes = body.get("file_change_summary") or {}
756
- edited = list(changes.get("edited_files") or []) + list(changes.get("created_files") or [])
782
+ edited = list(dict.fromkeys([*(changes.get("edited_files") or []), *(changes.get("created_files") or [])]))
757
783
  if edited or changes.get("diff_lines_added") or changes.get("diff_lines_removed"):
784
+ work_dir = str(body.get("work_dir") or "").rstrip("/")
785
+ paths = [_abbrev_home(str(path).removeprefix(f"{work_dir}/")) for path in edited[:8]]
786
+ more = f", … {len(edited) - 8} more" if len(edited) > 8 else ""
758
787
  lines.append(
759
788
  f"files: +{changes.get('diff_lines_added', 0)}/-{changes.get('diff_lines_removed', 0)} "
760
- f"({', '.join(edited[:8])})"
789
+ f"({', '.join(paths)}{more})"
761
790
  )
762
791
 
763
792
  last_message = str(body.get("last_assistant_message") or "")
764
793
  if last_message:
765
- used = sum(len(line) + 1 for line in lines) + len("last message:\n")
794
+ last_label = "last message (streaming):" if body.get("assistant_streaming") else "last message:"
795
+ used = sum(len(line) + 1 for line in lines) + len(last_label) + 2
766
796
  budget = max(200, max_chars - used)
767
- if not full_last and len(last_message) > budget:
768
- last_message = last_message[:budget] + "… [truncated, use `klaude output` for full text]"
769
- lines.append("last message:")
797
+ if not full_last:
798
+ last_message = _truncate_middle(last_message, budget)
799
+ earlier = list(body.get("recent_assistant_messages") or [])[:-1]
800
+ remaining = max_chars - used - len(last_message) - len("earlier messages:\n")
801
+ previews: list[str] = []
802
+ for text in reversed(earlier):
803
+ if remaining < 80:
804
+ break
805
+ preview = _truncate_middle(str(text), min(300, remaining - 5))
806
+ previews.append(f" > {preview}")
807
+ remaining -= len(previews[-1]) + 1
808
+ if previews:
809
+ lines.append("earlier messages:")
810
+ lines.extend(reversed(previews))
811
+ lines.append(last_label)
770
812
  lines.append(last_message)
771
813
 
772
814
  typer.echo("\n".join(lines))
@@ -113,7 +113,8 @@ BLOCKED_DEVICE_PATHS = frozenset(
113
113
  # Tool - Bash / Shell
114
114
  # =============================================================================
115
115
 
116
- BASH_DEFAULT_TIMEOUT_MS = 120000 # Default timeout for bash commands (milliseconds)
116
+ BASH_DEFAULT_TIMEOUT_MS = 1800000 # Hard runtime limit for bash commands (milliseconds)
117
+ BASH_DEFAULT_WAIT_MS = 10000 # Foreground wait before background handoff (milliseconds)
117
118
  BASH_TERMINATE_TIMEOUT_SEC = 1.0 # Timeout before escalating to SIGKILL (seconds)
118
119
  BASH_MODE_SESSION_OUTPUT_MAX_BYTES = 200 * 1024 * 1024 # Max command output captured for session history
119
120
 
@@ -489,6 +489,7 @@ def _is_control_operation(operation: op.Operation) -> bool:
489
489
  return isinstance(
490
490
  operation,
491
491
  op.FollowUpAgentOperation
492
+ | op.ManageShellOperation
492
493
  | op.InterruptOperation
493
494
  | op.UserInteractionRespondOperation
494
495
  | op.CloseSessionOperation,