opencrabs 0.3.57

The autonomous, self-improving AI agent. Single Rust binary. Every channel. Install with: cargo install opencrabs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
/// Process-wide lock for tests that override the global `$HOME` env var. Each
/// such test file used to keep its own Mutex, which only serialized within that
/// file — across files they raced, one test's HOME override clobbering another's
/// mid-run. Every HOME-mutating test must take THIS shared lock.
pub static HOME_ENV_LOCK: std::sync::Mutex<()> = std::sync::Mutex::new(());

pub mod a2a_agent_card_test;
pub mod a2a_debate_test;
pub mod a2a_handler_tasks_test;
pub mod a2a_handler_test;
pub mod a2a_server_test;
pub mod a2a_types_test;
pub mod active_skill_tracking_test;
pub mod agent_approval_policies_test;
pub mod agent_basic_test;
pub mod agent_context_tracking_test;
pub mod agent_model_selection_test;
pub mod agent_parallel_sessions_test;
pub mod agent_service_mocks;
pub mod agent_streaming_usage_test;
pub mod agent_tool_normalization_test;
pub mod altgr_input_test;
pub mod analysis_intent_nudge_test;
pub mod analyze_video_fallback_test;
pub mod auto_title_e2e_test;
pub mod auto_title_test;
pub mod background_session_test;
pub mod baseline_merge_test;
pub mod bash_blocklist_test;
pub mod bash_feedback_enrichment_test;
pub mod bash_interactive_reject_test;
pub mod bash_posix_quote_test;
pub mod bash_retry_loop_test;
pub mod bash_ssh_detection_test;
pub mod brain_agent_context_test;
pub mod brain_agent_service_phantom_lang_test;
pub mod brain_agent_service_phantom_test;
pub mod brain_commands_test;
pub mod brain_file_generic_guard_test;
pub mod brain_file_safety_test;
pub mod brain_filter_strip_empty_sections_test;
pub mod brain_live_rebuild_test;
pub mod brain_project_overlay_test;
pub mod brain_prompt_builder_test;
pub mod brain_provider_anthropic_test;
pub mod brain_provider_codex_oauth_test;
pub mod brain_provider_copilot_test;
pub mod brain_provider_error_test;
pub mod brain_provider_factory_test;
pub mod brain_provider_json_repair_test;
pub mod brain_provider_qwen_test;
pub mod brain_provider_trait_test;
pub mod brain_provider_types_test;
pub mod brain_self_update_test;
pub mod brain_templates_test;
pub mod brain_tokenizer_test;
pub mod brain_tools_a2a_send_test;
pub mod brain_tools_bash_test;
pub mod brain_tools_brave_search_test;
#[cfg(feature = "browser")]
pub mod brain_tools_browser_manager_test;
pub mod brain_tools_config_tool_test;
pub mod brain_tools_doc_parser_test;
pub mod brain_tools_dynamic_loader_test;
pub mod brain_tools_dynamic_tool_test;
pub mod brain_tools_error_test;
pub mod brain_tools_exa_search_test;
pub mod brain_tools_fuzzy_test;
pub mod brain_tools_hashline_hash_test;
pub mod brain_tools_hashline_types_test;
pub mod brain_tools_load_brain_file_tests;
pub mod brain_tools_memory_search_test;
pub mod brain_tools_read_test;
pub mod brain_tools_registry_test;
pub mod brain_tools_slash_command_test;
pub mod brain_tools_subagent_status_test;
pub mod brain_tools_tool_manage_test;
pub mod brain_tools_trait_test;
pub mod brain_tools_write_opencrabs_file_tests;
pub mod brain_tools_write_test;
pub mod browser_cdp_endpoint_test;
pub mod browser_close_test;
pub mod browser_default_linux_test;
pub mod browser_default_test;
pub mod browser_default_windows_test;
pub mod browser_drop_test;
pub mod browser_e2e_test;
pub mod browser_eval_cap_test;
pub mod browser_find_test;
pub mod browser_health_test;
pub mod browser_locks_test;
pub mod browser_profile_wait_test;
pub mod browser_screenshot_surface_test;
pub mod browser_session_test;
pub mod browser_stealth_test;
pub mod build_user_message_image_test;
pub mod bundled_plans_test;
pub mod candle_whisper_test;
pub mod channel_action_test;
pub mod channel_command_owner_gate_test;
pub mod channel_search_test;
pub mod channel_session_resolve_test;
#[cfg(feature = "telegram")]
pub mod channels_telegram_cowork_test;
#[cfg(feature = "telegram")]
pub mod channels_telegram_session_resolve_test;
pub mod channels_tests;
pub mod channels_voice_service_test;
pub mod claude_cli_model_test;
pub mod cli_arg_too_long_test;
pub mod cli_supported_models_test;
pub mod cli_test;
pub mod clipboard_image_paste_test;
pub mod codex_cli_test;
pub mod collapse_build_output_test;
pub mod collapse_home_test;
pub mod command_rich_table_test;
pub mod compaction_prompts_test;
pub mod compaction_test;
pub mod config_crabrace_test;
pub mod config_dotted_caps_test;
pub mod config_last_good_recovery_test;
pub mod config_owner_seed_migration_test;
pub mod config_repair_test;
pub mod config_secrets_test;
pub mod config_types_loader_test;
pub mod config_update_test;
pub mod config_watcher_test;
pub mod context_window_test;
#[cfg(feature = "telegram")]
pub mod cowork_connect_test;
pub mod cron_profile_isolation_test;
pub mod cron_schedule_util_test;
pub mod cron_test;
pub mod cron_tool_registry_test;
pub mod cross_provider_model_leak_guard_test;
pub mod custom_model_paste_test;
pub mod custom_provider_cache_autoenable_test;
pub mod custom_provider_live_fetch_regression_test;
pub mod custom_provider_rename_keys_toml_test;
pub mod custom_provider_section_resolver_test;
pub mod db_database_test;
pub mod db_models_test;
pub mod db_repository_channel_message_test;
pub mod db_repository_file_test;
pub mod db_repository_message_test;
pub mod db_repository_plan_test;
pub mod db_repository_project_test;
pub mod db_repository_session_test;
pub mod db_retry_test;
pub mod git_branch_test;
pub mod glob_tool_test;
pub mod goal_command_test;
pub mod intermediate_text_strip_guard_test;
pub mod logging_log_files_test;
pub mod logging_logger_test;
pub mod markdown_render_test;
pub mod memory_search_test;
pub mod memory_store_test;
pub mod mimo_tool_call_hint_test;
pub mod mission_control_command_test;
pub mod mission_control_report_test;
pub mod new_session_pane_binding_test;
pub mod phantom_going_to_test;
pub mod phantom_work_announcement_test;
pub mod profile_pid_lock_test;
pub mod profile_preempt_test;
pub mod profiles_dialog_test;
pub mod rsi_notification_redaction_test;
pub mod rsi_pruned_test;
pub mod rsi_sync_cap_bail_test;
#[cfg(target_os = "linux")]
pub mod service_scope_test;
pub mod services_context_test;
pub mod services_file_test;
pub mod services_message_test;
pub mod services_plan_test;
pub mod services_project_test;
pub mod services_session_test;
pub mod systemd_unit_test;
pub mod tools_md_regression_test;
// Unix-only: drives Config::load via a temp HOME override. On Windows
// `dirs::home_dir()` uses the Win32 `SHGetKnownFolderPath` API rather
// than env vars, so the HomeGuard has no effect and Config::load
// reads the runner's real profile. The fix would require an explicit
// test hook in Config::load — out of scope for what the test verifies.
#[cfg(unix)]
pub mod custom_provider_no_models_test;
pub mod custom_provider_test;
pub mod daemon_health_test;
pub mod doc_parser_page_range_test;
pub mod dynamic_tool_coerce_test;
pub mod dynamic_tool_parse_error_test;
pub mod evolve_diagnose_test;
pub mod evolve_systemd_restart_test;
pub mod evolve_test;
pub mod exa_search_test;
pub mod follow_up_intermediate_flush_test;
pub mod follow_up_question_test;
pub mod format_user_error_test;
pub mod gemini_fetch_test;
pub mod gemini_schema_sanitize_test;
pub mod generate_image_backend_test;
pub mod github_provider_test;
pub mod html_comment_strip_test;
pub mod http_request_test;
pub mod onboard_channel_test;
pub mod openai_provider_test;
pub mod opencode_provider_test;
pub mod rate_limiter_test;
pub mod read_media_redirect_test;
pub mod recent_paths_test;
pub mod sanitize_code_edit_block_test;
pub mod sanitize_redaction_test;
pub mod tool_description_redaction_test;
pub mod tool_execution_stats_test;
//pub mod error_scenarios_test;
pub mod fallback_streak_test;
pub mod fallback_vision_test;
pub mod feedback_policy_test;
pub mod file_extract_test;
pub mod handshake_timeout_test;
pub mod hashline_test;
pub mod image_util_test;
pub mod incident_log_dedup_test;
//pub mod integration_test;
pub mod kimi_reasoning_test;
pub mod lazy_tools_test;
pub mod local_provider_gate_test;
pub mod mouse_fragment_filter_test;
pub mod nonstream_compat_test;
pub mod onboarding_brain_test;
pub mod onboarding_custom_model_input_test;
pub mod onboarding_field_nav_test;
pub mod onboarding_keys_test;
pub mod onboarding_navigation_test;
pub mod onboarding_no_silent_commit_test;
pub mod onboarding_types_test;
pub mod onboarding_user_scroll_test;
pub mod onboarding_welcome_test;
pub mod onboarding_wizard_test;
pub mod orphan_close_tag_strip_test;
pub mod orphan_think_close_tag_test;
pub mod owner_resolve_test;
pub mod phantom_cleanup_intent_test;
pub mod phantom_db_persistence_test;
pub mod phantom_deferment_test;
pub mod phantom_post_success_exemption_test;
pub mod phantom_pronoun_drop_test;
pub mod plan_document_test;
pub mod plan_reminder_test;
pub mod plan_tool_description_test;
pub mod plan_tool_test;
pub mod plan_window_test;
pub mod post_evolve_test;
pub mod project_file_archive_test;
pub mod project_file_slug_test;
pub mod project_skills_test;
pub mod project_test;
pub mod prompt_compiled_features_test;
pub mod prompt_inline_edit_directive_test;
pub mod prompt_known_paths_test;
pub mod provider_config_regression_test;
pub mod provider_context_window_override_test;
pub mod provider_error_proxy_test;
pub mod provider_factory_regression_test;
pub mod provider_picker_setup_hint_test;
pub mod provider_registry_test;
pub mod provider_retry_consolidation_test;
pub mod provider_sync_test;
pub mod qr_render_test;
pub mod queued_message_test;
pub mod qwen_detect_test;
pub mod qwen_tool_extractor_test;
pub mod qwen_tool_marker_strip_test;
pub mod reasoning_lines_test;
pub mod rename_session_test;
#[cfg(feature = "rtk")]
pub mod rtk_autodownload_test;
#[cfg(feature = "rtk")]
pub mod rtk_rewrite_test;
#[cfg(feature = "rtk")]
pub mod rtk_tracker_test;
pub mod tui_app_state_test;
pub mod tui_components_logo_test;
pub mod tui_events_test;
pub mod tui_highlight_test;
pub mod tui_markdown_test;
pub mod tui_plan_tests_test;
pub mod tui_prompt_analyzer_test;
pub mod tui_render_utils_test;
pub mod usage_categorizer_test;
pub mod usage_dashboard_test;
pub mod usage_data_test;
pub mod utils_file_extract_test;
pub mod utils_install_test;
pub mod utils_retry_test;
pub mod utils_sanitize_test;
pub mod utils_string_test;
mod xiaomi_config_default_test;
mod xiaomi_keyed_provider_regression_test;
mod xiaomi_onboarding_test;
//pub mod plan_mode_integration_test;
pub mod session_working_dir_test;
pub mod slack_fmt_test;
pub mod stream_loop_test;
pub mod streaming_active_secs_test;
pub mod streaming_tok_per_sec_guard_test;
pub mod streaming_tps_accumulator_test;
pub mod stt_fallback_chain_test;
pub mod system_continuation_test;
pub mod telegram_reply_context_recovery_test;
pub mod tts_fallback_chain_test;
pub mod voice_openai_compatible_test;
pub mod voice_voicebox_test;
//pub mod streaming_test;
pub mod merge_provider_keys_test;
pub mod mission_control_activity_service_test;
pub mod mission_control_dedup_detail_test;
pub mod mission_control_inbox_service_test;
pub mod mission_control_input_test;
pub mod mission_control_layout_test;
pub mod mission_control_schedule_service_test;
pub mod mission_control_skill_inbox_test;
pub mod model_fetch_test;
pub mod profile_test;
pub mod rsi_brain_dedup_test;
pub mod rsi_fallback_wrap_test;
pub mod rsi_git_history_test;
pub mod rsi_prompt_triage_test;
pub mod rsi_proposals_test;
pub mod rsi_self_improve_dedup_test;
pub mod rsi_skill_proposals_test;
pub mod rsi_subsystem_test;
pub mod rsi_sync_test;
pub mod rsi_test;
#[cfg(feature = "rtk")]
pub mod rtk_sysadmin_supported_test;
pub mod runtime_info_home_anchor_test;
pub mod self_healing_test;
pub mod self_improve_failure_log_guard_test;
pub mod self_improve_guard_test;
pub mod self_update_path_test;
pub mod session_chat_id_lookup_test;
pub mod session_provider_wrap_test;
pub mod skill_slash_dispatch_test;
pub mod skills_dialog_test;
pub mod skills_test;
pub mod slash_autocomplete_dimensions_test;
pub mod split_pane_test;
pub mod subagent_test;
pub mod subagent_tool_description_test;
pub mod telegram_resume_test;
pub mod telegram_session_resolve_test;
pub mod template_governance_test;
pub mod token_tracking_test;
pub mod tool_arg_unescape_test;
pub mod tool_execution_repo_test;
pub mod tool_loop_helpers_test;
pub mod tool_name_heal_test;
pub mod tui_drop_path_test;
pub mod tui_error_test;
pub mod tui_render_clear_test;
pub mod usage_activity_columns_test;
pub mod usage_cache_test;
pub mod usage_cosmetic_alias_test;
pub mod usage_grouping_test;
pub mod usage_ledger_test;
pub mod user_correction_metadata_test;
pub mod voice_onboarding_test;
pub mod voice_stt_dispatch_test;
pub mod wait_agent_resolver_test;
pub mod web_browser_routing_test;
pub mod whatsapp_state_test;

