klaude-code 2.5.1__py3-none-any.whl → 2.5.2__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.
@@ -55,15 +55,15 @@ def _render_task_metadata_block(
55
55
  token_text.append("↑", style=ThemeKey.METADATA_DIM)
56
56
  token_text.append(format_number(metadata.usage.input_tokens), style=ThemeKey.METADATA)
57
57
  if metadata.usage.cached_tokens > 0:
58
- token_text.append(" ◎", style=ThemeKey.METADATA_DIM)
58
+ token_text.append(" ◎", style=ThemeKey.METADATA_DIM)
59
59
  token_text.append(format_number(metadata.usage.cached_tokens), style=ThemeKey.METADATA)
60
- token_text.append(" ↓", style=ThemeKey.METADATA_DIM)
60
+ token_text.append(" ↓", style=ThemeKey.METADATA_DIM)
61
61
  token_text.append(format_number(metadata.usage.output_tokens), style=ThemeKey.METADATA)
62
62
  if metadata.usage.reasoning_tokens > 0:
63
- token_text.append(" ∿", style=ThemeKey.METADATA_DIM)
63
+ token_text.append(" ∿", style=ThemeKey.METADATA_DIM)
64
64
  token_text.append(format_number(metadata.usage.reasoning_tokens), style=ThemeKey.METADATA)
65
65
  if metadata.usage.image_tokens > 0:
66
- token_text.append(" ⌗ ", style=ThemeKey.METADATA_DIM)
66
+ token_text.append(" ⌗ ", style=ThemeKey.METADATA_DIM)
67
67
  token_text.append(format_number(metadata.usage.image_tokens), style=ThemeKey.METADATA)
68
68
  parts.append(token_text)
69
69
 
@@ -130,8 +130,8 @@ def _render_task_metadata_block(
130
130
  )
131
131
 
132
132
  if parts:
133
- content.append_text(Text(" ", style=ThemeKey.METADATA_DIM))
134
- content.append_text(Text(" ", style=ThemeKey.METADATA_DIM).join(parts))
133
+ content.append_text(Text(" ", style=ThemeKey.METADATA_DIM))
134
+ content.append_text(Text(" ", style=ThemeKey.METADATA_DIM).join(parts))
135
135
 
136
136
  grid.add_row(mark, content)
137
137
  return grid if not is_sub_agent else Padding(grid, (0, 0, 0, 2))
@@ -290,6 +290,14 @@ class MarkdownStream:
290
290
 
291
291
  stable_source = "".join(lines[:stable_line])
292
292
  live_source = "".join(lines[stable_line:])
293
+
294
+ # If the "stable" prefix is only whitespace and we haven't stabilized any
295
+ # non-whitespace content yet, keep everything in the live buffer.
296
+ #
297
+ # This avoids cases where marks/indentation should apply to the first
298
+ # visible line, but would be suppressed because stable_line > 0.
299
+ if min_stable_line == 0 and stable_source.strip() == "":
300
+ return "", text, 0
293
301
  return stable_source, live_source, stable_line
294
302
 
295
303
  def render_ansi(self, text: str, *, apply_mark: bool) -> str:
@@ -59,6 +59,38 @@ def render_welcome(e: events.WelcomeEvent) -> RenderableType:
59
59
  )
60
60
  )
61
61
 
62
+ # Loaded skills summary is provided by core via WelcomeEvent to keep TUI decoupled.
63
+ loaded_skills = e.loaded_skills or {}
64
+ user_skills = loaded_skills.get("user") or []
65
+ project_skills = loaded_skills.get("project") or []
66
+ system_skills = loaded_skills.get("system") or []
67
+
68
+ skill_groups: list[tuple[str, list[str]]] = []
69
+ if user_skills:
70
+ skill_groups.append(("user", user_skills))
71
+ if project_skills:
72
+ skill_groups.append(("project", project_skills))
73
+ if system_skills:
74
+ skill_groups.append(("system", system_skills))
75
+
76
+ if skill_groups:
77
+ panel_content.append_text(Text("\n\n", style=ThemeKey.WELCOME_INFO))
78
+ panel_content.append_text(Text("skills", style=ThemeKey.WELCOME_HIGHLIGHT))
79
+
80
+ label_width = len("[project]")
81
+
82
+ for i, (group_name, skills) in enumerate(skill_groups):
83
+ is_last = i == len(skill_groups) - 1
84
+ prefix = "└─ " if is_last else "├─ "
85
+ label = f"[{group_name}]"
86
+ panel_content.append_text(
87
+ Text.assemble(
88
+ ("\n", ThemeKey.WELCOME_INFO),
89
+ (prefix, ThemeKey.LINES),
90
+ (f"{label.ljust(label_width)} {', '.join(skills)}", ThemeKey.WELCOME_INFO),
91
+ )
92
+ )
93
+
62
94
  border_style = ThemeKey.WELCOME_DEBUG_BORDER if debug_mode else ThemeKey.LINES
