@sebastienrousseau/crypto-sdk 0.0.9 → 0.0.25

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.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { ClientOptions, ApiResponse, HashAlgorithm, HashResult, AeadResult, KdfAlgorithm, KdfResult, SecretboxSealResult, PasswordEncryptResult, KeyWrapAlgorithm, KeyWrapResult, HealthResult, DoraComplianceScorecard, CbomExportPayload, AlgorithmNegotiationOptions, AlgorithmNegotiationResult, HmacAlgorithm, MacResult, MacVerifyResult, Argon2Params, PasswordHashResult } from "./types";
2
- import type { KeyAlgorithm, KeyIdParams, SignParams, KeyMetadata, KeyGenerateResult, KeyExportResult, SignResult, VerifyResult, MlKemKeyPair, MlKemEncapsulateResult, KemDecapsulateResult, HybridKeyPair, HybridEncapsulateResult, MlDsaLevel, MlDsaKeyPair, MlDsaSignResult, MlDsaVerifyResult, SlhDsaVariant, SlhDsaKeyPair, SlhDsaSignResult, SlhDsaVerifyResult, SealedboxSealResult } from "./key-types";
1
+ import type { ClientOptions, ApiResponse, HashAlgorithm, HashResult, AeadResult, KdfAlgorithm, KdfResult, SecretboxSealResult, PasswordEncryptResult, KeyWrapAlgorithm, KeyWrapResult, HealthResult, DoraComplianceScorecard, CbomExportPayload, AlgorithmNegotiationOptions, AlgorithmNegotiationResult, HmacAlgorithm, MacResult, MacVerifyResult, Argon2Params, PasswordHashResult, StreamPqEncryptParams, StreamPqEncryptResult, StreamPqDecryptParams, StreamPqDecryptResult, StreamMultiPqEncryptParams, StreamMultiPqEncryptResult, StreamMultiPqDecryptParams, StreamMultiPqDecryptResult } from "./types";
2
+ import type { KeyAlgorithm, KeyIdParams, SignParams, KeyMetadata, KeyGenerateResult, KeyExportResult, SignResult, VerifyResult, MlKemLevel, MlKemKeygenParams, MlKemKeyPair, MlKemEncapsulateParams, MlKemEncapsulateResult, MlKemDecapsulateParams, KemDecapsulateResult, HybridKeyPair, HybridEncapsulateParams, HybridEncapsulateResult, HybridDecapsulateParams, MlDsaLevel, MlDsaKeyPair, MlDsaSignResult, MlDsaVerifyResult, SlhDsaVariant, SlhDsaKeyPair, SlhDsaSignResult, SlhDsaVerifyResult, SealedboxSealResult, HpkeGenerateKeyPairParams, HpkeKeyPair, HpkeSealParams, HpkeSealResult, HpkeOpenParams, HpkeOpenResult, KmsCreateKeyParams, KmsWrapParams, KmsWrapResult, KmsUnwrapParams, KmsUnwrapResult, KmsGenerateDataKeyParams, KmsGenerateDataKeyResult, KmsEncryptParams, KmsEncryptResult, KmsDecryptParams, KmsDecryptResult } from "./key-types";
3
3
  export * from "./types";
4
4
  export * from "./key-types";
5
5
  export { CryptoApiError } from "./errors";
@@ -7,6 +7,9 @@ export declare class CryptoClient {
7
7
  private baseUrl;
8
8
  private headers;
9
9
  private fetchFn;
10
+ private timeout;
11
+ private retry;
12
+ private autoTraceparent;
10
13
  constructor(options: ClientOptions);
11
14
  private send;
12
15
  private request;
@@ -73,22 +76,14 @@ export declare class CryptoClient {
73
76
  message: string;
74
77
  signature: string;
75
78
  }): Promise<ApiResponse<VerifyResult>>;
