@revturbine/sdk 0.10.0 → 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.
@@ -7320,7 +7320,7 @@ declare const WebhookEventLogSchema: z.ZodObject<{
7320
7320
  declare const TrackEventSchema: z.ZodObject<{
7321
7321
  environment_id: z.ZodString;
7322
7322
  user_id: z.ZodString;
7323
- account_id: z.ZodString;
7323
+ account_id: z.ZodOptional<z.ZodString>;
7324
7324
  event_name: z.ZodString;
7325
7325
  event_ts: z.ZodString;
7326
7326
  properties: z.ZodOptional<z.ZodString>;
@@ -7346,7 +7346,7 @@ declare const TrackIngestBatchSchema: z.ZodObject<{
7346
7346
  events: z.ZodArray<z.ZodObject<{
7347
7347
  environment_id: z.ZodString;
7348
7348
  user_id: z.ZodString;
7349
- account_id: z.ZodString;
7349
+ account_id: z.ZodOptional<z.ZodString>;
7350
7350
  event_name: z.ZodString;
7351
7351
  event_ts: z.ZodString;
7352
7352
  properties: z.ZodOptional<z.ZodString>;
@@ -20939,9 +20939,15 @@ declare class RevTurbineCustomerSdk {
20939
20939
  * Resolve the normalized variant used by RevTurbine decisions and telemetry.
20940
20940
  * Missing, conflicting, and unavailable assignments remain explicit and are
20941
20941
  * never converted to a control variant.
20942
+ *
20943
+ * @public
20942
20944
  */
20943
20945
  getExperimentVariant(experimentHandle: string): Promise<ExperimentVariantSelection>;
20944
- /** Return the immutable ephemeral context currently entering local evaluation. */
20946
+ /**
20947
+ * Return the immutable ephemeral context currently entering local evaluation.
20948
+ *
20949
+ * @public
20950
+ */
20945
20951
  getEffectiveUserContext(): Promise<Readonly<RevTurbineUserContext>>;
20946
20952
  /**
20947
20953
  * Emit `experiment_assigned` assignment facts for the resolved snapshot
@@ -20987,6 +20993,49 @@ declare class RevTurbineCustomerSdk {
20987
20993
  private applyCategoryConflictSuppression;
20988
20994
  private resolveLocalPlacementFromCandidates;
20989
20995
  private localPlacementForConfig;
20996
+ /**
20997
+ * The `placement_slots[]` entry the loaded Playbook authors for a request.
20998
+ *
20999
+ * BL-0119. `placement_slots` is the authored registry of surfaces: an entry
21000
+ * declares a slot's `id`, `surface_type` and `template`, and a placement
21001
+ * targets it through `trigger.slot_id`. Scaffold's headless `LocalRuntime`
21002
+ * has always resolved it (`slotRecordForConfig`); the browser SDK never did,
21003
+ * so a slot-id lookup had nothing to match against and every caller who had
21004
+ * not already driven a decision through that slot got `null` /
21005
+ * `placement_not_found` while a by-name lookup worked.
21006
+ *
21007
+ * The matching rules are kept identical to `LocalRuntime.slotRecordForConfig`
21008
+ * on purpose — a slot id wins outright; otherwise the component type matches
21009
+ * the slot's `surface_type`. Divergence here is divergence in what the same
21010
+ * Playbook decides in the browser versus headless.
21011
+ *
21012
+ * @internal
21013
+ */
21014
+ private authoredSurfaceSlotFor;
21015
+ /**
21016
+ * The surface template ids the Playbook declares for an authored slot id.
21017
+ *
21018
+ * BL-0119. `surface_template_ids` on the registered record is what drops the
21019
+ * shared resolver into its slot branch; without it the resolver falls back to
21020
+ * direct lookup, which is keyed by placement name/id and can never match a
21021
+ * slot id. An integrator who declared the slot in config should not also have
21022
+ * to repeat its template at the `registerSurfaceSlot()` call site.
21023
+ *
21024
+ * @internal
21025
+ */
21026
+ private authoredSlotTemplateIds;
21027
+ /**
21028
+ * Resolve a placement request through the Playbook's authored slot registry.
21029
+ *
21030
+ * BL-0119. Runs only after the local placement cache misses, so an already
21031
+ * decided slot keeps its cached output and this path adds no behavior for
21032
+ * requests the SDK could already answer. Registration is deliberately local:
21033
+ * reading a placement must never write a surface slot back to the control
21034
+ * plane.
21035
+ *
21036
+ * @internal
21037
+ */
21038
+ private placementFromAuthoredSlot;
20990
21039
  private hydrateLocalRuntimeState;
20991
21040
  private persistLocalRuntimeState;
20992
21041
  private decisionCacheStorageKey;
@@ -21078,6 +21127,8 @@ declare class RevTurbineCustomerSdk {
21078
21127
  *
21079
21128
  * Keys are usage units (derived from configured usage token prefixes when available),
21080
21129
  * and values include current usage plus optional limit when known.
21130
+ *
21131
+ * @public
21081
21132
  */
21082
21133
  getUsage(): RevTurbineUsageSnapshot;
21083
21134
  private catalogEligibilityContext;
@@ -21154,6 +21205,8 @@ declare class RevTurbineCustomerSdk {
21154
21205
  * - Placement decision metadata (`rule_id`, reason codes, suppression)
21155
21206
  *
21156
21207
  * Useful for debuggers, QA tooling, and customer-facing explainability UIs.
21208
+ *
21209
+ * @public
21157
21210
  */
21158
21211
  explainPlacementDecision(input: RevTurbinePlacementDecisionInput): Promise<RevTurbinePlacementDecisionExplanation>;
21159
21212
  private usageThresholdForEntitlement;
@@ -21293,6 +21346,8 @@ declare class RevTurbineCustomerSdk {
21293
21346
  * {@link RevTurbineInitOptions.anonymousTelemetry} switch (REQ-13).
21294
21347
  *
21295
21348
  * @param consent - the new consent state
21349
+ *
21350
+ * @public
21296
21351
  */
21297
21352
  setTelemetryConsent(consent: TelemetryConsent): void;
21298
21353
  /** The current behavior-telemetry consent state (plan 144 TASK-8). */
@@ -21324,6 +21379,8 @@ declare class RevTurbineCustomerSdk {
21324
21379
  * at emit time; a violation emits an `sdk_validation_warning` alongside
21325
21380
  * (never a throw — telemetry must not break the host app). Production
21326
21381
  * builds skip validation; the ingest boundary re-validates authoritatively.
21382
+ *
21383
+ * @public
21327
21384
  */
21328
21385
  emitPlatformEvent<K extends EmittablePlatformEventName>(eventName: K, payload: EventPayloadInput<K>, options?: RevTurbineEventOptions): Promise<void>;
21329
21386
  /**
@@ -21367,6 +21424,8 @@ declare class RevTurbineCustomerSdk {
21367
21424
  * interval timer, and page-unload. Best-effort and non-throwing — delivery
21368
21425
  * failures are swallowed (plan 95 REQ-3). Safe to call when the buffer is
21369
21426
  * empty (no-op).
21427
+ *
21428
+ * @public
21370
21429
  */
21371
21430
  flushEvents(): Promise<void>;
21372
21431
  /**
@@ -21430,6 +21489,13 @@ declare class RevTurbineCustomerSdk {
21430
21489
  * routes through the normal clickstream path and never throws into the app.
21431
21490
  */
21432
21491
  private emitObservedContextFields;
21492
+ /**
21493
+ * Merge fields into the session-bound user context. Recognized fields
21494
+ * upsert; an omitted field never clobbers a previously-set value. See the
21495
+ * advertised {@link update} alias for the full recognized-field contract.
21496
+ *
21497
+ * @public
21498
+ */
21433
21499
  setUserContext(userContext: RevTurbineUserContext): void;
21434
21500
  /**
21435
21501
  * Subscribe to user-context changes — `identify()`, `setUserContext()`,
@@ -21521,9 +21587,32 @@ declare class RevTurbineCustomerSdk {
21521
21587
  diagnoseSlotInventory(): RevTurbineSlotInventoryDiagnosis;
21522
21588
  /**
21523
21589
  * @deprecated Use `registerSurfaceSlot`.
21590
+ *
21591
+ * @public
21524
21592
  */
21525
21593
  registerPlacement(config: RevTurbinePlacementConfig): Promise<string>;
21526
21594
  private upsertSurfaceSlot;
21595
+ /**
21596
+ * Build the internal placement record for a surface-slot config.
21597
+ *
21598
+ * Shared by `registerSurfaceSlot` and the BL-0119 authored-slot resolution
21599
+ * path so both produce byte-identical records — a second hand-rolled record
21600
+ * shape is how the two would drift into deciding differently.
21601
+ *
21602
+ * When the caller passes no `surfaceTemplateIds`, the ids the Playbook
21603
+ * declares for this slot are adopted (BL-0119). An explicit list from the
21604
+ * call site always wins: the mounting code knows what it actually renders.
21605
+ *
21606
+ * @internal
21607
+ */
21608
+ private buildSurfaceSlotRecord;
21609
+ /**
21610
+ * Store a surface-slot record in the local registry, marking it unsynced when
21611
+ * it is new or has changed. Local only — never writes to the control plane.
21612
+ *
21613
+ * @internal
21614
+ */
21615
+ private commitSurfaceSlotRecord;
21527
21616
  registerSurfaceSlot(config: RevTurbineSurfaceSlotConfig): Promise<string>;
21528
21617
  /**
21529
21618
  * Persist authored placement types to a configured backend.
@@ -21563,6 +21652,14 @@ declare class RevTurbineCustomerSdk {
21563
21652
  */
21564
21653
  private gateDecisionByCaps;
21565
21654
  private normalizeDecisionFromResponse;
21655
+ /**
21656
+ * Resolve the placement decision for a registered surface slot — the
21657
+ * evaluated payload (or lack of one), its reason, and the metadata needed
21658
+ * to report the interaction lifecycle ({@link trackTreatmentInteraction},
21659
+ * {@link dismiss}, {@link snooze}, {@link convert}).
21660
+ *
21661
+ * @public
21662
+ */
21566
21663
  getPlacementDecision(input: RevTurbinePlacementDecisionInput): Promise<RevTurbinePlacementDecision>;
21567
21664
  preloadPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
21568
21665
  bootstrapPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
@@ -21597,6 +21694,31 @@ declare class RevTurbineCustomerSdk {
21597
21694
  * persistent failure is observable instead of merely quiet.
21598
21695
  */
21599
21696
  private failInteractionFlush;
21697
+ /**
21698
+ * The account identity to stamp on a treatment interaction, or `undefined`
21699
+ * when the integration has identified none.
21700
+ *
21701
+ * Two rules make this a usable join key rather than a label:
21702
+ *
21703
+ * 1. **Redacted identically to `/api/track`.** Both paths run the account id
21704
+ * through {@link redactIdentityField}, so an email-shaped account id
21705
+ * becomes the SAME hash in `placement_presentations` and in
21706
+ * `events_clickstream`. Hashing on one path only would produce a hash on
21707
+ * one side and a raw email on the other, and `monetization_funnel` would
21708
+ * join nothing (identity keys are hashed, not sentinelled — the contract
21709
+ * is byte-identical across repos).
21710
+ * 2. **Never falls back to the user id.** An absent account is absent. The
21711
+ * ingest route keeps its own `account_id ?? user_id` fallback for SDKs
21712
+ * that do not send the field yet; this SDK no longer feeds it.
21713
+ */
21714
+ private interactionAccountId;
21715
+ /**
21716
+ * Report a treatment interaction directly by placement/treatment id — the
21717
+ * lower-level counterpart to {@link dismiss}/{@link snooze}/{@link convert},
21718
+ * which key off a decision's `output_id` instead.
21719
+ *
21720
+ * @public
21721
+ */
21600
21722
  trackTreatmentInteraction(input: RevTurbineTreatmentInteractionInput): Promise<void>;
21601
21723
  getPlacementContent(placementId: string, request?: JsonObject): Promise<RevTurbinePlacementContent>;
21602
21724
  /**
@@ -21649,8 +21771,29 @@ declare class RevTurbineCustomerSdk {
21649
21771
  private reportUnrecognizedContextKeys;
21650
21772
  private normalizePlacementOutput;
21651
21773
  private validateTrialStatusShape;
21774
+ /**
21775
+ * Resolve the legacy placement payload for a request config. Prefer
21776
+ * {@link getPlacementDecision} for new integrations; kept for the
21777
+ * documented legacy request-config path.
21778
+ *
21779
+ * @public
21780
+ */
21652
21781
  getPlacement(config: RevTurbinePlacementRequestConfig): Promise<PlacementOutput | null>;
21782
+ /**
21783
+ * Evaluate a single entitlement handle for the active user, purely from the
21784
+ * loaded UserContext and Playbook. The advertised {@link can} alias wraps
21785
+ * this with the friendly verb name.
21786
+ *
21787
+ * @public
21788
+ */
21653
21789
  checkEntitlement(handle: string, context?: RevTurbineEntitlementContext): Promise<EntitlementResult>;
21790
+ /**
21791
+ * Set absolute usage balances for the active user and emit any
21792
+ * threshold-crossing triggers. See the advertised {@link update} alias's
21793
+ * `usage` key for the same contract via the general patch verb.
21794
+ *
21795
+ * @public
21796
+ */
21654
21797
  updateUsage(balances: UsageBalances): void;
21655
21798
  /**
21656
21799
  * Report usage values that are neither a number nor an entry object, so a
@@ -21683,12 +21826,16 @@ declare class RevTurbineCustomerSdk {
21683
21826
  /**
21684
21827
  * Build the full persistence-ready {@link UserContext} from the current
21685
21828
  * SDK state. Includes `tenant_id` and `user_id` required for API storage.
21829
+ *
21830
+ * @public
21686
21831
  */
21687
21832
  getUserContext(): UserContext;
21688
21833
  /**
21689
21834
  * Fetch the resolved user context from the decision API.
21690
21835
  * Returns the user's matched segments, traits, plan, and usage — used
21691
21836
  * to determine which placement payloads are eligible for display.
21837
+ *
21838
+ * @public
21692
21839
  */
21693
21840
  fetchUserContext(userId: string): Promise<UserTargetingContext>;
21694
21841
  /**
@@ -21826,6 +21973,12 @@ declare class RevTurbineCustomerSdk {
21826
21973
  * @param metadata - Optional metadata persisted with the record.
21827
21974
  */
21828
21975
  recordConversion(placementId: string, payloadId?: string, surfaceTemplateId?: string, metadata?: RevTurbineImpressionMetadata): Promise<void>;
21976
+ /**
21977
+ * Return the active user's trial status, derived from their trial
21978
+ * instances and the configured reverse-trial rules.
21979
+ *
21980
+ * @public
21981
+ */
21829
21982
  getTrialStatus(): Promise<RevTurbineTrialContext>;
21830
21983
  /**
21831
21984
  * Derive and push the user's trial status from their {@link TrialInstance}
@@ -21848,6 +22001,8 @@ declare class RevTurbineCustomerSdk {
21848
22001
  * @param options - Optional `nowIso` clock pin (defaults to the current
21849
22002
  * time) and `basePlanHandle` (the base plan a reverse-trial user reverts
21850
22003
  * to, surfaced as `plan_handle`).
22004
+ *
22005
+ * @public
21851
22006
  */
21852
22007
  setTrialInstances(instances: readonly TrialInstance[], options?: {
21853
22008
  nowIso?: string;
@@ -21867,6 +22022,8 @@ declare class RevTurbineCustomerSdk {
21867
22022
  * - `uiPathResolvers` passed at SDK init
21868
22023
  * - optional `resolvers` passed to this method
21869
22024
  * - CTA handlers from domain providers (`domain: 'cta'`), unless disabled
22025
+ *
22026
+ * @public
21870
22027
  */
21871
22028
  validateUiPathResolvers(options?: RevTurbineUiPathResolverValidationOptions): Promise<RevTurbineUiPathResolverValidationReport>;
21872
22029
  /**
@@ -21880,11 +22037,35 @@ declare class RevTurbineCustomerSdk {
21880
22037
  private warnOnUiPathResolverCoverageGaps;
21881
22038
  /** Route output-addressed callbacks through the canonical interaction/analytics path. */
21882
22039
  private trackOutputInteraction;
22040
+ /**
22041
+ * Suppress a decision's placement for its authored dismiss cooldown.
22042
+ * Terminal for the window: `getPlacementDecision` will not return it again
22043
+ * until the cooldown lapses.
22044
+ *
22045
+ * @public
22046
+ */
21883
22047
  dismiss(outputId: string): Promise<void>;
22048
+ /**
22049
+ * Suppress a decision's placement for a "remind me later" window —
22050
+ * `seconds` overrides the authored default.
22051
+ *
22052
+ * @public
22053
+ */
21884
22054
  snooze(outputId: string, seconds?: number): Promise<void>;
22055
+ /**
22056
+ * Record a confirmed CTA completion and retire the decision's placement
22057
+ * permanently — future calls to `getPlacementDecision` for it will not
22058
+ * return it again.
22059
+ *
22060
+ * @public
22061
+ */
21885
22062
  convert(outputId: string): Promise<void>;
21886
22063
  /**
21887
- * Emit a canonical trigger event recognised by the decision engine.
22064
+ * Emit a canonical trigger event. There is no in-SDK consumer that matches
22065
+ * on trigger names — the shipped behavior is ingest to `events_clickstream`
22066
+ * only (plan 250's wire/consumer matrix); a decision-engine placement
22067
+ * trigger matches `trigger.slot_id` against registered slots, not this
22068
+ * event's name.
21888
22069
  *
21889
22070
  * Convenience wrapper over {@link emitSemantic} that constrains the event
21890
22071
  * name to {@link RevTurbineTriggerEvent} and attaches standard context
@@ -21908,6 +22089,8 @@ declare class RevTurbineCustomerSdk {
21908
22089
  * // stored as `clickstream_feature_gated` — see the collision note above
21909
22090
  * await sdk.emitTrigger('feature_gated', { feature: 'advanced_automation' });
21910
22091
  * ```
22092
+ *
22093
+ * @public
21911
22094
  */
21912
22095
  emitTrigger(trigger: RevTurbineTriggerEvent, payload?: RevTurbineTriggerPayload, options?: RevTurbineEventOptions): Promise<void>;
21913
22096
  trackEvent(name: string, data?: SdkEventProperties): Promise<void>;
@@ -21932,8 +22115,16 @@ declare class RevTurbineCustomerSdk {
21932
22115
  * rt.identify('user_123', { plan_handle: 'pro' }); // THE matching identity
21933
22116
  * rt.identify('user_123', { plan_handle: 'pro', plan: { handle: 'pro', name: 'Professional' } });
21934
22117
  * ```
22118
+ *
22119
+ * @public
21935
22120
  */
21936
22121
  identify<T extends IdentifyContextInput>(userId: string, context?: Exact<IdentifyContextInput, T>): void;
22122
+ /**
22123
+ * Reset to anonymous user state, re-inferring a fresh anonymous id. Also
22124
+ * available as the advertised {@link reset} alias.
22125
+ *
22126
+ * @public
22127
+ */
21937
22128
  resetIdentity(): void;
21938
22129
  /**
21939
22130
  * Hard-reset the user context to a blank slate — removes EVERY user-context
@@ -21971,6 +22162,8 @@ declare class RevTurbineCustomerSdk {
21971
22162
  * @example
21972
22163
  * const access = await rt.can('generate_image');
21973
22164
  * if (!access.allowed) showUpgrade();
22165
+ *
22166
+ * @public
21974
22167
  */
21975
22168
  can(handle: string, context?: RevTurbineEntitlementContext): Promise<EntitlementResult>;
21976
22169
  /**
@@ -21982,6 +22175,8 @@ declare class RevTurbineCustomerSdk {
21982
22175
  * @example
21983
22176
  * const gated = await rt.gate('export_pdf', () => exportPdf());
21984
22177
  * if (!gated.ran) openPaywall(gated.entitlement);
22178
+ *
22179
+ * @public
21985
22180
  */
21986
22181
  gate<T>(action: string, fn: () => T | Promise<T>, context?: RevTurbineEntitlementContext): Promise<RevTurbineGateResult<T>>;
21987
22182
  /**
@@ -21990,6 +22185,8 @@ declare class RevTurbineCustomerSdk {
21990
22185
  *
21991
22186
  * @example
21992
22187
  * rt.track('ai_generation_completed', { credits: 3 });
22188
+ *
22189
+ * @public
21993
22190
  */
21994
22191
  track(name: string, data?: SdkEventProperties): Promise<void>;
21995
22192
  /**
@@ -22013,11 +22210,15 @@ declare class RevTurbineCustomerSdk {
22013
22210
  * @example
22014
22211
  * // Reflect a plan change and new traits in one call (identity unchanged):
22015
22212
  * rt.update({ plan_handle: 'pro', custom: { role: 'admin' } });
22213
+ *
22214
+ * @public
22016
22215
  */
22017
22216
  update<T extends RevTurbineUpdateInput>(patch: Exact<RevTurbineUpdateInput, T>): void;
22018
22217
  /**
22019
22218
  * Clear the current user — the advertised alias of {@link resetIdentity}
22020
22219
  * (e.g. on sign-out).
22220
+ *
22221
+ * @public
22021
22222
  */
22022
22223
  reset(): void;
22023
22224
  onRouteChange(change: {
@@ -22738,6 +22939,8 @@ declare class SdkSession {
22738
22939
  * ],
22739
22940
  * });
22740
22941
  * ```
22942
+ *
22943
+ * @public
22741
22944
  */
22742
22945
  declare function initRevTurbine<TUser extends RevTurbineUserContext = RevTurbineUserContext>(options: SdkSessionOptions & {
22743
22946
  user?: Exact<RevTurbineUserContext, TUser>;
@@ -23693,7 +23896,7 @@ interface components {
23693
23896
  TrackEvent: {
23694
23897
  environment_id: components["schemas"]["Anon_57796118d046_16"];
23695
23898
  user_id: components["schemas"]["Anon_761f976a1da1_1"];
23696
- account_id: components["schemas"]["Anon_57796118d046_17"];
23899
+ account_id?: components["schemas"]["Anon_4e04ec5cc4e6_3"];
23697
23900
  event_name: components["schemas"]["Anon_cd76cef95ac8"];
23698
23901
  event_ts: components["schemas"]["Anon_3c179513a5d9_2"];
23699
23902
  properties?: components["schemas"]["Anon_96f9066c2fdc_20"];
@@ -23718,7 +23921,7 @@ interface components {
23718
23921
  SdkMetaEvent: {
23719
23922
  event_type: components["schemas"]["Anon_53b83ce9a609"];
23720
23923
  occurred_at: components["schemas"]["Anon_3c179513a5d9_3"];
23721
- request_id?: components["schemas"]["Anon_4e04ec5cc4e6_3"];
23924
+ request_id?: components["schemas"]["Anon_4e04ec5cc4e6_4"];
23722
23925
  config_hash_id?: components["schemas"]["Anon_e17de468dbc9"];
23723
23926
  sdk_version?: components["schemas"]["Anon_e17de468dbc9_1"];
23724
23927
  runtime_mode?: components["schemas"]["Anon_e17de468dbc9_2"];
@@ -23749,17 +23952,17 @@ interface components {
23749
23952
  TreatmentInteractionInput: {
23750
23953
  user_id: components["schemas"]["Anon_761f976a1da1_2"];
23751
23954
  account_id?: components["schemas"]["Anon_0a729b73253d"];
23752
- placement_id: components["schemas"]["Anon_57796118d046_18"];
23753
- treatment_id?: components["schemas"]["Anon_4e04ec5cc4e6_4"];
23754
- surface_slot_id?: components["schemas"]["Anon_4e04ec5cc4e6_5"];
23755
- surface_template_id?: components["schemas"]["Anon_4e04ec5cc4e6_6"];
23756
- payload_id?: components["schemas"]["Anon_4e04ec5cc4e6_7"];
23955
+ placement_id: components["schemas"]["Anon_57796118d046_17"];
23956
+ treatment_id?: components["schemas"]["Anon_4e04ec5cc4e6_5"];
23957
+ surface_slot_id?: components["schemas"]["Anon_4e04ec5cc4e6_6"];
23958
+ surface_template_id?: components["schemas"]["Anon_4e04ec5cc4e6_7"];
23959
+ payload_id?: components["schemas"]["Anon_4e04ec5cc4e6_8"];
23757
23960
  interaction_type: components["schemas"]["Anon_b540c131c269"];
23758
23961
  interaction_at?: components["schemas"]["Anon_e077e17ea982_3"];
23759
- message_block_handle?: components["schemas"]["Anon_4e04ec5cc4e6_8"];
23760
- message_block_id?: components["schemas"]["Anon_4e04ec5cc4e6_9"];
23761
- experiment_id?: components["schemas"]["Anon_4e04ec5cc4e6_10"];
23762
- variant_key?: components["schemas"]["Anon_4e04ec5cc4e6_11"];
23962
+ message_block_handle?: components["schemas"]["Anon_4e04ec5cc4e6_9"];
23963
+ message_block_id?: components["schemas"]["Anon_4e04ec5cc4e6_10"];
23964
+ experiment_id?: components["schemas"]["Anon_4e04ec5cc4e6_11"];
23965
+ variant_key?: components["schemas"]["Anon_4e04ec5cc4e6_12"];
23763
23966
  test?: components["schemas"]["Anon_fb9ddeea992e_3"];
23764
23967
  metadata?: components["schemas"]["Anon_a249e58b3222"];
23765
23968
  };
@@ -24093,7 +24296,8 @@ interface components {
24093
24296
  Anon_3f2bab3833ef: components["schemas"]["TrackEvent"][];
24094
24297
  Anon_57796118d046_16: string;
24095
24298
  Anon_761f976a1da1_1: string;
24096
- Anon_57796118d046_17: string;
24299
+ Anon_4e04ec5cc4e6_3: components["schemas"]["Anon_9ac136edb99a_8"];
24300
+ Anon_9ac136edb99a_8: string;
24097
24301
  Anon_cd76cef95ac8: string;
24098
24302
  /** Format: date-time */
24099
24303
  Anon_3c179513a5d9_2: string;
@@ -24127,8 +24331,8 @@ interface components {
24127
24331
  Anon_53b83ce9a609: components["schemas"]["SdkMetaEventType"];
24128
24332
  /** Format: date-time */
24129
24333
  Anon_3c179513a5d9_3: string;
24130
- Anon_4e04ec5cc4e6_3: components["schemas"]["Anon_9ac136edb99a_8"];
24131
- Anon_9ac136edb99a_8: string;
24334
+ Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_9"];
24335
+ Anon_9ac136edb99a_9: string;
24132
24336
  Anon_e17de468dbc9: components["schemas"]["Anon_520c691f88f7"];
24133
24337
  Anon_520c691f88f7: string;
24134
24338
  Anon_e17de468dbc9_1: components["schemas"]["Anon_520c691f88f7_1"];
@@ -24163,29 +24367,29 @@ interface components {
24163
24367
  Anon_e17de468dbc9_10: components["schemas"]["Anon_520c691f88f7_10"];
24164
24368
  Anon_520c691f88f7_10: string;
24165
24369
  Anon_761f976a1da1_2: string;
24166
- Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_9"];
24167
- Anon_9ac136edb99a_9: string;
24168
- Anon_57796118d046_18: string;
24169
- Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_10"];
24370
+ Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_10"];
24170
24371
  Anon_9ac136edb99a_10: string;
24372
+ Anon_57796118d046_17: string;
24171
24373
  Anon_4e04ec5cc4e6_5: components["schemas"]["Anon_9ac136edb99a_11"];
24172
24374
  Anon_9ac136edb99a_11: string;
24173
24375
  Anon_4e04ec5cc4e6_6: components["schemas"]["Anon_9ac136edb99a_12"];
24174
24376
  Anon_9ac136edb99a_12: string;
24175
24377
  Anon_4e04ec5cc4e6_7: components["schemas"]["Anon_9ac136edb99a_13"];
24176
24378
  Anon_9ac136edb99a_13: string;
24379
+ Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_14"];
24380
+ Anon_9ac136edb99a_14: string;
24177
24381
  Anon_b540c131c269: components["schemas"]["TreatmentInteractionType"];
24178
24382
  Anon_e077e17ea982_3: components["schemas"]["Anon_02ecf48bed22_3"];
24179
24383
  /** Format: date-time */
24180
24384
  Anon_02ecf48bed22_3: string;
24181
- Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_14"];
24182
- Anon_9ac136edb99a_14: string;
24183
24385
  Anon_4e04ec5cc4e6_9: components["schemas"]["Anon_9ac136edb99a_15"];
24184
24386
  Anon_9ac136edb99a_15: string;
24185
24387
  Anon_4e04ec5cc4e6_10: components["schemas"]["Anon_9ac136edb99a_16"];
24186
24388
  Anon_9ac136edb99a_16: string;
24187
24389
  Anon_4e04ec5cc4e6_11: components["schemas"]["Anon_9ac136edb99a_17"];
24188
24390
  Anon_9ac136edb99a_17: string;
24391
+ Anon_4e04ec5cc4e6_12: components["schemas"]["Anon_9ac136edb99a_18"];
24392
+ Anon_9ac136edb99a_18: string;
24189
24393
  Anon_fb9ddeea992e_3: components["schemas"]["Anon_7cb541e84f22_31"];
24190
24394
  Anon_7cb541e84f22_31: boolean;
24191
24395
  Anon_a249e58b3222: components["schemas"]["Anon_c65c1fbd5acf_8"];
@@ -24226,7 +24430,7 @@ interface components {
24226
24430
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24227
24431
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_12"];
24228
24432
  handle: components["schemas"]["Anon_2457cccd64aa_2"];
24229
- plan_id: components["schemas"]["Anon_57796118d046_28"];
24433
+ plan_id: components["schemas"]["Anon_57796118d046_27"];
24230
24434
  billing_period: components["schemas"]["Anon_129e203b1449_2"];
24231
24435
  segment_id: components["schemas"]["Anon_f7fb9744a6e4_12"];
24232
24436
  price_amount: components["schemas"]["Anon_7ab7b70b014d_3"];
@@ -24269,7 +24473,7 @@ interface components {
24269
24473
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24270
24474
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_14"];
24271
24475
  handle: components["schemas"]["Anon_2457cccd64aa_3"];
24272
- addon_id: components["schemas"]["Anon_57796118d046_29"];
24476
+ addon_id: components["schemas"]["Anon_57796118d046_28"];
24273
24477
  billing_period: components["schemas"]["Anon_129e203b1449_3"];
24274
24478
  segment_id: components["schemas"]["Anon_f7fb9744a6e4_13"];
24275
24479
  price_amount: components["schemas"]["Anon_7ab7b70b014d_4"];
@@ -24284,8 +24488,8 @@ interface components {
24284
24488
  created_at: components["schemas"]["Anon_be3e2585472d_2"];
24285
24489
  updated_at: components["schemas"]["Anon_be3e2585472d_3"];
24286
24490
  tenant_id: components["schemas"]["Anon_fb248bf5a9f7_10"];
24287
- stripe_price_id: components["schemas"]["Anon_57796118d046_30"];
24288
- stripe_product_id: components["schemas"]["Anon_57796118d046_31"];
24491
+ stripe_price_id: components["schemas"]["Anon_57796118d046_29"];
24492
+ stripe_product_id: components["schemas"]["Anon_57796118d046_30"];
24289
24493
  billing_period: components["schemas"]["Anon_cf08caa6d850_1"];
24290
24494
  unit_amount_cents: components["schemas"]["Anon_79391150fda1_1"];
24291
24495
  currency: components["schemas"]["Anon_1788a9a8a0b9_2"];
@@ -24332,7 +24536,7 @@ interface components {
24332
24536
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24333
24537
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_16"];
24334
24538
  handle: components["schemas"]["Anon_2457cccd64aa_4"];
24335
- entitlement_id: components["schemas"]["Anon_57796118d046_32"];
24539
+ entitlement_id: components["schemas"]["Anon_57796118d046_31"];
24336
24540
  targets: components["schemas"]["Anon_effbae05e941"];
24337
24541
  segment_ids: components["schemas"]["Anon_f8dbfffc0ce2_10"];
24338
24542
  visibility: components["schemas"]["Anon_b26f420c5d82_1"];
@@ -24374,7 +24578,7 @@ interface components {
24374
24578
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24375
24579
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_16"];
24376
24580
  handle: components["schemas"]["Anon_2457cccd64aa_4"];
24377
- entitlement_id: components["schemas"]["Anon_57796118d046_32"];
24581
+ entitlement_id: components["schemas"]["Anon_57796118d046_31"];
24378
24582
  targets: components["schemas"]["Anon_effbae05e941"];
24379
24583
  segment_ids: components["schemas"]["Anon_f8dbfffc0ce2_10"];
24380
24584
  visibility: components["schemas"]["Anon_b26f420c5d82_1"];
@@ -24405,7 +24609,7 @@ interface components {
24405
24609
  };
24406
24610
  EntitlementRuleWarning: {
24407
24611
  code: components["schemas"]["Anon_47cb53910d2c"];
24408
- message: components["schemas"]["Anon_57796118d046_34"];
24612
+ message: components["schemas"]["Anon_57796118d046_33"];
24409
24613
  path?: components["schemas"]["Anon_e5444c6c0ca5"];
24410
24614
  };
24411
24615
  /** @enum {string} */
@@ -24423,8 +24627,8 @@ interface components {
24423
24627
  sequence: components["schemas"]["Anon_ffffc3c874cb_1"];
24424
24628
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24425
24629
  handle: components["schemas"]["Anon_2457cccd64aa_5"];
24426
- rule_id: components["schemas"]["Anon_57796118d046_35"];
24427
- experiment_id: components["schemas"]["Anon_57796118d046_36"];
24630
+ rule_id: components["schemas"]["Anon_57796118d046_34"];
24631
+ experiment_id: components["schemas"]["Anon_57796118d046_35"];
24428
24632
  variant_name: components["schemas"]["Anon_872e58432369_1"];
24429
24633
  is_control: components["schemas"]["Anon_062d958a93c4_5"];
24430
24634
  override_fields: components["schemas"]["Anon_5142f8473790_6"];
@@ -24494,7 +24698,7 @@ interface components {
24494
24698
  };
24495
24699
  PlacementWarning: {
24496
24700
  code: components["schemas"]["Anon_9481d431ae03"];
24497
- message: components["schemas"]["Anon_57796118d046_37"];
24701
+ message: components["schemas"]["Anon_57796118d046_36"];
24498
24702
  path?: components["schemas"]["Anon_e5444c6c0ca5_1"];
24499
24703
  };
24500
24704
  /** @enum {string} */
@@ -24513,13 +24717,13 @@ interface components {
24513
24717
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24514
24718
  anchor_id: components["schemas"]["Anon_fb248bf5a9f7_18"];
24515
24719
  handle: components["schemas"]["Anon_2457cccd64aa_6"];
24516
- placement_id: components["schemas"]["Anon_57796118d046_38"];
24720
+ placement_id: components["schemas"]["Anon_57796118d046_37"];
24517
24721
  drag_order: components["schemas"]["Anon_f95d5b2e4f52_9"];
24518
24722
  target_plan_ids: components["schemas"]["Anon_f8dbfffc0ce2_11"];
24519
24723
  target_plan_billing_cadences: components["schemas"]["Anon_f8dbfffc0ce2_12"];
24520
24724
  target_segments: components["schemas"]["Anon_f8dbfffc0ce2_13"];
24521
24725
  surface_slot_ids: components["schemas"]["Anon_f8dbfffc0ce2_14"];
24522
- surface_template_id: components["schemas"]["Anon_57796118d046_39"];
24726
+ surface_template_id: components["schemas"]["Anon_57796118d046_38"];
24523
24727
  content_fields: components["schemas"]["Anon_5142f8473790_7"];
24524
24728
  cta_list: components["schemas"]["Anon_6ff5f738216c"];
24525
24729
  max_per_period: components["schemas"]["Anon_45e0e0d4a0da_3"];
@@ -24560,8 +24764,8 @@ interface components {
24560
24764
  Anon_be3e2585472d_3: string;
24561
24765
  Anon_fb248bf5a9f7_10: string;
24562
24766
  /** @default production */
24563
- Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_19"];
24564
- Anon_9ac136edb99a_19: string;
24767
+ Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_20"];
24768
+ Anon_9ac136edb99a_20: string;
24565
24769
  Anon_0eb2e3b6e08c_3: string;
24566
24770
  Anon_ed3fcc71dea7: {
24567
24771
  error: string;
@@ -24606,7 +24810,7 @@ interface components {
24606
24810
  Anon_f2d1b3e449b4_1: components["schemas"]["Anon_c65c1fbd5acf_11"];
24607
24811
  Anon_fb248bf5a9f7_12: string;
24608
24812
  Anon_2457cccd64aa_2: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24609
- Anon_57796118d046_28: string;
24813
+ Anon_57796118d046_27: string;
24610
24814
  /** @enum {string} */
24611
24815
  Anon_129e203b1449_2: "monthly" | "annual" | "one_time" | "custom";
24612
24816
  /** @default null */
@@ -24633,7 +24837,7 @@ interface components {
24633
24837
  Anon_f27cb44c32f6_14: components["schemas"]["Anon_f2d1b3e449b4_1"];
24634
24838
  Anon_fb248bf5a9f7_14: string;
24635
24839
  Anon_2457cccd64aa_3: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24636
- Anon_57796118d046_29: string;
24840
+ Anon_57796118d046_28: string;
24637
24841
  /** @enum {string} */
24638
24842
  Anon_129e203b1449_3: "monthly" | "annual" | "one_time" | "custom";
24639
24843
  /** @default null */
@@ -24648,8 +24852,8 @@ interface components {
24648
24852
  Anon_00404e686415_39: string;
24649
24853
  /** @default static */
24650
24854
  Anon_b5714cb1e73b_3: components["schemas"]["PriceSource"];
24855
+ Anon_57796118d046_29: string;
24651
24856
  Anon_57796118d046_30: string;
24652
- Anon_57796118d046_31: string;
24653
24857
  Anon_cf08caa6d850_1: components["schemas"]["StripePriceBillingPeriod"];
24654
24858
  /** @default null */
24655
24859
  Anon_79391150fda1_1: components["schemas"]["Anon_c648138a0918_8"];
@@ -24688,10 +24892,10 @@ interface components {
24688
24892
  Anon_f27cb44c32f6_15: components["schemas"]["Anon_f2d1b3e449b4_1"];
24689
24893
  Anon_fb248bf5a9f7_16: string;
24690
24894
  Anon_2457cccd64aa_4: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24691
- Anon_57796118d046_32: string;
24895
+ Anon_57796118d046_31: string;
24692
24896
  Anon_effbae05e941: components["schemas"]["EntitlementRuleTargetOutput"][];
24693
24897
  Anon_70ee2ddbc798_1: components["schemas"]["EntitlementRuleTargetKind"];
24694
- Anon_57796118d046_33: string;
24898
+ Anon_57796118d046_32: string;
24695
24899
  /** @default [] */
24696
24900
  Anon_f8dbfffc0ce2_10: components["schemas"]["Anon_681004346c78_13"];
24697
24901
  Anon_681004346c78_13: string[];
@@ -24744,12 +24948,12 @@ interface components {
24744
24948
  Anon_94e2b717b43e: components["schemas"]["Anon_b9f8542e5a53"];
24745
24949
  Anon_b9f8542e5a53: components["schemas"]["EntitlementRuleWarning"][];
24746
24950
  Anon_47cb53910d2c: components["schemas"]["EntitlementRuleWarningCode"];
24747
- Anon_57796118d046_34: string;
24951
+ Anon_57796118d046_33: string;
24748
24952
  Anon_e5444c6c0ca5: components["schemas"]["Anon_9b45bb8cfd31"];
24749
24953
  Anon_9b45bb8cfd31: (string | number)[];
24750
24954
  Anon_2457cccd64aa_5: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24955
+ Anon_57796118d046_34: string;
24751
24956
  Anon_57796118d046_35: string;
24752
- Anon_57796118d046_36: string;
24753
24957
  Anon_872e58432369_1: string;
24754
24958
  /** @default false */
24755
24959
  Anon_062d958a93c4_5: components["schemas"]["Anon_7cb541e84f22_42"];
@@ -24798,12 +25002,12 @@ interface components {
24798
25002
  Anon_deca7bd23776: components["schemas"]["Anon_4683dfa2b0e7"];
24799
25003
  Anon_4683dfa2b0e7: components["schemas"]["PlacementWarning"][];
24800
25004
  Anon_9481d431ae03: components["schemas"]["PlacementWarningCode"];
24801
- Anon_57796118d046_37: string;
25005
+ Anon_57796118d046_36: string;
24802
25006
  Anon_e5444c6c0ca5_1: components["schemas"]["Anon_9b45bb8cfd31_1"];
24803
25007
  Anon_9b45bb8cfd31_1: (string | number)[];
24804
25008
  Anon_fb248bf5a9f7_18: string;
24805
25009
  Anon_2457cccd64aa_6: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24806
- Anon_57796118d046_38: string;
25010
+ Anon_57796118d046_37: string;
24807
25011
  /** @default 0 */
24808
25012
  Anon_f95d5b2e4f52_9: components["schemas"]["Anon_278eaeabce08_11"];
24809
25013
  Anon_278eaeabce08_11: number;
@@ -24819,7 +25023,7 @@ interface components {
24819
25023
  /** @default [] */
24820
25024
  Anon_f8dbfffc0ce2_14: components["schemas"]["Anon_681004346c78_17"];
24821
25025
  Anon_681004346c78_17: string[];
24822
- Anon_57796118d046_39: string;
25026
+ Anon_57796118d046_38: string;
24823
25027
  /** @default {} */
24824
25028
  Anon_5142f8473790_7: components["schemas"]["Anon_c65c1fbd5acf_13"];
24825
25029
  Anon_c65c1fbd5acf_13: {
@@ -24879,7 +25083,7 @@ interface components {
24879
25083
  /** @default [] */
24880
25084
  Anon_3b6346b139c2: components["schemas"]["Anon_f836473839d1"];
24881
25085
  Anon_f836473839d1: components["schemas"]["FieldDefinitionOutput"][];
24882
- Anon_9ac136edb99a_20: string;
25086
+ Anon_9ac136edb99a_21: string;
24883
25087
  /** @default false */
24884
25088
  Anon_f56777819c8b_3: boolean;
24885
25089
  Anon_44136fa355b3_2: unknown;
@@ -24927,7 +25131,7 @@ interface components {
24927
25131
  CurrencyOutput: components["schemas"]["Anon_063c0cce3710_1"];
24928
25132
  EntitlementRuleTargetOutput: {
24929
25133
  kind: components["schemas"]["Anon_70ee2ddbc798_1"];
24930
- id: components["schemas"]["Anon_57796118d046_33"];
25134
+ id: components["schemas"]["Anon_57796118d046_32"];
24931
25135
  };
24932
25136
  CtaObjectOutput: {
24933
25137
  label: components["schemas"]["Anon_872e58432369_2"];
@@ -24954,7 +25158,7 @@ interface components {
24954
25158
  description?: components["schemas"]["Anon_ee9224780226_6"];
24955
25159
  };
24956
25160
  FieldDefinitionOutput: {
24957
- name: components["schemas"]["Anon_9ac136edb99a_20"];
25161
+ name: components["schemas"]["Anon_9ac136edb99a_21"];
24958
25162
  field_type: components["schemas"]["TemplateFieldType"];
24959
25163
  required: components["schemas"]["Anon_f56777819c8b_3"];
24960
25164
  default_value?: components["schemas"]["Anon_44136fa355b3_2"];