// Channel handler tests (moved from inline #[cfg(test)] modules)
pub mod brain_tools_whatsapp_send_test;
pub mod channel_commands_test;
pub mod discord_handler_test;
pub mod pdf_page_range_parser_test;
pub mod pdf_smart_routing_test;
pub mod pdf_to_images_test;
pub mod pdf_vision_test;
pub mod slack_handler_test;
mod telegram_acl_test;
mod telegram_caption_test;
pub mod telegram_command_sanitize_test;
pub mod telegram_handler_test;
pub mod telegram_impersonation_test;
pub mod telegram_join_detection_test;
pub mod telegram_last_intermediate_footer_test;
pub mod telegram_model_callback_data_test;
pub mod telegram_photo_batching_test;
pub mod telegram_plan_render_test;
pub mod telegram_pre_tool_rolling_test;
pub mod telegram_quote_reply_test;
pub mod telegram_rich_parse_test;
pub mod telegram_rich_test;
pub mod telegram_send_input_file_test;
pub mod telegram_send_thread_id_override_test;
pub mod telegram_status_message_test;
pub mod telegram_thread_id_lookup_test;
pub mod telegram_topic_listing_test;
pub mod text_complete_test;
pub mod tui_tool_stack_test;
#[cfg(feature = "local-tts")]
pub mod voice_local_tts_test;
#[cfg(feature = "local-stt")]
pub mod voice_local_whisper_test;
pub mod voice_service_test;
pub mod whatsapp_handler_test;
pub mod whatsapp_owner_filter_test;
pub mod whatsapp_photo_batching_test;
pub mod whatsapp_qr_replay_test;
pub mod whatsapp_store_test;
pub mod word_delete_keybinding_test;