klaude-code 2.25.0__tar.gz → 2.26.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 (958) hide show
  1. klaude_code-2.26.0/PKG-INFO +423 -0
  2. klaude_code-2.26.0/pyproject.toml +118 -0
  3. klaude_code-2.26.0/src/klaude_code/.DS_Store +0 -0
  4. klaude_code-2.26.0/src/klaude_code/agent/agent.py +140 -0
  5. klaude_code-2.26.0/src/klaude_code/agent/agent_profile.py +174 -0
  6. klaude_code-2.26.0/src/klaude_code/agent/attachments/__init__.py +1 -0
  7. klaude_code-2.26.0/src/klaude_code/agent/attachments/collection.py +56 -0
  8. klaude_code-2.26.0/src/klaude_code/agent/attachments/files.py +387 -0
  9. klaude_code-2.26.0/src/klaude_code/agent/attachments/memory.py +350 -0
  10. klaude_code-2.26.0/src/klaude_code/agent/attachments/skills.py +466 -0
  11. klaude_code-2.26.0/src/klaude_code/agent/attachments/state.py +128 -0
  12. klaude_code-2.26.0/src/klaude_code/agent/attachments/todo.py +71 -0
  13. klaude_code-2.26.0/src/klaude_code/agent/away_summary.py +133 -0
  14. klaude_code-2.26.0/src/klaude_code/agent/bash_mode.py +273 -0
  15. klaude_code-2.26.0/src/klaude_code/agent/cache_break_detection.py +278 -0
  16. klaude_code-2.26.0/src/klaude_code/agent/cache_safe.py +120 -0
  17. klaude_code-2.26.0/src/klaude_code/agent/compaction/compaction.py +934 -0
  18. klaude_code-2.26.0/src/klaude_code/agent/handoff/handoff.py +289 -0
  19. klaude_code-2.26.0/src/klaude_code/agent/prompt_suggestion/__init__.py +6 -0
  20. klaude_code-2.26.0/src/klaude_code/agent/prompt_suggestion/prompt_suggestion.py +198 -0
  21. klaude_code-2.26.0/src/klaude_code/agent/runtime/__init__.py +1 -0
  22. klaude_code-2.26.0/src/klaude_code/agent/runtime/agent_ops.py +1066 -0
  23. klaude_code-2.26.0/src/klaude_code/agent/runtime/away_summary.py +153 -0
  24. klaude_code-2.26.0/src/klaude_code/agent/runtime/config_ops.py +604 -0
  25. klaude_code-2.26.0/src/klaude_code/agent/runtime/dispatcher.py +316 -0
  26. klaude_code-2.26.0/src/klaude_code/agent/runtime/llm.py +131 -0
  27. klaude_code-2.26.0/src/klaude_code/agent/runtime/sub_agent.py +193 -0
  28. klaude_code-2.26.0/src/klaude_code/agent/session_stats.py +130 -0
  29. klaude_code-2.26.0/src/klaude_code/agent/skill_inventory.py +50 -0
  30. klaude_code-2.26.0/src/klaude_code/agent/system_prompt.py +269 -0
  31. klaude_code-2.26.0/src/klaude_code/agent/task.py +777 -0
  32. klaude_code-2.26.0/src/klaude_code/agent/turn.py +439 -0
  33. klaude_code-2.26.0/src/klaude_code/app/auth_flow.py +312 -0
  34. klaude_code-2.26.0/src/klaude_code/app/log_viewer.html +1090 -0
  35. klaude_code-2.26.0/src/klaude_code/app/ports/input.py +33 -0
  36. klaude_code-2.26.0/src/klaude_code/app/runtime.py +353 -0
  37. klaude_code-2.26.0/src/klaude_code/app/runtime_facade.py +515 -0
  38. klaude_code-2.26.0/src/klaude_code/cli/auth_cmd.py +68 -0
  39. klaude_code-2.26.0/src/klaude_code/cli/cost_cmd.py +585 -0
  40. klaude_code-2.26.0/src/klaude_code/cli/list_model.py +350 -0
  41. klaude_code-2.26.0/src/klaude_code/cli/main.py +454 -0
  42. klaude_code-2.26.0/src/klaude_code/config/__init__.py +27 -0
  43. klaude_code-2.26.0/src/klaude_code/config/assets/builtin_config.yaml +566 -0
  44. klaude_code-2.26.0/src/klaude_code/config/builtin_config.py +60 -0
  45. klaude_code-2.26.0/src/klaude_code/config/config.py +705 -0
  46. klaude_code-2.26.0/src/klaude_code/config/formatters.py +64 -0
  47. klaude_code-2.26.0/src/klaude_code/config/loader.py +151 -0
  48. klaude_code-2.26.0/src/klaude_code/config/merge.py +134 -0
  49. klaude_code-2.26.0/src/klaude_code/config/model_matcher.py +198 -0
  50. klaude_code-2.26.0/src/klaude_code/config/sub_agent_model.py +121 -0
  51. klaude_code-2.26.0/src/klaude_code/config/thinking.py +357 -0
  52. klaude_code-2.26.0/src/klaude_code/const.py +255 -0
  53. klaude_code-2.26.0/src/klaude_code/control/__init__.py +16 -0
  54. klaude_code-2.26.0/src/klaude_code/control/runtime/__init__.py +14 -0
  55. klaude_code-2.26.0/src/klaude_code/control/runtime/actor.py +525 -0
  56. klaude_code-2.26.0/src/klaude_code/control/runtime/registry.py +420 -0
  57. klaude_code-2.26.0/src/klaude_code/control/session_meta_relay.py +214 -0
  58. klaude_code-2.26.0/src/klaude_code/llm/anthropic/client.py +474 -0
  59. klaude_code-2.26.0/src/klaude_code/llm/anthropic/input.py +361 -0
  60. klaude_code-2.26.0/src/klaude_code/llm/bedrock_anthropic/client.py +614 -0
  61. klaude_code-2.26.0/src/klaude_code/llm/copilot/client.py +275 -0
  62. klaude_code-2.26.0/src/klaude_code/llm/google/client.py +507 -0
  63. klaude_code-2.26.0/src/klaude_code/llm/google/input.py +244 -0
  64. klaude_code-2.26.0/src/klaude_code/llm/image.py +404 -0
  65. klaude_code-2.26.0/src/klaude_code/llm/input_common.py +303 -0
  66. klaude_code-2.26.0/src/klaude_code/llm/openai_codex/client.py +176 -0
  67. klaude_code-2.26.0/src/klaude_code/llm/openai_compatible/client.py +127 -0
  68. klaude_code-2.26.0/src/klaude_code/llm/openai_compatible/input.py +84 -0
  69. klaude_code-2.26.0/src/klaude_code/llm/openai_compatible/stream.py +471 -0
  70. klaude_code-2.26.0/src/klaude_code/llm/openai_responses/client.py +461 -0
  71. klaude_code-2.26.0/src/klaude_code/llm/openai_responses/input.py +271 -0
  72. klaude_code-2.26.0/src/klaude_code/llm/openrouter/client.py +164 -0
  73. klaude_code-2.26.0/src/klaude_code/llm/openrouter/input.py +187 -0
  74. klaude_code-2.26.0/src/klaude_code/llm/openrouter/reasoning.py +86 -0
  75. klaude_code-2.26.0/src/klaude_code/llm/usage.py +157 -0
  76. klaude_code-2.26.0/src/klaude_code/log.py +352 -0
  77. klaude_code-2.26.0/src/klaude_code/prompts/attachments.py +126 -0
  78. klaude_code-2.26.0/src/klaude_code/prompts/compaction.py +176 -0
  79. klaude_code-2.26.0/src/klaude_code/prompts/handoff.py +52 -0
  80. klaude_code-2.26.0/src/klaude_code/prompts/messages.py +38 -0
  81. klaude_code-2.26.0/src/klaude_code/prompts/prompt_suggestion.py +28 -0
  82. klaude_code-2.26.0/src/klaude_code/prompts/sub_agents/prompt-sub-agent-review.md +145 -0
  83. klaude_code-2.26.0/src/klaude_code/prompts/sub_agents.py +95 -0
  84. klaude_code-2.26.0/src/klaude_code/prompts/system/base-system-prompt-gpt.md +155 -0
  85. klaude_code-2.26.0/src/klaude_code/prompts/system/base-system-prompt.md +33 -0
  86. klaude_code-2.26.0/src/klaude_code/prompts/system/extended-thinking-prompt.md +7 -0
  87. klaude_code-2.26.0/src/klaude_code/protocol/__init__.py +6 -0
  88. klaude_code-2.26.0/src/klaude_code/protocol/events.py +554 -0
  89. klaude_code-2.26.0/src/klaude_code/protocol/llm_param.py +182 -0
  90. klaude_code-2.26.0/src/klaude_code/protocol/message.py +320 -0
  91. klaude_code-2.26.0/src/klaude_code/protocol/model_id.py +196 -0
  92. klaude_code-2.26.0/src/klaude_code/protocol/models/__init__.py +102 -0
  93. klaude_code-2.26.0/src/klaude_code/protocol/models/common.py +17 -0
  94. klaude_code-2.26.0/src/klaude_code/protocol/models/developer_ui.py +104 -0
  95. klaude_code-2.26.0/src/klaude_code/protocol/models/file_tracking.py +54 -0
  96. klaude_code-2.26.0/src/klaude_code/protocol/models/session_runtime.py +20 -0
  97. klaude_code-2.26.0/src/klaude_code/protocol/models/sub_agent.py +13 -0
  98. klaude_code-2.26.0/src/klaude_code/protocol/models/task_metadata.py +82 -0
  99. klaude_code-2.26.0/src/klaude_code/protocol/models/todo.py +15 -0
  100. klaude_code-2.26.0/src/klaude_code/protocol/models/tool_ui.py +158 -0
  101. klaude_code-2.26.0/src/klaude_code/protocol/models/usage.py +64 -0
  102. klaude_code-2.26.0/src/klaude_code/protocol/op.py +304 -0
  103. klaude_code-2.26.0/src/klaude_code/protocol/op_handler.py +112 -0
  104. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/AGENTS.md +54 -0
  105. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/__init__.py +81 -0
  106. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/finder.py +15 -0
  107. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/general_purpose.py +33 -0
  108. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/review.py +15 -0
  109. klaude_code-2.26.0/src/klaude_code/protocol/sub_agent/simplifier.py +15 -0
  110. klaude_code-2.26.0/src/klaude_code/protocol/system_prompt.py +25 -0
  111. klaude_code-2.26.0/src/klaude_code/protocol/user_interaction.py +81 -0
  112. klaude_code-2.26.0/src/klaude_code/session/codec.py +75 -0
  113. klaude_code-2.26.0/src/klaude_code/session/history.py +82 -0
  114. klaude_code-2.26.0/src/klaude_code/session/meta.py +144 -0
  115. klaude_code-2.26.0/src/klaude_code/session/session.py +945 -0
  116. klaude_code-2.26.0/src/klaude_code/session/store.py +310 -0
  117. klaude_code-2.26.0/src/klaude_code/session/store_registry.py +28 -0
  118. klaude_code-2.26.0/src/klaude_code/skill/assets/SOURCES.md +6 -0
  119. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/SKILL.md +180 -0
  120. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/references/cli.md +136 -0
  121. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/references/image-api.md +41 -0
  122. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/references/prompting.md +81 -0
  123. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/references/sample-prompts.md +386 -0
  124. klaude_code-2.26.0/src/klaude_code/skill/assets/gpt-image-gen/scripts/image_gen.py +882 -0
  125. klaude_code-2.26.0/src/klaude_code/skill/assets/klaude-config/references/builtin-providers.md +111 -0
  126. klaude_code-2.26.0/src/klaude_code/skill/assets/klaude-config/references/config-file.md +129 -0
  127. klaude_code-2.26.0/src/klaude_code/skill/assets/skills-lock.json +10 -0
  128. klaude_code-2.26.0/src/klaude_code/skill/assets/svg-animations/SKILL.md +389 -0
  129. klaude_code-2.26.0/src/klaude_code/skill/assets/svg-animations/examples/index.html +443 -0
  130. klaude_code-2.26.0/src/klaude_code/skill/loader.py +467 -0
  131. klaude_code-2.26.0/src/klaude_code/skill/manager.py +110 -0
  132. klaude_code-2.26.0/src/klaude_code/tool/AGENTS.md +95 -0
  133. klaude_code-2.26.0/src/klaude_code/tool/__init__.py +54 -0
  134. klaude_code-2.26.0/src/klaude_code/tool/agent_tool.md +25 -0
  135. klaude_code-2.26.0/src/klaude_code/tool/agent_tool.py +131 -0
  136. klaude_code-2.26.0/src/klaude_code/tool/ask_user_question_tool.py +322 -0
  137. klaude_code-2.26.0/src/klaude_code/tool/core/__init__.py +1 -0
  138. klaude_code-2.26.0/src/klaude_code/tool/core/abc.py +44 -0
  139. klaude_code-2.26.0/src/klaude_code/tool/core/context.py +122 -0
  140. klaude_code-2.26.0/src/klaude_code/tool/core/registry.py +31 -0
  141. klaude_code-2.26.0/src/klaude_code/tool/core/runner.py +361 -0
  142. klaude_code-2.26.0/src/klaude_code/tool/file/apply_patch.py +668 -0
  143. klaude_code-2.26.0/src/klaude_code/tool/file/apply_patch_tool.py +245 -0
  144. klaude_code-2.26.0/src/klaude_code/tool/file/diff_builder.py +171 -0
  145. klaude_code-2.26.0/src/klaude_code/tool/file/edit_tool.py +263 -0
  146. klaude_code-2.26.0/src/klaude_code/tool/file/read_tool.py +600 -0
  147. klaude_code-2.26.0/src/klaude_code/tool/file/write_tool.py +180 -0
  148. klaude_code-2.26.0/src/klaude_code/tool/handoff_tool.py +55 -0
  149. klaude_code-2.26.0/src/klaude_code/tool/rewind_tool.py +65 -0
  150. klaude_code-2.26.0/src/klaude_code/tool/shell/bash_tool.py +460 -0
  151. klaude_code-2.26.0/src/klaude_code/tool/todo/todo_write_tool.py +117 -0
  152. klaude_code-2.26.0/src/klaude_code/tool/web/web_fetch_tool.py +462 -0
  153. klaude_code-2.26.0/src/klaude_code/tool/web/web_search_tool.py +229 -0
  154. klaude_code-2.26.0/src/klaude_code/tui/command/__init__.py +112 -0
  155. klaude_code-2.26.0/src/klaude_code/tui/command/auth_selector.py +224 -0
  156. klaude_code-2.26.0/src/klaude_code/tui/command/copy_cmd.py +81 -0
  157. klaude_code-2.26.0/src/klaude_code/tui/command/export_session_cmd.py +137 -0
  158. klaude_code-2.26.0/src/klaude_code/tui/command/export_session_html.py +1604 -0
  159. klaude_code-2.26.0/src/klaude_code/tui/command/fork_session_cmd.py +352 -0
  160. klaude_code-2.26.0/src/klaude_code/tui/command/logout_cmd.py +97 -0
  161. klaude_code-2.26.0/src/klaude_code/tui/command/model_cmd.py +40 -0
  162. klaude_code-2.26.0/src/klaude_code/tui/command/model_picker.py +150 -0
  163. klaude_code-2.26.0/src/klaude_code/tui/command/recap_cmd.py +24 -0
  164. klaude_code-2.26.0/src/klaude_code/tui/command/refresh_cmd.py +48 -0
  165. klaude_code-2.26.0/src/klaude_code/tui/command/types.py +35 -0
  166. klaude_code-2.26.0/src/klaude_code/tui/commands.py +224 -0
  167. klaude_code-2.26.0/src/klaude_code/tui/components/away_summary.py +23 -0
  168. klaude_code-2.26.0/src/klaude_code/tui/components/command_output.py +131 -0
  169. klaude_code-2.26.0/src/klaude_code/tui/components/common.py +185 -0
  170. klaude_code-2.26.0/src/klaude_code/tui/components/developer.py +186 -0
  171. klaude_code-2.26.0/src/klaude_code/tui/components/diffs.py +91 -0
  172. klaude_code-2.26.0/src/klaude_code/tui/components/errors.py +26 -0
  173. klaude_code-2.26.0/src/klaude_code/tui/components/metadata.py +276 -0
  174. klaude_code-2.26.0/src/klaude_code/tui/components/rich/quote.py +155 -0
  175. klaude_code-2.26.0/src/klaude_code/tui/components/rich/status.py +401 -0
  176. klaude_code-2.26.0/src/klaude_code/tui/components/rich/theme.py +485 -0
  177. klaude_code-2.26.0/src/klaude_code/tui/components/sub_agent.py +85 -0
  178. klaude_code-2.26.0/src/klaude_code/tui/components/thinking.py +25 -0
  179. klaude_code-2.26.0/src/klaude_code/tui/components/tools/__init__.py +99 -0
  180. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_bash.py +60 -0
  181. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_common.py +147 -0
  182. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_dispatch.py +264 -0
  183. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_file.py +100 -0
  184. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_question.py +94 -0
  185. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_read.py +116 -0
  186. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_rewind.py +36 -0
  187. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_todo.py +85 -0
  188. klaude_code-2.26.0/src/klaude_code/tui/components/tools/_web.py +120 -0
  189. klaude_code-2.26.0/src/klaude_code/tui/components/user_input.py +133 -0
  190. klaude_code-2.26.0/src/klaude_code/tui/components/welcome.py +212 -0
  191. klaude_code-2.26.0/src/klaude_code/tui/display.py +186 -0
  192. klaude_code-2.26.0/src/klaude_code/tui/input/completers.py +1006 -0
  193. klaude_code-2.26.0/src/klaude_code/tui/input/images.py +294 -0
  194. klaude_code-2.26.0/src/klaude_code/tui/input/key_bindings.py +762 -0
  195. klaude_code-2.26.0/src/klaude_code/tui/input/paste.py +135 -0
  196. klaude_code-2.26.0/src/klaude_code/tui/input/prompt_toolkit.py +875 -0
  197. klaude_code-2.26.0/src/klaude_code/tui/input/pt_theme.py +189 -0
  198. klaude_code-2.26.0/src/klaude_code/tui/machine.py +1366 -0
  199. klaude_code-2.26.0/src/klaude_code/tui/renderer.py +1148 -0
  200. klaude_code-2.26.0/src/klaude_code/tui/runner.py +625 -0
  201. klaude_code-2.26.0/src/klaude_code/tui/terminal/__init__.py +82 -0
  202. klaude_code-2.26.0/src/klaude_code/tui/terminal/ask_user_question.py +991 -0
  203. klaude_code-2.26.0/src/klaude_code/tui/terminal/color.py +227 -0
  204. klaude_code-2.26.0/src/klaude_code/tui/terminal/control.py +116 -0
  205. klaude_code-2.26.0/src/klaude_code/tui/terminal/focus_tracker.py +93 -0
  206. klaude_code-2.26.0/src/klaude_code/tui/terminal/selector.py +1064 -0
  207. klaude_code-2.26.0/src/klaude_code/tui/terminal/session_selector.py +60 -0
  208. klaude_code-2.26.0/src/klaude_code/update.py +540 -0
  209. klaude_code-2.26.0/src/klaude_code/web/dist/assets/highlighted-body-B3W2YXNL-Bh-pK9Qu.js +1 -0
  210. klaude_code-2.26.0/src/klaude_code/web/dist/assets/index-D7bSbpcc.js +1886 -0
  211. klaude_code-2.26.0/src/klaude_code/web/dist/assets/index-TK8frDq8.css +1 -0
  212. klaude_code-2.26.0/src/klaude_code/web/dist/assets/pierre-dark-BXuwtOqb.js +1 -0
  213. klaude_code-2.26.0/src/klaude_code/web/dist/assets/pierre-light-dckrK0oj.js +1 -0
  214. klaude_code-2.26.0/src/klaude_code/web/dist/fonts/InterVariable-Italic.woff2 +0 -0
  215. klaude_code-2.26.0/src/klaude_code/web/dist/fonts/InterVariable.woff2 +0 -0
  216. klaude_code-2.26.0/src/klaude_code/web/dist/index.html +21 -0
  217. klaude_code-2.26.0/src/klaude_code/web/interaction.py +48 -0
  218. klaude_code-2.26.0/src/klaude_code/web/routes/sessions.py +468 -0
  219. klaude_code-2.26.0/src/klaude_code/web/routes/ws.py +647 -0
  220. klaude_code-2.26.0/src/klaude_code/web/session_access.py +75 -0
  221. klaude_code-2.26.0/src/klaude_code/web/session_index.py +396 -0
  222. klaude_code-2.26.0/src/klaude_code/web/session_live.py +208 -0
  223. klaude_code-2.25.0/PKG-INFO +0 -423
  224. klaude_code-2.25.0/pyproject.toml +0 -129
  225. klaude_code-2.25.0/src/klaude_code/agent/agent.py +0 -119
  226. klaude_code-2.25.0/src/klaude_code/agent/agent_profile.py +0 -173
  227. klaude_code-2.25.0/src/klaude_code/agent/attachment_prompts.py +0 -110
  228. klaude_code-2.25.0/src/klaude_code/agent/attachments.py +0 -968
  229. klaude_code-2.25.0/src/klaude_code/agent/bash_mode.py +0 -278
  230. klaude_code-2.25.0/src/klaude_code/agent/cache_break_detection.py +0 -270
  231. klaude_code-2.25.0/src/klaude_code/agent/compaction/compaction.py +0 -795
  232. klaude_code-2.25.0/src/klaude_code/agent/compaction/prompts.py +0 -101
  233. klaude_code-2.25.0/src/klaude_code/agent/handoff/handoff.py +0 -196
  234. klaude_code-2.25.0/src/klaude_code/agent/handoff/prompts.py +0 -30
  235. klaude_code-2.25.0/src/klaude_code/agent/loaded_skills.py +0 -50
  236. klaude_code-2.25.0/src/klaude_code/agent/memory.py +0 -242
  237. klaude_code-2.25.0/src/klaude_code/agent/runtime_agent_ops.py +0 -895
  238. klaude_code-2.25.0/src/klaude_code/agent/runtime_config_ops.py +0 -596
  239. klaude_code-2.25.0/src/klaude_code/agent/runtime_dispatcher.py +0 -313
  240. klaude_code-2.25.0/src/klaude_code/agent/runtime_llm.py +0 -131
  241. klaude_code-2.25.0/src/klaude_code/agent/runtime_sub_agent.py +0 -204
  242. klaude_code-2.25.0/src/klaude_code/agent/session_stats.py +0 -127
  243. klaude_code-2.25.0/src/klaude_code/agent/task.py +0 -678
  244. klaude_code-2.25.0/src/klaude_code/agent/turn.py +0 -440
  245. klaude_code-2.25.0/src/klaude_code/app/auth_flow.py +0 -203
  246. klaude_code-2.25.0/src/klaude_code/app/log_viewer.html +0 -1090
  247. klaude_code-2.25.0/src/klaude_code/app/ports/input.py +0 -21
  248. klaude_code-2.25.0/src/klaude_code/app/runtime.py +0 -348
  249. klaude_code-2.25.0/src/klaude_code/app/runtime_facade.py +0 -514
  250. klaude_code-2.25.0/src/klaude_code/cli/auth_cmd.py +0 -68
  251. klaude_code-2.25.0/src/klaude_code/cli/cost_cmd.py +0 -585
  252. klaude_code-2.25.0/src/klaude_code/cli/list_model.py +0 -319
  253. klaude_code-2.25.0/src/klaude_code/cli/main.py +0 -389
  254. klaude_code-2.25.0/src/klaude_code/config/__init__.py +0 -21
  255. klaude_code-2.25.0/src/klaude_code/config/assets/builtin_config.yaml +0 -496
  256. klaude_code-2.25.0/src/klaude_code/config/builtin_config.py +0 -63
  257. klaude_code-2.25.0/src/klaude_code/config/config.py +0 -788
  258. klaude_code-2.25.0/src/klaude_code/config/formatters.py +0 -61
  259. klaude_code-2.25.0/src/klaude_code/config/model_matcher.py +0 -153
  260. klaude_code-2.25.0/src/klaude_code/config/sub_agent_model_helper.py +0 -121
  261. klaude_code-2.25.0/src/klaude_code/config/thinking.py +0 -311
  262. klaude_code-2.25.0/src/klaude_code/const.py +0 -283
  263. klaude_code-2.25.0/src/klaude_code/control/__init__.py +0 -16
  264. klaude_code-2.25.0/src/klaude_code/control/session_actor.py +0 -528
  265. klaude_code-2.25.0/src/klaude_code/control/session_meta_relay.py +0 -217
  266. klaude_code-2.25.0/src/klaude_code/control/session_registry.py +0 -420
  267. klaude_code-2.25.0/src/klaude_code/llm/anthropic/client.py +0 -444
  268. klaude_code-2.25.0/src/klaude_code/llm/anthropic/input.py +0 -322
  269. klaude_code-2.25.0/src/klaude_code/llm/bedrock_anthropic/client.py +0 -66
  270. klaude_code-2.25.0/src/klaude_code/llm/copilot/client.py +0 -266
  271. klaude_code-2.25.0/src/klaude_code/llm/google/client.py +0 -478
  272. klaude_code-2.25.0/src/klaude_code/llm/google/input.py +0 -253
  273. klaude_code-2.25.0/src/klaude_code/llm/image.py +0 -370
  274. klaude_code-2.25.0/src/klaude_code/llm/input_common.py +0 -294
  275. klaude_code-2.25.0/src/klaude_code/llm/openai_codex/client.py +0 -165
  276. klaude_code-2.25.0/src/klaude_code/llm/openai_compatible/client.py +0 -124
  277. klaude_code-2.25.0/src/klaude_code/llm/openai_compatible/input.py +0 -82
  278. klaude_code-2.25.0/src/klaude_code/llm/openai_compatible/stream.py +0 -469
  279. klaude_code-2.25.0/src/klaude_code/llm/openai_responses/client.py +0 -444
  280. klaude_code-2.25.0/src/klaude_code/llm/openai_responses/input.py +0 -271
  281. klaude_code-2.25.0/src/klaude_code/llm/openrouter/client.py +0 -159
  282. klaude_code-2.25.0/src/klaude_code/llm/openrouter/input.py +0 -174
  283. klaude_code-2.25.0/src/klaude_code/llm/openrouter/reasoning.py +0 -84
  284. klaude_code-2.25.0/src/klaude_code/llm/usage.py +0 -156
  285. klaude_code-2.25.0/src/klaude_code/log.py +0 -352
  286. klaude_code-2.25.0/src/klaude_code/prompts/base-system-prompt-gpt.md +0 -99
  287. klaude_code-2.25.0/src/klaude_code/prompts/base-system-prompt.md +0 -26
  288. klaude_code-2.25.0/src/klaude_code/prompts/extended-thinking-prompt.md +0 -3
  289. klaude_code-2.25.0/src/klaude_code/prompts/prompt-sub-agent-review.md +0 -133
  290. klaude_code-2.25.0/src/klaude_code/prompts/system_prompt.py +0 -236
  291. klaude_code-2.25.0/src/klaude_code/protocol/__init__.py +0 -6
  292. klaude_code-2.25.0/src/klaude_code/protocol/events.py +0 -475
  293. klaude_code-2.25.0/src/klaude_code/protocol/llm_param.py +0 -174
  294. klaude_code-2.25.0/src/klaude_code/protocol/message.py +0 -286
  295. klaude_code-2.25.0/src/klaude_code/protocol/model.py +0 -431
  296. klaude_code-2.25.0/src/klaude_code/protocol/model_id.py +0 -149
  297. klaude_code-2.25.0/src/klaude_code/protocol/op.py +0 -286
  298. klaude_code-2.25.0/src/klaude_code/protocol/op_handler.py +0 -107
  299. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/AGENTS.md +0 -54
  300. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/__init__.py +0 -84
  301. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/finder.py +0 -25
  302. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/general_purpose.py +0 -51
  303. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/review.py +0 -35
  304. klaude_code-2.25.0/src/klaude_code/protocol/sub_agent/simplifier.py +0 -28
  305. klaude_code-2.25.0/src/klaude_code/protocol/user_interaction.py +0 -80
  306. klaude_code-2.25.0/src/klaude_code/session/codec.py +0 -75
  307. klaude_code-2.25.0/src/klaude_code/session/session.py +0 -997
  308. klaude_code-2.25.0/src/klaude_code/session/store.py +0 -299
  309. klaude_code-2.25.0/src/klaude_code/skill/assets/SOURCES.md +0 -5
  310. klaude_code-2.25.0/src/klaude_code/skill/assets/download-yt-sub/SKILL.md +0 -27
  311. klaude_code-2.25.0/src/klaude_code/skill/assets/download-yt-sub/scripts/download_subtitles.sh +0 -77
  312. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/.gitignore +0 -4
  313. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/README.md +0 -63
  314. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/SKILL.md +0 -552
  315. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/.gitignore +0 -3
  316. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/color-palette.md +0 -67
  317. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/element-templates.md +0 -182
  318. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/json-schema.md +0 -71
  319. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/pyproject.toml +0 -7
  320. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/render_excalidraw.py +0 -189
  321. klaude_code-2.25.0/src/klaude_code/skill/assets/excalidraw-diagram/references/render_template.html +0 -57
  322. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/SKILL.md +0 -175
  323. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/references/cli.md +0 -132
  324. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/references/image-api.md +0 -36
  325. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/references/prompting.md +0 -81
  326. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/references/sample-prompts.md +0 -384
  327. klaude_code-2.25.0/src/klaude_code/skill/assets/gpt-image-gen/scripts/image_gen.py +0 -851
  328. klaude_code-2.25.0/src/klaude_code/skill/assets/klaude-config/references/builtin-providers.md +0 -111
  329. klaude_code-2.25.0/src/klaude_code/skill/assets/klaude-config/references/config-file.md +0 -129
  330. klaude_code-2.25.0/src/klaude_code/skill/assets/notion-cli/LICENSE.md +0 -21
  331. klaude_code-2.25.0/src/klaude_code/skill/assets/notion-cli/SKILL.md +0 -87
  332. klaude_code-2.25.0/src/klaude_code/skill/loader.py +0 -452
  333. klaude_code-2.25.0/src/klaude_code/skill/manager.py +0 -151
  334. klaude_code-2.25.0/src/klaude_code/tool/AGENTS.md +0 -95
  335. klaude_code-2.25.0/src/klaude_code/tool/__init__.py +0 -54
  336. klaude_code-2.25.0/src/klaude_code/tool/agent_tool.md +0 -25
  337. klaude_code-2.25.0/src/klaude_code/tool/agent_tool.py +0 -130
  338. klaude_code-2.25.0/src/klaude_code/tool/ask_user_question_tool.py +0 -321
  339. klaude_code-2.25.0/src/klaude_code/tool/context.py +0 -121
  340. klaude_code-2.25.0/src/klaude_code/tool/file/apply_patch.py +0 -457
  341. klaude_code-2.25.0/src/klaude_code/tool/file/apply_patch_tool.py +0 -239
  342. klaude_code-2.25.0/src/klaude_code/tool/file/diff_builder.py +0 -171
  343. klaude_code-2.25.0/src/klaude_code/tool/file/edit_tool.py +0 -262
  344. klaude_code-2.25.0/src/klaude_code/tool/file/read_tool.py +0 -599
  345. klaude_code-2.25.0/src/klaude_code/tool/file/write_tool.py +0 -179
  346. klaude_code-2.25.0/src/klaude_code/tool/handoff_tool.py +0 -55
  347. klaude_code-2.25.0/src/klaude_code/tool/rewind_tool.py +0 -65
  348. klaude_code-2.25.0/src/klaude_code/tool/shell/bash_tool.py +0 -447
  349. klaude_code-2.25.0/src/klaude_code/tool/todo/todo_write_tool.py +0 -121
  350. klaude_code-2.25.0/src/klaude_code/tool/tool_abc.py +0 -44
  351. klaude_code-2.25.0/src/klaude_code/tool/tool_registry.py +0 -31
  352. klaude_code-2.25.0/src/klaude_code/tool/tool_runner.py +0 -360
  353. klaude_code-2.25.0/src/klaude_code/tool/web/web_fetch_tool.py +0 -462
  354. klaude_code-2.25.0/src/klaude_code/tool/web/web_search_tool.py +0 -229
  355. klaude_code-2.25.0/src/klaude_code/tui/command/__init__.py +0 -106
  356. klaude_code-2.25.0/src/klaude_code/tui/command/auth_selector.py +0 -153
  357. klaude_code-2.25.0/src/klaude_code/tui/command/copy_cmd.py +0 -60
  358. klaude_code-2.25.0/src/klaude_code/tui/command/fork_session_cmd.py +0 -342
  359. klaude_code-2.25.0/src/klaude_code/tui/command/logout_cmd.py +0 -96
  360. klaude_code-2.25.0/src/klaude_code/tui/command/model_cmd.py +0 -40
  361. klaude_code-2.25.0/src/klaude_code/tui/command/model_picker.py +0 -131
  362. klaude_code-2.25.0/src/klaude_code/tui/command/refresh_cmd.py +0 -48
  363. klaude_code-2.25.0/src/klaude_code/tui/command/types.py +0 -33
  364. klaude_code-2.25.0/src/klaude_code/tui/commands.py +0 -215
  365. klaude_code-2.25.0/src/klaude_code/tui/components/command_output.py +0 -130
  366. klaude_code-2.25.0/src/klaude_code/tui/components/common.py +0 -167
  367. klaude_code-2.25.0/src/klaude_code/tui/components/developer.py +0 -126
  368. klaude_code-2.25.0/src/klaude_code/tui/components/diffs.py +0 -91
  369. klaude_code-2.25.0/src/klaude_code/tui/components/errors.py +0 -27
  370. klaude_code-2.25.0/src/klaude_code/tui/components/metadata.py +0 -294
  371. klaude_code-2.25.0/src/klaude_code/tui/components/rich/quote.py +0 -137
  372. klaude_code-2.25.0/src/klaude_code/tui/components/rich/status.py +0 -418
  373. klaude_code-2.25.0/src/klaude_code/tui/components/rich/theme.py +0 -493
  374. klaude_code-2.25.0/src/klaude_code/tui/components/sub_agent.py +0 -57
  375. klaude_code-2.25.0/src/klaude_code/tui/components/thinking.py +0 -28
  376. klaude_code-2.25.0/src/klaude_code/tui/components/tools.py +0 -784
  377. klaude_code-2.25.0/src/klaude_code/tui/components/user_input.py +0 -134
  378. klaude_code-2.25.0/src/klaude_code/tui/components/welcome.py +0 -208
  379. klaude_code-2.25.0/src/klaude_code/tui/display.py +0 -147
  380. klaude_code-2.25.0/src/klaude_code/tui/input/completers.py +0 -960
  381. klaude_code-2.25.0/src/klaude_code/tui/input/images.py +0 -230
  382. klaude_code-2.25.0/src/klaude_code/tui/input/key_bindings.py +0 -724
  383. klaude_code-2.25.0/src/klaude_code/tui/input/paste.py +0 -71
  384. klaude_code-2.25.0/src/klaude_code/tui/input/prompt_toolkit.py +0 -732
  385. klaude_code-2.25.0/src/klaude_code/tui/machine.py +0 -1363
  386. klaude_code-2.25.0/src/klaude_code/tui/renderer.py +0 -1059
  387. klaude_code-2.25.0/src/klaude_code/tui/runner.py +0 -589
  388. klaude_code-2.25.0/src/klaude_code/tui/terminal/__init__.py +0 -78
  389. klaude_code-2.25.0/src/klaude_code/tui/terminal/ask_user_question.py +0 -997
  390. klaude_code-2.25.0/src/klaude_code/tui/terminal/color.py +0 -244
  391. klaude_code-2.25.0/src/klaude_code/tui/terminal/control.py +0 -165
  392. klaude_code-2.25.0/src/klaude_code/tui/terminal/selector.py +0 -955
  393. klaude_code-2.25.0/src/klaude_code/tui/terminal/session_selector.py +0 -58
  394. klaude_code-2.25.0/src/klaude_code/update.py +0 -373
  395. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-cyrillic-zHIGg2nG.woff2 +0 -0
  396. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-italic-cyrillic-BAHUuRM7.woff2 +0 -0
  397. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-italic-latin-DPcoTQLg.woff2 +0 -0
  398. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-italic-latin-ext-E4_zqQR6.woff2 +0 -0
  399. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-latin-BSv3nOGs.woff2 +0 -0
  400. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-latin-ext-DavUKqbp.woff2 +0 -0
  401. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-cyrillic-BAE8rdXX.woff2 +0 -0
  402. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-italic-cyrillic-2vK9sKgQ.woff2 +0 -0
  403. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-italic-latin-Bq3uIZFr.woff2 +0 -0
  404. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-italic-latin-ext-BVvsJehH.woff2 +0 -0
  405. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-latin-B9bzV8FE.woff2 +0 -0
  406. klaude_code-2.25.0/src/klaude_code/web/dist/assets/geist-mono-latin-ext-CtwMEpPj.woff2 +0 -0
  407. klaude_code-2.25.0/src/klaude_code/web/dist/assets/highlighted-body-OFNGDK62-TNlyXRyQ.js +0 -1
  408. klaude_code-2.25.0/src/klaude_code/web/dist/assets/index-CyWhMJuk.css +0 -1
  409. klaude_code-2.25.0/src/klaude_code/web/dist/assets/index-DHZ5AY_v.js +0 -2486
  410. klaude_code-2.25.0/src/klaude_code/web/dist/assets/pierre-dark-DF2SEV7i.js +0 -1
  411. klaude_code-2.25.0/src/klaude_code/web/dist/assets/pierre-light-DOlZxES8.js +0 -1
  412. klaude_code-2.25.0/src/klaude_code/web/dist/index.html +0 -14
  413. klaude_code-2.25.0/src/klaude_code/web/interaction.py +0 -56
  414. klaude_code-2.25.0/src/klaude_code/web/routes/sessions.py +0 -469
  415. klaude_code-2.25.0/src/klaude_code/web/routes/ws.py +0 -645
  416. klaude_code-2.25.0/src/klaude_code/web/session_access.py +0 -75
  417. klaude_code-2.25.0/src/klaude_code/web/session_index.py +0 -396
  418. klaude_code-2.25.0/src/klaude_code/web/session_live.py +0 -212
  419. {klaude_code-2.25.0 → klaude_code-2.26.0}/README.md +0 -0
  420. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/__init__.py +0 -0
  421. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/__init__.py +0 -0
  422. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/compaction/AGENTS.md +0 -0
  423. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/compaction/__init__.py +0 -0
  424. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/compaction/overflow.py +0 -0
  425. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/handoff/__init__.py +0 -0
  426. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/handoff/manager.py +0 -0
  427. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/rewind/__init__.py +0 -0
  428. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/rewind/manager.py +0 -0
  429. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/agent/session_title.py +0 -0
  430. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/app/__init__.py +0 -0
  431. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/app/log_viewer.py +0 -0
  432. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/app/ports/__init__.py +0 -0
  433. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/app/ports/display.py +0 -0
  434. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/app/ports/interaction.py +0 -0
  435. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/AGENTS.md +0 -0
  436. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/__init__.py +0 -0
  437. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/base.py +0 -0
  438. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/codex/__init__.py +0 -0
  439. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/codex/exceptions.py +0 -0
  440. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/codex/jwt_utils.py +0 -0
  441. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/codex/oauth.py +0 -0
  442. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/codex/token_manager.py +0 -0
  443. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/copilot/__init__.py +0 -0
  444. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/copilot/exceptions.py +0 -0
  445. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/copilot/oauth.py +0 -0
  446. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/copilot/token_manager.py +0 -0
  447. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/auth/env.py +0 -0
  448. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/__init__.py +0 -0
  449. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/config_cmd.py +0 -0
  450. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/debug.py +0 -0
  451. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/oauth_usage.py +0 -0
  452. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/self_update.py +0 -0
  453. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/cli/web_cmd.py +0 -0
  454. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/config/assets/__init__.py +0 -0
  455. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/control/event_bus.py +0 -0
  456. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/control/event_relay.py +0 -0
  457. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/control/user_interaction.py +0 -0
  458. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/__init__.py +0 -0
  459. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/anthropic/__init__.py +0 -0
  460. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/bedrock_anthropic/__init__.py +0 -0
  461. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/client.py +0 -0
  462. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/copilot/__init__.py +0 -0
  463. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/google/__init__.py +0 -0
  464. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/google_vertex/__init__.py +0 -0
  465. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/google_vertex/client.py +0 -0
  466. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/json_stable.py +0 -0
  467. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/openai_codex/__init__.py +0 -0
  468. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/openai_compatible/__init__.py +0 -0
  469. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/openai_responses/__init__.py +0 -0
  470. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/openrouter/__init__.py +0 -0
  471. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/registry.py +0 -0
  472. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/llm/stream_parts.py +0 -0
  473. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/prompts/__init__.py +0 -0
  474. {klaude_code-2.25.0/src/klaude_code/prompts → klaude_code-2.26.0/src/klaude_code/prompts/sub_agents}/prompt-sub-agent-finder.md +0 -0
  475. {klaude_code-2.25.0/src/klaude_code/prompts → klaude_code-2.26.0/src/klaude_code/prompts/sub_agents}/prompt-sub-agent-simplifier.md +0 -0
  476. {klaude_code-2.25.0/src/klaude_code/prompts → klaude_code-2.26.0/src/klaude_code/prompts/system}/auto-memory-prompt.md +0 -0
  477. {klaude_code-2.25.0/src/klaude_code/prompts → klaude_code-2.26.0/src/klaude_code/prompts/system}/following-conventions-prompt.md +0 -0
  478. {klaude_code-2.25.0/src/klaude_code/prompts → klaude_code-2.26.0/src/klaude_code/prompts/system}/git-workspace-hygiene-prompt.md +0 -0
  479. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/protocol/tools.py +0 -0
  480. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/session/__init__.py +0 -0
  481. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/session/selector.py +0 -0
  482. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/AGENTS.md +0 -0
  483. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/__init__.py +0 -0
  484. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/.git +0 -0
  485. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/.gitignore +0 -0
  486. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/SKILL.md +0 -0
  487. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/authentication.md +0 -0
  488. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/commands.md +0 -0
  489. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/profiling.md +0 -0
  490. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/proxy-support.md +0 -0
  491. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/session-management.md +0 -0
  492. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/snapshot-refs.md +0 -0
  493. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/references/video-recording.md +0 -0
  494. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/templates/authenticated-session.sh +0 -0
  495. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/templates/capture-workflow.sh +0 -0
  496. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/agent-browser/templates/form-automation.sh +0 -0
  497. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/frontend-design/SKILL.md +0 -0
  498. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/gpt-image-gen/LICENSE.txt +0 -0
  499. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/gpt-image-gen/references/codex-network.md +0 -0
  500. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/klaude-config/SKILL.md +0 -0
  501. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/klaude-config/references/memory-files.md +0 -0
  502. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/klaude-config/references/skill-system.md +0 -0
  503. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/SKILL.md +0 -0
  504. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/cli.md +0 -0
  505. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/gemini-api.md +0 -0
  506. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/prompting.md +0 -0
  507. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/sample-prompts.md +0 -0
  508. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/vertex-setup.md +0 -0
  509. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/nano-banana-image-gen/scripts/gemini_image_gen.py +0 -0
  510. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/SKILL.md +0 -0
  511. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/forms.md +0 -0
  512. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/reference.md +0 -0
  513. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/check_bounding_boxes.py +0 -0
  514. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/check_fillable_fields.py +0 -0
  515. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/convert_pdf_to_images.py +0 -0
  516. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/create_validation_image.py +0 -0
  517. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_field_info.py +0 -0
  518. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_structure.py +0 -0
  519. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/fill_fillable_fields.py +0 -0
  520. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  521. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/LICENSE.txt +0 -0
  522. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/NOTICE.txt +0 -0
  523. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/SKILL.md +0 -0
  524. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/agents/openai.yaml +0 -0
  525. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/assets/playwright-small.svg +0 -0
  526. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/assets/playwright.png +0 -0
  527. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/references/cli.md +0 -0
  528. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/references/workflows.md +0 -0
  529. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/playwright/scripts/playwright_cli.sh +0 -0
  530. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/SKILL.md +0 -0
  531. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/3d.md +0 -0
  532. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/animations.md +0 -0
  533. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/charts-bar-chart.tsx +0 -0
  534. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +0 -0
  535. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +0 -0
  536. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets.md +0 -0
  537. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio-visualization.md +0 -0
  538. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio.md +0 -0
  539. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/calculate-metadata.md +0 -0
  540. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/can-decode.md +0 -0
  541. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/charts.md +0 -0
  542. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/compositions.md +0 -0
  543. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/display-captions.md +0 -0
  544. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/extract-frames.md +0 -0
  545. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/ffmpeg.md +0 -0
  546. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/fonts.md +0 -0
  547. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-audio-duration.md +0 -0
  548. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-video-dimensions.md +0 -0
  549. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-video-duration.md +0 -0
  550. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/gifs.md +0 -0
  551. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/images.md +0 -0
  552. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/import-srt-captions.md +0 -0
  553. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/light-leaks.md +0 -0
  554. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/lottie.md +0 -0
  555. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/maps.md +0 -0
  556. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/measuring-dom-nodes.md +0 -0
  557. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/measuring-text.md +0 -0
  558. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/parameters.md +0 -0
  559. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sequencing.md +0 -0
  560. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sfx.md +0 -0
  561. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/subtitles.md +0 -0
  562. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/tailwind.md +0 -0
  563. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/text-animations.md +0 -0
  564. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/timing.md +0 -0
  565. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transcribe-captions.md +0 -0
  566. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transitions.md +0 -0
  567. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transparent-videos.md +0 -0
  568. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/trimming.md +0 -0
  569. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/videos.md +0 -0
  570. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/voiceover.md +0 -0
  571. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/.gitignore +0 -0
  572. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/SKILL.md +0 -0
  573. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/package.json +0 -0
  574. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/references/config/first-time-setup.md +0 -0
  575. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/references/config/preferences-schema.md +0 -0
  576. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/references/templates/standalone.html +0 -0
  577. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/references/troubleshooting.md +0 -0
  578. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/scripts/render_mermaid.js +0 -0
  579. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/render-mermaid/scripts/setup.sh +0 -0
  580. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/session-logs/SKILL.md +0 -0
  581. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/skill-creator/SKILL.md +0 -0
  582. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/LICENSE.txt +0 -0
  583. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/SKILL.md +0 -0
  584. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/agents/openai.yaml +0 -0
  585. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/assets/sora-small.svg +0 -0
  586. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/assets/sora.png +0 -0
  587. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/cinematic-shots.md +0 -0
  588. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/cli.md +0 -0
  589. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/codex-network.md +0 -0
  590. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/prompting.md +0 -0
  591. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/sample-prompts.md +0 -0
  592. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/social-ads.md +0 -0
  593. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/troubleshooting.md +0 -0
  594. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/references/video-api.md +0 -0
  595. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/sora/scripts/sora.py +0 -0
  596. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/assets/web-search/SKILL.md +0 -0
  597. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/skill/system_skills.py +0 -0
  598. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/ask_user_question_tool.md +0 -0
  599. {klaude_code-2.25.0/src/klaude_code/tool → klaude_code-2.26.0/src/klaude_code/tool/core}/offload.py +0 -0
  600. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/__init__.py +0 -0
  601. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/_utils.py +0 -0
  602. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/apply_patch_tool.md +0 -0
  603. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/edit_tool.md +0 -0
  604. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/read_tool.md +0 -0
  605. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/file/write_tool.md +0 -0
  606. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/handoff_tool.md +0 -0
  607. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/rewind_tool.md +0 -0
  608. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/shell/__init__.py +0 -0
  609. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/shell/bash_tool.md +0 -0
  610. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/shell/command_safety.py +0 -0
  611. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/todo/__init__.py +0 -0
  612. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/todo/todo_write_tool.md +0 -0
  613. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/todo/todo_write_tool_raw.md +0 -0
  614. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/__init__.py +0 -0
  615. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/external_content.py +0 -0
  616. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/ssrf.py +0 -0
  617. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/web_cache.py +0 -0
  618. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/web_fetch_tool.md +0 -0
  619. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tool/web/web_search_tool.md +0 -0
  620. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/__init__.py +0 -0
  621. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/AGENTS.md +0 -0
  622. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/command_abc.py +0 -0
  623. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/compact_cmd.py +0 -0
  624. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/continue_cmd.py +0 -0
  625. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/debug_cmd.py +0 -0
  626. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/login_cmd.py +0 -0
  627. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/new_cmd.py +0 -0
  628. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/registry.py +0 -0
  629. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/status_cmd.py +0 -0
  630. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/sub_agent_model_cmd.py +0 -0
  631. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/thinking_cmd.py +0 -0
  632. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/command/web_cmd.py +0 -0
  633. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/__init__.py +0 -0
  634. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/bash_syntax.py +0 -0
  635. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/rich/__init__.py +0 -0
  636. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/rich/cjk_wrap.py +0 -0
  637. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/rich/live.py +0 -0
  638. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/components/rich/markdown.py +0 -0
  639. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/input/AGENTS.md +0 -0
  640. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/input/__init__.py +0 -0
  641. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/input/drag_drop.py +0 -0
  642. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/status_runtime.py +0 -0
  643. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/terminal/image.py +0 -0
  644. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/terminal/notifier.py +0 -0
  645. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/tui/terminal/title.py +0 -0
  646. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/__init__.py +0 -0
  647. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/app.py +0 -0
  648. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/display.py +0 -0
  649. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/abap-BdImnpbu.js +0 -0
  650. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/actionscript-3-CoDkCxhg.js +0 -0
  651. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ada-bCR0ucgS.js +0 -0
  652. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/andromeeda-C4gqWexZ.js +0 -0
  653. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/angular-html-CU67Zn6k.js +0 -0
  654. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/angular-ts-BwZT4LLn.js +0 -0
  655. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/apache-Pmp26Uib.js +0 -0
  656. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/apex-D8_7TLub.js +0 -0
  657. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/apl-dKokRX4l.js +0 -0
  658. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/applescript-Co6uUVPk.js +0 -0
  659. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ara-BRHolxvo.js +0 -0
  660. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/asciidoc-Ve4PFQV2.js +0 -0
  661. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/asm-D_Q5rh1f.js +0 -0
  662. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/astro-CbQHKStN.js +0 -0
  663. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/aurora-x-D-2ljcwZ.js +0 -0
  664. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/awk-DMzUqQB5.js +0 -0
  665. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ayu-dark-DYE7WIF3.js +0 -0
  666. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ayu-light-BA47KaF1.js +0 -0
  667. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ayu-mirage-32ctXXKs.js +0 -0
  668. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ballerina-BFfxhgS-.js +0 -0
  669. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/bat-BkioyH1T.js +0 -0
  670. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/beancount-k_qm7-4y.js +0 -0
  671. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/berry-uYugtg8r.js +0 -0
  672. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/bibtex-CHM0blh-.js +0 -0
  673. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/bicep-Bmn6On1c.js +0 -0
  674. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/bird2-DPOp833l.js +0 -0
  675. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/blade-D4QpJJKB.js +0 -0
  676. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/bsl-BO_Y6i37.js +0 -0
  677. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/c-BIGW1oBm.js +0 -0
  678. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/c3-eo99z4R2.js +0 -0
  679. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cadence-Bv_4Rxtq.js +0 -0
  680. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cairo-KRGpt6FW.js +0 -0
  681. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  682. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  683. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  684. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  685. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/clarity-D53aC0YG.js +0 -0
  686. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/clojure-P80f7IUj.js +0 -0
  687. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cmake-D1j8_8rp.js +0 -0
  688. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cobol-nwyudZeR.js +0 -0
  689. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/codeowners-Bp6g37R7.js +0 -0
  690. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/codeql-DsOJ9woJ.js +0 -0
  691. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/coffee-Ch7k5sss.js +0 -0
  692. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/common-lisp-Cg-RD9OK.js +0 -0
  693. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/coq-DkFqJrB1.js +0 -0
  694. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cpp-CofmeUqb.js +0 -0
  695. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/crystal-tKQVLTB8.js +0 -0
  696. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/csharp-COcwbKMJ.js +0 -0
  697. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/css-DPfMkruS.js +0 -0
  698. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/csv-fuZLfV_i.js +0 -0
  699. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cue-D82EKSYY.js +0 -0
  700. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/cypher-COkxafJQ.js +0 -0
  701. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/d-85-TOEBH.js +0 -0
  702. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dark-plus-C3mMm8J8.js +0 -0
  703. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dart-CF10PKvl.js +0 -0
  704. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dax-CEL-wOlO.js +0 -0
  705. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/desktop-BmXAJ9_W.js +0 -0
  706. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/diff-D97Zzqfu.js +0 -0
  707. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/docker-BcOcwvcX.js +0 -0
  708. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dotenv-Da5cRb03.js +0 -0
  709. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dracula-BzJJZx-M.js +0 -0
  710. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dracula-soft-BXkSAIEj.js +0 -0
  711. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/dream-maker-BtqSS_iP.js +0 -0
  712. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/edge-BkV0erSs.js +0 -0
  713. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/elixir-CDX3lj18.js +0 -0
  714. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/elm-DbKCFpqz.js +0 -0
  715. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/emacs-lisp-C9XAeP06.js +0 -0
  716. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/erb-B12qg9BL.js +0 -0
  717. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/erlang-DsQrWhSR.js +0 -0
  718. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/everforest-dark-BgDCqdQA.js +0 -0
  719. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/everforest-light-C8M2exoo.js +0 -0
  720. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fennel-BYunw83y.js +0 -0
  721. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fish-BvzEVeQv.js +0 -0
  722. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fluent-C4IJs8-o.js +0 -0
  723. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
  724. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fortran-free-form-BxgE0vQu.js +0 -0
  725. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/fsharp-CXgrBDvD.js +0 -0
  726. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gdresource-BOOCDP_w.js +0 -0
  727. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gdscript-C5YyOfLZ.js +0 -0
  728. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gdshader-DkwncUOv.js +0 -0
  729. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/genie-D0YGMca9.js +0 -0
  730. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gherkin-DyxjwDmM.js +0 -0
  731. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/git-commit-F4YmCXRG.js +0 -0
  732. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/git-rebase-r7XF79zn.js +0 -0
  733. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-dark-DHJKELXO.js +0 -0
  734. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-dark-default-Cuk6v7N8.js +0 -0
  735. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  736. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  737. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-light-DAi9KRSo.js +0 -0
  738. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-light-default-D7oLnXFd.js +0 -0
  739. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  740. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gleam-BspZqrRM.js +0 -0
  741. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/glimmer-js-Rg0-pVw9.js +0 -0
  742. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/glimmer-ts-U6CK756n.js +0 -0
  743. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/glsl-DplSGwfg.js +0 -0
  744. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gn-n2N0HUVH.js +0 -0
  745. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gnuplot-DdkO51Og.js +0 -0
  746. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/go-CxLEBnE3.js +0 -0
  747. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/graphql-ChdNCCLP.js +0 -0
  748. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/groovy-gcz8RCvz.js +0 -0
  749. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  750. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  751. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  752. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  753. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  754. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  755. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hack-CaT9iCJl.js +0 -0
  756. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/haml-B8DHNrY2.js +0 -0
  757. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/handlebars-BL8al0AC.js +0 -0
  758. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/haskell-Df6bDoY_.js +0 -0
  759. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/haxe-CzTSHFRz.js +0 -0
  760. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hcl-BWvSN4gD.js +0 -0
  761. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hjson-D5-asLiD.js +0 -0
  762. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hlsl-D3lLCCz7.js +0 -0
  763. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/horizon-BUw7H-hv.js +0 -0
  764. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/horizon-bright-Cn-bp-IR.js +0 -0
  765. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/houston-DnULxvSX.js +0 -0
  766. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/html-GMplVEZG.js +0 -0
  767. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/html-derivative-BFtXZ54Q.js +0 -0
  768. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/http-jrhK8wxY.js +0 -0
  769. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hurl-irOxFIW8.js +0 -0
  770. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hxml-Bvhsp5Yf.js +0 -0
  771. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/hy-DFXneXwc.js +0 -0
  772. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/imba-DGztddWO.js +0 -0
  773. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ini-BEwlwnbL.js +0 -0
  774. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/java-CylS5w8V.js +0 -0
  775. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/javascript-wDzz0qaB.js +0 -0
  776. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jinja-4LBKfQ-Z.js +0 -0
  777. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jison-wvAkD_A8.js +0 -0
  778. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/json-Cp-IABpG.js +0 -0
  779. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/json5-C9tS-k6U.js +0 -0
  780. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jsonc-Des-eS-w.js +0 -0
  781. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jsonl-DcaNXYhu.js +0 -0
  782. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jsonnet-DFQXde-d.js +0 -0
  783. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jssm-C2t-YnRu.js +0 -0
  784. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/jsx-g9-lgVsj.js +0 -0
  785. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/julia-CxzCAyBv.js +0 -0
  786. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/just-Cw27pwNe.js +0 -0
  787. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  788. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  789. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kanagawa-wave-DWedfzmr.js +0 -0
  790. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kdl-DV7GczEv.js +0 -0
  791. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kotlin-BdnUsdx6.js +0 -0
  792. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/kusto-DZf3V79B.js +0 -0
  793. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/laserwave-DUszq2jm.js +0 -0
  794. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/latex-CWtU0Tv5.js +0 -0
  795. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/lean-BZvkOJ9d.js +0 -0
  796. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/less-B1dDrJ26.js +0 -0
  797. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/light-plus-B7mTdjB0.js +0 -0
  798. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/liquid-DYVedYrR.js +0 -0
  799. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/llvm-DjAJT7YJ.js +0 -0
  800. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/log-2UxHyX5q.js +0 -0
  801. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/logo-BtOb2qkB.js +0 -0
  802. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/lua-BaeVxFsk.js +0 -0
  803. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/luau-C-HG3fhB.js +0 -0
  804. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/make-CHLpvVh8.js +0 -0
  805. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/markdown-Cvjx9yec.js +0 -0
  806. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/marko-CnJfTvn9.js +0 -0
  807. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/material-theme-D5KoaKCx.js +0 -0
  808. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/material-theme-darker-BfHTSMKl.js +0 -0
  809. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  810. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/material-theme-ocean-CyktbL80.js +0 -0
  811. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  812. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/matlab-D7o27uSR.js +0 -0
  813. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/mdc-BMNejdWA.js +0 -0
  814. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/mdx-Cmh6b_Ma.js +0 -0
  815. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/mermaid-mWjccvbQ.js +0 -0
  816. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/min-dark-CafNBF8u.js +0 -0
  817. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/min-light-CTRr51gU.js +0 -0
  818. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/mipsasm-CKIfxQSi.js +0 -0
  819. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/mojo-rZm6bMo-.js +0 -0
  820. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/monokai-D4h5O-jR.js +0 -0
  821. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/moonbit-_H4v1dQx.js +0 -0
  822. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/move-IF9eRakj.js +0 -0
  823. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/narrat-DRg8JJMk.js +0 -0
  824. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nextflow-Zz6hmt5N.js +0 -0
  825. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nextflow-groovy-BeH2EWoN.js +0 -0
  826. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nginx-BpAMiNFr.js +0 -0
  827. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/night-owl-C39BiMTA.js +0 -0
  828. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/night-owl-light-CMTm3GFP.js +0 -0
  829. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nim-CVrawwO9.js +0 -0
  830. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nix-CwoSXNpI.js +0 -0
  831. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nord-Ddv68eIx.js +0 -0
  832. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/nushell-Cz2AlsmD.js +0 -0
  833. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/objective-c-DXmwc3jG.js +0 -0
  834. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/objective-cpp-CLxacb5B.js +0 -0
  835. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ocaml-C0hk2d4L.js +0 -0
  836. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/odin-BBf5iR-q.js +0 -0
  837. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  838. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/one-light-C3Wv6jpd.js +0 -0
  839. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/openscad-C4EeE6gA.js +0 -0
  840. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/pascal-D93ZcfNL.js +0 -0
  841. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/perl-C0TMdlhV.js +0 -0
  842. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/php-Dhbhpdrm.js +0 -0
  843. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/pkl-u5AG7uiY.js +0 -0
  844. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/plastic-3e1v2bzS.js +0 -0
  845. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/plsql-ChMvpjG-.js +0 -0
  846. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/po-BTJTHyun.js +0 -0
  847. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/poimandres-CS3Unz2-.js +0 -0
  848. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/polar-C0HS_06l.js +0 -0
  849. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/postcss-CXtECtnM.js +0 -0
  850. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/powerquery-CEu0bR-o.js +0 -0
  851. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/powershell-Dpen1YoG.js +0 -0
  852. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/prisma-Dd19v3D-.js +0 -0
  853. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/prolog-CbFg5uaA.js +0 -0
  854. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/proto-C7zT0LnQ.js +0 -0
  855. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/pug-CGlum2m_.js +0 -0
  856. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/puppet-BMWR74SV.js +0 -0
  857. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/purescript-CklMAg4u.js +0 -0
  858. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/python-B6aJPvgy.js +0 -0
  859. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/qml-3beO22l8.js +0 -0
  860. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/qmldir-C8lEn-DE.js +0 -0
  861. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/qss-IeuSbFQv.js +0 -0
  862. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/r-Dspwwk_N.js +0 -0
  863. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/racket-BqYA7rlc.js +0 -0
  864. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/raku-DXvB9xmW.js +0 -0
  865. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/razor-Uh8Bk_45.js +0 -0
  866. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/red-bN70gL4F.js +0 -0
  867. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/reg-C-SQnVFl.js +0 -0
  868. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/regexp-CDVJQ6XC.js +0 -0
  869. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rel-C3B-1QV4.js +0 -0
  870. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/riscv-BM1_JUlF.js +0 -0
  871. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ron-D8l8udqQ.js +0 -0
  872. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  873. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  874. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rose-pine-qdsjHGoJ.js +0 -0
  875. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rosmsg-BJDFO7_C.js +0 -0
  876. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rst-BrH8l1NY.js +0 -0
  877. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ruby-Dw2BHqvy.js +0 -0
  878. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/rust-B1yitclQ.js +0 -0
  879. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/sas-cz2c8ADy.js +0 -0
  880. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/sass-Cj5Yp3dK.js +0 -0
  881. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/scala-C151Ov-r.js +0 -0
  882. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/scheme-C98Dy4si.js +0 -0
  883. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/scss-OYdSNvt2.js +0 -0
  884. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/sdbl-DVxCFoDh.js +0 -0
  885. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/shaderlab-Dg9Lc6iA.js +0 -0
  886. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/shellscript-Yzrsuije.js +0 -0
  887. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/shellsession-BADoaaVG.js +0 -0
  888. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/slack-dark-BthQWCQV.js +0 -0
  889. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/slack-ochin-DqwNpetd.js +0 -0
  890. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/smalltalk-BERRCDM3.js +0 -0
  891. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/snazzy-light-Bw305WKR.js +0 -0
  892. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/solarized-dark-DXbdFlpD.js +0 -0
  893. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/solarized-light-L9t79GZl.js +0 -0
  894. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/solidity-rGO070M0.js +0 -0
  895. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/soy-Brmx7dQM.js +0 -0
  896. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/sparql-rVzFXLq3.js +0 -0
  897. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/splunk-BtCnVYZw.js +0 -0
  898. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/sql-BLtJtn59.js +0 -0
  899. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ssh-config-_ykCGR6B.js +0 -0
  900. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/stata-BH5u7GGu.js +0 -0
  901. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/stylus-BEDo0Tqx.js +0 -0
  902. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/surrealql-Bq5Q-fJD.js +0 -0
  903. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/svelte-C_ipcX3V.js +0 -0
  904. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/swift-D82vCrfD.js +0 -0
  905. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/synthwave-84-CbfX1IO0.js +0 -0
  906. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/system-verilog-CnnmHF94.js +0 -0
  907. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/systemd-4A_iFExJ.js +0 -0
  908. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/talonscript-CkByrt1z.js +0 -0
  909. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tasl-QIJgUcNo.js +0 -0
  910. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tcl-dwOrl1Do.js +0 -0
  911. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/templ-P3uqSqPl.js +0 -0
  912. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/terraform-BETggiCN.js +0 -0
  913. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tex-idrVyKtj.js +0 -0
  914. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tokyo-night-hegEt444.js +0 -0
  915. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/toml-vGWfd6FD.js +0 -0
  916. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/ts-tags-zn1MmPIZ.js +0 -0
  917. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tsv-B_m7g4N7.js +0 -0
  918. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/tsx-COt5Ahok.js +0 -0
  919. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/turtle-BsS91CYL.js +0 -0
  920. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/twig-DNn4PbVi.js +0 -0
  921. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/typescript-BPQ3VLAy.js +0 -0
  922. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/typespec-BGHnOYBU.js +0 -0
  923. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/typst-DHCkPAjA.js +0 -0
  924. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/v-BcVCzyr7.js +0 -0
  925. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vala-CsfeWuGM.js +0 -0
  926. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vb-D17OF-Vu.js +0 -0
  927. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/verilog-BQ8w6xss.js +0 -0
  928. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vesper-DU1UobuO.js +0 -0
  929. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vhdl-CeAyd5Ju.js +0 -0
  930. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/viml-CJc9bBzg.js +0 -0
  931. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vitesse-black-Bkuqu6BP.js +0 -0
  932. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vitesse-dark-D0r3Knsf.js +0 -0
  933. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vitesse-light-CVO1_9PV.js +0 -0
  934. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vue-DN_0RTcg.js +0 -0
  935. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vue-html-AaS7Mt5G.js +0 -0
  936. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vue-vine-CQOfvN7w.js +0 -0
  937. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/vyper-CDx5xZoG.js +0 -0
  938. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wasm-CG6Dc4jp.js +0 -0
  939. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wasm-MzD3tlZU.js +0 -0
  940. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wenyan-BV7otONQ.js +0 -0
  941. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wgsl-Dx-B1_4e.js +0 -0
  942. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wikitext-BhOHFoWU.js +0 -0
  943. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wit-5i3qLPDT.js +0 -0
  944. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/wolfram-lXgVvXCa.js +0 -0
  945. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/xml-sdJ4AIDG.js +0 -0
  946. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/xsl-CtQFsRM5.js +0 -0
  947. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/yaml-Buea-lGh.js +0 -0
  948. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/zenscript-DVFEvuxE.js +0 -0
  949. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/assets/zig-VOosw3JB.js +0 -0
  950. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/dist/favicon.svg +0 -0
  951. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/file_access.py +0 -0
  952. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/live_events.py +0 -0
  953. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/routes/__init__.py +0 -0
  954. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/routes/config.py +0 -0
  955. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/routes/files.py +0 -0
  956. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/routes/skills.py +0 -0
  957. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/server.py +0 -0
  958. {klaude_code-2.25.0 → klaude_code-2.26.0}/src/klaude_code/web/state.py +0 -0
