Jacob Tomlinson
176c059b05
node-host: bind pnpm dlx approval scripts ( #58374 )
...
* node-host: bind pnpm dlx approval scripts
* node-host: cover pnpm dlx package alias
* node-host: cover pnpm dlx flag forms
* node-host: fail closed on unsafe pnpm dlx flags
* node-host: narrow pnpm dlx fail-closed guard
* node-host: scan pnpm dlx past global --
* node-host: allow pnpm dlx file args
* node-host: allow pnpm dlx data args
* node-host: fail closed on unknown pnpm dlx flags
* node-host: support pnpm workspace-root flag
* node-host: restrict pnpm dlx tail scan
* node-host: support pnpm parallel flag
* changelog: node-host pnpm dlx approval binding (#58374 )
2026-04-02 09:41:28 -07:00
Vincent Koc
e4818a345e
test(tasks): close flow registry before temp dir cleanup
2026-04-03 01:32:05 +09:00
Peter Steinberger
17f6626ffe
feat(approvals): auto-enable native chat approvals
2026-04-02 17:30:40 +01:00
Peter Steinberger
721cab2b8d
refactor(exec): split allowlist segment evaluation helpers
2026-04-03 01:22:25 +09:00
Peter Steinberger
812a7636fb
refactor: simplify exec approval followup delivery
2026-04-02 17:19:42 +01:00
Peter Steinberger
47dcfc49b8
fix: scope #57584 to shell allowlist changes
2026-04-03 01:11:20 +09:00
biao
8d81e76f23
fix: evaluate shell wrapper inline commands against allowlist ( #57377 ) ( #57584 )
...
When a skill constructs a compound command via a shell wrapper
(e.g. `sh -c "cat SKILL.md && gog-wrapper calendar events"`),
the allowlist check was comparing `/bin/sh` instead of the actual
target binaries, causing the entire command to be silently rejected.
This adds recursive inline command evaluation that:
- Detects chain operators (&&, ||, ;) in the -c payload
- Parses each sub-command independently via analyzeShellCommand
- Evaluates every sub-command against the allowlist
- Preserves per-sub-command segmentSatisfiedBy for accurate tracking
- Limits recursion depth to 3 to prevent abuse
- Skips recursion on Windows (no POSIX shell semantics)
Closes #57377
Co-authored-by: WZBbiao <wangzhenbiao326@gmail.com >
2026-04-03 01:06:40 +09:00
Peter Steinberger
578a0ed31a
refactor(agent): dedupe tool error summary
2026-04-02 17:05:05 +01:00
seonang
4207ca2eb8
Fix Telegram exec approval delivery and auto-resume fallback
2026-04-03 00:56:54 +09:00
Priyansh Gupta
77e636cf78
fix(agents): include received keys in missing-param error for write tool ( #55317 )
...
Merged via squash.
Prepared head SHA: c1cf0691c9
Co-authored-by: priyansh19 <33621094+priyansh19@users.noreply.github.com >
Co-authored-by: jalehman <550978+jalehman@users.noreply.github.com >
Reviewed-by: @jalehman
2026-04-02 08:54:28 -07:00
spaceman1412
3b6825ab93
Cron: honor trigger for custom session timeouts
2026-04-03 00:43:42 +09:00
spaceman1412
102462b7a6
Cron: restrict exec visibility to timeouts
2026-04-03 00:43:42 +09:00
spaceman1412
d300a20440
Cron: surface exec timeouts in cron runs
2026-04-03 00:43:42 +09:00
Peter Steinberger
423f7c3487
build: prep 2026.4.2-beta.1 release
2026-04-02 16:33:21 +01:00
Vincent Koc
0ad2dbd307
fix(providers): route image generation through shared transport ( #59729 )
...
* fix(providers): route image generation through shared transport
* fix(providers): use normalized minimax image base url
* fix(providers): fail closed on image private routes
* fix(providers): bound shared HTTP fetches
2026-04-03 00:32:37 +09:00
Vincent Koc
d2ce3e9acc
perf(plugins): keep gateway startup channel-only ( #59754 )
...
* perf(plugins): keep gateway startup channel-only
* fix(gateway): preserve startup sidecars in plugin scope
2026-04-03 00:28:15 +09:00
Vincent Koc
efe9464f5f
fix(tasks): tighten task-flow CLI surface ( #59757 )
...
* fix(tasks): tighten task-flow CLI surface
* fix(tasks): sanitize task-flow CLI text output
2026-04-03 00:25:10 +09:00
Peter Steinberger
874a585d57
refactor(agent): share exec parser and runtime context codec
2026-04-03 00:15:43 +09:00
Vincent Koc
576337ef31
fix(tasks): use no-persist cleanup in executor tests
2026-04-03 00:15:02 +09:00
Peter Steinberger
8c3295038c
test: harden task executor state-dir cleanup
2026-04-02 16:12:24 +01:00
Peter Steinberger
36d953aab6
fix(exec): make Windows exec hints accurate and dynamic
2026-04-03 00:09:28 +09:00
Peter Steinberger
fff6333773
fix(exec): implement Windows argPattern allowlist flow
2026-04-03 00:09:28 +09:00
Vincent Koc
cc5146b9c6
fix(tasks): reset heartbeat and system event state in executor tests
2026-04-03 00:02:32 +09:00
Peter Steinberger
a5f99f4a30
test: stabilize docker test lanes
2026-04-02 15:59:23 +01:00
Vincent Koc
d46240090a
test(tasks): add task-flow operator coverage ( #59683 )
2026-04-02 23:58:33 +09:00
Vincent Koc
3872a866a1
fix(xai): make x_search auth plugin-owned ( #59691 )
...
* fix(xai): make x_search auth plugin-owned
* fix(xai): restore x_search runtime migration fallback
* fix(xai): narrow legacy x_search auth migration
* fix(secrets): drop legacy x_search target registry entry
* fix(xai): no-op knob-only x_search migration fallback
2026-04-02 23:54:07 +09:00
Leo Zhang
b6debb4382
fix(agent): close remaining internal-context leak paths ( #59649 )
...
* fix(status): strip internal runtime context from task detail surfaces
* fix(agent): narrow legacy internal-context stripping
* fix(tasks): sanitize user-facing task status surfaces
* fix(agent): close remaining internal-context leak paths
* fix(agent): harden internal context delimiter sanitization
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-04-02 23:45:06 +09:00
mappel-nv
53c29df2a9
Channel setup: ignore untrusted workspace shadows ( #59158 )
...
Keeps untrusted workspace channel metadata from overriding setup/login resolution for built-in channels. Workspace channel entries are only eligible during setup when the plugin is already explicitly trusted in config.
- Track discovered origin on channel catalog entries and add a setup-time catalog lookup that excludes workspace discoveries when needed
- Add resolver regression coverage for untrusted shadowing and trusted workspace overrides
Thanks @mappel-nv
2026-04-02 07:40:23 -07:00
Vincent Koc
4251ad6638
fix(telegram): allow trusted explicit proxy media fetches
2026-04-02 23:36:17 +09:00
James Cowan
7fea8250fb
fix(approvals): use canonical decision values in interactive button payloads
2026-04-02 23:35:23 +09:00
Peter Steinberger
316d10637b
refactor: canonicalize legacy x search secret target coverage
2026-04-02 15:30:05 +01:00
Peter Steinberger
65c1716ad4
refactor(infra): clarify jsonl socket contract
2026-04-02 15:20:37 +01:00
Peter Steinberger
ef86edacf7
fix: harden plugin auto-enable empty config handling
2026-04-02 15:19:53 +01:00
wangchunyue
b40ef364b7
fix: pin admin-only subagent gateway scopes ( #59555 ) (thanks @openperf)
...
* fix(agents): pin subagent gateway calls to admin scope to prevent scope-upgrade pairing failures
callSubagentGateway forwards params to callGateway without explicit scopes,
so callGatewayLeastPrivilege negotiates the minimum scope per method
independently. The first connection pairs the device at a lower tier and
every subsequent higher-tier call triggers a scope-upgrade handshake that
headless gateway-client connections cannot complete interactively
(close 1008 "pairing required").
Pin callSubagentGateway to operator.admin so the device is paired at the
ceiling scope on the very first (silent, local-loopback) handshake, avoiding
any subsequent scope-upgrade negotiation entirely.
Fixes #59428
* fix: pin admin-only subagent gateway scopes (#59555 ) (thanks @openperf)
---------
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-04-02 19:40:03 +05:30
Vincent Koc
4f692190b4
fix(config): tolerate missing facade boundary config
2026-04-02 23:04:53 +09:00
skernelx
e0d20966ae
Refine JSONL socket EOF regression test
2026-04-02 23:03:36 +09:00
skernelx
0e3cc12900
Fix macOS exec-host JSONL socket deadlock
2026-04-02 23:03:36 +09:00
Peter Steinberger
c4fb15e492
test: make web fetch runtime env handling hermetic
2026-04-02 15:02:40 +01:00
jacky
ecf72319ed
fix: use JSON5 parser for plugin manifest loading ( #57734 ) [AI-assisted] ( #59084 )
...
Merged via squash.
Prepared head SHA: 58a4d537fc
Co-authored-by: singleGanghood <179357632+singleGanghood@users.noreply.github.com >
Co-authored-by: hxy91819 <8814856+hxy91819@users.noreply.github.com >
Reviewed-by: @hxy91819
2026-04-02 22:02:04 +08:00
Vincent Koc
bb3f17fc02
refactor(plugins): drop generic status report alias ( #59700 )
2026-04-02 22:59:25 +09:00
Vincent Koc
b0f94a227b
refactor(providers): normalize transport policy wiring ( #59682 )
...
* refactor(providers): normalize transport policy wiring
* fix(providers): address transport policy review
* fix(providers): harden transport overrides
* fix(providers): keep env proxy tls separate
* fix(changelog): note provider transport policy hardening
2026-04-02 22:54:34 +09:00
Peter Steinberger
c678ae7e7a
feat(exec): default host exec to yolo
2026-04-02 14:52:51 +01:00
Vincent Koc
def5b954a8
feat(plugins): surface imported runtime state in status tooling ( #59659 )
...
* feat(plugins): surface imported runtime state
* fix(plugins): keep status imports snapshot-only
* fix(plugins): keep status snapshots manifest-only
* fix(plugins): restore doctor load checks
* refactor(plugins): split snapshot and diagnostics reports
* fix(plugins): track imported erroring modules
* fix(plugins): keep hot metadata where required
* fix(plugins): keep hot doctor and write targeting
* fix(plugins): track throwing module imports
2026-04-02 22:50:17 +09:00
Peter Steinberger
1ecd92af89
chore: refresh deps and backfill changelog
2026-04-02 14:49:47 +01:00
Agustin Rivera
290e5bf219
fix(dotenv): block helper interpreter workspace overrides ( #58473 )
...
* fix(dotenv): block helper interpreter workspace overrides
* fix(dotenv): cover trusted helper interpreter envs
* fix(changelog): note dotenv helper override hardening
* fix(changelog): remove dotenv entry from pr
* changelog: note dotenv helper override hardening
---------
Co-authored-by: Jacob Tomlinson <jtomlinson@nvidia.com >
2026-04-02 06:45:13 -07:00
Vincent Koc
52a6e354a8
fix(tasks): reset agent events in executor tests
2026-04-02 22:25:59 +09:00
Vincent Koc
ec6a07ef05
fix(secrets): add legacy x_search secret target
2026-04-02 22:24:08 +09:00
Vincent Koc
3e4de956c0
!refactor(xai): move x_search config behind plugin boundary ( #59674 )
...
* refactor(xai): move x_search config behind plugin boundary
* chore(changelog): note x_search config migration
* fix(xai): include x_search migration helpers
2026-04-02 22:08:59 +09:00
Vincent Koc
12bd6b7bb9
fix(tasks): address task-flow audit review ( #59672 )
2026-04-02 22:02:00 +09:00
Devin Robison
7eae9c0e62
Block remaining host env override pivots ( #59233 )
...
* Blck remaining host env override pivots
* Feedback update
2026-04-02 06:00:26 -07:00