klaude-code 2.0.2__py3-none-any.whl → 2.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. klaude_code/app/__init__.py +12 -0
  2. klaude_code/app/runtime.py +215 -0
  3. klaude_code/cli/auth_cmd.py +2 -2
  4. klaude_code/cli/config_cmd.py +2 -2
  5. klaude_code/cli/cost_cmd.py +1 -1
  6. klaude_code/cli/debug.py +12 -36
  7. klaude_code/cli/list_model.py +3 -3
  8. klaude_code/cli/main.py +17 -60
  9. klaude_code/cli/self_update.py +2 -187
  10. klaude_code/cli/session_cmd.py +2 -2
  11. klaude_code/config/config.py +1 -1
  12. klaude_code/config/select_model.py +1 -1
  13. klaude_code/const.py +9 -1
  14. klaude_code/core/agent.py +9 -62
  15. klaude_code/core/agent_profile.py +291 -0
  16. klaude_code/core/executor.py +335 -230
  17. klaude_code/core/manager/llm_clients_builder.py +1 -1
  18. klaude_code/core/manager/sub_agent_manager.py +16 -29
  19. klaude_code/core/reminders.py +84 -103
  20. klaude_code/core/task.py +12 -20
  21. klaude_code/core/tool/__init__.py +5 -19
  22. klaude_code/core/tool/context.py +84 -0
  23. klaude_code/core/tool/file/apply_patch_tool.py +18 -21
  24. klaude_code/core/tool/file/edit_tool.py +39 -42
  25. klaude_code/core/tool/file/read_tool.py +14 -9
  26. klaude_code/core/tool/file/write_tool.py +12 -13
  27. klaude_code/core/tool/report_back_tool.py +4 -1
  28. klaude_code/core/tool/shell/bash_tool.py +6 -11
  29. klaude_code/core/tool/sub_agent_tool.py +8 -7
  30. klaude_code/core/tool/todo/todo_write_tool.py +3 -9
  31. klaude_code/core/tool/todo/update_plan_tool.py +3 -5
  32. klaude_code/core/tool/tool_abc.py +2 -1
  33. klaude_code/core/tool/tool_registry.py +2 -33
  34. klaude_code/core/tool/tool_runner.py +13 -10
  35. klaude_code/core/tool/web/mermaid_tool.py +3 -1
  36. klaude_code/core/tool/web/web_fetch_tool.py +5 -3
  37. klaude_code/core/tool/web/web_search_tool.py +5 -3
  38. klaude_code/core/turn.py +87 -30
  39. klaude_code/llm/anthropic/client.py +1 -1
  40. klaude_code/llm/bedrock/client.py +1 -1
  41. klaude_code/llm/claude/client.py +1 -1
  42. klaude_code/llm/codex/client.py +1 -1
  43. klaude_code/llm/google/client.py +1 -1
  44. klaude_code/llm/openai_compatible/client.py +1 -1
  45. klaude_code/llm/openai_compatible/tool_call_accumulator.py +1 -1
  46. klaude_code/llm/openrouter/client.py +1 -1
  47. klaude_code/llm/openrouter/reasoning.py +1 -1
  48. klaude_code/llm/responses/client.py +1 -1
  49. klaude_code/protocol/commands.py +1 -0
  50. klaude_code/protocol/events/__init__.py +57 -0
  51. klaude_code/protocol/events/base.py +18 -0
  52. klaude_code/protocol/events/chat.py +20 -0
  53. klaude_code/protocol/events/lifecycle.py +22 -0
  54. klaude_code/protocol/events/metadata.py +15 -0
  55. klaude_code/protocol/events/streaming.py +43 -0
  56. klaude_code/protocol/events/system.py +53 -0
  57. klaude_code/protocol/events/tools.py +27 -0
  58. klaude_code/protocol/op.py +5 -0
  59. klaude_code/protocol/tools.py +0 -1
  60. klaude_code/session/session.py +6 -7
  61. klaude_code/skill/assets/create-plan/SKILL.md +76 -0
  62. klaude_code/skill/loader.py +32 -88
  63. klaude_code/skill/manager.py +38 -0
  64. klaude_code/skill/system_skills.py +1 -1
  65. klaude_code/tui/__init__.py +8 -0
  66. klaude_code/{command → tui/command}/__init__.py +3 -0
  67. klaude_code/{command → tui/command}/clear_cmd.py +2 -1
  68. klaude_code/tui/command/copy_cmd.py +53 -0
  69. klaude_code/{command → tui/command}/debug_cmd.py +3 -2
  70. klaude_code/{command → tui/command}/export_cmd.py +2 -1
  71. klaude_code/{command → tui/command}/export_online_cmd.py +2 -1
  72. klaude_code/{command → tui/command}/fork_session_cmd.py +4 -3
  73. klaude_code/{command → tui/command}/help_cmd.py +2 -1
  74. klaude_code/{command → tui/command}/model_cmd.py +4 -3
  75. klaude_code/{command → tui/command}/model_select.py +2 -2
  76. klaude_code/{command → tui/command}/prompt_command.py +4 -3
  77. klaude_code/{command → tui/command}/refresh_cmd.py +3 -1
  78. klaude_code/{command → tui/command}/registry.py +6 -5
  79. klaude_code/{command → tui/command}/release_notes_cmd.py +2 -1
  80. klaude_code/{command → tui/command}/resume_cmd.py +4 -3
  81. klaude_code/{command → tui/command}/status_cmd.py +2 -1
  82. klaude_code/{command → tui/command}/terminal_setup_cmd.py +2 -1
  83. klaude_code/{command → tui/command}/thinking_cmd.py +3 -2
  84. klaude_code/tui/commands.py +164 -0
  85. klaude_code/{ui/renderers → tui/components}/assistant.py +3 -3
  86. klaude_code/{ui/renderers → tui/components}/bash_syntax.py +2 -2
  87. klaude_code/{ui/renderers → tui/components}/common.py +1 -1
  88. klaude_code/{ui/renderers → tui/components}/developer.py +4 -4
  89. klaude_code/{ui/renderers → tui/components}/diffs.py +2 -2
  90. klaude_code/{ui/renderers → tui/components}/errors.py +2 -2
  91. klaude_code/{ui/renderers → tui/components}/metadata.py +7 -7
  92. klaude_code/{ui → tui/components}/rich/markdown.py +9 -23
  93. klaude_code/{ui → tui/components}/rich/status.py +2 -2
  94. klaude_code/{ui → tui/components}/rich/theme.py +3 -1
  95. klaude_code/{ui/renderers → tui/components}/sub_agent.py +23 -43
  96. klaude_code/{ui/renderers → tui/components}/thinking.py +3 -3
  97. klaude_code/{ui/renderers → tui/components}/tools.py +13 -17
  98. klaude_code/{ui/renderers → tui/components}/user_input.py +3 -20
  99. klaude_code/tui/display.py +85 -0
  100. klaude_code/{ui/modes/repl → tui/input}/__init__.py +1 -1
  101. klaude_code/{ui/modes/repl → tui/input}/completers.py +1 -1
  102. klaude_code/{ui/modes/repl/input_prompt_toolkit.py → tui/input/prompt_toolkit.py} +6 -6
  103. klaude_code/tui/machine.py +608 -0
  104. klaude_code/tui/renderer.py +707 -0
  105. klaude_code/tui/runner.py +321 -0
  106. klaude_code/tui/terminal/__init__.py +56 -0
  107. klaude_code/{ui → tui}/terminal/color.py +1 -1
  108. klaude_code/{ui → tui}/terminal/control.py +1 -1
  109. klaude_code/{ui → tui}/terminal/notifier.py +1 -1
  110. klaude_code/ui/__init__.py +6 -50
  111. klaude_code/ui/core/display.py +3 -3
  112. klaude_code/ui/core/input.py +2 -1
  113. klaude_code/ui/{modes/debug/display.py → debug_mode.py} +1 -1
  114. klaude_code/ui/{modes/exec/display.py → exec_mode.py} +0 -2
  115. klaude_code/ui/terminal/__init__.py +6 -54
  116. klaude_code/ui/terminal/title.py +31 -0
  117. klaude_code/update.py +163 -0
  118. {klaude_code-2.0.2.dist-info → klaude_code-2.1.1.dist-info}/METADATA +1 -1
  119. klaude_code-2.1.1.dist-info/RECORD +233 -0
  120. klaude_code/cli/runtime.py +0 -518
  121. klaude_code/core/prompt.py +0 -108
  122. klaude_code/core/tool/skill/skill_tool.md +0 -24
  123. klaude_code/core/tool/skill/skill_tool.py +0 -87
  124. klaude_code/core/tool/tool_context.py +0 -148
  125. klaude_code/protocol/events.py +0 -195
  126. klaude_code/skill/assets/dev-docs/SKILL.md +0 -108
  127. klaude_code/trace/__init__.py +0 -21
  128. klaude_code/ui/core/stage_manager.py +0 -48
  129. klaude_code/ui/modes/__init__.py +0 -1
  130. klaude_code/ui/modes/debug/__init__.py +0 -1
  131. klaude_code/ui/modes/exec/__init__.py +0 -1
  132. klaude_code/ui/modes/repl/display.py +0 -61
  133. klaude_code/ui/modes/repl/event_handler.py +0 -629
  134. klaude_code/ui/modes/repl/renderer.py +0 -464
  135. klaude_code/ui/renderers/__init__.py +0 -0
  136. klaude_code/ui/utils/__init__.py +0 -1
  137. klaude_code-2.0.2.dist-info/RECORD +0 -227
  138. /klaude_code/{trace/log.py → log.py} +0 -0
  139. /klaude_code/{command → tui/command}/command_abc.py +0 -0
  140. /klaude_code/{command → tui/command}/prompt-commit.md +0 -0
  141. /klaude_code/{command → tui/command}/prompt-init.md +0 -0
  142. /klaude_code/{core/tool/skill → tui/components}/__init__.py +0 -0
  143. /klaude_code/{ui/renderers → tui/components}/mermaid_viewer.py +0 -0
  144. /klaude_code/{ui → tui/components}/rich/__init__.py +0 -0
  145. /klaude_code/{ui → tui/components}/rich/cjk_wrap.py +0 -0
  146. /klaude_code/{ui → tui/components}/rich/code_panel.py +0 -0
  147. /klaude_code/{ui → tui/components}/rich/live.py +0 -0
  148. /klaude_code/{ui → tui/components}/rich/quote.py +0 -0
  149. /klaude_code/{ui → tui/components}/rich/searchable_text.py +0 -0
  150. /klaude_code/{ui/modes/repl → tui/input}/clipboard.py +0 -0
  151. /klaude_code/{ui/modes/repl → tui/input}/key_bindings.py +0 -0
  152. /klaude_code/{ui → tui}/terminal/image.py +0 -0
  153. /klaude_code/{ui → tui}/terminal/progress_bar.py +0 -0
  154. /klaude_code/{ui → tui}/terminal/selector.py +0 -0
  155. /klaude_code/ui/{utils/common.py → common.py} +0 -0
  156. {klaude_code-2.0.2.dist-info → klaude_code-2.1.1.dist-info}/WHEEL +0 -0
  157. {klaude_code-2.0.2.dist-info → klaude_code-2.1.1.dist-info}/entry_points.txt +0 -0
