The dev panel

While you develop, you want to see every call the app answered — which operation, how long, what it refused, which statements it ran. @fougere/calls keeps that list.

@fougere/calls watches what this process dispatches, and takes part in none of it:

npm install -D @fougere/calls
extensions: [calls({ max: 500, panel: true })],

It subscribes to app.observe — passive, and its own failure is swallowed — so it sees what a link around calls cannot: a call refused before any handler (an unknown route, an entity hosted elsewhere, a call arriving while the facade drains), and the route kind of every call, so a local execution and a hop to another process read the same way. Beside the calls it keeps a bounded ring of log lines, of errors, and — when @fougere/adapter-sql is there — of the statements each call issued.

Nothing is stored and no port is opened unless panel says so. The ring is served as rpc.calls, and the reader is fougere devtools over /_fougere/call, like any other consumer. An app that never installed it answers Unknown rpc operation 'calls'. It serves discover.

Built with Fougere and Nuxt, hosted on GitHub Pages.