{"_id":"@acyclic-labs/fs","_rev":"3-c31c44f2ae5707fc4c0cc21bb4ccc04f","name":"@acyclic-labs/fs","dist-tags":{"rc":"0.2.0-rc.1","latest":"0.1.5"},"versions":{"0.2.0-rc.1":{"name":"@acyclic-labs/fs","version":"0.2.0-rc.1","license":"Apache-2.0","_id":"@acyclic-labs/fs@0.2.0-rc.1","maintainers":[{"name":"ramstar3000","email":"ram@acyclic.dev"}],"dist":{"shasum":"2f8e28d926cebbecb0fd13557db45a540a5481e6","tarball":"https://registry.npmjs.org/@acyclic-labs/fs/-/fs-0.2.0-rc.1.tgz","fileCount":38,"integrity":"sha512-dAFruktn28AZ+UOeJV1QX+bp3oztU/gtyqRof09JsSvshqGNDgtFYX+hAhe5ZnVhwzQ2ItSg7kqPc8iormTfnA==","signatures":[{"sig":"MEUCIQDgmwoI8WKfZ6oQlbNDWQ+NvBV5gUmPPq93qrHU1BVNmgIgZA4AbtnkG+RgRW6XOlvzNPswtnpXdw0VHlAT0vje3GQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6342034},"type":"module","_from":"file:/private/tmp/claude-501/-Users-avinjamuri-Projects-acyclic-repos/58c58f35-3a9c-4ff9-899c-d84402f4355d/scratchpad/tarballs/acyclic-labs-fs-0.2.0-rc.1.tgz","exports":{".":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./hosted":{"types":"./dist/hosted.d.ts","default":"./dist/hosted.js"},"./memory":{"node":"./dist/memory-node.js","types":"./dist/memory.d.ts","default":"./dist/memory.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}},"private":false,"scripts":{"test":"bun run test:composition && bun run test:hosted","build":"bun x tsc -p tsconfig.json","check":"bun x tsc -p tsconfig.json --noEmit","clean":"bun -e \"import { rmSync } from 'node:fs'; for (const path of ['dist', 'tsconfig.tsbuildinfo']) rmSync(path, { recursive: true, force: true })\"","pack:dry":"bun run build:clean && bun pm pack --dry-run","build:wasm":"cargo build --manifest-path ../../../Cargo.toml -p acyclic-fs-wasm --target wasm32-unknown-unknown --profile wasm-release --locked && wasm-bindgen ../../../target/wasm32-unknown-unknown/wasm-release/acyclic_fs_wasm.wasm --target web --out-dir generated/wasm --out-name acyclic_fs_wasm","build:clean":"bun run clean && bun run build","build:proto":"cd ../../.. && bun x buf format --diff --exit-code --path proto/filesystem/v2 --path proto/filesystem/daemon/v2 && bun x buf lint && bun run generate","test:hosted":"cargo build --manifest-path ../../../Cargo.toml -p acyclic-fs-daemon --locked && bun test/hosted.mjs","test:composition":"bun test/node-memory.mjs"},"_npmUser":{"name":"ramstar3000","email":"ram@acyclic.dev"},"_resolved":"/private/tmp/claude-501/-Users-avinjamuri-Projects-acyclic-repos/58c58f35-3a9c-4ff9-899c-d84402f4355d/scratchpad/tarballs/acyclic-labs-fs-0.2.0-rc.1.tgz","_integrity":"sha512-dAFruktn28AZ+UOeJV1QX+bp3oztU/gtyqRof09JsSvshqGNDgtFYX+hAhe5ZnVhwzQ2ItSg7kqPc8iormTfnA==","_npmVersion":"11.16.0","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","dependencies":{"@bufbuild/protobuf":"2.14.1","@connectrpc/connect":"2.1.1","@connectrpc/connect-web":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"26.4.1"},"_npmOperationalInternal":{"tmp":"tmp/fs_0.2.0-rc.1_1789152964818_0.5677197750270198","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"_id":"@acyclic-labs/fs@0.1.5","bugs":{"url":"https://github.com/acyclic-labs/sdk/issues"},"dist":{"shasum":"cea13da1e5ebde2ea22e002204add7b0b90b3514","tarball":"https://registry.npmjs.org/@acyclic-labs/fs/-/fs-0.1.5.tgz","fileCount":50,"integrity":"sha512-ucJHGuN2MJz/JVlg2kdV5y4uURTzAyPBVYKlqaiGErHzJWzAT5FHjPXKOs26e/+vlq4zYFAK5n7U5zjt2qRGfQ==","signatures":[{"sig":"MEYCIQC7yeV1kUBa22pSr7VlkxVwtOvYoZrBgNOY7dgriWa1MgIhAInCKfXguzxStsGUYpz7QK7Ig9bH4MtfsMQG8TXBcbe7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDzjJUF/1eVrOpxcbktxSM46EsP6ooA2BH7iRSRyQThPAiEAy8J6TKZN2FHrJBzBioHBkR6Hd7SKDeuW34zXqo2xHR0="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@acyclic-labs%2ffs@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":6823435},"name":"@acyclic-labs/fs","type":"module","_from":"file:/home/runner/work/_temp/npm-publication/typescript/acyclic-labs-fs-0.1.5.tgz","exports":{".":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"},"./hosted":{"types":"./dist/hosted.d.ts","default":"./dist/hosted.js"},"./memory":{"node":"./dist/memory-node.js","types":"./dist/memory.d.ts","default":"./dist/memory.js"},"./native":{"types":"./dist/native.d.ts","default":"./dist/native.js"},"./browser":{"types":"./dist/browser.d.ts","default":"./dist/browser.js"}},"license":"Apache-2.0","private":false,"scripts":{"test":"bun run build && bun run test:composition && bun run test:s3","build":"bun x tsc -p tsconfig.json","check":"bun x tsc -p tsconfig.json --noEmit","clean":"bun -e \"import { rmSync } from 'node:fs'; for (const path of ['dist', 'tsconfig.tsbuildinfo']) rmSync(path, { recursive: true, force: true })\"","test:s3":"bun test test/hosted-s3.test.mjs","pack:dry":"bun run build:clean && bun pm pack --dry-run","build:wasm":"cargo build --manifest-path ../../../Cargo.toml -p acyclic-fs-wasm --target wasm32-unknown-unknown --profile wasm-release --locked && wasm-bindgen ../../../target/wasm32-unknown-unknown/wasm-release/acyclic_fs_wasm.wasm --target web --out-dir generated/wasm --out-name acyclic_fs_wasm","build:clean":"bun run clean && bun run build","build:proto":"cd ../../.. && bun x buf format --diff --exit-code --path proto/filesystem/v2 && bun x buf lint && bun run generate","test:composition":"bun test/node-memory.mjs"},"version":"0.1.5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1640ec99-23ac-44c1-9fe4-726501f327b2"}},"homepage":"https://github.com/acyclic-labs/sdk#readme","keywords":["filesystem","storage","workspaces"],"_resolved":"/home/runner/work/_temp/npm-publication/typescript/acyclic-labs-fs-0.1.5.tgz","_integrity":"sha512-ucJHGuN2MJz/JVlg2kdV5y4uURTzAyPBVYKlqaiGErHzJWzAT5FHjPXKOs26e/+vlq4zYFAK5n7U5zjt2qRGfQ==","repository":{"url":"git+https://github.com/acyclic-labs/sdk.git","type":"git","directory":"typescript/packages/filesystem"},"_npmVersion":"11.12.1","description":"Versioned workspaces for browser, memory, hosted, and native providers","directories":{},"maintainers":[{"name":"ramstar3000","email":"ram@acyclic.dev"},{"name":"var1377","email":"var@acyclic.dev"}],"sideEffects":false,"_nodeVersion":"24.15.0","dependencies":{"@bufbuild/protobuf":"2.14.1","@connectrpc/connect":"2.1.1","@connectrpc/connect-web":"2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"7.0.2","@types/node":"26.4.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fs_0.1.5_1790326280539_0.990066675337512"}}},"time":{"created":"2026-09-11T18:56:04.679Z","modified":"2026-09-25T08:51:21.051Z","0.2.0-rc.1":"2026-09-11T18:56:05.033Z","0.1.5":"2026-09-25T08:51:20.658Z"},"license":"Apache-2.0","maintainers":[{"name":"ramstar3000","email":"ram@acyclic.dev"},{"name":"var1377","email":"var@acyclic.dev"}],"readme":"# @acyclic-labs/fs\n\nVersioned, forkable workspaces backed by browser, memory, hosted, or native providers. The import path selects the environment and its guarantees.\n\n```sh\nnpm install @acyclic-labs/fs\n```\n\n```ts\nimport { DEFAULT_OBJECT_CACHE_OPTIONS, openBrowserFs } from \"@acyclic-labs/fs/browser\";\n\nconst fs = await openBrowserFs({\n  databaseName: \"my-app\",\n  maximumObjectBytes: 64 * 1024 * 1024,\n  objectAcceleration: \"opfs\",\n  objectCache: DEFAULT_OBJECT_CACHE_OPTIONS,\n});\nconst workspace = await fs.createWorkspace(\"main\");\nawait workspace.write(\"/hello.txt\", new TextEncoder().encode(\"hello\"));\nconst fork = await workspace.fork(\"experiment\");\nconsole.log(fork.name);\n```\n\n`/browser` (also the default export) uses the browser's storage capabilities and bundled WebAssembly; `/memory` is process-local; `/hosted` connects to a service; `/native` uses the native companion. Choose the entry point explicitly when moving between environments. Workspace generations are immutable identities; transactions and forks make changes without rewriting old generations. Durability, isolation, and mount behavior depend on the chosen provider.\n\nSee the [browser example](https://github.com/acyclic-labs/sdk/blob/main/typescript/packages/filesystem/examples/browser.mjs), [API source](https://github.com/acyclic-labs/sdk/tree/main/typescript/packages/filesystem/src), and [Filesystem protocol](https://github.com/acyclic-labs/sdk/tree/main/proto/filesystem).\n","readmeFilename":"README.md","description":"Versioned workspaces for browser, memory, hosted, and native providers","homepage":"https://github.com/acyclic-labs/sdk#readme","keywords":["filesystem","storage","workspaces"],"repository":{"url":"git+https://github.com/acyclic-labs/sdk.git","type":"git","directory":"typescript/packages/filesystem"},"bugs":{"url":"https://github.com/acyclic-labs/sdk/issues"}}