klaude-code 1.2.16__py3-none-any.whl → 1.2.17__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 (30) hide show
  1. klaude_code/cli/runtime.py +12 -2
  2. klaude_code/command/__init__.py +3 -0
  3. klaude_code/command/export_online_cmd.py +149 -0
  4. klaude_code/config/config.py +16 -17
  5. klaude_code/core/manager/sub_agent_manager.py +1 -1
  6. klaude_code/core/prompts/prompt-sub-agent-oracle.md +0 -1
  7. klaude_code/core/prompts/prompt-sub-agent-web.md +48 -0
  8. klaude_code/core/task.py +8 -0
  9. klaude_code/core/tool/__init__.py +2 -0
  10. klaude_code/core/tool/report_back_tool.py +28 -2
  11. klaude_code/core/tool/web/web_search_tool.md +23 -0
  12. klaude_code/core/tool/web/web_search_tool.py +126 -0
  13. klaude_code/protocol/commands.py +1 -0
  14. klaude_code/protocol/events.py +8 -0
  15. klaude_code/protocol/sub_agent/__init__.py +1 -1
  16. klaude_code/protocol/sub_agent/explore.py +1 -1
  17. klaude_code/protocol/sub_agent/web.py +78 -0
  18. klaude_code/protocol/tools.py +1 -0
  19. klaude_code/session/templates/export_session.html +99 -24
  20. klaude_code/ui/modes/repl/event_handler.py +36 -9
  21. klaude_code/ui/modes/repl/renderer.py +3 -3
  22. klaude_code/ui/renderers/sub_agent.py +14 -10
  23. klaude_code/ui/renderers/tools.py +4 -10
  24. klaude_code/ui/rich/status.py +32 -6
  25. {klaude_code-1.2.16.dist-info → klaude_code-1.2.17.dist-info}/METADATA +112 -21
  26. {klaude_code-1.2.16.dist-info → klaude_code-1.2.17.dist-info}/RECORD +28 -25
  27. klaude_code/core/prompts/prompt-sub-agent-webfetch.md +0 -46
  28. klaude_code/protocol/sub_agent/web_fetch.py +0 -74
  29. {klaude_code-1.2.16.dist-info → klaude_code-1.2.17.dist-info}/WHEEL +0 -0
  30. {klaude_code-1.2.16.dist-info → klaude_code-1.2.17.dist-info}/entry_points.txt +0 -0
@@ -10,13 +10,14 @@ klaude_code/cli/auth_cmd.py,sha256=UWMHjn9xZp2o8OZc-x8y9MnkZgRWOkFXk05iKJYcySE,2
10
10
  klaude_code/cli/config_cmd.py,sha256=zlqQV2DCU1NqCQ1th9v-bduw84sGM4739-iyJBoiNSA,2897
11
11
  klaude_code/cli/debug.py,sha256=kIgdmlMhAKg7S42uYvwwK8q_5EdKsEHSd1fiHUW176Q,2417
12
12
  klaude_code/cli/main.py,sha256=kviR4yqAaLU_KiMT50px-fTLFWfVBWr4ZzhraH6b5qQ,8679
13
- klaude_code/cli/runtime.py,sha256=IrgHueV-vw1UhOSg8BHka5yRbr34HHHggyf60e-ORU8,11641
13
+ klaude_code/cli/runtime.py,sha256=fls03WSeWrRZ0Z_WVg1BzbYcpEOzq8_pnJMjzdrvAZA,12141
14
14
  klaude_code/cli/session_cmd.py,sha256=jAopkqq_DGgoDIcGxT-RSzn9R4yqBC8NCaNgK1GLqnQ,2634
15
- klaude_code/command/__init__.py,sha256=FsJtajofM-VJru-2XHRDbho565O0O7xJGI1MGC3HOFo,3041
15
+ klaude_code/command/__init__.py,sha256=UomokpjnAFhZElfCzCKiHBKkWBDvciktJmB-8XVIu7M,3184
16
16
  klaude_code/command/clear_cmd.py,sha256=diIe1pscX1ko7bRN4FGylsTvDSAF6HHPwnsbXqTtHP0,657
