Commit Graph

1627 Commits

Author SHA1 Message Date
argenis de la rosa
b313ce9bcb feat(onboarding): remove OpenRouter default, require explicit provider selection
Breaking changes:
- Quick setup now requires --provider flag (no default)
- TUI wizard requires provider selection (no pre-selection)
- Docker compose requires PROVIDER env var
- .env.example no longer defaults to openrouter

Changes:
- wizard.rs: Remove hardcoded "openrouter" defaults, require explicit provider
- tui.rs: Add provider placeholder, require selection before proceeding
- .env.example: Use provider-neutral placeholders
- docker-compose.yml: Require PROVIDER to be explicitly set
- docs: Update examples to be provider-agnostic

This makes ZeroClaw truly provider-agnostic - users must choose
their preferred LLM provider rather than being pushed toward OpenRouter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:01:40 -05:00
Argenis
6e8d41e042
Merge pull request #2813 from zeroclaw-labs/replay/pr-2809-main-20260305
chore: remove Linear and Hetzner integrations
2026-03-05 02:18:01 -05:00
argenis de la rosa
2dba3b5e57 chore: remove Linear and Hetzner integrations (replay #2809) 2026-03-05 02:17:32 -05:00
Argenis
5e40c7bc2d
Merge pull request #2812 from zeroclaw-labs/replay/pr-2797-main-20260305
fix(cron,security,onboarding): unify shell policy and custom-home-safe persistence
2026-03-05 02:14:07 -05:00
argenis de la rosa
d8c716f99a fix(cron,security,onboarding): unify shell policy and custom-home-safe persistence (replay #2797) 2026-03-05 02:13:43 -05:00
argenis de la rosa
f6870ff733 feat(integrations): support lmstudio custom connector endpoint (replay #2709) 2026-03-05 02:07:10 -05:00
Argenis
7c22088807
Merge pull request #2708 from zeroclaw-labs/issue-2679-audit-log-init
fix(audit): initialize log file when audit logging is enabled
2026-03-05 01:53:47 -05:00
Argenis
50d5199caa
Merge pull request #2681 from zeroclaw-labs/issue-2590-semantic-vectordb-guard
feat(security): add semantic vectordb guard and corpus updater
2026-03-05 01:53:39 -05:00
Argenis
dc514cf5ef
Merge pull request #2592 from zeroclaw-labs/issue-2472-enhanced-recall-safe
feat(memory): multi-query expansion with error-safe recall
2026-03-05 01:53:35 -05:00
Argenis
1c8392561d
Merge pull request #2577 from zeroclaw-labs/issue-2503-napcat-channel
feat(channels): add napcat/onebot onboarding and config UI
2026-03-05 01:53:31 -05:00
Argenis
f10ad8ed69
Merge pull request #2576 from zeroclaw-labs/issue-2510-activation-warning
fix(config): report initialized state correctly on load
2026-03-05 01:53:28 -05:00
Argenis
26cdebff5a
Merge pull request #2574 from zeroclaw-labs/issue-2460-group-sender-identity
fix(channels): include telegram sender identity in group LLM prompts
2026-03-05 01:53:25 -05:00
Argenis
84e530b54a
Merge pull request #2565 from zeroclaw-labs/issue-2551-codex-ws-sse-fallback
fix(provider): fallback to sse on codex websocket no-response
2026-03-05 01:53:20 -05:00
Argenis
4e552654b9
Merge pull request #2496 from zeroclaw-labs/issue-2486-skill-invocation-links
fix(skills): allow safe cross-skill markdown references
2026-03-05 01:53:17 -05:00
Argenis
63acfefe30
Merge pull request #2345 from zeroclaw-labs/issue-2274-crm-heartbeat
feat(heartbeat): add lightweight proactive task dedupe and per-tick caps
2026-03-05 01:53:13 -05:00
Argenis
d22657fac0
Merge pull request #2323 from zeroclaw-labs/pr-1837-s34-main-rebased
feat(hardware): replay pico toolchain + prompt wiring on main [RMN-1837]
2026-03-05 01:53:06 -05:00
Argenis
e160922872
Merge pull request #2288 from zeroclaw-labs/pr-2049-mainfix
fix(security): deny approval-required tools on non-CLI channels
2026-03-05 01:53:03 -05:00
Argenis
35c21c4fdf
Merge branch 'main' into wt-electric-blue-live 2026-03-05 01:27:09 -05:00
argenis de la rosa
0ce9434a09 fix(pr-2804): resolve main merge conflicts for dashboard release 2026-03-05 01:23:45 -05:00
Preventnetworkhacking
070a7ffeac fix(gateway): preserve handler Cache-Control + add error response test
- Use entry().or_insert() for Cache-Control so SSE no-cache is preserved
- Add security_headers_are_set_on_error_responses test
- Addresses CodeRabbit review feedback on #2476
2026-03-04 13:46:16 -05:00
Preventnetworkhacking
a4e04d0f93 feat(gateway): add security response headers 2026-03-04 13:46:16 -05:00
argenis de la rosa
848f36c371 fix(nextcloud): support Activity Streams 2.0 Talk webhooks
(cherry picked from commit 30fe8c7685)
2026-03-04 13:44:12 -05:00
argenis de la rosa
edf43d681f fix(discord): treat application/ogg as audio for transcription 2026-03-04 13:36:18 -05:00
argenis de la rosa
877f94990e fix(channels,runtime): backport discord transcription and WSL shell guard 2026-03-04 13:36:18 -05:00
argenis de la rosa
41b3db39b7 fix(matrix): break OTK conflict retry loop
(cherry picked from commit 851a3e339b)
2026-03-04 13:33:35 -05:00
argenis de la rosa
9fd73601c8 feat(skills): load skill bodies on demand in compact mode 2026-03-04 13:30:15 -05:00
argenis de la rosa
35811c837e fix(onboarding): unlock overwrite toggle in TUI flow 2026-03-04 06:57:15 -05:00
argenis de la rosa
5ac14e28b2 feat(onboarding): make TUI wizard default one-click flow 2026-03-04 06:38:35 -05:00
argenis de la rosa
82b715304f docs(config): clarify fallback_api_keys contract 2026-03-04 05:52:37 -05:00
argenis de la rosa
d595e2f692 fix(ci): fail hard on required rust components
- validate reliability.fallback_api_keys mappings and values

- assert primary mock in fallback API key regression test

- avoid logging tainted fallback entries
2026-03-04 05:52:37 -05:00
argenis de la rosa
5232e3e1d9 feat(reliability): support per-fallback API keys for custom endpoints 2026-03-04 05:52:37 -05:00
argenis de la rosa
ea9cda1083 docs(config): clarify custom auth_header compatibility contract 2026-03-04 05:38:56 -05:00
argenis de la rosa
b31491bf38 fix(providers): harden custom auth_header resolution 2026-03-04 05:38:56 -05:00
argenis de la rosa
3a8e7d6edf feat(providers): support custom auth_header for custom endpoints 2026-03-04 05:38:56 -05:00
argenis de la rosa
c09b1c0aaa test(channels): ensure runtime config cleanup before assert 2026-03-04 05:37:33 -05:00
argenis de la rosa
2f19d5ec49 fix(channels): use routed provider for channel startup
Initialize channel runtime providers through routed provider construction so model_routes, hint defaults, and route-scoped credentials are honored.

Add a regression test that verifies start_channels succeeds when global provider credentials are absent but route-level config is present.

Refs #2537
2026-03-04 05:37:33 -05:00
argenis de la rosa
8dc4f3722b fix(daemon): add shutdown grace window and signal hint parity 2026-03-04 05:37:30 -05:00
argenis de la rosa
9c2f8efa70 fix(daemon): handle sigterm shutdown signal
Wait for either SIGINT or SIGTERM on Unix so daemon mode behaves correctly under container and process-manager termination flows.

Record signal-specific shutdown reasons and add unit tests for shutdown signal labeling.

Refs #2529
2026-03-04 05:37:30 -05:00
argenis de la rosa
4b45802bf7 fix(audit): initialize log file when audit logging is enabled 2026-03-04 04:18:24 -05:00
killf
02cf1a558a
Merge pull request #2680 from zeroclaw-labs/fix/skill-location-path-normalization
fix(skills): normalize path separators to forward slashes for XML output
2026-03-04 10:51:05 +08:00
Argenis
289b406d0d
Merge pull request #2675 from zeroclaw-labs/hotfix/main-ci-red-20260303
fix(ci): unblock main lint and codeql regressions
2026-03-03 21:08:19 -05:00
argenis de la rosa
f2e23b35fc feat(security): add semantic vectordb guard and corpus updater 2026-03-03 20:31:26 -05:00
killf
c697497e34 fix(skills): normalize path separators to forward slashes for XML output
On Windows, file paths use backslashes (\) but the test expected forward
slashes (/). The render_skill_location function now normalizes all path
separators to forward slashes for consistent XML output across platforms.

This fixes the failing test:
prompt_skills_compact_mode_omits_instructions_and_tools

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-04 09:20:47 +08:00
argenis de la rosa
8ac7879d43 fix(skills): avoid merge conflicts by fully qualifying symlink test refs 2026-03-03 20:17:20 -05:00
killf
535f23b5c3
Merge pull request #2677 from zeroclaw-labs/fix/one-time-approval-bypass-token
fix(agent): one-time non-cli allow-all token now bypasses all approvals
2026-03-04 09:08:01 +08:00
argenis de la rosa
8a5e17d6f3 fix(skills): keep symlink test helpers in scope on merge 2026-03-03 20:07:36 -05:00
killf
d286ecf820 fix(test): align session grant test with actual behavior
The test `run_tool_call_loop_uses_non_cli_session_grant_without_waiting_for_prompt`
was expecting session grant to bypass interactive approval for shell tool, but
session grant only bypasses non-interactive approvals by design.

Fix: add shell to auto_approve list in test config so echo hi doesn't require
interactive approval, allowing session grant to work as intended.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-04 09:05:16 +08:00
killf
4dbfd171f6
Merge pull request #2676 from zeroclaw-labs/fix/one-time-approval-bypass-token
fix(agent): one-time non-cli allow-all token now bypasses all approvals
2026-03-04 08:56:40 +08:00
killf
5d38843f38 fix(agent): one-time non-cli allow-all token now bypasses all approvals
Previously, the one-time `non_cli_allow_all_once` token only bypassed
non-interactive approvals due to a condition that required
`!requires_interactive_approval`. This caused tools like `shell`
(which require interactive approval in supervised mode) to be blocked
even when the one-time bypass token was consumed.

Fix: Separate the bypass logic:
- One-time bypass token: bypass ALL approvals (including interactive)
- Session grant: bypass only non-interactive approvals (unchanged)

This fixes the failing test
`run_tool_call_loop_consumes_one_time_non_cli_allow_all_token`.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-04 08:55:29 +08:00
argenis de la rosa
cc53ba6685 fix(gateway): clarify public-bind warning wording 2026-03-03 19:54:57 -05:00