klaude-code 2.10.2__py3-none-any.whl → 2.10.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.
Files changed (63) hide show
  1. klaude_code/auth/AGENTS.md +4 -24
  2. klaude_code/auth/__init__.py +1 -17
  3. klaude_code/cli/auth_cmd.py +3 -53
  4. klaude_code/cli/list_model.py +0 -50
  5. klaude_code/config/assets/builtin_config.yaml +7 -35
  6. klaude_code/config/config.py +5 -42
  7. klaude_code/const.py +5 -2
  8. klaude_code/core/agent_profile.py +2 -10
  9. klaude_code/core/backtrack/__init__.py +3 -0
  10. klaude_code/core/backtrack/manager.py +48 -0
  11. klaude_code/core/memory.py +25 -9
  12. klaude_code/core/task.py +53 -7
  13. klaude_code/core/tool/__init__.py +2 -0
  14. klaude_code/core/tool/backtrack/__init__.py +3 -0
  15. klaude_code/core/tool/backtrack/backtrack_tool.md +17 -0
  16. klaude_code/core/tool/backtrack/backtrack_tool.py +65 -0
  17. klaude_code/core/tool/context.py +5 -0
  18. klaude_code/core/turn.py +3 -0
  19. klaude_code/llm/anthropic/input.py +28 -4
  20. klaude_code/llm/input_common.py +70 -1
  21. klaude_code/llm/openai_compatible/input.py +5 -2
  22. klaude_code/llm/openrouter/input.py +5 -2
  23. klaude_code/llm/registry.py +0 -1
  24. klaude_code/protocol/events.py +10 -0
  25. klaude_code/protocol/llm_param.py +0 -1
  26. klaude_code/protocol/message.py +10 -1
  27. klaude_code/protocol/tools.py +1 -0
  28. klaude_code/session/session.py +111 -2
  29. klaude_code/session/store.py +2 -0
  30. klaude_code/skill/assets/executing-plans/SKILL.md +84 -0
  31. klaude_code/skill/assets/writing-plans/SKILL.md +116 -0
  32. klaude_code/tui/commands.py +15 -0
  33. klaude_code/tui/components/developer.py +1 -1
  34. klaude_code/tui/components/errors.py +2 -4
  35. klaude_code/tui/components/metadata.py +5 -10
  36. klaude_code/tui/components/rich/markdown.py +5 -1
  37. klaude_code/tui/components/rich/status.py +7 -76
  38. klaude_code/tui/components/rich/theme.py +12 -2
  39. klaude_code/tui/components/tools.py +31 -18
  40. klaude_code/tui/components/user_input.py +1 -1
  41. klaude_code/tui/display.py +4 -0
  42. klaude_code/tui/input/completers.py +51 -17
  43. klaude_code/tui/input/images.py +127 -0
  44. klaude_code/tui/input/prompt_toolkit.py +16 -2
  45. klaude_code/tui/machine.py +26 -8
  46. klaude_code/tui/renderer.py +97 -0
  47. klaude_code/tui/runner.py +7 -2
  48. klaude_code/tui/terminal/image.py +28 -12
  49. klaude_code/ui/terminal/title.py +8 -3
  50. {klaude_code-2.10.2.dist-info → klaude_code-2.10.4.dist-info}/METADATA +1 -1
  51. {klaude_code-2.10.2.dist-info → klaude_code-2.10.4.dist-info}/RECORD +53 -56
  52. klaude_code/auth/antigravity/__init__.py +0 -20
  53. klaude_code/auth/antigravity/exceptions.py +0 -17
  54. klaude_code/auth/antigravity/oauth.py +0 -315
  55. klaude_code/auth/antigravity/pkce.py +0 -25
  56. klaude_code/auth/antigravity/token_manager.py +0 -27
  57. klaude_code/core/prompts/prompt-antigravity.md +0 -80
  58. klaude_code/llm/antigravity/__init__.py +0 -3
  59. klaude_code/llm/antigravity/client.py +0 -558
  60. klaude_code/llm/antigravity/input.py +0 -268
  61. klaude_code/skill/assets/create-plan/SKILL.md +0 -74
  62. {klaude_code-2.10.2.dist-info → klaude_code-2.10.4.dist-info}/WHEEL +0 -0
  63. {klaude_code-2.10.2.dist-info → klaude_code-2.10.4.dist-info}/entry_points.txt +0 -0
@@ -14,19 +14,25 @@ _CHUNK_SIZE = 4096
14
14
  # Max columns for image display
15
15
  _MAX_COLS = 80
16
16
 
17
+ # Max rows for image display
18
+ _MAX_ROWS = 35
19
+
17
20
  # Image formats that need conversion to PNG
18
21
  _NEEDS_CONVERSION = {".jpg", ".jpeg", ".gif", ".bmp", ".webp", ".tiff", ".tif"}
19
22
 
20
- # Approximate pixels per terminal column (typical for most terminals)
23
+ # Approximate pixels per terminal cell (typical for most terminals)
21
24
  _PIXELS_PER_COL = 9
25
+ _PIXELS_PER_ROW = 18
22
26
 
23
27
 
24
- def _get_png_width(data: bytes) -> int | None:
25
- """Extract width from PNG header (IHDR chunk)."""
26
- # PNG signature (8 bytes) + IHDR length (4 bytes) + "IHDR" (4 bytes) + width (4 bytes)
27
- if len(data) < 24 or data[:8] != b"\x89PNG\r\n\x1a\n":
28
+ def _get_png_dimensions(data: bytes) -> tuple[int, int] | None:
29
+ """Extract width and height from PNG header (IHDR chunk)."""
30
+ # PNG signature (8 bytes) + IHDR length (4 bytes) + "IHDR" (4 bytes) + width (4 bytes) + height (4 bytes)
31
+ if len(data) < 28 or data[:8] != b"\x89PNG\r\n\x1a\n":
28
32
  return None
29
- return int.from_bytes(data[16:20], "big")
33
+ width = int.from_bytes(data[16:20], "big")
34
+ height = int.from_bytes(data[20:24], "big")
35
+ return width, height
30
36
 
31
37
 
32
38
  def _convert_to_png(path: Path) -> bytes | None:
@@ -76,16 +82,26 @@ def print_kitty_image(file_path: str | Path, *, file: IO[str] | None = None) ->
76
82
  term_size = shutil.get_terminal_size()
77
83
  target_cols = min(_MAX_COLS, term_size.columns)
78
84
 
