Agustin Rivera
472bcbbccc
fix(agents): tighten workspace file opens ( #66636 )
...
* fix(agents): tighten workspace file opens
* fix(agents): clarify symlink rejection tests
* fix(agents): surface unsafe identity reads
* fix(agents): use non-blocking opens for identity reads and write-mode probes
* fix(fssafe): restore symlink read identity check
* fix(worklog): append comment resolution status
* fix(fssafe): close afterOpen handle leaks
* fix(worklog): append comment resolution follow-up
* fix(worklog): drop internal user file
* fix(agents): rethrow unexpected errors in agents.files.get
* changelog: note agents.files fs-safe routing + fd-first realpath (#66636 )
* fix(agents): rethrow unexpected errors in agents.files.set too
Match the narrow-SafeOpenError catch pattern that agents.files.get
(commit 633b8f92) and writeWorkspaceFileOrRespond already use, so a
real OS error (ENOSPC, EACCES, EBUSY, ...) surfaces through normal
gateway error handling instead of being masked as
'unsafe workspace file'.
* test(agents): match fsStat/fsLstat mock signatures
The mock functions are declared as
vi.fn(async (..._args: unknown[]) => Stats | null)
so mockImplementation callbacks must accept ...unknown[], not a
narrowed (filePath: string) argument. The narrower signature
works at runtime but trips tsgo's strict type check; switch to
args[0] unpacking so the callbacks match the hoisted mock shape.
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
2026-04-14 14:06:15 -06:00
Vincent Koc
2aaa17dc6f
fix(ci): restore main typecheck
2026-04-14 18:53:14 +01:00
Gustavo Madeira Santana
f190bf0a07
Fix Matrix media alias normalization
2026-04-14 12:36:13 -04:00
slepybear
450c3a8ed2
fix(security): include Matrix avatar params in sandbox media normalization + preserve mxc:// URLs + log gmail watcher stop failures [AI-assisted] ( #64701 )
...
Merged via squash.
Prepared head SHA: 54de3f019b8977826d1a40acb827568835bce780
Co-authored-by: slepybear <108438815+slepybear@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-04-14 12:22:29 -04:00
Vincent Koc
e58d50b7a8
fix(telegram): trust explicit proxy DNS for media downloads ( #66461 )
2026-04-14 10:42:33 +01:00
Vincent Koc
6ee8e194c0
fix(media-understanding): auto-upgrade provider HTTP helper to trusted env proxy mode ( #66458 )
...
* fix(media-understanding): auto-upgrade provider HTTP helper to trusted env proxy mode
* Update CHANGELOG.md
2026-04-14 10:29:09 +01:00
Ayaan Zaidi
aa0dc118f1
fix: preserve subagent registry runtime import path across source and dist ( #66420 )
...
* fix(build): correct subagent registry runtime import path
* fix: correct subagent registry runtime import path (#66420 )
* fix: preserve subagent registry runtime import path across source and dist (#66420 )
2026-04-14 13:52:24 +05:30
yongqiang li
6a5ff83b24
fix(build): include subagent-registry.runtime.js in dist output ( #66205 )
...
* fix: ensure subagent-registry.runtime.js is included in dist output
* fix(build): ship subagent registry runtime
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-14 09:00:40 +01:00
ly85206559
36820f1676
Agents: fix Windows drive path join for read/sandbox tools ( #54039 ) ( #66193 )
...
* Agents: fix Windows drive path join for read/sandbox tools (#54039 )
* fix(agents): harden Windows file URL path mapping
* fix(agents): reject encoded file URL separators
* Update CHANGELOG.md
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-14 02:20:25 +01:00
Peter Steinberger
aac84372ab
fix(outbound): suppress relay status placeholder leaks
2026-04-14 01:27:06 +01:00
Vincent Koc
955270fb73
fix(ci): repair telegram ui and watch regressions
2026-04-13 23:49:59 +01:00
Agustin Rivera
48aae82bbc
fix(outbound): replay queued session context ( #66025 )
...
* fix(outbound): preserve replay session context
* fix(outbound): remove user work log
* changelog: note outbound session-context replay fix (#66025 )
---------
Co-authored-by: Devin Robison <drobison@nvidia.com >
2026-04-13 13:30:42 -06:00
Pavan Kumar Gondhi
31281bc92f
fix(heartbeat): force owner downgrade for untrusted hook:wake system events [AI-assisted] ( #66031 )
...
* fix: address issue
* fix: address PR review feedback
* fix: address review-pr skill feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-14 00:14:17 +05:30
Vincent Koc
114ff23f2a
perf(config): skip shell env fallback for explicit empty vars
2026-04-13 19:09:11 +01:00
Vincent Koc
b6abd68a29
perf(channels): split hot-path message channel normalization
2026-04-13 18:22:12 +01:00
Vincent Koc
96a6f55da8
perf(utils): isolate message channel normalization
2026-04-13 17:34:46 +01:00
Vincent Koc
be68309e7b
perf(outbound): narrow loaded target channel reads
2026-04-13 17:34:27 +01:00
Vincent Koc
eed595bba9
perf(channels): isolate loaded target parsing
2026-04-13 17:28:09 +01:00
Mariano
b42c999633
fix(heartbeat): preserve Telegram topic routing for isolated heartbeats ( #66035 )
...
Merged via squash.
Prepared head SHA: 83b986a4c342a7d75a9446918f1bd992152d1900
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Co-authored-by: mbelinky <132747814+mbelinky@users.noreply.github.com >
Reviewed-by: @mbelinky
2026-04-13 18:26:19 +02:00
Vincent Koc
6eb04c8aab
perf(outbound): isolate id-like target resolution
2026-04-13 17:17:26 +01:00
Vincent Koc
08ca248378
perf(outbound): use loaded-only channel plugin reads
2026-04-13 17:12:27 +01:00
Vincent Koc
ae3d731810
perf(outbound): use read-only channel registry seam
2026-04-13 17:05:53 +01:00
Bob
74f2c4a56b
fix: stop repeated unknown-tool loops ( #65922 )
...
Merged via squash.
Prepared head SHA: f352a270a6c0f36888223314ee279c42cff05408
Reviewed-by: @osolmaz
2026-04-13 17:42:11 +02:00
Vincent Koc
418cb55cb9
perf(infra): cache login shell env probes
2026-04-13 16:12:33 +01:00
EVA
c15b295a85
Run context-engine turn maintenance as idle-aware background work ( #65233 )
...
Merged via squash.
Prepared head SHA: e9f6c679ba8709a1be32a18b6963862d2c6a5243
Co-authored-by: 100yenadmin <239388517+100yenadmin@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-13 06:50:22 -07:00
Pavan Kumar Gondhi
666f48d9b8
fix(security): remove busybox/toybox from interpreter-like safe bins [AI-assisted] ( #65713 )
...
* fix: address issue
* fix: address review feedback
* fix: address PR review feedback
* fix: address review-pr skill feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-13 12:03:15 +05:30
Pavan Kumar Gondhi
0a105c0900
fix(approval-auth): prevent empty approver list from granting explicit approval authorization [AI] ( #65714 )
...
* fix: address issue
* fix: address PR review feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-13 12:00:13 +05:30
Pavan Kumar Gondhi
8f8492d172
fix(security): broaden shell-wrapper detection and block env-argv assignment injection [AI-assisted] ( #65717 )
...
* fix: address issue
* fix: address PR review feedback
* fix: address PR review feedback
* docs: add changelog entry for PR merge
2026-04-13 11:48:42 +05:30
joshavant
c4764095f8
Outbound: centralize payload normalization plan
2026-04-12 19:52:24 -05:00
Vincent Koc
ed1744bcaa
test(heartbeat): cover isolated cron event consumption
2026-04-12 17:55:36 +01:00
Coy Geek
4938b2cc43
fix: Provider-supplied OAuth URLs inject Windows cmd.exe via openUrl ( #64161 )
...
* fix: harden Windows browser URL opening
Use explorer.exe directly for OAuth/browser launch on Windows so provider-supplied URLs are never parsed through cmd.exe metacharacter rules.
* fix: harden Windows browser URL opening
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-04-12 16:42:24 +01:00
Richard Poelderl
6fec1ec2d6
fix(update): Suppress Corepack prompts during update preflight ( #61456 )
...
Merged via squash.
Prepared head SHA: da1b791ce6ed0aee245ebc47b72dd64ceeb4a1d1
Co-authored-by: p6l-richard <18185649+p6l-richard@users.noreply.github.com >
Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com >
Reviewed-by: @osolmaz
2026-04-12 13:59:36 +02:00
Nimrod Gutman
1fe14627a2
fix(tests): restore ci type and format checks
2026-04-12 14:13:57 +03:00
Vincent Koc
a1279f012b
fix(infra): avoid empty test stub classes
2026-04-12 10:43:43 +01:00
Petr Sloup
2c918754c2
fix(exec): disable onUpdate after run settlement to prevent gateway crash ( #64349 )
...
Co-authored-by: petr-sloup <13165948+petr-sloup@users.noreply.github.com >
Co-authored-by: openperf <16864032@qq.com >
2026-04-12 17:29:20 +08:00
Tak Hoffman
847739d82c
Fix dreaming replay, repair polluted artifacts, and gate wiki tabs ( #65138 )
...
* fix(active-memory): preserve parent channel context for recall runs
* fix(active-memory): keep recall runs on the resolved channel
* fix(active-memory): prefer resolved recall channel over wrapper hints
* fix(active-memory): trust explicit recall channel hints
* fix(active-memory): rank recall channel fallbacks by trust
* Fix dreaming replay and recovery flows
* fix: prevent dreaming event loss and diary write races
* chore: add changelog entry for memory fixes
* fix: harden dreaming repair and diary writes
* fix: harden dreaming artifact archive naming
2026-04-12 00:25:11 -05:00
Vincent Koc
9801ce7333
test(infra): align vitest script invariants
2026-04-12 05:00:24 +01:00
Josh Lehman
29142a9d47
fix: preserve Telegram topic routing for exec completions ( #64580 )
...
* clawdbot-a2c: pin exec completion delivery context
Regeneration-Prompt: |
Fix a Telegram forum topic misroute where delayed exec completion or similar async completion text could be delivered into the wrong topic after the session's stored route drifted. Keep the patch surgical. Preserve immutable origin deliveryContext when background exec completion events are queued, thread that context from the exec tool's ambient channel/session defaults into the process session, and ensure the queued system event carries it instead of relying on later heartbeat fallback to mutable session lastTo/lastThreadId data. Add one focused unit assertion that notifyOnExit events keep the original Telegram topic delivery context and one heartbeat regression that proves work started in topic 47 still delivers back to topic 47 even if the session store later points at topic 2175.
* fix: note Telegram exec topic routing
Regeneration-Prompt: |
Prepare PR #64580 after review-pr with no blocking findings. The only required prep change was the workflow-mandated changelog entry under CHANGELOG.md -> Unreleased -> Fixes. Preserve the review conclusion that the code change is already acceptable, do not widen scope beyond the changelog, and include the PR number plus thanks attribution in the changelog line for the Telegram exec forum-topic completion routing fix.
2026-04-11 15:47:53 -07:00
Vincent Koc
5cd9c2d2de
fix(cycles): bypass context engine and config barrels
2026-04-11 23:12:24 +01:00
Peter Steinberger
b41091ac7f
fix: quiet extension unresolved import warnings
2026-04-11 21:25:24 +01:00
Vincent Koc
462d8e3bc0
fix(cycles): narrow channel runtime surface
2026-04-11 19:30:33 +01:00
HDYA
26f633b604
feat(msteams): add federated credential support (certificate + managed identity) ( #53615 )
...
* feat(msteams): add federated authentication support (certificate + managed identity + workload identity)
* msteams: fix vitest 4.1.2 compat, type errors, and regenerate config baseline
* msteams: fix lint errors, update fetch allowlist, regenerate protocol Swift
* fix(msteams): gate secret-only delegated auth flows
* fix(ci): unblock gateway watch and install smoke
* fix(ci): restore mergeability for pr 53615
* fix(ci): restore channel registry helper typing
* fix(ci): refresh raw fetch guard allowlist
---------
Co-authored-by: Chudi Huang <Chudi.Huang@microsoft.com >
Co-authored-by: Brad Groux <3053586+BradGroux@users.noreply.github.com >
2026-04-11 13:29:22 -05:00
Vincent Koc
0f7d9c9570
fix(runtime): split approval and gateway client seams
2026-04-11 18:36:48 +01:00
Tak Hoffman
958c34e82c
feat(qa-lab): Add proxy capture stack and QA Lab inspector ( #64895 )
...
* Add proxy capture core and CLI
* Expand transport capture coverage
* Add QA Lab capture backend
* Refine QA Lab capture UI
* Fix proxy capture review feedback
* Fix proxy run cleanup and TTS capture
* Fix proxy capture transport follow-ups
* Fix debug proxy CONNECT target parsing
* Harden QA Lab asset path containment
2026-04-11 12:34:57 -05:00
Vincent Koc
f630e8d440
fix(utils): bypass delivery context wrapper for shared consumers
2026-04-11 17:26:38 +01:00
Marcus Castro
aaae1aeb8f
fix(whatsapp): route react through gateway ( #64638 )
...
* fix(whatsapp): route react through gateway
* fix(gateway): accept full message action tool context
2026-04-11 11:38:10 -03:00
Vincent Koc
3b4de1ac14
fix(cycles): split reply and gateway leaf seams
2026-04-11 13:53:20 +01:00
Vincent Koc
81535d394d
fix(cycles): repair broken type surfaces
2026-04-11 13:42:17 +01:00
Ayaan Zaidi
43bd5545f8
fix: scope pinDns override to multipart audio ( #64766 ) (thanks @GodsBoy)
2026-04-11 18:05:37 +05:30
GodsBoy
c159d22b34
fix(ssrf): validate hostname even when pinDns is disabled
...
When pinDns=false was set to avoid undici dispatcher corruption of
FormData bodies, resolvePinnedHostnameWithPolicy was skipped entirely,
removing SSRF hostname/private-IP validation.
Now the pinDns=false path runs hostname validation as a preflight
before creating the non-pinned dispatcher, preserving defense-in-depth.
Also renames a stale test description per Greptile review feedback.
2026-04-11 18:05:37 +05:30