@sparkvault/sdk-mobile 6.0.2 → 7.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.
Files changed (156) hide show
  1. package/README.md +5 -5
  2. package/dist/account.d.ts +4 -3
  3. package/dist/account.js +16 -11
  4. package/dist/account.js.map +1 -1
  5. package/dist/app-sdk/email-address.d.ts +37 -0
  6. package/dist/app-sdk/email-address.js +91 -0
  7. package/dist/app-sdk/email-address.js.map +1 -0
  8. package/dist/app-sdk/encoding.d.ts +64 -0
  9. package/dist/app-sdk/encoding.js +245 -0
  10. package/dist/app-sdk/encoding.js.map +1 -0
  11. package/dist/app-sdk/entropy-contract.d.ts +33 -0
  12. package/dist/app-sdk/entropy-contract.js +51 -0
  13. package/dist/app-sdk/entropy-contract.js.map +1 -0
  14. package/dist/app-sdk/filename.d.ts +93 -0
  15. package/dist/app-sdk/filename.js +161 -0
  16. package/dist/app-sdk/filename.js.map +1 -0
  17. package/dist/app-sdk/forge-url.d.ts +107 -0
  18. package/dist/app-sdk/forge-url.js +222 -0
  19. package/dist/app-sdk/forge-url.js.map +1 -0
  20. package/dist/app-sdk/ids.d.ts +48 -0
  21. package/dist/app-sdk/ids.js +65 -0
  22. package/dist/app-sdk/ids.js.map +1 -0
  23. package/dist/app-sdk/ingot-access-log.d.ts +29 -0
  24. package/dist/app-sdk/ingot-access-log.js +49 -0
  25. package/dist/app-sdk/ingot-access-log.js.map +1 -0
  26. package/dist/app-sdk/phone.d.ts +37 -0
  27. package/dist/app-sdk/phone.js +134 -0
  28. package/dist/app-sdk/phone.js.map +1 -0
  29. package/dist/app-sdk/platform-domains.d.ts +41 -0
  30. package/dist/app-sdk/platform-domains.js +82 -0
  31. package/dist/app-sdk/platform-domains.js.map +1 -0
  32. package/dist/app-sdk/request-path.d.ts +49 -0
  33. package/dist/app-sdk/request-path.js +81 -0
  34. package/dist/app-sdk/request-path.js.map +1 -0
  35. package/dist/app-sdk/transfer-retry.d.ts +298 -0
  36. package/dist/app-sdk/transfer-retry.js +535 -0
  37. package/dist/app-sdk/transfer-retry.js.map +1 -0
  38. package/dist/app-sdk/transient.d.ts +23 -0
  39. package/dist/app-sdk/transient.js +29 -0
  40. package/dist/app-sdk/transient.js.map +1 -0
  41. package/dist/app-sdk/upload-publication.d.ts +81 -0
  42. package/dist/app-sdk/upload-publication.js +93 -0
  43. package/dist/app-sdk/upload-publication.js.map +1 -0
  44. package/dist/app-sdk/vat-refusal.d.ts +66 -0
  45. package/dist/app-sdk/vat-refusal.js +69 -0
  46. package/dist/app-sdk/vat-refusal.js.map +1 -0
  47. package/dist/billing.d.ts +9 -17
  48. package/dist/billing.js +14 -17
  49. package/dist/billing.js.map +1 -1
  50. package/dist/config.d.ts +33 -1
  51. package/dist/config.js +23 -17
  52. package/dist/config.js.map +1 -1
  53. package/dist/encoding.d.ts +30 -4
  54. package/dist/encoding.js +89 -83
  55. package/dist/encoding.js.map +1 -1
  56. package/dist/entropy.d.ts +25 -4
  57. package/dist/entropy.js +62 -15
  58. package/dist/entropy.js.map +1 -1
  59. package/dist/entropy.test-d.d.ts +40 -0
  60. package/dist/entropy.test-d.js +12 -0
  61. package/dist/entropy.test-d.js.map +1 -0
  62. package/dist/errors.d.ts +105 -21
  63. package/dist/errors.js +74 -28
  64. package/dist/errors.js.map +1 -1
  65. package/dist/folders.js +8 -7
  66. package/dist/folders.js.map +1 -1
  67. package/dist/http.d.ts +57 -15
  68. package/dist/http.js +125 -138
  69. package/dist/http.js.map +1 -1
  70. package/dist/identity-dialog.js +4 -30
  71. package/dist/identity-dialog.js.map +1 -1
  72. package/dist/identity-input.d.ts +39 -0
  73. package/dist/identity-input.js +59 -0
  74. package/dist/identity-input.js.map +1 -0
  75. package/dist/index.d.ts +8 -7
  76. package/dist/index.js +5 -4
  77. package/dist/index.js.map +1 -1
  78. package/dist/ingots.d.ts +77 -32
  79. package/dist/ingots.js +152 -136
  80. package/dist/ingots.js.map +1 -1
  81. package/dist/mutex.d.ts +1 -2
  82. package/dist/mutex.js +0 -6
  83. package/dist/mutex.js.map +1 -1
  84. package/dist/notify.d.ts +7 -2
  85. package/dist/notify.js +12 -15
  86. package/dist/notify.js.map +1 -1
  87. package/dist/notify.test-d.d.ts +3 -2
  88. package/dist/notify.test-d.js +1 -1
  89. package/dist/products/identity.d.ts +5 -0
  90. package/dist/products/identity.js +40 -35
  91. package/dist/products/identity.js.map +1 -1
  92. package/dist/request-path.d.ts +32 -0
  93. package/dist/request-path.js +35 -0
  94. package/dist/request-path.js.map +1 -0
  95. package/dist/sparks.js +16 -15
  96. package/dist/sparks.js.map +1 -1
  97. package/dist/tus.d.ts +198 -16
  98. package/dist/tus.js +816 -327
  99. package/dist/tus.js.map +1 -1
  100. package/dist/types.d.ts +183 -23
  101. package/dist/users.d.ts +12 -5
  102. package/dist/users.js +27 -19
  103. package/dist/users.js.map +1 -1
  104. package/dist/validation.d.ts +20 -5
  105. package/dist/validation.js +29 -27
  106. package/dist/validation.js.map +1 -1
  107. package/dist/vaults.d.ts +34 -83
  108. package/dist/vaults.js +64 -44
  109. package/dist/vaults.js.map +1 -1
  110. package/dist/vaults.test-d.d.ts +22 -0
  111. package/dist/vaults.test-d.js +14 -0
  112. package/dist/vaults.test-d.js.map +1 -0
  113. package/package.json +4 -2
  114. package/src/account.ts +16 -11
  115. package/src/app-sdk/email-address.js +94 -0
  116. package/src/app-sdk/encoding.js +250 -0
  117. package/src/app-sdk/entropy-contract.js +56 -0
  118. package/src/app-sdk/filename.js +174 -0
  119. package/src/app-sdk/forge-url.js +224 -0
  120. package/src/app-sdk/ids.js +71 -0
  121. package/src/app-sdk/ingot-access-log.js +51 -0
  122. package/src/app-sdk/phone.js +139 -0
  123. package/src/app-sdk/platform-domains.js +99 -0
  124. package/src/app-sdk/request-path.js +81 -0
  125. package/src/app-sdk/transfer-retry.js +563 -0
  126. package/src/app-sdk/transient.js +30 -0
  127. package/src/app-sdk/upload-publication.js +102 -0
  128. package/src/app-sdk/vat-refusal.js +74 -0
  129. package/src/billing.ts +16 -25
  130. package/src/config.ts +56 -23
  131. package/src/encoding.ts +91 -103
  132. package/src/entropy.test-d.ts +47 -0
  133. package/src/entropy.ts +86 -20
  134. package/src/errors.ts +135 -38
  135. package/src/folders.ts +8 -7
  136. package/src/http.ts +145 -150
  137. package/src/identity-dialog.tsx +4 -37
  138. package/src/identity-input.ts +70 -0
  139. package/src/index.ts +13 -3
  140. package/src/ingots.ts +225 -180
  141. package/src/mutex.ts +1 -8
  142. package/src/notify.test-d.ts +3 -1
  143. package/src/notify.ts +19 -17
  144. package/src/products/identity.ts +45 -39
  145. package/src/request-path.ts +45 -0
  146. package/src/sparks.ts +16 -13
  147. package/src/tus.ts +1054 -408
  148. package/src/types.ts +181 -23
  149. package/src/users.ts +27 -17
  150. package/src/validation.ts +30 -24
  151. package/src/vaults.test-d.ts +29 -0
  152. package/src/vaults.ts +87 -153
  153. package/dist/platform-domains.generated.d.ts +0 -2
  154. package/dist/platform-domains.generated.js +0 -16
  155. package/dist/platform-domains.generated.js.map +0 -1
  156. package/src/platform-domains.generated.ts +0 -17
