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.
- {klaude_code-2.30.0 → klaude_code-2.31.0}/PKG-INFO +4 -8
- {klaude_code-2.30.0 → klaude_code-2.31.0}/README.md +3 -7
- {klaude_code-2.30.0 → klaude_code-2.31.0}/pyproject.toml +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/.DS_Store +0 -0
- klaude_code-2.31.0/src/klaude_code/agent/__init__.py +3 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/agent.py +4 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/files.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/skills.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/away_summary.py +12 -12
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/cache_break_detection.py +15 -15
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/AGENTS.md +5 -5
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/compaction.py +66 -5
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/handoff.py +3 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/prompt_suggestion/prompt_suggestion.py +4 -4
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/agent_ops.py +1 -5
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/away_summary.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/config_ops.py +0 -71
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/dispatcher.py +0 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/sub_agent.py +32 -5
- klaude_code-2.30.0/src/klaude_code/agent/turn.py → klaude_code-2.31.0/src/klaude_code/agent/step.py +49 -49
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/task.py +291 -268
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/auth_flow.py +129 -67
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/runtime_facade.py +0 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/AGENTS.md +5 -21
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/__init__.py +0 -16
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/oauth.py +9 -7
- klaude_code-2.31.0/src/klaude_code/auth/codex/token_manager.py +192 -0
- klaude_code-2.31.0/src/klaude_code/auth/removed_provider.py +46 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/auth_cmd.py +41 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/oauth_usage.py +0 -71
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/assets/builtin_config.yaml +212 -68
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/config.py +94 -91
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/merge.py +3 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/model_matcher.py +10 -10
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/const.py +2 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/actor.py +1 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/AGENTS.md +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/client.py +20 -45
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/bedrock_anthropic/client.py +15 -15
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/client.py +28 -28
- klaude_code-2.31.0/src/klaude_code/llm/http.py +15 -0
- klaude_code-2.31.0/src/klaude_code/llm/model_workarounds.py +35 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_codex/client.py +2 -4
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/client.py +3 -7
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/stream.py +3 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/client.py +3 -7
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/client.py +2 -4
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/reasoning.py +5 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/registry.py +0 -1
- klaude_code-2.31.0/src/klaude_code/llm/stop_reason.py +24 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/usage.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/compaction.py +11 -4
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/messages.py +2 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-finder.md +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/base-system-prompt-gpt.md +30 -5
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/events.py +8 -8
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/llm_param.py +1 -16
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/message.py +17 -6
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/model_id.py +0 -32
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/sub_agent.py +1 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/task_metadata.py +10 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/op.py +1 -19
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/op_handler.py +0 -5
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/user_interaction.py +0 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/session.py +26 -29
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/store.py +57 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/SKILL.md +0 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/builtin-providers.md +0 -6
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/config-file.md +1 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/agent_tool.md +4 -0
- klaude_code-2.31.0/src/klaude_code/tool/agent_tool.py +219 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/runner.py +10 -10
- klaude_code-2.31.0/src/klaude_code/tool/file/_read_core.py +166 -0
- klaude_code-2.31.0/src/klaude_code/tool/file/read_handlers.py +286 -0
- klaude_code-2.31.0/src/klaude_code/tool/file/read_tool.py +260 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/command_safety.py +4 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/__init__.py +3 -3
- klaude_code-2.31.0/src/klaude_code/tui/command/assets/export_session.css +838 -0
- klaude_code-2.31.0/src/klaude_code/tui/command/assets/export_session.js +84 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/auth_selector.py +19 -12
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/export_session_html.py +5 -926
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/login_cmd.py +47 -3
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/logout_cmd.py +45 -3
- klaude_code-2.31.0/src/klaude_code/tui/command/switch_cmd.py +98 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/types.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/metadata.py +10 -10
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/quote.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/sub_agent.py +2 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_dispatch.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/welcome.py +0 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/display.py +1 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/key_bindings.py +0 -8
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/prompt_toolkit.py +3 -82
- klaude_code-2.31.0/src/klaude_code/tui/machine.py +1603 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/renderer.py +13 -16
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/runner.py +20 -24
- 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
- klaude_code-2.31.0/src/klaude_code/web/dist/assets/index-CPeCxOAy.css +1 -0
- 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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/index.html +2 -2
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/ws.py +2 -26
- klaude_code-2.30.0/src/klaude_code/agent/__init__.py +0 -3
- klaude_code-2.30.0/src/klaude_code/auth/codex/token_manager.py +0 -26
- klaude_code-2.30.0/src/klaude_code/auth/copilot/__init__.py +0 -20
- klaude_code-2.30.0/src/klaude_code/auth/copilot/exceptions.py +0 -17
- klaude_code-2.30.0/src/klaude_code/auth/copilot/oauth.py +0 -234
- klaude_code-2.30.0/src/klaude_code/auth/copilot/token_manager.py +0 -64
- klaude_code-2.30.0/src/klaude_code/config/thinking.py +0 -357
- klaude_code-2.30.0/src/klaude_code/llm/copilot/__init__.py +0 -3
- klaude_code-2.30.0/src/klaude_code/llm/copilot/client.py +0 -275
- klaude_code-2.30.0/src/klaude_code/tool/agent_tool.py +0 -131
- klaude_code-2.30.0/src/klaude_code/tool/file/read_tool.py +0 -609
- klaude_code-2.30.0/src/klaude_code/tui/command/thinking_cmd.py +0 -24
- klaude_code-2.30.0/src/klaude_code/tui/machine.py +0 -1427
- klaude_code-2.30.0/src/klaude_code/web/dist/assets/index-TK8frDq8.css +0 -1
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/agent_profile.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/collection.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/memory.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/attachments/state.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/bash_mode.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/cache_safe.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/compaction/overflow.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/handoff/manager.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/model_fallback.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/prompt_suggestion/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/rewind/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/rewind/manager.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/runtime/llm.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/session_stats.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/session_title.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/skill_inventory.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/agent/system_prompt.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/log_viewer.html +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/log_viewer.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/display.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/ports/interaction.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/app/runtime.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/base.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/exceptions.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/codex/jwt_utils.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/auth/env.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/config_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/cost_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/debug.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/list_model.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/main.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/self_update.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/cli/web_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/assets/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/builtin_config.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/formatters.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/loader.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/config/sub_agent_model.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/event_bus.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/event_relay.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/runtime/registry.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/session_meta_relay.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/control/user_interaction.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/anthropic/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/bedrock_anthropic/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/client.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google_vertex/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/google_vertex/client.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/image.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/input_common.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/json_stable.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_codex/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_compatible/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openai_responses/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/openrouter/input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/proxy_support.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/llm/stream_parts.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/log.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/attachments.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/away_summary.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/handoff.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/prompt_suggestion.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/session_title.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-review.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents/prompt-sub-agent-simplifier.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/sub_agents.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/auto-memory-prompt.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/base-system-prompt.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/extended-thinking-prompt.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/following-conventions-prompt.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/prompts/system/git-workspace-hygiene-prompt.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/input_syntax.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/common.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/developer_ui.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/file_tracking.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/session_runtime.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/todo.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/tool_ui.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/models/usage.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/finder.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/general_purpose.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/review.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/sub_agent/simplifier.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/system_prompt.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/protocol/tools.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/codec.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/history.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/meta.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/selector.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/session/store_registry.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/.git +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/.gitignore +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/SOURCES.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/authentication.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/commands.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/profiling.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/proxy-support.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/session-management.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/snapshot-refs.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/references/video-recording.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/authenticated-session.sh +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/capture-workflow.sh +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/agent-browser/templates/form-automation.sh +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/frontend-design/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/LICENSE.txt +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/cli.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/image-api.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/prompting.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/references/sample-prompts.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/gpt-image-gen/scripts/image_gen.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/memory-files.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/klaude-config/references/skill-system.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/cli.md +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/nano-banana-image-gen/references/prompting.md +0 -0
- {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
- {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
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/forms.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/reference.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/check_bounding_boxes.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/check_fillable_fields.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/convert_pdf_to_images.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/create_validation_image.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_field_info.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/extract_form_structure.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/pdf/scripts/fill_fillable_fields.py +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/LICENSE.txt +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/NOTICE.txt +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/assets/playwright-small.svg +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/assets/playwright.png +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/references/cli.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/references/workflows.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/playwright/scripts/playwright_cli.sh +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/3d.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/animations.md +0 -0
- {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
- {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
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/assets.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio-visualization.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/audio.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/calculate-metadata.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/can-decode.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/charts.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/compositions.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/display-captions.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/extract-frames.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/ffmpeg.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/fonts.md +0 -0
- {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
- {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
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/gifs.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/images.md +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/light-leaks.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/lottie.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/maps.md +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/measuring-text.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/parameters.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sequencing.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/sfx.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/subtitles.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/tailwind.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/text-animations.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/timing.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transcribe-captions.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transitions.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/transparent-videos.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/trimming.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/videos.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/remotion-best-practices/rules/voiceover.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/.gitignore +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/package.json +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/config/preferences-schema.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/templates/standalone.html +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/references/troubleshooting.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/scripts/render_mermaid.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/render-mermaid/scripts/setup.sh +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/session-logs/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/skill-creator/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/skills-lock.json +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/LICENSE.txt +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/assets/sora-small.svg +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/assets/sora.png +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/cinematic-shots.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/cli.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/prompting.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/sample-prompts.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/social-ads.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/troubleshooting.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/references/video-api.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/sora/scripts/sora.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/svg-animations/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/svg-animations/examples/index.html +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/assets/web-search/SKILL.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/loader.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/manager.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/skill/system_skills.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/ask_user_question_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/ask_user_question_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/abc.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/context.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/offload.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/core/registry.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/_utils.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/apply_patch_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/diff_builder.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/edit_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/edit_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/read_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/write_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/file/write_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/handoff_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/handoff_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/rewind_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/rewind_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/bash_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/shell/bash_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/todo/todo_write_tool_raw.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/external_content.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/ssrf.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_cache.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_fetch_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_fetch_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_search_tool.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tool/web/web_search_tool.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/command_abc.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/compact_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/continue_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/copy_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/debug_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/export_session_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/fork_session_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/model_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/model_picker.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/new_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/recap_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/refresh_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/registry.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/status_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/sub_agent_model_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/command/web_cmd.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/commands.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/away_summary.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/bash_syntax.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/command_output.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/common.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/developer.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/diffs.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/errors.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/cjk_wrap.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/markdown.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/status.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/rich/theme.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/task_file_changes.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/thinking.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_bash.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_common.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_file.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_question.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_read.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_rewind.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_todo.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/tools/_web.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/components/user_input.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/AGENTS.md +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/completers.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/completion_menu.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/drag_drop.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/flicker_safe_stdout.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/images.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/paste.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/prompt_status_bar.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/input/pt_theme.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/status_runtime.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/ask_user_question.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/color.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/control.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/focus_tracker.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/image.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/notifier.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/prevent_sleep.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/selector.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/session_selector.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/tui/terminal/title.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/update.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/app.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/display.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/abap-BdImnpbu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/actionscript-3-CoDkCxhg.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ada-bCR0ucgS.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/andromeeda-C4gqWexZ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/angular-html-CU67Zn6k.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/angular-ts-BwZT4LLn.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apache-Pmp26Uib.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apex-D8_7TLub.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/apl-dKokRX4l.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/applescript-Co6uUVPk.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ara-BRHolxvo.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/asciidoc-Ve4PFQV2.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/asm-D_Q5rh1f.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/astro-CbQHKStN.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/aurora-x-D-2ljcwZ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/awk-DMzUqQB5.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-dark-DYE7WIF3.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-light-BA47KaF1.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ayu-mirage-32ctXXKs.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ballerina-BFfxhgS-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bat-BkioyH1T.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/beancount-k_qm7-4y.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/berry-uYugtg8r.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bibtex-CHM0blh-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bicep-Bmn6On1c.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bird2-DPOp833l.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/blade-D4QpJJKB.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/bsl-BO_Y6i37.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/c-BIGW1oBm.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/c3-eo99z4R2.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cadence-Bv_4Rxtq.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cairo-KRGpt6FW.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-frappe-DFWUc33u.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-latte-C9dUb6Cb.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-macchiato-DQyhUUbL.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/catppuccin-mocha-D87Tk5Gz.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/clarity-D53aC0YG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/clojure-P80f7IUj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cmake-D1j8_8rp.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cobol-nwyudZeR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/codeowners-Bp6g37R7.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/codeql-DsOJ9woJ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/coffee-Ch7k5sss.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/common-lisp-Cg-RD9OK.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/coq-DkFqJrB1.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cpp-CofmeUqb.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/crystal-tKQVLTB8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/csharp-COcwbKMJ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/css-DPfMkruS.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/csv-fuZLfV_i.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cue-D82EKSYY.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/cypher-COkxafJQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/d-85-TOEBH.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dark-plus-C3mMm8J8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dart-CF10PKvl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dax-CEL-wOlO.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/desktop-BmXAJ9_W.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/diff-D97Zzqfu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/docker-BcOcwvcX.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dotenv-Da5cRb03.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dracula-BzJJZx-M.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dracula-soft-BXkSAIEj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/dream-maker-BtqSS_iP.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/edge-BkV0erSs.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/elixir-CDX3lj18.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/elm-DbKCFpqz.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/emacs-lisp-C9XAeP06.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/erb-B12qg9BL.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/erlang-DsQrWhSR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/everforest-dark-BgDCqdQA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/everforest-light-C8M2exoo.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fennel-BYunw83y.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fish-BvzEVeQv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fluent-C4IJs8-o.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fortran-free-form-BxgE0vQu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/fsharp-CXgrBDvD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdresource-BOOCDP_w.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdscript-C5YyOfLZ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gdshader-DkwncUOv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/genie-D0YGMca9.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gherkin-DyxjwDmM.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/git-commit-F4YmCXRG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/git-rebase-r7XF79zn.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-DHJKELXO.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-default-Cuk6v7N8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -0
- {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
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-DAi9KRSo.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-default-D7oLnXFd.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gleam-BspZqrRM.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glimmer-js-Rg0-pVw9.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glimmer-ts-U6CK756n.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/glsl-DplSGwfg.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gn-n2N0HUVH.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gnuplot-DdkO51Og.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/go-CxLEBnE3.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/graphql-ChdNCCLP.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/groovy-gcz8RCvz.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hack-CaT9iCJl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haml-B8DHNrY2.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/handlebars-BL8al0AC.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haskell-Df6bDoY_.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/haxe-CzTSHFRz.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hcl-BWvSN4gD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hjson-D5-asLiD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hlsl-D3lLCCz7.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/horizon-BUw7H-hv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/horizon-bright-Cn-bp-IR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/houston-DnULxvSX.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/html-GMplVEZG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/html-derivative-BFtXZ54Q.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/http-jrhK8wxY.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hurl-irOxFIW8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hxml-Bvhsp5Yf.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/hy-DFXneXwc.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/imba-DGztddWO.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ini-BEwlwnbL.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/java-CylS5w8V.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/javascript-wDzz0qaB.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jinja-4LBKfQ-Z.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jison-wvAkD_A8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/json-Cp-IABpG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/json5-C9tS-k6U.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonc-Des-eS-w.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonl-DcaNXYhu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsonnet-DFQXde-d.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jssm-C2t-YnRu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/jsx-g9-lgVsj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/julia-CxzCAyBv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/just-Cw27pwNe.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-dragon-CkXjmgJE.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-lotus-CfQXZHmo.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kanagawa-wave-DWedfzmr.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kdl-DV7GczEv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kotlin-BdnUsdx6.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/kusto-DZf3V79B.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/laserwave-DUszq2jm.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/latex-CWtU0Tv5.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/lean-BZvkOJ9d.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/less-B1dDrJ26.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/light-plus-B7mTdjB0.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/liquid-DYVedYrR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/llvm-DjAJT7YJ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/log-2UxHyX5q.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/logo-BtOb2qkB.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/lua-BaeVxFsk.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/luau-C-HG3fhB.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/make-CHLpvVh8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/markdown-Cvjx9yec.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/marko-CnJfTvn9.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-D5KoaKCx.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-darker-BfHTSMKl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-ocean-CyktbL80.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/matlab-D7o27uSR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mdc-BMNejdWA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mdx-Cmh6b_Ma.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mermaid-mWjccvbQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/min-dark-CafNBF8u.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/min-light-CTRr51gU.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mipsasm-CKIfxQSi.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/mojo-rZm6bMo-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/monokai-D4h5O-jR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/moonbit-_H4v1dQx.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/move-IF9eRakj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/narrat-DRg8JJMk.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nextflow-Zz6hmt5N.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nextflow-groovy-BeH2EWoN.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nginx-BpAMiNFr.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/night-owl-C39BiMTA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/night-owl-light-CMTm3GFP.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nim-CVrawwO9.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nix-CwoSXNpI.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nord-Ddv68eIx.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/nushell-Cz2AlsmD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/objective-c-DXmwc3jG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/objective-cpp-CLxacb5B.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ocaml-C0hk2d4L.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/odin-BBf5iR-q.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/one-dark-pro-DVMEJ2y_.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/one-light-C3Wv6jpd.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/openscad-C4EeE6gA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pascal-D93ZcfNL.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/perl-C0TMdlhV.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/php-Dhbhpdrm.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pierre-dark-BXuwtOqb.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pierre-light-dckrK0oj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pkl-u5AG7uiY.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/plastic-3e1v2bzS.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/plsql-ChMvpjG-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/po-BTJTHyun.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/poimandres-CS3Unz2-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/polar-C0HS_06l.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/postcss-CXtECtnM.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/powerquery-CEu0bR-o.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/powershell-Dpen1YoG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/prisma-Dd19v3D-.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/prolog-CbFg5uaA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/proto-C7zT0LnQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/pug-CGlum2m_.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/puppet-BMWR74SV.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/purescript-CklMAg4u.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/python-B6aJPvgy.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qml-3beO22l8.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qmldir-C8lEn-DE.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/qss-IeuSbFQv.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/r-Dspwwk_N.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/racket-BqYA7rlc.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/raku-DXvB9xmW.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/razor-Uh8Bk_45.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/red-bN70gL4F.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/reg-C-SQnVFl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/regexp-CDVJQ6XC.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rel-C3B-1QV4.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/riscv-BM1_JUlF.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ron-D8l8udqQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-dawn-DHQR4-dF.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-moon-D4_iv3hh.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rose-pine-qdsjHGoJ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rosmsg-BJDFO7_C.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rst-BrH8l1NY.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ruby-Dw2BHqvy.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/rust-B1yitclQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sas-cz2c8ADy.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sass-Cj5Yp3dK.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scala-C151Ov-r.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scheme-C98Dy4si.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/scss-OYdSNvt2.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sdbl-DVxCFoDh.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shaderlab-Dg9Lc6iA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shellscript-Yzrsuije.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/shellsession-BADoaaVG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/slack-dark-BthQWCQV.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/slack-ochin-DqwNpetd.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/smalltalk-BERRCDM3.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/snazzy-light-Bw305WKR.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solarized-dark-DXbdFlpD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solarized-light-L9t79GZl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/solidity-rGO070M0.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/soy-Brmx7dQM.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sparql-rVzFXLq3.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/splunk-BtCnVYZw.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/sql-BLtJtn59.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ssh-config-_ykCGR6B.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/stata-BH5u7GGu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/stylus-BEDo0Tqx.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/surrealql-Bq5Q-fJD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/svelte-C_ipcX3V.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/swift-D82vCrfD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/synthwave-84-CbfX1IO0.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/system-verilog-CnnmHF94.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/systemd-4A_iFExJ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/talonscript-CkByrt1z.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tasl-QIJgUcNo.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tcl-dwOrl1Do.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/templ-P3uqSqPl.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/terraform-BETggiCN.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tex-idrVyKtj.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tokyo-night-hegEt444.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/toml-vGWfd6FD.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/ts-tags-zn1MmPIZ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tsv-B_m7g4N7.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/tsx-COt5Ahok.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/turtle-BsS91CYL.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/twig-DNn4PbVi.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typescript-BPQ3VLAy.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typespec-BGHnOYBU.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/typst-DHCkPAjA.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/v-BcVCzyr7.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vala-CsfeWuGM.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vb-D17OF-Vu.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/verilog-BQ8w6xss.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vesper-DU1UobuO.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vhdl-CeAyd5Ju.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/viml-CJc9bBzg.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-black-Bkuqu6BP.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-dark-D0r3Knsf.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vitesse-light-CVO1_9PV.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-DN_0RTcg.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-html-AaS7Mt5G.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vue-vine-CQOfvN7w.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/vyper-CDx5xZoG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wasm-CG6Dc4jp.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wasm-MzD3tlZU.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wenyan-BV7otONQ.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wgsl-Dx-B1_4e.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wikitext-BhOHFoWU.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wit-5i3qLPDT.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/wolfram-lXgVvXCa.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/xml-sdJ4AIDG.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/xsl-CtQFsRM5.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/yaml-Buea-lGh.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/zenscript-DVFEvuxE.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/assets/zig-VOosw3JB.js +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/favicon.svg +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/fonts/InterVariable-Italic.woff2 +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/dist/fonts/InterVariable.woff2 +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/file_access.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/interaction.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/live_events.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/__init__.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/config.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/files.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/sessions.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/routes/skills.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/server.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_access.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_index.py +0 -0
- {klaude_code-2.30.0 → klaude_code-2.31.0}/src/klaude_code/web/session_live.py +0 -0
- {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.
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
|
Binary file
|
|
@@ -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] =
|
|
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
|
|
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
|
|
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
|
|
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
|
|
33
|
-
"""Pull the last `limit`
|
|
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
|
-
|
|
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
|
-
|
|
39
|
-
if len(
|
|
38
|
+
messages.append(item)
|
|
39
|
+
if len(messages) >= limit:
|
|
40
40
|
break
|
|
41
|
-
|
|
42
|
-
return
|
|
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
|
-
|
|
63
|
-
if not
|
|
62
|
+
messages = _recent_recap_messages(session, _RECENT_MESSAGE_WINDOW)
|
|
63
|
+
if not messages:
|
|
64
64
|
return None
|
|
65
65
|
|
|
66
|
-
transcript = serialize_conversation(
|
|
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"
|
|
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
|
|
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
|
-
|
|
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"
|
|
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
|
|
130
|
+
"""Tracks prompt-prefix cache across steps.
|
|
131
131
|
|
|
132
|
-
Owned by ``MetadataAccumulator``; handles both the per-
|
|
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.
|
|
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
|
|
156
|
-
"""Input token count from the most recent successful
|
|
157
|
-
return self.
|
|
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
|
|
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
|
|
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.
|
|
189
|
-
hit_rate = usage.cached_tokens / self.
|
|
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.
|
|
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.
|
|
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
|
|
48
|
+
### 2. Task Step Start (`agent/task.py`)
|
|
49
49
|
|
|
50
|
-
At the beginning of each
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
630
|
+
return _avoid_splitting_tool_step(history, cut_index, start_index)
|
|
570
631
|
|
|
571
632
|
|
|
572
|
-
def
|
|
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 ``
|
|
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
|
-
|
|
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(
|
|
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 >=
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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.
|