claude-code-tools 1.25.3__tar.gz → 1.25.5__tar.gz

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 (136) hide show
  1. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/PKG-INFO +1 -1
  2. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/__init__.py +1 -1
  3. claude_code_tools-1.25.5/claude_code_tools/helper_sessions.py +121 -0
  4. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/resolve_session.py +3 -1
  5. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/pyproject.toml +2 -2
  6. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/.gitignore +0 -0
  7. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/LICENSE +0 -0
  8. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/README.md +0 -0
  9. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/action_rpc.py +0 -0
  10. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/__init__.py +0 -0
  11. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/backends.py +0 -0
  12. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/cli.py +0 -0
  13. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/config.py +0 -0
  14. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/convert.py +0 -0
  15. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/discord_bot.py +0 -0
  16. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/locking.py +0 -0
  17. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/paths.py +0 -0
  18. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/registry.py +0 -0
  19. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/session.py +0 -0
  20. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/store.py +0 -0
  21. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/tmux.py +0 -0
  22. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/agent_tunnel/trust.py +0 -0
  23. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/aichat.py +0 -0
  24. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/__init__.py +0 -0
  25. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/__main__.py +0 -0
  26. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/cache.py +0 -0
  27. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/cli.py +0 -0
  28. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/detect.py +0 -0
  29. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/model.py +0 -0
  30. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/render.py +0 -0
  31. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/amux/scan.py +0 -0
  32. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/claude_continue.py +0 -0
  33. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/cli_passthrough.py +0 -0
  34. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_app_server_rpc.py +0 -0
  35. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_continue.py +0 -0
  36. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server.py +0 -0
  37. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_callback.py +0 -0
  38. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_cli.py +0 -0
  39. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_fingerprint.py +0 -0
  40. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_generation.py +0 -0
  41. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_legacy.py +0 -0
  42. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_models.py +0 -0
  43. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_process.py +0 -0
  44. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_reservation.py +0 -0
  45. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_resume.py +0 -0
  46. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_retry.py +0 -0
  47. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_reuse.py +0 -0
  48. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_state.py +0 -0
  49. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_supervisor.py +0 -0
  50. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/codex_server_worker.py +0 -0
  51. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/config.py +0 -0
  52. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/csv2gsheet.py +0 -0
  53. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/delete_session.py +0 -0
  54. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/dotenv_vault.py +0 -0
  55. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/env_safe.py +0 -0
  56. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/export_all.py +0 -0
  57. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/export_claude_session.py +0 -0
  58. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/export_codex_session.py +0 -0
  59. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/export_session.py +0 -0
  60. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/find_claude_session.py +0 -0
  61. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/find_codex_session.py +0 -0
  62. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/find_original_session.py +0 -0
  63. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/find_session.py +0 -0
  64. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/find_trimmed_sessions.py +0 -0
  65. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/fix_session.py +0 -0
  66. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/gdoc2docx.py +0 -0
  67. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/gdoc2md.py +0 -0
  68. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/github_wake.py +0 -0
  69. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/github_watch_daemon.py +0 -0
  70. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/github_watch_store.py +0 -0
  71. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/gsheet2csv.py +0 -0
  72. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/issue_reply_delivery.py +0 -0
  73. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/legacy_session_wrappers.py +0 -0
  74. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/md2gdoc.py +0 -0
  75. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/move_account.py +0 -0
  76. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/__init__.py +0 -0
  77. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/cli.py +0 -0
  78. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/hooks.py +0 -0
  79. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/migrations.py +0 -0
  80. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/models.py +0 -0
  81. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/prompt_detect.py +0 -0
  82. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/store.py +0 -0
  83. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/msg/watcher.py +0 -0
  84. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/node_menu_ui.py +0 -0
  85. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_claude_noise.py +0 -0
  86. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_claude_to_codex.py +0 -0
  87. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_codex_flatten.py +0 -0
  88. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_codex_to_claude.py +0 -0
  89. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_render.py +0 -0
  90. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/port_service.py +0 -0
  91. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/resolve_session_names.py +0 -0
  92. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/resolve_session_render.py +0 -0
  93. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/search_index.py +0 -0
  94. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_cli_resolution.py +0 -0
  95. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_lineage.py +0 -0
  96. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_menu.py +0 -0
  97. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_menu_cli.py +0 -0
  98. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_resolution.py +0 -0
  99. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_selection.py +0 -0
  100. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/session_utils.py +0 -0
  101. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/smart_trim.py +0 -0
  102. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/smart_trim_core.py +0 -0
  103. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/tmux_cli_controller.py +0 -0
  104. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/tmux_execution_helpers.py +0 -0
  105. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/tmux_remote_controller.py +0 -0
  106. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/trim_in_place.py +0 -0
  107. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/trim_session.py +0 -0
  108. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/trim_session_claude.py +0 -0
  109. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/trim_session_codex.py +0 -0
  110. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli.py +0 -0
  111. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_contract.py +0 -0
  112. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_formatting.py +0 -0
  113. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_identity_policy.py +0 -0
  114. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_manifest.py +0 -0
  115. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_projection.py +0 -0
  116. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_rendering.py +0 -0
  117. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_snapshots.py +0 -0
  118. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_cli_store_backends.py +0 -0
  119. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_processes.py +0 -0
  120. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_runs.py +0 -0
  121. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_store_io.py +0 -0
  122. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/claude_code_tools/workflow_validation.py +0 -0
  123. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/agent-tunnel-spec.md +0 -0
  124. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/claude-code-tmux-tutorials.md +0 -0
  125. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/dot-zshrc.md +0 -0
  126. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/find-claude-session.md +0 -0
  127. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/intercom-spec.md +0 -0
  128. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/lmsh.md +0 -0
  129. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/local-llm-setup.md +0 -0
  130. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/tmux-cli-instructions.md +0 -0
  131. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/docs/vault-documentation.md +0 -0
  132. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/hatch_build.py +0 -0
  133. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/node_ui/action_config.js +0 -0
  134. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/node_ui/menu.js +0 -0
  135. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/node_ui/package-lock.json +0 -0
  136. {claude_code_tools-1.25.3 → claude_code_tools-1.25.5}/node_ui/package.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-code-tools
