{"_id":"@bakiversehq/veltyr-ts-client","_rev":"5-86025a24a1da55b3d4ea8244fea86269","name":"@bakiversehq/veltyr-ts-client","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.1":{"name":"@bakiversehq/veltyr-ts-client","version":"1.0.1","_id":"@bakiversehq/veltyr-ts-client@1.0.1","maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"dist":{"shasum":"1c5a7a05a02e84e4185fe909bfedba83fe526f54","tarball":"https://registry.npmjs.org/@bakiversehq/veltyr-ts-client/-/veltyr-ts-client-1.0.1.tgz","fileCount":4,"integrity":"sha512-7W9fpxr1qwHTI+X2ZxFpP8arNz85lSbUkUXxfZDj8PqTIs+sTRmMkNS6SK+JD4UDIkf5PEqIH4StRxgEgUKOMw==","signatures":[{"sig":"MEUCIQCcurHButVF3u4hsj/vEyCo2nNz9cGKFhjy2Jc4G8OAkgIgfME/QsAdqBVJciLKwHLhj8L0YW7Yuny9rx+8UQ3bo+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10490},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"bf4a7ec47154d4696c0461a8f7265ff77599a906","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"bakiversehq","email":"tom@bakiverse.com"},"_npmVersion":"10.9.4","description":"TypeScript client for Veltyr file API","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/veltyr-ts-client_1.0.1_1774343051614_0.06777693821916664","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bakiversehq/veltyr-ts-client","version":"1.0.2","_id":"@bakiversehq/veltyr-ts-client@1.0.2","maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"dist":{"shasum":"f4157eb501d93bcd450139bbf6e0df3298f2af62","tarball":"https://registry.npmjs.org/@bakiversehq/veltyr-ts-client/-/veltyr-ts-client-1.0.2.tgz","fileCount":4,"integrity":"sha512-iFkFcIC6Fr2qCmm1oLJefFMX3e2rrNa9oId9b208gyVEYwMlztkKZW28wFjYUqhB5rjww0cwg7FwUgn5+UbyZw==","signatures":[{"sig":"MEUCIAW6UFM+izJQOUX6SXeb0RP8qu8RxP9N+Wyd3AujR7voAiEAkxC3hh46B87r06Zt1aEMDjkOKMdPcmH4lwPLAhRFUfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10514},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"24f6a5e4fa3220428d6b2319be17744e29a7d804","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"bakiversehq","email":"tom@bakiverse.com"},"_npmVersion":"10.9.4","description":"TypeScript client for Veltyr file API","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/veltyr-ts-client_1.0.2_1774344201832_0.9810461685724903","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bakiversehq/veltyr-ts-client","version":"1.0.4","_id":"@bakiversehq/veltyr-ts-client@1.0.4","maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"dist":{"shasum":"ce842ed6e4970da30f4589cca9f69b5567fe8ef4","tarball":"https://registry.npmjs.org/@bakiversehq/veltyr-ts-client/-/veltyr-ts-client-1.0.4.tgz","fileCount":4,"integrity":"sha512-AtmG45grE9ysBOxmu/sIxirY311CnN7c6Rwg4piHM4mvIWKR+2SvedgBu992OAy20jYB/VgjX4p3bXpi8nRxsA==","signatures":[{"sig":"MEUCIQDvkQYFhxzsj9PAHRz4FuRNbyrK7Q74vh/Rsn6R2rzzKwIgNBvGvpI4XVVGZZeazBznqMzDrJ6clT1TtKpT3TrgG24=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11289},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"afc2e1f4a94f29be563c1c6f655c9e0d0ce4f2dd","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"bakiversehq","email":"tom@bakiverse.com"},"_npmVersion":"10.9.4","description":"TypeScript client for Veltyr file API","directories":{},"_nodeVersion":"22.22.1","_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/veltyr-ts-client_1.0.4_1774393960386_0.8592066639972811","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bakiversehq/veltyr-ts-client","version":"1.0.5","_id":"@bakiversehq/veltyr-ts-client@1.0.5","maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"dist":{"shasum":"cfe3942db7878e76aeb2bc2f069776591399c77c","tarball":"https://registry.npmjs.org/@bakiversehq/veltyr-ts-client/-/veltyr-ts-client-1.0.5.tgz","fileCount":4,"integrity":"sha512-QINDbi6v5XY0+541nx/oQCOyaEAgGNTGbT248N5dKuzQYC/99RsdKAcKU1LCLBquwrCywSDdP1kC6tRZA+KtSQ==","signatures":[{"sig":"MEUCIQDwTk9He9Ya0iblf8JWcf/np8+OjswDnSl3jXha0mP9LwIgJL2Z1EbVEwlx4flJSgyOO4n79iHQJgdCK34Rbc53mzM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13991},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f168558385ced504e37acbb0f9bc852f99e1f566","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"bakiversehq","email":"tom@bakiverse.com"},"_npmVersion":"10.9.7","description":"TypeScript client for Veltyr file API","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"packageManager":"yarn@1.22.22","devDependencies":{"typescript":"^5.6.3"},"_npmOperationalInternal":{"tmp":"tmp/veltyr-ts-client_1.0.5_1777312444692_0.12468480295931661","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bakiversehq/veltyr-ts-client","version":"1.0.6","description":"TypeScript client for Veltyr file API","packageManager":"yarn@1.22.22","type":"module","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.json","check":"tsc -p tsconfig.json --noEmit"},"devDependencies":{"typescript":"^5.6.3"},"_id":"@bakiversehq/veltyr-ts-client@1.0.6","gitHead":"316148722b59db47f9a9810f9112a872e3917e35","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-KS0aSPwHyNEEap+DRZPrzUmp4DMcJS+jHpOJSJmrqTX4piLCUN3RwCwXy55tgAhEas+VP9kKFMiSCG9gB149KQ==","shasum":"8ad1a970545ff09ec239e53a817f38701c40c766","tarball":"https://registry.npmjs.org/@bakiversehq/veltyr-ts-client/-/veltyr-ts-client-1.0.6.tgz","fileCount":4,"unpackedSize":20895,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDEtAYQLonzxcJmxeR+bRgpqSTZ2mq3Wqh4TlxM6HLDtAIhAMCzD2rP8Lf1/cGX6pnQR64RzRzU6hKtNXlex7T/KwsX"}]},"_npmUser":{"name":"bakiversehq","email":"tom@bakiverse.com"},"directories":{},"maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/veltyr-ts-client_1.0.6_1777820188784_0.6808153867795996"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-24T09:04:11.530Z","modified":"2026-05-03T14:56:29.047Z","1.0.1":"2026-03-24T09:04:11.749Z","1.0.2":"2026-03-24T09:23:21.993Z","1.0.4":"2026-03-24T23:12:40.534Z","1.0.5":"2026-04-27T17:54:04.841Z","1.0.6":"2026-05-03T14:56:28.929Z"},"description":"TypeScript client for Veltyr file API","maintainers":[{"name":"bakiversehq","email":"tom@bakiverse.com"}],"readme":"# Veltyr TS Client\n\nClient TypeScript pour appeler l'API `back` Veltyr depuis un autre projet.\n\n## Installation\n\nSi tu veux l'utiliser localement depuis un autre repo:\n\n```bash\nyarn add /absolute/path/to/veltyr/back/ts-client\n```\n\n## Build\n\n```bash\ncd back/ts-client\nyarn install\nyarn build\n```\n\n## Usage\n\n```ts\nimport { VeltyrClient } from \"@bakiversehq/veltyr-ts-client\";\n\nconst client = new VeltyrClient(\"https://api.example.com\", {\n  apiKey: \"veltyr_live_xxx\", // optionnel\n  // sessionId: \"uuid-session\", // optionnel (Bearer)\n  credentials: \"include\", // utile côté browser pour cookie session\n});\n```\n\n## Usage URL statique (apiKey only)\n\n```ts\nimport { createVeltyrClientWithApiKey } from \"@bakiversehq/veltyr-ts-client\";\n\nconst client = createVeltyrClientWithApiKey(\"veltyr_live_xxx\");\n```\n\nLa valeur statique est `STATIC_VELTYR_BASE_URL` dans `src/index.ts`.\n\n## API disponible\n\n- `uploadFile({ file, fileName?, isPrivate?, customMetadata?, onProgress? })`\n- `initMultipartUpload({ file, fileName?, isPrivate?, customMetadata? })`\n- `createSignedDownloadURLs({ cids, expiresInSeconds?, seekable? })`\n- `createSignedUploadGrant({ fileName, mimeType?, fileSize, isPrivate?, customMetadata?, expiresInSeconds? })`\n- `uploadFileViaSignedURLs({ file, fileName?, mimeType?, isPrivate?, customMetadata?, expiresInSeconds?, onProgress? })`\n- `uploadWithSignedUploadGrant(grant, file, onProgress?)`\n- `downloadFromSignedURL(url)`\n- `getSignedURLResponse(url, { range? })`\n- `getOwnedFiles({ offset?, limit? })`\n- `getPublicFileMetadata(cidOrLookup)`\n- `getPublicFileMetadataByMetadata({ key, value })`\n- `downloadPublicFile(cid)`\n- `downloadFile(cid)`\n- `getSeekableFileResponse(cid, { public?, range? })`\n- `togglePrivate(cid)`\n- `deleteFile(cid)`\n- `getPublicFileUrl(cid)`\n- `getPublicSeekableFileUrl(cid)`\n- `getPublicMetadataUrl(cid)`\n\n## Exemple upload\n\n```ts\nconst file = new File([\"hello\"], \"hello.txt\", { type: \"text/plain\" });\n\nconst uploaded = await client.uploadFile({\n  file,\n  isPrivate: false,\n  customMetadata: {\n    source: \"my-app\",\n    tags: [\"demo\", \"v1\"],\n  },\n  onProgress: (uploadedBytes, totalBytes) => {\n    console.log(`uploaded ${uploadedBytes}/${totalBytes}`);\n  },\n});\n```\n\nAu-dessus de `95 MB`, le client bascule automatiquement vers le flow multipart\n`/files/uploads/init -> /parts/{index} -> /complete`.\n\n## Exemple signed download URL\n\n```ts\nconst signed = await client.createSignedDownloadURLs({\n  cids: [\"bafy...\"],\n  expiresInSeconds: 900,\n});\n\nconst fileBlob = await client.downloadFromSignedURL(signed.items[0].url);\n```\n\n## Exemple signed upload URL\n\n```ts\nconst uploaded = await client.uploadFileViaSignedURLs({\n  file,\n  fileName: \"video.mp4\",\n  isPrivate: true,\n  expiresInSeconds: 900,\n  onProgress: (uploadedBytes, totalBytes) => {\n    console.log(`uploaded ${uploadedBytes}/${totalBytes}`);\n  },\n});\n```\n\n## Exemple metadata publique\n\n```ts\nconst metadata = await client.getPublicFileMetadata(\"bafy...\");\nconsole.log(metadata.custom_metadata);\n```\n\n```ts\nconst byTradeId = await client.getPublicFileMetadata({\n  key: \"trade_id\",\n  value: \"trade-123\",\n});\n```\n","readmeFilename":"README.md"}