Commit Graph

272 Commits

Author SHA1 Message Date
ake117 87fa327e0d feat(telegram): add ack_enabled option to control emoji reactions
Add configuration option to enable/disable Telegram emoji reaction
acknowledgments (️, 👌, 👀, 🔥, 👍) sent to incoming messages.

Changes:
- Add ack_enabled field to TelegramConfig (default: true)
- Add ack_enabled field to TelegramChannel struct
- Add with_ack_enabled() builder method
- Conditionally send reactions in try_add_ack_reaction_nonblocking()
- Update all call sites and tests
- Update documentation with usage example

Usage:
  [channels_config.telegram]
  ack_enabled = false  # Disable emoji reactions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 08:23:04 -05:00
argenis de la rosa f0a5bbdb1b feat(http_request): add env credential profiles and onboarding guards 2026-02-28 08:07:37 -05:00
Chummy 7470bded5d fix: harden browser and web search validation paths 2026-02-28 15:50:06 +08:00
Chummy 6716391502 feat: harden web access policy and add flexible web search/runtime config 2026-02-28 15:50:06 +08:00
killf 955c572c02 feat(tools): add Chrome/Firefox/Edge support to browser_open tool
Add support for Chrome, Firefox, and Edge browsers to the browser_open tool,
which previously only supported Brave. Users can now specify the browser
via the browser_open config option.

Changes:
- Add browser_open config field: "disable" | "brave" | "chrome" | "firefox" | "edge" | "default"
- Implement platform-specific launch commands for Chrome, Firefox, and Edge
- When set to "disable", only the browser automation tool is registered, not the browser_open tool
- Update tool descriptions and error messages to reflect browser selection

Co-Authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-28 15:50:06 +08:00
Argenis 43e3e9b897 Merge pull request #2134 from Preventnetworkhacking/feat/economic-agents-mvp
feat(economic): ZeroClaw Economic Agents - Phase 1 Foundation [CDV-20]
2026-02-28 01:29:57 -05:00
reidliu41 6662601a6c feat(agent): add result-aware loop detection for tool-call loop 2026-02-28 00:58:31 -05:00
Chummy e57173333f test(dingtalk): add onboarding regression coverage 2026-02-28 00:58:30 -05:00
Chummy 1b82597eac fix(codex): harden transport validation and fallback 2026-02-28 13:48:41 +08:00
Chummy 81387f9896 fix(codex): preserve transport overrides across runtimes 2026-02-28 13:48:41 +08:00
Chummy b721754ead feat(codex): add websocket-first transport selection 2026-02-28 13:48:41 +08:00
Preventnetworkhacking b238e8fd5e feat(config): add economic agent configuration schema
Adds EconomicConfig to config schema:

- enabled: bool (default false, opt-in)
- initial_balance: f64 (default 1000.0)
- signature: String (agent identifier)
- data_path: PathBuf (persistence location)
- token_pricing: EconomicTokenPricing
  - input_price_per_million: f64 (default 3.0)
  - output_price_per_million: f64 (default 15.0)
- min_evaluation_threshold: f64 (default 0.6)

Integrates with existing config loading and onboard wizard.

