zerone0x
0f7b259cca
fix(node): respect tools.exec.notifyOnExit for node exec events
...
Node exec events (exec.started, exec.finished, exec.denied) now check
the tools.exec.notifyOnExit config setting before generating system
event notifications. When notifyOnExit is false, all node exec event
notifications are suppressed.
This makes node exec behavior consistent with gateway exec, which
already respects this setting.
Fixes #20193
Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-22 13:14:07 +01:00
Peter Steinberger
7c3c406a35
fix: keep auth-profile cooldown windows immutable in-window ( #23536 ) (thanks @arosstale)
2026-02-22 13:14:02 +01:00
artale
dc69610d51
fix(auth-profiles): never shorten cooldown deadline on retry
...
When the backoff saturates at 60 min and retries fire every 30 min
(e.g. cron jobs), each failed request was resetting cooldownUntil to
now+60m. Because now+60m < existing deadline, the window kept getting
renewed and the profile never recovered without manually clearing
usageStats in auth-profiles.json.
Fix: only write a new cooldownUntil (or disabledUntil for billing) when
the new deadline is strictly later than the existing one. This lets the
original window expire naturally while still allowing genuine backoff
extension when error counts climb further.
Fixes #23516
[AI-assisted]
2026-02-22 13:14:02 +01:00
Peter Steinberger
47c3f742b6
fix(exec): require explicit safe-bin profiles
2026-02-22 12:58:55 +01:00
Peter Steinberger
e80c803fa8
fix(security): block shell env allowlist bypass in system.run
2026-02-22 12:47:05 +01:00
Brian Mendonca
8a3d04c19c
Gateway UX: harden remote ws guidance and onboarding defaults
2026-02-22 12:46:20 +01:00
Peter Steinberger
6fda04e938
refactor: tighten onboarding dmScope typing and docs links
2026-02-22 12:46:09 +01:00
Peter Steinberger
29cc7f431f
test: share runtime scan filters and cached test scans
2026-02-22 12:44:44 +01:00
Peter Steinberger
6dd36a6b77
refactor(channels): reuse runtime group policy helpers
2026-02-22 12:44:23 +01:00
Peter Steinberger
3a65e4b523
test: make snapshot env override assertion independent of host env
2026-02-22 12:40:30 +01:00
Brian Mendonca
8f0b2b84e7
Onboarding: default dmScope to per-channel-peer
2026-02-22 12:36:49 +01:00
Peter Steinberger
85e5ed3f78
refactor(channels): centralize runtime group policy handling
2026-02-22 12:35:41 +01:00
Peter Steinberger
a4607277a9
test: consolidate sessions_spawn and guardrail helpers
2026-02-22 12:34:55 +01:00
Peter Steinberger
0a758dc710
test(cron): improve fire-and-forget harness coverage
2026-02-22 11:29:31 +00:00
Peter Steinberger
c343132dbb
fix(agents): harden bash tool and reply directive handling
2026-02-22 11:29:31 +00:00
Peter Steinberger
a4981efae3
fix(discord): improve outbound send consistency
2026-02-22 11:29:31 +00:00
Peter Steinberger
0f989d3109
fix(gateway): tighten openai-http edge handling
2026-02-22 11:29:31 +00:00
Peter Steinberger
05358173da
fix(line): harden outbound send behavior
2026-02-22 11:29:31 +00:00
Peter Steinberger
32a1273d82
refactor(onboarding): dedupe channel allowlist flows
2026-02-22 11:29:31 +00:00
Peter Steinberger
401106b963
fix: harden flaky tests and cover native google thought signatures ( #23457 ) (thanks @echoVic)
2026-02-22 12:24:53 +01:00
echoVic
9176571ec1
fix(gemini): sanitize thoughtSignatures for native Google provider
...
Native Google Gemini provider was accumulating 2K-8K tokens of Base64
thoughtSignature blobs per turn, causing premature context overflow.
The sanitizer was only enabled for OpenRouter Gemini, not native Google.
Fixes #23392
2026-02-22 12:24:53 +01:00
Peter Steinberger
bf52273a58
test: harden flaky timeout-sensitive tests
2026-02-22 12:21:19 +01:00
Peter Steinberger
42f62821db
fix: include shared runtime group-policy helper and coverage ( #23367 ) (thanks @bmendonca3)
2026-02-22 12:21:04 +01:00
Peter Steinberger
777817392d
fix: fail closed missing provider group policy across message channels ( #23367 ) (thanks @bmendonca3)
2026-02-22 12:21:04 +01:00
Peter Steinberger
78c3c2a542
fix: stabilize flaky tests and sanitize directive-only chat tags
2026-02-22 12:19:33 +01:00
Brian Mendonca
3700151ec0
Channels: fail closed when Slack/Discord config is missing
2026-02-22 12:18:43 +01:00
Peter Steinberger
11546b1177
test(auth-choice): expand api provider dedupe coverage
2026-02-22 11:16:59 +00:00
Peter Steinberger
fc60f4923a
refactor(auth-choice): unify api-key resolution flows
2026-02-22 11:16:30 +00:00
Ayaan Zaidi
8e00965618
test: use real SubsystemLogger in directive-tags test
2026-02-22 16:39:11 +05:30
Yuzuru Suzuki
6f7e5f92c3
fix: add operator.read and operator.write to default CLI scopes ( #22582 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 8569fc88c970e75934617c200ebfe117e9d5ae88
Co-authored-by: YuzuruS <1485195+YuzuruS@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-22 16:36:18 +05:30
Peter Steinberger
b77e53da67
refactor(session): centralize transcript path option resolution
2026-02-22 12:02:38 +01:00
Peter Steinberger
812bf7c8e1
fix: add bindings comment regression test ( #23458 ) (thanks @echoVic)
2026-02-22 11:47:11 +01:00
echoVic
56f01bc493
fix(config): add missing comment field to BindingsSchema
...
Strict validation (added in d1e9490f9) rejects the legitimate 'comment'
field on bindings. This field is used for annotations in config files.
Changes:
- BindingsSchema: added comment: z.string().optional()
- AgentBinding type: added comment?: string
Fixes #23385
2026-02-22 11:47:11 +01:00
Glucksberg
2739328508
fix(telegram): classify undici fetch errors as recoverable for retry ( #16699 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 67b5bce44f7014c8cbefc00eed0731e61d6300b9
Co-authored-by: Glucksberg <80581902+Glucksberg@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
2026-02-22 16:16:11 +05:30
Peter Steinberger
38f02c7a32
fix(session): resolve agent session path with configured sessions dir
...
Co-authored-by: David Rudduck <david@rudduck.org.au>
2026-02-22 11:35:55 +01:00
Peter Steinberger
c283f87ab0
refactor: clarify strict loopback proxy audit rules
2026-02-22 11:35:08 +01:00
Peter Steinberger
97eb4af01e
test: harden models-config env isolation list
2026-02-22 10:34:23 +00:00
Peter Steinberger
744df0fbe7
test: reclassify models-config suites from e2e to unit lane
2026-02-22 10:34:23 +00:00
Peter Steinberger
740fd7ae35
test: reclassify skills suites from e2e to unit lane
2026-02-22 10:34:23 +00:00
Peter Steinberger
5c57a45a59
fix: add non-streaming directive-tag regression tests ( #23298 ) (thanks @SidQin-cyber)
2026-02-22 11:31:23 +01:00
SidQin-cyber
e6490732cd
fix(gateway): strip directive tags from non-streaming webchat broadcasts
...
Closes #23053
The streaming path already strips [[reply_to_current]] and other
directive tags via stripInlineDirectiveTagsForDisplay, but the
non-streaming broadcastChatFinal path and the chat.inject path
sent raw message content to webchat clients, causing tags to
appear in rendered messages after streaming completes.
2026-02-22 11:31:23 +01:00
Peter Steinberger
c56ab39da5
perf(test): reduce bash e2e wait windows
2026-02-22 10:28:43 +00:00
Peter Steinberger
abff3f0f61
test: reclassify sessions_spawn lifecycle suite as unit test
2026-02-22 10:28:43 +00:00
Peter Steinberger
0b7c7ee1aa
perf(test): speed up sessions_spawn lifecycle suite setup
2026-02-22 10:28:43 +00:00
Peter Steinberger
c962bcba37
test: reclassify sandbox merge and exec path suites as unit tests
2026-02-22 10:28:43 +00:00
Peter Steinberger
9ab7b85a66
perf(test): tighten background abort timing windows
2026-02-22 10:28:43 +00:00
Peter Steinberger
c995f9be07
test: reclassify mocked announce and sandbox suites as unit tests
2026-02-22 10:28:43 +00:00
Peter Steinberger
27f0d7ebcc
test: reclassify auth-profile-rotation suite as unit test
2026-02-22 10:28:43 +00:00
Peter Steinberger
c0b1c10a08
test: reclassify mocked runner/safe-bins suites as unit tests
2026-02-22 10:28:43 +00:00
Peter Steinberger
a9b26d83de
perf(test): narrow pi-embedded runner e2e import path
2026-02-22 10:28:42 +00:00