klaude-code 1.2.27__py3-none-any.whl → 1.2.29__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.
- klaude_code/cli/config_cmd.py +13 -6
- klaude_code/cli/debug.py +9 -1
- klaude_code/cli/list_model.py +1 -1
- klaude_code/cli/main.py +39 -14
- klaude_code/cli/runtime.py +11 -5
- klaude_code/command/__init__.py +3 -0
- klaude_code/command/export_online_cmd.py +15 -12
- klaude_code/command/fork_session_cmd.py +42 -0
- klaude_code/config/__init__.py +11 -1
- klaude_code/config/config.py +21 -17
- klaude_code/config/select_model.py +1 -0
- klaude_code/core/executor.py +2 -1
- klaude_code/core/reminders.py +52 -16
- klaude_code/core/tool/web/mermaid_tool.md +17 -0
- klaude_code/core/tool/web/mermaid_tool.py +2 -2
- klaude_code/llm/openai_compatible/tool_call_accumulator.py +17 -1
- klaude_code/protocol/commands.py +1 -0
- klaude_code/protocol/model.py +2 -0
- klaude_code/session/export.py +61 -17
- klaude_code/session/session.py +23 -1
- klaude_code/session/templates/mermaid_viewer.html +926 -0
- klaude_code/trace/log.py +7 -1
- klaude_code/ui/modes/repl/__init__.py +3 -44
- klaude_code/ui/modes/repl/completers.py +35 -3
- klaude_code/ui/modes/repl/event_handler.py +9 -5
- klaude_code/ui/modes/repl/input_prompt_toolkit.py +32 -65
- klaude_code/ui/modes/repl/renderer.py +1 -6
- klaude_code/ui/renderers/assistant.py +4 -2
- klaude_code/ui/renderers/common.py +11 -4
- klaude_code/ui/renderers/developer.py +26 -7
- klaude_code/ui/renderers/errors.py +10 -5
- klaude_code/ui/renderers/mermaid_viewer.py +58 -0
- klaude_code/ui/renderers/tools.py +46 -18
- klaude_code/ui/rich/markdown.py +4 -4
- klaude_code/ui/rich/theme.py +12 -2
- {klaude_code-1.2.27.dist-info → klaude_code-1.2.29.dist-info}/METADATA +1 -1
- {klaude_code-1.2.27.dist-info → klaude_code-1.2.29.dist-info}/RECORD +39 -36
- {klaude_code-1.2.27.dist-info → klaude_code-1.2.29.dist-info}/entry_points.txt +1 -0
- {klaude_code-1.2.27.dist-info → klaude_code-1.2.29.dist-info}/WHEEL +0 -0
|
@@ -6,12 +6,14 @@ from rich import box
|
|
|
6
6
|
from rich.console import Group, RenderableType
|
|
7
7
|
from rich.padding import Padding
|
|
8
8
|
from rich.panel import Panel
|
|
9
|
+
from rich.style import Style
|
|
9
10
|
from rich.text import Text
|
|
10
11
|
|
|
11
12
|
from klaude_code import const
|
|
12
13
|
from klaude_code.protocol import events, model, tools
|
|
13
14
|
from klaude_code.protocol.sub_agent import is_sub_agent_tool as _is_sub_agent_tool
|
|
14
15
|
from klaude_code.ui.renderers import diffs as r_diffs
|
|
16
|
+
from klaude_code.ui.renderers import mermaid_viewer as r_mermaid_viewer
|
|
15
17
|
from klaude_code.ui.renderers.common import create_grid, truncate_display
|
|
16
18
|
from klaude_code.ui.rich.markdown import NoInsetMarkdown
|
|
17
19
|
from klaude_code.ui.rich.theme import ThemeKey
|
|
@@ -19,13 +21,13 @@ from klaude_code.ui.rich.theme import ThemeKey
|
|
|
19
21
|
# Tool markers (Unicode symbols for UI display)
|
|
20
22
|
MARK_GENERIC = "⚒"
|
|
21
23
|
MARK_BASH = "$"
|
|
22
|
-
MARK_PLAN = "
|
|
23
|
-
MARK_READ = "
|
|
24
|
+
MARK_PLAN = "◈"
|
|
25
|
+
MARK_READ = "→"
|
|
24
26
|
MARK_EDIT = "±"
|
|
25
27
|
MARK_WRITE = "+"
|
|
26
28
|
MARK_MERMAID = "⧉"
|
|
27
|
-
MARK_WEB_FETCH = "
|
|
28
|
-
MARK_WEB_SEARCH = ""
|
|
29
|
+
MARK_WEB_FETCH = "→"
|
|
30
|
+
MARK_WEB_SEARCH = "✱"
|
|
29
31
|
MARK_DONE = "✔"
|
|
30
32
|
MARK_SKILL = "✪"
|
|
31
33
|
|
|
@@ -205,9 +207,13 @@ def render_write_tool_call(arguments: str) -> RenderableType:
|
|
|
205
207
|
grid = create_grid()
|
|
206
208
|
try:
|
|
207
209
|
json_dict = json.loads(arguments)
|
|
208
|
-
file_path = json_dict.get("file_path")
|
|
210
|
+
file_path = json_dict.get("file_path", "")
|
|
209
211
|
tool_name_column = Text.assemble((MARK_WRITE, ThemeKey.TOOL_MARK), " ", ("Write", ThemeKey.TOOL_NAME))
|
|
210
|
-
|
|
212
|
+
# Markdown files show path in result panel, skip here to avoid duplication
|
|
213
|
+
if file_path.endswith(".md"):
|
|
214
|
+
arguments_column = Text("")
|
|
215
|
+
else:
|
|
216
|
+
arguments_column = render_path(file_path, ThemeKey.TOOL_PARAM_FILE_PATH)
|
|
211
217
|
except json.JSONDecodeError:
|
|
212
218
|
tool_name_column = Text.assemble((MARK_WRITE, ThemeKey.TOOL_MARK), " ", ("Write", ThemeKey.TOOL_NAME))
|
|
213
219
|
arguments_column = Text(
|
|
@@ -347,6 +353,36 @@ def _truncate_url(url: str, max_length: int = 400) -> str:
|
|
|
347
353
|
return display_url[: max_length - 3] + "..."
|
|
348
354
|
|
|
349
355
|
|
|
356
|
+
def _render_mermaid_viewer_link(
|
|
357
|
+
tr: events.ToolResultEvent,
|
|
358
|
+
link_info: model.MermaidLinkUIExtra,
|
|
359
|
+
*,
|
|
360
|
+
use_osc8: bool,
|
|
361
|
+
) -> RenderableType:
|
|
362
|
+
viewer_path = r_mermaid_viewer.build_viewer(code=link_info.code, link=link_info.link, tool_call_id=tr.tool_call_id)
|
|
363
|
+
if viewer_path is None:
|
|
364
|
+
return Text(link_info.link, style=ThemeKey.TOOL_PARAM_FILE_PATH, overflow="fold")
|
|
365
|
+
|
|
366
|
+
display_path = str(viewer_path)
|
|
367
|
+
|
|
368
|
+
file_url = ""
|
|
369
|
+
if use_osc8:
|
|
370
|
+
try:
|
|
371
|
+
file_url = viewer_path.resolve().as_uri()
|
|
372
|
+
except ValueError:
|
|
373
|
+
file_url = f"file://{viewer_path.as_posix()}"
|
|
374
|
+
|
|
375
|
+
rendered = Text.assemble(("saved in:", ThemeKey.TOOL_PARAM), " ")
|
|
376
|
+
start = len(rendered)
|
|
377
|
+
rendered.append(display_path, ThemeKey.TOOL_PARAM_FILE_PATH)
|
|
378
|
+
end = len(rendered)
|
|
379
|
+
|
|
380
|
+
if use_osc8 and file_url:
|
|
381
|
+
rendered.stylize(Style(link=file_url), start, end)
|
|
382
|
+
|
|
383
|
+
return rendered
|
|
384
|
+
|
|
385
|
+
|
|
350
386
|
def render_web_fetch_tool_call(arguments: str) -> RenderableType:
|
|
351
387
|
grid = create_grid()
|
|
352
388
|
tool_name_column = Text.assemble((MARK_WEB_FETCH, ThemeKey.TOOL_MARK), " ", ("Fetch", ThemeKey.TOOL_NAME))
|
|
@@ -407,17 +443,9 @@ def render_mermaid_tool_result(tr: events.ToolResultEvent) -> RenderableType:
|
|
|
407
443
|
if link_info is None:
|
|
408
444
|
return render_generic_tool_result(tr.result, is_error=tr.status == "error")
|
|
409
445
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
# For terminals that don't support OSC 8, show a hint to use /export
|
|
415
|
-
hint_text = Text.assemble(
|
|
416
|
-
("Use ", ThemeKey.TOOL_RESULT),
|
|
417
|
-
("/export", ThemeKey.TOOL_RESULT_BOLD),
|
|
418
|
-
(" to view the diagram.", ThemeKey.TOOL_RESULT),
|
|
419
|
-
)
|
|
420
|
-
return Padding.indent(hint_text, level=2)
|
|
446
|
+
use_osc8 = supports_osc8_hyperlinks()
|
|
447
|
+
viewer = _render_mermaid_viewer_link(tr, link_info, use_osc8=use_osc8)
|
|
448
|
+
return Padding.indent(viewer, level=2)
|
|
421
449
|
|
|
422
450
|
|
|
423
451
|
def _extract_truncation(
|
|
@@ -569,7 +597,7 @@ def render_tool_result(e: events.ToolResultEvent, *, code_theme: str = "monokai"
|
|
|
569
597
|
# Handle error case
|
|
570
598
|
if e.status == "error" and e.ui_extra is None:
|
|
571
599
|
error_msg = truncate_display(e.result)
|
|
572
|
-
return r_errors.
|
|
600
|
+
return r_errors.render_tool_error(error_msg)
|
|
573
601
|
|
|
574
602
|
# Render multiple ui blocks if present
|
|
575
603
|
if isinstance(e.ui_extra, model.MultiUIExtra) and e.ui_extra.items:
|
klaude_code/ui/rich/markdown.py
CHANGED
|
@@ -54,11 +54,11 @@ class Divider(MarkdownElement):
|
|
|
54
54
|
yield Rule(style=style, characters="-")
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
class
|
|
57
|
+
class MarkdownTable(TableElement):
|
|
58
58
|
"""A table element with MINIMAL_HEAVY_HEAD box style."""
|
|
59
59
|
|
|
60
60
|
def __rich_console__(self, console: Console, options: ConsoleOptions) -> RenderResult:
|
|
61
|
-
table = Table(box=box.MARKDOWN)
|
|
61
|
+
table = Table(box=box.MARKDOWN, border_style=console.get_style("markdown.table.border"))
|
|
62
62
|
|
|
63
63
|
if self.header is not None and self.header.row is not None:
|
|
64
64
|
for column in self.header.row.cells:
|
|
@@ -97,7 +97,7 @@ class NoInsetMarkdown(Markdown):
|
|
|
97
97
|
"code_block": NoInsetCodeBlock,
|
|
98
98
|
"heading_open": LeftHeading,
|
|
99
99
|
"hr": Divider,
|
|
100
|
-
"table_open":
|
|
100
|
+
"table_open": MarkdownTable,
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
|
|
@@ -110,7 +110,7 @@ class ThinkingMarkdown(Markdown):
|
|
|
110
110
|
"code_block": ThinkingCodeBlock,
|
|
111
111
|
"heading_open": LeftHeading,
|
|
112
112
|
"hr": Divider,
|
|
113
|
-
"table_open":
|
|
113
|
+
"table_open": MarkdownTable,
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
|
klaude_code/ui/rich/theme.py
CHANGED
|
@@ -130,6 +130,7 @@ class ThemeKey(str, Enum):
|
|
|
130
130
|
STATUS_SPINNER = "spinner.status"
|
|
131
131
|
STATUS_TEXT = "spinner.status.text"
|
|
132
132
|
STATUS_TEXT_BOLD = "spinner.status.text.bold"
|
|
133
|
+
STATUS_TEXT_BOLD_ITALIC = "spinner.status.text.bold_italic"
|
|
133
134
|
# STATUS
|
|
134
135
|
STATUS_HINT = "status.hint"
|
|
135
136
|
# USER_INPUT
|
|
@@ -138,6 +139,8 @@ class ThemeKey(str, Enum):
|
|
|
138
139
|
USER_INPUT_AT_PATTERN = "user.at_pattern"
|
|
139
140
|
USER_INPUT_SLASH_COMMAND = "user.slash_command"
|
|
140
141
|
USER_INPUT_SKILL = "user.skill"
|
|
142
|
+
# ASSISTANT
|
|
143
|
+
ASSISTANT_MESSAGE_MARK = "assistant.message_mark"
|
|
141
144
|
# REMINDER
|
|
142
145
|
REMINDER = "reminder"
|
|
143
146
|
REMINDER_BOLD = "reminder.bold"
|
|
@@ -178,6 +181,7 @@ class ThemeKey(str, Enum):
|
|
|
178
181
|
RESUME_FLAG = "resume.flag"
|
|
179
182
|
RESUME_INFO = "resume.info"
|
|
180
183
|
# CONFIGURATION DISPLAY
|
|
184
|
+
CONFIG_PROVIDER = "config.provider"
|
|
181
185
|
CONFIG_TABLE_HEADER = "config.table.header"
|
|
182
186
|
CONFIG_STATUS_OK = "config.status.ok"
|
|
183
187
|
CONFIG_STATUS_PRIMARY = "config.status.primary"
|
|
@@ -222,11 +226,13 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
222
226
|
ThemeKey.ERROR_BOLD.value: "bold " + palette.red,
|
|
223
227
|
ThemeKey.INTERRUPT.value: "reverse bold " + palette.red,
|
|
224
228
|
# USER_INPUT
|
|
225
|
-
ThemeKey.USER_INPUT.value:
|
|
229
|
+
ThemeKey.USER_INPUT.value: palette.magenta,
|
|
226
230
|
ThemeKey.USER_INPUT_PROMPT.value: "bold " + palette.magenta,
|
|
227
231
|
ThemeKey.USER_INPUT_AT_PATTERN.value: palette.purple,
|
|
228
232
|
ThemeKey.USER_INPUT_SLASH_COMMAND.value: "bold reverse " + palette.blue,
|
|
229
233
|
ThemeKey.USER_INPUT_SKILL.value: "bold reverse " + palette.green,
|
|
234
|
+
# ASSISTANT
|
|
235
|
+
ThemeKey.ASSISTANT_MESSAGE_MARK.value: "bold",
|
|
230
236
|
# METADATA
|
|
231
237
|
ThemeKey.METADATA.value: palette.lavender,
|
|
232
238
|
ThemeKey.METADATA_DIM.value: "dim " + palette.lavender,
|
|
@@ -234,7 +240,8 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
234
240
|
# STATUS
|
|
235
241
|
ThemeKey.STATUS_SPINNER.value: palette.blue,
|
|
236
242
|
ThemeKey.STATUS_TEXT.value: palette.blue,
|
|
237
|
-
ThemeKey.STATUS_TEXT_BOLD.value: "bold
|
|
243
|
+
ThemeKey.STATUS_TEXT_BOLD.value: "bold " + palette.blue,
|
|
244
|
+
ThemeKey.STATUS_TEXT_BOLD_ITALIC.value: "bold italic " + palette.blue,
|
|
238
245
|
ThemeKey.STATUS_HINT.value: palette.grey2,
|
|
239
246
|
# REMINDER
|
|
240
247
|
ThemeKey.REMINDER.value: palette.grey1,
|
|
@@ -283,6 +290,7 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
283
290
|
ThemeKey.CONFIG_ITEM_NAME.value: palette.cyan,
|
|
284
291
|
ThemeKey.CONFIG_PARAM_LABEL.value: palette.grey1,
|
|
285
292
|
ThemeKey.CONFIG_PANEL_BORDER.value: palette.grey3,
|
|
293
|
+
ThemeKey.CONFIG_PROVIDER.value: palette.cyan + " bold",
|
|
286
294
|
}
|
|
287
295
|
),
|
|
288
296
|
markdown_theme=Theme(
|
|
@@ -299,6 +307,7 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
299
307
|
"markdown.item.number": palette.grey2,
|
|
300
308
|
"markdown.link": "underline " + palette.blue,
|
|
301
309
|
"markdown.link_url": "underline " + palette.blue,
|
|
310
|
+
"markdown.table.border": palette.grey2,
|
|
302
311
|
}
|
|
303
312
|
),
|
|
304
313
|
thinking_markdown_theme=Theme(
|
|
@@ -319,6 +328,7 @@ def get_theme(theme: str | None = None) -> Themes:
|
|
|
319
328
|
"markdown.link": "underline " + palette.blue,
|
|
320
329
|
"markdown.link_url": "underline " + palette.blue,
|
|
321
330
|
"markdown.strong": "bold italic " + palette.grey1,
|
|
331
|
+
"markdown.table.border": palette.grey2,
|
|
322
332
|
}
|
|
323
333
|
),
|
|
324
334
|
code_theme=palette.code_theme,
|
|
@@ -7,19 +7,20 @@ klaude_code/auth/codex/oauth.py,sha256=4hAGZ2Dv87NC3loEws7U5yNyPyIrryGm5YXY2FkHe
|
|
|
7
7
|
klaude_code/auth/codex/token_manager.py,sha256=F4xH5PhE9cksqTiWsU_YAboNe284VgUFWF2VY1sZV9U,2720
|
|
8
8
|
klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
|
|
9
9
|
klaude_code/cli/auth_cmd.py,sha256=UWMHjn9xZp2o8OZc-x8y9MnkZgRWOkFXk05iKJYcySE,2561
|
|
10
|
-
klaude_code/cli/config_cmd.py,sha256
|
|
11
|
-
klaude_code/cli/debug.py,sha256=
|
|
12
|
-
klaude_code/cli/list_model.py,sha256=
|
|
13
|
-
klaude_code/cli/main.py,sha256=
|
|
14
|
-
klaude_code/cli/runtime.py,sha256=
|
|
10
|
+
klaude_code/cli/config_cmd.py,sha256=hlvslLNgdRHkokq1Pnam0XOdR3jqO3K0vNLqtWnPa6Q,3261
|
|
11
|
+
klaude_code/cli/debug.py,sha256=cPQ7cgATcJTyBIboleW_Q4Pa_t-tGG6x-Hj3woeeuHE,2669
|
|
12
|
+
klaude_code/cli/list_model.py,sha256=uA0PNR1RjUK7BCKu2Q0Sh2xB9j9Gpwp_bsWhroTW6JY,9260
|
|
13
|
+
klaude_code/cli/main.py,sha256=td_nMg0AyFDdyh3TLi7WCpi9DyAehduI4jZSOAaCNXI,12857
|
|
14
|
+
klaude_code/cli/runtime.py,sha256=EGlfr839OWAJjLSfYHnTxwG7W-IxkmktgDOj8npKkFo,15219
|
|
15
15
|
klaude_code/cli/self_update.py,sha256=iGuj0i869Zi0M70W52-VVLxZp90ISr30fQpZkHGMK2o,8059
|
|
16
16
|
klaude_code/cli/session_cmd.py,sha256=mVL2fDi76nmpK2bWYrU7Wh6jCi90A9YK8hv3UNo4GI0,2661
|
|
17
|
-
klaude_code/command/__init__.py,sha256=
|
|
17
|
+
klaude_code/command/__init__.py,sha256=8igz3QYo0lST-OSRQ4jwUvq1BRbj60OtRuNgL9ZrAqA,3255
|
|
18
18
|
klaude_code/command/clear_cmd.py,sha256=DzCg6vQ5Eve7Rx4HdL-uta1pBDRQinOW6nwx5YlOA24,658
|
|
19
19
|
klaude_code/command/command_abc.py,sha256=wUGE8NkCWWKy8lZXcW-UcQyMGnVikxTrCIycLlPU5dY,2350
|
|
20
20
|
klaude_code/command/debug_cmd.py,sha256=9sBIAwHz28QoI-tHsU3ksQlDObF1ilIbtAAEAVMR0v0,2734
|
|
21
21
|
klaude_code/command/export_cmd.py,sha256=Cs7YXWtos-ZfN9OEppIl8Xrb017kDG7R6hGiilqt2bM,1623
|
|
22
|
-
klaude_code/command/export_online_cmd.py,sha256=
|
|
22
|
+
klaude_code/command/export_online_cmd.py,sha256=RYYLnkLtg6edsgysmhsfTw16ncFRIT6PqeTdWhWXLHE,6094
|
|
23
|
+
klaude_code/command/fork_session_cmd.py,sha256=t2viSAswSDnRjVdA3r40jN9uHHN4SNBe16fF7z2oeAo,1586
|
|
23
24
|
klaude_code/command/help_cmd.py,sha256=yQJnVtj6sgXQdGsi4u9aS7EcjJLSrXccUA-v_bqmsRw,1633
|
|
24
25
|
klaude_code/command/model_cmd.py,sha256=GmDln1N6u7eWLK15tm_lcdDJBY8qI0ih48h6AhijafI,1665
|
|
25
26
|
klaude_code/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
|
|
@@ -31,16 +32,16 @@ klaude_code/command/release_notes_cmd.py,sha256=FIrBRfKTlXEp8mBh15buNjgOrl_GMX7F
|
|
|
31
32
|
klaude_code/command/status_cmd.py,sha256=sYmzfex7RVhgrBCjRyD8fsZ6ioZvjVzQ_-FvmcsA7fo,5365
|
|
32
33
|
klaude_code/command/terminal_setup_cmd.py,sha256=SivM1gX_anGY_8DCQNFZ5VblFqt4sVgCMEWPRlo6K5w,10911
|
|
33
34
|
klaude_code/command/thinking_cmd.py,sha256=8EdSN6huXihM5NHJEryZLA7CkgRT7mZgMVTJsT1-x8U,9108
|
|
34
|
-
klaude_code/config/__init__.py,sha256=
|
|
35
|
+
klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
|
|
35
36
|
klaude_code/config/assets/__init__.py,sha256=uMUfmXT3I-gYiI-HVr1DrE60mx5cY1o8V7SYuGqOmvY,32
|
|
36
37
|
klaude_code/config/assets/builtin_config.yaml,sha256=8_ZFxtYirfDvZ5Za9mO7ukTjKjlApfxrdn26cwAiQmI,5352
|
|
37
38
|
klaude_code/config/builtin_config.py,sha256=RgbawLV4yKk1IhJsQn04RkitDyLLhCwTqQ3nJkdvHGI,1113
|
|
38
|
-
klaude_code/config/config.py,sha256=
|
|
39
|
-
klaude_code/config/select_model.py,sha256=
|
|
39
|
+
klaude_code/config/config.py,sha256=rTMU-7IYl_fmthB4LsrCaSgUVttNSw7Agif8XRCmU1g,16331
|
|
40
|
+
klaude_code/config/select_model.py,sha256=vj4Qs1cl9-u6ucAjDwDvoODmlplwdYo1U57jUcKPya4,7035
|
|
40
41
|
klaude_code/const.py,sha256=Xc6UKku2sGQE05mvPNCpBbKK205vJrS9CaNAeKvu1AA,4612
|
|
41
42
|
klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
42
43
|
klaude_code/core/agent.py,sha256=bWm-UFX_0-KAy5j_YHH8X8o3MJT4-40Ni2EaDP2SL5k,5819
|
|
43
|
-
klaude_code/core/executor.py,sha256=
|
|
44
|
+
klaude_code/core/executor.py,sha256=wykM6_lsumuJbVw0q4H9KdZ7nWWDR4RWSGr2dtqRYTw,26955
|
|
44
45
|
klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8fePVPydc,562
|
|
45
46
|
klaude_code/core/manager/llm_clients.py,sha256=X2oMFWgJcP0tK8GEtMMDYR3HyR6_H8FuyCqpzWF5x2k,871
|
|
46
47
|
klaude_code/core/manager/llm_clients_builder.py,sha256=vvNV6hSpWtUCMZORQN6OfFWyA_3OAOGS5SFGy6oaKMs,1641
|
|
@@ -56,7 +57,7 @@ klaude_code/core/prompts/prompt-sub-agent-explore.md,sha256=21kFodjhvN0L-c_ZFo4y
|
|
|
56
57
|
klaude_code/core/prompts/prompt-sub-agent-oracle.md,sha256=1PLI3snvxnenCOPVrL0IxZnBl5b2xxGhlufHAyLyf60,1376
|
|
57
58
|
klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=ewS7-h8_u4QZftFpqrZWpht9Ap08s7zF9D4k4md8oD8,2360
|
|
58
59
|
klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
|
|
59
|
-
klaude_code/core/reminders.py,sha256=
|
|
60
|
+
klaude_code/core/reminders.py,sha256=M_YPlOuZ2TpTjoxfEp1FbswB4yuk9_XUgSGb9MoMBCA,24741
|
|
60
61
|
klaude_code/core/task.py,sha256=yJAcs_hFm1NYaLbjj-qbGiJr65Nu76uLD2lGGfseYYg,11773
|
|
61
62
|
klaude_code/core/tool/__init__.py,sha256=fOEwgJMGHT8NkYYE6l1FZ0fDRUmHzC6laA8wESo9j60,1939
|
|
62
63
|
klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -92,8 +93,8 @@ klaude_code/core/tool/tool_registry.py,sha256=VFB0Z4BWtYKIWtpZVGhjSLcgfK244gow_U
|
|
|
92
93
|
klaude_code/core/tool/tool_runner.py,sha256=A_RviRFr8kF6TjdGOzdgCIingeyJLBxNbZpcTnzT64E,10695
|
|
93
94
|
klaude_code/core/tool/truncation.py,sha256=YPKzelOM45rHW_OkcfX5_Ojg_pPi8yDZu7lSnwl9b_k,7334
|
|
94
95
|
klaude_code/core/tool/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
-
klaude_code/core/tool/web/mermaid_tool.md,sha256=
|
|
96
|
-
klaude_code/core/tool/web/mermaid_tool.py,sha256=
|
|
96
|
+
klaude_code/core/tool/web/mermaid_tool.md,sha256=vvPSWxbY3P_cBpHh6AM8Je9JJoMY4FBTJzoteEkwuDU,2095
|
|
97
|
+
klaude_code/core/tool/web/mermaid_tool.py,sha256=Dbf9zjXCgQzwGNWC5EXE9Mt6ko5BZB6DN0Bc2r85sP8,2594
|
|
97
98
|
klaude_code/core/tool/web/web_fetch_tool.md,sha256=jIrW-EAmfl50bBevcfioQ3Vrg8kWlHSut8ze_sRgRGw,486
|
|
98
99
|
klaude_code/core/tool/web/web_fetch_tool.py,sha256=7WzOsAHdfijROOlk3JixtHUV1D2Cuwnf-AhoznrqATw,8551
|
|
99
100
|
klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
|
|
@@ -111,7 +112,7 @@ klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9j
|
|
|
111
112
|
klaude_code/llm/openai_compatible/client.py,sha256=sMzHxaDZ4CRDgwSr1pZPqpG6YbHJA-Zk0cFyC_r-ihA,4396
|
|
112
113
|
klaude_code/llm/openai_compatible/input.py,sha256=rtWVjpwb9tLrinucezmncQXet8MerUxE5Gxc32sfDr4,3750
|
|
113
114
|
klaude_code/llm/openai_compatible/stream.py,sha256=KeB3FhfvIq_NkYJTUlyv_aV9DVu4OLxTf9_oij6kwD0,10839
|
|
114
|
-
klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=
|
|
115
|
+
klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=Tpcs2od48qNXSCHGNyzgJcFa2jlsCFuZOGK1DoOmj3o,4651
|
|
115
116
|
klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
|
|
116
117
|
klaude_code/llm/openrouter/client.py,sha256=zUkH7wkiYUJMGS_8iaVwdhzUnry7WLw4Q1IDQtncmK0,4864
|
|
117
118
|
klaude_code/llm/openrouter/input.py,sha256=aHVJCejkwzWaTM_EBbgmzKWyZfttAws2Y7QDW_NCnZk,5671
|
|
@@ -122,10 +123,10 @@ klaude_code/llm/responses/client.py,sha256=XEsVehevQJ0WFbEVxIkI-su7VwIcaeq0P9eSr
|
|
|
122
123
|
klaude_code/llm/responses/input.py,sha256=qr61LmQJdcb_f-ofrAz06WpK_k4PEcI36XsyuZAXbKk,6805
|
|
123
124
|
klaude_code/llm/usage.py,sha256=cq6yZNSKBhRVVjFqBYJQrK3mw9ZSLXaTpbDeal-BjBQ,4205
|
|
124
125
|
klaude_code/protocol/__init__.py,sha256=aGUgzhYqvhuT3Mk2vj7lrHGriH4h9TSbqV1RsRFAZjQ,194
|
|
125
|
-
klaude_code/protocol/commands.py,sha256=
|
|
126
|
+
klaude_code/protocol/commands.py,sha256=RjeZYsHxanDaEdBGvw8xt1nBFLiqfXD7I-kPqKFjTdU,678
|
|
126
127
|
klaude_code/protocol/events.py,sha256=KUMf1rLNdHQO9cZiQ9Pa1VsKkP1PTMbUkp18bu_jGy8,3935
|
|
127
128
|
klaude_code/protocol/llm_param.py,sha256=cb4ubLq21PIsMOC8WJb0aid12z_sT1b7FsbNJMr-jLg,4255
|
|
128
|
-
klaude_code/protocol/model.py,sha256=
|
|
129
|
+
klaude_code/protocol/model.py,sha256=zz1DeSkpUWDT-OZBlypaGWA4z78TSeefA-Tj8mJMHp4,14257
|
|
129
130
|
klaude_code/protocol/op.py,sha256=zG8AGFcTx1vIZFN0lNZjIjucjmDYM4eVOR7tRiLofF4,4589
|
|
130
131
|
klaude_code/protocol/op_handler.py,sha256=feTMdrz2QBwnjdv6ndizTinbBA9HFeH4oiBDeQBRKoY,1749
|
|
131
132
|
klaude_code/protocol/sub_agent/__init__.py,sha256=Abap5lPLgnSCQsVD3axfeqnj2UtxOcDLGX8e9HugfSU,3964
|
|
@@ -136,11 +137,12 @@ klaude_code/protocol/sub_agent/web.py,sha256=Z5vUM367kz8CIexN6UVPG4XxzVOaaRek-Ga
|
|
|
136
137
|
klaude_code/protocol/tools.py,sha256=OpGCr47ARKaCHcIlljhEN-p-2h4djgbP5jtfTIoKB-A,359
|
|
137
138
|
klaude_code/session/__init__.py,sha256=oXcDA5w-gJCbzmlF8yuWy3ezIW9DgFBNUs-gJHUJ-Rc,121
|
|
138
139
|
klaude_code/session/codec.py,sha256=ummbqT7t6uHHXtaS9lOkyhi1h0YpMk7SNSms8DyGAHU,2015
|
|
139
|
-
klaude_code/session/export.py,sha256=
|
|
140
|
+
klaude_code/session/export.py,sha256=dj-IRUNtXL8uONDj9bsEXcEHKyeHY7lIcXv80yP88h4,31022
|
|
140
141
|
klaude_code/session/selector.py,sha256=uJQTQAw1ce9LzNOswSFEPkB7_PTzoJRXbA9rwK8hvdQ,2913
|
|
141
|
-
klaude_code/session/session.py,sha256=
|
|
142
|
+
klaude_code/session/session.py,sha256=otWpPnCk5LGS5IW_zTdeXBtLdxbBlEK2jH5FnrOIpF4,16969
|
|
142
143
|
klaude_code/session/store.py,sha256=-e-lInCB3N1nFLlet7bipkmPk1PXmGthuMxv5z3hg5o,6953
|
|
143
144
|
klaude_code/session/templates/export_session.html,sha256=bA27AkcC7DQRoWmcMBeaR8WOx1z76hezEDf0aYH-0HQ,119780
|
|
145
|
+
klaude_code/session/templates/mermaid_viewer.html,sha256=lOkETxlctX1C1WJtS1wFw6KhNQmemxwJZFpXDSjlMOk,27842
|
|
144
146
|
klaude_code/skill/__init__.py,sha256=yeWeCfRGPOhT4mx_pjdo4fLondQ_Vx0edBtnFusLhls,839
|
|
145
147
|
klaude_code/skill/assets/deslop/SKILL.md,sha256=XMBER6gOyYnZof_u7l30CZSzmDcINe8XP-n_loah0EQ,873
|
|
146
148
|
klaude_code/skill/assets/dev-docs/SKILL.md,sha256=eHI9v44KZAOcptlnAVp2aq2Ms7WGhncm-zmGUPGmhU8,3810
|
|
@@ -151,7 +153,7 @@ klaude_code/skill/loader.py,sha256=3xGh4udco7tXlrnGFh4Kr5yljtadJ391jKYjaQ2Z3js,1
|
|
|
151
153
|
klaude_code/skill/manager.py,sha256=XRSGgGpNJo2Q9pHKpWo-VyMqf_y-dEt9JGtDoC3Eq-U,2088
|
|
152
154
|
klaude_code/skill/system_skills.py,sha256=cfhxk5Jc1OFip-Lamr6RwlAEPq-UA60M3NdwSneKGco,6124
|
|
153
155
|
klaude_code/trace/__init__.py,sha256=q8uOYhWr2_Mia1aEK_vkqx91YAfFM25ItIB6J8n3_pM,352
|
|
154
|
-
klaude_code/trace/log.py,sha256=
|
|
156
|
+
klaude_code/trace/log.py,sha256=ivvs60XfMT1n7WUt060cit_8YAumsT_6crr7Us_fdEY,9231
|
|
155
157
|
klaude_code/ui/__init__.py,sha256=XuEQsFUkJet8HI04cRmNLwnHOUqaPCRy4hF7PJnIfCY,2737
|
|
156
158
|
klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
|
|
157
159
|
klaude_code/ui/core/display.py,sha256=NwFQ9oKi8i3T5EsYDRrTpGBr3BZI0Ggns37JuQEOH54,3540
|
|
@@ -162,34 +164,35 @@ klaude_code/ui/modes/debug/__init__.py,sha256=1-1tAk7FtENdYzExSttYdHiJ-qH3DIQ5yY
|
|
|
162
164
|
klaude_code/ui/modes/debug/display.py,sha256=7_j9NGZqL4wE2LWhF1TjDHac4MfaWlYN2RHZCTfQad8,1096
|
|
163
165
|
klaude_code/ui/modes/exec/__init__.py,sha256=RsYa-DmDJj6g7iXb4H9mm2_Cu-KDQOD10RJd3yhVf_k,12
|
|
164
166
|
klaude_code/ui/modes/exec/display.py,sha256=m2kkgaUoGD9rEVUmcm7Vs_PyAI2iruKCJYRhANjSsKo,1965
|
|
165
|
-
klaude_code/ui/modes/repl/__init__.py,sha256=
|
|
167
|
+
klaude_code/ui/modes/repl/__init__.py,sha256=_0II73jlz5JUtvJsZ9sGRJzeHIQyJJpaI0egvmryYNw,286
|
|
166
168
|
klaude_code/ui/modes/repl/clipboard.py,sha256=ZCpk7kRSXGhh0Q_BWtUUuSYT7ZOqRjAoRcg9T9n48Wo,5137
|
|
167
|
-
klaude_code/ui/modes/repl/completers.py,sha256=
|
|
169
|
+
klaude_code/ui/modes/repl/completers.py,sha256=AElBFnWculNsSadom7ScnKf-P_vilC4V5AUn2qpRkXE,30005
|
|
168
170
|
klaude_code/ui/modes/repl/display.py,sha256=06wawOHWO2ItEA9EIEh97p3GDID7TJhAtpaA03nPQXs,2335
|
|
169
|
-
klaude_code/ui/modes/repl/event_handler.py,sha256=
|
|
170
|
-
klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=
|
|
171
|
+
klaude_code/ui/modes/repl/event_handler.py,sha256=ksQYSjHlTTAPfVdk6fGZLzRRKNozDUUg38c3Tgp3lWw,25775
|
|
172
|
+
klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=5OqFRphfTvy46M7lrX7CCLSYGRSmXAfJzGJnXQR-NX4,7748
|
|
171
173
|
klaude_code/ui/modes/repl/key_bindings.py,sha256=gc7b0s5S_mYC-__OJMtNcx-JxSm1DKof-hodj2XKfiY,7896
|
|
172
|
-
klaude_code/ui/modes/repl/renderer.py,sha256=
|
|
174
|
+
klaude_code/ui/modes/repl/renderer.py,sha256=7cum6SuKSuuBePDSyk4UvWs6q5dwgLA0NrJZ3eD9tHw,15902
|
|
173
175
|
klaude_code/ui/renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
174
|
-
klaude_code/ui/renderers/assistant.py,sha256=
|
|
175
|
-
klaude_code/ui/renderers/common.py,sha256=
|
|
176
|
-
klaude_code/ui/renderers/developer.py,sha256=
|
|
176
|
+
klaude_code/ui/renderers/assistant.py,sha256=7iu5zlHR7JGviHs2eA25Dsbd7ZkzCR2_0XzkqMPVxDI,862
|
|
177
|
+
klaude_code/ui/renderers/common.py,sha256=_EEgx7GTWk2eV8wEGcRcMmkeOBCMU9kjF2ZneM03V3s,2535
|
|
178
|
+
klaude_code/ui/renderers/developer.py,sha256=RrJsZphGdjuphIuTDnU1ivJ6tc-a3ndBvuyU17MQSQs,7776
|
|
177
179
|
klaude_code/ui/renderers/diffs.py,sha256=uLpgYTudH38wucozoUw4xbPWMC6uYTQTaDTHcg-0zvM,10418
|
|
178
|
-
klaude_code/ui/renderers/errors.py,sha256
|
|
180
|
+
klaude_code/ui/renderers/errors.py,sha256=-geQA6neIkeQK_m0jaboSdVHmO61qd9620lo1a029bU,656
|
|
181
|
+
klaude_code/ui/renderers/mermaid_viewer.py,sha256=49ZiaR5sb1363PJMbbos5d7A2xH2RKVIS6zM24JIRVA,1696
|
|
179
182
|
klaude_code/ui/renderers/metadata.py,sha256=_3OIAgnssoz05lq9t8Hm-3zlRWyfYzOTPSwG6guVKiE,8223
|
|
180
183
|
klaude_code/ui/renderers/sub_agent.py,sha256=g8QCFXTtFX_w8oTaGMYGuy6u5KqbFMlvzWofER0hGKk,5946
|
|
181
184
|
klaude_code/ui/renderers/thinking.py,sha256=nwKotPFS3WInsdrHFquqOHyvR8dTEKZ0JS5SMKJ_GgA,1946
|
|
182
|
-
klaude_code/ui/renderers/tools.py,sha256=
|
|
185
|
+
klaude_code/ui/renderers/tools.py,sha256=j-OEbmQPEGBxXNrRmhph23aRXsFR37YQHiLJUmXZMGU,24394
|
|
183
186
|
klaude_code/ui/renderers/user_input.py,sha256=e2hZS7UUnzQuQ6UqzSKRDkFJMkKTLUoub1JclHMX40g,3941
|
|
184
187
|
klaude_code/ui/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
|
|
185
188
|
klaude_code/ui/rich/cjk_wrap.py,sha256=ncmifgTwF6q95iayHQyazGbntt7BRQb_Ed7aXc8JU6Y,7551
|
|
186
189
|
klaude_code/ui/rich/code_panel.py,sha256=ZKuJHh-kh-hIkBXSGLERLaDbJ7I9hvtvmYKocJn39_w,4744
|
|
187
190
|
klaude_code/ui/rich/live.py,sha256=qiBLPSE4KW_Dpemy5MZ5BKhkFWEN2fjXBiQHmhJrPSM,2722
|
|
188
|
-
klaude_code/ui/rich/markdown.py,sha256=
|
|
191
|
+
klaude_code/ui/rich/markdown.py,sha256=ltcm4qVX6fsqUNkPWeOwX636FsQ6-gST6uLLcXAl9yA,15397
|
|
189
192
|
klaude_code/ui/rich/quote.py,sha256=tZcxN73SfDBHF_qk0Jkh9gWBqPBn8VLp9RF36YRdKEM,1123
|
|
190
193
|
klaude_code/ui/rich/searchable_text.py,sha256=DCVZgEFv7_ergAvT2v7XrfQAUXUzhmAwuVAchlIx8RY,2448
|
|
191
194
|
klaude_code/ui/rich/status.py,sha256=QHg4oWmPSQH19H81vOFpImEqWyDtAbIXjuCGsuDjBPA,9278
|
|
192
|
-
klaude_code/ui/rich/theme.py,sha256=
|
|
195
|
+
klaude_code/ui/rich/theme.py,sha256=4y9suVR_ILx9w6iq8VYfPlCav1tFMqXlfbSH6sMotdA,13664
|
|
193
196
|
klaude_code/ui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
|
|
194
197
|
klaude_code/ui/terminal/color.py,sha256=jvVbuysf5pnI0uAjUVeyW2HwU58dutTg2msykbu2w4Y,7197
|
|
195
198
|
klaude_code/ui/terminal/control.py,sha256=WhkqEWdtzUO4iWULp-iI9VazAWmzzW52qTQXk-4Dr4s,4922
|
|
@@ -197,7 +200,7 @@ klaude_code/ui/terminal/notifier.py,sha256=wkRM66d98Oh6PujnN4bB7NiQxIYEHqQXverMK
|
|
|
197
200
|
klaude_code/ui/terminal/progress_bar.py,sha256=MDnhPbqCnN4GDgLOlxxOEVZPDwVC_XL2NM5sl1MFNcQ,2133
|
|
198
201
|
klaude_code/ui/utils/__init__.py,sha256=YEsCLjbCPaPza-UXTPUMTJTrc9BmNBUP5CbFWlshyOQ,15
|
|
199
202
|
klaude_code/ui/utils/common.py,sha256=tqHqwgLtAyP805kwRFyoAL4EgMutcNb3Y-GAXJ4IeuM,2263
|
|
200
|
-
klaude_code-1.2.
|
|
201
|
-
klaude_code-1.2.
|
|
202
|
-
klaude_code-1.2.
|
|
203
|
-
klaude_code-1.2.
|
|
203
|
+
klaude_code-1.2.29.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
|
|
204
|
+
klaude_code-1.2.29.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
|
|
205
|
+
klaude_code-1.2.29.dist-info/METADATA,sha256=AM4qoSRDwJ6fZq7HRJ6a7wNuN_BjGdoUAm_0rVxr6i8,9126
|
|
206
|
+
klaude_code-1.2.29.dist-info/RECORD,,
|
|
File without changes
|