@revturbine/sdk 0.7.12 → 0.8.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.
Files changed (42) hide show
  1. package/dist/headless.d.ts +1506 -114
  2. package/dist/headless.js +2 -2
  3. package/dist/headless.js.map +1 -1
  4. package/dist/index.d.ts +1749 -121
  5. package/dist/index.js +2 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/types/web-sdk/config-artifact.d.ts +54 -12
  8. package/dist/types/web-sdk/config-artifact.d.ts.map +1 -1
  9. package/dist/types/web-sdk/control-plane-events.d.ts +6 -5
  10. package/dist/types/web-sdk/control-plane-events.d.ts.map +1 -1
  11. package/dist/types/web-sdk/controllers.d.ts +17 -0
  12. package/dist/types/web-sdk/controllers.d.ts.map +1 -1
  13. package/dist/types/web-sdk/customer-side.d.ts +332 -4
  14. package/dist/types/web-sdk/customer-side.d.ts.map +1 -1
  15. package/dist/types/web-sdk/headless.d.ts +1 -1
  16. package/dist/types/web-sdk/headless.d.ts.map +1 -1
  17. package/dist/types/web-sdk/pii-redact.d.ts +19 -0
  18. package/dist/types/web-sdk/pii-redact.d.ts.map +1 -1
  19. package/dist/types/web-sdk/placements/FixedSurfaceSlot.d.ts +14 -3
  20. package/dist/types/web-sdk/placements/FixedSurfaceSlot.d.ts.map +1 -1
  21. package/dist/types/web-sdk/placements/MessageSurfaceSlot.d.ts.map +1 -1
  22. package/dist/types/web-sdk/placements/useSurfaceSlot.d.ts +24 -0
  23. package/dist/types/web-sdk/placements/useSurfaceSlot.d.ts.map +1 -1
  24. package/dist/types/web-sdk/react/InitFailureDiagnostic.d.ts +35 -0
  25. package/dist/types/web-sdk/react/InitFailureDiagnostic.d.ts.map +1 -0
  26. package/dist/types/web-sdk/react/RevTurbineProvider.d.ts +18 -4
  27. package/dist/types/web-sdk/react/RevTurbineProvider.d.ts.map +1 -1
  28. package/dist/types/web-sdk/react/index.d.ts +2 -0
  29. package/dist/types/web-sdk/react/index.d.ts.map +1 -1
  30. package/dist/types/web-sdk/react/init-status.d.ts +63 -0
  31. package/dist/types/web-sdk/react/init-status.d.ts.map +1 -0
  32. package/dist/types/web-sdk/react/useRevTurbine.d.ts +18 -0
  33. package/dist/types/web-sdk/react/useRevTurbine.d.ts.map +1 -1
  34. package/dist/types/web-sdk/theme/ThemeContext.d.ts +28 -2
  35. package/dist/types/web-sdk/theme/ThemeContext.d.ts.map +1 -1
  36. package/dist/types/web-sdk/theme/defaults.d.ts +44 -3
  37. package/dist/types/web-sdk/theme/defaults.d.ts.map +1 -1
  38. package/dist/types/web-sdk/theme/index.d.ts +4 -2
  39. package/dist/types/web-sdk/theme/index.d.ts.map +1 -1
  40. package/dist/types/web-sdk/theme/useColorScheme.d.ts +14 -0
  41. package/dist/types/web-sdk/theme/useColorScheme.d.ts.map +1 -0
  42. package/package.json +4 -4
@@ -3328,6 +3328,23 @@ declare const AnalyticsCatalogMetricSchema: z.ZodObject<{
3328
3328
  }>>;
3329
3329
  numerator_metric: z.ZodOptional<z.ZodString>;
3330
3330
  denominator_metric: z.ZodOptional<z.ZodString>;
