@qnsp/storage-sdk 0.2.1 → 0.3.1

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/dist/index.js CHANGED
@@ -1,15 +1,117 @@
1
- import { performance } from "node:perf_hooks";
1
+ import { activateSdk } from "@qnsp/sdk-activation";
2
2
  import { createStorageClientTelemetry, isStorageClientTelemetry } from "./observability.js";
3
+ import { validateUUID } from "./validation.js";
3
4
  /**
4
- * Mapping from internal algorithm names to NIST standardized names.
5
+ * Mapping from internal algorithm names to NIST/standards display names.
6
+ * Covers all 90 PQC algorithms supported by QNSP.
7
+ * Canonical source: @qnsp/cryptography pqc-standards.ts ALGORITHM_NIST_NAMES
5
8
  */
6
9
  export const ALGORITHM_TO_NIST = {
10
+ // FIPS 203 — ML-KEM
7
11
  "kyber-512": "ML-KEM-512",
8
12
  "kyber-768": "ML-KEM-768",
9
13
  "kyber-1024": "ML-KEM-1024",
14
+ // FIPS 204 — ML-DSA
10
15
  "dilithium-2": "ML-DSA-44",
11
16
  "dilithium-3": "ML-DSA-65",
12
17
  "dilithium-5": "ML-DSA-87",
18
+ // FIPS 205 — SLH-DSA (SHA-2 variants)
19
+ "sphincs-sha2-128f-simple": "SLH-DSA-SHA2-128f",
20
+ "sphincs-sha2-128s-simple": "SLH-DSA-SHA2-128s",
21
+ "sphincs-sha2-192f-simple": "SLH-DSA-SHA2-192f",
22
+ "sphincs-sha2-192s-simple": "SLH-DSA-SHA2-192s",
23
+ "sphincs-sha2-256f-simple": "SLH-DSA-SHA2-256f",
24
+ "sphincs-sha2-256s-simple": "SLH-DSA-SHA2-256s",
25
+ // FIPS 205 — SLH-DSA (SHAKE variants)
26
+ "sphincs-shake-128f-simple": "SLH-DSA-SHAKE-128f",
27
+ "sphincs-shake-128s-simple": "SLH-DSA-SHAKE-128s",
28
+ "sphincs-shake-192f-simple": "SLH-DSA-SHAKE-192f",
29
+ "sphincs-shake-192s-simple": "SLH-DSA-SHAKE-192s",
30
+ "sphincs-shake-256f-simple": "SLH-DSA-SHAKE-256f",
31
+ "sphincs-shake-256s-simple": "SLH-DSA-SHAKE-256s",
32
+ // FN-DSA (FIPS 206 draft)
33
+ "falcon-512": "FN-DSA-512",
34
+ "falcon-1024": "FN-DSA-1024",
35
+ // HQC (NIST selected March 2025)
36
+ "hqc-128": "HQC-128",
37
+ "hqc-192": "HQC-192",
38
+ "hqc-256": "HQC-256",
39
+ // BIKE (NIST Round 4)
40
+ "bike-l1": "BIKE-L1",
41
+ "bike-l3": "BIKE-L3",
42
+ "bike-l5": "BIKE-L5",
43
+ // Classic McEliece (ISO standard)
44
+ "mceliece-348864": "Classic-McEliece-348864",
45
+ "mceliece-460896": "Classic-McEliece-460896",
46
+ "mceliece-6688128": "Classic-McEliece-6688128",
47
+ "mceliece-6960119": "Classic-McEliece-6960119",
48
+ "mceliece-8192128": "Classic-McEliece-8192128",
49
+ // FrodoKEM (ISO standard)
50
+ "frodokem-640-aes": "FrodoKEM-640-AES",
51
+ "frodokem-640-shake": "FrodoKEM-640-SHAKE",
52
+ "frodokem-976-aes": "FrodoKEM-976-AES",
53
+ "frodokem-976-shake": "FrodoKEM-976-SHAKE",
54
+ "frodokem-1344-aes": "FrodoKEM-1344-AES",
55
+ "frodokem-1344-shake": "FrodoKEM-1344-SHAKE",
56
+ // NTRU (lattice-based, re-added in liboqs 0.15)
57
+ "ntru-hps-2048-509": "NTRU-HPS-2048-509",
58
+ "ntru-hps-2048-677": "NTRU-HPS-2048-677",
59
+ "ntru-hps-4096-821": "NTRU-HPS-4096-821",
60
+ "ntru-hps-4096-1229": "NTRU-HPS-4096-1229",
61
+ "ntru-hrss-701": "NTRU-HRSS-701",
62
+ "ntru-hrss-1373": "NTRU-HRSS-1373",
63
+ // NTRU-Prime
64
+ sntrup761: "sntrup761",
65
+ // MAYO (NIST Additional Signatures Round 2)
66
+ "mayo-1": "MAYO-1",
67
+ "mayo-2": "MAYO-2",
68
+ "mayo-3": "MAYO-3",
69
+ "mayo-5": "MAYO-5",
70
+ // CROSS (NIST Additional Signatures Round 2)
71
+ "cross-rsdp-128-balanced": "CROSS-RSDP-128-balanced",
72
+ "cross-rsdp-128-fast": "CROSS-RSDP-128-fast",
73
+ "cross-rsdp-128-small": "CROSS-RSDP-128-small",
74
+ "cross-rsdp-192-balanced": "CROSS-RSDP-192-balanced",
75
+ "cross-rsdp-192-fast": "CROSS-RSDP-192-fast",
76
+ "cross-rsdp-192-small": "CROSS-RSDP-192-small",
77
+ "cross-rsdp-256-balanced": "CROSS-RSDP-256-balanced",
78
+ "cross-rsdp-256-fast": "CROSS-RSDP-256-fast",
79
+ "cross-rsdp-256-small": "CROSS-RSDP-256-small",
80
+ "cross-rsdpg-128-balanced": "CROSS-RSDPG-128-balanced",
81
+ "cross-rsdpg-128-fast": "CROSS-RSDPG-128-fast",
82
+ "cross-rsdpg-128-small": "CROSS-RSDPG-128-small",
83
+ "cross-rsdpg-192-balanced": "CROSS-RSDPG-192-balanced",
84
+ "cross-rsdpg-192-fast": "CROSS-RSDPG-192-fast",
85
+ "cross-rsdpg-192-small": "CROSS-RSDPG-192-small",
86
+ "cross-rsdpg-256-balanced": "CROSS-RSDPG-256-balanced",
87
+ "cross-rsdpg-256-fast": "CROSS-RSDPG-256-fast",
88
+ "cross-rsdpg-256-small": "CROSS-RSDPG-256-small",
89
+ // UOV (NIST Additional Signatures Round 2)
90
+ "ov-Is": "UOV-Is",
91
+ "ov-Ip": "UOV-Ip",
92
+ "ov-III": "UOV-III",
93
+ "ov-V": "UOV-V",
94
+ "ov-Is-pkc": "UOV-Is-pkc",
95
+ "ov-Ip-pkc": "UOV-Ip-pkc",
96
+ "ov-III-pkc": "UOV-III-pkc",
97
+ "ov-V-pkc": "UOV-V-pkc",
98
+ "ov-Is-pkc-skc": "UOV-Is-pkc-skc",
99
+ "ov-Ip-pkc-skc": "UOV-Ip-pkc-skc",
100
+ "ov-III-pkc-skc": "UOV-III-pkc-skc",
101
+ "ov-V-pkc-skc": "UOV-V-pkc-skc",
102
+ // SNOVA (NIST Additional Signatures Round 2, liboqs 0.14+)
103
+ "snova-24-5-4": "SNOVA-24-5-4",
104
+ "snova-24-5-4-shake": "SNOVA-24-5-4-SHAKE",
105
+ "snova-24-5-4-esk": "SNOVA-24-5-4-ESK",
106
+ "snova-24-5-4-shake-esk": "SNOVA-24-5-4-SHAKE-ESK",
107
+ "snova-25-8-3": "SNOVA-25-8-3",
108
+ "snova-37-17-2": "SNOVA-37-17-2",
109
+ "snova-37-8-4": "SNOVA-37-8-4",
110
+ "snova-24-5-5": "SNOVA-24-5-5",
111
+ "snova-56-25-2": "SNOVA-56-25-2",
112
+ "snova-49-11-3": "SNOVA-49-11-3",
113
+ "snova-60-10-4": "SNOVA-60-10-4",
114
+ "snova-29-6-5": "SNOVA-29-6-5",
13
115
  };
14
116
  /**
15
117
  * Convert internal algorithm name to NIST standardized name.
@@ -21,12 +123,51 @@ export class StorageClient {
21
123
  config;
22
124
  telemetry;
23
125
  targetService;
126
+ activationPromise = null;
127
+ activationConfig;
128
+ async ensureActivated() {
129
+ if (!this.activationPromise) {
130
+ this.activationPromise = activateSdk(this.activationConfig).then(() => undefined);
131
+ }
132
+ return this.activationPromise;
133
+ }
24
134
  constructor(config) {
135
+ if (!config.apiKey || config.apiKey.trim().length === 0) {
136
+ throw new Error("QNSP Storage SDK: apiKey is required. " +
137
+ "Get your free API key at https://cloud.qnsp.cuilabs.io/signup — " +
138
+ "no credit card required (FREE tier: 10 GB storage, 50,000 API calls/month). " +
139
+ "Docs: https://docs.qnsp.cuilabs.io/sdk/storage-sdk");
140
+ }
141
+ const baseUrl = config.baseUrl.replace(/\/$/, "");
142
+ // Enforce HTTPS in production (allow HTTP for localhost in development and
143
+ // for internal service-mesh hostnames — e.g. *.internal — which are on a
144
+ // private VPC network and do not require TLS termination at the transport layer).
145
+ if (!baseUrl.startsWith("https://")) {
146
+ const isLocalhost = baseUrl.startsWith("http://localhost") || baseUrl.startsWith("http://127.0.0.1");
147
+ let isInternalService = false;
148
+ try {
149
+ const parsed = new URL(baseUrl);
150
+ isInternalService =
151
+ parsed.protocol === "http:" &&
152
+ (parsed.hostname.endsWith(".internal") ||
153
+ parsed.hostname === "localhost" ||
154
+ parsed.hostname === "127.0.0.1");
155
+ }
156
+ catch {
157
+ // ignore; invalid URL will be caught later by fetch
158
+ }
159
+ const isDevelopment = process.env["NODE_ENV"] === "development" || process.env["NODE_ENV"] === "test";
160
+ if ((!isLocalhost || !isDevelopment) && !isInternalService) {
161
+ throw new Error("baseUrl must use HTTPS in production. HTTP is only allowed for localhost in development.");
162
+ }
163
+ }
25
164
  this.config = {
26
- baseUrl: config.baseUrl.replace(/\/$/, ""),
27
- apiKey: config.apiKey ?? "",
165
+ baseUrl,
166
+ apiKey: config.apiKey,
28
167
  tenantId: config.tenantId,
29
168
  timeoutMs: config.timeoutMs ?? 30_000,
169
+ maxRetries: config.maxRetries ?? 3,
170
+ retryDelayMs: config.retryDelayMs ?? 1_000,
30
171
  };
31
172
  this.telemetry = config.telemetry
32
173
  ? isStorageClientTelemetry(config.telemetry)
@@ -39,16 +180,23 @@ export class StorageClient {
39
180
  catch {
40
181
  this.targetService = "storage-service";
41
182
  }
183
+ this.activationConfig = {
184
+ apiKey: config.apiKey,
185
+ sdkId: "storage-sdk",
186
+ sdkVersion: "0.3.0",
187
+ platformUrl: config.baseUrl,
188
+ };
42
189
  }
43
190
  async request(method, path, options) {
191
+ return this.requestWithRetry(method, path, options, 0);
192
+ }
193
+ async requestWithRetry(method, path, options, attempt) {
44
194
  const url = `${this.config.baseUrl}${path}`;
45
195
  const headers = {
46
196
  "Content-Type": "application/json",
47
197
  ...options?.headers,
48
198
  };
49
- if (this.config.apiKey) {
50
- headers["Authorization"] = `Bearer ${this.config.apiKey}`;
51
- }
199
+ headers["Authorization"] = `Bearer ${this.config.apiKey}`;
52
200
  const controller = new AbortController();
53
201
  const timeoutId = setTimeout(() => controller.abort(), this.config.timeoutMs);
54
202
  const signal = options?.signal ?? controller.signal;
@@ -70,11 +218,32 @@ export class StorageClient {
70
218
  const response = await fetch(url, init);
71
219
  clearTimeout(timeoutId);
72
220
  httpStatus = response.status;
221
+ // Handle rate limiting (429) with retry logic
222
+ if (response.status === 429) {
223
+ if (attempt < this.config.maxRetries) {
224
+ const retryAfterHeader = response.headers.get("Retry-After");
225
+ let delayMs = this.config.retryDelayMs;
226
+ if (retryAfterHeader) {
227
+ const retryAfterSeconds = Number.parseInt(retryAfterHeader, 10);
228
+ if (!Number.isNaN(retryAfterSeconds) && retryAfterSeconds > 0) {
229
+ delayMs = retryAfterSeconds * 1_000;
230
+ }
231
+ }
232
+ else {
233
+ // Exponential backoff: 2^attempt * baseDelay, capped at 30 seconds
234
+ delayMs = Math.min(2 ** attempt * this.config.retryDelayMs, 30_000);
235
+ }
236
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
237
+ return this.requestWithRetry(method, path, options, attempt + 1);
238
+ }
239
+ status = "error";
240
+ errorMessage = `HTTP ${response.status}`;
241
+ throw new Error(`Storage API error: Rate limit exceeded after ${this.config.maxRetries} retries`);
242
+ }
73
243
  if (!response.ok) {
74
244
  status = "error";
75
- const errorText = await response.text().catch(() => "Unknown error");
76
- errorMessage = errorText;
77
- throw new Error(`Storage API error: ${response.status} ${response.statusText} - ${errorText}`);
245
+ errorMessage = `HTTP ${response.status}`;
246
+ throw new Error(`Storage API error: ${response.status} ${response.statusText}`);
78
247
  }
79
248
  if (response.status === 204) {
80
249
  return undefined;
@@ -109,6 +278,7 @@ export class StorageClient {
109
278
  }
110
279
  }
111
280
  async initiateUpload(options) {
281
+ await this.ensureActivated();
112
282
  const result = await this.request("POST", "/storage/v1/documents", {
113
283
  body: {
114
284
  name: options.name,
@@ -131,13 +301,12 @@ export class StorageClient {
131
301
  };
132
302
  }
133
303
  async uploadPart(uploadId, partId, data) {
304
+ await this.ensureActivated();
134
305
  const url = `${this.config.baseUrl}/storage/v1/uploads/${uploadId}/parts/${partId}`;
135
306
  const headers = {
136
307
  "Content-Type": "application/octet-stream",
137
308
  };
138
- if (this.config.apiKey) {
139
- headers["Authorization"] = `Bearer ${this.config.apiKey}`;
140
- }
309
+ headers["Authorization"] = `Bearer ${this.config.apiKey}`;
141
310
  const bytesSent = data instanceof Buffer || data instanceof Uint8Array ? data.byteLength : undefined;
142
311
  const route = "/storage/v1/uploads/:uploadId/parts/:partId";
143
312
  const start = performance.now();
@@ -172,9 +341,8 @@ export class StorageClient {
172
341
  httpStatus = response.status;
173
342
  if (!response.ok) {
174
343
  status = "error";
175
- const errorText = await response.text().catch(() => "Unknown error");
176
- errorMessage = errorText;
177
- throw new Error(`Upload part error: ${response.status} ${response.statusText} - ${errorText}`);
344
+ errorMessage = `HTTP ${response.status}`;
345
+ throw new Error(`Upload part error: ${response.status} ${response.statusText}`);
178
346
  }
179
347
  return (await response.json());
180
348
  }
@@ -207,6 +375,8 @@ export class StorageClient {
207
375
  }
208
376
  }
209
377
  async getUploadStatus(uploadId) {
378
+ validateUUID(uploadId, "uploadId");
379
+ await this.ensureActivated();
210
380
  // Use GET since we need the full status object
211
381
  return this.request("GET", `/storage/v1/uploads/${uploadId}`, {
212
382
  operation: "getUploadStatus",
@@ -214,12 +384,15 @@ export class StorageClient {
214
384
  });
215
385
  }
216
386
  async completeUpload(uploadId) {
387
+ validateUUID(uploadId, "uploadId");
388
+ await this.ensureActivated();
217
389
  return this.request("POST", `/storage/v1/uploads/${uploadId}/complete`, {
218
390
  operation: "completeUpload",
219
391
  telemetryRoute: "/storage/v1/uploads/:uploadId/complete",
220
392
  });
221
393
  }
222
394
  async getDownloadDescriptor(documentId, version, options) {
395
+ await this.ensureActivated();
223
396
  const params = new URLSearchParams({
224
397
  tenantId: this.config.tenantId,
225
398
  });
@@ -238,6 +411,7 @@ export class StorageClient {
238
411
  });
239
412
  }
240
413
  async downloadStream(documentId, version, options) {
414
+ await this.ensureActivated();
241
415
  const params = new URLSearchParams({
242
416
  tenantId: this.config.tenantId,
243
417
  });
@@ -258,9 +432,7 @@ export class StorageClient {
258
432
  if (options?.range) {
259
433
  headers["Range"] = options.range;
260
434
  }
261
- if (this.config.apiKey) {
262
- headers["Authorization"] = `Bearer ${this.config.apiKey}`;
263
- }
435
+ headers["Authorization"] = `Bearer ${this.config.apiKey}`;
264
436
  const controller = new AbortController();
265
437
  const timeoutId = setTimeout(() => controller.abort(), this.config.timeoutMs);
266
438
  const route = "/storage/v1/documents/:documentId/versions/:version/content";
@@ -279,9 +451,8 @@ export class StorageClient {
279
451
  httpStatus = response.status;
280
452
  if (!response.ok) {
281
453
  status = "error";
282
- const errorText = await response.text().catch(() => "Unknown error");
283
- errorMessage = errorText;
284
- throw new Error(`Download error: ${response.status} ${response.statusText} - ${errorText}`);
454
+ errorMessage = `HTTP ${response.status}`;
455
+ throw new Error(`Download error: ${response.status} ${response.statusText}`);
285
456
  }
286
457
  const contentRange = response.headers.get("Content-Range");
287
458
  const rangeMatch = contentRange?.startsWith("bytes ")
@@ -348,6 +519,8 @@ export class StorageClient {
348
519
  * Requires x-tenant-id header.
349
520
  */