3
- Version: 1.25.3
3
+ Version: 1.25.5
4
4
  Summary: Collection of tools for working with Claude Code
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -1,3 +1,3 @@
1
1
  """Claude Code Tools - Collection of utilities for Claude Code."""
2
2
 
3
- __version__ = "1.25.3"
3
+ __version__ = "1.25.5"
@@ -0,0 +1,121 @@
1
+ """Discovery and classification of programmatic helper sessions."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ from collections.abc import Callable
7
+ from dataclasses import dataclass
8
+ from pathlib import Path
9
+ from typing import TypeVar
10
+
11
+
12
+ ResultT = TypeVar("ResultT")
13
+
14
+
15
+ @dataclass(frozen=True)
16
+ class SessionFileSnapshot:
17
+ """Transcript paths present before a helper fork starts."""
18
+
19
+ directory: Path
20
+ paths: frozenset[Path]
21
+
22
+
23
+ def _session_files(directory: Path) -> frozenset[Path]:
24
+ """Return regular JSONL transcripts directly beneath a directory.
25
+
26
+ Args:
27
+ directory: Claude project transcript directory.
28
+
29
+ Returns:
30
+ Absolute paths to regular, non-symlink JSONL files.
31
+ """
32
+ try:
33
+ return frozenset(
34
+ path.absolute()
35
+ for path in directory.glob("*.jsonl")
36
+ if path.is_file() and not path.is_symlink()
37
+ )
38
+ except OSError:
39
+ return frozenset()
40
+
41
+
42
+ def snapshot_session_files(source_session_file: Path) -> SessionFileSnapshot:
43
+ """Capture sibling transcripts before launching a headless fork.
44
+
45
+ Args:
46
+ source_session_file: Transcript being forked.
47
+
48
+ Returns:
49
+ The source directory and its current regular JSONL files.
50
+ """
51
+ directory = source_session_file.expanduser().absolute().parent
52
+ return SessionFileSnapshot(directory, _session_files(directory))
53
+
54
+
55
+ def is_helper_session(session_file: Path) -> bool:
56
+ """Return whether a transcript carries explicit helper metadata.
57
+
58
+ Args:
59
+ session_file: Claude transcript to inspect.
60
+
61
+ Returns:
62
+ True only when the first JSON record has ``sessionType=helper``.
63
+ """
64
+ try:
65
+ with session_file.open(encoding="utf-8") as handle:
66
+ record = json.loads(handle.readline())
67
+ except (OSError, UnicodeError, ValueError, RecursionError):
68
+ return False
69
+ return isinstance(record, dict) and record.get("sessionType") == "helper"
70
+
71
+
72
+ def mark_new_helper_session(
73
+ snapshot: SessionFileSnapshot,
74
+ session_id: str | None = None,
75
+ ) -> Path | None:
76
+ """Mark the exact newly created fork reported by the headless client.
77
+
78
+ Args:
79
+ snapshot: Transcript paths captured before the fork started.
80
+ session_id: Session ID reported by the headless client.
81
+
82
+ Returns:
83
+ The marked transcript, or None when the reported target is unavailable.
84
+ """
85
+ if not session_id or Path(session_id).name != session_id:
86
+ return None
87
+ new_paths = _session_files(snapshot.directory) - snapshot.paths
88
+ candidate = (snapshot.directory / f"{session_id}.jsonl").absolute()
89
+ if candidate not in new_paths:
90
+ return None
91
+
92
+ from claude_code_tools.session_utils import mark_session_as_helper
93
+
94
+ return candidate if mark_session_as_helper(candidate) else None
95
+
96
+
97
+ def run_and_mark_helper_fork(
98
+ source_session_file: Path,
99
+ operation: Callable[[], tuple[ResultT, str | None]],
100
+ ) -> ResultT:
101
+ """Run a headless fork operation and mark its transcript afterward.
102
+
103
+ Marking runs whenever the operation returns an exact session ID, including
104
+ nonzero client results. Raised exceptions and missing IDs safely leave every
105
+ transcript untouched.
106
+
107
+ Args:
108
+ source_session_file: Transcript passed to the headless fork client.
109
+ operation: Blocking operation returning its result and fork session ID.
110
+
111
+ Returns:
112
+ The operation's original result.
113
+ """
114
+ snapshot = snapshot_session_files(source_session_file)
115
+ outcome: tuple[ResultT, str | None] | None = None
116
+ try:
117
+ outcome = operation()
118
+ return outcome[0]
119
+ finally:
120
+ if outcome is not None:
121
+ mark_new_helper_session(snapshot, session_id=outcome[1])
@@ -11,6 +11,7 @@ from datetime import datetime
11
11
  from pathlib import Path
12
12
  from typing import Literal, TextIO
13
13
 
14
+ from claude_code_tools.helper_sessions import is_helper_session
14
15
  from claude_code_tools.resolve_session_names import codex_thread_names
15
16
  from claude_code_tools.session_utils import (
16
17
  get_claude_home,
@@ -331,6 +332,7 @@ def enumerate_claude_sessions(home: Path) -> list[SessionRecord]:
331
332
  eligible = (
332
333
  eligible
333
334
  and not claude_sessions.is_malformed_session(path)
335
+ and not is_helper_session(path)
334
336
  )
335
337
  except (OSError, UnicodeError, TypeError, ValueError):
336
338
  eligible = False
@@ -362,6 +364,7 @@ def enumerate_claude_sessions(home: Path) -> list[SessionRecord]:
362
364
  eligible = (
363
365
  eligible
364
366
  and not claude_sessions.is_malformed_session(session_file)
367
+ and not is_helper_session(session_file)
365
368
  and directory is not None
366
369
  )
367
370
  except (OSError, UnicodeError, TypeError, ValueError):
@@ -992,4 +995,3 @@ def resolve(
992
995
  records=tuple(tagged[:25]),
993
996
  match_count=len(tagged),
994
997
  )
995
-
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "claude-code-tools"
3
- version = "1.25.3"
3
+ version = "1.25.5"
4
4
  description = "Collection of tools for working with Claude Code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -113,7 +113,7 @@ markers = [
113
113
 
114
114
  [tool.commitizen]
115
115
  name = "cz_conventional_commits"
116
- version = "1.25.3"
116
+ version = "1.25.5"
117
117
  tag_format = "v$version"
118
118
  version_files = [
119
119
  "pyproject.toml:version",