@revturbine/sdk 0.10.1 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -7322,7 +7322,7 @@ declare const WebhookEventLogSchema: z.ZodObject<{
7322
7322
  declare const TrackEventSchema: z.ZodObject<{
7323
7323
  environment_id: z.ZodString;
7324
7324
  user_id: z.ZodString;
7325
- account_id: z.ZodString;
7325
+ account_id: z.ZodOptional<z.ZodString>;
7326
7326
  event_name: z.ZodString;
7327
7327
  event_ts: z.ZodString;
7328
7328
  properties: z.ZodOptional<z.ZodString>;
@@ -7348,7 +7348,7 @@ declare const TrackIngestBatchSchema: z.ZodObject<{
7348
7348
  events: z.ZodArray<z.ZodObject<{
7349
7349
  environment_id: z.ZodString;
7350
7350
  user_id: z.ZodString;
7351
- account_id: z.ZodString;
7351
+ account_id: z.ZodOptional<z.ZodString>;
7352
7352
  event_name: z.ZodString;
7353
7353
  event_ts: z.ZodString;
7354
7354
  properties: z.ZodOptional<z.ZodString>;
@@ -21131,9 +21131,15 @@ declare class RevTurbineCustomerSdk {
21131
21131
  * Resolve the normalized variant used by RevTurbine decisions and telemetry.
21132
21132
  * Missing, conflicting, and unavailable assignments remain explicit and are
21133
21133
  * never converted to a control variant.
21134
+ *
21135
+ * @public
21134
21136
  */
21135
21137
  getExperimentVariant(experimentHandle: string): Promise<ExperimentVariantSelection>;
21136
- /** Return the immutable ephemeral context currently entering local evaluation. */
21138
+ /**
21139
+ * Return the immutable ephemeral context currently entering local evaluation.
21140
+ *
21141
+ * @public
21142
+ */
21137
21143
  getEffectiveUserContext(): Promise<Readonly<RevTurbineUserContext>>;
21138
21144
  /**
21139
21145
  * Emit `experiment_assigned` assignment facts for the resolved snapshot
@@ -21179,6 +21185,49 @@ declare class RevTurbineCustomerSdk {
21179
21185
  private applyCategoryConflictSuppression;
21180
21186
  private resolveLocalPlacementFromCandidates;
21181
21187
  private localPlacementForConfig;
21188
+ /**
21189
+ * The `placement_slots[]` entry the loaded Playbook authors for a request.
21190
+ *
21191
+ * BL-0119. `placement_slots` is the authored registry of surfaces: an entry
21192
+ * declares a slot's `id`, `surface_type` and `template`, and a placement
21193
+ * targets it through `trigger.slot_id`. Scaffold's headless `LocalRuntime`
21194
+ * has always resolved it (`slotRecordForConfig`); the browser SDK never did,
21195
+ * so a slot-id lookup had nothing to match against and every caller who had
21196
+ * not already driven a decision through that slot got `null` /
21197
+ * `placement_not_found` while a by-name lookup worked.
21198
+ *
21199
+ * The matching rules are kept identical to `LocalRuntime.slotRecordForConfig`
21200
+ * on purpose — a slot id wins outright; otherwise the component type matches
21201
+ * the slot's `surface_type`. Divergence here is divergence in what the same
21202
+ * Playbook decides in the browser versus headless.
21203
+ *
21204
+ * @internal
21205
+ */
21206
+ private authoredSurfaceSlotFor;
21207
+ /**
21208
+ * The surface template ids the Playbook declares for an authored slot id.
21209
+ *
21210
+ * BL-0119. `surface_template_ids` on the registered record is what drops the
21211
+ * shared resolver into its slot branch; without it the resolver falls back to
21212
+ * direct lookup, which is keyed by placement name/id and can never match a
21213
+ * slot id. An integrator who declared the slot in config should not also have
21214
+ * to repeat its template at the `registerSurfaceSlot()` call site.
21215
+ *
21216
+ * @internal
21217
+ */
21218
+ private authoredSlotTemplateIds;
21219
+ /**
21220
+ * Resolve a placement request through the Playbook's authored slot registry.
21221
+ *
21222
+ * BL-0119. Runs only after the local placement cache misses, so an already
21223
+ * decided slot keeps its cached output and this path adds no behavior for
21224
+ * requests the SDK could already answer. Registration is deliberately local:
21225
+ * reading a placement must never write a surface slot back to the control
21226
+ * plane.
21227
+ *
21228
+ * @internal
21229
+ */
21230
+ private placementFromAuthoredSlot;
21182
21231
  private hydrateLocalRuntimeState;
21183
21232
  private persistLocalRuntimeState;
21184
21233
  private decisionCacheStorageKey;
@@ -21270,6 +21319,8 @@ declare class RevTurbineCustomerSdk {
21270
21319
  *
21271
21320
  * Keys are usage units (derived from configured usage token prefixes when available),
21272
21321
  * and values include current usage plus optional limit when known.
21322
+ *
21323
+ * @public
21273
21324
  */
21274
21325
  getUsage(): RevTurbineUsageSnapshot;
21275
21326
  private catalogEligibilityContext;
@@ -21346,6 +21397,8 @@ declare class RevTurbineCustomerSdk {
21346
21397
  * - Placement decision metadata (`rule_id`, reason codes, suppression)
21347
21398
  *
21348
21399
  * Useful for debuggers, QA tooling, and customer-facing explainability UIs.
21400
+ *
21401
+ * @public
21349
21402
  */
21350
21403
  explainPlacementDecision(input: RevTurbinePlacementDecisionInput): Promise<RevTurbinePlacementDecisionExplanation>;
21351
21404
  private usageThresholdForEntitlement;
@@ -21485,6 +21538,8 @@ declare class RevTurbineCustomerSdk {
21485
21538
  * {@link RevTurbineInitOptions.anonymousTelemetry} switch (REQ-13).
21486
21539
  *
21487
21540
  * @param consent - the new consent state
21541
+ *
21542
+ * @public
21488
21543
  */
21489
21544
  setTelemetryConsent(consent: TelemetryConsent): void;
21490
21545
  /** The current behavior-telemetry consent state (plan 144 TASK-8). */
@@ -21516,6 +21571,8 @@ declare class RevTurbineCustomerSdk {
21516
21571
  * at emit time; a violation emits an `sdk_validation_warning` alongside
21517
21572
  * (never a throw — telemetry must not break the host app). Production
21518
21573
  * builds skip validation; the ingest boundary re-validates authoritatively.
21574
+ *
21575
+ * @public
21519
21576
  */
21520
21577
  emitPlatformEvent<K extends EmittablePlatformEventName>(eventName: K, payload: EventPayloadInput<K>, options?: RevTurbineEventOptions): Promise<void>;
21521
21578
  /**
@@ -21559,6 +21616,8 @@ declare class RevTurbineCustomerSdk {
21559
21616
  * interval timer, and page-unload. Best-effort and non-throwing — delivery
21560
21617
  * failures are swallowed (plan 95 REQ-3). Safe to call when the buffer is
21561
21618
  * empty (no-op).
21619
+ *
21620
+ * @public
21562
21621
  */
21563
21622
  flushEvents(): Promise<void>;
21564
21623
  /**
@@ -21622,6 +21681,13 @@ declare class RevTurbineCustomerSdk {
21622
21681
  * routes through the normal clickstream path and never throws into the app.
21623
21682
  */
21624
21683
  private emitObservedContextFields;
21684
+ /**
21685
+ * Merge fields into the session-bound user context. Recognized fields
21686
+ * upsert; an omitted field never clobbers a previously-set value. See the
21687
+ * advertised {@link update} alias for the full recognized-field contract.
21688
+ *
21689
+ * @public
21690
+ */
21625
21691
  setUserContext(userContext: RevTurbineUserContext): void;
21626
21692
  /**
21627
21693
  * Subscribe to user-context changes — `identify()`, `setUserContext()`,
@@ -21713,9 +21779,32 @@ declare class RevTurbineCustomerSdk {
21713
21779
  diagnoseSlotInventory(): RevTurbineSlotInventoryDiagnosis;
21714
21780
  /**
21715
21781
  * @deprecated Use `registerSurfaceSlot`.
21782
+ *
21783
+ * @public
21716
21784
  */
21717
21785
  registerPlacement(config: RevTurbinePlacementConfig): Promise<string>;
21718
21786
  private upsertSurfaceSlot;
21787
+ /**
21788
+ * Build the internal placement record for a surface-slot config.
21789
+ *
21790
+ * Shared by `registerSurfaceSlot` and the BL-0119 authored-slot resolution
21791
+ * path so both produce byte-identical records — a second hand-rolled record
21792
+ * shape is how the two would drift into deciding differently.
21793
+ *
21794
+ * When the caller passes no `surfaceTemplateIds`, the ids the Playbook
21795
+ * declares for this slot are adopted (BL-0119). An explicit list from the
21796
+ * call site always wins: the mounting code knows what it actually renders.
21797
+ *
21798
+ * @internal
21799
+ */
21800
+ private buildSurfaceSlotRecord;
21801
+ /**
21802
+ * Store a surface-slot record in the local registry, marking it unsynced when
21803
+ * it is new or has changed. Local only — never writes to the control plane.
21804
+ *
21805
+ * @internal
21806
+ */
21807
+ private commitSurfaceSlotRecord;
21719
21808
  registerSurfaceSlot(config: RevTurbineSurfaceSlotConfig): Promise<string>;
21720
21809
  /**
21721
21810
  * Persist authored placement types to a configured backend.
@@ -21755,6 +21844,14 @@ declare class RevTurbineCustomerSdk {
21755
21844
  */
21756
21845
  private gateDecisionByCaps;
21757
21846
  private normalizeDecisionFromResponse;
21847
+ /**
21848
+ * Resolve the placement decision for a registered surface slot — the
21849
+ * evaluated payload (or lack of one), its reason, and the metadata needed
21850
+ * to report the interaction lifecycle ({@link trackTreatmentInteraction},
21851
+ * {@link dismiss}, {@link snooze}, {@link convert}).
21852
+ *
21853
+ * @public
21854
+ */
21758
21855
  getPlacementDecision(input: RevTurbinePlacementDecisionInput): Promise<RevTurbinePlacementDecision>;
21759
21856
  preloadPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
21760
21857
  bootstrapPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
@@ -21807,6 +21904,13 @@ declare class RevTurbineCustomerSdk {
21807
21904
  * that do not send the field yet; this SDK no longer feeds it.
21808
21905
  */
21809
21906
  private interactionAccountId;
21907
+ /**
21908
+ * Report a treatment interaction directly by placement/treatment id — the
21909
+ * lower-level counterpart to {@link dismiss}/{@link snooze}/{@link convert},
21910
+ * which key off a decision's `output_id` instead.
21911
+ *
21912
+ * @public
21913
+ */
21810
21914
  trackTreatmentInteraction(input: RevTurbineTreatmentInteractionInput): Promise<void>;
21811
21915
  getPlacementContent(placementId: string, request?: JsonObject): Promise<RevTurbinePlacementContent>;
21812
21916
  /**
@@ -21859,8 +21963,29 @@ declare class RevTurbineCustomerSdk {
21859
21963
  private reportUnrecognizedContextKeys;
21860
21964
  private normalizePlacementOutput;
21861
21965
  private validateTrialStatusShape;
21966
+ /**
21967
+ * Resolve the legacy placement payload for a request config. Prefer
21968
+ * {@link getPlacementDecision} for new integrations; kept for the
21969
+ * documented legacy request-config path.
21970
+ *
21971
+ * @public
21972
+ */
21862
21973
  getPlacement(config: RevTurbinePlacementRequestConfig): Promise<PlacementOutput | null>;
21974
+ /**
21975
+ * Evaluate a single entitlement handle for the active user, purely from the
21976
+ * loaded UserContext and Playbook. The advertised {@link can} alias wraps
21977
+ * this with the friendly verb name.
21978
+ *
21979
+ * @public
21980
+ */
21863
21981
  checkEntitlement(handle: string, context?: RevTurbineEntitlementContext): Promise<EntitlementResult>;
21982
+ /**
21983
+ * Set absolute usage balances for the active user and emit any
21984
+ * threshold-crossing triggers. See the advertised {@link update} alias's
21985
+ * `usage` key for the same contract via the general patch verb.
21986
+ *
21987
+ * @public
21988
+ */
21864
21989
  updateUsage(balances: UsageBalances): void;
21865
21990
  /**
21866
21991
  * Report usage values that are neither a number nor an entry object, so a
@@ -21893,12 +22018,16 @@ declare class RevTurbineCustomerSdk {
21893
22018
  /**
21894
22019
  * Build the full persistence-ready {@link UserContext} from the current
21895
22020
  * SDK state. Includes `tenant_id` and `user_id` required for API storage.
22021
+ *
22022
+ * @public
21896
22023
  */
21897
22024
  getUserContext(): UserContext;
21898
22025
  /**
21899
22026
  * Fetch the resolved user context from the decision API.
21900
22027
  * Returns the user's matched segments, traits, plan, and usage — used
21901
22028
  * to determine which placement payloads are eligible for display.
22029
+ *
22030
+ * @public
21902
22031
  */
21903
22032
  fetchUserContext(userId: string): Promise<UserTargetingContext>;
21904
22033
  /**
@@ -22036,6 +22165,12 @@ declare class RevTurbineCustomerSdk {
22036
22165
  * @param metadata - Optional metadata persisted with the record.
22037
22166
  */
22038
22167
  recordConversion(placementId: string, payloadId?: string, surfaceTemplateId?: string, metadata?: RevTurbineImpressionMetadata): Promise<void>;
22168
+ /**
22169
+ * Return the active user's trial status, derived from their trial
22170
+ * instances and the configured reverse-trial rules.
22171
+ *
22172
+ * @public
22173
+ */
22039
22174
  getTrialStatus(): Promise<RevTurbineTrialContext>;
22040
22175
  /**
22041
22176
  * Derive and push the user's trial status from their {@link TrialInstance}
@@ -22058,6 +22193,8 @@ declare class RevTurbineCustomerSdk {
22058
22193
  * @param options - Optional `nowIso` clock pin (defaults to the current
22059
22194
  * time) and `basePlanHandle` (the base plan a reverse-trial user reverts
22060
22195
  * to, surfaced as `plan_handle`).
22196
+ *
22197
+ * @public
22061
22198
  */
22062
22199
  setTrialInstances(instances: readonly TrialInstance[], options?: {
22063
22200
  nowIso?: string;
@@ -22077,6 +22214,8 @@ declare class RevTurbineCustomerSdk {
22077
22214
  * - `uiPathResolvers` passed at SDK init
22078
22215
  * - optional `resolvers` passed to this method
22079
22216
  * - CTA handlers from domain providers (`domain: 'cta'`), unless disabled
22217
+ *
22218
+ * @public
22080
22219
  */
22081
22220
  validateUiPathResolvers(options?: RevTurbineUiPathResolverValidationOptions): Promise<RevTurbineUiPathResolverValidationReport>;
22082
22221
  /**
@@ -22090,8 +22229,28 @@ declare class RevTurbineCustomerSdk {
22090
22229
  private warnOnUiPathResolverCoverageGaps;
22091
22230
  /** Route output-addressed callbacks through the canonical interaction/analytics path. */
22092
22231
  private trackOutputInteraction;
22232
+ /**
22233
+ * Suppress a decision's placement for its authored dismiss cooldown.
22234
+ * Terminal for the window: `getPlacementDecision` will not return it again
22235
+ * until the cooldown lapses.
22236
+ *
22237
+ * @public
22238
+ */
22093
22239
  dismiss(outputId: string): Promise<void>;
22240
+ /**
22241
+ * Suppress a decision's placement for a "remind me later" window —
22242
+ * `seconds` overrides the authored default.
22243
+ *
22244
+ * @public
22245
+ */
22094
22246
  snooze(outputId: string, seconds?: number): Promise<void>;
22247
+ /**
22248
+ * Record a confirmed CTA completion and retire the decision's placement
22249
+ * permanently — future calls to `getPlacementDecision` for it will not
22250
+ * return it again.
22251
+ *
22252
+ * @public
22253
+ */
22095
22254
  convert(outputId: string): Promise<void>;
22096
22255
  /**
22097
22256
  * Emit a canonical trigger event. There is no in-SDK consumer that matches
@@ -22122,6 +22281,8 @@ declare class RevTurbineCustomerSdk {
22122
22281
  * // stored as `clickstream_feature_gated` — see the collision note above
22123
22282
  * await sdk.emitTrigger('feature_gated', { feature: 'advanced_automation' });
22124
22283
  * ```
22284
+ *
22285
+ * @public
22125
22286
  */
22126
22287
  emitTrigger(trigger: RevTurbineTriggerEvent, payload?: RevTurbineTriggerPayload, options?: RevTurbineEventOptions): Promise<void>;
22127
22288
  trackEvent(name: string, data?: SdkEventProperties): Promise<void>;
@@ -22146,8 +22307,16 @@ declare class RevTurbineCustomerSdk {
22146
22307
  * rt.identify('user_123', { plan_handle: 'pro' }); // THE matching identity
22147
22308
  * rt.identify('user_123', { plan_handle: 'pro', plan: { handle: 'pro', name: 'Professional' } });
22148
22309
  * ```
22310
+ *
22311
+ * @public
22149
22312
  */
22150
22313
  identify<T extends IdentifyContextInput>(userId: string, context?: Exact<IdentifyContextInput, T>): void;
22314
+ /**
22315
+ * Reset to anonymous user state, re-inferring a fresh anonymous id. Also
22316
+ * available as the advertised {@link reset} alias.
22317
+ *
22318
+ * @public
22319
+ */
22151
22320
  resetIdentity(): void;
22152
22321
  /**
22153
22322
  * Hard-reset the user context to a blank slate — removes EVERY user-context
@@ -22185,6 +22354,8 @@ declare class RevTurbineCustomerSdk {
22185
22354
  * @example
22186
22355
  * const access = await rt.can('generate_image');
22187
22356
  * if (!access.allowed) showUpgrade();
22357
+ *
22358
+ * @public
22188
22359
  */
22189
22360
  can(handle: string, context?: RevTurbineEntitlementContext): Promise<EntitlementResult>;
22190
22361
  /**
@@ -22196,6 +22367,8 @@ declare class RevTurbineCustomerSdk {
22196
22367
  * @example
22197
22368
  * const gated = await rt.gate('export_pdf', () => exportPdf());
22198
22369
  * if (!gated.ran) openPaywall(gated.entitlement);
22370
+ *
22371
+ * @public
22199
22372
  */
22200
22373
  gate<T>(action: string, fn: () => T | Promise<T>, context?: RevTurbineEntitlementContext): Promise<RevTurbineGateResult<T>>;
22201
22374
  /**
@@ -22204,6 +22377,8 @@ declare class RevTurbineCustomerSdk {
22204
22377
  *
22205
22378
  * @example
22206
22379
  * rt.track('ai_generation_completed', { credits: 3 });
22380
+ *
22381
+ * @public
22207
22382
  */
22208
22383
  track(name: string, data?: SdkEventProperties): Promise<void>;
22209
22384
  /**
@@ -22227,11 +22402,15 @@ declare class RevTurbineCustomerSdk {
22227
22402
  * @example
22228
22403
  * // Reflect a plan change and new traits in one call (identity unchanged):
22229
22404
  * rt.update({ plan_handle: 'pro', custom: { role: 'admin' } });
22405
+ *
22406
+ * @public
22230
22407
  */
22231
22408
  update<T extends RevTurbineUpdateInput>(patch: Exact<RevTurbineUpdateInput, T>): void;
22232
22409
  /**
22233
22410
  * Clear the current user — the advertised alias of {@link resetIdentity}
22234
22411
  * (e.g. on sign-out).
22412
+ *
22413
+ * @public
22235
22414
  */
22236
22415
  reset(): void;
22237
22416
  onRouteChange(change: {
@@ -22952,6 +23131,8 @@ declare class SdkSession {
22952
23131
  * ],
22953
23132
  * });
22954
23133
  * ```
23134
+ *
23135
+ * @public
22955
23136
  */
22956
23137
  declare function initRevTurbine<TUser extends RevTurbineUserContext = RevTurbineUserContext>(options: SdkSessionOptions & {
22957
23138
  user?: Exact<RevTurbineUserContext, TUser>;
@@ -23907,7 +24088,7 @@ interface components {
23907
24088
  TrackEvent: {
23908
24089
  environment_id: components["schemas"]["Anon_57796118d046_16"];
23909
24090
  user_id: components["schemas"]["Anon_761f976a1da1_1"];
23910
- account_id: components["schemas"]["Anon_57796118d046_17"];
24091
+ account_id?: components["schemas"]["Anon_4e04ec5cc4e6_3"];
23911
24092
  event_name: components["schemas"]["Anon_cd76cef95ac8"];
23912
24093
  event_ts: components["schemas"]["Anon_3c179513a5d9_2"];
23913
24094
  properties?: components["schemas"]["Anon_96f9066c2fdc_20"];
@@ -23932,7 +24113,7 @@ interface components {
23932
24113
  SdkMetaEvent: {
23933
24114
  event_type: components["schemas"]["Anon_53b83ce9a609"];
23934
24115
  occurred_at: components["schemas"]["Anon_3c179513a5d9_3"];
23935
- request_id?: components["schemas"]["Anon_4e04ec5cc4e6_3"];
24116
+ request_id?: components["schemas"]["Anon_4e04ec5cc4e6_4"];
23936
24117
  config_hash_id?: components["schemas"]["Anon_e17de468dbc9"];
23937
24118
  sdk_version?: components["schemas"]["Anon_e17de468dbc9_1"];
23938
24119
  runtime_mode?: components["schemas"]["Anon_e17de468dbc9_2"];
@@ -23963,17 +24144,17 @@ interface components {
23963
24144
  TreatmentInteractionInput: {
23964
24145
  user_id: components["schemas"]["Anon_761f976a1da1_2"];
23965
24146
  account_id?: components["schemas"]["Anon_0a729b73253d"];
23966
- placement_id: components["schemas"]["Anon_57796118d046_18"];
23967
- treatment_id?: components["schemas"]["Anon_4e04ec5cc4e6_4"];
23968
- surface_slot_id?: components["schemas"]["Anon_4e04ec5cc4e6_5"];
23969
- surface_template_id?: components["schemas"]["Anon_4e04ec5cc4e6_6"];
23970
- payload_id?: components["schemas"]["Anon_4e04ec5cc4e6_7"];
24147
+ placement_id: components["schemas"]["Anon_57796118d046_17"];
24148
+ treatment_id?: components["schemas"]["Anon_4e04ec5cc4e6_5"];
24149
+ surface_slot_id?: components["schemas"]["Anon_4e04ec5cc4e6_6"];
24150
+ surface_template_id?: components["schemas"]["Anon_4e04ec5cc4e6_7"];
24151
+ payload_id?: components["schemas"]["Anon_4e04ec5cc4e6_8"];
23971
24152
  interaction_type: components["schemas"]["Anon_b540c131c269"];
23972
24153
  interaction_at?: components["schemas"]["Anon_e077e17ea982_3"];
23973
- message_block_handle?: components["schemas"]["Anon_4e04ec5cc4e6_8"];
23974
- message_block_id?: components["schemas"]["Anon_4e04ec5cc4e6_9"];
23975
- experiment_id?: components["schemas"]["Anon_4e04ec5cc4e6_10"];
23976
- variant_key?: components["schemas"]["Anon_4e04ec5cc4e6_11"];
24154
+ message_block_handle?: components["schemas"]["Anon_4e04ec5cc4e6_9"];
24155
+ message_block_id?: components["schemas"]["Anon_4e04ec5cc4e6_10"];
24156
+ experiment_id?: components["schemas"]["Anon_4e04ec5cc4e6_11"];
24157
+ variant_key?: components["schemas"]["Anon_4e04ec5cc4e6_12"];
23977
24158
  test?: components["schemas"]["Anon_fb9ddeea992e_3"];
23978
24159
  metadata?: components["schemas"]["Anon_a249e58b3222"];
23979
24160
  };
@@ -24307,7 +24488,8 @@ interface components {
24307
24488
  Anon_3f2bab3833ef: components["schemas"]["TrackEvent"][];
24308
24489
  Anon_57796118d046_16: string;
24309
24490
  Anon_761f976a1da1_1: string;
24310
- Anon_57796118d046_17: string;
24491
+ Anon_4e04ec5cc4e6_3: components["schemas"]["Anon_9ac136edb99a_8"];
24492
+ Anon_9ac136edb99a_8: string;
24311
24493
  Anon_cd76cef95ac8: string;
24312
24494
  /** Format: date-time */
24313
24495
  Anon_3c179513a5d9_2: string;
@@ -24341,8 +24523,8 @@ interface components {
24341
24523
  Anon_53b83ce9a609: components["schemas"]["SdkMetaEventType"];
24342
24524
  /** Format: date-time */
24343
24525
  Anon_3c179513a5d9_3: string;
24344
- Anon_4e04ec5cc4e6_3: components["schemas"]["Anon_9ac136edb99a_8"];
24345
- Anon_9ac136edb99a_8: string;
24526
+ Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_9"];
24527
+ Anon_9ac136edb99a_9: string;
24346
24528
  Anon_e17de468dbc9: components["schemas"]["Anon_520c691f88f7"];
24347
24529
  Anon_520c691f88f7: string;
24348
24530
  Anon_e17de468dbc9_1: components["schemas"]["Anon_520c691f88f7_1"];
@@ -24377,29 +24559,29 @@ interface components {
24377
24559
  Anon_e17de468dbc9_10: components["schemas"]["Anon_520c691f88f7_10"];
24378
24560
  Anon_520c691f88f7_10: string;
24379
24561
  Anon_761f976a1da1_2: string;
24380
- Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_9"];
24381
- Anon_9ac136edb99a_9: string;
24382
- Anon_57796118d046_18: string;
24383
- Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_10"];
24562
+ Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_10"];
24384
24563
  Anon_9ac136edb99a_10: string;
24564
+ Anon_57796118d046_17: string;
24385
24565
  Anon_4e04ec5cc4e6_5: components["schemas"]["Anon_9ac136edb99a_11"];
24386
24566
  Anon_9ac136edb99a_11: string;
24387
24567
  Anon_4e04ec5cc4e6_6: components["schemas"]["Anon_9ac136edb99a_12"];
24388
24568
  Anon_9ac136edb99a_12: string;
24389
24569
  Anon_4e04ec5cc4e6_7: components["schemas"]["Anon_9ac136edb99a_13"];
24390
24570
  Anon_9ac136edb99a_13: string;
24571
+ Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_14"];
24572
+ Anon_9ac136edb99a_14: string;
24391
24573
  Anon_b540c131c269: components["schemas"]["TreatmentInteractionType"];
24392
24574
  Anon_e077e17ea982_3: components["schemas"]["Anon_02ecf48bed22_3"];
24393
24575
  /** Format: date-time */
24394
24576
  Anon_02ecf48bed22_3: string;
24395
- Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_14"];
24396
- Anon_9ac136edb99a_14: string;
24397
24577
  Anon_4e04ec5cc4e6_9: components["schemas"]["Anon_9ac136edb99a_15"];
24398
24578
  Anon_9ac136edb99a_15: string;
24399
24579
  Anon_4e04ec5cc4e6_10: components["schemas"]["Anon_9ac136edb99a_16"];
24400
24580
  Anon_9ac136edb99a_16: string;
24401
24581
  Anon_4e04ec5cc4e6_11: components["schemas"]["Anon_9ac136edb99a_17"];
24402
24582
  Anon_9ac136edb99a_17: string;
24583
+ Anon_4e04ec5cc4e6_12: components["schemas"]["Anon_9ac136edb99a_18"];
24584
+ Anon_9ac136edb99a_18: string;
24403
24585
  Anon_fb9ddeea992e_3: components["schemas"]["Anon_7cb541e84f22_31"];
24404
24586
  Anon_7cb541e84f22_31: boolean;
24405
24587
  Anon_a249e58b3222: components["schemas"]["Anon_c65c1fbd5acf_8"];
@@ -24440,7 +24622,7 @@ interface components {
24440
24622
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24441
24623
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_12"];
24442
24624
  handle: components["schemas"]["Anon_2457cccd64aa_2"];
24443
- plan_id: components["schemas"]["Anon_57796118d046_28"];
24625
+ plan_id: components["schemas"]["Anon_57796118d046_27"];
24444
24626
  billing_period: components["schemas"]["Anon_129e203b1449_2"];
24445
24627
  segment_id: components["schemas"]["Anon_f7fb9744a6e4_12"];
24446
24628
  price_amount: components["schemas"]["Anon_7ab7b70b014d_3"];
@@ -24483,7 +24665,7 @@ interface components {
24483
24665
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24484
24666
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_14"];
24485
24667
  handle: components["schemas"]["Anon_2457cccd64aa_3"];
24486
- addon_id: components["schemas"]["Anon_57796118d046_29"];
24668
+ addon_id: components["schemas"]["Anon_57796118d046_28"];
24487
24669
  billing_period: components["schemas"]["Anon_129e203b1449_3"];
24488
24670
  segment_id: components["schemas"]["Anon_f7fb9744a6e4_13"];
24489
24671
  price_amount: components["schemas"]["Anon_7ab7b70b014d_4"];
@@ -24498,8 +24680,8 @@ interface components {
24498
24680
  created_at: components["schemas"]["Anon_be3e2585472d_2"];
24499
24681
  updated_at: components["schemas"]["Anon_be3e2585472d_3"];
24500
24682
  tenant_id: components["schemas"]["Anon_fb248bf5a9f7_10"];
24501
- stripe_price_id: components["schemas"]["Anon_57796118d046_30"];
24502
- stripe_product_id: components["schemas"]["Anon_57796118d046_31"];
24683
+ stripe_price_id: components["schemas"]["Anon_57796118d046_29"];
24684
+ stripe_product_id: components["schemas"]["Anon_57796118d046_30"];
24503
24685
  billing_period: components["schemas"]["Anon_cf08caa6d850_1"];
24504
24686
  unit_amount_cents: components["schemas"]["Anon_79391150fda1_1"];
24505
24687
  currency: components["schemas"]["Anon_1788a9a8a0b9_2"];
@@ -24546,7 +24728,7 @@ interface components {
24546
24728
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24547
24729
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_16"];
24548
24730
  handle: components["schemas"]["Anon_2457cccd64aa_4"];
24549
- entitlement_id: components["schemas"]["Anon_57796118d046_32"];
24731
+ entitlement_id: components["schemas"]["Anon_57796118d046_31"];
24550
24732
  targets: components["schemas"]["Anon_effbae05e941"];
24551
24733
  segment_ids: components["schemas"]["Anon_f8dbfffc0ce2_10"];
24552
24734
  visibility: components["schemas"]["Anon_b26f420c5d82_1"];
@@ -24588,7 +24770,7 @@ interface components {
24588
24770
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24589
24771
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_16"];
24590
24772
  handle: components["schemas"]["Anon_2457cccd64aa_4"];
24591
- entitlement_id: components["schemas"]["Anon_57796118d046_32"];
24773
+ entitlement_id: components["schemas"]["Anon_57796118d046_31"];
24592
24774
  targets: components["schemas"]["Anon_effbae05e941"];
24593
24775
  segment_ids: components["schemas"]["Anon_f8dbfffc0ce2_10"];
24594
24776
  visibility: components["schemas"]["Anon_b26f420c5d82_1"];
@@ -24619,7 +24801,7 @@ interface components {
24619
24801
  };
24620
24802
  EntitlementRuleWarning: {
24621
24803
  code: components["schemas"]["Anon_47cb53910d2c"];
24622
- message: components["schemas"]["Anon_57796118d046_34"];
24804
+ message: components["schemas"]["Anon_57796118d046_33"];
24623
24805
  path?: components["schemas"]["Anon_e5444c6c0ca5"];
24624
24806
  };
24625
24807
  /** @enum {string} */
@@ -24637,8 +24819,8 @@ interface components {
24637
24819
  sequence: components["schemas"]["Anon_ffffc3c874cb_1"];
24638
24820
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24639
24821
  handle: components["schemas"]["Anon_2457cccd64aa_5"];
24640
- rule_id: components["schemas"]["Anon_57796118d046_35"];
24641
- experiment_id: components["schemas"]["Anon_57796118d046_36"];
24822
+ rule_id: components["schemas"]["Anon_57796118d046_34"];
24823
+ experiment_id: components["schemas"]["Anon_57796118d046_35"];
24642
24824
  variant_name: components["schemas"]["Anon_872e58432369_1"];
24643
24825
  is_control: components["schemas"]["Anon_062d958a93c4_5"];
24644
24826
  override_fields: components["schemas"]["Anon_5142f8473790_6"];
@@ -24708,7 +24890,7 @@ interface components {
24708
24890
  };
24709
24891
  PlacementWarning: {
24710
24892
  code: components["schemas"]["Anon_9481d431ae03"];
24711
- message: components["schemas"]["Anon_57796118d046_37"];
24893
+ message: components["schemas"]["Anon_57796118d046_36"];
24712
24894
  path?: components["schemas"]["Anon_e5444c6c0ca5_1"];
24713
24895
  };
24714
24896
  /** @enum {string} */
@@ -24727,13 +24909,13 @@ interface components {
24727
24909
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24728
24910
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_18"];
24729
24911
  handle: components["schemas"]["Anon_2457cccd64aa_6"];
24730
- placement_id: components["schemas"]["Anon_57796118d046_38"];
24912
+ placement_id: components["schemas"]["Anon_57796118d046_37"];
24731
24913
  drag_order: components["schemas"]["Anon_f95d5b2e4f52_9"];
24732
24914
  target_plan_ids: components["schemas"]["Anon_f8dbfffc0ce2_11"];
24733
24915
  target_plan_billing_cadences: components["schemas"]["Anon_f8dbfffc0ce2_12"];
24734
24916
  target_segments: components["schemas"]["Anon_f8dbfffc0ce2_13"];
24735
24917
  surface_slot_ids: components["schemas"]["Anon_f8dbfffc0ce2_14"];
24736
- surface_template_id: components["schemas"]["Anon_57796118d046_39"];
24918
+ surface_template_id: components["schemas"]["Anon_57796118d046_38"];
24737
24919
  content_fields: components["schemas"]["Anon_5142f8473790_7"];
24738
24920
  cta_list: components["schemas"]["Anon_6ff5f738216c"];
24739
24921
  max_per_period: components["schemas"]["Anon_45e0e0d4a0da_3"];
@@ -24774,8 +24956,8 @@ interface components {
24774
24956
  Anon_be3e2585472d_3: string;
24775
24957
  Anon_fb248bf5a9f7_10: string;
24776
24958
  /** @default production */
24777
- Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_19"];
24778
- Anon_9ac136edb99a_19: string;
24959
+ Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_20"];
24960
+ Anon_9ac136edb99a_20: string;
24779
24961
  Anon_0eb2e3b6e08c_3: string;
24780
24962
  Anon_ed3fcc71dea7: {
24781
24963
  error: string;
@@ -24820,7 +25002,7 @@ interface components {
24820
25002
  Anon_f2d1b3e449b4_1: components["schemas"]["Anon_c65c1fbd5acf_11"];
24821
25003
  Anon_fb248bf5a9f7_12: string;
24822
25004
  Anon_2457cccd64aa_2: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24823
- Anon_57796118d046_28: string;
25005
+ Anon_57796118d046_27: string;
24824
25006
  /** @enum {string} */
24825
25007
  Anon_129e203b1449_2: "monthly" | "annual" | "one_time" | "custom";
24826
25008
  /** @default null */
@@ -24847,7 +25029,7 @@ interface components {
24847
25029
  Anon_f27cb44c32f6_14: components["schemas"]["Anon_f2d1b3e449b4_1"];
24848
25030
  Anon_fb248bf5a9f7_14: string;
24849
25031
  Anon_2457cccd64aa_3: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24850
- Anon_57796118d046_29: string;
25032
+ Anon_57796118d046_28: string;
24851
25033
  /** @enum {string} */
24852
25034
  Anon_129e203b1449_3: "monthly" | "annual" | "one_time" | "custom";
24853
25035
  /** @default null */
@@ -24862,8 +25044,8 @@ interface components {
24862
25044
  Anon_00404e686415_39: string;
24863
25045
  /** @default static */
24864
25046
  Anon_b5714cb1e73b_3: components["schemas"]["PriceSource"];
25047
+ Anon_57796118d046_29: string;
24865
25048
  Anon_57796118d046_30: string;
24866
- Anon_57796118d046_31: string;
24867
25049
  Anon_cf08caa6d850_1: components["schemas"]["StripePriceBillingPeriod"];
24868
25050
  /** @default null */
24869
25051
  Anon_79391150fda1_1: components["schemas"]["Anon_c648138a0918_8"];
@@ -24902,10 +25084,10 @@ interface components {
24902
25084
  Anon_f27cb44c32f6_15: components["schemas"]["Anon_f2d1b3e449b4_1"];
24903
25085
  Anon_fb248bf5a9f7_16: string;
24904
25086
  Anon_2457cccd64aa_4: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24905
- Anon_57796118d046_32: string;
25087
+ Anon_57796118d046_31: string;
24906
25088
  Anon_effbae05e941: components["schemas"]["EntitlementRuleTargetOutput"][];
24907
25089
  Anon_70ee2ddbc798_1: components["schemas"]["EntitlementRuleTargetKind"];
24908
- Anon_57796118d046_33: string;
25090
+ Anon_57796118d046_32: string;
24909
25091
  /** @default [] */
24910
25092
  Anon_f8dbfffc0ce2_10: components["schemas"]["Anon_681004346c78_13"];
24911
25093
  Anon_681004346c78_13: string[];
@@ -24958,12 +25140,12 @@ interface components {
24958
25140
  Anon_94e2b717b43e: components["schemas"]["Anon_b9f8542e5a53"];
24959
25141
  Anon_b9f8542e5a53: components["schemas"]["EntitlementRuleWarning"][];
24960
25142
  Anon_47cb53910d2c: components["schemas"]["EntitlementRuleWarningCode"];
24961
- Anon_57796118d046_34: string;
25143
+ Anon_57796118d046_33: string;
24962
25144
  Anon_e5444c6c0ca5: components["schemas"]["Anon_9b45bb8cfd31"];
24963
25145
  Anon_9b45bb8cfd31: (string | number)[];
24964
25146
  Anon_2457cccd64aa_5: components["schemas"]["Anon_0eb2e3b6e08c_3"];
25147
+ Anon_57796118d046_34: string;
24965
25148
  Anon_57796118d046_35: string;
24966
- Anon_57796118d046_36: string;
24967
25149
  Anon_872e58432369_1: string;
24968
25150
  /** @default false */
24969
25151
  Anon_062d958a93c4_5: components["schemas"]["Anon_7cb541e84f22_42"];
@@ -25012,12 +25194,12 @@ interface components {
25012
25194
  Anon_deca7bd23776: components["schemas"]["Anon_4683dfa2b0e7"];
25013
25195
  Anon_4683dfa2b0e7: components["schemas"]["PlacementWarning"][];
25014
25196
  Anon_9481d431ae03: components["schemas"]["PlacementWarningCode"];
25015
- Anon_57796118d046_37: string;
25197
+ Anon_57796118d046_36: string;
25016
25198
  Anon_e5444c6c0ca5_1: components["schemas"]["Anon_9b45bb8cfd31_1"];
25017
25199
  Anon_9b45bb8cfd31_1: (string | number)[];
25018
25200
  Anon_fb248bf5a9f7_18: string;
25019
25201
  Anon_2457cccd64aa_6: components["schemas"]["Anon_0eb2e3b6e08c_3"];
25020
- Anon_57796118d046_38: string;
25202
+ Anon_57796118d046_37: string;
25021
25203
  /** @default 0 */
25022
25204
  Anon_f95d5b2e4f52_9: components["schemas"]["Anon_278eaeabce08_11"];
25023
25205
  Anon_278eaeabce08_11: number;
@@ -25033,7 +25215,7 @@ interface components {
25033
25215
  /** @default [] */
25034
25216
  Anon_f8dbfffc0ce2_14: components["schemas"]["Anon_681004346c78_17"];
25035
25217
  Anon_681004346c78_17: string[];
25036
- Anon_57796118d046_39: string;
25218
+ Anon_57796118d046_38: string;
25037
25219
  /** @default {} */
25038
25220
  Anon_5142f8473790_7: components["schemas"]["Anon_c65c1fbd5acf_13"];
25039
25221
  Anon_c65c1fbd5acf_13: {
@@ -25093,7 +25275,7 @@ interface components {
25093
25275
  /** @default [] */
25094
25276
  Anon_3b6346b139c2: components["schemas"]["Anon_f836473839d1"];
25095
25277
  Anon_f836473839d1: components["schemas"]["FieldDefinitionOutput"][];
25096
- Anon_9ac136edb99a_20: string;
25278
+ Anon_9ac136edb99a_21: string;
25097
25279
  /** @default false */
25098
25280
  Anon_f56777819c8b_3: boolean;
25099
25281
  Anon_44136fa355b3_2: unknown;
@@ -25141,7 +25323,7 @@ interface components {
25141
25323
  CurrencyOutput: components["schemas"]["Anon_063c0cce3710_1"];
25142
25324
  EntitlementRuleTargetOutput: {
25143
25325
  kind: components["schemas"]["Anon_70ee2ddbc798_1"];
25144
- id: components["schemas"]["Anon_57796118d046_33"];
25326
+ id: components["schemas"]["Anon_57796118d046_32"];
25145
25327
  };
25146
25328
  CtaObjectOutput: {
25147
25329
  label: components["schemas"]["Anon_872e58432369_2"];
@@ -25168,7 +25350,7 @@ interface components {
25168
25350
  description?: components["schemas"]["Anon_ee9224780226_6"];
25169
25351
  };
25170
25352
  FieldDefinitionOutput: {
25171
- name: components["schemas"]["Anon_9ac136edb99a_20"];
25353
+ name: components["schemas"]["Anon_9ac136edb99a_21"];
25172
25354
  field_type: components["schemas"]["TemplateFieldType"];
25173
25355
  required: components["schemas"]["Anon_f56777819c8b_3"];
25174
25356
  default_value?: components["schemas"]["Anon_44136fa355b3_2"];
@@ -27935,6 +28117,8 @@ type RevTurbineProviderProps<TUser extends RevTurbineUserContext = RevTurbineUse
27935
28117
  * <App />
27936
28118
  * </RevTurbineProvider>
27937
28119
  * ```
28120
+ *
28121
+ * @public
27938
28122
  */
27939
28123
  declare function RevTurbineProvider<TUser extends RevTurbineUserContext = RevTurbineUserContext, TOptions extends RevTurbineInitInputOptions = RevTurbineInitInputOptions>({ options, bootstrapPlacements, domCapture, colorScheme, children, }: RevTurbineProviderProps<TUser, TOptions>): React__default.JSX.Element;
27940
28124
 
@@ -29307,6 +29491,8 @@ interface UseEntitlementResult {
29307
29491
  * return <BrandKitEditor />;
29308
29492
  * }
29309
29493
  * ```
29494
+ *
29495
+ * @public
29310
29496
  */
29311
29497
  declare function useEntitlement({ handle, context, autoCheck, autoGate, gatePlacementRequest, }: UseEntitlementOptions): UseEntitlementResult;
29312
29498
 
@@ -29491,6 +29677,8 @@ interface GatedAction<A extends unknown[], R> {
29491
29677
  * telemetry (`${action}_started` → `_completed` / `_failed`) and its return value
29492
29678
  * is preserved. Without a provider, `run` is a safe no-op that reports denied
29493
29679
  * (AC-13).
29680
+ *
29681
+ * @public
29494
29682
  */
29495
29683
  declare function useGatedAction<A extends unknown[], R>(action: string, fn: (...args: A) => Promise<R> | R, context?: RevTurbineEntitlementContext, options?: TrackOptions): GatedAction<A, R>;
29496
29684
 
@@ -29604,6 +29792,8 @@ interface UseCanResult {
29604
29792
  * return <BatchExportButton warnLowBalance={limited} />;
29605
29793
  * }
29606
29794
  * ```
29795
+ *
29796
+ * @public
29607
29797
  */
29608
29798
  declare function useCan(handle: string, options?: Omit<UseEntitlementOptions, 'handle'>): UseCanResult;
29609
29799