{"_id":"@anymux/s3","name":"@anymux/s3","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@anymux/s3","version":"0.1.0","type":"module","license":"MIT","description":"Amazon S3 file system adapter for AnyMux","keywords":["anymux","filesystem","s3","aws","cloud-storage"],"repository":{"type":"git","url":"git+https://github.com/AnyMux/AnyMuxMonorepo.git","directory":"packages/s3"},"homepage":"https://github.com/AnyMux/AnyMuxMonorepo/tree/main/packages/s3#readme","engines":{"node":">=20"},"main":"./src/index.ts","types":"./src/index.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"dependencies":{"@aws-sdk/client-s3":"^3.750.0","@aws-sdk/s3-request-presigner":"^3.750.0","zod":"^3.24.1","@anymux/file-system":"0.1.0"},"devDependencies":{"@types/node":"^22.10.2","publint":"^0.3.8","tsdown":"^0.10.2","typescript":"^5.7.3","vitest":"^3.0.0","@anymux/typescript-config":"0.0.0"},"scripts":{"build":"tsdown","check":"tsc -p tsconfig.json --noEmit","test":"vitest run"},"_id":"@anymux/s3@0.1.0","bugs":{"url":"https://github.com/AnyMux/AnyMuxMonorepo/issues"},"_integrity":"sha512-lJacZ1TOLMvQ95VzzyA+huXekvb1M5igq9se5qxU7Q9SeppD4PErBS3Ib7ByjNIq8nus3ofqLUhhLOmCPHAVWQ==","_resolved":"/tmp/c1bedaa079a2d297650a9005fbc190df/anymux-s3-0.1.0.tgz","_from":"file:anymux-s3-0.1.0.tgz","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-lJacZ1TOLMvQ95VzzyA+huXekvb1M5igq9se5qxU7Q9SeppD4PErBS3Ib7ByjNIq8nus3ofqLUhhLOmCPHAVWQ==","shasum":"397a5b2a996a85103445dcd7ca447b2b33a1a0f8","tarball":"https://registry.npmjs.org/@anymux/s3/-/s3-0.1.0.tgz","fileCount":12,"unpackedSize":52927,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBjGKwhoXfVahRmmdpok04ixLhK4V/P43cDBAqvojzl4AiEAxIqStAE/DN8xRfsyz2OjYrjPyH4ZSbDBRLEhS1ENqws="}]},"_npmUser":{"name":"yatsyk","email":"yatsyk@gmail.com"},"directories":{},"maintainers":[{"name":"yatsyk","email":"yatsyk@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/s3_0.1.0_1774335463783_0.2920084124665865"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T06:57:43.679Z","0.1.0":"2026-03-24T06:57:43.922Z","modified":"2026-03-24T06:57:44.178Z"},"maintainers":[{"name":"yatsyk","email":"yatsyk@gmail.com"}],"description":"Amazon S3 file system adapter for AnyMux","homepage":"https://github.com/AnyMux/AnyMuxMonorepo/tree/main/packages/s3#readme","keywords":["anymux","filesystem","s3","aws","cloud-storage"],"repository":{"type":"git","url":"git+https://github.com/AnyMux/AnyMuxMonorepo.git","directory":"packages/s3"},"bugs":{"url":"https://github.com/AnyMux/AnyMuxMonorepo/issues"},"license":"MIT","readme":"# @anymux/s3\n\nAmazon S3 file system and object storage provider for AnyMux.\n\n## Installation\n\n```bash\npnpm add @anymux/s3\n```\n\n## Usage\n\n```typescript\nimport { S3Provider } from \"@anymux/s3\";\n\nconst provider = new S3Provider({\n  region: \"us-east-1\",\n  bucket: \"my-bucket\",\n  credentials: {\n    accessKeyId: \"...\",\n    secretAccessKey: \"...\",\n  },\n});\n\nawait provider.initialize();\n\n// Use as IFileSystem\nconst fs = provider.getCapability(\"file-system\");\nawait fs.readFile(\"/path/to/file.txt\", \"utf-8\");\n\n// Use as IObjectStorage\nconst storage = provider.getCapability(\"object-storage\");\nawait storage.putObject({ bucket: \"my-bucket\", key: \"file.txt\", body: data });\n```\n\n## API Overview\n\n### S3Provider\n\nImplements `IProvider` with capabilities:\n- `file-system` — Full `IFileSystem` interface mapped to S3 objects\n- `object-storage` — `IObjectStorage` for bucket and object operations\n\n### Configuration\n\n- `region` — AWS region\n- `bucket` — Default bucket name\n- `credentials` — AWS credentials (access key / secret key)\n- `endpoint` — Custom endpoint for S3-compatible services (MinIO, etc.)\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-973086b25fde5aa1ccd1ef23a7ba5d13"}