package/src/vaults.ts CHANGED
@@ -1,75 +1,33 @@
1
1
  import type { MobileHttpClient } from './http.js';
2
2
  import type {
3
+ AccessLogRetention,
3
4
  CreateVaultRequest,
4
5
  CreateVaultResponse,
6
+ DisableVaultSharingResponse,
7
+ EnableVaultSharingResponse,
5
8
  ListVaultsResponse,
6
9
  UnsealVaultRequest,
7
10
  UnsealVaultResponse,
11
+ UpdateAccessLogRetentionResponse,
8
12
  UpdateVaultRequest,
9
13
  UpdateVaultResponse,
14
+ UpdateVaultSharingResponse,
15
+ UploadConfig,
16
+ UploadConfigUpdate,
17
+ UploadPortalDisabled,
18
+ UploadPortalEnabled,
19
+ UploadWidgetDisabled,
20
+ UploadWidgetEnabled,
10
21
  Vault,
22
+ VaultSharingConfig,
23
+ VaultSharingOptions,
11
24
  } from './types.js';
12
25
  import { validateVaultId } from './validation.js';
13
26
  import { base64EncodeUtf8 } from './encoding.js';
27
+ import { apiPath } from './request-path.js';
14
28
 
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
- }
22
-
23
- export interface SharingConfig {
24
- vault_id: string;
25
- public_sharing_enabled: boolean;
26
- all_ingots_public: boolean;
27
- session_length_seconds: number | null;
28
- enabled_at: number | null;
29
- }
30
-
31
- export interface UploadConfig {
32
- vault_id: string;
33
- upload_portal_enabled: boolean;
34
- upload_portal_enabled_at: number | null;
35
- upload_widget_enabled: boolean;
36
- upload_widget_enabled_at: number | null;
37
- max_size_bytes: number | null;
38
- notification_email: string | null;
39
- portal_url?: string;
40
- }
41
-
42
- export interface UploadPortalEnabled {
43
- vault_id: string;
44
- upload_portal_enabled: true;
45
- enabled_at: number;
46
- portal_url: string;
47
- }
48
-
49
- export interface UploadWidgetEnabled {
50
- vault_id: string;
51
- upload_widget_enabled: true;
52
- enabled_at: number;
53
- }
54
-
55
- export interface UploadPortalDisabled {
56
- vault_id: string;
57
- upload_portal_enabled: false;
58
- disabled_at: number;
59
- }
60
-
61
- export interface UploadWidgetDisabled {
62
- vault_id: string;
63
- upload_widget_enabled: false;
64
- disabled_at: number;
65
- }
66
-
67
- export interface UploadConfigUpdate {
68
- vault_id: string;
69
- max_size_bytes: number;
70
- notification_email: string | null;
71
- updated_at: number;
72
- }
29
+ /** GET /v1/vaults' largest page (apps/api vaults/list.js maxLimit). */
30
+ const VAULT_LIST_PAGE_LIMIT = 500;
73
31
 
