@consentera/react-native-consent 2.0.0 → 2.1.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/README.md CHANGED
@@ -6,7 +6,7 @@ The app **never holds a secret key**. Your own backend holds `tiq_live_*` and
6
6
  proxies to Consentera; this SDK talks to your backend, opens Consentera's hosted
7
7
  notice in an in-app browser, and reads the decision back.
8
8
 
9
- - **Version** 2.0.0 · **peers** react ≥18.2, react-native ≥0.73
9
+ - **Version** 2.1.0 · **peers** react ≥18.2, react-native ≥0.73
10
10
  - **Pure JS.** No native module of its own, no codegen, nothing to link.
11
11
 
12
12
  ## Install
@@ -104,6 +104,18 @@ await session.openPortal({ email: 'riya@example.in' });
104
104
  Re-validate on `AppState` `'active'`: Chrome blocks gesture-less custom-scheme
105
105
  redirects, so a person who closes the tab produces **no callback at all**.
106
106
 
107
+ **A DENY that is still catching up.** Right after the person grants, the
108
+ platform can still be applying that grant, and until it has, validate answers
109
+ from the state it recorded before, typically a DENY. From platform `936715ad71`
110
+ the answer says so: `d.applied` is false and `d.retry_after` gives the seconds
111
+ to wait before asking again. That flag is true on every other answer, and on a
112
+ platform older than that commit (the field is absent there). A newer *refusal*
113
+ is never pending: it decides at once. Treat an unapplied DENY as "not yet", not
114
+ as "no": keep processing off, and ask again. `session.validate(who,
115
+ 'product_analytics', { retryWhenPending: true })` waits `retry_after` (1 s if
116
+ none was sent, capped at 5 s), asks once more and returns that second answer,
117
+ whatever it says. The re-ask is off by default.
118
+
107
119
  ## One identifier vocabulary (F015)
108
120
 
109
121
  `dataPrincipal` on create and the lifecycle roads' identifiers are the **same
@@ -194,6 +206,20 @@ retries; 429 and 5xx are retried with full jitter, honouring `Retry-After`; a
194
206
  | `onDiagnostic` | — | opt-in sink; the SDK is otherwise SILENT |
195
207
  | `callbackHost` / `callbackPath` | `consent` / `/callback` | both are CHECKED on the callback |
196
208
 
209
+ ## Base URL and path prefixes
210
+
211
+ `backendBaseUrl` is **your own backend's** Consentera route, and it may carry a path
212
+ (`https://api.yourbank.in/consentera`); the path is kept. Trailing slashes are
213
+ trimmed once, when the configuration is read, so `https://x/prefix/` and
214
+ `https://x/prefix` send the same request and no request carries `//`.
215
+
216
+ The paths this SDK appends — `/consent/sessions`, `/consent/validate`,
217
+ `/consent/withdraw`, `/consent/portal-sessions` — are fixed; they are the
218
+ contract between the app and your backend, which forwards to the platform's
219
+ `/api/v1/public/...` routes. The `/api/v1` route prefix is the platform's and is
220
+ not configurable in any SDK; see the root README, "Base URLs, gateway prefixes
221
+ and the fixed route prefix", for targeting a gateway that re-maps it.
222
+
197
223
  ## Support
198
224
 
