@tinycloud/sdk-services 1.0.0 → 1.3.0
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 +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/sql/DatabaseHandle.d.ts +20 -0
- package/dist/sql/DatabaseHandle.d.ts.map +1 -0
- package/dist/sql/DatabaseHandle.js +27 -0
- package/dist/sql/DatabaseHandle.js.map +1 -0
- package/dist/sql/ISQLService.d.ts +67 -0
- package/dist/sql/ISQLService.d.ts.map +1 -0
- package/dist/sql/ISQLService.js +7 -0
- package/dist/sql/ISQLService.js.map +1 -0
- package/dist/sql/SQLService.d.ts +44 -0
- package/dist/sql/SQLService.d.ts.map +1 -0
- package/dist/sql/SQLService.js +208 -0
- package/dist/sql/SQLService.js.map +1 -0
- package/dist/sql/index.d.ts +10 -0
- package/dist/sql/index.d.ts.map +1 -0
- package/dist/sql/index.js +9 -0
- package/dist/sql/index.js.map +1 -0
- package/dist/sql/types.d.ts +102 -0
- package/dist/sql/types.d.ts.map +1 -0
- package/dist/sql/types.js +21 -0
- package/dist/sql/types.js.map +1 -0
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -0
- package/dist/types.js.map +1 -1
- package/dist/types.schema.d.ts +66 -6
- package/dist/types.schema.d.ts.map +1 -1
- package/dist/vault/DataVaultService.d.ts +254 -0
- package/dist/vault/DataVaultService.d.ts.map +1 -0
- package/dist/vault/DataVaultService.js +969 -0
- package/dist/vault/DataVaultService.js.map +1 -0
- package/dist/vault/IDataVaultService.d.ts +140 -0
- package/dist/vault/IDataVaultService.d.ts.map +1 -0
- package/dist/vault/IDataVaultService.js +8 -0
- package/dist/vault/IDataVaultService.js.map +1 -0
- package/dist/vault/createVaultCrypto.d.ts +16 -0
- package/dist/vault/createVaultCrypto.d.ts.map +1 -0
- package/dist/vault/createVaultCrypto.js +12 -0
- package/dist/vault/createVaultCrypto.js.map +1 -0
- package/dist/vault/index.d.ts +10 -0
- package/dist/vault/index.d.ts.map +1 -0
- package/dist/vault/index.js +11 -0
- package/dist/vault/index.js.map +1 -0
- package/dist/vault/types.d.ts +144 -0
- package/dist/vault/types.d.ts.map +1 -0
- package/dist/vault/types.js +29 -0
- package/dist/vault/types.js.map +1 -0
- package/package.json +6 -1
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,YAAY,IAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACrB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -20,6 +20,15 @@ export const ErrorCodes = {
|
|
|
20
20
|
// KV-specific errors
|
|
21
21
|
KV_NOT_FOUND: "KV_NOT_FOUND",
|
|
22
22
|
KV_WRITE_FAILED: "KV_WRITE_FAILED",
|
|
23
|
+
// SQL-specific errors
|
|
24
|
+
SQL_ERROR: "SQL_ERROR",
|
|
25
|
+
SQL_PERMISSION_DENIED: "SQL_PERMISSION_DENIED",
|
|
26
|
+
SQL_DATABASE_NOT_FOUND: "SQL_DATABASE_NOT_FOUND",
|
|
27
|
+
SQL_RESPONSE_TOO_LARGE: "SQL_RESPONSE_TOO_LARGE",
|
|
28
|
+
SQL_QUOTA_EXCEEDED: "SQL_QUOTA_EXCEEDED",
|
|
29
|
+
SQL_INVALID_STATEMENT: "SQL_INVALID_STATEMENT",
|
|
30
|
+
SQL_SCHEMA_ERROR: "SQL_SCHEMA_ERROR",
|
|
31
|
+
SQL_READONLY_VIOLATION: "SQL_READONLY_VIOLATION",
|
|
23
32
|
};
|
|
24
33
|
/**
|
|
25
34
|
* Default retry policy.
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2CH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IAEtC,qBAAqB;IACrB,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2CH;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gBAAgB;IAChB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAC9B,iBAAiB,EAAE,mBAAmB;IAEtC,qBAAqB;IACrB,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAElC,sBAAsB;IACtB,SAAS,EAAE,WAAW;IACtB,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,kBAAkB,EAAE,oBAAoB;IACxC,qBAAqB,EAAE,uBAAuB;IAC9C,gBAAgB,EAAE,kBAAkB;IACpC,sBAAsB,EAAE,wBAAwB;CACxC,CAAC;AAyHX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB;IAC7C,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,aAAa;IACtB,WAAW,EAAE,IAAI;IACjB,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,OAAO,CAAC;CAChE,CAAC;AA6GF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,aAAa,EAAE,eAAe;IAC9B,aAAa,EAAE,eAAe;IAC9B,eAAe,EAAE,iBAAiB;IAClC,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAEX,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,EAAE,CAAI,IAAO;IAC3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAmB,KAAQ;IAC5C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,OAAe,EACf,OAAe,EACf,OAA2D;IAE3D,OAAO;QACL,IAAI;QACJ,OAAO;QACP,OAAO;QACP,KAAK,EAAE,OAAO,EAAE,KAAK;QACrB,IAAI,EAAE,OAAO,EAAE,IAAI;KACpB,CAAC;AACJ,CAAC"}
|
package/dist/types.schema.d.ts
CHANGED
|
@@ -67,19 +67,31 @@ export declare function createResultSchema<T extends z.ZodTypeAny, E extends z.Z
|
|
|
67
67
|
}, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
68
68
|
ok: z.ZodLiteral<true>;
|
|
69
69
|
data: T;
|
|
70
|
-
}>, any> extends infer T_1 ? { [k in keyof T_1]:
|
|
70
|
+
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
71
71
|
ok: z.ZodLiteral<true>;
|
|
72
72
|
data: T;
|
|
73
|
-
}>
|
|
73
|
+
}>, any>[k]; } : never, z.baseObjectInputType<{
|
|
74
|
+
ok: z.ZodLiteral<true>;
|
|
75
|
+
data: T;
|
|
76
|
+
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
|
|
77
|
+
ok: z.ZodLiteral<true>;
|
|
78
|
+
data: T;
|
|
79
|
+
}>[k_1]; } : never>, z.ZodObject<{
|
|
74
80
|
ok: z.ZodLiteral<false>;
|
|
75
81
|
error: E;
|
|
76
82
|
}, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
77
83
|
ok: z.ZodLiteral<false>;
|
|
78
84
|
error: E;
|
|
79
|
-
}>, any> extends infer T_3 ? { [k_2 in keyof T_3]:
|
|
85
|
+
}>, any> extends infer T_3 ? { [k_2 in keyof T_3]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
86
|
+
ok: z.ZodLiteral<false>;
|
|
87
|
+
error: E;
|
|
88
|
+
}>, any>[k_2]; } : never, z.baseObjectInputType<{
|
|
89
|
+
ok: z.ZodLiteral<false>;
|
|
90
|
+
error: E;
|
|
91
|
+
}> extends infer T_4 ? { [k_3 in keyof T_4]: z.baseObjectInputType<{
|
|
80
92
|
ok: z.ZodLiteral<false>;
|
|
81
93
|
error: E;
|
|
82
|
-
}>
|
|
94
|
+
}>[k_3]; } : never>]>;
|
|
83
95
|
/**
|
|
84
96
|
* Pre-built Result schema with unknown data and ServiceError.
|
|
85
97
|
* Useful for generic validation before type narrowing.
|
|
@@ -224,7 +236,55 @@ export declare function createKVResponseSchema<T extends z.ZodTypeAny>(dataSchem
|
|
|
224
236
|
lastModified?: string | undefined;
|
|
225
237
|
contentLength?: number | undefined;
|
|
226
238
|
}>;
|
|
227
|
-
}>, any> extends infer T_1 ? { [k in keyof T_1]:
|
|
239
|
+
}>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
|
|
240
|
+
/** The data payload */
|
|
241
|
+
data: T;
|
|
242
|
+
/** Response headers with metadata */
|
|
243
|
+
headers: z.ZodObject<{
|
|
244
|
+
/** ETag for conditional requests */
|
|
245
|
+
etag: z.ZodOptional<z.ZodString>;
|
|
246
|
+
/** Content type of the stored value */
|
|
247
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
248
|
+
/** Last modification timestamp */
|
|
249
|
+
lastModified: z.ZodOptional<z.ZodString>;
|
|
250
|
+
/** Content length in bytes */
|
|
251
|
+
contentLength: z.ZodOptional<z.ZodNumber>;
|
|
252
|
+
}, "strip", z.ZodTypeAny, {
|
|
253
|
+
etag?: string | undefined;
|
|
254
|
+
contentType?: string | undefined;
|
|
255
|
+
lastModified?: string | undefined;
|
|
256
|
+
contentLength?: number | undefined;
|
|
257
|
+
}, {
|
|
258
|
+
etag?: string | undefined;
|
|
259
|
+
contentType?: string | undefined;
|
|
260
|
+
lastModified?: string | undefined;
|
|
261
|
+
contentLength?: number | undefined;
|
|
262
|
+
}>;
|
|
263
|
+
}>, any>[k]; } : never, z.baseObjectInputType<{
|
|
264
|
+
/** The data payload */
|
|
265
|
+
data: T;
|
|
266
|
+
/** Response headers with metadata */
|
|
267
|
+
headers: z.ZodObject<{
|
|
268
|
+
/** ETag for conditional requests */
|
|
269
|
+
etag: z.ZodOptional<z.ZodString>;
|
|
270
|
+
/** Content type of the stored value */
|
|
271
|
+
contentType: z.ZodOptional<z.ZodString>;
|
|
272
|
+
/** Last modification timestamp */
|
|
273
|
+
lastModified: z.ZodOptional<z.ZodString>;
|
|
274
|
+
/** Content length in bytes */
|
|
275
|
+
contentLength: z.ZodOptional<z.ZodNumber>;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
etag?: string | undefined;
|
|
278
|
+
contentType?: string | undefined;
|
|
279
|
+
lastModified?: string | undefined;
|
|
280
|
+
contentLength?: number | undefined;
|
|
281
|
+
}, {
|
|
282
|
+
etag?: string | undefined;
|
|
283
|
+
contentType?: string | undefined;
|
|
284
|
+
lastModified?: string | undefined;
|
|
285
|
+
contentLength?: number | undefined;
|
|
286
|
+
}>;
|
|
287
|
+
}> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
|
|
228
288
|
/** The data payload */
|
|
229
289
|
data: T;
|
|
230
290
|
/** Response headers with metadata */
|
|
@@ -248,7 +308,7 @@ export declare function createKVResponseSchema<T extends z.ZodTypeAny>(dataSchem
|
|
|
248
308
|
lastModified?: string | undefined;
|
|
249
309
|
contentLength?: number | undefined;
|
|
250
310
|
}>;
|
|
251
|
-
}>
|
|
311
|
+
}>[k_1]; } : never>;
|
|
252
312
|
/**
|
|
253
313
|
* Generic KVResponse schema with unknown data.
|
|
254
314
|
* Useful for generic validation before type narrowing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.schema.d.ts","sourceRoot":"","sources":["../src/types.schema.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAMD;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B,kFAAkF;;IAElF,mCAAmC;;IAEnC,0DAA0D;;IAE1D,wFAAwF;;IAExF,qFAAqF;;;;;;;;;;;;;;EAErF,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAMlE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,UAAU,EAC/E,UAAU,EAAE,CAAC,EACb,WAAW,GAAE,CAAsC
|
|
1
|
+
{"version":3,"file":"types.schema.d.ts","sourceRoot":"","sources":["../src/types.schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DataVaultService - Encrypted key-value storage service implementation.
|
|
3
|
+
*
|
|
4
|
+
* Platform-agnostic encrypted KV service that wraps KVService internally.
|
|
5
|
+
* Uses dependency injection via VaultCrypto for WASM crypto operations
|
|
6
|
+
* and DataVaultServiceConfig for platform dependencies.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - Extends BaseService (not KVService)
|
|
10
|
+
* - Wraps two KV instances: dataKV (prefix "vault/") and keyKV (prefix "keys/")
|
|
11
|
+
* - Master key and encryption identity live in memory only (cleared on lock)
|
|
12
|
+
*/
|
|
13
|
+
import { BaseService } from "../base/BaseService";
|
|
14
|
+
import { Result } from "../types";
|
|
15
|
+
import type { IKVService } from "../kv/IKVService";
|
|
16
|
+
import type { IDataVaultService } from "./IDataVaultService";
|
|
17
|
+
import { DataVaultConfig, VaultPutOptions, VaultGetOptions, VaultListOptions, VaultGrantOptions, VaultEntry, VaultError } from "./types";
|
|
18
|
+
/**
|
|
19
|
+
* Crypto operations interface - implementations provided by WASM bindings.
|
|
20
|
+
* Passed via DataVaultServiceConfig to keep the service platform-agnostic.
|
|
21
|
+
*/
|
|
22
|
+
export interface VaultCrypto {
|
|
23
|
+
encrypt(key: Uint8Array, plaintext: Uint8Array): Uint8Array;
|
|
24
|
+
decrypt(key: Uint8Array, blob: Uint8Array): Uint8Array;
|
|
25
|
+
deriveKey(signature: Uint8Array, salt: Uint8Array, info: Uint8Array): Uint8Array;
|
|
26
|
+
x25519FromSeed(seed: Uint8Array): {
|
|
27
|
+
publicKey: Uint8Array;
|
|
28
|
+
privateKey: Uint8Array;
|
|
29
|
+
};
|
|
30
|
+
x25519Dh(privateKey: Uint8Array, publicKey: Uint8Array): Uint8Array;
|
|
31
|
+
randomBytes(length: number): Uint8Array;
|
|
32
|
+
sha256(data: Uint8Array): Uint8Array;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Extended config used internally by DataVaultService.
|
|
36
|
+
* Includes crypto operations and TinyCloud instance references.
|
|
37
|
+
*/
|
|
38
|
+
interface DataVaultServiceConfig extends DataVaultConfig {
|
|
39
|
+
[key: string]: unknown;
|
|
40
|
+
/** Crypto operations (WASM bindings) */
|
|
41
|
+
crypto: VaultCrypto;
|
|
42
|
+
/** TinyCloud instance for space/kv/delegation operations */
|
|
43
|
+
tc: {
|
|
44
|
+
kv: IKVService;
|
|
45
|
+
ensurePublicSpace(): Promise<Result<void>>;
|
|
46
|
+
publicKV: IKVService;
|
|
47
|
+
readPublicSpace<T>(host: string, spaceId: string, key: string): Promise<Result<T>>;
|
|
48
|
+
makePublicSpaceId(address: string, chainId: number): string;
|
|
49
|
+
did: string;
|
|
50
|
+
address: string;
|
|
51
|
+
chainId: number;
|
|
52
|
+
hosts: string[];
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Data Vault service implementation.
|
|
57
|
+
*
|
|
58
|
+
* Provides encrypted key-value storage with client-side encryption,
|
|
59
|
+
* key management, and sharing via X25519 grants.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // Unlock the vault
|
|
64
|
+
* await vault.unlock(signer);
|
|
65
|
+
*
|
|
66
|
+
* // Store encrypted data
|
|
67
|
+
* await vault.put('secret/notes', { content: 'Hello' });
|
|
68
|
+
*
|
|
69
|
+
* // Retrieve and decrypt
|
|
70
|
+
* const entry = await vault.get<{ content: string }>('secret/notes');
|
|
71
|
+
* if (entry.ok) {
|
|
72
|
+
* console.log(entry.data.value.content); // 'Hello'
|
|
73
|
+
* }
|
|
74
|
+
*
|
|
75
|
+
* // Share with another user
|
|
76
|
+
* await vault.grant('secret/notes', recipientDID);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export declare class DataVaultService extends BaseService implements IDataVaultService {
|
|
80
|
+
/**
|
|
81
|
+
* Service identifier for registration.
|
|
82
|
+
*/
|
|
83
|
+
static readonly serviceName = "vault";
|
|
84
|
+
/**
|
|
85
|
+
* Service configuration.
|
|
86
|
+
*/
|
|
87
|
+
protected _config: DataVaultServiceConfig;
|
|
88
|
+
private masterKey;
|
|
89
|
+
private encryptionIdentity;
|
|
90
|
+
private _isUnlocked;
|
|
91
|
+
private vaultConfig;
|
|
92
|
+
/**
|
|
93
|
+
* Create a new DataVaultService instance.
|
|
94
|
+
*
|
|
95
|
+
* @param config - Service configuration including crypto and tc references
|
|
96
|
+
*/
|
|
97
|
+
constructor(config: DataVaultServiceConfig);
|
|
98
|
+
/**
|
|
99
|
+
* Get the service configuration.
|
|
100
|
+
*/
|
|
101
|
+
get config(): DataVaultServiceConfig;
|
|
102
|
+
/**
|
|
103
|
+
* Whether the vault is currently unlocked.
|
|
104
|
+
*/
|
|
105
|
+
get isUnlocked(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* The vault's public encryption key (X25519).
|
|
108
|
+
* Throws if vault is locked.
|
|
109
|
+
*/
|
|
110
|
+
get publicKey(): Uint8Array;
|
|
111
|
+
/**
|
|
112
|
+
* Convenience accessor for crypto operations.
|
|
113
|
+
*/
|
|
114
|
+
private get crypto();
|
|
115
|
+
/**
|
|
116
|
+
* Convenience accessor for TinyCloud instance.
|
|
117
|
+
*/
|
|
118
|
+
private get tc();
|
|
119
|
+
/**
|
|
120
|
+
* Get the host URL.
|
|
121
|
+
*/
|
|
122
|
+
private get host();
|
|
123
|
+
/**
|
|
124
|
+
* Unlock the vault. Triggers wallet signatures to derive keys.
|
|
125
|
+
*
|
|
126
|
+
* 1. Signs a deterministic message to derive the master key
|
|
127
|
+
* 2. Signs a second message to derive the X25519 encryption identity
|
|
128
|
+
* 3. Ensures public space exists and publishes the public key
|
|
129
|
+
*
|
|
130
|
+
* @param signer - Object with signMessage method (wallet/key signer)
|
|
131
|
+
*/
|
|
132
|
+
unlock(signer: {
|
|
133
|
+
signMessage(message: string): Promise<string>;
|
|
134
|
+
} | unknown): Promise<Result<void, VaultError>>;
|
|
135
|
+
/**
|
|
136
|
+
* Lock the vault, clearing all key material from memory.
|
|
137
|
+
*/
|
|
138
|
+
lock(): void;
|
|
139
|
+
/**
|
|
140
|
+
* Called when SDK signs out. Locks the vault and aborts operations.
|
|
141
|
+
*/
|
|
142
|
+
onSignOut(): void;
|
|
143
|
+
/**
|
|
144
|
+
* Encrypt and store a value at the given key.
|
|
145
|
+
*
|
|
146
|
+
* @param key - The key to store under
|
|
147
|
+
* @param value - The value to encrypt and store
|
|
148
|
+
* @param options - Optional put configuration
|
|
149
|
+
*/
|
|
150
|
+
put(key: string, value: unknown, options?: VaultPutOptions): Promise<Result<void, VaultError>>;
|
|
151
|
+
/**
|
|
152
|
+
* Retrieve and decrypt a value by key.
|
|
153
|
+
*
|
|
154
|
+
* @param key - The key to retrieve
|
|
155
|
+
* @param options - Optional get configuration
|
|
156
|
+
* @returns Result with the decrypted entry
|
|
157
|
+
*/
|
|
158
|
+
get<T = unknown>(key: string, options?: VaultGetOptions<T>): Promise<Result<VaultEntry<T>, VaultError>>;
|
|
159
|
+
/**
|
|
160
|
+
* Delete an encrypted key.
|
|
161
|
+
* Removes both the encrypted value and the key blob.
|
|
162
|
+
*
|
|
163
|
+
* @param key - The key to delete
|
|
164
|
+
*/
|
|
165
|
+
delete(key: string): Promise<Result<void, VaultError>>;
|
|
166
|
+
/**
|
|
167
|
+
* List vault keys with optional prefix filtering.
|
|
168
|
+
*
|
|
169
|
+
* @param options - Optional list configuration
|
|
170
|
+
* @returns Result with array of key names (vault/ prefix stripped)
|
|
171
|
+
*/
|
|
172
|
+
list(options?: VaultListOptions): Promise<Result<string[], VaultError>>;
|
|
173
|
+
/**
|
|
174
|
+
* Get envelope metadata for a key without decrypting the value.
|
|
175
|
+
*
|
|
176
|
+
* @param key - The key to inspect
|
|
177
|
+
* @returns Result with metadata headers
|
|
178
|
+
*/
|
|
179
|
+
head(key: string): Promise<Result<Record<string, string>, VaultError>>;
|
|
180
|
+
/**
|
|
181
|
+
* Encrypt and store multiple entries.
|
|
182
|
+
*
|
|
183
|
+
* @param entries - Array of key/value pairs with optional per-entry options
|
|
184
|
+
* @returns Array of results, one per entry
|
|
185
|
+
*/
|
|
186
|
+
putMany(entries: Array<{
|
|
187
|
+
key: string;
|
|
188
|
+
value: unknown;
|
|
189
|
+
options?: VaultPutOptions;
|
|
190
|
+
}>): Promise<Result<void, VaultError>[]>;
|
|
191
|
+
/**
|
|
192
|
+
* Retrieve and decrypt multiple keys.
|
|
193
|
+
*
|
|
194
|
+
* @param keys - Array of keys to retrieve
|
|
195
|
+
* @param options - Optional get configuration applied to all entries
|
|
196
|
+
* @returns Array of results, one per key
|
|
197
|
+
*/
|
|
198
|
+
getMany<T = unknown>(keys: string[], options?: VaultGetOptions<T>): Promise<Result<VaultEntry<T>, VaultError>[]>;
|
|
199
|
+
/**
|
|
200
|
+
* Grant access to a vault key for another user.
|
|
201
|
+
* Re-encrypts the data key to the recipient's public key via X25519 DH.
|
|
202
|
+
*
|
|
203
|
+
* @param key - The key to share
|
|
204
|
+
* @param recipientDID - The recipient's primary DID (did:pkh:...)
|
|
205
|
+
* @param options - Optional grant configuration
|
|
206
|
+
*/
|
|
207
|
+
grant(key: string, recipientDID: string, options?: VaultGrantOptions): Promise<Result<void, VaultError>>;
|
|
208
|
+
/**
|
|
209
|
+
* Retrieve and decrypt a value shared by another user.
|
|
210
|
+
*
|
|
211
|
+
* @param grantorDID - The DID of the user who shared the data
|
|
212
|
+
* @param key - The key that was shared
|
|
213
|
+
* @param options - Optional get configuration
|
|
214
|
+
* @returns Result with the decrypted entry
|
|
215
|
+
*/
|
|
216
|
+
getShared<T = unknown>(grantorDID: string, key: string, options?: VaultGetOptions<T>): Promise<Result<VaultEntry<T>, VaultError>>;
|
|
217
|
+
/**
|
|
218
|
+
* Resolve another user's public encryption key from their DID.
|
|
219
|
+
*
|
|
220
|
+
* @param did - The DID to resolve (did:pkh:eip155:{chainId}:{address})
|
|
221
|
+
* @returns Result with the public key bytes
|
|
222
|
+
*/
|
|
223
|
+
resolvePublicKey(did: string): Promise<Result<Uint8Array, VaultError>>;
|
|
224
|
+
/**
|
|
225
|
+
* List DIDs that have been granted access to a key.
|
|
226
|
+
*
|
|
227
|
+
* @param key - The key to list grants for
|
|
228
|
+
* @returns Result with array of recipient DIDs
|
|
229
|
+
*/
|
|
230
|
+
listGrants(key: string): Promise<Result<string[], VaultError>>;
|
|
231
|
+
/**
|
|
232
|
+
* Revoke a previously issued grant.
|
|
233
|
+
*
|
|
234
|
+
* This performs a full key rotation:
|
|
235
|
+
* 1. Lists current grantees
|
|
236
|
+
* 2. Removes the revoked recipient
|
|
237
|
+
* 3. Re-encrypts the value with a new entry key
|
|
238
|
+
* 4. Re-issues grants to remaining recipients
|
|
239
|
+
*
|
|
240
|
+
* @param key - The key to revoke access to
|
|
241
|
+
* @param recipientDID - The recipient whose access to revoke
|
|
242
|
+
*/
|
|
243
|
+
revoke(key: string, recipientDID: string): Promise<Result<void, VaultError>>;
|
|
244
|
+
/**
|
|
245
|
+
* Parse a DID string to extract address and chainId.
|
|
246
|
+
* Expected format: did:pkh:eip155:{chainId}:{address}
|
|
247
|
+
*
|
|
248
|
+
* @param did - The DID to parse
|
|
249
|
+
* @returns Parsed address and chainId, or null if invalid
|
|
250
|
+
*/
|
|
251
|
+
private parseDID;
|
|
252
|
+
}
|
|
253
|
+
export {};
|
|
254
|
+
//# sourceMappingURL=DataVaultService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataVaultService.d.ts","sourceRoot":"","sources":["../../src/vault/DataVaultService.ts"],"names":[],"mappings":"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"}
|