klaude-code 2.1.1__py3-none-any.whl → 2.2.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 (38) hide show
  1. klaude_code/app/__init__.py +1 -2
  2. klaude_code/app/runtime.py +26 -41
  3. klaude_code/cli/main.py +19 -152
  4. klaude_code/config/assets/builtin_config.yaml +13 -0
  5. klaude_code/const.py +1 -1
  6. klaude_code/core/agent_profile.py +28 -0
  7. klaude_code/core/manager/llm_clients_builder.py +1 -1
  8. klaude_code/core/prompts/prompt-nano-banana.md +1 -0
  9. klaude_code/core/tool/shell/command_safety.py +4 -189
  10. klaude_code/core/turn.py +1 -1
  11. klaude_code/llm/anthropic/client.py +1 -1
  12. klaude_code/llm/google/client.py +1 -1
  13. klaude_code/llm/openai_compatible/stream.py +1 -1
  14. klaude_code/llm/responses/client.py +1 -1
  15. klaude_code/protocol/message.py +2 -2
  16. klaude_code/tui/command/__init__.py +4 -4
  17. klaude_code/tui/command/clear_cmd.py +1 -1
  18. klaude_code/tui/command/command_abc.py +1 -2
  19. klaude_code/tui/command/copy_cmd.py +1 -2
  20. klaude_code/tui/command/fork_session_cmd.py +4 -4
  21. klaude_code/tui/command/refresh_cmd.py +1 -2
  22. klaude_code/tui/command/resume_cmd.py +3 -4
  23. klaude_code/tui/command/status_cmd.py +1 -1
  24. klaude_code/tui/components/developer.py +11 -11
  25. klaude_code/tui/components/metadata.py +1 -1
  26. klaude_code/tui/components/rich/theme.py +2 -2
  27. klaude_code/tui/components/user_input.py +9 -21
  28. klaude_code/tui/runner.py +2 -2
  29. klaude_code/tui/terminal/selector.py +3 -15
  30. klaude_code/ui/__init__.py +0 -24
  31. klaude_code/ui/common.py +3 -2
  32. klaude_code/ui/core/display.py +2 -2
  33. {klaude_code-2.1.1.dist-info → klaude_code-2.2.0.dist-info}/METADATA +16 -81
  34. {klaude_code-2.1.1.dist-info → klaude_code-2.2.0.dist-info}/RECORD +36 -37
  35. klaude_code/tui/command/prompt-commit.md +0 -82
  36. klaude_code/ui/exec_mode.py +0 -60
  37. {klaude_code-2.1.1.dist-info → klaude_code-2.2.0.dist-info}/WHEEL +0 -0
  38. {klaude_code-2.1.1.dist-info → klaude_code-2.2.0.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
1
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
2
+ klaude_code/app/__init__.py,sha256=7mgWpN9SFDqe8AW44bBn9M19nVsBcZURrsGB_8l2hrU,264
3
+ klaude_code/app/runtime.py,sha256=cibsTZsdSbITirv1waHUPNoFr-XGu_5lLutHWktyx8E,6746
4
4
  klaude_code/auth/__init__.py,sha256=jLUgi4V4m0t2BlVuuni7iANOErpJgAeEqByuD1sKUvQ,480
5
5
  klaude_code/auth/base.py,sha256=ccH2sC0TWB5lPpGm4FSjCgnehwn9riYiXxHCh2iFJe0,3011
6
6
  klaude_code/auth/claude/__init__.py,sha256=h1oyqEttDM5TAF6w1Stk6YXYMsbATjODCsi6GhU4zAA,218
@@ -18,24 +18,24 @@ klaude_code/cli/config_cmd.py,sha256=ZDNt1qtXbiWtFJBIaqtfqKrGHXQ1X-NHBeu1k1DoO1o
18
18
  klaude_code/cli/cost_cmd.py,sha256=6bL22amGEB2gfCV9KXQfN5cZYyPL6J6JVIjV65_QjJo,12471
19
19
  klaude_code/cli/debug.py,sha256=vEHOjObhrIHDAXk3q6cOgeW2NZxCx5AWM1rJ6FiJnVU,1901
20
20
  klaude_code/cli/list_model.py,sha256=IXYsrkwbvPF89jNDpbppIlyA7b_oNt0--TNN2LPGwAA,12811
21
- klaude_code/cli/main.py,sha256=JaNiQIa2k4XZXNCXnOXNfOwdwwZmnCTHlK1_oZL5lU8,11924
21
+ klaude_code/cli/main.py,sha256=SzBHYpPj0WO-yv6t9n7gx-sqU6Extp5c7rgaqpMzC2w,7873
22
22
  klaude_code/cli/self_update.py,sha256=mn1B7Xn1keQkbwoDURzsM2fFjorzJTNLlV-Y_NYa6fA,2708
23
23
  klaude_code/cli/session_cmd.py,sha256=IyuSkqHOLldcm8qraJWJZEme9TY5Rfqmld9NmVJuHnc,3198
24
24
  klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
25
25
  klaude_code/config/assets/__init__.py,sha256=uMUfmXT3I-gYiI-HVr1DrE60mx5cY1o8V7SYuGqOmvY,32
26
- klaude_code/config/assets/builtin_config.yaml,sha256=fXCvNZci7g7T6uUjDFq_lxTYAvszffsrpBeC41RZkb4,8214
26
+ klaude_code/config/assets/builtin_config.yaml,sha256=wxzA5coCP0hYK7M4x6Z0BOj1ui5qYuT0qOFjtubSKDo,8477
27
27
  klaude_code/config/builtin_config.py,sha256=1rHcFWmS0k6rXeIqR6sF_OgGXSbEd4ugh9bh2N6VSS0,1494
28
28
  klaude_code/config/config.py,sha256=aDMEIcjiNk-DdtybnOHPFViUgwdXp4xb-5osAMBjTzs,18209
29
29
  klaude_code/config/select_model.py,sha256=TZLs195a3fsu5JeXfoZAgz-UlRqVgJG6cwH69ovHOsM,5181
30
30
  klaude_code/config/thinking.py,sha256=1FFN9UgPVEFyTzahTvNOM5Y4b8Bo7G1jIc93xjX3Uvk,9323
31
- klaude_code/const.py,sha256=MF9Ispv28MNqmm51xXcbRcmvw8lEKHuiczBhqmaZku4,10905
31
+ klaude_code/const.py,sha256=FmTyqqfcJN3CbrUHG-8FJNTP-Xu2C_5TDWhm-bLCDpE,10907
32
32
  klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
33
  klaude_code/core/agent.py,sha256=_jfe3WLE8T2twYaMpgjrFM7pwzMerirsq7YTLqpoufM,3560
34
- klaude_code/core/agent_profile.py,sha256=cGeONKEx4OvDdtQ_3grHw6eCT0aHI5bybvXahhaIhBE,9770
34
+ klaude_code/core/agent_profile.py,sha256=5330DD1kTFp9yzCDjOOPMiCzXWyLuMY6JgsvoeWPMUM,10609
35
35
  klaude_code/core/executor.py,sha256=CQ1HyrEpemNQIFYUhgd6ZIxC-h0UJAjYD7yJR0bbX3Y,31275
36
36
  klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
37
37
  klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
38
- klaude_code/core/manager/llm_clients_builder.py,sha256=uvs9ea5XDUaaKh7VgbWS76LXQn4Y590nilbEBpeJSFg,1639
38
+ klaude_code/core/manager/llm_clients_builder.py,sha256=pwo0KeFWq3L4F_aq3L_Wwbu67UZOdJeK0rU-qlPnr-A,1635
39
39
  klaude_code/core/manager/sub_agent_manager.py,sha256=URzvged6ra6eY0jx1yQlvq8WdhBEsMvirWtOPCcsHNM,6991
40
40
  klaude_code/core/prompts/prompt-claude-code.md,sha256=uuWBv6GrG63mdmBedAHT5U9yOpbHSKFYbbS2xBnUzOE,8290
41
41
  klaude_code/core/prompts/prompt-codex-gpt-5-1-codex-max.md,sha256=SW-y8AmR99JL_9j26k9YVAOQuZ18vR12aT5CWHkZDc4,11741
@@ -43,6 +43,7 @@ klaude_code/core/prompts/prompt-codex-gpt-5-2-codex.md,sha256=GA1pIIF6JuAl4P3FIW
43
43
  klaude_code/core/prompts/prompt-codex.md,sha256=ybL6CXrGnK6Cw9KuEicQg4kKllIcVa2NwUyuUWitPzk,21672
44
44
  klaude_code/core/prompts/prompt-gemini.md,sha256=JjE1tHSByGKJzjn4Gpj1zekT7ry1Yqbwx5qx3fZy2gE,3901
45
45
  klaude_code/core/prompts/prompt-minimal.md,sha256=6-ZmQQkE3f92W_3V2wS7ocB13wLog1_UojCjZG0K4v8,1559
46
+ klaude_code/core/prompts/prompt-nano-banana.md,sha256=Rk9a1YIoxYxJsIAHIt4Pa5VTVfafX9ckI0kURMVEVgk,30
46
47
  klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=21kFodjhvN0L-c_ZFo4yVhJOyzfgES-Dty9Vz_Ew9q8,2629
47
48
  klaude_code/core/prompts/prompt-sub-agent-image-gen.md,sha256=tXYKSzFd04OiC0dmVO9suMKeD5f9qo_4NsvqGo7irfI,78
48
49
  klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=n7fcIs26Xnu_CvHda_S_k5LGTpV3njY04yo88FT_S9A,3602
@@ -67,7 +68,7 @@ klaude_code/core/tool/report_back_tool.py,sha256=SkuRhfLpVwTOSpIj7XwYfGDNBp8YsCU
67
68
  klaude_code/core/tool/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
69
  klaude_code/core/tool/shell/bash_tool.md,sha256=ILKpnRCBTkU2uSDEdZQjNYo1l6hsM4TO-3RD5zWC61c,3935
69
70
  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/shell/command_safety.py,sha256=-x-qs1ctciEvFrBNn2JQq9540lSGacaS5R7e1MmB1y4,6457
71
72
  klaude_code/core/tool/sub_agent_tool.py,sha256=zMcPXdPEU0RC_jJgRmKmHF6TCWOH2MNB15K5rIlVWQQ,4620
72
73
  klaude_code/core/tool/todo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
74
  klaude_code/core/tool/todo/todo_write_tool.md,sha256=BFP9qIkzkakzskHwIOPVtDhehkh0F90A5oosyDuC_BE,1682
@@ -86,10 +87,10 @@ klaude_code/core/tool/web/web_fetch_tool.md,sha256=jIrW-EAmfl50bBevcfioQ3Vrg8kWl
86
87
  klaude_code/core/tool/web/web_fetch_tool.py,sha256=MpAfiRVg4CNvLQlve4jphpX4juN81aR7XWOZi0I5-UQ,10323
87
88
  klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
88
89
  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/core/turn.py,sha256=Xjg8PCcpug3Okl12ciWBO7EiqZxlBYtGuY2gAKV3GFk,18081
90
91
  klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
91
92
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
92
- klaude_code/llm/anthropic/client.py,sha256=NvVd0bQJxi9Pg6uVeBdzM3JnRsWVy4yJdMv8rPYz01k,12211
93
+ klaude_code/llm/anthropic/client.py,sha256=TpL_8UYzr9oum1z_hK4DcMv9v2ha0_gPHjXoHcjX59o,12212
93
94
  klaude_code/llm/anthropic/input.py,sha256=0DG33g-8qXD5rP43zYsIF7UiZML0IKJxZfr6fcOlfNQ,8365
94
95
  klaude_code/llm/bedrock/__init__.py,sha256=UmXPBXMmigAJ7euIh59iivSeUdrYJwum0RYU7okkkPM,86
95
96
  klaude_code/llm/bedrock/client.py,sha256=n78PIMONAMiRc-l4-mY9qOu0dhUuirmaRpmvuzWdEsk,2400
@@ -99,14 +100,14 @@ klaude_code/llm/client.py,sha256=yZ_ob0BERRjrOc3t_kJioIdMioghXdOYUErH67zME2k,100
99
100
  klaude_code/llm/codex/__init__.py,sha256=8vN2j2ezWB_UVpfqQ8ooStsBeLL5SY4SUMXOXdWiMaI,132
100
101
  klaude_code/llm/codex/client.py,sha256=kLHAmNwyijwzAKsFnC-5NBXboJTVvEqMcQylQLO-P4M,5522
101
102
  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/client.py,sha256=RTr0GUAwwu5Xra-hm1lgFI3RZg2_U7GcJKU-noK6-Y0,13695
103
104
  klaude_code/llm/google/input.py,sha256=yBeqMk9E5nS-0jl1kEAALwnuqgKZdXApRG2KdAhPQqE,7519
104
105
  klaude_code/llm/image.py,sha256=jt9FBPFhAIo48pauIEJMIhB9WuDt4wwNs9s3LiEsETE,4272
105
106
  klaude_code/llm/input_common.py,sha256=B1QtRJspDXLdbvzykSn-FWjyi1047GeTmQnaAicCCAg,6219
106
107
  klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9jZOZk0ghr7atOfNps,81
107
108
  klaude_code/llm/openai_compatible/client.py,sha256=jAcIJc7SPd7IgpFNbp-rBcPFVNcRqgSEar-shf8z1RI,5007
108
109
  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/stream.py,sha256=1z3d5rEX-RxNse2aSlqiF_EsUiNTGb4WleNeIF6HXaI,12986
110
111
  klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=quajimkUR1uSIPVXYsVNiQSTnOSVt7WuyZ23RyT7lJs,4906
111
112
  klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
112
113
  klaude_code/llm/openrouter/client.py,sha256=49kXzl4vsddU5zaTfM8dpTezgwd8LIpVPJ9ACK7Dro0,6017
@@ -114,7 +115,7 @@ klaude_code/llm/openrouter/input.py,sha256=5XSMcoYGLl_xOJJiP3w0E2F6HJFJ7OeLWi7I4
114
115
  klaude_code/llm/openrouter/reasoning.py,sha256=S0s3OAyfFVm5lHYmQqB3ZIUZlbnlV5zB2gNT3ZRbDZs,4335
115
116
  klaude_code/llm/registry.py,sha256=wEf9wvbb9CMvlNDtndKzKY5LN3zqEJYPI2v9kIrqfGI,2235
116
117
  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/client.py,sha256=vb8w749A7xJyRSj6mlVw51rFRgCtpDvhMApJzU07Vjo,12581
118
119
  klaude_code/llm/responses/input.py,sha256=BYZFBh6qa85pQjVrHds9q3A_aMfhSN2GB0e7VX-h8g4,7575
119
120
  klaude_code/llm/usage.py,sha256=Hukt4hKGUb2EnmwGy2-1Ku0oxEI6J7gOU0EsOSBBJAk,5034
120
121
  klaude_code/log.py,sha256=vyCuV18DX0miengbJF9510UsBrWidSln-CM6pVCe0GA,9301
@@ -129,7 +130,7 @@ klaude_code/protocol/events/streaming.py,sha256=U1plGQSTeGZa3E4fIxW_fHXJpuv_DSIB
129
130
  klaude_code/protocol/events/system.py,sha256=0c3x8WwqAo5Y0JmukKbn7FKtgEv-ErqwJb5PGjuHehk,1294
130
131
  klaude_code/protocol/events/tools.py,sha256=8ds_8Zj-wQWvHNAvNt1-fSIHeDffw1dsLWI7ByrAqcM,617
131
132
  klaude_code/protocol/llm_param.py,sha256=nyk5bW3AF8KziDawcImwDLiFiv07bu1ci62TslWxUkg,5161
132
- klaude_code/protocol/message.py,sha256=gG9GSr4Tysafe7Rl93LZ-xJnqkfn9rFaUEbAG6_H5gE,6208
133
+ klaude_code/protocol/message.py,sha256=pu-wvInS781y-qSKbl9MqO7k3CtAN7Yu4hUHJCXKjZQ,6210
133
134
  klaude_code/protocol/model.py,sha256=tBwvGlmsI_GPsYrCuk5-QHqC-v0UgBSdm9UjEPOvTiM,10805
134
135
  klaude_code/protocol/op.py,sha256=Us8O5Nuz6Wx03ftrLYiiLceCuzbNZ1ehwW62e_uMEvU,5646
135
136
  klaude_code/protocol/op_handler.py,sha256=NgQWyLZwPqRRH93hMvPH-TCK8YbLeDpnKeNVnlt27_o,1765
@@ -157,25 +158,24 @@ klaude_code/skill/loader.py,sha256=dq-92iX4RWUZd8sFO3KZySOVf5-M6xev29tJlaC0Ivw,8
157
158
  klaude_code/skill/manager.py,sha256=qPUaZmbKO6f6kF-a948spinRQTCHB4ek7k9TV3elaTE,3448
158
159
  klaude_code/skill/system_skills.py,sha256=ryGN07t0Xv2Yn_Prfq072tdIN0Dp4ZpdXLTl7O7rCkg,6122
159
160
  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
161
+ klaude_code/tui/command/__init__.py,sha256=VnwqxKyIMNRhZhYxvVwQrAofecnQCQTe_U5DOt-koWo,3571
162
+ klaude_code/tui/command/clear_cmd.py,sha256=Z3fk7KskzmxdLTcHcJwNkk6C8cKszDQ9FjuHBSAIpHQ,771
163
+ klaude_code/tui/command/command_abc.py,sha256=CcF3P5jXIecANWovwloDp3YbIp8So5X_6AFFrc6KObc,2497
164
+ klaude_code/tui/command/copy_cmd.py,sha256=hx47q08W5aVbbIzA_-EaB3pTn86gIYWlx9jOQsj3aVg,1879
164
165
  klaude_code/tui/command/debug_cmd.py,sha256=KkVsspq3o_b4fB2u9Qms-LJQYVI7ZGn6uvSkp3pZZgE,2744
165
166
  klaude_code/tui/command/export_cmd.py,sha256=KdFlOMJ6gruKYnd_24eWJJb21t9gLVwI1FnN1s08m5U,1609
166
167
  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/fork_session_cmd.py,sha256=S64v9P7GXrHQaFb4mVqqy4hRfHDH5-2cPLSFP_i1LX8,10084
168
169
  klaude_code/tui/command/help_cmd.py,sha256=nvQ9m6hPcJpwKPx6H7XH4o_C41u6uOYuZiBF0ZsO8uw,1678
169
170
  klaude_code/tui/command/model_cmd.py,sha256=X07psfW-6aan9nxgqRoRVQ_dvZdhTY9XcU-H-NRbGDg,2950
170
171
  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
172
  klaude_code/tui/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
173
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
174
+ klaude_code/tui/command/refresh_cmd.py,sha256=qGFyzGrlUO2MpdVqKr14JEmyVL_q0C5mFh0H53AUR0E,1282
175
175
  klaude_code/tui/command/registry.py,sha256=LdVGBTK64XqGtCj2eUqU2rNdX4tbiWvmTv25HuQPnBU,7253
176
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
177
+ klaude_code/tui/command/resume_cmd.py,sha256=hARQaE6R0bH8gAAFoCEpbgr_3bCOHCwmgNHVra30jRY,4133
178
+ klaude_code/tui/command/status_cmd.py,sha256=laqho0wP6G2OioEMQrF87RFcp2pEveCdmqxar9peHpY,5384
179
179
  klaude_code/tui/command/terminal_setup_cmd.py,sha256=C2kXelp8DZsMYZ08Gun-kgvtr07HIclcCNfwQtXgY18,10910
180
180
  klaude_code/tui/command/thinking_cmd.py,sha256=Lf4SgLi7-mtr6sIJDqOz9Zzeue_cHwWzCCl0NLE_bpY,3072
181
181
  klaude_code/tui/commands.py,sha256=jIQHE9Nk7bIxbNJ2cgnUgGbitRA1O8HSSceXfqjyLMk,3261
@@ -183,11 +183,11 @@ klaude_code/tui/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
183
183
  klaude_code/tui/components/assistant.py,sha256=3VUIGf_BJhmoWZ5bHw-QUTMElUxp-MZQKUMWNimHKLE,904
184
184
  klaude_code/tui/components/bash_syntax.py,sha256=zNvge6qvz9ujjMh2nUs2CNKIxSpXLJ5cgOLuvOmEGqY,7420
185
185
  klaude_code/tui/components/common.py,sha256=RzOiIqVPWCzjX8VMMJSkvP0F-l91g9lMTb_smNpEdDE,4648
186
- klaude_code/tui/components/developer.py,sha256=WM9VXukiEMZrGv7rsr-OIFS2SxOj5vx6kxzHJoeoBA8,10035
186
+ klaude_code/tui/components/developer.py,sha256=ufdTpB4vPOzwYaHdwM3s3LXjl2DQGf-5rmgYiFvB7UY,10093
187
187
  klaude_code/tui/components/diffs.py,sha256=JUokkkJeTIoKD0b-c-chMzIDmMjivBQqH8DYXIA3hHs,10411
188
188
  klaude_code/tui/components/errors.py,sha256=_9ojf-23ThR-BoMwNEYG68rzILwA_O59muGvofYL10w,669
189
189
  klaude_code/tui/components/mermaid_viewer.py,sha256=MstufMnTauMKzI8cKngXpFqVo-qya20P8ReNkplYtEw,3098
190
- klaude_code/tui/components/metadata.py,sha256=tVeD2WunfLwUKP11OuLo0d0N3aEjk0J5BDJsq1f-ACQ,9397
190
+ klaude_code/tui/components/metadata.py,sha256=dutITAWKrScQN-8ij4w70m8ZlEn11kD9ZRFjHTXyOsg,9392
191
191
  klaude_code/tui/components/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
192
192
  klaude_code/tui/components/rich/cjk_wrap.py,sha256=ncmifgTwF6q95iayHQyazGbntt7BRQb_Ed7aXc8JU6Y,7551
193
193
  klaude_code/tui/components/rich/code_panel.py,sha256=ZKuJHh-kh-hIkBXSGLERLaDbJ7I9hvtvmYKocJn39_w,4744
@@ -196,11 +196,11 @@ klaude_code/tui/components/rich/markdown.py,sha256=wgTRzDJTcI2u5vr_WbAnoBjQHcSe4
196
196
  klaude_code/tui/components/rich/quote.py,sha256=gTLwxSPQd9nlp73P1ysQIEgOb-BoTE2gzyiPBLMiHcY,3834
197
197
  klaude_code/tui/components/rich/searchable_text.py,sha256=PUe6MotKxSBY4FlPeojVjVQgxCsx_jiQ41bCzLp8WvE,2271
198
198
  klaude_code/tui/components/rich/status.py,sha256=Dy5GgEJzYNrWNh7QG5PQCfTGS99CllDOdWVqvbCafYE,13320
199
- klaude_code/tui/components/rich/theme.py,sha256=CgLqUdITLwpqcrD0vypk1PWTBOXfLBbn0_ELyJPg4Lk,15048
199
+ klaude_code/tui/components/rich/theme.py,sha256=045b8bFlnRCBqo5ceUtGdj_C08aVsJqWyqvULM80Xm0,15032
200
200
  klaude_code/tui/components/sub_agent.py,sha256=FojxwNnBTwYSSBMG4DmC2IJfr-bLTJiDcViKoL1d0uQ,6955
201
201
  klaude_code/tui/components/thinking.py,sha256=AXC7Xpyiu7ST-eWGLRGY7N8Dak2ny3lV3mvznmfqKmM,2890
202
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
203
+ klaude_code/tui/components/user_input.py,sha256=6VHH77xwUUW0rW7yv8hOwGXsmK52HEsBg9-QZVbOm1A,3427
204
204
  klaude_code/tui/display.py,sha256=ovM1F8GDG0gTQjOV2KaXnjE9HFHf7AtThqSIXkP6JQY,3073
205
205
  klaude_code/tui/input/__init__.py,sha256=cAB38ypo7dHo_jgXUCnoBTUKHtiriVaKCv4YepSU9SU,276
206
206
  klaude_code/tui/input/clipboard.py,sha256=HjThFB9MG_YdJ76CQv7B-IUoz5JarbWUZDbUVkH1LpY,5106
@@ -209,25 +209,24 @@ klaude_code/tui/input/key_bindings.py,sha256=2uN48J1HRHeCBqq7WrH5J82NIU59oQscce0
209
209
  klaude_code/tui/input/prompt_toolkit.py,sha256=_joijghnXG0-vu8D-Om4eU_jprLiTpyabfNH6aqaqpA,27224
210
210
  klaude_code/tui/machine.py,sha256=1aA2iYjCjF6VQ1x62wWtiY4Jqzn2R8-hkDOb2vNw6e8,23355
211
211
  klaude_code/tui/renderer.py,sha256=JzKzYrKjG8HYsJV5Akq7DWtgY8bCebGq3GRrVfcXeBw,29476
212
- klaude_code/tui/runner.py,sha256=SGwKIo3EH6vA1Qlfb0KtFaNid2lyGL_4Jb2gjVa1MZs,11560
212
+ klaude_code/tui/runner.py,sha256=crdwlPcqSrqG0HNsuzd6yfrFHMTZa4GNAeQzjq788eA,11542
213
213
  klaude_code/tui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
214
214
  klaude_code/tui/terminal/color.py,sha256=6SJR2RA8cqJINNoRz65w0HL3x9g46ydIvDOGWMeNnQU,7195
215
215
  klaude_code/tui/terminal/control.py,sha256=m2fL6uHum5Li25X2IPnI4z_oVzMpVYcSldB-r0NLLzk,4920
216
216
  klaude_code/tui/terminal/image.py,sha256=ytzmw1J3fmaq49nWTDRmK_7aMIGbdUPCtVccSpVRHxY,1195
217
217
  klaude_code/tui/terminal/notifier.py,sha256=-aTtgRvpzQcfbkOfbeDOfUs3l9smNBZX-60G9f0326Y,4643
218
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
219
+ klaude_code/tui/terminal/selector.py,sha256=BbjgqLProZXklziHJSSkWz4pss5Tbli1TrbVmpZLBxs,23930
220
+ klaude_code/ui/__init__.py,sha256=3k9Sbesq0nNN3jcSMDqJ4zUcys4PKzGg4Xsum-6dZis,451
221
+ klaude_code/ui/common.py,sha256=_KmCNM-U8VowObYkfq8e9cyuvN1dF85P56hG8tGYlts,4309
222
222
  klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
223
- klaude_code/ui/core/display.py,sha256=ACfsJEjamAkhVesQ7Vm3PyuLXkowuQ5PCE93utiiPRM,3582
223
+ klaude_code/ui/core/display.py,sha256=wk3_4-SE93BpxJOrx9MzEouMc4wTsYo7bBj9eeJO-ik,3569
224
224
  klaude_code/ui/core/input.py,sha256=8wXszl2Es6BbpqUjXMZka-7zc1d0kuySCxJUiDGHTaY,2593
225
225
  klaude_code/ui/debug_mode.py,sha256=ZvqbOx4c_rUerMbEZzOfcbNf9leqEDFjqJUlALtzF9Y,1111
226
- klaude_code/ui/exec_mode.py,sha256=8-eGJeoJo1ke9Atpeu4JErh4A0GcrHYvALktfnqQygE,1765
227
226
  klaude_code/ui/terminal/__init__.py,sha256=5OeAzr994r8-peWsLON0iXsAvJ2pexwMp36JY7FKGDc,179
228
227
  klaude_code/ui/terminal/title.py,sha256=EZpLXTMhunsZPVGaxP317lH0Ad2oOh7OsjbV3yRD5is,1115
229
228
  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,,
229
+ klaude_code-2.2.0.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
230
+ klaude_code-2.2.0.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
231
+ klaude_code-2.2.0.dist-info/METADATA,sha256=458xxtAI3saCqeI9ix2BiyizQLzcvoViW_s7TH-zzM8,11498
232
+ klaude_code-2.2.0.dist-info/RECORD,,
@@ -1,82 +0,0 @@
1
- ---
2
- description: Commit current git changes
3
- ---
4
-
5
- ## Workflow
6
-
7
- ### Step 1: Detect version control system
8
-
9
- Check if `jj` is available in the current environment. (check in your <env> tag)
10
-
11
- ### Step 2: Run pre-commit checks
12
-
13
- Before creating a commit, run the following checks:
14
-
15
- 1. Run the project's linter to check and fix code style issues
16
- 2. Run the project's test suite to ensure all tests pass
17
- 3. If either check fails, stop the commit process and report the errors to the user
18
- 4. If both checks pass, proceed to the next step
19
-
20
- ### Step 3A: If jj is available
21
-
22
- 1. Run `jj status` and `jj log -r 'ancestors(@, 10)'` to see working copy changes and the last 10 changes
23
- 2. For each change that has no description (shows as "(no description set)"):
24
- - Run `jj diff -r <change_id> --git` to view the diff
25
- - Read related files if needed to understand the context
26
- - Use `jj describe -r <change_id>` to add a meaningful description
27
-
28
- ### Step 2B: If jj is not available (git)
29
-
30
- 1. Run `git status` to check working directory state
31
- 2. Run `git diff --cached` to check if there are staged changes
32
- 3. If staging area has content:
33
- - Ask the user: "Staging area has changes. Commit only staged changes, or stage and commit all changes?"
34
- - If user chooses staged only: proceed with staged changes
35
- - If user chooses all: run `git add -A` first
36
- 4. If staging area is empty:
37
- - Run `git add -A` to stage all changes
38
- 5. Review the changes with `git diff --cached`
39
- 6. Create the commit
40
-
41
- ## Commit Message Format
42
-
43
- In order to ensure good formatting, ALWAYS pass the commit message via a HEREDOC:
44
-
45
- For jj:
46
- ```bash
47
- jj describe -m "$(cat <<'EOF'
48
- Commit message here.
49
- EOF
50
- )"
51
- ```
52
-
53
- For git:
54
- ```bash
55
- git commit -m "$(cat <<'EOF'
56
- Commit message here.
57
- EOF
58
- )"
59
- ```
60
-
61
- ## Message Style
62
-
63
- Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
64
-
65
- ```
66
- <type>(<scope>): <description>
67
- ```
68
-
69
- Types:
70
- - `feat`: New feature
71
- - `fix`: Bug fix
72
- - `docs`: Documentation changes
73
- - `style`: Code style changes (formatting, no logic change)
74
- - `refactor`: Code refactoring (no feature or fix)
75
- - `test`: Adding or updating tests
76
- - `chore`: Build process, dependencies, or tooling changes
77
-
78
- Examples:
79
- - `feat(cli): add --verbose flag for debug output`
80
- - `fix(llm): handle API timeout errors gracefully`
81
- - `docs(readme): update installation instructions`
82
- - `refactor(core): simplify session state management`
@@ -1,60 +0,0 @@
1
- import sys
2
- from typing import override
3
-
4
- from klaude_code.protocol import events
5
- from klaude_code.ui.core.display import DisplayABC
6
-
7
-
8
- class ExecDisplay(DisplayABC):
9
- """A display implementation for exec mode - only handles TaskFinishEvent."""
10
-
11
- @override
12
- async def consume_event(self, event: events.Event) -> None:
13
- """Only handle TaskFinishEvent."""
14
- match event:
15
- case events.TaskStartEvent():
16
- pass
17
- case events.ErrorEvent() as e:
18
- print(f"Error: {e.error_message}")
19
- case events.TaskFinishEvent() as e:
20
- # Print the task result when task finishes
21
- if e.task_result.strip():
22
- print(e.task_result)
23
- case _:
24
- # Ignore all other events
25
- pass
26
-
27
- @override
28
- async def start(self) -> None:
29
- """Do nothing on start."""
30
- pass
31
-
32
- @override
33
- async def stop(self) -> None:
34
- """Do nothing on stop."""
35
- pass
36
-
37
-
38
- class StreamJsonDisplay(DisplayABC):
39
- """A display implementation that streams all events as JSON lines."""
40
-
41
- @override
42
- async def consume_event(self, event: events.Event) -> None:
43
- """Stream each event as a JSON line."""
44
- if isinstance(event, events.EndEvent):
45
- return
46
- event_type = type(event).__name__
47
- json_data = event.model_dump_json()
48
- # Output format: {"type": "EventName", "data": {...}}
49
- print(f'{{"type": "{event_type}", "data": {json_data}}}', flush=True)
50
- sys.stdout.flush()
51
-
52
- @override
53
- async def start(self) -> None:
54
- """Do nothing on start."""
55
- pass
56
-
57
- @override
58
- async def stop(self) -> None:
59
- """Do nothing on stop."""
60
- pass