@revturbine/sdk 0.11.4 → 0.11.5

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.
@@ -20481,6 +20481,16 @@ interface RevTurbineEndpointOverrides {
20481
20481
  */
20482
20482
  legacyInteractions?: string;
20483
20483
  placementTypes: string;
20484
+ /**
20485
+ * Optional sink for registered surface slots.
20486
+ *
20487
+ * RevTurbine hosts **no default route** for this verb (BL-0197). Slot
20488
+ * registration is client-local and discovery is ingestion-driven — the
20489
+ * pipeline derives discovered slots from the `slot_*` telemetry the SDK
20490
+ * already emits through `/api/track`. Set this only when you run your own
20491
+ * slot-inventory service; unset, `registerSurfaceSlot()` performs no
20492
+ * network write.
20493
+ */
20484
20494
  surfaceSlots: string;
20485
20495
  }
20486
20496
  /** Client-side clickstream batching policy (plan 95 TASK-6). */
@@ -21934,6 +21944,30 @@ declare class RevTurbineCustomerSdk {
21934
21944
  * @public
21935
21945
  */
21936
21946
  registerPlacement(config: RevTurbinePlacementConfig): Promise<string>;
21947
+ /**
21948
+ * Mirror a registered surface slot to an explicitly configured backend.
21949
+ *
21950
+ * **Requires an explicit `surfaceSlots` endpoint override** (BL-0197).
21951
+ * There is no default route for this verb and there never was a correct
21952
+ * one: the previous default pointed at `/api/placements`, RevTurbine's
21953
+ * *authored-config* CRUD. That route validates against `PlacementSchema`
21954
+ * (which requires `handle` and `category`), so the legacy surface-slot body
21955
+ * this method sends could only ever be rejected — in production every
21956
+ * non-`local_only` registration failed with
21957
+ * `surface_slot_create_failed:422` and the React runtime turned that into a
21958
+ * `slot_error`.
21959
+ *
21960
+ * It was also wrong in principle. On a same-origin integration the signed-in
21961
+ * user's session cookie authenticates the request, so a body the route *did*
21962
+ * accept would have let merely loading a gated page create a draft placement
21963
+ * in the tenant's Playbook. Only the 422 prevented that.
21964
+ *
21965
+ * Surface-slot **discovery is ingestion-driven**: the SDK emits its
21966
+ * `slot_*` / `placement_*` telemetry through `/api/track` and the pipeline
21967
+ * derives discovered slots from it. Registration itself is client-local.
21968
+ *
21969
+ * @internal
21970
+ */
21937
21971
  private upsertSurfaceSlot;
21938
21972
  /**
21939
21973
  * Build the internal placement record for a surface-slot config.
@@ -21956,6 +21990,18 @@ declare class RevTurbineCustomerSdk {
21956
21990
  * @internal
21957
21991
  */
21958
21992
  private commitSurfaceSlotRecord;
21993
+ /**
21994
+ * Register a surface slot with the local runtime and return its placement id.
21995
+ *
21996
+ * **Client-local by default** (BL-0197): this performs no network write. The
21997
+ * slot is recorded in the in-process registry, and the pipeline discovers it
21998
+ * from the `slot_*` / `placement_*` telemetry the SDK emits through
21999
+ * `/api/track`. A write happens only when `custom_endpoints.surfaceSlots`
22000
+ * points at a slot-inventory service you run; there is no fallback to
22001
+ * `/api/placements`.
22002
+ *
22003
+ * @public
22004
+ */
21959
22005
  registerSurfaceSlot(config: RevTurbineSurfaceSlotConfig): Promise<string>;
21960
22006
  /**
21961
22007
  * Persist authored placement types to a configured backend.