Commit graph

1077 commits

Author SHA1 Message Date
stevef
fc2943cb1a fix: gracefully handle LLM content safety filter refusals to prevent 500 errors 2026-03-31 11:55:56 +02:00
stevef
dc52457826 feat: security hardening for pii redaction and isolation tests 2026-03-31 08:50:37 +02:00
stevef
67f3c4a91f fix: update PII redactor tests to match new signature and expectations 2026-03-30 19:40:24 +02:00
stevef
4cff032f75 fix: resolve type assertion error in redactor.go 2026-03-30 19:38:19 +02:00
stevef
bf6a2c3b4d fix: final test updates for inline guardrails 2026-03-30 17:18:21 +02:00
stevef
91e533fe60 fix: update hook tests for inline guardrails 2026-03-30 16:35:31 +02:00
stevef
7bd508a894 fix: update security tests for inline guardrails 2026-03-30 16:20:09 +02:00
stevef
415151bd48 feat: implement inline guardrails and refine security system prompt for better utility and protection against indirect injection 2026-03-30 16:12:25 +02:00
stevef
a2e3789c46 feat: add system_prompt to agent defaults and k3s configuration for safety hardening 2026-03-29 22:59:02 +02:00
stevef
5f34600270 feat(security): support prefix matching for MCP tools in policy checker and fix health endpoints 2026-03-28 22:33:54 +01:00
stevef
0bb6fa4d73 fix(gateway): enable PORT env override and fix chat handler typo for Azure compatibility 2026-03-28 21:59:10 +01:00
stevef
99413d0337 feat: implement multi-layered Security Shield with Canary, PII Redaction, IPIA, and Policy enforcement 2026-03-28 20:42:48 +01:00
stevef
dddf983a95 feat(isolation): further hardening for agent loop and tools 2026-03-28 20:42:48 +01:00
stevef
109b08e23b fixes 2026-03-28 20:42:48 +01:00
stevef
c8b1623b3e fix(agent): inject media store in isolation and fix config unmarshal panic 2026-03-28 20:42:48 +01:00
stevef
83b41bb875 chore: minor configuration updates 2026-03-28 20:42:48 +01:00
stevef
50c8ee305a Synchronize hardening: added onboard purge, non-interactive mode, and diagnostic startup logs 2026-03-28 20:42:48 +01:00
stevef
c4d0cebdd6 test: merge filesystem isolation validation into isolation_tools_test.go 2026-03-28 20:42:48 +01:00
stevef
9cba372fde fix(agent): ensure isolated agents inherit manually registered tools to prevent test hangs 2026-03-28 20:42:48 +01:00
stevef
4ffa023457 made paths relative to workspace for sub-agents 2026-03-28 20:42:48 +01:00
stevef
0f714402ae made /chat asynchronous 2026-03-28 20:42:48 +01:00
stevef
c725b2dce2 azure skills whitelisting: fix skills loader, security config, and tests 2026-03-28 20:42:48 +01:00
stevef
4341fdd8db added two new providers: NVIDIA and Azure plus Security enhancments to lock down skills if desired and added a configurable chat API 2026-03-28 20:42:48 +01:00
Kunal Karmakar
1809d04905
chore(provider): use openai responses api for azure openai endpoints (#2110)
Migrate Azure OpenAI provider from legacy Chat Completions API to the OpenAI Responses API.

- Switch API endpoint from `/openai/deployments/{deployment}/chat/completions` to `/openai/v1/responses`
- Change auth header from `Api-Key` to `Authorization: Bearer`
- Use `responses.ResponseNewParams` SDK types for request construction
- Extract shared Responses API utilities into `openai_responses_common` package
- Deduplicate 178 lines from codex_provider.go by reusing shared package
- Add 593 lines of comprehensive test coverage for the shared package

Closes #2111

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-28 20:50:24 +08:00
Mauro
026a1339c7
simplified duplicated code (#1935) 2026-03-28 20:28:24 +08:00
champly
11dec0c80a
fix(weixin): persist context tokens to disk to survive restarts (#2124) 2026-03-28 20:23:14 +08:00
Guoguo
62d40a02d4
fix: resolve typecheck errors in loop_test.go and dingtalk_test.go (#2122)
- loop_test.go: replace undefined WithSecurity/SecurityConfig/ModelSecurityEntry
  with direct APIKeys field using SimpleSecureStrings()
- dingtalk_test.go: use ClientSecret.String() and ClientSecret.Set()
  instead of non-existent ClientSecret() and SetClientSecret() methods

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 18:58:09 +08:00
Alix-007
b6951b6925
fix(dingtalk): honor mention-only groups and strip leading mentions (#2054)
* fix(dingtalk): honor @mention flag in mention-only groups

* fix(dingtalk): strip leading mentions in group payloads

---------

Co-authored-by: Alix-007 <267018309+Alix-007@users.noreply.github.com>
2026-03-28 18:26:10 +08:00
Hua Audio
0e13f6bdec
fix/wechat-new-protocol (#2106)
* fix/wechat-new-protocol

* fix cdn download logic
2026-03-28 18:18:01 +08:00
Mauro
230942d234
fix(loop): polling (#2103) 2026-03-28 16:36:06 +08:00
xiwuqi
e011284d8f
fix(agent): use light provider for routed model calls (#2038) 2026-03-28 15:25:23 +08:00
Cytown
f1cb7cc8f5
fix gateway reload will cause pico stop working issue (#2082)
* fix gateway reload will cause pico stop working issue

* fix for review
2026-03-28 11:30:31 +08:00
Mauro
60d7ec20a5
feat(log): prompt tokens (#2047) 2026-03-28 02:00:12 +08:00
Cytown
b646d3b8fe
refactor config and security to simplified the structure (#2068) 2026-03-28 00:03:34 +08:00
Cytown
98c78363b3
change default debug level to warn (#2084) 2026-03-27 21:04:28 +08:00
Cytown
0c9e4f0658
fix for FlexibleStringSlice cause picoclaw start crash issue (#2078) 2026-03-27 20:49:51 +08:00
daming大铭
25ce52715d
Merge pull request #2070 from afjcjsbx/feat/improve-web-tools
feat(tools) time range in web_search
2026-03-27 19:36:24 +08:00
afjcjsbx
d385491592 fix(config): array placeholder 2026-03-26 21:40:38 +01:00
afjcjsbx
e2018c4aa7 fix lint 2026-03-26 21:33:43 +01:00
afjcjsbx
b7f6ab7176 fix conf 2026-03-26 21:27:35 +01:00
afjcjsbx
48c04e050d feat(tools) range in web_search 2026-03-26 21:02:46 +01:00
Mauro
4bdf8f0e1d
Merge pull request #1829 from perhapzz/test/add-fileutil-health-tests
test: add unit tests for pkg/fileutil and pkg/health
2026-03-26 10:42:13 +01:00
Alix-007
5c210e6f15
fix(config): disable tool feedback by default (#2026)
Co-authored-by: Alix-007 <267018309+Alix-007@users.noreply.github.com>
2026-03-26 09:31:42 +08:00
Mauro
5db1e94693
Merge pull request #1998 from abnerhexu/main
feat(config): allow placeholder text to be string or list
2026-03-25 22:47:39 +01:00
Mauro
1dff5e6903
Merge pull request #2016 from badgerbees/fix/context-overflow-errors
fix(providers): improve context overflow detection and classification
2026-03-25 21:58:53 +01:00
Badgerbees
ae94893605 adding test units 2026-03-26 03:03:19 +07:00
Badgerbees
97dec16769 fix(providers): improve context overflow detection and classification 2026-03-26 01:07:56 +07:00
柚子
ed618e14aa
feat(channels): support multi-message sending via split marker (#2008)
* Add multi-message sending via split marker

* Add marker and length split integration tests

Tests that SplitByMarker and SplitMessage work together correctly, and
that code block boundaries are preserved during marker splitting.

* Simplify message chunking logic in channel worker

Extract splitByLength helper function and remove goto-based control
flow.
The logic now flows more naturally - try marker splitting first, then
fall
back to length-based splitting.

* Update multi-message output instructions in agent context

* Add split_on_marker to config defaults

* Add split_on_marker config option

* Rename 'Multi-Message Sending' setting to 'Chatty Mode'

* Add SplitOnMarker config option
2026-03-26 01:33:49 +08:00
daming大铭
664e23e4fb
Merge pull request #1828 from liuy/feat/logging-config
feat(logger): add PICOCLAW_LOG_FILE env var for file-only logging
2026-03-25 23:54:29 +08:00
daming大铭
70c4714988
feat(tools): add exec tool enhancement with background execution and PTY support
Merge #1869: Unified exec tool with actions (run/list/poll/read/write/send-keys/kill), PTY support, background execution, process session management.
2026-03-25 23:50:42 +08:00