Jacob Tomlinson
ec2dbcff9a
fix: keep plugin HTTP runtime scopes least-privileged ( #55284 )
2026-03-26 17:28:30 +00:00
Peter Steinberger
46d3617d25
refactor: split gateway plugin bootstrap and registry surfaces
2026-03-24 22:16:26 -07:00
Peter Steinberger
6d34d62795
test: harden no-isolate gateway auth and pairing
2026-03-22 15:15:50 -07:00
Peter Steinberger
a69f6190ab
fix(gateway): pin plugin webhook route registry ( #47902 )
2026-03-15 21:53:05 -07:00
Peter Steinberger
4523260dda
test: share gateway route auth helpers
2026-03-14 00:35:07 +00:00
Peter Steinberger
2f58647033
refactor: share plugin route auth test harness
2026-03-13 18:38:12 +00:00
Robin Waslander
a1520d70ff
fix(gateway): propagate real gateway client into plugin subagent runtime
...
Plugin subagent dispatch used a hardcoded synthetic client carrying
operator.admin, operator.approvals, and operator.pairing for all
runtime.subagent.* calls. Plugin HTTP routes with auth:"plugin" require
no gateway auth by design, so an unauthenticated external request could
drive admin-only gateway methods (sessions.delete, agent.run) through
the subagent runtime.
Propagate the real gateway client into the plugin runtime request scope
when one is available. Plugin HTTP routes now run inside a scoped
runtime client: auth:"plugin" routes receive a non-admin synthetic
operator.write client; gateway-authenticated routes retain admin-capable
scopes. The security boundary is enforced at the HTTP handler level.
Fixes GHSA-xw77-45gv-p728
2026-03-11 14:17:01 +01:00
Peter Steinberger
ac86deccee
fix(gateway): harden plugin HTTP route auth
2026-03-07 19:55:06 +00:00
Peter Steinberger
2fd8264ab0
refactor(gateway): hard-break plugin wildcard http handlers
2026-03-02 16:24:06 +00:00
Peter Steinberger
93b0724025
fix(gateway): fail closed plugin auth path canonicalization
2026-03-02 15:55:32 +00:00
Peter Steinberger
d3e0c0b29c
test(gateway): dedupe gateway and infra test scaffolds
2026-03-02 07:13:10 +00:00
Peter Steinberger
cef5fae0a2
refactor(gateway): dedupe origin seeding and plugin route auth matching
2026-03-02 00:42:22 +00:00
Peter Steinberger
53d10f8688
fix(gateway): land access/auth/config migration cluster
...
Land #28960 by @Glucksberg (Tailscale origin auto-allowlist).
Land #29394 by @synchronic1 (allowedOrigins upgrade migration).
Land #29198 by @Mariana-Codebase (plugin HTTP auth guard + route precedence).
Land #30910 by @liuxiaopai-ai (tailscale bind/config.patch guard).
Co-authored-by: Glucksberg <markuscontasul@gmail.com>
Co-authored-by: synchronic1 <synchronic1@users.noreply.github.com>
Co-authored-by: Mariana Sinisterra <mariana.data@outlook.com>
Co-authored-by: liuxiaopai-ai <73659136+liuxiaopai-ai@users.noreply.github.com>
2026-03-02 00:10:51 +00:00
Peter Steinberger
93ca0ed54f
refactor(channels): dedupe transport and gateway test scaffolds
2026-02-16 14:59:31 +00:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
plum-dawg
c96ffa7186
feat: Add Line plugin ( #1630 )
...
* feat: add LINE plugin (#1630 ) (thanks @plum-dawg)
* feat: complete LINE plugin (#1630 ) (thanks @plum-dawg)
* chore: drop line plugin node_modules (#1630 ) (thanks @plum-dawg)
* test: mock /context report in commands test (#1630 ) (thanks @plum-dawg)
* test: limit macOS CI workers to avoid OOM (#1630 ) (thanks @plum-dawg)
* test: reduce macOS CI vitest workers (#1630 ) (thanks @plum-dawg)
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-01-25 12:22:36 +00:00
Peter Steinberger
139f80a291
chore: format sources and update protocol outputs
2026-01-15 05:17:19 +00:00
Peter Steinberger
57c66fe813
fix: clean up onboarding + channel selection types
2026-01-15 05:12:33 +00:00
Peter Steinberger
5abe3c2145
feat: add plugin HTTP hooks + Zalo plugin
2026-01-15 05:04:09 +00:00