74
32
  export class MobileVaultsClient {
75
33
  private readonly http: MobileHttpClient;
@@ -79,7 +37,7 @@ export class MobileVaultsClient {
79
37
  }
80
38
 
81
39
  async create(request: CreateVaultRequest): Promise<CreateVaultResponse> {
82
- const response = await this.http.post<CreateVaultResponse>('/vaults', request);
40
+ const response = await this.http.post<CreateVaultResponse>(apiPath`/vaults`, request);
83
41
  return response.data;
84
42
  }
85
43
 
@@ -88,25 +46,38 @@ export class MobileVaultsClient {
88
46
  limit?: number;
89
47
  cursor?: string;
90
48
  }): Promise<ListVaultsResponse> {
91
- const params = new URLSearchParams();
92
- if (options?.status) params.append('status', options.status);
93
- if (options?.limit) params.append('limit', options.limit.toString());
94
- if (options?.cursor) params.append('cursor', options.cursor);
95
-
96
- const query = params.toString();
97
- const response = await this.http.get<ListVaultsResponse>(query ? `/vaults?${query}` : '/vaults');
49
+ const response = await this.http.get<ListVaultsResponse>(apiPath`/vaults`, {
50
+ query: { status: options?.status, limit: options?.limit || undefined, cursor: options?.cursor },
51
+ });
98
52
  return response.data;
99
53
  }