17
17
  klaude_code/command/command_abc.py,sha256=1Wwp94Q3W08GNCraYYEGcjjNC7JLIei6E953zSZ2lZ4,2605
18
18
  klaude_code/command/diff_cmd.py,sha256=mQu-FedUsZabE3-KwZV2JmOfm67-A41C2gz7rr6N9W8,5251
19
19
  klaude_code/command/export_cmd.py,sha256=BPY3zYzUUuVDetakmRQpHkx1IOMw-jEQAu0LOUZn88I,3478
20
+ klaude_code/command/export_online_cmd.py,sha256=U9-athU84NUm7OY2Ar3Q3hVxvONUME2BqAK9_Q7VcsY,5686
20
21
  klaude_code/command/help_cmd.py,sha256=N9X9q2hw7AXrmvBszmzL6tYz3GNZR768wMQqmC0Vp1Q,1692
21
22
  klaude_code/command/model_cmd.py,sha256=dIjAlh2PAsjKFzEQ9JrQDslPnfdl16k9whiLd7gevcc,1505
22
23
  klaude_code/command/prompt-deslop.md,sha256=YGaAXqem39zd0UWCFjWUj83Cf7cvUJq1768aJExFqeg,1346
@@ -32,7 +33,7 @@ klaude_code/command/status_cmd.py,sha256=F7XgfivBm80kJEsCgRHGXWOALAT_Y2QyLQ38ooc
32
33
  klaude_code/command/terminal_setup_cmd.py,sha256=iSYGZlflj_i-7i-9FhfhtbyyIe3UNkhPeehZezi-ULM,10944
33
34
  klaude_code/command/thinking_cmd.py,sha256=Q2lW-RLiEFLRztGio7M0EXsZx0NS3TjrZwfLtlTTTrY,8151
34
35
  klaude_code/config/__init__.py,sha256=Qrqvi8nizkj6N77h2vDj0r4rbgCiqxvz2HLBPFuWulA,120
35
- klaude_code/config/config.py,sha256=uhF2x6C4Y7n6Iux4bF-v5ZRhQZX8ZIZy_lHJAG3jJbk,7273
36
+ klaude_code/config/config.py,sha256=2jvM6a8zoC-TdRFaLIw3OW5paxxeXC6l-o05ds4RysA,7263
36
37
  klaude_code/config/list_model.py,sha256=9YOxhWE0J59NaY-SrgPA9_jA1A8rlOGwWmzK0TRuos4,8011
37
38
  klaude_code/config/select_model.py,sha256=aOizajRXcc_IOy0bSzK_KOZhbMQSx4g6IeNkgLsyV1c,2168
38
39
  klaude_code/const/__init__.py,sha256=uNLYBV7avW00NQDJ_ZB6n0xEeF-CYlyswKOBAHk2MmI,4256
@@ -43,7 +44,7 @@ klaude_code/core/manager/__init__.py,sha256=6CswltCHXBUcezlW7xui2S1swDp8JTkS1YiE
43
44
  klaude_code/core/manager/agent_manager.py,sha256=Z_LEV9WP-4h6tLAy4_WJnnJElY8MfH1OTRHk_LRw0VI,5202
44
45
  klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
45
46
  klaude_code/core/manager/llm_clients_builder.py,sha256=pPZ_xBh-_ipV66L-9a1fnwNos4iik82Zkq0E0y3WrfI,1521
46
- klaude_code/core/manager/sub_agent_manager.py,sha256=PMdHc1WUHc3elV6YVDR4zN1YgE3CzIT3LK57NV57u8k,4710
47
+ klaude_code/core/manager/sub_agent_manager.py,sha256=G4se7JvDBYtEJ2t-dzOAoBYZcQcyjlAoIaAZwsnSn0s,4709
47
48
  klaude_code/core/prompt.py,sha256=o0BHYPdr8Jcv7xGWGgNRKvWsrw9D51MJGNWq8JYH4o0,3552
