# CollaborationFlat

Binds Core to a shared CRDT replica with local-author undo. Supply doc, disable ordinary UndoRedo and provide transport and authorization.

Binds Core to a shared CRDT replica with local-author undo. Supply doc, disable ordinary UndoRedo and provide transport and authorization.

`@quirekit/collab-flat` · **AGPL-3.0-only**

## Editor compatibility
Layer：**Shared document capability**
| Editor | Status | Assembly and boundaries |
| --- | --- | --- |
| Classic | Requires integration | Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports. |
| Block | Requires integration | Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports. |

“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See [status and integration rules](/en/plugins/compatibility). Licensing is shown separately.

## Installation

The current `@quirekit/collab-flat` manifest is private. This site uses workspace source; external projects need the relevant distribution package rather than assuming public npm availability.

Install in Editor extensions. The host supplies a view, container and persistence; see [Quick start](/en/guide/quick-start).

```ts
import { CollaborationFlat } from '@quirekit/collab-flat'
```

Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see [support and licensing](/en/support).

## Integration by editor

These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.

### Classic

Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports.

### Block

Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports.

## Configuration

These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See [configuration](/en/plugins/configuration).

### doc

Replica of the session; required.

Type：`CrdtDoc | null`

Default：`null`

### granularity

Attribute merge granularity overriding what the installed features declare through `addCollaboration()`.

Type：`AttributeGranularityResolver | undefined`

Default：`undefined`

### initialize

Writes this editor's content into the shared document when it is empty.

Type：`boolean`

Default：`false`

### verify

Checks every change against a full decode; for tests and debugging.

Type：`boolean`

Default：`false`

### repairIdentity

Whether this editor writes container identity repairs; turn off when the sync server repairs.

Type：`boolean`

Default：`true`

### captureTimeout

Milliseconds within which consecutive local edits form one undo step.

Type：`number`

Default：`500`

## Commands and runtime

These commands are supplied directly by this extension. Availability depends on the installed schema, selection and protection policy; query editor.can() first.

| Command | Parameter signature |
| --- | --- |
| `undo` | `undo()` |
| `redo` | `redo()` |

These are parameter signatures. See [commands and controls](/en/build/commands) to connect UI while retaining one transaction/history authority.

Disable StarterKit.undoRedo. The extension owns binding and collaboration history; authentication, transport, persisted replicas and recovery remain host integrations.

## Next steps

Return to [all plugins](/en/plugins), or read [configuration](/en/plugins/configuration) to distinguish options, attributes and commands.

See [extension development](/en/build/extension) for custom capabilities and [Build a product](/en/build) for complete hosting.
