clud 2.2.0__tar.gz → 2.3.0__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 (233) hide show
  1. {clud-2.2.0 → clud-2.3.0}/Cargo.lock +143 -7
  2. clud-2.3.0/Cargo.toml +40 -0
  3. {clud-2.2.0 → clud-2.3.0}/PKG-INFO +1 -1
  4. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/Cargo.toml +32 -0
  5. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/README.md +7 -5
  6. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/dashboard/index.html +276 -15
  7. clud-2.3.0/crates/clud-bin/assets/scripts/extract_zip.py +60 -0
  8. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/README.md +6 -3
  9. clud-2.3.0/crates/clud-bin/assets/skills/clud-do/SKILL.md +346 -0
  10. clud-2.3.0/crates/clud-bin/assets/skills/clud-docker-linux-build/README.md +16 -0
  11. clud-2.3.0/crates/clud-bin/assets/skills/clud-docker-linux-build/SKILL.md +91 -0
  12. clud-2.3.0/crates/clud-bin/assets/skills/clud-docker-mac-x86/SKILL.md +125 -0
  13. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-extern-repos/SKILL.md +2 -2
  14. clud-2.3.0/crates/clud-bin/assets/skills/clud-fix/README.md +24 -0
  15. clud-2.3.0/crates/clud-bin/assets/skills/clud-fix/SKILL.md +545 -0
  16. clud-2.3.0/crates/clud-bin/assets/skills/clud-fix-quick/SKILL.md +222 -0
  17. clud-2.3.0/crates/clud-bin/assets/skills/clud-git/SKILL.md +90 -0
  18. clud-2.3.0/crates/clud-bin/assets/skills/clud-git-diff/SKILL.md +100 -0
  19. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-improve/README.md +1 -1
  20. clud-2.3.0/crates/clud-bin/assets/skills/clud-improve/SKILL.md +58 -0
  21. clud-2.3.0/crates/clud-bin/assets/skills/clud-issue/SKILL.md +119 -0
  22. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-issue-triage/SKILL.md +73 -0
  23. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-pr/README.md +1 -1
  24. clud-2.3.0/crates/clud-bin/assets/skills/clud-pr/SKILL.md +278 -0
  25. clud-2.3.0/crates/clud-bin/assets/skills/clud-python-lint-deadcode/SKILL.md +92 -0
  26. clud-2.3.0/crates/clud-bin/assets/skills/clud-review/SKILL.md +482 -0
  27. clud-2.3.0/crates/clud-bin/assets/tools/docker/README.md +35 -0
  28. clud-2.3.0/crates/clud-bin/assets/tools/docker/docker-build.py +99 -0
  29. clud-2.3.0/crates/clud-bin/assets/tools/docker/docker_build_cpp.py +119 -0
  30. clud-2.3.0/crates/clud-bin/assets/tools/docker/docker_build_python.py +125 -0
  31. clud-2.3.0/crates/clud-bin/assets/tools/docker/docker_build_soldr.py +324 -0
  32. clud-2.3.0/crates/clud-bin/assets/tools/git/clud-git-diff.py +341 -0
  33. clud-2.3.0/crates/clud-bin/assets/tools/github/pr_merge_watch.py +726 -0
  34. clud-2.3.0/crates/clud-bin/assets/tools/hooks/block-bad-cmd.py +47 -0
  35. clud-2.3.0/crates/clud-bin/assets/tools/hooks/telemetry.py +189 -0
  36. clud-2.3.0/crates/clud-bin/assets/tools/hooks/uv_run_hook_guard.py +307 -0
  37. clud-2.3.0/crates/clud-bin/assets/tools/python/lint_deadcode.py +205 -0
  38. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/README.md +55 -3
  39. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/args.rs +260 -13
  40. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/args_tests.rs +250 -20
  41. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/backend.rs +46 -2
  42. clud-2.3.0/crates/clud-bin/src/bin/clud_block_bad_cmd.rs +3 -0
  43. clud-2.3.0/crates/clud-bin/src/bin/clud_shim.rs +460 -0
  44. clud-2.3.0/crates/clud-bin/src/block_bad_cmd.rs +1038 -0
  45. clud-2.3.0/crates/clud-bin/src/block_bad_cmd_rollout.rs +370 -0
  46. clud-2.3.0/crates/clud-bin/src/clud_settings.rs +1366 -0
  47. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/builder.rs +60 -7
  48. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/tests.rs +124 -26
  49. clud-2.3.0/crates/clud-bin/src/config.rs +389 -0
  50. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/console_title.rs +188 -17
  51. clud-2.3.0/crates/clud-bin/src/cpu_banner.rs +820 -0
  52. clud-2.3.0/crates/clud-bin/src/crash_report.rs +729 -0
  53. clud-2.3.0/crates/clud-bin/src/ctrl_c_track.rs +1379 -0
  54. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/README.md +43 -0
  55. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/attach.rs +3 -1
  56. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/client.rs +84 -7
  57. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/commands.rs +5 -0
  58. clud-2.3.0/crates/clud-bin/src/daemon/daemon_events.rs +198 -0
  59. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/entry.rs +185 -4
  60. clud-2.3.0/crates/clud-bin/src/daemon/gc_service/extern_repo.rs +49 -0
  61. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/gc_service/tests.rs +54 -83
  62. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/gc_service.rs +5 -5
  63. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/http/tests.rs +143 -0
  64. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/http.rs +553 -5
  65. clud-2.3.0/crates/clud-bin/src/daemon/mod.rs +41 -0
  66. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/paths.rs +66 -2
  67. clud-2.3.0/crates/clud-bin/src/daemon/proc_sampler.rs +714 -0
  68. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/frame_lane.rs +9 -2
  69. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/payload.rs +6 -2
  70. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/tests.rs +9 -2
  71. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/server.rs +501 -49
  72. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/sessions.rs +5 -0
  73. clud-2.3.0/crates/clud-bin/src/daemon/top.rs +398 -0
  74. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/types.rs +195 -0
  75. clud-2.3.0/crates/clud-bin/src/daemon/uv_cache_sweep.rs +181 -0
  76. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/daemon_msgs.rs +29 -1
  77. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/mod.rs +4 -1
  78. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/session.rs +10 -0
  79. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/tests.rs +40 -0
  80. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/worker.rs +28 -0
  81. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/worker_shared.rs +16 -0
  82. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/injectors.rs +3 -0
  83. clud-2.3.0/crates/clud-bin/src/gc/cli.rs +621 -0
  84. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/gc/mod.rs +4 -3
  85. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/gc/registry.rs +1 -1
  86. clud-2.3.0/crates/clud-bin/src/gc/uv_cache.rs +348 -0
  87. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/gc_tests.rs +6 -5
  88. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/inspect.rs +26 -0
  89. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/mod.rs +2 -1
  90. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/prompts.rs +2 -0
  91. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/repairs.rs +85 -0
  92. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/types.rs +3 -0
  93. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/warnings.rs +4 -0
  94. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health_tests.rs +89 -0
  95. clud-2.3.0/crates/clud-bin/src/launch_log.rs +189 -0
  96. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/launch_setup.rs +158 -12
  97. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/lib.rs +28 -0
  98. clud-2.3.0/crates/clud-bin/src/log_event.rs +182 -0
  99. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/main.rs +226 -32
  100. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/optimize.rs +52 -6
  101. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/orphan_reaper.rs +356 -5
  102. clud-2.3.0/crates/clud-bin/src/path_norm.rs +287 -0
  103. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/runner.rs +219 -2
  104. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session/interrupt.rs +1 -0
  105. clud-2.3.0/crates/clud-bin/src/session_index.rs +463 -0
  106. clud-2.3.0/crates/clud-bin/src/shell/README.md +49 -0
  107. clud-2.3.0/crates/clud-bin/src/shell/git_bash_resolver.rs +451 -0
  108. clud-2.3.0/crates/clud-bin/src/shell/mod.rs +12 -0
  109. clud-2.3.0/crates/clud-bin/src/shim_install.rs +232 -0
  110. clud-2.3.0/crates/clud-bin/src/shim_resolve.rs +338 -0
  111. clud-2.3.0/crates/clud-bin/src/shim_session.rs +225 -0
  112. clud-2.3.0/crates/clud-bin/src/shim_uv.rs +215 -0
  113. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/skill_install.rs +60 -11
  114. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/skills.rs +148 -9
  115. clud-2.3.0/crates/clud-bin/src/startup.rs +718 -0
  116. clud-2.3.0/crates/clud-bin/src/symbols.rs +297 -0
  117. clud-2.3.0/crates/clud-bin/src/tool_cli.rs +93 -0
  118. clud-2.3.0/crates/clud-bin/src/tool_info.rs +222 -0
  119. clud-2.3.0/crates/clud-bin/src/tool_install.rs +429 -0
  120. clud-2.3.0/crates/clud-bin/src/tool_ledger.rs +261 -0
  121. clud-2.3.0/crates/clud-bin/src/tool_list.rs +115 -0
  122. clud-2.3.0/crates/clud-bin/src/tool_log.rs +272 -0
  123. clud-2.3.0/crates/clud-bin/src/tool_query.rs +589 -0
  124. clud-2.3.0/crates/clud-bin/src/tool_run.rs +1317 -0
  125. clud-2.3.0/crates/clud-bin/src/tool_tee.rs +264 -0
  126. clud-2.3.0/crates/clud-bin/src/tool_termination.rs +345 -0
  127. clud-2.3.0/crates/clud-bin/src/tool_watchdog.rs +308 -0
  128. clud-2.3.0/crates/clud-bin/src/tools.rs +605 -0
  129. clud-2.3.0/crates/clud-bin/src/uv_run_hook_guard.rs +109 -0
  130. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/worktrees.rs +177 -13
  131. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/worktrees_tests.rs +71 -0
  132. clud-2.3.0/crates/clud-bin/tests/crash_report.rs +129 -0
  133. clud-2.3.0/crates/clud-bin/tests/symbols.rs +189 -0
  134. clud-2.3.0/crates/clud-bin/tests/telemetry_endpoint.rs +321 -0
  135. clud-2.3.0/crates/clud-bin/vendor/win32/git-bash-bin.toml +26 -0
  136. {clud-2.2.0 → clud-2.3.0}/pyproject.toml +5 -2
  137. clud-2.2.0/Cargo.toml +0 -21
  138. clud-2.2.0/crates/clud-bin/assets/skills/clud-improve/SKILL.md +0 -51
  139. clud-2.2.0/crates/clud-bin/assets/skills/clud-issue/SKILL.md +0 -46
  140. clud-2.2.0/crates/clud-bin/assets/skills/clud-pr/SKILL.md +0 -103
  141. clud-2.2.0/crates/clud-bin/src/clud_settings.rs +0 -489
  142. clud-2.2.0/crates/clud-bin/src/ctrl_c_track.rs +0 -499
  143. clud-2.2.0/crates/clud-bin/src/daemon/gc_service/extern_repo.rs +0 -189
  144. clud-2.2.0/crates/clud-bin/src/daemon/mod.rs +0 -30
  145. clud-2.2.0/crates/clud-bin/src/gc/cli.rs +0 -229
  146. clud-2.2.0/crates/clud-bin/src/startup.rs +0 -303
  147. {clud-2.2.0 → clud-2.3.0}/LICENSE +0 -0
  148. {clud-2.2.0 → clud-2.3.0}/README.md +0 -0
  149. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/LICENSE +0 -0
  150. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/README.md +0 -0
  151. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/hero-clud.jpg +0 -0
  152. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-docker-rust-app-dev/README.md +0 -0
  153. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-docker-rust-app-dev/SKILL.md +0 -0
  154. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-issue/README.md +0 -0
  155. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-issue-triage/README.md +0 -0
  156. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-loop/README.md +0 -0
  157. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-loop/SKILL.md +0 -0
  158. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-tag-release/README.md +0 -0
  159. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-tag-release/SKILL.md +0 -0
  160. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-windows-trash/README.md +0 -0
  161. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/assets/skills/clud-windows-trash/SKILL.md +0 -0
  162. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/build.rs +0 -0
  163. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/backend_bootstrap.rs +0 -0
  164. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/capture.rs +0 -0
  165. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/codex_hook_normalize.rs +0 -0
  166. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/codex_hook_normalize_tests.rs +0 -0
  167. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/README.md +0 -0
  168. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/loop_task.rs +0 -0
  169. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/mod.rs +0 -0
  170. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/prompts.rs +0 -0
  171. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/command/types.rs +0 -0
  172. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/console_input.rs +0 -0
  173. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/console_setup.rs +0 -0
  174. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/gc_service/filesystem.rs +0 -0
  175. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/gc_service/tests/parallel.rs +0 -0
  176. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/io_helpers.rs +0 -0
  177. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/keys.rs +0 -0
  178. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/process_utils.rs +0 -0
  179. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/endpoint.rs +0 -0
  180. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/errors.rs +0 -0
  181. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/mod.rs +0 -0
  182. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/rp_broker/wire_mode.rs +0 -0
  183. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/error.rs +0 -0
  184. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/frame.rs +0 -0
  185. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/daemon/wire_prost/worker_msgs.rs +0 -0
  186. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/README.md +0 -0
  187. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/console_drop_target.rs +0 -0
  188. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/console_drop_target_tests.rs +0 -0
  189. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/dropfiles.rs +0 -0
  190. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/dnd/mod.rs +0 -0
  191. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/gc/reconcile.rs +0 -0
  192. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/gc/scanner.rs +0 -0
  193. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/graphics.rs +0 -0
  194. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/codex_trust.rs +0 -0
  195. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/hook_health/utils.rs +0 -0
  196. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/large_file_guard.rs +0 -0
  197. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/loop_artifacts.rs +0 -0
  198. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/loop_check.rs +0 -0
  199. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/loop_spec.rs +0 -0
  200. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/paste_image.rs +0 -0
  201. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/process_tree.rs +0 -0
  202. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/runtime_cache.rs +0 -0
  203. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session/bracketed_paste.rs +0 -0
  204. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session.rs +0 -0
  205. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session_registry.rs +0 -0
  206. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session_registry_tests.rs +0 -0
  207. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/session_tests.rs +0 -0
  208. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/stream_json.rs +0 -0
  209. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/subprocess.rs +0 -0
  210. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/trampoline.rs +0 -0
  211. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/trash.rs +0 -0
  212. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/ui.rs +0 -0
  213. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/verbose_log.rs +0 -0
  214. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/README.md +0 -0
  215. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/audio.rs +0 -0
  216. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/config.rs +0 -0
  217. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/cues.rs +0 -0
  218. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/linux_capture.rs +0 -0
  219. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/mod.rs +0 -0
  220. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/mode.rs +0 -0
  221. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/model.rs +0 -0
  222. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/recording.rs +0 -0
  223. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/voice/worker.rs +0 -0
  224. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/wasm.rs +0 -0
  225. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/src/win_creation_flags.rs +0 -0
  226. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/README.md +0 -0
  227. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/common/mod.rs +0 -0
  228. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/orphan_reap.rs +0 -0
  229. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/pty_behavior.rs +0 -0
  230. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/pty_pump.rs +0 -0
  231. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/shift_enter_dual_reader.rs +0 -0
  232. {clud-2.2.0 → clud-2.3.0}/crates/clud-bin/tests/utf8_codepage.rs +0 -0
  233. {clud-2.2.0 → clud-2.3.0}/src/clud/__init__.py +0 -0
