Commit Graph

1573 Commits

Author SHA1 Message Date
argenis de la rosa 5dede160a2 fix(telegram): add Markdown parse_mode to approval prompts
The approval prompt message uses backticks for code formatting
but was missing the parse_mode field, Telegram displays the
backticks literally instead of rendering them as code.

Add "parse_mode": "Markdown" to the sendMessage request body
to enable proper formatting.

Fixes #2359

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 15:05:12 -05:00
argenis de la rosa 09d32dcd79 feat(security): add context-aware command allow rules 2026-03-01 15:05:12 -05:00
argenis de la rosa f7b6295e9b feat(agent): expose tool_specs and public run_tool_call_loop 2026-03-01 14:56:09 -05:00
argenis de la rosa c479ea7b10 fix(mcp): support streamable HTTP headers and SSE responses 2026-03-01 14:56:08 -05:00
argenis de la rosa 890b5b86a9 fix(compatible): preserve native tool-call message sequencing 2026-03-01 14:43:13 -05:00
argenis de la rosa 32172f56da style(onboard): apply rustfmt in provider fallback assertions 2026-03-01 14:43:02 -05:00
argenis de la rosa 058ce1d1d7 fix(anthropic): ignore empty text content blocks 2026-03-01 14:43:02 -05:00
xj 886d48ccbe fix(ci): isolate rust homes and harden self-hosted cache usage 2026-03-01 11:23:13 -08:00
Chum Yin 550a856670 Merge branch 'main' into fix/release-v0.1.8-build-errors 2026-03-02 02:56:06 +08:00
Argenis 561c4765e1 feat(providers): add responses-mode chat-completions fallback (#2417) 2026-03-01 13:22:55 -05:00
argenis de la rosa fa2f902259 fix(approval): keep approve-allow one-shot for pending requests
Route /approve-allow through a runtime-only pending-request path so it does not
persist approval policy changes for normal tools.

This preserves always_ask semantics for Telegram inline HITL approvals while
keeping /approve and /approve-request + /approve-confirm as the persistent
approval flows. Update docs and regression assertions accordingly.
2026-03-01 13:17:30 -05:00
argenis de la rosa c5d84ebc59 test(gateway): fill bluebubbles fields in AppState fixture
Add missing bluebubbles fixture fields to the node-control AppState test
initializer so lib tests compile after AppState struct expansion.
2026-03-01 13:16:47 -05:00
argenis de la rosa deb13569df fix(config): simplify feishu legacy key detection 2026-03-01 13:16:33 -05:00
argenis de la rosa d800b1caf5 fix(feishu): map legacy config keys and improve feature guidance 2026-03-01 13:16:33 -05:00
argenis de la rosa fe3556da58 feat(file_edit): add whitespace-flexible fallback matching 2026-03-01 13:16:19 -05:00
argenis de la rosa 237845f490 feat(cli): include git short sha in version output 2026-03-01 13:15:53 -05:00
Chummy 0e9bd0589b chore(fmt): align provider fallback assertions with rustfmt 2026-03-02 02:01:39 +08:00
xj 9294d38eba Merge remote-tracking branch 'upstream/main' into tmp/pr1365-sync
# Conflicts:
#	.github/workflows/ci-run.yml
2026-03-01 09:57:27 -08:00
Chummy c1a400a859 fix(rebase): restore missing struct fields after main sync 2026-03-02 01:50:42 +08:00
Chum Yin 12578d78ba Merge branch 'main' into fix/release-v0.1.8-build-errors 2026-03-02 01:47:16 +08:00
Chummy 0ffd395745 fix(agent): parse native tool args using normalized slice 2026-03-02 00:55:01 +08:00
chumyin c691820fa8 test(agent): cover valid native max-tokens tool-call path 2026-03-02 00:55:01 +08:00
chumyin 49b447982f fix(agent): prefer retry over hard-fail for truncated native calls 2026-03-02 00:55:01 +08:00
chumyin 5c0d66f967 fix(agent): fail closed on malformed native tool args 2026-03-02 00:55:01 +08:00
xj ceb3aae654 fix(agent): fail closed on truncated native tool calls 2026-03-02 00:55:01 +08:00
xj ad58bdf99e fix(providers): harden continuation and gemini stop handling 2026-03-02 00:55:01 +08:00
xj f8fd241869 fix(agent): enforce post-merge continuation output cap 2026-03-02 00:55:01 +08:00
xj f7167ea485 feat(agent): add normalized stop reasons and max-token continuation 2026-03-02 00:55:00 +08:00
Chummy 364ab048ac fix(security): harden non-local gateway auth boundaries 2026-03-02 00:21:19 +08:00
chumyin 1ab6d2db41 fix: restore security and stability scan gates 2026-03-02 00:21:16 +08:00
chumyin feabd7e488 fix(onboard): honor provider fallback env keys for model discovery 2026-03-02 00:21:12 +08:00
chumyin 2630486ca8 feat(providers): add StepFun provider with onboarding and docs parity 2026-03-02 00:21:12 +08:00
chumyin 37b19365c8 fix: stabilize bedrock credential test and portable sha256 2026-03-02 00:21:08 +08:00
Chummy 6d25a060c1 feat(skills): add trusted domain policy and transparent preloads 2026-03-02 00:21:08 +08:00
chumyin 3b2c601e6e providers: fallback native tools on 516 schema errors 2026-03-02 00:21:05 +08:00
chumyin 7c8e4d115a fix(ci): resolve lint gate for orchestration PR 2026-03-02 00:20:46 +08:00
chumyin 479b7a9043 style: apply rustfmt to shared memory and xlsx modules 2026-03-02 00:20:46 +08:00
chumyin be0f52fce7 feat(agent): add end-to-end team orchestration bundle 2026-03-02 00:20:46 +08:00
chumyin 758072cf6e Merge origin/main into fix/release-v0.1.8-build-errors 2026-03-01 11:48:21 +00:00
reidliu41 1431e9e864 feat(memory): add time-decay scoring with Core evergreen exemption 2026-03-01 19:25:54 +08:00
xj 0605f65ca8 style: apply rustfmt for CI lint gate 2026-03-01 03:11:24 -08:00
xj 30bd2bac71 fix(plugins): satisfy strict-delta clippy on runtime 2026-03-01 01:41:48 -08:00
xj ac27788a3b fix(plugins): wire provider routing and timeout permit release 2026-03-01 01:21:53 -08:00
xj 1da53f154c Merge branch 'main' into feat/wasm-plugin-runtime-exec 2026-03-01 00:57:15 -08:00
argenis de la rosa 4e70abf407 fix(cost): validate route_down hint against model routes 2026-03-01 00:17:27 -05:00
argenis de la rosa 4043056332 feat(cost): enforce preflight budget policy in agent loop 2026-03-01 00:17:27 -05:00
Preventnetworkhacking 9ef617289f fix(mcp): stdio transport reads server notifications as tool responses, registering 0 tools [CDV-2327]
Replace single read with deadline-bounded loop that skips JSON-RPC messages
where id is None (server notifications like notifications/initialized).

Some MCP servers send notifications/initialized after the initialize response
but before the tools/list response. The old code would read this notification
as the tools/list reply, see result: None, and report 0 tools registered.

The fix uses a deadline-bounded loop to skip any JSON-RPC message where
id is None while preserving the total timeout across all iterations.

Fixes: zeroclaw-labs/zeroclaw#2327
2026-03-01 00:15:41 -05:00
argenis de la rosa 20d4e1599a feat(skills): add trusted symlink roots for workspace skills 2026-03-01 00:03:53 -05:00
Argenis 0683467bc1 fix(channels): prompt non-CLI always_ask approvals (#2337)
* fix(channels): prompt non-cli always_ask approvals

* chore(ci): retrigger intake after PR template update
2026-02-28 23:53:59 -05:00
Argenis f3c82cb13a feat(tools): add xlsx_read tool for spreadsheet extraction (#2338)
* feat(tools): add xlsx_read tool for spreadsheet extraction

* chore(ci): retrigger intake after PR template update
2026-02-28 23:51:34 -05:00