63
95
 
64
96
  if e.show_klaude_code_info:
@@ -488,7 +488,6 @@ class TUICommandRenderer:
488
488
  continue
489
489
  self.display_tool_call_result(e)
490
490
  case events.TaskMetadataEvent() as e:
491
- self.print()
492
491
  self.print(c_metadata.render_task_metadata(e))
493
492
  self.print()
494
493
  case events.InterruptEvent():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.5.1
3
+ Version: 2.5.2
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic>=0.66.0
6
6
  Requires-Dist: chardet>=5.2.0
@@ -1,3 +1,4 @@
1
+ klaude_code/.DS_Store,sha256=cLWFbSgdN0bXEd3_tz93BJSposEPafUBqSr7t-3lPbA,6148
1
2
  klaude_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
3
  klaude_code/app/__init__.py,sha256=7mgWpN9SFDqe8AW44bBn9M19nVsBcZURrsGB_8l2hrU,264
3
4
  klaude_code/app/runtime.py,sha256=St5ZVo9snvc90R5fG4OojlWwtlRSB66AZAYfZD7AOCE,5982
@@ -17,23 +18,24 @@ klaude_code/cli/auth_cmd.py,sha256=4h59A0UrNBCAf_IL_tVU3GY4kxraoab3CTjgCdKvJGM,6
17
18
  klaude_code/cli/config_cmd.py,sha256=ZDNt1qtXbiWtFJBIaqtfqKrGHXQ1X-NHBeu1k1DoO1o,3391
18
19
  klaude_code/cli/cost_cmd.py,sha256=6bL22amGEB2gfCV9KXQfN5cZYyPL6J6JVIjV65_QjJo,12471
19
20
  klaude_code/cli/debug.py,sha256=vEHOjObhrIHDAXk3q6cOgeW2NZxCx5AWM1rJ6FiJnVU,1901
20
- klaude_code/cli/list_model.py,sha256=I3dLrbLfh-cy_FvDCYvKnFGGn9x8v04PtOCcpImUv1U,13258
21
- klaude_code/cli/main.py,sha256=w1b7AaDszcQRpMta90ChKEQ9MfJEYdpXs9swv2Nsv2Y,8711
21
+ klaude_code/cli/list_model.py,sha256=dzXwahAZZv8NHPD4pvOTLaTJTEWnCjS1B-K52n3OHOs,13603
22
+ klaude_code/cli/main.py,sha256=xhV2rVJnFFPeV9ikFVoK9mtRiQtAqgerwYd3EubWXHQ,8754
22
23
  klaude_code/cli/self_update.py,sha256=mn1B7Xn1keQkbwoDURzsM2fFjorzJTNLlV-Y_NYa6fA,2708
23
24
  klaude_code/cli/session_cmd.py,sha256=IyuSkqHOLldcm8qraJWJZEme9TY5Rfqmld9NmVJuHnc,3198
24
25
  klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
25
26
  klaude_code/config/assets/__init__.py,sha256=uMUfmXT3I-gYiI-HVr1DrE60mx5cY1o8V7SYuGqOmvY,32
26
- klaude_code/config/assets/builtin_config.yaml,sha256=oM191oAgb5Vi7323RsZ1pVbAt6BSwOhnxJ_zZLvpyy0,7202
27
+ klaude_code/config/assets/builtin_config.yaml,sha256=2ixUe3VyIQtCGd_p4uKBPryg0oXyzPH6lW4TUmglORg,7162
27
28
  klaude_code/config/builtin_config.py,sha256=1rHcFWmS0k6rXeIqR6sF_OgGXSbEd4ugh9bh2N6VSS0,1494