76
- mlKemGenerateKeyPair(): Promise<ApiResponse<MlKemKeyPair>>;
77
- mlKemEncapsulate(params: {
78
- publicKey: string;
79
- }): Promise<ApiResponse<MlKemEncapsulateResult>>;
80
- mlKemDecapsulate(params: KeyIdParams & {
81
- ciphertext: string;
82
- }): Promise<ApiResponse<KemDecapsulateResult>>;
83
- pqGenerateKeyPair(): Promise<ApiResponse<HybridKeyPair>>;
84
- pqEncapsulate(params: {
85
- x25519PublicKey: string;
86
- mlKemPublicKey: string;
87
- }): Promise<ApiResponse<HybridEncapsulateResult>>;
88
- pqDecapsulate(params: KeyIdParams & {
89
- x25519EphemeralPublic: string;
90
- mlKemCiphertext: string;
91
- }): Promise<ApiResponse<KemDecapsulateResult>>;
79
+ mlKemGenerateKeyPair(params?: MlKemKeygenParams): Promise<ApiResponse<MlKemKeyPair>>;
80
+ mlKemEncapsulate(params: MlKemEncapsulateParams): Promise<ApiResponse<MlKemEncapsulateResult>>;
81
+ mlKemDecapsulate(params: MlKemDecapsulateParams): Promise<ApiResponse<KemDecapsulateResult>>;
82
+ pqGenerateKeyPair(params?: {
83
+ level?: MlKemLevel;
84
+ }): Promise<ApiResponse<HybridKeyPair>>;
85
+ pqEncapsulate(params: HybridEncapsulateParams): Promise<ApiResponse<HybridEncapsulateResult>>;
86
+ pqDecapsulate(params: HybridDecapsulateParams): Promise<ApiResponse<KemDecapsulateResult>>;
92
87
  pqSign(params: SignParams): Promise<ApiResponse<MlDsaSignResult>>;
