---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/media/contracts/interfaces/EditCapability.md
description: >-
  A structural document-editing capability group: every op in `ops` is
  applicable to every input matching `over`.
---

# Interface: EditCapability

Defined in: [src/batteries/media/contracts.ts:397](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/contracts.ts#L397)

A structural document-editing capability group: every op in `ops` is applicable to every
input matching `over`.

## Remarks

Two engines may declare the same ops over the same patterns with different fidelity — e.g.
an ExcelJS-backed editor preserves styling while a SheetJS CE-backed one strips it. The
registry does not rank fidelity; supply order (or selection middleware) decides, which makes
the trade-off the consumer's visible composition decision.

## Properties

| Property                          | Type                | Description                                                            | Defined in                                                                                                                        |
| --------------------------------- | ------------------- | ---------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
|  `ops`   | readonly `string`\[] | Operation names supported (`sheet.update_cells`, `sheet.add_rows`, …). | [src/batteries/media/contracts.ts:401](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/contracts.ts#L401) |
|  `over` | readonly `string`\[] | Input patterns this block edits.                                       | [src/batteries/media/contracts.ts:399](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/contracts.ts#L399) |

## Methods

### edit()

```ts
edit(request: EditRequest): Promise<EditResult>;
```

Defined in: [src/batteries/media/contracts.ts:408](https://github.com/NHTIO/ADK/blob/v1.20260713.1/src/src/batteries/media/contracts.ts#L408)

Apply one structural operation.

#### Parameters

| Parameter | Type                            | Description                            |
| --------- | ------------------------------- | -------------------------------------- |
| `request` | [`EditRequest`](EditRequest.md) | The op, its args, and the input bytes. |

#### Returns

`Promise`<[`EditResult`](EditResult.md)>

The restructured bytes plus optional change counts.
