klaude-code 2.9.1__py3-none-any.whl → 2.10.0__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 (40) hide show
  1. klaude_code/app/runtime.py +1 -1
  2. klaude_code/cli/cost_cmd.py +4 -4
  3. klaude_code/cli/list_model.py +1 -2
  4. klaude_code/const.py +4 -3
  5. klaude_code/core/bash_mode.py +276 -0
  6. klaude_code/core/executor.py +40 -7
  7. klaude_code/core/manager/llm_clients.py +1 -0
  8. klaude_code/core/manager/llm_clients_builder.py +2 -2
  9. klaude_code/core/memory.py +140 -0
  10. klaude_code/core/reminders.py +17 -89
  11. klaude_code/core/turn.py +10 -4
  12. klaude_code/protocol/events.py +17 -0
  13. klaude_code/protocol/op.py +12 -0
  14. klaude_code/protocol/op_handler.py +5 -0
  15. klaude_code/tui/command/resume_cmd.py +1 -1
  16. klaude_code/tui/commands.py +15 -0
  17. klaude_code/tui/components/command_output.py +4 -5
  18. klaude_code/tui/components/developer.py +1 -3
  19. klaude_code/tui/components/metadata.py +23 -23
  20. klaude_code/tui/components/rich/code_panel.py +31 -16
  21. klaude_code/tui/components/rich/markdown.py +53 -124
  22. klaude_code/tui/components/rich/theme.py +19 -10
  23. klaude_code/tui/components/tools.py +1 -0
  24. klaude_code/tui/components/user_input.py +48 -59
  25. klaude_code/tui/components/welcome.py +47 -2
  26. klaude_code/tui/display.py +15 -7
  27. klaude_code/tui/input/completers.py +8 -0
  28. klaude_code/tui/input/key_bindings.py +37 -1
  29. klaude_code/tui/input/prompt_toolkit.py +58 -31
  30. klaude_code/tui/machine.py +63 -3
  31. klaude_code/tui/renderer.py +113 -19
  32. klaude_code/tui/runner.py +22 -0
  33. klaude_code/tui/terminal/notifier.py +11 -12
  34. klaude_code/tui/terminal/selector.py +1 -1
  35. klaude_code/ui/terminal/title.py +4 -2
  36. {klaude_code-2.9.1.dist-info → klaude_code-2.10.0.dist-info}/METADATA +1 -1
  37. {klaude_code-2.9.1.dist-info → klaude_code-2.10.0.dist-info}/RECORD +39 -38
  38. klaude_code/tui/components/assistant.py +0 -2
  39. {klaude_code-2.9.1.dist-info → klaude_code-2.10.0.dist-info}/WHEEL +0 -0
  40. {klaude_code-2.9.1.dist-info → klaude_code-2.10.0.dist-info}/entry_points.txt +0 -0
@@ -64,9 +64,9 @@ class TerminalNotifier:
64
64
  return False
65
65
 
66
66
  output = resolve_stream(self.config.stream)
67
- if not self._supports_osc9(output):
67
+ if not self._supports_notification(output):
68
68
  log_debug(
69
- "Terminal notifier skipped: OSC 9 unsupported or not a TTY",
69
+ "Terminal notifier skipped: not a TTY",
70
70
  debug_type=DebugType.TERMINAL,
71
71
  )
72
72
  return False
@@ -74,27 +74,26 @@ class TerminalNotifier:
74
74
  payload = self._render_payload(notification)
75
75
  return self._emit(payload, output)
76
76
 
77
- def _render_payload(self, notification: Notification) -> str:
78
- title = _compact(notification.title)
79
- body = _compact(notification.body) if notification.body else None
80
- if body:
81
- return f"{title} - {body}"
82
- return title
77
+ def _render_payload(self, notification: Notification) -> tuple[str, str]:
78
+ """Return (title, body) for OSC 777 notification."""
79
+ body = _compact(notification.body) if notification.body else _compact(notification.title)
80
+ return ("klaude", body)
83
81
 
84
- def _emit(self, payload: str, output: TextIO) -> bool:
82
+ def _emit(self, payload: tuple[str, str], output: TextIO) -> bool:
85
83
  terminator = BEL if self.config.use_bel else ST
