@sparkvault/sdk-mobile 0.3.2 → 1.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.
package/dist/auth.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { type ResolvedMobileConfig } from './config.js';
2
2
  import type { MobileHttpClient } from './http.js';
3
- import type { CompleteSignupRequest, CompleteSignupResponse, IdentityConfig, IdentityJwks, IdentityTokenClaims, IdentityType, IdentityVerifyResult, PasskeyAuthChallenge, PasskeyCredential, PasskeyRegisterChallenge, PasskeySession, PasskeyStatus, PinVerifyRequest, PinVerifyResponse, RequestPinRequest, RequestPinResponse, SendTotpRequest, SparkVaultAccount, SparkVaultUser, VerifyTotpRequest } from './types.js';
3
+ import type { CompleteSignupRequest, CompleteSignupResponse, IdentityConfig, IdentityJwks, IdentityTokenClaims, IdentityType, IdentityVerifyResult, PasskeyAuthChallenge, PasskeyCredential, PasskeyRegisterChallenge, PasskeySession, PasskeyStatus, PinVerifyRequest, PinVerifyResponse, RequestPinRequest, RequestPinResponse, SendTotpRequest, SparkVaultAccount, SparkVaultUser, SubmitSecondFactorRequest, VerifyTotpRequest } from './types.js';
4
4
  export declare class MobileAuthClient {
5
5
  private readonly config;
6
6
  private readonly http;
@@ -26,6 +26,20 @@ export declare class MobileAuthClient {
26
26
  requestPin(request: RequestPinRequest): Promise<RequestPinResponse>;
27
27
  verifyTotp(request: VerifyTotpRequest): Promise<IdentityVerifyResult>;
28
28
  verifyPin(request: PinVerifyRequest): Promise<PinVerifyResponse>;
29
+ /**
30
+ * Complete a login held at the second-factor gate (from verifyTotp). Submits
31
+ * a 6-digit authenticator code or a recovery code and returns the verified
32
+ * identity result. A wrong code throws.
33
+ */
34
+ submitSecondFactor(request: SubmitSecondFactorRequest): Promise<IdentityVerifyResult>;
35
+ /**
36
+ * Complete a 2FA-pending app login (from verifyPin's pending response):
37
+ * submit the second factor, then exchange the identity token for an app
38
+ * session.
39
+ */
40
+ completeSecondFactorPin(request: SubmitSecondFactorRequest): Promise<PinVerifyResponse>;
41
+ /** Build the typed error verifyTotp throws when a second factor is required. */
42
+ private secondFactorError;
29
43
  completeSignup(signupToken: string, request: CompleteSignupRequest): Promise<CompleteSignupResponse>;
30
44
  signup(params: {
31
45
  signup_token: string;
package/dist/auth.js CHANGED
@@ -158,6 +158,11 @@ export class MobileAuthClient {
158
158
  }
159
159
  async verifyTotp(request) {
160
160
  const verifyResult = await this.verifyTotpWithRetryErrors(request);
161
+ // PIN accepted, but the account requires a second factor. Surface the
162
+ // ticket so the caller can collect a code and call submitSecondFactor().
163
+ if (verifyResult.second_factor_required && verifyResult.ticket) {
164
+ throw this.secondFactorError(verifyResult.ticket, verifyResult.methods);
165
+ }
161
166
  if (!verifyResult.verified || !verifyResult.token) {
162
167
  if (verifyResult.kindling) {
163
168
  const error = new SparkVaultMobileError('Invalid code. Please try again.', {
@@ -184,6 +189,16 @@ export class MobileAuthClient {
184
189
  }
185
190
  async verifyPin(request) {
186
191
  const verifyResult = await this.verifyTotpWithRetryErrors(request);
192
+ // PIN accepted, but 2FA is required. Return a pending result so the caller
193
+ // can collect a second factor and call completeSecondFactorPin().
194
+ if (verifyResult.second_factor_required && verifyResult.ticket) {
195
+ return {
196
+ verified: false,
197
+ second_factor_required: true,
198
+ ticket: verifyResult.ticket,
199
+ methods: verifyResult.methods ?? ['authenticator'],
200
+ };
201
+ }
187
202
  if (!verifyResult.verified || !verifyResult.token) {
188
203
  if (verifyResult.kindling) {
189
204
  const error = new SparkVaultMobileError('Invalid code. Please try again.', {
@@ -203,6 +218,51 @@ export class MobileAuthClient {
203
218
  }
204
219
  return this.exchangeIdentityToken(verifyResult.token);
205
220
  }
221
+ /**
222
+ * Complete a login held at the second-factor gate (from verifyTotp). Submits
223
+ * a 6-digit authenticator code or a recovery code and returns the verified
224
+ * identity result. A wrong code throws.
225
+ */
226
+ async submitSecondFactor(request) {
227
+ const result = await this.postIdentity('/second-factor/verify', {
228
+ ticket: request.ticket,
229
+ code: request.code,
230
+ });
231
+ if (!result.verified || !result.token) {
232
+ throw new SparkVaultMobileError('That code is not valid. Please try again.', {
233
+ code: 400,
234
+ statusCode: 400,
235
+ });
236
+ }
237
+ return this.toIdentityVerifyResult(result.token, {
238
+ identity: result.identity,
239
+ identityType: result.identity_type,
240
+ method: result.method,
241
+ redirect: result.redirect,
242
+ });
243
+ }
244
+ /**
245
+ * Complete a 2FA-pending app login (from verifyPin's pending response):
246
+ * submit the second factor, then exchange the identity token for an app
247
+ * session.
248
+ */
249
+ async completeSecondFactorPin(request) {
250
+ const result = await this.submitSecondFactor(request);
251
+ return this.exchangeIdentityToken(result.token);
252
+ }
253
+ /** Build the typed error verifyTotp throws when a second factor is required. */
254
+ secondFactorError(ticket, methods) {
255
+ const error = new SparkVaultMobileError('Two-step verification required.', {
256
+ code: 401,
257
+ statusCode: 401,
258
+ });
259
+ error.data = {
260
+ second_factor_required: true,
261
+ ticket,
262
+ methods: methods ?? ['authenticator'],
263
+ };
264
+ return error;
265
+ }
206
266
  async completeSignup(signupToken, request) {
207
267
  const response = await this.http.post('/auth/complete-signup', request, {
208
268
  skipAuth: true,
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/tus.js CHANGED
@@ -177,6 +177,13 @@ export class MobileTusUploader {
177
177
  const chunk = await this.readChunk(fileReader, cleanUri, bytesUploaded, chunkLength);
178
178
  const chunkStart = bytesUploaded;
179
179
  const newOffset = await uploadChunk(uploadUrl, parsed.istk, chunk, chunkStart, this.config.tusChunkTimeoutMs, options.abortSignal, chunkUploaded => options.onProgress?.(chunkStart + chunkUploaded, options.fileSize));
180
+ if (newOffset <= chunkStart || newOffset > options.fileSize) {
181
+ throw new TusUploadError('Upload stalled: server offset did not advance', {
182
+ phase: 'stalled',
183
+ filename: options.filename,
184
+ fileSize: options.fileSize,
185
+ });
186
+ }
180
187
  bytesUploaded = newOffset;
181
188
  options.onProgress?.(bytesUploaded, options.fileSize);
182
189
  }
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
@@ -137,7 +137,26 @@ export interface PinVerifySignupPendingResponse {
137
137
  signup_token: string;
138
138
  expires_at: number;
139
139
  }
140
- export type PinVerifyResponse = PinVerifyLoginResponse | PinVerifySignupPendingResponse;
140
+ /**
141
+ * Returned by verifyPin when the PIN was correct but the account has 2FA
142
+ * enabled: the caller must collect a second factor and call
143
+ * completeSecondFactorPin({ ticket, code }) to finish the login.
144
+ */
145
+ export interface PinVerifySecondFactorPendingResponse {
146
+ verified: false;
147
+ second_factor_required: true;
148
+ /** Opaque pending-login handle to submit the second factor against. */
149
+ ticket: string;
150
+ /** Methods the user may use, e.g. ['authenticator','recovery_code']. */
151
+ methods: string[];
152
+ }
153
+ export type PinVerifyResponse = PinVerifyLoginResponse | PinVerifySignupPendingResponse | PinVerifySecondFactorPendingResponse;
154
+ export interface SubmitSecondFactorRequest {
155
+ /** Pending-login ticket from a second_factor_required response. */
156
+ ticket: string;
157
+ /** 6-digit authenticator code or a recovery code. */
158
+ code: string;
159
+ }
141
160
  export interface CompleteSignupRequest {
142
161
  organization_name: string;
143
162
  full_name?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparkvault/sdk-mobile",
3
- "version": "0.3.2",
3
+ "version": "1.0.0",
4
4
  "description": "Mobile SDK for SparkVault Identity, vault, folder, and ingot workflows",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/auth.ts CHANGED
@@ -25,6 +25,7 @@ import type {
25
25
  SendTotpRequest,
26
26
  SparkVaultAccount,
27
27
  SparkVaultUser,
28
+ SubmitSecondFactorRequest,
28
29
  VerifyTotpRequest,
29
30
  } from './types.js';
30
31
  import nacl from 'tweetnacl';
@@ -39,6 +40,12 @@ interface IdentityVerificationResponse {
39
40
  kindling?: string;
40
41
  expires_at?: number;
41
42
  retry_after?: number;
43
+ /** Primary factor passed, second factor still owed. */
44
+ second_factor_required?: boolean;
45
+ /** Pending-login handle for the second-factor submit. */
46
+ ticket?: string;
47
+ /** Offered second-factor methods. */
48
+ methods?: string[];
42
49
  }
43
50
 
44
51
  interface IdentityPasskeyCompletionResponse {
@@ -249,6 +256,13 @@ export class MobileAuthClient {
249
256
 
250
257
  async verifyTotp(request: VerifyTotpRequest): Promise<IdentityVerifyResult> {
251
258
  const verifyResult = await this.verifyTotpWithRetryErrors(request);
259
+
260
+ // PIN accepted, but the account requires a second factor. Surface the
261
+ // ticket so the caller can collect a code and call submitSecondFactor().
262
+ if (verifyResult.second_factor_required && verifyResult.ticket) {
263
+ throw this.secondFactorError(verifyResult.ticket, verifyResult.methods);
264
+ }
265
+
252
266
  if (!verifyResult.verified || !verifyResult.token) {
253
267
  if (verifyResult.kindling) {
254
268
  const error = new SparkVaultMobileError('Invalid code. Please try again.', {
@@ -279,6 +293,17 @@ export class MobileAuthClient {
279
293
  async verifyPin(request: PinVerifyRequest): Promise<PinVerifyResponse> {
280
294
  const verifyResult = await this.verifyTotpWithRetryErrors(request);
281
295
 
296
+ // PIN accepted, but 2FA is required. Return a pending result so the caller
297
+ // can collect a second factor and call completeSecondFactorPin().
298
+ if (verifyResult.second_factor_required && verifyResult.ticket) {
299
+ return {
300
+ verified: false,
301
+ second_factor_required: true,
302
+ ticket: verifyResult.ticket,
303
+ methods: verifyResult.methods ?? ['authenticator'],
304
+ };
305
+ }
306
+
282
307
  if (!verifyResult.verified || !verifyResult.token) {
283
308
  if (verifyResult.kindling) {
284
309
  const error = new SparkVaultMobileError('Invalid code. Please try again.', {
@@ -301,6 +326,54 @@ export class MobileAuthClient {
301
326
  return this.exchangeIdentityToken(verifyResult.token);
302
327
  }
303
328
 
329
+ /**
330
+ * Complete a login held at the second-factor gate (from verifyTotp). Submits
331
+ * a 6-digit authenticator code or a recovery code and returns the verified
332
+ * identity result. A wrong code throws.
333
+ */
334
+ async submitSecondFactor(request: SubmitSecondFactorRequest): Promise<IdentityVerifyResult> {
335
+ const result = await this.postIdentity<IdentityVerificationResponse>('/second-factor/verify', {
336
+ ticket: request.ticket,
337
+ code: request.code,
338
+ });
339
+ if (!result.verified || !result.token) {
340
+ throw new SparkVaultMobileError('That code is not valid. Please try again.', {
341
+ code: 400,
342
+ statusCode: 400,
343
+ });
344
+ }
345
+ return this.toIdentityVerifyResult(result.token, {
346
+ identity: result.identity,
347
+ identityType: result.identity_type,
348
+ method: result.method,
349
+ redirect: result.redirect,
350
+ });
351
+ }
352
+
353
+ /**
354
+ * Complete a 2FA-pending app login (from verifyPin's pending response):
355
+ * submit the second factor, then exchange the identity token for an app
356
+ * session.
357
+ */
358
+ async completeSecondFactorPin(request: SubmitSecondFactorRequest): Promise<PinVerifyResponse> {
359
+ const result = await this.submitSecondFactor(request);
360
+ return this.exchangeIdentityToken(result.token);
361
+ }
362
+
363
+ /** Build the typed error verifyTotp throws when a second factor is required. */
364
+ private secondFactorError(ticket: string, methods?: string[]): SparkVaultMobileError {
365
+ const error = new SparkVaultMobileError('Two-step verification required.', {
366
+ code: 401,
367
+ statusCode: 401,
368
+ });
369
+ (error as SparkVaultMobileError & { data?: unknown }).data = {
370
+ second_factor_required: true,
371
+ ticket,
372
+ methods: methods ?? ['authenticator'],
373
+ };
374
+ return error;
375
+ }
376
+
304
377
  async completeSignup(
305
378
  signupToken: string,
306
379
  request: CompleteSignupRequest
package/src/tus.ts CHANGED
@@ -251,6 +251,14 @@ export class MobileTusUploader {
251
251
  chunkUploaded => options.onProgress?.(chunkStart + chunkUploaded, options.fileSize)
252
252
  );
253
253
 
254
+ if (newOffset <= chunkStart || newOffset > options.fileSize) {
255
+ throw new TusUploadError('Upload stalled: server offset did not advance', {
256
+ phase: 'stalled',
257
+ filename: options.filename,
258
+ fileSize: options.fileSize,
259
+ });
260
+ }
261
+
254
262
  bytesUploaded = newOffset;
255
263
  options.onProgress?.(bytesUploaded, options.fileSize);
256
264
  }
package/src/types.ts CHANGED
@@ -174,7 +174,31 @@ export interface PinVerifySignupPendingResponse {
174
174
  expires_at: number;
175
175
  }
176
176
 
177
- export type PinVerifyResponse = PinVerifyLoginResponse | PinVerifySignupPendingResponse;
177
+ /**
178
+ * Returned by verifyPin when the PIN was correct but the account has 2FA
179
+ * enabled: the caller must collect a second factor and call
180
+ * completeSecondFactorPin({ ticket, code }) to finish the login.
181
+ */
182
+ export interface PinVerifySecondFactorPendingResponse {
183
+ verified: false;
184
+ second_factor_required: true;
185
+ /** Opaque pending-login handle to submit the second factor against. */
186
+ ticket: string;
187
+ /** Methods the user may use, e.g. ['authenticator','recovery_code']. */
188
+ methods: string[];
189
+ }
190
+
191
+ export type PinVerifyResponse =
192
+ | PinVerifyLoginResponse
193
+ | PinVerifySignupPendingResponse
194
+ | PinVerifySecondFactorPendingResponse;
195
+
196
+ export interface SubmitSecondFactorRequest {
197
+ /** Pending-login ticket from a second_factor_required response. */
198
+ ticket: string;
199
+ /** 6-digit authenticator code or a recovery code. */
200
+ code: string;
201
+ }
178
202
 
179
203
  export interface CompleteSignupRequest {
180
204
  organization_name: string;