100
54
 
55
+ /**
56
+ * Every vault on the account, newest first. Follows next_cursor at the
57
+ * largest page size until the server reports no more — a page the server
58
+ * filtered down to nothing still carries a cursor. A failed page fails the
59
+ * listing: a vault picker must never show a silently partial account.
60
+ */
61
+ async listAll(options?: { status?: 'sealed' | 'unsealed' }): Promise<Vault[]> {
62
+ const vaults: Vault[] = [];
63
+ let cursor: string | undefined;
64
+ do {
65
+ const page = await this.list({ ...options, limit: VAULT_LIST_PAGE_LIMIT, cursor });
66
+ vaults.push(...page.vaults);
67
+ cursor = page.has_more ? page.next_cursor : undefined;
68
+ } while (cursor);
69
+ return vaults;
70
+ }
71
+
101
72
  async get(vaultId: string): Promise<Vault> {
102
73
  validateVaultId(vaultId);
103
- const response = await this.http.get<Vault>(`/vaults/${vaultId}`);
74
+ const response = await this.http.get<Vault>(apiPath`/vaults/${vaultId}`);
104
75
  return response.data;
105
76
  }
106
77
 
107
78
  async update(vaultId: string, request: UpdateVaultRequest): Promise<UpdateVaultResponse> {
108
79
  validateVaultId(vaultId);
109
- const response = await this.http.put<UpdateVaultResponse>(`/vaults/${vaultId}`, request);
80
+ const response = await this.http.put<UpdateVaultResponse>(apiPath`/vaults/${vaultId}`, request);
110
81
  return response.data;
111
82
  }
112
83
 
@@ -117,62 +88,58 @@ export class MobileVaultsClient {
117
88
  * The name is sent base64(UTF-8) as `X-Confirm-Name-B64` so that vaults named
118
89
  * with any Unicode (emoji, CJK, the U+202F in macOS-style names) are
119
90
  * 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.
91
+ * non-latin1 characters.
122
92
  */
123
93
  async delete(vaultId: string, name: string): Promise<void> {
124
94
  validateVaultId(vaultId);
125
95
  if (!name) {
126
96
  throw new Error('Vault name is required to confirm deletion');
127
97
  }
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 });
98
+ await this.http.delete(apiPath`/vaults/${vaultId}`, {
99
+ headers: { 'X-Confirm-Name-B64': base64EncodeUtf8(name) },
100
+ });
135
101
  }
136
102
 
