|
|
1 month ago | |
|---|---|---|
| .. | ||
| src | 1 month ago | |
| tests | 1 month ago | |
| README.md | 1 month ago | |
| package.json | 1 month ago | |
| tsconfig.json | 1 month ago | |
| tsdown.config.ts | 1 month ago | |
ctx↔React glue: createSnapshotStore (zustand vanilla + immer + subscribeWithSelector + rafFlush + opt-in persist), bindSnapshotSelector, SessionProvider (dependency-inverted), scopedSlots outlet, RootBindingProvider, useInvoke. Contract: api-contracts v3 §2.
None, as the ctx↔React glue runs entirely in the browser; nothing here reaches a model request.
None; this package neither assembles nor sends a provider request.
SnapshotStore<string> round-trips as a character map; consumers with primitive state hand-roll persistence instead (ui-conversation drafts is the precedent).UseSession is deliberately wide (object snapshot) — the dependency direction (runtime → web-react, never the reverse) keeps the real ConversationSnapshot type out of reach; session-slot consumers narrow once at their boundary.