SIGN IN SIGN UP

chore(release): prepare DomainKit (#132)

## Summary

All bumped packages.

| Package | From | To |
| --- | --- | --- |
| `@domainkit/react` | `0.15.0` | `0.16.0` |
| `domainkit` | `0.15.0` | `0.16.0` |
| `@domainkit/capsuledb` | `0.15.0` | `0.16.0` |

## Changelogs
### `batch-aggregate.md`

<details>
<summary>Show Bumped Packages (2)</summary>

| Package | Bump |
| --- | --- |
| `npm:domainkit` | minor |
| `npm:@domainkit/capsuledb` | minor |

</details>

#### Plan many domains, approve once, apply bounded

Setting up several domains at once meant a host rebuilt the lifecycle
DomainKit already guards for
one: a manifest over per-domain attempts, a digest the customer
approves, a lease per item, a
resumable apply, and a way to find the setups still owed a move.
`Provision.batch` is that
lifecycle inside DomainKit.

```ts
const batch =
  yield *
  provision.batch.create({
    idempotencyKey: request.idempotencyKey,
    items: zones.map((zone) => ({ domain: zone.domain, requirements: zone.requirements })),
  });
yield * provision.batch.approve(batch.id, { digest: batch.digest });
yield * provision.batch.apply(batch.id);
```

A batch is `planning` until every item has a plan, `planned` once it
does, `approved` after one
digest-bound approval covers every plan, and `applying`, `complete`,
`partial`, or `failed` as its
attempts move. `reject` closes a batch that was never approved. `create`
replays by idempotency
key, `resumePlanning` re-plans the items whose plan failed, `apply`
skips an item another apply
holds and returns, and `list({ unfinished: true })` answers every batch
the owner still owes a
move on. Items point at attempts: plan, approval, receipt, and lease
live once, on the attempt.

`Storage` gains `batches`; `@domainkit/capsuledb` adds
`domainkit_batches` and
`domainkit_batch_items` as one additive migration; `domainkit/server`
mounts the routes under
`/batches`. A digest that no longer matches fails `BatchStale`, which
names the batch, its status,
and the digest it holds.

## Publish

The following packages will be published if merged:

| Package | Version | Registry |
| --- | --- | --- |
| `@domainkit/react` | `0.16.0` | `npm` |
| `domainkit` | `0.16.0` | `npm` |
| `@domainkit/capsuledb` | `0.16.0` | `npm` |

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
G
github-actions[bot] committed
d3f1f3d26093d303d7ee3e42c20fbb0049466a8e
Parent: 8bd6efc
Committed by GitHub <noreply@github.com> on 9/19/2026, 12:51:40 PM