@trillboards/api-client 2.2.1 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ var eventsourceParser = require('eventsource-parser');
4
+ var index_js = require('@modelcontextprotocol/sdk/client/index.js');
5
+ var streamableHttp_js = require('@modelcontextprotocol/sdk/client/streamableHttp.js');
3
6
  var crypto = require('crypto');
4
7
 
5
8
  var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
@@ -79,7 +82,7 @@ var TrillboardsError = class _TrillboardsError extends Error {
79
82
  };
80
83
 
81
84
  // src/version.ts
82
- var VERSION = "1.2.0";
85
+ var VERSION = "3.2.1";
83
86
 
84
87
  // src/http.ts
85
88
  var PUBLIC_PATHS = ["/v1/errors", "/v1/changelog", "/api/discover", "/v1/health"];
@@ -128,8 +131,15 @@ var HttpClient = class {
128
131
  constructor(config) {
129
132
  this.config = config;
130
133
  }
131
- async request(method, path, options) {
132
- const url = this.buildUrl(path, options?.params);
134
+ async request(method, path2, options) {
135
+ const response = await this.requestResponse(method, path2, options);
136
+ if (response.status === 204) return void 0;
137
+ const json = await this.readJson(response);
138
+ if (!response.ok) throw TrillboardsError.fromResponse(json, response);
139
+ return json;
140
+ }
141
+ async requestResponse(method, path2, options) {
142
+ const url = this.buildUrl(path2, options?.params);
133
143
  const headers = {
134
144
  "Content-Type": "application/json",
135
145
  "X-Trillboards-Client": `typescript-sdk/${VERSION}`,
@@ -137,7 +147,7 @@ var HttpClient = class {
137
147
  ...options?.headers ?? {}
138
148
  };
139
149
  const callerSuppliedAuth = Object.keys(options?.headers ?? {}).some((h) => h.toLowerCase() === "authorization");
140
- const isPublic = PUBLIC_PATHS.some((prefix) => path.startsWith(prefix));
150
+ const isPublic = PUBLIC_PATHS.some((prefix) => path2.startsWith(prefix));
141
151
  if (!isPublic && this.config.apiKey && !callerSuppliedAuth) {
142
152
  headers["Authorization"] = `Bearer ${this.config.apiKey}`;
143
153
  }
@@ -151,13 +161,12 @@ var HttpClient = class {
151
161
  if (options?.body !== void 0 && options.body !== null) {
152
162
  fetchOptions.body = JSON.stringify(options.body);
153
163
  }
154
- const response = await fetch(url, fetchOptions);
155
- if (response.status === 204) {
156
- return void 0;
157
- }
158
- let json;
164
+ fetchOptions.signal = options?.signal;
165
+ return fetch(url, fetchOptions);
166
+ }
167
+ async readJson(response) {
159
168
  try {
160
- json = await response.json();
169
+ return await response.json();
161
170
  } catch {
162
171
  throw new TrillboardsError({
163
172
  type: "api_error",
@@ -166,13 +175,27 @@ var HttpClient = class {
166
175
  statusCode: response.status
167
176
  });
168
177
  }
169
- if (!response.ok) {
170
- throw TrillboardsError.fromResponse(json, response);
178
+ }
179
+ /** Open one authenticated live tail. The native endpoint has no replay cursor. */
180
+ async openStream(path2, options) {
181
+ const response = await this.requestResponse("GET", path2, {
182
+ ...options,
183
+ headers: { Accept: "text/event-stream", ...options?.headers }
184
+ });
185
+ if (!response.ok) throw TrillboardsError.fromResponse(await this.readJson(response), response);
186
+ if (!/^text\/event-stream(?:;|$)/i.test(response.headers.get("content-type") || "") || !response.body) {
187
+ await response.body?.cancel();
188
+ throw new TrillboardsError({
189
+ type: "api_error",
190
+ code: "invalid_response",
191
+ message: "Expected a text/event-stream response with a body.",
192
+ statusCode: response.status
193
+ });
171
194
  }
172
- return json;
195
+ return response;
173
196
  }
174
- get(path, opts) {
175
- return this.request("GET", path, { params: opts?.params });
197
+ get(path2, opts) {
198
+ return this.request("GET", path2, { params: opts?.params });
176
199
  }
177
200
  /**
178
201
  * POST / PUT / PATCH / DELETE auto-retry on 429 + 5xx + network TypeError
@@ -185,20 +208,20 @@ var HttpClient = class {
185
208
  * of POST vs DELETE is enforced server-side via Idempotency-Key headers,
186
209
  * which the caller can attach via `opts.headers`.
187
210
  */
188
- post(path, body, opts) {
189
- return retryWithBackoff(() => this.request("POST", path, { body, headers: opts?.headers }), opts?.retry);
211
+ post(path2, body, opts) {
212
+ return retryWithBackoff(() => this.request("POST", path2, { body, headers: opts?.headers }), opts?.retry);
190
213
  }
191
- put(path, body, opts) {
192
- return retryWithBackoff(() => this.request("PUT", path, { body, headers: opts?.headers }), opts?.retry);
214
+ put(path2, body, opts) {
215
+ return retryWithBackoff(() => this.request("PUT", path2, { body, headers: opts?.headers }), opts?.retry);
193
216
  }
194
- patch(path, body, opts) {
195
- return retryWithBackoff(() => this.request("PATCH", path, { body, headers: opts?.headers }), opts?.retry);
217
+ patch(path2, body, opts) {
218
+ return retryWithBackoff(() => this.request("PATCH", path2, { body, headers: opts?.headers }), opts?.retry);
196
219
  }
197
- delete(path, opts) {
198
- return retryWithBackoff(() => this.request("DELETE", path, { headers: opts?.headers }), opts?.retry);
220
+ delete(path2, opts) {
221
+ return retryWithBackoff(() => this.request("DELETE", path2, { headers: opts?.headers }), opts?.retry);
199
222
  }
200
- buildUrl(path, params) {
201
- const base = `${this.config.baseUrl}${path}`;
223
+ buildUrl(path2, params) {
224
+ const base = `${this.config.baseUrl}${path2}`;
202
225
  if (!params || Object.keys(params).length === 0) {
203
226
  return base;
204
227
  }
@@ -420,6 +443,63 @@ var AudienceClient = class {
420
443
  return this.http.get("/v1/partner/audience/stats", { params });
421
444
  }
422
445
  };
446
+ async function* readEventStream(http, path2, params, options) {
447
+ const controller = new AbortController();
448
+ const abort = () => controller.abort(options.signal?.reason);
449
+ if (options.signal?.aborted) abort();
450
+ else options.signal?.addEventListener("abort", abort, { once: true });
451
+ let reader;
452
+ try {
453
+ const response = await http.openStream(path2, { params, signal: controller.signal });
454
+ reader = response.body.getReader();
455
+ const decoder = new TextDecoder(), events = [];
456
+ let retry;
457
+ const parser = eventsourceParser.createParser({
458
+ onRetry: (value) => {
459
+ retry = value;
460
+ },
461
+ onEvent: (frame) => {
462
+ let data;
463
+ try {
464
+ data = JSON.parse(frame.data);
465
+ } catch {
466
+ throw new TrillboardsError({
467
+ type: "api_error",
468
+ code: "invalid_response",
469
+ message: "Expected JSON data in an SSE event.",
470
+ statusCode: response.status
471
+ });
472
+ }
473
+ events.push({
474
+ event: frame.event || "message",
475
+ data,
476
+ ...frame.id === void 0 ? {} : { id: frame.id },
477
+ ...retry === void 0 ? {} : { retry }
478
+ });
479
+ retry = void 0;
480
+ }
481
+ });
482
+ while (true) {
483
+ const chunk = await reader.read();
484
+ if (chunk.done) break;
485
+ parser.feed(decoder.decode(chunk.value, { stream: true }));
486
+ while (events.length) {
487
+ if (controller.signal.aborted) throw controller.signal.reason;
488
+ yield events.shift();
489
+ }
490
+ }
491
+ parser.feed(decoder.decode());
492
+ while (events.length) yield events.shift();
493
+ } finally {
494
+ options.signal?.removeEventListener("abort", abort);
495
+ controller.abort();
496
+ try {
497
+ await reader?.cancel();
498
+ } catch {
499
+ }
500
+ reader?.releaseLock();
501
+ }
502
+ }
423
503
 
424
504
  // src/resources/data.ts
425
505
  var DataClient = class {
@@ -427,13 +507,29 @@ var DataClient = class {
427
507
  this.http = http;
428
508
  }
429
509
  /** Get venue intelligence data for a screen. */
430
- async getVenueIntelligence(screenId) {
431
- return this.http.get(`/v1/partner/venue/${screenId}`);
510
+ getVenueIntelligence(screenId) {
511
+ return this.http.get("/v1/partner/venue/" + encodeURIComponent(screenId));
432
512
  }
433
513
  /** Get API usage summary. */
434
- async getUsage(params) {
514
+ getUsage(params) {
435
515
  return this.http.get("/v1/partner/usage", { params });
436
516
  }
517
+ listScreens(query = {}) {
518
+ return this.http.get("/v1/data/screens", { params: query });
519
+ }
520
+ getHistory(screenId, query = {}) {
521
+ return this.http.get("/v1/data/screens/" + encodeURIComponent(screenId) + "/history", { params: query });
522
+ }
523
+ getAudience(screenId) {
524
+ return this.http.get("/v1/data/screens/" + encodeURIComponent(screenId) + "/audience");
525
+ }
526
+ query(body) {
527
+ return this.http.post("/v1/data/query", body);
528
+ }
529
+ /** One live tail; reconnect explicitly and recover history through bounded reads. */
530
+ stream(query = {}, options = {}) {
531
+ return readEventStream(this.http, "/v1/data/stream", query, options);
532
+ }
437
533
  };
438
534
 
439
535
  // src/resources/billing.ts
@@ -441,6 +537,19 @@ var BillingClient = class {
441
537
  constructor(http) {
442
538
  this.http = http;
443
539
  }
540
+ setup(body) {
541
+ return this.http.post("/v1/partner/billing/setup", body);
542
+ }
543
+ createCreditCheckout(body, options) {
544
+ return this.http.post("/v1/partner/billing/credits/checkout", body, { headers: { "Idempotency-Key": options.idempotencyKey } });
545
+ }
546
+ purchaseCredits(body, options) {
547
+ return this.http.post("/v1/partner/billing/credits", body, { headers: { "Idempotency-Key": options.idempotencyKey } });
548
+ }
549
+ /** Read the committed shared credit ledger after Stripe payment completes. */
550
+ getUsageSummary() {
551
+ return this.http.get("/v1/partner/billing/usage-summary");
552
+ }
444
553
  /** Get current billing info (plan, credits, usage). */
445
554
  async get() {
446
555
  return this.http.get("/v1/partner/billing");
@@ -483,6 +592,135 @@ var RoutesClient = class {
483
592
  }
484
593
  };
485
594
 
595
+ // src/resources/creativeExperiments.ts
596
+ var BASE2 = "/v1/partner/creative-experiments";
597
+ var path = (id) => `${BASE2}/${encodeURIComponent(id)}`;
598
+ var CreativeExperimentsClient = class {
599
+ constructor(http) {
600
+ this.http = http;
601
+ }
602
+ create(body) {
603
+ return this.http.post(BASE2, body);
604
+ }
605
+ configureBrand(id, body) {
606
+ return this.http.post(path(id) + "/brand", body);
607
+ }
608
+ importCreative(id, body) {
609
+ return this.http.post(path(id) + "/creatives/import", body);
610
+ }
611
+ get(id) {
612
+ return this.http.get(path(id));
613
+ }
614
+ registerVariants(id, body) {
615
+ return this.http.post(path(id) + "/variants", body);
616
+ }
617
+ updatePolicy(id, body) {
618
+ return this.http.put(path(id) + "/policy", body);
619
+ }
620
+ getRewards(id, query) {
621
+ return this.http.get(path(id) + "/rewards", { params: query });
622
+ }
623
+ generate(id, body) {
624
+ return this.http.post(path(id) + "/creatives/generate", body);
625
+ }
626
+ review(id, body) {
627
+ return this.http.post(path(id) + "/creatives/review", body);
628
+ }
629
+ stop(id, body) {
630
+ return this.http.post(path(id) + "/stop", body);
631
+ }
632
+ };
633
+ var McpToolError = class extends Error {
634
+ constructor(tool, result) {
635
+ super("Native MCP tool failed: " + tool);
636
+ this.tool = tool;
637
+ this.result = result;
638
+ this.name = "McpToolError";
639
+ }
640
+ };
641
+ var MediaBuysClient = class {
642
+ constructor(config) {
643
+ this.config = config;
644
+ }
645
+ connection() {
646
+ if (!this.connecting) {
647
+ const client = new index_js.Client({ name: "trillboards-typescript", version: VERSION });
648
+ const transport = new streamableHttp_js.StreamableHTTPClientTransport(new URL(this.config.baseUrl + "/mcp"), {
649
+ requestInit: { headers: {
650
+ Authorization: "Bearer " + this.config.apiKey,
651
+ "X-Trillboards-Client": "typescript-sdk/" + VERSION,
652
+ "User-Agent": "trillboards-typescript/" + VERSION,
653
+ ...this.config.version ? { "Trillboards-Version": this.config.version } : {}
654
+ } }
655
+ });
656
+ this.client = client;
657
+ this.transport = transport;
658
+ this.connecting = client.connect(transport).then(() => client).catch(async (error) => {
659
+ await client.close();
660
+ this.client = void 0;
661
+ this.transport = void 0;
662
+ this.connecting = void 0;
663
+ throw error;
664
+ });
665
+ }
666
+ return this.connecting;
667
+ }
668
+ async call(name, args) {
669
+ const client = await this.connection();
670
+ const result = await client.callTool({ name, arguments: args });
671
+ if (result.isError) throw new McpToolError(name, result);
672
+ if (result.structuredContent) return result.structuredContent;
673
+ for (const block of result.content) {
674
+ if (block.type !== "text") continue;
675
+ try {
676
+ return JSON.parse(block.text);
677
+ } catch {
678
+ }
679
+ }
680
+ throw new McpToolError(name, result);
681
+ }
682
+ getProducts(args = {}) {
683
+ return this.call("get_products", args);
684
+ }
685
+ listAccounts(args = {}) {
686
+ return this.call("list_accounts", args);
687
+ }
688
+ syncAccounts(args) {
689
+ return this.call("sync_accounts", args);
690
+ }
691
+ create(args) {
692
+ return this.call("create_media_buy", args);
693
+ }
694
+ list(args = {}) {
695
+ return this.call("get_media_buys", args);
696
+ }
697
+ update(args) {
698
+ return this.call("update_media_buy", args);
699
+ }
700
+ getDelivery(args) {
701
+ return this.call("get_media_buy_delivery", args);
702
+ }
703
+ syncCreatives(args) {
704
+ return this.call("sync_creatives", args);
705
+ }
706
+ discoverInventory(args = {}) {
707
+ return this.call("discover_inventory", args);
708
+ }
709
+ /** Release MCP streams and terminate an optional server session. */
710
+ async close() {
711
+ await this.connecting?.catch(() => void 0);
712
+ const client = this.client, transport = this.transport;
713
+ this.client = void 0;
714
+ this.transport = void 0;
715
+ this.connecting = void 0;
716
+ try {
717
+ if (transport?.sessionId) await transport.terminateSession();
718
+ } finally {
719
+ await client?.close();
720
+ }
721
+ }
722
+ };
723
+
486
724
  // src/client.ts
487
725
  var DEFAULT_BASE_URL = "https://api.trillboards.com";
488
726
  var TrillboardsClient = class {
@@ -510,6 +748,8 @@ var TrillboardsClient = class {
510
748
  this.errors = new ErrorsClient(this._http);
511
749
  this.billing = new BillingClient(this._http);
512
750
  this.routes = new RoutesClient(this._http);
751
+ this.creativeExperiments = new CreativeExperimentsClient(this._http);
752
+ this.mediaBuys = new MediaBuysClient({ apiKey: options.apiKey, baseUrl, version: options.version });
513
753
  }
514
754
  };
515
755
  var DEFAULT_TOLERANCE_SECONDS = 300;
@@ -807,22 +1047,25 @@ var Webhooks = {
807
1047
 
808
1048
  // src/generated/index.ts
809
1049
  var generatedTypes = {
810
- schemaCount: 131,
811
- operationCount: 213,
812
- schemas: ["Ad", "AdSettings", "AdvertisingIdentity", "AnalyticsData", "AudienceAnalyticsResponse", "AudienceAttentionPrediction", "AudienceData", "AudienceExportResponse", "AudienceLoyaltyFeaturesRow", "AudienceMetricsResponse", "AudienceSegment", "AudienceSocialAttention", "BatchResult", "BillingInfo", "BleScanResultData", "CanonicalError", "ChangelogEntry", "ChangelogResponse", "CompletedImpressions", "ContentFitSettings", "ContentPreferencesInput", "ContentPreferencesResponse", "ContentPreset", "CreatePartnerSensingRouteRequest", "CreativeClassification", "DashboardResponse", "DataExportSummaryResponse", "DemandPartners", "DemographicsResponse", "Device", "DeviceCapabilityPayload", "DeviceSummary", "DisplaySettingsInput", "DisplaySettingsResponse", "EarnerScreens", "EarningsBreakdownResponse", "EarningsData", "EarningsResponse", "Error", "ErrorCode", "ErrorCodeResponse", "ErrorEntry", "ErrorEnvelope", "ErrorListItem", "ErrorListResponse", "ErrorType", "ExtendedIdentity", "FleetCommand", "FleetCommandEvent", "HeaderBiddingSettings", "HttpProbeResult", "HybridError", "Impression", "LegacyCodedError", "LegacyError", "MdnsNetworkDevice", "MeasurementMethodology", "OpenrtbRevenueScreenHourly", "Pagination", "Partner", "PartnerAdDeliveryProfile", "PartnerCreativeWarnings", "PartnerDefaultStream", "PartnerDefaultStreamCreate", "PartnerDefaultStreamUpdate", "PartnerDeviceBatchRegistrationInput", "PartnerDeviceHeartbeatBody", "PartnerDeviceRegistrationInput", "PartnerHeartbeatCommand", "PartnerHeartbeatData", "PartnerHeartbeatMeasurementMetadata", "PartnerHeartbeatQueryData", "PartnerHeartbeatQueryResponse", "PartnerHeartbeatRequest", "PartnerHeartbeatResponse", "PartnerHeartbeatTelemetry", "PartnerLBarContent", "PartnerLBarDisplayPreferences", "PartnerLBarSettings", "PartnerMonetizationRequirements", "PartnerNetworkConfig", "PartnerNetworkConfigUpdate", "PartnerPlay", "PartnerReconciliationReports", "PartnerRegistrationDisplaySettings", "PartnerRequirement", "PartnerSafeHeartbeatTelemetry", "PartnerSelfPromoAd", "PartnerSelfPromoCreate", "PartnerSelfPromoPlacement", "PartnerStats", "PartnerVariants", "PartnerZoneCpmDaily", "PayoutResponse", "PlaygroundResult", "PlaygroundValidationError", "ProgrammaticSettingsInput", "ProgrammaticSettingsResponse", "RequestMetadataResponse", "ResolvedContentPolicy", "ResolvedSensingConfig", "RolePermissions", "SDKConfig", "Screen", "ScreenAnalyticsResponse", "ScreenGroup", "ScreenGroupContentPolicy", "ScreenGroupContentPolicyInput", "ScreenGroupEvent", "ScreenGroupSensingConfig", "ScreenGroupSensingConfigInput", "SensingPerformanceMode", "SensingRoute", "SensingRouteAction", "SensingRouteCondition", "SensingRouteScreenFocusRegion", "SensingSettingsResponse", "SensingThresholdCrossedEvent", "SsdpDeviceInfo", "TeamInviteResponse", "TeamMember", "Transaction", "TrillboardsError", "UpdatePartnerSensingRouteRequest", "VastWaterfall", "VastWaterfallSource", "Webhook", "WebhookDelivery", "WebhookEvent", "WifiEnvironmentSnapshot", "WifiScanResult"],
813
- operations: ["queryChangelog", "listErrorCodes", "getErrorCode", "listPartnerSelfPromoAds", "createPartnerSelfPromoAd", "listPartnerSelfPromoPlacements", "schedulePartnerSelfPromo", "createPartnerSelfPromoUpload", "disableSelfPromoAd", "registerAgent", "getAnalytics", "getAudienceContinuity", "getAudienceProfile", "getBleSummary", "getContentPerformance", "searchCreativeCatalog", "getCreativeScenes", "getCrossScreenFlow", "getPartnerAnalyticsDashboard", "getDeviceSuiteSignature", "exportPartnerAnalytics", "exportPartnerAdsByDay", "getFleetHourly", "getHaloFunnel", "getLoyaltyClock", "getNetworkSummary", "getNetworkTrend", "getProximitySummary", "getRevenueAttentionCorrelation", "getSceneFeed", "getSceneIntelligence", "rotateApiKey", "getAudienceAnalytics", "exportAudienceData", "getAudienceHeatmap", "getLiveAudience", "getLookalikeScreens", "predictScreenAudience", "getResolvedHouseholdReach", "listAudienceSegments", "createAudienceSegment", "deleteAudienceSegment", "getAudienceSegment", "updateAudienceSegment", "matchAudienceSegment", "estimateSegmentReach", "generateSegmentVastTag", "getAudienceStats", "cancelBillingSubscription", "purchaseCredits", "createCreditCheckout", "listBillingPlans", "setupBilling", "createBillingSubscription", "getBillingSubscription", "getBillingUsage", "getBillingUsageSummary", "stripeWebhookCallback", "getConnectDashboard", "getConnectEarningsChart", "getConnectScreenHealth", "listContentPresets", "getContentPreset", "submitPartnerCreative", "getPartnerCreative", "getDashboard", "exportProximityGraphEdges", "getDataExportSummary", "exportDataset", "getGeohashAudiencePanel", "getOutcomeAttribution", "registerDevice", "deleteDevice", "getDevice", "updateDevice", "getAdsForDevice", "ackDeviceCommand", "getDeviceHeartbeat", "heartbeat", "recordProgrammaticEvent", "listDevices", "registerDeviceV2", "registerDevicesBatch", "batchUpdateDeviceOrientation", "reconcileDevices", "partnerDocsBrowser", "getEarnings", "getEarningsBreakdown", "requestPayout", "getTransactions", "getActiveSSEConnections", "subscribeToEvents", "getFleetCommand", "getFleetAnalytics", "pushFleetCommand", "getFleetOverview", "updateFleetSettings", "recordImpressionGet", "recordImpressionPost", "recordImpressionsBatch", "getPartnerInfo", "listIntentCategories", "getIntentCategory", "getIntentPricing", "getMeasurementMethodology", "getMeasurementMethodologyJson", "getNetworkConfig", "patchNetworkConfig", "updateNetworkConfig", "getNetworkTrends", "partnerPing", "partnerPingAuth", "recordPartnerPlay", "recordPartnerPlaysBatch", "getPricing", "recordProgrammaticEventLegacyAlias", "quickStart", "registerPartner", "generateSandboxEvent", "resetSandbox", "createSandboxScreen", "getSandboxStatus", "listScreenGroups", "createScreenGroup", "deleteScreenGroup", "getScreenGroup", "updateScreenGroup", "getScreenGroupAnalytics", "createScreenGroupCommand", "getScreenGroupContentPolicy", "updateScreenGroupContentPolicy", "removeScreenGroupMembers", "listScreenGroupMembers", "addScreenGroupMembers", "getScreenGroupSensingConfig", "updateScreenGroupSensingConfig", "getScreenAudienceSegments", "batchUpdateContentPreferences", "batchUpdateDisplaySettings", "batchUpdateProgrammaticSettings", "resolvePartnerScreen", "getScreenAnalytics", "getPartnerScreenAtmosphere", "getPartnerScreenIntelligence", "getPartnerScreenTasteProfile", "getPartnerScreenTraffic", "getPartnerScreenVAS", "applyContentPreset", "getAudienceMetrics", "getContentPreferences", "patchContentPreferences", "updateContentPreferences", "listPartnerDefaultStreams", "createPartnerDefaultStream", "createPartnerDefaultStreamImages", "reorderPartnerDefaultStreams", "createPartnerDefaultStreamUpload", "deletePartnerDefaultStream", "updatePartnerDefaultStream", "getScreenDemographics", "getDisplaySettings", "patchDisplaySettings", "updateDisplaySettings", "getPartnerLBarSettings", "updatePartnerLBarSettings", "updatePartnerLBarLiveUpdates", "getProgrammaticSettings", "patchProgrammaticSettings", "updateProgrammaticSettings", "getResolvedContentPolicy", "getResolvedSensingConfig", "getScreenSensingChips", "interpretScreenSensingIntent", "deployScreenSensingProfile", "getScreenSensingSettings", "updateScreenSensingSettings", "listPartnerSensingRoutes", "createPartnerSensingRoute", "deletePartnerSensingRoute", "getPartnerSensingRoute", "updatePartnerSensingRoute", "createStripeConnectAccount", "getStripeLoginLink", "getStripeOnboardingLink", "requestStripePayout", "getStripePayoutHistory", "getStripeAccountStatus", "handleStripeWebhook", "listTeamMembers", "acceptInvitation", "inviteTeamMember", "getInvitationByToken", "resendInvitation", "removeTeamMember", "changeTeamMemberRole", "getTrackingPublicKey", "recordTrackingBatch", "getUsageSummary", "getUsageDashboard", "getRateLimitStatus", "getVastConfig", "getVenuesNearby", "getVenueAtmosphere", "getVenueTraffic", "getVenueIntelligence", "listWebhooks", "createWebhook", "deleteWebhook", "updateWebhook", "getWebhookDeliveries", "testWebhook", "playgroundDryRun", "getRequestMetadata"]
1050
+ schemaCount: 191,
1051
+ operationCount: 237,
1052
+ schemas: ["Ad", "AdSettings", "AdvertisingIdentity", "AnalyticsData", "AudienceAnalyticsResponse", "AudienceAttentionPrediction", "AudienceData", "AudienceExportResponse", "AudienceLoyaltyFeaturesRow", "AudienceMetricsResponse", "AudienceSegment", "AudienceSocialAttention", "BatchResult", "BillingInfo", "BleScanResultData", "CanonicalError", "ChangelogEntry", "ChangelogResponse", "CompletedImpressions", "ContentFitSettings", "ContentPreferencesInput", "ContentPreferencesResponse", "ContentPreset", "CreatePartnerSensingRouteRequest", "CreativeClassification", "CreativeRewardsReadyEvent", "DashboardResponse", "DataApi_AggregateResponse", "DataApi_Error", "DataApi_ErrorCode", "DataApi_ExampleHealthcheckResponse", "DataApi_FeedbackRewardQuery", "DataApi_LookalikeResponse", "DataApi_QueryDslBody", "DataApi_QueryDslResponse", "DataApi_QueryFilter", "DataApi_QueryOrderBy", "DataApi_ScreenAudienceResponse", "DataApi_ScreenHistoryResponse", "DataApi_ScreensListResponse", "DataApi_SemanticSearchResponse", "DataApi_StatsResponse", "DataApi_StreamResponse", "DataApi_UsageResponse", "DataExportSummaryResponse", "DemandPartners", "DemographicsResponse", "Device", "DeviceAuthRefusal", "DeviceCapabilityPayload", "DeviceSummary", "DisplaySettingsInput", "DisplaySettingsResponse", "EarnerScreens", "EarningsBreakdownResponse", "EarningsData", "EarningsResponse", "EarningsSources", "Error", "ErrorCode", "ErrorCodeResponse", "ErrorEntry", "ErrorEnvelope", "ErrorListItem", "ErrorListResponse", "ErrorType", "ExtendedIdentity", "FeedbackBrand", "FeedbackBrandRequest", "FeedbackBrandResponse", "FeedbackCreateRequest", "FeedbackCreativeReview", "FeedbackExperiment", "FeedbackExperimentDetail", "FeedbackExperimentDetailResponse", "FeedbackExperimentResponse", "FeedbackGenerateRequest", "FeedbackGenerateResponse", "FeedbackGeneratedCreative", "FeedbackImportRequest", "FeedbackPolicyRequest", "FeedbackRecoveredCreative", "FeedbackRegisterVariantsRequest", "FeedbackReviewRequest", "FeedbackReviewResponse", "FeedbackRewardQuery", "FeedbackRewardRow", "FeedbackRewards", "FeedbackRewardsResponse", "FeedbackStopRequest", "FeedbackVariant", "FleetCommand", "FleetCommandEvent", "HeaderBiddingSettings", "HttpProbeResult", "HybridError", "Impression", "LegacyCodedError", "LegacyError", "Mcp_create_media_buy_Args", "Mcp_discover_inventory_Args", "Mcp_get_media_buy_delivery_Args", "Mcp_get_media_buys_Args", "Mcp_get_products_Args", "Mcp_list_accounts_Args", "Mcp_sync_accounts_Args", "Mcp_sync_creatives_Args", "Mcp_update_media_buy_Args", "MdnsNetworkDevice", "MeasurementMethodology", "OpenrtbRevenueScreenHourly", "Pagination", "Partner", "PartnerAdDeliveryProfile", "PartnerCreativeWarnings", "PartnerDefaultStream", "PartnerDefaultStreamCreate", "PartnerDefaultStreamUpdate", "PartnerDeviceBatchRegistrationInput", "PartnerDeviceHeartbeatBody", "PartnerDevicePlay", "PartnerDeviceRegistrationInput", "PartnerHeartbeatCommand", "PartnerHeartbeatData", "PartnerHeartbeatMeasurementMetadata", "PartnerHeartbeatQueryData", "PartnerHeartbeatQueryResponse", "PartnerHeartbeatRequest", "PartnerHeartbeatResponse", "PartnerHeartbeatTelemetry", "PartnerInteraction", "PartnerLBarContent", "PartnerLBarDisplayPreferences", "PartnerLBarSettings", "PartnerLocationCapability", "PartnerLocationRail", "PartnerMonetizationRequirements", "PartnerNetworkConfig", "PartnerNetworkConfigUpdate", "PartnerPlay", "PartnerReconciliationReports", "PartnerRegistrationDisplaySettings", "PartnerRequirement", "PartnerSafeHeartbeatTelemetry", "PartnerSelfPromoAd", "PartnerSelfPromoCreate", "PartnerSelfPromoPlacement", "PartnerStats", "PartnerTripState", "PartnerVariants", "PartnerZoneCpmDaily", "PayoutResponse", "PlaygroundResult", "PlaygroundValidationError", "ProgrammaticSettingsInput", "ProgrammaticSettingsResponse", "RequestMetadataResponse", "ResolvedContentPolicy", "ResolvedSensingConfig", "RolePermissions", "SDKConfig", "Screen", "ScreenAnalyticsResponse", "ScreenGroup", "ScreenGroupContentPolicy", "ScreenGroupContentPolicyInput", "ScreenGroupEvent", "ScreenGroupSensingConfig", "ScreenGroupSensingConfigInput", "SensingPerformanceMode", "SensingRoute", "SensingRouteAction", "SensingRouteCondition", "SensingRouteReviewTimingMode", "SensingRouteReviewWaitSeconds", "SensingRouteScreenFocusRegion", "SensingSettingsResponse", "SensingThresholdCrossedEvent", "SsdpDeviceInfo", "TeamInviteResponse", "TeamMember", "Transaction", "TrillboardsError", "UpdatePartnerSensingRouteRequest", "VastWaterfall", "VastWaterfallSource", "Webhook", "WebhookDelivery", "WebhookEvent", "WifiEnvironmentSnapshot", "WifiScanResult"],
1053
+ operations: ["queryChangelog", "dataApiAggregate", "dataApiLookalikeScreens", "dataApiQueryDsl", "dataApiListScreens", "dataApiScreenAudienceLive", "dataApiScreenAudienceHistory", "dataApiSemanticSearch", "dataApiStats", "dataApiStream", "dataApiUsage", "listErrorCodes", "getErrorCode", "exampleHealthcheck", "listPartnerSelfPromoAds", "createPartnerSelfPromoAd", "listPartnerSelfPromoPlacements", "schedulePartnerSelfPromo", "createPartnerSelfPromoUpload", "disableSelfPromoAd", "registerAgent", "getAnalytics", "getAudienceContinuity", "getAudienceProfile", "getBleSummary", "getContentPerformance", "searchCreativeCatalog", "getCreativeScenes", "getCrossScreenFlow", "getPartnerAnalyticsDashboard", "getDeviceSuiteSignature", "exportPartnerAnalytics", "exportPartnerAdsByDay", "getFleetHourly", "getHaloFunnel", "getLoyaltyClock", "getNetworkSummary", "getNetworkTrend", "getProximitySummary", "getRevenueAttentionCorrelation", "getSceneFeed", "getSceneIntelligence", "rotateApiKey", "getAudienceAnalytics", "exportAudienceData", "getAudienceHeatmap", "getLiveAudience", "getLookalikeScreens", "predictScreenAudience", "getResolvedHouseholdReach", "listAudienceSegments", "createAudienceSegment", "deleteAudienceSegment", "getAudienceSegment", "updateAudienceSegment", "matchAudienceSegment", "estimateSegmentReach", "generateSegmentVastTag", "getAudienceStats", "cancelBillingSubscription", "purchaseCredits", "createCreditCheckout", "listBillingPlans", "setupBilling", "createBillingSubscription", "getBillingSubscription", "getBillingUsage", "getBillingUsageSummary", "stripeWebhookCallback", "getConnectDashboard", "getConnectEarningsChart", "getConnectScreenHealth", "listContentPresets", "getContentPreset", "createCreativeFeedbackExperiment", "getCreativeFeedbackExperiment", "configureCreativeFeedbackBrand", "generateCreativeFeedbackCreative", "importCreativeFeedbackCreative", "reviewCreativeFeedbackCreative", "updateCreativeFeedbackPolicy", "getCreativeFeedbackRewards", "stopCreativeFeedbackExperiment", "registerCreativeFeedbackVariants", "submitPartnerCreative", "getPartnerCreative", "getDashboard", "exportProximityGraphEdges", "getDataExportSummary", "exportDataset", "getGeohashAudiencePanel", "getOutcomeAttribution", "registerDevice", "deleteDevice", "getDevice", "updateDevice", "getAdsForDevice", "ackDeviceCommand", "getDeviceHeartbeat", "heartbeat", "recordPartnerDeviceInteraction", "recordPartnerDevicePlay", "recordProgrammaticEvent", "recordPartnerDeviceTripState", "listDevices", "registerDeviceV2", "registerDevicesBatch", "batchUpdateDeviceOrientation", "reconcileDevices", "partnerDocsBrowser", "getEarnings", "getEarningsBreakdown", "requestPayout", "getTransactions", "getActiveSSEConnections", "subscribeToEvents", "getFleetCommand", "getFleetAnalytics", "pushFleetCommand", "getFleetOverview", "updateFleetSettings", "recordImpressionGet", "recordImpressionPost", "recordImpressionsBatch", "getPartnerInfo", "listIntentCategories", "getIntentCategory", "getIntentPricing", "getMeasurementMethodology", "getMeasurementMethodologyJson", "getNetworkConfig", "patchNetworkConfig", "updateNetworkConfig", "getNetworkTrends", "partnerPing", "partnerPingAuth", "recordPartnerPlay", "recordPartnerPlaysBatch", "getPricing", "recordProgrammaticEventLegacyAlias", "quickStart", "registerPartner", "generateSandboxEvent", "resetSandbox", "createSandboxScreen", "getSandboxStatus", "listScreenGroups", "createScreenGroup", "deleteScreenGroup", "getScreenGroup", "updateScreenGroup", "getScreenGroupAnalytics", "createScreenGroupCommand", "getScreenGroupContentPolicy", "updateScreenGroupContentPolicy", "removeScreenGroupMembers", "listScreenGroupMembers", "addScreenGroupMembers", "getScreenGroupSensingConfig", "updateScreenGroupSensingConfig", "getScreenAudienceSegments", "batchUpdateContentPreferences", "batchUpdateDisplaySettings", "batchUpdateProgrammaticSettings", "resolvePartnerScreen", "getScreenAnalytics", "getPartnerScreenAtmosphere", "getPartnerScreenIntelligence", "getPartnerScreenTasteProfile", "getPartnerScreenTraffic", "getPartnerScreenVAS", "applyContentPreset", "getAudienceMetrics", "getContentPreferences", "patchContentPreferences", "updateContentPreferences", "listPartnerDefaultStreams", "createPartnerDefaultStream", "createPartnerDefaultStreamImages", "reorderPartnerDefaultStreams", "createPartnerDefaultStreamUpload", "deletePartnerDefaultStream", "updatePartnerDefaultStream", "getScreenDemographics", "getDisplaySettings", "patchDisplaySettings", "updateDisplaySettings", "getPartnerLBarSettings", "updatePartnerLBarSettings", "updatePartnerLBarLiveUpdates", "getProgrammaticSettings", "patchProgrammaticSettings", "updateProgrammaticSettings", "getResolvedContentPolicy", "getResolvedSensingConfig", "getScreenSensingChips", "interpretScreenSensingIntent", "deployScreenSensingProfile", "getScreenSensingSettings", "updateScreenSensingSettings", "listPartnerSensingRoutes", "createPartnerSensingRoute", "deletePartnerSensingRoute", "getPartnerSensingRoute", "updatePartnerSensingRoute", "createStripeConnectAccount", "getStripeLoginLink", "getStripeOnboardingLink", "requestStripePayout", "getStripePayoutHistory", "getStripeAccountStatus", "handleStripeWebhook", "listTeamMembers", "acceptInvitation", "inviteTeamMember", "getInvitationByToken", "resendInvitation", "removeTeamMember", "changeTeamMemberRole", "getTrackingPublicKey", "recordTrackingBatch", "getUsageSummary", "getUsageDashboard", "getRateLimitStatus", "getVastConfig", "getVenuesNearby", "getVenueAtmosphere", "getVenueTraffic", "getVenueIntelligence", "listWebhooks", "createWebhook", "deleteWebhook", "updateWebhook", "getWebhookDeliveries", "testWebhook", "playgroundDryRun", "getRequestMetadata"]
814
1054
  };
815
1055
 
816
1056
  exports.ADCP_WEBHOOK_SIGNING_TAG = ADCP_WEBHOOK_SIGNING_TAG;
817
1057
  exports.AnalyticsClient = AnalyticsClient;
818
1058
  exports.AudienceClient = AudienceClient;
819
1059
  exports.BillingClient = BillingClient;
1060
+ exports.CreativeExperimentsClient = CreativeExperimentsClient;
820
1061
  exports.DataClient = DataClient;
821
1062
  exports.DevicesClient = DevicesClient;
822
1063
  exports.EarningsClient = EarningsClient;
823
1064
  exports.ErrorsClient = ErrorsClient;
824
1065
  exports.FleetClient = FleetClient;
825
1066
  exports.ImpressionsClient = ImpressionsClient;
1067
+ exports.McpToolError = McpToolError;
1068
+ exports.MediaBuysClient = MediaBuysClient;
826
1069
  exports.RoutesClient = RoutesClient;
827
1070
  exports.ScreensClient = ScreensClient;
828
1071
  exports.TrillboardsClient = TrillboardsClient;