Commit Graph

1573 Commits

Author SHA1 Message Date
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
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
Argenis
1a371c9ca9
Merge pull request #1754 from LupoGrigi0/fix/release-v0.1.8-build-errors
fix(build): remove duplicate ModelProviderConfig and fix App.tsx destructure (RMN-298)
2026-03-03 19:48:55 -05:00
killf
f6fdf0545b fix(test): resolve compilation errors and warnings
- Fix missing canary_tokens_enabled parameter in run_tool_call_loop_with_non_cli_approval_context test call
- Remove unused imports in symlink_tests.rs (Config, handle_command, load_skills_with_config, SkillCommands)
- Remove unused import async_trait in plugins/loader.rs tests
- Prefix unused approval_manager variables with underscore in 5 channel test functions

Resolves compilation errors that prevented cargo test from completing and clears all unused import/variable warnings.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-04 08:34:48 +08:00
argenis de la rosa
6bdcb4417c fix(ci): unblock main lint and codeql gates 2026-03-03 19:03:29 -05:00
argenis de la rosa
4df1487e28 fix(http_request): hard-fail empty credential env values 2026-03-03 18:18:58 -05:00
argenis de la rosa
37d2244070 fix(http_request): stabilize credential_profile env resolution 2026-03-03 18:18:58 -05:00
argenis de la rosa
e7c388b695 fix(telegram): handle native draft stream fallback edges 2026-03-03 18:15:45 -05:00
argenis de la rosa
135e4ed730 feat(telegram): add StreamMode::On native draft streaming 2026-03-03 18:15:45 -05:00
Argenis
978cbdc7a1
Merge pull request #2664 from zeroclaw-labs/issue-2641-post-turn-memory-extraction
feat(memory): add post-turn durable fact extraction across entry points
2026-03-03 18:15:25 -05:00
Argenis
403fd2dc2b
Merge pull request #2663 from zeroclaw-labs/issue-2651-agent-allowed-denied-tools
feat(agent): add primary allowed_tools/denied_tools filtering
2026-03-03 18:15:23 -05:00
argenis de la rosa
0947a928a5 fix(agent): expose test_locks module for binary test builds 2026-03-03 17:55:21 -05:00
argenis de la rosa
7ba6e1ff83 fix(repo): update stale ZeroClaw GitHub URLs 2026-03-03 17:36:54 -05:00
argenis de la rosa
9eb0b2c2f3 fix(cron): preserve active model for custom endpoint jobs 2026-03-03 17:36:29 -05:00
argenis de la rosa
5b59aee016 fix(skills): broaden ClawhHub URL detection for installer 2026-03-03 17:35:27 -05:00
argenis de la rosa
1162df77f2 fix(mcp): persist and forward Mcp-Session-Id for HTTP transport 2026-03-03 17:34:53 -05:00
argenis de la rosa
3702d224e9 feat(security): add canary token exfiltration guard 2026-03-03 17:27:19 -05:00
argenis de la rosa
429ea06d69 feat(approval): add command-level shell approval rules 2026-03-03 17:20:06 -05:00
argenis de la rosa
f4997cef91 test(config): cover slack group_reply nested table parsing 2026-03-03 17:20:05 -05:00
argenis de la rosa
09d7684cfa feat(memory): add post-turn durable fact extraction across all agent entry points 2026-03-03 16:20:45 -05:00
argenis de la rosa
696a0c5432 feat(agent): add primary tool allowlist and denylist filtering 2026-03-03 16:19:28 -05:00
argenis de la rosa
cc13e88c8b style: fix rustfmt drift blocking production release build 2026-03-03 09:40:16 -05:00
killf
46d087eb8f refactor(update): remove unused ErrorKind import
Remove unused `std::io::ErrorKind` import and use fully qualified path instead.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-03 20:29:33 +08:00
killf
a6f25d8796 fix(agent): track tool execution success status correctly
Track actual success status from tool execution results instead of
assuming all tool calls succeed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 18:49:21 +08:00
killf
39e7c4fa79
Merge pull request #2538 from killf/fix/feishu-announcement-lark-fallback
fix(cron): support feishu announcement fallback to lark config
2026-03-03 16:45:21 +08:00
Chummy
10b7838bfa fix(ci): avoid login shell side effects in shell command execution 2026-03-03 10:12:29 +08:00
Chummy
a8958ca728 fix(ci): pin shell execution to /bin/sh for runtime and tests 2026-03-03 10:12:29 +08:00
Chummy
a62a55867d fix(test): sanitize shell ENV hooks for deterministic command execution 2026-03-03 10:12:29 +08:00
killf
b9ae04667d fix(cron): support feishu announcement fallback to lark config
When using feishu with scheduled tasks, the system could not deliver
announcements because it only looked for [channels_config.feishu] and
did not fall back to [channels_config.lark] with use_feishu=true.

This change allows feishu announcements to use the lark config as a
fallback when use_feishu is enabled, fixing the delivery path for users
who configure under the lark section.

Fixes inability to send feishu messages when channel is configured as Lark.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-03 07:32:56 +08:00
Chummy
5cac4f873f style(rustfmt): align orchestration config tests 2026-03-02 20:10:50 +08:00
Chummy
1697cc276d docs+tests(agent): complete orchestration runtime config coverage 2026-03-02 20:10:50 +08:00
Chummy
53c541547d fix(qq): enforce parsed https URLs for media upload requests 2026-03-02 18:03:55 +08:00
Chummy
61398eb900 fix(channels): robust qq/feishu image delivery and multimodal proxy fetch routing 2026-03-02 18:03:55 +08:00
xj
b316a351cf fix(config): avoid secret-derived debug value in WATI redaction 2026-03-02 00:29:53 -08:00
xj
91d8abf723 feat(observability): add labeled WATI webhook auth failure metric 2026-03-02 00:29:53 -08:00
xj
4d75e84503 fix: address review findings on plugin/runtime and CI portability 2026-03-02 00:29:53 -08:00
xj
b171955335 fix(gateway): accept case-insensitive WATI Bearer token scheme 2026-03-02 00:29:52 -08:00
xj
a56479f15b fix: address coderabbit feedback for wati auth/docs 2026-03-02 00:29:52 -08:00
xj
b4087d547b fix(gateway): satisfy strict lint and codeql for wati tests 2026-03-02 00:29:52 -08:00
xj
ca99948993 fix(gateway): accept any valid WATI signature header 2026-03-02 00:29:52 -08:00
xj
d59b2cb13e fix(gateway): enforce WATI webhook authentication 2026-03-02 00:29:52 -08:00