79
- # Only set column width if image is wider than target, to avoid upscaling small images
80
85
  size_param = ""
81
- img_width = _get_png_width(data)
82
- if img_width is not None:
86
+ dimensions = _get_png_dimensions(data)
87
+ if dimensions is not None:
88
+ img_width, img_height = dimensions
83
89
  img_cols = img_width // _PIXELS_PER_COL
84
- if img_cols > target_cols:
90
+ img_rows = img_height // _PIXELS_PER_ROW
91
+ exceeds_width = img_cols > target_cols
92
+ exceeds_height = img_rows > _MAX_ROWS
93
+ if exceeds_width and exceeds_height:
94
+ # Both exceed: use the more constrained dimension to preserve aspect ratio
95
+ width_scale = target_cols / img_cols
96
+ height_scale = _MAX_ROWS / img_rows
97
+ size_param = f"c={target_cols}" if width_scale < height_scale else f"r={_MAX_ROWS}"
98
+ elif exceeds_width:
85
99
  size_param = f"c={target_cols}"
100
+ elif exceeds_height:
101
+ size_param = f"r={_MAX_ROWS}"
86
102
  else:
87
- # Fallback: always constrain if we can't determine image size
88
- size_param = f"c={target_cols}"
103
+ # Fallback: constrain by height since we can't determine image size
104
+ size_param = f"r={_MAX_ROWS}"
89
105
  print("", file=out)
90
106
  _write_kitty_graphics(out, encoded, size_param=size_param)
91
107
  print("", file=out)
@@ -22,12 +22,17 @@ def set_terminal_title(title: str) -> None:
22
22
  stream.flush()
23
23
 
24
24
 
25
- def update_terminal_title(model_name: str | None = None) -> None:
25
+ def update_terminal_title(model_name: str | None = None, *, prefix: str | None = None) -> None:
26
26
  """Update terminal title with folder name and optional model name."""
27
27
  folder_name = os.path.basename(os.getcwd())
28
28
  if model_name:
29
29
  # Strip provider suffix (e.g., opus@openrouter -> opus)
30
30
  model_alias = model_name.split("@")[0]
31
- set_terminal_title(f"klaude [{model_alias}] · {folder_name}")
31
+ title = f"klaude [{model_alias}] · {folder_name}"
32
32
  else:
33
- set_terminal_title(f"klaude · {folder_name}")
33
+ title = f"klaude · {folder_name}"
34
+
35
+ if prefix:
36
+ title = f"{prefix} {title}"
37
+
38
+ set_terminal_title(title)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: klaude-code
3
- Version: 2.10.2
3
+ Version: 2.10.4
4
4
  Summary: Minimal code agent CLI
5
5
  Requires-Dist: anthropic>=0.66.0
6
6
  Requires-Dist: chardet>=5.2.0
@@ -2,13 +2,8 @@ klaude_code/.DS_Store,sha256=cLWFbSgdN0bXEd3_tz93BJSposEPafUBqSr7t-3lPbA,6148
2
2
  klaude_code/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  klaude_code/app/__init__.py,sha256=7mgWpN9SFDqe8AW44bBn9M19nVsBcZURrsGB_8l2hrU,264
4
4
  klaude_code/app/runtime.py,sha256=d06L6O0uyExL-_qEVSKqekk_tUBr6hAzV9jT8As6eSY,6180
5
- klaude_code/auth/AGENTS.md,sha256=5ObIfgMfUDuNBKykK6kikRSEvCxDt5fO0-ySVaLVDW0,8467
6
- klaude_code/auth/__init__.py,sha256=LhGS2P80Ci_DeaqxVueknDIj-Ded4OFQdNmFHekXNY8,1106
7
- klaude_code/auth/antigravity/__init__.py,sha256=Lv37yKg7CLzoQss2Jho-jtrGiU-zUCa7W1w3eDWmR0o,610
8
- klaude_code/auth/antigravity/exceptions.py,sha256=jKtlTtoHzoqGARYmLjFl0Sxms9ySj_raPAaqEc4tcVs,448
9
- klaude_code/auth/antigravity/oauth.py,sha256=2ghPKXhlLF-iaEmsoJoVQZ1tkK75O7XdJuH1o_l0SDw,11101
10
- klaude_code/auth/antigravity/pkce.py,sha256=SfSLyIkiO9s0ROLDljz9Vu5GCxYP42U1b1nvWbXnkSI,664
11
- klaude_code/auth/antigravity/token_manager.py,sha256=Osab3ppyzvndTf1B8FBrrW3XayrhwOKkGpsQBTEWBnI,752
5
+ klaude_code/auth/AGENTS.md,sha256=OUjHxPk6H0cp3NeH4wLE51fWkBj_YJp1a8of_p2-sLE,8014
6
+ klaude_code/auth/__init__.py,sha256=NluhqwoReX6tynV7M4DXEKuIojgx6yAlZ0S6igvZtw8,653
12
7
  klaude_code/auth/base.py,sha256=j6sc8XvP2kXRHOfEfr_nKyp94QPVWJsJDN0lMYLsg2Q,5178
13
8
  klaude_code/auth/claude/__init__.py,sha256=h1oyqEttDM5TAF6w1Stk6YXYMsbATjODCsi6GhU4zAA,218
14
9
  klaude_code/auth/claude/exceptions.py,sha256=_3KbC6W7_gWpxTsSqI0Bxk5Q_v3Fad6dBjweEsoFun4,246
@@ -21,25 +16,27 @@ klaude_code/auth/codex/oauth.py,sha256=y1qpZ-6GK4wtxj7O6hFj5SWX61SFuS_buv0j_Wt46
21
16
  klaude_code/auth/codex/token_manager.py,sha256=I6tSp6jiBAe0mrYC94F7FfaP3KWf1iwcaG1SBxyVX-g,669
22
17
  klaude_code/auth/env.py,sha256=QLqV2QjVCAAPSaH2xm2W0KvQ-RSbRxk_Y_FSH_MGDNY,2550
23
18
  klaude_code/cli/__init__.py,sha256=YzlAoWAr5rx5oe6B_4zPxRFS4QaZauuy1AFwampP5fg,45
24
- klaude_code/cli/auth_cmd.py,sha256=OwU7aOgSc7lZusQuVK6P6X0flKWK6cU677ED3YUja9s,11100
19
+ klaude_code/cli/auth_cmd.py,sha256=mgnFav918Mx5KyXNX3dAFC3Ps-CW4Ym3LYHK_ro6nBs,8721
25
20
  klaude_code/cli/config_cmd.py,sha256=7BmZpKeiO24mKKLKGO46WvSQzSaNwuZ3KtCV4GH-Yh0,3306
