@sparkvault/sdk-mobile 4.6.4 → 4.7.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/types.d.ts +2 -0
- package/dist/vaults.d.ts +7 -1
- package/dist/vaults.js +23 -4
- package/dist/vaults.js.map +1 -1
- package/package.json +1 -1
- package/src/types.ts +2 -0
- package/src/vaults.ts +23 -4
package/dist/types.d.ts
CHANGED
|
@@ -215,6 +215,8 @@ export interface IdentityTokenClaims {
|
|
|
215
215
|
identity_type: VerifiedIdentityType;
|
|
216
216
|
verified_at: number;
|
|
217
217
|
method: string;
|
|
218
|
+
/** Site-scoped public avatar URL, present when the person has published one */
|
|
219
|
+
picture?: string;
|
|
218
220
|
}
|
|
219
221
|
/**
|
|
220
222
|
* A server-decided post-login nudge. Computed once per login (default mode);
|
package/dist/vaults.d.ts
CHANGED
|
@@ -57,7 +57,13 @@ export declare class MobileVaultsClient {
|
|
|
57
57
|
update(vaultId: string, request: UpdateVaultRequest): Promise<UpdateVaultResponse>;
|
|
58
58
|
/**
|
|
59
59
|
* Delete a vault and all its contents. Requires the vault's exact name as
|
|
60
|
-
* confirmation
|
|
60
|
+
* confirmation (case-sensitive).
|
|
61
|
+
*
|
|
62
|
+
* The name is sent base64(UTF-8) as `X-Confirm-Name-B64` so that vaults named
|
|
63
|
+
* with any Unicode (emoji, CJK, the U+202F in macOS-style names) are
|
|
64
|
+
* deletable — a raw header value throws before the request is sent for
|
|
65
|
+
* non-latin1 characters. The legacy raw header is included only when the name
|
|
66
|
+
* is latin1-safe, for older API servers.
|
|
61
67
|
*/
|
|
62
68
|
delete(vaultId: string, name: string): Promise<void>;
|
|
63
69
|
unseal(vaultId: string, request: UnsealVaultRequest): Promise<UnsealVaultResponse>;
|
package/dist/vaults.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { validateVaultId } from './validation.js';
|
|
2
|
+
import { base64EncodeUtf8 } from './encoding.js';
|
|
3
|
+
/** A string every char of which fits in a single header byte (latin1). */
|
|
4
|
+
function isLatin1(value) {
|
|
5
|
+
for (let i = 0; i < value.length; i++) {
|
|
6
|
+
if (value.charCodeAt(i) > 0xff)
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
2
11
|
export class MobileVaultsClient {
|
|
3
12
|
constructor(http) {
|
|
4
13
|
this.http = http;
|
|
@@ -31,16 +40,26 @@ export class MobileVaultsClient {
|
|
|
31
40
|
}
|
|
32
41
|
/**
|
|
33
42
|
* Delete a vault and all its contents. Requires the vault's exact name as
|
|
34
|
-
* confirmation
|
|
43
|
+
* confirmation (case-sensitive).
|
|
44
|
+
*
|
|
45
|
+
* The name is sent base64(UTF-8) as `X-Confirm-Name-B64` so that vaults named
|
|
46
|
+
* with any Unicode (emoji, CJK, the U+202F in macOS-style names) are
|
|
47
|
+
* deletable — a raw header value throws before the request is sent for
|
|
48
|
+
* non-latin1 characters. The legacy raw header is included only when the name
|
|
49
|
+
* is latin1-safe, for older API servers.
|
|
35
50
|
*/
|
|
36
51
|
async delete(vaultId, name) {
|
|
37
52
|
validateVaultId(vaultId);
|
|
38
53
|
if (!name) {
|
|
39
54
|
throw new Error('Vault name is required to confirm deletion');
|
|
40
55
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
56
|
+
const headers = {
|
|
57
|
+
'X-Confirm-Name-B64': base64EncodeUtf8(name),
|
|
58
|
+
};
|
|
59
|
+
if (isLatin1(name)) {
|
|
60
|
+
headers['X-Confirm-Name'] = name;
|
|
61
|
+
}
|
|
62
|
+
await this.http.delete(`/vaults/${vaultId}`, { headers });
|
|
44
63
|
}
|
|
45
64
|
async unseal(vaultId, request) {
|
|
46
65
|
validateVaultId(vaultId);
|
package/dist/vaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/types.ts
CHANGED
package/src/vaults.ts
CHANGED
|
@@ -10,6 +10,15 @@ import type {
|
|
|
10
10
|
Vault,
|
|
11
11
|
} from './types.js';
|
|
12
12
|
import { validateVaultId } from './validation.js';
|
|
13
|
+
import { base64EncodeUtf8 } from './encoding.js';
|
|
14
|
+
|
|
15
|
+
/** A string every char of which fits in a single header byte (latin1). */
|
|
16
|
+
function isLatin1(value: string): boolean {
|
|
17
|
+
for (let i = 0; i < value.length; i++) {
|
|
18
|
+
if (value.charCodeAt(i) > 0xff) return false;
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
13
22
|
|
|
14
23
|
export interface SharingConfig {
|
|
15
24
|
vault_id: string;
|
|
@@ -103,16 +112,26 @@ export class MobileVaultsClient {
|
|
|
103
112
|
|
|
104
113
|
/**
|
|
105
114
|
* Delete a vault and all its contents. Requires the vault's exact name as
|
|
106
|
-
* confirmation
|
|
115
|
+
* confirmation (case-sensitive).
|
|
116
|
+
*
|
|
117
|
+
* The name is sent base64(UTF-8) as `X-Confirm-Name-B64` so that vaults named
|
|
118
|
+
* with any Unicode (emoji, CJK, the U+202F in macOS-style names) are
|
|
119
|
+
* deletable — a raw header value throws before the request is sent for
|
|
120
|
+
* non-latin1 characters. The legacy raw header is included only when the name
|
|
121
|
+
* is latin1-safe, for older API servers.
|
|
107
122
|
*/
|
|
108
123
|
async delete(vaultId: string, name: string): Promise<void> {
|
|
109
124
|
validateVaultId(vaultId);
|
|
110
125
|
if (!name) {
|
|
111
126
|
throw new Error('Vault name is required to confirm deletion');
|
|
112
127
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
128
|
+
const headers: Record<string, string> = {
|
|
129
|
+
'X-Confirm-Name-B64': base64EncodeUtf8(name),
|
|
130
|
+
};
|
|
131
|
+
if (isLatin1(name)) {
|
|
132
|
+
headers['X-Confirm-Name'] = name;
|
|
133
|
+
}
|
|
134
|
+
await this.http.delete(`/vaults/${vaultId}`, { headers });
|
|
116
135
|
}
|
|
117
136
|
|
|
118
137
|
async unseal(vaultId: string, request: UnsealVaultRequest): Promise<UnsealVaultResponse> {
|