28
- klaude_code/config/config.py,sha256=0-CLWK5oGGa5PY6o2mVkLNiaiuoaG8zp1UvQ6q0_Xxc,23948
29
- klaude_code/config/model_matcher.py,sha256=8pYt7DhEhsjLlYS7G14k6KdDtIzcNj2fYhQQach_JTU,6110
30
- klaude_code/config/sub_agent_model_helper.py,sha256=ntEZXocf3nGesFb8TeyGy1zoB8-yHKih4zngJRdjvf4,8040
29
+ klaude_code/config/config.py,sha256=u9xVkWFkR5ZYSGNkQ-uLBE_ogSpxvncuvBu6pMMuR_g,25062
30
+ klaude_code/config/model_matcher.py,sha256=UCC0QLuQIeEtfHDi0g1JpM1iEjfNMDQEew9FW-MWErA,6159
31
+ klaude_code/config/sub_agent_model_helper.py,sha256=fI-OIZWFI4116qjalsZj2pIi0waPR1cXE-OKrVMFS6g,8064
31
32
  klaude_code/config/thinking.py,sha256=RDWH8UYbeDoIKPXaCIcvVwPAh07Ntaq8w5Zn_fhm-Fk,9329
32
33
  klaude_code/const.py,sha256=FFBwUI2DolPu4_XNzaODyWTr1dETr-JwMQnSTt4Kimc,11149
33
34
  klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
34
35
  klaude_code/core/agent.py,sha256=5TNzzzHgKLKpEcFhaM0d136kaGUn_mESC8b1nLoxS2o,3913
35
- klaude_code/core/agent_profile.py,sha256=FlLDfwyGyoycJYdp70vCuUliZ0GrmcVd0ZCOs4x7MuQ,12776
36
- klaude_code/core/executor.py,sha256=TKS2TzQM0X1BLxw6x0HoXk0l2QNTrWCPap6wplSgQgQ,33252
36
+ klaude_code/core/agent_profile.py,sha256=EAsAHj9Jd_JaL_ydr13I3uVoBN4RIm9zmKPn3H7NYu8,12817
37
+ klaude_code/core/executor.py,sha256=6-XELfwj14YsrSv4RH8xI5IMMDR_qmenyaUJuqdjjWM,33534
38
+ klaude_code/core/loaded_skills.py,sha256=5lxPzXx2uf9mNxwEu_Jt3qRoATa2jaMvFjBfWhgbaSk,1177
37
39
  klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
38
40
  klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
39
41
  klaude_code/core/manager/llm_clients_builder.py,sha256=_88MvbjNK-4s3wKTdzP-GmoUVGKyD88oWXZ7oqRWF8A,1902
@@ -51,7 +53,7 @@ klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkX
51
53
  klaude_code/core/reminders.py,sha256=SOSB1wZMPdCtCwTpvjUW5et-d0JcnUxF7lMg90CZnA4,24384
52
54
  klaude_code/core/task.py,sha256=rAgulw45GT1NMhe2P5aLCdCnAa_hOZxKzEAaPYMc6Jk,13982
53
55
  klaude_code/core/tool/__init__.py,sha256=ABUzLwQbBoZPirCcgYbI88GEtswfy1JBDkFUsGpQ-zc,1415
54
- klaude_code/core/tool/context.py,sha256=RnO8gN1w9Lxev0BMqUsZp-zvzD9iKxrYQ3261beLRa4,2975
56
+ klaude_code/core/tool/context.py,sha256=lHMjbLE--WVek8gAPOvaHz4CdeRGzLXSusMyEdEU5ss,2961
55
57
  klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
58
  klaude_code/core/tool/file/_utils.py,sha256=OG4BE9WyJqzH8ilVCL3D9yvAcHk-r-L9snd-E8gO_io,967
57
59
  klaude_code/core/tool/file/apply_patch.py,sha256=LZd3pYQ9ow_TxiFnqYuzD216HmvkLX6lW6BoMd9iQRs,17080
@@ -87,10 +89,10 @@ klaude_code/core/tool/web/web_fetch_tool.md,sha256=i0IwsZ6r9vAQeCpwDBtEGrWmHPzZk
87
89
  klaude_code/core/tool/web/web_fetch_tool.py,sha256=jXbJTgpI_RvyXy5ac8qIrC-AKOUX1fJ3TpqXq_BfkS4,9596
88
90
  klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