26
21
  klaude_code/cli/cost_cmd.py,sha256=PofksXj7ZmalaRfxAHCxtUBxEc7tfI-sIER_9GRA1CU,16604
27
22
  klaude_code/cli/debug.py,sha256=vEHOjObhrIHDAXk3q6cOgeW2NZxCx5AWM1rJ6FiJnVU,1901
28
- klaude_code/cli/list_model.py,sha256=GYznb88rvubnUCMvW-D1r3aGVWQB4-DzvsTjBSHjOUw,16168
23
+ klaude_code/cli/list_model.py,sha256=5Yra8N0uI_O332BDMlaUKL9MHbiR7NQGVuZOO2wIHAM,14277
29
24
  klaude_code/cli/main.py,sha256=bQijkLDTYtjFUdU1t-dGCzOilo7mcotIQefleaF9or8,13072
30
25
  klaude_code/cli/self_update.py,sha256=1xdG9ifvRZQDSx6RAtSSgXmw9hZNXMLvqC2zu4bS-GY,2622
31
26
  klaude_code/config/__init__.py,sha256=Qe1BeMekBfO2-Zd30x33lB70hdM1QQZGrp4DbWSQ-II,353
32
27
  klaude_code/config/assets/__init__.py,sha256=uMUfmXT3I-gYiI-HVr1DrE60mx5cY1o8V7SYuGqOmvY,32
33
- klaude_code/config/assets/builtin_config.yaml,sha256=EYGgBMAVtgUKGHZcfkm4sCfSB1-fBx83q10MGVnNz8I,9121
28
+ klaude_code/config/assets/builtin_config.yaml,sha256=Bkr_GzsAk7_czsA8ag9Fp4nr8gr9rYgQuv8zwvX-OVI,8521
34
29
  klaude_code/config/builtin_config.py,sha256=OG5VERUHo3tSojgFXfNDV6pAHNOh3kO-xFHpvTr-cpc,1786
35
- klaude_code/config/config.py,sha256=otBvsUkvI-2fpZzx9fO6SPnCek7FI7kufvAnGIQqTz8,27084
30
+ klaude_code/config/config.py,sha256=yxS7szRLelwIOpjGRUBWAowZgBcHB6HAayPrfrY-qnA,25601
36
31
  klaude_code/config/model_matcher.py,sha256=3IlLU5h3NDh_bURbCW-PV027C3irG3hyitwj1cj99Ig,6179
37
32
  klaude_code/config/sub_agent_model_helper.py,sha256=PvYuGE0fVKn7eReHyL7Q3ReyH6_nCm7VPwEgZqcX5cI,8384
38
33
  klaude_code/config/thinking.py,sha256=5uVM0cFUJZBBsBGGdPG-tjdiNwZ-GFeWOBBWIdSPFvQ,9017
39
- klaude_code/const.py,sha256=VCK3HgZJZO6jcYz6U2rcHS7W-n4oyKYg9AC6eTB4HIQ,11575
34
+ klaude_code/const.py,sha256=WOGLb-CWPSM5iPCDnlYNB-xo8s_bw2o6PclcDXoxkBE,11651
40
35
  klaude_code/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
36
  klaude_code/core/agent.py,sha256=GrIg22nfoq1c90UHyEfU_bh46vtXTCo4bLezb-3mGNo,4120
42
- klaude_code/core/agent_profile.py,sha256=wfde6zMez5abh5O04e7BzBlbLhHwd23pn4FBijOHxQg,11231
37
+ klaude_code/core/agent_profile.py,sha256=_dnSLXxLgjTtgDYamu2DyBgyVrjzDZL-KOhmlS_ZiUI,10933
38
+ klaude_code/core/backtrack/__init__.py,sha256=hbuXEr3Wi3zIM0J7xO5hfCEYwihWnWsMLc15Mczztuk,134
39
+ klaude_code/core/backtrack/manager.py,sha256=V2AErUazyeGhW90Fyv1IDtgXUX1V7Ayg1-xS65lucrk,1792
43
40
  klaude_code/core/bash_mode.py,sha256=BUy2_uOcJ8bO89t_QCwtw6GlHt7vd1t62sN5iWk-UuQ,9250
44
41
  klaude_code/core/compaction/AGENTS.md,sha256=KZR5lxe4jVAbT5K9PxbZcHWI1UwsppbGmxIfCdHYr7Q,3684
45
42
  klaude_code/core/compaction/__init__.py,sha256=CvidYx3sX0IZAa4pifX9jrQSkg4Nib7PKrcaOHswF60,329
@@ -52,8 +49,7 @@ klaude_code/core/manager/__init__.py,sha256=hdIbpnYj6i18byiWjtJIm5l7NYYDQMvafw8f
52
49
  klaude_code/core/manager/llm_clients.py,sha256=UxI_j4_pzheBggOkNuMhx_7n2AyQq-znnWkKGd77f_s,1384
53
50
  klaude_code/core/manager/llm_clients_builder.py,sha256=O2J5-uhT6GfIzWqBfxJzotQyPR_Z46YdGCXf92C8p-E,2467
54
51
  klaude_code/core/manager/sub_agent_manager.py,sha256=sQ88o0ivWHTlaNz-FC23CiHiPXF4mLsQ0T69jPO9Hck,7797
55
- klaude_code/core/memory.py,sha256=pq4E4Urfq8bj8EFIqet98gB2Zw97NvL6CahfRi6IpMc,4957
56
- klaude_code/core/prompts/prompt-antigravity.md,sha256=OpxPKLY6S8QDJExrHTuU_snIxgvNrvT09WHj-8dWZcc,6671
52
+ klaude_code/core/memory.py,sha256=EUOLUUPoGUXdhpDkAcGMkOg5aWKqByIHEeCWuslw9J4,5597
57
53
  klaude_code/core/prompts/prompt-claude-code.md,sha256=Wcv_FZ9vmFA2LhvkLiomN9g2oAmvs6qO3FN_xeAE4XM,8359
58
54
  klaude_code/core/prompts/prompt-codex-gpt-5-2-codex.md,sha256=GA1pIIF6JuAl4P3FIW4tVJ6zL_5iZ8MY_PF0DW9hBuU,11719
