smartprogrammer93
fc6d53c895
fix: correct import path in test and restore deleted schema help entries
2026-02-16 23:50:18 +01:00
smartprogrammer93
6d2e3685d6
feat(tools): add URL allowlist for web_search and web_fetch
...
Add optional urlAllowlist config at tools.web level that restricts which
URLs can be accessed by web tools:
- Config types (types.tools.ts): Add urlAllowlist?: string[] to tools.web
- Zod schema: Add urlAllowlist field to ToolsWebSchema
- Schema help: Add help text for the new config fields
- web_search: Filter Brave search results by allowlist (provider=brave)
- web_fetch: Block URLs not matching allowlist before fetching
- ssrf.ts: Export normalizeHostnameAllowlist and matchesHostnameAllowlist
URL matching supports:
- Exact domain match (example.com)
- Wildcard patterns (*.github.com)
When urlAllowlist is not configured, all URLs are allowed (backwards compatible).
Tests: Add web-tools.url-allowlist.test.ts with 23 tests covering:
- URL allowlist resolution from config
- Wildcard pattern matching
- web_fetch error response format
- Brave search result filtering
2026-02-16 23:50:18 +01:00
Shadow
72e228e14b
Heartbeat: allow suppressing tool warnings ( #18497 )
...
* Heartbeat: allow suppressing tool warnings
* Changelog: note heartbeat tool-warning suppression
2026-02-16 13:29:24 -06:00
Peter Steinberger
8a1893a215
refactor(test): table-drive legacy config policy assertions
2026-02-16 18:25:04 +00:00
Shadow
1b7301051b
Config: require Discord ID strings ( #18220 )
2026-02-16 12:22:58 -06:00
Gustavo Madeira Santana
8a67016646
Agents: raise bootstrap total cap and warn on /context truncation ( #18229 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: f6620526df
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-16 12:04:53 -05:00
Peter Steinberger
04892ee230
refactor(core): dedupe shared config and runtime helpers
2026-02-16 14:59:30 +00:00
brandonwise
095d522099
fix(security): create session transcript files with 0o600 permissions ( #18066 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 962f497d24
Co-authored-by: brandonwise <21148772+brandonwise@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:33:40 -05:00
sebslight
7b8cce0910
test(config): normalize merge-patch regression fixture formatting
2026-02-16 08:24:55 -05:00
sebslight
f4b2fd00bc
fix(config): harden object-array merge-by-id fallback
2026-02-16 08:24:55 -05:00
不做了睡大觉
cb391f4bdc
fix(config): prevent config.patch from destroying arrays when patch entries lack id ( #18030 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: a857df9e32
Co-authored-by: stakeswky <64798754+stakeswky@users.noreply.github.com >
Co-authored-by: sebslight <19554889+sebslight@users.noreply.github.com >
Reviewed-by: @sebslight
2026-02-16 08:13:51 -05:00
Advait Paliwal
bc67af6ad8
cron: separate webhook POST delivery from announce ( #17901 )
...
* cron: split webhook delivery from announce mode
* cron: validate webhook delivery target
* cron: remove legacy webhook fallback config
* fix: finalize cron webhook delivery prep (#17901 ) (thanks @advaitpaliwal)
---------
Co-authored-by: Tyler Yust <TYTYYUST@YAHOO.COM >
2026-02-16 02:36:00 -08:00
Peter Steinberger
d3ddf893c2
test: remove redundant store-rotation integration prune case
2026-02-16 09:39:48 +00:00
Peter Steinberger
ced5148afd
test: remove redundant identity emoji response-prefix case
2026-02-16 09:29:41 +00:00
Peter Steinberger
c0973f24c6
test: remove low-value concurrency passthrough unit case
2026-02-16 09:28:20 +00:00
Peter Steinberger
e30900f93e
test: remove low-value deprecated pruneDays e2e mapping case
2026-02-16 09:20:40 +00:00
Peter Steinberger
22c53af604
test: remove redundant saveSessionStore cap e2e case
2026-02-16 09:13:56 +00:00
Peter Steinberger
54948a1d44
test: remove redundant maintenance config mapping e2e case
2026-02-16 09:13:05 +00:00
Peter Steinberger
22a1a56e7e
test: remove low-value maintenance defaults e2e assertion
2026-02-16 09:11:17 +00:00
Peter Steinberger
404a8bc35f
test: remove redundant pruning-plus-capping e2e case
2026-02-16 09:07:24 +00:00
Peter Steinberger
7a4c131d6b
test: remove low-value mirrored-text media-filename unit case
2026-02-16 09:05:38 +00:00
Peter Steinberger
b156aafab9
test: remove low-value direct metadata-mapping unit case
2026-02-16 09:04:20 +00:00
Peter Steinberger
838d875fcb
test: remove low-value custom-root agent-extraction path case
2026-02-16 09:03:07 +00:00
Peter Steinberger
7932387df2
test: remove low-value stale-prune no-updatedAt edge case
2026-02-16 09:02:08 +00:00
Peter Steinberger
4d2ba58da5
test: remove low-value legacy dm-direct fallback permutation
2026-02-16 09:00:54 +00:00
Peter Steinberger
7d26eae3ee
test: remove low-value no-updatedAt cap-priority edge case
2026-02-16 09:00:02 +00:00
Peter Steinberger
5dc02aa55e
test: remove low-value concurrent store-entry merge permutation
2026-02-16 08:58:43 +00:00
Peter Steinberger
c8704297b2
test: remove low-value relative traversal session-file guard case
2026-02-16 08:57:45 +00:00
Peter Steinberger
eb7b5c02c3
test: remove low-value cross-storepath lock parallelism case
2026-02-16 08:56:28 +00:00
Peter Steinberger
d5bc5ab7ba
test: remove low-value resolveStorePath tilde-expansion unit case
2026-02-16 08:54:55 +00:00
Peter Steinberger
fecd623431
test: remove duplicate reset precedence permutation case
2026-02-16 08:53:51 +00:00
Peter Steinberger
5d8f43ae8e
test: remove duplicate explicit-agent fallback path case
2026-02-16 08:52:55 +00:00
Peter Steinberger
896f9efcb7
test: remove low-value absolute-in-dir session-file happy path
2026-02-16 08:51:41 +00:00
Peter Steinberger
f448e4bf77
test: remove low-value lock queue cleanup bookkeeping case
2026-02-16 08:50:59 +00:00
Peter Steinberger
731d72e119
test: remove redundant in-dir relative session-file acceptance case
2026-02-16 08:49:41 +00:00
Peter Steinberger
bf801f5159
test: remove low-value unknown-session mirror guard case
2026-02-16 08:48:23 +00:00
Peter Steinberger
929a96c2f8
test: remove low-signal mirrored-text trim unit case
2026-02-16 08:47:45 +00:00
Peter Steinberger
b5183c93d6
test: remove low-value lock-storePath guard wrapper test
2026-02-16 08:46:49 +00:00
Peter Steinberger
bd0e7d3d22
test: remove low-value positive session-id validation case
2026-02-16 08:45:30 +00:00
Peter Steinberger
19dfdfe5a8
test: remove low-value missing-session-key mirror guard case
2026-02-16 08:44:46 +00:00
Peter Steinberger
2d6b605cc3
test: remove low-value session-file options wrapper assertion
2026-02-16 08:44:01 +00:00
Peter Steinberger
f9419e26bb
test: remove duplicate empty-text mirror integration case
2026-02-16 08:42:38 +00:00
Peter Steinberger
a4f86dc433
test: remove low-value session-file options agent-only case
2026-02-16 08:41:46 +00:00
Peter Steinberger
0c035c85ab
test: remove redundant single-error lock queue recovery case
2026-02-16 08:40:34 +00:00
Peter Steinberger
aabc09bb9b
test: remove duplicate lock-queue cleanup success case
2026-02-16 08:39:43 +00:00
Peter Steinberger
0d2e13fb73
test: remove redundant transcript-path wrapper case
2026-02-16 08:38:18 +00:00
Peter Steinberger
4f05d045b9
test: remove duplicate absolute outside-session-path guard case
2026-02-16 08:37:19 +00:00
Peter Steinberger
ec00efb38d
test: remove duplicate reset-by-type direct selection case
2026-02-16 08:36:30 +00:00
Peter Steinberger
83a5f7ba8c
test: remove duplicate passthrough storePath guard case
2026-02-16 08:35:14 +00:00
Peter Steinberger
6a759c9191
test: remove duplicate empty-storePath guard case
2026-02-16 08:34:22 +00:00