{"_id":"@asyra/persistence","_rev":"3-d75aa2de58dc13f812bfd98e2cb81dd0","name":"@asyra/persistence","dist-tags":{"latest":"0.5.2"},"versions":{"0.5.0":{"name":"@asyra/persistence","version":"0.5.0","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/persistence@0.5.0","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"dist":{"shasum":"15d54b03202fd1642fcf531b7adac4e204307fb9","tarball":"https://registry.npmjs.org/@asyra/persistence/-/persistence-0.5.0.tgz","fileCount":19,"integrity":"sha512-KSWOv87GBRygjKrB+CcjqVz07TzkfJ5zL63e3aznd8IVcfLtBpyyY9XQWegWk7AEI1GWWeq8CEf9alL+RncQow==","signatures":[{"sig":"MEYCIQCKFHKSXDaLteWCow8SUTENN4v+NLbdNCV/R/cGbPcpAwIhALIsu4JmZ50xk6TPrw36nfzq7NZYwLqxV8wkmyL4n08C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22178},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5ee728f3c26d52147314f2bf6d8de0f603146913","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"vitest","clean":"rm -rf dist","test:ci":"vitest run --coverage --reporter=default --reporter=junit","test:local":"vitest run","build:persistence":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"_npmVersion":"10.8.2","description":"Persistence providers and hooks for Asyra framework","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@asyra/utils":"0.5.0"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^2.1.8","typescript":"^5.7.2","fake-indexeddb":"^6.2.5","@vitest/coverage-v8":"^2.1.8"},"_npmOperationalInternal":{"tmp":"tmp/persistence_0.5.0_1786102653307_0.82266574126226","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@asyra/persistence","version":"0.5.1","keywords":[],"author":{"name":"Asa Tsai"},"license":"MIT","_id":"@asyra/persistence@0.5.1","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"homepage":"https://asyra-framework.vercel.app","bugs":{"url":"https://github.com/karote00/asyra/issues"},"dist":{"shasum":"49fbd7b0ee4bb2b4c5eb52f00fdccbdc4bd9de0f","tarball":"https://registry.npmjs.org/@asyra/persistence/-/persistence-0.5.1.tgz","fileCount":19,"integrity":"sha512-mS6NQ0r0w/5rTYRUEbUqONSgChuvFxJ1eSfV6dXYskMhsQlv6DGlCTQcRV/3ZRQQSeYCEzwQjfQGUL8mAVedAw==","signatures":[{"sig":"MEQCIGzOjyWt23WMSHI+/0y1OLnM9n1b/OvsBvUmpXI8tfehAiAlx358Qx15T4ocudu8c1O6ixKkCa5v1PR8/oQW3TkRKw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23751},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","engines":{"node":"24.x"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"80265cc1fd1895a0f30c79a6127c00342a6f85fd","scripts":{"dev":"tsc --watch --preserveWatchOutput","test":"vitest","clean":"rm -rf dist","test:ci":"vitest run --coverage --reporter=default --reporter=junit","test:local":"vitest run","build:persistence":"tsc"},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"repository":{"url":"git+https://github.com/karote00/asyra.git","type":"git","directory":"packages/persistence"},"_npmVersion":"10.8.2","description":"Persistence providers and hooks for Asyra framework","directories":{},"_nodeVersion":"24.13.0","dependencies":{"@asyra/utils":"workspace:*"},"_hasShrinkwrap":false,"packageManager":"yarn@4.3.1","devDependencies":{"vitest":"^3.2.6","typescript":"^5.7.2","fake-indexeddb":"^6.2.5","@vitest/coverage-v8":"^3.2.6"},"_npmOperationalInternal":{"tmp":"tmp/persistence_0.5.1_1787911994722_0.31596567059975444","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@asyra/persistence","version":"0.5.2","description":"Persistence providers and hooks for Asyra framework","author":{"name":"Asa Tsai"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/persistence"},"homepage":"https://asyra-framework.vercel.app","type":"module","engines":{"node":"24.x"},"packageManager":"yarn@4.3.1","keywords":[],"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsc --watch --preserveWatchOutput","build:persistence":"tsc","clean":"rm -rf dist","test":"vitest","test:local":"vitest run","test:ci":"vitest run --coverage --reporter=default --reporter=junit"},"devDependencies":{"@vitest/coverage-v8":"^3.2.6","fake-indexeddb":"^6.2.5","typescript":"^5.7.2","vitest":"^3.2.6"},"dependencies":{"@asyra/utils":"0.5.1"},"_id":"@asyra/persistence@0.5.2","gitHead":"5c7433cfe12ee0f8b266ca43b22441b048407bbf","bugs":{"url":"https://github.com/karote00/asyra/issues"},"_nodeVersion":"24.13.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-BSagOZTOy/0zFynMIorGZWF0/WAfdnQSEe2GtvdGK1U4dQ3TZpLKU6dkIal5/P0oThP63OzD6O+guuAh7j/UcQ==","shasum":"f4509f0e9ec8798e4534369dd00bc465a1c375ef","tarball":"https://registry.npmjs.org/@asyra/persistence/-/persistence-0.5.2.tgz","fileCount":19,"unpackedSize":23745,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC1ALeA9nxeX1IMRcDulthAs7ziF0T2uwh5eFwW3X/wpQIgbTHaA3JRoIOUO4CGgeVvld3yEq3Kvzr4aPeFbucTeKU="}]},"_npmUser":{"name":"karoteglathe","email":"karoteglathe@gmail.com"},"directories":{},"maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/persistence_0.5.2_1787915193587_0.7772567350169213"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-07T11:37:33.144Z","modified":"2026-08-28T11:06:33.920Z","0.5.0":"2026-08-07T11:37:33.466Z","0.5.1":"2026-08-28T10:13:14.854Z","0.5.2":"2026-08-28T11:06:33.729Z"},"bugs":{"url":"https://github.com/karote00/asyra/issues"},"author":{"name":"Asa Tsai"},"license":"MIT","homepage":"https://asyra-framework.vercel.app","keywords":[],"repository":{"type":"git","url":"git+https://github.com/karote00/asyra.git","directory":"packages/persistence"},"description":"Persistence providers and hooks for Asyra framework","maintainers":[{"name":"karoteglathe","email":"karoteglathe@gmail.com"}],"readme":"# `@asyra/persistence`\n\nRead-only load-source, replaceable provider, and synchronous load/save hook contracts with browser and memory references.\n\n## Requirements\n\n- Node.js 24.x\n- Yarn 4.3.1 for this repository's maintained workflows\n\n## Install\n\n```bash\nnpm install @asyra/persistence\n```\n\n```ts\nimport type { DocumentLoadSource } from '@asyra/persistence'\n```\n\nUse only the package root and the explicitly documented public subpaths.\n\n## Owns\n\n- load-source/provider contracts, synchronous hook types, and explicit IndexedDB, Local Storage, and memory provider behavior\n\n## Does not own\n\n- Core save scheduling, canonical validation/apply, App version policy, collaboration logs, authorization, or production topology\n\n## Start here\n\nCompose a provider when the App needs a local or custom storage boundary; treat reference providers as examples rather than production backend policy.\n\n## Lifecycle and composition\n\n`load()` returns untrusted data. App migration and Core/package validation happen before canonical apply. Provider failure remains separate from runtime transaction settlement, and explicit save data goes only where the App sends it.\n\n## Learn more\n\n- [Complete package guide](https://github.com/karote00/asyra/blob/main/docs/public/reference/packages/persistence.md)\n- [Framework release support](https://github.com/karote00/asyra/blob/main/docs/ai/framework/RELEASE_SUPPORT.md)\n\n## Support and policy\n\nThis repository does not accept external issues or contributions. You may use,\ninspect, and fork the package under the [MIT License](https://github.com/karote00/asyra/blob/main/LICENSE).\nFollow the [security policy](https://github.com/karote00/asyra/blob/main/SECURITY.md) for\nsecurity-sensitive reports and the [root policy](https://github.com/karote00/asyra) for the\ncurrent support boundary.\n","readmeFilename":"README.md"}