59
55
  klaude_code/core/prompts/prompt-codex-gpt-5-2.md,sha256=LUPKiO1x6cWKWmetMEVGSxCE_St2yDk-SAHL0TthHmc,25798
@@ -65,9 +61,12 @@ klaude_code/core/prompts/prompt-sub-agent-image-gen.md,sha256=tXYKSzFd04OiC0dmVO
65
61
  klaude_code/core/prompts/prompt-sub-agent-web.md,sha256=xi9nyk8k0_64muL2RBMkrCdli5elXALjhKAsRO3qr-U,3627
66
62
  klaude_code/core/prompts/prompt-sub-agent.md,sha256=dmmdsOenbAOfqG6FmdR88spOLZkXmntDBs-cmZ9DN_g,897
67
63
  klaude_code/core/reminders.py,sha256=Dar0GqyOgiZiv0VzrzYOGM22ViSWJUaV12Ssdtcdjlo,21720
68
- klaude_code/core/task.py,sha256=uXNg_SxVnp6nFwDmWl8LjhG0HDv7_3P83zAV6dR2gcQ,20125
69
- klaude_code/core/tool/__init__.py,sha256=3NrBZrSTcm0rX0ube_cCXNSS59sYkaTSY4s5mxcfrH4,1436
70
- klaude_code/core/tool/context.py,sha256=lHMjbLE--WVek8gAPOvaHz4CdeRGzLXSusMyEdEU5ss,2961
64
+ klaude_code/core/task.py,sha256=6-rRnFDDDhQuRbdMI0iMKFZc6buiLH-VKsd3es89IPE,22908
65
+ klaude_code/core/tool/__init__.py,sha256=3bpgc58vW2eApsQdcdHl72VBgZlgptfFiUvgnjWkeHc,1509
66
+ klaude_code/core/tool/backtrack/__init__.py,sha256=2cOxuxVvX6MtbzA6k7dygST6FuOFfgGn_BI4Lm3pAXg,102
67
+ klaude_code/core/tool/backtrack/backtrack_tool.md,sha256=wmp-Shu6L1eV07fHNwETiLoCI5bhV2ymiGxpx-VJD8M,811
68
+ klaude_code/core/tool/backtrack/backtrack_tool.py,sha256=Pu0nkaVfLn-wNnyMwyE--Oxu-MUOR1ZjwtltoYQgywE,2593
69
+ klaude_code/core/tool/context.py,sha256=gHA25ze1CPeV2HeIZemcjShvvjujhr29l7L-s2-hvtw,3215
71
70
  klaude_code/core/tool/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
71
  klaude_code/core/tool/file/_utils.py,sha256=OG4BE9WyJqzH8ilVCL3D9yvAcHk-r-L9snd-E8gO_io,967
73
72
  klaude_code/core/tool/file/apply_patch.py,sha256=ovdSw7Lt68wVORGcmG_JzsljI2y4M0l2g0JkhMcI51w,16073
@@ -107,14 +106,11 @@ klaude_code/core/tool/web/web_fetch_tool.md,sha256=tpLnWd9miepnS1E3vUumaEHLrUoVg
107
106
  klaude_code/core/tool/web/web_fetch_tool.py,sha256=THMbzs-aHI6ST9NU0kNUtJCz9uhclDB7v8S9814dwnI,9597
108
107
  klaude_code/core/tool/web/web_search_tool.md,sha256=l5gGPx-fXHFel1zLBljm8isy9pwEYXGrq5cFzzw1VBw,1135
109
108
  klaude_code/core/tool/web/web_search_tool.py,sha256=ljkgXxP6L5nJnbYB_IOUtPUN9zA_h5hBD55lhNAja08,4293
110
- klaude_code/core/turn.py,sha256=TK4-ZGmRo_qa21XRklGfEMnfhFGR20wnKjnvlf31HBQ,18882
109
+ klaude_code/core/turn.py,sha256=3tgxRpvt7eK_A1g2NVDq351nwTm3EOKyw6pf0grE0T8,19045
111
110
  klaude_code/llm/__init__.py,sha256=b4AsqnrMIs0a5qR_ti6rZcHwFzAReTwOW96EqozEoSo,287
112
111
  klaude_code/llm/anthropic/__init__.py,sha256=PWETvaeNAAX3ue0ww1uRUIxTJG0RpWiutkn7MlwKxBs,67
113
112
  klaude_code/llm/anthropic/client.py,sha256=RpYw4UQnhLzAsp6i-FU7cDW4deqngdAoQaTPGnCeO5U,17346
114
- klaude_code/llm/anthropic/input.py,sha256=ObcRuQEwdiFoI7bjBzHv5bClgIYEw23bJMgHudT92C4,9923
115
- klaude_code/llm/antigravity/__init__.py,sha256=TuK_k4mJpBQVBCfhRFQvVLeGtHRU8_2wXO2lRC-OB9o,71
116
- klaude_code/llm/antigravity/client.py,sha256=XnOBw7QPNA8NRrZIdNrOD1qLrvWLyI82PL7kIolgdic,20120
117
- klaude_code/llm/antigravity/input.py,sha256=WblkpS4DxnqHLb9oXGS3uDlgbzdP4GKWmC9L2HEtRwk,9463
113
+ klaude_code/llm/anthropic/input.py,sha256=_ng3WtRWbyhmMuFDNCnJoEi-k-tEOy9ukGbzvvgZ3vQ,10819
118
114
  klaude_code/llm/bedrock_anthropic/__init__.py,sha256=NvgfmEREWgpSqlB7eS6RP-TGEZd2asMIKmI_mXenhSc,96
119
115
  klaude_code/llm/bedrock_anthropic/client.py,sha256=mETQrhGDt4uEDXO2c3y5Iao9RngygFSF6MOtwqAy1tk,2279
120
116
  klaude_code/llm/claude/__init__.py,sha256=8VCvvEjQQI-RpAMfHCl5ct4zlDU_jgbAuLOc9p9u-B4,61
@@ -124,31 +120,31 @@ klaude_code/llm/google/__init__.py,sha256=tQtf_mh_mC3E4S9XAsnhS2JZXGRnYUsBKF0jpX
124
120
  klaude_code/llm/google/client.py,sha256=9yf49q4-I-OSbUuHreBSiwqxXnRH7718bDpSyENfPUY,21330
125
121
  klaude_code/llm/google/input.py,sha256=tBOX2R9_26EVnNwe-QF77nRcALwu3xGlTNjGgwo2Sx4,9340
