claude-code-tools 1.29.4__tar.gz → 1.29.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 (145) hide show
  1. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/PKG-INFO +10 -1
  2. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/README.md +9 -0
  3. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/__init__.py +1 -1
  4. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_claude_to_codex.py +5 -15
  5. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/pyproject.toml +2 -2
  6. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/.gitignore +0 -0
  7. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/LICENSE +0 -0
  8. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/action_rpc.py +0 -0
  9. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/__init__.py +0 -0
  10. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/backends.py +0 -0
  11. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/cli.py +0 -0
  12. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/config.py +0 -0
  13. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/convert.py +0 -0
  14. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/discord_bot.py +0 -0
  15. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/http_frontend.py +0 -0
  16. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/locking.py +0 -0
  17. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/mattermost_bot.py +0 -0
  18. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/paths.py +0 -0
  19. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/readonly.py +0 -0
  20. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/registry.py +0 -0
  21. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/relay.py +0 -0
  22. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/serve.py +0 -0
  23. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/session.py +0 -0
  24. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/store.py +0 -0
  25. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/tmux.py +0 -0
  26. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/trust.py +0 -0
  27. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/agent_tunnel/turn_log.py +0 -0
  28. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/aichat.py +0 -0
  29. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/__init__.py +0 -0
  30. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/__main__.py +0 -0
  31. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/activity.py +0 -0
  32. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/cache.py +0 -0
  33. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/cli.py +0 -0
  34. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/detect.py +0 -0
  35. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/filters.py +0 -0
  36. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/model.py +0 -0
  37. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/render.py +0 -0
  38. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/amux/scan.py +0 -0
  39. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/claude_continue.py +0 -0
  40. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/cli_passthrough.py +0 -0
  41. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_app_server_rpc.py +0 -0
  42. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_continue.py +0 -0
  43. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server.py +0 -0
  44. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_callback.py +0 -0
  45. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_cli.py +0 -0
  46. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_fingerprint.py +0 -0
  47. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_generation.py +0 -0
  48. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_legacy.py +0 -0
  49. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_models.py +0 -0
  50. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_process.py +0 -0
  51. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_reservation.py +0 -0
  52. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_resume.py +0 -0
  53. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_retry.py +0 -0
  54. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_reuse.py +0 -0
  55. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_state.py +0 -0
  56. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_supervisor.py +0 -0
  57. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_wait.py +0 -0
  58. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/codex_server_worker.py +0 -0
  59. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/config.py +0 -0
  60. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/csv2gsheet.py +0 -0
  61. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/delete_session.py +0 -0
  62. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/dotenv_vault.py +0 -0
  63. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/env_safe.py +0 -0
  64. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/export_all.py +0 -0
  65. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/export_claude_session.py +0 -0
  66. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/export_codex_session.py +0 -0
  67. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/export_session.py +0 -0
  68. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/find_claude_session.py +0 -0
  69. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/find_codex_session.py +0 -0
  70. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/find_original_session.py +0 -0
  71. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/find_session.py +0 -0
  72. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/find_trimmed_sessions.py +0 -0
  73. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/fix_session.py +0 -0
  74. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/gdoc2docx.py +0 -0
  75. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/gdoc2md.py +0 -0
  76. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/github_wake.py +0 -0
  77. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/github_watch_daemon.py +0 -0
  78. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/github_watch_store.py +0 -0
  79. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/gsheet2csv.py +0 -0
  80. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/helper_sessions.py +0 -0
  81. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/issue_reply_delivery.py +0 -0
  82. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/legacy_session_wrappers.py +0 -0
  83. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/md2gdoc.py +0 -0
  84. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/move_account.py +0 -0
  85. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/__init__.py +0 -0
  86. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/cli.py +0 -0
  87. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/hooks.py +0 -0
  88. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/migrations.py +0 -0
  89. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/models.py +0 -0
  90. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/prompt_detect.py +0 -0
  91. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/store.py +0 -0
  92. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/msg/watcher.py +0 -0
  93. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/node_menu_ui.py +0 -0
  94. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_claude_noise.py +0 -0
  95. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_codex_flatten.py +0 -0
  96. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_codex_to_claude.py +0 -0
  97. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_render.py +0 -0
  98. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/port_service.py +0 -0
  99. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/resolve_session.py +0 -0
  100. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/resolve_session_names.py +0 -0
  101. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/resolve_session_render.py +0 -0
  102. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/search_index.py +0 -0
  103. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_cli_resolution.py +0 -0
  104. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_lineage.py +0 -0
  105. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_menu.py +0 -0
  106. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_menu_cli.py +0 -0
  107. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_resolution.py +0 -0
  108. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_selection.py +0 -0
  109. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/session_utils.py +0 -0
  110. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/smart_trim.py +0 -0
  111. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/smart_trim_core.py +0 -0
  112. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/tmux_cli_controller.py +0 -0
  113. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/tmux_execution_helpers.py +0 -0
  114. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/tmux_remote_controller.py +0 -0
  115. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/trim_in_place.py +0 -0
  116. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/trim_session.py +0 -0
  117. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/trim_session_claude.py +0 -0
  118. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/trim_session_codex.py +0 -0
  119. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli.py +0 -0
  120. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_contract.py +0 -0
  121. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_formatting.py +0 -0
  122. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_identity_policy.py +0 -0
  123. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_manifest.py +0 -0
  124. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_projection.py +0 -0
  125. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_rendering.py +0 -0
  126. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_snapshots.py +0 -0
  127. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_cli_store_backends.py +0 -0
  128. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_processes.py +0 -0
  129. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_runs.py +0 -0
  130. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_store_io.py +0 -0
  131. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/claude_code_tools/workflow_validation.py +0 -0
  132. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/agent-tunnel-spec.md +0 -0
  133. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/claude-code-tmux-tutorials.md +0 -0
  134. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/dot-zshrc.md +0 -0
  135. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/find-claude-session.md +0 -0
  136. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/intercom-spec.md +0 -0
  137. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/lmsh.md +0 -0
  138. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/local-llm-setup.md +0 -0
  139. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/tmux-cli-instructions.md +0 -0
  140. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/docs/vault-documentation.md +0 -0
  141. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/hatch_build.py +0 -0
  142. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/node_ui/action_config.js +0 -0
  143. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/node_ui/menu.js +0 -0
  144. {claude_code_tools-1.29.4 → claude_code_tools-1.29.5}/node_ui/package-lock.json +0 -0
  145. {claude_code_tools-1.29.4 → claude_code_tools-1.29.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.29.4
3
+ Version: 1.29.5
4
4
  Summary: Collection of tools for working with Claude Code
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -47,6 +47,15 @@ Everything — installation, every tool, plugins, and guides — lives in the
47
47
  docs. Click a card below to jump to a feature, or
48
48
  **[read the full docs](https://pchalasani.github.io/claude-code-tools/)**.
49
49
 
50
+ Skills install with one command (`-s` picks one skill, `-g` installs for
51
+ every project). Most work in any agent; a few are Claude Code and Codex
52
+ only (see the [Plugins page](https://pchalasani.github.io/claude-code-tools/getting-started/plugins/)).
53
+ Needs Node.js 22.20 or newer for `npx`:
54
+
55
+ ```bash
56
+ npx skills add pchalasani/claude-code-tools -s voxtype-install
57
+ ```
58
+
50
59
  <div align="center">
51
60
 
52
61
  <table>
@@ -21,6 +21,15 @@ Everything — installation, every tool, plugins, and guides — lives in the
21
21
  docs. Click a card below to jump to a feature, or
22
22
  **[read the full docs](https://pchalasani.github.io/claude-code-tools/)**.
23
23
 
24
+ Skills install with one command (`-s` picks one skill, `-g` installs for
25
+ every project). Most work in any agent; a few are Claude Code and Codex
26
+ only (see the [Plugins page](https://pchalasani.github.io/claude-code-tools/getting-started/plugins/)).
27
+ Needs Node.js 22.20 or newer for `npx`:
28
+
29
+ ```bash
30
+ npx skills add pchalasani/claude-code-tools -s voxtype-install
31
+ ```
32
+
24
33
  <div align="center">
25
34
 
26
35
  <table>
@@ -1,3 +1,3 @@
1
1
  """Claude Code Tools - Collection of utilities for Claude Code."""
2
2
 
3
- __version__ = "1.29.4"
3
+ __version__ = "1.29.5"
@@ -514,18 +514,6 @@ def _ensure_leading_user(
514
514
  yield msg
515
515
 
516
516
 
517
- def _new_assistant_message_id() -> str:
518
- """Generate an assistant message id in the modern Codex format.
519
-
520
- Real rollout assistant items carry ids like ``msg_<50 hex chars>``
521
- (25 random bytes, hex-encoded, behind a ``msg_`` prefix).
522
-
523
- Returns:
524
- A fresh id string matching ``msg_[0-9a-f]{50}``.
525
- """
526
- return "msg_" + secrets.token_hex(25)
527
-
528
-
529
517
  def _make_codex_item(
530
518
  msg: dict[str, Any], fallback_timestamp: str, turn_id: str
531
519
  ) -> dict[str, Any]:
@@ -534,8 +522,11 @@ def _make_codex_item(
534
522
  Shapes match real modern rollouts exactly: user messages carry
535
523
  ``input_text`` content blocks plus the turn-id metadata
536
524
  passthrough; assistant messages carry ``output_text`` content
537
- plus the modern assistant payload fields (``id``, ``phase`` and
538
- the same turn-id passthrough) that Codex itself writes.
525
+ plus the modern assistant payload fields (``phase`` and the same
526
+ turn-id passthrough) that Codex itself writes. Assistant items
527
+ deliberately omit ``id``: Codex replays item ids to the Responses
528
+ API, which then looks them up as server-persisted items, and an
529
+ id that the server never issued fails the turn with HTTP 400.
539
530
 
540
531
  Args:
541
532
  msg: Flattened message dict (role/text/timestamp).
@@ -558,7 +549,6 @@ def _make_codex_item(
558
549
  else:
559
550
  payload = {
560
551
  "type": "message",
561
- "id": _new_assistant_message_id(),
562
552
  "role": role,
563
553
  "content": [
564
554
  {"type": "output_text", "text": msg["text"]}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "claude-code-tools"
3
- version = "1.29.4"
3
+ version = "1.29.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.29.4"
116
+ version = "1.29.5"
117
117
  tag_format = "v$version"
118
118
  version_files = [
119
119
  "pyproject.toml:version",