klaude-code 1.2.13__py3-none-any.whl → 1.2.14__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.
@@ -99,48 +99,21 @@ class REPLRenderer:
99
99
  def print(self, *objects: Any, style: StyleType | None = None, end: str = "\n") -> None:
100
100
  if self.current_sub_agent_color:
101
101
  if objects:
102
- self.console.print(Quote(*objects, style=self.current_sub_agent_color))
102
+ content = objects[0] if len(objects) == 1 else objects
103
+ self.console.print(Quote(content, style=self.current_sub_agent_color))
103
104
  return
104
105
  self.console.print(*objects, style=style, end=end)
105
106
 
106
107
  def display_tool_call(self, e: events.ToolCallEvent) -> None:
107
- # Handle sub-agent tool calls in replay mode
108
108
  if r_tools.is_sub_agent_tool(e.tool_name):
109
- if e.is_replay:
110
- state = r_sub_agent.build_sub_agent_state_from_tool_call(e)
111
- if state is not None:
112
- sub_agent_default_style = (
113
- self.themes.sub_agent_colors[0] if self.themes.sub_agent_colors else Style()
114
- )
115
- self.print(
116
- Quote(
117
- r_sub_agent.render_sub_agent_call(state, sub_agent_default_style),
118
- style=sub_agent_default_style,
119
- )
120
- )
121
109
  return
122
-
123
110
  renderable = r_tools.render_tool_call(e)
124
111
  if renderable is not None:
125
112
  self.print(renderable)
126
113
 
127
114
  def display_tool_call_result(self, e: events.ToolResultEvent) -> None:
128
- # Handle sub-agent tool results in replay mode
129
115
  if r_tools.is_sub_agent_tool(e.tool_name):
130
- if e.is_replay:
131
- sub_agent_default_style = self.themes.sub_agent_colors[0] if self.themes.sub_agent_colors else Style()
132
- self.print(
133
- Quote(
134
- r_sub_agent.render_sub_agent_result(
135
- e.result,
136
- code_theme=self.themes.code_theme,
137
- style=sub_agent_default_style,
138
- ),
139
- style=sub_agent_default_style,
140
- )
141
- )
142
116
  return
143
-
144
117
  renderable = r_tools.render_tool_result(e)
145
118
  if renderable is not None:
146
119
  self.print(renderable)
@@ -160,39 +133,55 @@ class REPLRenderer:
160
133
  async def replay_history(self, history_events: events.ReplayHistoryEvent) -> None:
161
134
  tool_call_dict: dict[str, events.ToolCallEvent] = {}
162
135
  for event in history_events.events:
163
- match event:
164
- case events.TurnStartEvent():
165
- self.print()
166
- case events.AssistantMessageEvent() as assistant_event:
167
- renderable = r_assistant.render_assistant_message(
168
- assistant_event.content, code_theme=self.themes.code_theme
169
- )
170
- if renderable is not None:
171
- self.print(renderable)
136
+ event_session_id = getattr(event, "session_id", history_events.session_id)
137
+ is_sub_agent = self.is_sub_agent_session(event_session_id)
138
+
139
+ with self.session_print_context(event_session_id):
140
+ match event:
141
+ case events.TaskStartEvent() as e:
142
+ self.display_task_start(e)
143
+ case events.TurnStartEvent():
144
+ self.print()
145
+ case events.AssistantMessageEvent() as e:
146
+ if is_sub_agent:
147
+ continue
148
+ renderable = r_assistant.render_assistant_message(
149
+ e.content, code_theme=self.themes.code_theme
150
+ )
151
+ if renderable is not None:
152
+ self.print(renderable)
153
+ self.print()
154
+ case events.ThinkingEvent() as e:
155
+ if is_sub_agent:
156
+ continue
157
+ self.display_thinking(e.content)
158
+ case events.DeveloperMessageEvent() as e:
159
+ self.display_developer_message(e)
160
+ self.display_command_output(e)
161
+ case events.UserMessageEvent() as e:
162
+ if is_sub_agent:
163
+ continue
164
+ self.print(r_user_input.render_user_input(e.content))
165
+ case events.ToolCallEvent() as e:
166
+ tool_call_dict[e.tool_call_id] = e
167
+ case events.ToolResultEvent() as e:
168
+ tool_call_event = tool_call_dict.get(e.tool_call_id)
169
+ if tool_call_event is not None:
170
+ self.display_tool_call(tool_call_event)
171
+ tool_call_dict.pop(e.tool_call_id, None)
172
+ if is_sub_agent:
173
+ continue
174
+ self.display_tool_call_result(e)
175
+ case events.TaskMetadataEvent() as e:
176
+ self.print(r_metadata.render_task_metadata(e))
177
+ self.print()
178
+ case events.InterruptEvent():
172
179
  self.print()