48
49
  klaude_code/core/prompts/prompt-claude-code.md,sha256=c7kNgwjJqnbwQuKWGJoMx-AMbf1gxAFC3ZFDhngBe74,8293
49
50
  klaude_code/core/prompts/prompt-codex-gpt-5-1-codex-max.md,sha256=SW-y8AmR99JL_9j26k9YVAOQuZ18vR12aT5CWHkZDc4,11741
@@ -51,12 +52,12 @@ klaude_code/core/prompts/prompt-codex-gpt-5-1.md,sha256=jNi593_4L3EoMvjS0TwltF2b
51
52
  klaude_code/core/prompts/prompt-gemini.md,sha256=JjE1tHSByGKJzjn4Gpj1zekT7ry1Yqbwx5qx3fZy2gE,3901
52
53
  klaude_code/core/prompts/prompt-minimal.md,sha256=6-ZmQQkE3f92W_3V2wS7ocB13wLog1_UojCjZG0K4v8,1559
53
54
  klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=i0I9LFB3X8VZIQtxK87CXwcRKowSO_HJxSIKopkFy_Q,2123
54
- klaude_code/core/prompts/prompt-sub-agent-oracle.md,sha256=-beyTFQtQ2rRCfI0-ckGwTCJ88vbTxxKEYwKHf3SA44,1377
55
- klaude_code/core/prompts/prompt-sub-agent-webfetch.md,sha256=kHtJINbCRiRDrip_q6idHHU3CwbDfrVlpgtSZvugOWI,2304
55
+ klaude_code/core/prompts/prompt-sub-agent-oracle.md,sha256=1PLI3snvxnenCOPVrL0IxZnBl5b2xxGhlufHAyLyf60,1376
56
+ klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=3wq3el0dU_RotKuOdwBkoHtnxRmIX9B_yGkZH6hKzxo,1910
56
57
  klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
57
58
  klaude_code/core/reminders.py,sha256=b4w6HRMY1SAZaBUXbEkil1nTbQXruYDpPuJurwMczkI,19518
58
- klaude_code/core/task.py,sha256=1JPG08pHhdZAOOO-yNMurYxEDZcAGQDC73G07h5h2wc,9820
59
- klaude_code/core/tool/__init__.py,sha256=t8cmDdWxL3KkowR3FDlhd5OpRaNN3YIYN4Y8wmXUEKI,2090
59
+ klaude_code/core/task.py,sha256=MK40Tx2WOvfscM1Tqyoqq2XteR66YHcYlAlq0Yw2-LM,10388
60
+ klaude_code/core/tool/__init__.py,sha256=qNdrji0JlmDp6nW9wFngT_38FpsSgCMkaKhRLpTZERk,2158
60
61
  klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
62
  klaude_code/core/tool/file/_utils.py,sha256=LLmdEOJnC7MgdiAlWtBPZR0h23oM9wD_UsKqU1Nfkbs,774
62
63
  klaude_code/core/tool/file/apply_patch.py,sha256=LZd3pYQ9ow_TxiFnqYuzD216HmvkLX6lW6BoMd9iQRs,17080
@@ -76,7 +77,7 @@ klaude_code/core/tool/memory/memory_tool.py,sha256=xasFf1IQp1LFaL4ctDIQt5jfrd_z6
76
77
  klaude_code/core/tool/memory/skill_loader.py,sha256=DOlfALn4GwSPHDubNhYtzxM5di29uE7_tOdRi3yxfDc,8726
77
78
  klaude_code/core/tool/memory/skill_tool.md,sha256=UfjJK5EGAd3mf7ym5rIrRdPyV3kBTxNnwzOjNnHOBrE,973
78
79
  klaude_code/core/tool/memory/skill_tool.py,sha256=8SC4asNZSKfExuhzbyGz4f2cr78PgCpNkut_31IHePw,3602
