Skip to content

feat: add ctxSegments() for contextual classification lookup#292

Open
bmilekic wants to merge 2 commits into
masterfrom
add-contextual-fetch
Open

feat: add ctxSegments() for contextual classification lookup#292
bmilekic wants to merge 2 commits into
masterfrom
add-contextual-fetch

Conversation

@bmilekic
Copy link
Copy Markdown
Member

Introduce a new SDK method, OptableSDK.ctxSegments(url?), that POSTs to the /v1beta1/contextual edge endpoint and returns a typed ContextualSegmentsResponse describing the classifications (taxonomy + categories with score) that the DCN has assigned to the page URL.

The url argument is optional and defaults to window.location.href, so callers running in the browser can invoke sdk.ctxSegments() with no arguments to look up segments for the current page. The response is returned to the caller as-is — no validation or normalization — matching the pass-through behavior of Targeting() at the edge layer.

Includes:

  • lib/edge/contextual_segments.ts: edge function and response types (ContextualSegmentsResponse, ContextualClassification, ContextualCategory)
  • lib/sdk.ts: ctxSegments() method on OptableSDK
  • lib/test/handlers.ts: MSW handler for /v1beta1/contextual
  • lib/sdk.test.ts: breaking-change test plus behavioral coverage for the happy path, the window.location.href default, empty responses, and malformed response shapes

Introduce a new SDK method, OptableSDK.ctxSegments(url?), that POSTs to
the /v1beta1/contextual edge endpoint and returns a typed
ContextualSegmentsResponse describing the classifications (taxonomy +
categories with score) that the DCN has assigned to the page URL.

The url argument is optional and defaults to window.location.href, so
callers running in the browser can invoke sdk.ctxSegments() with no
arguments to look up segments for the current page. The response is
returned to the caller as-is — no validation or normalization — matching
the pass-through behavior of Targeting() at the edge layer.

Includes:
- lib/edge/contextual_segments.ts: edge function and response types
  (ContextualSegmentsResponse, ContextualClassification,
  ContextualCategory)
- lib/sdk.ts: ctxSegments() method on OptableSDK
- lib/test/handlers.ts: MSW handler for /v1beta1/contextual
- lib/sdk.test.ts: breaking-change test plus behavioral coverage for
  the happy path, the window.location.href default, empty responses,
  and malformed response shapes
@bmilekic bmilekic requested review from MO-Thibault and ratelle May 26, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant