klaude-code 2.30.0__tar.gz → 2.31.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 (783) hide show
  1. {klaude_code-2.30.0 → klaude_code-2.31.0}/PKG-INFO +4 -8
  2. {klaude_code-2.30.0 → klaude_code-2.31.0}/README.md +3 -7
  3. {klaude_code-2.30.0 → klaude_code-2.31.0}/pyproject.toml +1 -1
  4. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/.DS_Store +0 -0
  5. klaude_code-2.31.0/src/klaude_code/agent/__init__.py +3 -0
  6. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/agent.py +4 -2
  7. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/files.py +1 -1
  8. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/skills.py +1 -1
  9. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/away_summary.py +12 -12
  10. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/cache_break_detection.py +15 -15
  11. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/AGENTS.md +5 -5
  12. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/compaction.py +66 -5
  13. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/handoff.py +3 -3
  14. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/prompt_suggestion/prompt_suggestion.py +4 -4
  15. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/agent_ops.py +1 -5
  16. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/away_summary.py +1 -1
  17. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/config_ops.py +0 -71
  18. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/dispatcher.py +0 -3
  19. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/sub_agent.py +32 -5
  20. klaude_code-2.30.0/src/klaude_code/agent/turn.py → klaude_code-2.31.0/src/klaude_code/agent/step.py +49 -49
  21. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/task.py +291 -268
  22. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/auth_flow.py +129 -67
  23. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/runtime_facade.py +0 -1
  24. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/AGENTS.md +5 -21
  25. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/__init__.py +0 -16
  26. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/oauth.py +9 -7
  27. klaude_code-2.31.0/src/klaude_code/auth/codex/token_manager.py +192 -0
  28. klaude_code-2.31.0/src/klaude_code/auth/removed_provider.py +46 -0
  29. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/auth_cmd.py +41 -3
  30. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/oauth_usage.py +0 -71
  31. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/assets/builtin_config.yaml +212 -68
  32. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/config.py +94 -91
  33. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/merge.py +3 -0
  34. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/model_matcher.py +10 -10
  35. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/const.py +2 -2
  36. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/actor.py +1 -2
  37. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/AGENTS.md +1 -1
  38. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/client.py +20 -45
  39. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/bedrock_anthropic/client.py +15 -15
  40. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/client.py +28 -28
  41. klaude_code-2.31.0/src/klaude_code/llm/http.py +15 -0
  42. klaude_code-2.31.0/src/klaude_code/llm/model_workarounds.py +35 -0
  43. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_codex/client.py +2 -4
  44. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/client.py +3 -7
  45. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/stream.py +3 -3
  46. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/client.py +3 -7
  47. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/client.py +2 -4
  48. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/reasoning.py +5 -2
  49. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/registry.py +0 -1
  50. klaude_code-2.31.0/src/klaude_code/llm/stop_reason.py +24 -0
  51. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/usage.py +1 -1
  52. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/compaction.py +11 -4
  53. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/messages.py +2 -2
  54. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-finder.md +1 -1
  55. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/base-system-prompt-gpt.md +30 -5
  56. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/events.py +8 -8
  57. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/llm_param.py +1 -16
  58. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/message.py +17 -6
  59. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/model_id.py +0 -32
  60. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/sub_agent.py +1 -0
  61. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/task_metadata.py +10 -2
  62. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/op.py +1 -19
  63. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/op_handler.py +0 -5
  64. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/user_interaction.py +0 -1
  65. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/session.py +26 -29
  66. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/store.py +57 -3
  67. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/SKILL.md +0 -1
  68. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/builtin-providers.md +0 -6
  69. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/config-file.md +1 -2
  70. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/agent_tool.md +4 -0
  71. klaude_code-2.31.0/src/klaude_code/tool/agent_tool.py +219 -0
  72. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/runner.py +10 -10
  73. klaude_code-2.31.0/src/klaude_code/tool/file/_read_core.py +166 -0
  74. klaude_code-2.31.0/src/klaude_code/tool/file/read_handlers.py +286 -0
  75. klaude_code-2.31.0/src/klaude_code/tool/file/read_tool.py +260 -0
  76. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/command_safety.py +4 -1
  77. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/__init__.py +3 -3
  78. klaude_code-2.31.0/src/klaude_code/tui/command/assets/export_session.css +838 -0
  79. klaude_code-2.31.0/src/klaude_code/tui/command/assets/export_session.js +84 -0
  80. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/auth_selector.py +19 -12
  81. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/export_session_html.py +5 -926
  82. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/login_cmd.py +47 -3
  83. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/logout_cmd.py +45 -3
  84. klaude_code-2.31.0/src/klaude_code/tui/command/switch_cmd.py +98 -0
  85. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/types.py +1 -1
  86. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/metadata.py +10 -10
  87. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/quote.py +1 -1
  88. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/sub_agent.py +2 -0
  89. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_dispatch.py +1 -1
  90. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/welcome.py +0 -1
  91. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/display.py +1 -1
  92. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/key_bindings.py +0 -8
  93. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/prompt_toolkit.py +3 -82
  94. klaude_code-2.31.0/src/klaude_code/tui/machine.py +1603 -0
  95. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/renderer.py +13 -16
  96. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/runner.py +20 -24
  97. klaude_code-2.30.0/src/klaude_code/web/dist/assets/highlighted-body-B3W2YXNL-DTuyBW20.js → klaude_code-2.31.0/src/klaude_code/web/dist/assets/highlighted-body-B3W2YXNL-BKW-iTu6.js +1 -1
  98. klaude_code-2.31.0/src/klaude_code/web/dist/assets/index-CPeCxOAy.css +1 -0
  99. klaude_code-2.30.0/src/klaude_code/web/dist/assets/index-CoapfQ1q.js → klaude_code-2.31.0/src/klaude_code/web/dist/assets/index-hdfK0BlB.js +146 -146
  100. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/index.html +2 -2
  101. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/ws.py +2 -26
  102. klaude_code-2.30.0/src/klaude_code/agent/__init__.py +0 -3
  103. klaude_code-2.30.0/src/klaude_code/auth/codex/token_manager.py +0 -26
  104. klaude_code-2.30.0/src/klaude_code/auth/copilot/__init__.py +0 -20
  105. klaude_code-2.30.0/src/klaude_code/auth/copilot/exceptions.py +0 -17
  106. klaude_code-2.30.0/src/klaude_code/auth/copilot/oauth.py +0 -234
  107. klaude_code-2.30.0/src/klaude_code/auth/copilot/token_manager.py +0 -64
  108. klaude_code-2.30.0/src/klaude_code/config/thinking.py +0 -357
  109. klaude_code-2.30.0/src/klaude_code/llm/copilot/__init__.py +0 -3
  110. klaude_code-2.30.0/src/klaude_code/llm/copilot/client.py +0 -275
  111. klaude_code-2.30.0/src/klaude_code/tool/agent_tool.py +0 -131
  112. klaude_code-2.30.0/src/klaude_code/tool/file/read_tool.py +0 -609
  113. klaude_code-2.30.0/src/klaude_code/tui/command/thinking_cmd.py +0 -24
  114. klaude_code-2.30.0/src/klaude_code/tui/machine.py +0 -1427
  115. klaude_code-2.30.0/src/klaude_code/web/dist/assets/index-TK8frDq8.css +0 -1
  116. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/__init__.py +0 -0
  117. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/agent_profile.py +0 -0
  118. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/__init__.py +0 -0
  119. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/collection.py +0 -0
  120. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/memory.py +0 -0
  121. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/state.py +0 -0
  122. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/bash_mode.py +0 -0
  123. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/cache_safe.py +0 -0
  124. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/__init__.py +0 -0
  125. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/overflow.py +0 -0
  126. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/__init__.py +0 -0
  127. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/manager.py +0 -0
  128. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/model_fallback.py +0 -0
  129. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/prompt_suggestion/__init__.py +0 -0
  130. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/rewind/__init__.py +0 -0
  131. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/rewind/manager.py +0 -0
  132. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/__init__.py +0 -0
  133. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/llm.py +0 -0
  134. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/session_stats.py +0 -0
  135. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/session_title.py +0 -0
  136. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/skill_inventory.py +0 -0
  137. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/system_prompt.py +0 -0
  138. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/__init__.py +0 -0
  139. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/log_viewer.html +0 -0
  140. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/log_viewer.py +0 -0
  141. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/__init__.py +0 -0
  142. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/display.py +0 -0
  143. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/input.py +0 -0
  144. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/interaction.py +0 -0
  145. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/runtime.py +0 -0
  146. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/base.py +0 -0
  147. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/__init__.py +0 -0
  148. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/exceptions.py +0 -0
  149. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/jwt_utils.py +0 -0
  150. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/env.py +0 -0
  151. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/__init__.py +0 -0
  152. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/config_cmd.py +0 -0
  153. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/cost_cmd.py +0 -0
  154. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/debug.py +0 -0
  155. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/list_model.py +0 -0
  156. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/main.py +0 -0
  157. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/self_update.py +0 -0
  158. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/web_cmd.py +0 -0
  159. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/__init__.py +0 -0
  160. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/assets/__init__.py +0 -0
  161. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/builtin_config.py +0 -0
  162. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/formatters.py +0 -0
  163. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/loader.py +0 -0
  164. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/sub_agent_model.py +0 -0
  165. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/__init__.py +0 -0
  166. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/event_bus.py +0 -0
  167. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/event_relay.py +0 -0
  168. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/__init__.py +0 -0
  169. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/registry.py +0 -0
  170. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/session_meta_relay.py +0 -0
  171. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/user_interaction.py +0 -0
  172. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/__init__.py +0 -0
  173. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/__init__.py +0 -0
  174. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/input.py +0 -0
  175. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/bedrock_anthropic/__init__.py +0 -0
  176. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/client.py +0 -0
  177. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/__init__.py +0 -0
  178. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/input.py +0 -0
  179. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google_vertex/__init__.py +0 -0
  180. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google_vertex/client.py +0 -0
  181. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/image.py +0 -0
  182. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/input_common.py +0 -0
  183. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/json_stable.py +0 -0
  184. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_codex/__init__.py +0 -0
  185. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/__init__.py +0 -0
  186. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/input.py +0 -0
  187. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/__init__.py +0 -0
  188. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/input.py +0 -0
  189. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/__init__.py +0 -0
  190. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/input.py +0 -0
  191. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/proxy_support.py +0 -0
  192. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/stream_parts.py +0 -0
  193. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/log.py +0 -0
  194. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/__init__.py +0 -0
  195. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/attachments.py +0 -0
  196. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/away_summary.py +0 -0
  197. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/handoff.py +0 -0
  198. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/prompt_suggestion.py +0 -0
  199. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/session_title.py +0 -0
  200. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-review.md +0 -0
  201. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-simplifier.md +0 -0
  202. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents.py +0 -0
  203. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/auto-memory-prompt.md +0 -0
  204. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/base-system-prompt.md +0 -0
  205. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/extended-thinking-prompt.md +0 -0
  206. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/following-conventions-prompt.md +0 -0
  207. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/git-workspace-hygiene-prompt.md +0 -0
  208. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/__init__.py +0 -0
  209. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/input_syntax.py +0 -0
  210. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/__init__.py +0 -0
  211. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/common.py +0 -0
  212. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/developer_ui.py +0 -0
  213. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/file_tracking.py +0 -0
  214. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/session_runtime.py +0 -0
  215. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/todo.py +0 -0
  216. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/tool_ui.py +0 -0
  217. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/usage.py +0 -0
  218. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/AGENTS.md +0 -0
  219. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/__init__.py +0 -0
  220. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/finder.py +0 -0
  221. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/general_purpose.py +0 -0
  222. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/review.py +0 -0
  223. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/simplifier.py +0 -0
  224. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/system_prompt.py +0 -0
  225. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/tools.py +0 -0
  226. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/__init__.py +0 -0
  227. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/codec.py +0 -0
  228. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/history.py +0 -0
  229. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/meta.py +0 -0
  230. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/selector.py +0 -0
  231. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/store_registry.py +0 -0
  232. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/AGENTS.md +0 -0
  233. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/__init__.py +0 -0
  234. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/.git +0 -0
  235. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/.gitignore +0 -0
  236. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/SOURCES.md +0 -0
  237. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/SKILL.md +0 -0
  238. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/authentication.md +0 -0
  239. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/commands.md +0 -0
  240. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/profiling.md +0 -0
  241. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/proxy-support.md +0 -0
  242. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/session-management.md +0 -0
  243. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/snapshot-refs.md +0 -0
  244. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/video-recording.md +0 -0
  245. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/authenticated-session.sh +0 -0
  246. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/capture-workflow.sh +0 -0
  247. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/form-automation.sh +0 -0
  248. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/frontend-design/SKILL.md +0 -0
  249. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/LICENSE.txt +0 -0
  250. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/SKILL.md +0 -0
  251. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/cli.md +0 -0
  252. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/image-api.md +0 -0
  253. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/prompting.md +0 -0
  254. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/sample-prompts.md +0 -0
  255. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/scripts/image_gen.py +0 -0
  256. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/memory-files.md +0 -0
  257. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/skill-system.md +0 -0
  258. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/SKILL.md +0 -0
  259. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/cli.md +0 -0
  260. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/gemini-api.md +0 -0
  261. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/prompting.md +0 -0
  262. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/sample-prompts.md +0 -0
  263. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/vertex-setup.md +0 -0
  264. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/scripts/gemini_image_gen.py +0 -0
  265. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/SKILL.md +0 -0
  266. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/forms.md +0 -0
  267. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/reference.md +0 -0
  268. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/check_bounding_boxes.py +0 -0
  269. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/check_fillable_fields.py +0 -0
  270. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/convert_pdf_to_images.py +0 -0
  271. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/create_validation_image.py +0 -0
  272. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_field_info.py +0 -0
  273. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_structure.py +0 -0
  274. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/fill_fillable_fields.py +0 -0
  275. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/fill_pdf_form_with_annotations.py +0 -0
  276. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/LICENSE.txt +0 -0
  277. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/NOTICE.txt +0 -0
  278. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/SKILL.md +0 -0
  279. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/assets/playwright-small.svg +0 -0
  280. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/assets/playwright.png +0 -0
  281. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/references/cli.md +0 -0
  282. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/references/workflows.md +0 -0
  283. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/scripts/playwright_cli.sh +0 -0
  284. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/SKILL.md +0 -0
  285. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/3d.md +0 -0
  286. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/animations.md +0 -0
  287. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/charts-bar-chart.tsx +0 -0
  288. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +0 -0
  289. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +0 -0
  290. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets.md +0 -0
  291. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio-visualization.md +0 -0
  292. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio.md +0 -0
  293. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/calculate-metadata.md +0 -0
  294. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/can-decode.md +0 -0
  295. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/charts.md +0 -0
  296. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/compositions.md +0 -0
  297. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/display-captions.md +0 -0
  298. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/extract-frames.md +0 -0
  299. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/ffmpeg.md +0 -0
  300. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/fonts.md +0 -0
  301. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-audio-duration.md +0 -0
  302. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-video-dimensions.md +0 -0
  303. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/get-video-duration.md +0 -0
  304. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/gifs.md +0 -0
  305. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/images.md +0 -0
  306. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/import-srt-captions.md +0 -0
  307. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/light-leaks.md +0 -0
  308. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/lottie.md +0 -0
  309. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/maps.md +0 -0
  310. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/measuring-dom-nodes.md +0 -0
  311. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/measuring-text.md +0 -0
  312. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/parameters.md +0 -0
  313. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sequencing.md +0 -0
  314. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sfx.md +0 -0
  315. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/subtitles.md +0 -0
  316. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/tailwind.md +0 -0
  317. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/text-animations.md +0 -0
  318. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/timing.md +0 -0
  319. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transcribe-captions.md +0 -0
  320. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transitions.md +0 -0
  321. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transparent-videos.md +0 -0
  322. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/trimming.md +0 -0
  323. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/videos.md +0 -0
  324. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/voiceover.md +0 -0
  325. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/.gitignore +0 -0
  326. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/SKILL.md +0 -0
  327. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/package.json +0 -0
  328. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/config/first-time-setup.md +0 -0
  329. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/config/preferences-schema.md +0 -0
  330. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/templates/standalone.html +0 -0
  331. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/troubleshooting.md +0 -0
  332. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/scripts/render_mermaid.js +0 -0
  333. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/scripts/setup.sh +0 -0
  334. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/session-logs/SKILL.md +0 -0
  335. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/skill-creator/SKILL.md +0 -0
  336. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/skills-lock.json +0 -0
  337. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/LICENSE.txt +0 -0
  338. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/SKILL.md +0 -0
  339. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/assets/sora-small.svg +0 -0
  340. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/assets/sora.png +0 -0
  341. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/cinematic-shots.md +0 -0
  342. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/cli.md +0 -0
  343. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/prompting.md +0 -0
  344. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/sample-prompts.md +0 -0
  345. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/social-ads.md +0 -0
  346. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/troubleshooting.md +0 -0
  347. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/video-api.md +0 -0
  348. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/scripts/sora.py +0 -0
  349. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/svg-animations/SKILL.md +0 -0
  350. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/svg-animations/examples/index.html +0 -0
  351. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/web-search/SKILL.md +0 -0
  352. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/loader.py +0 -0
  353. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/manager.py +0 -0
  354. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/system_skills.py +0 -0
  355. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/AGENTS.md +0 -0
  356. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/__init__.py +0 -0
  357. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/ask_user_question_tool.md +0 -0
  358. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/ask_user_question_tool.py +0 -0
  359. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/__init__.py +0 -0
  360. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/abc.py +0 -0
  361. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/context.py +0 -0
  362. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/offload.py +0 -0
  363. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/registry.py +0 -0
  364. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/__init__.py +0 -0
  365. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/_utils.py +0 -0
  366. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch.py +0 -0
  367. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch_tool.md +0 -0
  368. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch_tool.py +0 -0
  369. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/diff_builder.py +0 -0
  370. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/edit_tool.md +0 -0
  371. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/edit_tool.py +0 -0
  372. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/read_tool.md +0 -0
  373. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/write_tool.md +0 -0
  374. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/write_tool.py +0 -0
  375. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/handoff_tool.md +0 -0
  376. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/handoff_tool.py +0 -0
  377. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/rewind_tool.md +0 -0
  378. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/rewind_tool.py +0 -0
  379. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/__init__.py +0 -0
  380. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/bash_tool.md +0 -0
  381. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/bash_tool.py +0 -0
  382. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/__init__.py +0 -0
  383. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool.md +0 -0
  384. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool.py +0 -0
  385. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool_raw.md +0 -0
  386. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/__init__.py +0 -0
  387. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/external_content.py +0 -0
  388. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/ssrf.py +0 -0
  389. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_cache.py +0 -0
  390. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_fetch_tool.md +0 -0
  391. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_fetch_tool.py +0 -0
  392. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_search_tool.md +0 -0
  393. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_search_tool.py +0 -0
  394. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/AGENTS.md +0 -0
  395. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/__init__.py +0 -0
  396. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/AGENTS.md +0 -0
  397. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/command_abc.py +0 -0
  398. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/compact_cmd.py +0 -0
  399. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/continue_cmd.py +0 -0
  400. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/copy_cmd.py +0 -0
  401. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/debug_cmd.py +0 -0
  402. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/export_session_cmd.py +0 -0
  403. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/fork_session_cmd.py +0 -0
  404. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/model_cmd.py +0 -0
  405. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/model_picker.py +0 -0
  406. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/new_cmd.py +0 -0
  407. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/recap_cmd.py +0 -0
  408. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/refresh_cmd.py +0 -0
  409. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/registry.py +0 -0
  410. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/status_cmd.py +0 -0
  411. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/sub_agent_model_cmd.py +0 -0
  412. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/web_cmd.py +0 -0
  413. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/commands.py +0 -0
  414. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/__init__.py +0 -0
  415. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/away_summary.py +0 -0
  416. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/bash_syntax.py +0 -0
  417. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/command_output.py +0 -0
  418. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/common.py +0 -0
  419. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/developer.py +0 -0
  420. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/diffs.py +0 -0
  421. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/errors.py +0 -0
  422. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/__init__.py +0 -0
  423. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/cjk_wrap.py +0 -0
  424. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/markdown.py +0 -0
  425. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/status.py +0 -0
  426. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/theme.py +0 -0
  427. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/task_file_changes.py +0 -0
  428. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/thinking.py +0 -0
  429. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/__init__.py +0 -0
  430. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_bash.py +0 -0
  431. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_common.py +0 -0
  432. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_file.py +0 -0
  433. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_question.py +0 -0
  434. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_read.py +0 -0
  435. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_rewind.py +0 -0
  436. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_todo.py +0 -0
  437. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_web.py +0 -0
  438. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/user_input.py +0 -0
  439. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/AGENTS.md +0 -0
  440. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/__init__.py +0 -0
  441. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/completers.py +0 -0
  442. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/completion_menu.py +0 -0
  443. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/drag_drop.py +0 -0
  444. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/flicker_safe_stdout.py +0 -0
  445. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/images.py +0 -0
  446. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/paste.py +0 -0
  447. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/prompt_status_bar.py +0 -0
  448. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/pt_theme.py +0 -0
  449. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/status_runtime.py +0 -0
  450. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/__init__.py +0 -0
  451. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/ask_user_question.py +0 -0
  452. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/color.py +0 -0
  453. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/control.py +0 -0
  454. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/focus_tracker.py +0 -0
  455. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/image.py +0 -0
  456. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/notifier.py +0 -0
  457. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/prevent_sleep.py +0 -0
  458. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/selector.py +0 -0
  459. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/session_selector.py +0 -0
  460. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/title.py +0 -0
  461. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/update.py +0 -0
  462. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/__init__.py +0 -0
  463. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/app.py +0 -0
  464. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/display.py +0 -0
  465. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/abap-BdImnpbu.js +0 -0
  466. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/actionscript-3-CoDkCxhg.js +0 -0
  467. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ada-bCR0ucgS.js +0 -0
  468. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/andromeeda-C4gqWexZ.js +0 -0
  469. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/angular-html-CU67Zn6k.js +0 -0
  470. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/angular-ts-BwZT4LLn.js +0 -0
  471. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apache-Pmp26Uib.js +0 -0
  472. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apex-D8_7TLub.js +0 -0
  473. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apl-dKokRX4l.js +0 -0
  474. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/applescript-Co6uUVPk.js +0 -0
  475. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ara-BRHolxvo.js +0 -0
  476. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/asciidoc-Ve4PFQV2.js +0 -0
  477. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/asm-D_Q5rh1f.js +0 -0
  478. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/astro-CbQHKStN.js +0 -0
  479. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/aurora-x-D-2ljcwZ.js +0 -0
  480. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/awk-DMzUqQB5.js +0 -0
  481. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-dark-DYE7WIF3.js +0 -0
  482. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-light-BA47KaF1.js +0 -0
  483. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-mirage-32ctXXKs.js +0 -0
  484. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ballerina-BFfxhgS-.js +0 -0
  485. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bat-BkioyH1T.js +0 -0
  486. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/beancount-k_qm7-4y.js +0 -0
  487. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/berry-uYugtg8r.js +0 -0
  488. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bibtex-CHM0blh-.js +0 -0
  489. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bicep-Bmn6On1c.js +0 -0
  490. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bird2-DPOp833l.js +0 -0
  491. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/blade-D4QpJJKB.js +0 -0
  492. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bsl-BO_Y6i37.js +0 -0
  493. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/c-BIGW1oBm.js +0 -0
  494. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/c3-eo99z4R2.js +0 -0
  495. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cadence-Bv_4Rxtq.js +0 -0
  496. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cairo-KRGpt6FW.js +0 -0
  497. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-frappe-DFWUc33u.js +0 -0
  498. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
  499. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
  500. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
  501. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/clarity-D53aC0YG.js +0 -0
  502. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/clojure-P80f7IUj.js +0 -0
  503. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cmake-D1j8_8rp.js +0 -0
  504. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cobol-nwyudZeR.js +0 -0
  505. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/codeowners-Bp6g37R7.js +0 -0
  506. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/codeql-DsOJ9woJ.js +0 -0
  507. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/coffee-Ch7k5sss.js +0 -0
  508. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/common-lisp-Cg-RD9OK.js +0 -0
  509. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/coq-DkFqJrB1.js +0 -0
  510. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cpp-CofmeUqb.js +0 -0
  511. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/crystal-tKQVLTB8.js +0 -0
  512. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/csharp-COcwbKMJ.js +0 -0
  513. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/css-DPfMkruS.js +0 -0
  514. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/csv-fuZLfV_i.js +0 -0
  515. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cue-D82EKSYY.js +0 -0
  516. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cypher-COkxafJQ.js +0 -0
  517. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/d-85-TOEBH.js +0 -0
  518. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dark-plus-C3mMm8J8.js +0 -0
  519. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dart-CF10PKvl.js +0 -0
  520. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dax-CEL-wOlO.js +0 -0
  521. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/desktop-BmXAJ9_W.js +0 -0
  522. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/diff-D97Zzqfu.js +0 -0
  523. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/docker-BcOcwvcX.js +0 -0
  524. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dotenv-Da5cRb03.js +0 -0
  525. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dracula-BzJJZx-M.js +0 -0
  526. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dracula-soft-BXkSAIEj.js +0 -0
  527. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dream-maker-BtqSS_iP.js +0 -0
  528. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/edge-BkV0erSs.js +0 -0
  529. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/elixir-CDX3lj18.js +0 -0
  530. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/elm-DbKCFpqz.js +0 -0
  531. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/emacs-lisp-C9XAeP06.js +0 -0
  532. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/erb-B12qg9BL.js +0 -0
  533. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/erlang-DsQrWhSR.js +0 -0
  534. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/everforest-dark-BgDCqdQA.js +0 -0
  535. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/everforest-light-C8M2exoo.js +0 -0
  536. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fennel-BYunw83y.js +0 -0
  537. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fish-BvzEVeQv.js +0 -0
  538. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fluent-C4IJs8-o.js +0 -0
  539. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
  540. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fortran-free-form-BxgE0vQu.js +0 -0
  541. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fsharp-CXgrBDvD.js +0 -0
  542. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdresource-BOOCDP_w.js +0 -0
  543. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdscript-C5YyOfLZ.js +0 -0
  544. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdshader-DkwncUOv.js +0 -0
  545. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/genie-D0YGMca9.js +0 -0
  546. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gherkin-DyxjwDmM.js +0 -0
  547. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/git-commit-F4YmCXRG.js +0 -0
  548. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/git-rebase-r7XF79zn.js +0 -0
  549. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-DHJKELXO.js +0 -0
  550. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-default-Cuk6v7N8.js +0 -0
  551. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
  552. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -0
  553. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-DAi9KRSo.js +0 -0
  554. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-default-D7oLnXFd.js +0 -0
  555. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
  556. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gleam-BspZqrRM.js +0 -0
  557. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glimmer-js-Rg0-pVw9.js +0 -0
  558. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glimmer-ts-U6CK756n.js +0 -0
  559. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glsl-DplSGwfg.js +0 -0
  560. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gn-n2N0HUVH.js +0 -0
  561. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gnuplot-DdkO51Og.js +0 -0
  562. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/go-CxLEBnE3.js +0 -0
  563. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/graphql-ChdNCCLP.js +0 -0
  564. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/groovy-gcz8RCvz.js +0 -0
  565. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
  566. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
  567. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
  568. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
  569. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
  570. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
  571. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hack-CaT9iCJl.js +0 -0
  572. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haml-B8DHNrY2.js +0 -0
  573. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/handlebars-BL8al0AC.js +0 -0
  574. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haskell-Df6bDoY_.js +0 -0
  575. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haxe-CzTSHFRz.js +0 -0
  576. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hcl-BWvSN4gD.js +0 -0
  577. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hjson-D5-asLiD.js +0 -0
  578. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hlsl-D3lLCCz7.js +0 -0
  579. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/horizon-BUw7H-hv.js +0 -0
  580. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/horizon-bright-Cn-bp-IR.js +0 -0
  581. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/houston-DnULxvSX.js +0 -0
  582. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/html-GMplVEZG.js +0 -0
  583. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/html-derivative-BFtXZ54Q.js +0 -0
  584. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/http-jrhK8wxY.js +0 -0
  585. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hurl-irOxFIW8.js +0 -0
  586. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hxml-Bvhsp5Yf.js +0 -0
  587. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hy-DFXneXwc.js +0 -0
  588. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/imba-DGztddWO.js +0 -0
  589. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ini-BEwlwnbL.js +0 -0
  590. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/java-CylS5w8V.js +0 -0
  591. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/javascript-wDzz0qaB.js +0 -0
  592. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jinja-4LBKfQ-Z.js +0 -0
  593. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jison-wvAkD_A8.js +0 -0
  594. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/json-Cp-IABpG.js +0 -0
  595. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/json5-C9tS-k6U.js +0 -0
  596. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonc-Des-eS-w.js +0 -0
  597. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonl-DcaNXYhu.js +0 -0
  598. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonnet-DFQXde-d.js +0 -0
  599. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jssm-C2t-YnRu.js +0 -0
  600. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsx-g9-lgVsj.js +0 -0
  601. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/julia-CxzCAyBv.js +0 -0
  602. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/just-Cw27pwNe.js +0 -0
  603. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
  604. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
  605. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-wave-DWedfzmr.js +0 -0
  606. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kdl-DV7GczEv.js +0 -0
  607. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kotlin-BdnUsdx6.js +0 -0
  608. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kusto-DZf3V79B.js +0 -0
  609. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/laserwave-DUszq2jm.js +0 -0
  610. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/latex-CWtU0Tv5.js +0 -0
  611. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/lean-BZvkOJ9d.js +0 -0
  612. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/less-B1dDrJ26.js +0 -0
  613. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/light-plus-B7mTdjB0.js +0 -0
  614. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/liquid-DYVedYrR.js +0 -0
  615. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/llvm-DjAJT7YJ.js +0 -0
  616. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/log-2UxHyX5q.js +0 -0
  617. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/logo-BtOb2qkB.js +0 -0
  618. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/lua-BaeVxFsk.js +0 -0
  619. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/luau-C-HG3fhB.js +0 -0
  620. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/make-CHLpvVh8.js +0 -0
  621. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/markdown-Cvjx9yec.js +0 -0
  622. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/marko-CnJfTvn9.js +0 -0
  623. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-D5KoaKCx.js +0 -0
  624. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-darker-BfHTSMKl.js +0 -0
  625. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -0
  626. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-ocean-CyktbL80.js +0 -0
  627. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
  628. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/matlab-D7o27uSR.js +0 -0
  629. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mdc-BMNejdWA.js +0 -0
  630. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mdx-Cmh6b_Ma.js +0 -0
  631. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mermaid-mWjccvbQ.js +0 -0
  632. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/min-dark-CafNBF8u.js +0 -0
  633. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/min-light-CTRr51gU.js +0 -0
  634. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mipsasm-CKIfxQSi.js +0 -0
  635. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mojo-rZm6bMo-.js +0 -0
  636. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/monokai-D4h5O-jR.js +0 -0
  637. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/moonbit-_H4v1dQx.js +0 -0
  638. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/move-IF9eRakj.js +0 -0
  639. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/narrat-DRg8JJMk.js +0 -0
  640. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nextflow-Zz6hmt5N.js +0 -0
  641. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nextflow-groovy-BeH2EWoN.js +0 -0
  642. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nginx-BpAMiNFr.js +0 -0
  643. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/night-owl-C39BiMTA.js +0 -0
  644. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/night-owl-light-CMTm3GFP.js +0 -0
  645. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nim-CVrawwO9.js +0 -0
  646. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nix-CwoSXNpI.js +0 -0
  647. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nord-Ddv68eIx.js +0 -0
  648. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nushell-Cz2AlsmD.js +0 -0
  649. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/objective-c-DXmwc3jG.js +0 -0
  650. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/objective-cpp-CLxacb5B.js +0 -0
  651. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ocaml-C0hk2d4L.js +0 -0
  652. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/odin-BBf5iR-q.js +0 -0
  653. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/one-dark-pro-DVMEJ2y_.js +0 -0
  654. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/one-light-C3Wv6jpd.js +0 -0
  655. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/openscad-C4EeE6gA.js +0 -0
  656. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pascal-D93ZcfNL.js +0 -0
  657. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/perl-C0TMdlhV.js +0 -0
  658. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/php-Dhbhpdrm.js +0 -0
  659. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pierre-dark-BXuwtOqb.js +0 -0
  660. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pierre-light-dckrK0oj.js +0 -0
  661. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pkl-u5AG7uiY.js +0 -0
  662. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/plastic-3e1v2bzS.js +0 -0
  663. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/plsql-ChMvpjG-.js +0 -0
  664. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/po-BTJTHyun.js +0 -0
  665. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/poimandres-CS3Unz2-.js +0 -0
  666. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/polar-C0HS_06l.js +0 -0
  667. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/postcss-CXtECtnM.js +0 -0
  668. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/powerquery-CEu0bR-o.js +0 -0
  669. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/powershell-Dpen1YoG.js +0 -0
  670. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/prisma-Dd19v3D-.js +0 -0
  671. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/prolog-CbFg5uaA.js +0 -0
  672. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/proto-C7zT0LnQ.js +0 -0
  673. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pug-CGlum2m_.js +0 -0
  674. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/puppet-BMWR74SV.js +0 -0
  675. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/purescript-CklMAg4u.js +0 -0
  676. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/python-B6aJPvgy.js +0 -0
  677. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qml-3beO22l8.js +0 -0
  678. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qmldir-C8lEn-DE.js +0 -0
  679. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qss-IeuSbFQv.js +0 -0
  680. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/r-Dspwwk_N.js +0 -0
  681. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/racket-BqYA7rlc.js +0 -0
  682. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/raku-DXvB9xmW.js +0 -0
  683. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/razor-Uh8Bk_45.js +0 -0
  684. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/red-bN70gL4F.js +0 -0
  685. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/reg-C-SQnVFl.js +0 -0
  686. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/regexp-CDVJQ6XC.js +0 -0
  687. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rel-C3B-1QV4.js +0 -0
  688. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/riscv-BM1_JUlF.js +0 -0
  689. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ron-D8l8udqQ.js +0 -0
  690. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
  691. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-moon-D4_iv3hh.js +0 -0
  692. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-qdsjHGoJ.js +0 -0
  693. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rosmsg-BJDFO7_C.js +0 -0
  694. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rst-BrH8l1NY.js +0 -0
  695. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ruby-Dw2BHqvy.js +0 -0
  696. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rust-B1yitclQ.js +0 -0
  697. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sas-cz2c8ADy.js +0 -0
  698. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sass-Cj5Yp3dK.js +0 -0
  699. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scala-C151Ov-r.js +0 -0
  700. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scheme-C98Dy4si.js +0 -0
  701. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scss-OYdSNvt2.js +0 -0
  702. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sdbl-DVxCFoDh.js +0 -0
  703. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shaderlab-Dg9Lc6iA.js +0 -0
  704. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shellscript-Yzrsuije.js +0 -0
  705. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shellsession-BADoaaVG.js +0 -0
  706. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/slack-dark-BthQWCQV.js +0 -0
  707. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/slack-ochin-DqwNpetd.js +0 -0
  708. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/smalltalk-BERRCDM3.js +0 -0
  709. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/snazzy-light-Bw305WKR.js +0 -0
  710. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solarized-dark-DXbdFlpD.js +0 -0
  711. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solarized-light-L9t79GZl.js +0 -0
  712. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solidity-rGO070M0.js +0 -0
  713. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/soy-Brmx7dQM.js +0 -0
  714. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sparql-rVzFXLq3.js +0 -0
  715. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/splunk-BtCnVYZw.js +0 -0
  716. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sql-BLtJtn59.js +0 -0
  717. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ssh-config-_ykCGR6B.js +0 -0
  718. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/stata-BH5u7GGu.js +0 -0
  719. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/stylus-BEDo0Tqx.js +0 -0
  720. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/surrealql-Bq5Q-fJD.js +0 -0
  721. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/svelte-C_ipcX3V.js +0 -0
  722. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/swift-D82vCrfD.js +0 -0
  723. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/synthwave-84-CbfX1IO0.js +0 -0
  724. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/system-verilog-CnnmHF94.js +0 -0
  725. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/systemd-4A_iFExJ.js +0 -0
  726. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/talonscript-CkByrt1z.js +0 -0
  727. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tasl-QIJgUcNo.js +0 -0
  728. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tcl-dwOrl1Do.js +0 -0
  729. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/templ-P3uqSqPl.js +0 -0
  730. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/terraform-BETggiCN.js +0 -0
  731. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tex-idrVyKtj.js +0 -0
  732. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tokyo-night-hegEt444.js +0 -0
  733. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/toml-vGWfd6FD.js +0 -0
  734. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ts-tags-zn1MmPIZ.js +0 -0
  735. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tsv-B_m7g4N7.js +0 -0
  736. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tsx-COt5Ahok.js +0 -0
  737. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/turtle-BsS91CYL.js +0 -0
  738. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/twig-DNn4PbVi.js +0 -0
  739. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typescript-BPQ3VLAy.js +0 -0
  740. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typespec-BGHnOYBU.js +0 -0
  741. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typst-DHCkPAjA.js +0 -0
  742. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/v-BcVCzyr7.js +0 -0
  743. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vala-CsfeWuGM.js +0 -0
  744. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vb-D17OF-Vu.js +0 -0
  745. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/verilog-BQ8w6xss.js +0 -0
  746. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vesper-DU1UobuO.js +0 -0
  747. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vhdl-CeAyd5Ju.js +0 -0
  748. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/viml-CJc9bBzg.js +0 -0
  749. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-black-Bkuqu6BP.js +0 -0
  750. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-dark-D0r3Knsf.js +0 -0
  751. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-light-CVO1_9PV.js +0 -0
  752. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-DN_0RTcg.js +0 -0
  753. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-html-AaS7Mt5G.js +0 -0
  754. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-vine-CQOfvN7w.js +0 -0
  755. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vyper-CDx5xZoG.js +0 -0
  756. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wasm-CG6Dc4jp.js +0 -0
  757. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wasm-MzD3tlZU.js +0 -0
  758. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wenyan-BV7otONQ.js +0 -0
  759. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wgsl-Dx-B1_4e.js +0 -0
  760. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wikitext-BhOHFoWU.js +0 -0
  761. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wit-5i3qLPDT.js +0 -0
  762. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wolfram-lXgVvXCa.js +0 -0
  763. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/xml-sdJ4AIDG.js +0 -0
  764. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/xsl-CtQFsRM5.js +0 -0
  765. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/yaml-Buea-lGh.js +0 -0
  766. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/zenscript-DVFEvuxE.js +0 -0
  767. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/zig-VOosw3JB.js +0 -0
  768. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/favicon.svg +0 -0
  769. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/fonts/InterVariable-Italic.woff2 +0 -0
  770. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/fonts/InterVariable.woff2 +0 -0
  771. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/file_access.py +0 -0
  772. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/interaction.py +0 -0
  773. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/live_events.py +0 -0
  774. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/__init__.py +0 -0
  775. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/config.py +0 -0
  776. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/files.py +0 -0
  777. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/sessions.py +0 -0
  778. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/skills.py +0 -0
  779. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/server.py +0 -0
  780. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_access.py +0 -0
  781. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_index.py +0 -0
  782. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_live.py +0 -0
  783. {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.30.0
3
+ Version: 2.31.0
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic[bedrock]>=0.66.0
6
6
  Requires-Dist: chardet>=5.2.0,<6
@@ -152,7 +152,7 @@ compact_model:
152
152
  - haiku
153
153
  ```
154
154
 
155
- Klaude expands each entry into concrete provider candidates in `provider_list` order, then falls through to the next model in the list. For example, `gpt-5.4` will try available providers such as `gpt-5.4@openai`, `gpt-5.4@github-copilot`, and `gpt-5.4@openrouter` before moving to the next model. Runtime fallback is used for non-retryable provider/model failures such as quota, billing, permission, or model-unavailable errors. `fast_model` is used for session-title generation; `compact_model` is used for compact/helper tasks.
155
+ Klaude expands each entry into concrete provider candidates in `provider_list` order, then falls through to the next model in the list. For example, `gpt-5.4` will try available providers such as `gpt-5.4@openai` and `gpt-5.4@openrouter` before moving to the next model. Runtime fallback is used for non-retryable provider/model failures such as quota, billing, permission, or model-unavailable errors. `fast_model` is used for session-title generation; `compact_model` is used for compact/helper tasks.
156
156
 
157
157
  When you switch models with `/model`, Klaude updates `main_model` without discarding the fallback chain: the selected model is moved to the front if it already exists, or inserted at the front otherwise.
158
158
 
@@ -171,7 +171,6 @@ When you switch models with `/model`, Klaude updates `main_model` without discar
171
171
  | cerebras | `CEREBRAS_API_KEY` | glm |
172
172
  | claude-max | N/A (OAuth) | sonnet, sonnet-no-thinking, opus, haiku |
173
173
  | codex | N/A (OAuth) | gpt-5.3-codex, gpt-5.3-codex-xhigh, gpt-5.4-high, gpt-5.4-xhigh |
174
- | 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 |
175
174
  | ark-api | `ARK_API_KEY` | seed-pro, seed-code |
176
175
  | ark-coding-plan | `ARK_API_KEY` | seed-code, kimi |
177
176
 
@@ -303,7 +302,6 @@ sub_agent_models:
303
302
  - `openai` - OpenAI Chat Completion API
304
303
  - `responses` - OpenAI Responses API (for o-series, GPT-5, Codex)
305
304
  - `codex_oauth` - OpenAI Codex CLI (OAuth-based, for ChatGPT Pro subscribers)
306
- - `github_copilot_oauth` - GitHub Copilot (OAuth-based)
307
305
  - `openrouter` - OpenRouter API (handling `reasoning_details` for interleaved thinking)
308
306
  - `google` - Google Gemini API
309
307
  - `google_vertex` - Google Vertex AI (uses GCP credentials)
@@ -347,7 +345,6 @@ Inside the interactive session (`klaude`), use these commands to streamline your
347
345
  - `/new` - Start a new session (clears context).
348
346
  - `/model` - Switch the active LLM and update `main_model` in config while preserving fallback order (the selected model is moved/inserted to the front).
349
347
  - `/sub-agent-model` - Configure sub-agent models at runtime.
350
- - `/thinking` - Change thinking/reasoning level.
351
348
  - `/status` - Show session usage statistics (cost, tokens, model breakdown).
352
349
  - `/login` - Login to provider or configure API key.
353
350
  - `/logout` - Logout from provider.
@@ -363,7 +360,6 @@ Inside the interactive session (`klaude`), use these commands to streamline your
363
360
  | `Shift+Enter` | Insert newline (terminal-dependent) |
364
361
  | `Ctrl+J` | Insert newline |
365
362
  | `Ctrl+L` | Open model picker overlay |
366
- | `Ctrl+T` | Open thinking level picker overlay |
367
363
  | `Ctrl+V` | Paste image from clipboard |
368
364
  | `Left/Right` | Move cursor (wraps across lines) |
369
365
  | `Backspace` | Delete character or selected text |
@@ -402,13 +398,13 @@ Klaude is designed to maximize prefix cache hit rates across LLM API calls. Cach
402
398
  **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.
403
399
 
404
400
  Design choices that preserve prefix stability:
405
- - **Stable system prompt**: The system prompt is composed of a static base prompt + stable tool strategy block + environment info, avoiding per-turn variation.
401
+ - **Stable system prompt**: The system prompt is composed of a static base prompt + stable tool strategy block + environment info, avoiding per-step variation.
406
402
  - **Stable JSON serialization**: Tool schemas and provider payloads use `canonicalize_json()` for deterministic key ordering across calls.
407
403
  - **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.
408
404
  - **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.
409
405
  - **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.
410
406
 
411
- 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.
407
+ The TUI displays cache hit rate per step in the metadata line (e.g. `cache 12.5k (98%)`). Rates below 90% are highlighted as a warning.
412
408
 
413
409
  ### Context Management
414
410
 
@@ -125,7 +125,7 @@ compact_model:
125
125
  - haiku
126
126
  ```
127
127
 
128
- Klaude expands each entry into concrete provider candidates in `provider_list` order, then falls through to the next model in the list. For example, `gpt-5.4` will try available providers such as `gpt-5.4@openai`, `gpt-5.4@github-copilot`, and `gpt-5.4@openrouter` before moving to the next model. Runtime fallback is used for non-retryable provider/model failures such as quota, billing, permission, or model-unavailable errors. `fast_model` is used for session-title generation; `compact_model` is used for compact/helper tasks.
128
+ Klaude expands each entry into concrete provider candidates in `provider_list` order, then falls through to the next model in the list. For example, `gpt-5.4` will try available providers such as `gpt-5.4@openai` and `gpt-5.4@openrouter` before moving to the next model. Runtime fallback is used for non-retryable provider/model failures such as quota, billing, permission, or model-unavailable errors. `fast_model` is used for session-title generation; `compact_model` is used for compact/helper tasks.
129
129
 
130
130
  When you switch models with `/model`, Klaude updates `main_model` without discarding the fallback chain: the selected model is moved to the front if it already exists, or inserted at the front otherwise.
131
131
 
@@ -144,7 +144,6 @@ When you switch models with `/model`, Klaude updates `main_model` without discar
144
144
  | cerebras | `CEREBRAS_API_KEY` | glm |
145
145
  | claude-max | N/A (OAuth) | sonnet, sonnet-no-thinking, opus, haiku |
146
146
  | codex | N/A (OAuth) | gpt-5.3-codex, gpt-5.3-codex-xhigh, gpt-5.4-high, gpt-5.4-xhigh |
147
- | 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 |
148
147
  | ark-api | `ARK_API_KEY` | seed-pro, seed-code |
149
148
  | ark-coding-plan | `ARK_API_KEY` | seed-code, kimi |
150
149
 
@@ -276,7 +275,6 @@ sub_agent_models:
276
275
  - `openai` - OpenAI Chat Completion API
277
276
  - `responses` - OpenAI Responses API (for o-series, GPT-5, Codex)
278
277
  - `codex_oauth` - OpenAI Codex CLI (OAuth-based, for ChatGPT Pro subscribers)
279
- - `github_copilot_oauth` - GitHub Copilot (OAuth-based)
280
278
  - `openrouter` - OpenRouter API (handling `reasoning_details` for interleaved thinking)
281
279
  - `google` - Google Gemini API
282
280
  - `google_vertex` - Google Vertex AI (uses GCP credentials)
@@ -320,7 +318,6 @@ Inside the interactive session (`klaude`), use these commands to streamline your
320
318
  - `/new` - Start a new session (clears context).
321
319
  - `/model` - Switch the active LLM and update `main_model` in config while preserving fallback order (the selected model is moved/inserted to the front).
322
320
  - `/sub-agent-model` - Configure sub-agent models at runtime.
323
- - `/thinking` - Change thinking/reasoning level.
324
321
  - `/status` - Show session usage statistics (cost, tokens, model breakdown).
325
322
  - `/login` - Login to provider or configure API key.
326
323
  - `/logout` - Logout from provider.
@@ -336,7 +333,6 @@ Inside the interactive session (`klaude`), use these commands to streamline your
336
333
  | `Shift+Enter` | Insert newline (terminal-dependent) |
337
334
  | `Ctrl+J` | Insert newline |
338
335
  | `Ctrl+L` | Open model picker overlay |
339
- | `Ctrl+T` | Open thinking level picker overlay |
340
336
  | `Ctrl+V` | Paste image from clipboard |
341
337
  | `Left/Right` | Move cursor (wraps across lines) |
342
338
  | `Backspace` | Delete character or selected text |
@@ -375,13 +371,13 @@ Klaude is designed to maximize prefix cache hit rates across LLM API calls. Cach
375
371
  **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.
376
372
 
377
373
  Design choices that preserve prefix stability:
378
- - **Stable system prompt**: The system prompt is composed of a static base prompt + stable tool strategy block + environment info, avoiding per-turn variation.
374
+ - **Stable system prompt**: The system prompt is composed of a static base prompt + stable tool strategy block + environment info, avoiding per-step variation.
379
375
  - **Stable JSON serialization**: Tool schemas and provider payloads use `canonicalize_json()` for deterministic key ordering across calls.
380
376
  - **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.
381
377
  - **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.
382
378
  - **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.
383
379
 
384
- 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.
380
+ The TUI displays cache hit rate per step in the metadata line (e.g. `cache 12.5k (98%)`). Rates below 90% are highlighted as a warning.
385
381
 
386
382
  ### Context Management
387
383
 
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "klaude-code"
7
- version = "2.30.0"
7
+ version = "2.31.0"
8
8
  description = "Minimal code agent CLI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.13"
@@ -0,0 +1,3 @@
1
+ """Execution-plane package (agent/task/step/runtime)."""
2
+
3
+ __all__: list[str] = []
@@ -38,7 +38,7 @@ class Agent:
38
38
  self.profile: AgentProfile = profile
39
39
  self.compact_llm_client: LLMClientABC | None = compact_llm_client
40
40
  self._current_task: TaskExecutor | None = None
41
- self._follow_up_queue: list[UserInputPayload] = [item.model_copy(deep=True) for item in session.follow_up_queue]
41
+ self._follow_up_queue: list[UserInputPayload] = list(session.follow_up_queue)
42
42
  self._last_interrupt_show_notice = True
43
43
  self._last_interrupt_prefill_text: str | None = None
44
44
  self.request_user_interaction = request_user_interaction
@@ -163,7 +163,9 @@ class Agent:
163
163
  self.session.model_name = profile.llm_client.model_name
164
164
 
165
165
  def _apply_llm_client_change(self, llm_client: LLMClientABC) -> AgentProfile:
166
- if self._model_profile_provider is None:
166
+ if self._model_profile_provider is None or (
167
+ self.session.sub_agent_state is not None and self.session.sub_agent_state.fork_context
168
+ ):
167
169
  profile = AgentProfile(
168
170
  llm_client=llm_client,
169
171
  system_prompt=self.profile.system_prompt,
@@ -254,7 +254,7 @@ def _compute_diff_snippet(old_content: str, new_content: str, file_path: str) ->
254
254
 
255
255
  * If ``old_content + new_content`` already exceeds the source size limit,
256
256
  skip ``difflib`` entirely. Large HTML/minified blobs produce diffs that
257
- approach ``2x`` the source, which in past sessions pushed the next turn
257
+ approach ``2x`` the source, which in past sessions pushed the next step
258
258
  past the 1M-token ceiling even after a successful compaction.
259
259
  * After the diff is built, keep only the first ``ATTACHMENT_DIFF_MAX_LINES``
260
260
  lines and append a Read-tool-style notice, mirroring how the Read tool
@@ -162,7 +162,7 @@ def _render_skill_inline_content(raw_content: str, skill: Skill) -> str:
162
162
 
163
163
  The raw content (not the rendered/truncated version) should still be used
164
164
  when computing the skill's file-tracker sha256; otherwise a truncated skill
165
- would be re-classified as "changed" on every turn.
165
+ would be re-classified as "changed" on every step.
166
166
  """
167
167
  truncation = truncate_text_by_lines(raw_content, max_lines=ATTACHMENT_SKILL_MAX_LINES)
168
168
  if not truncation.truncated:
@@ -20,7 +20,7 @@ from klaude_code.session.session import Session
20
20
  _AWAY_SUMMARY_MAX_TOKENS = 512
21
21
 
22
22
  # Recap only needs recent context — truncate to avoid "prompt too long" on
23
- # large sessions. 30 turn messages is plenty for "where we left off."
23
+ # large sessions. 30 recent messages is plenty for "where we left off."
24
24
  _RECENT_MESSAGE_WINDOW = 30
25
25
 
26
26
 
@@ -29,17 +29,17 @@ def _build_away_summary_user_message(transcript: str) -> message.UserMessage:
29
29
  return message.UserMessage(parts=[message.TextPart(text=body)])
30
30
 
31
31
 
32
- def _recent_turn_messages(session: Session, limit: int) -> list[message.Message]:
33
- """Pull the last `limit` turn messages (user/assistant/tool_result)."""
32
+ def _recent_recap_messages(session: Session, limit: int) -> list[message.Message]:
33
+ """Pull the last `limit` recap messages (user/assistant/tool_result)."""
34
34
 
35
- turns: list[message.Message] = []
35
+ messages: list[message.Message] = []
36
36
  for item in reversed(session.conversation_history):
37
37
  if isinstance(item, (message.UserMessage, message.AssistantMessage, message.ToolResultMessage)):
38
- turns.append(item)
39
- if len(turns) >= limit:
38
+ messages.append(item)
39
+ if len(messages) >= limit:
40
40
  break
41
- turns.reverse()
42
- return turns
41
+ messages.reverse()
42
+ return messages
43
43
 
44
44
 
45
45
  def _normalize_recap(raw: str) -> str | None:
@@ -59,11 +59,11 @@ async def generate_away_summary(
59
59
  """Generate a short away-summary text. Returns None on empty session,
60
60
  abort, or error — never raises."""
61
61
 
62
- turns = _recent_turn_messages(session, _RECENT_MESSAGE_WINDOW)
63
- if not turns:
62
+ messages = _recent_recap_messages(session, _RECENT_MESSAGE_WINDOW)
63
+ if not messages:
64
64
  return None
65
65
 
66
- transcript = serialize_conversation(turns)
66
+ transcript = serialize_conversation(messages)
67
67
  if not transcript.strip():
68
68
  return None
69
69
 
@@ -75,7 +75,7 @@ async def generate_away_summary(
75
75
  call_param.max_tokens = _AWAY_SUMMARY_MAX_TOKENS
76
76
  call_param.tools = None
77
77
 
78
- log_debug("[AwaySummary] request", f"turns={len(turns)}", debug_type=DebugType.RESPONSE)
78
+ log_debug("[AwaySummary] request", f"messages={len(messages)}", debug_type=DebugType.RESPONSE)
79
79
 
80
80
  if cancel is not None and cancel.is_set():
81
81
  return None
@@ -1,9 +1,9 @@
1
1
  """Prompt-prefix cache tracking: hit rate computation and break detection.
2
2
 
3
- Consolidates all cache-related turn-over-turn tracking:
3
+ Consolidates all cache-related step-over-step tracking:
4
4
  - Cache hit rate: ``cached_tokens[N] / input_tokens[N-1]``, fed to the spinner.
5
5
  - Cache break detection: alerts when cached tokens drop significantly between
6
- turns, writes a report file with diagnosis.
6
+ steps, writes a report file with diagnosis.
7
7
  """
8
8
 
9
9
  from __future__ import annotations
@@ -79,7 +79,7 @@ class CacheBreakReport:
79
79
  "Prompt Cache Break Report",
80
80
  "========================",
81
81
  f"Time: {datetime.now().isoformat()}",
82
- f"Turn: #{self.call_number}",
82
+ f"Step: #{self.call_number}",
83
83
  "",
84
84
  "## Summary",
85
85
  f"Reason: {self.reason}",
@@ -127,15 +127,15 @@ class CacheBreakReport:
127
127
 
128
128
 
129
129
  class CacheTracker:
130
- """Tracks prompt-prefix cache across turns.
130
+ """Tracks prompt-prefix cache across steps.
131
131
 
132
- Owned by ``MetadataAccumulator``; handles both the per-turn hit rate
132
+ Owned by ``MetadataAccumulator``; handles both the per-step hit rate
133
133
  (for the spinner) and cache-break detection (for the error alert).
134
134
  """
135
135
 
136
136
  def __init__(self) -> None:
137
137
  # --- hit rate state ---
138
- self._prev_turn_input_tokens: int = 0
138
+ self._prev_step_input_tokens: int = 0
139
139
  self._hit_rate_sum: float = 0.0
140
140
  self._hit_rate_count: int = 0
141
141
  self.last_hit_rate: float | None = None
@@ -152,13 +152,13 @@ class CacheTracker:
152
152
  # -- public: called by MetadataAccumulator ---------------------
153
153
 
154
154
  @property
155
- def prev_turn_input_tokens(self) -> int:
156
- """Input token count from the most recent successful turn (for first-token timeout)."""
157
- return self._prev_turn_input_tokens
155
+ def prev_step_input_tokens(self) -> int:
156
+ """Input token count from the most recent successful step (for first-token timeout)."""
157
+ return self._prev_step_input_tokens
158
158
 
159
159
  @property
160
160
  def avg_hit_rate(self) -> float | None:
161
- """Average cache hit rate across all turns (for task metadata)."""
161
+ """Average cache hit rate across all steps (for task metadata)."""
162
162
  return self._hit_rate_sum / self._hit_rate_count if self._hit_rate_count > 0 else None
163
163
 
164
164
  def record_pre_call_state(
@@ -180,18 +180,18 @@ class CacheTracker:
180
180
  self._call_count += 1
181
181
 
182
182
  def update(self, usage: Usage) -> CacheBreakReport | None:
183
- """Process a turn's usage: compute hit rate and check for cache break.
183
+ """Process a step's usage: compute hit rate and check for cache break.
184
184
 
185
185
  Returns a ``CacheBreakReport`` if a break is detected, ``None`` otherwise.
186
186
  """
187
187
  # --- hit rate ---
188
- if self._prev_turn_input_tokens > 0:
189
- hit_rate = usage.cached_tokens / self._prev_turn_input_tokens
188
+ if self._prev_step_input_tokens > 0:
189
+ hit_rate = usage.cached_tokens / self._prev_step_input_tokens
190
190
  self._hit_rate_sum += hit_rate
191
191
  self._hit_rate_count += 1
192
192
  self.last_hit_rate = hit_rate
193
193
  self.last_cached_tokens = usage.cached_tokens
194
- self.last_prev_input_tokens = self._prev_turn_input_tokens
194
+ self.last_prev_input_tokens = self._prev_step_input_tokens
195
195
  else:
196
196
  self.last_hit_rate = None
197
197
  self.last_cached_tokens = 0
@@ -199,7 +199,7 @@ class CacheTracker:
199
199
 
200
200
  # Use the larger value as denominator baseline so cache hit rate remains
201
201
  # stable across providers with different usage field semantics.
202
- self._prev_turn_input_tokens = max(
202
+ self._prev_step_input_tokens = max(
203
203
  usage.input_tokens,
204
204
  usage.cached_tokens + usage.cache_write_tokens,
205
205
  )
@@ -45,12 +45,12 @@ if run_ops and should_compact_threshold(...):
45
45
  await executor.submit_and_wait(CompactSessionOperation(...))
46
46
  ```
47
47
 
48
- ### 2. Task Turn Start (`agent/task.py`)
48
+ ### 2. Task Step Start (`agent/task.py`)
49
49
 
50
- At the beginning of each turn in `TaskRunner._run_inner()`. Important for multi-turn tool loops where no new user input occurs:
50
+ At the beginning of each step in `TaskRunner._run_inner()`. Important for multi-step tool loops where no new user input occurs:
51
51
 
52
52
  ```python
53
- # Threshold-based compaction before starting a new turn
53
+ # Threshold-based compaction before starting a new step
54
54
  if ctx.sub_agent_state is None and should_compact_threshold(...):
55
55
  result = await run_compaction(reason=CompactionReason.THRESHOLD, ...)
56
56
  session_ctx.append_history([result.to_entry()])
@@ -63,11 +63,11 @@ Note: Sub-agents skip threshold compaction (handled by parent).
63
63
  When LLM API returns context overflow error, triggers compaction and retries:
64
64
 
65
65
  ```python
66
- except TurnError as e:
66
+ except StepError as e:
67
67
  if is_context_overflow(str(e)):
68
68
  result = await run_compaction(reason=CompactionReason.OVERFLOW, ...)
69
69
  session_ctx.append_history([result.to_entry()])
70
- continue # retry turn
70
+ continue # retry step
71
71
  ```
72
72
 
73
73
  ## Compaction Process
@@ -22,6 +22,7 @@ from klaude_code.llm import LLMClientABC
22
22
  from klaude_code.prompts.compaction import (
23
23
  COMPACT_FORK_PROMPT,
24
24
  COMPACT_FORK_UPDATE_PROMPT,
25
+ COMPACTION_CONTINUATION_INSTRUCTION,
25
26
  COMPACTION_SUMMARY_PREFIX,
26
27
  SUMMARIZATION_PROMPT,
27
28
  SUMMARIZATION_SYSTEM_PROMPT,
@@ -36,6 +37,21 @@ _MAX_TOOL_OUTPUT_CHARS = 4000
36
37
  _MAX_TOOL_CALL_CHARS = 2000
37
38
  _DEFAULT_IMAGE_TOKENS = 1200
38
39
  _SYSTEM_REMINDER_RE = re.compile(r"<system-reminder>.*?</system-reminder>", re.DOTALL)
40
+ _CONSTRAINTS_SECTION_RE = re.compile(r"(?ms)^(## Constraints & Preferences\s*\n)(.*?)(?=^## |\Z)")
41
+ _SUMMARY_INSTRUCTION_LEAK_MARKERS = (
42
+ "不要继续当前任务",
43
+ "不要继续对话",
44
+ "只输出结构化上下文摘要",
45
+ "只输出结构化摘要",
46
+ "只输出更新后的结构化摘要",
47
+ "do not continue the task",
48
+ "do not continue the conversation",
49
+ "only output the structured summary",
50
+ "only output the updated structured summary",
51
+ "tool/continuation/output-format rules",
52
+ )
53
+ _SUMMARY_TOOL_LEAK_MARKERS = ("不要调用任何工具", "不要使用工具", "do not call any tools")
54
+ _SUMMARY_CONTEXT_MARKERS = ("摘要", "summary", "structured", "only output", "只输出")
39
55
 
40
56
 
41
57
  class CompactionReason(str, Enum):
@@ -91,7 +107,7 @@ def _resolve_compaction_config(
91
107
  keep_recent = min(keep_recent, max_keep)
92
108
  # Manual /compact expresses user intent to aggressively free context, not
93
109
  # just bring the session back under the auto threshold. Shrink keep_recent
94
- # so roughly the last turn or two stays uncompacted. Guarded by min() so
110
+ # so roughly the last step or two stays uncompacted. Guarded by min() so
95
111
  # tiny sessions (where threshold keep is already small) don't inflate back.
96
112
  if reason == CompactionReason.MANUAL:
97
113
  keep_recent = min(keep_recent, max(2048, min(8192, keep_recent // 4)))
@@ -202,7 +218,11 @@ async def run_compaction(
202
218
  if cut_index <= base_start_index:
203
219
  raise ValueError("Nothing to compact (session too small)")
204
220
 
205
- previous_summary = last_compaction.summary if last_compaction else None
221
+ previous_summary = (
222
+ sanitize_summary_instruction_leaks(_strip_trailing_continuation_instruction(last_compaction.summary))
223
+ if last_compaction
224
+ else None
225
+ )
206
226
  tokens_before = get_last_context_tokens(session)
207
227
  if tokens_before is None:
208
228
  tokens_before = estimate_history_tokens(history)
@@ -255,6 +275,8 @@ async def run_compaction(
255
275
  )
256
276
  fork_usage = None
257
277
 
278
+ summary = sanitize_summary_instruction_leaks(summary)
279
+
258
280
  file_ops = collect_file_operations(
259
281
  session=session,
260
282
  summarized_messages=messages_to_summarize,
@@ -262,6 +284,7 @@ async def run_compaction(
262
284
  previous_details=last_compaction.details if last_compaction else None,
263
285
  )
264
286
  summary += format_file_operations(file_ops.read_files, file_ops.modified_files)
287
+ summary = append_continuation_instruction(summary)
265
288
 
266
289
  kept_items_brief = collect_kept_items_brief(history, cut_index)
267
290
 
@@ -498,6 +521,44 @@ def format_file_operations(read_files: list[str], modified_files: list[str]) ->
498
521
  return "\n\n" + "\n\n".join(sections)
499
522
 
500
523
 
524
+ def sanitize_summary_instruction_leaks(summary: str) -> str:
525
+ """Remove compaction meta-instructions leaked into summary constraints."""
526
+
527
+ def _replace(match: re.Match[str]) -> str:
528
+ header = match.group(1)
529
+ body = match.group(2)
530
+ kept_lines = [line for line in body.splitlines() if not _is_summary_instruction_leak(line)]
531
+ kept_body = "\n".join(kept_lines).strip()
532
+ if not kept_body:
533
+ kept_body = "- (none)"
534
+ return f"{header}{kept_body}\n\n"
535
+
536
+ return _CONSTRAINTS_SECTION_RE.sub(_replace, summary)
537
+
538
+
539
+ def _is_summary_instruction_leak(line: str) -> bool:
540
+ normalized = line.strip().lower()
541
+ if not normalized.startswith(("-", "*")):
542
+ return False
543
+ if any(marker in normalized for marker in _SUMMARY_INSTRUCTION_LEAK_MARKERS):
544
+ return True
545
+ has_tool_marker = any(marker in normalized for marker in _SUMMARY_TOOL_LEAK_MARKERS)
546
+ has_summary_context = any(marker in normalized for marker in _SUMMARY_CONTEXT_MARKERS)
547
+ return has_tool_marker and has_summary_context
548
+
549
+
550
+ def append_continuation_instruction(summary: str) -> str:
551
+ base = _strip_trailing_continuation_instruction(summary).rstrip()
552
+ return f"{base}\n\n{COMPACTION_CONTINUATION_INSTRUCTION}"
553
+
554
+
555
+ def _strip_trailing_continuation_instruction(summary: str) -> str:
556
+ stripped = summary.rstrip()
557
+ if stripped.endswith(COMPACTION_CONTINUATION_INSTRUCTION):
558
+ return stripped[: -len(COMPACTION_CONTINUATION_INSTRUCTION)].rstrip()
559
+ return summary
560
+
561
+
501
562
  def _find_last_compaction(
502
563
  history: list[message.HistoryEvent],
503
564
  ) -> tuple[int, message.CompactionEntry | None]:
@@ -566,10 +627,10 @@ def _adjust_cut_index(history: list[message.HistoryEvent], cut_index: int, start
566
627
  # kept together. This protects get_llm_history's _strip_dangling_tool_calls from
567
628
  # fabricating synthetic "interrupted" messages (which also breaks cache prefix
568
629
  # match with the parent request).
569
- return _avoid_splitting_tool_turn(history, cut_index, start_index)
630
+ return _avoid_splitting_tool_step(history, cut_index, start_index)
570
631
 
571
632
 
572
- def _avoid_splitting_tool_turn(history: list[message.HistoryEvent], cut_index: int, start_index: int) -> int:
633
+ def _avoid_splitting_tool_step(history: list[message.HistoryEvent], cut_index: int, start_index: int) -> int:
573
634
  """Walk compacted backwards; if the most recent Assistant has dangling tool_calls,
574
635
  move cut_index to before that Assistant.
575
636
  """
@@ -604,7 +665,7 @@ def _find_anchor_index(history: list[message.HistoryEvent], start: int, *, forwa
604
665
  DeveloperMessage is skipped because this search is invoked precisely to escape
605
666
  a DeveloperMessage cut position.
606
667
 
607
- The final ``_avoid_splitting_tool_turn`` pass catches the remaining unsafe
668
+ The final ``_avoid_splitting_tool_step`` pass catches the remaining unsafe
608
669
  case: cut landing immediately before an Assistant whose tool_calls have
609
670
  results in compacted (rare, only via backward anchor).
610
671
  """
@@ -22,7 +22,7 @@ from klaude_code.agent.compaction.compaction import (
22
22
  )
23
23
  from klaude_code.const import (
24
24
  INITIAL_RETRY_DELAY_S,
25
- MAX_FAILED_TURN_RETRIES,
25
+ MAX_FAILED_STEP_RETRIES,
26
26
  MAX_RETRY_DELAY_S,
27
27
  )
28
28
  from klaude_code.llm import LLMClientABC
@@ -220,7 +220,7 @@ async def _call_extractor(
220
220
  if cancel is not None and cancel.is_set():
221
221
  raise asyncio.CancelledError
222
222
 
223
- for attempt in range(MAX_FAILED_TURN_RETRIES + 1):
223
+ for attempt in range(MAX_FAILED_STEP_RETRIES + 1):
224
224
  try:
225
225
  return await _call_extractor_once(
226
226
  input=input,
@@ -231,7 +231,7 @@ async def _call_extractor(
231
231
  except asyncio.CancelledError:
232
232
  raise
233
233
  except Exception:
234
- if attempt >= MAX_FAILED_TURN_RETRIES:
234
+ if attempt >= MAX_FAILED_STEP_RETRIES:
235
235
  raise
236
236
  delay = _retry_delay_seconds(attempt + 1)
237
237
  if cancel is None:
@@ -1,9 +1,9 @@
1
- """Prompt-suggestion generator (forked LLM query, cache-shared with main turn).
1
+ """Prompt-suggestion generator (forked LLM query, cache-shared with main step).
2
2
 
3
3
  After every task finishes, predict what the user might naturally type next.
4
- Mirrors claude-code's promptSuggestion service: short single-turn LLM call
4
+ Mirrors claude-code's promptSuggestion service: short single-step LLM call
5
5
  with the main profile's system/tools/model/thinking, so the wire prefix
6
- equals the parent turn's wire prefix and cache read hits ~100%.
6
+ equals the parent step's wire prefix and cache read hits ~100%.
7
7
 
8
8
  The model is instructed to reply with exactly ``[DONE]`` when it has nothing
9
9
  worth suggesting; we filter that plus a small set of low-quality patterns
@@ -73,7 +73,7 @@ def should_suggest(session: Session) -> str | None:
73
73
  usage = last_assistant.usage
74
74
  if usage is not None:
75
75
  # Cache-cold budget, matching claude-code's getParentCacheSuppressReason:
76
- # skip when the parent turn had to do a lot of fresh (un-cached) work,
76
+ # skip when the parent step had to do a lot of fresh (un-cached) work,
77
77
  # because the fork inherits similar cost.
78
78
  total_input = _normalized_total_input_tokens(usage)
79
79
  uncached = max(0, total_input - usage.cached_tokens) + usage.output_tokens
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import asyncio
6
6
  import contextlib
7
+ import traceback
7
8
  from collections.abc import Awaitable, Callable
8
9
  from dataclasses import dataclass
9
10
  from pathlib import Path
@@ -112,7 +113,6 @@ class AgentOperationHandler:
112
113
  allowed_sources: set[user_interaction.UserInteractionSource] = {
113
114
  "tool",
114
115
  "operation_model",
115
- "operation_thinking",
116
116
  "operation_sub_agent_model",
117
117
  }
118
118
  if source not in allowed_sources:
@@ -974,8 +974,6 @@ class AgentOperationHandler:
974
974
  await self._emit_event(events.TaskFinishEvent(session_id=session_id, task_result="task cancelled"))
975
975
 
976
976
  except Exception as e:
977
- import traceback
978
-
979
977
  log_debug(
980
978
  f"Agent task {task_id} failed: {e!s}",
981
979
  debug_type=DebugType.EXECUTION,
@@ -1080,8 +1078,6 @@ class AgentOperationHandler:
1080
1078
  )
1081
1079
  raise
1082
1080
  except Exception as exc:
1083
- import traceback
1084
-
1085
1081
  log_debug(
1086
1082
  f"[Compact:{reason}] error",
1087
1083
  str(exc.__class__.__name__),
@@ -2,7 +2,7 @@
2
2
 
3
3
  The recap is auto-triggered only when all of the following are true:
4
4
 
5
- - A task/turn finished.
5
+ - A task finished.
6
6
  - The TUI is back at the prompt.
7
7
  - The user has not pressed any keys since that task finished.
8
8
  - The prompt stayed idle for the configured delay.