redop looks like when you treat it like a framework instead of a single-file tool runner.
What it demonstrates
definePlugin(...)- auth metadata attached to
ctx - tenant resolution from headers and auth
- auth-aware rate limiting
- optional namespacing with
group(...)
What to look at
Seeexamples/plugins.ts.
Why this example matters
It answers the practical questions that show up in real apps:- where should auth metadata live
- how does one plugin feed another
- when should a plugin expose tools
- how do namespaced plugin tools avoid collisions