79
- klaude_code/core/tool/report_back_tool.py,sha256=PfV2ikSUeXYHwTVooe1Zy2D8euX5SAevJr5Jhrmp7SA,2161
80
+ klaude_code/core/tool/report_back_tool.py,sha256=KRZzQAIxniwXe58SDJcfK_DCf9TFFAx8XC75wPEjmpY,3246
80
81
  klaude_code/core/tool/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
82
  klaude_code/core/tool/shell/bash_tool.md,sha256=ILKpnRCBTkU2uSDEdZQjNYo1l6hsM4TO-3RD5zWC61c,3935
82
83
  klaude_code/core/tool/shell/bash_tool.py,sha256=qPB7W51LmFsRxWJoqKih1vNTGIOaXE4wfxnKPzBXs6g,4490
@@ -98,6 +99,8 @@ klaude_code/core/tool/web/mermaid_tool.md,sha256=Ketpxpr7lz8238p5Q7ZzcyWchWd4dU6
98
99
  klaude_code/core/tool/web/mermaid_tool.py,sha256=Ok0A27oHLnV1c__74bheUuy3wpqDJ1zaXUSxuuqsNPI,2630
99
100
  klaude_code/core/tool/web/web_fetch_tool.md,sha256=_5U-LSoI86rD26nPb0D5BQCr6hj8eyF0UELSiyLznCA,347
100
101
  klaude_code/core/tool/web/web_fetch_tool.py,sha256=iu6kM_-90K8mqHbK9Loui96vICV7d8rmtss68rcFqw0,4958
102
+ klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
103
+ klaude_code/core/tool/web/web_search_tool.py,sha256=riI5ugsrkg1kOaaQ-Q2CYyGYx6r8WRo1db0eoitSEH0,3829
101
104
  klaude_code/core/turn.py,sha256=4v6cWUUMXA1VLSmkc6bwJzE0kdbOPv0IiqnwzKfyKOw,11472
102
105
  klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
103
106
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
@@ -122,23 +125,23 @@ klaude_code/llm/responses/client.py,sha256=OdvnFeEOUp5aYX5hEVVZzJ8aSB5t2sfBCVNOE
122
125
  klaude_code/llm/responses/input.py,sha256=qr61LmQJdcb_f-ofrAz06WpK_k4PEcI36XsyuZAXbKk,6805
123
126
  klaude_code/llm/usage.py,sha256=cq6yZNSKBhRVVjFqBYJQrK3mw9ZSLXaTpbDeal-BjBQ,4205
124
127
  klaude_code/protocol/__init__.py,sha256=aGUgzhYqvhuT3Mk2vj7lrHGriH4h9TSbqV1RsRFAZjQ,194
125
- klaude_code/protocol/commands.py,sha256=WX7EW3DbZs7oV7zhnKXHQhDZdIZTN35MTBJ4hWMAHjM,606
126
- klaude_code/protocol/events.py,sha256=QXYgoZ3pRLDeYUAWdI62cDci1pEgfkkocCIamll81f4,3725
128
+ klaude_code/protocol/commands.py,sha256=II1YcxCEfENzO8FkpPy8tU_NDGfZrMwp5REP1o2vSz4,642
129
+ klaude_code/protocol/events.py,sha256=KUMf1rLNdHQO9cZiQ9Pa1VsKkP1PTMbUkp18bu_jGy8,3935
127
130
  klaude_code/protocol/llm_param.py,sha256=cb4ubLq21PIsMOC8WJb0aid12z_sT1b7FsbNJMr-jLg,4255
128
131
  klaude_code/protocol/model.py,sha256=JDWjN_GiUwJQxVA2HFXo2cryR_UOEjDBeVB3SwmrbE8,12584
129
132
  klaude_code/protocol/op.py,sha256=hdQTzD6zAsRMJJFaLOPvDX9gokhtIBSYNQuZ20TusI4,2824
130
133
  klaude_code/protocol/op_handler.py,sha256=_lnv3-RxKkrTfGTNBlQ23gbHJBEtMLC8O48SYWDtPjE,843
