{"_id":"@burojs/file-storage","_rev":"2-50fdbe2c08ca774a6a49fbacb03d8419","name":"@burojs/file-storage","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.0":{"name":"@burojs/file-storage","version":"0.2.0","license":"MIT","_id":"@burojs/file-storage@0.2.0","maintainers":[{"name":"maksimkuznetsov","email":"mak.kooz@gmail.com"}],"dist":{"shasum":"862683c260a532eac2280eba0101eea16c2e1829","tarball":"https://registry.npmjs.org/@burojs/file-storage/-/file-storage-0.2.0.tgz","fileCount":9,"integrity":"sha512-MU+wtSq168fLWXvuri9p+R6V+rBLGGqw5kgG7Mm0me3bWXXIiYOYRAHnrspN43HntrUzfXvPDbUyMYeH57haAg==","signatures":[{"sig":"MEQCIDyiik6SKZfx/ANzCYwa1OQ0Pm8SZYrYgoEDu07BafEhAiApTxvErNChfuEHnxAGqGmERlBDQtP7Jj012YFixFLecw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331404},"main":"./dist/index.cjs","type":"module","_from":"file:burojs-file-storage-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit","typecheck:tests":"tsc -p tsconfig.test.json"},"_npmUser":{"name":"maksimkuznetsov","email":"mak.kooz@gmail.com"},"_resolved":"/tmp/d563e54f9be8551c63b0cb9fc6230282/burojs-file-storage-0.2.0.tgz","_integrity":"sha512-MU+wtSq168fLWXvuri9p+R6V+rBLGGqw5kgG7Mm0me3bWXXIiYOYRAHnrspN43HntrUzfXvPDbUyMYeH57haAg==","_npmVersion":"10.9.8","description":"Buro: storage port for file fields — adapters, mappers, contract suite","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@burojs/core":"0.2.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.0","vitest":"^2.1.0","typescript":"^5.5.0","expect-type":"^1.1.0","@burojs/field-types":"0.2.0","@burojs/tooling-eslint":"0.0.0","@burojs/tooling-tsconfig":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/file-storage_0.2.0_1786820376181_0.037386544980509084","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"_id":"@burojs/file-storage@0.4.0","dist":{"shasum":"97943d2d3bd49ec1f2bb9192df58c6ae93307c21","tarball":"https://registry.npmjs.org/@burojs/file-storage/-/file-storage-0.4.0.tgz","fileCount":9,"integrity":"sha512-3sT0+o+njdwOmx/lOAM6ctTlIVvKW4UjQFDrJdh+ncyVqu1OA+C4A5nz95mFz+gj+Yi7GEseyDRyb0w784Xtaw==","signatures":[{"sig":"MEQCIAgjLjGz+SUXmUzPDo18xKIATkrn8xDbsft37Vuf6aOiAiA/aKaj62uK1+84/nP5H+wBRXLEQjC8ZUO020ZCZqJVFg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCfAp2dKJWr+A7AlihBTzEAbhAXsYLUNlxx3FMNtD0q6gIgF/iqYtQQ+vv8++gn+o+3V9KYsTCjEQG4afKN/e3LEFs="}],"unpackedSize":297277},"main":"./dist/index.cjs","name":"@burojs/file-storage","type":"module","_from":"file:burojs-file-storage-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./package.json":"./package.json"},"license":"MIT","scripts":{"dev":"tsdown --watch","build":"tsdown","typecheck":"tsc --noEmit","typecheck:tests":"tsc -p tsconfig.test.json"},"version":"0.4.0","_npmUser":{"name":"maksimkuznetsov","email":"mak.kooz@gmail.com"},"_resolved":"/tmp/6a137db0924efe4d8e163edb054669b1/burojs-file-storage-0.4.0.tgz","_integrity":"sha512-3sT0+o+njdwOmx/lOAM6ctTlIVvKW4UjQFDrJdh+ncyVqu1OA+C4A5nz95mFz+gj+Yi7GEseyDRyb0w784Xtaw==","_npmVersion":"10.9.8","description":"Buro: storage port for file fields — adapters, mappers, contract suite","directories":{},"maintainers":[{"name":"maksimkuznetsov","email":"mak.kooz@gmail.com"}],"_nodeVersion":"22.23.2","dependencies":{"@burojs/core":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.0.0","typescript":"^5.5.0","expect-type":"^1.1.0","@burojs/field-types":"0.4.0","@burojs/tooling-eslint":"0.0.0","@burojs/tooling-globals":"0.0.0","@burojs/tooling-tsconfig":"0.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/file-storage_0.4.0_1790626289381_0.7753670955506771"}}},"time":{"created":"2026-08-15T18:59:36.046Z","modified":"2026-09-28T20:11:29.762Z","0.2.0":"2026-08-15T18:59:36.321Z","0.4.0":"2026-09-28T20:11:29.590Z"},"license":"MIT","description":"Buro: storage port for file fields — adapters, mappers, contract suite","maintainers":[{"name":"maksimkuznetsov","email":"mak.kooz@gmail.com"}],"readme":"# @burojs/file-storage\n\nStorage port for file fields — adapters, mappers, and a contract suite that every\nbackend implementation must pass. This package is being built out incrementally;\nsee the design spec at\n[`docs/superpowers/specs/2026-07-27-file-storage-design.md`](../../docs/superpowers/specs/2026-07-27-file-storage-design.md)\nfor the full architecture and rollout plan.\n\n`inheritFileMapperBaseline(source, target)` copies the opaque edit capability\nfrom a decoded record to a freshly assembled form payload. It does not expose\nthe retained backend value, is non-enumerable, and does not survive object\nspread or JSON serialization. Ordinary `ResourceForm` submissions apply it\nautomatically; custom form assemblers can call it explicitly.\n","readmeFilename":"README.md"}