89
91
  klaude_code/core/tool/web/web_search_tool.py,sha256=ljkgXxP6L5nJnbYB_IOUtPUN9zA_h5hBD55lhNAja08,4293
90
- klaude_code/core/turn.py,sha256=ZtZ1OcmPCxKE54wpkHSRtmVxe3l2sxNybb-kAPrym_E,17912
92
+ klaude_code/core/turn.py,sha256=-HPhkQrkIbiM-szZULnd3-2Zg2lrL6AkPV7ztS6Lb8g,17667
91
93
  klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
92
94
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
93
- klaude_code/llm/anthropic/client.py,sha256=N1p7dll7jxERejsZM5Wh7HbLWcN6bcLQN6LA7OTgRxk,15655
95
+ klaude_code/llm/anthropic/client.py,sha256=asQofiC13FeScLROMxLtDnRSj0frqe6kPRFZUNE1gm0,16242
94
96
  klaude_code/llm/anthropic/input.py,sha256=FeNhPwP0QJS7E7kICqhRBe2hUNCYkqLf_YP5qWcI_ao,9474
95
97
  klaude_code/llm/bedrock/__init__.py,sha256=UmXPBXMmigAJ7euIh59iivSeUdrYJwum0RYU7okkkPM,86
96
98
  klaude_code/llm/bedrock/client.py,sha256=mETQrhGDt4uEDXO2c3y5Iao9RngygFSF6MOtwqAy1tk,2279
@@ -128,9 +130,9 @@ klaude_code/protocol/events/chat.py,sha256=mI_Ks5IIU1ZiywclQYxzhSsGA3ga7ACKShU6d
128
130
  klaude_code/protocol/events/lifecycle.py,sha256=gykOiAvdxMrvZ9Jm2T_qlve6Iw70C23o2HRooR0rHg4,389
129
131
  klaude_code/protocol/events/metadata.py,sha256=VcktYa6k51vIQ1H_KeOqQYCZkX0K9gaCQR1neOAOENs,313
130
132
  klaude_code/protocol/events/streaming.py,sha256=U1plGQSTeGZa3E4fIxW_fHXJpuv_DSIBrmGh1l4Fm54,708
131
- klaude_code/protocol/events/system.py,sha256=0c3x8WwqAo5Y0JmukKbn7FKtgEv-ErqwJb5PGjuHehk,1294
133
+ klaude_code/protocol/events/system.py,sha256=FjAnZso1jpOY2nY7DgehuFvBtu_gh5uZqimmpgKbaMA,1392
132
134
  klaude_code/protocol/events/tools.py,sha256=8ds_8Zj-wQWvHNAvNt1-fSIHeDffw1dsLWI7ByrAqcM,617
133
- klaude_code/protocol/llm_param.py,sha256=DSCxBdFSdQV8qOhEjjjYNapgA3v4TBkN5V9HgEWho_k,5164
135
+ klaude_code/protocol/llm_param.py,sha256=mFdAcbzJrIFB4T2QCbLyeZxZQ_38lUNCclEZIH3eWtQ,5191
134
136
  klaude_code/protocol/message.py,sha256=pu-wvInS781y-qSKbl9MqO7k3CtAN7Yu4hUHJCXKjZQ,6210
135
137
  klaude_code/protocol/model.py,sha256=KboyTyfG5DntRMK98oDHomgJfUpHBdeiq51dWXRSqeM,9923
136
138
  klaude_code/protocol/op.py,sha256=pYmvSyVrVr6LlJUiSN2GKwXiDX8meCoxYKNYHXdTKGE,5965
@@ -144,19 +146,20 @@ klaude_code/protocol/sub_agent/web.py,sha256=XOQdqlIp_xno7Q7YVFPFo4AyKU1wbrVKhIi
144
146
  klaude_code/protocol/tools.py,sha256=T0mzW9EhidVMNkwH-KTeB5FgwMvXBnV_MYE5ytrU1TM,343
145
147
  klaude_code/session/__init__.py,sha256=4sw81uQvEd3YUOOjamKk1KqGmxeb4Ic9T1Tee5zztyU,241
146
148
  klaude_code/session/codec.py,sha256=a374UZkOusn9MgFCc--yznDljK_4Qfy6yDPfhQq5_P0,1889