173
- case events.ThinkingEvent() as thinking_event:
174
- self.display_thinking(thinking_event.content)
175
- case events.DeveloperMessageEvent() as developer_event:
176
- self.display_developer_message(developer_event)
177
- self.display_command_output(developer_event)
178
- case events.UserMessageEvent() as user_event:
179
- self.print(r_user_input.render_user_input(user_event.content))
180
- case events.ToolCallEvent() as tool_call_event:
181
- tool_call_dict[tool_call_event.tool_call_id] = tool_call_event
182
- case events.ToolResultEvent() as tool_result_event:
183
- tool_call_event = tool_call_dict.get(tool_result_event.tool_call_id)
184
- if tool_call_event is not None:
185
- self.display_tool_call(tool_call_event)
186
- tool_call_dict.pop(tool_result_event.tool_call_id, None)
187
- self.display_tool_call_result(tool_result_event)
188
- case events.TaskMetadataEvent() as metadata_event:
189
- self.print(r_metadata.render_task_metadata(metadata_event))
190
- self.print()
191
- case events.InterruptEvent():
192
- self.print()
193
- self.print(r_user_input.render_interrupt())
194
- case events.ErrorEvent() as e:
195
- self.display_error(e)
180
+ self.print(r_user_input.render_interrupt())
181
+ case events.ErrorEvent() as e:
182
+ self.display_error(e)
183
+ case events.TaskFinishEvent() as e:
184
+ self.display_task_finish(e)
196
185
 
197
186
  def display_developer_message(self, e: events.DeveloperMessageEvent) -> None:
198
187
  if not r_developer.need_render_developer_message(e):
@@ -239,6 +239,10 @@ def render_todo(tr: events.ToolResultEvent) -> RenderableType:
239
239
  mark = "✔"
240
240
  mark_style = ThemeKey.TODO_NEW_COMPLETED_MARK if is_new_completed else ThemeKey.TODO_COMPLETED_MARK
241
241
  text_style = ThemeKey.TODO_NEW_COMPLETED if is_new_completed else ThemeKey.TODO_COMPLETED
242
+ case _:
243
+ mark = "?"
244
+ mark_style = ThemeKey.TODO_PENDING_MARK
245
+ text_style = ThemeKey.TODO_PENDING
242
246
  text = Text(todo.content)
243
247
  text.stylize(text_style)
244
248
  todo_grid.add_row(Text(mark, style=mark_style), text)
@@ -43,7 +43,7 @@ LIGHT_PALETTE = Palette(
43
43
  diff_add="#2e5a32 on #e8f5e9",
44
44
  diff_remove="#5a2e32 on #ffebee",
45
45
  code_theme="ansi_light",
46
- text_background="#f0f0f0",
46
+ text_background="#e0e0e0",
47
47
  )
48
48
 