86
- seq = f"\033]9;{payload}{terminator}"
84
+ title, body = payload
85
+ seq = f"\033]777;notify;{title};{body}{terminator}"
87
86
  try:
88
87
  output.write(seq)
89
88
  output.flush()
90
- log_debug("Terminal notifier sent OSC 9 payload", debug_type=DebugType.TERMINAL)
89
+ log_debug("Terminal notifier sent OSC 777 payload", debug_type=DebugType.TERMINAL)
91
90
  return True
92
91
  except Exception as exc:
93
92
  log_debug(f"Terminal notifier send failed: {exc}", debug_type=DebugType.TERMINAL)
94
93
  return False
95
94
 
96
95
  @staticmethod
97
- def _supports_osc9(stream: TextIO) -> bool:
96
+ def _supports_notification(stream: TextIO) -> bool:
98
97
  if sys.platform == "win32":
99
98
  return False
100
99
  if not getattr(stream, "isatty", lambda: False)():
@@ -111,7 +111,7 @@ def build_model_select_items(models: list[Any]) -> list[SelectItem[str]]:
111
111
  meta_str = " · ".join(meta_parts) if meta_parts else ""
112
112
  title: list[tuple[str, str]] = [
113
113
  ("class:meta", f"{model_idx:>{num_width}}. "),
114
- ("class:msg bold", first_line_prefix),
114
+ ("class:msg", first_line_prefix),
115
115
  ("class:msg dim", " → "),
116
116
  # Keep provider/model_id styling attribute-based (dim/bold) so that
117
117
  # the selector's highlight color can still override uniformly.
@@ -26,6 +26,8 @@ def update_terminal_title(model_name: str | None = None) -> None:
26
26
  """Update terminal title with folder name and optional model name."""
27
27
  folder_name = os.path.basename(os.getcwd())
28
28
  if model_name:
29
- set_terminal_title(f"{folder_name}: klaude {model_name}")
29
+ # Strip provider suffix (e.g., opus@openrouter -> opus)
30
+ model_alias = model_name.split("@")[0]
31
+ set_terminal_title(f"klaude [{model_alias}] · {folder_name}")
30
32
  else:
31
- set_terminal_title(f"{folder_name}: klaude")
33
+ set_terminal_title(f"klaude · {folder_name}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.9.1
3
+ Version: 2.10.0
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic>=0.66.0
6
6
  Requires-Dist: chardet>=5.2.0
@@ -1,7 +1,7 @@
1
1
  klaude_code/.DS_Store,sha256=cLWFbSgdN0bXEd3_tz93BJSposEPafUBqSr7t-3lPbA,6148
2
2
  klaude_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  klaude_code/app/__init__.py,sha256=7mgWpN9SFDqe8AW44bBn9M19nVsBcZURrsGB_8l2hrU,264
4
- klaude_code/app/runtime.py,sha256=mRr-Rb1u7M2P1vkF8OFOPo98C_9G_sh0CP7LCcApWtk,6030
4
+ klaude_code/app/runtime.py,sha256=MEfD6asbwRpZLyf0jUXAenDPufBZEnA3Trh6QnEUniQ,6031
5
5
  klaude_code/auth/AGENTS.md,sha256=5ObIfgMfUDuNBKykK6kikRSEvCxDt5fO0-ySVaLVDW0,8467
6
6
  klaude_code/auth/__init__.py,sha256=LhGS2P80Ci_DeaqxVueknDIj-Ded4OFQdNmFHekXNY8,1106
7
7
  klaude_code/auth/antigravity/__init__.py,sha256=Lv37yKg7CLzoQss2Jho-jtrGiU-zUCa7W1w3eDWmR0o,610
@@ -23,9 +23,9 @@ klaude_code/auth/env.py,sha256=QLqV2QjVCAAPSaH2xm2W0KvQ-RSbRxk_Y_FSH_MGDNY,2550
23
23
  klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
24
24
  klaude_code/cli/auth_cmd.py,sha256=OwU7aOgSc7lZusQuVK6P6X0flKWK6cU677ED3YUja9s,11100
25
25
  klaude_code/cli/config_cmd.py,sha256=7BmZpKeiO24mKKLKGO46WvSQzSaNwuZ3KtCV4GH-Yh0,3306
26
- klaude_code/cli/cost_cmd.py,sha256=74ZJcMfUOkyqBrwPO8DgYmYk9EClMp0PBGGDguaIDgA,16604
26
+ klaude_code/cli/cost_cmd.py,sha256=PofksXj7ZmalaRfxAHCxtUBxEc7tfI-sIER_9GRA1CU,16604
27
27
  klaude_code/cli/debug.py,sha256=vEHOjObhrIHDAXk3q6cOgeW2NZxCx5AWM1rJ6FiJnVU,1901
28
- klaude_code/cli/list_model.py,sha256=2YA2PlWcdL9vP8UUg15xpMtNVwbnBH_nlacTGDe5ufA,16192
28
+ klaude_code/cli/list_model.py,sha256=GYznb88rvubnUCMvW-D1r3aGVWQB4-DzvsTjBSHjOUw,16168
29
29
  klaude_code/cli/main.py,sha256=Z0jCfGvMH7iIlmpjcPsCOHgqDFEcEl3LkzIQr9fUHNM,12772
30
30
  klaude_code/cli/self_update.py,sha256=1xdG9ifvRZQDSx6RAtSSgXmw9hZNXMLvqC2zu4bS-GY,2622
31
31
  klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
@@ -36,21 +36,23 @@ klaude_code/config/config.py,sha256=otBvsUkvI-2fpZzx9fO6SPnCek7FI7kufvAnGIQqTz8,
36
36
  klaude_code/config/model_matcher.py,sha256=3IlLU5h3NDh_bURbCW-PV027C3irG3hyitwj1cj99Ig,6179
37
37
  klaude_code/config/sub_agent_model_helper.py,sha256=PvYuGE0fVKn7eReHyL7Q3ReyH6_nCm7VPwEgZqcX5cI,8384
38
38
  klaude_code/config/thinking.py,sha256=5uVM0cFUJZBBsBGGdPG-tjdiNwZ-GFeWOBBWIdSPFvQ,9017
39
- klaude_code/const.py,sha256=EMR2MX-aTyiKj0Io92Jhh7eSFo1SqgrQxLyxnlMnmVM,11527
39
+ klaude_code/const.py,sha256=VCK3HgZJZO6jcYz6U2rcHS7W-n4oyKYg9AC6eTB4HIQ,11575
40
40
  klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  klaude_code/core/agent.py,sha256=GrIg22nfoq1c90UHyEfU_bh46vtXTCo4bLezb-3mGNo,4120
42
42
  klaude_code/core/agent_profile.py,sha256=AoBpOC8rGqyJW4DGCzejQAq3P1497n3NrCayIGIOQBY,10632
43
+ klaude_code/core/bash_mode.py,sha256=BUy2_uOcJ8bO89t_QCwtw6GlHt7vd1t62sN5iWk-UuQ,9250
43
44
  klaude_code/core/compaction/AGENTS.md,sha256=KZR5lxe4jVAbT5K9PxbZcHWI1UwsppbGmxIfCdHYr7Q,3684
44
45
  klaude_code/core/compaction/__init__.py,sha256=CvidYx3sX0IZAa4pifX9jrQSkg4Nib7PKrcaOHswF60,329
45
46
  klaude_code/core/compaction/compaction.py,sha256=IEKA2mmiOyQq5ryJKBcNcIDQ51AuTD5ewVc8qmUoMoQ,25032
46
47
  klaude_code/core/compaction/overflow.py,sha256=bDxITbYIqhiTtc0inQx10HWw0qCnRsQ0B1OgluzImH8,1152
47
48
  klaude_code/core/compaction/prompts.py,sha256=GgwbMi9fkCF4eHScoHe7hykzNT_L160nRdgmQn9-MYU,3191
48
- klaude_code/core/executor.py,sha256=9dqXkglbQIpVc_8ArDlGkjrLFz_9GDaWclxAgNvge5g,39616
49
+ klaude_code/core/executor.py,sha256=dJpW84e0xHBTVSciOD2ShHoT3unpGSD5f4sKOoykpJ0,41190
49
50
  klaude_code/core/loaded_skills.py,sha256=5lxPzXx2uf9mNxwEu_Jt3qRoATa2jaMvFjBfWhgbaSk,1177
50
51
  klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
51
- klaude_code/core/manager/llm_clients.py,sha256=XWzFytE1iDL6qx78PnN6SEf6fjdch0kO8-9IJ-_t4E8,1353
52
- klaude_code/core/manager/llm_clients_builder.py,sha256=hw9lbGm5RZRZtxbEnxlfp9Hov384lrUeKYL7_e6dwXU,2409
52
+ klaude_code/core/manager/llm_clients.py,sha256=UxI_j4_pzheBggOkNuMhx_7n2AyQq-znnWkKGd77f_s,1384
53
+ klaude_code/core/manager/llm_clients_builder.py,sha256=O2J5-uhT6GfIzWqBfxJzotQyPR_Z46YdGCXf92C8p-E,2467
53
54
  klaude_code/core/manager/sub_agent_manager.py,sha256=sQ88o0ivWHTlaNz-FC23CiHiPXF4mLsQ0T69jPO9Hck,7797
55
+ klaude_code/core/memory.py,sha256=pq4E4Urfq8bj8EFIqet98gB2Zw97NvL6CahfRi6IpMc,4957
54
56
  klaude_code/core/prompts/prompt-antigravity.md,sha256=OpxPKLY6S8QDJExrHTuU_snIxgvNrvT09WHj-8dWZcc,6671
55
57
  klaude_code/core/prompts/prompt-claude-code.md,sha256=Wcv_FZ9vmFA2LhvkLiomN9g2oAmvs6qO3FN_xeAE4XM,8359
56
58
  klaude_code/core/prompts/prompt-codex-gpt-5-2-codex.md,sha256=GA1pIIF6JuAl4P3FIW4tVJ6zL_5iZ8MY_PF0DW9hBuU,11719
@@ -62,7 +64,7 @@ klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=21kFodjhvN0L-c_ZFo4y
62
64
  klaude_code/core/prompts/prompt-sub-agent-image-gen.md,sha256=tXYKSzFd04OiC0dmVO9suMKeD5f9qo_4NsvqGo7irfI,78
63
65
  klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=UwrO5M_jPUbee_8lL7gB-2VFFLxvzEejluXDkMzmR5A,3625
64
66
  klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
65
- klaude_code/core/reminders.py,sha256=-howMkzIfQrx8I5oRSci_sqElnGdoTmhFhXkm-61pcM,24359
67
+ klaude_code/core/reminders.py,sha256=Dar0GqyOgiZiv0VzrzYOGM22ViSWJUaV12Ssdtcdjlo,21720
66
68
  klaude_code/core/task.py,sha256=uXNg_SxVnp6nFwDmWl8LjhG0HDv7_3P83zAV6dR2gcQ,20125
67
69
  klaude_code/core/tool/__init__.py,sha256=3NrBZrSTcm0rX0ube_cCXNSS59sYkaTSY4s5mxcfrH4,1436
68
70
  klaude_code/core/tool/context.py,sha256=lHMjbLE--WVek8gAPOvaHz4CdeRGzLXSusMyEdEU5ss,2961
@@ -105,7 +107,7 @@ klaude_code/core/tool/web/web_fetch_tool.md,sha256=i0IwsZ6r9vAQeCpwDBtEGrWmHPzZk
105
107
  klaude_code/core/tool/web/web_fetch_tool.py,sha256=jXbJTgpI_RvyXy5ac8qIrC-AKOUX1fJ3TpqXq_BfkS4,9596
106
108
  klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
107
109
  klaude_code/core/tool/web/web_search_tool.py,sha256=ljkgXxP6L5nJnbYB_IOUtPUN9zA_h5hBD55lhNAja08,4293
108
- klaude_code/core/turn.py,sha256=ynuSprAzHEHVP3JC2rXmdz4N7zo9lA5HN0CCgdJDUsg,18569
110
+ klaude_code/core/turn.py,sha256=YKzjlaKggN9NdSvPvrWfVvR84mI8PXofzeqC_fmnrCs,18902
109
111
  klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
110
112
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
111
113
  klaude_code/llm/anthropic/client.py,sha256=RpYw4UQnhLzAsp6i-FU7cDW4deqngdAoQaTPGnCeO5U,17346
@@ -145,12 +147,12 @@ klaude_code/llm/usage.py,sha256=q9c7cFJlXUVvw0Rqjy31bEDwBMz9o_bHt3Lssgfbfm4,5780
145
147
  klaude_code/log.py,sha256=i9iVCmp4dxqxqH_7XPMVjZt8umiH1KPhRbX4Ao93mSM,11382
146
148
  klaude_code/protocol/__init__.py,sha256=TTPnuyQ22RypoTGKdoiS7ZEgHzinuaRHUrauzHDh7Xo,246
147
149
  klaude_code/protocol/commands.py,sha256=sy6z48I3q8HHL91bqou9n0TZZ91P34pVmtNHqcHArBo,759
148
- klaude_code/protocol/events.py,sha256=yc6w5-6QV_hOpMe4QR89i0OldcfNK5vZ-UxtodZYZ1w,4897
150
+ klaude_code/protocol/events.py,sha256=Xu2i81OgfuCCeyTBecVy_CoKsHpuo3R_aOyW0vS51KM,5273
149
151
  klaude_code/protocol/llm_param.py,sha256=MzKiZBKK_uTvJsmbaXJd7EEmQ9dedLEtVsSJUn2jbjg,5223
150
152
  klaude_code/protocol/message.py,sha256=RVU67DdIcgvYmEUuexOaYuy-IH8_92MGLyFxUstoIWw,7106
151
153
  klaude_code/protocol/model.py,sha256=iSx14YBbHokc0wR-RBs5bUBz3og95wgJbPV35OOimNk,10534
152
- klaude_code/protocol/op.py,sha256=eQjduSxSr9ccFsY9BM1hrHLc-ORGQExTg71cjR3ZhNI,7319
153
- klaude_code/protocol/op_handler.py,sha256=U3Wlm4b5rFRUpCXVLR37YqinhhgZEF9HPuZqZuTzJB4,2576
154
+ klaude_code/protocol/op.py,sha256=eV144aS6YrviPyMLdMRr3Wpwq8dAOPsVFZ2o-fN4bhU,7644
155
+ klaude_code/protocol/op_handler.py,sha256=8ngSwR7KKXgCoBYf9TCZlP2AvbQjbp3J3JcIKlPtwK4,2751
154
156
  klaude_code/protocol/sub_agent/AGENTS.md,sha256=qhlboiEU51dr_l7_-TdDCbd61ADjSOgiO16-qrmBAMI,1316
155
157
  klaude_code/protocol/sub_agent/__init__.py,sha256=0Zc-gTdBJ7P2kC50p3njpwBt7fqSg7KRQ5AVRmyF924,3252
156
158
  klaude_code/protocol/sub_agent/explore.py,sha256=GAl1aoj6afNq5WiuBuWKsxCEQ5tnbcTyIvrkwMEIwhU,670
@@ -193,53 +195,52 @@ klaude_code/tui/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5
193
195
  klaude_code/tui/command/prompt_command.py,sha256=PGGoH_ZgA-0kTtpjk19rDSsWjiZyAEoUlxnSp8B8GRQ,2764
194
196
  klaude_code/tui/command/refresh_cmd.py,sha256=_nY7Iko7GSpHmc9t2vKK2DcXRYbXfUnbGzwsmNc-yPI,1405
195
197
  klaude_code/tui/command/registry.py,sha256=2HDrC6ZqGKSdzQAYra2TSFt1kc3tDliobjrWfgrTdX8,7028
196
- klaude_code/tui/command/resume_cmd.py,sha256=aciOa0fs-CX5mCc8KbxeVtn1EDmFOpdhCNs-ukDTbEA,3664
198
+ klaude_code/tui/command/resume_cmd.py,sha256=5pjxsfRHt2s_daVP1OUmPLERaZK_t_i_MWU3rQCmXw8,3664
197
199
  klaude_code/tui/command/status_cmd.py,sha256=yALYGxyUX7iVdSRAKdG526YkqOvGV9F0CJNwk8nmzu4,5164
198
200
  klaude_code/tui/command/sub_agent_model_cmd.py,sha256=OA0Dr0az7MUPxcoYvMDHisp5sQ0UmKUvJm-BjDfG0I0,8112
199
201
  klaude_code/tui/command/thinking_cmd.py,sha256=gUQOhqtEieIMR-FUMSDj7OYEPloAC-ZSKxD1OVBn3jo,2683
200
- klaude_code/tui/commands.py,sha256=9is3jw9c9Zx2UY0bFqYxCMGUO3gSfiNlMQLudafHDs8,3453
202
+ klaude_code/tui/commands.py,sha256=JAjhWvWUeajh8hQoPD9-iQpw2RBiJcosNd1sus3Hw2I,3825
201
203
  klaude_code/tui/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
202
- klaude_code/tui/components/assistant.py,sha256=ts1Iph-ePF7jVfYcW34eI97gyT64m647glIVoYDXUnM,44
203
204
  klaude_code/tui/components/bash_syntax.py,sha256=a8JMn6rFlJXcx7-WbsxIVwqtWQoI9krLUkj0imVC20I,7632
204
- klaude_code/tui/components/command_output.py,sha256=Ryp8fYaNBgYdVWxFd6vFqWb-rtyp287iMTYiV4Unlpk,3821
205
+ klaude_code/tui/components/command_output.py,sha256=SnNiWdMAK37wd6PtfSWsLW2UutNfkpTKDbFmw2wu3LA,3688
205
206
  klaude_code/tui/components/common.py,sha256=dhUYLVVOSKxg5GCoS4eyUeKZ3E8Kpt4nqft4njuvPaI,4698
206
- klaude_code/tui/components/developer.py,sha256=gdFmEkh8-vW-cgvtC7GalD5dtJYiCe07KmXY2BMjw24,5573
207
+ klaude_code/tui/components/developer.py,sha256=m6gcnLyLoSSw3wpwYQZ_yzaT9zgXRgNzTpjZt8Yo21o,5488
207
208
  klaude_code/tui/components/diffs.py,sha256=vwllnYBxC5xGjfKU3uIkCjcupr9nrjRjvvj0tg0_MQA,3085
208
209
  klaude_code/tui/components/errors.py,sha256=fSojNfRceB6eE7cyJHfwGt5Ru0OYp63fCJ-W6-3SSYs,799
209
210
  klaude_code/tui/components/mermaid_viewer.py,sha256=zI1FBuX6Ionx38KqkzhOIQ9tFzd7REPbjW1iqSiNrec,3086
210
- klaude_code/tui/components/metadata.py,sha256=SXmmj7XqayE1Lcbv8aXQU784PG1rRvqHOuJeEIwQ1mk,7219
211
+ klaude_code/tui/components/metadata.py,sha256=iG6V3-rHj7eKACMa57-zORIy0FJfhAKLVXgfmGoZI6A,7130
211
212
  klaude_code/tui/components/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
212
213
  klaude_code/tui/components/rich/cjk_wrap.py,sha256=eMqBxftUtll7zrytUb9WtJ6naYLyax0W4KJRpGwWulM,7602
213
- klaude_code/tui/components/rich/code_panel.py,sha256=ZKuJHh-kh-hIkBXSGLERLaDbJ7I9hvtvmYKocJn39_w,4744
214
+ klaude_code/tui/components/rich/code_panel.py,sha256=SOdyfHBZNB4gAWIbnN_enhHB1EWxw8Hxiafx6yjwdJo,5544
214
215
  klaude_code/tui/components/rich/live.py,sha256=xiMT6dPsxM_jaazddKrV9CMJQWwpe2t9OdjffHvo1JU,2821
215
- klaude_code/tui/components/rich/markdown.py,sha256=JBJQme0_cGES2XAtRQVidUizqAs6Ygf54XEZVykiyqM,27340
216
+ klaude_code/tui/components/rich/markdown.py,sha256=Ps6KaSwArqY5IVW8J2ShkqYg9vOGMnlfTJyZQOkXmo8,25120
216
217
  klaude_code/tui/components/rich/quote.py,sha256=u6sBmGdp0ckaZLw_XgJk7iHW4zxnWikUaB3GX2tkhlM,5375
217
218
  klaude_code/tui/components/rich/status.py,sha256=hSvMwEguF2DfHH3ISR0bmDg58zAnM3CTJLcRff_rtrg,14791
218
- klaude_code/tui/components/rich/theme.py,sha256=3xE76nPDatoEK-qXNsOkGMIgUkT1jtac9Sqnoc6bpTw,16411
219
+ klaude_code/tui/components/rich/theme.py,sha256=Bioy3rbR_6M5XJFg3sHD_aNuwF7eJtZWHLij0-8tDQU,17020
219
220
  klaude_code/tui/components/sub_agent.py,sha256=8XTWsTi9mfbNLMD8SZ__nZQmBf81rW-NWpuOT-sFbv8,4723
220
221
  klaude_code/tui/components/thinking.py,sha256=zxeELXVoU0zgN_IrRHSNqjCHfpt5uX7_U-rXpd3RktI,1857
221
- klaude_code/tui/components/tools.py,sha256=dn2rFq2zI7k802FCw6LN_o5SbVBHvMTgx16JetkDR7k,27229
222
- klaude_code/tui/components/user_input.py,sha256=ICmcv1Yg2p3WLOgquk68_RyVB8gqijh9ii9G0jbaedI,3797
223
- klaude_code/tui/components/welcome.py,sha256=ZSCcT-wFdSp3L1Fq7shWWz4Rk-BAXvsKisfvIUnP8a4,3665
224
- klaude_code/tui/display.py,sha256=JfMETvb1gcgymQVXPy5tH2c-B0cHjXn9PtwSiYlP-1Q,3506
222
+ klaude_code/tui/components/tools.py,sha256=Zdfj1HLFjGnFtQOWcb4W4zyR3AI5h9QUd4om116uL6M,27262
223
+ klaude_code/tui/components/user_input.py,sha256=U4gdkCqV886PSBJ0KBqc3a_8FXdpEBAXUZEF1_123Dw,3609
224
+ klaude_code/tui/components/welcome.py,sha256=Ahkhg0dsSqy17pKLOp_5UZWn9vysr68T3Y-jB40yWsA,5303
225
+ klaude_code/tui/display.py,sha256=bPWhDNZ3R5InQIz0yThLRKi7RJvLx8zcmJoJgyzG5MM,3932
225
226
  klaude_code/tui/input/AGENTS.md,sha256=2RBLz7H0JbUJv6OBzeadLOlGUF5EBqvtwTGBf6nZuN0,1633
226
227
  klaude_code/tui/input/__init__.py,sha256=wLbjqBrvP6fmbGtbKe9Wp12yxhse0faVLOxtoWua_1E,353
227
- klaude_code/tui/input/completers.py,sha256=RHf8dFDRxLlCG7Pw5feNjtKvH3yCYET1fKB7p44yICY,32869
228
+ klaude_code/tui/input/completers.py,sha256=MJO1nBq0V5jDbGw_o4Ab5WLVD1ns5plJRI3cIYnGfHs,33154
228
229
  klaude_code/tui/input/drag_drop.py,sha256=oyKtrHCyUiGiMLEXpsDTnTnAKJ1_xrvVkrASOiG8O4g,3974
229
230
  klaude_code/tui/input/images.py,sha256=ft2AaOg1Figdm1t_NNoBCGdp20silYXGw-m9XKDd9GU,6996
230
- klaude_code/tui/input/key_bindings.py,sha256=ePBb9Ff8guhlTrrH_hWYtotHErpJcbasRcuU1zSabIA,25131
231
+ klaude_code/tui/input/key_bindings.py,sha256=Gpc-VhQh-h431cnetheV0HF9QGcFyy82QrHWUAYF-LA,26633
231
232
  klaude_code/tui/input/paste.py,sha256=kELg5jC0WdBXWHJUsEjIhZ67KCvHMbN1XzyGmevVSNM,1888
232
- klaude_code/tui/input/prompt_toolkit.py,sha256=wvRf8hBL7eBghft7c2WsUpYTwTmYCMuN9mlfMCUy21A,29485
233
- klaude_code/tui/machine.py,sha256=zLDySyJFHgN5tZlI0GRCWEVw-PNawXhEEN7Y1V2MmHk,28505
234
- klaude_code/tui/renderer.py,sha256=TeqMRzVvzhv0cpN-ZYwkRnkDqe--yGrfniF6ajp9yX0,29846
235
- klaude_code/tui/runner.py,sha256=WMoxwxAlwhuIIKmmpJCRrXwPwjkZrCDlGiTyUGDbCCY,11936
233
+ klaude_code/tui/input/prompt_toolkit.py,sha256=eftqR8T8bVVv40m_UnjymFl_uzA8mLzeMy4t89MIZKY,30751
234
+ klaude_code/tui/machine.py,sha256=qSxVAYFXhNbwBjgCDYwdvARu2rP17L5aQ4oPqvWtSGA,31311
235
+ klaude_code/tui/renderer.py,sha256=ylkCiBbL4H9WXZqRcuEwn5lYRH7fXJ5KweyXrPR8rgk,34543
236
+ klaude_code/tui/runner.py,sha256=ZADAH28Iu1DU-KDCggEyvJiM_LTbN1sjPEaQsuBNTbc,13111
236
237
  klaude_code/tui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
237
238
  klaude_code/tui/terminal/color.py,sha256=6SJR2RA8cqJINNoRz65w0HL3x9g46ydIvDOGWMeNnQU,7195
238
239
  klaude_code/tui/terminal/control.py,sha256=m2fL6uHum5Li25X2IPnI4z_oVzMpVYcSldB-r0NLLzk,4920
239
240
  klaude_code/tui/terminal/image.py,sha256=9sKNj9luQsRWfbshscof3s6fvzBPbadU1L1eV4oidTs,4326
240
- klaude_code/tui/terminal/notifier.py,sha256=-aTtgRvpzQcfbkOfbeDOfUs3l9smNBZX-60G9f0326Y,4643
241
+ klaude_code/tui/terminal/notifier.py,sha256=3nR9vzI-7m5GkkQ_iYh7t3j8aSlQSgwtGt8swGLX2UI,4703
241
242
  klaude_code/tui/terminal/progress_bar.py,sha256=Go-0_ZodrmJVaQodaPnyxVU2nkpkBaYLnZBqwAUQukE,2133
242
- klaude_code/tui/terminal/selector.py,sha256=xuSaOcr9ctPNrZay4muAwuX2khlYLbTX0BZ1G4oCrg0,32407
243
+ klaude_code/tui/terminal/selector.py,sha256=grMAqJpMftHwlI74DkFOlWWrAbc-lFjyUkaXl2DUQww,32402
243
244
  klaude_code/ui/__init__.py,sha256=3k9Sbesq0nNN3jcSMDqJ4zUcys4PKzGg4Xsum-6dZis,451
244
245
  klaude_code/ui/common.py,sha256=Ovqnj97yp3bQbIKKPBycZ2aFFD8ucHo4B5d-JMoWUSQ,2517
245
246
  klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
@@ -247,9 +248,9 @@ klaude_code/ui/core/display.py,sha256=wk3_4-SE93BpxJOrx9MzEouMc4wTsYo7bBj9eeJO-i
247
248
  klaude_code/ui/core/input.py,sha256=8wXszl2Es6BbpqUjXMZka-7zc1d0kuySCxJUiDGHTaY,2593
248
249
  klaude_code/ui/debug_mode.py,sha256=ZvqbOx4c_rUerMbEZzOfcbNf9leqEDFjqJUlALtzF9Y,1111
249
250
  klaude_code/ui/terminal/__init__.py,sha256=5OeAzr994r8-peWsLON0iXsAvJ2pexwMp36JY7FKGDc,179
250
- klaude_code/ui/terminal/title.py,sha256=EZpLXTMhunsZPVGaxP317lH0Ad2oOh7OsjbV3yRD5is,1115
251
+ klaude_code/ui/terminal/title.py,sha256=lCk1dKk7fIe5Fb-FRU9P4ktVEfBmT3ac3wICYmC4mGE,1229
251
252
  klaude_code/update.py,sha256=QER816AZe9u3RhRvP0Z37Jh2Ch5RLy9PREyDsI0e1dA,4480
252
- klaude_code-2.9.1.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
253
- klaude_code-2.9.1.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
254
- klaude_code-2.9.1.dist-info/METADATA,sha256=95kx_oZqOfdOYbN2Xi0iOVzl6OSi_I8sJ_iIXTUsI4I,10119
255
- klaude_code-2.9.1.dist-info/RECORD,,
253
+ klaude_code-2.10.0.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
254
+ klaude_code-2.10.0.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
255
+ klaude_code-2.10.0.dist-info/METADATA,sha256=K0AELbdxgcZPuvXZFY2xXqA6__nkIV_NzF7NXfhMUSU,10120
256
+ klaude_code-2.10.0.dist-info/RECORD,,
@@ -1,2 +0,0 @@
1
- # UI markers
2
- ASSISTANT_MESSAGE_MARK = "•"