147
- klaude_code/session/export.py,sha256=Oa0BdrqipFGkGp62dAsvQ-bPQr0HFAQBpAb7OmgaNno,38926
149
+ klaude_code/session/export.py,sha256=znoTUCw2tVGgDpl-sT-ba_2Bb2HaH6pvsl4EpLUdYJQ,46102
148
150
  klaude_code/session/selector.py,sha256=snBpnz9UQCe_0K8HttSGCJECCE4YEzpWs_Fdmk2P9nI,2195
149
151
  klaude_code/session/session.py,sha256=iQdjVoiretvsPvVkUv1rW9z5IDnwPQ6RuFAp-gATF9o,23162
150
152
  klaude_code/session/store.py,sha256=HRrmFzwEVdExqDQlT9FBZOhlFtQmM9Im9zco8pzvUMY,6455
151
- klaude_code/session/templates/export_session.html,sha256=YIr-jzbgwxPviZ_EE7TeYah7tqzOeNzW-IdpzvlfbcY,125826
153
+ klaude_code/session/templates/export_session.html,sha256=y4H2DwYx29MuSeKgT8JWdZKNguemaDKN-b75x0sr0eU,127667
152
154
  klaude_code/session/templates/mermaid_viewer.html,sha256=Y_wEWFm4mKWpfAz3YMis5DdLEkhw_2d8CpU6jbvGZow,27842
155
+ klaude_code/skill/.DS_Store,sha256=zy9qIqi2YLGzlZwHNM4oAX8rDoNTg9yxdo22PJOwupg,6148
153
156
  klaude_code/skill/__init__.py,sha256=yeWeCfRGPOhT4mx_pjdo4fLondQ_Vx0edBtnFusLhls,839
157
+ klaude_code/skill/assets/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
154
158
  klaude_code/skill/assets/create-plan/SKILL.md,sha256=g_SLyBid2dwj56FBzh87lZGu1t08edLs0plimT2uNzs,2481
155
159
  klaude_code/skill/assets/deslop/SKILL.md,sha256=XMBER6gOyYnZof_u7l30CZSzmDcINe8XP-n_loah0EQ,873
156
160
  klaude_code/skill/assets/handoff/SKILL.md,sha256=GDHrEqWUeAQy7gGhha_y5jzjpv8C-xhk0hqMH5h59v8,1712
157
- klaude_code/skill/assets/jj-workspace/SKILL.md,sha256=toxoyrBBoGl9Yv4PYrw_gD071LLZ2RoepUR8qTDRn1M,977
158
161
  klaude_code/skill/assets/skill-creator/SKILL.md,sha256=0ByoWb9ao0UKSoM5Tmz-Qe5CAPliTrVpUK0gPd9TFqo,5520
159
- klaude_code/skill/loader.py,sha256=dq-92iX4RWUZd8sFO3KZySOVf5-M6xev29tJlaC0Ivw,8612
162
+ klaude_code/skill/loader.py,sha256=Lcj3j5H9-5wERkvOz77J9Z0uWJ3skrpVQvnzYqrpRJU,8644
160
163
  klaude_code/skill/manager.py,sha256=GcE6IGooYmWn75wWa2TfJj8VRaBgAlABeK3sD_bIgBY,3448
161
164
  klaude_code/skill/system_skills.py,sha256=ryGN07t0Xv2Yn_Prfq072tdIN0Dp4ZpdXLTl7O7rCkg,6122
162
165
  klaude_code/tui/__init__.py,sha256=Q8-0D-uesw3oFwHcFLD5UaWlTFbrj8qV7dSn6C6_g_o,274
@@ -172,7 +175,7 @@ klaude_code/tui/command/model_cmd.py,sha256=EnUcr_nnUm433G2HwEKKNssVE767IgQFNoc9
172
175
  klaude_code/tui/command/model_picker.py,sha256=BAQzMHuRuK0o7q3zM5x1p2pawUuhmYDAHcSLmgKwLZg,5700
173
176
  klaude_code/tui/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
174
177
  klaude_code/tui/command/prompt_command.py,sha256=PGGoH_ZgA-0kTtpjk19rDSsWjiZyAEoUlxnSp8B8GRQ,2764
