clud 2.2.0__tar.gz → 2.4.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 (240) hide show
  1. {clud-2.2.0 → clud-2.4.0}/Cargo.lock +152 -7
  2. clud-2.4.0/Cargo.toml +40 -0
  3. {clud-2.2.0 → clud-2.4.0}/PKG-INFO +1 -1
  4. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/Cargo.toml +46 -0
  5. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/README.md +7 -5
  6. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/dashboard/index.html +276 -15
  7. clud-2.4.0/crates/clud-bin/assets/scripts/extract_zip.py +60 -0
  8. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/README.md +6 -3
  9. clud-2.4.0/crates/clud-bin/assets/skills/clud-do/SKILL.md +346 -0
  10. clud-2.4.0/crates/clud-bin/assets/skills/clud-docker-linux-build/README.md +16 -0
  11. clud-2.4.0/crates/clud-bin/assets/skills/clud-docker-linux-build/SKILL.md +91 -0
  12. clud-2.4.0/crates/clud-bin/assets/skills/clud-docker-mac-x86/SKILL.md +125 -0
  13. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-extern-repos/SKILL.md +2 -2
  14. clud-2.4.0/crates/clud-bin/assets/skills/clud-fix/README.md +24 -0
  15. clud-2.4.0/crates/clud-bin/assets/skills/clud-fix/SKILL.md +545 -0
  16. clud-2.4.0/crates/clud-bin/assets/skills/clud-fix-quick/SKILL.md +222 -0
  17. clud-2.4.0/crates/clud-bin/assets/skills/clud-git/SKILL.md +90 -0
  18. clud-2.4.0/crates/clud-bin/assets/skills/clud-git-diff/SKILL.md +100 -0
  19. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-improve/README.md +1 -1
  20. clud-2.4.0/crates/clud-bin/assets/skills/clud-improve/SKILL.md +58 -0
  21. clud-2.4.0/crates/clud-bin/assets/skills/clud-issue/SKILL.md +119 -0
  22. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-issue-triage/SKILL.md +73 -0
  23. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-pr/README.md +1 -1
  24. clud-2.4.0/crates/clud-bin/assets/skills/clud-pr/SKILL.md +278 -0
  25. clud-2.4.0/crates/clud-bin/assets/skills/clud-python-lint-deadcode/SKILL.md +92 -0
  26. clud-2.4.0/crates/clud-bin/assets/skills/clud-review/SKILL.md +482 -0
  27. clud-2.4.0/crates/clud-bin/assets/tools/docker/README.md +35 -0
  28. clud-2.4.0/crates/clud-bin/assets/tools/docker/docker-build.py +99 -0
  29. clud-2.4.0/crates/clud-bin/assets/tools/docker/docker_build_cpp.py +119 -0
  30. clud-2.4.0/crates/clud-bin/assets/tools/docker/docker_build_python.py +125 -0
  31. clud-2.4.0/crates/clud-bin/assets/tools/docker/docker_build_soldr.py +353 -0
  32. clud-2.4.0/crates/clud-bin/assets/tools/git/clud-git-diff.py +341 -0
  33. clud-2.4.0/crates/clud-bin/assets/tools/github/pr_merge_watch.py +726 -0
  34. clud-2.4.0/crates/clud-bin/assets/tools/hooks/block-bad-cmd.py +47 -0
  35. clud-2.4.0/crates/clud-bin/assets/tools/hooks/telemetry.py +189 -0
  36. clud-2.4.0/crates/clud-bin/assets/tools/hooks/uv_run_hook_guard.py +307 -0
  37. clud-2.4.0/crates/clud-bin/assets/tools/python/lint_deadcode.py +205 -0
  38. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/README.md +55 -3
  39. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/args.rs +270 -14
  40. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/args_tests.rs +300 -16
  41. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/backend.rs +46 -2
  42. clud-2.4.0/crates/clud-bin/src/bin/clud_block_bad_cmd.rs +3 -0
  43. clud-2.4.0/crates/clud-bin/src/bin/clud_shim.rs +460 -0
  44. clud-2.4.0/crates/clud-bin/src/block_bad_cmd.rs +1038 -0
  45. clud-2.4.0/crates/clud-bin/src/block_bad_cmd_rollout.rs +370 -0
  46. clud-2.4.0/crates/clud-bin/src/clud_settings.rs +1366 -0
  47. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/builder.rs +60 -7
  48. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/tests.rs +124 -26
  49. clud-2.4.0/crates/clud-bin/src/config.rs +389 -0
  50. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/console_title.rs +188 -17
  51. clud-2.4.0/crates/clud-bin/src/cpu_banner.rs +820 -0
  52. clud-2.4.0/crates/clud-bin/src/crash_report.rs +729 -0
  53. clud-2.4.0/crates/clud-bin/src/ctrl_c_track.rs +1379 -0
  54. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/README.md +46 -1
  55. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/attach.rs +3 -1
  56. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/client.rs +84 -7
  57. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/commands.rs +5 -0
  58. clud-2.4.0/crates/clud-bin/src/daemon/daemon_events.rs +198 -0
  59. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/entry.rs +185 -4
  60. clud-2.4.0/crates/clud-bin/src/daemon/gc_service/extern_repo.rs +49 -0
  61. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/gc_service/tests.rs +96 -82
  62. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/gc_service.rs +118 -5
  63. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/http/tests.rs +143 -0
  64. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/http.rs +553 -5
  65. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/io_helpers.rs +9 -0
  66. clud-2.4.0/crates/clud-bin/src/daemon/mod.rs +43 -0
  67. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/paths.rs +66 -2
  68. clud-2.4.0/crates/clud-bin/src/daemon/proc_sampler.rs +714 -0
  69. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/frame_lane.rs +9 -2
  70. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/payload.rs +6 -2
  71. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/tests.rs +9 -2
  72. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/server.rs +501 -49
  73. clud-2.4.0/crates/clud-bin/src/daemon/session_tmp_sweep.rs +152 -0
  74. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/sessions.rs +5 -0
  75. clud-2.4.0/crates/clud-bin/src/daemon/target_sweep.rs +209 -0
  76. clud-2.4.0/crates/clud-bin/src/daemon/top.rs +398 -0
  77. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/types.rs +195 -0
  78. clud-2.4.0/crates/clud-bin/src/daemon/uv_cache_sweep.rs +181 -0
  79. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/daemon_msgs.rs +29 -1
  80. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/mod.rs +4 -1
  81. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/session.rs +10 -0
  82. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/tests.rs +40 -0
  83. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/worker.rs +28 -0
  84. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/worker_shared.rs +16 -0
  85. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/injectors.rs +3 -0
  86. clud-2.4.0/crates/clud-bin/src/gc/cli.rs +818 -0
  87. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/gc/mod.rs +6 -3
  88. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/gc/registry.rs +1 -1
  89. clud-2.4.0/crates/clud-bin/src/gc/session_tmp.rs +312 -0
  90. clud-2.4.0/crates/clud-bin/src/gc/target_sweep.rs +254 -0
  91. clud-2.4.0/crates/clud-bin/src/gc/uv_cache.rs +348 -0
  92. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/gc_tests.rs +6 -5
  93. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/inspect.rs +26 -0
  94. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/mod.rs +2 -1
  95. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/prompts.rs +2 -0
  96. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/repairs.rs +85 -0
  97. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/types.rs +3 -0
  98. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/warnings.rs +4 -0
  99. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health_tests.rs +89 -0
  100. clud-2.4.0/crates/clud-bin/src/launch_log.rs +189 -0
  101. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/launch_setup.rs +158 -12
  102. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/lib.rs +30 -0
  103. clud-2.4.0/crates/clud-bin/src/log_event.rs +182 -0
  104. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/main.rs +239 -32
  105. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/optimize.rs +52 -6
  106. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/orphan_reaper.rs +356 -5
  107. clud-2.4.0/crates/clud-bin/src/path_norm.rs +287 -0
  108. clud-2.4.0/crates/clud-bin/src/repo_clud_config.rs +561 -0
  109. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/runner.rs +227 -2
  110. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session/interrupt.rs +1 -0
  111. clud-2.4.0/crates/clud-bin/src/session_index.rs +463 -0
  112. clud-2.4.0/crates/clud-bin/src/shell/README.md +49 -0
  113. clud-2.4.0/crates/clud-bin/src/shell/git_bash_resolver.rs +451 -0
  114. clud-2.4.0/crates/clud-bin/src/shell/mod.rs +12 -0
  115. clud-2.4.0/crates/clud-bin/src/shim_install.rs +232 -0
  116. clud-2.4.0/crates/clud-bin/src/shim_resolve.rs +338 -0
  117. clud-2.4.0/crates/clud-bin/src/shim_session.rs +225 -0
  118. clud-2.4.0/crates/clud-bin/src/shim_uv.rs +215 -0
  119. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/skill_install.rs +60 -11
  120. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/skills.rs +148 -9
  121. clud-2.4.0/crates/clud-bin/src/soldr_activate.rs +647 -0
  122. clud-2.4.0/crates/clud-bin/src/startup.rs +718 -0
  123. clud-2.4.0/crates/clud-bin/src/symbols.rs +297 -0
  124. clud-2.4.0/crates/clud-bin/src/tool_cli.rs +93 -0
  125. clud-2.4.0/crates/clud-bin/src/tool_info.rs +222 -0
  126. clud-2.4.0/crates/clud-bin/src/tool_install.rs +429 -0
  127. clud-2.4.0/crates/clud-bin/src/tool_ledger.rs +261 -0
  128. clud-2.4.0/crates/clud-bin/src/tool_list.rs +115 -0
  129. clud-2.4.0/crates/clud-bin/src/tool_log.rs +272 -0
  130. clud-2.4.0/crates/clud-bin/src/tool_query.rs +589 -0
  131. clud-2.4.0/crates/clud-bin/src/tool_run.rs +1317 -0
  132. clud-2.4.0/crates/clud-bin/src/tool_tee.rs +264 -0
  133. clud-2.4.0/crates/clud-bin/src/tool_termination.rs +345 -0
  134. clud-2.4.0/crates/clud-bin/src/tool_watchdog.rs +308 -0
  135. clud-2.4.0/crates/clud-bin/src/tools.rs +633 -0
  136. clud-2.4.0/crates/clud-bin/src/uv_run_hook_guard.rs +109 -0
  137. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/worktrees.rs +177 -13
  138. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/worktrees_tests.rs +71 -0
  139. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/README.md +2 -0
  140. clud-2.4.0/crates/clud-bin/tests/crash_report.rs +129 -0
  141. clud-2.4.0/crates/clud-bin/tests/symbols.rs +189 -0
  142. clud-2.4.0/crates/clud-bin/tests/telemetry_endpoint.rs +321 -0
  143. clud-2.4.0/crates/clud-bin/tests/win32_hooking_probe.rs +871 -0
  144. clud-2.4.0/crates/clud-bin/vendor/win32/git-bash-bin.toml +26 -0
  145. {clud-2.2.0 → clud-2.4.0}/pyproject.toml +5 -2
  146. clud-2.2.0/Cargo.toml +0 -21
  147. clud-2.2.0/crates/clud-bin/assets/skills/clud-improve/SKILL.md +0 -51
  148. clud-2.2.0/crates/clud-bin/assets/skills/clud-issue/SKILL.md +0 -46
  149. clud-2.2.0/crates/clud-bin/assets/skills/clud-pr/SKILL.md +0 -103
  150. clud-2.2.0/crates/clud-bin/src/clud_settings.rs +0 -489
  151. clud-2.2.0/crates/clud-bin/src/ctrl_c_track.rs +0 -499
  152. clud-2.2.0/crates/clud-bin/src/daemon/gc_service/extern_repo.rs +0 -189
  153. clud-2.2.0/crates/clud-bin/src/daemon/mod.rs +0 -30
  154. clud-2.2.0/crates/clud-bin/src/gc/cli.rs +0 -229
  155. clud-2.2.0/crates/clud-bin/src/startup.rs +0 -303
  156. {clud-2.2.0 → clud-2.4.0}/LICENSE +0 -0
  157. {clud-2.2.0 → clud-2.4.0}/README.md +0 -0
  158. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/LICENSE +0 -0
  159. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/README.md +0 -0
  160. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/hero-clud.jpg +0 -0
  161. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-docker-rust-app-dev/README.md +0 -0
  162. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-docker-rust-app-dev/SKILL.md +0 -0
  163. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-issue/README.md +0 -0
  164. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-issue-triage/README.md +0 -0
  165. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-loop/README.md +0 -0
  166. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-loop/SKILL.md +0 -0
  167. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-tag-release/README.md +0 -0
  168. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-tag-release/SKILL.md +0 -0
  169. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-windows-trash/README.md +0 -0
  170. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/assets/skills/clud-windows-trash/SKILL.md +0 -0
  171. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/build.rs +0 -0
  172. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/backend_bootstrap.rs +0 -0
  173. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/capture.rs +0 -0
  174. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/codex_hook_normalize.rs +0 -0
  175. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/codex_hook_normalize_tests.rs +0 -0
  176. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/README.md +0 -0
  177. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/loop_task.rs +0 -0
  178. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/mod.rs +0 -0
  179. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/prompts.rs +0 -0
  180. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/command/types.rs +0 -0
  181. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/console_input.rs +0 -0
  182. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/console_setup.rs +0 -0
  183. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/gc_service/filesystem.rs +0 -0
  184. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/gc_service/tests/parallel.rs +0 -0
  185. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/keys.rs +0 -0
  186. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/process_utils.rs +0 -0
  187. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/endpoint.rs +0 -0
  188. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/errors.rs +0 -0
  189. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/mod.rs +0 -0
  190. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/rp_broker/wire_mode.rs +0 -0
  191. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/error.rs +0 -0
  192. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/frame.rs +0 -0
  193. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/daemon/wire_prost/worker_msgs.rs +0 -0
  194. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/README.md +0 -0
  195. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/console_drop_target.rs +0 -0
  196. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/console_drop_target_tests.rs +0 -0
  197. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/dropfiles.rs +0 -0
  198. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/dnd/mod.rs +0 -0
  199. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/gc/reconcile.rs +0 -0
  200. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/gc/scanner.rs +0 -0
  201. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/graphics.rs +0 -0
  202. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/codex_trust.rs +0 -0
  203. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/hook_health/utils.rs +0 -0
  204. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/large_file_guard.rs +0 -0
  205. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/loop_artifacts.rs +0 -0
  206. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/loop_check.rs +0 -0
  207. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/loop_spec.rs +0 -0
  208. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/paste_image.rs +0 -0
  209. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/process_tree.rs +0 -0
  210. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/runtime_cache.rs +0 -0
  211. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session/bracketed_paste.rs +0 -0
  212. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session.rs +0 -0
  213. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session_registry.rs +0 -0
  214. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session_registry_tests.rs +0 -0
  215. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/session_tests.rs +0 -0
  216. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/stream_json.rs +0 -0
  217. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/subprocess.rs +0 -0
  218. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/trampoline.rs +0 -0
  219. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/trash.rs +0 -0
  220. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/ui.rs +0 -0
  221. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/verbose_log.rs +0 -0
  222. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/README.md +0 -0
  223. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/audio.rs +0 -0
  224. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/config.rs +0 -0
  225. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/cues.rs +0 -0
  226. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/linux_capture.rs +0 -0
  227. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/mod.rs +0 -0
  228. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/mode.rs +0 -0
  229. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/model.rs +0 -0
  230. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/recording.rs +0 -0
  231. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/voice/worker.rs +0 -0
  232. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/wasm.rs +0 -0
  233. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/src/win_creation_flags.rs +0 -0
  234. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/common/mod.rs +0 -0
  235. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/orphan_reap.rs +0 -0
  236. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/pty_behavior.rs +0 -0
  237. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/pty_pump.rs +0 -0
  238. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/shift_enter_dual_reader.rs +0 -0
  239. {clud-2.2.0 → clud-2.4.0}/crates/clud-bin/tests/utf8_codepage.rs +0 -0
  240. {clud-2.2.0 → clud-2.4.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.4.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,8 @@ dependencies = [
432
444
  "whisper-rs",
433
445
  "windows 0.61.3",
434
446
  "windows-core 0.61.2",
447
+ "windows-sys 0.59.0",
448
+ "zip",
435
449
  ]
436
450
 
437
451
  [[package]]
@@ -538,6 +552,30 @@ dependencies = [
538
552
  "libc",
539
553
  ]
540
554
 
555
+ [[package]]
556
+ name = "crash-context"
557
+ version = "0.6.3"
558
+ source = "registry+https://github.com/rust-lang/crates.io-index"
559
+ checksum = "031ed29858d90cfdf27fe49fae28028a1f20466db97962fa2f4ea34809aeebf3"
560
+ dependencies = [
561
+ "cfg-if",
562
+ "libc",
563
+ "mach2",
564
+ ]
565
+
566
+ [[package]]
567
+ name = "crash-handler"
568
+ version = "0.7.0"
569
+ source = "registry+https://github.com/rust-lang/crates.io-index"
570
+ checksum = "0df5c9639f4942eb7702b964b3f9adf03a55724a57558cc177407388a8b936e2"
571
+ dependencies = [
572
+ "cfg-if",
573
+ "crash-context",
574
+ "libc",
575
+ "mach2",
576
+ "parking_lot",
577
+ ]
578
+
541
579
  [[package]]
542
580
  name = "crc32fast"
543
581
  version = "1.5.0"
@@ -632,6 +670,17 @@ version = "0.11.0"
632
670
  source = "registry+https://github.com/rust-lang/crates.io-index"
633
671
  checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f"
634
672
 
673
+ [[package]]
674
+ name = "derive_arbitrary"
675
+ version = "1.4.2"
676
+ source = "registry+https://github.com/rust-lang/crates.io-index"
677
+ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
678
+ dependencies = [
679
+ "proc-macro2",
680
+ "quote",
681
+ "syn",
682
+ ]
683
+
635
684
  [[package]]
636
685
  name = "derive_more"
637
686
  version = "2.1.1"
@@ -1461,7 +1510,7 @@ dependencies = [
1461
1510
 
1462
1511
  [[package]]
1463
1512
  name = "mock-agent"
1464
- version = "2.2.0"
1513
+ version = "2.4.0"
1465
1514
  dependencies = [
1466
1515
  "libc",
1467
1516
  "serde_json",
@@ -1928,13 +1977,21 @@ dependencies = [
1928
1977
  "syn",
1929
1978
  ]
1930
1979
 
1980
+ [[package]]
1981
+ name = "probe-dll"
1982
+ version = "2.4.0"
1983
+
1984
+ [[package]]
1985
+ name = "probe-target"
1986
+ version = "2.4.0"
1987
+
1931
1988
  [[package]]
1932
1989
  name = "proc-macro-crate"
1933
1990
  version = "3.5.0"
1934
1991
  source = "registry+https://github.com/rust-lang/crates.io-index"
1935
1992
  checksum = "e67ba7e9b2b56446f1d419b1d807906278ffa1a658a8a5d8a39dcb1f5a78614f"
1936
1993
  dependencies = [
1937
- "toml_edit",
1994
+ "toml_edit 0.25.11+spec-1.1.0",
1938
1995
  ]
1939
1996
 
1940
1997
  [[package]]
@@ -2428,6 +2485,15 @@ dependencies = [
2428
2485
  "zmij",
2429
2486
  ]
2430
2487
 
2488
+ [[package]]
2489
+ name = "serde_spanned"
2490
+ version = "0.6.9"
2491
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2492
+ checksum = "bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3"
2493
+ dependencies = [
2494
+ "serde",
2495
+ ]
2496
+
2431
2497
  [[package]]
2432
2498
  name = "serde_yaml"
2433
2499
  version = "0.9.34+deprecated"
@@ -2724,6 +2790,27 @@ dependencies = [
2724
2790
  "zerovec",
2725
2791
  ]
2726
2792
 
2793
+ [[package]]
2794
+ name = "toml"
2795
+ version = "0.8.23"
2796
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2797
+ checksum = "dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362"
2798
+ dependencies = [
2799
+ "serde",
2800
+ "serde_spanned",
2801
+ "toml_datetime 0.6.11",
2802
+ "toml_edit 0.22.27",
2803
+ ]
2804
+
2805
+ [[package]]
2806
+ name = "toml_datetime"
2807
+ version = "0.6.11"
2808
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2809
+ checksum = "22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c"
2810
+ dependencies = [
2811
+ "serde",
2812
+ ]
2813
+
2727
2814
  [[package]]
2728
2815
  name = "toml_datetime"
2729
2816
  version = "1.1.1+spec-1.1.0"
@@ -2733,6 +2820,20 @@ dependencies = [
2733
2820
  "serde_core",
2734
2821
  ]
2735
2822
 
2823
+ [[package]]
2824
+ name = "toml_edit"
2825
+ version = "0.22.27"
2826
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2827
+ checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a"
2828
+ dependencies = [
2829
+ "indexmap",
2830
+ "serde",
2831
+ "serde_spanned",
2832
+ "toml_datetime 0.6.11",
2833
+ "toml_write",
2834
+ "winnow 0.7.15",
2835
+ ]
2836
+
2736
2837
  [[package]]
2737
2838
  name = "toml_edit"
2738
2839
  version = "0.25.11+spec-1.1.0"
@@ -2740,10 +2841,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
2740
2841
  checksum = "0b59c4d22ed448339746c59b905d24568fcbb3ab65a500494f7b8c3e97739f2b"
2741
2842
  dependencies = [
2742
2843
  "indexmap",
2743
- "toml_datetime",
2844
+ "toml_datetime 1.1.1+spec-1.1.0",
2744
2845
  "toml_parser",
2745
2846
  "toml_writer",
2746
- "winnow",
2847
+ "winnow 1.0.1",
2747
2848
  ]
2748
2849
 
2749
2850
  [[package]]
@@ -2752,9 +2853,15 @@ version = "1.1.2+spec-1.1.0"
2752
2853
  source = "registry+https://github.com/rust-lang/crates.io-index"
2753
2854
  checksum = "a2abe9b86193656635d2411dc43050282ca48aa31c2451210f4202550afb7526"
2754
2855
  dependencies = [
2755
- "winnow",
2856
+ "winnow 1.0.1",
2756
2857
  ]
2757
2858
 
2859
+ [[package]]
2860
+ name = "toml_write"
2861
+ version = "0.1.2"
2862
+ source = "registry+https://github.com/rust-lang/crates.io-index"
2863
+ checksum = "5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801"
2864
+
2758
2865
  [[package]]
2759
2866
  name = "toml_writer"
2760
2867
  version = "1.1.1+spec-1.1.0"
@@ -3551,6 +3658,15 @@ version = "0.52.6"
3551
3658
  source = "registry+https://github.com/rust-lang/crates.io-index"
3552
3659
  checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
3553
3660
 
3661
+ [[package]]
3662
+ name = "winnow"
3663
+ version = "0.7.15"
3664
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3665
+ checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
3666
+ dependencies = [
3667
+ "memchr",
3668
+ ]
3669
+
3554
3670
  [[package]]
3555
3671
  name = "winnow"
3556
3672
  version = "1.0.1"
@@ -3804,12 +3920,41 @@ dependencies = [
3804
3920
  "syn",
3805
3921
  ]
3806
3922
 
3923
+ [[package]]
3924
+ name = "zip"
3925
+ version = "2.4.2"
3926
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3927
+ checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50"
3928
+ dependencies = [
3929
+ "arbitrary",
3930
+ "crc32fast",
3931
+ "crossbeam-utils",
3932
+ "displaydoc",
3933
+ "flate2",
3934
+ "indexmap",
3935
+ "memchr",
3936
+ "thiserror 2.0.18",
3937
+ "zopfli",
3938
+ ]
3939
+
3807
3940
  [[package]]
3808
3941
  name = "zmij"
3809
3942
  version = "1.0.21"
3810
3943
  source = "registry+https://github.com/rust-lang/crates.io-index"
3811
3944
  checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa"
3812
3945
 
3946
+ [[package]]
3947
+ name = "zopfli"
3948
+ version = "0.8.3"
3949
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3950
+ checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249"
3951
+ dependencies = [
3952
+ "bumpalo",
3953
+ "crc32fast",
3954
+ "log",
3955
+ "simd-adler32",
3956
+ ]
3957
+
3813
3958
  [[package]]
3814
3959
  name = "zune-core"
3815
3960
  version = "0.5.1"
clud-2.4.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.4.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.4.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"
@@ -86,6 +104,20 @@ tempfile = "3"
86
104
  # the upstream rule ("never compiled into production consumers").
87
105
  running-process = { version = "4.3.0", default-features = false, features = ["telemetry", "client", "originator-scan", "test-seams"] }
88
106
 
107
+ [target.'cfg(target_os = "windows")'.dev-dependencies]
108
+ # #468: ignored Win32 feasibility probe for user-land process/file
109
+ # observation. Kept test-only so no production dependency graph changes.
110
+ windows-sys = { version = "0.59", features = [
111
+ "Win32_Foundation",
112
+ "Win32_Security",
113
+ "Win32_System_Diagnostics_Debug",
114
+ "Win32_System_IO",
115
+ "Win32_System_JobObjects",
116
+ "Win32_System_LibraryLoader",
117
+ "Win32_System_Memory",
118
+ "Win32_System_Threading",
119
+ ] }
120
+
89
121
  [build-dependencies]
90
122
  prost-build = "0.14"
91
123
  protox = "0.9"
@@ -145,3 +177,17 @@ windows-core = "0.61"
145
177
  [[bin]]
146
178
  name = "clud"
147
179
  path = "src/main.rs"
180
+
181
+ # Slice 1 of #406 / #409: tiny PATH-resolved relay that lives at
182
+ # `~/.clud/state/shims/python` etc. so any `python` invocation inside a
183
+ # clud session goes through the daemon's ResolveInterpreter RPC.
184
+ # Currently shares clud-bin's dep tree; the size-budget enforcement +
185
+ # release-shim profile lands in slice 4 (#412) when the binary is
186
+ # bundled into wheels.
187
+ [[bin]]
188
+ name = "clud-shim"
189
+ path = "src/bin/clud_shim.rs"
190
+
191
+ [[bin]]
192
+ name = "clud-block-bad-cmd"
193
+ 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