131
- klaude_code/protocol/sub_agent/__init__.py,sha256=Kh2rfTNNAC4jQA3qD3-MCfuYtvhSvwj-vFsk_FH-YuI,3976
132
- klaude_code/protocol/sub_agent/explore.py,sha256=maAcBlv4EefZjKa-SwIBe1aBsi_8Lj9CBYBESFeCtlQ,2596
134
+ klaude_code/protocol/sub_agent/__init__.py,sha256=Abap5lPLgnSCQsVD3axfeqnj2UtxOcDLGX8e9HugfSU,3964
135
+ klaude_code/protocol/sub_agent/explore.py,sha256=Z4M7i98XBLew38ClXiW-hJteSYjMUu2b548rkR7JW3A,2579
133
136
  klaude_code/protocol/sub_agent/oracle.py,sha256=0cbuutKQcvwaM--Q15mbkCdbpZMF4YjxDN1jkuGVKp4,3344
134
137
  klaude_code/protocol/sub_agent/task.py,sha256=fvj4i1vfWXivStQ-9urDS40wTWkmNRvl6D-A0exExJg,3608
135
- klaude_code/protocol/sub_agent/web_fetch.py,sha256=fi7oVutJNhYF9_LaDHWPrvyg3RQhw7othFOAYtv67r0,3160
136
- klaude_code/protocol/tools.py,sha256=wji1M0K6uAC3D-ZtB56q12-4noABpMjYcoLRHadOZZw,376
138
+ klaude_code/protocol/sub_agent/web.py,sha256=873AK6WRDS_yU-m1GJ6aZ5dZv3pIwvVQlbvgvab4vcY,2918
139
+ klaude_code/protocol/tools.py,sha256=QvFtVAGkA5elef3HWnSs7FcxcI0FOn4N_toCLT-S6Rw,401
137
140
  klaude_code/session/__init__.py,sha256=oXcDA5w-gJCbzmlF8yuWy3ezIW9DgFBNUs-gJHUJ-Rc,121
138
141
  klaude_code/session/export.py,sha256=bgljE-3vGH2fKl6d8UptGmG4sPoy8gdVgSstMBsMy9M,26783
139
142
  klaude_code/session/selector.py,sha256=gijwWQkSV20XYP3Fxr27mFXuqP4ChY2DQm_YuBOTQKw,2888
140
143
  klaude_code/session/session.py,sha256=NY5fbMe0E3WtZCN1U6MP_Xx6cKXZ93LO6GVX5KFEzUk,21789
141
- klaude_code/session/templates/export_session.html,sha256=Ph_Ud6iVOcGHpyWlwEEXOj96EvaqOjhsY7U58eHULZo,47718
144
+ klaude_code/session/templates/export_session.html,sha256=gsHhR_Vtu8Wa_0suWkIddtuBipYBiFPylddtlQ-krkk,49677
142
145
  klaude_code/trace/__init__.py,sha256=cETWJZZJaJ8_kA5Uki0om5n-ZpBxO9ph6YGYsJDXOEk,234
143
146
  klaude_code/trace/log.py,sha256=0H_RqkytSpt6AAIFDg-MV_8vA9zsR9BB1UqT6moTTTg,9134
144
147
  klaude_code/ui/__init__.py,sha256=XuEQsFUkJet8HI04cRmNLwnHOUqaPCRy4hF7PJnIfCY,2737
@@ -155,10 +158,10 @@ klaude_code/ui/modes/repl/__init__.py,sha256=35a6SUiL1SDi2i43X2VjHQw97rR7yhbLBzk
155
158
  klaude_code/ui/modes/repl/clipboard.py,sha256=ZCpk7kRSXGhh0Q_BWtUUuSYT7ZOqRjAoRcg9T9n48Wo,5137
156
159
  klaude_code/ui/modes/repl/completers.py,sha256=1SZdliYseQk6JNpCZC5I3B-j7mTe4ooVyrrNqpZ77oU,18232
157
160
  klaude_code/ui/modes/repl/display.py,sha256=0u4ISeOoYjynF7InYyV-PMOZqP44QBbjYOLOL18V0c0,2245