126
122
  klaude_code/llm/image.py,sha256=TJzduNtSmoJLizTUDo0EjbovqOeaXkvwnRyMfuzVVUQ,4512
127
- klaude_code/llm/input_common.py,sha256=htV8YHDlQ7fx2qW_D9e_BgxWlyBmZwAtNxnM15uj9gQ,7563
123
+ klaude_code/llm/input_common.py,sha256=hE_Ncnjv9ZK_ct8TzIXe9g1-IgtCuGL6lgYeKKX0ZeI,10437
128
124
  klaude_code/llm/json_stable.py,sha256=FrgJbJ33YrAkzl5iPOWLolFjYFZMuT97sbOegeXN7GE,1288
129
125
  klaude_code/llm/openai_codex/__init__.py,sha256=Dx2MxrZEHQZ8gsJmM05dE4qqak4F0zjwfXd5v8pIXaE,139
130
126
  klaude_code/llm/openai_codex/client.py,sha256=wIOfCsB1F_b9D6ymq-nyCIXAuuBTz6-CMUxD8NiuvkQ,5403
131
127
  klaude_code/llm/openai_compatible/__init__.py,sha256=ACGpnki7k53mMcCl591aw99pm9jZOZk0ghr7atOfNps,81
132
128
  klaude_code/llm/openai_compatible/client.py,sha256=oiRmqiqNJ-clLk6pK1LTOAyx1svmNBg1sNuT8uN3l5g,4717
133
- klaude_code/llm/openai_compatible/input.py,sha256=UfEu2c866QuVMFTY3GEPhuKV7QcCgxBwNYqGT88E_8E,2834
129
+ klaude_code/llm/openai_compatible/input.py,sha256=bd4yWGfkPtjDRaQy_VY3jLkS-Hlk_poBmSafMD-d1sM,3048
134
130
  klaude_code/llm/openai_compatible/stream.py,sha256=lG8iBXGmIyBfOrVbb1VTTit-NXD4TiibVk7oBfP4xJU,17036
135
131
  klaude_code/llm/openai_responses/__init__.py,sha256=WsiyvnNiIytaYcaAqNiB8GI-5zcpjjeODPbMlteeFjA,67
136
132
  klaude_code/llm/openai_responses/client.py,sha256=qmQNcHZUBzvjQZZQkWh2f3oUYC9Lbx_dZD7KwnXbPPI,16362
137
133
  klaude_code/llm/openai_responses/input.py,sha256=eEeSHlGYY5VYGpj2DIVm8qjH2cXo-JaODT_SjFtS6Nw,9264
138
134
  klaude_code/llm/openrouter/__init__.py,sha256=_As8lHjwj6vapQhLorZttTpukk5ZiCdhFdGT38_ASPo,69
139
135
  klaude_code/llm/openrouter/client.py,sha256=pBQG3JIftEyDpWNo_rT7cDaTAmeUxTktyRRTcZNq9Hg,5858
140
- klaude_code/llm/openrouter/input.py,sha256=VqKPWCUb-BlFwNs1uldDD_dGPJzwskG301uULaqm958,6363
136
+ klaude_code/llm/openrouter/input.py,sha256=Zhijo6-WbuuNcR1Hmxh9Y9x-yGkJLQXOLGzdj7-u-10,6577
141
137
  klaude_code/llm/openrouter/reasoning.py,sha256=u7ccfnGxJ4Ws8P3X5FW91d8HXie29JjeWz0hZ1r0oFg,3320
142
138
  klaude_code/llm/partial_message.py,sha256=-sjlpV-et4ViBtBpdtihK5QBjAlwS47-mBpVbRQPP3s,142
143
- klaude_code/llm/registry.py,sha256=oYObtCgWQxL2eFfmvpYLqMhKvYD3JoszzpvuC08sRQQ,2177
139
+ klaude_code/llm/registry.py,sha256=8iSq6YFYlXuP7Iwy-T4Pq6zyGIAKlivRYa_x_q8L5h4,2101
144
140
  klaude_code/llm/stream_parts.py,sha256=jeu_pUAQ8oHp-Xie9cIhMGDPrOKG_T6bdcMHtiq2ol0,2936
145
141
  klaude_code/llm/usage.py,sha256=q9c7cFJlXUVvw0Rqjy31bEDwBMz9o_bHt3Lssgfbfm4,5780
146
142
  klaude_code/log.py,sha256=i9iVCmp4dxqxqH_7XPMVjZt8umiH1KPhRbX4Ao93mSM,11382
147
143
  klaude_code/protocol/__init__.py,sha256=TTPnuyQ22RypoTGKdoiS7ZEgHzinuaRHUrauzHDh7Xo,246
148
144
  klaude_code/protocol/commands.py,sha256=sy6z48I3q8HHL91bqou9n0TZZ91P34pVmtNHqcHArBo,759
149
- klaude_code/protocol/events.py,sha256=Xu2i81OgfuCCeyTBecVy_CoKsHpuo3R_aOyW0vS51KM,5273
150
- klaude_code/protocol/llm_param.py,sha256=MzKiZBKK_uTvJsmbaXJd7EEmQ9dedLEtVsSJUn2jbjg,5223
151
- klaude_code/protocol/message.py,sha256=RVU67DdIcgvYmEUuexOaYuy-IH8_92MGLyFxUstoIWw,7106
145
+ klaude_code/protocol/events.py,sha256=bMs-nh5RfdB19RVb5w_7UnscQuOaIWVnlrRh-Elzpg0,5476
146
+ klaude_code/protocol/llm_param.py,sha256=mFdAcbzJrIFB4T2QCbLyeZxZQ_38lUNCclEZIH3eWtQ,5191
147
+ klaude_code/protocol/message.py,sha256=rsjDvbXT_uLYTJ05sn9bHPmk3NqffLQ98dpyFcaItnU,7337
152
148
  klaude_code/protocol/model.py,sha256=iSx14YBbHokc0wR-RBs5bUBz3og95wgJbPV35OOimNk,10534
153
149
  klaude_code/protocol/op.py,sha256=eV144aS6YrviPyMLdMRr3Wpwq8dAOPsVFZ2o-fN4bhU,7644
154
150
  klaude_code/protocol/op_handler.py,sha256=8ngSwR7KKXgCoBYf9TCZlP2AvbQjbp3J3JcIKlPtwK4,2751
