Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion apps/docs/src/content/agents/mcp-server.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ The server registers tools with a colon, as `pangular:get-routes`. MCP clients s

### Read and action tools

The server marks read-only tools as read-only for your client. Eight tools act on the app, so the server does not mark them:
The server marks read-only tools as read-only for your client. Nine tools act on the app, so the server does not mark them:

| Tool | Reference |
| ---------------------- | ------------------------------------------------------------------ |
Expand All @@ -220,6 +220,7 @@ The server marks read-only tools as read-only for your client. Eight tools act o
| `set-http-rule` | [Fault rules](./tools.md#fault-rules) |
| `remove-http-rule` | [Fault rules](./tools.md#fault-rules) |
| `analog-call-api` | [Call a server route](./tools.md#call-a-server-route) |
| `clear-recordings` | [Clear recordings](./tools.md#clear-recordings) |

Your client can ask you before it runs them. To drop them from the server, set `agent.readOnly`. See [Inspectors and agent tools](../getting-started/configuration.md#inspectors-and-agent-tools).

Expand Down
18 changes: 15 additions & 3 deletions apps/docs/src/content/agents/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Every agent tool the devtools expose, grouped by inspector, with wh
---

<ngmd-hero title="Tools" logo="https://cdn.simpleicons.org/modelcontextprotocol/71717A" gradient>
Sixty-one tools, grouped by inspector. Each one answers a question you would otherwise answer by clicking through the panel.
Sixty-two tools, grouped by inspector. Each one answers a question you would otherwise answer by clicking through the panel.
</ngmd-hero>

# Tools
Expand Down Expand Up @@ -48,12 +48,12 @@ The URL comes from the HTTP or router report. A page that sends neither (no rout
### Action tools

<ngmd-alert severity="important">
<code>highlight</code>, <code>navigate</code>, <code>dispatch-ngrx-action</code>, <code>form-action</code>, <code>fill-form</code>, <code>set-http-rule</code>, <code>remove-http-rule</code> and <code>analog-call-api</code> act on the app. Every other tool is marked read-only for your client.
<code>highlight</code>, <code>navigate</code>, <code>dispatch-ngrx-action</code>, <code>form-action</code>, <code>fill-form</code>, <code>set-http-rule</code>, <code>remove-http-rule</code>, <code>analog-call-api</code> and <code>clear-recordings</code> act on the app. Every other tool is marked read-only for your client.
</ngmd-alert>

### Turn tools off

The server decides which tools exist. Set `agent.readOnly` to drop the eight action tools. Set `agent.tools.<inspector>` to `false` to hide one inspector's tools and resources, and keep its tab. Turning an inspector off with `inspectors`, or blocking an action with `actions`, drops the matching tools too. `actions.router` is the exception: `navigate` stays and refuses `navigate`, `abort`, `replay` and `probe`. See [Inspectors and agent tools](../getting-started/configuration.md#inspectors-and-agent-tools).
The server decides which tools exist. Set `agent.readOnly` to drop the nine action tools. Set `agent.tools.<inspector>` to `false` to hide one inspector's tools and resources, and keep its tab. Turning an inspector off with `inspectors`, or blocking an action with `actions`, drops the matching tools too. `actions.router` is the exception: `navigate` stays and refuses `navigate`, `abort`, `replay` and `probe`. See [Inspectors and agent tools](../getting-started/configuration.md#inspectors-and-agent-tools).

## Source scan

Expand Down Expand Up @@ -410,6 +410,18 @@ These tools read and change the rules of [Fault injection](../inspectors/ssr-htt

With [`actions.http`](../getting-started/configuration.md#actions) set to `false`, `set-http-rule` and `remove-http-rule` are dropped, and `list-http-rules` says that no rule applies.

### Clear recordings <ngmd-badge variant="alpha">Action</ngmd-badge>

Resets recorded data between reproduction runs: recorded HTTP calls, router navigations, and Analog server calls. Reads: page.

| Tool | What it does | Arguments |
| ------------------ | -------------------------------------------------------------------------------------------------------------- | --------------------------- |
| `clear-recordings` | Clears recorded HTTP calls, router navigations, or Analog server calls, and broadcasts the reset to the panel. | `target` (required), `page` |

`target` is one of `http`, `router`, `analog`, or `all`. With `router`, `page` clears navigations for that browser tab only; when left out, it clears navigations for every reporting page.

`clear-recordings` needs the matching write action ([`actions.http`](../getting-started/configuration.md#actions), `actions.router`, `actions.analog`). When `target` is `all` and an action is disabled, the permitted recordings are cleared and the disabled ones are reported as skipped.

## Capacitor

These tools read what a Capacitor app reported: its platform, its plugins and the plugin calls it made. See [Capacitor](../inspectors/capacitor.md). Reads: page.
Expand Down
26 changes: 13 additions & 13 deletions apps/docs/src/content/getting-started/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,11 @@ interface PangularConfig {

### Inspectors and agent tools

| Option | Default | What it does |
| -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `inspectors.<name>` | `true` | `false` removes the inspector: no tab or dock, no page collector, no RPC functions, and no agent tools or resources. Its actions are blocked too. |
| `agent.readOnly` | `false` | `true` drops every agent tool that acts on the page or the server: `highlight`, `form-action`, `fill-form`, `navigate`, `dispatch-ngrx-action`, `set-http-rule`, `remove-http-rule` and `analog-call-api`. |
| `agent.tools.<name>` | `true` | `false` hides one inspector's agent tools and resources. The tab stays. |
| Option | Default | What it does |
| -------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `inspectors.<name>` | `true` | `false` removes the inspector: no tab or dock, no page collector, no RPC functions, and no agent tools or resources. Its actions are blocked too. |
| `agent.readOnly` | `false` | `true` drops every agent tool that acts on the page or the server: `highlight`, `form-action`, `fill-form`, `navigate`, `dispatch-ngrx-action`, `set-http-rule`, `remove-http-rule`, `analog-call-api` and `clear-recordings`. |
| `agent.tools.<name>` | `true` | `false` hides one inspector's agent tools and resources. The tab stays. |

`agent.tools` has the same keys as `inspectors`. An inspector that is off has no agent tools, whatever `agent.tools` says.

Expand All @@ -136,14 +136,14 @@ If you open a tab that is turned off, the panel says so, shows the option that t

Actions are the writes that the panel and agents make to your app or the server.

| Option | Default | What `false` blocks |
| ---------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `actions.forms` | `true` | Form writes: set value, fill, mark touched, untouched, dirty or pristine, touch all, revalidate, reset, enable, disable, submit and restore. Drops `form-action` and `fill-form`. |
| `actions.router` | `true` | Navigate, abort, replay and probe, and clearing the navigations list. Probe runs your app's `canMatch` guards. The `navigate` agent tool stays for `instrument` and `resolve-lazy` and refuses the other four. |
| `actions.ngrx` | `true` | Restoring NgRx state from the change log and dispatching `@ngrx/store` actions. Drops the `dispatch-ngrx-action` agent tool. |
| `actions.http` | `true` | Editing fault injection rules and SSR overrides, and clearing the HTTP timeline. Drops the `set-http-rule` and `remove-http-rule` agent tools. |
| `actions.analog` | `true` | The Analog request playground. Drops the `analog-call-api` agent tool. |
| `actions` | `true` | All of the above. |
| Option | Default | What `false` blocks |
| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `actions.forms` | `true` | Form writes: set value, fill, mark touched, untouched, dirty or pristine, touch all, revalidate, reset, enable, disable, submit and restore. Drops `form-action` and `fill-form`. |
| `actions.router` | `true` | Navigate, abort, replay and probe, and clearing the navigations list. Drops router clearing in `clear-recordings`. The `navigate` agent tool stays for `instrument` and `resolve-lazy` and refuses the other four. |
| `actions.ngrx` | `true` | Restoring NgRx state from the change log and dispatching `@ngrx/store` actions. Drops the `dispatch-ngrx-action` agent tool. |
| `actions.http` | `true` | Editing fault injection rules and SSR overrides, and clearing the HTTP timeline. Drops the `set-http-rule` and `remove-http-rule` agent tools and HTTP clearing in `clear-recordings`. |
| `actions.analog` | `true` | The Analog request playground and clearing server calls. Drops the `analog-call-api` agent tool and Analog clearing in `clear-recordings`. |
| `actions` | `true` | All of the above. |

Pass `actions: false` to block every action, or an object to block some. Keys you leave out of the object stay on.

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading