@apex-inc/capacitor-plugin 2.2.6 → 2.3.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 +47 -0
- package/android/src/main/java/inc/apex/capacitor/ApexCapacitorPlugin.kt +167 -0
- package/dist/definitions.d.ts +27 -1
- package/dist/definitions.d.ts.map +1 -1
- package/dist/esm/definitions.d.ts +27 -1
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/web.d.ts +15 -0
- package/dist/esm/web.d.ts.map +1 -1
- package/dist/esm/web.js +111 -15
- package/dist/esm/web.js.map +1 -1
- package/dist/web.d.ts +15 -0
- package/dist/web.d.ts.map +1 -1
- package/dist/web.js +111 -15
- package/dist/web.js.map +1 -1
- package/ios/Sources/ApexCapacitorPluginBridge/ApexCapacitorPlugin.swift +156 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -192,6 +192,53 @@ await Apex.addListener("sessionEnd", ({ sessionId, durationSeconds }) => {
|
|
|
192
192
|
});
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
+
## Experiments
|
|
196
|
+
|
|
197
|
+
Resolve a visitor's variant for a mobile experiment, then branch your UI:
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
const { variant, payload, eligible } = await Apex.getVariant({
|
|
201
|
+
experimentId: "exp_123",
|
|
202
|
+
});
|
|
203
|
+
if (!eligible) return renderControl();
|
|
204
|
+
if (variant === "variant_b") return render(payload);
|
|
205
|
+
return renderControl();
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### On-device variant screenshots (debug builds)
|
|
209
|
+
|
|
210
|
+
`captureVariantScreenshot()` rasterizes the current screen and attaches it to
|
|
211
|
+
the experiment as a `device`-source asset. The shot lands on the dashboard
|
|
212
|
+
experiment card (cover) and the detail **Variant previews** gallery, alongside
|
|
213
|
+
the web/agent captures. Use it for **authed in-app mobile screens that servers
|
|
214
|
+
can't reach** — public web URLs are auto-captured server-side on create, and
|
|
215
|
+
the agent CLI / `attach_experiment_asset` covers localhost.
|
|
216
|
+
|
|
217
|
+
```ts
|
|
218
|
+
captureVariantScreenshot(options: {
|
|
219
|
+
experimentId: string;
|
|
220
|
+
variantKey: string;
|
|
221
|
+
label?: string;
|
|
222
|
+
commitSha?: string;
|
|
223
|
+
}): Promise<{ captured: boolean; url?: string; reason?: string }>;
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
It's **debug-gated**: you must `Apex.initialize({ ..., debug: true })`. In
|
|
227
|
+
production it no-ops (`{ captured: false, reason: "debug_disabled" }`) and never
|
|
228
|
+
screenshots real end users — it's a QA/review tool. (Web returns
|
|
229
|
+
`{ captured: false, reason: "web_unsupported" }` — capture is native-only.)
|
|
230
|
+
|
|
231
|
+
Capture on the screen that renders the variant, keyed to the resolved variant:
|
|
232
|
+
|
|
233
|
+
```ts
|
|
234
|
+
const variant = useApexVariant(experimentId); // or: const { variant } = await Apex.getVariant({ experimentId })
|
|
235
|
+
useEffect(() => {
|
|
236
|
+
if (variant) {
|
|
237
|
+
Apex.captureVariantScreenshot({ experimentId, variantKey: variant });
|
|
238
|
+
}
|
|
239
|
+
}, [variant]);
|
|
240
|
+
```
|
|
241
|
+
|
|
195
242
|
## Offline durability
|
|
196
243
|
|
|
197
244
|
Events are persisted to IndexedDB (web), Core Data (iOS), or Room (Android). If the device is offline, they queue up to the configured `offlineQueueMaxSize` (default 1000). When the network returns, the plugin drains the queue in batches with exponential-backoff retry.
|
|
@@ -67,6 +67,13 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
67
67
|
private var releaseChannel: String = "unknown"
|
|
68
68
|
private var releaseChannelSource: String = "auto"
|
|
69
69
|
|
|
70
|
+
// Phase 4a — consent gate. Defaults granted; set false by
|
|
71
|
+
// initialize({ requireConsent: true }) until setConsent({ granted:true }).
|
|
72
|
+
private var consentGranted: Boolean = true
|
|
73
|
+
// Phase 3 — per-launch dedup so each (experiment, variant) exposure fires
|
|
74
|
+
// once. Concurrent set: getVariant resolves on background threads.
|
|
75
|
+
private val firedExposures = java.util.concurrent.ConcurrentHashMap.newKeySet<String>()
|
|
76
|
+
|
|
70
77
|
override fun load() {
|
|
71
78
|
val ctx = context
|
|
72
79
|
prefs = ctx.getSharedPreferences("apex-capacitor", Context.MODE_PRIVATE)
|
|
@@ -130,6 +137,8 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
130
137
|
apiBaseUrl = call.getString("apiUrl") ?: "https://app.apex.inc"
|
|
131
138
|
val rawKey = call.getString("apiKey")
|
|
132
139
|
apiKey = if (rawKey.isNullOrEmpty()) null else rawKey
|
|
140
|
+
// Phase 4a — consent gate.
|
|
141
|
+
consentGranted = !(call.getBoolean("requireConsent", false) ?: false)
|
|
133
142
|
val maxSize = call.getInt("offlineQueueMaxSize") ?: 1000
|
|
134
143
|
|
|
135
144
|
val queueFile = File(context.filesDir, "apex-capacitor/events.json")
|
|
@@ -408,6 +417,12 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
408
417
|
// kotlinx.coroutines here would bloat every consumer's APK by ~1MB.
|
|
409
418
|
@PluginMethod
|
|
410
419
|
fun identify(call: PluginCall) {
|
|
420
|
+
// Phase 4a — identify sends PII; collect nothing until consent given.
|
|
421
|
+
if (!consentGranted) {
|
|
422
|
+
if (debug) println("[apex-capacitor] consent not granted; skipping identify")
|
|
423
|
+
call.resolve()
|
|
424
|
+
return
|
|
425
|
+
}
|
|
411
426
|
val email = call.getString("email")?.trim()
|
|
412
427
|
if (email.isNullOrEmpty()) {
|
|
413
428
|
call.reject("email is required")
|
|
@@ -651,6 +666,125 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
651
666
|
}.start()
|
|
652
667
|
}
|
|
653
668
|
|
|
669
|
+
// ── Experiments (Phase 3 — native getVariant) ─────────────────────
|
|
670
|
+
//
|
|
671
|
+
// Resolve an experiment variant against
|
|
672
|
+
// `${apiBaseUrl}/api/experiments/:id/assign?unified=true&source=sdk`,
|
|
673
|
+
// passing the stable visitor id so assignment buckets on the SAME id the
|
|
674
|
+
// exposure carries. Fires `experiment_exposure` once per (experiment,
|
|
675
|
+
// variant). Background Thread + HttpURLConnection mirrors identify().
|
|
676
|
+
@PluginMethod
|
|
677
|
+
fun getVariant(call: PluginCall) {
|
|
678
|
+
val experimentId = call.getString("experimentId")
|
|
679
|
+
if (experimentId.isNullOrEmpty()) {
|
|
680
|
+
call.reject("experimentId is required")
|
|
681
|
+
return
|
|
682
|
+
}
|
|
683
|
+
// Phase 4a — without consent, resolve control and fire no exposure.
|
|
684
|
+
if (!consentGranted) {
|
|
685
|
+
call.resolve(
|
|
686
|
+
JSObject()
|
|
687
|
+
.put("experimentId", experimentId)
|
|
688
|
+
.put("variant", "control")
|
|
689
|
+
.put("payload", JSObject())
|
|
690
|
+
.put("eligible", false)
|
|
691
|
+
.put("reason", "no_consent"),
|
|
692
|
+
)
|
|
693
|
+
return
|
|
694
|
+
}
|
|
695
|
+
Thread {
|
|
696
|
+
val fallback = JSObject()
|
|
697
|
+
.put("experimentId", experimentId)
|
|
698
|
+
.put("variant", "control")
|
|
699
|
+
.put("payload", JSObject())
|
|
700
|
+
.put("eligible", false)
|
|
701
|
+
.put("reason", "not_found")
|
|
702
|
+
try {
|
|
703
|
+
val encodedId = java.net.URLEncoder.encode(experimentId, "UTF-8")
|
|
704
|
+
val url = java.net.URL(
|
|
705
|
+
"${apiBaseUrl.trimEnd('/')}/api/experiments/$encodedId/assign?unified=true&source=sdk",
|
|
706
|
+
)
|
|
707
|
+
val conn = url.openConnection() as java.net.HttpURLConnection
|
|
708
|
+
conn.requestMethod = "GET"
|
|
709
|
+
conn.setRequestProperty("x-apex-source", "sdk")
|
|
710
|
+
conn.setRequestProperty("x-apex-visitor-id", visitorId)
|
|
711
|
+
conn.setRequestProperty("x-apex-workspace", workspaceKey)
|
|
712
|
+
apiKey?.let { conn.setRequestProperty("x-apex-api-key", it) }
|
|
713
|
+
conn.connectTimeout = 10000
|
|
714
|
+
conn.readTimeout = 15000
|
|
715
|
+
val code = conn.responseCode
|
|
716
|
+
if (code !in 200..299) {
|
|
717
|
+
conn.disconnect()
|
|
718
|
+
call.resolve(fallback)
|
|
719
|
+
return@Thread
|
|
720
|
+
}
|
|
721
|
+
val body = conn.inputStream.bufferedReader().use { it.readText() }
|
|
722
|
+
conn.disconnect()
|
|
723
|
+
val json = JSObject(body)
|
|
724
|
+
val variant = json.optString("variant", "control")
|
|
725
|
+
val eligible = json.optBoolean("eligible", false)
|
|
726
|
+
val payloadObj = json.optJSONObject("payload")
|
|
727
|
+
?.let { JSObject(it.toString()) } ?: JSObject()
|
|
728
|
+
val result = JSObject()
|
|
729
|
+
.put("experimentId", experimentId)
|
|
730
|
+
.put("variant", variant)
|
|
731
|
+
.put("payload", payloadObj)
|
|
732
|
+
.put("eligible", eligible)
|
|
733
|
+
if (json.has("reason")) {
|
|
734
|
+
val reason = json.optString("reason")
|
|
735
|
+
if (reason.isNotEmpty()) result.put("reason", reason)
|
|
736
|
+
}
|
|
737
|
+
if (eligible) {
|
|
738
|
+
val key = "$experimentId:$variant"
|
|
739
|
+
if (firedExposures.add(key)) {
|
|
740
|
+
enqueueExposure(experimentId, variant)
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
call.resolve(result)
|
|
744
|
+
} catch (e: Exception) {
|
|
745
|
+
if (debug) println("[apex-capacitor] getVariant failed: ${e.message}")
|
|
746
|
+
call.resolve(fallback)
|
|
747
|
+
}
|
|
748
|
+
}.start()
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* Enqueue a canonical `experiment_exposure` event stamped like track()
|
|
753
|
+
* (platform / timestamp / visitorId / clientType / mobile slot), then
|
|
754
|
+
* best-effort flush so the one-shot exposure leaves the device promptly.
|
|
755
|
+
*/
|
|
756
|
+
private fun enqueueExposure(experimentId: String, variant: String) {
|
|
757
|
+
val queue = offlineQueue ?: return
|
|
758
|
+
val payload = mutableMapOf<String, Any?>()
|
|
759
|
+
payload["type"] = "experiment_exposure"
|
|
760
|
+
payload["data"] = mapOf(
|
|
761
|
+
"experiment_id" to experimentId,
|
|
762
|
+
"variant_key" to variant,
|
|
763
|
+
"surface" to "mobile",
|
|
764
|
+
)
|
|
765
|
+
if (testMode) payload["testMode"] = true
|
|
766
|
+
payload["platform"] = "android"
|
|
767
|
+
payload["timestamp"] = java.time.Instant.now().toString()
|
|
768
|
+
payload["visitorId"] = visitorId
|
|
769
|
+
payload["clientType"] = "native-android"
|
|
770
|
+
payload["mobile"] = mutableMapOf<String, Any?>(
|
|
771
|
+
"releaseChannel" to releaseChannel,
|
|
772
|
+
"releaseChannelSource" to releaseChannelSource,
|
|
773
|
+
)
|
|
774
|
+
val event = NativeQueuedEvent(
|
|
775
|
+
id = UUID.randomUUID().toString().lowercase(),
|
|
776
|
+
payload = payload,
|
|
777
|
+
attempts = 0,
|
|
778
|
+
enqueuedAtMs = System.currentTimeMillis(),
|
|
779
|
+
)
|
|
780
|
+
try {
|
|
781
|
+
queue.enqueue(event)
|
|
782
|
+
batchSender?.flush(queue) { _, _ -> }
|
|
783
|
+
} catch (e: Exception) {
|
|
784
|
+
if (debug) println("[apex-capacitor] exposure enqueue failed: ${e.message}")
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
|
|
654
788
|
// ── SKAN (iOS-only) ───────────────────────────────────────────────
|
|
655
789
|
@PluginMethod
|
|
656
790
|
fun updateConversionValue(call: PluginCall) {
|
|
@@ -728,6 +862,12 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
728
862
|
call.reject("Plugin not initialized — call initialize() first")
|
|
729
863
|
return
|
|
730
864
|
}
|
|
865
|
+
// Phase 4a — collect nothing until consent is granted.
|
|
866
|
+
if (!consentGranted) {
|
|
867
|
+
if (debug) println("[apex-capacitor] consent not granted; dropping event")
|
|
868
|
+
call.resolve()
|
|
869
|
+
return
|
|
870
|
+
}
|
|
731
871
|
val id = call.getString("id") ?: UUID.randomUUID().toString().lowercase()
|
|
732
872
|
val payload = mutableMapOf<String, Any?>()
|
|
733
873
|
call.data.keys().forEach { key -> payload[key] = call.data.opt(key) }
|
|
@@ -815,6 +955,33 @@ class ApexCapacitorPlugin : Plugin() {
|
|
|
815
955
|
call.resolve()
|
|
816
956
|
}
|
|
817
957
|
|
|
958
|
+
// ── Consent (Phase 4a) ────────────────────────────────────────────
|
|
959
|
+
@PluginMethod
|
|
960
|
+
fun setConsent(call: PluginCall) {
|
|
961
|
+
val granted = call.getBoolean("granted", false) ?: false
|
|
962
|
+
consentGranted = granted
|
|
963
|
+
if (granted) {
|
|
964
|
+
// Resume: flush anything captured before this point.
|
|
965
|
+
val queue = offlineQueue
|
|
966
|
+
val sender = batchSender
|
|
967
|
+
if (queue != null && sender != null) {
|
|
968
|
+
sender.flush(queue) { _, _ -> }
|
|
969
|
+
}
|
|
970
|
+
} else {
|
|
971
|
+
// Revoke: drop anything queued but not yet sent.
|
|
972
|
+
try {
|
|
973
|
+
offlineQueue?.clear()
|
|
974
|
+
} catch (_: Exception) {
|
|
975
|
+
}
|
|
976
|
+
}
|
|
977
|
+
call.resolve()
|
|
978
|
+
}
|
|
979
|
+
|
|
980
|
+
@PluginMethod
|
|
981
|
+
fun getConsent(call: PluginCall) {
|
|
982
|
+
call.resolve(JSObject().put("granted", consentGranted))
|
|
983
|
+
}
|
|
984
|
+
|
|
818
985
|
// ── Internal ──────────────────────────────────────────────────────
|
|
819
986
|
|
|
820
987
|
private fun fetchInstallReferrer() {
|
package/dist/definitions.d.ts
CHANGED
|
@@ -198,6 +198,18 @@ export interface InitializeOptions {
|
|
|
198
198
|
offlineQueueMaxSize?: number;
|
|
199
199
|
/** Enable verbose console logging. Default false. */
|
|
200
200
|
debug?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* GDPR-style consent gate. When `true`, the plugin collects and sends
|
|
203
|
+
* NOTHING — no events, no identify, no experiment assignment/exposure —
|
|
204
|
+
* until you call `setConsent({ granted: true })` (e.g. from your privacy
|
|
205
|
+
* prompt's accept handler). Default `false` (collect immediately).
|
|
206
|
+
*
|
|
207
|
+
* Apex uses a first-party visitor id, not an ad identifier (IDFA), so iOS
|
|
208
|
+
* App Tracking Transparency is out of scope; this gate covers the consent
|
|
209
|
+
* obligation that does apply. (See `requestTrackingAuthorization` for ATT,
|
|
210
|
+
* which remains a separate, optional native prompt.)
|
|
211
|
+
*/
|
|
212
|
+
requireConsent?: boolean;
|
|
201
213
|
/**
|
|
202
214
|
* MMP-061 — manual override for {@link ReleaseChannel}.
|
|
203
215
|
*
|
|
@@ -312,7 +324,7 @@ export interface VariantAssignmentResult {
|
|
|
312
324
|
/** False when the visitor should see no variant (mutex/holdout/not-running). */
|
|
313
325
|
eligible: boolean;
|
|
314
326
|
/** Reason when `eligible` is false. */
|
|
315
|
-
reason?: "mutex_conflict" | "holdout" | "audience_exclude" | "not_started" | "completed" | "not_found";
|
|
327
|
+
reason?: "mutex_conflict" | "holdout" | "audience_exclude" | "not_started" | "completed" | "not_found" | "no_consent";
|
|
316
328
|
/** Experiment id this assignment belongs to. */
|
|
317
329
|
experimentId: string;
|
|
318
330
|
}
|
|
@@ -488,6 +500,20 @@ export interface ApexCapacitorPlugin {
|
|
|
488
500
|
setTestMode(options: {
|
|
489
501
|
enabled: boolean;
|
|
490
502
|
}): Promise<void>;
|
|
503
|
+
/**
|
|
504
|
+
* Grant or revoke data-collection consent at runtime. Wire this to your
|
|
505
|
+
* privacy / cookie prompt. `setConsent({ granted: true })` resumes
|
|
506
|
+
* collection (and flushes anything captured while waiting — there won't be
|
|
507
|
+
* any when `requireConsent` was set); `{ granted: false }` stops collection
|
|
508
|
+
* and drops anything queued but unsent.
|
|
509
|
+
*/
|
|
510
|
+
setConsent(options: {
|
|
511
|
+
granted: boolean;
|
|
512
|
+
}): Promise<void>;
|
|
513
|
+
/** Current consent state. */
|
|
514
|
+
getConsent(): Promise<{
|
|
515
|
+
granted: boolean;
|
|
516
|
+
}>;
|
|
491
517
|
/** Fires when a deep link opens the app while it is already running. */
|
|
492
518
|
addListener(eventName: "deepLink", listenerFunc: (event: {
|
|
493
519
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,6 +198,18 @@ export interface InitializeOptions {
|
|
|
198
198
|
offlineQueueMaxSize?: number;
|
|
199
199
|
/** Enable verbose console logging. Default false. */
|
|
200
200
|
debug?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* GDPR-style consent gate. When `true`, the plugin collects and sends
|
|
203
|
+
* NOTHING — no events, no identify, no experiment assignment/exposure —
|
|
204
|
+
* until you call `setConsent({ granted: true })` (e.g. from your privacy
|
|
205
|
+
* prompt's accept handler). Default `false` (collect immediately).
|
|
206
|
+
*
|
|
207
|
+
* Apex uses a first-party visitor id, not an ad identifier (IDFA), so iOS
|
|
208
|
+
* App Tracking Transparency is out of scope; this gate covers the consent
|
|
209
|
+
* obligation that does apply. (See `requestTrackingAuthorization` for ATT,
|
|
210
|
+
* which remains a separate, optional native prompt.)
|
|
211
|
+
*/
|
|
212
|
+
requireConsent?: boolean;
|
|
201
213
|
/**
|
|
202
214
|
* MMP-061 — manual override for {@link ReleaseChannel}.
|
|
203
215
|
*
|
|
@@ -312,7 +324,7 @@ export interface VariantAssignmentResult {
|
|
|
312
324
|
/** False when the visitor should see no variant (mutex/holdout/not-running). */
|
|
313
325
|
eligible: boolean;
|
|
314
326
|
/** Reason when `eligible` is false. */
|
|
315
|
-
reason?: "mutex_conflict" | "holdout" | "audience_exclude" | "not_started" | "completed" | "not_found";
|
|
327
|
+
reason?: "mutex_conflict" | "holdout" | "audience_exclude" | "not_started" | "completed" | "not_found" | "no_consent";
|
|
316
328
|
/** Experiment id this assignment belongs to. */
|
|
317
329
|
experimentId: string;
|
|
318
330
|
}
|
|
@@ -488,6 +500,20 @@ export interface ApexCapacitorPlugin {
|
|
|
488
500
|
setTestMode(options: {
|
|
489
501
|
enabled: boolean;
|
|
490
502
|
}): Promise<void>;
|
|
503
|
+
/**
|
|
504
|
+
* Grant or revoke data-collection consent at runtime. Wire this to your
|
|
505
|
+
* privacy / cookie prompt. `setConsent({ granted: true })` resumes
|
|
506
|
+
* collection (and flushes anything captured while waiting — there won't be
|
|
507
|
+
* any when `requireConsent` was set); `{ granted: false }` stops collection
|
|
508
|
+
* and drops anything queued but unsent.
|
|
509
|
+
*/
|
|
510
|
+
setConsent(options: {
|
|
511
|
+
granted: boolean;
|
|
512
|
+
}): Promise<void>;
|
|
513
|
+
/** Current consent state. */
|
|
514
|
+
getConsent(): Promise<{
|
|
515
|
+
granted: boolean;
|
|
516
|
+
}>;
|
|
491
517
|
/** Fires when a deep link opens the app while it is already running. */
|
|
492
518
|
addListener(eventName: "deepLink", listenerFunc: (event: {
|
|
493
519
|
url: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/web.d.ts
CHANGED
|
@@ -20,6 +20,12 @@ export declare class ApexCapacitorWeb extends WebPlugin implements ApexCapacitor
|
|
|
20
20
|
private testMode;
|
|
21
21
|
private debug;
|
|
22
22
|
private initialized;
|
|
23
|
+
/**
|
|
24
|
+
* Consent gate. Defaults to granted; flipped to false by
|
|
25
|
+
* `initialize({ requireConsent: true })` until `setConsent({ granted:true })`.
|
|
26
|
+
* While false, track/identify/getVariant collect and send nothing.
|
|
27
|
+
*/
|
|
28
|
+
private consentGranted;
|
|
23
29
|
/** Workspace-bound SDK key forwarded as `x-apex-api-key`. */
|
|
24
30
|
private apiKey?;
|
|
25
31
|
/** Resolved API base URL — also used by identify(). */
|
|
@@ -121,9 +127,18 @@ export declare class ApexCapacitorWeb extends WebPlugin implements ApexCapacitor
|
|
|
121
127
|
setTestMode(options: {
|
|
122
128
|
enabled: boolean;
|
|
123
129
|
}): Promise<void>;
|
|
130
|
+
setConsent(options: {
|
|
131
|
+
granted: boolean;
|
|
132
|
+
}): Promise<void>;
|
|
133
|
+
getConsent(): Promise<{
|
|
134
|
+
granted: boolean;
|
|
135
|
+
}>;
|
|
124
136
|
removeAllListeners(): Promise<void>;
|
|
125
137
|
private emitSession;
|
|
126
138
|
private loadOrCreateVisitorId;
|
|
139
|
+
/** Write the id to BOTH the canonical localStorage key and the shared cookie
|
|
140
|
+
* so every web-layer reader (plugin, hook, snippet) converges on one id. */
|
|
141
|
+
private persistVisitorId;
|
|
127
142
|
private saveVisitorId;
|
|
128
143
|
private ensureInitialized;
|
|
129
144
|
}
|
package/dist/esm/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,eAAe,EACf,uBAAuB,EACxB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,eAAe,EACf,uBAAuB,EACxB,MAAM,eAAe,CAAC;AA4GvB,qBAAa,gBAAiB,SAAQ,SAAU,YAAW,mBAAmB;IAC5E,OAAO,CAAC,KAAK,CAAC,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAQ;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,uDAAuD;IACvD,OAAO,CAAC,UAAU,CAA0B;IAC5C,0DAA0D;IAC1D,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAS;IAEzB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoErD,4BAA4B,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAI9D,iBAAiB,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;IAIzD;;;;OAIG;IACG,4BAA4B,IAAI,OAAO,CAAC,sBAAsB,CAAC;IAI/D,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIhD,kBAAkB,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAI1D,YAAY,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAO9C,YAAY,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;;;;;;;;;;;;;OAcG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CjD,qBAAqB,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,eAAe,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIX,kBAAkB,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAOrD,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAoBpC,YAAY,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAM9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,iBAAiB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ/C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAA2E;IAE5F,UAAU,CAAC,OAAO,EAAE;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAyFpC;;;;;;;;;;;OAWG;IACG,wBAAwB,CAAC,QAAQ,EAAE;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAW3D,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAuEtC,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC;IASpC,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC;IAMlC,WAAW,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,UAAU,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAI3C,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,qBAAqB;IA0B7B;iFAC6E;IAC7E,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;CAK1B"}
|
package/dist/esm/web.js
CHANGED
|
@@ -15,7 +15,31 @@ import { BatchSender } from "./batch-sender";
|
|
|
15
15
|
import { generateEventId, isValidEventId } from "./event-id";
|
|
16
16
|
import { IndexedDBStorage, InMemoryStorage, OfflineQueue } from "./offline-queue";
|
|
17
17
|
import { SessionManager } from "./session-manager";
|
|
18
|
-
|
|
18
|
+
// Canonical, shared with the web cookie + @apex-inc/sdk / useApexVariant so a
|
|
19
|
+
// Capacitor app's webview layer and its hook agree on ONE id (Phase 2a).
|
|
20
|
+
const CANONICAL_VISITOR_KEY = "apex_vid";
|
|
21
|
+
// Legacy localStorage key, read once for migration to the canonical key.
|
|
22
|
+
const LEGACY_VISITOR_KEY = "apex.visitorId";
|
|
23
|
+
function readCookie(name) {
|
|
24
|
+
if (typeof document === "undefined" || !document.cookie)
|
|
25
|
+
return null;
|
|
26
|
+
const m = document.cookie.match(new RegExp(`(?:^|; )${name}=([^;]*)`));
|
|
27
|
+
return m ? decodeURIComponent(m[1]) : null;
|
|
28
|
+
}
|
|
29
|
+
function writeCookie(name, value) {
|
|
30
|
+
if (typeof document === "undefined")
|
|
31
|
+
return;
|
|
32
|
+
const maxAge = 365 * 24 * 60 * 60;
|
|
33
|
+
try {
|
|
34
|
+
document.cookie = `${name}=${encodeURIComponent(value)}; path=/; max-age=${maxAge}; samesite=lax`;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
// Some webviews disallow cookie writes — localStorage still holds the id.
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isUsableId(v) {
|
|
41
|
+
return typeof v === "string" && v.trim().length >= 8;
|
|
42
|
+
}
|
|
19
43
|
/** Copies `fields` onto `target`, skipping `undefined` values. */
|
|
20
44
|
function assignDefined(target, fields) {
|
|
21
45
|
for (const [key, value] of Object.entries(fields)) {
|
|
@@ -89,6 +113,12 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
89
113
|
this.testMode = false;
|
|
90
114
|
this.debug = false;
|
|
91
115
|
this.initialized = false;
|
|
116
|
+
/**
|
|
117
|
+
* Consent gate. Defaults to granted; flipped to false by
|
|
118
|
+
* `initialize({ requireConsent: true })` until `setConsent({ granted:true })`.
|
|
119
|
+
* While false, track/identify/getVariant collect and send nothing.
|
|
120
|
+
*/
|
|
121
|
+
this.consentGranted = true;
|
|
92
122
|
/** Resolved API base URL — also used by identify(). */
|
|
93
123
|
this.apiBaseUrl = "https://app.apex.inc";
|
|
94
124
|
/**
|
|
@@ -108,6 +138,7 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
108
138
|
return;
|
|
109
139
|
this.testMode = options.testMode ?? false;
|
|
110
140
|
this.debug = options.debug ?? false;
|
|
141
|
+
this.consentGranted = options.requireConsent ? false : true;
|
|
111
142
|
this.apiKey = options.apiKey;
|
|
112
143
|
// `projectKey` is the deprecated permanent alias (2026-06 rename).
|
|
113
144
|
this.workspaceKey = options.workspaceKey ?? options.projectKey ?? "";
|
|
@@ -210,6 +241,13 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
210
241
|
*/
|
|
211
242
|
async identify(options) {
|
|
212
243
|
this.ensureInitialized();
|
|
244
|
+
// Consent gate — identify sends PII (email/traits); collect nothing until
|
|
245
|
+
// consent is granted. No-op (don't throw) so callers can wire it freely.
|
|
246
|
+
if (!this.consentGranted) {
|
|
247
|
+
if (this.debug)
|
|
248
|
+
console.log("[apex-capacitor] consent not granted; skipping identify");
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
213
251
|
const email = options.email?.trim();
|
|
214
252
|
if (!email) {
|
|
215
253
|
throw new Error("Apex.identify: `email` is required.");
|
|
@@ -289,6 +327,16 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
289
327
|
async getVariant(options) {
|
|
290
328
|
this.ensureInitialized();
|
|
291
329
|
const { experimentId, forceRefresh } = options;
|
|
330
|
+
// Consent gate — without consent, resolve to control and fire no exposure.
|
|
331
|
+
if (!this.consentGranted) {
|
|
332
|
+
return {
|
|
333
|
+
experimentId,
|
|
334
|
+
variant: "control",
|
|
335
|
+
payload: {},
|
|
336
|
+
eligible: false,
|
|
337
|
+
reason: "no_consent",
|
|
338
|
+
};
|
|
339
|
+
}
|
|
292
340
|
if (!forceRefresh) {
|
|
293
341
|
const cached = this.assignmentCache.get(experimentId);
|
|
294
342
|
if (cached)
|
|
@@ -299,9 +347,18 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
299
347
|
const apiUrl = this.sender?.getApiUrl() ?? "https://app.apex.inc";
|
|
300
348
|
const url = `${apiUrl.replace(/\/$/, "")}/api/experiments/${encodeURIComponent(experimentId)}/assign?unified=true&source=sdk`;
|
|
301
349
|
try {
|
|
350
|
+
// Pass the plugin's stable visitor id so assignment buckets on the SAME
|
|
351
|
+
// id the exposure event carries (Phase 3). Without this the server minted
|
|
352
|
+
// a throwaway id, so assign and exposure disagreed and the same person
|
|
353
|
+
// could get different variants on web vs native.
|
|
354
|
+
const visitorId = this.visitorId ?? this.loadOrCreateVisitorId();
|
|
355
|
+
const headers = { "x-apex-source": "sdk" };
|
|
356
|
+
if (isUsableId(visitorId))
|
|
357
|
+
headers["x-apex-visitor-id"] = visitorId;
|
|
302
358
|
const res = await fetch(url, {
|
|
303
359
|
method: "GET",
|
|
304
|
-
|
|
360
|
+
credentials: "include",
|
|
361
|
+
headers,
|
|
305
362
|
});
|
|
306
363
|
const json = (await res.json());
|
|
307
364
|
const result = {
|
|
@@ -375,6 +432,12 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
375
432
|
}
|
|
376
433
|
async track(event) {
|
|
377
434
|
this.ensureInitialized();
|
|
435
|
+
// Consent gate — collect nothing until consent is granted.
|
|
436
|
+
if (!this.consentGranted) {
|
|
437
|
+
if (this.debug)
|
|
438
|
+
console.log("[apex-capacitor] consent not granted; dropping", event.type);
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
378
441
|
if (event.type === "app_open")
|
|
379
442
|
this.appOpenTracked = true;
|
|
380
443
|
const sessionSnapshot = this.session.recordActivity();
|
|
@@ -454,6 +517,24 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
454
517
|
async setTestMode(options) {
|
|
455
518
|
this.testMode = options.enabled;
|
|
456
519
|
}
|
|
520
|
+
async setConsent(options) {
|
|
521
|
+
this.consentGranted = options.granted;
|
|
522
|
+
if (this.debug)
|
|
523
|
+
console.log("[apex-capacitor] consent set", options.granted);
|
|
524
|
+
if (options.granted) {
|
|
525
|
+
// Resume: best-effort flush of anything captured before this point.
|
|
526
|
+
if (this.queue && this.sender) {
|
|
527
|
+
void this.sender.flush(this.queue).catch(() => { });
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
// Revoke: drop anything queued but not yet sent.
|
|
532
|
+
await this.queue?.clear().catch(() => { });
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
async getConsent() {
|
|
536
|
+
return { granted: this.consentGranted };
|
|
537
|
+
}
|
|
457
538
|
async removeAllListeners() {
|
|
458
539
|
await super.removeAllListeners();
|
|
459
540
|
}
|
|
@@ -467,30 +548,45 @@ export class ApexCapacitorWeb extends WebPlugin {
|
|
|
467
548
|
this.notifyListeners(eventName, payload);
|
|
468
549
|
}
|
|
469
550
|
loadOrCreateVisitorId() {
|
|
551
|
+
// Prefer the shared web cookie so the webview agrees with useApexVariant /
|
|
552
|
+
// @apex-inc/sdk (one app, one id). Then the canonical localStorage key,
|
|
553
|
+
// then the legacy key (migrated forward), else mint.
|
|
554
|
+
const cookieId = readCookie(CANONICAL_VISITOR_KEY);
|
|
555
|
+
if (isUsableId(cookieId)) {
|
|
556
|
+
this.persistVisitorId(cookieId);
|
|
557
|
+
return cookieId;
|
|
558
|
+
}
|
|
470
559
|
if (typeof localStorage !== "undefined") {
|
|
471
|
-
const
|
|
472
|
-
if (
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
try {
|
|
476
|
-
localStorage.setItem(VISITOR_ID_KEY, fresh);
|
|
560
|
+
const canonical = localStorage.getItem(CANONICAL_VISITOR_KEY);
|
|
561
|
+
if (isUsableId(canonical)) {
|
|
562
|
+
this.persistVisitorId(canonical);
|
|
563
|
+
return canonical;
|
|
477
564
|
}
|
|
478
|
-
|
|
479
|
-
|
|
565
|
+
const legacy = localStorage.getItem(LEGACY_VISITOR_KEY);
|
|
566
|
+
if (isUsableId(legacy)) {
|
|
567
|
+
this.persistVisitorId(legacy);
|
|
568
|
+
return legacy;
|
|
480
569
|
}
|
|
481
|
-
return fresh;
|
|
482
570
|
}
|
|
483
|
-
|
|
571
|
+
const fresh = generateEventId();
|
|
572
|
+
this.persistVisitorId(fresh);
|
|
573
|
+
return fresh;
|
|
484
574
|
}
|
|
485
|
-
|
|
575
|
+
/** Write the id to BOTH the canonical localStorage key and the shared cookie
|
|
576
|
+
* so every web-layer reader (plugin, hook, snippet) converges on one id. */
|
|
577
|
+
persistVisitorId(id) {
|
|
486
578
|
if (typeof localStorage !== "undefined") {
|
|
487
579
|
try {
|
|
488
|
-
localStorage.setItem(
|
|
580
|
+
localStorage.setItem(CANONICAL_VISITOR_KEY, id);
|
|
489
581
|
}
|
|
490
582
|
catch {
|
|
491
|
-
//
|
|
583
|
+
// Storage quota / private mode — cookie still holds the id.
|
|
492
584
|
}
|
|
493
585
|
}
|
|
586
|
+
writeCookie(CANONICAL_VISITOR_KEY, id);
|
|
587
|
+
}
|
|
588
|
+
saveVisitorId(id) {
|
|
589
|
+
this.persistVisitorId(id);
|
|
494
590
|
}
|
|
495
591
|
ensureInitialized() {
|
|
496
592
|
if (!this.initialized || !this.queue || !this.session || !this.sender) {
|
package/dist/esm/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgB5C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,cAAc,EAAwB,MAAM,mBAAmB,CAAC;AAEzE,8EAA8E;AAC9E,yEAAyE;AACzE,MAAM,qBAAqB,GAAG,UAAU,CAAC;AACzC,yEAAyE;AACzE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AAE5C,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO;IAC5C,MAAM,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAClC,IAAI,CAAC;QACH,QAAQ,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,qBAAqB,MAAM,gBAAgB,CAAC;IACpG,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,CAA4B;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,kEAAkE;AAClE,SAAS,aAAa,CACpB,MAA+B,EAC/B,MAA+B;IAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,4BAA4B,CACnC,KAAgB;IAEhB,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzB,IAAI,CAAC,EAAE,CAAC;QACN,aAAa,CAAC,SAAS,EAAE;YACvB,4DAA4D;YAC5D,8DAA8D;YAC9D,yDAAyD;YACzD,QAAQ,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,SAAS;YACxC,KAAK,EAAE,CAAC,CAAC,MAAM;YACf,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,8DAA8D;YAC9D,6DAA6D;YAC7D,YAAY,EAAG,CAA6B,CAAC,WAAW;YACxD,cAAc,EAAE,CAAC,CAAC,aAAa;YAC/B,WAAW,EAAE,CAAC,CAAC,UAAU;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC;QACN,aAAa,CAAC,SAAS,EAAE;YACvB,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,cAAc,EAAE,CAAC,CAAC,aAAa;YAC/B,UAAU,EAAE,CAAC,CAAC,SAAS;YACvB,QAAQ,EAAE,CAAC,CAAC,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IAC3D,0DAA0D;IAC1D,OAAO,EAAE,GAAG,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;AAE/C,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAA/C;;QAKU,aAAQ,GAAG,KAAK,CAAC;QACjB,UAAK,GAAG,KAAK,CAAC;QACd,gBAAW,GAAG,KAAK,CAAC;QAC5B;;;;WAIG;QACK,mBAAc,GAAG,IAAI,CAAC;QAG9B,uDAAuD;QAC/C,eAAU,GAAG,sBAAsB,CAAC;QAG5C;;;;WAIG;QACK,mBAAc,GAAG,KAAK,CAAC;QA4N/B;;;WAGG;QACK,oBAAe,GAAiE,IAAI,GAAG,EAAE,CAAC;IAwSpG,CAAC;IAtgBC,KAAK,CAAC,UAAU,CAAC,OAA0B;QACzC,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,mEAAmE;QACnE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC;YAC5B,OAAO;YACP,OAAO,EAAE,OAAO,CAAC,mBAAmB,IAAI,IAAI;YAC5C,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;gBAChB,IAAI,IAAI,CAAC,KAAK;oBAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,CAAC;YAChC,cAAc,EAAE,OAAO,CAAC,qBAAqB,IAAI,EAAE;YACnD,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1D,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;SACvD,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,KAAK;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,4DAA4D;QAC5D,+DAA+D;QAC/D,iEAAiE;QACjE,gEAAgE;QAChE,gDAAgD;QAChD,kEAAkE;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,2DAA2D;QAC3D,oDAAoD;QACpD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAChC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,KAAK,CACrE,GAAG,EAAE;oBACH,4CAA4C;gBAC9C,CAAC,CACF,CAAC;YACJ,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAED,KAAK,CAAC,4BAA4B;QAChC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,4BAA4B;QAChC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAA8B;QAC/C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,sBAAsB,CAAC;QACrD,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,eAAe,EAAE,KAAK;SACvB,CAAC;QACF,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACzD,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvE,MAAM,IAAI,GAAG;YACX,SAAS;YACT,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAChD,MAAM,IAAI,KAAK,CACb,wCAAwC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,QAG3B;QACC,0BAA0B;IAC5B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrD,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,4EAA4E;QAC5E,MAAM,EAAE,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAC/E,MAAM,EAAE,GACN,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;QACzF,OAAO;YACL,QAAQ,EAAE,SAAkB,EAAE,kEAAkE;YAChG,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC;YAC1B,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YACjE,QAAQ,EAAE,EAAE;YACZ,MAAM;YACN,mEAAmE;YACnE,mEAAmE;YACnE,kEAAkE;SACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAQ,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC;QACnD,OAAO;YACL,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;YACrC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI;SACtC,CAAC;IACJ,CAAC;IAQD,KAAK,CAAC,UAAU,CAAC,OAGhB;QACC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAE/C,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO;gBACL,YAAY;gBACZ,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,YAAY;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnC,CAAC;QAED,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,sBAAsB,CAAC;QAClE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,kBAAkB,CAC5E,YAAY,CACb,iCAAiC,CAAC;QAEnC,IAAI,CAAC;YACH,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,iDAAiD;YACjD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjE,MAAM,OAAO,GAA2B,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YACnE,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,EAAE,KAAK;gBACb,WAAW,EAAE,SAAS;gBACtB,OAAO;aACR,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAE7B,CAAC;YACF,MAAM,MAAM,GAA4B;gBACtC,YAAY;gBACZ,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,SAAS;gBAClC,OAAO,EAAG,IAAI,CAAC,OAAmC,IAAI,EAAE;gBACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;gBAChC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnE,qEAAqE;YACrE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAClC,KAAK,IAAI,CAAC,KAAK,CAAC;wBACd,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE;4BACJ,aAAa,EAAE,YAAY;4BAC3B,WAAW,EAAE,MAAM,CAAC,OAAO;4BAC3B,OAAO,EAAE,QAAQ;yBAClB;qBACF,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3D,+DAA+D;gBAC/D,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;oBACxC,YAAY;oBACZ,UAAU,EAAE,MAAM;iBACnB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO;gBACL,YAAY;gBACZ,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,WAAW;aACpB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,wBAAwB,CAAC,QAK9B;QACC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACvD,CAAC;QACD,gEAAgE;QAChE,iEAAiE;QACjE,oEAAoE;QACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAgB;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,2DAA2D;QAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,GAAG,CAAC,gDAAgD,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAE1D,MAAM,eAAe,GAAG,IAAI,CAAC,OAAQ,CAAC,cAAc,EAAE,CAAC;QACvD,mEAAmE;QACnE,gEAAgE;QAChE,yBAAyB;QACzB,EAAE;QACF,gEAAgE;QAChE,qCAAqC;QACrC,EAAE;QACF,kEAAkE;QAClE,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,8DAA8D;QAC9D,kEAAkE;QAClE,kCAAkC;QAClC,EAAE;QACF,8DAA8D;QAC9D,8DAA8D;QAC9D,gDAAgD;QAChD,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,0DAA0D;QAC1D,4DAA4D;QAC5D,2CAA2C;QAC3C,MAAM,OAAO,GAAc;YACzB,GAAG,KAAK;YACR,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,eAAe,EAAE;YACjC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACtD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,eAAe,CAAC,SAAS;YACvD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,mBAAmB;YACnD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,+DAA+D;YAC/D,kEAAkE;YAClE,mEAAmE;YACnE,iEAAiE;YACjE,0CAA0C;YAC1C,GAAG,EACD,KAAK,CAAC,GAAG;gBACT,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ;oBAC/C,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;oBACtB,CAAC,CAAC,SAAS,CAAC;YAChB,6DAA6D;YAC7D,8DAA8D;YAC9D,IAAI,EAAE,4BAA4B,CAAC,KAAK,CAAC;SAC1C,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9C,sEAAsE;YACtE,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAChF,OAAO,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC;QACjC,CAAC;QAED,MAAM,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnC,8EAA8E;QAC9E,KAAK,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;SAC3B,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAM,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6B;QAC7C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAA6B;QAC5C,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,oEAAoE;YACpE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,iDAAiD;YACjD,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,MAAM,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAEO,WAAW,CACjB,SAAwC,EACxC,OAAwB;QAExB,MAAM,OAAO,GACX,SAAS,KAAK,cAAc;YAC1B,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE;YAClC,CAAC,CAAC;gBACE,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe,IAAI,CAAC;aAC9C,CAAC;QACR,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,qBAAqB;QAC3B,2EAA2E;QAC3E,wEAAwE;QACxE,qDAAqD;QACrD,MAAM,QAAQ,GAAG,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAChC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;YAC9D,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;YACxD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAC9B,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED;iFAC6E;IACrE,gBAAgB,CAAC,EAAU;QACjC,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;QACD,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CAAC,EAAU;QAC9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;CACF"}
|
package/dist/web.d.ts
CHANGED
|
@@ -20,6 +20,12 @@ export declare class ApexCapacitorWeb extends WebPlugin implements ApexCapacitor
|
|
|
20
20
|
private testMode;
|
|
21
21
|
private debug;
|
|
22
22
|
private initialized;
|
|
23
|
+
/**
|
|
24
|
+
* Consent gate. Defaults to granted; flipped to false by
|
|
25
|
+
* `initialize({ requireConsent: true })` until `setConsent({ granted:true })`.
|
|
26
|
+
* While false, track/identify/getVariant collect and send nothing.
|
|
27
|
+
*/
|
|
28
|
+
private consentGranted;
|
|
23
29
|
/** Workspace-bound SDK key forwarded as `x-apex-api-key`. */
|
|
24
30
|
private apiKey?;
|
|
25
31
|
/** Resolved API base URL — also used by identify(). */
|
|
@@ -121,9 +127,18 @@ export declare class ApexCapacitorWeb extends WebPlugin implements ApexCapacitor
|
|
|
121
127
|
setTestMode(options: {
|
|
122
128
|
enabled: boolean;
|
|
123
129
|
}): Promise<void>;
|
|
130
|
+
setConsent(options: {
|
|
131
|
+
granted: boolean;
|
|
132
|
+
}): Promise<void>;
|
|
133
|
+
getConsent(): Promise<{
|
|
134
|
+
granted: boolean;
|
|
135
|
+
}>;
|
|
124
136
|
removeAllListeners(): Promise<void>;
|
|
125
137
|
private emitSession;
|
|
126
138
|
private loadOrCreateVisitorId;
|
|
139
|
+
/** Write the id to BOTH the canonical localStorage key and the shared cookie
|
|
140
|
+
* so every web-layer reader (plugin, hook, snippet) converges on one id. */
|
|
141
|
+
private persistVisitorId;
|
|
127
142
|
private saveVisitorId;
|
|
128
143
|
private ensureInitialized;
|
|
129
144
|
}
|
package/dist/web.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,eAAe,EACf,uBAAuB,EACxB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
|
package/dist/web.js
CHANGED
|
@@ -18,7 +18,31 @@ const batch_sender_1 = require("./batch-sender");
|
|
|
18
18
|
const event_id_1 = require("./event-id");
|
|
19
19
|
const offline_queue_1 = require("./offline-queue");
|
|
20
20
|
const session_manager_1 = require("./session-manager");
|
|
21
|
-
|
|
21
|
+
// Canonical, shared with the web cookie + @apex-inc/sdk / useApexVariant so a
|
|
22
|
+
// Capacitor app's webview layer and its hook agree on ONE id (Phase 2a).
|
|
23
|
+
const CANONICAL_VISITOR_KEY = "apex_vid";
|
|
24
|
+
// Legacy localStorage key, read once for migration to the canonical key.
|
|
25
|
+
const LEGACY_VISITOR_KEY = "apex.visitorId";
|
|
26
|
+
function readCookie(name) {
|
|
27
|
+
if (typeof document === "undefined" || !document.cookie)
|
|
28
|
+
return null;
|
|
29
|
+
const m = document.cookie.match(new RegExp(`(?:^|; )${name}=([^;]*)`));
|
|
30
|
+
return m ? decodeURIComponent(m[1]) : null;
|
|
31
|
+
}
|
|
32
|
+
function writeCookie(name, value) {
|
|
33
|
+
if (typeof document === "undefined")
|
|
34
|
+
return;
|
|
35
|
+
const maxAge = 365 * 24 * 60 * 60;
|
|
36
|
+
try {
|
|
37
|
+
document.cookie = `${name}=${encodeURIComponent(value)}; path=/; max-age=${maxAge}; samesite=lax`;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Some webviews disallow cookie writes — localStorage still holds the id.
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function isUsableId(v) {
|
|
44
|
+
return typeof v === "string" && v.trim().length >= 8;
|
|
45
|
+
}
|
|
22
46
|
/** Copies `fields` onto `target`, skipping `undefined` values. */
|
|
23
47
|
function assignDefined(target, fields) {
|
|
24
48
|
for (const [key, value] of Object.entries(fields)) {
|
|
@@ -92,6 +116,12 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
92
116
|
this.testMode = false;
|
|
93
117
|
this.debug = false;
|
|
94
118
|
this.initialized = false;
|
|
119
|
+
/**
|
|
120
|
+
* Consent gate. Defaults to granted; flipped to false by
|
|
121
|
+
* `initialize({ requireConsent: true })` until `setConsent({ granted:true })`.
|
|
122
|
+
* While false, track/identify/getVariant collect and send nothing.
|
|
123
|
+
*/
|
|
124
|
+
this.consentGranted = true;
|
|
95
125
|
/** Resolved API base URL — also used by identify(). */
|
|
96
126
|
this.apiBaseUrl = "https://app.apex.inc";
|
|
97
127
|
/**
|
|
@@ -111,6 +141,7 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
111
141
|
return;
|
|
112
142
|
this.testMode = options.testMode ?? false;
|
|
113
143
|
this.debug = options.debug ?? false;
|
|
144
|
+
this.consentGranted = options.requireConsent ? false : true;
|
|
114
145
|
this.apiKey = options.apiKey;
|
|
115
146
|
// `projectKey` is the deprecated permanent alias (2026-06 rename).
|
|
116
147
|
this.workspaceKey = options.workspaceKey ?? options.projectKey ?? "";
|
|
@@ -213,6 +244,13 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
213
244
|
*/
|
|
214
245
|
async identify(options) {
|
|
215
246
|
this.ensureInitialized();
|
|
247
|
+
// Consent gate — identify sends PII (email/traits); collect nothing until
|
|
248
|
+
// consent is granted. No-op (don't throw) so callers can wire it freely.
|
|
249
|
+
if (!this.consentGranted) {
|
|
250
|
+
if (this.debug)
|
|
251
|
+
console.log("[apex-capacitor] consent not granted; skipping identify");
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
216
254
|
const email = options.email?.trim();
|
|
217
255
|
if (!email) {
|
|
218
256
|
throw new Error("Apex.identify: `email` is required.");
|
|
@@ -292,6 +330,16 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
292
330
|
async getVariant(options) {
|
|
293
331
|
this.ensureInitialized();
|
|
294
332
|
const { experimentId, forceRefresh } = options;
|
|
333
|
+
// Consent gate — without consent, resolve to control and fire no exposure.
|
|
334
|
+
if (!this.consentGranted) {
|
|
335
|
+
return {
|
|
336
|
+
experimentId,
|
|
337
|
+
variant: "control",
|
|
338
|
+
payload: {},
|
|
339
|
+
eligible: false,
|
|
340
|
+
reason: "no_consent",
|
|
341
|
+
};
|
|
342
|
+
}
|
|
295
343
|
if (!forceRefresh) {
|
|
296
344
|
const cached = this.assignmentCache.get(experimentId);
|
|
297
345
|
if (cached)
|
|
@@ -302,9 +350,18 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
302
350
|
const apiUrl = this.sender?.getApiUrl() ?? "https://app.apex.inc";
|
|
303
351
|
const url = `${apiUrl.replace(/\/$/, "")}/api/experiments/${encodeURIComponent(experimentId)}/assign?unified=true&source=sdk`;
|
|
304
352
|
try {
|
|
353
|
+
// Pass the plugin's stable visitor id so assignment buckets on the SAME
|
|
354
|
+
// id the exposure event carries (Phase 3). Without this the server minted
|
|
355
|
+
// a throwaway id, so assign and exposure disagreed and the same person
|
|
356
|
+
// could get different variants on web vs native.
|
|
357
|
+
const visitorId = this.visitorId ?? this.loadOrCreateVisitorId();
|
|
358
|
+
const headers = { "x-apex-source": "sdk" };
|
|
359
|
+
if (isUsableId(visitorId))
|
|
360
|
+
headers["x-apex-visitor-id"] = visitorId;
|
|
305
361
|
const res = await fetch(url, {
|
|
306
362
|
method: "GET",
|
|
307
|
-
|
|
363
|
+
credentials: "include",
|
|
364
|
+
headers,
|
|
308
365
|
});
|
|
309
366
|
const json = (await res.json());
|
|
310
367
|
const result = {
|
|
@@ -378,6 +435,12 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
378
435
|
}
|
|
379
436
|
async track(event) {
|
|
380
437
|
this.ensureInitialized();
|
|
438
|
+
// Consent gate — collect nothing until consent is granted.
|
|
439
|
+
if (!this.consentGranted) {
|
|
440
|
+
if (this.debug)
|
|
441
|
+
console.log("[apex-capacitor] consent not granted; dropping", event.type);
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
381
444
|
if (event.type === "app_open")
|
|
382
445
|
this.appOpenTracked = true;
|
|
383
446
|
const sessionSnapshot = this.session.recordActivity();
|
|
@@ -457,6 +520,24 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
457
520
|
async setTestMode(options) {
|
|
458
521
|
this.testMode = options.enabled;
|
|
459
522
|
}
|
|
523
|
+
async setConsent(options) {
|
|
524
|
+
this.consentGranted = options.granted;
|
|
525
|
+
if (this.debug)
|
|
526
|
+
console.log("[apex-capacitor] consent set", options.granted);
|
|
527
|
+
if (options.granted) {
|
|
528
|
+
// Resume: best-effort flush of anything captured before this point.
|
|
529
|
+
if (this.queue && this.sender) {
|
|
530
|
+
void this.sender.flush(this.queue).catch(() => { });
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
else {
|
|
534
|
+
// Revoke: drop anything queued but not yet sent.
|
|
535
|
+
await this.queue?.clear().catch(() => { });
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
async getConsent() {
|
|
539
|
+
return { granted: this.consentGranted };
|
|
540
|
+
}
|
|
460
541
|
async removeAllListeners() {
|
|
461
542
|
await super.removeAllListeners();
|
|
462
543
|
}
|
|
@@ -470,30 +551,45 @@ class ApexCapacitorWeb extends core_1.WebPlugin {
|
|
|
470
551
|
this.notifyListeners(eventName, payload);
|
|
471
552
|
}
|
|
472
553
|
loadOrCreateVisitorId() {
|
|
554
|
+
// Prefer the shared web cookie so the webview agrees with useApexVariant /
|
|
555
|
+
// @apex-inc/sdk (one app, one id). Then the canonical localStorage key,
|
|
556
|
+
// then the legacy key (migrated forward), else mint.
|
|
557
|
+
const cookieId = readCookie(CANONICAL_VISITOR_KEY);
|
|
558
|
+
if (isUsableId(cookieId)) {
|
|
559
|
+
this.persistVisitorId(cookieId);
|
|
560
|
+
return cookieId;
|
|
561
|
+
}
|
|
473
562
|
if (typeof localStorage !== "undefined") {
|
|
474
|
-
const
|
|
475
|
-
if (
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
try {
|
|
479
|
-
localStorage.setItem(VISITOR_ID_KEY, fresh);
|
|
563
|
+
const canonical = localStorage.getItem(CANONICAL_VISITOR_KEY);
|
|
564
|
+
if (isUsableId(canonical)) {
|
|
565
|
+
this.persistVisitorId(canonical);
|
|
566
|
+
return canonical;
|
|
480
567
|
}
|
|
481
|
-
|
|
482
|
-
|
|
568
|
+
const legacy = localStorage.getItem(LEGACY_VISITOR_KEY);
|
|
569
|
+
if (isUsableId(legacy)) {
|
|
570
|
+
this.persistVisitorId(legacy);
|
|
571
|
+
return legacy;
|
|
483
572
|
}
|
|
484
|
-
return fresh;
|
|
485
573
|
}
|
|
486
|
-
|
|
574
|
+
const fresh = (0, event_id_1.generateEventId)();
|
|
575
|
+
this.persistVisitorId(fresh);
|
|
576
|
+
return fresh;
|
|
487
577
|
}
|
|
488
|
-
|
|
578
|
+
/** Write the id to BOTH the canonical localStorage key and the shared cookie
|
|
579
|
+
* so every web-layer reader (plugin, hook, snippet) converges on one id. */
|
|
580
|
+
persistVisitorId(id) {
|
|
489
581
|
if (typeof localStorage !== "undefined") {
|
|
490
582
|
try {
|
|
491
|
-
localStorage.setItem(
|
|
583
|
+
localStorage.setItem(CANONICAL_VISITOR_KEY, id);
|
|
492
584
|
}
|
|
493
585
|
catch {
|
|
494
|
-
//
|
|
586
|
+
// Storage quota / private mode — cookie still holds the id.
|
|
495
587
|
}
|
|
496
588
|
}
|
|
589
|
+
writeCookie(CANONICAL_VISITOR_KEY, id);
|
|
590
|
+
}
|
|
591
|
+
saveVisitorId(id) {
|
|
592
|
+
this.persistVisitorId(id);
|
|
497
593
|
}
|
|
498
594
|
ensureInitialized() {
|
|
499
595
|
if (!this.initialized || !this.queue || !this.session || !this.sender) {
|
package/dist/web.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"web.js","sourceRoot":"","sources":["../src/web.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,10 +41,13 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
41
41
|
CAPPluginMethod(name: "endSession", returnType: CAPPluginReturnPromise),
|
|
42
42
|
CAPPluginMethod(name: "getCurrentSession", returnType: CAPPluginReturnPromise),
|
|
43
43
|
CAPPluginMethod(name: "captureVariantScreenshot", returnType: CAPPluginReturnPromise),
|
|
44
|
+
CAPPluginMethod(name: "getVariant", returnType: CAPPluginReturnPromise),
|
|
44
45
|
CAPPluginMethod(name: "track", returnType: CAPPluginReturnPromise),
|
|
45
46
|
CAPPluginMethod(name: "getQueueSize", returnType: CAPPluginReturnPromise),
|
|
46
47
|
CAPPluginMethod(name: "flushQueue", returnType: CAPPluginReturnPromise),
|
|
47
48
|
CAPPluginMethod(name: "setTestMode", returnType: CAPPluginReturnPromise),
|
|
49
|
+
CAPPluginMethod(name: "setConsent", returnType: CAPPluginReturnPromise),
|
|
50
|
+
CAPPluginMethod(name: "getConsent", returnType: CAPPluginReturnPromise),
|
|
48
51
|
]
|
|
49
52
|
|
|
50
53
|
// MARK: - Dependencies (lazy; constructed after initialize())
|
|
@@ -94,6 +97,13 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
94
97
|
private var releaseChannel: String = "unknown"
|
|
95
98
|
private var releaseChannelSource: String = "auto"
|
|
96
99
|
private var lastReleaseChannelDetectedAt: Date = Date(timeIntervalSince1970: 0)
|
|
100
|
+
|
|
101
|
+
// Phase 4a — consent gate. Defaults granted; set false by
|
|
102
|
+
// initialize({ requireConsent: true }) until setConsent({ granted:true }).
|
|
103
|
+
private var consentGranted = true
|
|
104
|
+
// Phase 3 — per-launch dedup so each (experiment, variant) exposure
|
|
105
|
+
// fires once, matching the JS/web fallback.
|
|
106
|
+
private var firedExposures = Set<String>()
|
|
97
107
|
// MMP-207 — debounced flush. Without this, every `track()` call
|
|
98
108
|
// kicked a POST, so 8 quick taps = 8 separate single-event HTTP
|
|
99
109
|
// requests. With debounce, rapid-fire events coalesce into one
|
|
@@ -201,6 +211,8 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
201
211
|
// authorize quarantine-mode auto-stitch.
|
|
202
212
|
let rawKey = call.getString("apiKey") ?? ""
|
|
203
213
|
apiKey = rawKey.isEmpty ? nil : rawKey
|
|
214
|
+
// Phase 4a — consent gate.
|
|
215
|
+
consentGranted = !(call.getBool("requireConsent") ?? false)
|
|
204
216
|
|
|
205
217
|
// MMP-061 — release channel detection. iOS uses the receipt URL
|
|
206
218
|
// + StoreKit 2 AppTransaction. Any JS-supplied override on iOS
|
|
@@ -535,6 +547,12 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
535
547
|
/// guarantees than firing a track event, and merchants tend to
|
|
536
548
|
/// wire identify behind a one-shot boundary.
|
|
537
549
|
@objc public func identify(_ call: CAPPluginCall) {
|
|
550
|
+
// Phase 4a — identify sends PII; collect nothing until consent given.
|
|
551
|
+
if !consentGranted {
|
|
552
|
+
if debug { print("[apex-capacitor] consent not granted; skipping identify") }
|
|
553
|
+
call.resolve()
|
|
554
|
+
return
|
|
555
|
+
}
|
|
538
556
|
guard let email = call.getString("email")?.trimmingCharacters(in: .whitespaces),
|
|
539
557
|
!email.isEmpty else {
|
|
540
558
|
call.reject("email is required")
|
|
@@ -795,6 +813,119 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
795
813
|
}.resume()
|
|
796
814
|
}
|
|
797
815
|
|
|
816
|
+
// MARK: - Experiments (Phase 3 — native getVariant)
|
|
817
|
+
|
|
818
|
+
/// Resolve an experiment variant for this device against
|
|
819
|
+
/// `${apiBaseUrl}/api/experiments/:id/assign?unified=true&source=sdk`,
|
|
820
|
+
/// passing the stable visitor id so assignment buckets on the SAME id the
|
|
821
|
+
/// exposure event carries. Fires `experiment_exposure` once per
|
|
822
|
+
/// (experiment, variant). Falls back to control on any error.
|
|
823
|
+
@objc public func getVariant(_ call: CAPPluginCall) {
|
|
824
|
+
guard let experimentId = call.getString("experimentId"), !experimentId.isEmpty else {
|
|
825
|
+
call.reject("experimentId is required")
|
|
826
|
+
return
|
|
827
|
+
}
|
|
828
|
+
// Phase 4a — without consent, resolve control and fire no exposure.
|
|
829
|
+
if !consentGranted {
|
|
830
|
+
call.resolve([
|
|
831
|
+
"experimentId": experimentId,
|
|
832
|
+
"variant": "control",
|
|
833
|
+
"payload": [String: Any](),
|
|
834
|
+
"eligible": false,
|
|
835
|
+
"reason": "no_consent",
|
|
836
|
+
])
|
|
837
|
+
return
|
|
838
|
+
}
|
|
839
|
+
let fallback: [String: Any] = [
|
|
840
|
+
"experimentId": experimentId,
|
|
841
|
+
"variant": "control",
|
|
842
|
+
"payload": [String: Any](),
|
|
843
|
+
"eligible": false,
|
|
844
|
+
"reason": "not_found",
|
|
845
|
+
]
|
|
846
|
+
guard let encodedId = experimentId.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed),
|
|
847
|
+
let url = URL(string: "\(apiBaseUrl)/api/experiments/\(encodedId)/assign?unified=true&source=sdk") else {
|
|
848
|
+
call.resolve(fallback)
|
|
849
|
+
return
|
|
850
|
+
}
|
|
851
|
+
var request = URLRequest(url: url)
|
|
852
|
+
request.httpMethod = "GET"
|
|
853
|
+
request.setValue("sdk", forHTTPHeaderField: "x-apex-source")
|
|
854
|
+
request.setValue(visitorId, forHTTPHeaderField: "x-apex-visitor-id")
|
|
855
|
+
request.setValue(workspaceKey, forHTTPHeaderField: "x-apex-workspace")
|
|
856
|
+
if let key = apiKey {
|
|
857
|
+
request.setValue(key, forHTTPHeaderField: "x-apex-api-key")
|
|
858
|
+
}
|
|
859
|
+
URLSession.shared.dataTask(with: request) { [weak self] data, response, error in
|
|
860
|
+
guard let self = self else { return }
|
|
861
|
+
if error != nil {
|
|
862
|
+
call.resolve(fallback)
|
|
863
|
+
return
|
|
864
|
+
}
|
|
865
|
+
guard let http = response as? HTTPURLResponse,
|
|
866
|
+
(200...299).contains(http.statusCode),
|
|
867
|
+
let data = data,
|
|
868
|
+
let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any] else {
|
|
869
|
+
call.resolve(fallback)
|
|
870
|
+
return
|
|
871
|
+
}
|
|
872
|
+
let variant = (json["variant"] as? String) ?? "control"
|
|
873
|
+
let eligible = (json["eligible"] as? Bool) ?? false
|
|
874
|
+
let payload = (json["payload"] as? [String: Any]) ?? [:]
|
|
875
|
+
var result: [String: Any] = [
|
|
876
|
+
"experimentId": experimentId,
|
|
877
|
+
"variant": variant,
|
|
878
|
+
"payload": payload,
|
|
879
|
+
"eligible": eligible,
|
|
880
|
+
]
|
|
881
|
+
if let reason = json["reason"] as? String {
|
|
882
|
+
result["reason"] = reason
|
|
883
|
+
}
|
|
884
|
+
// Fire one exposure per (experiment, variant) on a real assignment.
|
|
885
|
+
if eligible {
|
|
886
|
+
let key = "\(experimentId):\(variant)"
|
|
887
|
+
if !self.firedExposures.contains(key) {
|
|
888
|
+
self.firedExposures.insert(key)
|
|
889
|
+
self.enqueueExposure(experimentId: experimentId, variant: variant)
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
call.resolve(result)
|
|
893
|
+
}.resume()
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
/// Enqueue a canonical `experiment_exposure` event, stamped the same way
|
|
897
|
+
/// `track(_:)` stamps every event (platform / timestamp / visitorId /
|
|
898
|
+
/// mobile slot / testMode). Batched through the offline queue.
|
|
899
|
+
private func enqueueExposure(experimentId: String, variant: String) {
|
|
900
|
+
guard let queue = offlineQueue else { return }
|
|
901
|
+
var payload: [String: AnyCodable] = [:]
|
|
902
|
+
payload["type"] = AnyCodable("experiment_exposure")
|
|
903
|
+
payload["data"] = AnyCodable([
|
|
904
|
+
"experiment_id": experimentId,
|
|
905
|
+
"variant_key": variant,
|
|
906
|
+
"surface": "mobile",
|
|
907
|
+
])
|
|
908
|
+
if testMode {
|
|
909
|
+
payload["testMode"] = AnyCodable(true)
|
|
910
|
+
}
|
|
911
|
+
payload["platform"] = AnyCodable("ios")
|
|
912
|
+
payload["timestamp"] = AnyCodable(ISO8601DateFormatter().string(from: Date()))
|
|
913
|
+
payload["visitorId"] = AnyCodable(visitorId)
|
|
914
|
+
let mobileSlot: [String: Any] = [
|
|
915
|
+
"releaseChannel": releaseChannel,
|
|
916
|
+
"releaseChannelSource": releaseChannelSource,
|
|
917
|
+
]
|
|
918
|
+
payload["mobile"] = AnyCodable(mobileSlot)
|
|
919
|
+
let event = NativeQueuedEvent(
|
|
920
|
+
id: UUID().uuidString.lowercased(),
|
|
921
|
+
payload: payload,
|
|
922
|
+
attempts: 0,
|
|
923
|
+
enqueuedAt: Date()
|
|
924
|
+
)
|
|
925
|
+
try? queue.enqueue(event)
|
|
926
|
+
kickFlush(reason: "track")
|
|
927
|
+
}
|
|
928
|
+
|
|
798
929
|
// MARK: - Events & Queue
|
|
799
930
|
|
|
800
931
|
@objc public func track(_ call: CAPPluginCall) {
|
|
@@ -802,6 +933,12 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
802
933
|
call.reject("Plugin not initialized — call initialize() first")
|
|
803
934
|
return
|
|
804
935
|
}
|
|
936
|
+
// Phase 4a — collect nothing until consent is granted.
|
|
937
|
+
if !consentGranted {
|
|
938
|
+
if debug { print("[apex-capacitor] consent not granted; dropping event") }
|
|
939
|
+
call.resolve()
|
|
940
|
+
return
|
|
941
|
+
}
|
|
805
942
|
|
|
806
943
|
let id = call.getString("id") ?? UUID().uuidString.lowercased()
|
|
807
944
|
let payloadDict = call.options.compactMapValues { $0 }
|
|
@@ -901,6 +1038,25 @@ public class ApexCapacitorPlugin: CAPPlugin, CAPBridgedPlugin, UNUserNotificatio
|
|
|
901
1038
|
testMode = call.getBool("enabled") ?? false
|
|
902
1039
|
call.resolve()
|
|
903
1040
|
}
|
|
1041
|
+
|
|
1042
|
+
// MARK: - Consent (Phase 4a)
|
|
1043
|
+
|
|
1044
|
+
@objc public func setConsent(_ call: CAPPluginCall) {
|
|
1045
|
+
let granted = call.getBool("granted") ?? false
|
|
1046
|
+
consentGranted = granted
|
|
1047
|
+
if granted {
|
|
1048
|
+
// Resume: flush anything captured before this point.
|
|
1049
|
+
kickFlush(reason: "consent")
|
|
1050
|
+
} else {
|
|
1051
|
+
// Revoke: drop anything queued but not yet sent.
|
|
1052
|
+
try? offlineQueue?.clear()
|
|
1053
|
+
}
|
|
1054
|
+
call.resolve()
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
@objc public func getConsent(_ call: CAPPluginCall) {
|
|
1058
|
+
call.resolve(["granted": consentGranted])
|
|
1059
|
+
}
|
|
904
1060
|
}
|
|
905
1061
|
|
|
906
1062
|
// MARK: - Date ISO 8601 helper
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@apex-inc/capacitor-plugin",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Apex Capacitor plugin — iOS/Android attribution, events, deep linking, SKAN, and offline-tolerant tracking for Capacitor apps.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|