175
- klaude_code/tui/command/refresh_cmd.py,sha256=Lisqdbm64Ma5IB7Z2Gv1dBdaGiqYbCDGFX497-gnfBM,1255
178
+ klaude_code/tui/command/refresh_cmd.py,sha256=_nY7Iko7GSpHmc9t2vKK2DcXRYbXfUnbGzwsmNc-yPI,1405
176
179
  klaude_code/tui/command/registry.py,sha256=2HDrC6ZqGKSdzQAYra2TSFt1kc3tDliobjrWfgrTdX8,7028
177
180
  klaude_code/tui/command/resume_cmd.py,sha256=eOEJI-vchrOP0zrLDTip7KYb1oRJp9te5aiHFtwOdFQ,3771
178
181
  klaude_code/tui/command/status_cmd.py,sha256=yALYGxyUX7iVdSRAKdG526YkqOvGV9F0CJNwk8nmzu4,5164
@@ -189,12 +192,12 @@ klaude_code/tui/components/developer.py,sha256=1hDr7boJN1z_JyvvFNn8m7MAf4lPDN3eo
189
192
  klaude_code/tui/components/diffs.py,sha256=JUokkkJeTIoKD0b-c-chMzIDmMjivBQqH8DYXIA3hHs,10411
190
193
  klaude_code/tui/components/errors.py,sha256=_9ojf-23ThR-BoMwNEYG68rzILwA_O59muGvofYL10w,669
191
194
  klaude_code/tui/components/mermaid_viewer.py,sha256=MstufMnTauMKzI8cKngXpFqVo-qya20P8ReNkplYtEw,3098
192
- klaude_code/tui/components/metadata.py,sha256=HjIZkMyGu8jgTm4XgkMy82wKsoJXnzQwq_9su7Cqzm4,7227
195
+ klaude_code/tui/components/metadata.py,sha256=ESNZ7l0fCDF8BUdAWEsgoW0iG3HPnvJ2GSrpCSXIhCM,7221
193
196
  klaude_code/tui/components/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
194
197
  klaude_code/tui/components/rich/cjk_wrap.py,sha256=eMqBxftUtll7zrytUb9WtJ6naYLyax0W4KJRpGwWulM,7602
195
198
  klaude_code/tui/components/rich/code_panel.py,sha256=ZKuJHh-kh-hIkBXSGLERLaDbJ7I9hvtvmYKocJn39_w,4744
196
199
  klaude_code/tui/components/rich/live.py,sha256=xiMT6dPsxM_jaazddKrV9CMJQWwpe2t9OdjffHvo1JU,2821
197
- klaude_code/tui/components/rich/markdown.py,sha256=hMAWhcuu1GVUK3AsE5G_8Qi-_2aVgTvrbu2nC5QAWgQ,19098
200
+ klaude_code/tui/components/rich/markdown.py,sha256=dkSzovKFY8zMQqRhad9k-fpV3Iot1CxKvxe202aaP4w,19512
198
201
  klaude_code/tui/components/rich/quote.py,sha256=gTLwxSPQd9nlp73P1ysQIEgOb-BoTE2gzyiPBLMiHcY,3834
199
202
  klaude_code/tui/components/rich/searchable_text.py,sha256=PUe6MotKxSBY4FlPeojVjVQgxCsx_jiQ41bCzLp8WvE,2271
200
203
  klaude_code/tui/components/rich/status.py,sha256=kNt08FQGvMZJB-zUhT5UyVFA7jvuRBNqf6yDXLEhb9c,14756
@@ -203,7 +206,7 @@ klaude_code/tui/components/sub_agent.py,sha256=afkDbndByQmrxO3lvWR3rSvlbIE0wktbj
203
206
  klaude_code/tui/components/thinking.py,sha256=AXC7Xpyiu7ST-eWGLRGY7N8Dak2ny3lV3mvznmfqKmM,2890
204
207
  klaude_code/tui/components/tools.py,sha256=Up8DQbXuiPfcbiFVZD6gmZO0YBz2SExWS-tE_xeriX4,25060
205
208
  klaude_code/tui/components/user_input.py,sha256=6VHH77xwUUW0rW7yv8hOwGXsmK52HEsBg9-QZVbOm1A,3427
206
- klaude_code/tui/components/welcome.py,sha256=0IPtYLJG8h1jLp6LtcMuOvmng2FYpGLWP4eP0e2R2ZI,2367
209
+ klaude_code/tui/components/welcome.py,sha256=ZSCcT-wFdSp3L1Fq7shWWz4Rk-BAXvsKisfvIUnP8a4,3665
207
210
  klaude_code/tui/display.py,sha256=ovM1F8GDG0gTQjOV2KaXnjE9HFHf7AtThqSIXkP6JQY,3073