@@ -158,22 +154,23 @@ klaude_code/protocol/sub_agent/explore.py,sha256=GAl1aoj6afNq5WiuBuWKsxCEQ5tnbcT
158
154
  klaude_code/protocol/sub_agent/image_gen.py,sha256=HlJFODtjzAuUbolNTVariRzYR8c17Y2ZK4jPESmHPGU,1225
159
155
  klaude_code/protocol/sub_agent/task.py,sha256=D7OOmqqwExqvblJzogKMIag9_JsJIbl3ytWN0WVSNtc,599
160
156
  klaude_code/protocol/sub_agent/web.py,sha256=gvs2lE4sFByuZqoHttphR3U4WERY2_Z8rf4PMkyD7Qc,701
161
- klaude_code/protocol/tools.py,sha256=JxkhZquAcYfIUVUgCWSVuwD2JQGhvnHWQ1ata7AQslY,380
157
+ klaude_code/protocol/tools.py,sha256=RYwuFyh5FD9MQn70sJwIV-dzzkvx21ICWVUjh99Lpk8,404
162
158
  klaude_code/session/__init__.py,sha256=4sw81uQvEd3YUOOjamKk1KqGmxeb4Ic9T1Tee5zztyU,241
163
159
  klaude_code/session/codec.py,sha256=a374UZkOusn9MgFCc--yznDljK_4Qfy6yDPfhQq5_P0,1889
164
160
  klaude_code/session/export.py,sha256=EQZD8R7w3dnLpJjC6WP5yf7X6mAdjOkmwm1bMw7nftM,44922
165
161
  klaude_code/session/selector.py,sha256=snBpnz9UQCe_0K8HttSGCJECCE4YEzpWs_Fdmk2P9nI,2195
166
- klaude_code/session/session.py,sha256=AL-2oNggPf7PTnNthFdyiI233ySWdCcOqcxufkqrvwE,29373
167
- klaude_code/session/store.py,sha256=f_Ve6uMX1s-yH3jqiDWPULoLnab07QcFA04b3PD0ehE,6306
162
+ klaude_code/session/session.py,sha256=Hopzu-aX2Xbb68-lIMV_Yq4ScMjIXUwcargmxKdzL5w,33791
163
+ klaude_code/session/store.py,sha256=5Hyw8xG5I5isO0IUggKmnivN0VtbLfvXiZclqIJFpYE,6389
168
164
  klaude_code/session/templates/export_session.html,sha256=ekRt1zGePqT2lOYSPgdNlDjsOemM2r7FVB6X8nBrC00,137452
169
165
  klaude_code/session/templates/mermaid_viewer.html,sha256=2e5q0YpKpqB2FeFdH5t-BxJKtDDGrKKz8z1hmKSZ93M,30991
170
166
  klaude_code/skill/.DS_Store,sha256=zy9qIqi2YLGzlZwHNM4oAX8rDoNTg9yxdo22PJOwupg,6148
171
167
  klaude_code/skill/__init__.py,sha256=yeWeCfRGPOhT4mx_pjdo4fLondQ_Vx0edBtnFusLhls,839
172
168
  klaude_code/skill/assets/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
173
- klaude_code/skill/assets/create-plan/SKILL.md,sha256=ZAtiM2qPHcc8Z3Ongl1NgX5ythITPwyvcIqisgqWrGA,2493
174
169
  klaude_code/skill/assets/deslop/SKILL.md,sha256=1rJVgwSjd1ZB4-yZXRqH2LYD1_yzz11GVpt9ajuvADM,1404
170
+ klaude_code/skill/assets/executing-plans/SKILL.md,sha256=0Jn6Qv11GPTa-p8tUcHAj86XBJDVdoK2rNPnpXu1W1I,2550
175
171
  klaude_code/skill/assets/handoff/SKILL.md,sha256=GDHrEqWUeAQy7gGhha_y5jzjpv8C-xhk0hqMH5h59v8,1712
176
172
  klaude_code/skill/assets/skill-creator/SKILL.md,sha256=0ByoWb9ao0UKSoM5Tmz-Qe5CAPliTrVpUK0gPd9TFqo,5520
173
+ klaude_code/skill/assets/writing-plans/SKILL.md,sha256=IEbluVWqFsKI-ccpDFjyN2KN-2um1IF_rT2g-oMLRsI,3264
177
174
  klaude_code/skill/loader.py,sha256=g3MNDBq4B4_hf_d1NXf0Zhw3Xu9M2GIiaUZIN6S1ikM,8706
178
175
  klaude_code/skill/manager.py,sha256=6N1sfa0a5a7NgQgj3M_rRO2aj0vecyeBp_kWOZg211c,3452
179
176
  klaude_code/skill/system_skills.py,sha256=AmQFyUW0yNc6gkG2-SnwLMNH3M8ESNH9aPKvjD95wkc,5595
@@ -198,45 +195,45 @@ klaude_code/tui/command/resume_cmd.py,sha256=5pjxsfRHt2s_daVP1OUmPLERaZK_t_i_MWU
198
195
  klaude_code/tui/command/status_cmd.py,sha256=yALYGxyUX7iVdSRAKdG526YkqOvGV9F0CJNwk8nmzu4,5164
199
196
  klaude_code/tui/command/sub_agent_model_cmd.py,sha256=OA0Dr0az7MUPxcoYvMDHisp5sQ0UmKUvJm-BjDfG0I0,8112
200
197
  klaude_code/tui/command/thinking_cmd.py,sha256=gUQOhqtEieIMR-FUMSDj7OYEPloAC-ZSKxD1OVBn3jo,2683
201
- klaude_code/tui/commands.py,sha256=JAjhWvWUeajh8hQoPD9-iQpw2RBiJcosNd1sus3Hw2I,3825
198
+ klaude_code/tui/commands.py,sha256=zx55QzRH3EwtG5fYaqs7o20_ZbfEGMK17L5WTtrQH6Q,4166
202
199
  klaude_code/tui/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
203
200
  klaude_code/tui/components/bash_syntax.py,sha256=a8JMn6rFlJXcx7-WbsxIVwqtWQoI9krLUkj0imVC20I,7632
204
201
  klaude_code/tui/components/command_output.py,sha256=SnNiWdMAK37wd6PtfSWsLW2UutNfkpTKDbFmw2wu3LA,3688
205
202
  klaude_code/tui/components/common.py,sha256=dhUYLVVOSKxg5GCoS4eyUeKZ3E8Kpt4nqft4njuvPaI,4698