199
225
  Security issues: see `SECURITY.md` at the repository root.
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "SDK_VERSION", {
39
39
  return _session.SDK_VERSION;
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "VALIDATE_PENDING_RETRY_CAP_SECONDS", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _session.VALIDATE_PENDING_RETRY_CAP_SECONDS;
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "callbackStatusOf", {
43
49
  enumerable: true,
44
50
  get: function () {
@@ -57,6 +63,12 @@ Object.defineProperty(exports, "newCallbackState", {
57
63
  return _session.newCallbackState;
58
64
  }
59
65
  });
66
+ Object.defineProperty(exports, "normalizeDecision", {
67
+ enumerable: true,
68
+ get: function () {
69
+ return _session.normalizeDecision;
70
+ }
71
+ });
60
72
  Object.defineProperty(exports, "parseRetryAfter", {
61
73
  enumerable: true,
62
74
  get: function () {
@@ -1 +1 @@
1
- {"version":3,"names":["_session","require","_gate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAAA,QAAA,GAAAC,OAAA;AA4BA,IAAAC,KAAA,GAAAD,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_session","require","_gate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,IAAAA,QAAA,GAAAC,OAAA;AA+BA,IAAAC,KAAA,GAAAD,OAAA","ignoreList":[]}
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SDK_VERSION = exports.SDK_USER_AGENT = exports.SDK_IDENTIFIER = exports.ConsenteraSession = exports.ConsenteraError = void 0;
6
+ exports.VALIDATE_PENDING_RETRY_CAP_SECONDS = exports.SDK_VERSION = exports.SDK_USER_AGENT = exports.SDK_IDENTIFIER = exports.ConsenteraSession = exports.ConsenteraError = void 0;
7
7
  exports.callbackStatusOf = callbackStatusOf;
8
8
  exports.callbackUrlFor = callbackUrlFor;
9
9
  exports.newCallbackState = newCallbackState;
10
+ exports.normalizeDecision = normalizeDecision;
10
11
  exports.parseRetryAfter = parseRetryAfter;
12
+ exports.pendingRetryDelayMs = pendingRetryDelayMs;
11
13
  exports.portalIdentifier = portalIdentifier;
12
14
  exports.principalBody = principalBody;
13
15
  exports.readErrorEnvelope = readErrorEnvelope;
@@ -20,7 +22,7 @@ var _reactNative = require("react-native");
20
22
  * ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
21
23
  * that no request builder ever read, which is the same as not having one.
22
24
  */
23
- const SDK_VERSION = exports.SDK_VERSION = '2.0.0';
25
+ const SDK_VERSION = exports.SDK_VERSION = '2.1.0';
24
26
  const SDK_IDENTIFIER = exports.SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
25
27
 
26
28
  /**
@@ -233,7 +235,9 @@ function assertBackendBaseUrl(value) {
233
235
  code: 'BACKEND_BASE_URL_REQUIRED'
234
236
  });
235
237
  }
236
- return value;
238
+ // Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
239
+ // path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
240
+ return base.replace(/\/+$/, '');
237
241
  }
238
242
  /**
239
243
  * The deep link handed to the platform as `callback_url`, carrying `state`.
@@ -379,7 +383,36 @@ function portalIdentifier(identifiers, scheme) {
379
383
  }
380
384
  return [chosen, chosenValue];
381
385
  }
386
+
387
+ /** Options for {@link ConsenteraSession.validate}. */
388
+
389
+ /** The longest the `retryWhenPending` re-ask waits, in seconds. */
390
+ const VALIDATE_PENDING_RETRY_CAP_SECONDS = exports.VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
391
+
392
+ /**
393
+ * Reads `applied` and `retry_after` off a validate answer the one way every
394
+ * Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
395
+ * `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
396
+ * seconds), else dropped. Every other field passes through.
397
+ */
398
+ function normalizeDecision(raw) {
399
+ const r = raw && typeof raw === 'object' ? raw : {};
400
+ const out = {
401
+ ...r
402
+ };
403
+ out.applied = typeof r.applied === 'boolean' ? r.applied : true;
404
+ const ra = r.retry_after;
405
+ if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);else delete out.retry_after;
406
+ return out;
407
+ }
408
+
409
+ /** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
410
+ function pendingRetryDelayMs(d) {
411
+ return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
412
+ }
382
413
  class ConsenteraSession {
414
+ /** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
415
+
383
416
  constructor(cfg) {
384
417
  this.cfg = cfg;
385
418
  // NO DEFAULT SERVER, and the refusal names the field. The app talks to its
@@ -390,6 +423,7 @@ class ConsenteraSession {
390
423
  // or '', which used to surface as a TypeError on `.startsWith` or as a
391
424
  // fetch to a relative path at the first request.
392
425
  const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
426
+ this.base = base;
393
427
  // Enterprise guard: consent traffic must be HTTPS in production. Plain
394
428
  // HTTP is tolerated only for the local dev bridges, and loudly.
395
429
  if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
@@ -432,7 +466,7 @@ class ConsenteraSession {
432
466
  const timer = setTimeout(() => controller.abort(), budget);
433
467
  let res;
434
468
  try {
435
- res = await fetch(`${this.cfg.backendBaseUrl}${path}`, {
469
+ res = await fetch(`${this.base}${path}`, {
436
470
  method: 'POST',
437
471
  headers: {
438
472
  'Content-Type': 'application/json',
@@ -663,11 +697,21 @@ class ConsenteraSession {
663
697
  // Marking it async turns the throw into a rejection, so both call styles —
664
698
  // try/await and .catch() — behave the same. Found by the F015 test below,
665
699
  // which had to use `.rejects` and got a synchronous throw.
666
- async validate(who, purposeCode) {
667
- return this.post('/consent/validate', {
700
+ //
701
+ // `options.retryWhenPending` (off by default): when the answer says
702
+ // `applied: false` — a newer act is still being applied (platform
703
+ // 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
704
+ async validate(who, purposeCode, options = {}) {
705
+ const body = {
668
706
  ...principalBody(who),
669
707
  purpose_code: purposeCode
670
- });
708
+ };
709
+ const ask = async () => normalizeDecision(await this.post('/consent/validate', body));
710
+ const first = await ask();
711
+ if (!options.retryWhenPending || first.applied) return first;
712
+ const waitMs = pendingRetryDelayMs(first);
713
+ await new Promise(r => setTimeout(r, waitMs));
714
+ return ask();
671
715
  }
672
716
 
673
717
  /** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","SDK_VERSION","exports","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","eval","mod","InAppBrowser","NativeModules","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","purpose_code","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","SDK_VERSION","exports","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","eval","mod","InAppBrowser","NativeModules","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","VALIDATE_PENDING_RETRY_CAP_SECONDS","normalizeDecision","out","applied","ra","retry_after","isFinite","ceil","pendingRetryDelayMs","d","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","options","purpose_code","ask","first","retryWhenPending","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,6 @@
18
18
  * third-party SDK with init/revoke hooks; refresh() starts/stops them on the
19
19
  * live consent state.
20
20
  */
21
- export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope } from './session';
21
+ export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, normalizeDecision, VALIDATE_PENDING_RETRY_CAP_SECONDS, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope } from './session';
22
22
  export { ConsentGate } from './gate';
23
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ConsenteraSession","ConsenteraError","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","setInAppBrowser","resolveInAppBrowser","newCallbackState","parseRetryAfter","callbackUrlFor","callbackStatusOf","portalIdentifier","readErrorEnvelope","ConsentGate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,QACZ,WAAW;AAclB,SAASC,WAAW,QAAQ,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["ConsenteraSession","ConsenteraError","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","setInAppBrowser","resolveInAppBrowser","newCallbackState","parseRetryAfter","normalizeDecision","VALIDATE_PENDING_RETRY_CAP_SECONDS","callbackUrlFor","callbackStatusOf","portalIdentifier","readErrorEnvelope","ConsentGate"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,iBAAiB,EACjBC,eAAe,EACfC,WAAW,EACXC,cAAc,EACdC,cAAc,EACdC,eAAe,EACfC,mBAAmB,EACnBC,gBAAgB,EAChBC,eAAe,EACfC,iBAAiB,EACjBC,kCAAkC,EAClCC,cAAc,EACdC,gBAAgB,EAChBC,gBAAgB,EAChBC,iBAAiB,QACZ,WAAW;AAelB,SAASC,WAAW,QAAQ,QAAQ","ignoreList":[]}
@@ -6,7 +6,7 @@ import { NativeModules } from 'react-native';
6
6
  * ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
7
7
  * that no request builder ever read, which is the same as not having one.
8
8
  */
9
- export const SDK_VERSION = '2.0.0';
9
+ export const SDK_VERSION = '2.1.0';
10
10
  export const SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
11
11
 
12
12
  /**
@@ -218,7 +218,9 @@ function assertBackendBaseUrl(value) {
218
218
  code: 'BACKEND_BASE_URL_REQUIRED'
219
219
  });
220
220
  }
221
- return value;
221
+ // Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
222
+ // path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
223
+ return base.replace(/\/+$/, '');
222
224
  }
223
225
  /**
224
226
  * The deep link handed to the platform as `callback_url`, carrying `state`.
@@ -364,7 +366,36 @@ export function portalIdentifier(identifiers, scheme) {
364
366
  }
365
367
  return [chosen, chosenValue];
366
368
  }
369
+
370
+ /** Options for {@link ConsenteraSession.validate}. */
371
+
372
+ /** The longest the `retryWhenPending` re-ask waits, in seconds. */
373
+ export const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
374
+
375
+ /**
376
+ * Reads `applied` and `retry_after` off a validate answer the one way every
377
+ * Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
378
+ * `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
379
+ * seconds), else dropped. Every other field passes through.
380
+ */
381
+ export function normalizeDecision(raw) {
382
+ const r = raw && typeof raw === 'object' ? raw : {};
383
+ const out = {
384
+ ...r
385
+ };
386
+ out.applied = typeof r.applied === 'boolean' ? r.applied : true;
387
+ const ra = r.retry_after;
388
+ if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);else delete out.retry_after;
389
+ return out;
390
+ }
391
+
392
+ /** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
393
+ export function pendingRetryDelayMs(d) {
394
+ return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
395
+ }
367
396
  export class ConsenteraSession {
397
+ /** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
398
+
368
399
  constructor(cfg) {
369
400
  this.cfg = cfg;
370
401
  // NO DEFAULT SERVER, and the refusal names the field. The app talks to its
@@ -375,6 +406,7 @@ export class ConsenteraSession {
375
406
  // or '', which used to surface as a TypeError on `.startsWith` or as a
376
407
  // fetch to a relative path at the first request.
377
408
  const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
409
+ this.base = base;
378
410
  // Enterprise guard: consent traffic must be HTTPS in production. Plain
379
411
  // HTTP is tolerated only for the local dev bridges, and loudly.
380
412
  if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
@@ -417,7 +449,7 @@ export class ConsenteraSession {
417
449
  const timer = setTimeout(() => controller.abort(), budget);
418
450
  let res;
419
451
  try {
420
- res = await fetch(`${this.cfg.backendBaseUrl}${path}`, {
452
+ res = await fetch(`${this.base}${path}`, {
421
453
  method: 'POST',
422
454
  headers: {
423
455
  'Content-Type': 'application/json',
@@ -648,11 +680,21 @@ export class ConsenteraSession {
648
680
  // Marking it async turns the throw into a rejection, so both call styles —
649
681
  // try/await and .catch() — behave the same. Found by the F015 test below,
650
682
  // which had to use `.rejects` and got a synchronous throw.
651
- async validate(who, purposeCode) {
652
- return this.post('/consent/validate', {
683
+ //
684
+ // `options.retryWhenPending` (off by default): when the answer says
685
+ // `applied: false` — a newer act is still being applied (platform
686
+ // 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
687
+ async validate(who, purposeCode, options = {}) {
688
+ const body = {
653
689
  ...principalBody(who),
654
690
  purpose_code: purposeCode
655
- });
691
+ };
692
+ const ask = async () => normalizeDecision(await this.post('/consent/validate', body));
693
+ const first = await ask();
694
+ if (!options.retryWhenPending || first.applied) return first;
695
+ const waitMs = pendingRetryDelayMs(first);
696
+ await new Promise(r => setTimeout(r, waitMs));
697
+ return ask();
656
698
  }
657
699
 
658
700
  /** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","require","eval","mod","InAppBrowser","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","purpose_code","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","SDK_VERSION","SDK_IDENTIFIER","SDK_USER_AGENT","parseRetryAfter","header","now","Date","trimmed","trim","test","Math","min","Number","when","parse","isNaN","max","ConsenteraError","Error","constructor","message","opts","name","status","code","platformMessage","requestId","retryable","readErrorEnvelope","text","parsed","JSON","src","error","undefined","newCallbackState","g","globalThis","crypto","getRandomValues","bytes","Uint8Array","bin","forEach","b","String","fromCharCode","btoa","replace","injectedBrowser","setInAppBrowser","adapter","resolveInAppBrowser","req","require","eval","mod","InAppBrowser","RNInAppBrowser","openAuth","url","redirectScheme","r","ephemeralWebSession","showTitle","enableUrlBarHiding","type","assertBackendBaseUrl","value","base","callbackUrlFor","cfg","state","host","callbackHost","path","callbackPath","callbackScheme","encodeURIComponent","callbackStatusOf","raw","principalBody","who","dataPrincipalId","data_principal_id","ids","dataPrincipalIdentifiers","Object","keys","length","data_principal_identifiers","portalIdentifier","identifiers","scheme","entries","filter","v","some","k","only","chosen","find","field","chosenValue","map","join","VALIDATE_PENDING_RETRY_CAP_SECONDS","normalizeDecision","out","applied","ra","retry_after","isFinite","ceil","pendingRetryDelayMs","d","ConsenteraSession","backendBaseUrl","startsWith","onDiagnostic","post","body","perAttemptMs","requestTimeoutMs","deadline","totalTimeoutMs","maxAttempts","idempotencyKey","idempotent","lastError","attempt","controller","AbortController","budget","timer","setTimeout","abort","res","fetch","method","headers","stringify","signal","e","err","backoff","clearTimeout","get","ok","envelope","retryAfter","waitMs","serverAsked","retryBaseDelayMs","random","pow","Promise","createSession","callback","session","notice_internal_name","noticeInternalName","ui_mode","callback_url","dataPrincipal","data_principal","sessionRef","session_ref","noticeVersionNumber","notice_version_number","dateOfBirth","age","date_of_birth","language","guardianEmail","guardian_email","guardianPhone","guardian_phone","guardianRelationship","guardian_relationship","callbackState","presentConsent","consent_url","browser","redirect","result","presentHosted","validate","purposeCode","options","purpose_code","ask","first","retryWhenPending","withdraw","purposes","createPortalSession","kind","identifierScheme","data_principal_ref","data_principal_ref_type","openPortal","p","portal_url","parseCallback","expectedState","URL","slice","protocol","toLowerCase","expectedHost","hostname","expectedPath","pathname","parameters","searchParams","sessionId","session_id","artifactId","artifact_id","callbackStatus","pending","signature","sig"],"sourceRoot":"../../src","sources":["session.ts"],"mappings":"AAAA,SAASA,aAAa,QAAQ,cAAc;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,OAAO;AAClC,OAAO,MAAMC,cAAc,GAAG,gBAAgBD,WAAW,EAAE;;AAE3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,cAAc,GAAG,iBAAiBF,WAAW,iBAAiB;;AAE3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,eAAeA,CAACC,MAAiC,EAAEC,GAAG,GAAGC,IAAI,CAACD,GAAG,CAAC,CAAC,EAAiB;EAClG,IAAI,CAACD,MAAM,EAAE,OAAO,IAAI;EACxB,MAAMG,OAAO,GAAGH,MAAM,CAACI,IAAI,CAAC,CAAC;EAC7B,IAAI,OAAO,CAACC,IAAI,CAACF,OAAO,CAAC,EAAE,OAAOG,IAAI,CAACC,GAAG,CAACC,MAAM,CAACL,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC;EACzE,MAAMM,IAAI,GAAGP,IAAI,CAACQ,KAAK,CAACP,OAAO,CAAC;EAChC,IAAIK,MAAM,CAACG,KAAK,CAACF,IAAI,CAAC,EAAE,OAAO,IAAI;EACnC,OAAOH,IAAI,CAACC,GAAG,CAACD,IAAI,CAACM,GAAG,CAAC,CAAC,EAAEH,IAAI,GAAGR,GAAG,CAAC,EAAE,KAAK,CAAC;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMY,eAAe,SAASC,KAAK,CAAC;EACzC;;EAEA;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;EAEE;;EAEA;;EAGAC,WAAWA,CACTC,OAAe,EACfC,IAMC,GAAG,CAAC,CAAC,EACN;IACA,KAAK,CAACD,OAAO,CAAC;IACd,IAAI,CAACE,IAAI,GAAG,iBAAiB;IAC7B,IAAI,CAACC,MAAM,GAAGF,IAAI,CAACE,MAAM;IACzB,IAAI,CAACC,IAAI,GAAGH,IAAI,CAACG,IAAI;IACrB,IAAI,CAACC,eAAe,GAAGJ,IAAI,CAACI,eAAe;IAC3C,IAAI,CAACC,SAAS,GAAGL,IAAI,CAACK,SAAS;IAC/B,IAAI,CAACC,SAAS,GAAGN,IAAI,CAACM,SAAS,IAAI,KAAK;EAC1C;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAACC,IAAY,EAAuC;EACnF,IAAI;IACF,MAAMC,MAAM,GAAGC,IAAI,CAACjB,KAAK,CAACe,IAAI,CAI7B;IACD,MAAMG,GAAG,GAAGF,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACG,KAAK,IAAI,OAAOH,MAAM,CAACG,KAAK,KAAK,QAAQ,IAC/FH,MAAM,CAACN,IAAI,KAAKU,SAAS,GAAGJ,MAAM,CAACG,KAAK,GAAGH,MAAM;IACtD,OAAO;MACLN,IAAI,EAAE,OAAOQ,GAAG,EAAER,IAAI,KAAK,QAAQ,IAAIQ,GAAG,CAACR,IAAI,GAAGQ,GAAG,CAACR,IAAI,GAAGU,SAAS;MACtEd,OAAO,EAAE,OAAOY,GAAG,EAAEZ,OAAO,KAAK,QAAQ,IAAIY,GAAG,CAACZ,OAAO,GAAGY,GAAG,CAACZ,OAAO,GAAGc;IAC3E,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,CAAC,CAAC;EACX;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAW;EACzC,MAAMC,CAAC,GAAIC,UAAU,CAAsEC,MAAM;EACjG,IAAI,CAACF,CAAC,EAAEG,eAAe,EAAE;IACvB,MAAM,IAAItB,eAAe,CACvB,6EAA6E,GAC3E,yEAAyE,GACzE,oEACJ,CAAC;EACH;EACA,MAAMuB,KAAK,GAAGJ,CAAC,CAACG,eAAe,CAAC,IAAIE,UAAU,CAAC,EAAE,CAAC,CAAC;EACnD,IAAIC,GAAG,GAAG,EAAE;EACZF,KAAK,CAACG,OAAO,CAAEC,CAAC,IAAK;IACnBF,GAAG,IAAIG,MAAM,CAACC,YAAY,CAACF,CAAC,CAAC;EAC/B,CAAC,CAAC;EACF;EACA,OAAOG,IAAI,CAACL,GAAG,CAAC,CAACM,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAC7E;;AAEA;;AAMA,IAAIC,eAA2C,GAAG,IAAI;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,OAAmC,EAAQ;EACzEF,eAAe,GAAGE,OAAO;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAA+B;EAChE,IAAIH,eAAe,EAAE,OAAOA,eAAe;EAC3C,IAAI;IACF;IACA;IACA,MAAMI,GAAG,GAAIhB,UAAU,CAA2CiB,OAAO,IACnEC,IAAI,CAAC,SAAS,CAA6B;IACjD,MAAMC,GAAG,GAAGH,GAAG,CAAC,kCAAkC,CAKjD;IACD,MAAMT,CAAC,GAAGY,GAAG,EAAEC,YAAY;IAC3B,IAAI,CAACb,CAAC,IAAI,CAAC7C,aAAa,CAAC2D,cAAc,EAAE,OAAO,IAAI;IACpD,OAAO;MACLC,QAAQ,EAAE,MAAAA,CAAOC,GAAG,EAAEC,cAAc,KAAK;QACvC,MAAMC,CAAC,GAAG,MAAMlB,CAAC,CAACe,QAAQ,CAACC,GAAG,EAAEC,cAAc,EAAE;UAC9CE,mBAAmB,EAAE,KAAK;UAC1BC,SAAS,EAAE,IAAI;UACfC,kBAAkB,EAAE;QACtB,CAAC,CAAC;QACF,OAAOH,CAAC,CAACI,IAAI,KAAK,SAAS,IAAIJ,CAAC,CAACF,GAAG,GAAGE,CAAC,CAACF,GAAG,GAAG,IAAI;MACrD;IACF,CAAC;EACH,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAASO,oBAAoBA,CAACC,KAAc,EAAU;EACpD,MAAMC,IAAI,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAAC5D,IAAI,CAAC,CAAC,GAAG,EAAE;EAC1D;EACA;EACA;EACA;EACA,IAAI,CAAC,wBAAwB,CAACC,IAAI,CAAC4D,IAAI,CAAC,EAAE;IACxC,MAAM,IAAIpD,eAAe,CACvB,sFAAsF,GACpF,mFAAmF,GACnF,iBAAiB,EACnB;MAAEO,IAAI,EAAE;IAA4B,CACtC,CAAC;EACH;EACA;EACA;EACA,OAAO6C,IAAI,CAACrB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AACjC;AA4CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASsB,cAAcA,CAACC,GAAkB,EAAEC,KAAa,EAAU;EACxE,MAAMC,IAAI,GAAGF,GAAG,CAACG,YAAY,IAAI,SAAS;EAC1C,MAAMC,IAAI,GAAGJ,GAAG,CAACK,YAAY,IAAI,WAAW;EAC5C,OAAO,GAAGL,GAAG,CAACM,cAAc,MAAMJ,IAAI,GAAGE,IAAI,UAAUG,kBAAkB,CAACN,KAAK,CAAC,EAAE;AACpF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA,OAAO,SAASO,gBAAgBA,CAACC,GAA8B,EAAkB;EAC/E,OAAOA,GAAG,KAAK,SAAS,IAAIA,GAAG,KAAK,SAAS,IAAIA,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG,SAAS;AACrF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA,OAAO,SAASC,aAAaA,CAACC,GAAiB,EAA2B;EACxE,IAAI,iBAAiB,IAAIA,GAAG,IAAIA,GAAG,CAACC,eAAe,EAAE;IACnD,OAAO;MAAEC,iBAAiB,EAAEF,GAAG,CAACC;IAAgB,CAAC;EACnD;EACA,MAAME,GAAG,GAAGH,GAAG,CAACI,wBAAwB;EACxC,IAAI,CAACD,GAAG,IAAIE,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAACI,MAAM,KAAK,CAAC,EAAE;IACzC;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAM,IAAIxE,eAAe,CACvB,oEAAoE,GAClE,kEAAkE,GAClE,2EAA2E,EAC7E;MAAEO,IAAI,EAAE;IAAsB,CAChC,CAAC;EACH;EACA,OAAO;IAAEkE,0BAA0B,EAAEL;EAAI,CAAC;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASM,gBAAgBA,CAC9BC,WAAqC,EACrCC,MAA0B,EACK;EAC/B,MAAMC,OAAO,GAAGP,MAAM,CAACO,OAAO,CAACF,WAAW,IAAI,CAAC,CAAC,CAAC,CAACG,MAAM,CAAC,CAAC,GAAGC,CAAC,CAAC,KAAK,OAAOA,CAAC,KAAK,QAAQ,IAAIA,CAAC,CAACxF,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;EAC7G,IAAIsF,OAAO,CAACG,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,KAAKA,CAAC,KAAK,OAAO,CAAC,EAAE;IACxC,MAAM,IAAIjF,eAAe,CACvB,0FAA0F,EAC1F;MAAEO,IAAI,EAAE;IAA2B,CACrC,CAAC;EACH;EACA,IAAIsE,OAAO,CAACL,MAAM,KAAK,CAAC,EAAE;IACxB,MAAM,IAAIxE,eAAe,CACvB,yFAAyF,GACvF,2CAA2C,EAC7C;MAAEO,IAAI,EAAE;IAAsB,CAChC,CAAC;EACH;EACA,MAAM2E,IAAI,GAAGL,OAAO,CAACL,MAAM,KAAK,CAAC,GAAGK,OAAO,CAAC,CAAC,CAAC,GAAG5D,SAAS;EAC1D,IAAIiE,IAAI,EAAE,OAAO,CAACA,IAAI,CAAC,CAAC,CAAC,EAAEA,IAAI,CAAC,CAAC,CAAC,CAAC;EACnC,MAAMC,MAAM,GAAG,CAACP,MAAM,IAAI,EAAE,EAAEQ,IAAI,CAAEC,KAAK,IAAKR,OAAO,CAACG,IAAI,CAAC,CAAC,CAACC,CAAC,CAAC,KAAKA,CAAC,KAAKI,KAAK,CAAC,CAAC;EACjF,MAAMC,WAAW,GAAGH,MAAM,KAAKlE,SAAS,GAAGA,SAAS,GAAG0D,WAAW,CAACQ,MAAM,CAAC;EAC1E,IAAIA,MAAM,KAAKlE,SAAS,IAAIqE,WAAW,KAAKrE,SAAS,EAAE;IACrD,MAAM,IAAIjB,eAAe,CACvB,mDAAmD6E,OAAO,CAACL,MAAM,cAAc,GAC7E,IAAIK,OAAO,CAACU,GAAG,CAAC,CAAC,CAACN,CAAC,CAAC,KAAKA,CAAC,CAAC,CAACO,IAAI,CAAC,IAAI,CAAC,8CAA8C,GACpF,sCAAsC,EACxC;MAAEjF,IAAI,EAAE;IAAuB,CACjC,CAAC;EACH;EACA,OAAO,CAAC4E,MAAM,EAAEG,WAAW,CAAC;AAC9B;;AA2BA;;AAWA;AACA,OAAO,MAAMG,kCAAkC,GAAG,CAAC;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAC3B,GAAY,EAAmB;EAC/D,MAAMlB,CAAC,GAAIkB,GAAG,IAAI,OAAOA,GAAG,KAAK,QAAQ,GAAGA,GAAG,GAAG,CAAC,CAA6B;EAChF,MAAM4B,GAA4B,GAAG;IAAE,GAAG9C;EAAE,CAAC;EAC7C8C,GAAG,CAACC,OAAO,GAAG,OAAO/C,CAAC,CAAC+C,OAAO,KAAK,SAAS,GAAG/C,CAAC,CAAC+C,OAAO,GAAG,IAAI;EAC/D,MAAMC,EAAE,GAAGhD,CAAC,CAACiD,WAAW;EACxB,IAAI,OAAOD,EAAE,KAAK,QAAQ,IAAIlG,MAAM,CAACoG,QAAQ,CAACF,EAAE,CAAC,IAAIA,EAAE,IAAI,CAAC,EAAEF,GAAG,CAACG,WAAW,GAAGrG,IAAI,CAACuG,IAAI,CAACH,EAAE,CAAC,CAAC,KACzF,OAAOF,GAAG,CAACG,WAAW;EAC3B,OAAOH,GAAG;AACZ;;AAEA;AACA,OAAO,SAASM,mBAAmBA,CAACC,CAAuC,EAAU;EACnF,OAAOzG,IAAI,CAACC,GAAG,CAACwG,CAAC,CAACJ,WAAW,IAAI,CAAC,EAAEL,kCAAkC,CAAC,GAAG,IAAI;AAChF;AA+EA,OAAO,MAAMU,iBAAiB,CAAC;EAC7B;;EAGAjG,WAAWA,CAASoD,GAAkB,EAAE;IAAA,KAApBA,GAAkB,GAAlBA,GAAkB;IACpC;IACA;IACA;IACA;IACA;IACA;IACA;IACA,MAAMF,IAAI,GAAGF,oBAAoB,CAACI,GAAG,EAAE8C,cAAc,CAAC;IACtD,IAAI,CAAChD,IAAI,GAAGA,IAAI;IAChB;IACA;IACA,IAAIA,IAAI,CAACiD,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,oDAAoD,CAAC7G,IAAI,CAAC4D,IAAI,CAAC,EAAE;MAClGE,GAAG,CAACgD,YAAY,GAAG,wEAAwE,CAAC;IAC9F;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcC,IAAIA,CAAI7C,IAAY,EAAE8C,IAAa,EAAEpG,IAA8B,GAAG,CAAC,CAAC,EAAc;IAClG,MAAMqG,YAAY,GAAG,IAAI,CAACnD,GAAG,CAACoD,gBAAgB,IAAI,KAAK;IACvD,MAAMC,QAAQ,GAAGtH,IAAI,CAACD,GAAG,CAAC,CAAC,IAAI,IAAI,CAACkE,GAAG,CAACsD,cAAc,IAAIH,YAAY,GAAG,CAAC,CAAC;IAC3E,MAAMI,WAAW,GAAGpH,IAAI,CAACM,GAAG,CAAC,CAAC,EAAE,IAAI,CAACuD,GAAG,CAACuD,WAAW,IAAI,CAAC,CAAC;IAC1D;IACA;IACA,MAAMC,cAAc,GAAG1G,IAAI,CAAC2G,UAAU,KAAK,KAAK,GAAG9F,SAAS,GAAGC,gBAAgB,CAAC,CAAC;IAEjF,IAAI8F,SAAsC;IAC1C,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,IAAIJ,WAAW,EAAEI,OAAO,EAAE,EAAE;MACvD,MAAMC,UAAU,GAAG,IAAIC,eAAe,CAAC,CAAC;MACxC,MAAMC,MAAM,GAAG3H,IAAI,CAACC,GAAG,CAAC+G,YAAY,EAAEhH,IAAI,CAACM,GAAG,CAAC,CAAC,EAAE4G,QAAQ,GAAGtH,IAAI,CAACD,GAAG,CAAC,CAAC,CAAC,CAAC;MACzE,MAAMiI,KAAK,GAAGC,UAAU,CAAC,MAAMJ,UAAU,CAACK,KAAK,CAAC,CAAC,EAAEH,MAAM,CAAC;MAC1D,IAAII,GAAa;MACjB,IAAI;QACFA,GAAG,GAAG,MAAMC,KAAK,CAAC,GAAG,IAAI,CAACrE,IAAI,GAAGM,IAAI,EAAE,EAAE;UACvCgE,MAAM,EAAE,MAAM;UACdC,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,YAAY,EAAE1I,cAAc;YAC5B,kBAAkB,EAAED,cAAc;YAClC,IAAI8H,cAAc,GAAG;cAAE,iBAAiB,EAAEA;YAAe,CAAC,GAAG,CAAC,CAAC;UACjE,CAAC;UACDN,IAAI,EAAE1F,IAAI,CAAC8G,SAAS,CAACpB,IAAI,CAAC;UAC1BqB,MAAM,EAAEX,UAAU,CAACW;QACrB,CAAC,CAAC;MACJ,CAAC,CAAC,OAAOC,CAAU,EAAE;QACnB,MAAMC,GAAG,GAAGD,CAAwC;QACpDd,SAAS,GAAG,IAAIhH,eAAe,CAC7B+H,GAAG,EAAE1H,IAAI,KAAK,YAAY,GACtB,cAAcqD,IAAI,6BAA6B0D,MAAM,IAAI,GACzD,cAAc1D,IAAI,KAAKqE,GAAG,EAAE5H,OAAO,IAAI,eAAe,EAAE,EAC5D;UAAEO,SAAS,EAAE;QAAK,CACpB,CAAC;QACD,IAAIuG,OAAO,GAAGJ,WAAW,KAAK,MAAM,IAAI,CAACmB,OAAO,CAACf,OAAO,EAAE,IAAI,EAAEN,QAAQ,CAAC,CAAC,EAAE;QAC5E,MAAMK,SAAS;MACjB,CAAC,SAAS;QACRiB,YAAY,CAACZ,KAAK,CAAC;MACrB;MAEA,MAAM5G,SAAS,GAAG+G,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,cAAc,CAAC,IAAIV,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,cAAc,CAAC,IAAIjH,SAAS;MACjG,MAAML,IAAI,GAAG,MAAM4G,GAAG,CAAC5G,IAAI,CAAC,CAAC;MAC7B,IAAI4G,GAAG,CAACW,EAAE,EAAE;QACV,IAAI;UACF,OAAOrH,IAAI,CAACjB,KAAK,CAACe,IAAI,CAAC;QACzB,CAAC,CAAC,MAAM;UACN;UACA;UACA,MAAM,IAAIZ,eAAe,CACvB,cAAc0D,IAAI,kCAAkC9C,IAAI,CAAC4D,MAAM,SAAS,EACxE;YAAElE,MAAM,EAAEkH,GAAG,CAAClH,MAAM;YAAEG;UAAU,CAClC,CAAC;QACH;MACF;;MAEA;MACA;MACA;MACA,MAAM2H,QAAQ,GAAGzH,iBAAiB,CAACC,IAAI,CAAC;MACxC,MAAML,IAAI,GAAG6H,QAAQ,CAAC7H,IAAI;MAC1B,MAAMG,SAAS,GAAG8G,GAAG,CAAClH,MAAM,KAAK,GAAG,IAAIkH,GAAG,CAAClH,MAAM,IAAI,GAAG;MACzD0G,SAAS,GAAG,IAAIhH,eAAe,CAC7B,cAAc0D,IAAI,gBAAgB8D,GAAG,CAAClH,MAAM,GAAGC,IAAI,GAAG,KAAKA,IAAI,GAAG,GAAG,EAAE,EAAE,EACzE;QAAED,MAAM,EAAEkH,GAAG,CAAClH,MAAM;QAAEC,IAAI;QAAEC,eAAe,EAAE4H,QAAQ,CAACjI,OAAO;QAAEM,SAAS;QAAEC;MAAU,CACtF,CAAC;MACD,IAAIA,SAAS,IAAIuG,OAAO,GAAGJ,WAAW,EAAE;QACtC,MAAMsB,EAAE,GAAG,MAAM,IAAI,CAACH,OAAO,CAACf,OAAO,EAAEO,GAAG,CAACG,OAAO,CAACO,GAAG,CAAC,aAAa,CAAC,EAAEvB,QAAQ,CAAC;QAChF,IAAIwB,EAAE,EAAE;MACV;MACA,MAAMnB,SAAS;IACjB;IACA;IACA,MAAMA,SAAS,IAAI,IAAIhH,eAAe,CAAC,cAAc0D,IAAI,uBAAuB,CAAC;EACnF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcsE,OAAOA,CAACf,OAAe,EAAEoB,UAAyB,EAAE1B,QAAgB,EAAoB;IACpG,IAAI2B,MAAc;IAClB,MAAMC,WAAW,GAAGrJ,eAAe,CAACmJ,UAAU,CAAC;IAC/C,IAAIE,WAAW,KAAK,IAAI,EAAE;MACxB;MACA;MACAD,MAAM,GAAGC,WAAW;IACtB,CAAC,MAAM;MACL,MAAMnF,IAAI,GAAG,IAAI,CAACE,GAAG,CAACkF,gBAAgB,IAAI,GAAG;MAC7CF,MAAM,GAAG7I,IAAI,CAACgJ,MAAM,CAAC,CAAC,GAAGrF,IAAI,GAAG3D,IAAI,CAACiJ,GAAG,CAAC,CAAC,EAAEzB,OAAO,GAAG,CAAC,CAAC;IAC1D;IACA,IAAI5H,IAAI,CAACD,GAAG,CAAC,CAAC,GAAGkJ,MAAM,IAAI3B,QAAQ,EAAE,OAAO,KAAK;IACjD,MAAM,IAAIgC,OAAO,CAAE9F,CAAC,IAAKyE,UAAU,CAACzE,CAAC,EAAEyF,MAAM,CAAC,CAAC;IAC/C,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMM,aAAaA,CAACxG,GAAyB,EAA2B;IACtE;IACA;IACA;IACA;IACA;IACA,MAAMmB,KAAK,GAAGrC,gBAAgB,CAAC,CAAC;IAChC,MAAM2H,QAAQ,GAAGxF,cAAc,CAAC,IAAI,CAACC,GAAG,EAAEC,KAAK,CAAC;IAChD,MAAMuF,OAAO,GAAG,MAAM,IAAI,CAACvC,IAAI,CAAiB,mBAAmB,EAAE;MACnEwC,oBAAoB,EAAE3G,GAAG,CAAC4G,kBAAkB;MAC5CC,OAAO,EAAE,UAAU;MACnBC,YAAY,EAAEL,QAAQ;MACtB;MACA;MACA;MACA,IAAIzG,GAAG,CAAC+G,aAAa,IAAI7E,MAAM,CAACC,IAAI,CAACnC,GAAG,CAAC+G,aAAa,CAAC,CAAC3E,MAAM,GAAG,CAAC,GAC9D;QAAE4E,cAAc,EAAEhH,GAAG,CAAC+G;MAAc,CAAC,GACrC,CAAC,CAAC,CAAC;MACP,IAAI/G,GAAG,CAAC8B,eAAe,GAAG;QAAEC,iBAAiB,EAAE/B,GAAG,CAAC8B;MAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1E,IAAI9B,GAAG,CAACiH,UAAU,GAAG;QAAEC,WAAW,EAAElH,GAAG,CAACiH;MAAW,CAAC,GAAG,CAAC,CAAC,CAAC;MAC1D,IAAIjH,GAAG,CAACmH,mBAAmB,KAAKtI,SAAS,GAAG;QAAEuI,qBAAqB,EAAEpH,GAAG,CAACmH;MAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;MACpG,IAAInH,GAAG,CAACqH,WAAW,GAAG;QAAEC,GAAG,EAAE;UAAEC,aAAa,EAAEvH,GAAG,CAACqH;QAAY;MAAE,CAAC,GAAG,CAAC,CAAC,CAAC;MACvE,IAAIrH,GAAG,CAACwH,QAAQ,GAAG;QAAEA,QAAQ,EAAExH,GAAG,CAACwH;MAAS,CAAC,GAAG,CAAC,CAAC,CAAC;MACnD;MACA,IAAIxH,GAAG,CAACyH,aAAa,GAAG;QAAEC,cAAc,EAAE1H,GAAG,CAACyH;MAAc,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAIzH,GAAG,CAAC2H,aAAa,GAAG;QAAEC,cAAc,EAAE5H,GAAG,CAAC2H;MAAc,CAAC,GAAG,CAAC,CAAC,CAAC;MACnE,IAAI3H,GAAG,CAAC6H,oBAAoB,GAAG;QAAEC,qBAAqB,EAAE9H,GAAG,CAAC6H;MAAqB,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC,CAAC;IACFnB,OAAO,CAACqB,aAAa,GAAG5G,KAAK;IAC7B,OAAOuF,OAAO;EAChB;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMsB,cAAcA,CAACtB,OAAgC,EAA0B;IAC7E,MAAMnG,GAAG,GAAG,OAAOmG,OAAO,KAAK,QAAQ,GAAGA,OAAO,GAAGA,OAAO,CAACuB,WAAW;IACvE,MAAMC,OAAO,GAAGnI,mBAAmB,CAAC,CAAC;IACrC,IAAI,CAACmI,OAAO,EAAE;MACZ,MAAM,IAAItK,eAAe,CACvB,2EAA2E,GACzE,gFAAgF,GAChF,gFAAgF,GAChF,oFAAoF,GACpF,iDACJ,CAAC;IACH;IACA,MAAMuK,QAAQ,GAAG,GAAG,IAAI,CAACjH,GAAG,CAACM,cAAc,KAAK;IAChD,MAAM4G,MAAM,GAAG,MAAMF,OAAO,CAAC5H,QAAQ,CAACC,GAAG,EAAE4H,QAAQ,CAAC;IACpD,OAAOC,MAAM;EACf;;EAEA;AACF;AACA;AACA;EACE,MAAcC,aAAaA,CAAC9H,GAAW,EAAiB;IACtD,MAAM2H,OAAO,GAAGnI,mBAAmB,CAAC,CAAC;IACrC,IAAI,CAACmI,OAAO,EAAE;MACZ,MAAM,IAAItK,eAAe,CACvB,4EACF,CAAC;IACH;IACA,MAAMsK,OAAO,CAAC5H,QAAQ,CAACC,GAAG,EAAE,GAAG,IAAI,CAACW,GAAG,CAACM,cAAc,KAAK,CAAC;EAC9D;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAM8G,QAAQA,CACZzG,GAAiB,EACjB0G,WAAmB,EACnBC,OAAwB,GAAG,CAAC,CAAC,EACH;IAC1B,MAAMpE,IAAI,GAAG;MAAE,GAAGxC,aAAa,CAACC,GAAG,CAAC;MAAE4G,YAAY,EAAEF;IAAY,CAAC;IACjE,MAAMG,GAAG,GAAG,MAAAA,CAAA,KAAYpF,iBAAiB,CAAC,MAAM,IAAI,CAACa,IAAI,CAAU,mBAAmB,EAAEC,IAAI,CAAC,CAAC;IAC9F,MAAMuE,KAAK,GAAG,MAAMD,GAAG,CAAC,CAAC;IACzB,IAAI,CAACF,OAAO,CAACI,gBAAgB,IAAID,KAAK,CAACnF,OAAO,EAAE,OAAOmF,KAAK;IAC5D,MAAMzC,MAAM,GAAGrC,mBAAmB,CAAC8E,KAAK,CAAC;IACzC,MAAM,IAAIpC,OAAO,CAAE9F,CAAC,IAAKyE,UAAU,CAACzE,CAAC,EAAEyF,MAAM,CAAC,CAAC;IAC/C,OAAOwC,GAAG,CAAC,CAAC;EACd;;EAEA;EACA,MAAMG,QAAQA,CAAChH,GAAiB,EAAEiH,QAAkB,EAAoB;IACtE,OAAO,IAAI,CAAC3E,IAAI,CAAC,mBAAmB,EAAE;MAAE,GAAGvC,aAAa,CAACC,GAAG,CAAC;MAAEiH;IAAS,CAAC,CAAC;EAC5E;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACA;EACA,MAAMC,mBAAmBA,CAACxG,WAAqC,EAA0B;IACvF,MAAM,CAACyG,IAAI,EAAEjI,KAAK,CAAC,GAAGuB,gBAAgB,CAACC,WAAW,EAAE,IAAI,CAACrB,GAAG,CAAC+H,gBAAgB,CAAC;IAC9E,OAAO,IAAI,CAAC9E,IAAI,CAAgB,0BAA0B,EAAE;MAC1D+E,kBAAkB,EAAEnI,KAAK;MACzBoI,uBAAuB,EAAEH;IAC3B,CAAC,CAAC;EACJ;;EAEA;EACA,MAAMI,UAAUA,CAAC7G,WAAqC,EAAiB;IACrE,MAAM8G,CAAC,GAAG,MAAM,IAAI,CAACN,mBAAmB,CAACxG,WAAW,CAAC;IACrD,MAAM,IAAI,CAAC8F,aAAa,CAACgB,CAAC,CAACC,UAAU,CAAC;EACxC;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,aAAaA,CAAChJ,GAAW,EAAEiJ,aAA4B,EAAmB;IACxE,IAAI/K,MAAW;IACf,IAAI;MACFA,MAAM,GAAG,IAAIgL,GAAG,CAAClJ,GAAG,CAAC;IACvB,CAAC,CAAC,MAAM;MACN,MAAM,IAAI3C,eAAe,CAAC,sBAAsB2C,GAAG,CAACmJ,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC;IAC5F;IACA;IACA,MAAMlH,MAAM,GAAG/D,MAAM,CAACkL,QAAQ,CAAChK,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAACiK,WAAW,CAAC,CAAC;IAC9D,IAAIpH,MAAM,KAAK,IAAI,CAACtB,GAAG,CAACM,cAAc,CAACoI,WAAW,CAAC,CAAC,EAAE;MACpD,MAAM,IAAIhM,eAAe,CACvB,iCAAiC4E,MAAM,cAAc,IAAI,CAACtB,GAAG,CAACM,cAAc,EAC9E,CAAC;IACH;IACA,MAAMqI,YAAY,GAAG,CAAC,IAAI,CAAC3I,GAAG,CAACG,YAAY,IAAI,SAAS,EAAEuI,WAAW,CAAC,CAAC;IACvE,IAAInL,MAAM,CAACqL,QAAQ,CAACF,WAAW,CAAC,CAAC,KAAKC,YAAY,EAAE;MAClD,MAAM,IAAIjM,eAAe,CACvB,+BAA+Ba,MAAM,CAACqL,QAAQ,cAAcD,YAAY,EAC1E,CAAC;IACH;IACA,MAAME,YAAY,GAAG,IAAI,CAAC7I,GAAG,CAACK,YAAY,IAAI,WAAW;IACzD,IAAI9C,MAAM,CAACuL,QAAQ,KAAKD,YAAY,EAAE;MACpC,MAAM,IAAInM,eAAe,CACvB,+BAA+Ba,MAAM,CAACuL,QAAQ,cAAcD,YAAY,EAC1E,CAAC;IACH;IACA,MAAME,UAAkC,GAAG,CAAC,CAAC;IAC7CxL,MAAM,CAACyL,YAAY,CAAC5K,OAAO,CAAC,CAACqD,CAAC,EAAEE,CAAC,KAAK;MACpCoH,UAAU,CAACpH,CAAC,CAAC,GAAGF,CAAC;IACnB,CAAC,CAAC;IACF,IAAI6G,aAAa,KAAK,IAAI,IAAIS,UAAU,CAAC9I,KAAK,KAAKqI,aAAa,EAAE;MAChE,MAAM,IAAI5L,eAAe,CACvB,gFACF,CAAC;IACH;IACA,OAAO;MACLuM,SAAS,EAAEF,UAAU,CAACG,UAAU;MAChCC,UAAU,EAAEJ,UAAU,CAACK,WAAW;MAClCpM,MAAM,EAAE+L,UAAU,CAAC/L,MAAM;MACzBqM,cAAc,EAAE7I,gBAAgB,CAACuI,UAAU,CAAC/L,MAAM,CAAC;MACnDsM,OAAO,EAAEP,UAAU,CAACO,OAAO,KAAK,GAAG;MACnCrJ,KAAK,EAAE8I,UAAU,CAAC9I,KAAK;MACvBsJ,SAAS,EAAER,UAAU,CAACS,GAAG;MACzBT;IACF,CAAC;EACH;AACF","ignoreList":[]}
@@ -18,8 +18,8 @@
18
18
  * third-party SDK with init/revoke hooks; refresh() starts/stops them on the
19
19
  * live consent state.
20
20
  */
21
- export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope, } from './session';
22
- export type { SessionConfig, ConsentSession, ConsentCallback, CallbackStatus, ConsentDecision, PortalSession, CreateSessionRequest, PrincipalRef, DataPrincipalIdentifiers, GuardianVerificationPending, InAppBrowserAdapter, } from './session';
21
+ export { ConsenteraSession, ConsenteraError, SDK_VERSION, SDK_IDENTIFIER, SDK_USER_AGENT, setInAppBrowser, resolveInAppBrowser, newCallbackState, parseRetryAfter, normalizeDecision, VALIDATE_PENDING_RETRY_CAP_SECONDS, callbackUrlFor, callbackStatusOf, portalIdentifier, readErrorEnvelope, } from './session';
22
+ export type { SessionConfig, ConsentSession, ConsentCallback, CallbackStatus, ConsentDecision, ValidateOptions, PortalSession, CreateSessionRequest, PrincipalRef, DataPrincipalIdentifiers, GuardianVerificationPending, InAppBrowserAdapter, } from './session';
23
23
  export { ConsentGate } from './gate';
24
24
  export type { Tracker, GateState } from './gate';
25
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,EACd,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kCAAkC,EAClC,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
5
5
  * that no request builder ever read, which is the same as not having one.
6
6
  */
7
- export declare const SDK_VERSION = "2.0.0";
8
- export declare const SDK_IDENTIFIER = "react-native/2.0.0";
7
+ export declare const SDK_VERSION = "2.1.0";
8
+ export declare const SDK_IDENTIFIER = "react-native/2.1.0";
9
9
  /**
10
10
  * The User-Agent the platform's audit coarsening actually parses.
11
11
  *
@@ -26,7 +26,7 @@ export declare const SDK_IDENTIFIER = "react-native/2.0.0";
26
26
  * fingerprint of the person's device. A support ticket needs the exact build, and
27
27
  * that is what the custom header carries, outside the audit trail.
28
28
  */
29
- export declare const SDK_USER_AGENT = "ConsenteraSDK/2.0.0 (react-native)";
29
+ export declare const SDK_USER_AGENT = "ConsenteraSDK/2.1.0 (react-native)";
30
30
  /**
31
31
  * `Retry-After` in either RFC 9110 form — delta-seconds, or an HTTP-date — as
32
32
  * milliseconds, or null when the header is absent or unparseable.
@@ -356,7 +356,45 @@ export interface ConsentDecision {
356
356
  purpose_code?: string;
357
357
  effective_at?: string;
358
358
  expires_at?: string;
359
+ /**
360
+ * Whether this answer reflects every consent act the platform has already
361
+ * accepted for this purpose (platform 936715ad71, F129). `false` means a
362
+ * NEWER act is still being applied: the answer is the previously recorded
363
+ * state (typically a DENY while a fresh grant is queued), and asking again
364
+ * after `retry_after` seconds should see it. A newer refusal is never
365
+ * pending; it decides at once.
366
+ *
367
+ * Always set by this SDK: a platform older than 936715ad71 does not send it,
368
+ * and a value that is not a JSON boolean is ignored; both read as `true`.
369
+ */
370
+ applied: boolean;
371
+ /**
372
+ * Seconds to wait before asking again, sent only with `applied: false`.
373
+ * Absent, negative or non-numeric values are dropped.
374
+ */
375
+ retry_after?: number;
359
376
  }
377
+ /** Options for {@link ConsenteraSession.validate}. */
378
+ export interface ValidateOptions {
379
+ /**
380
+ * Re-ask ONCE when the answer says `applied: false`, after the server's
381
+ * `retry_after` (1 s when it sent none), capped at
382
+ * {@link VALIDATE_PENDING_RETRY_CAP_SECONDS}. The second answer is returned
383
+ * whatever it says. Off by default.
384
+ */
385
+ retryWhenPending?: boolean;
386
+ }
387
+ /** The longest the `retryWhenPending` re-ask waits, in seconds. */
388
+ export declare const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
389
+ /**
390
+ * Reads `applied` and `retry_after` off a validate answer the one way every
391
+ * Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
392
+ * `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
393
+ * seconds), else dropped. Every other field passes through.
394
+ */
395
+ export declare function normalizeDecision(raw: unknown): ConsentDecision;
396
+ /** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
397
+ export declare function pendingRetryDelayMs(d: Pick<ConsentDecision, 'retry_after'>): number;
360
398
  export interface PortalSession {
361
399
  portal_url: string;
362
400
  expires_in_seconds: number;
@@ -416,6 +454,8 @@ export interface CreateSessionRequest {
416
454
  }
417
455
  export declare class ConsenteraSession {
418
456
  private cfg;
457
+ /** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
458
+ private readonly base;
419
459
  constructor(cfg: SessionConfig);
420
460
  /**
421
461
  * ONE transport for every road.
@@ -521,7 +561,7 @@ export declare class ConsenteraSession {
521
561
  * key fields — the mobile atom is `mobile` here and on create alike (F015);
522
562
  * `phone` is refused by name.
523
563
  */
524
- validate(who: PrincipalRef, purposeCode: string): Promise<ConsentDecision>;
564
+ validate(who: PrincipalRef, purposeCode: string, options?: ValidateOptions): Promise<ConsentDecision>;
525
565
  /** Withdraw purposes (codes or UUIDs) for the person named by [who]. */
526
566
  withdraw(who: PrincipalRef, purposes: string[]): Promise<unknown>;
527
567
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/session.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,cAAc,uBAAgC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,cAAc,uCAAgD,CAAC;AAE5E;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,GAAG,IAAI,CAOlG;AAED;;;;;;;GAOG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,yDAAyD;IACzD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAG1B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,OAAO,CAAC;KAChB;CAUT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAgBnF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACvE;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,IAAI,mBAAmB,GAAG,IAAI,CA4BhE;AA8CD,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1E,+GAA+G;AAC/G,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,cAAc,CAE/E;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,2BAA2B,CAAC;CACrD;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,2BAA2B;IAC1C,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,KAAK,CAAA;CAAE,GAC7D;IAAE,wBAAwB,EAAE,wBAAwB,CAAC;IAAC,eAAe,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpF,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBxE;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,wBAAwB,EACrC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GACzB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CA4B/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;OAUG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,IAAI,CAAC;AAEpD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAQ/D;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,MAAM,CAEnF;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,wFAAwF;IACxF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAmBlB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,GAAG;IAHvB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAEV,GAAG,EAAE,aAAa;IAiBtC;;;;;;;;;;;;;;;;;;;;OAoBG;YACW,IAAI;IA2ElB;;;;;;;OAOG;YACW,OAAO;IAgBrB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgCvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiB9E;;;OAGG;YACW,aAAa;IAU3B;;;;;;;;;;OAUG;IAYG,QAAQ,CACZ,GAAG,EAAE,YAAY,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,eAAe,CAAC;IAU3B,wEAAwE;IAClE,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IAGG,mBAAmB,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,aAAa,CAAC;IAQxF,6EAA6E;IACvE,UAAU,CAAC,WAAW,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe;CA8C1E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consentera/react-native-consent",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Consentera Consent SDK for React Native \u2014 DPDP Act 2023 compliant consent collection",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/index.ts CHANGED
@@ -28,6 +28,8 @@ export {
28
28
  resolveInAppBrowser,
29
29
  newCallbackState,
30
30
  parseRetryAfter,
31
+ normalizeDecision,
32
+ VALIDATE_PENDING_RETRY_CAP_SECONDS,
31
33
  callbackUrlFor,
32
34
  callbackStatusOf,
33
35
  portalIdentifier,
@@ -39,6 +41,7 @@ export type {
39
41
  ConsentCallback,
40
42
  CallbackStatus,
41
43
  ConsentDecision,
44
+ ValidateOptions,
42
45
  PortalSession,
43
46
  CreateSessionRequest,
44
47
  PrincipalRef,
package/src/session.ts CHANGED
@@ -6,7 +6,7 @@ import { NativeModules } from 'react-native';
6
6
  * ONE declaration. The Android and iOS twins each had an SDK_VERSION constant
7
7
  * that no request builder ever read, which is the same as not having one.
8
8
  */
9
- export const SDK_VERSION = '2.0.0';
9
+ export const SDK_VERSION = '2.1.0';
10
10
  export const SDK_IDENTIFIER = `react-native/${SDK_VERSION}`;
11
11
 
12
12
  /**
@@ -250,7 +250,9 @@ function assertBackendBaseUrl(value: unknown): string {
250
250
  { code: 'BACKEND_BASE_URL_REQUIRED' },
251
251
  );
252
252
  }
253
- return value as string;
253
+ // Trimmed ONCE, here (HC-13): whitespace and every trailing slash go, the
254
+ // path prefix stays, so "https://x/prefix/" joins as "https://x/prefix/consent/…".
255
+ return base.replace(/\/+$/, '');
254
256
  }
255
257
 
256
258
  export interface SessionConfig {
@@ -554,6 +556,58 @@ export interface ConsentDecision {
554
556
  purpose_code?: string;
555
557
  effective_at?: string;
556
558
  expires_at?: string;
559
+ /**
560
+ * Whether this answer reflects every consent act the platform has already
561
+ * accepted for this purpose (platform 936715ad71, F129). `false` means a
562
+ * NEWER act is still being applied: the answer is the previously recorded
563
+ * state (typically a DENY while a fresh grant is queued), and asking again
564
+ * after `retry_after` seconds should see it. A newer refusal is never
565
+ * pending; it decides at once.
566
+ *
567
+ * Always set by this SDK: a platform older than 936715ad71 does not send it,
568
+ * and a value that is not a JSON boolean is ignored; both read as `true`.
569
+ */
570
+ applied: boolean;
571
+ /**
572
+ * Seconds to wait before asking again, sent only with `applied: false`.
573
+ * Absent, negative or non-numeric values are dropped.
574
+ */
575
+ retry_after?: number;
576
+ }
577
+
578
+ /** Options for {@link ConsenteraSession.validate}. */
579
+ export interface ValidateOptions {
580
+ /**
581
+ * Re-ask ONCE when the answer says `applied: false`, after the server's
582
+ * `retry_after` (1 s when it sent none), capped at
583
+ * {@link VALIDATE_PENDING_RETRY_CAP_SECONDS}. The second answer is returned
584
+ * whatever it says. Off by default.
585
+ */
586
+ retryWhenPending?: boolean;
587
+ }
588
+
589
+ /** The longest the `retryWhenPending` re-ask waits, in seconds. */
590
+ export const VALIDATE_PENDING_RETRY_CAP_SECONDS = 5;
591
+
592
+ /**
593
+ * Reads `applied` and `retry_after` off a validate answer the one way every
594
+ * Consentera SDK reads them: `applied` is the JSON boolean, else `true`;
595
+ * `retry_after` is kept when it is a finite number >= 0 (rounded up to whole
596
+ * seconds), else dropped. Every other field passes through.
597
+ */
598
+ export function normalizeDecision(raw: unknown): ConsentDecision {
599
+ const r = (raw && typeof raw === 'object' ? raw : {}) as Record<string, unknown>;
600
+ const out: Record<string, unknown> = { ...r };
601
+ out.applied = typeof r.applied === 'boolean' ? r.applied : true;
602
+ const ra = r.retry_after;
603
+ if (typeof ra === 'number' && Number.isFinite(ra) && ra >= 0) out.retry_after = Math.ceil(ra);
604
+ else delete out.retry_after;
605
+ return out as unknown as ConsentDecision;
606
+ }
607
+
608
+ /** The wait before the one `retryWhenPending` re-ask, in milliseconds. */
609
+ export function pendingRetryDelayMs(d: Pick<ConsentDecision, 'retry_after'>): number {
610
+ return Math.min(d.retry_after ?? 1, VALIDATE_PENDING_RETRY_CAP_SECONDS) * 1000;
557
611
  }
558
612
 
559
613
  export interface PortalSession {
@@ -634,6 +688,9 @@ export interface CreateSessionRequest {
634
688
  }
635
689
 
636
690
  export class ConsenteraSession {
691
+ /** `cfg.backendBaseUrl`, normalised once at construction. Every request joins onto this. */
692
+ private readonly base: string;
693
+
637
694
  constructor(private cfg: SessionConfig) {
638
695
  // NO DEFAULT SERVER, and the refusal names the field. The app talks to its
639
696
  // OWN backend and nothing else, so no host this SDK could ship would ever
@@ -643,6 +700,7 @@ export class ConsenteraSession {
643
700
  // or '', which used to surface as a TypeError on `.startsWith` or as a
644
701
  // fetch to a relative path at the first request.
645
702
  const base = assertBackendBaseUrl(cfg?.backendBaseUrl);
703
+ this.base = base;
646
704
  // Enterprise guard: consent traffic must be HTTPS in production. Plain
647
705
  // HTTP is tolerated only for the local dev bridges, and loudly.
648
706
  if (base.startsWith('http://') && !/^http:\/\/(10\.0\.2\.2|localhost|127\.0\.0\.1)[:/]/.test(base)) {
@@ -686,7 +744,7 @@ export class ConsenteraSession {
686
744
  const timer = setTimeout(() => controller.abort(), budget);
687
745
  let res: Response;
688
746
  try {
689
- res = await fetch(`${this.cfg.backendBaseUrl}${path}`, {
747
+ res = await fetch(`${this.base}${path}`, {
690
748
  method: 'POST',
691
749
  headers: {
692
750
  'Content-Type': 'application/json',
@@ -906,11 +964,22 @@ export class ConsenteraSession {
906
964
  // Marking it async turns the throw into a rejection, so both call styles —
907
965
  // try/await and .catch() — behave the same. Found by the F015 test below,
908
966
  // which had to use `.rejects` and got a synchronous throw.
909
- async validate(who: PrincipalRef, purposeCode: string): Promise<ConsentDecision> {
910
- return this.post<ConsentDecision>('/consent/validate', {
911
- ...principalBody(who),
912
- purpose_code: purposeCode,
913
- });
967
+ //
968
+ // `options.retryWhenPending` (off by default): when the answer says
969
+ // `applied: false` — a newer act is still being applied (platform
970
+ // 936715ad71) — wait `retry_after` (capped at 5 s) and ask ONCE more.
971
+ async validate(
972
+ who: PrincipalRef,
973
+ purposeCode: string,
974
+ options: ValidateOptions = {},
975
+ ): Promise<ConsentDecision> {
976
+ const body = { ...principalBody(who), purpose_code: purposeCode };
977
+ const ask = async () => normalizeDecision(await this.post<unknown>('/consent/validate', body));
978
+ const first = await ask();
979
+ if (!options.retryWhenPending || first.applied) return first;
980
+ const waitMs = pendingRetryDelayMs(first);
981
+ await new Promise((r) => setTimeout(r, waitMs));
982
+ return ask();
914
983
  }
915
984
 
916
985
  /** Withdraw purposes (codes or UUIDs) for the person named by [who]. */