@sparkvault/sdk-mobile 6.0.2 → 7.0.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.
Files changed (148) 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/transient.d.ts +23 -0
  36. package/dist/app-sdk/transient.js +29 -0
  37. package/dist/app-sdk/transient.js.map +1 -0
  38. package/dist/app-sdk/vat-refusal.d.ts +66 -0
  39. package/dist/app-sdk/vat-refusal.js +69 -0
  40. package/dist/app-sdk/vat-refusal.js.map +1 -0
  41. package/dist/billing.d.ts +9 -17
  42. package/dist/billing.js +14 -17
  43. package/dist/billing.js.map +1 -1
  44. package/dist/config.d.ts +7 -1
  45. package/dist/config.js +10 -17
  46. package/dist/config.js.map +1 -1
  47. package/dist/encoding.d.ts +30 -4
  48. package/dist/encoding.js +89 -83
  49. package/dist/encoding.js.map +1 -1
  50. package/dist/entropy.d.ts +25 -4
  51. package/dist/entropy.js +62 -15
  52. package/dist/entropy.js.map +1 -1
  53. package/dist/entropy.test-d.d.ts +40 -0
  54. package/dist/entropy.test-d.js +12 -0
  55. package/dist/entropy.test-d.js.map +1 -0
  56. package/dist/errors.d.ts +67 -17
  57. package/dist/errors.js +70 -27
  58. package/dist/errors.js.map +1 -1
  59. package/dist/folders.js +8 -7
  60. package/dist/folders.js.map +1 -1
  61. package/dist/http.d.ts +57 -15
  62. package/dist/http.js +125 -138
  63. package/dist/http.js.map +1 -1
  64. package/dist/identity-dialog.js +4 -30
  65. package/dist/identity-dialog.js.map +1 -1
  66. package/dist/identity-input.d.ts +39 -0
  67. package/dist/identity-input.js +59 -0
  68. package/dist/identity-input.js.map +1 -0
  69. package/dist/index.d.ts +6 -5
  70. package/dist/index.js +4 -3
  71. package/dist/index.js.map +1 -1
  72. package/dist/ingots.d.ts +51 -18
  73. package/dist/ingots.js +132 -122
  74. package/dist/ingots.js.map +1 -1
  75. package/dist/mutex.d.ts +1 -2
  76. package/dist/mutex.js +0 -6
  77. package/dist/mutex.js.map +1 -1
  78. package/dist/notify.d.ts +7 -2
  79. package/dist/notify.js +12 -15
  80. package/dist/notify.js.map +1 -1
  81. package/dist/notify.test-d.d.ts +3 -2
  82. package/dist/notify.test-d.js +1 -1
  83. package/dist/products/identity.d.ts +5 -0
  84. package/dist/products/identity.js +40 -35
  85. package/dist/products/identity.js.map +1 -1
  86. package/dist/request-path.d.ts +32 -0
  87. package/dist/request-path.js +35 -0
  88. package/dist/request-path.js.map +1 -0
  89. package/dist/sparks.js +16 -15
  90. package/dist/sparks.js.map +1 -1
  91. package/dist/tus.d.ts +19 -2
  92. package/dist/tus.js +86 -35
  93. package/dist/tus.js.map +1 -1
  94. package/dist/types.d.ts +167 -15
  95. package/dist/users.d.ts +12 -5
  96. package/dist/users.js +27 -19
  97. package/dist/users.js.map +1 -1
  98. package/dist/validation.d.ts +20 -5
  99. package/dist/validation.js +29 -27
  100. package/dist/validation.js.map +1 -1
  101. package/dist/vaults.d.ts +34 -83
  102. package/dist/vaults.js +64 -44
  103. package/dist/vaults.js.map +1 -1
  104. package/dist/vaults.test-d.d.ts +22 -0
  105. package/dist/vaults.test-d.js +14 -0
  106. package/dist/vaults.test-d.js.map +1 -0
  107. package/package.json +4 -2
  108. package/src/account.ts +16 -11
  109. package/src/app-sdk/email-address.js +94 -0
  110. package/src/app-sdk/encoding.js +250 -0
  111. package/src/app-sdk/entropy-contract.js +56 -0
  112. package/src/app-sdk/filename.js +174 -0
  113. package/src/app-sdk/forge-url.js +224 -0
  114. package/src/app-sdk/ids.js +71 -0
  115. package/src/app-sdk/ingot-access-log.js +51 -0
  116. package/src/app-sdk/phone.js +139 -0
  117. package/src/app-sdk/platform-domains.js +99 -0
  118. package/src/app-sdk/request-path.js +81 -0
  119. package/src/app-sdk/transient.js +30 -0
  120. package/src/app-sdk/vat-refusal.js +74 -0
  121. package/src/billing.ts +16 -25
  122. package/src/config.ts +16 -23
  123. package/src/encoding.ts +91 -103
  124. package/src/entropy.test-d.ts +47 -0
  125. package/src/entropy.ts +86 -20
  126. package/src/errors.ts +93 -33
  127. package/src/folders.ts +8 -7
  128. package/src/http.ts +145 -150
  129. package/src/identity-dialog.tsx +4 -37
  130. package/src/identity-input.ts +70 -0
  131. package/src/index.ts +11 -3
  132. package/src/ingots.ts +173 -159
  133. package/src/mutex.ts +1 -8
  134. package/src/notify.test-d.ts +3 -1
  135. package/src/notify.ts +19 -17
  136. package/src/products/identity.ts +45 -39
  137. package/src/request-path.ts +45 -0
  138. package/src/sparks.ts +16 -13
  139. package/src/tus.ts +90 -37
  140. package/src/types.ts +165 -15
  141. package/src/users.ts +27 -17
  142. package/src/validation.ts +30 -24
  143. package/src/vaults.test-d.ts +29 -0
  144. package/src/vaults.ts +87 -153
  145. package/dist/platform-domains.generated.d.ts +0 -2
  146. package/dist/platform-domains.generated.js +0 -16
  147. package/dist/platform-domains.generated.js.map +0 -1
  148. package/src/platform-domains.generated.ts +0 -17