206
- klaude_code/tui/components/developer.py,sha256=m6gcnLyLoSSw3wpwYQZ_yzaT9zgXRgNzTpjZt8Yo21o,5488
203
+ klaude_code/tui/components/developer.py,sha256=jYnZs91TOZM3UAb1yjxtDQS6COytVRD_s85sMl7hnOI,5486
207
204
  klaude_code/tui/components/diffs.py,sha256=vwllnYBxC5xGjfKU3uIkCjcupr9nrjRjvvj0tg0_MQA,3085
208
- klaude_code/tui/components/errors.py,sha256=fSojNfRceB6eE7cyJHfwGt5Ru0OYp63fCJ-W6-3SSYs,799
205
+ klaude_code/tui/components/errors.py,sha256=uqxVDqZLV6-Gvk46JWPFy2dc_bXHxgg_FEwrUX71jyg,733
209
206
  klaude_code/tui/components/mermaid_viewer.py,sha256=zI1FBuX6Ionx38KqkzhOIQ9tFzd7REPbjW1iqSiNrec,3086
210
- klaude_code/tui/components/metadata.py,sha256=JzHMi3fr_YWQmachSRukBTYO3iHvPFAXaA3f2SRyD54,7286
207
+ klaude_code/tui/components/metadata.py,sha256=bkN2WOHFkNSEh5Ajup_976WvcU83lR6lNG03MaH9YYg,6944
211
208
  klaude_code/tui/components/rich/__init__.py,sha256=zEZjnHR3Fnv_sFMxwIMjoJfwDoC4GRGv3lHJzAGRq_o,236
212
209
  klaude_code/tui/components/rich/cjk_wrap.py,sha256=eMqBxftUtll7zrytUb9WtJ6naYLyax0W4KJRpGwWulM,7602
213
210
  klaude_code/tui/components/rich/code_panel.py,sha256=SOdyfHBZNB4gAWIbnN_enhHB1EWxw8Hxiafx6yjwdJo,5544
214
211
  klaude_code/tui/components/rich/live.py,sha256=xiMT6dPsxM_jaazddKrV9CMJQWwpe2t9OdjffHvo1JU,2821
215
- klaude_code/tui/components/rich/markdown.py,sha256=vas08cxz8fEU2PlTUNrgmF-zIXtFoMxP-Jefc8FSGuE,25276
212
+ klaude_code/tui/components/rich/markdown.py,sha256=8BXTyR0UMQ6Ut62HMeFPTB_8QLAvYDtk9SbGZ6H1hkY,25518
216
213
  klaude_code/tui/components/rich/quote.py,sha256=u6sBmGdp0ckaZLw_XgJk7iHW4zxnWikUaB3GX2tkhlM,5375
217
- klaude_code/tui/components/rich/status.py,sha256=hSvMwEguF2DfHH3ISR0bmDg58zAnM3CTJLcRff_rtrg,14791
218
- klaude_code/tui/components/rich/theme.py,sha256=cp7PrhxIgOLu_AjHBOf3wCZewzngOAZDFQQmiO0sAbY,17084
214
+ klaude_code/tui/components/rich/status.py,sha256=j2AONwSxhGjb4EWfs_TacIsJrAf5uHGI9ZJm9yvm9uE,12249
215
+ klaude_code/tui/components/rich/theme.py,sha256=f-Sxn8Dxro_5Fbf6WvBNrmOuath18gJnLe7paGZf7fw,17540
219
216
  klaude_code/tui/components/sub_agent.py,sha256=8XTWsTi9mfbNLMD8SZ__nZQmBf81rW-NWpuOT-sFbv8,4723
220
217
  klaude_code/tui/components/thinking.py,sha256=yVzY7BbcdDwB4XKi9i2sp3cKREirvmlMiEID74b-5_0,955
221
- klaude_code/tui/components/tools.py,sha256=MqW-_a4gtMnCR5N8APJYtN2TfSvuUdvo2WFEGm3Qa9A,27327
222
- klaude_code/tui/components/user_input.py,sha256=fYvdoc3gMyv90l2sQvSs4ha0wILu71rBAcwbzQPMMVc,3659
218
+ klaude_code/tui/components/tools.py,sha256=fDb1qxUmAJgoU2kAFmRLKZdvxWSlk6Dlqqur34xWK1U,27585
219
+ klaude_code/tui/components/user_input.py,sha256=u3i6y3aKvUv7at39eeT2mEi0cgOsrha91FH-lUsUetw,3659
223
220
  klaude_code/tui/components/welcome.py,sha256=Ahkhg0dsSqy17pKLOp_5UZWn9vysr68T3Y-jB40yWsA,5303
224
- klaude_code/tui/display.py,sha256=VbBmNjGxp6R4oLjC0FrjXkr0INWSjfXlWq1mSVFGyMU,3933
221
+ klaude_code/tui/display.py,sha256=U5gB772q3qphjSJamAhTAnJ1xJ4TNLjBNQpoWcssT8k,4102
225
222
  klaude_code/tui/input/AGENTS.md,sha256=2RBLz7H0JbUJv6OBzeadLOlGUF5EBqvtwTGBf6nZuN0,1633
226
223
  klaude_code/tui/input/__init__.py,sha256=wLbjqBrvP6fmbGtbKe9Wp12yxhse0faVLOxtoWua_1E,353
227
- klaude_code/tui/input/completers.py,sha256=MJO1nBq0V5jDbGw_o4Ab5WLVD1ns5plJRI3cIYnGfHs,33154
224
+ klaude_code/tui/input/completers.py,sha256=vs2Lq0_PIO1FszV968gJobeqptM5Jz4YCv-MpPqHakE,34559
228
225
  klaude_code/tui/input/drag_drop.py,sha256=oyKtrHCyUiGiMLEXpsDTnTnAKJ1_xrvVkrASOiG8O4g,3974
229
- klaude_code/tui/input/images.py,sha256=ft2AaOg1Figdm1t_NNoBCGdp20silYXGw-m9XKDd9GU,6996
226
+ klaude_code/tui/input/images.py,sha256=dfM_BvlQE6F8BYEr2YBNTsWKd57_Jx-2wgFtv5ZSXSk,11202
230
227
  klaude_code/tui/input/key_bindings.py,sha256=6oxWdTdklFqLDOk6ZpyKijgrnQO4B9hSqgMfT2kdjXs,30032
231
228
  klaude_code/tui/input/paste.py,sha256=kELg5jC0WdBXWHJUsEjIhZ67KCvHMbN1XzyGmevVSNM,1888