Relates to: CDV-20
2026-02-27 15:54:58 -08:00
argenis de la rosa 498fca9d08 feat(memory): add sqlite+qdrant hybrid backend 2026-02-27 15:28:56 -05:00
argenis de la rosa 281236a94d feat(identity): add openclaw extra_files support 2026-02-27 15:15:39 -05:00
argenis de la rosa b8de8ce8b9 feat(transcription): support config-level api_key 2026-02-27 15:15:02 -05:00
argenis de la rosa a09f146145 feat(security): add role-policy and otp challenge foundations 2026-02-27 14:29:31 -05:00
argenis de la rosa 7307aab103 feat(tools): add Tavily provider and API-key round-robin 2026-02-27 06:37:57 -05:00
Argenis e356c42b4f fix(config): remove duplicate default_otp_enabled definition
Resolves compile error E0428 reported in #2038.
2026-02-27 05:02:45 +00:00
argenis de la rosa b63dfb8985 fix(config): resolve windows compile blockers (#2032) 2026-02-26 23:44:35 -05:00
argenis de la rosa 5ecea422c7 feat(security): enable otp by default in quick setup
(cherry picked from commit 9319ba2521)
2026-02-26 23:43:31 -05:00
argenis de la rosa bfe3e4295d feat(security): add opt-in perplexity adversarial suffix filter 2026-02-26 22:55:23 -05:00
argenis de la rosa 21e13c8ae5 fix(qq): add sandbox mode and passive msg id fallback 2026-02-26 22:53:06 -05:00
argenis de la rosa a258741e2f feat(security): enable otp by default in quick setup 2026-02-26 22:23:23 -05:00
Argenis 7f3b7302b1 fix(config): resolve env credential reporting and safer compaction default
- report api_key_configured via provider credential resolution (env + overrides)\n- set agent.compact_context default to true for new configs\n- align docs and tests with the new default\n\nRefs: #1983\nRefs: #1984\nContext: #1358\n\nCo-authored-by: Argenis <144828210+theonlyhennygod@users.noreply.github.com>
2026-02-27 03:15:55 +00:00
Argenis 4fa8206332 Merge pull request #2013 from zeroclaw-labs/issue-1380-mcp-main
feat(mcp): add external MCP server support on main
2026-02-26 22:14:33 -05:00
argenis de la rosa 6186b34903 refactor(mcp): use schema paths to avoid config re-export conflicts 2026-02-26 22:13:27 -05:00
argenis de la rosa 8180e7dc82 feat(skills): add WASM skill engine with secure registry install 2026-02-26 22:09:24 -05:00
argenis de la rosa d63a6a8ceb feat(security): unify URL validation with configurable CIDR/domain allowlist 2026-02-26 22:07:07 -05:00
argenis de la rosa 6ed7248d65 refactor(config): split mcp re-exports to avoid main merge conflict 2026-02-26 21:59:34 -05:00
argenis de la rosa 992ecd9aee fix(config): include plugin exports to keep mcp branch mergeable 2026-02-26 21:56:40 -05:00
argenis de la rosa 1fd0645fe3 fix(config): update plugin test config initializers 2026-02-26 21:49:10 -05:00
argenis de la rosa b5292f54aa feat: plugin system
Implements a plugin system for ZeroClaw modeled after OpenClaw's architecture.

Key components:
- Plugin trait and PluginApi for registering tools/hooks
- Plugin manifest (zeroclaw.plugin.toml) for metadata
- Plugin discovery from bundled, global, and workspace directories
- PluginRegistry managing loaded plugins, tools, and hooks
- Error isolation via panic catching in register()
- Config integration via [plugins] section

Example plugin included in extensions/hello-world/.

Closes #1414

# Conflicts:
#	src/config/mod.rs
#	src/config/schema.rs
2026-02-26 21:49:10 -05:00
argenis de la rosa 4f8c9d2066 feat(mcp): add external MCP server support on main 2026-02-26 21:43:54 -05:00
argenis de la rosa a851d1bd2f feat(skills): add configurable script-file audit override 2026-02-26 21:23:27 -05:00
argenis de la rosa 7aee6d9dc7 feat(security): add role-policy and otp challenge foundations 2026-02-26 21:11:41 -05:00
argenis de la rosa b27b44829a chore: promote dev snapshot to main (resolve #1978/#1970) 2026-02-26 21:09:33 -05:00
argenis de la rosa 779b193de6 fix(config): default compact_context to true
Set AgentConfig compact_context default to true and align config defaults/tests/docs so daemon conversations recover from context pressure out of the box.

Closes #1984
2026-02-26 21:07:05 -05:00
Chummy c54a30f68c supersede: file-replay changes from #1897
Automated conflict recovery via changed-file replay on latest main.
2026-02-26 16:37:17 +00:00
Chum Yin 9b0e70b2f2 supersede: file-replay changes from #1895 (#1926)
Automated conflict recovery via changed-file replay on latest main.
2026-02-26 04:15:47 -05:00
Chummy 63fcd7dd54 feat(telegram): support custom Bot API base_url
(cherry picked from commit 3ea7b6a996)
2026-02-26 12:59:23 +08:00
Chummy d3af83db63 fix: align merged code with dev to restore build 2026-02-26 03:47:01 +00:00
Chummy e0f6f24a5e merge: promote dev into main (dev-first conflict resolution) 2026-02-26 03:41:59 +00:00
argenis de la rosa 1e8c09d34a fix(agent): improve iteration-limit recovery and defaults 2026-02-25 17:33:32 -05:00
Chummy 1ad2d71c9b feat(approval): add one-time all-tools non-cli approval flow 2026-02-26 02:19:14 +08:00
Chummy fd86e67d67 fix: restore config reexports after dev rebase 2026-02-26 02:19:14 +08:00
Chummy d8a1d1d14c fix: reconcile non-cli approval governance with current dev APIs 2026-02-26 02:19:14 +08:00
Chummy 1fcf2df28b feat: harden non-CLI approval governance and runtime policy sync 2026-02-26 02:19:14 +08:00
Allen Huang 6064890415 feat: goals engine, heartbeat delivery, daemon improvements, and cron consolidation
- goals: add autonomous goal loop engine for long-term goal execution
- goals: add goal-level reflection for stalled goals
- goals: make GoalStatus and StepStatus deserialization self-healing
- goals: remove initiative planning from Rust, use cron job instead
- daemon: add PID lock and goal-loop supervisor
- daemon: add per-task failure tracking and auto-disable for heartbeat
- daemon: deliver heartbeat results to configured channels
- cron: add nightly consolidation cron job
- cron: set delete_after_run for one-shot shell jobs
- cron: add session_source to agent prompt building
- service: forward provider env vars into generated service files
- agent: add reflection flywheel — cron context injection, tool audit, nightly consolidation
- agent: make state reconciliation opt-in per call site

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-26 01:50:24 +08:00
Chummy 21696e1956 fix(lark): add new draft config fields in tests 2026-02-26 01:21:32 +08:00
Allen Huang cc8aac5918 feat: channel improvements (Lark rich-text, WhatsApp QR, draft config)
- lark: convert send to rich-text post format with markdown parsing
- lark: add draft edit throttling and shell polling guidance
- lark: auto-detect receive_id_type from recipient prefix
- lark: deliver heartbeat as interactive card
- lark: use valid Feishu API emoji_type keys for ack reactions
- lark: handle flat post format from WS and add diagnostic logging
- lark: replace unsupported code_inline tag and strip leaked tool blocks
- lark: gate LarkChannel behind channel-lark feature flag
- whatsapp: render WhatsApp Web pairing QR in terminal
- channels: update_draft returns Option<String> for new draft IDs
- config: add draft_update_interval_ms and max_draft_edits to Lark/FeishuConfig

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-26 01:21:32 +08:00