package/dist/tus.js CHANGED
@@ -1,28 +1,68 @@
1
- import { base64EncodeUtf8 } from './encoding.js';
1
+ import { FORGE_URL_REFUSAL, readForgeSessionUrl, readForgeTransferUrl, resolveForgeSessionUrl } from './app-sdk/forge-url.js';
2
+ import { SPARKVAULT_OWNED_HOST_PATTERNS } from './app-sdk/platform-domains.js';
2
3
  import { BackgroundTransferError, gateErrorFromBody, SparkVaultMobileError, SparkVaultValidationError, TusUploadError, } from './errors.js';
3
4
  const TUS_VERSION = '1.0.0';
4
- export function parseForgeUrl(forgeUrl) {
5
- let url;
6
- try {
7
- url = new URL(forgeUrl);
8
- }
9
- catch {
10
- throw new SparkVaultValidationError('Invalid Forge URL format');
11
- }
12
- if (url.protocol !== 'https:') {
13
- throw new SparkVaultValidationError('Forge URL must use HTTPS protocol');
14
- }
15
- const istk = url.searchParams.get('istk');
16
- if (!istk) {
17
- throw new SparkVaultValidationError('Forge URL missing ISTK parameter');
5
+ /** What a refused Forge URL was refused for, in the words this SDK's errors use. */
6
+ const FORGE_URL_REFUSAL_MESSAGES = {
7
+ [FORGE_URL_REFUSAL.INVALID]: 'Invalid Forge URL format',
8
+ [FORGE_URL_REFUSAL.NOT_HTTPS]: 'Forge URL must use HTTPS protocol',
9
+ [FORGE_URL_REFUSAL.UNSAFE_PARTS]: 'Forge URL must not carry credentials or a fragment',
10
+ [FORGE_URL_REFUSAL.HOST]: 'Forge URL host is not an allowed transfer host',
11
+ [FORGE_URL_REFUSAL.OPERATION]: 'Forge URL is not an upload endpoint',
12
+ [FORGE_URL_REFUSAL.ISTK]: 'Forge URL must carry exactly one base64url ISTK parameter',
13
+ };
14
+ /**
15
+ * Read a Core-issued Forge upload URL with the platform's transfer URL rule
16
+ * (app-sdk/forge-url.js): https, no credentials or fragment, the encrypt
17
+ * endpoint on an allowed host, and one base64url ISTK.
18
+ *
19
+ * @param allowedHostPatterns - Hosts trusted with the upload; the platform's
20
+ * own hosts by default (a configured SDK passes `allowedDownloadHostPatterns`).
21
+ * @throws SparkVaultValidationError when the URL is refused.
22
+ */
23
+ export function parseForgeUrl(forgeUrl, allowedHostPatterns = SPARKVAULT_OWNED_HOST_PATTERNS) {
24
+ const read = readForgeTransferUrl(forgeUrl, {
25
+ operation: 'encrypt',
26
+ isAllowedHost: allowsHost(allowedHostPatterns),
27
+ });
28
+ if (!read.ok) {
29
+ throw new SparkVaultValidationError(FORGE_URL_REFUSAL_MESSAGES[read.reason] ?? 'Invalid Forge URL', {
30
+ reason: read.reason,
31
+ });
18
32
  }
19
- const baseUrl = `${url.protocol}//${url.host}`;
20
33
  return {
21
- baseUrl,
22
- tusEndpoint: `${baseUrl}${url.pathname}`,
23
- istk,
34
+ baseUrl: read.origin,
35
+ tusEndpoint: read.endpoint,
36
+ istk: read.istk,
24
37
  };
25
38
  }
39
+ /**
40
+ * Read a kept tus session URL (the one `onSessionCreated` handed out) with the
41
+ * platform's session URL rule (app-sdk/forge-url.js) before the session is
42
+ * sent anything. Every request to a session carries the ISTK, and a PATCH the
43
+ * file's bytes, so a kept session is held to the rule a created one was: a
44
+ * session directly under the upload endpoint on an allowed host. The one
45
+ * reader for every path that sends a kept session a request: resume, probe
46
+ * and terminate.
47
+ *
48
+ * @throws SparkVaultValidationError when the URL is refused.
49
+ */
50
+ function readKeptSessionUrl(uploadUrl, allowedHostPatterns) {
51
+ const session = readForgeSessionUrl(uploadUrl, {
52
+ operation: 'encrypt',
53
+ isAllowedHost: allowsHost(allowedHostPatterns),
54
+ });
55
+ if (!session.ok) {
56
+ throw new SparkVaultValidationError('uploadUrl is not an upload session on an allowed transfer host', {
57
+ reason: session.reason,
58
+ });
59
+ }
60
+ return session.url;
61
+ }
62
+ /** The forge-url rule's host check over a configured list of host patterns. */
63
+ export function allowsHost(allowedHostPatterns) {
64
+ return hostname => allowedHostPatterns.some(pattern => pattern.test(hostname));
65
+ }
26
66
  /**
27
67
  * Parse a Forge error response body (JSON text) into the shared ApiErrorBody
28
68
  * shape so gate mapping can read its `error.code` / `error.details.resource`.
@@ -131,28 +171,30 @@ function getHeaderIgnoreCase(headers, name) {
131
171
  }
132
172
  return null;
133
173
  }
134
- function resolveSessionSource(options) {
174
+ function resolveSessionSource(options, allowedHostPatterns) {
135
175
  if (options.resume) {
136
- const istk = options.resume.istk ?? (options.forgeUrl ? parseForgeUrl(options.forgeUrl).istk : null);
176
+ const uploadUrl = readKeptSessionUrl(options.resume.uploadUrl, allowedHostPatterns);
177
+ const istk = options.resume.istk
178
+ ?? (options.forgeUrl ? parseForgeUrl(options.forgeUrl, allowedHostPatterns).istk : null);
137
179
  if (!istk) {
138
180
  throw new SparkVaultValidationError('resume.istk or forgeUrl is required to resume a TUS upload session');
139
181
  }
140
- return { mode: 'resume', uploadUrl: options.resume.uploadUrl, istk };
182
+ return { mode: 'resume', uploadUrl, istk };
141
183
  }
142
184
  if (!options.forgeUrl) {
143
185
  throw new SparkVaultValidationError('forgeUrl is required to create a TUS upload session');
144
186
  }
145
- return { mode: 'create', parsed: parseForgeUrl(options.forgeUrl) };
187
+ return { mode: 'create', parsed: parseForgeUrl(options.forgeUrl, allowedHostPatterns) };
146
188
  }
147
- async function createTusUpload(config, parsed, fileSize, filename, contentType, signal) {
189
+ async function createTusUpload(config, parsed, fileSize, filename, signal) {
148
190
  ensureNotAborted(signal);
149
- const metadata = `filename ${base64EncodeUtf8(filename)},filetype ${base64EncodeUtf8(contentType || 'application/octet-stream')}`;
191
+ // Forge's create contract is these three headers: the ingot's name and type
192
+ // were set by Core when the ingot was created, and Forge publishes Core's.
150
193
  const response = await tusRequest(config, parsed.tusEndpoint, {
151
194
  method: 'POST',
152
195
  headers: {
153
196
  'Tus-Resumable': TUS_VERSION,
154
197
  'Upload-Length': String(fileSize),
155
- 'Upload-Metadata': metadata,
156
198
  'X-ISTK': parsed.istk,
157
199
  },
158
200
  signal,
@@ -174,15 +216,16 @@ async function createTusUpload(config, parsed, fileSize, filename, contentType,
174
216
  phase: 'create',
175
217
  });
176
218
  }
177
- const location = response.headers.get('Location');
178
- if (!location) {
179
- throw new TusUploadError('TUS create response missing Location header', {
219
+ // Every chunk carries the file's bytes, so the session must live under the
220
+ // endpoint it was created at.
221
+ const uploadUrl = resolveForgeSessionUrl(response.headers.get('Location'), parsed.tusEndpoint);
222
+ if (!uploadUrl) {
223
+ throw new TusUploadError('TUS create response Location header is missing or outside the upload endpoint', {
180
224
  filename,
181
225
  fileSize,
182
226
  phase: 'create',
183
227
  });
184
228
  }
185
- const uploadUrl = location.startsWith('http') ? location : `${parsed.baseUrl}${location}`;
186
229
  // Forge fixes the session's chunk geometry and rejects any non-final chunk
187
230
  // that is not exactly the negotiated size, so the chunk size is the server's
188
231
  // to dictate via `X-Chunk-Size` (mirrors sdk-js). A client-side guess could
@@ -533,7 +576,7 @@ export class MobileTusUploader {
533
576
  if (!fileReader) {
534
577
  throw new SparkVaultValidationError('fileReader adapter is required for URI uploads');
535
578
  }
536
- const source = resolveSessionSource(options);
579
+ const source = resolveSessionSource(options, this.config.allowedDownloadHostPatterns);
537
580
  const istk = source.mode === 'create' ? source.parsed.istk : source.istk;
538
581
  const debug = options.debug;
539
582
  const cleanUri = options.fileUri.split('#')[0];
@@ -576,7 +619,7 @@ export class MobileTusUploader {
576
619
  }
577
620
  else {
578
621
  debug?.log(`Starting TUS upload for ${options.filename}`);
579
- const created = await createTusUpload(this.config, source.parsed, options.fileSize, options.filename, options.contentType, options.abortSignal);
622
+ const created = await createTusUpload(this.config, source.parsed, options.fileSize, options.filename, options.abortSignal);
580
623
  sessionUrl = created.uploadUrl;
581
624
  uploadUrl = sessionUrl;
582
625
  chunkSize = created.chunkSize;
@@ -699,10 +742,14 @@ export class MobileTusUploader {
699
742
  * throws `sessionLost` on a mismatch) to judge. Lets a caller reconcile
700
743
  * sessions on relaunch (a completed one just needs its ingot verified; a
701
744
  * lost one needs a fresh create) before spending an upload slot on it.
745
+ *
746
+ * @throws SparkVaultValidationError, before any request, when `uploadUrl`
747
+ * is not an upload session on an allowed transfer host.
702
748
  */
703
749
  async probeSession(session) {
750
+ const uploadUrl = readKeptSessionUrl(session.uploadUrl, this.config.allowedDownloadHostPatterns);
704
751
  try {
705
- return await headTusSession(this.config, session.uploadUrl, session.istk);
752
+ return await headTusSession(this.config, uploadUrl, session.istk);
706
753
  }
707
754
  catch (err) {
708
755
  if (err instanceof TusUploadError && err.sessionLost)
@@ -732,16 +779,20 @@ export class MobileTusUploader {
732
779
  * Forge sent) so the caller can retry later. Not bound to any
733
780
  * abort signal: a terminate is the last thing a caller does with a
734
781
  * session, never something to cancel.
782
+ *
783
+ * @throws SparkVaultValidationError, before any request, when `uploadUrl`
784
+ * is not an upload session on an allowed transfer host.
735
785
  */
736
786
  async terminateSession(session) {
787
+ const uploadUrl = readKeptSessionUrl(session.uploadUrl, this.config.allowedDownloadHostPatterns);
737
788
  // A terminate is the one place the SDK knows the OS job must die with
738
789
  // the session: a DELETE under a job the engine is still chaining would
739
790
  // leave it PATCHing a gone session until it fails on its own.
740
791
  const backgroundTransfer = this.config.backgroundTransfer;
741
792
  if (backgroundTransfer) {
742
- await this.cancelBackgroundTransfer(backgroundTransfer, session.uploadUrl);
793
+ await this.cancelBackgroundTransfer(backgroundTransfer, uploadUrl);
743
794
  }
744
- const response = await this.requestTerminate(session.uploadUrl, session.istk);
795
+ const response = await this.requestTerminate(uploadUrl, session.istk);
745
796
  if (response.ok || isSessionGone(response.status))
746
797
  return;
747
798
  const errorText = await response.text().catch(() => '');
package/dist/tus.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tus.js","sourceRoot":"","sources":["../src/tus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tus.js","sourceRoot":"","sources":["../src/tus.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,9 @@ export type PoolState = 'ok' | 'notice' | 'warning' | 'exhausted';
4
4
  export interface PoolStatus {
5
5
  used_gb: number;
6
6
  limit_gb: number | null;
7
+ /** Used fraction of the pool: 0.85 is 85% full, 1 is full (above 1 when over). */
7
8
  pct: number;
9
+ /** The server's severity for the pool, from the canonical thresholds; display keys off it. */
8
10
  state: PoolState;
9
11
  }
10
12
  /** Bandwidth pool additionally reports when the metered cycle resets. */
@@ -118,6 +120,12 @@ export interface RemoveMemberResponse {
118
120
  user_id: string;
119
121
  removed_at: number;
120
122
  dvaks_revoked: number;
123
+ /**
124
+ * True when this removal ends the subscription: the member renewed the last
125
+ * license it renews, and it was not already set to end. It ends at the
126
+ * period end.
127
+ */
128
+ wind_down: boolean;
121
129
  }
122
130
  export interface ResendInviteResponse {
123
131
  user_id: string;
@@ -155,7 +163,7 @@ export interface SparkVaultSubscription {
155
163
  renewal_date: number | null;
156
164
  renewal_amount_usd: string;
157
165
  seats: {
158
- /** Cycle-unique billed counts (flex billing: what the renewal invoices). */
166
+ /** Licenses the subscription renews with — what the next renewal bills. */
159
167
  full: number;
160
168
  viewer: number;
161
169
  licensed: number;
@@ -165,6 +173,24 @@ export interface SparkVaultSubscription {
165
173
  assigned_viewer: number;
166
174
  /** Roster members with no license (no access until licensed; free). */
167
175
  unlicensed_members: number;
176
+ /** Licenses paid for the current billing period (a removed license stays
177
+ * paid until the renewal). */
178
+ paid: {
179
+ full: number;
180
+ viewer: number;
181
+ };
182
+ /** Paid licenses nobody holds — assignable at no charge until the renewal. */
183
+ available: {
184
+ full: number;
185
+ viewer: number;
186
+ };
187
+ /**
188
+ * Licenses are prepaid per period on a web subscription: a removed one
189
+ * stays paid until the renewal, free to give to someone else until then.
190
+ * False on a store subscription (its one license lands on a member by
191
+ * itself) and on an account with no web subscription.
192
+ */
193
+ prepaid: boolean;
168
194
  };
169
195
  blocks: {
170
196
  /** Effective capacity blocks (this subscription plus any add-on rail). */
@@ -180,6 +206,24 @@ export interface SparkVaultSubscription {
180
206
  }
181
207
  /** Native in-app purchase store channel for receipt validation. */
182
208
  export type IapPlatform = 'ios' | 'android';
209
+ /** The store rail a validated purchase is billed on. */
210
+ export type IapChannel = 'appstore' | 'play';
211
+ /**
212
+ * POST /v1/billing/iap/validate — whether Core provisioned the purchase: a
213
+ * provisioning status, not a subscription (read the subscription again with
214
+ * `billing.getSubscription()` to show what changed). A purchase the store
215
+ * reports as not entitling (expired, refunded, revoked or not yet paid) is
216
+ * answered, not refused, and provisions nothing; every other refusal is an
217
+ * error. `addon` marks a capacity add-on stacked on the license.
218
+ */
219
+ export type IapValidation = {
220
+ provisioned: true;
221
+ channel: IapChannel;
222
+ addon?: true;
223
+ } | {
224
+ provisioned: false;
225
+ reason: 'not_entitling';
226
+ };
183
227
  export type IdentityType = 'email' | 'phone';
184
228
  export type VerifiedIdentityType = IdentityType | 'social';
185
229
  export type IdentityMethodId = 'otp_email' | 'otp_sms' | 'otp_voice' | 'passkey' | 'sparklink' | 'social_google' | 'social_apple' | 'social_microsoft' | 'social_github' | 'social_facebook' | 'social_linkedin' | 'enterprise_okta' | 'enterprise_entra' | 'enterprise_onelogin' | 'enterprise_ping' | 'enterprise_jumpcloud';
@@ -464,9 +508,91 @@ export interface UnsealVaultResponse {
464
508
  expires_at: number;
465
509
  ttl_seconds: number;
466
510
  }
511
+ /** One page of GET /v1/vaults. */
467
512
  export interface ListVaultsResponse {
468
513
  vaults: Vault[];
469
- total: number;
514
+ count: number;
515
+ has_more: boolean;
516
+ next_cursor?: string;
517
+ }
518
+ /** A vault's public sharing policy (GET /v1/vaults/{id}/sharing). */
519
+ export interface VaultSharingConfig {
520
+ vault_id: string;
521
+ public_sharing_enabled: boolean;
522
+ all_ingots_public: boolean;
523
+ session_length_seconds: number | null;
524
+ enabled_at: number | null;
525
+ }
526
+ /** The sharing policy a caller sets when enabling or updating vault sharing. */
527
+ export interface VaultSharingOptions {
528
+ all_ingots_public?: boolean;
529
+ session_length_seconds?: number;
530
+ }
531
+ export interface EnableVaultSharingResponse {
532
+ vault_id: string;
533
+ public_sharing_enabled: boolean;
534
+ all_ingots_public: boolean;
535
+ session_length_seconds: number;
536
+ enabled_at: number;
537
+ }
538
+ export interface DisableVaultSharingResponse {
539
+ vault_id: string;
540
+ public_sharing_enabled: false;
541
+ disabled_at: number;
542
+ shares_revoked: number;
543
+ }
544
+ export interface UpdateVaultSharingResponse {
545
+ vault_id: string;
546
+ public_sharing_enabled: boolean;
547
+ all_ingots_public: boolean;
548
+ session_length_seconds: number;
549
+ updated_at: number;
550
+ }
551
+ /** How long a vault keeps its access log (GET /v1/vaults/{id}/access-log-retention). */
552
+ export interface AccessLogRetention {
553
+ vault_id: string;
554
+ access_log_retention_seconds: number;
555
+ }
556
+ export interface UpdateAccessLogRetentionResponse extends AccessLogRetention {
557
+ updated_at: number;
558
+ }
559
+ /** A vault's upload portal and widget settings (GET /v1/vaults/{id}/upload). */
560
+ export interface UploadConfig {
561
+ vault_id: string;
562
+ upload_portal_enabled: boolean;
563
+ upload_portal_enabled_at: number | null;
564
+ upload_widget_enabled: boolean;
565
+ upload_widget_enabled_at: number | null;
566
+ max_size_bytes: number | null;
567
+ notification_email: string | null;
568
+ portal_url?: string;
569
+ }
570
+ export interface UploadPortalEnabled {
571
+ vault_id: string;
572
+ upload_portal_enabled: true;
573
+ enabled_at: number;
574
+ portal_url: string;
575
+ }
576
+ export interface UploadWidgetEnabled {
577
+ vault_id: string;
578
+ upload_widget_enabled: true;
579
+ enabled_at: number;
580
+ }
581
+ export interface UploadPortalDisabled {
582
+ vault_id: string;
583
+ upload_portal_enabled: false;
584
+ disabled_at: number;
585
+ }
586
+ export interface UploadWidgetDisabled {
587
+ vault_id: string;
588
+ upload_widget_enabled: false;
589
+ disabled_at: number;
590
+ }
591
+ export interface UploadConfigUpdate {
592
+ vault_id: string;
593
+ max_size_bytes: number;
594
+ notification_email: string | null;
595
+ updated_at: number;
470
596
  }
471
597
  export interface Ingot {
472
598
  ingot_id: string;
@@ -474,7 +600,8 @@ export interface Ingot {
474
600
  content_type: string;
475
601
  size_bytes: number;
476
602
  storage_location: 'dynamodb' | 's3';
477
- status?: 'uploading' | 'encrypting' | 'active' | 'failed';
603
+ /** `uploading` until Forge activates the upload, then `active`. */
604
+ status?: 'uploading' | 'active';
478
605
  folder_id?: string | null;
479
606
  created_at: number;
480
607
  accessed_at?: number;
@@ -503,16 +630,35 @@ export interface ListIngotsResponse {
503
630
  total: number;
504
631
  next_cursor?: string;
505
632
  }
633
+ /**
634
+ * GET /vaults/:id/contents: one folder whole, in one response — the folder
635
+ * (null at the vault root), the trail from the root to it, its direct
636
+ * subfolders (pinned first) and every ingot directly in it.
637
+ */
638
+ export interface FolderContentsResponse {
639
+ folder: {
640
+ folder_id: string;
641
+ name: string;
642
+ parent_id: string | null;
643
+ } | null;
644
+ breadcrumb: Array<{
645
+ folder_id: string | null;
646
+ name: string;
647
+ }>;
648
+ folders: Folder[];
649
+ ingots: Ingot[];
650
+ }
506
651
  export interface UploadResult {
507
652
  ingot_id: string;
508
653
  name: string;
509
654
  size_bytes: number;
510
655
  storage_location: 's3';
511
656
  /**
512
- * Whether this upload minted the ingot (true) or was handed an existing row
513
- * by the server's same-name upsert / a resumed session (false). A caller
514
- * that discards its ingot on a failure path needs this to tell "mine to
515
- * discard" from "someone else's live row".
657
+ * Whether this upload minted the ingot (true) or went into an existing row
658
+ * (false): the one holding the name, as the create's name-conflict policy
659
+ * allowed, a replace, or a resumed session. A caller that discards its
660
+ * ingot on a failure path needs this to tell "mine to discard" from
661
+ * "someone else's live row".
516
662
  */
517
663
  created?: boolean;
518
664
  /**
@@ -537,9 +683,19 @@ export interface IngotInvite {
537
683
  identity_type: 'email' | 'phone';
538
684
  created_at: number;
539
685
  }
686
+ /**
687
+ * An ingot access-log entry: a download that delivered the file, a SparkLink
688
+ * open of it included. The server records an access as the download that
689
+ * delivered it, so `download` is the one action.
690
+ */
540
691
  export interface IngotAccessLog {
692
+ /**
693
+ * The entry's time (Unix seconds) as a string. The server issues no entry id,
694
+ * so entries in the same second share it.
695
+ */
541
696
  log_id: string;
542
- action: 'download' | 'view';
697
+ action: 'download';
698
+ /** Who accessed: a member's email, an API key's name, or a SparkLink visitor's identity */
543
699
  identity: string;
544
700
  ip_address: string;
545
701
  user_agent: string;
@@ -550,18 +706,14 @@ export interface IngotAccessStats {
550
706
  unique_visitors?: number;
551
707
  last_accessed_at?: number;
552
708
  }
709
+ /** A folder as every folder route answers it (Core's FolderRepository.toPublicFormat). */
553
710
  export interface Folder {
554
711
  folder_id: string;
555
- vault_id: string;
556
712
  name: string;
557
713
  parent_id: string | null;
558
- is_system: boolean;
559
714
  pinned: boolean;
560
715
  created_at: number;
561
716
  updated_at?: number;
562
- path?: string;
563
- depth?: number;
564
- ingot_count?: number;
565
717
  }
566
718
  export interface CreateFolderRequest {
567
719
  name: string;
@@ -572,9 +724,9 @@ export interface UpdateFolderRequest {
572
724
  parent_id?: string | null;
573
725
  pinned?: boolean;
574
726
  }
727
+ /** GET /v1/vaults/{id}/folders: the vault's whole folder list. */
575
728
  export interface ListFoldersResponse {
576
729
  folders: Folder[];
577
- total: number;
578
730
  }
579
731
  export interface FolderBreadcrumbItem {
580
732
  folder_id: string | null;
@@ -805,7 +957,7 @@ export type SparkShareStatus = {
805
957
  link_code: string;
806
958
  visibility: string;
807
959
  invites: string[];
808
- /** Single-use lifecycle: 'active' → 'consumed' (opened once) | 'revoked'. */
960
+ /** Single-use lifecycle: 'active' → 'consumed' (opened once). */
809
961
  status: string;
810
962
  expires_at?: number;
811
963
  created_at?: number;
package/dist/users.d.ts CHANGED
@@ -4,10 +4,10 @@ import type { InviteMemberRequest, InviteMemberResponse, ListMembersOptions, Lis
4
4
  * Organization team client (member admins only — the API gates these on the
5
5
  * admin role and returns 403 otherwise).
6
6
  *
7
- * Licensing is a billing action (flex: nothing charges mid-cycle — the renewal
8
- * bills each cycle's unique license holders), so the only seat-affecting
9
- * operation exposed here is `invite`, which defaults new members to
10
- * `unlicensed` and never charges. Assigning or changing a paid license is
7
+ * Licensing is a billing action (licenses are prepaid: assigning or upgrading
8
+ * one charges the rest of the current billing period at once), so the only
9
+ * seat-affecting operation exposed here is `invite`, which defaults new members
10
+ * to `unlicensed` and never charges. Assigning or changing a paid license is
11
11
  * intentionally absent — clients route that to the web dashboard so native
12
12
  * apps never initiate an out-of-band purchase.
13
13
  */
@@ -18,7 +18,14 @@ export declare class MobileUsersClient {
18
18
  list(options?: ListMembersOptions): Promise<ListMembersResponse>;
19
19
  /** Invite a coworker by email. Defaults to an unlicensed seat (no charge). */
20
20
  invite(request: InviteMemberRequest): Promise<InviteMemberResponse>;
21
- /** Remove a member and revoke their DVAKs. Access ends immediately; the current cycle still bills them, and they stop counting next cycle. */
21
+ /**
22
+ * Remove a member and revoke their DVAKs. Access ends immediately. A license
23
+ * they held stays paid until the end of the billing period — nothing is
24
+ * refunded — and is not renewed; until then it can be given to someone else
25
+ * at no charge. `wind_down` is true when this removal ends the
26
+ * subscription — theirs was the last license it renews, and it was not
27
+ * already set to end: it ends at the period end.
28
+ */
22
29
  remove(userId: string): Promise<RemoveMemberResponse>;
23
30
  /** Resend a pending invitation email (resets the 7-day expiry). */
24
31
  resendInvite(userId: string): Promise<ResendInviteResponse>;