@tinycloud/sdk-services 1.6.0 → 2.0.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/duckdb/DuckDbService.d.ts.map +1 -1
- package/dist/duckdb/DuckDbService.js +12 -4
- package/dist/duckdb/DuckDbService.js.map +1 -1
- package/dist/errors.d.ts +19 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +39 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/kv/KVService.d.ts +2 -0
- package/dist/kv/KVService.d.ts.map +1 -1
- package/dist/kv/KVService.js +83 -1
- package/dist/kv/KVService.js.map +1 -1
- package/dist/quota/TinyCloudQuota.d.ts +27 -0
- package/dist/quota/TinyCloudQuota.d.ts.map +1 -0
- package/dist/quota/TinyCloudQuota.js +31 -0
- package/dist/quota/TinyCloudQuota.js.map +1 -0
- package/dist/quota/index.d.ts +3 -0
- package/dist/quota/index.d.ts.map +1 -0
- package/dist/quota/index.js +2 -0
- package/dist/quota/index.js.map +1 -0
- package/dist/sql/SQLService.d.ts.map +1 -1
- package/dist/sql/SQLService.js +12 -4
- package/dist/sql/SQLService.js.map +1 -1
- package/dist/types.d.ts +11 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/dist/vault/DataVaultService.d.ts +15 -6
- package/dist/vault/DataVaultService.d.ts.map +1 -1
- package/dist/vault/DataVaultService.js +92 -27
- package/dist/vault/DataVaultService.js.map +1 -1
- package/dist/vault/IDataVaultService.d.ts +10 -2
- package/dist/vault/IDataVaultService.d.ts.map +1 -1
- package/dist/vault/SignatureCache.d.ts +20 -0
- package/dist/vault/SignatureCache.d.ts.map +1 -0
- package/dist/vault/SignatureCache.js +167 -0
- package/dist/vault/SignatureCache.js.map +1 -0
- package/dist/vault/index.d.ts +2 -1
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +2 -1
- package/dist/vault/index.js.map +1 -1
- package/dist/vault/types.d.ts +9 -12
- package/dist/vault/types.d.ts.map +1 -1
- package/dist/vault/types.js +13 -11
- package/dist/vault/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Caches vault signatures in IndexedDB, encrypted with a
|
|
3
|
+
* non-extractable CryptoKey. Browser-only — no-ops in Node.
|
|
4
|
+
*/
|
|
5
|
+
const DB_NAME = "tinycloud-vault-cache";
|
|
6
|
+
const DB_VERSION = 1;
|
|
7
|
+
const STORE_NAME = "signatures";
|
|
8
|
+
const WRAP_KEY_ID = "__wrap_key__";
|
|
9
|
+
/** Check whether we're in a browser with IndexedDB + SubtleCrypto support. */
|
|
10
|
+
function isBrowser() {
|
|
11
|
+
try {
|
|
12
|
+
return (typeof indexedDB !== "undefined" &&
|
|
13
|
+
typeof crypto !== "undefined" &&
|
|
14
|
+
typeof crypto.subtle !== "undefined");
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Open (or create) the IndexedDB database. */
|
|
21
|
+
function openDB() {
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
const request = indexedDB.open(DB_NAME, DB_VERSION);
|
|
24
|
+
request.onupgradeneeded = () => {
|
|
25
|
+
const db = request.result;
|
|
26
|
+
if (!db.objectStoreNames.contains(STORE_NAME)) {
|
|
27
|
+
db.createObjectStore(STORE_NAME);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
request.onsuccess = () => resolve(request.result);
|
|
31
|
+
request.onerror = () => reject(request.error);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** Generic IDB get helper. */
|
|
35
|
+
function idbGet(db, key) {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
const tx = db.transaction(STORE_NAME, "readonly");
|
|
38
|
+
const store = tx.objectStore(STORE_NAME);
|
|
39
|
+
const req = store.get(key);
|
|
40
|
+
req.onsuccess = () => resolve(req.result);
|
|
41
|
+
req.onerror = () => reject(req.error);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Generic IDB put helper. */
|
|
45
|
+
function idbPut(db, key, value) {
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
const tx = db.transaction(STORE_NAME, "readwrite");
|
|
48
|
+
const store = tx.objectStore(STORE_NAME);
|
|
49
|
+
const req = store.put(value, key);
|
|
50
|
+
req.onsuccess = () => resolve();
|
|
51
|
+
req.onerror = () => reject(req.error);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/** Generic IDB delete helper. */
|
|
55
|
+
function idbDelete(db, key) {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
const tx = db.transaction(STORE_NAME, "readwrite");
|
|
58
|
+
const store = tx.objectStore(STORE_NAME);
|
|
59
|
+
const req = store.delete(key);
|
|
60
|
+
req.onsuccess = () => resolve();
|
|
61
|
+
req.onerror = () => reject(req.error);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/** List all keys in the store. */
|
|
65
|
+
function idbKeys(db) {
|
|
66
|
+
return new Promise((resolve, reject) => {
|
|
67
|
+
const tx = db.transaction(STORE_NAME, "readonly");
|
|
68
|
+
const store = tx.objectStore(STORE_NAME);
|
|
69
|
+
const req = store.getAllKeys();
|
|
70
|
+
req.onsuccess = () => resolve(req.result.filter((k) => typeof k === "string"));
|
|
71
|
+
req.onerror = () => reject(req.error);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get or create the non-extractable AES-GCM wrapping key.
|
|
76
|
+
* The key is stored directly in IndexedDB (structured-clone preserves CryptoKey).
|
|
77
|
+
*/
|
|
78
|
+
async function getWrapKey(db) {
|
|
79
|
+
const existing = await idbGet(db, WRAP_KEY_ID);
|
|
80
|
+
if (existing)
|
|
81
|
+
return existing;
|
|
82
|
+
const key = await crypto.subtle.generateKey({ name: "AES-GCM", length: 256 }, false, // non-extractable
|
|
83
|
+
["encrypt", "decrypt"]);
|
|
84
|
+
await idbPut(db, WRAP_KEY_ID, key);
|
|
85
|
+
return key;
|
|
86
|
+
}
|
|
87
|
+
/** Encrypt signature bytes with the wrap key. */
|
|
88
|
+
async function encryptSig(wrapKey, sigBytes) {
|
|
89
|
+
const iv = crypto.getRandomValues(new Uint8Array(12));
|
|
90
|
+
const ciphertext = new Uint8Array(await crypto.subtle.encrypt({ name: "AES-GCM", iv }, wrapKey, sigBytes));
|
|
91
|
+
return { iv, ciphertext };
|
|
92
|
+
}
|
|
93
|
+
/** Decrypt an encrypted entry back to signature bytes. */
|
|
94
|
+
async function decryptSig(wrapKey, entry) {
|
|
95
|
+
const plaintext = await crypto.subtle.decrypt({ name: "AES-GCM", iv: entry.iv }, wrapKey, entry.ciphertext);
|
|
96
|
+
return new Uint8Array(plaintext);
|
|
97
|
+
}
|
|
98
|
+
/** Cache key for a given spaceId. */
|
|
99
|
+
function cacheKey(spaceId) {
|
|
100
|
+
return `sig:${spaceId}`;
|
|
101
|
+
}
|
|
102
|
+
// ============================================================================
|
|
103
|
+
// Public API
|
|
104
|
+
// ============================================================================
|
|
105
|
+
/**
|
|
106
|
+
* Load a cached signature for the given spaceId.
|
|
107
|
+
* Returns null on cache miss or in non-browser environments.
|
|
108
|
+
*/
|
|
109
|
+
export async function loadCachedSignature(spaceId) {
|
|
110
|
+
if (!isBrowser())
|
|
111
|
+
return null;
|
|
112
|
+
try {
|
|
113
|
+
const db = await openDB();
|
|
114
|
+
const entry = await idbGet(db, cacheKey(spaceId));
|
|
115
|
+
if (!entry)
|
|
116
|
+
return null;
|
|
117
|
+
const wrapKey = await getWrapKey(db);
|
|
118
|
+
return await decryptSig(wrapKey, entry);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Cache a signature for the given spaceId.
|
|
126
|
+
* No-ops in non-browser environments.
|
|
127
|
+
*/
|
|
128
|
+
export async function cacheSignature(spaceId, sigBytes) {
|
|
129
|
+
if (!isBrowser())
|
|
130
|
+
return;
|
|
131
|
+
try {
|
|
132
|
+
const db = await openDB();
|
|
133
|
+
const wrapKey = await getWrapKey(db);
|
|
134
|
+
const encrypted = await encryptSig(wrapKey, sigBytes);
|
|
135
|
+
await idbPut(db, cacheKey(spaceId), encrypted);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Best-effort — swallow errors
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Clear cached signature(s).
|
|
143
|
+
* If spaceId is provided, clears only that entry; otherwise clears all.
|
|
144
|
+
*/
|
|
145
|
+
export async function clearSignatureCache(spaceId) {
|
|
146
|
+
if (!isBrowser())
|
|
147
|
+
return;
|
|
148
|
+
try {
|
|
149
|
+
const db = await openDB();
|
|
150
|
+
if (spaceId) {
|
|
151
|
+
await idbDelete(db, cacheKey(spaceId));
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
// Clear all sig entries but keep the wrap key
|
|
155
|
+
const keys = await idbKeys(db);
|
|
156
|
+
for (const k of keys) {
|
|
157
|
+
if (k.startsWith("sig:")) {
|
|
158
|
+
await idbDelete(db, k);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Best-effort
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=SignatureCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SignatureCache.js","sourceRoot":"","sources":["../../src/vault/SignatureCache.ts"],"names":[],"mappings":"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"}
|
package/dist/vault/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { IDataVaultService } from "./IDataVaultService";
|
|
7
7
|
export { DataVaultService, type VaultCrypto } from "./DataVaultService";
|
|
8
|
-
export {
|
|
8
|
+
export { VaultHeaders, VaultPublicSpaceKVActions, VaultVersionConfig, CURRENT_VAULT_VERSION, type DataVaultConfig, type VaultPutOptions, type VaultGetOptions, type VaultListOptions, type VaultGrantOptions, type VaultEntry, type VaultError, } from "./types";
|
|
9
9
|
export { createVaultCrypto, type WasmVaultFunctions } from "./createVaultCrypto";
|
|
10
|
+
export { clearSignatureCache } from "./SignatureCache";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/vault/index.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// Implementation
|
|
7
7
|
export { DataVaultService } from "./DataVaultService";
|
|
8
8
|
// Types
|
|
9
|
-
export {
|
|
9
|
+
export { VaultHeaders, VaultPublicSpaceKVActions, VaultVersionConfig, CURRENT_VAULT_VERSION, } from "./types";
|
|
10
10
|
export { createVaultCrypto } from "./createVaultCrypto";
|
|
11
|
+
export { clearSignatureCache } from "./SignatureCache";
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
package/dist/vault/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAExE,QAAQ;AACR,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vault/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAoB,MAAM,oBAAoB,CAAC;AAExE,QAAQ;AACR,OAAO,EACL,YAAY,EACZ,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GAQtB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAA2B,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/vault/types.d.ts
CHANGED
|
@@ -117,19 +117,16 @@ export type VaultError = VaultErrorInput & {
|
|
|
117
117
|
service: "vault";
|
|
118
118
|
message: string;
|
|
119
119
|
};
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
*/
|
|
123
|
-
export declare const
|
|
124
|
-
readonly
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
readonly HEAD: "tinycloud.vault/metadata";
|
|
129
|
-
readonly GRANT: "tinycloud.vault/grant";
|
|
130
|
-
readonly REVOKE: "tinycloud.vault/revoke";
|
|
120
|
+
/** KV actions the vault needs on the public space for key publishing. */
|
|
121
|
+
export declare const VaultPublicSpaceKVActions: readonly ["tinycloud.kv/get", "tinycloud.kv/put", "tinycloud.kv/metadata"];
|
|
122
|
+
/** Version-keyed signing message configuration for vault key derivation. */
|
|
123
|
+
export declare const VaultVersionConfig: {
|
|
124
|
+
readonly "1": {
|
|
125
|
+
readonly masterMessage: (spaceId: string) => string;
|
|
126
|
+
readonly identityMessage: "tinycloud-encryption-identity-v1";
|
|
127
|
+
};
|
|
131
128
|
};
|
|
132
|
-
export
|
|
129
|
+
export declare const CURRENT_VAULT_VERSION: "1";
|
|
133
130
|
/** Metadata header keys used in vault envelopes */
|
|
134
131
|
export declare const VaultHeaders: {
|
|
135
132
|
readonly VERSION: "x-vault-version";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,wEAAwE;IACxE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC,CAAC;IACtC,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;YAAE,GAAG,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,OAAO,CAAC;YAAE,EAAE,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE;gBAAE,IAAI,EAAE,CAAC,CAAA;aAAE,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;CACtI;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,sBAAsB;IACtB,KAAK,EAAE,CAAC,CAAC;IACT,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,sBAAsB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,eAAe,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"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"}
|
package/dist/vault/types.js
CHANGED
|
@@ -3,18 +3,20 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Type definitions for the Data Vault (encrypted KV) service operations.
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
/** KV actions the vault needs on the public space for key publishing. */
|
|
7
|
+
export const VaultPublicSpaceKVActions = [
|
|
8
|
+
"tinycloud.kv/get",
|
|
9
|
+
"tinycloud.kv/put",
|
|
10
|
+
"tinycloud.kv/metadata",
|
|
11
|
+
];
|
|
12
|
+
/** Version-keyed signing message configuration for vault key derivation. */
|
|
13
|
+
export const VaultVersionConfig = {
|
|
14
|
+
"1": {
|
|
15
|
+
masterMessage: (spaceId) => `tinycloud-vault-master-v1:${spaceId}`,
|
|
16
|
+
identityMessage: "tinycloud-encryption-identity-v1",
|
|
17
|
+
},
|
|
17
18
|
};
|
|
19
|
+
export const CURRENT_VAULT_VERSION = "1";
|
|
18
20
|
/** Metadata header keys used in vault envelopes */
|
|
19
21
|
export const VaultHeaders = {
|
|
20
22
|
VERSION: "x-vault-version",
|
package/dist/vault/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/vault/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyFH,yEAAyE;AACzE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,kBAAkB;IAClB,kBAAkB;IAClB,uBAAuB;CACf,CAAC;AAEX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,EAAE;QACH,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,6BAA6B,OAAO,EAAE;QAC1E,eAAe,EAAE,kCAAkC;KACpD;CACO,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,CAAC;AAElD,mDAAmD;AACnD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,sBAAsB;IACpC,GAAG,EAAE,aAAa;IAClB,YAAY,EAAE,sBAAsB;IACpC,aAAa,EAAE,uBAAuB;IACtC,OAAO,EAAE,iBAAiB;CAClB,CAAC"}
|