@@ -95,6 +95,15 @@ version = "1.0.102"
95
95
  source = "registry+https://github.com/rust-lang/crates.io-index"
96
96
  checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
97
97
 
98
+ [[package]]
99
+ name = "arbitrary"
100
+ version = "1.4.2"
101
+ source = "registry+https://github.com/rust-lang/crates.io-index"
102
+ checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
103
+ dependencies = [
104
+ "derive_arbitrary",
105
+ ]
106
+
98
107
  [[package]]
99
108
  name = "arboard"
100
109
  version = "3.6.1"
@@ -392,12 +401,13 @@ dependencies = [
392
401
 
393
402
  [[package]]
394
403
  name = "clud"
395
- version = "2.2.0"
404
+ version = "2.3.0"
396
405
  dependencies = [
397
406
  "arboard",
398
407
  "base64",
399
408
  "clap",
400
409
  "cpal",
410
+ "crash-handler",
401
411
  "crossterm",
402
412
  "ctrlc",
403
413
  "dirs 5.0.1",
@@ -418,12 +428,14 @@ dependencies = [
418
428
  "serde_json",
419
429
  "serde_yaml",
420
430
  "sha2",
431
+ "shell-words",
421
432
  "signal-hook",
422
433
  "sysinfo 0.37.2",
423
434
  "tempfile",
424
435
  "terminal_size",
425
436
  "tiny_http",
426
- "toml_edit",
437
+ "toml",
438
+ "toml_edit 0.25.11+spec-1.1.0",
427
439
  "ureq",
428
440
  "vt100",
429
441
  "vte",
@@ -432,6 +444,7 @@ dependencies = [
432
444
  "whisper-rs",
433
445
  "windows 0.61.3",
434
446
  "windows-core 0.61.2",
447
+ "zip",
435
448
  ]
436
449
 
437
450
  [[package]]
@@ -538,6 +551,30 @@ dependencies = [
538
551
  "libc",
539
552
  ]
540
553
 
554
+ [[package]]
555
+ name = "crash-context"
556
+ version = "0.6.3"
557
+ source = "registry+https://github.com/rust-lang/crates.io-index"
558
+ checksum = "031ed29858d90cfdf27fe49fae28028a1f20466db97962fa2f4ea34809aeebf3"
559
+ dependencies = [
560
+ "cfg-if",
561
+ "libc",
562
+ "mach2",
563
+ ]
564
+
565
+ [[package]]
566
+ name = "crash-handler"
567
+ version = "0.7.0"
568
+ source = "registry+https://github.com/rust-lang/crates.io-index"
569
+ checksum = "0df5c9639f4942eb7702b964b3f9adf03a55724a57558cc177407388a8b936e2"
570
+ dependencies = [
571
+ "cfg-if",
572
+ "crash-context",
573
+ "libc",
574
+ "mach2",
575
+ "parking_lot",
576
+ ]
577
+
541
578
  [[package]]
542
579
  name = "crc32fast"
543
580
  version = "1.5.0"
@@ -632,6 +669,17 @@ version = "0.11.0"
632
669
  source = "registry+https://github.com/rust-lang/crates.io-index"
633
670
  checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
634
671
 
672
+ [[package]]
673
+ name = "derive_arbitrary"
674
+ version = "1.4.2"
675
+ source = "registry+https://github.com/rust-lang/crates.io-index"
676
+ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
677
+ dependencies = [
678
+ "proc-macro2",
679
+ "quote",
680
+ "syn",
681
+ ]
682
+
635
683
  [[package]]
636
684
  name = "derive_more"
637
685
  version = "2.1.1"
@@ -1461,7 +1509,7 @@ dependencies = [
1461
1509
 
1462
1510
  [[package]]
1463
1511
  name = "mock-agent"
1464
- version = "2.2.0"
1512
+ version = "2.3.0"
1465
1513
  dependencies = [
1466
1514
  "libc",
1467
1515
  "serde_json",
@@ -1934,7 +1982,7 @@ version = "3.5.0"
1934
1982
  source = "registry+https://github.com/rust-lang/crates.io-index"
1935
1983
  checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
1936
1984
  dependencies = [
1937
- "toml_edit",
1985
+ "toml_edit 0.25.11+spec-1.1.0",
1938
1986
  ]
1939
1987
 
1940
1988
  [[package]]
@@ -2428,6 +2476,15 @@ dependencies = [
2428
2476
  "zmij",
2429
2477
  ]
2430
2478
 
2479
+ [[package]]
2480
+ name = "serde_spanned"
2481
+ version = "0.6.9"
2482
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2483
+ checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
2484
+ dependencies = [
2485
+ "serde",
2486
+ ]
2487
+
2431
2488
  [[package]]
2432
2489
  name = "serde_yaml"
2433
2490
  version = "0.9.34+deprecated"
@@ -2724,6 +2781,27 @@ dependencies = [
2724
2781
  "zerovec",
2725
2782
  ]
2726
2783
 
2784
+ [[package]]
2785
+ name = "toml"
2786
+ version = "0.8.23"
2787
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2788
+ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
2789
+ dependencies = [
2790
+ "serde",
2791
+ "serde_spanned",
2792
+ "toml_datetime 0.6.11",
2793
+ "toml_edit 0.22.27",
2794
+ ]
2795
+
2796
+ [[package]]
2797
+ name = "toml_datetime"
2798
+ version = "0.6.11"
2799
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2800
+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
2801
+ dependencies = [
2802
+ "serde",
2803
+ ]
2804
+
2727
2805
  [[package]]
2728
2806
  name = "toml_datetime"
2729
2807
  version = "1.1.1+spec-1.1.0"
@@ -2733,6 +2811,20 @@ dependencies = [
2733
2811
  "serde_core",
2734
2812
  ]
2735
2813
 
2814
+ [[package]]
2815
+ name = "toml_edit"
2816
+ version = "0.22.27"
2817
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2818
+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
2819
+ dependencies = [
2820
+ "indexmap",
2821
+ "serde",
2822
+ "serde_spanned",
2823
+ "toml_datetime 0.6.11",
2824
+ "toml_write",
2825
+ "winnow 0.7.15",
2826
+ ]
2827
+
2736
2828
  [[package]]
2737
2829
  name = "toml_edit"
2738
2830
  version = "0.25.11+spec-1.1.0"
@@ -2740,10 +2832,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2740
2832
  checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b"
2741
2833
  dependencies = [
2742
2834
  "indexmap",
2743
- "toml_datetime",
2835
+ "toml_datetime 1.1.1+spec-1.1.0",
2744
2836
  "toml_parser",
2745
2837
  "toml_writer",
2746
- "winnow",
2838
+ "winnow 1.0.1",
2747
2839
  ]
2748
2840
 
2749
2841
  [[package]]
@@ -2752,9 +2844,15 @@ version = "1.1.2+spec-1.1.0"
2752
2844
  source = "registry+https://github.com/rust-lang/crates.io-index"
2753
2845
  checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
2754
2846
  dependencies = [
2755
- "winnow",
2847
+ "winnow 1.0.1",
2756
2848
  ]
2757
2849
 
2850
+ [[package]]
2851
+ name = "toml_write"
2852
+ version = "0.1.2"
2853
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2854
+ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
2855
+
2758
2856
  [[package]]
2759
2857
  name = "toml_writer"
2760
2858
  version = "1.1.1+spec-1.1.0"
@@ -3551,6 +3649,15 @@ version = "0.52.6"
3551
3649
  source = "registry+https://github.com/rust-lang/crates.io-index"
3552
3650
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
3553
3651
 
3652
+ [[package]]
3653
+ name = "winnow"
3654
+ version = "0.7.15"
3655
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3656
+ checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
3657
+ dependencies = [
3658
+ "memchr",
3659
+ ]
3660
+
3554
3661
  [[package]]
3555
3662
  name = "winnow"
3556
3663
  version = "1.0.1"
@@ -3804,12 +3911,41 @@ dependencies = [
3804
3911
  "syn",
3805
3912
  ]
3806
3913
 
3914
+ [[package]]
3915
+ name = "zip"
3916
+ version = "2.4.2"
3917
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3918
+ checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50"
3919
+ dependencies = [
3920
+ "arbitrary",
3921
+ "crc32fast",
3922
+ "crossbeam-utils",
3923
+ "displaydoc",
3924
+ "flate2",
3925
+ "indexmap",
3926
+ "memchr",
3927
+ "thiserror 2.0.18",
3928
+ "zopfli",
3929
+ ]
3930
+
3807
3931
  [[package]]
3808
3932
  name = "zmij"
3809
3933
  version = "1.0.21"
3810
3934
  source = "registry+https://github.com/rust-lang/crates.io-index"
3811
3935
  checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
3812
3936
 
3937
+ [[package]]
3938
+ name = "zopfli"
3939
+ version = "0.8.3"
3940
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3941
+ checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
3942
+ dependencies = [
3943
+ "bumpalo",
3944
+ "crc32fast",
3945
+ "log",
3946
+ "simd-adler32",
3947
+ ]
3948
+
3813
3949
  [[package]]
3814
3950
  name = "zune-core"
3815
3951
  version = "0.5.1"
clud-2.3.0/Cargo.toml ADDED
@@ -0,0 +1,40 @@
1
+ [workspace]
2
+ resolver = "2"
3
+ members = ["crates/clud-bin"]
4
+ exclude = [
5
+ "dylints/ban_manual_slash_normalize",
6
+ ]
7
+
8
+ [workspace.metadata.dylint]
9
+ libraries = [{ path = "dylints/*" }]
10
+
11
+ [workspace.package]
12
+ version = "2.3.0"
13
+ edition = "2021"
14
+ rust-version = "1.85"
15
+ license-file = "LICENSE"
16
+ repository = "https://github.com/zackees/clud"
17
+ homepage = "https://github.com/zackees/clud"
18
+
19
+ # `debug = "line-tables-only"` keeps file:line in panic stack traces (so
20
+ # `bash test` failures resolve to source) without paying the full-DWARF
21
+ # compile-time + wheel-size tax. Applied to dev AND release so a panic
22
+ # in a production wheel still shows where it crashed.
23
+ [profile.dev]
24
+ debug = "line-tables-only"
25
+
26
+ # Optimize third-party crates at opt-level=1 in dev. Our own crates stay
27
+ # at the cargo-default opt-level=0 for fast incremental rebuilds; deps
28
+ # (regex / running-process / tokio / whisper-rs internals) are paid for
29
+ # once on cold compile and then cached, so the per-iteration cost is
30
+ # negligible while runtime performance in dev tests is meaningfully
31
+ # better.
32
+ [profile.dev.package."*"]
33
+ opt-level = 1
34
+
35
+ [profile.release]
36
+ debug = "line-tables-only"
37
+
38
+ [patch.crates-io]
39
+ whisper-rs = { path = "vendor/whisper-rs" }
40
+ whisper-rs-sys = { path = "vendor/whisper-rs-sys" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clud
3
- Version: 2.2.0
3
+ Version: 2.3.0
4
4
  Classifier: Development Status :: 4 - Beta
5
5
  Classifier: Environment :: Console
6
6
  Classifier: Intended Audience :: Developers
@@ -14,6 +14,12 @@ arboard = "3"
14
14
  base64 = "0.22"
15
15
  clap = { version = "4", features = ["derive"] }
16
16
  crossterm = "0.29"
17
+ # Native crash handler for SIGSEGV / SIGBUS / SIGILL / SIGFPE / SIGABRT
18
+ # on Unix and structured exceptions on Windows. By default it does NOT
19
+ # attach a SIGINT / CTRL_C_EVENT handler, so the existing `ctrlc`-based
20
+ # Ctrl-C path (#372 / `ctrl_c_track`) remains the authoritative handler
21
+ # for Ctrl-C / Ctrl-Break.
22
+ crash-handler = "0.7"
17
23
  ctrlc = "3"
18
24
  # Issue #13: voice-mode stack. Linux capture shells out to `arecord` on
19
25
  # F3 press so libasound is loaded only by that on-demand helper process,
@@ -58,7 +64,16 @@ serde = { version = "1", features = ["derive"] }
58
64
  serde_json = "1"
59
65
  sysinfo = "0.37"
60
66
  terminal_size = "0.4"
67
+ # Plain serde-friendly TOML deserializer. Used by the shell::git_bash_resolver
68
+ # manifest reader (issue #447); the existing toml_edit dep keeps round-trip
69
+ # editing of settings.toml, but a one-shot `toml::from_str` is the cleanest
70
+ # fit for an embedded vendor manifest.
71
+ toml = "0.8"
61
72
  toml_edit = "0.25.11"
73
+ # Issue #447: pure-Rust zip extraction for the vendored Git Bash bundle.
74
+ # `deflate` is the only compression method present in git-bash-bin.zip;
75
+ # disabling default features avoids pulling bzip2/zstd C deps.
76
+ zip = { version = "2", default-features = false, features = ["deflate"] }
62
77
  vt100 = "0.16"
63
78
  vte = "0.15"
64
79
  wasmi = "0.40.0"
@@ -73,6 +88,9 @@ tiny_http = "0.12"
73
88
  # (~50 LOC of platform glue: macOS `open`, Linux `xdg-open`, Windows
74
89
  # `cmd /c start`). One dep beats triplicate hand-rolled code.
75
90
  open = "5"
91
+ # Issue #457: split EDITOR/VISUAL-style commands such as `code --wait`
92
+ # without sending config paths through an ad hoc shell string.
93
+ shell-words = "1.1"
76
94
 
77
95
  [dev-dependencies]
78
96
  serde_yaml = "0.9"
@@ -145,3 +163,17 @@ windows-core = "0.61"
145
163
  [[bin]]
146
164
  name = "clud"
147
165
  path = "src/main.rs"
166
+
167
+ # Slice 1 of #406 / #409: tiny PATH-resolved relay that lives at
168
+ # `~/.clud/state/shims/python` etc. so any `python` invocation inside a
169
+ # clud session goes through the daemon's ResolveInterpreter RPC.
170
+ # Currently shares clud-bin's dep tree; the size-budget enforcement +
171
+ # release-shim profile lands in slice 4 (#412) when the binary is
172
+ # bundled into wheels.
173
+ [[bin]]
174
+ name = "clud-shim"
175
+ path = "src/bin/clud_shim.rs"
176
+
177
+ [[bin]]
178
+ name = "clud-block-bad-cmd"
179
+ path = "src/bin/clud_block_bad_cmd.rs"
@@ -1,9 +1,10 @@
1
1
  # clud-bin
2
2
 
3
3
  Main Rust binary crate for the `clud` project. Builds the `clud` executable
4
- (a fast CLI for running Claude Code and Codex in YOLO mode) and is distributed
5
- as a Python wheel via maturin with `bindings = "bin"` — installing the wheel
6
- drops the native binary onto `PATH`.
4
+ (a fast CLI for running Claude Code and Codex in YOLO mode) plus small helper
5
+ binaries, and is distributed as a Python wheel via maturin with
6
+ `bindings = "bin"` — installing the wheel drops those native commands onto
7
+ `PATH`.
7
8
 
8
9
  The crate also exposes a `clud` library target (`src/lib.rs`) so integration
9
10
  tests can exercise internals directly.
@@ -58,8 +59,9 @@ soldr cargo test -p clud-bin # crate-level Rust tests only
58
59
 
59
60
  Packaged as a Python wheel via maturin (`[tool.maturin] bindings = "bin"`,
60
61
  `manifest-path = "crates/clud-bin/Cargo.toml"` in the root `pyproject.toml`).
61
- The wheel installs the `clud` binary onto the user's `PATH` — no Python
62
- runtime code ships beyond a thin version shim.
62
+ The wheel installs the native `clud`, `clud-shim`, and `clud-block-bad-cmd`
63
+ commands onto the user's `PATH` — no Python runtime code ships beyond a thin
64
+ version shim and compatibility hook shims.
63
65
 
64
66
  CI builds across 6 platforms: Linux x86 + ARM, Windows x86 + ARM, macOS
65
67
  ARM + x86. The Windows ARM target stubs out `whisper-rs` because the