@trillboards/api-client 0.4.1 → 1.1.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.
- package/README.md +1 -1
- package/dist/chunk-FJ7QMMH4.mjs +18 -0
- package/dist/chunk-FJ7QMMH4.mjs.map +1 -0
- package/dist/generated.d.mts +6643 -0
- package/dist/generated.d.ts +6643 -0
- package/dist/generated.js +13 -0
- package/dist/generated.js.map +1 -0
- package/dist/generated.mjs +3 -0
- package/dist/generated.mjs.map +1 -0
- package/dist/index.d.mts +110 -624
- package/dist/index.d.ts +110 -624
- package/dist/index.js +184 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +175 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +12 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
import { Screen, PartnerDeviceRegistrationInput, DisplaySettingsResponse, DisplaySettingsInput, Device, PartnerDeviceBatchRegistrationInput, Impression, AnalyticsData, EarningsData, ErrorEntry, Webhook, FleetCommand, AudienceData, BillingInfo, CreatePartnerSensingRouteRequest, SensingRoute, UpdatePartnerSensingRouteRequest, WebhookEvent } from './generated.js';
|
|
2
|
+
export { BleScanResultData, ContentFitSettings, DeviceCapabilityPayload, GeneratedOperationName, GeneratedSchemaName, HttpProbeResult, MdnsNetworkDevice, PartnerAdDeliveryProfile, PartnerDeviceHeartbeatBody, PartnerHeartbeatMeasurementMetadata, PartnerHeartbeatQueryData, PartnerHeartbeatQueryResponse, PartnerHeartbeatRequest, PartnerHeartbeatResponse, PartnerSafeHeartbeatTelemetry, SsdpDeviceInfo, WifiEnvironmentSnapshot, WifiScanResult, generatedTypes, getDeviceHeartbeatOperation, heartbeatOperation } from './generated.js';
|
|
3
|
+
|
|
1
4
|
/**
|
|
2
|
-
*
|
|
5
|
+
* Non-wire type definitions for the Trillboards API Client SDK.
|
|
6
|
+
*
|
|
7
|
+
* This file is DELIBERATELY narrow. Every type that has an on-the-wire peer in
|
|
8
|
+
* the OpenAPI contract lives in `./generated` (emitted from
|
|
9
|
+
* trillboard-api/docs/openapi/merged/partner-api.json via `npm run generate`)
|
|
10
|
+
* and is re-exported from `./index`. What remains here is the set of types that
|
|
11
|
+
* CANNOT be generated from the spec and are the SDK's own hand-crafted surface:
|
|
12
|
+
*
|
|
13
|
+
* - the error contract (mirrors trillboard-api/utils/apiErrors.ts),
|
|
14
|
+
* - client/request ergonomics (`ClientOptions`, `RequestOptions`),
|
|
15
|
+
* - the generic pagination envelope (`ListResponse<T>`),
|
|
16
|
+
* - the Sense Anything "Route" ergonomics + the FLAT route-fire webhook body
|
|
17
|
+
* (richer than the spec can express — the digest summary is a typed object,
|
|
18
|
+
* not the spec's `observed: unknown`),
|
|
19
|
+
* - the `ContentFitMode` literal helper.
|
|
3
20
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
21
|
+
* Entity/wire types (`Screen`, `Device`, `Webhook`, `WebhookEvent`, `SensingRoute`,
|
|
22
|
+
* display-settings + device-registration inputs, etc.) are NOT here — import them
|
|
23
|
+
* from `@trillboards/api-client` (re-exported from `./generated`).
|
|
6
24
|
*/
|
|
7
25
|
type ApiErrorType = 'invalid_request_error' | 'authentication_error' | 'permission_error' | 'rate_limit_error' | 'idempotency_error' | 'api_error';
|
|
8
26
|
interface ErrorDetail {
|
|
@@ -45,158 +63,12 @@ interface ListResponse<T> {
|
|
|
45
63
|
has_more: boolean;
|
|
46
64
|
};
|
|
47
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Per-content-type sizing mode. `fit` preserves the entire creative and may
|
|
68
|
+
* letterbox; `fill` covers the screen and may crop edges. A convenience literal
|
|
69
|
+
* for callers building `ContentFitSettings` values; the spec inlines this union.
|
|
70
|
+
*/
|
|
48
71
|
type ContentFitMode = 'fit' | 'fill';
|
|
49
|
-
interface ContentFitSettings {
|
|
50
|
-
/** Direct and programmatic advertisements. */
|
|
51
|
-
advertisements?: ContentFitMode;
|
|
52
|
-
/** Default/background streams. */
|
|
53
|
-
default_streams?: ContentFitMode;
|
|
54
|
-
/** Self-promotion and QR-code house ads. */
|
|
55
|
-
self_promo?: ContentFitMode;
|
|
56
|
-
}
|
|
57
|
-
interface PartnerDisplaySettingsInput {
|
|
58
|
-
content_fit?: ContentFitSettings;
|
|
59
|
-
[key: string]: unknown;
|
|
60
|
-
}
|
|
61
|
-
interface PartnerDisplaySettingsResponse {
|
|
62
|
-
object: 'display_settings' | string;
|
|
63
|
-
screen_id: string;
|
|
64
|
-
content_fit: Required<ContentFitSettings>;
|
|
65
|
-
[key: string]: unknown;
|
|
66
|
-
}
|
|
67
|
-
interface PartnerDeviceRegistrationInput {
|
|
68
|
-
/** Stable partner-owned device identifier. */
|
|
69
|
-
device_id?: string;
|
|
70
|
-
/** Legacy SDK alias retained for backwards compatibility. */
|
|
71
|
-
device_name?: string;
|
|
72
|
-
device_type?: string;
|
|
73
|
-
name?: string;
|
|
74
|
-
display?: Record<string, unknown>;
|
|
75
|
-
display_settings?: PartnerDisplaySettingsInput;
|
|
76
|
-
location?: Record<string, unknown>;
|
|
77
|
-
venue?: Record<string, unknown>;
|
|
78
|
-
placement?: Record<string, unknown>;
|
|
79
|
-
[key: string]: unknown;
|
|
80
|
-
}
|
|
81
|
-
interface PartnerDeviceBatchRegistrationInput {
|
|
82
|
-
devices: PartnerDeviceRegistrationInput[];
|
|
83
|
-
defaults?: Omit<PartnerDeviceRegistrationInput, 'device_id' | 'device_name'>;
|
|
84
|
-
}
|
|
85
|
-
interface Screen {
|
|
86
|
-
screen_id: string;
|
|
87
|
-
name: string;
|
|
88
|
-
status: string;
|
|
89
|
-
device_id?: string;
|
|
90
|
-
venue_type?: string;
|
|
91
|
-
country?: string;
|
|
92
|
-
city?: string;
|
|
93
|
-
timezone?: string;
|
|
94
|
-
resolution?: string;
|
|
95
|
-
embed_url?: string;
|
|
96
|
-
created_at: string;
|
|
97
|
-
updated_at: string;
|
|
98
|
-
}
|
|
99
|
-
interface Device {
|
|
100
|
-
device_id: string;
|
|
101
|
-
device_name: string;
|
|
102
|
-
device_type?: string;
|
|
103
|
-
platform?: string;
|
|
104
|
-
screen_id?: string;
|
|
105
|
-
status: string;
|
|
106
|
-
last_heartbeat?: string;
|
|
107
|
-
created_at: string;
|
|
108
|
-
updated_at: string;
|
|
109
|
-
}
|
|
110
|
-
interface Impression {
|
|
111
|
-
impression_id: string;
|
|
112
|
-
screen_id: string;
|
|
113
|
-
device_id: string;
|
|
114
|
-
ad_type?: string;
|
|
115
|
-
advertiser_name?: string;
|
|
116
|
-
cpm?: number;
|
|
117
|
-
earnings?: number;
|
|
118
|
-
played_at: string;
|
|
119
|
-
duration_seconds?: number;
|
|
120
|
-
}
|
|
121
|
-
interface AnalyticsData {
|
|
122
|
-
period: string;
|
|
123
|
-
total_impressions: number;
|
|
124
|
-
total_earnings: number;
|
|
125
|
-
average_cpm: number;
|
|
126
|
-
fill_rate: number;
|
|
127
|
-
screens_active: number;
|
|
128
|
-
screens_total: number;
|
|
129
|
-
by_screen?: Array<{
|
|
130
|
-
screen_id: string;
|
|
131
|
-
name: string;
|
|
132
|
-
impressions: number;
|
|
133
|
-
earnings: number;
|
|
134
|
-
}>;
|
|
135
|
-
}
|
|
136
|
-
interface EarningsData {
|
|
137
|
-
period: string;
|
|
138
|
-
total_earnings: number;
|
|
139
|
-
total_impressions: number;
|
|
140
|
-
average_cpm: number;
|
|
141
|
-
daily?: Array<{
|
|
142
|
-
date: string;
|
|
143
|
-
earnings: number;
|
|
144
|
-
impressions: number;
|
|
145
|
-
}>;
|
|
146
|
-
pending_payout: number;
|
|
147
|
-
last_payout_date?: string;
|
|
148
|
-
last_payout_amount?: number;
|
|
149
|
-
}
|
|
150
|
-
interface WebhookEvent {
|
|
151
|
-
id: string;
|
|
152
|
-
type: string;
|
|
153
|
-
created_at: string;
|
|
154
|
-
data: Record<string, unknown>;
|
|
155
|
-
partner_id: string;
|
|
156
|
-
}
|
|
157
|
-
interface Webhook {
|
|
158
|
-
id: string;
|
|
159
|
-
url: string;
|
|
160
|
-
events: string[];
|
|
161
|
-
status: string;
|
|
162
|
-
secret: string;
|
|
163
|
-
created_at: string;
|
|
164
|
-
updated_at: string;
|
|
165
|
-
}
|
|
166
|
-
interface ErrorEntry {
|
|
167
|
-
id: string;
|
|
168
|
-
code: string;
|
|
169
|
-
type: ApiErrorType;
|
|
170
|
-
message: string;
|
|
171
|
-
param?: string;
|
|
172
|
-
doc_url: string;
|
|
173
|
-
timestamp: string;
|
|
174
|
-
request_id: string;
|
|
175
|
-
endpoint: string;
|
|
176
|
-
method: string;
|
|
177
|
-
}
|
|
178
|
-
interface FleetCommand {
|
|
179
|
-
command_id: string;
|
|
180
|
-
command: string;
|
|
181
|
-
status: string;
|
|
182
|
-
target_screens: string[];
|
|
183
|
-
created_at: string;
|
|
184
|
-
completed_at?: string;
|
|
185
|
-
}
|
|
186
|
-
interface AudienceData {
|
|
187
|
-
screen_id: string;
|
|
188
|
-
timestamp: string;
|
|
189
|
-
attention_count: number;
|
|
190
|
-
dwell_time_avg: number;
|
|
191
|
-
demographics?: Record<string, unknown>;
|
|
192
|
-
}
|
|
193
|
-
interface BillingInfo {
|
|
194
|
-
plan: string;
|
|
195
|
-
credits_remaining: number;
|
|
196
|
-
credits_used: number;
|
|
197
|
-
usage_this_month: Record<string, number>;
|
|
198
|
-
stripe_connected: boolean;
|
|
199
|
-
}
|
|
200
72
|
/**
|
|
201
73
|
* Comparison operators accepted for a Route threshold condition — the same set
|
|
202
74
|
* the API validates against (services/fein/clipTriggerSchema VALID_OPERATORS).
|
|
@@ -227,55 +99,6 @@ interface RouteDigest {
|
|
|
227
99
|
intervalMinutes: number;
|
|
228
100
|
nextRunAt?: string;
|
|
229
101
|
}
|
|
230
|
-
/** A Sense Anything Route — a (condition -> channel actions) alert/automation rule. */
|
|
231
|
-
interface SensingRoute {
|
|
232
|
-
routeId: string;
|
|
233
|
-
ownerKind: 'earner_user' | 'partner';
|
|
234
|
-
ownerId: string;
|
|
235
|
-
partnerId?: string | null;
|
|
236
|
-
name: string;
|
|
237
|
-
enabled: boolean;
|
|
238
|
-
profileName?: string | null;
|
|
239
|
-
mode: 'threshold' | 'digest';
|
|
240
|
-
condition: RouteCondition | null;
|
|
241
|
-
actions: RouteAction[];
|
|
242
|
-
screenMongoIds: string[];
|
|
243
|
-
sustainWindowSeconds?: number;
|
|
244
|
-
sustainMinSamples?: number;
|
|
245
|
-
debounceSeconds?: number;
|
|
246
|
-
activeTz?: string | null;
|
|
247
|
-
activeStartMinute?: number | null;
|
|
248
|
-
activeEndMinute?: number | null;
|
|
249
|
-
activeDaysMask?: number;
|
|
250
|
-
digest: RouteDigest | null;
|
|
251
|
-
createdAt: string;
|
|
252
|
-
updatedAt: string;
|
|
253
|
-
}
|
|
254
|
-
/** Request body to create a Route. */
|
|
255
|
-
interface CreateRouteParams {
|
|
256
|
-
name: string;
|
|
257
|
-
screenMongoIds: string[];
|
|
258
|
-
actions: RouteAction[];
|
|
259
|
-
mode?: 'threshold' | 'digest';
|
|
260
|
-
enabled?: boolean;
|
|
261
|
-
profileName?: string;
|
|
262
|
-
condition?: RouteCondition;
|
|
263
|
-
digest?: {
|
|
264
|
-
metric: 'count' | 'avg' | 'max';
|
|
265
|
-
field?: string;
|
|
266
|
-
windowMinutes: number;
|
|
267
|
-
intervalMinutes: number;
|
|
268
|
-
};
|
|
269
|
-
sustainWindowSeconds?: number;
|
|
270
|
-
sustainMinSamples?: number;
|
|
271
|
-
debounceSeconds?: number;
|
|
272
|
-
activeTz?: string;
|
|
273
|
-
activeStartMinute?: number;
|
|
274
|
-
activeEndMinute?: number;
|
|
275
|
-
activeDaysMask?: number;
|
|
276
|
-
}
|
|
277
|
-
/** Request body to update a Route (partial, non-clobbering). */
|
|
278
|
-
type UpdateRouteParams = Partial<CreateRouteParams>;
|
|
279
102
|
/**
|
|
280
103
|
* The webhook events a Route fire can deliver. The event type is in the
|
|
281
104
|
* `X-Trillboards-Event` request header: a custom sensed field delivers
|
|
@@ -307,6 +130,10 @@ interface RouteDigestSummary {
|
|
|
307
130
|
*
|
|
308
131
|
* `observed` is a scalar for threshold Routes; for a digest Route
|
|
309
132
|
* (`venue.traffic_summary`) it is a {@link RouteDigestSummary} object.
|
|
133
|
+
*
|
|
134
|
+
* Kept hand-authored (not routed to the generated `SensingThresholdCrossedEvent`)
|
|
135
|
+
* because the emitter's flat-property-bag walker can only type `observed`/`threshold`
|
|
136
|
+
* as `unknown`; the typed unions here are a deliberate ergonomic improvement.
|
|
310
137
|
*/
|
|
311
138
|
interface SensingThresholdCrossedEvent {
|
|
312
139
|
route_id: string;
|
|
@@ -420,13 +247,13 @@ declare class ScreensClient {
|
|
|
420
247
|
data: Screen;
|
|
421
248
|
}>;
|
|
422
249
|
/** Get the resolved display settings for one screen. */
|
|
423
|
-
getDisplaySettings(screenId: string): Promise<
|
|
250
|
+
getDisplaySettings(screenId: string): Promise<DisplaySettingsResponse>;
|
|
424
251
|
/** Partially update display settings; omitted content-fit keys are preserved. */
|
|
425
|
-
patchDisplaySettings(screenId: string, settings:
|
|
252
|
+
patchDisplaySettings(screenId: string, settings: DisplaySettingsInput): Promise<DisplaySettingsResponse>;
|
|
426
253
|
/** Update display settings through the PUT endpoint. */
|
|
427
|
-
updateDisplaySettings(screenId: string, settings:
|
|
254
|
+
updateDisplaySettings(screenId: string, settings: DisplaySettingsInput): Promise<DisplaySettingsResponse>;
|
|
428
255
|
/** Apply a partial display-settings update to up to 100 screens. */
|
|
429
|
-
batchUpdateDisplaySettings(screenIds: string[], settings:
|
|
256
|
+
batchUpdateDisplaySettings(screenIds: string[], settings: DisplaySettingsInput): Promise<Record<string, unknown>>;
|
|
430
257
|
/** Delete a screen/device. */
|
|
431
258
|
delete(screenId: string): Promise<{
|
|
432
259
|
success: boolean;
|
|
@@ -598,7 +425,14 @@ declare class WebhooksClient {
|
|
|
598
425
|
constructor(http: HttpClient);
|
|
599
426
|
/** List all webhook subscriptions. */
|
|
600
427
|
list(): Promise<ListResponse<Webhook>>;
|
|
601
|
-
/**
|
|
428
|
+
/**
|
|
429
|
+
* Create a new webhook subscription.
|
|
430
|
+
*
|
|
431
|
+
* The created `Webhook` carries its signing `secret` (`whsec_…`) — this is the
|
|
432
|
+
* ONLY time it is returned. Persist it securely and pass it to
|
|
433
|
+
* `Webhooks.constructEvent()` to verify the compound `X-Trillboards-Signature`
|
|
434
|
+
* header over the raw delivery body.
|
|
435
|
+
*/
|
|
602
436
|
create(body: {
|
|
603
437
|
url: string;
|
|
604
438
|
events: string[];
|
|
@@ -748,7 +582,7 @@ declare class RoutesClient {
|
|
|
748
582
|
private readonly http;
|
|
749
583
|
constructor(http: HttpClient);
|
|
750
584
|
/** Create a Route. Every screen in `screenMongoIds` must be one you own. */
|
|
751
|
-
create(body:
|
|
585
|
+
create(body: CreatePartnerSensingRouteRequest): Promise<{
|
|
752
586
|
success: boolean;
|
|
753
587
|
data: {
|
|
754
588
|
route: SensingRoute;
|
|
@@ -771,7 +605,7 @@ declare class RoutesClient {
|
|
|
771
605
|
};
|
|
772
606
|
}>;
|
|
773
607
|
/** Update a Route (partial, non-clobbering — only the fields you send change). */
|
|
774
|
-
update(routeId: string, body:
|
|
608
|
+
update(routeId: string, body: UpdatePartnerSensingRouteRequest): Promise<{
|
|
775
609
|
success: boolean;
|
|
776
610
|
data: {
|
|
777
611
|
route: SensingRoute;
|
|
@@ -964,7 +798,7 @@ declare function parseSignatureHeader(rawSig: string): ParsedSignatureHeader;
|
|
|
964
798
|
* req.headers, // IncomingHttpHeaders
|
|
965
799
|
* process.env.WEBHOOK_SECRET!, // your subscription secret
|
|
966
800
|
* );
|
|
967
|
-
* console.log('Received', event.
|
|
801
|
+
* console.log('Received', event.event);
|
|
968
802
|
* res.sendStatus(200);
|
|
969
803
|
* } catch (err) {
|
|
970
804
|
* // TrillboardsError with code "webhook_signature_invalid"
|
|
@@ -987,428 +821,80 @@ declare function constructEvent(payload: string | Buffer, headers: WebhookHeader
|
|
|
987
821
|
* legacy shim preserves only for migration compatibility.
|
|
988
822
|
*/
|
|
989
823
|
declare function constructEventLegacy(payload: string | Buffer, signature: string, secret: string): WebhookEvent;
|
|
824
|
+
/** RFC 9421 `tag` Trillboards stamps on outbound AdCP webhooks. */
|
|
825
|
+
declare const ADCP_WEBHOOK_SIGNING_TAG = "adcp/webhook-signing/v1";
|
|
826
|
+
/** An Ed25519 public key from the Trillboards JWKS. */
|
|
827
|
+
interface AdcpJwk {
|
|
828
|
+
kty: string;
|
|
829
|
+
crv: string;
|
|
830
|
+
x: string;
|
|
831
|
+
kid: string;
|
|
832
|
+
alg?: string;
|
|
833
|
+
use?: string;
|
|
834
|
+
key_ops?: string[];
|
|
835
|
+
adcp_use?: string;
|
|
836
|
+
}
|
|
837
|
+
interface VerifyAdcpWebhookOptions {
|
|
838
|
+
/** Absolute URL the webhook was delivered to. Must be the URL you published. */
|
|
839
|
+
url: string;
|
|
840
|
+
/** HTTP method of the delivery. Defaults to POST. */
|
|
841
|
+
method?: string;
|
|
842
|
+
/** Delivery headers (case-insensitive). */
|
|
843
|
+
headers: WebhookHeaders;
|
|
844
|
+
/** Raw request body — EXACTLY the bytes received, never a re-stringify. */
|
|
845
|
+
payload: string | Buffer;
|
|
846
|
+
/** Keys from https://api.trillboards.com/.well-known/jwks.json */
|
|
847
|
+
keys: AdcpJwk[];
|
|
848
|
+
/** Override the verifier's clock (seconds). Tests only. */
|
|
849
|
+
nowSec?: number;
|
|
850
|
+
}
|
|
851
|
+
/**
|
|
852
|
+
* Verify an AdCP RFC 9421 webhook signature and parse the event.
|
|
853
|
+
*
|
|
854
|
+
* Checks, in order: header pair present → covered components complete → tag is
|
|
855
|
+
* the webhook tag → signature window sane and unexpired → key resolvable and
|
|
856
|
+
* purpose-valid → body digest matches → signature verifies.
|
|
857
|
+
*
|
|
858
|
+
* Replay defence beyond the window (per-`nonce` dedup) is the caller's — the
|
|
859
|
+
* nonce is exposed on the return value for exactly that.
|
|
860
|
+
*
|
|
861
|
+
* @throws TrillboardsError(authentication_error / webhook_signature_invalid)
|
|
862
|
+
*
|
|
863
|
+
* @example
|
|
864
|
+
* import { Webhooks } from '@trillboards/api-client';
|
|
865
|
+
*
|
|
866
|
+
* const { keys } = await (await fetch(
|
|
867
|
+
* 'https://api.trillboards.com/.well-known/jwks.json',
|
|
868
|
+
* )).json();
|
|
869
|
+
*
|
|
870
|
+
* app.post('/adcp/webhook', express.raw({ type: 'application/json' }), (req, res) => {
|
|
871
|
+
* const { event } = Webhooks.verifyAdcpWebhook({
|
|
872
|
+
* url: `https://buyer.example.com${req.originalUrl}`,
|
|
873
|
+
* headers: req.headers,
|
|
874
|
+
* payload: req.body,
|
|
875
|
+
* keys,
|
|
876
|
+
* });
|
|
877
|
+
* res.sendStatus(200);
|
|
878
|
+
* });
|
|
879
|
+
*/
|
|
880
|
+
declare function verifyAdcpWebhook(opts: VerifyAdcpWebhookOptions): {
|
|
881
|
+
event: WebhookEvent;
|
|
882
|
+
keyid: string;
|
|
883
|
+
nonce: string;
|
|
884
|
+
expires: number;
|
|
885
|
+
};
|
|
990
886
|
/** Namespaced export — matches the Stripe-style API. */
|
|
991
887
|
declare const Webhooks: {
|
|
992
888
|
constructEvent: typeof constructEvent;
|
|
993
889
|
constructEventLegacy: typeof constructEventLegacy;
|
|
994
890
|
parseSignatureHeader: typeof parseSignatureHeader;
|
|
891
|
+
verifyAdcpWebhook: typeof verifyAdcpWebhook;
|
|
995
892
|
};
|
|
996
893
|
|
|
997
894
|
/**
|
|
998
895
|
* SDK version constant. Sent in User-Agent and X-Trillboards-Client headers.
|
|
999
896
|
* Keep in sync with package.json version.
|
|
1000
897
|
*/
|
|
1001
|
-
declare const VERSION = "
|
|
1002
|
-
|
|
1003
|
-
type BleScanResultData = {
|
|
1004
|
-
appleContinuitySubtype?: number | null;
|
|
1005
|
-
deviceType?: number | null;
|
|
1006
|
-
ibeaconMajor?: number | null;
|
|
1007
|
-
ibeaconMinor?: number | null;
|
|
1008
|
-
ibeaconUuid?: string | null;
|
|
1009
|
-
manufacturerCompanyId?: number | null;
|
|
1010
|
-
rawAddress: string;
|
|
1011
|
-
rssi: number;
|
|
1012
|
-
serviceUuids?: Array<string> | null;
|
|
1013
|
-
stableManufacturerPayloadHex?: string | null;
|
|
1014
|
-
txPowerDbm?: number | null;
|
|
1015
|
-
[key: string]: unknown;
|
|
1016
|
-
};
|
|
1017
|
-
type DeviceCapabilityPayload = {
|
|
1018
|
-
agentType?: string | null;
|
|
1019
|
-
agentVersion?: string | null;
|
|
1020
|
-
audienceSensing?: {
|
|
1021
|
-
cameraAvailable?: boolean | null;
|
|
1022
|
-
cameraCount?: number | null;
|
|
1023
|
-
cameraHealth?: {
|
|
1024
|
-
lastFailureClass?: string | null;
|
|
1025
|
-
lastFailureMessage?: string | null;
|
|
1026
|
-
lastFrameAtMs?: number | null;
|
|
1027
|
-
retryCount?: number | null;
|
|
1028
|
-
state?: string | null;
|
|
1029
|
-
[key: string]: unknown;
|
|
1030
|
-
} | null;
|
|
1031
|
-
cameraType?: string | null;
|
|
1032
|
-
microphoneAvailable?: boolean | null;
|
|
1033
|
-
sensingMode?: string | null;
|
|
1034
|
-
[key: string]: unknown;
|
|
1035
|
-
} | null;
|
|
1036
|
-
audioControl?: {
|
|
1037
|
-
mute?: boolean | null;
|
|
1038
|
-
volume?: boolean | null;
|
|
1039
|
-
[key: string]: unknown;
|
|
1040
|
-
} | null;
|
|
1041
|
-
capabilitiesVersion?: number | null;
|
|
1042
|
-
environmentSensors?: {
|
|
1043
|
-
ambientLight?: boolean | null;
|
|
1044
|
-
temperature?: boolean | null;
|
|
1045
|
-
[key: string]: unknown;
|
|
1046
|
-
} | null;
|
|
1047
|
-
inputControl?: {
|
|
1048
|
-
appSwitch?: boolean | null;
|
|
1049
|
-
hdmi?: boolean | null;
|
|
1050
|
-
[key: string]: unknown;
|
|
1051
|
-
} | null;
|
|
1052
|
-
isDeviceOwner?: boolean | null;
|
|
1053
|
-
managementCapabilities?: {
|
|
1054
|
-
clearCache?: boolean | null;
|
|
1055
|
-
installApk?: boolean | null;
|
|
1056
|
-
kioskMode?: boolean | null;
|
|
1057
|
-
reboot?: boolean | null;
|
|
1058
|
-
restart?: boolean | null;
|
|
1059
|
-
screenshot?: boolean | null;
|
|
1060
|
-
wipe?: boolean | null;
|
|
1061
|
-
[key: string]: unknown;
|
|
1062
|
-
} | null;
|
|
1063
|
-
mlCapabilities?: {
|
|
1064
|
-
availableRamMb?: number | null;
|
|
1065
|
-
chipsetName?: string | null;
|
|
1066
|
-
chipsetVendor?: string | null;
|
|
1067
|
-
cpuAbi?: string | null;
|
|
1068
|
-
densityDpi?: number | null;
|
|
1069
|
-
gpuDelegateSupported?: boolean | null;
|
|
1070
|
-
gpuName?: string | null;
|
|
1071
|
-
hasNpu?: boolean | null;
|
|
1072
|
-
maxVlmSizeMb?: number | null;
|
|
1073
|
-
nnapiSupported?: boolean | null;
|
|
1074
|
-
npuName?: string | null;
|
|
1075
|
-
osApiLevel?: number | null;
|
|
1076
|
-
recommendedModelTier?: string | null;
|
|
1077
|
-
screenHeightPx?: number | null;
|
|
1078
|
-
screenWidthPx?: number | null;
|
|
1079
|
-
totalRamMb?: number | null;
|
|
1080
|
-
[key: string]: unknown;
|
|
1081
|
-
} | null;
|
|
1082
|
-
powerControl?: {
|
|
1083
|
-
cec?: boolean | null;
|
|
1084
|
-
softBlackout?: boolean | null;
|
|
1085
|
-
wol?: boolean | null;
|
|
1086
|
-
[key: string]: unknown;
|
|
1087
|
-
} | null;
|
|
1088
|
-
wifiCsiSensing?: {
|
|
1089
|
-
csiAvailable?: boolean | null;
|
|
1090
|
-
csiHardwareType?: string | null;
|
|
1091
|
-
csiNodeCount?: number | null;
|
|
1092
|
-
[key: string]: unknown;
|
|
1093
|
-
} | null;
|
|
1094
|
-
[key: string]: unknown;
|
|
1095
|
-
};
|
|
1096
|
-
type HttpProbeResult = {
|
|
1097
|
-
host: string;
|
|
1098
|
-
port?: number | null;
|
|
1099
|
-
server?: string | null;
|
|
1100
|
-
[key: string]: unknown;
|
|
1101
|
-
};
|
|
1102
|
-
type MdnsNetworkDevice = {
|
|
1103
|
-
host?: string | null;
|
|
1104
|
-
instanceName: string;
|
|
1105
|
-
mdnsModel?: string | null;
|
|
1106
|
-
mdnsSoftwareVersion?: string | null;
|
|
1107
|
-
mdnsVendor?: string | null;
|
|
1108
|
-
port?: number | null;
|
|
1109
|
-
serviceType: string;
|
|
1110
|
-
[key: string]: unknown;
|
|
1111
|
-
};
|
|
1112
|
-
type PartnerAdDeliveryProfile = {
|
|
1113
|
-
android_api_level?: number | null;
|
|
1114
|
-
auto_recovery_enabled?: boolean;
|
|
1115
|
-
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
1116
|
-
mode?: "ima_sdk" | "vast_fallback";
|
|
1117
|
-
notes?: Array<string>;
|
|
1118
|
-
reason?: string;
|
|
1119
|
-
webview_chromium_major?: number | null;
|
|
1120
|
-
};
|
|
1121
|
-
/**
|
|
1122
|
-
* Heartbeat payload from agent-core / agent-core-lite Android partner
|
|
1123
|
-
* SDKs. Only includes fields verified populated in production
|
|
1124
|
-
* `signal_observations` (last 30 days). Stub fields wired in Kotlin but
|
|
1125
|
-
* never observed in CH are intentionally excluded; re-add only after
|
|
1126
|
-
* telemetry confirms >1% population over 7 days.
|
|
1127
|
-
*
|
|
1128
|
-
*/
|
|
1129
|
-
type PartnerDeviceHeartbeatBody = {
|
|
1130
|
-
advertisingId?: string | null;
|
|
1131
|
-
advertisingIdType?: "gaid" | "idfa" | null | null;
|
|
1132
|
-
bleDeviceCount?: number;
|
|
1133
|
-
capabilities?: DeviceCapabilityPayload;
|
|
1134
|
-
discoveredNetworkDevices?: Array<MdnsNetworkDevice> | null;
|
|
1135
|
-
fingerprint?: string;
|
|
1136
|
-
gatewayIpHash?: string | null;
|
|
1137
|
-
httpProbes?: Array<HttpProbeResult> | null;
|
|
1138
|
-
limitAdTracking?: boolean | null;
|
|
1139
|
-
metadata?: Record<string, unknown>;
|
|
1140
|
-
/** Capped at 50 devices (RSSI-sorted, strongest first). */
|
|
1141
|
-
nearbyBleDevices?: Array<BleScanResultData> | null;
|
|
1142
|
-
nearbyWifiNetworks?: Array<WifiScanResult> | null;
|
|
1143
|
-
networkDeviceCount?: number;
|
|
1144
|
-
/** Heartbeat schema version (1=baseline, 2=nativeSensorSnapshot) */
|
|
1145
|
-
schemaVersion?: number;
|
|
1146
|
-
screenId?: string | null;
|
|
1147
|
-
/** Per-source skip-reason counter map. Shape `{source: {reason: count}}`. */
|
|
1148
|
-
skipReasonCounts?: Record<string, Record<string, number>>;
|
|
1149
|
-
ssdpDevices?: Array<SsdpDeviceInfo> | null;
|
|
1150
|
-
status?: string;
|
|
1151
|
-
wifiBssidHash?: string | null;
|
|
1152
|
-
wifiEnvironment?: WifiEnvironmentSnapshot;
|
|
1153
|
-
wifiNetworkCount?: number;
|
|
1154
|
-
wifiSsidHash?: string | null;
|
|
1155
|
-
[key: string]: unknown;
|
|
1156
|
-
};
|
|
1157
|
-
type PartnerHeartbeatCommand = {
|
|
1158
|
-
/** Command normalized for partner SDK compatibility. */
|
|
1159
|
-
command?: string;
|
|
1160
|
-
id?: string;
|
|
1161
|
-
payload?: Record<string, unknown>;
|
|
1162
|
-
queued_at?: string;
|
|
1163
|
-
};
|
|
1164
|
-
type PartnerHeartbeatData = {
|
|
1165
|
-
ad_delivery_profile?: PartnerAdDeliveryProfile;
|
|
1166
|
-
commands?: Array<PartnerHeartbeatCommand>;
|
|
1167
|
-
last_seen_at?: string;
|
|
1168
|
-
status?: "online" | "offline";
|
|
1169
|
-
};
|
|
1170
|
-
type PartnerHeartbeatMeasurementMetadata = {
|
|
1171
|
-
ageSeconds?: number | null;
|
|
1172
|
-
cachedAt?: string | null;
|
|
1173
|
-
receivedAt?: string | null;
|
|
1174
|
-
source?: "redis_twin" | "pg_fallback" | "unknown";
|
|
1175
|
-
[key: string]: unknown;
|
|
1176
|
-
};
|
|
1177
|
-
type PartnerHeartbeatQueryData = {
|
|
1178
|
-
adDeliveryProfile?: PartnerAdDeliveryProfile;
|
|
1179
|
-
deviceId: string;
|
|
1180
|
-
lastHeartbeatAt?: string | null;
|
|
1181
|
-
measurementMetadata?: PartnerHeartbeatMeasurementMetadata;
|
|
1182
|
-
stalenessSeconds?: number | null;
|
|
1183
|
-
telemetry?: PartnerSafeHeartbeatTelemetry;
|
|
1184
|
-
[key: string]: unknown;
|
|
1185
|
-
};
|
|
1186
|
-
type PartnerHeartbeatQueryResponse = {
|
|
1187
|
-
data?: PartnerHeartbeatQueryData;
|
|
1188
|
-
success?: boolean;
|
|
1189
|
-
};
|
|
1190
|
-
/**
|
|
1191
|
-
* Optional heartbeat payload. Nested telemetry objects are preferred; legacy flat keys
|
|
1192
|
-
* are still accepted for backward compatibility.
|
|
1193
|
-
*
|
|
1194
|
-
*/
|
|
1195
|
-
type PartnerHeartbeatRequest = {
|
|
1196
|
-
ad?: {
|
|
1197
|
-
last_vast_request_at?: string;
|
|
1198
|
-
last_vast_response_at?: string;
|
|
1199
|
-
proof_of_play_enabled?: boolean;
|
|
1200
|
-
};
|
|
1201
|
-
agent_status?: string;
|
|
1202
|
-
agent_version?: string;
|
|
1203
|
-
android_api_level?: number;
|
|
1204
|
-
brightness?: number;
|
|
1205
|
-
desugaring_enabled?: boolean;
|
|
1206
|
-
device?: {
|
|
1207
|
-
android_api_level?: number;
|
|
1208
|
-
make?: string;
|
|
1209
|
-
model?: string;
|
|
1210
|
-
os?: string;
|
|
1211
|
-
osv?: string;
|
|
1212
|
-
webview_chromium_major?: number;
|
|
1213
|
-
};
|
|
1214
|
-
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
1215
|
-
ima_sdk_version?: string;
|
|
1216
|
-
ima_support_reason?: string;
|
|
1217
|
-
ima_supported?: boolean;
|
|
1218
|
-
input_source?: string;
|
|
1219
|
-
last_ima_error_code?: number;
|
|
1220
|
-
last_vast_error_code?: number;
|
|
1221
|
-
last_vast_request_at?: string;
|
|
1222
|
-
last_vast_response_at?: string;
|
|
1223
|
-
/** Current GPS fix for a moving screen. Processed only for screens whose `mobility_type` is `mobile` or `semi_mobile` (declare it at registration or via PATCH /device/{deviceId}), OR for any screen still missing coordinates (a one-time self-heal that also kicks off venue classification). Static screens with valid coordinates ignore it. Updates live geo-targeting, geofencing and analytics. Fully optional — omit it on stationary screens. */
|
|
1224
|
-
location?: {
|
|
1225
|
-
/** Horizontal accuracy radius in meters. Fixes above ~500m are clamped. */
|
|
1226
|
-
accuracy_m?: number;
|
|
1227
|
-
/** Up to 200 fixes recorded while the device was offline, replayed as a historical track. Timestamps MUST be in ascending order — a non-chronological batch is rejected with HTTP 400. Only the top-level `location` updates the live serving position. */
|
|
1228
|
-
buffered_locations?: Array<{
|
|
1229
|
-
accuracy_m?: number;
|
|
1230
|
-
heading?: number;
|
|
1231
|
-
lat: number;
|
|
1232
|
-
lng: number;
|
|
1233
|
-
speed_mps?: number;
|
|
1234
|
-
timestamp?: number;
|
|
1235
|
-
}>;
|
|
1236
|
-
/** Bearing in degrees (0–360, 0 = true north). Omit if unavailable. */
|
|
1237
|
-
heading?: number;
|
|
1238
|
-
/** Latitude in decimal degrees (WGS 84). */
|
|
1239
|
-
lat?: number;
|
|
1240
|
-
/** Longitude in decimal degrees (WGS 84). */
|
|
1241
|
-
lng?: number;
|
|
1242
|
-
/** `gps` — a live on-device fix. `gps_buffered` — a fix recorded while offline and replayed on reconnect. */
|
|
1243
|
-
source?: "gps" | "gps_buffered";
|
|
1244
|
-
/** Ground speed in meters per second. Omit if unavailable. */
|
|
1245
|
-
speed_mps?: number;
|
|
1246
|
-
/** Unix epoch milliseconds of the on-device fix. Send the device clock value; the server tolerates up to 10 minutes of skew. A position jump implying > 320 km/h between consecutive fixes is rejected. */
|
|
1247
|
-
timestamp?: number;
|
|
1248
|
-
};
|
|
1249
|
-
/** Alternate namespace for telemetry keys (legacy support). */
|
|
1250
|
-
metadata?: Record<string, unknown>;
|
|
1251
|
-
muted?: boolean;
|
|
1252
|
-
network?: {
|
|
1253
|
-
bandwidthMbps?: number;
|
|
1254
|
-
connectionType?: string;
|
|
1255
|
-
downlinkMbps?: number;
|
|
1256
|
-
effectiveType?: string;
|
|
1257
|
-
latencyRtt?: number;
|
|
1258
|
-
rtt?: number;
|
|
1259
|
-
saveData?: boolean;
|
|
1260
|
-
};
|
|
1261
|
-
network_strength_dbm?: number;
|
|
1262
|
-
power_state?: "on" | "standby" | "off" | "unknown";
|
|
1263
|
-
proof_of_play_enabled?: boolean;
|
|
1264
|
-
sdk?: {
|
|
1265
|
-
android_api_level?: number;
|
|
1266
|
-
desugaring_enabled?: boolean;
|
|
1267
|
-
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
1268
|
-
ima_sdk_version?: string;
|
|
1269
|
-
ima_supported?: boolean;
|
|
1270
|
-
version?: string;
|
|
1271
|
-
webview_chromium_major?: number;
|
|
1272
|
-
};
|
|
1273
|
-
sdk_version?: string;
|
|
1274
|
-
telemetry?: PartnerHeartbeatTelemetry;
|
|
1275
|
-
temperature_c?: number;
|
|
1276
|
-
uptime_seconds?: number;
|
|
1277
|
-
volume?: number;
|
|
1278
|
-
webview_chromium_major?: number;
|
|
1279
|
-
};
|
|
1280
|
-
type PartnerHeartbeatResponse = {
|
|
1281
|
-
data?: PartnerHeartbeatData;
|
|
1282
|
-
success?: boolean;
|
|
1283
|
-
};
|
|
1284
|
-
type PartnerHeartbeatTelemetry = {
|
|
1285
|
-
agentStatus?: string;
|
|
1286
|
-
agentVersion?: string;
|
|
1287
|
-
android_api_level?: number;
|
|
1288
|
-
bandwidthMbps?: number;
|
|
1289
|
-
brightness?: number;
|
|
1290
|
-
connectionType?: string;
|
|
1291
|
-
desugaring_enabled?: boolean;
|
|
1292
|
-
downlinkMbps?: number;
|
|
1293
|
-
ima_integration?: "android_native" | "html5_webview" | "disabled" | "unknown";
|
|
1294
|
-
ima_sdk_version?: string;
|
|
1295
|
-
ima_support_reason?: string;
|
|
1296
|
-
ima_supported?: boolean;
|
|
1297
|
-
inputSource?: string;
|
|
1298
|
-
last_ima_error_code?: number;
|
|
1299
|
-
last_vast_error_code?: number;
|
|
1300
|
-
last_vast_request_at?: string;
|
|
1301
|
-
last_vast_response_at?: string;
|
|
1302
|
-
latencyRtt?: number;
|
|
1303
|
-
make?: string;
|
|
1304
|
-
model?: string;
|
|
1305
|
-
muted?: boolean;
|
|
1306
|
-
networkConnectionType?: string;
|
|
1307
|
-
networkEffectiveType?: string;
|
|
1308
|
-
networkStrengthDbm?: number;
|
|
1309
|
-
os?: string;
|
|
1310
|
-
osVersion?: string;
|
|
1311
|
-
osv?: string;
|
|
1312
|
-
powerState?: "on" | "standby" | "off" | "unknown";
|
|
1313
|
-
proof_of_play_enabled?: boolean;
|
|
1314
|
-
rtt?: number;
|
|
1315
|
-
saveData?: boolean;
|
|
1316
|
-
temperatureC?: number;
|
|
1317
|
-
uptimeSeconds?: number;
|
|
1318
|
-
volume?: number;
|
|
1319
|
-
webview_chromium_major?: number;
|
|
1320
|
-
[key: string]: unknown;
|
|
1321
|
-
};
|
|
1322
|
-
/**
|
|
1323
|
-
* Partner-safe subset of device telemetry. Strips MDM compliance,
|
|
1324
|
-
* Vertex embeddings, identity-correction internals, partner identifiers,
|
|
1325
|
-
* and Mongo `_id` so partners only see what they need to decide
|
|
1326
|
-
* whether a device is healthy enough to receive ads.
|
|
1327
|
-
*
|
|
1328
|
-
*/
|
|
1329
|
-
type PartnerSafeHeartbeatTelemetry = {
|
|
1330
|
-
agentStatus?: string | null;
|
|
1331
|
-
agentVersion?: string | null;
|
|
1332
|
-
bandwidthMbps?: number | null;
|
|
1333
|
-
brightness?: number | null;
|
|
1334
|
-
connectionType?: string | null;
|
|
1335
|
-
consecutiveAdFailures?: number | null;
|
|
1336
|
-
effectiveType?: string | null;
|
|
1337
|
-
latencyRtt?: number | null;
|
|
1338
|
-
make?: string | null;
|
|
1339
|
-
model?: string | null;
|
|
1340
|
-
muted?: boolean | null;
|
|
1341
|
-
networkStrengthDbm?: number | null;
|
|
1342
|
-
onlineStatus?: "online" | "offline" | "standby" | "unknown" | null;
|
|
1343
|
-
os?: string | null;
|
|
1344
|
-
osv?: string | null;
|
|
1345
|
-
powerState?: string | null;
|
|
1346
|
-
temperatureC?: number | null;
|
|
1347
|
-
ua?: string | null;
|
|
1348
|
-
uptimeSeconds?: number | null;
|
|
1349
|
-
visibilityState?: string | null;
|
|
1350
|
-
volume?: number | null;
|
|
1351
|
-
[key: string]: unknown;
|
|
1352
|
-
};
|
|
1353
|
-
type SsdpDeviceInfo = {
|
|
1354
|
-
friendlyName?: string | null;
|
|
1355
|
-
location: string;
|
|
1356
|
-
manufacturer?: string | null;
|
|
1357
|
-
modelName?: string | null;
|
|
1358
|
-
server?: string | null;
|
|
1359
|
-
st: string;
|
|
1360
|
-
udn?: string | null;
|
|
1361
|
-
[key: string]: unknown;
|
|
1362
|
-
};
|
|
1363
|
-
type WifiEnvironmentSnapshot = {
|
|
1364
|
-
channelCongestionRatio?: number | null;
|
|
1365
|
-
connectedChannelWidthMhz?: number | null;
|
|
1366
|
-
connectedFrequencyMhz?: number | null;
|
|
1367
|
-
connectedLinkSpeedMbps?: number | null;
|
|
1368
|
-
connectedSignalDbm?: number | null;
|
|
1369
|
-
frequencyBand?: string | null;
|
|
1370
|
-
medianSignalDbm?: number | null;
|
|
1371
|
-
networkCount?: number | null;
|
|
1372
|
-
rssiVariance?: number | null;
|
|
1373
|
-
scanTimestampMs?: number | null;
|
|
1374
|
-
signalSpreadDbm?: number | null;
|
|
1375
|
-
uniqueBssidCount?: number | null;
|
|
1376
|
-
[key: string]: unknown;
|
|
1377
|
-
} | null;
|
|
1378
|
-
type WifiScanResult = {
|
|
1379
|
-
channelWidthMhz?: number | null;
|
|
1380
|
-
frequencyMhz: number;
|
|
1381
|
-
rawBssid: string;
|
|
1382
|
-
signalStrengthDbm: number;
|
|
1383
|
-
[key: string]: unknown;
|
|
1384
|
-
};
|
|
1385
|
-
/**
|
|
1386
|
-
* Read live device heartbeat state
|
|
1387
|
-
* GET /device/{deviceId}/heartbeat
|
|
1388
|
-
*/
|
|
1389
|
-
interface getDeviceHeartbeatOperation {
|
|
1390
|
-
readonly path: "/device/{deviceId}/heartbeat";
|
|
1391
|
-
readonly method: "GET";
|
|
1392
|
-
request: never;
|
|
1393
|
-
response: PartnerHeartbeatQueryResponse;
|
|
1394
|
-
}
|
|
1395
|
-
/**
|
|
1396
|
-
* Device heartbeat
|
|
1397
|
-
* POST /device/{deviceId}/heartbeat
|
|
1398
|
-
*/
|
|
1399
|
-
interface heartbeatOperation {
|
|
1400
|
-
readonly path: "/device/{deviceId}/heartbeat";
|
|
1401
|
-
readonly method: "POST";
|
|
1402
|
-
request: PartnerHeartbeatRequest | PartnerDeviceHeartbeatBody;
|
|
1403
|
-
response: PartnerHeartbeatResponse;
|
|
1404
|
-
}
|
|
1405
|
-
declare const generatedTypes: {
|
|
1406
|
-
readonly schemaCount: 99;
|
|
1407
|
-
readonly operationCount: 210;
|
|
1408
|
-
readonly schemas: readonly ["Ad", "AdSettings", "AudienceAnalyticsResponse", "AudienceAttentionPrediction", "AudienceExportResponse", "AudienceLoyaltyFeaturesRow", "AudienceMetricsResponse", "AudienceSegment", "AudienceSocialAttention", "BatchResult", "BleScanResultData", "ChangelogEntry", "ChangelogResponse", "ContentFitSettings", "ContentPreferencesInput", "ContentPreferencesResponse", "ContentPreset", "CreatePartnerSensingRouteRequest", "CreativeClassification", "DashboardResponse", "DataExportSummaryResponse", "DemographicsResponse", "Device", "DeviceCapabilityPayload", "DeviceSummary", "DisplaySettingsInput", "DisplaySettingsResponse", "EarningsBreakdownResponse", "EarningsResponse", "Error", "FleetCommand", "FleetCommandEvent", "HeaderBiddingSettings", "HttpProbeResult", "MdnsNetworkDevice", "Pagination", "Partner", "PartnerAdDeliveryProfile", "PartnerDefaultStream", "PartnerDefaultStreamCreate", "PartnerDefaultStreamUpdate", "PartnerDeviceHeartbeatBody", "PartnerHeartbeatCommand", "PartnerHeartbeatData", "PartnerHeartbeatMeasurementMetadata", "PartnerHeartbeatQueryData", "PartnerHeartbeatQueryResponse", "PartnerHeartbeatRequest", "PartnerHeartbeatResponse", "PartnerHeartbeatTelemetry", "PartnerLBarContent", "PartnerLBarDisplayPreferences", "PartnerLBarSettings", "PartnerMonetizationRequirements", "PartnerNetworkConfig", "PartnerNetworkConfigUpdate", "PartnerPlay", "PartnerRegistrationDisplaySettings", "PartnerRequirement", "PartnerSafeHeartbeatTelemetry", "PartnerSelfPromoAd", "PartnerSelfPromoCreate", "PartnerSelfPromoPlacement", "PartnerStats", "PayoutResponse", "PlaygroundResult", "PlaygroundValidationError", "ProgrammaticSettingsInput", "ProgrammaticSettingsResponse", "RequestMetadataResponse", "ResolvedContentPolicy", "ResolvedSensingConfig", "RolePermissions", "SDKConfig", "ScreenAnalyticsResponse", "ScreenGroup", "ScreenGroupContentPolicy", "ScreenGroupContentPolicyInput", "ScreenGroupEvent", "ScreenGroupSensingConfig", "ScreenGroupSensingConfigInput", "SensingPerformanceMode", "SensingRoute", "SensingRouteAction", "SensingRouteCondition", "SensingSettingsResponse", "SensingThresholdCrossedEvent", "SsdpDeviceInfo", "TeamInviteResponse", "TeamMember", "Transaction", "UpdatePartnerSensingRouteRequest", "VastWaterfall", "VastWaterfallSource", "Webhook", "WebhookDelivery", "WebhookEvent", "WifiEnvironmentSnapshot", "WifiScanResult"];
|
|
1409
|
-
readonly operations: readonly ["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", "getUsageSummary", "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", "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__get__usage", "getUsageDashboard", "getRateLimitStatus", "queryChangelog", "playgroundDryRun", "getRequestMetadata", "getVastConfig", "getVenuesNearby", "getVenueAtmosphere", "getVenueTraffic", "getVenueIntelligence", "listWebhooks", "createWebhook", "deleteWebhook", "updateWebhook", "getWebhookDeliveries", "testWebhook"];
|
|
1410
|
-
};
|
|
1411
|
-
type GeneratedSchemaName = (typeof generatedTypes.schemas)[number];
|
|
1412
|
-
type GeneratedOperationName = (typeof generatedTypes.operations)[number];
|
|
898
|
+
declare const VERSION = "1.1.0";
|
|
1413
899
|
|
|
1414
|
-
export {
|
|
900
|
+
export { ADCP_WEBHOOK_SIGNING_TAG, type AdcpJwk, AnalyticsClient, AnalyticsData, type ApiErrorType, AudienceClient, AudienceData, BillingClient, BillingInfo, type ClientOptions, type ConstructEventOptions, type ContentFitMode, CreatePartnerSensingRouteRequest, DataClient, Device, DevicesClient, DisplaySettingsInput, DisplaySettingsResponse, EarningsClient, EarningsData, type ErrorDetail, ErrorEntry, type ErrorResponseBody, ErrorsClient, FleetClient, FleetCommand, Impression, ImpressionsClient, type ListResponse, type ParsedSignatureHeader, PartnerDeviceBatchRegistrationInput, PartnerDeviceRegistrationInput, type RequestOptions, type RetryOptions, type RouteAction, type RouteChannel, type RouteCondition, type RouteConditionOp, type RouteDigest, type RouteDigestSummary, type RouteWebhookEvent, RoutesClient, Screen, ScreensClient, SensingRoute, type SensingThresholdCrossedEvent, TrillboardsClient, TrillboardsError, type TrillboardsErrorOptions, UpdatePartnerSensingRouteRequest, VERSION, type VerifyAdcpWebhookOptions, Webhook, WebhookEvent, type WebhookHeaders, Webhooks, WebhooksClient, constructEvent, constructEventLegacy, parseSignatureHeader, retryWithBackoff, verifyAdcpWebhook };
|