158
- klaude_code/ui/modes/repl/event_handler.py,sha256=zaTqiLhjr2LT4_TaQSG36hcRB3C4toA_xToR8UGvLVM,22400
161
+ klaude_code/ui/modes/repl/event_handler.py,sha256=YJjf9TclTJXGIvGUvVyyHHgmGyslRUhkJEyf4CuBQW0,23553
159
162
  klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=EAIAtcL9EHVPmVK6oOHg0xCeZ0IOnG5S5KsaL85OHOk,6368
160
163
  klaude_code/ui/modes/repl/key_bindings.py,sha256=Fxz9Ey2SnOHvfleMeSYVduxuofY0Yo-97hMRs-OMe-o,7800
161
- klaude_code/ui/modes/repl/renderer.py,sha256=c4NeqaK0TMuSZfzjurb5X81fQ15vErSDMnIm3O-JKP0,11583
164
+ klaude_code/ui/modes/repl/renderer.py,sha256=qiB6wuk-bBroN1OCDDC-h09Mduo4Utj6xAZx6YmHu-Y,11660
162
165
  klaude_code/ui/renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
163
166
  klaude_code/ui/renderers/assistant.py,sha256=Dxy6v4pX28RyWhnrjBteY8_NvDIi_jQa-j0mWt-eqWY,569
164
167
  klaude_code/ui/renderers/common.py,sha256=TPH7LCbeJGqB8ArTsVitqJHEyOxHU6nwnRtvF04nLJ4,184
@@ -166,16 +169,16 @@ klaude_code/ui/renderers/developer.py,sha256=dlap4Cdcx4cCtbixUEQLd4UoLDaT8VXGOQt
166
169
  klaude_code/ui/renderers/diffs.py,sha256=iPQxxZW1JGPwtTdCKMEkDlNb5trLm9tdWjfMRmtj6yQ,7616
167
170
  klaude_code/ui/renderers/errors.py,sha256=c_fbnoNOnvuI3Bb24IujwV8Mpes-qWS_xCWfAcBvg6A,517
168
171
  klaude_code/ui/renderers/metadata.py,sha256=eo5vtAyo3IILtGMOvFluDLPiFjNTBjnGny_Vo1FJ564,7988
169
- klaude_code/ui/renderers/sub_agent.py,sha256=lR-NgUOHNvt9z4FBVCNGzLSqye76q3sgghIEWHkIveQ,4792
172
+ klaude_code/ui/renderers/sub_agent.py,sha256=grQ_9G_7iYHdCpxrM0qDAKEMQfXcxBv0bI0GPe3s0lE,4961
170
173
  klaude_code/ui/renderers/thinking.py,sha256=OaM41EXbqSg8d7MBbkoZPW6878HCMxF-Fuq1a4eScDI,1181
171
- klaude_code/ui/renderers/tools.py,sha256=NHqJspMxzXafBHa3yChJ-ESGaXrFHeB3feZXrwE1gcM,21660
174
+ klaude_code/ui/renderers/tools.py,sha256=5B_NZDYpcdaWLRO2nRF_h07PICN17vjTVBbs1Vf4cbY,21409
172
175
  klaude_code/ui/renderers/user_input.py,sha256=rDdOYvbgJ6oePQAtyTCK-KhARfLKytpTZboZ-cFIuJQ,2603
173
176
  klaude_code/ui/rich/__init__.py,sha256=olvMm2SteyKioOqUJbEoav2TsDr_mtKqkSaifNumjwc,27
174
177
  klaude_code/ui/rich/live.py,sha256=Uid0QAZG7mHb4KrCF8p9c9n1nHLHzW75xSqcLZ4bLWY,2098
175
178
  klaude_code/ui/rich/markdown.py,sha256=5gZXSnQHPZ-Gvan2XOabOcYy3imWbcoYGh4aTf7ETcM,10773
176
179
  klaude_code/ui/rich/quote.py,sha256=tZcxN73SfDBHF_qk0Jkh9gWBqPBn8VLp9RF36YRdKEM,1123