137
103
  async unseal(vaultId: string, request: UnsealVaultRequest): Promise<UnsealVaultResponse> {
138
104
  validateVaultId(vaultId);
139
- const response = await this.http.post<UnsealVaultResponse>(`/vaults/${vaultId}/unseal`, request);
105
+ const response = await this.http.post<UnsealVaultResponse>(apiPath`/vaults/${vaultId}/unseal`, request);
140
106
  return response.data;
141
107
  }
142
108
 
109
+ /**
110
+ * Seal the vault: end every session of it, so every VAT minted for it stops
111
+ * working, whoever holds it. To end only the caller's own session, use
112
+ * `endSession`.
113
+ */
143
114
  async seal(vaultId: string): Promise<void> {
144
115
  validateVaultId(vaultId);
145
- await this.http.post(`/vaults/${vaultId}/seal`);
116
+ await this.http.post(apiPath`/vaults/${vaultId}/seal`);
117
+ }
118
+
119
+ /**
120
+ * End the session `vat` names, and no other session of the vault: every
121
+ * other holder keeps theirs. A VAT the server already refuses (an
122
+ * `isVatExpiredError` or a `vatRefusalReason` of VAT_INVALID) names a
123
+ * session that is already over.
124
+ */
125
+ async endSession(vaultId: string, vat: string): Promise<void> {
126
+ validateVaultId(vaultId);
127
+ await this.http.delete(apiPath`/vaults/${vaultId}/session`, { vat });
146
128
  }
147
129
 
