SuperJJ007/papermachine--packages-client-store ↗★ 59
@deepseek-ai/dsh-client-store
无 React 依赖的可观察与快照存储契约,共享 Zustand/Immer 引擎。 适合需在不依赖 React 的情况下发布稳定快照的客户端状态管理场景。
同名包的其他仓库
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗description: "Observable browser state stores with explicit snapshots, subscriptions, and lifecycle ownership." kind: "package-library"
@deepseek-ai/dsh-client-store
English | 中文
Summary
React-free observable and snapshot-store primitives shared by Client controllers and renderer adapters. The package owns synchronous and animation-frame publication, Immer-backed updates, shallow equality, and optional browser persistence; React hook construction remains in @deepseek-ai/dsh-client-ui-renderer. Use it when Client state must publish stable snapshots without depending on React.
Table of Contents
Model Experience
None, as this package provides browser-side state primitives and registers nothing model-facing.
KV Cache effect
None; the stores neither assemble nor send model requests.
Known Limitations and Deferred Work
- Persistence is browser-local — persisted stores use JSON in
localStorage; non-browser runtimes disable persistence, and the package provides no cross-device synchronization. - Web-shell build input — the static ESM retains third-party imports for Vite; independent consumers supply its development dependencies (dependency rules).
Dev Note
Working context for maintainers — click to expand
None.
Runtime invariant: No companion is published. The package exports a library engine and creates no process-global state; each store instance is covered by its owning tests.
Persistence merges saved object fields over init() so newly introduced fields keep defaults. Declared transient keys are omitted from serialization and restored from init(), even when older payloads contain them. Owners that persist a projection provide persistence.save(state) and persistence.restore(saved, initial) instead of this default merge and filtering; restore validates the parsed JSON and returns the complete initial state with accepted preferences. Callback failures follow the non-fatal storage-error behavior.