3331
+ derivation: z.ZodOptional<z.ZodObject<{
3332
+ kind: z.ZodEnum<{
3333
+ derived: "derived";
3334
+ observed: "observed";
3335
+ unavailable: "unavailable";
3336
+ }>;
3337
+ input_origin: z.ZodEnum<{
3338
+ none: "none";
3339
+ platform: "platform";
3340
+ customer_authored: "customer_authored";
3341
+ mixed: "mixed";
3342
+ }>;
3343
+ ingested_events: z.ZodArray<z.ZodString>;
3344
+ ingested_datasources: z.ZodOptional<z.ZodArray<z.ZodString>>;
3345
+ carried_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
3346
+ note: z.ZodOptional<z.ZodString>;
3347
+ }, z.core.$strip>>;
3331
3348
  deprecation: z.ZodOptional<z.ZodObject<{
3332
3349
  deprecated: z.ZodBoolean;
3333
3350
  replaced_by: z.ZodOptional<z.ZodString>;
@@ -3399,6 +3416,23 @@ declare const AnalyticsCatalogMetricValidatedSchema: z.ZodObject<{
3399
3416
  }>>;
3400
3417
  numerator_metric: z.ZodOptional<z.ZodString>;
3401
3418
  denominator_metric: z.ZodOptional<z.ZodString>;
3419
+ derivation: z.ZodOptional<z.ZodObject<{
3420
+ kind: z.ZodEnum<{
3421
+ derived: "derived";
3422
+ observed: "observed";
3423
+ unavailable: "unavailable";
3424
+ }>;
3425
+ input_origin: z.ZodEnum<{
3426
+ none: "none";
3427
+ platform: "platform";
3428
+ customer_authored: "customer_authored";
3429
+ mixed: "mixed";
3430
+ }>;
3431
+ ingested_events: z.ZodArray<z.ZodString>;
3432
+ ingested_datasources: z.ZodOptional<z.ZodArray<z.ZodString>>;
3433
+ carried_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
3434
+ note: z.ZodOptional<z.ZodString>;
3435
+ }, z.core.$strip>>;
3402
3436
  deprecation: z.ZodOptional<z.ZodObject<{
3403
3437
  deprecated: z.ZodBoolean;
3404
3438
  replaced_by: z.ZodOptional<z.ZodString>;
@@ -3439,6 +3473,16 @@ declare const AnalyticsCatalogConceptSchema: z.ZodObject<{
3439
3473
  revturbine_influenced: "revturbine_influenced";
3440
3474
  }>;
3441
3475
  coverage_metric: z.ZodOptional<z.ZodString>;
3476
+ dimension_groundings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
3477
+ kind: z.ZodEnum<{
3478
+ derived: "derived";
3479
+ stamped: "stamped";
3480
+ membership_join: "membership_join";
3481
+ config_join: "config_join";
3482
+ }>;
3483
+ source: z.ZodString;
3484
+ note: z.ZodOptional<z.ZodString>;
3485
+ }, z.core.$strip>>>;
3442
3486
  deprecation: z.ZodOptional<z.ZodObject<{
3443
3487
  deprecated: z.ZodBoolean;
3444
3488
  replaced_by: z.ZodOptional<z.ZodString>;
@@ -5563,6 +5607,16 @@ declare const AnalyticsCatalogSchema: z.ZodObject<{
5563
5607
  revturbine_influenced: "revturbine_influenced";
5564
5608
  }>;
5565
5609
  coverage_metric: z.ZodOptional<z.ZodString>;
5610
+ dimension_groundings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
5611
+ kind: z.ZodEnum<{
5612
+ derived: "derived";
5613
+ stamped: "stamped";
5614
+ membership_join: "membership_join";
5615
+ config_join: "config_join";
5616
+ }>;
5617
+ source: z.ZodString;
5618
+ note: z.ZodOptional<z.ZodString>;
5619
+ }, z.core.$strip>>>;
5566
5620
  deprecation: z.ZodOptional<z.ZodObject<{
5567
5621
  deprecated: z.ZodBoolean;
5568
5622
  replaced_by: z.ZodOptional<z.ZodString>;
@@ -5687,6 +5741,23 @@ declare const AnalyticsCatalogSchema: z.ZodObject<{
5687
5741
  }>>;
5688
5742
  numerator_metric: z.ZodOptional<z.ZodString>;
5689
5743
  denominator_metric: z.ZodOptional<z.ZodString>;
5744
+ derivation: z.ZodOptional<z.ZodObject<{
5745
+ kind: z.ZodEnum<{
5746
+ derived: "derived";
5747
+ observed: "observed";
5748
+ unavailable: "unavailable";
5749
+ }>;
5750
+ input_origin: z.ZodEnum<{
5751
+ none: "none";
5752
+ platform: "platform";
5753
+ customer_authored: "customer_authored";
5754
+ mixed: "mixed";
5755
+ }>;
5756
+ ingested_events: z.ZodArray<z.ZodString>;
5757
+ ingested_datasources: z.ZodOptional<z.ZodArray<z.ZodString>>;
5758
+ carried_by: z.ZodOptional<z.ZodArray<z.ZodString>>;
5759
+ note: z.ZodOptional<z.ZodString>;
5760
+ }, z.core.$strip>>;
5690
5761
  deprecation: z.ZodOptional<z.ZodObject<{
5691
5762
  deprecated: z.ZodBoolean;
5692
5763
  replaced_by: z.ZodOptional<z.ZodString>;
@@ -6048,6 +6119,33 @@ interface AnalyticsCatalogView {
6048
6119
  metricsFor(conceptId: string): AnalyticsCatalogMetric$1[];
6049
6120
  /** The annotation-kind vocabulary this catalog carries, sorted by kind. */
6050
6121
  listAnnotationKinds(): AnalyticsCatalogAnnotationKind$1[];
6122
+ /**
6123
+ * The derived data products one INGESTED EVENT feeds, sorted by metric id.
6124
+ *
6125
+ * The question this answers is the one nobody could answer before: "a tenant
6126
+ * emits `gate_evaluated` — what lights up?" and, read backwards, "this chart
6127
+ * is empty, which event is missing?" Pass a platform event name from the
6128
+ * taxonomy or a datasource name; both sides of a metric's declared inputs
6129
+ * are indexed.
6130
+ */
6131
+ metricsFromIngestedSource(sourceName: string): AnalyticsCatalogMetric$1[];
6132
+ /**
6133
+ * Every ingested event and datasource the catalog reads, sorted. The set of
6134
+ * inputs the product depends on — useful for asking what a new tenant must
6135
+ * emit before its analytics are populated.
6136
+ */
6137
+ listIngestedSources(): string[];
6138
+ /**
6139
+ * The metrics one Tinybird pipe carries, sorted by metric id (plan 228
6140
+ * TASK-3). "Carries" is pipe-allowlist truth — the pipe accepts and serves
6141
+ * the metric id — not a claim that rows exist for it (a carried metric with
6142
+ * derivation.kind='unavailable' is exactly the carried-but-dark state the
6143
+ * register surfaces). This is the read the web execution layer derives its
6144
+ * pipe allowlists from, replacing hand-maintained Record maps.
6145
+ */
6146
+ metricsForPipe(pipeName: string): AnalyticsCatalogMetric$1[];
6147
+ /** Every pipe name any metric declares carriage on, sorted. */
6148
+ listCarryingPipes(): string[];
6051
6149
  }
6052
6150
  declare function createInMemoryAnalyticsCatalog(data: unknown): AnalyticsCatalogView;
6053
6151
  /**
@@ -6604,9 +6702,9 @@ declare const GrowthSignalSeriesSchema: z.ZodObject<{
6604
6702
  /** Normalized output of a GrowthSignalProvider. */
6605
6703
  declare const GrowthSignalBundleSchema: z.ZodObject<{
6606
6704
  availability: z.ZodEnum<{
6705
+ unavailable: "unavailable";
6607
6706
  available: "available";
6608
6707
  stale: "stale";
6609
- unavailable: "unavailable";
6610
6708
  unsupported: "unsupported";
6611
6709
  partial: "partial";
6612
6710
  }>;
@@ -6764,20 +6862,20 @@ declare const OpportunityCandidateSchema: z.ZodObject<{
6764
6862
 
6765
6863
  declare const EventSourceSchema: z.ZodEnum<{
6766
6864
  system: "system";
6865
+ workflow: "workflow";
6767
6866
  clickstream: "clickstream";
6768
6867
  telemetry: "telemetry";
6769
6868
  sdk: "sdk";
6770
- workflow: "workflow";
6771
6869
  }>;
6772
6870
  declare const EventEnvelopeSchema: z.ZodObject<{
6773
6871
  id: z.ZodString;
6774
6872
  event_type: z.ZodString;
6775
6873
  source: z.ZodDefault<z.ZodEnum<{
6776
6874
  system: "system";
6875
+ workflow: "workflow";
6777
6876
  clickstream: "clickstream";
6778
6877
  telemetry: "telemetry";
6779
6878
  sdk: "sdk";
6780
- workflow: "workflow";
6781
6879
  }>>;
6782
6880
  tenant_id: z.ZodOptional<z.ZodString>;
6783
6881
  user_id: z.ZodOptional<z.ZodString>;
@@ -6792,10 +6890,10 @@ declare const IngestedEventSchema: z.ZodObject<{
6792
6890
  event_type: z.ZodString;
6793
6891
  source: z.ZodDefault<z.ZodEnum<{
6794
6892
  system: "system";
6893
+ workflow: "workflow";
6795
6894
  clickstream: "clickstream";
6796
6895
  telemetry: "telemetry";
6797
6896
  sdk: "sdk";
6798
- workflow: "workflow";
6799
6897
  }>>;
6800
6898
  tenant_id: z.ZodOptional<z.ZodString>;
6801
6899
  user_id: z.ZodOptional<z.ZodString>;
@@ -6829,6 +6927,7 @@ declare const TreatmentInteractionTypeSchema: z.ZodEnum<{
6829
6927
  }>;
6830
6928
  declare const TreatmentInteractionInputSchema: z.ZodObject<{
6831
6929
  user_id: z.ZodString;
6930
+ account_id: z.ZodOptional<z.ZodString>;
6832
6931
  placement_id: z.ZodString;
6833
6932
  treatment_id: z.ZodOptional<z.ZodString>;
6834
6933
  surface_slot_id: z.ZodOptional<z.ZodString>;
@@ -6850,12 +6949,105 @@ declare const TreatmentInteractionInputSchema: z.ZodObject<{
6850
6949
  test: z.ZodOptional<z.ZodBoolean>;
6851
6950
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6852
6951
  }, z.core.$strip>;
6952
+ /**
6953
+ * Batch ceiling for `/api/events/interactions`, mirroring the clickstream
6954
+ * batch bound so both ingest surfaces refuse at the same size.
6955
+ */
6956
+ declare const MAX_TREATMENT_INTERACTIONS_PER_BATCH = 500;
6957
+ /**
6958
+ * The array wire shape for treatment interactions.
6959
+ *
6960
+ * The SDK's `flushInteractionQueue` sends a bare {@link TreatmentInteractionInputSchema}
6961
+ * when one interaction is queued and this array when two or more are. Only the
6962
+ * bare shape was ever declared, so the route parsed only that — every
6963
+ * multi-item flush 422'd and its interactions were lost (plan 232). Declaring
6964
+ * the array here makes the batch bound and the item shape one definition that
6965
+ * the route and the SDK both consume, so the two cannot drift apart silently
6966
+ * again; a wire-contract test asserts the exact bodies the SDK builds parse
6967
+ * against {@link TreatmentInteractionRequestSchema}.
6968
+ */
6969
+ declare const TreatmentInteractionBatchSchema: z.ZodArray<z.ZodObject<{
6970
+ user_id: z.ZodString;
6971
+ account_id: z.ZodOptional<z.ZodString>;
6972
+ placement_id: z.ZodString;
6973
+ treatment_id: z.ZodOptional<z.ZodString>;
6974
+ surface_slot_id: z.ZodOptional<z.ZodString>;
6975
+ surface_template_id: z.ZodOptional<z.ZodString>;
6976
+ payload_id: z.ZodOptional<z.ZodString>;
6977
+ interaction_type: z.ZodEnum<{
6978
+ dismiss: "dismiss";
6979
+ impression: "impression";
6980
+ remind_me_later: "remind_me_later";
6981
+ cta_clicked: "cta_clicked";
6982
+ cta_completed: "cta_completed";
6983
+ suppress: "suppress";
6984
+ }>;
6985
+ interaction_at: z.ZodOptional<z.ZodString>;
6986
+ message_block_handle: z.ZodOptional<z.ZodString>;
6987
+ message_block_id: z.ZodOptional<z.ZodString>;
6988
+ experiment_id: z.ZodOptional<z.ZodString>;
6989
+ variant_key: z.ZodOptional<z.ZodString>;
6990
+ test: z.ZodOptional<z.ZodBoolean>;
6991
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
6992
+ }, z.core.$strip>>;
6993
+ /**
6994
+ * Either wire shape, as the route accepts them. This is what the OpenAPI
6995
+ * request body declares, so a generated client can send either without
6996
+ * reaching past the contract.
6997
+ */
6998
+ declare const TreatmentInteractionRequestSchema: z.ZodUnion<readonly [z.ZodObject<{
6999
+ user_id: z.ZodString;
7000
+ account_id: z.ZodOptional<z.ZodString>;
7001
+ placement_id: z.ZodString;
7002
+ treatment_id: z.ZodOptional<z.ZodString>;
7003
+ surface_slot_id: z.ZodOptional<z.ZodString>;
7004
+ surface_template_id: z.ZodOptional<z.ZodString>;
7005
+ payload_id: z.ZodOptional<z.ZodString>;
7006
+ interaction_type: z.ZodEnum<{
7007
+ dismiss: "dismiss";
7008
+ impression: "impression";
7009
+ remind_me_later: "remind_me_later";
7010
+ cta_clicked: "cta_clicked";
7011
+ cta_completed: "cta_completed";
7012
+ suppress: "suppress";
7013
+ }>;
7014
+ interaction_at: z.ZodOptional<z.ZodString>;
7015
+ message_block_handle: z.ZodOptional<z.ZodString>;
7016
+ message_block_id: z.ZodOptional<z.ZodString>;
7017
+ experiment_id: z.ZodOptional<z.ZodString>;
7018
+ variant_key: z.ZodOptional<z.ZodString>;
7019
+ test: z.ZodOptional<z.ZodBoolean>;
7020
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7021
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
7022
+ user_id: z.ZodString;
7023
+ account_id: z.ZodOptional<z.ZodString>;
7024
+ placement_id: z.ZodString;
7025
+ treatment_id: z.ZodOptional<z.ZodString>;
7026
+ surface_slot_id: z.ZodOptional<z.ZodString>;
7027
+ surface_template_id: z.ZodOptional<z.ZodString>;
7028
+ payload_id: z.ZodOptional<z.ZodString>;
7029
+ interaction_type: z.ZodEnum<{
7030
+ dismiss: "dismiss";
7031
+ impression: "impression";
7032
+ remind_me_later: "remind_me_later";
7033
+ cta_clicked: "cta_clicked";
7034
+ cta_completed: "cta_completed";
7035
+ suppress: "suppress";
7036
+ }>;
7037
+ interaction_at: z.ZodOptional<z.ZodString>;
7038
+ message_block_handle: z.ZodOptional<z.ZodString>;
7039
+ message_block_id: z.ZodOptional<z.ZodString>;
7040
+ experiment_id: z.ZodOptional<z.ZodString>;
7041
+ variant_key: z.ZodOptional<z.ZodString>;
7042
+ test: z.ZodOptional<z.ZodBoolean>;
7043
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
7044
+ }, z.core.$strip>>]>;
6853
7045
  declare const TriggerEventTypeSchema: z.ZodEnum<{
6854
7046
  payment_failed: "payment_failed";
6855
7047
  feature_gated: "feature_gated";
7048
+ trial_expired: "trial_expired";
6856
7049
  trial_midpoint: "trial_midpoint";
6857
7050
  trial_expiring: "trial_expiring";
6858
- trial_expired: "trial_expired";
6859
7051
  usage_limit_approaching: "usage_limit_approaching";
6860
7052
  usage_limit_reached: "usage_limit_reached";
6861
7053
  credit_balance_low: "credit_balance_low";
@@ -6902,17 +7094,17 @@ declare const ControlPlaneEventTypeSchema: z.ZodEnum<{
6902
7094
  cli_signed_up: "cli_signed_up";
6903
7095
  cli_signed_in: "cli_signed_in";
6904
7096
  cli_command_executed: "cli_command_executed";
6905
- changeset_submitted: "changeset_submitted";
6906
- changeset_approved: "changeset_approved";
6907
- changeset_rejected: "changeset_rejected";
6908
- changeset_deployed: "changeset_deployed";
6909
- changeset_launched: "changeset_launched";
6910
- changeset_parked: "changeset_parked";
6911
- changeset_resumed: "changeset_resumed";
6912
- changeset_discarded: "changeset_discarded";
6913
- changeset_archived: "changeset_archived";
6914
- config_imported: "config_imported";
6915
- config_exported: "config_exported";
7097
+ playbook_version_submitted: "playbook_version_submitted";
7098
+ playbook_version_approved: "playbook_version_approved";
7099
+ playbook_version_rejected: "playbook_version_rejected";
7100
+ playbook_version_deployed: "playbook_version_deployed";
7101
+ playbook_version_launched: "playbook_version_launched";
7102
+ playbook_version_parked: "playbook_version_parked";
7103
+ playbook_version_resumed: "playbook_version_resumed";
7104
+ playbook_version_discarded: "playbook_version_discarded";
7105
+ playbook_version_archived: "playbook_version_archived";
7106
+ playbook_imported: "playbook_imported";
7107
+ playbook_exported: "playbook_exported";
6916
7108
  entity_created: "entity_created";
6917
7109
  entity_updated: "entity_updated";
6918
7110
  entity_deleted: "entity_deleted";
@@ -6925,17 +7117,17 @@ declare const ControlPlaneSemanticEventSchema: z.ZodObject<{
6925
7117
  cli_signed_up: "cli_signed_up";
6926
7118
  cli_signed_in: "cli_signed_in";
6927
7119
  cli_command_executed: "cli_command_executed";
6928
- changeset_submitted: "changeset_submitted";
6929
- changeset_approved: "changeset_approved";
6930
- changeset_rejected: "changeset_rejected";
6931
- changeset_deployed: "changeset_deployed";
6932
- changeset_launched: "changeset_launched";
6933
- changeset_parked: "changeset_parked";
6934
- changeset_resumed: "changeset_resumed";
6935
- changeset_discarded: "changeset_discarded";
6936
- changeset_archived: "changeset_archived";
6937
- config_imported: "config_imported";
6938
- config_exported: "config_exported";
7120
+ playbook_version_submitted: "playbook_version_submitted";
7121
+ playbook_version_approved: "playbook_version_approved";
7122
+ playbook_version_rejected: "playbook_version_rejected";
7123
+ playbook_version_deployed: "playbook_version_deployed";
7124
+ playbook_version_launched: "playbook_version_launched";
7125
+ playbook_version_parked: "playbook_version_parked";
7126
+ playbook_version_resumed: "playbook_version_resumed";
7127
+ playbook_version_discarded: "playbook_version_discarded";
7128
+ playbook_version_archived: "playbook_version_archived";
7129
+ playbook_imported: "playbook_imported";
7130
+ playbook_exported: "playbook_exported";
6939
7131
  entity_created: "entity_created";
6940
7132
  entity_updated: "entity_updated";
6941
7133
  entity_deleted: "entity_deleted";
@@ -6951,10 +7143,10 @@ declare const EventSearchParamsSchema: z.ZodObject<{
6951
7143
  q: z.ZodOptional<z.ZodString>;
6952
7144
  source: z.ZodOptional<z.ZodEnum<{
6953
7145
  system: "system";
7146
+ workflow: "workflow";
6954
7147
  clickstream: "clickstream";
6955
7148
  telemetry: "telemetry";
6956
7149
  sdk: "sdk";
6957
- workflow: "workflow";
6958
7150
  }>>;
6959
7151
  event_type: z.ZodOptional<z.ZodString>;
6960
7152
  from: z.ZodOptional<z.ZodString>;
@@ -7009,9 +7201,9 @@ declare const TrackEventSchema: z.ZodObject<{
7009
7201
  tenant_id: z.ZodOptional<z.ZodString>;
7010
7202
  event_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7011
7203
  origin: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
7204
+ derived: "derived";
7012
7205
  explicit: "explicit";
7013
7206
  automatic: "automatic";
7014
- derived: "derived";
7015
7207
  raw: "raw";
7016
7208
  }>>>;
7017
7209
  playbook_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -7035,9 +7227,9 @@ declare const TrackIngestBatchSchema: z.ZodObject<{
7035
7227
  tenant_id: z.ZodOptional<z.ZodString>;
7036
7228
  event_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7037
7229
  origin: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
7230
+ derived: "derived";
7038
7231
  explicit: "explicit";
7039
7232
  automatic: "automatic";
7040
- derived: "derived";
7041
7233
  raw: "raw";
7042
7234
  }>>>;
7043
7235
  playbook_version: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -7238,16 +7430,24 @@ declare const EventTaxonomySchema: z.ZodObject<{
7238
7430
  * Control-plane events, emitted by revturbine-web itself (plan 112).
7239
7431
  * `source` (system vs workflow) is a separate axis carried on the event.
7240
7432
  */
7241
- declare const CONTROL_PLANE_EVENT_NAMES: readonly ["web_signed_up", "web_signed_in", "cli_signed_up", "cli_signed_in", "cli_command_executed", "changeset_submitted", "changeset_approved", "changeset_rejected", "changeset_deployed", "changeset_launched", "changeset_parked", "changeset_resumed", "changeset_discarded", "changeset_archived", "config_imported", "config_exported", "entity_created", "entity_updated", "entity_deleted", "web_api_error"];
7433
+ declare const CONTROL_PLANE_EVENT_NAMES: readonly ["web_signed_up", "web_signed_in", "cli_signed_up", "cli_signed_in", "cli_command_executed", "playbook_version_submitted", "playbook_version_approved", "playbook_version_rejected", "playbook_version_deployed", "playbook_version_launched", "playbook_version_parked", "playbook_version_resumed", "playbook_version_discarded", "playbook_version_archived", "playbook_imported", "playbook_exported", "entity_created", "entity_updated", "entity_deleted", "web_api_error"];
7242
7434
  /**
7243
7435
  * SDK-automatic client events with fixed names. Prefix-family members
7244
7436
  * (`engagement_*`) are NOT listed here — see {@link EVENT_PREFIX_FAMILIES}.
7245
7437
  */
7246
- declare const SDK_CLIENT_EVENT_NAMES: readonly ["placement_resolved", "placement_rendered", "placement_exposed", "placement_outcome", "placement_interaction", "gate_evaluated", "gate_attempted", "gate_allowed", "gate_denied", "slot_evaluated", "slot_filled", "slot_empty", "slot_suppressed", "slot_error", "segment_enrolled", "segment_unenrolled", "experiment_assigned", "user_context_observed", "page_view"];
7438
+ declare const SDK_CLIENT_EVENT_NAMES: readonly ["placement_resolved", "placement_rendered", "placement_exposed", "placement_outcome", "placement_interaction", "gate_evaluated", "gate_attempted", "gate_allowed", "gate_denied", "slot_evaluated", "slot_filled", "slot_empty", "slot_suppressed", "slot_error", "segment_enrolled", "segment_unenrolled", "experiment_assigned", "user_context_observed", "clickstream_page_view", "account_created", "user_signed_up", "onboarding_completed", "account_activated", "product_used", "value_realized", "usage_recorded", "plan_viewed", "promotion_applied", "promotion_converted"];
7247
7439
  /**
7248
7440
  * Anonymous SDK telemetry on the keyless meta lane (plan 95/144). These carry
7249
7441
  * no tenant and no user context, so they are `internal` by construction.
7250
7442
  */
7443
+ /**
7444
+ * Server-produced derived observations (plan 228 TASK-2 audit). Not emitted by
7445
+ * the client SDK — written by producers that aggregate facts into windowed
7446
+ * metric observations (today: the Growth Lab loader; tomorrow: any in-engine
7447
+ * aggregator). Declared so the parity scan and every reader can SEE the name;
7448
+ * excluded from the sdk_client emit-parity direction by surface.
7449
+ */
7450
+ declare const SDK_SERVER_EVENT_NAMES: readonly ["growth_signal_observed"];
7251
7451
  declare const SDK_META_EVENT_NAMES: readonly ["sdk_init", "sdk_error", "sdk_validation_warning", "resolution_failure"];
7252
7452
  /**
7253
7453
  * Product signals revturbine-web emits about ITSELF, through the customer
@@ -7263,14 +7463,32 @@ declare const SDK_META_EVENT_NAMES: readonly ["sdk_init", "sdk_error", "sdk_vali
7263
7463
  * from `ControlPlaneEventType`; a name on both lanes double-counts one
7264
7464
  * operator action.
7265
7465
  *
7266
- * They are `control_plane` by SURFACE — they originate in revturbine-web — and
7267
- * so are excluded from the SDK's two-directional parity scan, which is scoped
7268
- * to `sdk_client`. That is correct: no SDK emit site produces them, and
7269
- * declaring them as SDK-emitted would manufacture exactly the
7270
- * declared-but-never-emitted defect that scan exists to catch.
7466
+ * SURFACE (plan 228 TASK-5 dogfood ruling): `sdk_client`, reclassified from
7467
+ * `control_plane`. These are generic product-usage telemetry any tenant's
7468
+ * app could legitimately report about itself through the SDK's typed emit
7469
+ * surface — "RevTurbine's own vocabulary" was never load-bearing for them,
7470
+ * unlike the CP proper (auth, playbook-version lifecycle, entity CRUD),
7471
+ * which stays structurally unforgeable. revturbine-web swaps its `track()`
7472
+ * call sites to `emitPlatformEvent` at its next SDK pin bump; until then
7473
+ * its emissions ride the generic lane of a pre-namespacing SDK and land
7474
+ * raw, exactly as before.
7271
7475
  */
7272
7476
  declare const DOGFOOD_CLIENT_EVENT_NAMES: readonly ["area_viewed", "feature_gated"];
7273
- type EventName = (typeof CONTROL_PLANE_EVENT_NAMES)[number] | (typeof DOGFOOD_CLIENT_EVENT_NAMES)[number] | (typeof SDK_CLIENT_EVENT_NAMES)[number] | (typeof SDK_META_EVENT_NAMES)[number];
7477
+ /**
7478
+ * Billing lifecycle events (plan 228 R-2). Dual-source BY CONTRACT: the Stripe
7479
+ * webhook processor translates `stripe_event_type` onto these names, AND the
7480
+ * SDK exposes a typed emit path for each under the same payload schema — so a
7481
+ * tenant on a different biller (or none) produces identical facts. The surface
7482
+ * is `webhook_derived` because that is the historically-primary producer; it
7483
+ * does NOT mean webhook-only, and the emit↔taxonomy parity scan includes these
7484
+ * on the SDK side.
7485
+ *
7486
+ * Every payload carries `billing_ref` — the producer-minted idempotency key
7487
+ * that makes a Stripe delivery and an SDK emission of the same commercial fact
7488
+ * collapse to one row (the identity key, consumed by datasource derivation).
7489
+ */
7490
+ declare const WEBHOOK_DERIVED_EVENT_NAMES: readonly ["subscription_started", "subscription_renewed", "subscription_expanded", "subscription_canceled", "trial_started", "trial_converted", "trial_expired", "payment_succeeded", "payment_failed"];
7491
+ type EventName = (typeof CONTROL_PLANE_EVENT_NAMES)[number] | (typeof DOGFOOD_CLIENT_EVENT_NAMES)[number] | (typeof SDK_CLIENT_EVENT_NAMES)[number] | (typeof SDK_SERVER_EVENT_NAMES)[number] | (typeof SDK_META_EVENT_NAMES)[number] | (typeof WEBHOOK_DERIVED_EVENT_NAMES)[number];
7274
7492
  /**
7275
7493
  * Names the SDK classifies as platform-automatic for ORIGIN tagging without
7276
7494
  * emitting them itself. `impression` is the clearest case: it is an
@@ -7312,9 +7530,744 @@ declare const PLATFORM_EVENT_TAXONOMY: {
7312
7530
  };
7313
7531
  /** Every platform-emitted event name, for the cross-repo parity assertion. */
7314
7532
  declare const PLATFORM_EMITTED_EVENT_NAMES: readonly string[];
7533
+ /**
7534
+ * Namespace a customer-supplied event name that collides with platform
7535
+ * vocabulary (plan 228 TASK-4). The generic `track()` lane — SDK and
7536
+ * `/api/track` ingest alike — runs every ALREADY-NORMALIZED name through
7537
+ * this, so platform events are unforgeable from the untyped path: a
7538
+ * customer's `track('gate_attempted')` lands as `clickstream_gate_attempted`
7539
+ * while the typed emit surface sends `gate_attempted` raw.
7540
+ *
7541
+ * Derived from the taxonomy, not a hardcoded switch, so a name added to the
7542
+ * taxonomy is protected the moment it exists. Names already carrying the
7543
+ * `clickstream_` namespace pass through — `clickstream_page_view` IS the
7544
+ * platform name for the generic page-view alias (wire truth), and the guard
7545
+ * also makes the function idempotent.
7546
+ */
7547
+ declare function namespacePlatformCollision(normalizedName: string): string;
7315
7548
  /** Names exempt from the declared-but-never-emitted parity direction. */
7316
7549
  declare const DEPRECATED_EVENT_NAMES: readonly string[];
7317
7550
 
7551
+ /**
7552
+ * Per-event payload contracts (plan 228 REQ-1) — one Zod schema for EVERY
7553
+ * taxonomy event, plus the identity key that makes two emissions the same
7554
+ * fact.
7555
+ *
7556
+ * Before this file, event NAMES were declared (plan 181) but payloads were
7557
+ * untyped bags: `EventEnvelopeSchema.payload` is `z.record(z.string(),
7558
+ * z.unknown())`, and each contract lived only in the body of its emit site.
7559
+ * That is how R-10 shipped — `emitGateEvaluated`'s property set existed
7560
+ * nowhere a validator, a reader, or a simulator could check against, so a
7561
+ * double-wrapped payload validated fine and read as empty everywhere.
7562
+ *
7563
+ * Every schema below is transcribed from a VERIFIED producer, not designed at
7564
+ * a desk: the control-plane shapes from revturbine-web's `emitControlPlaneEvent`
7565
+ * call sites, the SDK client shapes from `web-sdk/customer-side.ts` +
7566
+ * `controllers.ts` emit sites, the meta-lane shapes from the
7567
+ * `events_sdk_meta` / `events_sdk_diagnostics` datasource columns they land
7568
+ * in. The billing band (plan 228 R-2) is the one designed-first set — it is
7569
+ * NEW vocabulary, dual-source by contract (Stripe webhook processor and typed
7570
+ * SDK emit share these schemas), and its fields exist to ground the catalog
7571
+ * dimensions REQ-11 names (`commercial.plan`, `commercial.billing_period`,
7572
+ * `trial.rule`).
7573
+ *
7574
+ * Three deliberate contract decisions:
7575
+ *
7576
+ * - **Loose objects.** REQ-9's evolution policy is additive-only, and its
7577
+ * reader half is that a validator built against schema rev N accepts a
7578
+ * payload from rev N+1. `z.looseObject` preserves unknown keys instead of
7579
+ * stripping or rejecting them — an old ingest never mangles a newer
7580
+ * producer's additive field.
7581
+ * - **Identity keys are part of the contract.** `identity` names the payload
7582
+ * fields that make two emissions the same fact; `'event_id'` means the
7583
+ * envelope-level id is the only identity (the common case for telemetry).
7584
+ * Datasource sorting keys and dedup discriminators DERIVE from this
7585
+ * (REQ-4) — the `experiment_assignments` partition-key near-miss is why
7586
+ * keys are declared here rather than chosen per datasource.
7587
+ * - **Classification rides every field** (house `DataClassification` meta),
7588
+ * so PII handling derives from the contract; `pii-redact` remains
7589
+ * defense-in-depth, not the source of truth.
7590
+ */
7591
+
7592
+ type PlatformEventName = (typeof CONTROL_PLANE_EVENT_NAMES)[number] | (typeof DOGFOOD_CLIENT_EVENT_NAMES)[number] | (typeof SDK_CLIENT_EVENT_NAMES)[number] | (typeof SDK_SERVER_EVENT_NAMES)[number] | (typeof SDK_META_EVENT_NAMES)[number] | (typeof WEBHOOK_DERIVED_EVENT_NAMES)[number];
7593
+ interface EventPayloadContract {
7594
+ /** The payload's Zod schema — loose, additive-tolerant (REQ-9). */
7595
+ schema: z.ZodType;
7596
+ /**
7597
+ * Payload fields that make two emissions the same fact. `['event_id']`
7598
+ * means the envelope id is the only identity (plain telemetry). Datasource
7599
+ * sorting keys and dedup discriminators derive from this (REQ-4).
7600
+ */
7601
+ identity: readonly string[];
7602
+ }
7603
+ /**
7604
+ * Total over every taxonomy name — adding an event in `taxonomy.ts` without a
7605
+ * payload contract here is a COMPILE error, and the parity test holds the
7606
+ * reverse direction.
7607
+ *
7608
+ * Declared with `satisfies` rather than an annotation so each entry keeps its
7609
+ * SPECIFIC schema type: `EventPayloadInput<'gate_evaluated'>` resolves to the
7610
+ * gate payload's input shape, which is what the SDK's typed emit surface
7611
+ * infers its per-event parameter types from (plan 228 TASK-4).
7612
+ */
7613
+ declare const EVENT_PAYLOAD_CONTRACTS: {
7614
+ readonly web_signed_up: {
7615
+ readonly schema: z.ZodObject<{
7616
+ control_plane_source: z.ZodEnum<{
7617
+ system: "system";
7618
+ workflow: "workflow";
7619
+ }>;
7620
+ }, z.core.$loose>;
7621
+ readonly identity: readonly ["event_id"];
7622
+ };
7623
+ readonly web_signed_in: {
7624
+ readonly schema: z.ZodObject<{
7625
+ control_plane_source: z.ZodEnum<{
7626
+ system: "system";
7627
+ workflow: "workflow";
7628
+ }>;
7629
+ }, z.core.$loose>;
7630
+ readonly identity: readonly ["event_id"];
7631
+ };
7632
+ readonly cli_signed_up: {
7633
+ readonly schema: z.ZodObject<{
7634
+ control_plane_source: z.ZodEnum<{
7635
+ system: "system";
7636
+ workflow: "workflow";
7637
+ }>;
7638
+ }, z.core.$loose>;
7639
+ readonly identity: readonly ["event_id"];
7640
+ };
7641
+ readonly cli_signed_in: {
7642
+ readonly schema: z.ZodObject<{
7643
+ control_plane_source: z.ZodEnum<{
7644
+ system: "system";
7645
+ workflow: "workflow";
7646
+ }>;
7647
+ }, z.core.$loose>;
7648
+ readonly identity: readonly ["event_id"];
7649
+ };
7650
+ readonly cli_command_executed: {
7651
+ readonly schema: z.ZodObject<{
7652
+ command: z.ZodString;
7653
+ control_plane_source: z.ZodEnum<{
7654
+ system: "system";
7655
+ workflow: "workflow";
7656
+ }>;
7657
+ }, z.core.$loose>;
7658
+ readonly identity: readonly ["event_id"];
7659
+ };
7660
+ readonly playbook_version_submitted: {
7661
+ readonly schema: z.ZodObject<{
7662
+ playbook_version_id: z.ZodString;
7663
+ control_plane_source: z.ZodEnum<{
7664
+ system: "system";
7665
+ workflow: "workflow";
7666
+ }>;
7667
+ }, z.core.$loose>;
7668
+ readonly identity: readonly ["event_id"];
7669
+ };
7670
+ readonly playbook_version_approved: {
7671
+ readonly schema: z.ZodObject<{
7672
+ playbook_version_id: z.ZodString;
7673
+ control_plane_source: z.ZodEnum<{
7674
+ system: "system";
7675
+ workflow: "workflow";
7676
+ }>;
7677
+ }, z.core.$loose>;
7678
+ readonly identity: readonly ["event_id"];
7679
+ };
7680
+ readonly playbook_version_rejected: {
7681
+ readonly schema: z.ZodObject<{
7682
+ playbook_version_id: z.ZodString;
7683
+ control_plane_source: z.ZodEnum<{
7684
+ system: "system";
7685
+ workflow: "workflow";
7686
+ }>;
7687
+ }, z.core.$loose>;
7688
+ readonly identity: readonly ["event_id"];
7689
+ };
7690
+ readonly playbook_version_deployed: {
7691
+ readonly schema: z.ZodObject<{
7692
+ playbook_version_id: z.ZodString;
7693
+ control_plane_source: z.ZodEnum<{
7694
+ system: "system";
7695
+ workflow: "workflow";
7696
+ }>;
7697
+ }, z.core.$loose>;
7698
+ readonly identity: readonly ["event_id"];
7699
+ };
7700
+ readonly playbook_version_launched: {
7701
+ readonly schema: z.ZodObject<{
7702
+ playbook_version_id: z.ZodString;
7703
+ control_plane_source: z.ZodEnum<{
7704
+ system: "system";
7705
+ workflow: "workflow";
7706
+ }>;
7707
+ }, z.core.$loose>;
7708
+ readonly identity: readonly ["event_id"];
7709
+ };
7710
+ readonly playbook_version_parked: {
7711
+ readonly schema: z.ZodObject<{
7712
+ playbook_version_id: z.ZodString;
7713
+ control_plane_source: z.ZodEnum<{
7714
+ system: "system";
7715
+ workflow: "workflow";
7716
+ }>;
7717
+ }, z.core.$loose>;
7718
+ readonly identity: readonly ["event_id"];
7719
+ };
7720
+ readonly playbook_version_resumed: {
7721
+ readonly schema: z.ZodObject<{
7722
+ playbook_version_id: z.ZodString;
7723
+ control_plane_source: z.ZodEnum<{
7724
+ system: "system";
7725
+ workflow: "workflow";
7726
+ }>;
7727
+ }, z.core.$loose>;
7728
+ readonly identity: readonly ["event_id"];
7729
+ };
7730
+ readonly playbook_version_discarded: {
7731
+ readonly schema: z.ZodObject<{
7732
+ playbook_version_id: z.ZodString;
7733
+ control_plane_source: z.ZodEnum<{
7734
+ system: "system";
7735
+ workflow: "workflow";
7736
+ }>;
7737
+ }, z.core.$loose>;
7738
+ readonly identity: readonly ["event_id"];
7739
+ };
7740
+ readonly playbook_version_archived: {
7741
+ readonly schema: z.ZodObject<{
7742
+ playbook_version_id: z.ZodString;
7743
+ control_plane_source: z.ZodEnum<{
7744
+ system: "system";
7745
+ workflow: "workflow";
7746
+ }>;
7747
+ }, z.core.$loose>;
7748
+ readonly identity: readonly ["event_id"];
7749
+ };
7750
+ readonly playbook_imported: {
7751
+ readonly schema: z.ZodObject<{
7752
+ playbook_version_id: z.ZodString;
7753
+ control_plane_source: z.ZodEnum<{
7754
+ system: "system";
7755
+ workflow: "workflow";
7756
+ }>;
7757
+ }, z.core.$loose>;
7758
+ readonly identity: readonly ["event_id"];
7759
+ };
7760
+ readonly playbook_exported: {
7761
+ readonly schema: z.ZodObject<{
7762
+ control_plane_source: z.ZodEnum<{
7763
+ system: "system";
7764
+ workflow: "workflow";
7765
+ }>;
7766
+ }, z.core.$loose>;
7767
+ readonly identity: readonly ["event_id"];
7768
+ };
7769
+ readonly entity_created: {
7770
+ readonly schema: z.ZodObject<{
7771
+ resource: z.ZodString;
7772
+ resource_id: z.ZodOptional<z.ZodString>;
7773
+ control_plane_source: z.ZodEnum<{
7774
+ system: "system";
7775
+ workflow: "workflow";
7776
+ }>;
7777
+ }, z.core.$loose>;
7778
+ readonly identity: readonly ["event_id"];
7779
+ };
7780
+ readonly entity_updated: {
7781
+ readonly schema: z.ZodObject<{
7782
+ resource: z.ZodString;
7783
+ resource_id: z.ZodOptional<z.ZodString>;
7784
+ control_plane_source: z.ZodEnum<{
7785
+ system: "system";
7786
+ workflow: "workflow";
7787
+ }>;
7788
+ }, z.core.$loose>;
7789
+ readonly identity: readonly ["event_id"];
7790
+ };
7791
+ readonly entity_deleted: {
7792
+ readonly schema: z.ZodObject<{
7793
+ resource: z.ZodString;
7794
+ resource_id: z.ZodOptional<z.ZodString>;
7795
+ control_plane_source: z.ZodEnum<{
7796
+ system: "system";
7797
+ workflow: "workflow";
7798
+ }>;
7799
+ }, z.core.$loose>;
7800
+ readonly identity: readonly ["event_id"];
7801
+ };
7802
+ readonly web_api_error: {
7803
+ readonly schema: z.ZodObject<{
7804
+ request_id: z.ZodString;
7805
+ status: z.ZodNumber;
7806
+ route: z.ZodOptional<z.ZodString>;
7807
+ method: z.ZodOptional<z.ZodString>;
7808
+ error_code: z.ZodOptional<z.ZodString>;
7809
+ control_plane_source: z.ZodEnum<{
7810
+ system: "system";
7811
+ workflow: "workflow";
7812
+ }>;
7813
+ }, z.core.$loose>;
7814
+ readonly identity: readonly ["event_id"];
7815
+ };
7816
+ readonly area_viewed: {
7817
+ readonly schema: z.ZodObject<{
7818
+ area: z.ZodString;
7819
+ }, z.core.$loose>;
7820
+ readonly identity: readonly ["event_id"];
7821
+ };
7822
+ readonly feature_gated: {
7823
+ readonly schema: z.ZodObject<{
7824
+ pathname: z.ZodNullable<z.ZodString>;
7825
+ reason: z.ZodString;
7826
+ }, z.core.$loose>;
7827
+ readonly identity: readonly ["event_id"];
7828
+ };
7829
+ readonly placement_resolved: {
7830
+ readonly schema: z.ZodObject<{
7831
+ placement_id: z.ZodString;
7832
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7833
+ payload_id: z.ZodNullable<z.ZodString>;
7834
+ decision_id: z.ZodNullable<z.ZodString>;
7835
+ decision_source: z.ZodNullable<z.ZodString>;
7836
+ }, z.core.$loose>;
7837
+ readonly identity: readonly ["event_id"];
7838
+ };
7839
+ readonly placement_rendered: {
7840
+ readonly schema: z.ZodObject<{
7841
+ placement_id: z.ZodString;
7842
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7843
+ payload_id: z.ZodNullable<z.ZodString>;
7844
+ decision_id: z.ZodNullable<z.ZodString>;
7845
+ decision_source: z.ZodNullable<z.ZodString>;
7846
+ }, z.core.$loose>;
7847
+ readonly identity: readonly ["event_id"];
7848
+ };
7849
+ readonly placement_exposed: {
7850
+ readonly schema: z.ZodObject<{
7851
+ exposure_basis: z.ZodOptional<z.ZodString>;
7852
+ placement_id: z.ZodString;
7853
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7854
+ payload_id: z.ZodNullable<z.ZodString>;
7855
+ decision_id: z.ZodNullable<z.ZodString>;
7856
+ decision_source: z.ZodNullable<z.ZodString>;
7857
+ }, z.core.$loose>;
7858
+ readonly identity: readonly ["event_id"];
7859
+ };
7860
+ readonly placement_outcome: {
7861
+ readonly schema: z.ZodObject<{
7862
+ outcome: z.ZodString;
7863
+ cta_target: z.ZodNullable<z.ZodString>;
7864
+ placement_id: z.ZodString;
7865
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7866
+ payload_id: z.ZodNullable<z.ZodString>;
7867
+ decision_id: z.ZodNullable<z.ZodString>;
7868
+ decision_source: z.ZodNullable<z.ZodString>;
7869
+ }, z.core.$loose>;
7870
+ readonly identity: readonly ["event_id"];
7871
+ };
7872
+ readonly placement_interaction: {
7873
+ readonly schema: z.ZodObject<{
7874
+ interaction_type: z.ZodString;
7875
+ placement_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7876
+ payload_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7877
+ decision_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7878
+ user_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7879
+ action_type: z.ZodOptional<z.ZodString>;
7880
+ action_success: z.ZodOptional<z.ZodBoolean>;
7881
+ interaction_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7882
+ remind_after_seconds: z.ZodOptional<z.ZodNumber>;
7883
+ }, z.core.$loose>;
7884
+ readonly identity: readonly ["event_id"];
7885
+ };
7886
+ readonly gate_evaluated: {
7887
+ readonly schema: z.ZodObject<{
7888
+ entitlement_handle: z.ZodString;
7889
+ outcome: z.ZodEnum<{
7890
+ allowed: "allowed";
7891
+ limited: "limited";
7892
+ denied: "denied";
7893
+ }>;
7894
+ gated: z.ZodBoolean;
7895
+ reason: z.ZodNullable<z.ZodString>;
7896
+ limit: z.ZodNullable<z.ZodNumber>;
7897
+ used: z.ZodNullable<z.ZodNumber>;
7898
+ remaining: z.ZodNullable<z.ZodNumber>;
7899
+ }, z.core.$loose>;
7900
+ readonly identity: readonly ["event_id"];
7901
+ };
7902
+ readonly gate_attempted: {
7903
+ readonly schema: z.ZodObject<{
7904
+ entitlement_handle: z.ZodString;
7905
+ }, z.core.$loose>;
7906
+ readonly identity: readonly ["event_id"];
7907
+ };
7908
+ readonly gate_allowed: {
7909
+ readonly schema: z.ZodObject<{
7910
+ entitlement_handle: z.ZodString;
7911
+ }, z.core.$loose>;
7912
+ readonly identity: readonly ["event_id"];
7913
+ };
7914
+ readonly gate_denied: {
7915
+ readonly schema: z.ZodObject<{
7916
+ entitlement_handle: z.ZodString;
7917
+ reason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7918
+ }, z.core.$loose>;
7919
+ readonly identity: readonly ["event_id"];
7920
+ };
7921
+ readonly slot_evaluated: {
7922
+ readonly schema: z.ZodObject<{
7923
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7924
+ slot_name: z.ZodNullable<z.ZodString>;
7925
+ template_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
7926
+ template_id: z.ZodNullable<z.ZodString>;
7927
+ surface_type: z.ZodNullable<z.ZodString>;
7928
+ category: z.ZodNullable<z.ZodString>;
7929
+ decision_source: z.ZodNullable<z.ZodString>;
7930
+ reason_codes: z.ZodArray<z.ZodString>;
7931
+ decision_id: z.ZodNullable<z.ZodString>;
7932
+ }, z.core.$loose>;
7933
+ readonly identity: readonly ["event_id"];
7934
+ };
7935
+ readonly slot_filled: {
7936
+ readonly schema: z.ZodObject<{
7937
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7938
+ slot_name: z.ZodNullable<z.ZodString>;
7939
+ template_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
7940
+ template_id: z.ZodNullable<z.ZodString>;
7941
+ surface_type: z.ZodNullable<z.ZodString>;
7942
+ category: z.ZodNullable<z.ZodString>;
7943
+ decision_source: z.ZodNullable<z.ZodString>;
7944
+ reason_codes: z.ZodArray<z.ZodString>;
7945
+ decision_id: z.ZodNullable<z.ZodString>;
7946
+ }, z.core.$loose>;
7947
+ readonly identity: readonly ["event_id"];
7948
+ };
7949
+ readonly slot_empty: {
7950
+ readonly schema: z.ZodObject<{
7951
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7952
+ slot_name: z.ZodNullable<z.ZodString>;
7953
+ template_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
7954
+ template_id: z.ZodNullable<z.ZodString>;
7955
+ surface_type: z.ZodNullable<z.ZodString>;
7956
+ category: z.ZodNullable<z.ZodString>;
7957
+ decision_source: z.ZodNullable<z.ZodString>;
7958
+ reason_codes: z.ZodArray<z.ZodString>;
7959
+ decision_id: z.ZodNullable<z.ZodString>;
7960
+ }, z.core.$loose>;
7961
+ readonly identity: readonly ["event_id"];
7962
+ };
7963
+ readonly slot_suppressed: {
7964
+ readonly schema: z.ZodObject<{
7965
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7966
+ slot_name: z.ZodNullable<z.ZodString>;
7967
+ template_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
7968
+ template_id: z.ZodNullable<z.ZodString>;
7969
+ surface_type: z.ZodNullable<z.ZodString>;
7970
+ category: z.ZodNullable<z.ZodString>;
7971
+ decision_source: z.ZodNullable<z.ZodString>;
7972
+ reason_codes: z.ZodArray<z.ZodString>;
7973
+ decision_id: z.ZodNullable<z.ZodString>;
7974
+ }, z.core.$loose>;
7975
+ readonly identity: readonly ["event_id"];
7976
+ };
7977
+ readonly slot_error: {
7978
+ readonly schema: z.ZodObject<{
7979
+ message: z.ZodOptional<z.ZodString>;
7980
+ surface_slot_id: z.ZodNullable<z.ZodString>;
7981
+ slot_name: z.ZodNullable<z.ZodString>;
7982
+ template_ids: z.ZodNullable<z.ZodArray<z.ZodString>>;
7983
+ template_id: z.ZodNullable<z.ZodString>;
7984
+ surface_type: z.ZodNullable<z.ZodString>;
7985
+ category: z.ZodNullable<z.ZodString>;
7986
+ decision_source: z.ZodNullable<z.ZodString>;
7987
+ reason_codes: z.ZodArray<z.ZodString>;
7988
+ decision_id: z.ZodNullable<z.ZodString>;
7989
+ }, z.core.$loose>;
7990
+ readonly identity: readonly ["event_id"];
7991
+ };
7992
+ readonly segment_enrolled: {
7993
+ readonly schema: z.ZodObject<{
7994
+ segment_id: z.ZodString;
7995
+ user_id: z.ZodNullable<z.ZodString>;
7996
+ }, z.core.$loose>;
7997
+ readonly identity: readonly ["event_id"];
7998
+ };
7999
+ readonly segment_unenrolled: {
8000
+ readonly schema: z.ZodObject<{
8001
+ segment_id: z.ZodString;
8002
+ user_id: z.ZodNullable<z.ZodString>;
8003
+ }, z.core.$loose>;
8004
+ readonly identity: readonly ["event_id"];
8005
+ };
8006
+ readonly experiment_assigned: {
8007
+ readonly schema: z.ZodObject<{
8008
+ schema_version: z.ZodNumber;
8009
+ assignment_id: z.ZodString;
8010
+ experiment_id: z.ZodString;
8011
+ experiment_version: z.ZodNumber;
8012
+ variant_key: z.ZodString;
8013
+ assignment_unit: z.ZodEnum<{
8014
+ account: "account";
8015
+ user: "user";
8016
+ billing_unit: "billing_unit";
8017
+ organization: "organization";
8018
+ }>;
8019
+ subject_id: z.ZodString;
8020
+ assigned_at: z.ZodString;
8021
+ provider_handle: z.ZodOptional<z.ZodString>;
8022
+ provider_revision: z.ZodOptional<z.ZodString>;
8023
+ }, z.core.$loose>;
8024
+ readonly identity: readonly ["assignment_id"];
8025
+ };
8026
+ readonly user_context_observed: {
8027
+ readonly schema: z.ZodObject<{
8028
+ context_fields: z.ZodArray<z.ZodString>;
8029
+ }, z.core.$loose>;
8030
+ readonly identity: readonly ["event_id"];
8031
+ };
8032
+ readonly clickstream_page_view: {
8033
+ readonly schema: z.ZodObject<{
8034
+ mode: z.ZodOptional<z.ZodString>;
8035
+ runtime_mode: z.ZodOptional<z.ZodString>;
8036
+ source: z.ZodOptional<z.ZodString>;
8037
+ }, z.core.$loose>;
8038
+ readonly identity: readonly ["event_id"];
8039
+ };
8040
+ readonly account_created: {
8041
+ readonly schema: z.ZodObject<{
8042
+ acquisition_source: z.ZodOptional<z.ZodString>;
8043
+ }, z.core.$loose>;
8044
+ readonly identity: readonly ["event_id"];
8045
+ };
8046
+ readonly user_signed_up: {
8047
+ readonly schema: z.ZodObject<{
8048
+ acquisition_source: z.ZodOptional<z.ZodString>;
8049
+ }, z.core.$loose>;
8050
+ readonly identity: readonly ["event_id"];
8051
+ };
8052
+ readonly onboarding_completed: {
8053
+ readonly schema: z.ZodObject<{}, z.core.$loose>;
8054
+ readonly identity: readonly ["event_id"];
8055
+ };
8056
+ readonly account_activated: {
8057
+ readonly schema: z.ZodObject<{}, z.core.$loose>;
8058
+ readonly identity: readonly ["event_id"];
8059
+ };
8060
+ readonly product_used: {
8061
+ readonly schema: z.ZodObject<{}, z.core.$loose>;
8062
+ readonly identity: readonly ["event_id"];
8063
+ };
8064
+ readonly value_realized: {
8065
+ readonly schema: z.ZodObject<{}, z.core.$loose>;
8066
+ readonly identity: readonly ["event_id"];
8067
+ };
8068
+ readonly usage_recorded: {
8069
+ readonly schema: z.ZodObject<{
8070
+ metered_units: z.ZodNumber;
8071
+ included_allowance: z.ZodNumber;
8072
+ utilization: z.ZodNumber;
8073
+ }, z.core.$loose>;
8074
+ readonly identity: readonly ["event_id"];
8075
+ };
8076
+ readonly plan_viewed: {
8077
+ readonly schema: z.ZodObject<{
8078
+ plan_handle: z.ZodString;
8079
+ entry_tier: z.ZodOptional<z.ZodBoolean>;
8080
+ }, z.core.$loose>;
8081
+ readonly identity: readonly ["event_id"];
8082
+ };
8083
+ readonly promotion_applied: {
8084
+ readonly schema: z.ZodObject<{
8085
+ promotion_handle: z.ZodString;
8086
+ plan_handle: z.ZodOptional<z.ZodString>;
8087
+ }, z.core.$loose>;
8088
+ readonly identity: readonly ["event_id"];
8089
+ };
8090
+ readonly promotion_converted: {
8091
+ readonly schema: z.ZodObject<{
8092
+ promotion_handle: z.ZodString;
8093
+ full_price: z.ZodOptional<z.ZodBoolean>;
8094
+ plan_handle: z.ZodOptional<z.ZodString>;
8095
+ }, z.core.$loose>;
8096
+ readonly identity: readonly ["event_id"];
8097
+ };
8098
+ readonly growth_signal_observed: {
8099
+ readonly schema: z.ZodObject<{
8100
+ metric: z.ZodString;
8101
+ dimension_key: z.ZodString;
8102
+ dimension_value: z.ZodString;
8103
+ window_start: z.ZodString;
8104
+ window_end: z.ZodString;
8105
+ value: z.ZodNumber;
8106
+ numerator: z.ZodOptional<z.ZodNumber>;
8107
+ denominator: z.ZodOptional<z.ZodNumber>;
8108
+ sample_size: z.ZodOptional<z.ZodNumber>;
8109
+ }, z.core.$loose>;
8110
+ readonly identity: readonly ["event_id"];
8111
+ };
8112
+ readonly sdk_init: {
8113
+ readonly schema: z.ZodObject<{
8114
+ config_hash_id: z.ZodOptional<z.ZodString>;
8115
+ sdk_version: z.ZodOptional<z.ZodString>;
8116
+ runtime_mode: z.ZodOptional<z.ZodString>;
8117
+ schema_version: z.ZodOptional<z.ZodString>;
8118
+ bundle_version: z.ZodOptional<z.ZodString>;
8119
+ config_shape: z.ZodOptional<z.ZodString>;
8120
+ }, z.core.$loose>;
8121
+ readonly identity: readonly ["event_id"];
8122
+ };
8123
+ readonly sdk_error: {
8124
+ readonly schema: z.ZodObject<{
8125
+ message: z.ZodString;
8126
+ config_hash_id: z.ZodOptional<z.ZodString>;
8127
+ sdk_version: z.ZodOptional<z.ZodString>;
8128
+ }, z.core.$loose>;
8129
+ readonly identity: readonly ["event_id"];
8130
+ };
8131
+ readonly sdk_validation_warning: {
8132
+ readonly schema: z.ZodObject<{
8133
+ message: z.ZodString;
8134
+ config_hash_id: z.ZodOptional<z.ZodString>;
8135
+ sdk_version: z.ZodOptional<z.ZodString>;
8136
+ }, z.core.$loose>;
8137
+ readonly identity: readonly ["event_id"];
8138
+ };
8139
+ readonly resolution_failure: {
8140
+ readonly schema: z.ZodObject<{
8141
+ reason: z.ZodString;
8142
+ placement_handle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8143
+ slot_handle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8144
+ surface: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8145
+ plan_handle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8146
+ entitlement_handle: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8147
+ message: z.ZodOptional<z.ZodString>;
8148
+ config_hash_id: z.ZodOptional<z.ZodString>;
8149
+ }, z.core.$loose>;
8150
+ readonly identity: readonly ["event_id"];
8151
+ };
8152
+ readonly subscription_started: {
8153
+ readonly schema: z.ZodObject<{
8154
+ billing_period: z.ZodString;
8155
+ amount_cents: z.ZodNumber;
8156
+ currency: z.ZodString;
8157
+ billing_ref: z.ZodString;
8158
+ plan_handle: z.ZodString;
8159
+ }, z.core.$loose>;
8160
+ readonly identity: readonly ["billing_ref"];
8161
+ };
8162
+ readonly subscription_renewed: {
8163
+ readonly schema: z.ZodObject<{
8164
+ billing_period: z.ZodString;
8165
+ amount_cents: z.ZodNumber;
8166
+ currency: z.ZodString;
8167
+ billing_ref: z.ZodString;
8168
+ plan_handle: z.ZodString;
8169
+ }, z.core.$loose>;
8170
+ readonly identity: readonly ["billing_ref"];
8171
+ };
8172
+ readonly subscription_expanded: {
8173
+ readonly schema: z.ZodObject<{
8174
+ previous_plan_handle: z.ZodOptional<z.ZodString>;
8175
+ delta_cents: z.ZodOptional<z.ZodNumber>;
8176
+ self_serve: z.ZodOptional<z.ZodBoolean>;
8177
+ billing_period: z.ZodString;
8178
+ amount_cents: z.ZodNumber;
8179
+ currency: z.ZodString;
8180
+ billing_ref: z.ZodString;
8181
+ plan_handle: z.ZodString;
8182
+ }, z.core.$loose>;
8183
+ readonly identity: readonly ["billing_ref"];
8184
+ };
8185
+ readonly subscription_canceled: {
8186
+ readonly schema: z.ZodObject<{
8187
+ reason: z.ZodOptional<z.ZodString>;
8188
+ billing_ref: z.ZodString;
8189
+ plan_handle: z.ZodString;
8190
+ }, z.core.$loose>;
8191
+ readonly identity: readonly ["billing_ref"];
8192
+ };
8193
+ readonly trial_started: {
8194
+ readonly schema: z.ZodObject<{
8195
+ trial_rule_handle: z.ZodString;
8196
+ ends_at: z.ZodString;
8197
+ billing_ref: z.ZodString;
8198
+ plan_handle: z.ZodString;
8199
+ }, z.core.$loose>;
8200
+ readonly identity: readonly ["billing_ref"];
8201
+ };
8202
+ readonly trial_converted: {
8203
+ readonly schema: z.ZodObject<{
8204
+ trial_rule_handle: z.ZodString;
8205
+ billing_period: z.ZodString;
8206
+ amount_cents: z.ZodNumber;
8207
+ currency: z.ZodString;
8208
+ billing_ref: z.ZodString;
8209
+ plan_handle: z.ZodString;
8210
+ }, z.core.$loose>;
8211
+ readonly identity: readonly ["billing_ref"];
8212
+ };
8213
+ readonly trial_expired: {
8214
+ readonly schema: z.ZodObject<{
8215
+ trial_rule_handle: z.ZodString;
8216
+ billing_ref: z.ZodString;
8217
+ plan_handle: z.ZodString;
8218
+ }, z.core.$loose>;
8219
+ readonly identity: readonly ["billing_ref"];
8220
+ };
8221
+ readonly payment_succeeded: {
8222
+ readonly schema: z.ZodObject<{
8223
+ billing_ref: z.ZodString;
8224
+ amount_cents: z.ZodNumber;
8225
+ currency: z.ZodString;
8226
+ plan_handle: z.ZodOptional<z.ZodString>;
8227
+ }, z.core.$loose>;
8228
+ readonly identity: readonly ["billing_ref"];
8229
+ };
8230
+ readonly payment_failed: {
8231
+ readonly schema: z.ZodObject<{
8232
+ billing_ref: z.ZodString;
8233
+ reason: z.ZodString;
8234
+ amount_cents: z.ZodOptional<z.ZodNumber>;
8235
+ currency: z.ZodOptional<z.ZodString>;
8236
+ plan_handle: z.ZodOptional<z.ZodString>;
8237
+ }, z.core.$loose>;
8238
+ readonly identity: readonly ["billing_ref"];
8239
+ };
8240
+ };
8241
+ /** The contracts map with per-event schema types preserved (plan 228 TASK-4). */
8242
+ type EventPayloadContractMap = typeof EVENT_PAYLOAD_CONTRACTS;
8243
+ /**
8244
+ * The input (pre-parse) payload shape for one platform event, inferred from
8245
+ * its contract schema. The SDK's typed emit surface takes exactly this per
8246
+ * event name, so the emit API cannot drift from the contract it validates
8247
+ * against.
8248
+ */
8249
+ type EventPayloadInput<K extends PlatformEventName> = z.input<EventPayloadContractMap[K]['schema']>;
8250
+ /**
8251
+ * Every contracted event name, sorted in UTF-16 code-unit order (the default
8252
+ * string sort — deliberately NOT localeCompare, per the single-canonicalizer
8253
+ * rule; names are lowercase snake_case ASCII, where the two orders coincide,
8254
+ * but the manifest must never depend on a locale).
8255
+ */
8256
+ declare const EVENT_PAYLOAD_EVENT_NAMES: readonly string[];
8257
+ /**
8258
+ * Validate a payload against its event's contract. Unknown events are a
8259
+ * structured failure, not an exception — `/api/track` routes those (and
8260
+ * schema violations) to the REQ-10 quarantine lane rather than dropping.
8261
+ */
8262
+ declare function validateEventPayload(eventName: string, payload: unknown): {
8263
+ ok: true;
8264
+ payload: Record<string, unknown>;
8265
+ } | {
8266
+ ok: false;
8267
+ reason: 'unknown_event' | 'schema_violation';
8268
+ detail?: string;
8269
+ };
8270
+
7318
8271
  /**
7319
8272
  * Trial schemas — free trial rules, reverse trial rules, and trial instances.
7320
8273
  */
@@ -8923,8 +9876,8 @@ declare const ExperimentSchema: z.ZodObject<{
8923
9876
  provider_handle: z.ZodString;
8924
9877
  capability: z.ZodLiteral<"experiment_assignment">;
8925
9878
  allocation_mode: z.ZodEnum<{
8926
- managed: "managed";
8927
9879
  observed: "observed";
9880
+ managed: "managed";
8928
9881
  }>;
8929
9882
  }, z.core.$strip>>;
8930
9883
  evidence_provider_binding: z.ZodOptional<z.ZodObject<{
@@ -14139,9 +15092,9 @@ declare const ProviderConnectionSchema: z.ZodObject<{
14139
15092
  credential_reference: z.ZodDefault<z.ZodNullable<z.ZodString>>;
14140
15093
  environment_id: z.ZodDefault<z.ZodString>;
14141
15094
  health_state: z.ZodDefault<z.ZodEnum<{
15095
+ unavailable: "unavailable";
14142
15096
  available: "available";
14143
15097
  stale: "stale";
14144
- unavailable: "unavailable";
14145
15098
  unsupported: "unsupported";
14146
15099
  partial: "partial";
14147
15100
  }>>;
@@ -14696,9 +15649,9 @@ declare const ProviderCapabilitySchema: z.ZodEnum<{
14696
15649
  * configuration error rather than an outage.
14697
15650
  */
14698
15651
  declare const ProviderAvailabilitySchema: z.ZodEnum<{
15652
+ unavailable: "unavailable";
14699
15653
  available: "available";
14700
15654
  stale: "stale";
14701
- unavailable: "unavailable";
14702
15655
  unsupported: "unsupported";
14703
15656
  partial: "partial";
14704
15657
  }>;
@@ -15087,7 +16040,9 @@ type TenantStatus = z.infer<typeof TenantStatusSchema>;
15087
16040
  type Theme = z.infer<typeof ThemeSchema>;
15088
16041
  type TrackEvent = z.infer<typeof TrackEventSchema>;
15089
16042
  type TrackIngestBatch = z.infer<typeof TrackIngestBatchSchema>;
16043
+ type TreatmentInteractionBatch = z.infer<typeof TreatmentInteractionBatchSchema>;
15090
16044
  type TreatmentInteractionInput = z.infer<typeof TreatmentInteractionInputSchema>;
16045
+ type TreatmentInteractionRequest = z.infer<typeof TreatmentInteractionRequestSchema>;
15091
16046
  type TreatmentInteractionType = z.infer<typeof TreatmentInteractionTypeSchema>;
15092
16047
  type TrendFeatures = z.infer<typeof TrendFeaturesSchema>;
15093
16048
  type TrialEligibilityScope = z.infer<typeof TrialEligibilityScopeSchema>;
@@ -15116,26 +16071,67 @@ type WebhookEventLog = z.infer<typeof WebhookEventLogSchema>;
15116
16071
  type WebhookEventSource = z.infer<typeof WebhookEventSourceSchema>;
15117
16072
  type WebhookEventStatus = z.infer<typeof WebhookEventStatusSchema>;
15118
16073
 
16074
+ declare const REQUIRED_BODY_ARRAY_FIELDS: readonly ["plans", "entitlements", "entitlement_rules", "segments", "content_ui_paths"];
15119
16075
  /** A canonical Playbook or the deprecated RevTurbineConfig wire shape. */
15120
16076
  type ConfigArtifact = Playbook | RevTurbineConfig;
15121
16077
  /**
15122
16078
  * A config artifact as raw parsed JSON — what
15123
16079
  * `import playbook from './revturbine.playbook.json'` produces.
15124
16080
  *
15125
- * TypeScript widens JSON modules to plain `string`/`number` property types,
15126
- * which can never satisfy the literal-typed {@link ConfigArtifact}
15127
- * (`artifact_type: "playbook"` etc.), so a strict-mode project could not pass
15128
- * the imported JSON without a cast. The SDK therefore accepts this raw shape
15129
- * everywhere a {@link ConfigArtifact} is accepted at the `localRuntime`
15130
- * boundary and validates it at runtime ({@link normalizeConfigArtifactOrThrow}
15131
- * — a malformed artifact fails fast at init with a descriptive error).
15132
- */
15133
- type UnvalidatedConfigArtifact = Record<string, unknown>;
15134
- /** Target values used only when an older legacy artifact predates target stamping. */
15135
- interface LegacyConfigTargetDefaults {
16081
+ * This exists because TypeScript widens JSON modules to plain `string`/`number`
16082
+ * property types, which can never satisfy the literal-typed
16083
+ * {@link ConfigArtifact} (`artifact_type: "playbook"` etc.), so a strict-mode
16084
+ * project could not pass the imported JSON without a cast.
16085
+ *
16086
+ * Widening affects only *literal* types, so it is no reason to give up on the
16087
+ * rest of the shape. The body arrays are structurally required here, which
16088
+ * makes a truncated artifact a **compile** error at the `localRuntime`
16089
+ * boundary rather than a runtime one — the whole point of plan 233. The header
16090
+ * fields stay unconstrained because those are exactly the widened ones.
16091
+ *
16092
+ * The required-field list is *derived* from {@link REQUIRED_BODY_ARRAY_FIELDS},
16093
+ * the same constant {@link normalizeConfigArtifactOrThrow} validates against at
16094
+ * runtime, so the compile-time and runtime contracts cannot drift apart.
16095
+ *
16096
+ * The index signature keeps every other field open: a Playbook carries many
16097
+ * optional header fields, and a *fetched* artifact (`await res.json()`, typed
16098
+ * `any`) still satisfies this, so the served path is not made harder to write —
16099
+ * only harder to get silently wrong. Values are still validated at runtime by
16100
+ * {@link normalizeConfigArtifactOrThrow}, which fails fast with a descriptive
16101
+ * error; this type constrains the *shape*, never the values.
16102
+ */
16103
+ type UnvalidatedConfigArtifact = {
16104
+ [K in (typeof REQUIRED_BODY_ARRAY_FIELDS)[number]]: unknown[];
16105
+ } & {
16106
+ [key: string]: unknown;
16107
+ };
16108
+ /**
16109
+ * The target (tenant + environment) the SDK was initialized against.
16110
+ *
16111
+ * These are the **authority** on which tenant a runtime decides for. An
16112
+ * artifact's own `tenant_id` / `environment_id` are a *guard*: they exist so the
16113
+ * CLI can refuse to upload a config to the wrong tenant while setting up demo
16114
+ * environments, and they are not a runtime input (plan 233 REQ-2, Kent 2026-09-10).
16115
+ *
16116
+ * A disagreement between the two warns and proceeds on these values — it never
16117
+ * fails init. See {@link normalizeConfigArtifactOrThrow}.
16118
+ *
16119
+ * @public
16120
+ */
16121
+ interface ConfigTargetDefaults {
16122
+ /** Tenant the SDK was initialized with. Wins over the artifact's `tenant_id`. */
15136
16123
  tenantId: string;
16124
+ /** Environment the SDK was initialized with. Wins over the artifact's `environment_id`. */
15137
16125
  environmentId: string;
15138
16126
  }
16127
+ /**
16128
+ * @deprecated Renamed to {@link ConfigTargetDefaults} in plan 233 — these values
16129
+ * are no longer "legacy defaults" applied only to pre-stamping artifacts; they
16130
+ * are the authoritative target for every artifact shape. Kept as an alias so the
16131
+ * already-shipped export keeps resolving.
16132
+ * @public
16133
+ */
16134
+ type LegacyConfigTargetDefaults = ConfigTargetDefaults;
15139
16135
  /**
15140
16136
  * Parse either supported wire shape into the canonical Playbook shape.
15141
16137
  *
@@ -15143,7 +16139,7 @@ interface LegacyConfigTargetDefaults {
15143
16139
  * an unsupported future `format_version` can never fall back to legacy.
15144
16140
  */
15145
16141
  declare function normalizeConfigArtifactOrThrow(raw: unknown, // sdk-ok: boundary-parse
15146
- source: string, legacyTargetDefaults?: LegacyConfigTargetDefaults): Playbook | undefined;
16142
+ source: string, targetDefaults?: ConfigTargetDefaults): Playbook | undefined;
15147
16143
 
15148
16144
  /**
15149
16145
  * Core type definitions shared across the isomorphic SDK.
@@ -17153,10 +18149,10 @@ declare function resolveBranding(input?: BrandingResolutionInput): ResolvedBrand
17153
18149
  /**
17154
18150
  * Control-plane semantic events (plan 112).
17155
18151
  *
17156
- * A typed layer over the SDK's generic event emit path for RevTurbine's OWN
17157
- * control-plane activity — web/CLI auth, change-set lifecycle, config, and
17158
- * product-entity actions. This is the "dogfood" surface: RevTurbine emits its
17159
- * product usage through the same SDK a customer uses.
18152
+ * A typed layer over the SDK's raw event emit path for RevTurbine's OWN
18153
+ * control-plane activity — web/CLI auth, playbook-version lifecycle, playbook
18154
+ * transfer, and product-entity actions. This is the "dogfood" surface:
18155
+ * RevTurbine emits its product usage through the same SDK a customer uses.
17160
18156
  *
17161
18157
  * The taxonomy itself is the canonical `ControlPlaneEventType` /
17162
18158
  * `ControlPlaneEventSource` enums from `@revt-eng/schema`; this module adds the
@@ -17174,7 +18170,8 @@ declare function resolveBranding(input?: BrandingResolutionInput): ResolvedBrand
17174
18170
  /**
17175
18171
  * Canonical source classification for every control-plane event type — mirrors
17176
18172
  * the scaffold taxonomy. `system` covers identity/auth + CLI command telemetry;
17177
- * `workflow` covers change-set lifecycle, config, and product-entity actions.
18173
+ * `workflow` covers playbook-version lifecycle, playbook transfer, and
18174
+ * product-entity actions.
17178
18175
  *
17179
18176
  * Typed as a total `Record`, so adding a new `ControlPlaneEventType` in scaffold
17180
18177
  * without classifying it here is a compile error.
@@ -17729,6 +18726,43 @@ type RevTurbineLocalOnlyMinimalInitOptions = Omit<RevTurbineInitOptions, 'tenant
17729
18726
  * alias) is provided.
17730
18727
  */
17731
18728
  type RevTurbineInitInputOptions = RevTurbineInitWithProviderOptions | (RevTurbineLocalOnlyMinimalInitOptions & RevTurbineProviderOptionAugmentations);
18729
+ /**
18730
+ * Every key any init-options branch accepts.
18731
+ *
18732
+ * Built from the branches rather than written as `keyof RevTurbineInitInputOptions`:
18733
+ * `keyof` over a union yields the INTERSECTION of its members' keys, so that
18734
+ * form would reject `localRuntime` (local-only branch) and `provider`
18735
+ * (augmentation branch) — every key that makes the union worth having.
18736
+ */
18737
+ type RevTurbineInitOptionKey = keyof RevTurbineInitOptions | keyof RevTurbineProviderOptionAugmentations;
18738
+ /**
18739
+ * Exact-check for init options (plan 233 REQ-2b).
18740
+ *
18741
+ * A key the options do not declare becomes `never`, which turns a typo or a
18742
+ * stale option into a compile error instead of a value the SDK silently ignores.
18743
+ *
18744
+ * The motivating shape is the same one `Exact` was introduced for in plan 191:
18745
+ * TypeScript's excess-property check applies only to fresh object literals, so
18746
+ * options assembled in a variable — or in an un-annotated `useMemo`, which is
18747
+ * exactly how React integrations build them — carried unknown keys with no
18748
+ * diagnostic at all.
18749
+ *
18750
+ * Scope limit worth stating: this cannot catch a wrong VALUE. The escalated
18751
+ * `tenant_id` defect was never reachable from here — that one is caught by
18752
+ * init-time validation (REQ-1/REQ-2) and the reachable init status (REQ-3).
18753
+ *
18754
+ * It is *not* true that a Playbook is beyond compile-time reach. An earlier
18755
+ * version of this note claimed a served artifact is `Record<string, unknown>`
18756
+ * “by necessity”; that was wrong. {@link UnvalidatedConfigArtifact} structurally
18757
+ * requires the body arrays, so a truncated Playbook fails to compile at the
18758
+ * `localRuntime` boundary. What genuinely cannot be checked is the artifact's
18759
+ * *contents* — whether a plan handle exists, whether a rule is satisfiable.
18760
+ *
18761
+ * @public
18762
+ */
18763
+ type ExactInitOptions<T> = {
18764
+ [K in keyof T]: K extends RevTurbineInitOptionKey ? T[K] : never;
18765
+ };
17732
18766
  /**
17733
18767
  * SDK integration mode.
17734
18768
  * - `snippet` — lightweight script tag embed
@@ -18433,7 +19467,14 @@ interface RevTurbineEndpointOverrides {
18433
19467
  /** Keyless anonymous SDK telemetry endpoint (`POST /api/sdk/meta`). */
18434
19468
  ingestSdkMeta: string;
18435
19469
  touchpointTransition: string;
18436
- legacyInteractions: string;
19470
+ /**
19471
+ * @deprecated Ignored since plan 232. This pointed at a fallback the SDK
19472
+ * retried when the interactions POST failed — against a route the app does
19473
+ * not serve, with the internal queue shape rather than the wire shape, so it
19474
+ * could only ever 404. Setting it has no effect; the key remains so an
19475
+ * existing integration that passes it still compiles.
19476
+ */
19477
+ legacyInteractions?: string;
18437
19478
  placementTypes: string;
18438
19479
  surfaceSlots: string;
18439
19480
  }
@@ -18783,6 +19824,67 @@ declare function createTreatmentInteraction(userId: string, placementId: string,
18783
19824
  interface RevTurbineEventOptions {
18784
19825
  immediate?: boolean;
18785
19826
  }
19827
+ /**
19828
+ * One surface slot this app currently has mounted.
19829
+ *
19830
+ * @public
19831
+ */
19832
+ interface RevTurbineRegisteredSlot {
19833
+ /**
19834
+ * The author-facing slot id — what a Playbook placement's `trigger.slot_id`
19835
+ * must equal. NOT the internal hashed registry key.
19836
+ */
19837
+ slotId: string;
19838
+ /** Display name supplied at registration. */
19839
+ name: string;
19840
+ /** Normalized route the slot was mounted on. */
19841
+ route: string;
19842
+ /** The SDK's internal registry id (hashed). Useful when correlating logs. */
19843
+ internalId: string;
19844
+ /** Surface template ids the slot declared it can render, if any. */
19845
+ surfaceTemplateIds: string[];
19846
+ }
19847
+ /**
19848
+ * A Playbook placement that targets a surface slot.
19849
+ *
19850
+ * @public
19851
+ */
19852
+ interface RevTurbineAuthoredSlotRef {
19853
+ /** The slot id the placement targets (`trigger.slot_id`). */
19854
+ slotId: string;
19855
+ /** The authored placement's id. */
19856
+ placementId: string;
19857
+ /** The placement's category, when the Playbook declares one. */
19858
+ category?: string;
19859
+ }
19860
+ /**
19861
+ * Result of {@link RevTurbineCustomerSdk.diagnoseSlotInventory}.
19862
+ *
19863
+ * @public
19864
+ */
19865
+ interface RevTurbineSlotInventoryDiagnosis {
19866
+ /** Every slot mounted by this app right now. */
19867
+ mounted: RevTurbineRegisteredSlot[];
19868
+ /** Every slot-targeted placement in the Playbook. */
19869
+ authored: RevTurbineAuthoredSlotRef[];
19870
+ /**
19871
+ * Placements targeting a slot no code renders. **These can never show**, and
19872
+ * nothing else reports them — the decision path is never asked about a slot
19873
+ * that was never mounted, so there is no error and no reason code.
19874
+ */
19875
+ authoredButUnmounted: RevTurbineAuthoredSlotRef[];
19876
+ /**
19877
+ * Slots mounted that no placement targets. They render their fallback
19878
+ * forever; usually a typo in the slot id, or config that was never deployed.
19879
+ */
19880
+ mountedButUnauthored: RevTurbineRegisteredSlot[];
19881
+ /**
19882
+ * Whether a Playbook was available to diff against. When `false`, `authored`
19883
+ * is empty because nothing could be read — which is NOT the same as "nothing
19884
+ * is authored", and a caller must not treat the two alike.
19885
+ */
19886
+ configAvailable: boolean;
19887
+ }
18786
19888
 
18787
19889
  /** A named semantic event with structured payload. */
18788
19890
  interface RevTurbineSemanticEvent {
@@ -18835,6 +19937,31 @@ type RevTurbineTriggerPayload = TrialTriggerPayload | UsageTriggerPayload | Feat
18835
19937
  */
18836
19938
  declare function createSemanticEvent(eventType: string, payload: SdkEventProperties, options?: RevTurbineEventOptions): RevTurbineSemanticEvent;
18837
19939
 
19940
+ /**
19941
+ * Every event name on the taxonomy's `control_plane` surface — emitted via
19942
+ * {@link RevTurbineCustomerSdk.trackControlPlaneEvent}, never the platform
19943
+ * surface. The TYPE is the CP ingest enum; the runtime set below derives
19944
+ * from the taxonomy's surface field, so a scaffold surface reclassification
19945
+ * (plan 228's dogfood ruling moved `area_viewed`/`feature_gated` OUT of
19946
+ * this surface) flows through on a pin bump with no SDK edit.
19947
+ */
19948
+ type ControlPlaneEventName = (typeof CONTROL_PLANE_EVENT_NAMES)[number];
19949
+ /**
19950
+ * Every platform event the typed emit surface accepts: the full taxonomy
19951
+ * MINUS the control-plane surface (structural exclusion — the CP has its own
19952
+ * typed path with source classification, and a customer emitting
19953
+ * `playbook_version_deployed` would be forging RevTurbine's own product
19954
+ * telemetry). Includes the R-2 billing vocabulary: billing facts consumed
19955
+ * from Stripe must be equally emittable first-party (plan 228 R-1).
19956
+ */
19957
+ type EmittablePlatformEventName = Exclude<PlatformEventName, ControlPlaneEventName>;
19958
+ /**
19959
+ * Runtime mirror of {@link EmittablePlatformEventName}, derived from the
19960
+ * payload-contract map so the emit surface and the taxonomy cannot drift —
19961
+ * the parity test asserts this set plus the control-plane surface IS the
19962
+ * taxonomy.
19963
+ */
19964
+ declare const EMITTABLE_PLATFORM_EVENT_NAMES: readonly string[];
18838
19965
  /**
18839
19966
  * The core RevTurbine customer-facing SDK.
18840
19967
  *
@@ -18843,7 +19970,9 @@ declare function createSemanticEvent(eventType: string, payload: SdkEventPropert
18843
19970
  * - **Placements** — `registerPlacement()`, `getPlacementDecision()`, `getPlacement()`
18844
19971
  * - **Entitlements** — `checkEntitlement()`, `updateUsage()`
18845
19972
  * - **Trials** — `getTrialStatus()`
18846
- * - **Events** — `capture()`, `trackEvent()`, `emitSemantic()`
19973
+ * - **Events** — `track()` / `capture()` (generic lane; platform-name
19974
+ * collisions are namespaced), `emitPlatformEvent()` (typed platform lane,
19975
+ * contract-validated payloads)
18847
19976
  * - **Interactions** — `trackTreatmentInteraction()`, `dismiss()`, `convert()`
18848
19977
  * - **Context** — `setUserContext()`, `setPageContext()`, `refreshPageContext()`
18849
19978
  *
@@ -18899,6 +20028,22 @@ declare class RevTurbineCustomerSdk {
18899
20028
  private readonly anonymousId;
18900
20029
  private readonly sessionId;
18901
20030
  private readonly decisionCache;
20031
+ /**
20032
+ * `output_id` → the placement it was decided for, plus the attribution fields
20033
+ * the interaction path needs.
20034
+ *
20035
+ * The public `dismiss()` / `snooze()` / `convert()` take an **output** id,
20036
+ * while every terminal-state write is keyed by the **placement** id. Without
20037
+ * this index those three methods cannot reach the interaction path at all,
20038
+ * which is why `convert()` only ever emitted an event (plan 233 TASK-14).
20039
+ *
20040
+ * It outlives the decision cache deliberately. A conversion is confirmed after
20041
+ * the user comes back from a checkout redirect, long after a 60-second
20042
+ * decision TTL has expired and often in a fresh page load — so this persists,
20043
+ * and is bounded so a long session cannot grow it without limit.
20044
+ */
20045
+ private readonly outputPlacementIndex;
20046
+ private readonly outputPlacementIndexLimit;
18902
20047
  private readonly interactionState;
18903
20048
  private readonly interactionQueue;
18904
20049
  private readonly defaultDecisionTtlMs;
@@ -18923,6 +20068,14 @@ declare class RevTurbineCustomerSdk {
18923
20068
  private emittedAssignmentFactRevision?;
18924
20069
  private providerResolutionController;
18925
20070
  private lastEffectiveContext?;
20071
+ /**
20072
+ * The effective segment memberships from the most recent provider
20073
+ * resolution — resolved provider segments ∪ locally evaluated segments.
20074
+ * Stamped onto every event envelope as `segment_ids`, exactly as
20075
+ * `experiment_assignments` is stamped (plan 228 TASK-4 / REQ-11a), so
20076
+ * segment cuts read as-of-event truth instead of requiring a config join.
20077
+ */
20078
+ private lastEffectiveSegmentIds;
18926
20079
  private pageContext;
18927
20080
  /**
18928
20081
  * Secure per-user client token (`rt_client_`, plan 157). Minted by the
@@ -19071,6 +20224,16 @@ declare class RevTurbineCustomerSdk {
19071
20224
  private decisionCacheStorageKey;
19072
20225
  private interactionStateStorageKey;
19073
20226
  private presentationCapsStorageKey;
20227
+ private outputPlacementIndexStorageKey;
20228
+ /**
20229
+ * Remember which placement an output belonged to.
20230
+ *
20231
+ * Called from every path that hands a decision to a caller, because any
20232
+ * output a caller can see is an output they can later pass to `convert()`.
20233
+ */
20234
+ private indexDecisionOutput;
20235
+ private hydrateOutputPlacementIndex;
20236
+ private persistOutputPlacementIndex;
19074
20237
  private hydrateDecisionCache;
19075
20238
  private persistDecisionCache;
19076
20239
  private hydrateInteractionState;
@@ -19374,6 +20537,34 @@ declare class RevTurbineCustomerSdk {
19374
20537
  */
19375
20538
  getTelemetryCounters(): TelemetryCounters;
19376
20539
  capture(eventName: string, properties: SdkEventProperties, options?: RevTurbineEventOptions): Promise<void>;
20540
+ /**
20541
+ * Emit a typed platform event (plan 228 TASK-4).
20542
+ *
20543
+ * The sanctioned first-party path for every platform event OUTSIDE the
20544
+ * control plane — SDK lifecycle, gates, placements, milestones, growth
20545
+ * signals, and the R-2 billing vocabulary (a billing fact consumed from
20546
+ * Stripe is equally emittable here; the ingest path dedupes on the
20547
+ * contract's identity keys, e.g. `billing_ref`). The payload parameter type
20548
+ * is inferred from the event's payload contract, so the API cannot drift
20549
+ * from the schema the payload is validated against.
20550
+ *
20551
+ * The name is sent RAW — no `clickstream_*` namespacing — which is exactly
20552
+ * what distinguishes this from {@link track}: the generic lane namespaces
20553
+ * platform collisions, the typed lane IS the platform.
20554
+ *
20555
+ * In development/test builds the payload is validated against its contract
20556
+ * at emit time; a violation emits an `sdk_validation_warning` alongside
20557
+ * (never a throw — telemetry must not break the host app). Production
20558
+ * builds skip validation; the ingest boundary re-validates authoritatively.
20559
+ */
20560
+ emitPlatformEvent<K extends EmittablePlatformEventName>(eventName: K, payload: EventPayloadInput<K>, options?: RevTurbineEventOptions): Promise<void>;
20561
+ /**
20562
+ * Emit an `sdk_validation_warning` conforming to its own payload contract
20563
+ * (`message` is the contract's required field; `reason` rides along for
20564
+ * pre-228 consumers). Fire-and-forget — never throws into the host app.
20565
+ */
20566
+ private emitSdkWarning;
20567
+ private captureRaw;
19377
20568
  /**
19378
20569
  * Emit a typed control-plane semantic event (plan 112).
19379
20570
  *
@@ -19397,7 +20588,7 @@ declare class RevTurbineCustomerSdk {
19397
20588
  * @example
19398
20589
  * ```ts
19399
20590
  * sdk.identify('operator_42', { account_id: 'tn_acme' });
19400
- * await sdk.trackControlPlaneEvent('changeset_deployed', { change_set_id: 'cs_9' });
20591
+ * await sdk.trackControlPlaneEvent('playbook_version_deployed', { change_set_id: 'cs_9' });
19401
20592
  * ```
19402
20593
  */
19403
20594
  trackControlPlaneEvent(eventType: ControlPlaneEventType, payload?: SdkEventProperties, options?: RevTurbineEventOptions): Promise<void>;
@@ -19423,6 +20614,36 @@ declare class RevTurbineCustomerSdk {
19423
20614
  * instance (e.g. SPA unmount) to avoid a dangling interval/listeners.
19424
20615
  */
19425
20616
  dispose(): void;
20617
+ /**
20618
+ * Emit a semantic event through the GENERIC string lane.
20619
+ *
20620
+ * Since plan 228 TASK-4 this is a customer-lane API, not a platform one: it
20621
+ * rides {@link capture}, so a name colliding with platform vocabulary is
20622
+ * namespaced `clickstream_*` — platform events cannot be forged from here.
20623
+ * The SDK's own platform emissions use {@link emitPlatformEvent}, whose
20624
+ * payloads are typed and contract-validated.
20625
+ *
20626
+ * The fields are passed to {@link capture} DIRECTLY, exactly as a customer's
20627
+ * own `capture(name, {...})` call would. Anything else double-wraps them.
20628
+ *
20629
+ * This used to send `{semantic: true, payload: fields}`. The wire mapping
20630
+ * already stores an envelope's properties under the key `payload`, so that
20631
+ * inner wrapper landed the fields at `properties.payload.payload.<field>` in
20632
+ * `events_clickstream` — one level deeper than every `capture()` event and
20633
+ * than the canonical carrier this SDK documents. Readers that followed the
20634
+ * documented shape (`user_context_fields`, any analytics pipe) found nothing
20635
+ * on a semantic event, which is why gate telemetry was invisible to the
20636
+ * entitlement metrics despite being emitted correctly.
20637
+ *
20638
+ * The `semantic: true` marker went with it: it was written here and read
20639
+ * nowhere in the SDK, the web app, or any pipe. It marked nothing and cost a
20640
+ * whole nesting level.
20641
+ *
20642
+ * `liftClickstreamFields` / `pickClickstreamField` are unaffected — they
20643
+ * resolve top-level first and fall back to the nested bag, so they read the
20644
+ * fields either way. Only the STORED JSON changes shape, and it changes to
20645
+ * the shape everything else already expects.
20646
+ */
19426
20647
  emitSemantic(eventType: string, payload: SdkEventProperties, options?: RevTurbineEventOptions): Promise<void>;
19427
20648
  /**
19428
20649
  * Optimized routine to evaluate segment membership and usage thresholds.
@@ -19486,6 +20707,50 @@ declare class RevTurbineCustomerSdk {
19486
20707
  placementScopeKey?: string;
19487
20708
  normalizedPageRoute?: string;
19488
20709
  }): Promise<string>;
20710
+ /**
20711
+ * Every surface slot this SDK instance currently has mounted.
20712
+ *
20713
+ * Plan 233 TASK-10. `verify-integration` names the gap this closes in its own
20714
+ * text: *"A placement targeting a slot no code renders can never show, and
20715
+ * nothing reports this; there is no probe, so walk the Playbook's placement
20716
+ * triggers against your inventory of rendered slots."* There was no way to
20717
+ * obtain that inventory at runtime — the registry is private and keyed by a
20718
+ * hashed id, not by the slot id the author wrote.
20719
+ *
20720
+ * `slotId` is the author-facing identity (what a Playbook's
20721
+ * `trigger.slot_id` must match), not the internal hash. That distinction is
20722
+ * the whole point: a diff against authored config is meaningless in hash
20723
+ * space.
20724
+ *
20725
+ * @public
20726
+ */
20727
+ getRegisteredSlots(): RevTurbineRegisteredSlot[];
20728
+ /**
20729
+ * Diff the authored Playbook against what this app actually mounted, in both
20730
+ * directions.
20731
+ *
20732
+ * Plan 233 TASK-10 / AC-12. Both directions matter and they fail differently:
20733
+ *
20734
+ * - **authoredButUnmounted** — a placement targets a slot no code renders. It
20735
+ * can never show. Nothing reports this today; the decision path is never
20736
+ * even asked about a slot that was never mounted, so there is no error, no
20737
+ * warning, and no reason code. This is the silent one.
20738
+ * - **mountedButUnauthored** — a slot is mounted that no placement targets. It
20739
+ * renders its fallback forever, which usually means a typo in the slot id
20740
+ * or config that was never deployed.
20741
+ *
20742
+ * This is a diagnostic and deliberately reports rather than throws: it is run
20743
+ * against a live app, and an integration with a stale slot should keep
20744
+ * working while someone reads the output.
20745
+ *
20746
+ * A config-side audit **cannot** produce this. That is the lesson from the
20747
+ * August diagnosis of the escalated integration, which concluded the fixed
20748
+ * slots were unmounted: they were mounted, and the call sites passed slot ids
20749
+ * that no placement targeted. Only the running app knows what it mounted.
20750
+ *
20751
+ * @public
20752
+ */
20753
+ diagnoseSlotInventory(): RevTurbineSlotInventoryDiagnosis;
19489
20754
  /**
19490
20755
  * @deprecated Use `registerSurfaceSlot`.
19491
20756
  */
@@ -19533,8 +20798,37 @@ declare class RevTurbineCustomerSdk {
19533
20798
  getPlacementDecision(input: RevTurbinePlacementDecisionInput): Promise<RevTurbinePlacementDecision>;
19534
20799
  preloadPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
19535
20800
  bootstrapPlacementDecisions(inputs: RevTurbinePlacementDecisionInput[]): Promise<void>;
20801
+ /**
20802
+ * The authored suppression windows for a payload, in milliseconds.
20803
+ *
20804
+ * Plan 233 TASK-8b/8c. `caps.cooldown_days` and `remind_later_minutes` are
20805
+ * authored per payload and round-trip through export/import (plan 167 AC-8,
20806
+ * AC-11), but nothing ever read them back: the only consumer was the
20807
+ * `hasAuthoredCaps` feature-flag derivation, which uses their PRESENCE to
20808
+ * switch caps enforcement on and discards their values. So a Playbook saying
20809
+ * `cooldown_days: 7` flipped a boolean and otherwise did nothing.
20810
+ *
20811
+ * The decision's `output_id` is the payload id (the resolver sets
20812
+ * `output_id: payload.id`), so the authored values are recoverable from the
20813
+ * loaded config at interaction time.
20814
+ */
20815
+ private authoredSuppressionWindows;
19536
20816
  private updateInteractionState;
19537
20817
  private flushInteractionQueue;
20818
+ /**
20819
+ * Re-queue a failed interaction flush and make the failure VISIBLE.
20820
+ *
20821
+ * This used to retry against a legacy path that does not exist in the app,
20822
+ * with the internal queue shape rather than the wire shape — so a failure
20823
+ * produced a silent 404, the batch went back on the queue, and it was
20824
+ * discarded at page unload with nothing recorded anywhere. That is how a
20825
+ * whole class of dropped presentations stayed invisible (plan 232).
20826
+ *
20827
+ * Re-queuing is still right — a transient failure should retry on the next
20828
+ * flush — but it is now paired with a counter and a diagnostic, so a
20829
+ * persistent failure is observable instead of merely quiet.
20830
+ */
20831
+ private failInteractionFlush;
19538
20832
  trackTreatmentInteraction(input: RevTurbineTreatmentInteractionInput): Promise<void>;
19539
20833
  getPlacementContent(placementId: string, request?: JsonObject): Promise<RevTurbinePlacementContent>;
19540
20834
  /**
@@ -19816,6 +21110,23 @@ declare class RevTurbineCustomerSdk {
19816
21110
  * throwOnMissing: true })` remains the strict opt-in.
19817
21111
  */
19818
21112
  private warnOnUiPathResolverCoverageGaps;
21113
+ /**
21114
+ * Route an output-addressed interaction through the one interaction path.
21115
+ *
21116
+ * Plan 233 TASK-14. These three methods each emitted a `placement_interaction`
21117
+ * event and stopped, so none of them wrote any terminal state:
21118
+ * `sdk.dismiss()` did not suppress, and `sdk.convert()` did not retire. Only
21119
+ * the controller path (`trackTreatmentInteraction`) ever did, which is why the
21120
+ * defect was invisible to every React integration test.
21121
+ *
21122
+ * The public API takes an **output** id while every terminal-state write is
21123
+ * keyed by the **placement** id, so the output is resolved through
21124
+ * `outputPlacementIndex`. When it cannot be resolved — an output this SDK
21125
+ * instance never decided, or one evicted from a very long session — we emit
21126
+ * the bare event as before and say so. Silently doing nothing is what shipped;
21127
+ * being loud about the one case we cannot serve is the point.
21128
+ */
21129
+ private trackOutputInteraction;
19819
21130
  dismiss(outputId: string): Promise<void>;
19820
21131
  snooze(outputId: string, seconds?: number): Promise<void>;
19821
21132
  convert(outputId: string): Promise<void>;
@@ -19826,10 +21137,22 @@ declare class RevTurbineCustomerSdk {
19826
21137
  * name to {@link RevTurbineTriggerEvent} and attaches standard context
19827
21138
  * (user_id, plan, timestamp) automatically.
19828
21139
  *
21140
+ * **Three trigger names land namespaced on the wire.** This rides the
21141
+ * generic emit lane, which prefixes `clickstream_` to any name the platform
21142
+ * taxonomy already declares — the rule that stops a client forging a
21143
+ * first-party fact by naming an event after one. `trial_expired`,
21144
+ * `payment_failed` and `feature_gated` collide, so they are stored as
21145
+ * `clickstream_trial_expired`, `clickstream_payment_failed` and
21146
+ * `clickstream_feature_gated`. Query those names, not the raw ones. The
21147
+ * remaining triggers are unaffected, and the platform's own versions of the
21148
+ * three are emitted first-party through the typed surface. Pinned by
21149
+ * `trigger-namespacing-parity.test.ts` (plan 231 REQ-4).
21150
+ *
19829
21151
  * @example
19830
21152
  * ```ts
19831
21153
  * await sdk.emitTrigger('usage_limit_approaching', { usage_percent: 85, threshold: 80 });
19832
21154
  * await sdk.emitTrigger('trial_expiring', { days_remaining: 2 });
21155
+ * // stored as `clickstream_feature_gated` — see the collision note above
19833
21156
  * await sdk.emitTrigger('feature_gated', { feature: 'advanced_automation' });
19834
21157
  * ```
19835
21158
  */
@@ -19971,7 +21294,7 @@ declare class RevTurbineCustomerSdk {
19971
21294
  * });
19972
21295
  * ```
19973
21296
  */
19974
- declare function initRevTurbine$1(options: RevTurbineInitInputOptions): RevTurbineCustomerSdk;
21297
+ declare function initRevTurbine$1<T extends RevTurbineInitInputOptions>(options: T & ExactInitOptions<T>): RevTurbineCustomerSdk;
19975
21298
  declare global {
19976
21299
  interface Window {
19977
21300
  RevTurbine?: {
@@ -20301,8 +21624,25 @@ declare class PlacementController {
20301
21624
  /** Re-fetch the placement decision (clears impression + render + exposure tracking). */
20302
21625
  refresh(): Promise<RevTurbinePlacementDecision | null>;
20303
21626
  /** Record a dismiss interaction and hide the placement. */
21627
+ /**
21628
+ * Record a dismissal.
21629
+ *
21630
+ * @param cooldownMs - Optional explicit window. Omit it — which is the normal
21631
+ * case — and the SDK resolves the payload's authored `caps.cooldown_days`,
21632
+ * falling back to the 7-day default. This used to default to 24h here and
21633
+ * pass it ALWAYS, so the authored value and the 7-day default were both
21634
+ * unreachable from React (plan 233 TASK-8b).
21635
+ */
20304
21636
  dismiss(cooldownMs?: number): Promise<void>;
20305
21637
  /** Record a snooze/remind-me-later interaction and hide the placement. */
21638
+ /**
21639
+ * Record a snooze / remind-me-later.
21640
+ *
21641
+ * @param seconds - Optional explicit window. Omit it and the SDK resolves the
21642
+ * payload's authored `remind_later_minutes`, falling back to the tenant
21643
+ * default (plan 233 TASK-8c). Remind-later is a DIFFERENT window from
21644
+ * dismiss and resolves independently.
21645
+ */
20306
21646
  snooze(seconds?: number): Promise<void>;
20307
21647
  /** Alias for {@link snooze}. */
20308
21648
  remindMeLater(seconds?: number): Promise<void>;
@@ -21444,7 +22784,7 @@ interface paths {
21444
22784
  };
21445
22785
  get?: never;
21446
22786
  put?: never;
21447
- /** Record a placement treatment interaction */
22787
+ /** Record one placement treatment interaction, or a batch of them */
21448
22788
  post: operations["recordTreatmentInteraction"];
21449
22789
  delete?: never;
21450
22790
  options?: never;
@@ -21951,8 +23291,10 @@ interface components {
21951
23291
  content_ui_paths: components["schemas"]["Anon_274ba4ca49d5_6"];
21952
23292
  surface_templates: components["schemas"]["Anon_274ba4ca49d5_7"];
21953
23293
  };
23294
+ TreatmentInteractionRequest: components["schemas"]["TreatmentInteractionInput"] | components["schemas"]["TreatmentInteractionBatch"];
21954
23295
  TreatmentInteractionInput: {
21955
23296
  user_id: components["schemas"]["Anon_761f976a1da1_2"];
23297
+ account_id?: components["schemas"]["Anon_0a729b73253d"];
21956
23298
  placement_id: components["schemas"]["Anon_57796118d046_18"];
21957
23299
  treatment_id?: components["schemas"]["Anon_4e04ec5cc4e6_4"];
21958
23300
  surface_slot_id?: components["schemas"]["Anon_4e04ec5cc4e6_5"];
@@ -21969,6 +23311,7 @@ interface components {
21969
23311
  };
21970
23312
  /** @enum {string} */
21971
23313
  TreatmentInteractionType: "impression" | "dismiss" | "remind_me_later" | "cta_clicked" | "cta_completed" | "suppress";
23314
+ TreatmentInteractionBatch: components["schemas"]["TreatmentInteractionInput"][];
21972
23315
  WebhookEventLog: {
21973
23316
  id: components["schemas"]["Anon_fb248bf5a9f7"];
21974
23317
  created_at: components["schemas"]["Anon_be3e2585472d"];
@@ -23031,27 +24374,29 @@ interface components {
23031
24374
  Anon_e17de468dbc9_10: components["schemas"]["Anon_520c691f88f7_10"];
23032
24375
  Anon_520c691f88f7_10: string;
23033
24376
  Anon_761f976a1da1_2: string;
23034
- Anon_57796118d046_18: string;
23035
- Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_9"];
24377
+ Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_9"];
23036
24378
  Anon_9ac136edb99a_9: string;
23037
- Anon_4e04ec5cc4e6_5: components["schemas"]["Anon_9ac136edb99a_10"];
24379
+ Anon_57796118d046_18: string;
24380
+ Anon_4e04ec5cc4e6_4: components["schemas"]["Anon_9ac136edb99a_10"];
23038
24381
  Anon_9ac136edb99a_10: string;
23039
- Anon_4e04ec5cc4e6_6: components["schemas"]["Anon_9ac136edb99a_11"];
24382
+ Anon_4e04ec5cc4e6_5: components["schemas"]["Anon_9ac136edb99a_11"];
23040
24383
  Anon_9ac136edb99a_11: string;
23041
- Anon_4e04ec5cc4e6_7: components["schemas"]["Anon_9ac136edb99a_12"];
24384
+ Anon_4e04ec5cc4e6_6: components["schemas"]["Anon_9ac136edb99a_12"];
23042
24385
  Anon_9ac136edb99a_12: string;
24386
+ Anon_4e04ec5cc4e6_7: components["schemas"]["Anon_9ac136edb99a_13"];
24387
+ Anon_9ac136edb99a_13: string;
23043
24388
  Anon_b540c131c269: components["schemas"]["TreatmentInteractionType"];
23044
24389
  Anon_e077e17ea982_3: components["schemas"]["Anon_02ecf48bed22_3"];
23045
24390
  /** Format: date-time */
23046
24391
  Anon_02ecf48bed22_3: string;
23047
- Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_13"];
23048
- Anon_9ac136edb99a_13: string;
23049
- Anon_4e04ec5cc4e6_9: components["schemas"]["Anon_9ac136edb99a_14"];
24392
+ Anon_4e04ec5cc4e6_8: components["schemas"]["Anon_9ac136edb99a_14"];
23050
24393
  Anon_9ac136edb99a_14: string;
23051
- Anon_4e04ec5cc4e6_10: components["schemas"]["Anon_9ac136edb99a_15"];
24394
+ Anon_4e04ec5cc4e6_9: components["schemas"]["Anon_9ac136edb99a_15"];
23052
24395
  Anon_9ac136edb99a_15: string;
23053
- Anon_4e04ec5cc4e6_11: components["schemas"]["Anon_9ac136edb99a_16"];
24396
+ Anon_4e04ec5cc4e6_10: components["schemas"]["Anon_9ac136edb99a_16"];
23054
24397
  Anon_9ac136edb99a_16: string;
24398
+ Anon_4e04ec5cc4e6_11: components["schemas"]["Anon_9ac136edb99a_17"];
24399
+ Anon_9ac136edb99a_17: string;
23055
24400
  Anon_fb9ddeea992e_3: components["schemas"]["Anon_7cb541e84f22_31"];
23056
24401
  Anon_7cb541e84f22_31: boolean;
23057
24402
  Anon_a249e58b3222: components["schemas"]["Anon_c65c1fbd5acf_8"];
@@ -23080,8 +24425,8 @@ interface components {
23080
24425
  Anon_39a43881005e_1: string | null;
23081
24426
  Anon_96f9066c2fdc_24: components["schemas"]["Anon_00404e686415_27"];
23082
24427
  Anon_00404e686415_27: string;
23083
- Anon_4e04ec5cc4e6_12: components["schemas"]["Anon_9ac136edb99a_17"];
23084
- Anon_9ac136edb99a_17: string;
24428
+ Anon_4e04ec5cc4e6_12: components["schemas"]["Anon_9ac136edb99a_18"];
24429
+ Anon_9ac136edb99a_18: string;
23085
24430
  Anon_2fef49d17888: components["schemas"]["UserPlanContext"];
23086
24431
  Anon_57796118d046_21: string;
23087
24432
  Anon_57796118d046_22: string;
@@ -24411,8 +25756,16 @@ interface components {
24411
25756
  query_families: components["schemas"]["Anon_54e2154d1e2d"];
24412
25757
  source_scope: components["schemas"]["Anon_a3ffad10d15c_5"];
24413
25758
  coverage_metric?: components["schemas"]["Anon_473e554f0735_16"];
25759
+ dimension_groundings?: components["schemas"]["Anon_7cdcf9f62dcd"];
24414
25760
  deprecation?: components["schemas"]["Anon_8f09b448c37f"];
24415
25761
  };
25762
+ AnalyticsDimensionGrounding: {
25763
+ kind: components["schemas"]["Anon_02276af6fec4"];
25764
+ source: components["schemas"]["Anon_872e58432369_4"];
25765
+ note?: components["schemas"]["Anon_ac655a3e6b9f"];
25766
+ };
25767
+ /** @enum {string} */
25768
+ AnalyticsDimensionGroundingKind: "stamped" | "membership_join" | "config_join" | "derived";
24416
25769
  AnalyticsCatalogDeprecation: {
24417
25770
  deprecated: components["schemas"]["Anon_a2b04841bdf1_1"];
24418
25771
  replaced_by?: components["schemas"]["Anon_473e554f0735_17"];
@@ -24457,6 +25810,7 @@ interface components {
24457
25810
  preferred_analysis_unit?: components["schemas"]["Anon_612059bf001c_6"];
24458
25811
  numerator_metric?: components["schemas"]["Anon_473e554f0735_20"];
24459
25812
  denominator_metric?: components["schemas"]["Anon_473e554f0735_21"];
25813
+ derivation?: components["schemas"]["Anon_22c006ff8d66"];
24460
25814
  deprecation?: components["schemas"]["Anon_8f09b448c37f_2"];
24461
25815
  };
24462
25816
  /** @enum {string} */
@@ -24467,6 +25821,18 @@ interface components {
24467
25821
  AnalyticsMetricStatisticalType: "binary" | "count" | "continuous" | "ratio" | "revenue";
24468
25822
  /** @enum {string} */
24469
25823
  AnalyticsMetricAggregationSemantics: "additive" | "semi_additive" | "non_additive";
25824
+ AnalyticsMetricDerivation: {
25825
+ kind: components["schemas"]["Anon_a1d7a3ac66b8"];
25826
+ input_origin: components["schemas"]["Anon_8a96081932e9"];
25827
+ ingested_events: components["schemas"]["Anon_304a69e72d83"];
25828
+ ingested_datasources?: components["schemas"]["Anon_6411eaf2b1b5"];
25829
+ carried_by?: components["schemas"]["Anon_04b033dd40a9"];
25830
+ note?: components["schemas"]["Anon_1e68bee50f0f"];
25831
+ };
25832
+ /** @enum {string} */
25833
+ AnalyticsMetricDerivationKind: "derived" | "observed" | "unavailable";
25834
+ /** @enum {string} */
25835
+ AnalyticsIngestedInputOrigin: "platform" | "customer_authored" | "mixed" | "none";
24470
25836
  AnalyticsCatalogAnnotationKind: {
24471
25837
  kind: components["schemas"]["Anon_7ed6fcd5ece3"];
24472
25838
  label: components["schemas"]["Anon_cd76cef95ac8_4"];
@@ -24480,7 +25846,7 @@ interface components {
24480
25846
  AnalyticsAnnotationMarker: "point" | "region";
24481
25847
  AnalyticsCatalogSearchResult: {
24482
25848
  catalog_version: components["schemas"]["Anon_0c649f0987df_4"];
24483
- query: components["schemas"]["Anon_872e58432369_4"];
25849
+ query: components["schemas"]["Anon_872e58432369_5"];
24484
25850
  entries: components["schemas"]["Anon_57df4039d087"];
24485
25851
  };
24486
25852
  AnalyticsAgentCatalogEntry: {
@@ -24655,7 +26021,7 @@ interface components {
24655
26021
  created_at: components["schemas"]["Anon_be3e2585472d_2"];
24656
26022
  updated_at: components["schemas"]["Anon_be3e2585472d_3"];
24657
26023
  tenant_id: components["schemas"]["Anon_fb248bf5a9f7_10"];
24658
- workspace_name: components["schemas"]["Anon_872e58432369_5"];
26024
+ workspace_name: components["schemas"]["Anon_872e58432369_6"];
24659
26025
  support_email: components["schemas"]["Anon_7dbd1de5e9ee"];
24660
26026
  timezone: components["schemas"]["Anon_c44ee03a9c5e"];
24661
26027
  default_currency: components["schemas"]["Anon_64586219ef83_1"];
@@ -24683,7 +26049,7 @@ interface components {
24683
26049
  updated_at: components["schemas"]["Anon_be3e2585472d_3"];
24684
26050
  tenant_id: components["schemas"]["Anon_fb248bf5a9f7_10"];
24685
26051
  step_key: components["schemas"]["Anon_3b8fc1cd9e8b_26"];
24686
- label: components["schemas"]["Anon_872e58432369_6"];
26052
+ label: components["schemas"]["Anon_872e58432369_7"];
24687
26053
  done: components["schemas"]["Anon_062d958a93c4_25"];
24688
26054
  completed_at: components["schemas"]["Anon_24a0ac3f017b_4"];
24689
26055
  };
@@ -24714,7 +26080,7 @@ interface components {
24714
26080
  sequence: components["schemas"]["Anon_ffffc3c874cb_1"];
24715
26081
  base_sequence: components["schemas"]["Anon_71a2fb329804_1"];
24716
26082
  handle: components["schemas"]["Anon_2457cccd64aa_12"];
24717
- identifier: components["schemas"]["Anon_872e58432369_7"];
26083
+ identifier: components["schemas"]["Anon_872e58432369_8"];
24718
26084
  identifier_type: components["schemas"]["Anon_b07a1e0dbc7b"];
24719
26085
  note: components["schemas"]["Anon_519dcb817ac7"];
24720
26086
  added_by: components["schemas"]["Anon_127eb78cd9c0_12"];
@@ -24755,8 +26121,8 @@ interface components {
24755
26121
  event_type: components["schemas"]["Anon_57796118d046_72"];
24756
26122
  source: components["schemas"]["Anon_eabbbb727ad3"];
24757
26123
  tenant_id?: components["schemas"]["Anon_4e04ec5cc4e6_17"];
24758
- user_id?: components["schemas"]["Anon_0a729b73253d"];
24759
- session_id?: components["schemas"]["Anon_0a729b73253d_1"];
26124
+ user_id?: components["schemas"]["Anon_0a729b73253d_1"];
26125
+ session_id?: components["schemas"]["Anon_0a729b73253d_2"];
24760
26126
  occurred_at: components["schemas"]["Anon_3c179513a5d9_19"];
24761
26127
  request_id: components["schemas"]["Anon_57796118d046_73"];
24762
26128
  attributes: components["schemas"]["Anon_5142f8473790_13"];
@@ -24772,8 +26138,8 @@ interface components {
24772
26138
  Anon_be3e2585472d_3: string;
24773
26139
  Anon_fb248bf5a9f7_10: string;
24774
26140
  /** @default production */
24775
- Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_18"];
24776
- Anon_9ac136edb99a_18: string;
26141
+ Anon_51cbbf69cb41_1: components["schemas"]["Anon_9ac136edb99a_19"];
26142
+ Anon_9ac136edb99a_19: string;
24777
26143
  Anon_2457cccd64aa_1: components["schemas"]["Anon_0eb2e3b6e08c_3"];
24778
26144
  Anon_0eb2e3b6e08c_3: string;
24779
26145
  /** @default true */
@@ -25183,7 +26549,7 @@ interface components {
25183
26549
  /** @default [] */
25184
26550
  Anon_3b6346b139c2: components["schemas"]["Anon_f836473839d1"];
25185
26551
  Anon_f836473839d1: components["schemas"]["FieldDefinitionOutput"][];
25186
- Anon_9ac136edb99a_19: string;
26552
+ Anon_9ac136edb99a_20: string;
25187
26553
  /** @default false */
25188
26554
  Anon_f56777819c8b_3: boolean;
25189
26555
  Anon_44136fa355b3_1: unknown;
@@ -25240,8 +26606,8 @@ interface components {
25240
26606
  /** @default 0 */
25241
26607
  Anon_2aa59aec1f23_4: components["schemas"]["Anon_97cc9ecfdea9_26"];
25242
26608
  Anon_97cc9ecfdea9_26: number;
25243
- Anon_4e04ec5cc4e6_13: components["schemas"]["Anon_9ac136edb99a_20"];
25244
- Anon_9ac136edb99a_20: string;
26609
+ Anon_4e04ec5cc4e6_13: components["schemas"]["Anon_9ac136edb99a_21"];
26610
+ Anon_9ac136edb99a_21: string;
25245
26611
  Anon_9717c0445e52_3: components["schemas"]["Anon_ea288f4ef558_13"];
25246
26612
  Anon_ea288f4ef558_13: number;
25247
26613
  /** @default false */
@@ -25272,8 +26638,8 @@ interface components {
25272
26638
  Anon_e7cb93d064a8_3: components["schemas"]["TrialLimitType"];
25273
26639
  Anon_62c32913f8d0_3: components["schemas"]["Anon_3b260614cba4_3"];
25274
26640
  Anon_3b260614cba4_3: number | null;
25275
- Anon_4e04ec5cc4e6_14: components["schemas"]["Anon_9ac136edb99a_21"];
25276
- Anon_9ac136edb99a_21: string;
26641
+ Anon_4e04ec5cc4e6_14: components["schemas"]["Anon_9ac136edb99a_22"];
26642
+ Anon_9ac136edb99a_22: string;
25277
26643
  Anon_9717c0445e52_4: components["schemas"]["Anon_ea288f4ef558_15"];
25278
26644
  Anon_ea288f4ef558_15: number;
25279
26645
  /** @default signup */
@@ -25308,8 +26674,8 @@ interface components {
25308
26674
  Anon_b0c21ae8f968_5: string | null;
25309
26675
  /** @default time */
25310
26676
  Anon_e7cb93d064a8_4: components["schemas"]["TrialLimitType"];
25311
- Anon_4e04ec5cc4e6_15: components["schemas"]["Anon_9ac136edb99a_22"];
25312
- Anon_9ac136edb99a_22: string;
26677
+ Anon_4e04ec5cc4e6_15: components["schemas"]["Anon_9ac136edb99a_23"];
26678
+ Anon_9ac136edb99a_23: string;
25313
26679
  Anon_9717c0445e52_5: components["schemas"]["Anon_ea288f4ef558_16"];
25314
26680
  Anon_ea288f4ef558_16: number;
25315
26681
  Anon_711dc9708535_9: components["schemas"]["Anon_11c9ad639448_1"];
@@ -25542,8 +26908,8 @@ interface components {
25542
26908
  Anon_c72f37d06352: string[];
25543
26909
  Anon_7734a34f21b6: components["schemas"]["Anon_d573fc9779f1"];
25544
26910
  Anon_d573fc9779f1: components["schemas"]["Anon_0eb2e3b6e08c_3"][];
25545
- Anon_60e62c272481: components["schemas"]["Anon_9ac136edb99a_23"][];
25546
- Anon_9ac136edb99a_23: string;
26911
+ Anon_60e62c272481: components["schemas"]["Anon_9ac136edb99a_24"][];
26912
+ Anon_9ac136edb99a_24: string;
25547
26913
  Anon_492895348dbd_12: number;
25548
26914
  Anon_3b8fc1cd9e8b_19: string;
25549
26915
  Anon_829616683b56: components["schemas"]["ExperimentDecisionFinding"][];
@@ -25573,7 +26939,7 @@ interface components {
25573
26939
  Anon_052253c90fb3_1: components["schemas"]["Anon_681004346c78_21"];
25574
26940
  Anon_681004346c78_21: string[];
25575
26941
  Anon_544a3bc583b1: components["schemas"]["ExperimentVariantOutput"][];
25576
- Anon_9ac136edb99a_24: string;
26942
+ Anon_9ac136edb99a_25: string;
25577
26943
  /** @default 0.5 */
25578
26944
  Anon_7e4345d1e208_1: number;
25579
26945
  /** @default false */
@@ -25938,8 +27304,8 @@ interface components {
25938
27304
  /** @enum {string} */
25939
27305
  Anon_fc6def941f46_1: "template" | "slot";
25940
27306
  Anon_57796118d046_59: string;
25941
- Anon_4e04ec5cc4e6_16: components["schemas"]["Anon_9ac136edb99a_25"];
25942
- Anon_9ac136edb99a_25: string;
27307
+ Anon_4e04ec5cc4e6_16: components["schemas"]["Anon_9ac136edb99a_26"];
27308
+ Anon_9ac136edb99a_26: string;
25943
27309
  Anon_c65e883b4e4a: {
25944
27310
  count: components["schemas"]["Anon_492895348dbd_13"];
25945
27311
  period: components["schemas"]["Anon_e78ca35ebc33_1"];
@@ -26329,6 +27695,14 @@ interface components {
26329
27695
  Anon_54e2154d1e2d: components["schemas"]["AnalyticsQueryFamily"][];
26330
27696
  Anon_a3ffad10d15c_5: components["schemas"]["AnalyticsSourceScope"];
26331
27697
  Anon_473e554f0735_16: components["schemas"]["Anon_c8d24748191b_1"];
27698
+ Anon_7cdcf9f62dcd: components["schemas"]["Anon_ebc742463bcd"];
27699
+ Anon_ebc742463bcd: {
27700
+ [key: string]: components["schemas"]["AnalyticsDimensionGrounding"];
27701
+ };
27702
+ Anon_02276af6fec4: components["schemas"]["AnalyticsDimensionGroundingKind"];
27703
+ Anon_872e58432369_4: string;
27704
+ Anon_ac655a3e6b9f: components["schemas"]["Anon_800d95542a20"];
27705
+ Anon_800d95542a20: string;
26332
27706
  Anon_8f09b448c37f: components["schemas"]["AnalyticsCatalogDeprecation"];
26333
27707
  Anon_a2b04841bdf1_1: boolean;
26334
27708
  Anon_473e554f0735_17: components["schemas"]["Anon_c8d24748191b_1"];
@@ -26373,6 +27747,19 @@ interface components {
26373
27747
  Anon_612059bf001c_6: components["schemas"]["AnalyticsAnalyticalUnit"];
26374
27748
  Anon_473e554f0735_20: components["schemas"]["Anon_c8d24748191b_1"];
26375
27749
  Anon_473e554f0735_21: components["schemas"]["Anon_c8d24748191b_1"];
27750
+ Anon_22c006ff8d66: components["schemas"]["AnalyticsMetricDerivation"];
27751
+ Anon_a1d7a3ac66b8: components["schemas"]["AnalyticsMetricDerivationKind"];
27752
+ Anon_8a96081932e9: components["schemas"]["AnalyticsIngestedInputOrigin"];
27753
+ Anon_304a69e72d83: components["schemas"]["Anon_64fcdc575ad5"][];
27754
+ Anon_64fcdc575ad5: string;
27755
+ Anon_6411eaf2b1b5: components["schemas"]["Anon_d36735de5e00"];
27756
+ Anon_d36735de5e00: components["schemas"]["Anon_64fcdc575ad5_1"][];
27757
+ Anon_64fcdc575ad5_1: string;
27758
+ Anon_04b033dd40a9: components["schemas"]["Anon_c6d8e2b09e6d"];
27759
+ Anon_c6d8e2b09e6d: components["schemas"]["Anon_64fcdc575ad5_2"][];
27760
+ Anon_64fcdc575ad5_2: string;
27761
+ Anon_1e68bee50f0f: components["schemas"]["Anon_45ca91dbcd70"];
27762
+ Anon_45ca91dbcd70: string;
26376
27763
  Anon_8f09b448c37f_2: components["schemas"]["AnalyticsCatalogDeprecation"];
26377
27764
  Anon_203017ce4604: components["schemas"]["Anon_d9dbfa5954cd"];
26378
27765
  Anon_d9dbfa5954cd: components["schemas"]["AnalyticsCatalogAnnotationKind"][];
@@ -26382,7 +27769,7 @@ interface components {
26382
27769
  Anon_8783ccc02cda: components["schemas"]["AnalyticsAnnotationSource"];
26383
27770
  Anon_85e861e36da5: components["schemas"]["AnalyticsAnnotationMarker"];
26384
27771
  Anon_0c649f0987df_4: string;
26385
- Anon_872e58432369_4: string;
27772
+ Anon_872e58432369_5: string;
26386
27773
  Anon_57df4039d087: components["schemas"]["AnalyticsAgentCatalogEntry"][];
26387
27774
  Anon_53c09eaf03ab_7: components["schemas"]["AnalyticsSemanticIdOutput"];
26388
27775
  Anon_33085dabcc5b: components["schemas"]["AnalyticsAgentCatalogEntryKind"];
@@ -26579,7 +27966,7 @@ interface components {
26579
27966
  /** @default true */
26580
27967
  Anon_493deecc809a_15: components["schemas"]["Anon_7cb541e84f22_77"];
26581
27968
  Anon_7cb541e84f22_77: boolean;
26582
- Anon_872e58432369_5: string;
27969
+ Anon_872e58432369_6: string;
26583
27970
  /** @default null */
26584
27971
  Anon_7dbd1de5e9ee: components["schemas"]["Anon_39a43881005e_2"];
26585
27972
  Anon_39a43881005e_2: string | null;
@@ -26622,14 +28009,14 @@ interface components {
26622
28009
  Anon_062d958a93c4_24: components["schemas"]["Anon_7cb541e84f22_79"];
26623
28010
  Anon_7cb541e84f22_79: boolean;
26624
28011
  Anon_3b8fc1cd9e8b_26: string;
26625
- Anon_872e58432369_6: string;
28012
+ Anon_872e58432369_7: string;
26626
28013
  /** @default false */
26627
28014
  Anon_062d958a93c4_25: components["schemas"]["Anon_7cb541e84f22_80"];
26628
28015
  Anon_7cb541e84f22_80: boolean;
26629
28016
  Anon_24a0ac3f017b_4: components["schemas"]["Anon_11c9ad639448_1"];
26630
28017
  /** @default production */
26631
- Anon_a2f8ac1ffbf6: components["schemas"]["Anon_9ac136edb99a_26"];
26632
- Anon_9ac136edb99a_26: string;
28018
+ Anon_a2f8ac1ffbf6: components["schemas"]["Anon_9ac136edb99a_27"];
28019
+ Anon_9ac136edb99a_27: string;
26633
28020
  Anon_a607427cce0b: components["schemas"]["AuditActorType"];
26634
28021
  /** @default null */
26635
28022
  Anon_f7fb9744a6e4_25: components["schemas"]["Anon_f090cb615c84_47"];
@@ -26649,7 +28036,7 @@ interface components {
26649
28036
  /** Format: date-time */
26650
28037
  Anon_be3e2585472d_10: string;
26651
28038
  Anon_2457cccd64aa_12: components["schemas"]["Anon_0eb2e3b6e08c_3"];
26652
- Anon_872e58432369_7: string;
28039
+ Anon_872e58432369_8: string;
26653
28040
  /** @default user_id */
26654
28041
  Anon_b07a1e0dbc7b: components["schemas"]["PlacementTestUserIdentifierType"];
26655
28042
  /** @default null */
@@ -26696,12 +28083,12 @@ interface components {
26696
28083
  Anon_57796118d046_72: string;
26697
28084
  /** @default sdk */
26698
28085
  Anon_eabbbb727ad3: components["schemas"]["EventSource"];
26699
- Anon_4e04ec5cc4e6_17: components["schemas"]["Anon_9ac136edb99a_27"];
26700
- Anon_9ac136edb99a_27: string;
26701
- Anon_0a729b73253d: components["schemas"]["Anon_9ac136edb99a_28"];
28086
+ Anon_4e04ec5cc4e6_17: components["schemas"]["Anon_9ac136edb99a_28"];
26702
28087
  Anon_9ac136edb99a_28: string;
26703
28088
  Anon_0a729b73253d_1: components["schemas"]["Anon_9ac136edb99a_29"];
26704
28089
  Anon_9ac136edb99a_29: string;
28090
+ Anon_0a729b73253d_2: components["schemas"]["Anon_9ac136edb99a_30"];
28091
+ Anon_9ac136edb99a_30: string;
26705
28092
  /** Format: date-time */
26706
28093
  Anon_3c179513a5d9_19: string;
26707
28094
  Anon_57796118d046_73: string;
@@ -26743,8 +28130,8 @@ interface components {
26743
28130
  Anon_39a43881005e_3: string | null;
26744
28131
  Anon_96f9066c2fdc_63: components["schemas"]["Anon_00404e686415_67"];
26745
28132
  Anon_00404e686415_67: string;
26746
- Anon_4e04ec5cc4e6_18: components["schemas"]["Anon_9ac136edb99a_30"];
26747
- Anon_9ac136edb99a_30: string;
28133
+ Anon_4e04ec5cc4e6_18: components["schemas"]["Anon_9ac136edb99a_31"];
28134
+ Anon_9ac136edb99a_31: string;
26748
28135
  Anon_f104771c9d3e: components["schemas"]["UserPlanContextOutput"];
26749
28136
  Anon_57796118d046_76: string;
26750
28137
  Anon_57796118d046_77: string;
@@ -26917,7 +28304,7 @@ interface components {
26917
28304
  description?: components["schemas"]["Anon_ee9224780226_6"];
26918
28305
  };
26919
28306
  FieldDefinitionOutput: {
26920
- name: components["schemas"]["Anon_9ac136edb99a_19"];
28307
+ name: components["schemas"]["Anon_9ac136edb99a_20"];
26921
28308
  field_type: components["schemas"]["TemplateFieldType"];
26922
28309
  required: components["schemas"]["Anon_f56777819c8b_3"];
26923
28310
  default_value?: components["schemas"]["Anon_44136fa355b3_1"];
@@ -27090,7 +28477,7 @@ interface components {
27090
28477
  metadata: components["schemas"]["Anon_f27cb44c32f6_22"];
27091
28478
  };
27092
28479
  ExperimentVariantOutput: {
27093
- variant_id: components["schemas"]["Anon_9ac136edb99a_24"];
28480
+ variant_id: components["schemas"]["Anon_9ac136edb99a_25"];
27094
28481
  name: components["schemas"]["Anon_52ba84a4bbf3_2"];
27095
28482
  weight: components["schemas"]["Anon_7e4345d1e208_1"];
27096
28483
  is_control: components["schemas"]["Anon_f56777819c8b_4"];
@@ -29062,7 +30449,7 @@ interface operations {
29062
30449
  };
29063
30450
  requestBody: {
29064
30451
  content: {
29065
- "application/json": components["schemas"]["TreatmentInteractionInput"];
30452
+ "application/json": components["schemas"]["TreatmentInteractionRequest"];
29066
30453
  };
29067
30454
  };
29068
30455
  responses: {
@@ -29644,10 +31031,15 @@ declare const MESSAGE_SURFACE_TEMPLATE_IDS: readonly string[];
29644
31031
  */
29645
31032
  declare const DEFAULT_THEME: Readonly<RevTurbineTheme>;
29646
31033
  /**
29647
- * Deep-merge a partial theme input with the default theme, producing a
29648
- * complete {@link RevTurbineTheme}.
31034
+ * Deep-merge a partial theme input with a base theme, producing a complete
31035
+ * {@link RevTurbineTheme}.
31036
+ *
31037
+ * @param input - Partial tokens. Every omitted token falls back to `base`.
31038
+ * @param base - The palette to merge over. Defaults to {@link DEFAULT_THEME};
31039
+ * pass {@link DARK_THEME} (or use {@link baseThemeForScheme}) to resolve a
31040
+ * partial brand theme against the dark palette instead.
29649
31041
  */
29650
- declare function mergeTheme(input?: RevTurbineThemeInput | null): RevTurbineTheme;
31042
+ declare function mergeTheme(input?: RevTurbineThemeInput | null, base?: Readonly<RevTurbineTheme>): RevTurbineTheme;
29651
31043
 
29652
31044
  /** Clear persisted theme (useful on identity reset). */
29653
31045
  declare function clearPersistedTheme(tenantId: string, storage?: RevTurbineStorage): void;
@@ -29865,5 +31257,5 @@ declare class RevTurbineServer {
29865
31257
  private apiGet;
29866
31258
  }
29867
31259
 
29868
- export { ANALYTICS_ANNOTATION_KINDS, ANALYTICS_DATE_RANGE_FILTER_VALUE_TYPE, ANALYTICS_VALIDATION_CODES, ANALYTICS_VIEW_SCHEMA_VERSION, ActivityLevelSchema, AddOnSchema, AddOnVariationSchema, AlertSchema, AnalysisProvenanceSchema, AnalyticsAgentCatalogEntryKindSchema, AnalyticsAgentCatalogEntrySchema, AnalyticsAnalyticalUnitSchema, AnalyticsAnnotationKindSchema, AnalyticsAnnotationMarkerSchema, AnalyticsAnnotationRequestSchema, AnalyticsAnnotationResponseSchema, AnalyticsAnnotationSchema, AnalyticsAnnotationSourceSchema, AnalyticsBlockErrorSchema, AnalyticsBlockResultSchema, AnalyticsCardinalityClassSchema, AnalyticsCatalogAnnotationKindSchema, AnalyticsCatalogConceptSchema, AnalyticsCatalogDeprecationSchema, AnalyticsCatalogDimensionSchema, AnalyticsCatalogMetricSchema, AnalyticsCatalogMetricValidatedSchema, AnalyticsCatalogProvenanceKindSchema, AnalyticsCatalogProvenanceSchema, AnalyticsCatalogSchema, AnalyticsCatalogSearchResultSchema, AnalyticsCatalogSourceSchema, AnalyticsClassificationSchema, AnalyticsCompareDeltaSchema, AnalyticsCompareExperimentSchema, AnalyticsCompareModeSchema, AnalyticsCompareSegmentSchema, AnalyticsCompileResolutionSchema, AnalyticsCoverageSchema, AnalyticsCustomizationCapabilitySchema, AnalyticsCustomizationPolicySchema, AnalyticsDimensionCapabilitySchema, AnalyticsDimensionTypeSchema, AnalyticsFieldTypeSchema, AnalyticsFilterControlSchema, AnalyticsFilterOperatorSchema, AnalyticsFilterStateSchema, AnalyticsFilterValueSchema, AnalyticsFormatSpecSchema, AnalyticsHistoricalModeSchema, AnalyticsMetricAggregationSemanticsSchema, AnalyticsMetricDirectionSchema, AnalyticsMetricStatisticalTypeSchema, AnalyticsPeriodCompareModeSchema, AnalyticsQueryFamilySchema, AnalyticsQueryOverridesSchema, AnalyticsQueryRequestSchema, AnalyticsQueryResponseSchema, AnalyticsRenderCartesianSchema, AnalyticsRenderFunnelSchema, AnalyticsRenderMetricSchema, AnalyticsRenderRecommendationsSchema, AnalyticsRenderSpecSchema, AnalyticsRenderTableSchema, AnalyticsRenderTimelineSchema, AnalyticsResultFieldSchema, AnalyticsResultMetaSchema, AnalyticsResultSchema, AnalyticsSafeChartOptionsSchema, AnalyticsSavedViewSchema, AnalyticsSemanticFilterSchema, AnalyticsSemanticIdSchema, AnalyticsSourceScopeSchema, AnalyticsSuggestedPatchOpSchema, AnalyticsTemplateSummarySchema, AnalyticsTimeGrainSchema, AnalyticsValidationIssueSchema, AnalyticsValidationResultSchema, AnalyticsViewAccessRoleSchema, AnalyticsViewAccessSchema, AnalyticsViewBlockDraftSchema, AnalyticsViewBlockSchema, AnalyticsViewDraftSchema, AnalyticsViewFilterDraftSchema, AnalyticsViewFilterSchema, AnalyticsViewHandoffDraftSchema, AnalyticsViewHandoffSchema, AnalyticsViewLayoutSchema, AnalyticsViewQuerySchema, AnalyticsViewRevisionSchema, AnalyticsViewSchema, AnalyticsViewVisibilitySchema, AnalyticsWarningSchema, AnchorFields, AuditActorTypeSchema, AuditEventSchema, AuthAccountSchema, AuthApiKeySchema, AuthInvitationSchema, AuthMemberSchema, AuthOrganizationSchema, AuthPasskeySchema, AuthSessionSchema, AuthSsoProviderSchema, AuthTwoFactorSchema, AuthUserSchema, AuthVerificationSchema, BUILT_IN_TEMPLATE_COMPONENT_TYPES, BillingCadenceSchema, BillingHealthStatusSchema, BrandingConfigSchema, BrowserRuntime, BrowserStorage, CONTROL_PLANE_EVENT_NAMES, CONTROL_PLANE_EVENT_SOURCE, CONTROL_PLANE_SOURCE_KEY, CapEnforcer, CapPeriodSchema$1 as CapPeriodSchema, ChangeLogActionSchema, ChangeLogEntrySchema, ClientContextSchema, ClientSafe, CohortMonthSchema, ComponentTypeSchema, ContentPayloadSegmentEntrySchema, ContentPlacementPayloadSchema, ContentPromotionSchema, ContentUiPathSchema, ContextVisibility, ControlPlaneEventSourceSchema, ControlPlaneEventTypeSchema, ControlPlaneSemanticEventSchema, CtaActionTypeSchema, CtaObjectSchema, CtaPathSchema, CtaPathTypeSchema, CurrencySchema, CustomerOverrideDurationSchema, CustomerOverrideSchema, CustomerOverrideStatusSchema, CustomerOverrideTypeSchema, CustomerSchema, DEFAULT_ANALYTICS_RETENTION_DAYS, DEFAULT_BRANDING, DEFAULT_TEMPLATE_COMPONENT_TYPES, DEFAULT_THEME, DEPRECATED_EVENT_NAMES, DOGFOOD_CLIENT_EVENT_NAMES, DataClassification, DecisionEngine, DecisionOnly, DefaultTemplateIdsSchema, DescriptionField, DetectorRequirementsSchema, DimensionCategorySchema, DimensionSourceTypeSchema, DiscountTypeSchema, DomainProviderRegistry, DriftReportSchema, ENTITLEMENT_STATUS_VALUES, EVENT_PREFIX_FAMILIES, EnforcementActionSchema, EnforcementModeSchema, EntitlementCheckResultSchema, EntitlementGate, EntitlementGrantSchema, EntitlementGrantSetSchema, EntitlementGrantSourceSchema, EntitlementGrantStatusSchema, EntitlementRulePeriodUnitSchema, EntitlementRuleSchema, EntitlementRuleTargetKindSchema, EntitlementRuleTargetSchema, EntitlementRuleValidatedSchema, EntitlementRuleVariantSchema, EntitlementSchema, EntitlementStatusSchema, EntitlementTypeSchema, EnvironmentPromotionRequestSchema, EnvironmentSchema, EnvironmentStatusSchema, EventEnvelopeSchema, EventIngestBatchSchema, EventPrefixFamilySchema, EventSearchParamsSchema, EventSourceSchema, EventStabilitySchema, EventSurfaceSchema, EventTaxonomyEntrySchema, EventTaxonomySchema, EvidenceRequirementSchema, ExperimentAnalysisConfigSchema, ExperimentAnalysisConfigVersionError, ExperimentAnalysisDefinitionSchema, ExperimentAnalysisResultRecordSchema, ExperimentAnalysisResultSchema, ExperimentAssignmentFactSchema, ExperimentAssignmentSourceSchema, ExperimentDecisionFindingCodeSchema, ExperimentDecisionPolicySchema, ExperimentDecisionPolicyVersionError, ExperimentDecisionRecordSchema, ExperimentDecisionTypeSchema, ExperimentEvidenceSchema, ExperimentEvidenceSnapshotSchema, ExperimentHealthSchema, ExperimentMetricEvidencePlanSchema, ExperimentMetricResultSchema, ExperimentSchema, ExperimentStatusSchema, ExperimentTypeSchema, ExperimentVariantSchema, ExperimentVariantTargetSchema, RevTurbineConfigPlacementItemSchema as ExportedConfigPlacementItemSchema, RevTurbineConfigSchema as ExportedConfigSchema, RevTurbineConfigSegmentsItemPredicatesItemSchema as ExportedConfigSegmentsItemPredicatesItemSchema, RevTurbineConfigSegmentsItemSchema as ExportedConfigSegmentsItemSchema, RevTurbineConfigUiPathActionTypeSchema as ExportedConfigUiPathActionTypeSchema, FAMILY_RENDER_COMPATIBILITY, FIXED_BANNER_TEMPLATE_IDS, FIXED_SURFACE_TEMPLATE_IDS, FIXTURE_ANALYTICS_CATALOG, FeatureFlagSchema, FeatureFlagValueSchema, FeatureGateTriggerPayloadSchema, FieldDefinitionSchema, FlagValueTypeSchema, FreeTrialRuleSchema, FreeTrialSettingsSchema, FunnelStepSchema, GATED_SURFACE_TEMPLATE_IDS, GENERAL_BANNER_TEMPLATE_IDS, GENERAL_MODAL_TEMPLATE_IDS, GENERAL_TOAST_TEMPLATE_IDS, GrowthSignalBundleSchema, GrowthSignalPointSchema, GrowthSignalSeriesSchema, HANDLE_PATTERN, HandleField, INGEST_WRITE_SCOPE, IdField, IdentityKind, IdentitySchema, InMemoryStorage, IngestedEventSchema, InteractionTracker, InvitationStatusSchema, KpiAggregateSchema, LocalizedTextSchema, MESSAGE_SURFACE_TEMPLATE_IDS, McpConfigSchema, McpTokenScopeSchema, MessageBlockContentSchema, MessageBlockRecordSchema, MessageBlockSchema, MessageSchema, MetadataField, MeteringConfigSchema, NameField, NullableDatetimeField, ObservationMaturitySchema, OnboardingChecklistSchema, OnboardingStateSchema, OpportunityCandidateSchema, OpportunityEvidenceSchema, OpportunityInterpretationSchema, OptimizationSuggestionSchema, OrgMemberRoleSchema, PERSISTED_SCHEMA_FACET_EXEMPTIONS, PLATFORM_EMITTED_EVENT_NAMES, PLATFORM_EVENT_TAXONOMY, PLAYBOOK_FORMAT_VERSION, PaginatedResponseSchema, PaginationParamsSchema, PaymentTriggerPayloadSchema, PermissionActionSchema, PermissionResourceSchema, PermissionSchema, PersonalizationTokenSchema, PlacementCapRuleSchema, PlacementCategorySchema, PlacementController, PlacementDecisionOutputSchema, PlacementPayloadSchema, PlacementPerformanceRowSchema, PlacementSchema, PlacementSettingsCapRuleGroupItemSchema, PlacementSettingsCapRuleSchema, PlacementSettingsCapStateSchema, PlacementSettingsSchema, PlacementTestModeSchema, PlacementTestUserIdentifierTypeSchema, PlacementTestUserSchema, PlacementTypeRegistry, PlacementWarningCodeSchema, PlacementWarningSchema, PlanSchema, PlanVariationSchema, PlanVisibilitySchema, PlaybookBodySchema, PlaybookHeaderSchema, PlaybookObjectSchema, PlaybookSchema, PlaybookStrictSchema, PlaybookVersionDeployResultSchema, PlaybookVersionDiffSchema, PlaybookVersionEntrySummarySchema, PlaybookVersionSchema, PlaybookVersionStatusSchema, PresentationOutcomeSchema, PriceSourceSchema, PricingModelSchema, PromotionSchema, PromotionStatusSchema, ProviderAvailabilitySchema, ProviderBindingRefSchema, ProviderCapabilitySchema, ProviderConnectionSchema, ProviderProvenanceSchema, RECOGNIZED_UPDATE_KEYS, ROLE_PERMISSIONS, ROLE_RANK, ApiError as RevTurbineApiError, RevTurbineConfigAddonVariationsItemSchema, RevTurbineConfigAddonsItemSchema, RevTurbineConfigEnforcementDefaultsItemSchema, RevTurbineConfigEntitlementRulesItemSchema, RevTurbineConfigEntitlementsItemSchema, RevTurbineConfigMeterBindingsItemSchema, RevTurbineConfigPeriodCapSchema, RevTurbineConfigPersonalizationTokensItemSchema, RevTurbineConfigPlacementCategorySchema, RevTurbineConfigPlacementItemSchema, RevTurbineConfigPlacementPayloadItemSchema, RevTurbineConfigPlacementSettingsItemSchema, RevTurbineConfigPlacementSlotsItemSchema, RevTurbineConfigPlacementTriggerSchema, RevTurbineConfigPlanVariationsItemSchema, RevTurbineConfigPlansItemSchema, RevTurbineConfigSchema, RevTurbineConfigSeatTypesItemSchema, RevTurbineConfigSegmentDimensionsItemSchema, RevTurbineConfigSegmentsItemPredicatesItemSchema, RevTurbineConfigSegmentsItemSchema, RevTurbineConfigSlotConfigsItemSchema, RevTurbineConfigStudioCtaConfigSchema, RevTurbineConfigStudioPayloadCapsSchema, RevTurbineConfigStudioPayloadSchema, RevTurbineConfigStudioPayloadSurfaceSchema, RevTurbineConfigStudioPayloadTargetSchema, RevTurbineConfigSurfaceTemplatesItemFieldsItemSchema, RevTurbineConfigSurfaceTemplatesItemSchema, RevTurbineConfigUiPathActionTypeSchema, RevTurbineCustomerSdk, RevTurbineServer, RevenueMetricSchema, ReverseTrialRuleSchema, ReverseTrialSettingsSchema, ReverseTrialStartPolicySchema, RoleSchema, RuleVisibilitySchema, RuntimeMode, RuntimePromotionSnapshotSchema, SDK_AUTOMATIC_NON_EMITTED_NAMES, SDK_CLIENT_EVENT_NAMES, SDK_META_EVENT_NAMES, SEMANTIC_ID_PATTERN, SERVER_TRAITS_DOMAIN, SchemaContext, SchemaExposure, SchemaPersistence, SchemaSource, SdkConfigShapeSchema, SdkMetaEventSchema, SdkMetaEventTypeSchema, SdkMetaIngestBatchSchema, SdkSession, SeatTypeSchema, SegmentDimensionSchema, SegmentSchema, SegmentValueSchema, SemanticEventSchema, ServerEvaluationPayloadDecisionsItemSchema, ServerEvaluationPayloadEntitlementsValueSchema, ServerEvaluationPayloadSchema, ServerEvaluationPayloadTrialStatusSchema, ServerEvaluationPayloadUserContextSchema, ServerEvaluationPayloadUserSchema, ServerOnly, ServerUserContextProvider, SeveritySchema, StripeIntegrationConfigSchema, StripePriceBillingPeriodSchema, StripePriceMockBillingPeriodSchema, StripePriceMockSchema, StripePriceSchema, StudioSurfaceTypeSchema, SuggestionSeveritySchema, SupersessionReasonSchema, SupersessionRecordSchema, SurfaceSlotSchema, SurfaceTemplateSchema, SurfaceTypeCapRuleSchema, SurfaceTypeSchema, TemplateFieldTypeSchema, TenantConfigSchema, TenantIdField, TenantSchema, TenantStatusSchema, ThemeSchema, TimestampFields, TrackEventSchema, TrackIngestBatchSchema, TreatmentInteractionInputSchema, TreatmentInteractionTypeSchema, TrendFeaturesSchema, TrialEligibilityScopeSchema, TrialInstanceSchema, TrialLimitPolicySchema, TrialStatusSchema, TrialTriggerPayloadSchema, TriggerEventTypeSchema, UiPreferenceSchema, UnsupportedExperimentAssignmentUnitError, UsageAllocationSchema$1 as UsageAllocationSchema, UsageEnforcementSettingsSchema, UsagePeriodScopeSchema, UsageTriggerPayloadSchema, UserContextSchema, UserInstanceContextSchema, UserPlanContextSchema, UserRoleSchema, UserTrialStatusSchema, UserUsageEntrySchema, VIEW_ELEMENT_ID_PATTERN, VariantStatisticalSummarySchema, VersionFields, WarGameCapabilityRequirementsSchema, WarGameCategorySchema, WarGameGradeSchema, WarGameOracleSchema, WarGameQualificationLevelSchema, WarGameScenarioSchema, WebhookEventLogSchema, WebhookEventSourceSchema, WebhookEventStatusSchema, adaptExperimentVersionToBucketer, analyticsPaths, analyticsViewPaths, applyValueMaps, assertExperimentAnalysisConfigUpdateAllowed, assertExperimentDecisionPolicyUpdateAllowed, bucketSubject, buildAgentCatalogProjection, buildControlPlaneEvent, changelogPaths, clearPersistedTheme, collectAssignmentFactDeclarations, collectPersistedSchemas, collectVersionedConfigEntities, compileAnalyticsDraft, composeEffectiveExperimentContext, configPaths, contentPaths, createAnalyticsProvider, createBasicExperimentProvider, createChainedPlacementRequest, createCompositeExperimentProvider, createCustomEndpointRuntimeConfig, createEntitlementPlacementRequest, createFixtureAnalyticsCatalog, createHydrationProviders, createInMemoryAnalyticsCatalog, createLocalRuntimeConfig, createNativeExperimentAssignmentProvider, createPostHogAnalyticsProvider, createPostHogIntegration, createRevTurbineApiClient, createSemanticEvent, createServerRuntimeConfig, createSlotPlacementRequest, createStaticPlacementContentLookupProvider, createStaticPlacementResolver, createStaticProviders, createStrictLocalRuntimeConfig, createTreatmentInteraction, customerPaths, defaultRenderForQuery, defineUiPathResolvers, deriveLocalTrialStatusFromInstance, deriveReverseTrialGrants, entitlementPaths, entitlementResultDenies, environmentPaths, evaluateSegments, evaluateTrialStatus, eventPaths, experimentPaths, filterExternalSchemas, filterPersistedSchemas, findActiveTrialInstance, findLatestStartedTrialInstance, formatCurrencyMinorUnits, getDefaultRegistry, getFieldClassification, getFieldVisibility, getObjectFieldClassifications, getObjectFieldVisibilities, getSchemaClassification, getSchemaDeprecation, getSchemaExposure, getSchemaFacets, getSchemaIdentity, getSchemaPersistence, initRevTurbine, isAnalyticsDateRangeFilterValue, isBrowser, isExperimentAssignmentFactDeclaration, isLegacyDateRangeArray, isServer, isVersionedConfigEntity, loadTheme, makeAnchor, mergeTheme, mintedIdentity, namedIdentity, normalizeConfigArtifactOrThrow, normalizeLegacyConfig, parsePlaybook, parsePromotion, parseUiPath, placementPaths, planPaths, playbookVersionPaths, projectClientSafe, promotionPaths, requireSchemaFacets, resetDefaultRegistry, resolveBranding, resolveComponentType, resolveContent, resolveLocalPlaybook, resolvePayloadForUser, resolvePayloadForUserWithProvider, resolvePersistentStorage, resolveSessionStorage, resolveTokens, schemaDeprecation, schemaFacets, scopesSubsetOfRole, searchAgentCatalog, segmentPaths, settingsPaths, tenantPaths, toCreateSchema, toWritableSchema, trialPaths, uiPreferencePaths, userContextPaths, validateAnalyticsQuery, validateAnalyticsView, validatePlacementThresholdWarnings };
29869
- export type { ActivityLevel, AdapterBaseOptions, AddOn, AddOnVariation, Alert, AnalysisProvenance, AnalyticsAgentCatalogEntry, AnalyticsAgentCatalogEntryKind, AnalyticsAnalyticalUnit, AnalyticsAnnotation, AnalyticsAnnotationKind, AnalyticsAnnotationMarker, AnalyticsAnnotationRequest, AnalyticsAnnotationResponse, AnalyticsAnnotationSource, AnalyticsBlockError, AnalyticsBlockResult, AnalyticsCardinalityClass, AnalyticsCatalog, AnalyticsCatalogAnnotationKind, AnalyticsCatalogConcept, AnalyticsCatalogData, AnalyticsCatalogDeprecation, AnalyticsCatalogDimension, AnalyticsCatalogMetric, AnalyticsCatalogMetricValidated, AnalyticsCatalogProvenance, AnalyticsCatalogProvenanceKind, AnalyticsCatalogSearchResult, AnalyticsCatalogSource, AnalyticsCatalogView, AnalyticsClassification, AnalyticsCompareDelta, AnalyticsCompareExperiment, AnalyticsCompareMode, AnalyticsCompareSegment, AnalyticsCompileOutput, AnalyticsCompileResolution, AnalyticsCoverage, AnalyticsCustomizationCapability, AnalyticsCustomizationPolicy, AnalyticsDateRangeFilterValue, AnalyticsDimensionCapability, AnalyticsDimensionType, AnalyticsEventHandler, AnalyticsEventProperties, AnalyticsEventTransformer, AnalyticsFieldType, AnalyticsFilterControl, AnalyticsFilterOperator, AnalyticsFilterState, AnalyticsFilterValue, AnalyticsFormatSpec, AnalyticsHistoricalMode, AnalyticsMetricAggregationSemantics, AnalyticsMetricDirection, AnalyticsMetricStatisticalType, AnalyticsPeriodCompareMode, AnalyticsProviderOptions, AnalyticsQueryFamily, AnalyticsQueryOverrides, AnalyticsQueryRequest, AnalyticsQueryResponse, AnalyticsRenderCartesian, AnalyticsRenderFunnel, AnalyticsRenderMetric, AnalyticsRenderRecommendations, AnalyticsRenderSpec, AnalyticsRenderTable, AnalyticsRenderTimeline, AnalyticsResult, AnalyticsResultField, AnalyticsResultMeta, AnalyticsSafeChartOptions, AnalyticsSavedView, AnalyticsSemanticFilter, AnalyticsSemanticId, AnalyticsSourceScope, AnalyticsSuggestedPatchOp, AnalyticsTemplateSummary, AnalyticsTimeGrain, AnalyticsValidationCode, AnalyticsValidationIssue, AnalyticsValidationResult, AnalyticsView, AnalyticsViewAccess, AnalyticsViewAccessRole, AnalyticsViewBlock, AnalyticsViewBlockDraft, AnalyticsViewDraft, AnalyticsViewFilter, AnalyticsViewFilterDraft, AnalyticsViewHandoff, AnalyticsViewHandoffDraft, AnalyticsViewLayout, AnalyticsViewQuery, AnalyticsViewRevision, AnalyticsViewVisibility, AnalyticsWarning, AnyDomainProvider, AssignmentFactUnit, AuditActorType, AuditEvent, AuthAccount, AuthApiKey, AuthInvitation, AuthMember, AuthOrganization, AuthPasskey, AuthSession, AuthSsoProvider, AuthTwoFactor, AuthUser, AuthVerification, BasicBucketerExperiment, BasicBucketerOptions, BillingCadence, BillingHealthStatus, BrandingConfig, BrandingResolutionInput, BrandingSource, BrowserRuntimeOptions, CanonicalExperimentAllocation, CapEnforcementResult, CapPeriod, ChangeListener, ChangeLogAction, ChangeLogEntry, ClientContext, CohortMonth, CompileAnalyticsDraftOptions, ComponentType, CompositeExperimentProviderOptions, ConfigArtifact, ContentPayloadSegmentEntry, ContentPlacementPayload, ContentPromotion, ContentProvider, ContentProviderState, ContentUiPath, ControlPlaneEmitInput, ControlPlaneEventSource, ControlPlaneEventType, ControlPlaneSemanticEvent, CtaActionType, CtaHandler, CtaHandlerMap, CtaHandlerProvider, CtaHandlerProviderState, CtaObject, CtaPath, CtaPathType, Currency, Customer, CustomerOverride, CustomerOverrideDuration, CustomerOverrideStatus, CustomerOverrideType, DataClassificationValue, DecisionEngineOptions, DefaultTemplateIds, DeriveTrialStatusInput, DetectorRequirements, DimensionCategory, DimensionSourceType, DiscountType, DomainProvider, DomainProviderName, DomainProviderResolutionInput, DriftReport, EffectiveUserContextResolution, EligibleAddon, EligiblePlan, EligiblePrice, EnforcementAction, EnforcementMode, Entitlement, EntitlementCheckResult$1 as EntitlementCheckResult, EntitlementGateOptions, EntitlementGateState, EntitlementGrant$1 as EntitlementGrant, EntitlementGrantSet$1 as EntitlementGrantSet, EntitlementGrantSource, EntitlementGrantStatus, EntitlementProvider, EntitlementProviderState, EntitlementResult, EntitlementRule, EntitlementRulePeriodUnit, EntitlementRuleSnapshot, EntitlementRuleTarget, EntitlementRuleTargetKind$1 as EntitlementRuleTargetKind, EntitlementRuleValidated, EntitlementRuleVariant, EntitlementStatus, EntitlementType, EntitlementUsageEntry, Environment, EnvironmentPromotionRequest, EnvironmentStatus, EvaluateTrialStatusInput, EvaluateTrialStatusResult, EvaluationContext, EventConsumer, EventConsumerProvider, EventConsumerProviderState, EventEnvelope, EventIngestBatch, EventPrefixFamily, EventSearchParams, EventSource, EventStability, EventSurface, EventTaxonomy, EventTaxonomyEntry, EvidenceRequirement, Exact, Experiment, ExperimentAnalysisConfig, ExperimentAnalysisDefinition, ExperimentAnalysisResult, ExperimentAnalysisResultRecord, ExperimentAssignmentFact, ExperimentAssignmentFactDeclaration, ExperimentAssignmentFactMetadataCarrier, ExperimentAssignmentProvider, ExperimentAssignmentSource, ExperimentDecisionFindingCode, ExperimentDecisionPolicy, ExperimentDecisionRecord, ExperimentDecisionType, ExperimentEvidence, ExperimentEvidenceSnapshot, ExperimentHealth, ExperimentMetricEvidencePlan, ExperimentMetricResult, ExperimentProvider, ExperimentProviderState, ExperimentStatus, ExperimentType, ExperimentVariant, ExperimentVariantNonAssignmentReason, ExperimentVariantSelection, ExperimentVariantTarget, ExportedConfig, ExportedConfigPlacementItem, ExportedConfigProvider, ExportedConfigSegmentsItem, ExportedConfigSegmentsItemPredicatesItem, ExportedConfigUiPathActionType, FeatureFlag, FeatureFlagValue, FeatureGateTriggerPayload, FieldDefinition, FlagValueType, FreeTrialRule, FreeTrialSettings, FunnelStep, GrowthSignalBundle, GrowthSignalPoint, GrowthSignalSeries, IdentifyContextInput, Identity, IdentityDeclaration, IngestWriteScope, IngestedEvent, InteractionState, InvitationStatus, JsonObject, JsonValue, KpiAggregate, LegacyConfigTargetDefaults, LocalPlacementDataset, LocalPlacementEntry, LocalPlacementPayload, LocalPlacementSurface, LocalizedText, McpConfig, McpTokenScope, Message, MessageBlock, MessageBlockContent, MessageBlockRecord, MessageBlockSnapshot, MeteringConfig, NativeExperimentAssignmentOptions, NativeExperimentAssignmentUnit, ObservationMaturity, OnboardingChecklist, OnboardingState, OpportunityCandidate, OpportunityEvidence, OpportunityInterpretation, OptimizationSuggestion, OrgMemberRole, PaginationParams, PaymentTriggerPayload, Permission, PermissionAction, PermissionResource, PersonalizationContext, PersonalizationToken, Placement, PlacementCapPolicy, PlacementCapRule, PlacementCategory, PlacementContentFields, PlacementContentLookupProvider, PlacementControllerOptions, PlacementControllerState, PlacementCustomCode, PlacementDecisionOutput, PlacementEmittedThresholdLookup, PlacementOutput, PlacementPayload, PlacementPayloadSnapshot, PlacementPerformanceRow, PlacementPreviewConfig, PlacementPromotion, PlacementSettings, PlacementSettingsCapRule, PlacementSettingsCapRuleGroupItem, PlacementSettingsCapState, PlacementSlotProps, PlacementSlotType, PlacementTestMode, PlacementTestUser, PlacementTestUserIdentifierType, PlacementUiPath, PlacementUiPathActionType, PlacementWarning, PlacementWarningCode, Plan, PlanProvider, PlanProviderState, PlanRuleSnapshot, PlanVariation, PlanVisibility, Playbook, PlaybookBody, PlaybookHeader, PlaybookObject, PlaybookStrict, PlaybookVersion, PlaybookVersionDeployResult, PlaybookVersionDiff, PlaybookVersionEntrySummary, PlaybookVersionStatus, PostHogAnalyticsProviderOptions, PostHogIntegrationOptions, PostHogLike, PresentationCapState, PresentationOutcome, PriceSource, PricingModel, Promotion, PromotionStatus, ProviderAvailability, ProviderBindingRef, ProviderCapability, ProviderConnection, ProviderProvenance, RegisterPlacementSlotTypeOptions, ResolvedBranding, ResolvedContent, ResolvedDomainType, ResolvedPayload, ResolvedProviderContext, RevTurbineApiClient, RevTurbineApiClientConfig, paths as RevTurbineApiPaths, RevTurbineBootstrapDecisionInput, RevTurbineChainedPlacementRequestOptions, RevTurbineClientSessionProvider, RevTurbineComponentType, RevTurbineConfig, RevTurbineConfigAddonVariationsItem, RevTurbineConfigAddonsItem, RevTurbineConfigEnforcementDefaultsItem, RevTurbineConfigEntitlementRulesItem, RevTurbineConfigEntitlementsItem, RevTurbineConfigMeterBindingsItem, RevTurbineConfigPeriodCap, RevTurbineConfigPersonalizationTokensItem, RevTurbineConfigPlacementCategory, RevTurbineConfigPlacementItem, RevTurbineConfigPlacementPayloadItem, RevTurbineConfigPlacementSettingsItem, RevTurbineConfigPlacementSlotsItem, RevTurbineConfigPlacementTrigger, RevTurbineConfigPlanVariationsItem, RevTurbineConfigPlansItem, RevTurbineConfigProvider, RevTurbineConfigSeatTypesItem, RevTurbineConfigSegmentDimensionsItem, RevTurbineConfigSegmentsItem, RevTurbineConfigSegmentsItemPredicatesItem, RevTurbineConfigSlotConfigsItem, RevTurbineConfigStudioCtaConfig, RevTurbineConfigStudioPayload, RevTurbineConfigStudioPayloadCaps, RevTurbineConfigStudioPayloadSurface, RevTurbineConfigStudioPayloadTarget, RevTurbineConfigSurfaceTemplatesItem, RevTurbineConfigSurfaceTemplatesItemFieldsItem, RevTurbineConfigUiPathActionType, RevTurbineContextMode, RevTurbineContextPolicy, RevTurbineDecisionContent, RevTurbineEndpointOverrides, RevTurbineEntitlementContext, RevTurbineEntitlementPlacementRequestOptions, RevTurbineEntitlementRuleEvaluation, RevTurbineEventBatchingOptions, RevTurbineEventEnvelope, RevTurbineEventOptions, RevTurbineGateResult, RevTurbineImpressionMetadata, RevTurbineInitBaseOptions, RevTurbineInitInputOptions, RevTurbineInitOptions, RevTurbineInitOptionsStrict, RevTurbineInitWithProviderOptions, RevTurbineLocalOnlyMinimalInitOptions, RevTurbineLocalRuntimeData, RevTurbineLocalRuntimeOptions, RevTurbineLocalRuntimeResolvers, RevTurbineMeterUsageOverride, RevTurbinePageContext, RevTurbinePersonalizationTokens, RevTurbinePlacementBehaviorFlags, RevTurbinePlacementConfig, RevTurbinePlacementContent, RevTurbinePlacementDecision, RevTurbinePlacementDecisionExplanation, RevTurbinePlacementDecisionInput, RevTurbinePlacementDecisionOverrides, RevTurbinePlacementPayloadEvaluation, RevTurbinePlacementRecord, RevTurbinePlacementRequestConfig, RevTurbinePlacementRuleEvaluation, RevTurbinePlacementTypeEntity, RevTurbinePolicySnapshot, RevTurbineProviderFactory, RevTurbineProviderFailureSlotBehavior, RevTurbineRequiredUiPathResolvers, RevTurbineRuntimeMode, RevTurbineSdkMode, RevTurbineSdkProvider, RevTurbineSegmentEvaluation, RevTurbineSegmentPredicateEvaluation, RevTurbineSemanticEvent, RevTurbineServerOptions, RevTurbineSlotPlacementRequestOptions, RevTurbineStorage, RevTurbineSurfaceSlotConfig, RevTurbineSurfaceType, RevTurbineTargeting, RevTurbineTelemetryOptions, RevTurbineTheme, RevTurbineThemeColors, RevTurbineThemeInput, RevTurbineThemeShadows, RevTurbineThemeShape, RevTurbineThemeTypography, RevTurbineTreatmentInteractionInput, RevTurbineTreatmentInteractionOptions, RevTurbineTreatmentInteractionType, RevTurbineTrialContext, RevTurbineTriggerEvent, RevTurbineTriggerPayload, RevTurbineUiPathActionTypes, RevTurbineUiPathResolver, RevTurbineUiPathResolverMap, RevTurbineUiPathResolverValidationIssue, RevTurbineUiPathResolverValidationOptions, RevTurbineUiPathResolverValidationReport, RevTurbineUpdateInput, RevTurbineUsageSnapshot, RevTurbineUsageSnapshotEntry, RevTurbineUserContext, RevenueMetric, ReverseTrialRule, ReverseTrialSettings, ReverseTrialStartPolicy, Role, RuleProvider, RuleProviderState, RuleVisibility, RuntimePromotionSnapshot, SchemaDeprecation, SchemaFacetOptions, SchemaFacets, SdkConfigShape, SdkEventProperties, SdkMetaEvent, SdkMetaEventType, SdkMetaIngestBatch, SdkMetadata, SdkSessionOptions, SdkTraits, SeatType, Segment, SegmentDimension, SegmentProvider, SegmentProviderState, SegmentValue, SemanticEvent, ServerActionContext, ServerActionHandler, ServerActionMap, ServerActionResult, ServerEntitlementResult, ServerEvaluationHydrationPayload, ServerEvaluationPayload, ServerEvaluationPayloadDecisionsItem, ServerEvaluationPayloadEntitlementsValue, ServerEvaluationPayloadTrialStatus, ServerEvaluationPayloadUser, ServerEvaluationPayloadUserContext, ServerEvaluationRequest, ServerPlacementDecision, ServerPlacementRequest, ServerUserContext, ServerUserContextSnapshot, Severity, StaticPlacementResolverOptions, StripeIntegrationConfig, StripePrice, StripePriceBillingPeriod, StripePriceMock, StripePriceMockBillingPeriod, StudioSurfaceType, SuggestionSeverity, SupersessionReason, SupersessionRecord, SuppressionResult, SurfaceSlot, SurfaceTemplate, SurfaceType, SurfaceTypeCapRule, TelemetryConsent, TemplateFieldType, Tenant, TenantConfig, TenantStatus, Theme, ThemeLoaderOptions, ThemeProvider, ThemeProviderState, TrackEvent, TrackIngestBatch, Trait, TraitsNamespace, TraitsProvider, TraitsProviderState, TreatmentInteractionInput, TreatmentInteractionType, TrendFeatures, TrialEligibilityScope, TrialInstance, TrialLimitPolicy, TrialStatus, TrialStatusProvider, TrialStatusTraits, TrialTriggerPayload, TriggerEventType, UiPreference, UnvalidatedConfigArtifact, UsageAllocation, UsageBalances, UsageEnforcementSettings, UsagePeriodScope, UsageTraits, UsageTraitsProvider, UsageTriggerPayload, UserContext, UserContextInput, UserInstanceContext, UserPlanContext, UserRole, UserTargetingContext, UserTrialStatus, UserUsageEntry, ValidateAnalyticsViewOptions, VariantStatisticalSummary, WarGameCapabilityRequirements, WarGameCategory, WarGameGrade, WarGameOracle, WarGameQualificationLevel, WarGameScenario, WebhookEventLog, WebhookEventSource, WebhookEventStatus };
31260
+ export { ANALYTICS_ANNOTATION_KINDS, ANALYTICS_DATE_RANGE_FILTER_VALUE_TYPE, ANALYTICS_VALIDATION_CODES, ANALYTICS_VIEW_SCHEMA_VERSION, ActivityLevelSchema, AddOnSchema, AddOnVariationSchema, AlertSchema, AnalysisProvenanceSchema, AnalyticsAgentCatalogEntryKindSchema, AnalyticsAgentCatalogEntrySchema, AnalyticsAnalyticalUnitSchema, AnalyticsAnnotationKindSchema, AnalyticsAnnotationMarkerSchema, AnalyticsAnnotationRequestSchema, AnalyticsAnnotationResponseSchema, AnalyticsAnnotationSchema, AnalyticsAnnotationSourceSchema, AnalyticsBlockErrorSchema, AnalyticsBlockResultSchema, AnalyticsCardinalityClassSchema, AnalyticsCatalogAnnotationKindSchema, AnalyticsCatalogConceptSchema, AnalyticsCatalogDeprecationSchema, AnalyticsCatalogDimensionSchema, AnalyticsCatalogMetricSchema, AnalyticsCatalogMetricValidatedSchema, AnalyticsCatalogProvenanceKindSchema, AnalyticsCatalogProvenanceSchema, AnalyticsCatalogSchema, AnalyticsCatalogSearchResultSchema, AnalyticsCatalogSourceSchema, AnalyticsClassificationSchema, AnalyticsCompareDeltaSchema, AnalyticsCompareExperimentSchema, AnalyticsCompareModeSchema, AnalyticsCompareSegmentSchema, AnalyticsCompileResolutionSchema, AnalyticsCoverageSchema, AnalyticsCustomizationCapabilitySchema, AnalyticsCustomizationPolicySchema, AnalyticsDimensionCapabilitySchema, AnalyticsDimensionTypeSchema, AnalyticsFieldTypeSchema, AnalyticsFilterControlSchema, AnalyticsFilterOperatorSchema, AnalyticsFilterStateSchema, AnalyticsFilterValueSchema, AnalyticsFormatSpecSchema, AnalyticsHistoricalModeSchema, AnalyticsMetricAggregationSemanticsSchema, AnalyticsMetricDirectionSchema, AnalyticsMetricStatisticalTypeSchema, AnalyticsPeriodCompareModeSchema, AnalyticsQueryFamilySchema, AnalyticsQueryOverridesSchema, AnalyticsQueryRequestSchema, AnalyticsQueryResponseSchema, AnalyticsRenderCartesianSchema, AnalyticsRenderFunnelSchema, AnalyticsRenderMetricSchema, AnalyticsRenderRecommendationsSchema, AnalyticsRenderSpecSchema, AnalyticsRenderTableSchema, AnalyticsRenderTimelineSchema, AnalyticsResultFieldSchema, AnalyticsResultMetaSchema, AnalyticsResultSchema, AnalyticsSafeChartOptionsSchema, AnalyticsSavedViewSchema, AnalyticsSemanticFilterSchema, AnalyticsSemanticIdSchema, AnalyticsSourceScopeSchema, AnalyticsSuggestedPatchOpSchema, AnalyticsTemplateSummarySchema, AnalyticsTimeGrainSchema, AnalyticsValidationIssueSchema, AnalyticsValidationResultSchema, AnalyticsViewAccessRoleSchema, AnalyticsViewAccessSchema, AnalyticsViewBlockDraftSchema, AnalyticsViewBlockSchema, AnalyticsViewDraftSchema, AnalyticsViewFilterDraftSchema, AnalyticsViewFilterSchema, AnalyticsViewHandoffDraftSchema, AnalyticsViewHandoffSchema, AnalyticsViewLayoutSchema, AnalyticsViewQuerySchema, AnalyticsViewRevisionSchema, AnalyticsViewSchema, AnalyticsViewVisibilitySchema, AnalyticsWarningSchema, AnchorFields, AuditActorTypeSchema, AuditEventSchema, AuthAccountSchema, AuthApiKeySchema, AuthInvitationSchema, AuthMemberSchema, AuthOrganizationSchema, AuthPasskeySchema, AuthSessionSchema, AuthSsoProviderSchema, AuthTwoFactorSchema, AuthUserSchema, AuthVerificationSchema, BUILT_IN_TEMPLATE_COMPONENT_TYPES, BillingCadenceSchema, BillingHealthStatusSchema, BrandingConfigSchema, BrowserRuntime, BrowserStorage, CONTROL_PLANE_EVENT_NAMES, CONTROL_PLANE_EVENT_SOURCE, CONTROL_PLANE_SOURCE_KEY, CapEnforcer, CapPeriodSchema$1 as CapPeriodSchema, ChangeLogActionSchema, ChangeLogEntrySchema, ClientContextSchema, ClientSafe, CohortMonthSchema, ComponentTypeSchema, ContentPayloadSegmentEntrySchema, ContentPlacementPayloadSchema, ContentPromotionSchema, ContentUiPathSchema, ContextVisibility, ControlPlaneEventSourceSchema, ControlPlaneEventTypeSchema, ControlPlaneSemanticEventSchema, CtaActionTypeSchema, CtaObjectSchema, CtaPathSchema, CtaPathTypeSchema, CurrencySchema, CustomerOverrideDurationSchema, CustomerOverrideSchema, CustomerOverrideStatusSchema, CustomerOverrideTypeSchema, CustomerSchema, DEFAULT_ANALYTICS_RETENTION_DAYS, DEFAULT_BRANDING, DEFAULT_TEMPLATE_COMPONENT_TYPES, DEFAULT_THEME, DEPRECATED_EVENT_NAMES, DOGFOOD_CLIENT_EVENT_NAMES, DataClassification, DecisionEngine, DecisionOnly, DefaultTemplateIdsSchema, DescriptionField, DetectorRequirementsSchema, DimensionCategorySchema, DimensionSourceTypeSchema, DiscountTypeSchema, DomainProviderRegistry, DriftReportSchema, EMITTABLE_PLATFORM_EVENT_NAMES, ENTITLEMENT_STATUS_VALUES, EVENT_PAYLOAD_CONTRACTS, EVENT_PAYLOAD_EVENT_NAMES, EVENT_PREFIX_FAMILIES, EnforcementActionSchema, EnforcementModeSchema, EntitlementCheckResultSchema, EntitlementGate, EntitlementGrantSchema, EntitlementGrantSetSchema, EntitlementGrantSourceSchema, EntitlementGrantStatusSchema, EntitlementRulePeriodUnitSchema, EntitlementRuleSchema, EntitlementRuleTargetKindSchema, EntitlementRuleTargetSchema, EntitlementRuleValidatedSchema, EntitlementRuleVariantSchema, EntitlementSchema, EntitlementStatusSchema, EntitlementTypeSchema, EnvironmentPromotionRequestSchema, EnvironmentSchema, EnvironmentStatusSchema, EventEnvelopeSchema, EventIngestBatchSchema, EventPrefixFamilySchema, EventSearchParamsSchema, EventSourceSchema, EventStabilitySchema, EventSurfaceSchema, EventTaxonomyEntrySchema, EventTaxonomySchema, EvidenceRequirementSchema, ExperimentAnalysisConfigSchema, ExperimentAnalysisConfigVersionError, ExperimentAnalysisDefinitionSchema, ExperimentAnalysisResultRecordSchema, ExperimentAnalysisResultSchema, ExperimentAssignmentFactSchema, ExperimentAssignmentSourceSchema, ExperimentDecisionFindingCodeSchema, ExperimentDecisionPolicySchema, ExperimentDecisionPolicyVersionError, ExperimentDecisionRecordSchema, ExperimentDecisionTypeSchema, ExperimentEvidenceSchema, ExperimentEvidenceSnapshotSchema, ExperimentHealthSchema, ExperimentMetricEvidencePlanSchema, ExperimentMetricResultSchema, ExperimentSchema, ExperimentStatusSchema, ExperimentTypeSchema, ExperimentVariantSchema, ExperimentVariantTargetSchema, RevTurbineConfigPlacementItemSchema as ExportedConfigPlacementItemSchema, RevTurbineConfigSchema as ExportedConfigSchema, RevTurbineConfigSegmentsItemPredicatesItemSchema as ExportedConfigSegmentsItemPredicatesItemSchema, RevTurbineConfigSegmentsItemSchema as ExportedConfigSegmentsItemSchema, RevTurbineConfigUiPathActionTypeSchema as ExportedConfigUiPathActionTypeSchema, FAMILY_RENDER_COMPATIBILITY, FIXED_BANNER_TEMPLATE_IDS, FIXED_SURFACE_TEMPLATE_IDS, FIXTURE_ANALYTICS_CATALOG, FeatureFlagSchema, FeatureFlagValueSchema, FeatureGateTriggerPayloadSchema, FieldDefinitionSchema, FlagValueTypeSchema, FreeTrialRuleSchema, FreeTrialSettingsSchema, FunnelStepSchema, GATED_SURFACE_TEMPLATE_IDS, GENERAL_BANNER_TEMPLATE_IDS, GENERAL_MODAL_TEMPLATE_IDS, GENERAL_TOAST_TEMPLATE_IDS, GrowthSignalBundleSchema, GrowthSignalPointSchema, GrowthSignalSeriesSchema, HANDLE_PATTERN, HandleField, INGEST_WRITE_SCOPE, IdField, IdentityKind, IdentitySchema, InMemoryStorage, IngestedEventSchema, InteractionTracker, InvitationStatusSchema, KpiAggregateSchema, LocalizedTextSchema, MAX_TREATMENT_INTERACTIONS_PER_BATCH, MESSAGE_SURFACE_TEMPLATE_IDS, McpConfigSchema, McpTokenScopeSchema, MessageBlockContentSchema, MessageBlockRecordSchema, MessageBlockSchema, MessageSchema, MetadataField, MeteringConfigSchema, NameField, NullableDatetimeField, ObservationMaturitySchema, OnboardingChecklistSchema, OnboardingStateSchema, OpportunityCandidateSchema, OpportunityEvidenceSchema, OpportunityInterpretationSchema, OptimizationSuggestionSchema, OrgMemberRoleSchema, PERSISTED_SCHEMA_FACET_EXEMPTIONS, PLATFORM_EMITTED_EVENT_NAMES, PLATFORM_EVENT_TAXONOMY, PLAYBOOK_FORMAT_VERSION, PaginatedResponseSchema, PaginationParamsSchema, PaymentTriggerPayloadSchema, PermissionActionSchema, PermissionResourceSchema, PermissionSchema, PersonalizationTokenSchema, PlacementCapRuleSchema, PlacementCategorySchema, PlacementController, PlacementDecisionOutputSchema, PlacementPayloadSchema, PlacementPerformanceRowSchema, PlacementSchema, PlacementSettingsCapRuleGroupItemSchema, PlacementSettingsCapRuleSchema, PlacementSettingsCapStateSchema, PlacementSettingsSchema, PlacementTestModeSchema, PlacementTestUserIdentifierTypeSchema, PlacementTestUserSchema, PlacementTypeRegistry, PlacementWarningCodeSchema, PlacementWarningSchema, PlanSchema, PlanVariationSchema, PlanVisibilitySchema, PlaybookBodySchema, PlaybookHeaderSchema, PlaybookObjectSchema, PlaybookSchema, PlaybookStrictSchema, PlaybookVersionDeployResultSchema, PlaybookVersionDiffSchema, PlaybookVersionEntrySummarySchema, PlaybookVersionSchema, PlaybookVersionStatusSchema, PresentationOutcomeSchema, PriceSourceSchema, PricingModelSchema, PromotionSchema, PromotionStatusSchema, ProviderAvailabilitySchema, ProviderBindingRefSchema, ProviderCapabilitySchema, ProviderConnectionSchema, ProviderProvenanceSchema, RECOGNIZED_UPDATE_KEYS, ROLE_PERMISSIONS, ROLE_RANK, ApiError as RevTurbineApiError, RevTurbineConfigAddonVariationsItemSchema, RevTurbineConfigAddonsItemSchema, RevTurbineConfigEnforcementDefaultsItemSchema, RevTurbineConfigEntitlementRulesItemSchema, RevTurbineConfigEntitlementsItemSchema, RevTurbineConfigMeterBindingsItemSchema, RevTurbineConfigPeriodCapSchema, RevTurbineConfigPersonalizationTokensItemSchema, RevTurbineConfigPlacementCategorySchema, RevTurbineConfigPlacementItemSchema, RevTurbineConfigPlacementPayloadItemSchema, RevTurbineConfigPlacementSettingsItemSchema, RevTurbineConfigPlacementSlotsItemSchema, RevTurbineConfigPlacementTriggerSchema, RevTurbineConfigPlanVariationsItemSchema, RevTurbineConfigPlansItemSchema, RevTurbineConfigSchema, RevTurbineConfigSeatTypesItemSchema, RevTurbineConfigSegmentDimensionsItemSchema, RevTurbineConfigSegmentsItemPredicatesItemSchema, RevTurbineConfigSegmentsItemSchema, RevTurbineConfigSlotConfigsItemSchema, RevTurbineConfigStudioCtaConfigSchema, RevTurbineConfigStudioPayloadCapsSchema, RevTurbineConfigStudioPayloadSchema, RevTurbineConfigStudioPayloadSurfaceSchema, RevTurbineConfigStudioPayloadTargetSchema, RevTurbineConfigSurfaceTemplatesItemFieldsItemSchema, RevTurbineConfigSurfaceTemplatesItemSchema, RevTurbineConfigUiPathActionTypeSchema, RevTurbineCustomerSdk, RevTurbineServer, RevenueMetricSchema, ReverseTrialRuleSchema, ReverseTrialSettingsSchema, ReverseTrialStartPolicySchema, RoleSchema, RuleVisibilitySchema, RuntimeMode, RuntimePromotionSnapshotSchema, SDK_AUTOMATIC_NON_EMITTED_NAMES, SDK_CLIENT_EVENT_NAMES, SDK_META_EVENT_NAMES, SDK_SERVER_EVENT_NAMES, SEMANTIC_ID_PATTERN, SERVER_TRAITS_DOMAIN, SchemaContext, SchemaExposure, SchemaPersistence, SchemaSource, SdkConfigShapeSchema, SdkMetaEventSchema, SdkMetaEventTypeSchema, SdkMetaIngestBatchSchema, SdkSession, SeatTypeSchema, SegmentDimensionSchema, SegmentSchema, SegmentValueSchema, SemanticEventSchema, ServerEvaluationPayloadDecisionsItemSchema, ServerEvaluationPayloadEntitlementsValueSchema, ServerEvaluationPayloadSchema, ServerEvaluationPayloadTrialStatusSchema, ServerEvaluationPayloadUserContextSchema, ServerEvaluationPayloadUserSchema, ServerOnly, ServerUserContextProvider, SeveritySchema, StripeIntegrationConfigSchema, StripePriceBillingPeriodSchema, StripePriceMockBillingPeriodSchema, StripePriceMockSchema, StripePriceSchema, StudioSurfaceTypeSchema, SuggestionSeveritySchema, SupersessionReasonSchema, SupersessionRecordSchema, SurfaceSlotSchema, SurfaceTemplateSchema, SurfaceTypeCapRuleSchema, SurfaceTypeSchema, TemplateFieldTypeSchema, TenantConfigSchema, TenantIdField, TenantSchema, TenantStatusSchema, ThemeSchema, TimestampFields, TrackEventSchema, TrackIngestBatchSchema, TreatmentInteractionBatchSchema, TreatmentInteractionInputSchema, TreatmentInteractionRequestSchema, TreatmentInteractionTypeSchema, TrendFeaturesSchema, TrialEligibilityScopeSchema, TrialInstanceSchema, TrialLimitPolicySchema, TrialStatusSchema, TrialTriggerPayloadSchema, TriggerEventTypeSchema, UiPreferenceSchema, UnsupportedExperimentAssignmentUnitError, UsageAllocationSchema$1 as UsageAllocationSchema, UsageEnforcementSettingsSchema, UsagePeriodScopeSchema, UsageTriggerPayloadSchema, UserContextSchema, UserInstanceContextSchema, UserPlanContextSchema, UserRoleSchema, UserTrialStatusSchema, UserUsageEntrySchema, VIEW_ELEMENT_ID_PATTERN, VariantStatisticalSummarySchema, VersionFields, WEBHOOK_DERIVED_EVENT_NAMES, WarGameCapabilityRequirementsSchema, WarGameCategorySchema, WarGameGradeSchema, WarGameOracleSchema, WarGameQualificationLevelSchema, WarGameScenarioSchema, WebhookEventLogSchema, WebhookEventSourceSchema, WebhookEventStatusSchema, adaptExperimentVersionToBucketer, analyticsPaths, analyticsViewPaths, applyValueMaps, assertExperimentAnalysisConfigUpdateAllowed, assertExperimentDecisionPolicyUpdateAllowed, bucketSubject, buildAgentCatalogProjection, buildControlPlaneEvent, changelogPaths, clearPersistedTheme, collectAssignmentFactDeclarations, collectPersistedSchemas, collectVersionedConfigEntities, compileAnalyticsDraft, composeEffectiveExperimentContext, configPaths, contentPaths, createAnalyticsProvider, createBasicExperimentProvider, createChainedPlacementRequest, createCompositeExperimentProvider, createCustomEndpointRuntimeConfig, createEntitlementPlacementRequest, createFixtureAnalyticsCatalog, createHydrationProviders, createInMemoryAnalyticsCatalog, createLocalRuntimeConfig, createNativeExperimentAssignmentProvider, createPostHogAnalyticsProvider, createPostHogIntegration, createRevTurbineApiClient, createSemanticEvent, createServerRuntimeConfig, createSlotPlacementRequest, createStaticPlacementContentLookupProvider, createStaticPlacementResolver, createStaticProviders, createStrictLocalRuntimeConfig, createTreatmentInteraction, customerPaths, defaultRenderForQuery, defineUiPathResolvers, deriveLocalTrialStatusFromInstance, deriveReverseTrialGrants, entitlementPaths, entitlementResultDenies, environmentPaths, evaluateSegments, evaluateTrialStatus, eventPaths, experimentPaths, filterExternalSchemas, filterPersistedSchemas, findActiveTrialInstance, findLatestStartedTrialInstance, formatCurrencyMinorUnits, getDefaultRegistry, getFieldClassification, getFieldVisibility, getObjectFieldClassifications, getObjectFieldVisibilities, getSchemaClassification, getSchemaDeprecation, getSchemaExposure, getSchemaFacets, getSchemaIdentity, getSchemaPersistence, initRevTurbine, isAnalyticsDateRangeFilterValue, isBrowser, isExperimentAssignmentFactDeclaration, isLegacyDateRangeArray, isServer, isVersionedConfigEntity, loadTheme, makeAnchor, mergeTheme, mintedIdentity, namedIdentity, namespacePlatformCollision, normalizeConfigArtifactOrThrow, normalizeLegacyConfig, parsePlaybook, parsePromotion, parseUiPath, placementPaths, planPaths, playbookVersionPaths, projectClientSafe, promotionPaths, requireSchemaFacets, resetDefaultRegistry, resolveBranding, resolveComponentType, resolveContent, resolveLocalPlaybook, resolvePayloadForUser, resolvePayloadForUserWithProvider, resolvePersistentStorage, resolveSessionStorage, resolveTokens, schemaDeprecation, schemaFacets, scopesSubsetOfRole, searchAgentCatalog, segmentPaths, settingsPaths, tenantPaths, toCreateSchema, toWritableSchema, trialPaths, uiPreferencePaths, userContextPaths, validateAnalyticsQuery, validateAnalyticsView, validateEventPayload, validatePlacementThresholdWarnings };
31261
+ export type { ActivityLevel, AdapterBaseOptions, AddOn, AddOnVariation, Alert, AnalysisProvenance, AnalyticsAgentCatalogEntry, AnalyticsAgentCatalogEntryKind, AnalyticsAnalyticalUnit, AnalyticsAnnotation, AnalyticsAnnotationKind, AnalyticsAnnotationMarker, AnalyticsAnnotationRequest, AnalyticsAnnotationResponse, AnalyticsAnnotationSource, AnalyticsBlockError, AnalyticsBlockResult, AnalyticsCardinalityClass, AnalyticsCatalog, AnalyticsCatalogAnnotationKind, AnalyticsCatalogConcept, AnalyticsCatalogData, AnalyticsCatalogDeprecation, AnalyticsCatalogDimension, AnalyticsCatalogMetric, AnalyticsCatalogMetricValidated, AnalyticsCatalogProvenance, AnalyticsCatalogProvenanceKind, AnalyticsCatalogSearchResult, AnalyticsCatalogSource, AnalyticsCatalogView, AnalyticsClassification, AnalyticsCompareDelta, AnalyticsCompareExperiment, AnalyticsCompareMode, AnalyticsCompareSegment, AnalyticsCompileOutput, AnalyticsCompileResolution, AnalyticsCoverage, AnalyticsCustomizationCapability, AnalyticsCustomizationPolicy, AnalyticsDateRangeFilterValue, AnalyticsDimensionCapability, AnalyticsDimensionType, AnalyticsEventHandler, AnalyticsEventProperties, AnalyticsEventTransformer, AnalyticsFieldType, AnalyticsFilterControl, AnalyticsFilterOperator, AnalyticsFilterState, AnalyticsFilterValue, AnalyticsFormatSpec, AnalyticsHistoricalMode, AnalyticsMetricAggregationSemantics, AnalyticsMetricDirection, AnalyticsMetricStatisticalType, AnalyticsPeriodCompareMode, AnalyticsProviderOptions, AnalyticsQueryFamily, AnalyticsQueryOverrides, AnalyticsQueryRequest, AnalyticsQueryResponse, AnalyticsRenderCartesian, AnalyticsRenderFunnel, AnalyticsRenderMetric, AnalyticsRenderRecommendations, AnalyticsRenderSpec, AnalyticsRenderTable, AnalyticsRenderTimeline, AnalyticsResult, AnalyticsResultField, AnalyticsResultMeta, AnalyticsSafeChartOptions, AnalyticsSavedView, AnalyticsSemanticFilter, AnalyticsSemanticId, AnalyticsSourceScope, AnalyticsSuggestedPatchOp, AnalyticsTemplateSummary, AnalyticsTimeGrain, AnalyticsValidationCode, AnalyticsValidationIssue, AnalyticsValidationResult, AnalyticsView, AnalyticsViewAccess, AnalyticsViewAccessRole, AnalyticsViewBlock, AnalyticsViewBlockDraft, AnalyticsViewDraft, AnalyticsViewFilter, AnalyticsViewFilterDraft, AnalyticsViewHandoff, AnalyticsViewHandoffDraft, AnalyticsViewLayout, AnalyticsViewQuery, AnalyticsViewRevision, AnalyticsViewVisibility, AnalyticsWarning, AnyDomainProvider, AssignmentFactUnit, AuditActorType, AuditEvent, AuthAccount, AuthApiKey, AuthInvitation, AuthMember, AuthOrganization, AuthPasskey, AuthSession, AuthSsoProvider, AuthTwoFactor, AuthUser, AuthVerification, BasicBucketerExperiment, BasicBucketerOptions, BillingCadence, BillingHealthStatus, BrandingConfig, BrandingResolutionInput, BrandingSource, BrowserRuntimeOptions, CanonicalExperimentAllocation, CapEnforcementResult, CapPeriod, ChangeListener, ChangeLogAction, ChangeLogEntry, ClientContext, CohortMonth, CompileAnalyticsDraftOptions, ComponentType, CompositeExperimentProviderOptions, ConfigArtifact, ConfigTargetDefaults, ContentPayloadSegmentEntry, ContentPlacementPayload, ContentPromotion, ContentProvider, ContentProviderState, ContentUiPath, ControlPlaneEmitInput, ControlPlaneEventSource, ControlPlaneEventType, ControlPlaneSemanticEvent, CtaActionType, CtaHandler, CtaHandlerMap, CtaHandlerProvider, CtaHandlerProviderState, CtaObject, CtaPath, CtaPathType, Currency, Customer, CustomerOverride, CustomerOverrideDuration, CustomerOverrideStatus, CustomerOverrideType, DataClassificationValue, DecisionEngineOptions, DefaultTemplateIds, DeriveTrialStatusInput, DetectorRequirements, DimensionCategory, DimensionSourceType, DiscountType, DomainProvider, DomainProviderName, DomainProviderResolutionInput, DriftReport, EffectiveUserContextResolution, EligibleAddon, EligiblePlan, EligiblePrice, EmittablePlatformEventName, EnforcementAction, EnforcementMode, Entitlement, EntitlementCheckResult$1 as EntitlementCheckResult, EntitlementGateOptions, EntitlementGateState, EntitlementGrant$1 as EntitlementGrant, EntitlementGrantSet$1 as EntitlementGrantSet, EntitlementGrantSource, EntitlementGrantStatus, EntitlementProvider, EntitlementProviderState, EntitlementResult, EntitlementRule, EntitlementRulePeriodUnit, EntitlementRuleSnapshot, EntitlementRuleTarget, EntitlementRuleTargetKind$1 as EntitlementRuleTargetKind, EntitlementRuleValidated, EntitlementRuleVariant, EntitlementStatus, EntitlementType, EntitlementUsageEntry, Environment, EnvironmentPromotionRequest, EnvironmentStatus, EvaluateTrialStatusInput, EvaluateTrialStatusResult, EvaluationContext, EventConsumer, EventConsumerProvider, EventConsumerProviderState, EventEnvelope, EventIngestBatch, EventPayloadContract, EventPayloadContractMap, EventPayloadInput, EventPrefixFamily, EventSearchParams, EventSource, EventStability, EventSurface, EventTaxonomy, EventTaxonomyEntry, EvidenceRequirement, Exact, ExactInitOptions, Experiment, ExperimentAnalysisConfig, ExperimentAnalysisDefinition, ExperimentAnalysisResult, ExperimentAnalysisResultRecord, ExperimentAssignmentFact, ExperimentAssignmentFactDeclaration, ExperimentAssignmentFactMetadataCarrier, ExperimentAssignmentProvider, ExperimentAssignmentSource, ExperimentDecisionFindingCode, ExperimentDecisionPolicy, ExperimentDecisionRecord, ExperimentDecisionType, ExperimentEvidence, ExperimentEvidenceSnapshot, ExperimentHealth, ExperimentMetricEvidencePlan, ExperimentMetricResult, ExperimentProvider, ExperimentProviderState, ExperimentStatus, ExperimentType, ExperimentVariant, ExperimentVariantNonAssignmentReason, ExperimentVariantSelection, ExperimentVariantTarget, ExportedConfig, ExportedConfigPlacementItem, ExportedConfigProvider, ExportedConfigSegmentsItem, ExportedConfigSegmentsItemPredicatesItem, ExportedConfigUiPathActionType, FeatureFlag, FeatureFlagValue, FeatureGateTriggerPayload, FieldDefinition, FlagValueType, FreeTrialRule, FreeTrialSettings, FunnelStep, GrowthSignalBundle, GrowthSignalPoint, GrowthSignalSeries, IdentifyContextInput, Identity, IdentityDeclaration, IngestWriteScope, IngestedEvent, InteractionState, InvitationStatus, JsonObject, JsonValue, KpiAggregate, LegacyConfigTargetDefaults, LocalPlacementDataset, LocalPlacementEntry, LocalPlacementPayload, LocalPlacementSurface, LocalizedText, McpConfig, McpTokenScope, Message, MessageBlock, MessageBlockContent, MessageBlockRecord, MessageBlockSnapshot, MeteringConfig, NativeExperimentAssignmentOptions, NativeExperimentAssignmentUnit, ObservationMaturity, OnboardingChecklist, OnboardingState, OpportunityCandidate, OpportunityEvidence, OpportunityInterpretation, OptimizationSuggestion, OrgMemberRole, PaginationParams, PaymentTriggerPayload, Permission, PermissionAction, PermissionResource, PersonalizationContext, PersonalizationToken, Placement, PlacementCapPolicy, PlacementCapRule, PlacementCategory, PlacementContentFields, PlacementContentLookupProvider, PlacementControllerOptions, PlacementControllerState, PlacementCustomCode, PlacementDecisionOutput, PlacementEmittedThresholdLookup, PlacementOutput, PlacementPayload, PlacementPayloadSnapshot, PlacementPerformanceRow, PlacementPreviewConfig, PlacementPromotion, PlacementSettings, PlacementSettingsCapRule, PlacementSettingsCapRuleGroupItem, PlacementSettingsCapState, PlacementSlotProps, PlacementSlotType, PlacementTestMode, PlacementTestUser, PlacementTestUserIdentifierType, PlacementUiPath, PlacementUiPathActionType, PlacementWarning, PlacementWarningCode, Plan, PlanProvider, PlanProviderState, PlanRuleSnapshot, PlanVariation, PlanVisibility, PlatformEventName, Playbook, PlaybookBody, PlaybookHeader, PlaybookObject, PlaybookStrict, PlaybookVersion, PlaybookVersionDeployResult, PlaybookVersionDiff, PlaybookVersionEntrySummary, PlaybookVersionStatus, PostHogAnalyticsProviderOptions, PostHogIntegrationOptions, PostHogLike, PresentationCapState, PresentationOutcome, PriceSource, PricingModel, Promotion, PromotionStatus, ProviderAvailability, ProviderBindingRef, ProviderCapability, ProviderConnection, ProviderProvenance, RegisterPlacementSlotTypeOptions, ResolvedBranding, ResolvedContent, ResolvedDomainType, ResolvedPayload, ResolvedProviderContext, RevTurbineApiClient, RevTurbineApiClientConfig, paths as RevTurbineApiPaths, RevTurbineAuthoredSlotRef, RevTurbineBootstrapDecisionInput, RevTurbineChainedPlacementRequestOptions, RevTurbineClientSessionProvider, RevTurbineComponentType, RevTurbineConfig, RevTurbineConfigAddonVariationsItem, RevTurbineConfigAddonsItem, RevTurbineConfigEnforcementDefaultsItem, RevTurbineConfigEntitlementRulesItem, RevTurbineConfigEntitlementsItem, RevTurbineConfigMeterBindingsItem, RevTurbineConfigPeriodCap, RevTurbineConfigPersonalizationTokensItem, RevTurbineConfigPlacementCategory, RevTurbineConfigPlacementItem, RevTurbineConfigPlacementPayloadItem, RevTurbineConfigPlacementSettingsItem, RevTurbineConfigPlacementSlotsItem, RevTurbineConfigPlacementTrigger, RevTurbineConfigPlanVariationsItem, RevTurbineConfigPlansItem, RevTurbineConfigProvider, RevTurbineConfigSeatTypesItem, RevTurbineConfigSegmentDimensionsItem, RevTurbineConfigSegmentsItem, RevTurbineConfigSegmentsItemPredicatesItem, RevTurbineConfigSlotConfigsItem, RevTurbineConfigStudioCtaConfig, RevTurbineConfigStudioPayload, RevTurbineConfigStudioPayloadCaps, RevTurbineConfigStudioPayloadSurface, RevTurbineConfigStudioPayloadTarget, RevTurbineConfigSurfaceTemplatesItem, RevTurbineConfigSurfaceTemplatesItemFieldsItem, RevTurbineConfigUiPathActionType, RevTurbineContextMode, RevTurbineContextPolicy, RevTurbineDecisionContent, RevTurbineEndpointOverrides, RevTurbineEntitlementContext, RevTurbineEntitlementPlacementRequestOptions, RevTurbineEntitlementRuleEvaluation, RevTurbineEventBatchingOptions, RevTurbineEventEnvelope, RevTurbineEventOptions, RevTurbineGateResult, RevTurbineImpressionMetadata, RevTurbineInitBaseOptions, RevTurbineInitInputOptions, RevTurbineInitOptions, RevTurbineInitOptionsStrict, RevTurbineInitWithProviderOptions, RevTurbineLocalOnlyMinimalInitOptions, RevTurbineLocalRuntimeData, RevTurbineLocalRuntimeOptions, RevTurbineLocalRuntimeResolvers, RevTurbineMeterUsageOverride, RevTurbinePageContext, RevTurbinePersonalizationTokens, RevTurbinePlacementBehaviorFlags, RevTurbinePlacementConfig, RevTurbinePlacementContent, RevTurbinePlacementDecision, RevTurbinePlacementDecisionExplanation, RevTurbinePlacementDecisionInput, RevTurbinePlacementDecisionOverrides, RevTurbinePlacementPayloadEvaluation, RevTurbinePlacementRecord, RevTurbinePlacementRequestConfig, RevTurbinePlacementRuleEvaluation, RevTurbinePlacementTypeEntity, RevTurbinePolicySnapshot, RevTurbineProviderFactory, RevTurbineProviderFailureSlotBehavior, RevTurbineRegisteredSlot, RevTurbineRequiredUiPathResolvers, RevTurbineRuntimeMode, RevTurbineSdkMode, RevTurbineSdkProvider, RevTurbineSegmentEvaluation, RevTurbineSegmentPredicateEvaluation, RevTurbineSemanticEvent, RevTurbineServerOptions, RevTurbineSlotInventoryDiagnosis, RevTurbineSlotPlacementRequestOptions, RevTurbineStorage, RevTurbineSurfaceSlotConfig, RevTurbineSurfaceType, RevTurbineTargeting, RevTurbineTelemetryOptions, RevTurbineTheme, RevTurbineThemeColors, RevTurbineThemeInput, RevTurbineThemeShadows, RevTurbineThemeShape, RevTurbineThemeTypography, RevTurbineTreatmentInteractionInput, RevTurbineTreatmentInteractionOptions, RevTurbineTreatmentInteractionType, RevTurbineTrialContext, RevTurbineTriggerEvent, RevTurbineTriggerPayload, RevTurbineUiPathActionTypes, RevTurbineUiPathResolver, RevTurbineUiPathResolverMap, RevTurbineUiPathResolverValidationIssue, RevTurbineUiPathResolverValidationOptions, RevTurbineUiPathResolverValidationReport, RevTurbineUpdateInput, RevTurbineUsageSnapshot, RevTurbineUsageSnapshotEntry, RevTurbineUserContext, RevenueMetric, ReverseTrialRule, ReverseTrialSettings, ReverseTrialStartPolicy, Role, RuleProvider, RuleProviderState, RuleVisibility, RuntimePromotionSnapshot, SchemaDeprecation, SchemaFacetOptions, SchemaFacets, SdkConfigShape, SdkEventProperties, SdkMetaEvent, SdkMetaEventType, SdkMetaIngestBatch, SdkMetadata, SdkSessionOptions, SdkTraits, SeatType, Segment, SegmentDimension, SegmentProvider, SegmentProviderState, SegmentValue, SemanticEvent, ServerActionContext, ServerActionHandler, ServerActionMap, ServerActionResult, ServerEntitlementResult, ServerEvaluationHydrationPayload, ServerEvaluationPayload, ServerEvaluationPayloadDecisionsItem, ServerEvaluationPayloadEntitlementsValue, ServerEvaluationPayloadTrialStatus, ServerEvaluationPayloadUser, ServerEvaluationPayloadUserContext, ServerEvaluationRequest, ServerPlacementDecision, ServerPlacementRequest, ServerUserContext, ServerUserContextSnapshot, Severity, StaticPlacementResolverOptions, StripeIntegrationConfig, StripePrice, StripePriceBillingPeriod, StripePriceMock, StripePriceMockBillingPeriod, StudioSurfaceType, SuggestionSeverity, SupersessionReason, SupersessionRecord, SuppressionResult, SurfaceSlot, SurfaceTemplate, SurfaceType, SurfaceTypeCapRule, TelemetryConsent, TemplateFieldType, Tenant, TenantConfig, TenantStatus, Theme, ThemeLoaderOptions, ThemeProvider, ThemeProviderState, TrackEvent, TrackIngestBatch, Trait, TraitsNamespace, TraitsProvider, TraitsProviderState, TreatmentInteractionBatch, TreatmentInteractionInput, TreatmentInteractionRequest, TreatmentInteractionType, TrendFeatures, TrialEligibilityScope, TrialInstance, TrialLimitPolicy, TrialStatus, TrialStatusProvider, TrialStatusTraits, TrialTriggerPayload, TriggerEventType, UiPreference, UnvalidatedConfigArtifact, UsageAllocation, UsageBalances, UsageEnforcementSettings, UsagePeriodScope, UsageTraits, UsageTraitsProvider, UsageTriggerPayload, UserContext, UserContextInput, UserInstanceContext, UserPlanContext, UserRole, UserTargetingContext, UserTrialStatus, UserUsageEntry, ValidateAnalyticsViewOptions, VariantStatisticalSummary, WarGameCapabilityRequirements, WarGameCategory, WarGameGrade, WarGameOracle, WarGameQualificationLevel, WarGameScenario, WebhookEventLog, WebhookEventSource, WebhookEventStatus };