177
180
  klaude_code/ui/rich/searchable_text.py,sha256=DCVZgEFv7_ergAvT2v7XrfQAUXUzhmAwuVAchlIx8RY,2448
178
- klaude_code/ui/rich/status.py,sha256=K17T2loZdiE2mdboIhPQPp4_-DnISwLsFNrkYfnytuk,9061
181
+ klaude_code/ui/rich/status.py,sha256=wNQUeR76HFhhJ_EyUFk76fSWI_SSL9Bx3YCSHTeLbjU,9768
179
182
  klaude_code/ui/rich/theme.py,sha256=SXnV4NBmAXVPCWyLBOLapB0W_0qJ9msgw_qelpjhUzI,10151
180
183
  klaude_code/ui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
181
184
  klaude_code/ui/terminal/color.py,sha256=M-i09DVlLAhAyhQjfeAi7OipoGi1p_OVkaZxeRfykY0,7135
@@ -186,7 +189,7 @@ klaude_code/ui/utils/__init__.py,sha256=YEsCLjbCPaPza-UXTPUMTJTrc9BmNBUP5CbFWlsh
186
189
  klaude_code/ui/utils/common.py,sha256=UCQMun23l-EREr3xkl-Bjx67yfi9ctRTw2gcGPsOM2c,2881
187
190
  klaude_code/ui/utils/debouncer.py,sha256=x8AYxf48Xd6tabBvH8cVl1bIV8FzyeDo3HswDjtNfwU,1266
188
191
  klaude_code/version.py,sha256=x2OeiACPdzS87EWtaSi_UP13htm81Uq7mlV3kFy5jko,4815