49
49
  DARK_PALETTE = Palette(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 1.2.13
3
+ Version: 1.2.14
4
4
  Summary: Add your description here
5
5
  Requires-Dist: anthropic>=0.66.0
6
6
  Requires-Dist: openai>=1.102.0
@@ -6,16 +6,19 @@ klaude_code/auth/codex/jwt_utils.py,sha256=tuaJKT4vAIGeaQjNzgNcHWGrYYSDrDeaQT9h4
6
6
  klaude_code/auth/codex/oauth.py,sha256=4hAGZ2Dv87NC3loEws7U5yNyPyIrryGm5YXY2FkHeyo,7840
7
7
  klaude_code/auth/codex/token_manager.py,sha256=F4xH5PhE9cksqTiWsU_YAboNe284VgUFWF2VY1sZV9U,2720
8
8
  klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
9
- klaude_code/cli/main.py,sha256=ZuwiqTI-uGrz8c4NVJj62lOgY1q73gl8RXEEtqT7wko,12094
10
- klaude_code/cli/runtime.py,sha256=XeUbSKOp5q2mhqIBUpq8hDNEV9ddSqvrNunNk1RS0go,12538
11
- klaude_code/cli/session_cmd.py,sha256=q0mAgDOcSCgkKLBTyBMdibMm89ZX38sdKLudhwNigcM,2517
9
+ klaude_code/cli/auth_cmd.py,sha256=UWMHjn9xZp2o8OZc-x8y9MnkZgRWOkFXk05iKJYcySE,2561
10
+ klaude_code/cli/config_cmd.py,sha256=zlqQV2DCU1NqCQ1th9v-bduw84sGM4739-iyJBoiNSA,2897
11
+ klaude_code/cli/debug.py,sha256=kIgdmlMhAKg7S42uYvwwK8q_5EdKsEHSd1fiHUW176Q,2417
12
+ klaude_code/cli/main.py,sha256=rulQhW9D5LZtmUFM7EUgJ-0osMJT33BWT2ulb8usPtg,8003
13
+ klaude_code/cli/runtime.py,sha256=vDkSngZJd69QhCzqc8--P5OKdT8_6OzuoOQeIBqTI_A,11461
14
+ klaude_code/cli/session_cmd.py,sha256=jAopkqq_DGgoDIcGxT-RSzn9R4yqBC8NCaNgK1GLqnQ,2634
12
15
  klaude_code/command/__init__.py,sha256=FsJtajofM-VJru-2XHRDbho565O0O7xJGI1MGC3HOFo,3041
13
16
  klaude_code/command/clear_cmd.py,sha256=diIe1pscX1ko7bRN4FGylsTvDSAF6HHPwnsbXqTtHP0,657
14
17
  klaude_code/command/command_abc.py,sha256=1Wwp94Q3W08GNCraYYEGcjjNC7JLIei6E953zSZ2lZ4,2605
15
18
  klaude_code/command/diff_cmd.py,sha256=mQu-FedUsZabE3-KwZV2JmOfm67-A41C2gz7rr6N9W8,5251
16
19
  klaude_code/command/export_cmd.py,sha256=_EAWh1BTCfuzqkEHcLGn_SYuiXh6VE8YBdDfuJgyy-U,3478
17
20
  klaude_code/command/help_cmd.py,sha256=N9X9q2hw7AXrmvBszmzL6tYz3GNZR768wMQqmC0Vp1Q,1692
18
- klaude_code/command/model_cmd.py,sha256=Zy5oQV1bgnd7l1cn7quCZx4qZS2gFcWnYKZWM08QFKE,1492
21
+ klaude_code/command/model_cmd.py,sha256=dIjAlh2PAsjKFzEQ9JrQDslPnfdl16k9whiLd7gevcc,1505
19
22
  klaude_code/command/prompt-deslop.md,sha256=YGaAXqem39zd0UWCFjWUj83Cf7cvUJq1768aJExFqeg,1346
20
23
  klaude_code/command/prompt-dev-docs-update.md,sha256=g1IWIWIa-3qlNOw5mBA4N9H1_nvYcw8AKo7XoQw_AZQ,1855
21
24
  klaude_code/command/prompt-dev-docs.md,sha256=PU9iT6XdUEH6grfSjHVma7xKOQcA__ZTKlEDkbbO0hA,1783
@@ -27,20 +30,20 @@ klaude_code/command/release_notes_cmd.py,sha256=lDeAjuMDOSUISM0yYKZKbkjrYvFmvA5_
27
30
  klaude_code/command/status_cmd.py,sha256=F7XgfivBm80kJEsCgRHGXWOALAT_Y2QyLQ38ooc_ZSE,5393
28
31
  klaude_code/command/terminal_setup_cmd.py,sha256=iSYGZlflj_i-7i-9FhfhtbyyIe3UNkhPeehZezi-ULM,10944
29
32
  klaude_code/command/thinking_cmd.py,sha256=rdPUHEGkHeth7dRS8B9F7Ryu5x4vQ7IIKxEr39STpfA,8001
30
- klaude_code/config/__init__.py,sha256=RStXnrPw7rB6xI_V7Ua97UdrDVqNKoxuwxXeeWJ-mTc,292
31
- klaude_code/config/config.py,sha256=Vc9u7-40T81Rbx1OdMqSWZLh3vf9aj4wmBUnIOH7jAw,6526
33
+ klaude_code/config/__init__.py,sha256=Qrqvi8nizkj6N77h2vDj0r4rbgCiqxvz2HLBPFuWulA,120
34
+ klaude_code/config/config.py,sha256=2tSf6x88vuPfMMWcKlckXPoEjnxzFCtw2g_gbDjzK90,7268
32
35
  klaude_code/config/list_model.py,sha256=Uthp0nHaENBgD6l_a6wG0RFkRHQhLvIyjHPsP55Kazw,8010
33
36
  klaude_code/config/select_model.py,sha256=aOizajRXcc_IOy0bSzK_KOZhbMQSx4g6IeNkgLsyV1c,2168
34
- klaude_code/const/__init__.py,sha256=msApH-AQh_ttCgtYVTTW-e4AhCf6nurOcpTEkR0r1M4,3980
37
+ klaude_code/const/__init__.py,sha256=5sbJ0NMLRTesavJmgK6wu30pNSs9tpigM0F86BF_W08,4168
35
38
  klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
- klaude_code/core/agent.py,sha256=Xec4vmsvQJac70ct5B9ZUwq0S_dpzCqf99gZSqcfElk,5798
39
+ klaude_code/core/agent.py,sha256=bWm-UFX_0-KAy5j_YHH8X8o3MJT4-40Ni2EaDP2SL5k,5819
37
40
  klaude_code/core/executor.py,sha256=WBwE6RLeCfw6b1j6EKEb_y36Qyg9pAPprlkKbbDGx2M,18685
38
41
  klaude_code/core/manager/__init__.py,sha256=6CswltCHXBUcezlW7xui2S1swDp8JTkS1YiEHmq4-no,658
39
42
  klaude_code/core/manager/agent_manager.py,sha256=Z_LEV9WP-4h6tLAy4_WJnnJElY8MfH1OTRHk_LRw0VI,5202
40
43
  klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
41
44
  klaude_code/core/manager/llm_clients_builder.py,sha256=Kx4QyJmTr6BlN-yCqYglrhMxsCe2woe6yzLtHIQuV04,1520
42
45
  klaude_code/core/manager/sub_agent_manager.py,sha256=YC_T-pA6P0295XqNzQDE7Ds0PnJ8XdH0YS2iRe9C0UQ,3748
43
- klaude_code/core/prompt.py,sha256=I_FZYhIEl2E-Syq3YL-0hbQhK43NBQUwyqb8HNxmHJI,3282
46
+ klaude_code/core/prompt.py,sha256=arzgHc6l076ZvKUhLbdD8JD3sPPwgv459vox7j6EX3A,3508
44
47
  klaude_code/core/prompts/prompt-claude-code.md,sha256=c7kNgwjJqnbwQuKWGJoMx-AMbf1gxAFC3ZFDhngBe74,8293
45
48
  klaude_code/core/prompts/prompt-codex-gpt-5-1-codex-max.md,sha256=SW-y8AmR99JL_9j26k9YVAOQuZ18vR12aT5CWHkZDc4,11741
46
49
  klaude_code/core/prompts/prompt-codex-gpt-5-1.md,sha256=jNi593_4L3EoMvjS0TwltF2b684gtDBsYHa9npxO34A,24239
@@ -98,7 +101,7 @@ klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,2
98
101
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
99
102
  klaude_code/llm/anthropic/client.py,sha256=J0uv_tGHq2V5A_LuaJOVHXW6vARdZxsWOvzO6PdW4JQ,9742
100
103
  klaude_code/llm/anthropic/input.py,sha256=qPo4nmhnhSfLqef4UUVoIz8EjoXTxvlsrfsc_6qqM_s,8039
101
- klaude_code/llm/client.py,sha256=ouYk2LivxLec_vBrkDNL0eY-dLiTpw2VqY5TAF0aD4E,853
104
+ klaude_code/llm/client.py,sha256=FbFnzLUAKM61goiYNdKi8-D4rBfu_ksaxjJtmJn0w_4,960
102
105
  klaude_code/llm/codex/__init__.py,sha256=8vN2j2ezWB_UVpfqQ8ooStsBeLL5SY4SUMXOXdWiMaI,132
103
106
  klaude_code/llm/codex/client.py,sha256=0BAOiLAdk2PxBEYuC_TGOs4_h6yfNZr1YWuf1lzkBxM,5329
104
107
  klaude_code/llm/input_common.py,sha256=-tvMg7QNkyy8EJ_ZTQ-V9ei6-VdD06zCBXQuFSNRa3o,8526
@@ -108,7 +111,7 @@ klaude_code/llm/openai_compatible/input.py,sha256=rtWVjpwb9tLrinucezmncQXet8MerU
108
111
  klaude_code/llm/openai_compatible/stream_processor.py,sha256=EOJeoWlQGHrDj6chMclflj9RMqFgE1X7cdieQ5U5rZI,3415
109
112
  klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=kuw3ceDgenQz2Ccc9KYqBkDo6F1sDb5Aga6m41AIECA,4071
110
113
  klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
111
- klaude_code/llm/openrouter/client.py,sha256=uW16ZM-QaZM4hlD9DcWqmg6PafoTN-I9lPZu9ubPWvU,8798
114
+ klaude_code/llm/openrouter/client.py,sha256=5grbpu5ft4QclxwzFQaePitSKmQKg82RoVV124ajNh8,8855
112
115
  klaude_code/llm/openrouter/input.py,sha256=2GuDVHd_74ZtHQyFyTGhZqtWjM7m5GYqFtKf--AvmlI,5059
113
116
  klaude_code/llm/openrouter/reasoning_handler.py,sha256=r8I2F-oFTCkqJpINv74SCQZXwAuQZym7wJi5ScSe6hs,3378
114
117
  klaude_code/llm/registry.py,sha256=grgHetTd-lSxTXiY689QW_Zd6voaid7qBqSnulpg_fE,1734
@@ -118,20 +121,20 @@ klaude_code/llm/responses/input.py,sha256=noNmalXvxw6UXo6ngkhFBroECxK6igmgEQ49YV
118
121
  klaude_code/llm/usage.py,sha256=cq6yZNSKBhRVVjFqBYJQrK3mw9ZSLXaTpbDeal-BjBQ,4205
119
122
  klaude_code/protocol/__init__.py,sha256=aGUgzhYqvhuT3Mk2vj7lrHGriH4h9TSbqV1RsRFAZjQ,194
120
123
  klaude_code/protocol/commands.py,sha256=WX7EW3DbZs7oV7zhnKXHQhDZdIZTN35MTBJ4hWMAHjM,606
121
- klaude_code/protocol/events.py,sha256=BLs1cnU86kJhVC2OzHwweZTUf8BPRaNQpgELo7udeKQ,3698
124
+ klaude_code/protocol/events.py,sha256=UX7j14DNlZrZ4dyim6MRmLWiHpqvx_uuQZlc6vp8nx8,3685
122
125
  klaude_code/protocol/llm_param.py,sha256=cb4ubLq21PIsMOC8WJb0aid12z_sT1b7FsbNJMr-jLg,4255
123
126
  klaude_code/protocol/model.py,sha256=Gd2nUhJC4mj5l2x6oDH9Sho8iY32hHgWLa_q8wDlquk,12312
124
127
  klaude_code/protocol/op.py,sha256=hdQTzD6zAsRMJJFaLOPvDX9gokhtIBSYNQuZ20TusI4,2824
125
128
  klaude_code/protocol/op_handler.py,sha256=_lnv3-RxKkrTfGTNBlQ23gbHJBEtMLC8O48SYWDtPjE,843
126
- klaude_code/protocol/sub_agent.py,sha256=FXhM_k5zw57eppx8JaizViqPEmg3QZuKFxkrQiRlO24,13693
129
+ klaude_code/protocol/sub_agent.py,sha256=ZCEeflbUcMLKrajgxYuWHY2y0TmMIQBJ2-VdQcPiiLw,13575
127
130
  klaude_code/protocol/tools.py,sha256=hkjVirnQqGTJS46IWvVKXWR4usPPUgDZDnm34LzAVSc,348
128
131
  klaude_code/session/__init__.py,sha256=oXcDA5w-gJCbzmlF8yuWy3ezIW9DgFBNUs-gJHUJ-Rc,121
129
- klaude_code/session/export.py,sha256=3xyY0F39SbIAf1-h2IO_anNMfjBasncNJZXHh2STGow,24643
132
+ klaude_code/session/export.py,sha256=yoRvIfEehjwHL9qNNd6kJWhXLdXTsQlpf8KCoR_tjkI,26512
130
133
  klaude_code/session/selector.py,sha256=gijwWQkSV20XYP3Fxr27mFXuqP4ChY2DQm_YuBOTQKw,2888
131
- klaude_code/session/session.py,sha256=j53g9Wr8teY9MElPxZjJ2gaaRBUoX9JnRDAg2U8Togg,20009
132
- klaude_code/session/templates/export_session.html,sha256=jvyVM_ZrRoQIqWslfmo6ASprVYLhbOtT_QTzgkrdXHs,46389
133
- klaude_code/trace/__init__.py,sha256=EaHC0t4UfM9ypFEJIW9APvcsWOBOoOsQQH2ZQdi5aoI,184
134
- klaude_code/trace/log.py,sha256=DarddpDAHdSdsVVah-MrXP9vrVKKIAK9VurgztKOd6I,4874
134
+ klaude_code/session/session.py,sha256=w9ei9kkgT7-C4hlToQm0Cd35HTTOSPYkIGnrtaoJg6Q,21386
135
+ klaude_code/session/templates/export_session.html,sha256=iCvsxq7ZMnh7W-bK3S8UFSNQO46Hy7sIdavAYxSZhp4,47744
136
+ klaude_code/trace/__init__.py,sha256=cETWJZZJaJ8_kA5Uki0om5n-ZpBxO9ph6YGYsJDXOEk,234
137
+ klaude_code/trace/log.py,sha256=0H_RqkytSpt6AAIFDg-MV_8vA9zsR9BB1UqT6moTTTg,9134
135
138
  klaude_code/ui/__init__.py,sha256=XuEQsFUkJet8HI04cRmNLwnHOUqaPCRy4hF7PJnIfCY,2737
136
139
  klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
137
140
  klaude_code/ui/core/display.py,sha256=NwFQ9oKi8i3T5EsYDRrTpGBr3BZI0Ggns37JuQEOH54,3540
@@ -139,17 +142,17 @@ klaude_code/ui/core/input.py,sha256=GqEos_VKRpfzQg0LQvr3210gzu2mw0_7OpPyNXmF3LI,
139
142
  klaude_code/ui/core/stage_manager.py,sha256=QeKIbeqlQk4TwwjCirXdv6Yp__-kxL58ytgYVUTYdkY,1711
140
143
  klaude_code/ui/modes/__init__.py,sha256=ByDPbyYYU4o5kdnEes3b1VEV173RI9XAXyzkFbrApEY,26
141
144
  klaude_code/ui/modes/debug/__init__.py,sha256=1-1tAk7FtENdYzExSttYdHiJ-qH3DIQ5yYJ51ms2uSg,13
142
- klaude_code/ui/modes/debug/display.py,sha256=11I-JN9OEz2zBIqhEXctSUaDO1Z0nT_cG8R78jIBftk,1067
145
+ klaude_code/ui/modes/debug/display.py,sha256=7_j9NGZqL4wE2LWhF1TjDHac4MfaWlYN2RHZCTfQad8,1096
143
146
  klaude_code/ui/modes/exec/__init__.py,sha256=RsYa-DmDJj6g7iXb4H9mm2_Cu-KDQOD10RJd3yhVf_k,12
144
147
  klaude_code/ui/modes/exec/display.py,sha256=m2kkgaUoGD9rEVUmcm7Vs_PyAI2iruKCJYRhANjSsKo,1965
145
148
  klaude_code/ui/modes/repl/__init__.py,sha256=35a6SUiL1SDi2i43X2VjHQw97rR7yhbLBzkGI5aC6Bc,1526
146
149
  klaude_code/ui/modes/repl/clipboard.py,sha256=ZCpk7kRSXGhh0Q_BWtUUuSYT7ZOqRjAoRcg9T9n48Wo,5137
147
- klaude_code/ui/modes/repl/completers.py,sha256=SQA-ktOWc42ly1vjEvdeWrTuImR7u1kEM_nMMCqkIHY,18251
150
+ klaude_code/ui/modes/repl/completers.py,sha256=RyxvbOwVXTa4PTl1thVz6YbBhXhCZa7ZX87eiGRHGp4,18224
148
151
  klaude_code/ui/modes/repl/display.py,sha256=0u4ISeOoYjynF7InYyV-PMOZqP44QBbjYOLOL18V0c0,2245
149
152
  klaude_code/ui/modes/repl/event_handler.py,sha256=-dr1eNavx-19RxXdqdvNy3TFzf4KED9Sp2DRGMuoT5o,21153
150
153
  klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=EAIAtcL9EHVPmVK6oOHg0xCeZ0IOnG5S5KsaL85OHOk,6368
151
154
  klaude_code/ui/modes/repl/key_bindings.py,sha256=Fxz9Ey2SnOHvfleMeSYVduxuofY0Yo-97hMRs-OMe-o,7800
152
- klaude_code/ui/modes/repl/renderer.py,sha256=al0-zJnEyVCZgTxSBf777jMFG5hm7WwMeuXX8zm9JY0,11989
155
+ klaude_code/ui/modes/repl/renderer.py,sha256=tOGYTMwBCAG25466ne37subthdv7FPxlY8ZKN-NwwcA,11460
153
156
  klaude_code/ui/renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
157
  klaude_code/ui/renderers/assistant.py,sha256=Dxy6v4pX28RyWhnrjBteY8_NvDIi_jQa-j0mWt-eqWY,569
155
158
  klaude_code/ui/renderers/common.py,sha256=TPH7LCbeJGqB8ArTsVitqJHEyOxHU6nwnRtvF04nLJ4,184
@@ -159,7 +162,7 @@ klaude_code/ui/renderers/errors.py,sha256=c_fbnoNOnvuI3Bb24IujwV8Mpes-qWS_xCWfAc
159
162
  klaude_code/ui/renderers/metadata.py,sha256=QQev-3S3AS7GuWUhekjbnFJj3cFcbNxNtEYxzAl1Xm8,9121
160
163
  klaude_code/ui/renderers/sub_agent.py,sha256=3cyn95pu4IniOJyWW4vfQ-X72iLufQ3LT9CkAQMuF4k,2686
161
164
  klaude_code/ui/renderers/thinking.py,sha256=jzDfvYuwpafndmBMMb6UumGxur9iFi_X0LYIo08eDlw,1179
162
- klaude_code/ui/renderers/tools.py,sha256=iVgTo10gzS981LmbLU36Zt17JMW3YTPYRqA3mUJ_d8c,19975
165
+ klaude_code/ui/renderers/tools.py,sha256=wPABeq1OMJOvKu2aZOFaPN9LHgEt0jd9LG9_KkVGz-M,20129
163
166
  klaude_code/ui/renderers/user_input.py,sha256=rDdOYvbgJ6oePQAtyTCK-KhARfLKytpTZboZ-cFIuJQ,2603
164
167
  klaude_code/ui/rich/__init__.py,sha256=olvMm2SteyKioOqUJbEoav2TsDr_mtKqkSaifNumjwc,27
165
168
  klaude_code/ui/rich/live.py,sha256=Uid0QAZG7mHb4KrCF8p9c9n1nHLHzW75xSqcLZ4bLWY,2098
@@ -167,7 +170,7 @@ klaude_code/ui/rich/markdown.py,sha256=itfqiiS3ysxtt22hYJtHIlmAWay1F8TmlQhZexiQ4
167
170
  klaude_code/ui/rich/quote.py,sha256=tZcxN73SfDBHF_qk0Jkh9gWBqPBn8VLp9RF36YRdKEM,1123
168
171
  klaude_code/ui/rich/searchable_text.py,sha256=DCVZgEFv7_ergAvT2v7XrfQAUXUzhmAwuVAchlIx8RY,2448
169
172
  klaude_code/ui/rich/status.py,sha256=r5KmymTKo-FsOVBJxp8orhqFT8GP8Mf1DHkw1icnuOA,8522
170
- klaude_code/ui/rich/theme.py,sha256=JEGCdceK0DEF9MfYttM_DzqeOXTZyGY4Z-RVaFHpIvY,10127
173
+ klaude_code/ui/rich/theme.py,sha256=o6NMPXaHu2CGW2XfeQrlTd8ErgKdxjD2MdiKo2kP13Y,10127
171
174
  klaude_code/ui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
172
175
  klaude_code/ui/terminal/color.py,sha256=M-i09DVlLAhAyhQjfeAi7OipoGi1p_OVkaZxeRfykY0,7135
173
176
  klaude_code/ui/terminal/control.py,sha256=6SGNwxorP3jMW9xqnZy2BC0OsJd4DSrS13O3t6YlZzs,4916
@@ -177,7 +180,7 @@ klaude_code/ui/utils/__init__.py,sha256=YEsCLjbCPaPza-UXTPUMTJTrc9BmNBUP5CbFWlsh
177
180
  klaude_code/ui/utils/common.py,sha256=UCQMun23l-EREr3xkl-Bjx67yfi9ctRTw2gcGPsOM2c,2881
178
181
  klaude_code/ui/utils/debouncer.py,sha256=x8AYxf48Xd6tabBvH8cVl1bIV8FzyeDo3HswDjtNfwU,1266
179
182
  klaude_code/version.py,sha256=x2OeiACPdzS87EWtaSi_UP13htm81Uq7mlV3kFy5jko,4815
180
- klaude_code-1.2.13.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
181
- klaude_code-1.2.13.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
182
- klaude_code-1.2.13.dist-info/METADATA,sha256=Dd4HDH8jjYucxSDHlXUoS_hjGbEP0FPXunLqyDvftgY,5067
183
- klaude_code-1.2.13.dist-info/RECORD,,
183
+ klaude_code-1.2.14.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
184
+ klaude_code-1.2.14.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
185
+ klaude_code-1.2.14.dist-info/METADATA,sha256=Bx4DAWQQ-v48v-cgJOFPe8511dvLjfEkFihxlQLeGms,5067
186
+ klaude_code-1.2.14.dist-info/RECORD,,