232
- klaude_code/tui/input/prompt_toolkit.py,sha256=aE1pVK1G96DWERc2APIXq4WmSPOdJDRHTgnyyZXp_u4,30663
233
- klaude_code/tui/machine.py,sha256=STwhoBw_HwpkDHDts7CrwtUN211OYaySQ0jy8r7fa08,32579
234
- klaude_code/tui/renderer.py,sha256=b59_Pr17seKOcQlHDEH4CMWKNWzdpMzmUhqUDqLvQyU,34884
235
- klaude_code/tui/runner.py,sha256=ZADAH28Iu1DU-KDCggEyvJiM_LTbN1sjPEaQsuBNTbc,13111
229
+ klaude_code/tui/input/prompt_toolkit.py,sha256=RTPDpbQynbAKicN0N_hd2Wkm9azbxI6Tuz0OqWtRKVg,31363
230
+ klaude_code/tui/machine.py,sha256=c2mfVNos7jgd1a6xEbnLHsI9rs3juV9zYoasxe1_1N0,33168
231
+ klaude_code/tui/renderer.py,sha256=ej-OjTbB6Uyq0v0ZrSPGlKDBMN7t-5bJmQ44EjLFpT0,38744
232
+ klaude_code/tui/runner.py,sha256=plTltsmg_GQzgX9WPiLsZ-sQKVwyc_79z5Ws0Gl-sqo,13277
236
233
  klaude_code/tui/terminal/__init__.py,sha256=GIMnsEcIAGT_vBHvTlWEdyNmAEpruyscUA6M_j3GQZU,1412
237
234
  klaude_code/tui/terminal/color.py,sha256=6SJR2RA8cqJINNoRz65w0HL3x9g46ydIvDOGWMeNnQU,7195
238
235
  klaude_code/tui/terminal/control.py,sha256=m2fL6uHum5Li25X2IPnI4z_oVzMpVYcSldB-r0NLLzk,4920
239
- klaude_code/tui/terminal/image.py,sha256=9sKNj9luQsRWfbshscof3s6fvzBPbadU1L1eV4oidTs,4326
236
+ klaude_code/tui/terminal/image.py,sha256=d7ocaedHZV7svnxzdaSetf7u58xGU8EWKvTMa603Q-I,5045
240
237
  klaude_code/tui/terminal/notifier.py,sha256=3nR9vzI-7m5GkkQ_iYh7t3j8aSlQSgwtGt8swGLX2UI,4703
241
238
  klaude_code/tui/terminal/progress_bar.py,sha256=Go-0_ZodrmJVaQodaPnyxVU2nkpkBaYLnZBqwAUQukE,2133
242
239
  klaude_code/tui/terminal/selector.py,sha256=grMAqJpMftHwlI74DkFOlWWrAbc-lFjyUkaXl2DUQww,32402
@@ -247,9 +244,9 @@ klaude_code/ui/core/display.py,sha256=wk3_4-SE93BpxJOrx9MzEouMc4wTsYo7bBj9eeJO-i
247
244
  klaude_code/ui/core/input.py,sha256=8wXszl2Es6BbpqUjXMZka-7zc1d0kuySCxJUiDGHTaY,2593
248
245
  klaude_code/ui/debug_mode.py,sha256=ZvqbOx4c_rUerMbEZzOfcbNf9leqEDFjqJUlALtzF9Y,1111
249
246
  klaude_code/ui/terminal/__init__.py,sha256=5OeAzr994r8-peWsLON0iXsAvJ2pexwMp36JY7FKGDc,179
250
- klaude_code/ui/terminal/title.py,sha256=lCk1dKk7fIe5Fb-FRU9P4ktVEfBmT3ac3wICYmC4mGE,1229
247
+ klaude_code/ui/terminal/title.py,sha256=XqF4P3H7nZYA3umqfCjq-i_bN-j1kNkgckwmH5rpETI,1318
251
248
  klaude_code/update.py,sha256=QER816AZe9u3RhRvP0Z37Jh2Ch5RLy9PREyDsI0e1dA,4480
252
- klaude_code-2.10.2.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
253
- klaude_code-2.10.2.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
254
- klaude_code-2.10.2.dist-info/METADATA,sha256=CS3smLUK3V4OvUNZP44SBy8cQ8irncXNspd_EwDAfk0,10120
255
- klaude_code-2.10.2.dist-info/RECORD,,
249
+ klaude_code-2.10.4.dist-info/WHEEL,sha256=eh7sammvW2TypMMMGKgsM83HyA_3qQ5Lgg3ynoecH3M,79
250
+ klaude_code-2.10.4.dist-info/entry_points.txt,sha256=kkXIXedaTOtjXPr2rVjRVVXZYlFUcBHELaqmyVlWUFA,92
251
+ klaude_code-2.10.4.dist-info/METADATA,sha256=Y_5cqZoJ9sM9oFgSG-2XAs8PJlBDlUfEo99ibkyA4jU,10120
252
+ klaude_code-2.10.4.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- """Antigravity authentication helpers."""
2
-
3
- from klaude_code.auth.antigravity.exceptions import (
4
- AntigravityAuthError,
5
- AntigravityNotLoggedInError,
6
- AntigravityOAuthError,
7
- AntigravityTokenExpiredError,
8
- )
9
- from klaude_code.auth.antigravity.oauth import AntigravityOAuth
10
- from klaude_code.auth.antigravity.token_manager import AntigravityAuthState, AntigravityTokenManager
11
-
12
- __all__ = [
13
- "AntigravityAuthError",
14
- "AntigravityAuthState",
15
- "AntigravityNotLoggedInError",
16
- "AntigravityOAuth",
17
- "AntigravityOAuthError",
18
- "AntigravityTokenExpiredError",
19
- "AntigravityTokenManager",
20
- ]
@@ -1,17 +0,0 @@
1
- """Exceptions for Antigravity authentication."""
2
-
3
-
4
- class AntigravityAuthError(Exception):
5
- """Base exception for Antigravity authentication errors."""
6
-
7
-
8
- class AntigravityNotLoggedInError(AntigravityAuthError):
9
- """User has not logged in to Antigravity."""
10
-
11
-
12
- class AntigravityTokenExpiredError(AntigravityAuthError):
13
- """Token expired and refresh failed."""
14
-
15
-
16
- class AntigravityOAuthError(AntigravityAuthError):
17
- """OAuth flow failed."""