klaude-code 1.2.2__py3-none-any.whl → 1.2.4__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/main.py +7 -0
- klaude_code/cli/runtime.py +6 -6
- klaude_code/command/__init__.py +9 -5
- klaude_code/command/clear_cmd.py +3 -24
- klaude_code/command/command_abc.py +36 -1
- klaude_code/command/export_cmd.py +16 -20
- klaude_code/command/help_cmd.py +1 -0
- klaude_code/command/model_cmd.py +3 -30
- klaude_code/command/{prompt-update-dev-doc.md → prompt-dev-docs-update.md} +3 -2
- klaude_code/command/{prompt-dev-doc.md → prompt-dev-docs.md} +3 -2
- klaude_code/command/prompt-init.md +2 -5
- klaude_code/command/prompt_command.py +3 -3
- klaude_code/command/registry.py +6 -7
- klaude_code/command/status_cmd.py +111 -0
- klaude_code/config/config.py +1 -1
- klaude_code/config/list_model.py +1 -1
- klaude_code/const/__init__.py +1 -1
- klaude_code/core/agent.py +2 -11
- klaude_code/core/executor.py +155 -14
- klaude_code/core/prompts/prompt-gemini.md +1 -1
- klaude_code/core/reminders.py +24 -0
- klaude_code/core/task.py +10 -0
- klaude_code/core/tool/shell/bash_tool.py +6 -2
- klaude_code/core/tool/sub_agent_tool.py +1 -1
- klaude_code/core/tool/tool_context.py +1 -1
- klaude_code/core/tool/tool_registry.py +1 -1
- klaude_code/core/tool/tool_runner.py +1 -1
- klaude_code/core/tool/web/mermaid_tool.py +1 -1
- klaude_code/llm/__init__.py +3 -4
- klaude_code/llm/anthropic/client.py +12 -9
- klaude_code/llm/openai_compatible/client.py +2 -18
- klaude_code/llm/openai_compatible/tool_call_accumulator.py +2 -2
- klaude_code/llm/openrouter/client.py +2 -18
- klaude_code/llm/openrouter/input.py +6 -2
- klaude_code/llm/registry.py +2 -71
- klaude_code/llm/responses/client.py +2 -0
- klaude_code/llm/{metadata_tracker.py → usage.py} +49 -2
- klaude_code/protocol/commands.py +1 -0
- klaude_code/protocol/llm_param.py +12 -0
- klaude_code/protocol/model.py +30 -3
- klaude_code/protocol/op.py +14 -14
- klaude_code/protocol/op_handler.py +28 -0
- klaude_code/protocol/tools.py +0 -2
- klaude_code/session/export.py +124 -35
- klaude_code/session/session.py +1 -1
- klaude_code/session/templates/export_session.html +383 -39
- klaude_code/ui/__init__.py +6 -2
- klaude_code/ui/modes/exec/display.py +26 -0
- klaude_code/ui/modes/repl/event_handler.py +5 -1
- klaude_code/ui/renderers/developer.py +62 -11
- klaude_code/ui/renderers/metadata.py +33 -24
- klaude_code/ui/renderers/sub_agent.py +1 -1
- klaude_code/ui/renderers/tools.py +2 -2
- klaude_code/ui/renderers/user_input.py +18 -22
- klaude_code/ui/rich/status.py +13 -2
- {klaude_code-1.2.2.dist-info → klaude_code-1.2.4.dist-info}/METADATA +1 -1
- {klaude_code-1.2.2.dist-info → klaude_code-1.2.4.dist-info}/RECORD +60 -58
- /klaude_code/{core → protocol}/sub_agent.py +0 -0
- {klaude_code-1.2.2.dist-info → klaude_code-1.2.4.dist-info}/WHEEL +0 -0
- {klaude_code-1.2.2.dist-info → klaude_code-1.2.4.dist-info}/entry_points.txt +0 -0
|
@@ -107,7 +107,7 @@ class SpinnerStatusState:
|
|
|
107
107
|
if self._base_status:
|
|
108
108
|
result = Text(self._base_status)
|
|
109
109
|
if activity_text:
|
|
110
|
-
result.append(" ")
|
|
110
|
+
result.append(" | ")
|
|
111
111
|
result.append_text(activity_text)
|
|
112
112
|
return result
|
|
113
113
|
if activity_text:
|
|
@@ -286,12 +286,14 @@ class DisplayEventHandler:
|
|
|
286
286
|
self.renderer.display_task_finish(event)
|
|
287
287
|
if not self.renderer.is_sub_agent_session(event.session_id):
|
|
288
288
|
emit_osc94(OSC94States.HIDDEN)
|
|
289
|
+
self.spinner_status.reset()
|
|
289
290
|
self.renderer.spinner_stop()
|
|
290
291
|
await self.stage_manager.transition_to(Stage.WAITING)
|
|
291
292
|
self._maybe_notify_task_finish(event)
|
|
292
293
|
|
|
293
294
|
async def _on_interrupt(self, event: events.InterruptEvent) -> None:
|
|
294
295
|
self.renderer.spinner_stop()
|
|
296
|
+
self.spinner_status.reset()
|
|
295
297
|
await self.stage_manager.transition_to(Stage.WAITING)
|
|
296
298
|
emit_osc94(OSC94States.HIDDEN)
|
|
297
299
|
self.renderer.display_interrupt()
|
|
@@ -302,11 +304,13 @@ class DisplayEventHandler:
|
|
|
302
304
|
self.renderer.display_error(event)
|
|
303
305
|
if not event.can_retry:
|
|
304
306
|
self.renderer.spinner_stop()
|
|
307
|
+
self.spinner_status.reset()
|
|
305
308
|
|
|
306
309
|
async def _on_end(self, event: events.EndEvent) -> None:
|
|
307
310
|
emit_osc94(OSC94States.HIDDEN)
|
|
308
311
|
await self.stage_manager.transition_to(Stage.WAITING)
|
|
309
312
|
self.renderer.spinner_stop()
|
|
313
|
+
self.spinner_status.reset()
|
|
310
314
|
|
|
311
315
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
312
316
|
# Private helper methods
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
from rich.console import Group, RenderableType
|
|
2
2
|
from rich.padding import Padding
|
|
3
|
+
from rich.table import Table
|
|
3
4
|
from rich.text import Text
|
|
4
5
|
|
|
5
|
-
from klaude_code.protocol import commands, events
|
|
6
|
+
from klaude_code.protocol import commands, events, model
|
|
6
7
|
from klaude_code.ui.renderers import diffs as r_diffs
|
|
7
8
|
from klaude_code.ui.renderers.common import create_grid
|
|
8
9
|
from klaude_code.ui.renderers.tools import render_path
|
|
@@ -16,7 +17,7 @@ def need_render_developer_message(e: events.DeveloperMessageEvent) -> bool:
|
|
|
16
17
|
or e.item.external_file_changes
|
|
17
18
|
or e.item.todo_use
|
|
18
19
|
or e.item.at_files
|
|
19
|
-
or e.item.
|
|
20
|
+
or e.item.user_image_count
|
|
20
21
|
)
|
|
21
22
|
|
|
22
23
|
|
|
@@ -74,16 +75,12 @@ def render_developer_message(e: events.DeveloperMessageEvent) -> RenderableType:
|
|
|
74
75
|
)
|
|
75
76
|
parts.append(grid)
|
|
76
77
|
|
|
77
|
-
if
|
|
78
|
+
if uic := e.item.user_image_count:
|
|
78
79
|
grid = create_grid()
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
("Read ", ThemeKey.REMINDER),
|
|
84
|
-
Text(f"{img_tag} Image", style=ThemeKey.REMINDER_BOLD),
|
|
85
|
-
),
|
|
86
|
-
)
|
|
80
|
+
grid.add_row(
|
|
81
|
+
Text(" +", style=ThemeKey.REMINDER),
|
|
82
|
+
Text(f"Attached {uic} image{'s' if uic > 1 else ''}", style=ThemeKey.REMINDER),
|
|
83
|
+
)
|
|
87
84
|
parts.append(grid)
|
|
88
85
|
|
|
89
86
|
return Group(*parts) if parts else Text("")
|
|
@@ -101,7 +98,61 @@ def render_command_output(e: events.DeveloperMessageEvent) -> RenderableType:
|
|
|
101
98
|
return r_diffs.render_diff_panel(e.item.content, show_file_name=True)
|
|
102
99
|
case commands.CommandName.HELP:
|
|
103
100
|
return Padding.indent(Text.from_markup(e.item.content or ""), level=2)
|
|
101
|
+
case commands.CommandName.STATUS:
|
|
102
|
+
return _render_status_output(e.item.command_output)
|
|
104
103
|
case _:
|
|
105
104
|
content = e.item.content or "(no content)"
|
|
106
105
|
style = ThemeKey.TOOL_RESULT if not e.item.command_output.is_error else ThemeKey.ERROR
|
|
107
106
|
return Padding.indent(Text(truncate_display(content), style=style), level=2)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def _format_tokens(tokens: int) -> str:
|
|
110
|
+
"""Format token count with K/M suffix for readability."""
|
|
111
|
+
if tokens >= 1_000_000:
|
|
112
|
+
return f"{tokens / 1_000_000:.2f}M"
|
|
113
|
+
if tokens >= 1_000:
|
|
114
|
+
return f"{tokens / 1_000:.1f}K"
|
|
115
|
+
return str(tokens)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def _format_cost(cost: float | None) -> str:
|
|
119
|
+
"""Format cost in USD."""
|
|
120
|
+
if cost is None:
|
|
121
|
+
return "-"
|
|
122
|
+
if cost < 0.01:
|
|
123
|
+
return f"${cost:.4f}"
|
|
124
|
+
return f"${cost:.2f}"
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def _render_status_output(command_output: model.CommandOutput) -> RenderableType:
|
|
128
|
+
"""Render session status as a two-column table with sections."""
|
|
129
|
+
if not command_output.ui_extra or not command_output.ui_extra.session_status:
|
|
130
|
+
return Text("(no status data)", style=ThemeKey.TOOL_RESULT)
|
|
131
|
+
|
|
132
|
+
status = command_output.ui_extra.session_status
|
|
133
|
+
usage = status.usage
|
|
134
|
+
|
|
135
|
+
table = Table.grid(padding=(0, 2))
|
|
136
|
+
table.add_column(style=ThemeKey.TOOL_RESULT, no_wrap=True)
|
|
137
|
+
table.add_column(style=ThemeKey.TOOL_RESULT, no_wrap=True)
|
|
138
|
+
# Token Usage section
|
|
139
|
+
table.add_row(Text("Token Usage", style="bold"), "")
|
|
140
|
+
table.add_row("Input Tokens", _format_tokens(usage.input_tokens))
|
|
141
|
+
if usage.cached_tokens > 0:
|
|
142
|
+
table.add_row("Cached Tokens", _format_tokens(usage.cached_tokens))
|
|
143
|
+
if usage.reasoning_tokens > 0:
|
|
144
|
+
table.add_row("Reasoning Tokens", _format_tokens(usage.reasoning_tokens))
|
|
145
|
+
table.add_row("Output Tokens", _format_tokens(usage.output_tokens))
|
|
146
|
+
table.add_row("Total Tokens", _format_tokens(usage.total_tokens))
|
|
147
|
+
|
|
148
|
+
# Cost section
|
|
149
|
+
if usage.total_cost is not None:
|
|
150
|
+
table.add_row("", "") # Empty line
|
|
151
|
+
table.add_row(Text("Cost", style="bold"), "")
|
|
152
|
+
table.add_row("Input Cost", _format_cost(usage.input_cost))
|
|
153
|
+
if usage.cache_read_cost is not None and usage.cache_read_cost > 0:
|
|
154
|
+
table.add_row("Cache Read Cost", _format_cost(usage.cache_read_cost))
|
|
155
|
+
table.add_row("Output Cost", _format_cost(usage.output_cost))
|
|
156
|
+
table.add_row("Total Cost", _format_cost(usage.total_cost))
|
|
157
|
+
|
|
158
|
+
return Padding.indent(table, level=2)
|
|
@@ -41,33 +41,32 @@ def render_response_metadata(e: events.ResponseMetadataEvent) -> RenderableType:
|
|
|
41
41
|
|
|
42
42
|
if metadata.usage is not None:
|
|
43
43
|
# Input
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
input_parts: list[tuple[str, str]] = [
|
|
45
|
+
("input:", ThemeKey.METADATA_DIM),
|
|
46
|
+
(format_number(metadata.usage.input_tokens), ThemeKey.METADATA_DIM),
|
|
47
|
+
]
|
|
48
|
+
if metadata.usage.input_cost is not None:
|
|
49
|
+
input_parts.append((f"(${metadata.usage.input_cost:.4f})", ThemeKey.METADATA_DIM))
|
|
50
|
+
parts.append(Text.assemble(*input_parts))
|
|
50
51
|
|
|
51
52
|
# Cached
|
|
52
53
|
if metadata.usage.cached_tokens > 0:
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
),
|
|
61
|
-
)
|
|
62
|
-
)
|
|
54
|
+
cached_parts: list[tuple[str, str]] = [
|
|
55
|
+
("cached:", ThemeKey.METADATA_DIM),
|
|
56
|
+
(format_number(metadata.usage.cached_tokens), ThemeKey.METADATA_DIM),
|
|
57
|
+
]
|
|
58
|
+
if metadata.usage.cache_read_cost is not None:
|
|
59
|
+
cached_parts.append((f"(${metadata.usage.cache_read_cost:.4f})", ThemeKey.METADATA_DIM))
|
|
60
|
+
parts.append(Text.assemble(*cached_parts))
|
|
63
61
|
|
|
64
62
|
# Output
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
63
|
+
output_parts: list[tuple[str, str]] = [
|
|
64
|
+
("output:", ThemeKey.METADATA_DIM),
|
|
65
|
+
(format_number(metadata.usage.output_tokens), ThemeKey.METADATA_DIM),
|
|
66
|
+
]
|
|
67
|
+
if metadata.usage.output_cost is not None:
|
|
68
|
+
output_parts.append((f"(${metadata.usage.output_cost:.4f})", ThemeKey.METADATA_DIM))
|
|
69
|
+
parts.append(Text.assemble(*output_parts))
|
|
71
70
|
|
|
72
71
|
# Reasoning
|
|
73
72
|
if metadata.usage.reasoning_tokens > 0:
|
|
@@ -105,16 +104,26 @@ def render_response_metadata(e: events.ResponseMetadataEvent) -> RenderableType:
|
|
|
105
104
|
)
|
|
106
105
|
)
|
|
107
106
|
|
|
108
|
-
#
|
|
107
|
+
# Duration
|
|
109
108
|
if metadata.task_duration_s is not None:
|
|
110
109
|
parts.append(
|
|
111
110
|
Text.assemble(
|
|
112
|
-
("
|
|
111
|
+
("time", ThemeKey.METADATA_DIM),
|
|
113
112
|
(":", ThemeKey.METADATA_DIM),
|
|
114
113
|
(f"{metadata.task_duration_s:.1f}s", ThemeKey.METADATA_DIM),
|
|
115
114
|
)
|
|
116
115
|
)
|
|
117
116
|
|
|
117
|
+
# Cost (USD)
|
|
118
|
+
if metadata.usage is not None and metadata.usage.total_cost is not None:
|
|
119
|
+
parts.append(
|
|
120
|
+
Text.assemble(
|
|
121
|
+
("cost", ThemeKey.METADATA_DIM),
|
|
122
|
+
(":", ThemeKey.METADATA_DIM),
|
|
123
|
+
(f"${metadata.usage.total_cost:.4f}", ThemeKey.METADATA_DIM),
|
|
124
|
+
)
|
|
125
|
+
)
|
|
126
|
+
|
|
118
127
|
if parts:
|
|
119
128
|
line2 = Text("/", style=ThemeKey.METADATA_DIM).join(parts)
|
|
120
129
|
renderables.append(Padding(line2, (0, 0, 0, 2)))
|
|
@@ -6,8 +6,8 @@ from rich.style import Style
|
|
|
6
6
|
from rich.text import Text
|
|
7
7
|
|
|
8
8
|
from klaude_code import const
|
|
9
|
-
from klaude_code.core.sub_agent import get_sub_agent_profile_by_tool
|
|
10
9
|
from klaude_code.protocol import events, model
|
|
10
|
+
from klaude_code.protocol.sub_agent import get_sub_agent_profile_by_tool
|
|
11
11
|
from klaude_code.ui.rich.markdown import NoInsetMarkdown
|
|
12
12
|
from klaude_code.ui.rich.theme import ThemeKey
|
|
13
13
|
|
|
@@ -6,8 +6,8 @@ from rich.padding import Padding
|
|
|
6
6
|
from rich.text import Text
|
|
7
7
|
|
|
8
8
|
from klaude_code import const
|
|
9
|
-
from klaude_code.core.sub_agent import is_sub_agent_tool as _is_sub_agent_tool
|
|
10
9
|
from klaude_code.protocol import events, model
|
|
10
|
+
from klaude_code.protocol.sub_agent import is_sub_agent_tool as _is_sub_agent_tool
|
|
11
11
|
from klaude_code.ui.renderers import diffs as r_diffs
|
|
12
12
|
from klaude_code.ui.renderers.common import create_grid
|
|
13
13
|
from klaude_code.ui.rich.theme import ThemeKey
|
|
@@ -449,7 +449,7 @@ def get_tool_active_form(tool_name: str) -> str:
|
|
|
449
449
|
return _TOOL_ACTIVE_FORM[tool_name]
|
|
450
450
|
|
|
451
451
|
# Check sub agent profiles
|
|
452
|
-
from klaude_code.
|
|
452
|
+
from klaude_code.protocol.sub_agent import get_sub_agent_profile_by_tool
|
|
453
453
|
|
|
454
454
|
profile = get_sub_agent_profile_by_tool(tool_name)
|
|
455
455
|
if profile and profile.active_form:
|
|
@@ -3,7 +3,7 @@ import re
|
|
|
3
3
|
from rich.console import Group, RenderableType
|
|
4
4
|
from rich.text import Text
|
|
5
5
|
|
|
6
|
-
from klaude_code.
|
|
6
|
+
from klaude_code.command import is_slash_command_name
|
|
7
7
|
from klaude_code.ui.renderers.common import create_grid
|
|
8
8
|
from klaude_code.ui.rich.theme import ThemeKey
|
|
9
9
|
|
|
@@ -25,14 +25,6 @@ def render_at_pattern(
|
|
|
25
25
|
return Text(text, style=other_style)
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
def _is_valid_slash_command(command: str) -> bool:
|
|
29
|
-
try:
|
|
30
|
-
commands.CommandName(command)
|
|
31
|
-
return True
|
|
32
|
-
except ValueError:
|
|
33
|
-
return False
|
|
34
|
-
|
|
35
|
-
|
|
36
28
|
def render_user_input(content: str) -> RenderableType:
|
|
37
29
|
"""Render a user message as a group of quoted lines with styles.
|
|
38
30
|
|
|
@@ -41,27 +33,31 @@ def render_user_input(content: str) -> RenderableType:
|
|
|
41
33
|
"""
|
|
42
34
|
lines = content.strip().split("\n")
|
|
43
35
|
renderables: list[RenderableType] = []
|
|
36
|
+
has_command = False
|
|
44
37
|
for i, line in enumerate(lines):
|
|
45
38
|
line_text = render_at_pattern(line)
|
|
46
39
|
|
|
47
40
|
if i == 0 and line.startswith("/"):
|
|
48
41
|
splits = line.split(" ", maxsplit=1)
|
|
49
|
-
if
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
)
|
|
59
|
-
renderables.append(line_text)
|
|
60
|
-
continue
|
|
42
|
+
if is_slash_command_name(splits[0][1:]):
|
|
43
|
+
has_command = True
|
|
44
|
+
line_text = Text.assemble(
|
|
45
|
+
(f"{splits[0]}", ThemeKey.USER_INPUT_SLASH_COMMAND),
|
|
46
|
+
" ",
|
|
47
|
+
render_at_pattern(splits[1]) if len(splits) > 1 else Text(""),
|
|
48
|
+
)
|
|
49
|
+
renderables.append(line_text)
|
|
50
|
+
continue
|
|
61
51
|
|
|
62
52
|
renderables.append(line_text)
|
|
63
53
|
grid = create_grid()
|
|
64
|
-
grid.
|
|
54
|
+
grid.padding = (0, 0)
|
|
55
|
+
mark = (
|
|
56
|
+
Text("❯ ", style=ThemeKey.USER_INPUT_PROMPT)
|
|
57
|
+
if not has_command
|
|
58
|
+
else Text(" ", style=ThemeKey.USER_INPUT_SLASH_COMMAND)
|
|
59
|
+
)
|
|
60
|
+
grid.add_row(mark, Group(*renderables))
|
|
65
61
|
return grid
|
|
66
62
|
|
|
67
63
|
|
klaude_code/ui/rich/status.py
CHANGED
|
@@ -52,10 +52,21 @@ def _shimmer_profile(main_text: str) -> list[tuple[str, float]]:
|
|
|
52
52
|
return []
|
|
53
53
|
|
|
54
54
|
padding = const.STATUS_SHIMMER_PADDING
|
|
55
|
-
|
|
55
|
+
char_count = len(chars)
|
|
56
|
+
period = char_count + padding * 2
|
|
57
|
+
|
|
58
|
+
# Keep a roughly constant shimmer speed (characters per second)
|
|
59
|
+
# regardless of text length by deriving a character velocity from a
|
|
60
|
+
# baseline text length and the configured sweep duration.
|
|
61
|
+
# The baseline is chosen to be close to the default
|
|
62
|
+
# "Thinking … (esc to interrupt)" status line.
|
|
63
|
+
baseline_chars = 30
|
|
64
|
+
base_period = baseline_chars + padding * 2
|
|
56
65
|
sweep_seconds = const.STATUS_SHIMMER_SWEEP_SECONDS
|
|
66
|
+
char_speed = base_period / sweep_seconds if sweep_seconds > 0 else base_period
|
|
67
|
+
|
|
57
68
|
elapsed = _elapsed_since_start()
|
|
58
|
-
pos_f = (elapsed
|
|
69
|
+
pos_f = (elapsed * char_speed) % float(period)
|
|
59
70
|
pos = int(pos_f)
|
|
60
71
|
band_half_width = const.STATUS_SHIMMER_BAND_HALF_WIDTH
|
|
61
72
|
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
klaude_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
|
|
3
|
-
klaude_code/cli/main.py,sha256=
|
|
4
|
-
klaude_code/cli/runtime.py,sha256
|
|
3
|
+
klaude_code/cli/main.py,sha256=vQt1jZVX4pxQUYceWQcXkRO3w0glOUIhazI7uDex2fE,9279
|
|
4
|
+
klaude_code/cli/runtime.py,sha256=jipzUciIlY-w0hlUsid8HfSZuf_xCH23XoOuByJijU8,12288
|
|
5
5
|
klaude_code/cli/session_cmd.py,sha256=cIBm3uUurke-TfBvQHz9mGW29LOAh22FIpXVyypnwDo,2549
|
|
6
|
-
klaude_code/command/__init__.py,sha256=
|
|
7
|
-
klaude_code/command/clear_cmd.py,sha256=
|
|
8
|
-
klaude_code/command/command_abc.py,sha256=
|
|
6
|
+
klaude_code/command/__init__.py,sha256=ApRFYqzmDxXe-jJ0tHg4qe4XsJ4QSICu8ICQcmwxQ1Y,1125
|
|
7
|
+
klaude_code/command/clear_cmd.py,sha256=ojsDdZnv_-bDYBPecpdY85DfGicst9Jf9j7esg2z2hE,674
|
|
8
|
+
klaude_code/command/command_abc.py,sha256=WWY9qi7SILttPl6fJNi9ThevsqpGFoQJ1ecgoosd_Ms,2547
|
|
9
9
|
klaude_code/command/diff_cmd.py,sha256=306PcTeKokLmchp6mIWeZ2rokINsU5-2f4iGrjEbkCE,5269
|
|
10
|
-
klaude_code/command/export_cmd.py,sha256=
|
|
11
|
-
klaude_code/command/help_cmd.py,sha256=
|
|
12
|
-
klaude_code/command/model_cmd.py,sha256=
|
|
13
|
-
klaude_code/command/prompt-dev-
|
|
14
|
-
klaude_code/command/prompt-
|
|
15
|
-
klaude_code/command/prompt-
|
|
16
|
-
klaude_code/command/prompt_command.py,sha256=
|
|
10
|
+
klaude_code/command/export_cmd.py,sha256=lsnBwxjiHyxgU7TPmT038ZVsOVqNxV2l-6U9T-dxI1g,3498
|
|
11
|
+
klaude_code/command/help_cmd.py,sha256=VddWegAJS5OjbAZ35c9Pb0SSDZpPH5PqRyQ--sdseII,1709
|
|
12
|
+
klaude_code/command/model_cmd.py,sha256=EApytBR6gl1Po9Mi7YVvDWgV-0ivgw-RQTnQ__EIvFQ,1510
|
|
13
|
+
klaude_code/command/prompt-dev-docs-update.md,sha256=g1IWIWIa-3qlNOw5mBA4N9H1_nvYcw8AKo7XoQw_AZQ,1855
|
|
14
|
+
klaude_code/command/prompt-dev-docs.md,sha256=PU9iT6XdUEH6grfSjHVma7xKOQcA__ZTKlEDkbbO0hA,1783
|
|
15
|
+
klaude_code/command/prompt-init.md,sha256=a4_FQ3gKizqs2vl9oEY5jtG6HNhv3f-1b5RSCFq0A18,1873
|
|
16
|
+
klaude_code/command/prompt_command.py,sha256=cDdLAyGk3JFS-nRlNzTnT8T35QQ-FC6RT0fD5ELZGO4,2405
|
|
17
17
|
klaude_code/command/refresh_cmd.py,sha256=kgpbcnqf1n_ihMW99AfTXeZEkE2_MNwgQ9DbNfl2jqY,1288
|
|
18
|
-
klaude_code/command/registry.py,sha256=
|
|
18
|
+
klaude_code/command/registry.py,sha256=OZhQqoLfWjqojJauemc8L2rnwPhYoAh2Kjx3HSAz_ZE,3554
|
|
19
|
+
klaude_code/command/status_cmd.py,sha256=mVGxyaqaP2qgjdjQ5BhweUb-Cc0VpsK8-7Pab92kKJg,3961
|
|
19
20
|
klaude_code/command/terminal_setup_cmd.py,sha256=bQfMDZIzak8emkmuaY43_2YaS7t908sUJ_orYwccTtY,10957
|
|
20
21
|
klaude_code/config/__init__.py,sha256=9XVCYYqzJtCi46I94hbUmJ2yTFuZ-UlH-QTx7OpLAkQ,292
|
|
21
|
-
klaude_code/config/config.py,sha256=
|
|
22
|
-
klaude_code/config/list_model.py,sha256=
|
|
22
|
+
klaude_code/config/config.py,sha256=Vc9u7-40T81Rbx1OdMqSWZLh3vf9aj4wmBUnIOH7jAw,6526
|
|
23
|
+
klaude_code/config/list_model.py,sha256=nr7PfxFSfFsfNDJXNfI6aYMLOOAmVQeSUBDL_b-kWTU,6198
|
|
23
24
|
klaude_code/config/select_model.py,sha256=el1jqXlNyYmHH_dvdcEkWVOYqIZ9y05_VJRlfZk7HkQ,2565
|
|
24
|
-
klaude_code/const/__init__.py,sha256=
|
|
25
|
+
klaude_code/const/__init__.py,sha256=joTUQF1NEA-OHY3fuNIjNYYxOJlBW-MtSQ3YE3EAer4,3980
|
|
25
26
|
klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
|
-
klaude_code/core/agent.py,sha256=
|
|
27
|
-
klaude_code/core/executor.py,sha256=
|
|
27
|
+
klaude_code/core/agent.py,sha256=XCzoo0fR5WVlJjSdOURB1FgvMbgRt4xrLydPORkbqOU,6193
|
|
28
|
+
klaude_code/core/executor.py,sha256=5dwSWpL_8XSJfBbuI-4CNZ3ftTC0qHWOusoFG493AAg,24114
|
|
28
29
|
klaude_code/core/prompt.py,sha256=EhaM-rgjamaceYOWy4J6rXYqc0M7TfnORMBCMS1h1Yk,2868
|
|
29
30
|
klaude_code/core/prompts/prompt-claude-code.md,sha256=3OY5ShcYPp8f0XrIl-3pBVIDZkweWsLzDHy5ldnSOJc,8954
|
|
30
31
|
klaude_code/core/prompts/prompt-codex.md,sha256=jNi593_4L3EoMvjS0TwltF2b684gtDBsYHa9npxO34A,24239
|
|
31
|
-
klaude_code/core/prompts/prompt-gemini.md,sha256=
|
|
32
|
+
klaude_code/core/prompts/prompt-gemini.md,sha256=JjE1tHSByGKJzjn4Gpj1zekT7ry1Yqbwx5qx3fZy2gE,3901
|
|
32
33
|
klaude_code/core/prompts/prompt-subagent-explore.md,sha256=OxZzGodc9BmMVkrgtFHzWXoWGj_lMtyn4r1DwopgW8I,2002
|
|
33
34
|
klaude_code/core/prompts/prompt-subagent-oracle.md,sha256=hGtyDm_6UhJZUJwfXt5A-170is1KMHls85fEEo45z-w,1376
|
|
34
35
|
klaude_code/core/prompts/prompt-subagent-webfetch.md,sha256=kHtJINbCRiRDrip_q6idHHU3CwbDfrVlpgtSZvugOWI,2304
|
|
35
36
|
klaude_code/core/prompts/prompt-subagent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
|
|
36
|
-
klaude_code/core/reminders.py,sha256=
|
|
37
|
-
klaude_code/core/
|
|
38
|
-
klaude_code/core/task.py,sha256=eUQIHjZ7WW1Wtw-JPdCt5Wf6NygooBwRcnf6jjTOz5s,9466
|
|
37
|
+
klaude_code/core/reminders.py,sha256=JKD4cSPYj_ekqoMOa1ILrUwp83O2ToZLZym-MwZfPqs,17964
|
|
38
|
+
klaude_code/core/task.py,sha256=9rjCxru4WpT77pNDap3nrEXw9W6ecwGQyoPdW5_NCVw,10054
|
|
39
39
|
klaude_code/core/tool/__init__.py,sha256=GQjs6IXqtiKn8RI3OmM0wki8p16SBnvuHVBez4Z5xqo,2120
|
|
40
40
|
klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
klaude_code/core/tool/file/apply_patch.py,sha256=gUukVxt0qEP2NLHiPsmFWOi0sOuW0FaUnN0BfZ6FcII,17257
|
|
@@ -57,59 +57,61 @@ klaude_code/core/tool/memory/skill_tool.md,sha256=UfjJK5EGAd3mf7ym5rIrRdPyV3kBTx
|
|
|
57
57
|
klaude_code/core/tool/memory/skill_tool.py,sha256=Ma0iLQya3AndatUHfEANTDtXzhTly0AkzckPuQ1JXtA,3209
|
|
58
58
|
klaude_code/core/tool/shell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
59
|
klaude_code/core/tool/shell/bash_tool.md,sha256=ILKpnRCBTkU2uSDEdZQjNYo1l6hsM4TO-3RD5zWC61c,3935
|
|
60
|
-
klaude_code/core/tool/shell/bash_tool.py,sha256=
|
|
60
|
+
klaude_code/core/tool/shell/bash_tool.py,sha256=jtL380zN0c6wS6iO-_NvXbJKEHAIFK4LOnQq2BVzAgE,4553
|
|
61
61
|
klaude_code/core/tool/shell/command_safety.py,sha256=p56g3hpc8W0kgtq4_L_RJKVslO_4NkLsn0_e6V46dKY,21275
|
|
62
|
-
klaude_code/core/tool/sub_agent_tool.py,sha256=
|
|
62
|
+
klaude_code/core/tool/sub_agent_tool.py,sha256=CpQAG9P6ovtDBaQ_khXNoIfGerbHJVL7UnNRtcqtX5c,2763
|
|
63
63
|
klaude_code/core/tool/todo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
64
64
|
klaude_code/core/tool/todo/todo_write_tool.md,sha256=AJ2OkZGcccQYDXkydPAr5JI2SExBF8qJd0rXsHySLps,9711
|
|
65
65
|
klaude_code/core/tool/todo/todo_write_tool.py,sha256=LPCAq_GiG3fPWvVkidl-gITCWSGXLUsyYi0fdUCTv2g,4552
|
|
66
66
|
klaude_code/core/tool/todo/update_plan_tool.md,sha256=OoEF4voHHd5J3VDv7tq3UCHdXApkBvxdHXUf5tVOkE8,157
|
|
67
67
|
klaude_code/core/tool/todo/update_plan_tool.py,sha256=4l8BO_f0ZZTbI8JNL9mIU_lPo1Qo7E1s93Kz9CR2DuA,3840
|
|
68
68
|
klaude_code/core/tool/tool_abc.py,sha256=3FlVZ8a6hC-_Ci23_cpLaap9nHinHgxSB1TsZL5ylUQ,731
|
|
69
|
-
klaude_code/core/tool/tool_context.py,sha256=
|
|
70
|
-
klaude_code/core/tool/tool_registry.py,sha256=
|
|
71
|
-
klaude_code/core/tool/tool_runner.py,sha256=
|
|
69
|
+
klaude_code/core/tool/tool_context.py,sha256=vCA3oYN_YHnINoxejsdEUfM2QxlbXRaJ3D9_udc-8wk,3749
|
|
70
|
+
klaude_code/core/tool/tool_registry.py,sha256=lauvxFgGhgpLeH9QkF0XJVvlyVdnwRChvU0v_-0grf8,2559
|
|
71
|
+
klaude_code/core/tool/tool_runner.py,sha256=IyVjMnGVMAjs8bJuCMBfFE1eQ39FSjnOz3Wb5HHQ0T4,10259
|
|
72
72
|
klaude_code/core/tool/truncation.py,sha256=V_p4rW3msyJgw_QSgLCx74KyuCC0_eEI0-R7jTfPM-8,6439
|
|
73
73
|
klaude_code/core/tool/web/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
74
74
|
klaude_code/core/tool/web/mermaid_tool.md,sha256=Ketpxpr7lz8238p5Q7ZzcyWchWd4dU68u708-dxaZds,978
|
|
75
|
-
klaude_code/core/tool/web/mermaid_tool.py,sha256=
|
|
75
|
+
klaude_code/core/tool/web/mermaid_tool.py,sha256=GUwWcrakSZH_Jp61Q_i5TvwQj6sWMrIW0ZbNpJ0dVtE,2750
|
|
76
76
|
klaude_code/core/tool/web/web_fetch_tool.md,sha256=_5U-LSoI86rD26nPb0D5BQCr6hj8eyF0UELSiyLznCA,347
|
|
77
77
|
klaude_code/core/tool/web/web_fetch_tool.py,sha256=iu6kM_-90K8mqHbK9Loui96vICV7d8rmtss68rcFqw0,4958
|
|
78
78
|
klaude_code/core/turn.py,sha256=_Jx0huYlUXXTvgEIo_LFisJnFYssdyZePELSw7d_vHg,8391
|
|
79
|
-
klaude_code/llm/__init__.py,sha256=
|
|
79
|
+
klaude_code/llm/__init__.py,sha256=iHO9DXKO3z-8CRuwKbSgyaWyRUVAcwFKN2eO68Ud6Ms,544
|
|
80
80
|
klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
|
|
81
|
-
klaude_code/llm/anthropic/client.py,sha256=
|
|
81
|
+
klaude_code/llm/anthropic/client.py,sha256=yEsp3JSVj-18y-UiYT6zQUMRg8PYJ-Ao3bSPSBiJSJM,11166
|
|
82
82
|
klaude_code/llm/anthropic/input.py,sha256=I8W7declzxRhIvidsTGy2NIuAXIu0UE2Nr5a4fhnhQc,7361
|
|
83
83
|
klaude_code/llm/client.py,sha256=Un5LA5Z622JQ1MYEfJi7gXj3ycX3ce0WvYPcOogM32Y,1527
|
|
84
84
|
klaude_code/llm/input_common.py,sha256=yLn-g9T_lC3AnPPilFwlKEA2-vnIgyOKlHFBYB00jm8,8972
|
|
85
|
-
klaude_code/llm/metadata_tracker.py,sha256=L-_awI5m1GXFc3MzYlpZoYBYVJzx-mrTasmz41-Dvoo,2263
|
|
86
85
|
klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9jZOZk0ghr7atOfNps,81
|
|
87
|
-
klaude_code/llm/openai_compatible/client.py,sha256=
|
|
86
|
+
klaude_code/llm/openai_compatible/client.py,sha256=LqwkmKZdgDJq8_zlwsb35-QRhunP-ec0VFKMr-SM_uk,9215
|
|
88
87
|
klaude_code/llm/openai_compatible/input.py,sha256=INn9sSYngS6C9584y_HZTWeYPhgU8Q6FYMZWzhH4iyA,3610
|
|
89
|
-
klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=
|
|
88
|
+
klaude_code/llm/openai_compatible/tool_call_accumulator.py,sha256=kuw3ceDgenQz2Ccc9KYqBkDo6F1sDb5Aga6m41AIECA,4071
|
|
90
89
|
klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
|
|
91
|
-
klaude_code/llm/openrouter/client.py,sha256=
|
|
92
|
-
klaude_code/llm/openrouter/input.py,sha256=
|
|
90
|
+
klaude_code/llm/openrouter/client.py,sha256=oq8VPmehAdSK9wsnKCNDRmkicEbeZ4sjy7bPfuWBNPc,9101
|
|
91
|
+
klaude_code/llm/openrouter/input.py,sha256=7FEKVFmLEyMqXPmg09M3lUKHJsDvIW5yofXg_til4lI,5921
|
|
93
92
|
klaude_code/llm/openrouter/reasoning_handler.py,sha256=TYIHdwMopi8DVqOpeN3vpyp-GcWOZgTeRnT5QvlK70U,8100
|
|
94
|
-
klaude_code/llm/registry.py,sha256=
|
|
93
|
+
klaude_code/llm/registry.py,sha256=KBKSelBLlGooInpzfVztN6OZqqfc0WzmB-cT8lE5fw8,686
|
|
95
94
|
klaude_code/llm/responses/__init__.py,sha256=WsiyvnNiIytaYcaAqNiB8GI-5zcpjjeODPbMlteeFjA,67
|
|
96
|
-
klaude_code/llm/responses/client.py,sha256=
|
|
95
|
+
klaude_code/llm/responses/client.py,sha256=laNTjJ7WJ8hooqZ55XPfAkrurKKryMJTx4xz0AzG_6g,10663
|
|
97
96
|
klaude_code/llm/responses/input.py,sha256=NtJhWyzg6XzHKuplgvta0ubzqA1u33gfgjL7X6xNeIw,6011
|
|
97
|
+
klaude_code/llm/usage.py,sha256=zDW47J-sxHhRJqDZihXeW2eyxpZS6F39qLsB8K0cua0,4240
|
|
98
98
|
klaude_code/protocol/__init__.py,sha256=aGUgzhYqvhuT3Mk2vj7lrHGriH4h9TSbqV1RsRFAZjQ,194
|
|
99
|
-
klaude_code/protocol/commands.py,sha256=
|
|
99
|
+
klaude_code/protocol/commands.py,sha256=zoqyBSpFZI8q8LP3rlr1mR-ekCufx-DfPGbzqsgx7X8,544
|
|
100
100
|
klaude_code/protocol/events.py,sha256=Pw8lY7rJLwk-FjKWtX8C_-Op7p0KWLaI-PH1_U7Uoyg,3290
|
|
101
|
-
klaude_code/protocol/llm_param.py,sha256=
|
|
102
|
-
klaude_code/protocol/model.py,sha256=
|
|
103
|
-
klaude_code/protocol/op.py,sha256=
|
|
104
|
-
klaude_code/protocol/
|
|
101
|
+
klaude_code/protocol/llm_param.py,sha256=8_B8e83iPQs62CyVicTKlEKWBoOmRMlOOWkKBK__R58,4337
|
|
102
|
+
klaude_code/protocol/model.py,sha256=op7xqxF8S8L1xwtI4-DWnZgUVW-9q0OUlTc_-suzuY8,7755
|
|
103
|
+
klaude_code/protocol/op.py,sha256=rkPvDRsOgPyibMI1n0pDO7ghFWJBfDGas9BnACtmfO4,2654
|
|
104
|
+
klaude_code/protocol/op_handler.py,sha256=_lnv3-RxKkrTfGTNBlQ23gbHJBEtMLC8O48SYWDtPjE,843
|
|
105
|
+
klaude_code/protocol/sub_agent.py,sha256=rD4nDX3jBp1HIseQTjd83I4VJ_fFcJ9NzkKCWO6JGsk,13351
|
|
106
|
+
klaude_code/protocol/tools.py,sha256=hkjVirnQqGTJS46IWvVKXWR4usPPUgDZDnm34LzAVSc,348
|
|
105
107
|
klaude_code/session/__init__.py,sha256=oXcDA5w-gJCbzmlF8yuWy3ezIW9DgFBNUs-gJHUJ-Rc,121
|
|
106
|
-
klaude_code/session/export.py,sha256=
|
|
108
|
+
klaude_code/session/export.py,sha256=NDUZwjV6niQcZk2H4IRv9REviDGmw8ZmvGqko6TTjbA,23675
|
|
107
109
|
klaude_code/session/selector.py,sha256=HTboyzih7V8zbZoSsArJ-GVC1EnXTGocHJwFmZfbeSg,2567
|
|
108
|
-
klaude_code/session/session.py,sha256=
|
|
109
|
-
klaude_code/session/templates/export_session.html,sha256=
|
|
110
|
+
klaude_code/session/session.py,sha256=KLE3QUNvt8d7Zu_Mj2x6rdHygzsUtLsvMzQbsiIOrKg,19195
|
|
111
|
+
klaude_code/session/templates/export_session.html,sha256=obRJtqmGEkSu2urixX4AeYlPTSEr9788omU---3PvkU,40850
|
|
110
112
|
klaude_code/trace/__init__.py,sha256=B-S4qdCj8W88AaC_gVmhTaejH6eLYClBVh2Q6aGAVBk,184
|
|
111
113
|
klaude_code/trace/log.py,sha256=0K0uek2KWq0zkUZijcO-TBM6STLe-h_8IIW0lx7V7ZA,4865
|
|
112
|
-
klaude_code/ui/__init__.py,sha256=
|
|
114
|
+
klaude_code/ui/__init__.py,sha256=AL1Ro0u8ObNPMj4sci_U4zakG7IpnI3bie-C63E2QPI,2873
|
|
113
115
|
klaude_code/ui/core/__init__.py,sha256=2NakrTDcxem5D0atyEY_Rxv1BbKCeZweF63L6AAq6r8,23
|
|
114
116
|
klaude_code/ui/core/display.py,sha256=NwFQ9oKi8i3T5EsYDRrTpGBr3BZI0Ggns37JuQEOH54,3540
|
|
115
117
|
klaude_code/ui/core/input.py,sha256=jyu2wJWvZT7t-icoa1oLO5jfr4WLZ8TReYUwGR15ha0,2571
|
|
@@ -118,32 +120,32 @@ klaude_code/ui/modes/__init__.py,sha256=ByDPbyYYU4o5kdnEes3b1VEV173RI9XAXyzkFbrA
|
|
|
118
120
|
klaude_code/ui/modes/debug/__init__.py,sha256=1-1tAk7FtENdYzExSttYdHiJ-qH3DIQ5yYJ51ms2uSg,13
|
|
119
121
|
klaude_code/ui/modes/debug/display.py,sha256=11I-JN9OEz2zBIqhEXctSUaDO1Z0nT_cG8R78jIBftk,1067
|
|
120
122
|
klaude_code/ui/modes/exec/__init__.py,sha256=RsYa-DmDJj6g7iXb4H9mm2_Cu-KDQOD10RJd3yhVf_k,12
|
|
121
|
-
klaude_code/ui/modes/exec/display.py,sha256=
|
|
123
|
+
klaude_code/ui/modes/exec/display.py,sha256=m2kkgaUoGD9rEVUmcm7Vs_PyAI2iruKCJYRhANjSsKo,1965
|
|
122
124
|
klaude_code/ui/modes/repl/__init__.py,sha256=WlSaybzk2M3Dngf8mJZWr5vx-yJpeph7lTb5Nm9fMRo,1635
|
|
123
125
|
klaude_code/ui/modes/repl/clipboard.py,sha256=_WVLgv-4mprERmcw7iRYTunrSUU51-oojp_hFCM3gVk,5117
|
|
124
126
|
klaude_code/ui/modes/repl/completers.py,sha256=-cuExsWHKLrao0Rz04AF4Th4M5b7PjmyE-5TzN_b0c0,16796
|
|
125
127
|
klaude_code/ui/modes/repl/display.py,sha256=v-Jxe7MWpOCEsx9FFEzqKaIg0jLS7ZU9bevooBjxxEQ,2242
|
|
126
|
-
klaude_code/ui/modes/repl/event_handler.py,sha256=
|
|
128
|
+
klaude_code/ui/modes/repl/event_handler.py,sha256=hgneJ_s5OvJTo7417pbNNRmA0uxOPgHbDaJbszrY5-c,16107
|
|
127
129
|
klaude_code/ui/modes/repl/input_prompt_toolkit.py,sha256=wwXTQ_ZP70y_SgIQenttY82aBZDsRYhxerEqm46gpOM,7592
|
|
128
130
|
klaude_code/ui/modes/repl/key_bindings.py,sha256=Px-QdRHkzvb2fDGg5d3JHic5ieiGiPcXorPJ5bAM8dI,7801
|
|
129
131
|
klaude_code/ui/modes/repl/renderer.py,sha256=o1QubSm9lej-bVZ1G3ie-5qRxgPMDUo42kC9dTZRkvU,11893
|
|
130
132
|
klaude_code/ui/renderers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
131
133
|
klaude_code/ui/renderers/assistant.py,sha256=Dxy6v4pX28RyWhnrjBteY8_NvDIi_jQa-j0mWt-eqWY,569
|
|
132
134
|
klaude_code/ui/renderers/common.py,sha256=TPH7LCbeJGqB8ArTsVitqJHEyOxHU6nwnRtvF04nLJ4,184
|
|
133
|
-
klaude_code/ui/renderers/developer.py,sha256
|
|
135
|
+
klaude_code/ui/renderers/developer.py,sha256=-pyy3Fj3M-Agsv3YsqGa6mMru1IoEQa40n6YkLJ4fqs,6019
|
|
134
136
|
klaude_code/ui/renderers/diffs.py,sha256=P--aLjvZy4z77FDx6uM9LlIYVjYlyZwj0MncdJTO2AA,7691
|
|
135
137
|
klaude_code/ui/renderers/errors.py,sha256=c_fbnoNOnvuI3Bb24IujwV8Mpes-qWS_xCWfAcBvg6A,517
|
|
136
|
-
klaude_code/ui/renderers/metadata.py,sha256=
|
|
137
|
-
klaude_code/ui/renderers/sub_agent.py,sha256=
|
|
138
|
+
klaude_code/ui/renderers/metadata.py,sha256=KSF6z4LHM_eBtaSPTLSIMK7GI-1MU6FUHaT2Hv4z8tk,6985
|
|
139
|
+
klaude_code/ui/renderers/sub_agent.py,sha256=3cyn95pu4IniOJyWW4vfQ-X72iLufQ3LT9CkAQMuF4k,2686
|
|
138
140
|
klaude_code/ui/renderers/thinking.py,sha256=jzDfvYuwpafndmBMMb6UumGxur9iFi_X0LYIo08eDlw,1179
|
|
139
|
-
klaude_code/ui/renderers/tools.py,sha256=
|
|
140
|
-
klaude_code/ui/renderers/user_input.py,sha256=
|
|
141
|
+
klaude_code/ui/renderers/tools.py,sha256=0Ekh5p7kwUYCuPfVrU-OAoLptt6Onx_jE9awBfxCm3I,20426
|
|
142
|
+
klaude_code/ui/renderers/user_input.py,sha256=pPjtTBRtG-sJo_ZSSmE7zmQFZFm7xhwP4g1t81e86iI,2074
|
|
141
143
|
klaude_code/ui/rich/__init__.py,sha256=olvMm2SteyKioOqUJbEoav2TsDr_mtKqkSaifNumjwc,27
|
|
142
144
|
klaude_code/ui/rich/live.py,sha256=Uid0QAZG7mHb4KrCF8p9c9n1nHLHzW75xSqcLZ4bLWY,2098
|
|
143
145
|
klaude_code/ui/rich/markdown.py,sha256=hvL0uvMxUBi7II-Jizn9U92mk4flJpEh_xJkxDQhEK8,11425
|
|
144
146
|
klaude_code/ui/rich/quote.py,sha256=tZcxN73SfDBHF_qk0Jkh9gWBqPBn8VLp9RF36YRdKEM,1123
|
|
145
147
|
klaude_code/ui/rich/searchable_text.py,sha256=Adr2EFewX1UInypz-vMOUgZP9gk3Zk8_d2utWhV3K90,2452
|
|
146
|
-
klaude_code/ui/rich/status.py,sha256=
|
|
148
|
+
klaude_code/ui/rich/status.py,sha256=sHTenGYERGiLwnkwdGFjFw9WDbbnMSPTKeEJiSYYNaU,8503
|
|
147
149
|
klaude_code/ui/rich/theme.py,sha256=4XCP1v1Q7GubUdBaNIuVSLusiIRGffpUS4e6kSwf24g,10046
|
|
148
150
|
klaude_code/ui/terminal/__init__.py,sha256=33AbEwVH3G-oJSYL3QDlnbjoVj-uH_C0p09Zr71Z7Fw,21
|
|
149
151
|
klaude_code/ui/terminal/color.py,sha256=M-i09DVlLAhAyhQjfeAi7OipoGi1p_OVkaZxeRfykY0,7135
|
|
@@ -154,7 +156,7 @@ klaude_code/ui/utils/__init__.py,sha256=YEsCLjbCPaPza-UXTPUMTJTrc9BmNBUP5CbFWlsh
|
|
|
154
156
|
klaude_code/ui/utils/common.py,sha256=xzw-Mgj0agxrf22QxpH7YzVIpkMXIRY6SgXWtLYF0yU,2881
|
|
155
157
|
klaude_code/ui/utils/debouncer.py,sha256=TFF1z7B7-FxONEigkYohhShDlqo4cOcqydE9zz7JBHc,1270
|
|
156
158
|
klaude_code/version.py,sha256=QDgEqSFhyTSiABQFQc9VfujMPQcdjgoCaYTQsr94x0Q,4752
|
|
157
|
-
klaude_code-1.2.
|
|
158
|
-
klaude_code-1.2.
|
|
159
|
-
klaude_code-1.2.
|
|
160
|
-
klaude_code-1.2.
|
|
159
|
+
klaude_code-1.2.4.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
|
|
160
|
+
klaude_code-1.2.4.dist-info/entry_points.txt,sha256=7CWKjolvs6dZiYHpelhA_FRJ-sVDh43eu3iWuOhKc_w,53
|
|
161
|
+
klaude_code-1.2.4.dist-info/METADATA,sha256=O_BGmrEiCeeUj6RdP0wUe-zbPATYRKWa5fx2HJHk9JY,5140
|
|
162
|
+
klaude_code-1.2.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|