{"_id":"@dongkseo/store-json","_rev":"10-d572952d38a4f7b55117d8df178d22fd","name":"@dongkseo/store-json","dist-tags":{"latest":"0.1.9"},"versions":{"0.1.0":{"name":"@dongkseo/store-json","version":"0.1.0","_id":"@dongkseo/store-json@0.1.0","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"493823a0a59c352520be9921fbccce3c1daf3898","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.0.tgz","fileCount":50,"integrity":"sha512-sQ5o+P4JZoPrpvOcX9TYZr82aacc7l9ltKwOSS0SEjGD/YY89wvMzu1yD0UYw1xL3Vx7paLN1t3+To+f9qyPqA==","signatures":[{"sig":"MEYCIQD1yXqrfpJ1r/Uh6uTYcWtcixZKL4YzmUhc9De/lMoV9QIhAOcWT3Hw0IHBzOYXE4ZLNBCaX6+1IgW0hHBK7e7RdVl5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106290},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.0.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/a38437f72eda036c5bbc1f398d0e98c3/dongkseo-store-json-0.1.0.tgz","_integrity":"sha512-sQ5o+P4JZoPrpvOcX9TYZr82aacc7l9ltKwOSS0SEjGD/YY89wvMzu1yD0UYw1xL3Vx7paLN1t3+To+f9qyPqA==","_npmVersion":"11.12.1","description":"**Stability: stable**","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.0_1781668543965_0.6826114569440578","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dongkseo/store-json","version":"0.1.1","_id":"@dongkseo/store-json@0.1.1","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"4c87a2a0112b1677a4aa86887247c36fa98cd6fa","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.1.tgz","fileCount":50,"integrity":"sha512-/JDi0XLOVeq+tUP5z7nARpuVAcutcncXaV/pz4l6KMWyyFgHP9h4q1JE8tiocJe0ezqKhM+rMR0GWVQKMwJ6BQ==","signatures":[{"sig":"MEYCIQCi+mJ2hp9RSlC5/FrX1nQR7xhrK9AoUyy07T1oONVRRwIhANYf6ZAswDu+0R9cd6ryaAIZbfDqlvUZCciQJ+SH4US3","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106290},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.1.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/b2dfca14ba61d22e9a53612e067d6d13/dongkseo-store-json-0.1.1.tgz","_integrity":"sha512-/JDi0XLOVeq+tUP5z7nARpuVAcutcncXaV/pz4l6KMWyyFgHP9h4q1JE8tiocJe0ezqKhM+rMR0GWVQKMwJ6BQ==","_npmVersion":"11.12.1","description":"**Stability: stable**","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.1_1781693217401_0.9254495870939567","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@dongkseo/store-json","version":"0.1.2","_id":"@dongkseo/store-json@0.1.2","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"c215504a953b01cd420b2372344dab9f04329b96","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.2.tgz","fileCount":58,"integrity":"sha512-39Ozr10/lKmKcp5DVJ5I7t1VpUwdcdS8qx0b3FF40BMkW2W+Z3Ntk7DxgJKNR3Gk826vWf2J50YKydM66J684Q==","signatures":[{"sig":"MEYCIQCctuKhtmKTeS4PJSX2I2UWz8yVPwekovqhDsdrWSitlAIhANjnc49o5CLi+CGxcfFKqob1baX6ZtBCeStG0a70jiKH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117824},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.2.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/7a972cb02eb64f32d8c307fc212adbc1/dongkseo-store-json-0.1.2.tgz","_integrity":"sha512-39Ozr10/lKmKcp5DVJ5I7t1VpUwdcdS8qx0b3FF40BMkW2W+Z3Ntk7DxgJKNR3Gk826vWf2J50YKydM66J684Q==","_npmVersion":"11.12.1","description":"**Stability: stable**","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"0.1.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.2_1782111936856_0.8070300116578175","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@dongkseo/store-json","version":"0.1.3","_id":"@dongkseo/store-json@0.1.3","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"3ceb6222e2809dbcc24490b5bdd1cda432169ece","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.3.tgz","fileCount":58,"integrity":"sha512-0PwYoIx64dJwcZxtD5ZowEv8jnpbWN/VXLdyf9C7kbyv0D5cbm3JBiDWSKzih2ypp4ITmAOVyZpCqQXMqBUjpg==","signatures":[{"sig":"MEQCIBHags18DnL0pa/MMKF/+eXX8tRO/Fj6nQ+NTzdc3T7zAiAx5uQty84LT/TGzEV0Kjg0fN/CuPkScua4h4v4aBdCew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":117825},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.3.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/3739a7b8537af980f42afe30826de59a/dongkseo-store-json-0.1.3.tgz","_integrity":"sha512-0PwYoIx64dJwcZxtD5ZowEv8jnpbWN/VXLdyf9C7kbyv0D5cbm3JBiDWSKzih2ypp4ITmAOVyZpCqQXMqBUjpg==","_npmVersion":"11.12.1","description":"**Stability: stable**","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"^0.1.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.3_1782200184443_0.8917069591757361","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@dongkseo/store-json","version":"0.1.4","_id":"@dongkseo/store-json@0.1.4","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"4b4b8baf559aac36f910106d8358090d6763c2b8","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.4.tgz","fileCount":66,"integrity":"sha512-AG/iUYW/RnBzNxLmOVDz2NAQRb13SyzzGXdm9FPlqKhtWCIoWmh/z2i7KdjTI11P+BRZAD5cDSfiIWu3Vkq0pg==","signatures":[{"sig":"MEYCIQCo1jYwlqfqhrYaE93Z6wNsXLzd6GoJPeXIKrB4qF7RzwIhAK8bOnFwECjfJe/nC2JeUNgwPx/G1X4ftmXaoqy0mCKl","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":142515},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.4.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/ec060be21565b088e22dd1d636679a55/dongkseo-store-json-0.1.4.tgz","_integrity":"sha512-AG/iUYW/RnBzNxLmOVDz2NAQRb13SyzzGXdm9FPlqKhtWCIoWmh/z2i7KdjTI11P+BRZAD5cDSfiIWu3Vkq0pg==","_npmVersion":"11.12.1","description":"**Stability: advanced** · `pnpm add @dongkseo/store-json`","directories":{},"_nodeVersion":"26.0.0","dependencies":{"@dongkseo/contracts":"^0.1.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.4_1782319774236_0.46286746965808523","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@dongkseo/store-json","version":"0.1.5","_id":"@dongkseo/store-json@0.1.5","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"1ce6e7845ba694bc6ba59b6d6cef7090ec50b1f6","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.5.tgz","fileCount":66,"integrity":"sha512-7hyMt+JMHcntCl/Tf4S2CoQYXs5mbRIQ1RDcnBpA5NwkksIxeSeQRbd+thP2nY3E+YLlx0Nkr43HDr7kZp4/pA==","signatures":[{"sig":"MEQCICDAnR5krRz5IMMxdQ72Tr2M3Fl58FiNhhanIF3ffpBRAiB9zpoRYw2Jh1q0Pniq0uwKHFbp7ury48aSkSFcTxE9nA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":144263},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.5.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/f8fef2b168298c06accc07b8e9a79de3/dongkseo-store-json-0.1.5.tgz","_integrity":"sha512-7hyMt+JMHcntCl/Tf4S2CoQYXs5mbRIQ1RDcnBpA5NwkksIxeSeQRbd+thP2nY3E+YLlx0Nkr43HDr7kZp4/pA==","_npmVersion":"11.16.0","description":"**Stability: advanced** · `pnpm add @dongkseo/store-json`","directories":{},"_nodeVersion":"26.3.1","dependencies":{"@dongkseo/contracts":"^0.1.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.5_1782389352912_0.19245549030313014","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@dongkseo/store-json","version":"0.1.6","_id":"@dongkseo/store-json@0.1.6","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"df6115686ad0c1d0decb7ac640b4985e8135fbc2","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.6.tgz","fileCount":74,"integrity":"sha512-lOUKK31zH+9Fh/AWFzXGxKqhbJ4UtYy8Cc+k1GpdIn+1RDm19TixGNyWV1exKb1Mj6uEOkO1AVs79xSRSBS5xQ==","signatures":[{"sig":"MEYCIQCNsejV0Azbl1rExKj5kGxXkuh2m9uLMp2nqAgeta40FgIhAIcLtZDmrGm6O8BvgGfczqam4yYFtOrNl1WGQfJX5E/v","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153737},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.6.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/lw/t8yfg__j2nxd25m53gt8840h0000gn/T/35d04379eb8cba59bf0aeab3bec3b8e6/dongkseo-store-json-0.1.6.tgz","_integrity":"sha512-lOUKK31zH+9Fh/AWFzXGxKqhbJ4UtYy8Cc+k1GpdIn+1RDm19TixGNyWV1exKb1Mj6uEOkO1AVs79xSRSBS5xQ==","_npmVersion":"11.16.0","description":"**Stability: advanced** · `pnpm add @dongkseo/store-json`","directories":{},"_nodeVersion":"26.3.1","dependencies":{"@dongkseo/contracts":"^0.1.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.0","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.6_1782395403468_0.8548936961646103","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@dongkseo/store-json","version":"0.1.7","_id":"@dongkseo/store-json@0.1.7","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"346376029fe7c914732eb0f4a6a929e3f5e02c20","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.7.tgz","fileCount":74,"integrity":"sha512-LjFSWw2O4WFnWrA1Keb8Hzfq6dVU1cbIllAiDYpeDPv3NBPE+sXbyT57cdlegC3nrnvkcOF7E0ZPlTXdVfAxSA==","signatures":[{"sig":"MEYCIQD38HPbRQdpY85hmP/MuhsM4sGHYo6MrjTrDNX0V/N+6wIhAMtSHnAzUH1Qp8i8COfm3ZXWKMksy5v3TaculCgOl3Iz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":153919},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.7.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/5477a701ce219b19d96c4847b597a05c/dongkseo-store-json-0.1.7.tgz","_integrity":"sha512-LjFSWw2O4WFnWrA1Keb8Hzfq6dVU1cbIllAiDYpeDPv3NBPE+sXbyT57cdlegC3nrnvkcOF7E0ZPlTXdVfAxSA==","_npmVersion":"11.16.0","description":"**Stability: advanced** · `pnpm add @dongkseo/store-json`","directories":{},"_nodeVersion":"26.3.1","dependencies":{"@dongkseo/contracts":"^0.1.25"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.1"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.7_1783067401151_0.1548003771055928","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@dongkseo/store-json","version":"0.1.8","_id":"@dongkseo/store-json@0.1.8","maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"dist":{"shasum":"9f7362dbcad95ffeb5f64c23acd237bf028d5a7d","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.8.tgz","fileCount":74,"integrity":"sha512-TIAZJi6JioZQJaEXeWmTY044JR1o5J9RIwASnL/Fwp6e/1R1V99OtSAFDWH4xiJOh5ip42fEEFf3L42RiqId3A==","signatures":[{"sig":"MEUCIQDTjXoDzxBgJW4hGwdWhHm0cYMtq2wAGJzbMPxY7WqW8AIgF705nSNg6qSqkq6K70rF8UvDW4kneaCmL3Bjn8YaUW0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157540},"main":"./dist/index.js","type":"module","_from":"file:dongkseo-store-json-0.1.8.tgz","types":"./dist/index.d.ts","nexora":{"stability":"advanced"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"vitest run","build":"tsc","clean":"rm -rf dist .tsbuildinfo"},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"_resolved":"/private/var/folders/f6/dfc3mm717vx9xjh0vbgqnddr0000gn/T/7f1a021fb52e5b62b695240e80c5938a/dongkseo-store-json-0.1.8.tgz","_integrity":"sha512-TIAZJi6JioZQJaEXeWmTY044JR1o5J9RIwASnL/Fwp6e/1R1V99OtSAFDWH4xiJOh5ip42fEEFf3L42RiqId3A==","_npmVersion":"11.17.0","description":"**Stability: advanced** · `pnpm add @dongkseo/store-json`","directories":{},"_nodeVersion":"26.4.0","dependencies":{"@dongkseo/contracts":"^0.1.31"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^26.0.1"},"_npmOperationalInternal":{"tmp":"tmp/store-json_0.1.8_1785308098356_0.30393343132077044","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@dongkseo/store-json","version":"0.1.9","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@dongkseo/contracts":"^0.1.32"},"devDependencies":{"@types/node":"^26.1.2","typescript":"^7.0.2"},"nexora":{"stability":"advanced"},"publishConfig":{"access":"public"},"scripts":{"build":"tsc","test":"vitest run","clean":"rm -rf dist .tsbuildinfo"},"_nodeVersion":"26.7.0","_id":"@dongkseo/store-json@0.1.9","dist":{"integrity":"sha512-JJ8I/Wni0jZJVTrtlvInX9nAclAE6WwrDQMXS6fc3BQHxjghuzCSAKlHYbz/tjJYrMzEIEvnUHLYkibsMsUluw==","shasum":"0a851c91e2c16da0ae2759798e515c1d7e575614","tarball":"https://registry.npmjs.org/@dongkseo/store-json/-/store-json-0.1.9.tgz","fileCount":82,"unpackedSize":185192,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC54SP85Of/tv4PVPciBAafOegbmNYWD6M4R4GDUkpCJgIgdiHrdYABYmMnPMvsKfsByeMdWHDp+6AQDOOz0lsuirk="}]},"_npmUser":{"name":"dongkseo","email":"ssddgg99@daum.net"},"directories":{},"maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/store-json_0.1.9_1786622525704_0.8698317375786568"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T03:55:43.812Z","modified":"2026-08-13T12:02:06.044Z","0.1.0":"2026-06-17T03:55:44.111Z","0.1.1":"2026-06-17T10:46:57.528Z","0.1.2":"2026-06-22T07:05:36.993Z","0.1.3":"2026-06-23T07:36:24.578Z","0.1.4":"2026-06-24T16:49:34.413Z","0.1.5":"2026-06-25T12:09:13.065Z","0.1.6":"2026-06-25T13:50:03.600Z","0.1.7":"2026-07-03T08:30:01.300Z","0.1.8":"2026-07-29T06:54:58.523Z","0.1.9":"2026-08-13T12:02:05.872Z"},"maintainers":[{"name":"dongkseo","email":"ssddgg99@daum.net"}],"readme":"# @dongkseo/store-json\n\n**Stability: advanced** · `pnpm add @dongkseo/store-json`\n\n> 이 파일은 에이전트(사람·LLM)가 **소스를 열지 않고도** 이 패키지를 쓸 수 있게 하는 오리엔테이션 문서다.\n> 정확한 API 타입은 \"API 표면\" 섹션의 방법으로 `signatures`만 읽어라 — 본문을 베끼지 말 것.\n\n## 무엇인가 / 무엇이 아닌가\n\n`@dongkseo/contracts`가 정의한 **store 백엔드 계약**(`ConversationStore`, `KnowledgeStore`,\n`TranscriptStore`, `SuspendedTurnStore` …)을 **JSON 파일**로 구현한 패키지다. `dataDir` 하위에\n대화·지식·스케줄·감사 로그 등을 파일로 떨어뜨린다.\n\n- ✅ 담는 것: 각 store 계약의 파일 기반 구현 클래스(`*StoreJson`), 한 번에 묶어 만드는 `createJsonStoreProvider`\n- ❌ 안 담는 것: store 계약 정의(그건 `contracts`), 프로덕션 내구성/동시성 보장, DB 연결 — 그건 `store-pg` 몫\n\n의존 방향은 **store-json → contracts** 단방향. 이 패키지는 보통 직접 import 하지 않고\n`@dongkseo/store` 팩토리가 `type: 'json'`일 때 동적으로 로드한다.\n\n> **개발용 백엔드.** 모든 store의 `describeBackend()`는 `type: 'dev'`, `multiProcess: false`를\n> 보고한다. 프로세스 간 동시 접근에 안전하지 않으므로 프로덕션 멀티테넌트에는 `@dongkseo/store-pg`를 써라.\n\n## 핵심 개념\n\n| 개념 | 무엇 | 대표 export |\n| --- | --- | --- |\n| **Provider** | 모든 store를 한 객체로 묶어 생성 | `createJsonStoreProvider`, `JsonStoreProvider` |\n| **Conversation** | 선형 대화 기록(append/getHistory/compaction) | `ConversationStoreJson` |\n| **Session tree** | 분기 가능한 세션 트리(branch/buildContext/leaf) | `TreeConversationStoreJson` |\n| **Transcript** | `ContentBlock` 단위 상세 기록 | `TranscriptStoreJson` |\n| **Knowledge / Schedule** | 지식 토픽·예약 작업 영속화 | `KnowledgeStoreJson`, `ScheduleStoreJson` |\n| **Context / Audit / Tool** | 컨텍스트·감사 로그·도구 컨텍스트 | `ContextStoreJson`, `AuditStoreJson`, `ToolContextStoreJson` |\n| **Suspended turn** | HITL(휴먼인더루프) 일시중단 턴 저장 | `SuspendedTurnStoreJson` |\n| **Effect ledger** | 도구 intent/result와 run lease/fencing 저장 | `EffectLedgerJson` |\n| **Runtime input queue** | 입력 순서와 pending/claimed/admitted/discarded 상태 저장 | `provider.inputQueue` |\n\n## 사용 레시피\n\n보통은 `@dongkseo/store` 팩토리로 받는다 (`packages/store/src/factory.ts` 기준, 실제 동작 코드):\n\n```ts\nimport { createStoreProvider } from '@dongkseo/store';\n\n// type: 'json'이면 내부에서 @dongkseo/store-json을 동적 import → createJsonStoreProvider(dataDir)\nconst store = await createStoreProvider({ type: 'json', dataDir: './.data' });\n\nawait store.conversation.appendMessage(conversationId, message);\nconst history = await store.conversation.getHistory(conversationId);\n```\n\n직접 인스턴스화도 가능하다 (`src/index.ts`의 실제 시그니처):\n\n```ts\nimport { createJsonStoreProvider } from '@dongkseo/store-json';\n\nconst provider = createJsonStoreProvider('./.data'); // dataDir 하위에 JSON 파일 생성\nawait provider.conversation.appendMessage(conversationId, message);\n// AgentRunner durability에 provider.effectLedger를 주입할 수 있다.\n\n// 단일 store만 필요하면 클래스를 직접 쓴다\nimport { TreeConversationStoreJson } from '@dongkseo/store-json';\nconst tree = new TreeConversationStoreJson('./.data');\nconst entryId = await tree.appendEntry(conversationId, entry);\n```\n\n## API 표면 (소스 안 열고 타입만)\n\n`index.ts`는 store별로 그룹핑돼 있고 파일 맨 위에 **섹션 맵 주석**이 있다. 정확한 시그니처가 필요하면\n구현 본문 대신 **signatures 모드**로만 읽어라:\n\n```\nctx_read(path=\"packages/store-json/src/index.ts\",        mode=\"map\")          # 전체 export 목록\nctx_read(path=\"packages/store-json/src/conversation.ts\", mode=\"signatures\")\nctx_read(path=\"packages/store-json/src/session-tree.ts\", mode=\"signatures\")\nctx_read(path=\"packages/store-json/src/effect-ledger.ts\", mode=\"signatures\")\n```\n\n어떤 파일에 뭐가 있는지는 `src/index.ts` 상단 주석 맵을 먼저 보면 된다.\n각 store가 구현하는 계약 타입은 `@dongkseo/contracts`의 `./store`·`./transcript`·`./session-tree`에 있다.\n\n## 유지보수 (drift 방지)\n\n- 이 README = **목적·개념·레시피** 만. 거의 안 변하므로 손으로 관리.\n- **API 정본은 각 소스의 TSDoc** (`/** … */`). API가 바뀌면 코드 옆 TSDoc만 고치면 됨 — 여기 표는 복제하지 말 것.\n- 새 store를 export하면 `index.ts` 상단 섹션 맵에 한 줄만 추가.\n\n## Tests\n\n```bash\ncd packages/store-json && pnpm test\n```\n\nPart of the [Nexora](../../README.md) multi-tenant agent framework. · [Package map](../../docs/architecture/packages-map.md)\n","readmeFilename":""}