@@ -0,0 +1,423 @@
1
+ Metadata-Version: 2.3
2
+ Name: klaude-code
3
+ Version: 2.26.0
4
+ Summary: Minimal code agent CLI
5
+ Requires-Dist: anthropic[bedrock]>=0.66.0
6
+ Requires-Dist: chardet>=5.2.0,<6
7
+ Requires-Dist: diff-match-patch>=20241021
8
+ Requires-Dist: filelock>=3.20.3
9
+ Requires-Dist: fastapi
10
+ Requires-Dist: google-genai>=1.56.0
11
+ Requires-Dist: markdown-it-py>=4.0.0
12
+ Requires-Dist: openai>=2.24.0
13
+ Requires-Dist: prompt-toolkit>=3.0.52
14
+ Requires-Dist: pydantic>=2.11.7
15
+ Requires-Dist: python-socks>=2.8.1
16
+ Requires-Dist: pyyaml>=6.0.2
17
+ Requires-Dist: rich>=14.1.0
18
+ Requires-Dist: sse-starlette
19
+ Requires-Dist: trafilatura>=2.0.0
20
+ Requires-Dist: typer>=0.17.3
21
+ Requires-Dist: uvicorn
22
+ Requires-Dist: readability-lxml>=0.8.4.1
23
+ Requires-Python: >=3.13
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Klaude Code
27
+
28
+ Minimal code agent CLI.
29
+
30
+ ## Features
31
+ - **Multi-provider**: Anthropic Message API, OpenAI Responses API, OpenRouter, ChatGPT Codex OAuth etc.
32
+ - **Keep reasoning item in context**: Interleaved thinking support
33
+ - **Model-aware tools**: Claude Code tool set for Opus, `apply_patch` for GPT-5/Codex
34
+ - **Reminders**: Cooldown-based todo tracking, instruction reinforcement and external file change reminder
35
+ - **Sub-agents**: General Purpose, Finder, Code Reviewer, Code Simplifier (+ fork-context variant)
36
+ - **Recursive `@file` mentions**: Circular dependency protection, relative path resolution
37
+ - **External file sync**: Monitoring for external edits (linter, manual)
38
+ - **Interrupt handling**: Ctrl+C preserves partial responses and synthesizes tool cancellation results
39
+ - **Output truncation**: Large outputs saved to file system with snapshot links
40
+ - **Agent Skills**: Built-in + user + project Agent Skills (with implicit invocation by Skill tool or explicit invocation by typing `//skill` or `/skill`)
41
+ - **Prompt caching**: Append-only message history maximizes prefix cache hits (cached tokens cost 10% of base input)
42
+ - **Context management**: Auto-compaction, Rewind (rollback to checkpoint), Handoff (compress and continue in fresh context)
43
+ - **Auto memory**: Persistent cross-session memory per project (`~/.klaude/projects/<project>/memory/`)
44
+ - **Web UI**: Browser-based interface via `klaude web` or `/web` slash command
45
+ - **Sessions**: Resumable with `--continue`, forkable with `/fork-session`
46
+ - **Extras**: Slash commands, sub-agents, image paste, terminal notifications, auto-theming
47
+
48
+ ## Installation
49
+
50
+ ```bash
51
+ uv tool install klaude-code
52
+ ```
53
+
54
+ To update:
55
+
56
+ ```bash
57
+ uv tool upgrade klaude-code
58
+ ```
59
+
60
+ Or use the built-in command:
61
+
62
+ ```bash
63
+ klaude upgrade
64
+ ```
65
+
66
+ ### Development Install
67
+
68
+ ```bash
69
+ git clone https://github.com/inspirepan/klaude-code.git
70
+ cd klaude-code
71
+ make install # init submodules, build web frontend, install as editable
72
+ ```
73
+
74
+ Or step by step:
75
+
76
+ ```bash
77
+ git submodule update --init --recursive
78
+ uv sync # install Python deps
79
+ uv run python scripts/build_web.py # build web frontend
80
+ uv tool install -e . # install CLI globally (editable)
81
+ ```
82
+
83
+ Requires `pnpm` or `npm` for the web frontend build (`pnpm` preferred).
84
+
85
+ ## Usage
86
+
87
+ ```bash
88
+ klaude [--model [<name>]] [--continue] [--resume [<id>]]
89
+ ```
90
+
91
+ **Options:**
92
+ - `--model`/`-m`: Choose a model.
93
+ - `--model` (no value): opens the interactive selector.
94
+ - `--model <value>`: resolves `<value>` to a single model; if it can't, it opens the interactive selector filtered by `<value>`.
95
+ - `--continue`/`-c`: Resume the most recent session.
96
+ - `--resume`/`-r`: Resume a session.
97
+ - `--resume` (no value): select a session to resume for this project.
98
+ - `--resume <id>`: resume a session by its ID directly.
99
+ - `--vanilla`: Minimal mode with only basic tools (Bash, Read, Edit, Write) and no system prompts.
100
+
101
+ **Model selection behavior:**
102
+ - Default: uses `main_model` from config.
103
+ - `--model` (no value): always prompts you to pick.
104
+ - `--model <value>`: tries to resolve `<value>` to a single model; if it can't, it prompts with a filtered list (and falls back to showing all models if there are no matches).
105
+
106
+ **Debug Options:**
107
+ - `--debug`/`-d`: Enable debug mode with verbose logging and LLM trace.
108
+ - `--debug-filter`: Filter debug output by type (comma-separated).
109
+
110
+
111
+ ### Configuration
112
+
113
+ #### Quick Start (Zero Config)
114
+
115
+ Klaude comes with built-in provider configurations. Just set an API key environment variable and start using it:
116
+
117
+ ```bash
118
+ # Pick one (or more) of these:
119
+ export ANTHROPIC_API_KEY=sk-ant-xxx # Claude models
120
+ export OPENAI_API_KEY=sk-xxx # GPT models
121
+ export OPENROUTER_API_KEY=sk-or-xxx # OpenRouter (multi-provider)
122
+ export DEEPSEEK_API_KEY=sk-xxx # DeepSeek models
123
+ export MOONSHOT_API_KEY=sk-xxx # Moonshot/Kimi models
124
+ export MINIMAX_API_KEY=xxx # MiniMax models
125
+ export GOOGLE_API_KEY=xxx # Google Gemini models (or GEMINI_API_KEY)
126
+ export EXA_API_KEY=exa-xxx # Exa Search (optional, WebSearch provider, preferred)
127
+ export BRAVE_API_KEY=BSA-xxx # Brave Search (optional, WebSearch provider, fallback)
128
+
129
+ # Then just run:
130
+ klaude
131
+ ```
132
+
133
+ On first run, you'll be prompted to select a model. Your choice is saved as `main_model`.
134
+
135
+ You can also configure fallback lists for helper models:
136
+
137
+ ```yaml
138
+ fast_model:
139
+ - haiku
140
+ - gemini-flash
141
+ - gpt-5-nano
142
+
143
+ compact_model:
144
+ - gemini-flash
145
+ - haiku
146
+ ```
147
+
148
+ Klaude tries these entries in order and uses the first available model. `fast_model` is used for session-title generation; `compact_model` is used for compact/helper tasks.
149
+
150
+ #### Built-in Providers
151
+
152
+ | Provider | Env Variable | Models |
153
+ |------------------|------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|
154
+ | anthropic | `ANTHROPIC_API_KEY` | sonnet, sonnet-no-thinking, opus, haiku |
155
+ | openai | `OPENAI_API_KEY` | gpt-5.4-high, gpt-5.4-xhigh, gpt-5.3-codex, gpt-5.3-codex-xhigh |
156
+ | openrouter | `OPENROUTER_API_KEY` | gpt-5.3-codex, gpt-5.3-codex-xhigh, gpt-5.4-high, gpt-5.4-xhigh, kimi, haiku, sonnet, sonnet-no-thinking, opus, gemini-pro, gemini-flash, grok, minimax, glm |
157
+ | google | `GOOGLE_API_KEY` or `GEMINI_API_KEY` | gemini-pro, gemini-flash |
158
+ | google-vertex | `GOOGLE_APPLICATION_CREDENTIALS`, `GOOGLE_CLOUD_PROJECT`, `GOOGLE_CLOUD_LOCATION` | gemini-pro, gemini-flash |
159
+ | deepseek | `DEEPSEEK_API_KEY` | deepseek |
160
+ | moonshot | `MOONSHOT_API_KEY` | kimi |
161
+ | minimax | `MINIMAX_API_KEY` | m2.7, m2.7:highspeed |
162
+ | cerebras | `CEREBRAS_API_KEY` | glm |
163
+ | claude-max | N/A (OAuth) | sonnet, sonnet-no-thinking, opus, haiku |
164
+ | codex | N/A (OAuth) | gpt-5.3-codex, gpt-5.3-codex-xhigh, gpt-5.4-high, gpt-5.4-xhigh |
165
+ | github-copilot | N/A (OAuth) | gpt-5.3-codex, gpt-5.3-codex-xhigh, gpt-5.4-high, gpt-5.4-xhigh, sonnet, sonnet-4.5, haiku, opus |
166
+ | ark-api | `ARK_API_KEY` | seed-pro, seed-code |
167
+ | ark-coding-plan | `ARK_API_KEY` | seed-code, kimi |
168
+
169
+ List all configured providers and models:
170
+
171
+ ```bash
172
+ klaude list
173
+ ```
174
+
175
+ Models from providers without valid credentials are shown as dimmed/unavailable.
176
+
177
+ Bedrock is supported as a custom provider rather than a built-in one. See `docs/bedrock-setup.md`.
178
+
179
+ #### Authentication
180
+
181
+ Use the auth command to configure API keys or login to subscription-based providers:
182
+
183
+ ```bash
184
+ # Interactive provider selection
185
+ klaude auth login
186
+
187
+ # Configure API keys
188
+ klaude auth login anthropic # Set ANTHROPIC_API_KEY
189
+ klaude auth login openai # Set OPENAI_API_KEY
190
+ klaude auth login google # Set GOOGLE_API_KEY
191
+ klaude auth login openrouter # Set OPENROUTER_API_KEY
192
+ klaude auth login deepseek # Set DEEPSEEK_API_KEY
193
+ klaude auth login moonshot # Set MOONSHOT_API_KEY
194
+ klaude auth login minimax # Set MINIMAX_API_KEY
195
+
196
+ # OAuth login for subscription-based providers
197
+ klaude auth login codex # ChatGPT Pro subscription
198
+ ```
199
+
200
+ API keys are stored in `~/.klaude/klaude-auth.json` and used as fallback when environment variables are not set.
201
+
202
+ To logout from OAuth providers:
203
+
204
+ ```bash
205
+ klaude auth logout codex
206
+ ```
207
+
208
+ #### Custom Configuration
209
+
210
+ User config file: `~/.klaude/klaude-config.yaml`
211
+
212
+ Open in editor:
213
+
214
+ ```bash
215
+ klaude conf
216
+ ```
217
+
218
+ ##### Model Configuration
219
+
220
+ You can add custom models to built-in providers or define new ones. Configuration is inherited from built-in providers by matching `provider_name`.
221
+
222
+ ```yaml
223
+ # ~/.klaude/klaude-config.yaml
224
+ main_model: opus
225
+
226
+ fast_model:
227
+ - haiku
228
+ - gemini-flash
229
+ - gpt-5-nano
230
+
231
+ compact_model:
232
+ - gemini-flash
233
+ - haiku
234
+
235
+ provider_list:
236
+ # Add/Override models for built-in OpenRouter provider
237
+ - provider_name: openrouter
238
+ model_list:
239
+ - model_name: qwen-coder
240
+ model_id: qwen/qwen-2.5-coder-32b-instruct
241
+ context_limit: 131072
242
+ cost: { input: 0.3, output: 0.9 }
243
+ - model_name: sonnet # Override built-in sonnet params
244
+ model_id: anthropic/claude-3.5-sonnet
245
+ context_limit: 200000
246
+
247
+ # Add a completely new provider
248
+ - provider_name: my-azure
249
+ protocol: openai
250
+ api_key: ${AZURE_OPENAI_KEY}
251
+ base_url: https://my-instance.openai.azure.com/
252
+ is_azure: true
253
+ azure_api_version: "2024-02-15-preview"
254
+ model_list:
255
+ - model_name: gpt-4
256
+ model_id: gpt-4-deploy-name
257
+ context_limit: 128000
258
+ ```
259
+
260
+ **Key Tips:**
261
+ - **Merging**: If `provider_name` matches a built-in provider, settings like `protocol` and `api_key` are inherited.
262
+ - **Overriding**: Use the same `model_name` as a built-in model to override its parameters.
263
+ - **Environment Variables**: Use `${VAR_NAME}` syntax for secrets.
264
+ - **Model Preference Lists**: `fast_model` and `compact_model` accept either a single string or a list of model selectors. When you provide a list, Klaude tries them in order and picks the first available one.
265
+
266
+ ##### Sub-agent Model Configuration
267
+
268
+ `sub_agent_models` accepts registered sub-agent type names as keys. Current supported keys are:
269
+
270
+ - `general-purpose` - Autonomous multi-step task executor
271
+ - `general-purpose-fork-context` - Same as above but inherits parent conversation history
272
+ - `finder` - Fast codebase search and exploration
273
+ - `code-reviewer` - Identifies bugs in proposed changes
274
+ - `code-simplifier` - Refines code for clarity and consistency
275
+
276
+ If a sub-agent type is not configured, it falls back to the main agent model. Each key also accepts a list for fallback ordering.
277
+
278
+ ```yaml
279
+ sub_agent_models:
280
+ general-purpose: sonnet
281
+ finder:
282
+ - haiku
283
+ - gemini-flash
284
+ code-reviewer: opus
285
+ ```
286
+
287
+ ##### Supported Protocols
288
+
289
+ - `anthropic` - Anthropic Messages API
290
+ - `openai` - OpenAI Chat Completion API
291
+ - `responses` - OpenAI Responses API (for o-series, GPT-5, Codex)
292
+ - `codex_oauth` - OpenAI Codex CLI (OAuth-based, for ChatGPT Pro subscribers)
293
+ - `github_copilot_oauth` - GitHub Copilot (OAuth-based)
294
+ - `openrouter` - OpenRouter API (handling `reasoning_details` for interleaved thinking)
295
+ - `google` - Google Gemini API
296
+ - `google_vertex` - Google Vertex AI (uses GCP credentials)
297
+ - `bedrock` - AWS Bedrock for Claude (uses AWS credentials instead of api_key)
298
+
299
+ For a working Bedrock provider example, see `docs/bedrock-setup.md`.
300
+
301
+ List configured providers and models:
302
+
303
+ ```bash
304
+ klaude list
305
+ ```
306
+
307
+ ### Cost Tracking
308
+
309
+ View aggregated usage statistics across all sessions:
310
+
311
+ ```bash
312
+ # Show all historical usage data
313
+ klaude cost
314
+
315
+ # Show usage for the last 7 days only
316
+ klaude cost --days 7
317
+
318
+ # Alias for days
319
+ klaude cost --recent 7
320
+ ```
321
+
322
+ ### Slash Commands
323
+
324
+ Inside the interactive session (`klaude`), use these commands to streamline your workflow:
325
+
326
+ - `/...` supports mixed completion for commands + skills (command names take priority on conflicts).
327
+ - `//...` shows skill-only completion and triggers skills explicitly.
328
+
329
+ - `/copy` - Copy last assistant message to clipboard.
330
+ - `/compact` - Clear conversation history but keep a summary in context.
331
+ - `/fork-session` - Fork current session from a selected point.
332
+ - `/refresh-terminal` - Refresh terminal display.
333
+ - `/web` - Switch to web UI mode.
334
+ - `/new` - Start a new session (clears context).
335
+ - `/model` - Switch the active LLM during the session.
336
+ - `/sub-agent-model` - Configure sub-agent models at runtime.
337
+ - `/thinking` - Change thinking/reasoning level.
338
+ - `/status` - Show session usage statistics (cost, tokens, model breakdown).
339
+ - `/login` - Login to provider or configure API key.
340
+ - `/logout` - Logout from provider.
341
+ - `/continue` - Continue current session without a new user message.
342
+ - `/debug [filters]` - Toggle debug mode and configure debug filters.
343
+
344
+
345
+ ### Input Shortcuts
346
+
347
+ | Key | Action |
348
+ | -------------------- | ------------------------------------------- |
349
+ | `Enter` | Submit input |
350
+ | `Shift+Enter` | Insert newline (terminal-dependent) |
351
+ | `Ctrl+J` | Insert newline |
352
+ | `Ctrl+L` | Open model picker overlay |
353
+ | `Ctrl+T` | Open thinking level picker overlay |
354
+ | `Ctrl+V` | Paste image from clipboard |
355
+ | `Left/Right` | Move cursor (wraps across lines) |
356
+ | `Backspace` | Delete character or selected text |
357
+ | `c` (with selection) | Copy selected text to clipboard |
358
+
359
+ ### Sub-Agents
360
+
361
+ The main agent can spawn specialized sub-agents for specific tasks:
362
+
363
+ | Sub-Agent | Purpose |
364
+ |-----------|---------|
365
+ | **General Purpose** | Handle complex multi-step tasks autonomously |
366
+ | **General Purpose (Fork Context)** | Same as above, but inherits the parent agent's full conversation history |
367
+ | **Finder** | Fast codebase exploration - find files, search code, answer questions about the codebase |
368
+ | **Code Reviewer** | Identify real bugs in proposed changes |
369
+ | **Code Simplifier** | Refine recently changed code for clarity and consistency |
370
+
371
+ ### Web UI
372
+
373
+ Klaude includes a browser-based interface as an alternative to the terminal TUI.
374
+
375
+ ```bash
376
+ # Start web UI directly
377
+ klaude web
378
+
379
+ # With options
380
+ klaude web --port 9000 --host 0.0.0.0 --no-open
381
+ ```
382
+
383
+ You can also switch from TUI to web mid-session with the `/web` slash command. The web UI provides the same capabilities as the TUI: multi-session management, file browsing, tool execution, and real-time streaming.
384
+
385
+ ### Prompt Caching
386
+
387
+ Klaude is designed to maximize prefix cache hit rates across LLM API calls. Cached tokens are priced at ~10% of base input tokens, so high cache hit rates significantly reduce cost.
388
+
389
+ **Append-only message history.** The conversation history is strictly append-only. New messages, tool results, and attachments are always appended to the end of the message array, never inserted or modified in the middle. Any mutation to the head of the messages array (compressing old tool results, replacing images, reordering tool definitions) would invalidate the prefix cache and force a full re-tokenization.
390
+
391
+ Design choices that preserve prefix stability:
392
+ - **Stable system prompt**: The system prompt is composed of a static base prompt + stable tool strategy block + environment info, avoiding per-turn variation.
393
+ - **Stable JSON serialization**: Tool schemas and provider payloads use `canonicalize_json()` for deterministic key ordering across calls.
394
+ - **Cache control markers**: For Anthropic and OpenRouter (Claude models), `cache_control: {"type": "ephemeral"}` is placed on the system prompt and the last message part to hint the provider's caching boundary.
395
+ - **Compaction preserves prefix**: When context is compacted, the summary is prepended as a new first message while keeping the retained tail intact -- no existing message bytes are modified.
396
+ - **Fork-context sub-agents**: Sub-agents with `fork_context=True` inherit the parent's full system prompt and tool list to maximize prefix cache sharing.
397
+
398
+ The TUI displays cache hit rate per turn in the metadata line (e.g. `cache 12.5k (98%)`). Rates below 90% are highlighted as a warning.
399
+
400
+ ### Context Management
401
+
402
+ The agent automatically manages context window limits:
403
+
404
+ - **Auto-compaction**: When the conversation approaches the model's context limit, older messages are summarized and replaced with a compact summary. The agent also recovers from context overflow errors by compacting and retrying.
405
+ - **Rewind**: The agent can roll back the conversation to a previous checkpoint (automatically inserted at key points). File system changes are preserved; only conversation history is rewound.
406
+ - **Handoff**: The agent can compress the current conversation into a summary and continue in a fresh context. Useful for very long sessions where context quality degrades.
407
+
408
+ ### Auto Memory
409
+
410
+ Klaude maintains persistent memory per project across sessions. Memory files are stored in `~/.klaude/projects/<project-key>/memory/` with a `MEMORY.md` index file. The agent automatically loads relevant memories at session start and can save new memories during a session.
411
+
412
+ Memory types include user preferences, feedback/corrections, project context, and external references.
413
+
414
+ ### Project Configuration Files
415
+
416
+ Klaude reads instruction files from your project directory to customize agent behavior:
417
+
418
+ | File | Purpose |
419
+ |------|---------|
420
+ | `AGENTS.md` | Project-level instructions checked into version control (shared with team) |
421
+ | `CLAUDE.md` | Personal instructions (typically gitignored) |
422
+
423
+ These files are loaded automatically and injected into the system prompt. They can be placed at the project root or in subdirectories for scoped instructions.
@@ -0,0 +1,118 @@
1
+ [build-system]
2
+ requires = ["uv_build>=0.8.5,<0.9.0"]
3
+ build-backend = "uv_build"
4
+
5
+ [project]
6
+ name = "klaude-code"
7
+ version = "2.26.0"
8
+ description = "Minimal code agent CLI"
9
+ readme = "README.md"
10
+ requires-python = ">=3.13"
11
+ dependencies = [
12
+ "anthropic[bedrock]>=0.66.0",
13
+ "chardet>=5.2.0,<6",
14
+ "diff-match-patch>=20241021",
15
+ "filelock>=3.20.3",
16
+ "fastapi",
17
+ "google-genai>=1.56.0",
18
+ "markdown-it-py>=4.0.0",
19
+ "openai>=2.24.0",
20
+ "prompt-toolkit>=3.0.52",
21
+ "pydantic>=2.11.7",
22
+ "python-socks>=2.8.1",
23
+ "pyyaml>=6.0.2",
24
+ "rich>=14.1.0",
25
+ "sse-starlette",
26
+ "trafilatura>=2.0.0",
27
+ "typer>=0.17.3",
28
+ "uvicorn",
29
+ "readability-lxml>=0.8.4.1",
30
+ ]
31
+
32
+ [project.scripts]
33
+ klaude = "klaude_code.cli.main:app"
34
+ klaude-code = "klaude_code.cli.main:app"
35
+
36
+ [tool.uv.build-backend]
37
+ module-name = "klaude_code"
38
+ # web/dist is gitignored by the generic `dist/` pattern; force-include so
39
+ # sdist (and wheels built from sdist) still contain the pre-built frontend.
40
+ source-include = ["src/klaude_code/web/dist/**"]
41
+
42
+ [dependency-groups]
43
+ dev = [
44
+ "hypothesis>=6.148.8",
45
+ "import-linter>=2.6",
46
+ "pytest>=8.4.1",
47
+ "pytest-cov>=7.0.0",
48
+ "pytest-timeout>=2.4.0",
49
+ "ruff==0.14.3",
50
+ "ty>=0.0.28",
51
+ ]
52
+
53
+
54
+
55
+ [tool.pytest.ini_options]
56
+ timeout = 30
57
+ markers = [
58
+ "network: marks tests as requiring network access (deselect with '-m \"not network\"')",
59
+ ]
60
+
61
+ [tool.ruff]
62
+ line-length = 120
63
+ src = ["src"]
64
+ exclude = ["src/klaude_code/skill/assets"]
65
+
66
+ [tool.ruff.lint]
67
+ select = ["E", "F", "B", "I", "UP", "SIM", "RUF"]
68
+ ignore = ["RUF001", "RUF002", "RUF003", "E501"]
69
+
70
+ [tool.ruff.lint.isort]
71
+ known-first-party = ["klaude_code"]
72
+
73
+ [tool.ty.environment]
74
+ python-version = "3.13"
75
+
76
+ [tool.ty.src]
77
+ include = [
78
+ "src",
79
+ "tests",
80
+ ]
81
+ exclude = [
82
+ "src/klaude_code/skill/assets",
83
+ ]
84
+
85
+ # Strictest posture: treat every rule as error-level, and fail the run on any
86
+ # warning-level diagnostic too. If a specific rule proves unworkable, downgrade
87
+ # it explicitly below (e.g. `some-rule = "warn"`).
88
+ [tool.ty.rules]
89
+ all = "error"
90
+
91
+ [tool.ty.terminal]
92
+ error-on-warning = true
93
+
94
+ [tool.importlinter]
95
+ root_packages = ["klaude_code"]
96
+ include_external_packages = false
97
+ exclude_type_checking_imports = true
98
+
99
+ [[tool.importlinter.contracts]]
100
+ name = "Layered architecture"
101
+ type = "layers"
102
+ layers = [
103
+ "klaude_code.cli",
104
+ "klaude_code.tui",
105
+ "klaude_code.web",
106
+ "klaude_code.app",
107
+ "klaude_code.agent",
108
+ "klaude_code.tool | klaude_code.control",
109
+ "klaude_code.skill",
110
+ "klaude_code.session",
111
+ "klaude_code.config",
112
+ "klaude_code.llm",
113
+ "klaude_code.protocol",
114
+ "klaude_code.auth",
115
+ "klaude_code.log",
116
+ "klaude_code.prompts | klaude_code.const",
117
+ ]
118
+ ignore_imports = []
@@ -0,0 +1,140 @@
1
+ from __future__ import annotations
2
+
3
+ from collections.abc import AsyncGenerator, Awaitable, Callable, Iterable
4
+
5
+ from klaude_code.agent.agent_profile import AgentProfile
6
+ from klaude_code.agent.task import SessionContext, TaskExecutionContext, TaskExecutor
7
+ from klaude_code.llm import LLMClientABC
8
+ from klaude_code.log import DebugType, log_debug
9
+ from klaude_code.protocol import events, user_interaction
10
+ from klaude_code.protocol.message import UserInputPayload
11
+ from klaude_code.protocol.models import TaskMetadata
12
+ from klaude_code.session import Session
13
+ from klaude_code.tool import build_todo_context, get_registry
14
+ from klaude_code.tool.core.context import RunSubtask
15
+
16
+
17
+ class Agent:
18
+ def __init__(
19
+ self,
20
+ session: Session,
21
+ profile: AgentProfile,
22
+ compact_llm_client: LLMClientABC | None = None,
23
+ request_user_interaction: (
24
+ Callable[
25
+ [
26
+ str,
27
+ user_interaction.UserInteractionSource,
28
+ user_interaction.UserInteractionRequestPayload,
29
+ str | None,
30
+ ],
31
+ Awaitable[user_interaction.UserInteractionResponse],
32
+ ]
33
+ | None
34
+ ) = None,
35
+ ):
36
+ self.session: Session = session
37
+ self.profile: AgentProfile = profile
38
+ self.compact_llm_client: LLMClientABC | None = compact_llm_client
39
+ self._current_task: TaskExecutor | None = None
40
+ self._last_interrupt_show_notice = True
41
+ self._last_interrupt_prefill_text: str | None = None
42
+ self.request_user_interaction = request_user_interaction
43
+ if not self.session.model_name:
44
+ self.session.model_name = profile.llm_client.model_name
45
+
46
+ @property
47
+ def last_interrupt_show_notice(self) -> bool:
48
+ return self._last_interrupt_show_notice
49
+
50
+ def consume_interrupt_prefill_text(self) -> str | None:
51
+ text = self._last_interrupt_prefill_text
52
+ self._last_interrupt_prefill_text = None
53
+ return text
54
+
55
+ def on_interrupt(self) -> Iterable[events.Event]:
56
+ """Handle an interrupt by emitting best-effort cleanup events.
57
+
58
+ This does not stop the running asyncio task by itself. The executor still
59
+ needs to cancel the owning asyncio.Task to inject asyncio.CancelledError.
60
+ """
61
+
62
+ self._last_interrupt_show_notice = True
63
+ self._last_interrupt_prefill_text = None
64
+ if self._current_task is not None:
65
+ yield from self._current_task.on_interrupt()
66
+ self._last_interrupt_show_notice = self._current_task.last_interrupt_show_notice
67
+ self._last_interrupt_prefill_text = self._current_task.take_interrupt_prefill_text()
68
+ self._current_task = None
69
+
70
+ log_debug(
71
+ f"Session {self.session.id} interrupted",
72
+ debug_type=DebugType.EXECUTION,
73
+ )
74
+
75
+ async def run_task(
76
+ self, user_input: UserInputPayload, *, run_subtask: RunSubtask | None = None
77
+ ) -> AsyncGenerator[events.Event]:
78
+ available_tool_names = {tool.name for tool in self.profile.tools}
79
+ tool_registry = {
80
+ name: tool_class for name, tool_class in get_registry().items() if name in available_tool_names
81
+ }
82
+
83
+ session_ctx = SessionContext(
84
+ session_id=self.session.id,
85
+ work_dir=self.session.work_dir,
86
+ get_conversation_history=self.session.get_llm_history,
87
+ append_history=self.session.append_history,
88
+ file_tracker=self.session.file_tracker,
89
+ file_change_summary=self.session.file_change_summary,
90
+ todo_context=build_todo_context(self.session),
91
+ run_subtask=run_subtask,
92
+ request_user_interaction=self.request_user_interaction,
93
+ )
94
+ context = TaskExecutionContext(
95
+ session=self.session,
96
+ session_ctx=session_ctx,
97
+ profile=self.profile,
98
+ tool_registry=tool_registry,
99
+ sub_agent_state=self.session.sub_agent_state,
100
+ compact_llm_client=self.compact_llm_client,
101
+ )
102
+
103
+ task = TaskExecutor(context)
104
+ self._current_task = task
105
+
106
+ try:
107
+ async for event in task.run(user_input):
108
+ yield event
109
+ finally:
110
+ self._current_task = None
111
+
112
+ async def replay_history(self) -> AsyncGenerator[events.Event]:
113
+ """Yield UI events reconstructed from saved conversation history."""
114
+
115
+ if not self.session.conversation_history:
116
+ return
117
+
118
+ yield events.ReplayHistoryEvent(
119
+ events=list(self.session.get_history_item()),
120
+ updated_at=self.session.updated_at,
121
+ session_id=self.session.id,
122
+ )
123
+
124
+ def set_model_profile(self, profile: AgentProfile) -> None:
125
+ """Apply a fully constructed profile to the agent."""
126
+
127
+ self.profile = profile
128
+ self.session.model_name = profile.llm_client.model_name
129
+
130
+ def get_llm_client(self) -> LLMClientABC:
131
+ return self.profile.llm_client
132
+
133
+ def get_partial_metadata(self) -> TaskMetadata | None:
134
+ """Get partial metadata from the currently running task.
135
+
136
+ Returns None if no task is running or no usage data has been accumulated.
137
+ """
138
+ if self._current_task is None:
139
+ return None
140
+ return self._current_task.get_partial_metadata()