93
88
  pqVerify(params: {
94
89
  level: MlDsaLevel;
@@ -134,6 +129,10 @@ export declare class CryptoClient {
134
129
  sealedboxOpenPq(params: KeyIdParams & {
135
130
  sealed: string;
136
131
  }): Promise<ApiResponse<string>>;
132
+ streamPqEncrypt(params: StreamPqEncryptParams): Promise<ApiResponse<StreamPqEncryptResult>>;
133
+ streamPqDecrypt(params: StreamPqDecryptParams): Promise<ApiResponse<StreamPqDecryptResult>>;
134
+ streamMultiPqEncrypt(params: StreamMultiPqEncryptParams): Promise<ApiResponse<StreamMultiPqEncryptResult>>;
135
+ streamMultiPqDecrypt(params: StreamMultiPqDecryptParams): Promise<ApiResponse<StreamMultiPqDecryptResult>>;
137
136
  passwordEncrypt(params: {
138
137
  password: string;
139
138
  plaintext: string;
@@ -142,6 +141,9 @@ export declare class CryptoClient {
142
141
  password: string;
143
142
  ciphertext: string;
144
143
  }): Promise<ApiResponse<string>>;
144
+ hpkeGenerateKeyPair(params?: HpkeGenerateKeyPairParams): Promise<ApiResponse<HpkeKeyPair>>;
145
+ hpkeSeal(params: HpkeSealParams): Promise<ApiResponse<HpkeSealResult>>;
146
+ hpkeOpen(params: HpkeOpenParams): Promise<ApiResponse<HpkeOpenResult>>;
145
147
  keyWrap(params: {
146
148
  kek: string;
147
149
  keyToWrap: string;
@@ -152,6 +154,12 @@ export declare class CryptoClient {
152
154
  wrappedKey: string;
153
155
  algorithm?: KeyWrapAlgorithm;
154
156
  }): Promise<ApiResponse<string>>;
157
+ kmsCreateKey(params?: KmsCreateKeyParams): Promise<ApiResponse<Record<string, unknown>>>;
158
+ kmsWrap(params: KmsWrapParams): Promise<ApiResponse<KmsWrapResult>>;
159
+ kmsUnwrap(params: KmsUnwrapParams): Promise<ApiResponse<KmsUnwrapResult>>;
160
+ kmsGenerateDataKey(params: KmsGenerateDataKeyParams): Promise<ApiResponse<KmsGenerateDataKeyResult>>;
161
+ kmsEncrypt(params: KmsEncryptParams): Promise<ApiResponse<KmsEncryptResult>>;
162
+ kmsDecrypt(params: KmsDecryptParams): Promise<ApiResponse<KmsDecryptResult>>;
155
163
  getDoraCompliance(): Promise<ApiResponse<DoraComplianceScorecard>>;
156
164
  getCbom(): Promise<CbomExportPayload>;
157
165
  negotiateAlgorithm(options?: AlgorithmNegotiationOptions): AlgorithmNegotiationResult;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,39 +16,32 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.CryptoClient = exports.CryptoApiError = void 0;
18
18
  const negotiation_1 = require("./negotiation");
19
- const errors_1 = require("./errors");
19
+ const request_1 = require("./request");
20
20
  __exportStar(require("./types"), exports);
21
21
  __exportStar(require("./key-types"), exports);
22
- var errors_2 = require("./errors");
23
- Object.defineProperty(exports, "CryptoApiError", { enumerable: true, get: function () { return errors_2.CryptoApiError; } });
22
+ var errors_1 = require("./errors");
23
+ Object.defineProperty(exports, "CryptoApiError", { enumerable: true, get: function () { return errors_1.CryptoApiError; } });
24
24
  class CryptoClient {
25
25
  baseUrl;
26
26
  headers;
27
27
  fetchFn;
28
+ timeout;
29
+ retry;
30
+ autoTraceparent = false;
28
31
  constructor(options) {
29
32
  this.baseUrl = options.baseUrl.replace(/\/$/, "");
30
33
  this.fetchFn = options.fetch ?? globalThis.fetch;
31
- this.headers = { "Content-Type": "application/json" };
32
- if (options.apiKey) {
33
- this.headers["x-api-key"] = options.apiKey;
34
- }
35
- if (options.token) {
36
- this.headers["Authorization"] = `Bearer ${options.token}`;
37
- }
34
+ this.headers = (0, request_1.buildClientHeaders)(options);
35
+ this.timeout = options.timeout;
36
+ this.retry = (0, request_1.resolveRetryConfig)(options.retry);
37
+ this.autoTraceparent = options.traceparent === true;
38
38
  }
39
39
  async send(method, path, body) {
40
- const init = {
41
- method,
42
- headers: this.headers,
43
- };
44
- if (body) {
45
- init.body = JSON.stringify(body);
46
- }
47
- const res = await this.fetchFn(`${this.baseUrl}${path}`, init);
48
- if (!res.ok) {
49
- throw new errors_1.CryptoApiError(res.status, await (0, errors_1.readProblem)(res));
50
- }
51
- return (await res.json());
40
+ const headers = this.autoTraceparent
41
+ ? { ...this.headers, traceparent: (0, request_1.generateSdkTraceparent)() }
42
+ : this.headers;
43
+ const init = (0, request_1.buildRequestInit)(method, headers, body, this.timeout);
44
+ return (0, request_1.executeRequest)(this.fetchFn, `${this.baseUrl}${path}`, init, this.retry);
52
45
  }
53
46
  request(method, path, body) {
54
47
  return this.send(method, path, body);
@@ -89,8 +82,8 @@ class CryptoClient {
89
82
  async verify(params) {
90
83
  return this.request("POST", "/v2/verify", params);
91
84
  }
92
- async mlKemGenerateKeyPair() {
93
- return this.request("POST", "/v2/pq/keygen", {});
85
+ async mlKemGenerateKeyPair(params = {}) {
86
+ return this.request("POST", "/v2/pq/keygen", params);
94
87
  }
95
88
  async mlKemEncapsulate(params) {
96
89
  return this.request("POST", "/v2/pq/encapsulate", params);
@@ -98,8 +91,8 @@ class CryptoClient {
98
91
  async mlKemDecapsulate(params) {
99
92
  return this.request("POST", "/v2/pq/decapsulate", params);
100
93
  }
101
- async pqGenerateKeyPair() {
102
- return this.request("POST", "/v2/pq/hybrid/keygen", {});
94
+ async pqGenerateKeyPair(params = {}) {
95
+ return this.request("POST", "/v2/pq/hybrid/keygen", params);
103
96
  }
104
97
  async pqEncapsulate(params) {
105
98
  return this.request("POST", "/v2/pq/hybrid/encapsulate", params);
@@ -143,18 +136,57 @@ class CryptoClient {
143
136
  async sealedboxOpenPq(params) {
144
137
  return this.request("POST", "/v2/sealedbox/open-pq", params);
145
138
  }
139
+ async streamPqEncrypt(params) {
140
+ return this.request("POST", "/v2/stream/pq-encrypt", params);
141
+ }
142
+ async streamPqDecrypt(params) {
143
+ return this.request("POST", "/v2/stream/pq-decrypt", params);
144
+ }
145
+ async streamMultiPqEncrypt(params) {
146
+ return this.request("POST", "/v2/stream/multi-pq-encrypt", params);
147
+ }
148
+ async streamMultiPqDecrypt(params) {
149
+ return this.request("POST", "/v2/stream/multi-pq-decrypt", params);
150
+ }
146
151
  async passwordEncrypt(params) {
147
152
  return this.request("POST", "/v2/password/encrypt", params);
148
153
  }
149
154
  async passwordDecrypt(params) {
150
155
  return this.request("POST", "/v2/password/decrypt", params);
151
156
  }
157
+ async hpkeGenerateKeyPair(params = {}) {
158
+ return this.request("POST", "/v2/hpke/keygen", params);
159
+ }
160
+ async hpkeSeal(params) {
161
+ return this.request("POST", "/v2/hpke/seal", params);
162
+ }
163
+ async hpkeOpen(params) {
164
+ return this.request("POST", "/v2/hpke/open", params);
165
+ }
152
166
  async keyWrap(params) {
153
167
  return this.request("POST", "/v2/keys/wrap", params);
154
168
  }
155
169
  async keyUnwrap(params) {
156
170
  return this.request("POST", "/v2/keys/unwrap", params);
157
171
  }
172
+ async kmsCreateKey(params = {}) {
173
+ return this.request("POST", "/v2/kms/create-key", params);
174
+ }
175
+ async kmsWrap(params) {
176
+ return this.request("POST", "/v2/kms/wrap", params);
177
+ }
178
+ async kmsUnwrap(params) {
179
+ return this.request("POST", "/v2/kms/unwrap", params);
180
+ }
181
+ async kmsGenerateDataKey(params) {
182
+ return this.request("POST", "/v2/kms/generate-data-key", params);
183
+ }
184
+ async kmsEncrypt(params) {
185
+ return this.request("POST", "/v2/kms/encrypt", params);
186
+ }
187
+ async kmsDecrypt(params) {
188
+ return this.request("POST", "/v2/kms/decrypt", params);
189
+ }
158
190
  async getDoraCompliance() {
159
191
  return this.request("GET", "/v2/compliance/dora");
160
192
  }
@@ -1,4 +1,5 @@
1
1
  export type KeyAlgorithm = "ed25519" | "x25519" | "ed448" | "x448" | "p256" | "p384" | "ml-kem-512" | "ml-kem-768" | "ml-kem-1024" | "ml-dsa-44" | "ml-dsa-65" | "ml-dsa-87";
2
+ export type MlKemLevel = 512 | 768 | 1024;
2
3
  export type MlDsaLevel = 44 | 65 | 87;
3
4
  export type SlhDsaVariant = "sha2-128f" | "sha2-128s" | "sha2-192f" | "sha2-192s" | "sha2-256f" | "sha2-256s" | "shake-128f" | "shake-128s" | "shake-192f" | "shake-192s" | "shake-256f" | "shake-256s";
4
5
  export interface KeyIdParams {
@@ -35,6 +36,27 @@ export interface VerifyResult {
35
36
  export interface MlKemKeyPair extends ServerKey {
36
37
  publicKey: string;
37
38
  }
39
+ export interface MlKemKeygenParams {
40
+ level?: MlKemLevel;
41
+ }
42
+ export interface MlKemEncapsulateParams {
43
+ publicKey: string;
44
+ level?: MlKemLevel;
45
+ }
46
+ export interface MlKemDecapsulateParams extends KeyIdParams {
47
+ ciphertext: string;
48
+ level?: MlKemLevel;
49
+ }
50
+ export interface HybridEncapsulateParams {
51
+ x25519PublicKey: string;
52
+ mlKemPublicKey: string;
53
+ level?: MlKemLevel;
54
+ }
55
+ export interface HybridDecapsulateParams extends KeyIdParams {
56
+ x25519EphemeralPublic: string;
57
+ mlKemCiphertext: string;
58
+ level?: MlKemLevel;
59
+ }
38
60
  export interface MlKemEncapsulateResult {
39
61
  ciphertext: string;
40
62
  sharedSecret: string;
@@ -80,4 +102,102 @@ export interface SealedboxSealResult {
80
102
  sealed: string;
81
103
  algorithm: string;
82
104
  }
105
+ export type HpkeKem = "x25519" | "p256" | "x25519-ml-kem-768";
106
+ export type HpkeAead = "chacha20-poly1305" | "aes-128-gcm";
107
+ export interface HpkeGenerateKeyPairParams {
108
+ kem?: HpkeKem;
109
+ }
110
+ export interface HpkeKeyPair extends ServerKey {
111
+ publicKey: string;
112
+ }
113
+ export interface HpkeSealParams {
114
+ recipientPublicKey: string;
115
+ plaintext: string;
116
+ kem?: HpkeKem;
117
+ aead?: HpkeAead;
118
+ info?: string;
119
+ aad?: string;
120
+ psk?: string;
121
+ pskId?: string;
122
+ }
123
+ export interface HpkeSealResult {
124
+ ciphertext: string;
125
+ encapsulatedKey: string;
126
+ }
127
+ export interface HpkeOpenParams {
128
+ keyId: string;
129
+ encapsulatedKey: string;
130
+ ciphertext: string;
131
+ aead?: HpkeAead;
132
+ info?: string;
133
+ aad?: string;
134
+ psk?: string;
135
+ pskId?: string;
136
+ }
137
+ export interface HpkeOpenResult {
138
+ plaintext: string;
139
+ hex: string;
140
+ }
141
+ export interface KmsCreateKeyParams {
142
+ provider?: string;
143
+ algorithm?: string;
144
+ usage?: "encrypt" | "sign" | "wrap";
145
+ metadata?: Record<string, string>;
146
+ }
147
+ export interface KmsWrapParams {
148
+ keyId: string;
149
+ unwrappedKey: string;
150
+ provider?: string;
151
+ context?: Record<string, string>;
152
+ }
153
+ export interface KmsWrapResult {
154
+ wrappedKey: string;
155
+ keyId: string;
156
+ provider: string;
157
+ }
158
+ export interface KmsUnwrapParams {
159
+ keyId: string;
160
+ wrappedKey: string;
161
+ provider?: string;
162
+ context?: Record<string, string>;
163
+ }
164
+ export interface KmsUnwrapResult {
165
+ unwrappedKey: string;
166
+ keyId: string;
167
+ provider: string;
168
+ }
169
+ export interface KmsGenerateDataKeyParams {
170
+ keyId: string;
171
+ provider?: string;
172
+ keySpec?: string;
173
+ }
174
+ export interface KmsGenerateDataKeyResult {
175
+ plaintext: string;
176
+ ciphertext: string;
177
+ keyId: string;
178
+ provider: string;
179
+ }
180
+ export interface KmsEncryptParams {
181
+ keyId: string;
182
+ plaintext: string;
183
+ provider?: string;
184
+ context?: Record<string, string>;
185
+ }
186
+ export interface KmsEncryptResult {
187
+ ciphertext: string;
188
+ keyId: string;
189
+ provider: string;
190
+ }
191
+ export interface KmsDecryptParams {
192
+ keyId: string;
193
+ ciphertext: string;
194
+ provider?: string;
195
+ context?: Record<string, string>;
196
+ }
197
+ export interface KmsDecryptResult {
198
+ plaintext: string;
199
+ hex: string;
200
+ keyId: string;
201
+ provider: string;
202
+ }
83
203
  //# sourceMappingURL=key-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"key-types.d.ts","sourceRoot":"","sources":["../src/key-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-types.d.ts","sourceRoot":"","sources":["../src/key-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ClientOptions, RetryOptions } from "./types";
2
+ export interface RetryConfig {
3
+ maxRetries: number;
4
+ initialDelayMs: number;
5
+ maxDelayMs: number;
6
+ }
7
+ export declare function resolveRetryConfig(retry?: RetryOptions): RetryConfig;
8
+ export declare function buildClientHeaders(options: ClientOptions): Record<string, string>;
9
+ export declare function isTransientStatus(status: number): boolean;
10
+ export declare function computeBackoffDelay(attempt: number, config: RetryConfig, retryAfterHeader?: string | null): number;
11
+ export declare function buildRequestInit(method: string, headers: Record<string, string>, body?: unknown, timeout?: number): RequestInit;
12
+ export declare function executeRequest<T>(fetchFn: typeof globalThis.fetch, url: string, init: RequestInit, retry: RetryConfig): Promise<T>;
13
+ export declare function generateSdkTraceparent(): string;
14
+ export declare function resolveTraceparentHeader(traceparent?: string | boolean): string | undefined;
15
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG3D,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,WAAW,CAMpE;AAGD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,aAAa,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAaxB;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEzD;AAGD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,GAC/B,MAAM,CAWR;AAGD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,IAAI,CAAC,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,MAAM,GACf,WAAW,CAcb;AAGD,wBAAsB,cAAc,CAAC,CAAC,EACpC,OAAO,EAAE,OAAO,UAAU,CAAC,KAAK,EAChC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,CAAC,CAAC,CAkCZ;AAGD,wBAAgB,sBAAsB,IAAI,MAAM,CAoB/C;AAGD,wBAAgB,wBAAwB,CACtC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAC7B,MAAM,GAAG,SAAS,CAKpB"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveRetryConfig = resolveRetryConfig;
4
+ exports.buildClientHeaders = buildClientHeaders;
5
+ exports.isTransientStatus = isTransientStatus;
6
+ exports.computeBackoffDelay = computeBackoffDelay;
7
+ exports.buildRequestInit = buildRequestInit;
8
+ exports.executeRequest = executeRequest;
9
+ exports.generateSdkTraceparent = generateSdkTraceparent;
10
+ exports.resolveTraceparentHeader = resolveTraceparentHeader;
11
+ const errors_1 = require("./errors");
12
+ function resolveRetryConfig(retry) {
13
+ return {
14
+ maxRetries: Math.max(0, retry?.maxRetries ?? 0),
15
+ initialDelayMs: Math.max(0, retry?.initialDelayMs ?? 200),
16
+ maxDelayMs: Math.max(0, retry?.maxDelayMs ?? 2000),
17
+ };
18
+ }
19
+ function buildClientHeaders(options) {
20
+ const headers = {
21
+ "Content-Type": "application/json",
22
+ };
23
+ if (options.apiKey)
24
+ headers["x-api-key"] = options.apiKey;
25
+ if (options.token)
26
+ headers["Authorization"] = `Bearer ${options.token}`;
27
+ if (typeof options.traceparent === "string" &&
28
+ options.traceparent.trim().length > 0) {
29
+ headers["traceparent"] = options.traceparent.trim();
30
+ }
31
+ return headers;
32
+ }
33
+ function isTransientStatus(status) {
34
+ return status === 429 || status === 503 || status === 504;
35
+ }
36
+ function computeBackoffDelay(attempt, config, retryAfterHeader) {
37
+ if (retryAfterHeader) {
38
+ const parsed = Number(retryAfterHeader);
39
+ if (!Number.isNaN(parsed) && parsed > 0) {
40
+ return Math.min(parsed * 1000, config.maxDelayMs);
41
+ }
42
+ }
43
+ return Math.min(config.initialDelayMs * 2 ** (attempt - 1), config.maxDelayMs);
44
+ }
45
+ function buildRequestInit(method, headers, body, timeout) {
46
+ const init = { method, headers };
47
+ if (body) {
48
+ init.body = JSON.stringify(body);
49
+ }
50
+ if (timeout !== undefined &&
51
+ timeout > 0 &&
52
+ typeof AbortSignal !== "undefined" &&
53
+ typeof AbortSignal.timeout === "function") {
54
+ init.signal = AbortSignal.timeout(timeout);
55
+ }
56
+ return init;
57
+ }
58
+ async function executeRequest(fetchFn, url, init, retry) {
59
+ const maxAttempts = 1 + retry.maxRetries;
60
+ let attempt = 0;
61
+ while (true) {
62
+ let res;
63
+ try {
64
+ res = await fetchFn(url, init);
65
+ }
66
+ catch (err) {
67
+ attempt++;
68
+ if (attempt < maxAttempts) {
69
+ await new Promise((r) => setTimeout(r, computeBackoffDelay(attempt, retry)));
70
+ continue;
71
+ }
72
+ throw err;
73
+ }
74
+ if (res.ok) {
75
+ return (await res.json());
76
+ }
77
+ attempt++;
78
+ if (isTransientStatus(res.status) && attempt < maxAttempts) {
79
+ const header = res.headers?.get?.("retry-after");
80
+ await new Promise((r) => setTimeout(r, computeBackoffDelay(attempt, retry, header)));
81
+ continue;
82
+ }
83
+ throw new errors_1.CryptoApiError(res.status, await (0, errors_1.readProblem)(res));
84
+ }
85
+ }
86
+ function generateSdkTraceparent() {
87
+ const bytes = new Uint8Array(24);
88
+ if (typeof globalThis.crypto !== "undefined" &&
89
+ typeof globalThis.crypto.getRandomValues === "function") {
90
+ globalThis.crypto.getRandomValues(bytes);
91
+ }
92
+ else {
93
+ for (let i = 0; i < 24; i++) {
94
+ bytes[i] = Math.floor(Math.random() * 256);
95
+ }
96
+ }
97
+ bytes[0] = (bytes[0] % 255) + 1;
98
+ bytes[16] = (bytes[16] % 255) + 1;
99
+ let hex = "";
100
+ for (let i = 0; i < 24; i++) {
101
+ hex += bytes[i].toString(16).padStart(2, "0");
102
+ }
103
+ return `00-${hex.slice(0, 32)}-${hex.slice(32, 48)}-01`;
104
+ }
105
+ function resolveTraceparentHeader(traceparent) {
106
+ if (typeof traceparent === "string" && traceparent.trim().length > 0) {
107
+ return traceparent.trim();
108
+ }
109
+ return undefined;
110
+ }
111
+ //# sourceMappingURL=request.js.map
package/dist/types.d.ts CHANGED
@@ -1,8 +1,16 @@
1
+ export interface RetryOptions {
2
+ maxRetries?: number;
3
+ initialDelayMs?: number;
4
+ maxDelayMs?: number;
5
+ }
1
6
  export interface ClientOptions {
2
7
  baseUrl: string;
3
8
  apiKey?: string;
4
9
  token?: string;
5
10
  fetch?: typeof globalThis.fetch;
11
+ timeout?: number;
12
+ retry?: RetryOptions;
13
+ traceparent?: string | boolean;
6
14
  }
7
15
  export interface ApiResponse<T> {
8
16
  data: T;
@@ -129,4 +137,47 @@ export interface PasswordHashResult {
129
137
  algorithm: string;
130
138
  phc: string;
131
139
  }
140
+ export interface StreamPqEncryptParams {
141
+ x25519PublicKey: string;
142
+ mlKemPublicKey: string;
143
+ plaintext: string;
144
+ chunkSize?: number;
145
+ }
146
+ export interface StreamPqEncryptResult {
147
+ ciphertext: string;
148
+ algorithm: "x25519-ml-kem-768-xchacha20-poly1305-stream";
149
+ }
150
+ export interface StreamPqDecryptParams {
151
+ keyId: string;
152
+ ciphertext: string;
153
+ chunkSize?: number;
154
+ }
155
+ export interface StreamPqDecryptResult {
156
+ plaintext: string;
157
+ }
158
+ export interface StreamMultiPqRecipient {
159
+ recipientId: string;
160
+ x25519PublicKey: string;
161
+ mlKemPublicKey: string;
162
+ }
163
+ export interface StreamMultiPqEncryptParams {
164
+ recipients: StreamMultiPqRecipient[];
165
+ plaintext: string;
166
+ chunkSize?: number;
167
+ }
168
+ export interface StreamMultiPqEncryptResult {
169
+ ciphertext: string;
170
+ algorithm: "multi-x25519-ml-kem-768-xchacha20-poly1305-stream";
171
+ recipientCount: number;
172
+ }
173
+ export interface StreamMultiPqDecryptParams {
174
+ keyId: string;
175
+ recipientId?: string;
176
+ ciphertext: string;
177
+ chunkSize?: number;
178
+ }
179
+ export interface StreamMultiPqDecryptResult {
180
+ plaintext: string;
181
+ recipientId: string;
182
+ }
132
183
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sebastienrousseau/crypto-sdk",
3
- "version": "0.0.9",
3
+ "version": "0.0.25",
4
4
  "description": "Type-safe TypeScript client for the Crypto Service Suite v2 API. Zero dependencies, fetch-based.",
5
5
  "author": "Sebastien Rousseau <sebastienrousseau@users.noreply.github.com>",
6
6
  "license": "MIT OR Apache-2.0",
@@ -25,7 +25,7 @@
25
25
  "dist/**/*.d.ts.map"
26
26
  ],
27
27
  "devDependencies": {
28
- "@sebastienrousseau/mocha-config": "^0.0.5",
28
+ "@sebastienrousseau/mocha-config": "^0.0.7",
29
29
  "@types/chai": "^5.2.3",
30
30
  "@types/chai-as-promised": "^8.0.2",
31
31
  "@types/mocha": "^10.0.10",
@@ -38,7 +38,7 @@
38
38
  "ts-node": "^10.9.2",
39
39
  "typedoc": "^0.28.20",
40
40
  "typescript": "~5.9.3",
41
- "@sebastienrousseau/crypto-server": "0.0.9"
41
+ "@sebastienrousseau/crypto-server": "0.0.25"
42
42
  },
43
43
  "homepage": "https://github.com/sebastienrousseau/crypto-service/tree/main/packages/crypto-sdk",
44
44
  "repository": {