350
521
  async getDocumentPolicies(documentId) {
522
+ validateUUID(documentId, "documentId");
523
+ await this.ensureActivated();
351
524
  return this.request("GET", `/storage/v1/documents/${documentId}/policies`, {
352
525
  operation: "getDocumentPolicies",
353
526
  telemetryRoute: "/storage/v1/documents/:documentId/policies",
@@ -361,6 +534,8 @@ export class StorageClient {
361
534
  * Requires x-tenant-id header.
362
535
  */
363
536
  async updateDocumentPolicies(documentId, input) {
537
+ validateUUID(documentId, "documentId");
538
+ await this.ensureActivated();
364
539
  return this.request("PATCH", `/storage/v1/documents/${documentId}/policies`, {
365
540
  body: input,
366
541
  operation: "updateDocumentPolicies",
@@ -375,6 +550,8 @@ export class StorageClient {
375
550
  * Requires x-tenant-id header.
376
551
  */
377
552
  async applyLegalHold(documentId, request) {
553
+ validateUUID(documentId, "documentId");
554
+ await this.ensureActivated();
378
555
  return this.request("POST", `/storage/v1/documents/${documentId}/legal-holds`, {
379
556
  body: request,
380
557
  operation: "applyLegalHold",
@@ -389,6 +566,8 @@ export class StorageClient {
389
566
  * Requires x-tenant-id header.
390
567
  */
391
568
  async releaseLegalHold(documentId, holdId) {
569
+ validateUUID(documentId, "documentId");
570
+ await this.ensureActivated();
392
571
  return this.request("DELETE", `/storage/v1/documents/${documentId}/legal-holds/${holdId}`, {
393
572
  operation: "releaseLegalHold",
394
573
  telemetryRoute: "/storage/v1/documents/:documentId/legal-holds/:holdId",
@@ -402,6 +581,8 @@ export class StorageClient {
402
581
  * Requires x-tenant-id header.
403
582
  */
404
583
  async scheduleLifecycleTransition(documentId, request) {
584
+ validateUUID(documentId, "documentId");
585
+ await this.ensureActivated();
405
586
  return this.request("POST", `/storage/v1/documents/${documentId}/lifecycle/transitions`, {
406
587
  body: request,
407
588
  operation: "scheduleLifecycleTransition",
@@ -420,4 +601,5 @@ export class StorageClient {
420
601
  }
421
602
  export * from "./events.js";
422
603
  export * from "./observability.js";
604
+ export * from "./validation.js";
423
605
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Validation schemas for storage-sdk inputs
4
+ */
5
+ export declare const uuidSchema: z.ZodString;
6
+ /**
7
+ * Validates a UUID string
8
+ */
9
+ export declare function validateUUID(value: string, fieldName: string): void;
10
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,eAAO,MAAM,UAAU,aAAyC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CASnE"}
@@ -0,0 +1,20 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Validation schemas for storage-sdk inputs
4
+ */
5
+ export const uuidSchema = z.string().uuid("Invalid UUID format");
6
+ /**
7
+ * Validates a UUID string
8
+ */
9
+ export function validateUUID(value, fieldName) {
10
+ try {
11
+ uuidSchema.parse(value);
12
+ }
13
+ catch (error) {
14
+ if (error instanceof z.ZodError) {
15
+ throw new Error(`Invalid ${fieldName}: ${error.issues[0]?.message ?? "Invalid format"}`);
16
+ }
17
+ throw error;
18
+ }
19
+ }
20
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAiB;IAC5D,IAAI,CAAC;QACJ,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,WAAW,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,40 +1,60 @@
1
1
  {
2
- "name": "@qnsp/storage-sdk",
3
- "version": "0.2.1",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "type": "module",
8
- "license": "Apache-2.0",
9
- "description": "TypeScript SDK client for the QNSP storage-service API.",
10
- "exports": {
11
- "./package.json": "./package.json",
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "default": "./dist/index.js"
15
- }
16
- },
17
- "scripts": {
18
- "build": "tsc --project tsconfig.build.json",
19
- "dev": "tsx watch src/index.ts",
20
- "lint": "biome check .",
21
- "test": "vitest run",
22
- "typecheck": "tsc --project tsconfig.json --noEmit"
23
- },
24
- "dependencies": {
25
- "@opentelemetry/api": "^1.9.0",
26
- "@opentelemetry/exporter-metrics-otlp-http": "^0.208.0",
27
- "@opentelemetry/resources": "^2.0.0",
28
- "@opentelemetry/sdk-metrics": "^2.2.0",
29
- "undici": "^7.16.0",
30
- "zod": "^4.1.12"
31
- },
32
- "devDependencies": {
33
- "@types/node": "^24.10.4",
34
- "tsx": "^4.21.0",
35
- "vitest": "4.0.16"
36
- },
37
- "engines": {
38
- "node": "24.12.0"
39
- }
40
- }
2
+ "name": "@qnsp/storage-sdk",
3
+ "version": "0.3.1",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "type": "module",
8
+ "license": "Apache-2.0",
9
+ "description": "TypeScript SDK client for the QNSP storage-service API.",
10
+ "exports": {
11
+ "./package.json": "./package.json",
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "default": "./dist/index.js"
15
+ }
16
+ },
17
+ "dependencies": {
18
+ "@opentelemetry/api": "^1.9.0",
19
+ "@opentelemetry/exporter-metrics-otlp-http": "^0.210.0",
20
+ "@opentelemetry/resources": "^2.4.0",
21
+ "@opentelemetry/sdk-metrics": "^2.4.0",
22
+ "undici": "^7.24.2",
23
+ "zod": "^4.3.5",
24
+ "@qnsp/sdk-activation": "0.1.0"
25
+ },
26
+ "devDependencies": {
27
+ "@types/node": "^25.0.9",
28
+ "tsx": "^4.21.0",
29
+ "vitest": "4.0.17"
30
+ },
31
+ "engines": {
32
+ "node": "24.12.0"
33
+ },
34
+ "keywords": [
35
+ "qnsp",
36
+ "pqc",
37
+ "post-quantum",
38
+ "storage",
39
+ "sse-x",
40
+ "encrypted-storage",
41
+ "object-storage",
42
+ "sdk"
43
+ ],
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "https://github.com/cuilabs/qnsp",
47
+ "directory": "packages/storage-sdk"
48
+ },
49
+ "homepage": "https://qnsp.cuilabs.io",
50
+ "bugs": {
51
+ "url": "https://github.com/cuilabs/qnsp/issues"
52
+ },
53
+ "scripts": {
54
+ "build": "tsc --project tsconfig.build.json",
55
+ "dev": "tsx watch src/index.ts",
56
+ "lint": "biome check .",
57
+ "test": "vitest run",
58
+ "typecheck": "tsc --project tsconfig.json --noEmit"
59
+ }
60
+ }
@@ -1,4 +1,3 @@
1
- import { randomUUID } from "node:crypto";
2
1
  import { z } from "zod";
3
2
 
4
3
  export const eventMetadataSchema = z.object({
@@ -20,7 +19,7 @@ export const eventEnvelopeSchema = z.object({
20
19
  id: z
21
20
  .string()
22
21
  .uuid()
23
- .default(() => randomUUID()),
22
+ .default(() => crypto.randomUUID()),
24
23
  topic: z.string().min(1),
25
24
  version: z.string().min(1).default("1"),
26
25
  occuredAt: z
package/src/events.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { performance } from "node:perf_hooks";
2
-
3
1
  import type { EventEnvelope } from "./event-envelope.js";
4
2
  import { createEventEnvelope } from "./event-envelope.js";
5
3
  import type {