@rr-vault/sdk 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,115 @@
1
+ # @rr-vault/sdk 🚀
2
+
3
+ **RR-Vault SDK** is a developer-first cloud storage client designed for securely uploading, managing, and delivering files using API keys, app-based access, and scalable infrastructure.
4
+
5
+ Built on top of Cloudflare R2 (S3-compatible), it provides a simplified interface with **Automatic Lazy Validation** against your backend API.
6
+
7
+ ---
8
+
9
+ ## 📦 Installation
10
+
11
+ Install the package via npm:
12
+
13
+ ```bash
14
+ npm install @rr-vault/sdk
15
+ ```
16
+
17
+ ---
18
+
19
+ ## ⚡ Quick Start
20
+
21
+ ### 1. Configure the SDK
22
+ Initialize the SDK with your `appId` and `secretKey`. These will be validated automatically when you perform your first operation.
23
+
24
+ ```typescript
25
+ import { RRVault } from '@rr-vault/sdk';
26
+
27
+ RRVault.config({
28
+ appId: 'your-app-id',
29
+ secretKey: 'your-secret-key'
30
+ });
31
+ ```
32
+
33
+ ### 2. Upload a File
34
+ The validation happens automatically during the first upload. If the credentials are invalid, an error will be thrown.
35
+
36
+ ```typescript
37
+ try {
38
+ const fileContent = Buffer.from("Hello RR-Vault!"); // Or a File blob in browser
39
+
40
+ const result = await RRVault.upload(fileContent, "myfile.txt", {
41
+ folder: "documents",
42
+ contentType: "text/plain"
43
+ });
44
+
45
+ console.log("Upload Success:", result.url);
46
+ console.log("Storage Key:", result.key);
47
+ } catch (error) {
48
+ console.error("Upload failed:", error.message);
49
+ }
50
+ ```
51
+
52
+ ### 3. Delete a File
53
+ Delete files using their unique storage key.
54
+
55
+ ```typescript
56
+ const result = await RRVault.delete("documents/171165...-myfile.txt");
57
+
58
+ if (result.success) {
59
+ console.log("File deleted successfully");
60
+ } else {
61
+ console.log("Delete failed:", result.message);
62
+ }
63
+ ```
64
+
65
+ ---
66
+
67
+ ## 🛡️ Automatic Lazy Validation
68
+ The SDK uses a "Lazy Validation" mechanism to stay fast and efficient:
69
+ - `RRVault.config()` only stores credentials locally.
70
+ - The **first call** to `upload()` or `delete()` triggers a validation request to the backend.
71
+ - Results are cached for the duration of the session, so subsequent calls are instantaneous.
72
+
73
+ ---
74
+
75
+ ## 🛠️ API Reference
76
+
77
+ ### `RRVault.config(options: RRVaultConfig)`
78
+ Sets up the SDK credentials.
79
+ - `appId`: Your application ID.
80
+ - `secretKey`: Your secret key.
81
+
82
+ ### `RRVault.upload(file, fileName, options?)`
83
+ Uploads a file to the cloud.
84
+ - `file`: Buffer, Blob, or Uint8Array.
85
+ - `fileName`: Original name of the file.
86
+ - `options`:
87
+ - `folder`: (Optional) Virtual folder path.
88
+ - `contentType`: (Optional) MIME type of the file.
89
+ - `metadata`: (Optional) Key-value pairs for storage metadata.
90
+
91
+ ### `RRVault.delete(key)`
92
+ Deletes a file by its key.
93
+ - `key`: The storage key returned during upload.
94
+
95
+ ---
96
+
97
+ ## 📄 Types
98
+
99
+ ```typescript
100
+ export interface UploadResult {
101
+ key: string; // Unique storage path
102
+ url: string; // Public delivery URL
103
+ etag?: string; // AWS S3 entity tag
104
+ }
105
+
106
+ export interface DeleteResult {
107
+ success: boolean;
108
+ message?: string;
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## ⚖️ License
115
+ ISC License. Built with ❤️ by Md. Ridoy Babu.
package/dist/config.d.ts CHANGED
@@ -1,4 +1,13 @@
1
1
  import { RRVaultConfig, R2Config } from "./types.js";
2
2
  export declare function setConfig(newConfig: RRVaultConfig): void;
3
3
  export declare function getConfig(): R2Config;
4
+ /**
5
+ * Validates the configuration by hitting an external API.
6
+ */
7
+ export declare function validateConfig(): Promise<boolean>;
8
+ /**
9
+ * Ensures the configuration is valid by performing a lazy check.
10
+ * Throws an error if validation fails.
11
+ */
12
+ export declare function ensureValidConfig(): Promise<void>;
4
13
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAcrD,wBAAgB,SAAS,CAAC,SAAS,EAAE,aAAa,QAEjD;AAED,wBAAgB,SAAS,IAAI,QAAQ,CAapC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkBrD,wBAAgB,SAAS,CAAC,SAAS,EAAE,aAAa,QAGjD;AAED,wBAAgB,SAAS,IAAI,QAAQ,CASpC;AAMD;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAmBvD;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAWvD"}
package/dist/config.js CHANGED
@@ -1,25 +1,57 @@
1
- /**
2
- * Internal R2 settings.
3
- * Ridoy: Replace these placeholders with your actual Cloudflare R2 values.
4
- */
1
+ import axios from "axios";
2
+ const VALIDATION_API_URL = "http://localhost:8888/api/v1/validate";
5
3
  const R2_INTERNAL = {
6
4
  accountId: "cc0a96d7f01e9dd678a07a57dd665897",
7
5
  bucketName: "rr-vault",
8
6
  publicUrl: "https://pub-52b747d8c2c34c10bc750a3beaaf1ca4.r2.dev",
7
+ // আপনার রিয়াল Cloudflare R2 ক্রেডেনশিয়াল এখানে দিন:
8
+ accessKeyId: "e23c8e4f75168abdd8e2e6af3bf11f4b",
9
+ secretAccessKey: "90bc656fdb5759fa695ada337377481f825eb5aae0981def6a3c69d0394547e9"
9
10
  };
10
11
  let userConfig = null;
12
+ let validationPerformed = false;
11
13
  export function setConfig(newConfig) {
12
14
  userConfig = { ...newConfig };
15
+ validationPerformed = false; // Reset validation on new config
13
16
  }
14
17
  export function getConfig() {
15
18
  if (!userConfig) {
16
19
  throw new Error("RRVault: SDK not configured. Please call RRVault.config() first.");
17
20
  }
18
21
  // Map user-facing appId/secretKey to internal R2 credentials
19
- return {
20
- ...R2_INTERNAL,
21
- accessKeyId: userConfig.appId,
22
- secretAccessKey: userConfig.secretKey,
23
- };
22
+ return { ...R2_INTERNAL };
23
+ }
24
+ /**
25
+ * Validates the configuration by hitting an external API.
26
+ */
27
+ export async function validateConfig() {
28
+ if (!userConfig) {
29
+ throw new Error("RRVault: SDK not configured. Please call RRVault.config() first.");
30
+ }
31
+ try {
32
+ const response = await axios.post(VALIDATION_API_URL, {
33
+ appId: userConfig.appId,
34
+ secretKey: userConfig.secretKey,
35
+ });
36
+ // Expecting response format: { valid: boolean }
37
+ return response.status === 200 && response.data.valid === true;
38
+ }
39
+ catch (error) {
40
+ console.error("RRVault Validation Error:", error.message);
41
+ return false;
42
+ }
43
+ }
44
+ /**
45
+ * Ensures the configuration is valid by performing a lazy check.
46
+ * Throws an error if validation fails.
47
+ */
48
+ export async function ensureValidConfig() {
49
+ if (validationPerformed)
50
+ return;
51
+ const isValid = await validateConfig();
52
+ if (!isValid) {
53
+ throw new Error("RRVault: Configuration validation failed. Please check your appId and secretKey.");
54
+ }
55
+ validationPerformed = true;
24
56
  }
25
57
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,GAAsD;IACrE,SAAS,EAAE,kCAAkC;IAC7C,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,qDAAqD;CACjE,CAAC;AAEF,IAAI,UAAU,GAAyB,IAAI,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO;QACL,GAAG,WAAW;QACd,WAAW,EAAE,UAAU,CAAC,KAAK;QAC7B,eAAe,EAAE,UAAU,CAAC,SAAS;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,uCAAuC,CAAC;AAEnE,MAAM,WAAW,GAAa;IAC5B,SAAS,EAAE,kCAAkC;IAC7C,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,qDAAqD;IAEhE,oDAAoD;IACpD,WAAW,EAAE,kCAAkC;IAC/C,eAAe,EAAE,kEAAkE;CACpF,CAAC;AAEF,IAAI,UAAU,GAAyB,IAAI,CAAC;AAC5C,IAAI,mBAAmB,GAAG,KAAK,CAAC;AAEhC,MAAM,UAAU,SAAS,CAAC,SAAwB;IAChD,UAAU,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;IAC9B,mBAAmB,GAAG,KAAK,CAAC,CAAC,iCAAiC;AAChE,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,OAAO,EAAE,GAAG,WAAW,EAAE,CAAC;AAC5B,CAAC;AAMD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAqB,kBAAkB,EAAE;YACxE,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC,CAAC;QAEH,gDAAgD;QAChD,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IACjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,mBAAmB;QAAE,OAAO;IAEhC,MAAM,OAAO,GAAG,MAAM,cAAc,EAAE,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,mBAAmB,GAAG,IAAI,CAAC;AAC7B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,15 @@
1
- import { setConfig } from "./config.js";
1
+ import { setConfig, validateConfig } from "./config.js";
2
2
  import { upload as s3Upload, deleteFile as s3Delete } from "./s3.js";
3
3
  import { RRVaultConfig, R2Config, UploadOptions, UploadResult, DeleteResult } from "./types.js";
4
4
  export declare class RRVault {
5
5
  static config(config: RRVaultConfig): void;
6
+ /**
7
+ * Validates the configuration with the external API.
8
+ */
9
+ static validate(): Promise<boolean>;
6
10
  static upload(file: any, fileName: string, options?: UploadOptions): Promise<UploadResult>;
7
11
  static delete(key: string): Promise<DeleteResult>;
8
12
  }
9
- export { setConfig as config, s3Upload as upload, s3Delete as deleteFile };
13
+ export { setConfig as config, validateConfig as validate, s3Upload as upload, s3Delete as deleteFile };
10
14
  export type { RRVaultConfig, R2Config, UploadOptions, UploadResult, DeleteResult };
11
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhG,qBAAa,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa;WAKtB,MAAM,CACjB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;WAIX,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAGxD;AAGD,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC;AAGF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhG,qBAAa,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa;IAInC;;OAEG;WACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WAK5B,MAAM,CACjB,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC;WAIX,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAGxD;AAGD,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,cAAc,IAAI,QAAQ,EAC1B,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC;AAGF,YAAY,EACV,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,YAAY,EACb,CAAC"}
package/dist/index.js CHANGED
@@ -1,9 +1,15 @@
1
- import { setConfig } from "./config.js";
1
+ import { setConfig, validateConfig } from "./config.js";
2
2
  import { upload as s3Upload, deleteFile as s3Delete } from "./s3.js";
3
3
  export class RRVault {
4
4
  static config(config) {
5
5
  setConfig(config);
6
6
  }
7
+ /**
8
+ * Validates the configuration with the external API.
9
+ */
10
+ static async validate() {
11
+ return await validateConfig();
12
+ }
7
13
  static async upload(file, fileName, options = {}) {
8
14
  return await s3Upload(file, fileName, options);
9
15
  }
@@ -12,5 +18,5 @@ export class RRVault {
12
18
  }
13
19
  }
14
20
  // Functional approach exports
15
- export { setConfig as config, s3Upload as upload, s3Delete as deleteFile };
21
+ export { setConfig as config, validateConfig as validate, s3Upload as upload, s3Delete as deleteFile };
16
22
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGrE,MAAM,OAAO,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAqB;QACjC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAS,EACT,QAAgB,EAChB,UAAyB,EAAE;QAE3B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,8BAA8B;AAC9B,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGrE,MAAM,OAAO,OAAO;IAElB,MAAM,CAAC,MAAM,CAAC,MAAqB;QACjC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ;QACnB,OAAO,MAAM,cAAc,EAAE,CAAC;IAChC,CAAC;IAGD,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAS,EACT,QAAgB,EAChB,UAAyB,EAAE;QAE3B,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAW;QAC7B,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AAED,8BAA8B;AAC9B,OAAO,EACL,SAAS,IAAI,MAAM,EACnB,cAAc,IAAI,QAAQ,EAC1B,QAAQ,IAAI,MAAM,EAClB,QAAQ,IAAI,UAAU,EACvB,CAAC"}
package/dist/s3.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoBvE;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA+BvB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAkBnE"}
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoBvE;;;;;GAKG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAmBnE"}
package/dist/s3.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { S3Client, PutObjectCommand, DeleteObjectCommand } from "@aws-sdk/client-s3";
2
- import { getConfig } from "./config.js";
2
+ import { getConfig, ensureValidConfig } from "./config.js";
3
3
  let s3Client = null;
4
4
  function getS3Client() {
5
5
  if (s3Client)
@@ -22,6 +22,7 @@ function getS3Client() {
22
22
  * @param options - Additional upload options
23
23
  */
24
24
  export async function upload(file, fileName, options = {}) {
25
+ await ensureValidConfig();
25
26
  const config = getConfig();
26
27
  const client = getS3Client();
27
28
  // Clean folder path and construct key
@@ -52,6 +53,7 @@ export async function upload(file, fileName, options = {}) {
52
53
  * @param key - The storage key (path) of the file
53
54
  */
54
55
  export async function deleteFile(key) {
56
+ await ensureValidConfig();
55
57
  const config = getConfig();
56
58
  const client = getS3Client();
57
59
  const command = new DeleteObjectCommand({
package/dist/s3.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,IAAI,QAAQ,GAAoB,IAAI,CAAC;AAErC,SAAS,WAAW;IAClB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,QAAQ,GAAG,IAAI,QAAQ,CAAC;QACtB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,WAAW,MAAM,CAAC,SAAS,2BAA2B;QAChE,WAAW,EAAE;YACX,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC;KACF,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAS,EACT,QAAgB,EAChB,UAAyB,EAAE;IAE3B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAE7B,sCAAsC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAEtE,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,0BAA0B;QAC9D,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;KACnC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS;QAC9B,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrC,CAAC,CAAC,WAAW,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,SAAS,CAAC;IAE9D,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;IAEhC,OAAO;QACL,GAAG;QACH,GAAG;QACH,IAAI,EAAE,QAAQ,CAAC,IAAI;KACpB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,UAAU;QACzB,GAAG,EAAE,GAAG;KACT,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,+BAA+B;SAC1D,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rr-vault/sdk",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "\"RR-Vault SDK is a developer-first cloud storage client for securely uploading, managing, and delivering files using API keys, app-based access, and scalable infrastructure.\"",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/mdrezuanislamridoy/rr-vault-sdk#readme",