klaude_code/update.py ADDED
@@ -0,0 +1,163 @@
1
+ """Non-interactive update check helpers.
2
+
3
+ This module is intentionally frontend-agnostic so it can be used by both the CLI
4
+ and terminal UI without introducing cross-layer imports.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ import json
10
+ import shutil
11
+ import subprocess
12
+ import threading
13
+ import time
14
+ import urllib.request
15
+ from typing import NamedTuple
16
+
17
+ PACKAGE_NAME = "klaude-code"
18
+ PYPI_URL = f"https://pypi.org/pypi/{PACKAGE_NAME}/json"
19
+ CHECK_INTERVAL_SECONDS = 3600 # Check at most once per hour
20
+
21
+
22
+ class VersionInfo(NamedTuple):
23
+ """Version check result."""
24
+
25
+ installed: str | None
26
+ latest: str | None
27
+ update_available: bool
28
+
29
+
30
+ _cached_version_info: VersionInfo | None = None
31
+ _last_check_time: float = 0.0
32
+ _check_lock = threading.Lock()
33
+ _check_in_progress = False
34
+
35
+
36
+ def _has_uv() -> bool:
37
+ return shutil.which("uv") is not None
38
+
39
+
40
+ def _get_installed_version() -> str | None:
41
+ try:
42
+ result = subprocess.run(
43
+ ["uv", "tool", "list"],
44
+ capture_output=True,
45
+ text=True,
46
+ timeout=5,
47
+ )
48
+ if result.returncode != 0:
49
+ return None
50
+
51
+ for line in result.stdout.splitlines():
52
+ if line.startswith(PACKAGE_NAME):
53
+ parts = line.split()
54
+ if len(parts) >= 2:
55
+ ver = parts[1]
56
+ if ver.startswith("v"):
57
+ ver = ver[1:]
58
+ return ver
59
+ return None
60
+ except (OSError, subprocess.SubprocessError):
61
+ return None
62
+
63
+
64
+ def _get_latest_version() -> str | None:
65
+ try:
66
+ with urllib.request.urlopen(PYPI_URL, timeout=5) as response:
67
+ data = json.loads(response.read().decode())
68
+ return data.get("info", {}).get("version")
69
+ except (OSError, json.JSONDecodeError, ValueError):
70
+ return None
71
+
72
+
73
+ def _parse_version(v: str) -> tuple[int, ...]:
74
+ parts: list[int] = []
75
+ for part in v.split("."):
76
+ digits = ""
77
+ for c in part:
78
+ if c.isdigit():
79
+ digits += c
80
+ else:
81
+ break
82
+ if digits:
83
+ parts.append(int(digits))
84
+ return tuple(parts)
85
+
86
+
87
+ def _compare_versions(installed: str, latest: str) -> bool:
88
+ try:
89
+ installed_tuple = _parse_version(installed)
90
+ latest_tuple = _parse_version(latest)
91
+ return latest_tuple > installed_tuple
92
+ except ValueError:
93
+ return False
94
+
95
+
96
+ def _do_version_check() -> None:
97
+ global _cached_version_info, _last_check_time, _check_in_progress
98
+ try:
99
+ installed = _get_installed_version()
100
+ latest = _get_latest_version()
101
+
102
+ update_available = False
103
+ if installed and latest:
104
+ update_available = _compare_versions(installed, latest)
105
+
106
+ with _check_lock:
107
+ _cached_version_info = VersionInfo(
108
+ installed=installed,
109
+ latest=latest,
110
+ update_available=update_available,
111
+ )
112
+ _last_check_time = time.time()
113
+ finally:
114
+ with _check_lock:
115
+ _check_in_progress = False
116
+
117
+
118
+ def check_for_updates() -> VersionInfo | None:
119
+ """Check for updates asynchronously with caching."""
120
+ global _check_in_progress
121
+
122
+ if not _has_uv():
123
+ return None
124
+
125
+ now = time.time()
126
+ with _check_lock:
127
+ cache_valid = _cached_version_info is not None and (now - _last_check_time) < CHECK_INTERVAL_SECONDS
128
+ if cache_valid:
129
+ return _cached_version_info
130
+
131
+ if not _check_in_progress:
132
+ _check_in_progress = True
133
+ thread = threading.Thread(target=_do_version_check, daemon=True)
134
+ thread.start()
135
+
136
+ return _cached_version_info
137
+
138
+
139
+ def get_update_message() -> str | None:
140
+ """Return an update message if an update is available, otherwise None."""
141
+ info = check_for_updates()
142
+ if info is None or not info.update_available:
143
+ return None
144
+ return f"New version available: {info.latest}. Please run `klaude upgrade` to upgrade."
145
+
146
+
147
+ def check_for_updates_blocking() -> VersionInfo | None:
148
+ """Check for updates synchronously (no caching)."""
149
+ if not _has_uv():
150
+ return None
151
+
152
+ installed = _get_installed_version()
153
+ latest = _get_latest_version()
154
+
155
+ update_available = False
156
+ if installed and latest:
157
+ update_available = _compare_versions(installed, latest)
158
+
159
+ return VersionInfo(
160
+ installed=installed,
161
+ latest=latest,
162
+ update_available=update_available,
163
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.0.2
3
+ Version: 2.1.1
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic>=0.66.0
6
6
  Requires-Dist: chardet>=5.2.0
@@ -0,0 +1,233 @@
1
+ klaude_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ klaude_code/app/__init__.py,sha256=jPBkkpBxn39B-FQ0cdxsIVo-CxWVln07kMAfqKa5NyY,290
3
+ klaude_code/app/runtime.py,sha256=LodN29ue96bIfcaZFRom38YfcamTHJmb3be7-oEDTqo,7264
4
+ klaude_code/auth/__init__.py,sha256=jLUgi4V4m0t2BlVuuni7iANOErpJgAeEqByuD1sKUvQ,480
5
+ klaude_code/auth/base.py,sha256=ccH2sC0TWB5lPpGm4FSjCgnehwn9riYiXxHCh2iFJe0,3011
6
+ klaude_code/auth/claude/__init__.py,sha256=h1oyqEttDM5TAF6w1Stk6YXYMsbATjODCsi6GhU4zAA,218
7
+ klaude_code/auth/claude/exceptions.py,sha256=_3KbC6W7_gWpxTsSqI0Bxk5Q_v3Fad6dBjweEsoFun4,246
8
+ klaude_code/auth/claude/oauth.py,sha256=LriNRNpNu1pGhkIca7xh0cYy-W0HOkLYf5bi05vQPaI,5786
9
+ klaude_code/auth/claude/token_manager.py,sha256=XNsBOy2lNFnD6wZhM4V3k4aQlMogb2_avvgL9LlNGEQ,691
10
+ klaude_code/auth/codex/__init__.py,sha256=rrpPvr-_R4kbj_oZ2U_fPmIfDPZov9Pjz2bAFpztUJk,502
11
+ klaude_code/auth/codex/exceptions.py,sha256=TcAKPozsY3SCh_krTYFlJ8FU5jepgSTg-5UO1dA4OgE,388
12
+ klaude_code/auth/codex/jwt_utils.py,sha256=tuaJKT4vAIGeaQjNzgNcHWGrYYSDrDeaQT9h4cw5Us8,1134
13
+ klaude_code/auth/codex/oauth.py,sha256=4hAGZ2Dv87NC3loEws7U5yNyPyIrryGm5YXY2FkHeyo,7840
14
+ klaude_code/auth/codex/token_manager.py,sha256=EiEdxEErh_mcnW8USWbvdbN91LK7nyk0PZJZGmdUTG8,1405
15
+ klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
16
+ klaude_code/cli/auth_cmd.py,sha256=4h59A0UrNBCAf_IL_tVU3GY4kxraoab3CTjgCdKvJGM,6067
17
+ klaude_code/cli/config_cmd.py,sha256=ZDNt1qtXbiWtFJBIaqtfqKrGHXQ1X-NHBeu1k1DoO1o,3391
18
+ klaude_code/cli/cost_cmd.py,sha256=6bL22amGEB2gfCV9KXQfN5cZYyPL6J6JVIjV65_QjJo,12471
19
+ klaude_code/cli/debug.py,sha256=vEHOjObhrIHDAXk3q6cOgeW2NZxCx5AWM1rJ6FiJnVU,1901
20
+ klaude_code/cli/list_model.py,sha256=IXYsrkwbvPF89jNDpbppIlyA7b_oNt0--TNN2LPGwAA,12811
21
+ klaude_code/cli/main.py,sha256=JaNiQIa2k4XZXNCXnOXNfOwdwwZmnCTHlK1_oZL5lU8,11924
22
+ klaude_code/cli/self_update.py,sha256=mn1B7Xn1keQkbwoDURzsM2fFjorzJTNLlV-Y_NYa6fA,2708
23
+ klaude_code/cli/session_cmd.py,sha256=IyuSkqHOLldcm8qraJWJZEme9TY5Rfqmld9NmVJuHnc,3198
24
+ klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
25
+ klaude_code/config/assets/__init__.py,sha256=uMUfmXT3I-gYiI-HVr1DrE60mx5cY1o8V7SYuGqOmvY,32
26
+ klaude_code/config/assets/builtin_config.yaml,sha256=fXCvNZci7g7T6uUjDFq_lxTYAvszffsrpBeC41RZkb4,8214
27
+ klaude_code/config/builtin_config.py,sha256=1rHcFWmS0k6rXeIqR6sF_OgGXSbEd4ugh9bh2N6VSS0,1494
28
+ klaude_code/config/config.py,sha256=aDMEIcjiNk-DdtybnOHPFViUgwdXp4xb-5osAMBjTzs,18209
29
+ klaude_code/config/select_model.py,sha256=TZLs195a3fsu5JeXfoZAgz-UlRqVgJG6cwH69ovHOsM,5181
30
+ klaude_code/config/thinking.py,sha256=1FFN9UgPVEFyTzahTvNOM5Y4b8Bo7G1jIc93xjX3Uvk,9323
31
+ klaude_code/const.py,sha256=MF9Ispv28MNqmm51xXcbRcmvw8lEKHuiczBhqmaZku4,10905
32
+ klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ klaude_code/core/agent.py,sha256=_jfe3WLE8T2twYaMpgjrFM7pwzMerirsq7YTLqpoufM,3560
34
+ klaude_code/core/agent_profile.py,sha256=cGeONKEx4OvDdtQ_3grHw6eCT0aHI5bybvXahhaIhBE,9770
35
+ klaude_code/core/executor.py,sha256=CQ1HyrEpemNQIFYUhgd6ZIxC-h0UJAjYD7yJR0bbX3Y,31275
36
+ klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
37
+ klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
38
+ klaude_code/core/manager/llm_clients_builder.py,sha256=uvs9ea5XDUaaKh7VgbWS76LXQn4Y590nilbEBpeJSFg,1639
39
+ klaude_code/core/manager/sub_agent_manager.py,sha256=URzvged6ra6eY0jx1yQlvq8WdhBEsMvirWtOPCcsHNM,6991
40
+ klaude_code/core/prompts/prompt-claude-code.md,sha256=uuWBv6GrG63mdmBedAHT5U9yOpbHSKFYbbS2xBnUzOE,8290
41
+ klaude_code/core/prompts/prompt-codex-gpt-5-1-codex-max.md,sha256=SW-y8AmR99JL_9j26k9YVAOQuZ18vR12aT5CWHkZDc4,11741
42
+ klaude_code/core/prompts/prompt-codex-gpt-5-2-codex.md,sha256=GA1pIIF6JuAl4P3FIW4tVJ6zL_5iZ8MY_PF0DW9hBuU,11719
43
+ klaude_code/core/prompts/prompt-codex.md,sha256=ybL6CXrGnK6Cw9KuEicQg4kKllIcVa2NwUyuUWitPzk,21672
44
+ klaude_code/core/prompts/prompt-gemini.md,sha256=JjE1tHSByGKJzjn4Gpj1zekT7ry1Yqbwx5qx3fZy2gE,3901
45
+ klaude_code/core/prompts/prompt-minimal.md,sha256=6-ZmQQkE3f92W_3V2wS7ocB13wLog1_UojCjZG0K4v8,1559
46
+ klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=21kFodjhvN0L-c_ZFo4yVhJOyzfgES-Dty9Vz_Ew9q8,2629
47
+ klaude_code/core/prompts/prompt-sub-agent-image-gen.md,sha256=tXYKSzFd04OiC0dmVO9suMKeD5f9qo_4NsvqGo7irfI,78
48
+ klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=n7fcIs26Xnu_CvHda_S_k5LGTpV3njY04yo88FT_S9A,3602
49
+ klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
50
+ klaude_code/core/reminders.py,sha256=SOSB1wZMPdCtCwTpvjUW5et-d0JcnUxF7lMg90CZnA4,24384
51
+ klaude_code/core/task.py,sha256=uBfl2S_9n1wmf0WvzMjLzGws_el-qimYwp3Mgxhdng4,11369
52
+ klaude_code/core/tool/__init__.py,sha256=xA2zrHj3TPJ8OIssCsr74oRozJAJj4sdsr2eE5fOj2Q,1654
53
+ klaude_code/core/tool/context.py,sha256=OFUJtT0SdgzScec0LbSMz6a9yvW5oqkR-hqe4FJWk88,2572
54
+ klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ klaude_code/core/tool/file/_utils.py,sha256=OG4BE9WyJqzH8ilVCL3D9yvAcHk-r-L9snd-E8gO_io,967
56
+ klaude_code/core/tool/file/apply_patch.py,sha256=LZd3pYQ9ow_TxiFnqYuzD216HmvkLX6lW6BoMd9iQRs,17080
57
+ klaude_code/core/tool/file/apply_patch_tool.md,sha256=KVDsjUiLDa97gym0NrZNVG4jA1_zN-2i-B3upVQyOhU,59
58
+ klaude_code/core/tool/file/apply_patch_tool.py,sha256=t7zNZW2wYpDyHutxq7nx_xSs7GbPx8UymveSR25F2-8,8079
59
+ klaude_code/core/tool/file/diff_builder.py,sha256=d3n0RYBuhOD3yophmqNw4ok-da2kxerNixcTf_IXJHk,5911
60
+ klaude_code/core/tool/file/edit_tool.md,sha256=rEcUjJuPC46t1nXWjTDxplDcxWDbzTWsr6_bYt5_aRI,1110
61
+ klaude_code/core/tool/file/edit_tool.py,sha256=oEwm4LWmqcJbZ93CAbLP7njxZ4wnymyrx2VlBuAN8fk,10898
62
+ klaude_code/core/tool/file/read_tool.md,sha256=74SLSl1tq3L0por73M0QV_ws41MRIvGXQpfLb8dmtp0,1351
63
+ klaude_code/core/tool/file/read_tool.py,sha256=1y_t8oBSa0WtAgk6eLqGvQqf-MQQnj7YbjpLI9r5b7A,13236
64
+ klaude_code/core/tool/file/write_tool.md,sha256=CNnYgtieUasuHdpXLDpTEsqe492Pf7v75M4RQ3oIer8,613
65
+ klaude_code/core/tool/file/write_tool.py,sha256=2hB3Ioo-H4X9qNoH47_ENAvo8XNwrJfp8m0UqJostEs,5674
66
+ klaude_code/core/tool/report_back_tool.py,sha256=SkuRhfLpVwTOSpIj7XwYfGDNBp8YsCUNXieXDkafS2E,3381
67
+ klaude_code/core/tool/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ klaude_code/core/tool/shell/bash_tool.md,sha256=ILKpnRCBTkU2uSDEdZQjNYo1l6hsM4TO-3RD5zWC61c,3935
69
+ klaude_code/core/tool/shell/bash_tool.py,sha256=LPF-Iqypzfq9IMkumErTSBDgCYYNz8vvZYe7ZobqjYk,14779
70
+ klaude_code/core/tool/shell/command_safety.py,sha256=Xlyn8QvjaA_krPNScpcTQwP3byoXxwoX_jc97AWvr6Q,13039
71
+ klaude_code/core/tool/sub_agent_tool.py,sha256=zMcPXdPEU0RC_jJgRmKmHF6TCWOH2MNB15K5rIlVWQQ,4620
72
+ klaude_code/core/tool/todo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
+ klaude_code/core/tool/todo/todo_write_tool.md,sha256=BFP9qIkzkakzskHwIOPVtDhehkh0F90A5oosyDuC_BE,1682
74
+ klaude_code/core/tool/todo/todo_write_tool.py,sha256=_94zgZ7N43lQN1x5nD-kd4ayNEwjTQXUiSWLv6MW4FE,4222
75
+ klaude_code/core/tool/todo/todo_write_tool_raw.md,sha256=AJ2OkZGcccQYDXkydPAr5JI2SExBF8qJd0rXsHySLps,9711
76
+ klaude_code/core/tool/todo/update_plan_tool.md,sha256=OoEF4voHHd5J3VDv7tq3UCHdXApkBvxdHXUf5tVOkE8,157
77
+ klaude_code/core/tool/todo/update_plan_tool.py,sha256=ChPgE9ZUU2G0kLu93_ZTTs9J5veySuYR41PIWDQ_Tdc,3703
78
+ klaude_code/core/tool/tool_abc.py,sha256=GtzCGPrPUMJyUVYJAVIMpEcaAJwf-dtisUx-bLdZCX0,1262
79
+ klaude_code/core/tool/tool_registry.py,sha256=-FRU1aCy-jRG6ohdcl20v5_7c6FC3Ixa4GFLr_WkH6M,1336
80
+ klaude_code/core/tool/tool_runner.py,sha256=6hVzDbASpOJWLXg0VXI5H2fgLAkHo1LVOhz1uF-X5as,12856
81
+ klaude_code/core/tool/truncation.py,sha256=LEK7mgGQ3f08vgouviIcVr53xptiRJAyhgQa0ALITJk,7691
82
+ klaude_code/core/tool/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
+ klaude_code/core/tool/web/mermaid_tool.md,sha256=vvPSWxbY3P_cBpHh6AM8Je9JJoMY4FBTJzoteEkwuDU,2095
84
+ klaude_code/core/tool/web/mermaid_tool.py,sha256=FELwyLBzFdHhkimGee31_qZlrZq2vTzIaFTsp6qeGus,2715
85
+ klaude_code/core/tool/web/web_fetch_tool.md,sha256=jIrW-EAmfl50bBevcfioQ3Vrg8kWlHSut8ze_sRgRGw,486
86
+ klaude_code/core/tool/web/web_fetch_tool.py,sha256=MpAfiRVg4CNvLQlve4jphpX4juN81aR7XWOZi0I5-UQ,10323
87
+ klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
88
+ klaude_code/core/tool/web/web_search_tool.py,sha256=ljkgXxP6L5nJnbYB_IOUtPUN9zA_h5hBD55lhNAja08,4293
89
+ klaude_code/core/turn.py,sha256=IVcAGuFY8yz77XkEUHeaK_WHjF_PWY2JBq6fM-Zk8_w,18080
90
+ klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
91
+ klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
92
+ klaude_code/llm/anthropic/client.py,sha256=NvVd0bQJxi9Pg6uVeBdzM3JnRsWVy4yJdMv8rPYz01k,12211
93
+ klaude_code/llm/anthropic/input.py,sha256=0DG33g-8qXD5rP43zYsIF7UiZML0IKJxZfr6fcOlfNQ,8365
94
+ klaude_code/llm/bedrock/__init__.py,sha256=UmXPBXMmigAJ7euIh59iivSeUdrYJwum0RYU7okkkPM,86
95
+ klaude_code/llm/bedrock/client.py,sha256=n78PIMONAMiRc-l4-mY9qOu0dhUuirmaRpmvuzWdEsk,2400
96
+ klaude_code/llm/claude/__init__.py,sha256=8VCvvEjQQI-RpAMfHCl5ct4zlDU_jgbAuLOc9p9u-B4,61
97
+ klaude_code/llm/claude/client.py,sha256=naQU8D0Nhj0NfqZMXnJTOSKK59zHQhhSpbaVx8XQ0JU,4026
98
+ klaude_code/llm/client.py,sha256=yZ_ob0BERRjrOc3t_kJioIdMioghXdOYUErH67zME2k,1002
99
+ klaude_code/llm/codex/__init__.py,sha256=8vN2j2ezWB_UVpfqQ8ooStsBeLL5SY4SUMXOXdWiMaI,132
100
+ klaude_code/llm/codex/client.py,sha256=kLHAmNwyijwzAKsFnC-5NBXboJTVvEqMcQylQLO-P4M,5522
101
+ klaude_code/llm/google/__init__.py,sha256=tQtf_mh_mC3E4S9XAsnhS2JZXGRnYUsBKF0jpXZTvM0,61
102
+ klaude_code/llm/google/client.py,sha256=gc5rd5MVvRCFTrusqvkfq8TTW4HiuR5YYb0VX9bOxrs,13694
103
+ klaude_code/llm/google/input.py,sha256=yBeqMk9E5nS-0jl1kEAALwnuqgKZdXApRG2KdAhPQqE,7519
104
+ klaude_code/llm/image.py,sha256=jt9FBPFhAIo48pauIEJMIhB9WuDt4wwNs9s3LiEsETE,4272
105
+ klaude_code/llm/input_common.py,sha256=B1QtRJspDXLdbvzykSn-FWjyi1047GeTmQnaAicCCAg,6219
106
+ klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9jZOZk0ghr7atOfNps,81
107
+ klaude_code/llm/openai_compatible/client.py,sha256=jAcIJc7SPd7IgpFNbp-rBcPFVNcRqgSEar-shf8z1RI,5007
108
+ klaude_code/llm/openai_compatible/input.py,sha256=dNEBeAYD6Sd_-ONLazphGNFYmXkY5YoHIPKGBLAQMXU,2830
109
+ klaude_code/llm/openai_compatible/stream.py,sha256=O3Seb8clC0AiA7trrruEteLqpFRY-eCjQfePG6L-7BA,12985
110
+ klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=quajimkUR1uSIPVXYsVNiQSTnOSVt7WuyZ23RyT7lJs,4906
111
+ klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
112
+ klaude_code/llm/openrouter/client.py,sha256=49kXzl4vsddU5zaTfM8dpTezgwd8LIpVPJ9ACK7Dro0,6017
113
+ klaude_code/llm/openrouter/input.py,sha256=5XSMcoYGLl_xOJJiP3w0E2F6HJFJ7OeLWi7I4teJUSs,5610
114
+ klaude_code/llm/openrouter/reasoning.py,sha256=S0s3OAyfFVm5lHYmQqB3ZIUZlbnlV5zB2gNT3ZRbDZs,4335
115
+ klaude_code/llm/registry.py,sha256=wEf9wvbb9CMvlNDtndKzKY5LN3zqEJYPI2v9kIrqfGI,2235
116
+ klaude_code/llm/responses/__init__.py,sha256=WsiyvnNiIytaYcaAqNiB8GI-5zcpjjeODPbMlteeFjA,67
117
+ klaude_code/llm/responses/client.py,sha256=8kZBxDrW9jRGYPjkExBeBTnpzUUnxyqqITI8bfF-Ris,12580
118
+ klaude_code/llm/responses/input.py,sha256=BYZFBh6qa85pQjVrHds9q3A_aMfhSN2GB0e7VX-h8g4,7575
119
+ klaude_code/llm/usage.py,sha256=Hukt4hKGUb2EnmwGy2-1Ku0oxEI6J7gOU0EsOSBBJAk,5034
120
+ klaude_code/log.py,sha256=vyCuV18DX0miengbJF9510UsBrWidSln-CM6pVCe0GA,9301
121
+ klaude_code/protocol/__init__.py,sha256=TTPnuyQ22RypoTGKdoiS7ZEgHzinuaRHUrauzHDh7Xo,246
122
+ klaude_code/protocol/commands.py,sha256=zW16Vgd_90DKWTLRAmegVVXGpK8fnZKUvTNM2u63cnM,976
123
+ klaude_code/protocol/events/__init__.py,sha256=2KaHK32Bpo17eHiwVNEHmbdJOtjG3vO0NrbyLxJlkg8,1606
124
+ klaude_code/protocol/events/base.py,sha256=QfqgksjA2Hj-ClmwKVeJ7QA6Z7YdzjswO1NfAVnPCoI,335
125
+ klaude_code/protocol/events/chat.py,sha256=FB-fLLii7TN7r0FrvfgrhZT2x4sRsivjKHV8J2b5Bsw,426
126
+ klaude_code/protocol/events/lifecycle.py,sha256=5csZkv3oZIuLzs_7H84v8HgAYwbjIjkZOHfjxq9YfxM,357
127
+ klaude_code/protocol/events/metadata.py,sha256=oVZ1zanGcTEFkHW8fLEqS2Z1A9e1MMcjLOcNwUUuCBI,285
128
+ klaude_code/protocol/events/streaming.py,sha256=U1plGQSTeGZa3E4fIxW_fHXJpuv_DSIBrmGh1l4Fm54,708
129
+ klaude_code/protocol/events/system.py,sha256=0c3x8WwqAo5Y0JmukKbn7FKtgEv-ErqwJb5PGjuHehk,1294
130
+ klaude_code/protocol/events/tools.py,sha256=8ds_8Zj-wQWvHNAvNt1-fSIHeDffw1dsLWI7ByrAqcM,617
131
+ klaude_code/protocol/llm_param.py,sha256=nyk5bW3AF8KziDawcImwDLiFiv07bu1ci62TslWxUkg,5161
132
+ klaude_code/protocol/message.py,sha256=gG9GSr4Tysafe7Rl93LZ-xJnqkfn9rFaUEbAG6_H5gE,6208
133
+ klaude_code/protocol/model.py,sha256=tBwvGlmsI_GPsYrCuk5-QHqC-v0UgBSdm9UjEPOvTiM,10805
134
+ klaude_code/protocol/op.py,sha256=Us8O5Nuz6Wx03ftrLYiiLceCuzbNZ1ehwW62e_uMEvU,5646
135
+ klaude_code/protocol/op_handler.py,sha256=NgQWyLZwPqRRH93hMvPH-TCK8YbLeDpnKeNVnlt27_o,1765
136
+ klaude_code/protocol/sub_agent/__init__.py,sha256=KkSdKAD45DERZoMS7zyTg0AWPgVmK-po0uv5rt_d-zE,3972
137
+ klaude_code/protocol/sub_agent/explore.py,sha256=beDpcPFUds54JLhQyVEpuhVp5xm5hRnkp6F3gMCIvw8,2712
138
+ klaude_code/protocol/sub_agent/image_gen.py,sha256=e2iRpGnWUHdZw96wC-f-Ik8HXYnvxTqQRqWXhNtUv2E,4812
139
+ klaude_code/protocol/sub_agent/task.py,sha256=96XHxbySu_zdM2K6WjlkPFGXoVDVrLiK2hew1cmwGS4,4290
140
+ klaude_code/protocol/sub_agent/web.py,sha256=XZEfY-bKhpw9RZPkrcohLQDMufQITeeweW7ZOHgk2Ao,3200
141
+ klaude_code/protocol/tools.py,sha256=T0mzW9EhidVMNkwH-KTeB5FgwMvXBnV_MYE5ytrU1TM,343
142
+ klaude_code/session/__init__.py,sha256=4sw81uQvEd3YUOOjamKk1KqGmxeb4Ic9T1Tee5zztyU,241
143
+ klaude_code/session/codec.py,sha256=fTtaS20H5G6M7k7vufg55c88ZGAblhFk9xGAm3CvWT0,2007
144
+ klaude_code/session/export.py,sha256=Oa0BdrqipFGkGp62dAsvQ-bPQr0HFAQBpAb7OmgaNno,38926
145
+ klaude_code/session/selector.py,sha256=snBpnz9UQCe_0K8HttSGCJECCE4YEzpWs_Fdmk2P9nI,2195
146
+ klaude_code/session/session.py,sha256=IUYPe8gd7ipiZPQKINXSXjelysLQIFLfLftPoAJsLN0,22719
147
+ klaude_code/session/store.py,sha256=HRrmFzwEVdExqDQlT9FBZOhlFtQmM9Im9zco8pzvUMY,6455
148
+ klaude_code/session/templates/export_session.html,sha256=GRSx1dfRKCSNgKqP51Rs6mT6xWo_ntZrep4-ZzlKru8,125862
149
+ klaude_code/session/templates/mermaid_viewer.html,sha256=Y_wEWFm4mKWpfAz3YMis5DdLEkhw_2d8CpU6jbvGZow,27842
150
+ klaude_code/skill/__init__.py,sha256=yeWeCfRGPOhT4mx_pjdo4fLondQ_Vx0edBtnFusLhls,839
151
+ klaude_code/skill/assets/create-plan/SKILL.md,sha256=xzKarva3A7fVrmC2518MohapqI8e-5m08o7T3L32-xY,2581
152
+ klaude_code/skill/assets/deslop/SKILL.md,sha256=XMBER6gOyYnZof_u7l30CZSzmDcINe8XP-n_loah0EQ,873
153
+ klaude_code/skill/assets/handoff/SKILL.md,sha256=GDHrEqWUeAQy7gGhha_y5jzjpv8C-xhk0hqMH5h59v8,1712
154
+ klaude_code/skill/assets/jj-workspace/SKILL.md,sha256=toxoyrBBoGl9Yv4PYrw_gD071LLZ2RoepUR8qTDRn1M,977
155
+ klaude_code/skill/assets/skill-creator/SKILL.md,sha256=0ByoWb9ao0UKSoM5Tmz-Qe5CAPliTrVpUK0gPd9TFqo,5520
156
+ klaude_code/skill/loader.py,sha256=dq-92iX4RWUZd8sFO3KZySOVf5-M6xev29tJlaC0Ivw,8612
157
+ klaude_code/skill/manager.py,sha256=qPUaZmbKO6f6kF-a948spinRQTCHB4ek7k9TV3elaTE,3448
158
+ klaude_code/skill/system_skills.py,sha256=ryGN07t0Xv2Yn_Prfq072tdIN0Dp4ZpdXLTl7O7rCkg,6122
159
+ klaude_code/tui/__init__.py,sha256=Q8-0D-uesw3oFwHcFLD5UaWlTFbrj8qV7dSn6C6_g_o,274
160
+ klaude_code/tui/command/__init__.py,sha256=LeurVZ6ghkiJNr-VA3ShbPeQQZDA-BDJSTWxGUQHW0w,3571
161
+ klaude_code/tui/command/clear_cmd.py,sha256=BDJI3_6x76WeF9ZBLe4ShDybpV4RTvyjyWH7ZsHvp_Y,782
162
+ klaude_code/tui/command/command_abc.py,sha256=d1i4QbFqWC5V4LPmofMHTxGrxNLwOWe-z_bUKoAmRiQ,2540
163
+ klaude_code/tui/command/copy_cmd.py,sha256=Gf2F-JgO3Kq8RuwMo9oQ918fWIXul06uiyvqzic64DE,1920
164
+ klaude_code/tui/command/debug_cmd.py,sha256=KkVsspq3o_b4fB2u9Qms-LJQYVI7ZGn6uvSkp3pZZgE,2744
165
+ klaude_code/tui/command/export_cmd.py,sha256=KdFlOMJ6gruKYnd_24eWJJb21t9gLVwI1FnN1s08m5U,1609
166
+ klaude_code/tui/command/export_online_cmd.py,sha256=26cPEh6lJW8hwUV1i4q3Be3AThzbPHJI9FuvTfhtJFU,6163
167
+ klaude_code/tui/command/fork_session_cmd.py,sha256=Hu5Gcdfw_rxx5RjfqaGht7fr55pydM_vUlwRMseJpe4,10216
168
+ klaude_code/tui/command/help_cmd.py,sha256=nvQ9m6hPcJpwKPx6H7XH4o_C41u6uOYuZiBF0ZsO8uw,1678
169
+ klaude_code/tui/command/model_cmd.py,sha256=X07psfW-6aan9nxgqRoRVQ_dvZdhTY9XcU-H-NRbGDg,2950
170
+ klaude_code/tui/command/model_select.py,sha256=gmttq2I-KDDyU-mCZd4WnqkVkMMpsBP7-fOo0ONjxZ8,3189
171
+ klaude_code/tui/command/prompt-commit.md,sha256=6hv1lrf8SkwNp1ptw0wn8uNydg5uxgna88eUo6Uqr3w,2400
172
+ klaude_code/tui/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
173
+ klaude_code/tui/command/prompt_command.py,sha256=PGGoH_ZgA-0kTtpjk19rDSsWjiZyAEoUlxnSp8B8GRQ,2764
174
+ klaude_code/tui/command/refresh_cmd.py,sha256=yLL9YufaucMUtzDAHqZKpiP5DR-uNLIC_rxZBhzgqC0,1327
175
+ klaude_code/tui/command/registry.py,sha256=LdVGBTK64XqGtCj2eUqU2rNdX4tbiWvmTv25HuQPnBU,7253
176
+ klaude_code/tui/command/release_notes_cmd.py,sha256=SOjDURB3ML4u7zeR1QVB7oFVQna-S05h3LJrcBXG3J8,2686
177
+ klaude_code/tui/command/resume_cmd.py,sha256=w1-UAM95CIPonfH39XU-EVM5f7B-AW1jTCA7VFkPigs,4244
178
+ klaude_code/tui/command/status_cmd.py,sha256=WjV4CssyMCj9_CzMdlYwMWRFSK6nkDRRnApuEZdcgQc,5417
179
+ klaude_code/tui/command/terminal_setup_cmd.py,sha256=C2kXelp8DZsMYZ08Gun-kgvtr07HIclcCNfwQtXgY18,10910
180
+ klaude_code/tui/command/thinking_cmd.py,sha256=Lf4SgLi7-mtr6sIJDqOz9Zzeue_cHwWzCCl0NLE_bpY,3072
181
+ klaude_code/tui/commands.py,sha256=jIQHE9Nk7bIxbNJ2cgnUgGbitRA1O8HSSceXfqjyLMk,3261
182
+ klaude_code/tui/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
+ klaude_code/tui/components/assistant.py,sha256=3VUIGf_BJhmoWZ5bHw-QUTMElUxp-MZQKUMWNimHKLE,904
184
+ klaude_code/tui/components/bash_syntax.py,sha256=zNvge6qvz9ujjMh2nUs2CNKIxSpXLJ5cgOLuvOmEGqY,7420
185
+ klaude_code/tui/components/common.py,sha256=RzOiIqVPWCzjX8VMMJSkvP0F-l91g9lMTb_smNpEdDE,4648
186
+ klaude_code/tui/components/developer.py,sha256=WM9VXukiEMZrGv7rsr-OIFS2SxOj5vx6kxzHJoeoBA8,10035
187
+ klaude_code/tui/components/diffs.py,sha256=JUokkkJeTIoKD0b-c-chMzIDmMjivBQqH8DYXIA3hHs,10411
188
+ klaude_code/tui/components/errors.py,sha256=_9ojf-23ThR-BoMwNEYG68rzILwA_O59muGvofYL10w,669
189
+ klaude_code/tui/components/mermaid_viewer.py,sha256=MstufMnTauMKzI8cKngXpFqVo-qya20P8ReNkplYtEw,3098
190
+ klaude_code/tui/components/metadata.py,sha256=tVeD2WunfLwUKP11OuLo0d0N3aEjk0J5BDJsq1f-ACQ,9397
191
+ klaude_code/tui/components/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
192
+ klaude_code/tui/components/rich/cjk_wrap.py,sha256=ncmifgTwF6q95iayHQyazGbntt7BRQb_Ed7aXc8JU6Y,7551
193
+ klaude_code/tui/components/rich/code_panel.py,sha256=ZKuJHh-kh-hIkBXSGLERLaDbJ7I9hvtvmYKocJn39_w,4744
194
+ klaude_code/tui/components/rich/live.py,sha256=xiMT6dPsxM_jaazddKrV9CMJQWwpe2t9OdjffHvo1JU,2821
195
+ klaude_code/tui/components/rich/markdown.py,sha256=wgTRzDJTcI2u5vr_WbAnoBjQHcSe4RIrpOdynw1nBB8,19286
196
+ klaude_code/tui/components/rich/quote.py,sha256=gTLwxSPQd9nlp73P1ysQIEgOb-BoTE2gzyiPBLMiHcY,3834
197
+ klaude_code/tui/components/rich/searchable_text.py,sha256=PUe6MotKxSBY4FlPeojVjVQgxCsx_jiQ41bCzLp8WvE,2271
198
+ klaude_code/tui/components/rich/status.py,sha256=Dy5GgEJzYNrWNh7QG5PQCfTGS99CllDOdWVqvbCafYE,13320
199
+ klaude_code/tui/components/rich/theme.py,sha256=CgLqUdITLwpqcrD0vypk1PWTBOXfLBbn0_ELyJPg4Lk,15048
200
+ klaude_code/tui/components/sub_agent.py,sha256=FojxwNnBTwYSSBMG4DmC2IJfr-bLTJiDcViKoL1d0uQ,6955
201
+ klaude_code/tui/components/thinking.py,sha256=AXC7Xpyiu7ST-eWGLRGY7N8Dak2ny3lV3mvznmfqKmM,2890
202
+ klaude_code/tui/components/tools.py,sha256=xqrWBDPsVtOeyE-qF_Idzr1Dhf5bjgrvl-v6svv-H3Q,26230
203
+ klaude_code/tui/components/user_input.py,sha256=9tLeRSWdwXmLm0Fe6DUlV4KHKpN6eUP4nhQ7ywddz8o,3959
204
+ klaude_code/tui/display.py,sha256=ovM1F8GDG0gTQjOV2KaXnjE9HFHf7AtThqSIXkP6JQY,3073
205
+ klaude_code/tui/input/__init__.py,sha256=cAB38ypo7dHo_jgXUCnoBTUKHtiriVaKCv4YepSU9SU,276
206
+ klaude_code/tui/input/clipboard.py,sha256=HjThFB9MG_YdJ76CQv7B-IUoz5JarbWUZDbUVkH1LpY,5106
207
+ klaude_code/tui/input/completers.py,sha256=lkDBjnqYPLMgR6AZHhx2bfT_vMW-fbV6aqY9SqRwq74,32571
208
+ klaude_code/tui/input/key_bindings.py,sha256=2uN48J1HRHeCBqq7WrH5J82NIU59oQscce0HquAiYCI,18876
209
+ klaude_code/tui/input/prompt_toolkit.py,sha256=_joijghnXG0-vu8D-Om4eU_jprLiTpyabfNH6aqaqpA,27224
210
+ klaude_code/tui/machine.py,sha256=1aA2iYjCjF6VQ1x62wWtiY4Jqzn2R8-hkDOb2vNw6e8,23355
211
+ klaude_code/tui/renderer.py,sha256=JzKzYrKjG8HYsJV5Akq7DWtgY8bCebGq3GRrVfcXeBw,29476
212
+ klaude_code/tui/runner.py,sha256=SGwKIo3EH6vA1Qlfb0KtFaNid2lyGL_4Jb2gjVa1MZs,11560
213
+ klaude_code/tui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
214
+ klaude_code/tui/terminal/color.py,sha256=6SJR2RA8cqJINNoRz65w0HL3x9g46ydIvDOGWMeNnQU,7195
215
+ klaude_code/tui/terminal/control.py,sha256=m2fL6uHum5Li25X2IPnI4z_oVzMpVYcSldB-r0NLLzk,4920
216
+ klaude_code/tui/terminal/image.py,sha256=ytzmw1J3fmaq49nWTDRmK_7aMIGbdUPCtVccSpVRHxY,1195
217
+ klaude_code/tui/terminal/notifier.py,sha256=-aTtgRvpzQcfbkOfbeDOfUs3l9smNBZX-60G9f0326Y,4643
218
+ klaude_code/tui/terminal/progress_bar.py,sha256=Go-0_ZodrmJVaQodaPnyxVU2nkpkBaYLnZBqwAUQukE,2133
219
+ klaude_code/tui/terminal/selector.py,sha256=QPddET-LfSU4we7NLHk17CqTWPKd6CQ0kj1Ire_WM3Q,24398
220
+ klaude_code/ui/__init__.py,sha256=BRd15myEsdOPC9FyDeOuM0ahzQA_-6YYkt_eNhc-whc,1173
221
+ klaude_code/ui/common.py,sha256=FA1koSH8egLBT2Pb_D065gfK7u6-wTuGA9_WRembX3s,4249
222
+ klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
223
+ klaude_code/ui/core/display.py,sha256=ACfsJEjamAkhVesQ7Vm3PyuLXkowuQ5PCE93utiiPRM,3582
224
+ klaude_code/ui/core/input.py,sha256=8wXszl2Es6BbpqUjXMZka-7zc1d0kuySCxJUiDGHTaY,2593
225
+ klaude_code/ui/debug_mode.py,sha256=ZvqbOx4c_rUerMbEZzOfcbNf9leqEDFjqJUlALtzF9Y,1111
226
+ klaude_code/ui/exec_mode.py,sha256=8-eGJeoJo1ke9Atpeu4JErh4A0GcrHYvALktfnqQygE,1765
227
+ klaude_code/ui/terminal/__init__.py,sha256=5OeAzr994r8-peWsLON0iXsAvJ2pexwMp36JY7FKGDc,179
228
+ klaude_code/ui/terminal/title.py,sha256=EZpLXTMhunsZPVGaxP317lH0Ad2oOh7OsjbV3yRD5is,1115
229
+ klaude_code/update.py,sha256=QER816AZe9u3RhRvP0Z37Jh2Ch5RLy9PREyDsI0e1dA,4480
230
+ klaude_code-2.1.1.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
231
+ klaude_code-2.1.1.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
232
+ klaude_code-2.1.1.dist-info/METADATA,sha256=VFe9EEfYurBQhvvN9pl-k8DyNQr0ISL6Ymp-jF48iI4,12782
233
+ klaude_code-2.1.1.dist-info/RECORD,,