@klum-db/lobby 0.3.0-pre.1 → 0.4.0-pre.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -111,7 +111,7 @@ const report = await migrateThenMerge(receiver, compartmentBytes, {
111
111
 
112
112
  | Capability | What it does | API |
113
113
  |---|---|---|
114
- | **Bundle** (FR-1) | Multi-compartment `.noydb` container + pre-decrypt manifest | `@noy-db/hub/bundle` · `writeMultiVaultBundle` |
114
+ | **Bundle** (FR-1) | Multi-compartment `.noydb` container + pre-decrypt manifest | `@noy-db/hub/pod` · `writeMultiVaultBundle` |
115
115
  | **Relocate** (FR-2) | Cross-vault FK-closure extraction → bundle | `extractCrossVaultPartition` / `walkCrossVaultClosure` |
116
116
  | **Merge** (FR-3) | Reconcile a compartment into an existing vault | `mergeCompartment` |
117
117
  | **Authority** (FR-4) | Per-**field** conflict resolution (registry-newest vs owner) | `resolveFieldAuthority` · `strategy: 'field-authority'` |
@@ -167,26 +167,29 @@ The one-way law and the kernel seam are covered up top — here are the specific
167
167
  - **Federation** lives in the Lobby, not in hub — open fleets with `lobby.openVaultGroup` (`@noy-db/hub` no longer ships the `openVaultGroup` / `openStateManagementVault` / `withVaultTemplate` fleet methods).
168
168
  - **Enforced, not conventional:** an `@noy-db` package importing `@klum-db` fails noy-db's build-time architecture check.
169
169
 
170
- ## Consumer requirements (hub >= 0.3.0-pre.1)
170
+ ## Consumer requirements (hub >= 0.4.0-pre.0)
171
171
 
172
- `@noy-db/hub` gates `extractPartition` (the primitive under `extractCrossVaultPartition`, `mergeCompartment`, `migrateThenMerge`, `exportSurface`/`applySurface`) and search/retrieval behind opt-in strategies. The Lobby never constructs your `Noydb`/`Vault` instances — you do — so **you** must opt in on any vault passed into these APIs:
172
+ `@noy-db/hub` gates `extractPartition` (the primitive under `extractCrossVaultPartition`, `mergeCompartment`, `migrateThenMerge`, `exportSurface`/`applySurface`), search/retrieval, and multi-user grants behind opt-in strategies. The Lobby never constructs your `Noydb`/`Vault` instances — you do — so **you** must opt in on any vault passed into these APIs:
173
173
 
174
174
  - **Interchange** (`extractCrossVaultPartition`, `mergeCompartment`, `migrateThenMerge`, `exportSurface`, `applySurface`): every source vault involved must be created with `cargoStrategy: withCargo()` from `@noy-db/hub/cargo`, or these calls throw `CargoNotEnabledError`.
175
175
  - **Federated retrieve** (`ShardedCollection.retrieve()` across a `VaultGroup`): additionally requires `searchStrategy: withSearch()` from `@noy-db/hub` on every vault in the group, or lexical retrieve silently returns no hits and semantic/hybrid retrieve throws `SearchNotEnabledError`.
176
+ - **Multi-user grants** (sharing shards/registry vaults across operators and advisors): the *granting* session must be created with `teamStrategy: withTeam()` from `@noy-db/hub/team`, or `grant`/`revoke`/`rotate` throw `TeamNotEnabledError`. Grantees opening an already-granted vault need no strategy.
176
177
 
177
178
  ```ts
178
179
  import { createNoydb, withSearch } from '@noy-db/hub'
179
180
  import { withCargo } from '@noy-db/hub/cargo'
181
+ import { withTeam } from '@noy-db/hub/team'
180
182
 
181
183
  const db = await createNoydb({
182
184
  store, user, secret,
183
185
  cargoStrategy: withCargo(), // required for interchange (extractPartition-backed APIs)
184
186
  searchStrategy: withSearch(), // required for federated retrieve()
187
+ teamStrategy: withTeam(), // required to grant/revoke/rotate multi-user access
185
188
  })
186
189
  ```
187
190
 
188
191
  ## Status
189
192
 
190
- Preview. `@klum-db/lobby` is its own repository and the sole publisher of `@klum-db/*` to npm. It depends on the **published** `@noy-db/*` packages through the stable `@noy-db/hub/kernel` boundary and versions **independently** (`0.2.0-pre.N`, decoupled from noy-db). Pilot-1 (FR-1…FR-9), the dock tier, and `Lobby.graduate()` are complete.
193
+ Preview. `@klum-db/lobby` is its own repository and the sole publisher of `@klum-db/*` to npm. It depends on the **published** `@noy-db/*` packages through the stable `@noy-db/hub/cargo` + `/pod` boundaries and versions **independently** (`0.4.0-pre.N`, decoupled from noy-db). Pilot-1 (FR-1…FR-9), the dock tier, and `Lobby.graduate()` are complete.
191
194
 
192
195
  See [`docs/architecture.md`](docs/architecture.md) for the detailed noy-db ↔ klum-db boundary, [`docs/roadmap.md`](docs/roadmap.md) for what's next, and [`PROVENANCE.md`](./PROVENANCE.md) for origin and build history.
@@ -1,6 +1,5 @@
1
- import { V as VaultGroup } from '../vault-group-D0EC-D5c.cjs';
1
+ import { V as VaultGroup } from '../vault-group-DJtzjwZK.cjs';
2
2
  import '@noy-db/hub/cargo';
3
- import '@noy-db/hub/bundle';
4
3
 
5
4
  /**
6
5
  * A config module for the `klum` CLI default-exports this factory: given an
@@ -1,6 +1,5 @@
1
- import { V as VaultGroup } from '../vault-group-D0EC-D5c.js';
1
+ import { V as VaultGroup } from '../vault-group-DJtzjwZK.js';
2
2
  import '@noy-db/hub/cargo';
3
- import '@noy-db/hub/bundle';
4
3
 
5
4
  /**
6
5
  * A config module for the `klum` CLI default-exports this factory: given an