189
- klaude_code-1.2.16.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
190
- klaude_code-1.2.16.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
191
- klaude_code-1.2.16.dist-info/METADATA,sha256=xIgscd6HWet__0Leukm235mUi9LLBELupz-WUb5H5X4,5261
192
- klaude_code-1.2.16.dist-info/RECORD,,
192
+ klaude_code-1.2.17.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
193
+ klaude_code-1.2.17.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
194
+ klaude_code-1.2.17.dist-info/METADATA,sha256=IEr-eRq2S40hEcKYAaPyi54pkUXvV_rdKcKn2tapA0I,6847
195
+ klaude_code-1.2.17.dist-info/RECORD,,
@@ -1,46 +0,0 @@
1
- You are a web content fetching and analysis specialist. Your job is to retrieve content from URLs and extract or analyze information according to the user's instructions.
2
-
3
- Your available tools:
4
- - WebFetch: Fetch content from a URL. HTML pages are automatically converted to Markdown.
5
- - Read: Read files from the filesystem (useful when WebFetch output is truncated and saved to a file)
6
- - Bash: Run shell commands (use `rg` to search through large saved files)
7
-
8
- Workflow:
9
- 1. Use WebFetch to retrieve the URL content
10
- 2. Analyze the content according to the user's prompt
11
- 3. If the output was truncated and saved to a file, use Read or `rg` to search through the full content
12
- 4. If you need information from a linked page, use WebFetch to follow that link
13
- 5. Return a clear, structured summary of your findings
14
-
15
- Guidelines:
16
- - Focus on extracting the specific information requested
17
- - For large pages, prioritize the most relevant sections
18
- - If content is truncated, look for the saved file path in the system reminder and use rg to search it
19
- - Return structured data when appropriate (lists, tables, key-value pairs)
20
- - Be concise but comprehensive in your final response
21
- - Use absolute file paths when referencing saved files
22
- - Avoid using emojis
23
-
24
- Following links:
25
- - If a link on the page seems relevant to answering the question, use WebFetch to follow it
26
- - You can fetch multiple pages in sequence to gather all needed information
27
- - After fetching a link, analyze the content yourself to extract what's needed
28
- - Remember to include any fetched URLs in your Sources section if they were helpful
29
-
30
- Handling truncated content:
31
- When WebFetch output is too large, it will be truncated and the full content saved to a temporary file.
32
- The file path will be shown in a system-reminder tag. Use these approaches to access the full content:
33
- - `rg "pattern" /path/to/file` to search for specific content
34
- - Read tool with offset/limit to read specific sections
35
-
36
- Response format:
37
- Your response should be structured as follows:
38
-
39
- [Your answer to the user's question]
40
-
41
- ## Sources
42
- - [URL 1] (saved to local: /path/to/file if saved)
43
- - [URL 2]
44
- ...
45
-
46
- Only include URLs that actually contributed information to your answer. The main URL is always included. Add any additional URLs you fetched that provided relevant information.
@@ -1,74 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing import Any
4
-
5
- from klaude_code.protocol import tools
6
- from klaude_code.protocol.sub_agent import SubAgentProfile, register_sub_agent
7
-
8
- WEB_FETCH_AGENT_DESCRIPTION = """\
9
- Launch a sub-agent to fetch and analyze web content. Use this when you need to:
10
- - Retrieve and extract information from a webpage
11
- - Analyze web page content based on specific instructions
12
- - Get structured data from URLs
13
-
14
- This is an autonomous agent with its own reasoning capabilities. It can:
15
- - Follow links and navigate across multiple pages to gather comprehensive information
16
- - Decide which related pages to visit based on the initial content
17
- - Aggregate information from multiple sources into a coherent response
18
-
19
- The agent will fetch the URL content, handle HTML-to-Markdown conversion automatically, \
20
- and can use tools like rg to search through large responses that were truncated and saved to files.
21
-
22
- Usage notes:
23
- - Provide a clear prompt describing what information to extract or analyze
24
- - Provide an `output_format` (JSON Schema) parameter for structured data back from the sub-agent
25
- - Example: `output_format={"type": "object", "properties": {"main_content": {"type": "string", "description": "The main content extracted from the page, e.g. 'This article discusses...'"}, "key_insights": {"type": "array", "items": {"type": "string"}, "description": "Key takeaways from the content, e.g. ['Insight 1', 'Insight 2']"}}, "required": ["main_content", "key_insights"]}`
26
- - The agent will return a summary of the findings
27
- - For large web pages, the content may be truncated and saved to a file; the agent can search through it
28
- - The agent can autonomously follow links to related pages if needed to complete the task\
29
- """
30
-
31
- WEB_FETCH_AGENT_PARAMETERS = {
32
- "type": "object",
33
- "properties": {
34
- "description": {
35
- "type": "string",
36
- "description": "A short (3-5 word) description of the task",
37
- },
38
- "url": {
39
- "type": "string",
40
- "description": "The URL to fetch and analyze",
41
- },
42
- "prompt": {
43
- "type": "string",
44
- "description": "Instructions for analyzing or extracting content from the web page",
45
- },
46
- "output_format": {
47
- "type": "object",
48
- "description": "Optional JSON Schema for sub-agent structured output",
49
- },
50
- },
51
- "required": ["description", "url", "prompt", "output_format"],
52
- "additionalProperties": False,
53
- }
54
-
55
-
56
- def _web_fetch_prompt_builder(args: dict[str, Any]) -> str:
57
- """Build the WebFetchAgent prompt from tool arguments."""
58
- url = args.get("url", "")
59
- prompt = args.get("prompt", "")
60
- return f"URL to fetch: {url}\nTask: {prompt}"
61
-
62
-
63
- register_sub_agent(
64
- SubAgentProfile(
65
- name="WebFetchAgent",
66
- description=WEB_FETCH_AGENT_DESCRIPTION,
67
- parameters=WEB_FETCH_AGENT_PARAMETERS,
68
- prompt_file="prompts/prompt-sub-agent-webfetch.md",
69
- tool_set=(tools.BASH, tools.READ, tools.WEB_FETCH),
70
- prompt_builder=_web_fetch_prompt_builder,
71
- active_form="Fetching Web",
72
- output_schema_arg="output_format",
73
- )
74
- )