208
211
  klaude_code/tui/input/__init__.py,sha256=cAB38ypo7dHo_jgXUCnoBTUKHtiriVaKCv4YepSU9SU,276
209
212
  klaude_code/tui/input/clipboard.py,sha256=HjThFB9MG_YdJ76CQv7B-IUoz5JarbWUZDbUVkH1LpY,5106
@@ -211,7 +214,7 @@ klaude_code/tui/input/completers.py,sha256=lkDBjnqYPLMgR6AZHhx2bfT_vMW-fbV6aqY9S
211
214
  klaude_code/tui/input/key_bindings.py,sha256=2uN48J1HRHeCBqq7WrH5J82NIU59oQscce0HquAiYCI,18876
212
215
  klaude_code/tui/input/prompt_toolkit.py,sha256=ZwkQodc3GufGo7SMmebaOiVopkqxkMDC48y8RFeGuLk,28551
213
216
  klaude_code/tui/machine.py,sha256=S1OKLx1YlAIQfjUAIYFJPRK-5X8cI_1mSpBqEU0NJwM,25291
214
- klaude_code/tui/renderer.py,sha256=JZu892irKW0aNis3vs5Rq9aqYdcKhllrhnC2kfsC9tM,29522
217
+ klaude_code/tui/renderer.py,sha256=SUhxIbTCHK_VR_MVfFUebRv7OaMmQG0Rrrhfgv_klGY,29485
215
218
  klaude_code/tui/runner.py,sha256=nOq8wC78HzgqHLRgHC8OgYubH--2gPcDqA6GoV913Yc,11270
216
219
  klaude_code/tui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
217
220
  klaude_code/tui/terminal/color.py,sha256=6SJR2RA8cqJINNoRz65w0HL3x9g46ydIvDOGWMeNnQU,7195
@@ -229,7 +232,7 @@ klaude_code/ui/debug_mode.py,sha256=ZvqbOx4c_rUerMbEZzOfcbNf9leqEDFjqJUlALtzF9Y,
229
232
  klaude_code/ui/terminal/__init__.py,sha256=5OeAzr994r8-peWsLON0iXsAvJ2pexwMp36JY7FKGDc,179
230
233
  klaude_code/ui/terminal/title.py,sha256=EZpLXTMhunsZPVGaxP317lH0Ad2oOh7OsjbV3yRD5is,1115
231
234
  klaude_code/update.py,sha256=QER816AZe9u3RhRvP0Z37Jh2Ch5RLy9PREyDsI0e1dA,4480
232
- klaude_code-2.5.1.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
233
- klaude_code-2.5.1.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
234
- klaude_code-2.5.1.dist-info/METADATA,sha256=n2CKAP-sKJmVwwLGgD9c-ha2WN6d23kB0mUKL1BrR3k,10249
235
- klaude_code-2.5.1.dist-info/RECORD,,
235
+ klaude_code-2.5.2.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
236
+ klaude_code-2.5.2.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
237
+ klaude_code-2.5.2.dist-info/METADATA,sha256=kAGfNopTOaVeDvTsAYH3-FV64kfRjSnqOpQ9iia2TuA,10249
238
+ klaude_code-2.5.2.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- ---
2
- name: jj-workspace
3
- description: Create a jj workspace before starting work to enable parallel Claude sessions. Use this skill when starting a new task that should be isolated from other concurrent work. Triggers include "jj workspace", "parallel work", "create workspace", "isolated workspace".
4
- metadata:
5
- short-description: Create jj workspace for parallel work
6
- ---
7
-
8
- # JJ Workspace
9
-
10
- Create a dedicated jj workspace before starting any task. This allows multiple Claude sessions to work in parallel without conflicts.
11
-
12
- ## Steps
13
-
14
- 1. Generate a short, descriptive workspace name based on the task (e.g., `workspace-add-login` or `workspace-fix-typo`)
15
- 2. Run `jj workspace add <workspace-name>` to create the workspace
16
- 3. Change into the workspace directory: `cd <workspace-name>`
17
- 4. Describe the change: `jj describe -m '<brief task description>'`
18
- 5. Continue all subsequent work within this workspace directory
19
-
20
- If no task is provided, ask the user for a task description.