# Interface: NodeAction

Defined in: [packages/core/src/node/actions.ts:56](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L56)

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-description"></a> `description` | `readonly` | `string` | One or more sentences, for a person or a model | [packages/core/src/node/actions.ts:62](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L62) |
| <a id="property-destructive"></a> `destructive?` | `readonly` | `boolean` | Removes or overwrites something, or brings in someone else's space. A front end should ask a person before an agent runs it: an agent reads records other people wrote, and one of them may be telling it what to do. | [packages/core/src/node/actions.ts:78](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L78) |
| <a id="property-input"></a> `input` | `readonly` | [`ActionSchema`](https://minca.dev/api/core/interfaces/ActionSchema.md) | What it takes, as a JSON Schema object | [packages/core/src/node/actions.ts:64](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L64) |
| <a id="property-name"></a> `name` | `readonly` | `string` | `[a-z_]+`, so it is a valid tool name everywhere | [packages/core/src/node/actions.ts:58](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L58) |
| <a id="property-peercontent"></a> `peerContent?` | `readonly` | `boolean` | Returns what other people wrote — record bodies, names, collection descriptions. Data for an agent to read, never instructions to follow. | [packages/core/src/node/actions.ts:83](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L83) |
| <a id="property-readonly"></a> `readOnly` | `readonly` | `boolean` | Reads only. Agents may run these without asking; everything else changes data. Default false. | [packages/core/src/node/actions.ts:66](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L66) |
| <a id="property-run"></a> `run` | `readonly` | (`node`, `input`) => `Promise`\<`unknown`\> | Runs it. Input and output are plain JSON: never a key, a handle or a function. | [packages/core/src/node/actions.ts:85](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L85) |
| <a id="property-sensitive"></a> `sensitive?` | `readonly` | `boolean` | Returns something that grants access — an invite to a private space carries its key. A front end should confirm with a person before handing the result to anyone. | [packages/core/src/node/actions.ts:72](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L72) |
| <a id="property-title"></a> `title` | `readonly` | `string` | A few words for people: what a client shows when it asks before running it | [packages/core/src/node/actions.ts:60](https://github.com/leifriksheim/minca/blob/main/core/src/node/actions.ts#L60) |