148
- async getSharingConfig(vaultId: string): Promise<SharingConfig> {
130
+ async getSharingConfig(vaultId: string): Promise<VaultSharingConfig> {
149
131
  validateVaultId(vaultId);
150
- const response = await this.http.get<SharingConfig>(`/vaults/${vaultId}/sharing`);
132
+ const response = await this.http.get<VaultSharingConfig>(apiPath`/vaults/${vaultId}/sharing`);
151
133
  return response.data;
152
134
  }
153
135
 
154
136
  async enableSharing(
155
137
  vaultId: string,
156
138
  vmk: string,
157
- options?: {
158
- all_ingots_public?: boolean;
159
- session_length_seconds?: number;
160
- }
161
- ): Promise<{
162
- vault_id: string;
163
- public_sharing_enabled: boolean;
164
- all_ingots_public: boolean;
165
- session_length_seconds: number;
166
- enabled_at: number;
167
- }> {
139
+ options?: VaultSharingOptions
140
+ ): Promise<EnableVaultSharingResponse> {
168
141
  validateVaultId(vaultId);
169
- const response = await this.http.post<{
170
- vault_id: string;
171
- public_sharing_enabled: boolean;
172
- all_ingots_public: boolean;
173
- session_length_seconds: number;
174
- enabled_at: number;
175
- }>(`/vaults/${vaultId}/sharing/enable`, {
142
+ const response = await this.http.post<EnableVaultSharingResponse>(apiPath`/vaults/${vaultId}/sharing/enable`, {
176
143
  vmk,
177
144
  all_ingots_public: options?.all_ingots_public,
178
145
  session_length_seconds: options?.session_length_seconds,
@@ -180,72 +147,39 @@ export class MobileVaultsClient {
180
147
  return response.data;
181
148
  }
182
149
 
183
- async disableSharing(vaultId: string): Promise<{
184
- vault_id: string;
185
- public_sharing_enabled: false;
186
- disabled_at: number;
187
- shares_revoked: number;
188
- }> {
150
+ async disableSharing(vaultId: string): Promise<DisableVaultSharingResponse> {
189
151
  validateVaultId(vaultId);
190
- const response = await this.http.post<{
191
- vault_id: string;
192
- public_sharing_enabled: false;
193
- disabled_at: number;
194
- shares_revoked: number;
195
- }>(`/vaults/${vaultId}/sharing/disable`);
152
+ const response = await this.http.post<DisableVaultSharingResponse>(apiPath`/vaults/${vaultId}/sharing/disable`);
196
153
  return response.data;
197
154
  }
198
155
 
156
+ /**
157
+ * Update the vault's sharing policy. Making every ingot public publishes
158
+ * each file to anyone holding its URL, so the API accepts
159
+ * `all_ingots_public: true` only with a read-write VAT for this vault.
160
+ */
199
161
  async updateSharingConfig(
200
162
  vaultId: string,
201
- config: {
202
- all_ingots_public?: boolean;
203
- session_length_seconds?: number;
204
- }
205
- ): Promise<{
206
- vault_id: string;
207
- public_sharing_enabled: boolean;
208
- all_ingots_public: boolean;
209
- session_length_seconds: number;
210
- updated_at: number;
211
- }> {
163
+ config: VaultSharingOptions,
164
+ vat?: string
165
+ ): Promise<UpdateVaultSharingResponse> {
212
166
  validateVaultId(vaultId);
213
- const response = await this.http.put<{
214
- vault_id: string;
215
- public_sharing_enabled: boolean;
216
- all_ingots_public: boolean;
217
- session_length_seconds: number;
218
- updated_at: number;
219
- }>(`/vaults/${vaultId}/sharing`, config);
167
+ const response = await this.http.put<UpdateVaultSharingResponse>(apiPath`/vaults/${vaultId}/sharing`, config, { vat });
220
168
  return response.data;
221
169
  }
222
170
 
223
- async getAccessLogRetention(vaultId: string): Promise<{
224
- vault_id: string;
225
- access_log_retention_seconds: number;
226
- }> {
171
+ async getAccessLogRetention(vaultId: string): Promise<AccessLogRetention> {
227
172
  validateVaultId(vaultId);
228
- const response = await this.http.get<{
229
- vault_id: string;
230
- access_log_retention_seconds: number;
231
- }>(`/vaults/${vaultId}/access-log-retention`);
173
+ const response = await this.http.get<AccessLogRetention>(apiPath`/vaults/${vaultId}/access-log-retention`);
232
174
  return response.data;
233
175
  }
234
176
 
235
177
  async updateAccessLogRetention(
236
178
  vaultId: string,
237
179
  retentionSeconds: number
238
- ): Promise<{
239
- vault_id: string;
240
- access_log_retention_seconds: number;
241
- updated_at: number;
242
- }> {
180
+ ): Promise<UpdateAccessLogRetentionResponse> {
243
181
  validateVaultId(vaultId);
244
- const response = await this.http.put<{
245
- vault_id: string;
246
- access_log_retention_seconds: number;
247
- updated_at: number;
248
- }>(`/vaults/${vaultId}/access-log-retention`, {
182
+ const response = await this.http.put<UpdateAccessLogRetentionResponse>(apiPath`/vaults/${vaultId}/access-log-retention`, {
249
183
  access_log_retention_seconds: retentionSeconds,
250
184
  });
251
185
  return response.data;
@@ -253,13 +187,13 @@ export class MobileVaultsClient {
253
187
 
254
188
  async getUploadConfig(vaultId: string): Promise<UploadConfig> {
255
189
  validateVaultId(vaultId);
256
- const response = await this.http.get<UploadConfig>(`/vaults/${vaultId}/upload`);
190
+ const response = await this.http.get<UploadConfig>(apiPath`/vaults/${vaultId}/upload`);
257
191
  return response.data;
258
192
  }
259
193
 
260
194
  async enableUploadPortal(vaultId: string, vmk: string): Promise<UploadPortalEnabled> {
261
195
  validateVaultId(vaultId);
262
- const response = await this.http.post<UploadPortalEnabled>(`/vaults/${vaultId}/upload/portal/enable`, {
196
+ const response = await this.http.post<UploadPortalEnabled>(apiPath`/vaults/${vaultId}/upload/portal/enable`, {
263
197
  vmk,
264
198
  });
265
199
  return response.data;
@@ -267,13 +201,13 @@ export class MobileVaultsClient {
267
201
 
268
202
  async disableUploadPortal(vaultId: string): Promise<UploadPortalDisabled> {
269
203
  validateVaultId(vaultId);
270
- const response = await this.http.post<UploadPortalDisabled>(`/vaults/${vaultId}/upload/portal/disable`);
204
+ const response = await this.http.post<UploadPortalDisabled>(apiPath`/vaults/${vaultId}/upload/portal/disable`);
271
205
  return response.data;
272
206
  }
273
207
 
274
208
  async enableUploadWidget(vaultId: string, vmk: string): Promise<UploadWidgetEnabled> {
275
209
  validateVaultId(vaultId);
276
- const response = await this.http.post<UploadWidgetEnabled>(`/vaults/${vaultId}/upload/widget/enable`, {
210
+ const response = await this.http.post<UploadWidgetEnabled>(apiPath`/vaults/${vaultId}/upload/widget/enable`, {
277
211
  vmk,
278
212
  });
279
213
  return response.data;
@@ -281,7 +215,7 @@ export class MobileVaultsClient {
281
215
 
282
216
  async disableUploadWidget(vaultId: string): Promise<UploadWidgetDisabled> {
283
217
  validateVaultId(vaultId);
284
- const response = await this.http.post<UploadWidgetDisabled>(`/vaults/${vaultId}/upload/widget/disable`);
218
+ const response = await this.http.post<UploadWidgetDisabled>(apiPath`/vaults/${vaultId}/upload/widget/disable`);
285
219
  return response.data;
286
220
  }
287
221
 
@@ -293,7 +227,7 @@ export class MobileVaultsClient {
293
227
  }
294
228
  ): Promise<UploadConfigUpdate> {
295
229
  validateVaultId(vaultId);
296
- const response = await this.http.put<UploadConfigUpdate>(`/vaults/${vaultId}/upload`, config);
230
+ const response = await this.http.put<UploadConfigUpdate>(apiPath`/vaults/${vaultId}/upload`, config);
297
231
  return response.data;
298
232
  }
299
233
  }
@@ -1,2 +0,0 @@
1
- export declare const SPARKVAULT_ROOT_DOMAIN = "sparkvault.com";
2
- export declare const SPARKVAULT_PLATFORM_SV_HOSTS: readonly string[];
@@ -1,16 +0,0 @@
1
- // GENERATED FILE — do not edit by hand.
2
- // Source of truth: packages/app-sdk/src/platform-domains.js
3
- // Regenerate with: pnpm --filter @sparkvault/sdk-mobile build
4
- export const SPARKVAULT_ROOT_DOMAIN = "sparkvault.com";
5
- export const SPARKVAULT_PLATFORM_SV_HOSTS = Object.freeze([
6
- "auth.sv",
7
- "x.sv",
8
- "files.sv",
9
- "file.sv",
10
- "send.sv",
11
- "spark.sv",
12
- "by.sv",
13
- "at.sv",
14
- "db.sv",
15
- ]);
16
- //# sourceMappingURL=platform-domains.generated.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform-domains.generated.js","sourceRoot":"","sources":["../src/platform-domains.generated.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,4DAA4D;AAC5D,8DAA8D;AAE9D,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AAEvD,MAAM,CAAC,MAAM,4BAA4B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC3E,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- // GENERATED FILE — do not edit by hand.
2
- // Source of truth: packages/app-sdk/src/platform-domains.js
3
- // Regenerate with: pnpm --filter @sparkvault/sdk-mobile build
4
-
5
- export const SPARKVAULT_ROOT_DOMAIN = "sparkvault.com";
6
-
7
- export const SPARKVAULT_PLATFORM_SV_HOSTS: readonly string[] = Object.freeze([
8
- "auth.sv",
9
- "x.sv",
10
- "files.sv",
11
- "file.sv",
12
- "send.sv",
13
- "spark.sv",
14
- "by.sv",
15
- "at.sv",
16
- "db.sv",
17
- ]);