/** * The app-facing slice of `store-registry` — and the reason it exists as a file. * * `store-registry.ts` holds two things that must not be exported together: the * placement/addressing calls a consumer application legitimately makes, and the * shim machinery that makes virtual users work at all (account resolution, the * durable cap registers, the inbox-ownership predicate, cache resets). Until now * `index.ts` did `export * as storeRegistry from "../shared-wallet/account-registry"` and shipped * both, so an application could reach `ensureAccount`, `addLink` or * `resetRegistryCache` from the SDK-identical entry — machinery it must never call, * on the entry whose whole promise is "this survives migration unchanged". * * What is re-exported here is only what an application needs to do its own work, * and each has a target-SDK counterpart (see `docs/api-contract.md`). Everything * else stays reachable at `./store-registry` for the library's own modules, the * unit tests and the e2e harness — an internal path, not a published one. * * At migration this file disappears: placement becomes the user's real per-scope * stores and the calls below become native SDK ones. */ export { /** Create a document for ONE entity in `scope`, and record it in that scope's store. */ createEntityDoc, /** The entity documents this user owns in `scope` — with their caps recovered. */ listMyEntityDocs, /** The NURI to use as a READ scope for `scope` (what `useShape` is pointed at). */ resolveScopeGraph, /** The NURI where GROUPED entities of `scope` are written (no per-entity document). */ resolveWriteGraph, /** A user's own inbox — where caps and messages addressed to THEM arrive. */ userInbox, /** Open an inbox on a document you OWN, so others can deposit into it. */ openDocumentInbox, /** WHERE to deposit for a document — readable by any holder of it. `undefined` if none. */ } from "../shared-wallet/account-registry"; export { documentInboxAddress } from "../emulated-verifier/branch-registers";