@trillboards/cli 0.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.
Files changed (103) hide show
  1. package/README.md +1288 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +5 -0
  4. package/bin/run.cmd +3 -0
  5. package/bin/run.js +5 -0
  6. package/dist/base-command.d.ts +20 -0
  7. package/dist/base-command.js +60 -0
  8. package/dist/commands/api.d.ts +14 -0
  9. package/dist/commands/api.js +80 -0
  10. package/dist/commands/audience/live.d.ts +14 -0
  11. package/dist/commands/audience/live.js +117 -0
  12. package/dist/commands/billing/usage.d.ts +10 -0
  13. package/dist/commands/billing/usage.js +92 -0
  14. package/dist/commands/billing.d.ts +6 -0
  15. package/dist/commands/billing.js +49 -0
  16. package/dist/commands/debug.d.ts +10 -0
  17. package/dist/commands/debug.js +156 -0
  18. package/dist/commands/doctor.d.ts +6 -0
  19. package/dist/commands/doctor.js +145 -0
  20. package/dist/commands/earnings.d.ts +15 -0
  21. package/dist/commands/earnings.js +182 -0
  22. package/dist/commands/endpoints/index.d.ts +9 -0
  23. package/dist/commands/endpoints/index.js +35 -0
  24. package/dist/commands/errors/index.d.ts +9 -0
  25. package/dist/commands/errors/index.js +34 -0
  26. package/dist/commands/fill-rate.d.ts +12 -0
  27. package/dist/commands/fill-rate.js +141 -0
  28. package/dist/commands/generated/generated-changelog-query.d.ts +14 -0
  29. package/dist/commands/generated/generated-changelog-query.js +35 -0
  30. package/dist/commands/generated/generated-data-api-aggregate.d.ts +15 -0
  31. package/dist/commands/generated/generated-data-api-aggregate.js +38 -0
  32. package/dist/commands/generated/generated-data-api-list-screens.d.ts +16 -0
  33. package/dist/commands/generated/generated-data-api-list-screens.js +41 -0
  34. package/dist/commands/generated/generated-data-api-lookalike-screens.d.ts +15 -0
  35. package/dist/commands/generated/generated-data-api-lookalike-screens.js +38 -0
  36. package/dist/commands/generated/generated-data-api-query-dsl.d.ts +13 -0
  37. package/dist/commands/generated/generated-data-api-query-dsl.js +32 -0
  38. package/dist/commands/generated/generated-data-api-screen-audience-history.d.ts +17 -0
  39. package/dist/commands/generated/generated-data-api-screen-audience-history.js +41 -0
  40. package/dist/commands/generated/generated-data-api-screen-audience-live.d.ts +14 -0
  41. package/dist/commands/generated/generated-data-api-screen-audience-live.js +32 -0
  42. package/dist/commands/generated/generated-data-api-semantic-search.d.ts +16 -0
  43. package/dist/commands/generated/generated-data-api-semantic-search.js +41 -0
  44. package/dist/commands/generated/generated-data-api-stats.d.ts +12 -0
  45. package/dist/commands/generated/generated-data-api-stats.js +26 -0
  46. package/dist/commands/generated/generated-data-api-stream.d.ts +14 -0
  47. package/dist/commands/generated/generated-data-api-stream.js +35 -0
  48. package/dist/commands/generated/generated-data-api-usage.d.ts +13 -0
  49. package/dist/commands/generated/generated-data-api-usage.js +32 -0
  50. package/dist/commands/generated/generated-device-ota-manifest.d.ts +13 -0
  51. package/dist/commands/generated/generated-device-ota-manifest.js +32 -0
  52. package/dist/commands/generated/generated-example-healthcheck.d.ts +13 -0
  53. package/dist/commands/generated/generated-example-healthcheck.js +32 -0
  54. package/dist/commands/generated/generated-playground-dry-run.d.ts +14 -0
  55. package/dist/commands/generated/generated-playground-dry-run.js +32 -0
  56. package/dist/commands/generated/generated-request-metadata-get.d.ts +14 -0
  57. package/dist/commands/generated/generated-request-metadata-get.js +32 -0
  58. package/dist/commands/generated/generated-sdk-enrich.d.ts +13 -0
  59. package/dist/commands/generated/generated-sdk-enrich.js +32 -0
  60. package/dist/commands/generated/generated-sdk-impression.d.ts +13 -0
  61. package/dist/commands/generated/generated-sdk-impression.js +32 -0
  62. package/dist/commands/generated/generated-sdk-qr-beacon.d.ts +13 -0
  63. package/dist/commands/generated/generated-sdk-qr-beacon.js +32 -0
  64. package/dist/commands/generated/generated-sdk-qr-scan.d.ts +13 -0
  65. package/dist/commands/generated/generated-sdk-qr-scan.js +32 -0
  66. package/dist/commands/generated/generated-sensing-paired-training-upload.d.ts +13 -0
  67. package/dist/commands/generated/generated-sensing-paired-training-upload.js +32 -0
  68. package/dist/commands/listen.d.ts +39 -0
  69. package/dist/commands/listen.js +245 -0
  70. package/dist/commands/login.d.ts +7 -0
  71. package/dist/commands/login.js +68 -0
  72. package/dist/commands/logs/tail.d.ts +47 -0
  73. package/dist/commands/logs/tail.js +240 -0
  74. package/dist/commands/reconcile.d.ts +9 -0
  75. package/dist/commands/reconcile.js +58 -0
  76. package/dist/commands/sandbox/create.d.ts +6 -0
  77. package/dist/commands/sandbox/create.js +35 -0
  78. package/dist/commands/sandbox/emit.d.ts +12 -0
  79. package/dist/commands/sandbox/emit.js +57 -0
  80. package/dist/commands/sandbox/reset.d.ts +6 -0
  81. package/dist/commands/sandbox/reset.js +34 -0
  82. package/dist/commands/sandbox/status.d.ts +6 -0
  83. package/dist/commands/sandbox/status.js +58 -0
  84. package/dist/commands/screens/watch.d.ts +14 -0
  85. package/dist/commands/screens/watch.js +158 -0
  86. package/dist/commands/trigger.d.ts +9 -0
  87. package/dist/commands/trigger.js +53 -0
  88. package/dist/commands/validate.d.ts +12 -0
  89. package/dist/commands/validate.js +93 -0
  90. package/dist/commands/whoami.d.ts +6 -0
  91. package/dist/commands/whoami.js +39 -0
  92. package/dist/config.d.ts +10 -0
  93. package/dist/config.js +32 -0
  94. package/dist/format-helpers.d.ts +46 -0
  95. package/dist/format-helpers.js +96 -0
  96. package/dist/http.d.ts +13 -0
  97. package/dist/http.js +51 -0
  98. package/dist/index.d.ts +1 -0
  99. package/dist/index.js +1 -0
  100. package/dist/output.d.ts +2 -0
  101. package/dist/output.js +78 -0
  102. package/oclif.manifest.json +2697 -0
  103. package/package.json +94 -0
@@ -0,0 +1,2697 @@
1
+ {
2
+ "commands": {
3
+ "api": {
4
+ "aliases": [],
5
+ "args": {
6
+ "method": {
7
+ "description": "HTTP method (GET, POST, PUT, PATCH, DELETE)",
8
+ "name": "method",
9
+ "required": true
10
+ },
11
+ "path": {
12
+ "description": "API path (e.g. /v1/partner/screens)",
13
+ "name": "path",
14
+ "required": true
15
+ }
16
+ },
17
+ "description": "Make raw API requests (like gh api)",
18
+ "examples": [
19
+ "<%= config.bin %> api GET /v1/partner/screens",
20
+ "<%= config.bin %> api POST /v1/partner/device --data '{\"name\":\"test\"}'",
21
+ "<%= config.bin %> api GET /v1/partner/info --jq partner_name"
22
+ ],
23
+ "flags": {
24
+ "api-key": {
25
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
26
+ "env": "TRILLBOARDS_API_KEY",
27
+ "name": "api-key",
28
+ "hasDynamicHelp": false,
29
+ "multiple": false,
30
+ "type": "option"
31
+ },
32
+ "base-url": {
33
+ "description": "API base URL",
34
+ "name": "base-url",
35
+ "default": "https://api.trillboards.com",
36
+ "hasDynamicHelp": false,
37
+ "multiple": false,
38
+ "type": "option"
39
+ },
40
+ "format": {
41
+ "description": "Output format",
42
+ "name": "format",
43
+ "hasDynamicHelp": false,
44
+ "multiple": false,
45
+ "options": [
46
+ "json",
47
+ "table",
48
+ "yaml"
49
+ ],
50
+ "type": "option"
51
+ },
52
+ "data": {
53
+ "char": "d",
54
+ "description": "Request body (JSON string)",
55
+ "name": "data",
56
+ "hasDynamicHelp": false,
57
+ "multiple": false,
58
+ "type": "option"
59
+ },
60
+ "jq": {
61
+ "description": "JSON path expression to extract (e.g. \"data.items\" or \"name\")",
62
+ "name": "jq",
63
+ "hasDynamicHelp": false,
64
+ "multiple": false,
65
+ "type": "option"
66
+ }
67
+ },
68
+ "hasDynamicHelp": false,
69
+ "hiddenAliases": [],
70
+ "id": "api",
71
+ "pluginAlias": "@trillboards/cli",
72
+ "pluginName": "@trillboards/cli",
73
+ "pluginType": "core",
74
+ "strict": true,
75
+ "enableJsonFlag": false,
76
+ "isESM": true,
77
+ "relativePath": [
78
+ "dist",
79
+ "commands",
80
+ "api.js"
81
+ ]
82
+ },
83
+ "billing": {
84
+ "aliases": [],
85
+ "args": {},
86
+ "description": "Billing summary — current plan and usage",
87
+ "examples": [
88
+ "<%= config.bin %> billing",
89
+ "<%= config.bin %> billing --format json"
90
+ ],
91
+ "flags": {
92
+ "api-key": {
93
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
94
+ "env": "TRILLBOARDS_API_KEY",
95
+ "name": "api-key",
96
+ "hasDynamicHelp": false,
97
+ "multiple": false,
98
+ "type": "option"
99
+ },
100
+ "base-url": {
101
+ "description": "API base URL",
102
+ "name": "base-url",
103
+ "default": "https://api.trillboards.com",
104
+ "hasDynamicHelp": false,
105
+ "multiple": false,
106
+ "type": "option"
107
+ },
108
+ "format": {
109
+ "description": "Output format",
110
+ "name": "format",
111
+ "hasDynamicHelp": false,
112
+ "multiple": false,
113
+ "options": [
114
+ "json",
115
+ "table",
116
+ "yaml"
117
+ ],
118
+ "type": "option"
119
+ }
120
+ },
121
+ "hasDynamicHelp": false,
122
+ "hiddenAliases": [],
123
+ "id": "billing",
124
+ "pluginAlias": "@trillboards/cli",
125
+ "pluginName": "@trillboards/cli",
126
+ "pluginType": "core",
127
+ "strict": true,
128
+ "enableJsonFlag": false,
129
+ "isESM": true,
130
+ "relativePath": [
131
+ "dist",
132
+ "commands",
133
+ "billing.js"
134
+ ]
135
+ },
136
+ "debug": {
137
+ "aliases": [],
138
+ "args": {
139
+ "screen_id": {
140
+ "description": "Screen ID to diagnose",
141
+ "name": "screen_id",
142
+ "required": true
143
+ }
144
+ },
145
+ "description": "Diagnose a screen — status, performance, audience, issues",
146
+ "examples": [
147
+ "<%= config.bin %> debug scr_abc123",
148
+ "<%= config.bin %> debug scr_abc123 --format json"
149
+ ],
150
+ "flags": {
151
+ "api-key": {
152
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
153
+ "env": "TRILLBOARDS_API_KEY",
154
+ "name": "api-key",
155
+ "hasDynamicHelp": false,
156
+ "multiple": false,
157
+ "type": "option"
158
+ },
159
+ "base-url": {
160
+ "description": "API base URL",
161
+ "name": "base-url",
162
+ "default": "https://api.trillboards.com",
163
+ "hasDynamicHelp": false,
164
+ "multiple": false,
165
+ "type": "option"
166
+ },
167
+ "format": {
168
+ "description": "Output format",
169
+ "name": "format",
170
+ "hasDynamicHelp": false,
171
+ "multiple": false,
172
+ "options": [
173
+ "json",
174
+ "table",
175
+ "yaml"
176
+ ],
177
+ "type": "option"
178
+ }
179
+ },
180
+ "hasDynamicHelp": false,
181
+ "hiddenAliases": [],
182
+ "id": "debug",
183
+ "pluginAlias": "@trillboards/cli",
184
+ "pluginName": "@trillboards/cli",
185
+ "pluginType": "core",
186
+ "strict": true,
187
+ "enableJsonFlag": false,
188
+ "isESM": true,
189
+ "relativePath": [
190
+ "dist",
191
+ "commands",
192
+ "debug.js"
193
+ ]
194
+ },
195
+ "doctor": {
196
+ "aliases": [],
197
+ "args": {},
198
+ "description": "Run system diagnostics and check API connectivity",
199
+ "examples": [
200
+ "<%= config.bin %> doctor"
201
+ ],
202
+ "flags": {
203
+ "api-key": {
204
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
205
+ "env": "TRILLBOARDS_API_KEY",
206
+ "name": "api-key",
207
+ "hasDynamicHelp": false,
208
+ "multiple": false,
209
+ "type": "option"
210
+ },
211
+ "base-url": {
212
+ "description": "API base URL",
213
+ "name": "base-url",
214
+ "default": "https://api.trillboards.com",
215
+ "hasDynamicHelp": false,
216
+ "multiple": false,
217
+ "type": "option"
218
+ },
219
+ "format": {
220
+ "description": "Output format",
221
+ "name": "format",
222
+ "hasDynamicHelp": false,
223
+ "multiple": false,
224
+ "options": [
225
+ "json",
226
+ "table",
227
+ "yaml"
228
+ ],
229
+ "type": "option"
230
+ }
231
+ },
232
+ "hasDynamicHelp": false,
233
+ "hiddenAliases": [],
234
+ "id": "doctor",
235
+ "pluginAlias": "@trillboards/cli",
236
+ "pluginName": "@trillboards/cli",
237
+ "pluginType": "core",
238
+ "strict": true,
239
+ "enableJsonFlag": false,
240
+ "isESM": true,
241
+ "relativePath": [
242
+ "dist",
243
+ "commands",
244
+ "doctor.js"
245
+ ]
246
+ },
247
+ "earnings": {
248
+ "aliases": [],
249
+ "args": {
250
+ "mode": {
251
+ "description": "Mode: \"live\" for real-time streaming",
252
+ "name": "mode",
253
+ "options": [
254
+ "live"
255
+ ],
256
+ "required": false
257
+ }
258
+ },
259
+ "description": "Revenue dashboard — today's summary, historical charts, or live streaming",
260
+ "examples": [
261
+ "<%= config.bin %> earnings",
262
+ "<%= config.bin %> earnings --period 30d",
263
+ "<%= config.bin %> earnings live",
264
+ "<%= config.bin %> earnings --format json"
265
+ ],
266
+ "flags": {
267
+ "api-key": {
268
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
269
+ "env": "TRILLBOARDS_API_KEY",
270
+ "name": "api-key",
271
+ "hasDynamicHelp": false,
272
+ "multiple": false,
273
+ "type": "option"
274
+ },
275
+ "base-url": {
276
+ "description": "API base URL",
277
+ "name": "base-url",
278
+ "default": "https://api.trillboards.com",
279
+ "hasDynamicHelp": false,
280
+ "multiple": false,
281
+ "type": "option"
282
+ },
283
+ "format": {
284
+ "description": "Output format",
285
+ "name": "format",
286
+ "hasDynamicHelp": false,
287
+ "multiple": false,
288
+ "options": [
289
+ "json",
290
+ "table",
291
+ "yaml"
292
+ ],
293
+ "type": "option"
294
+ },
295
+ "period": {
296
+ "description": "Time period (e.g. 1d, 7d, 30d)",
297
+ "name": "period",
298
+ "default": "1d",
299
+ "hasDynamicHelp": false,
300
+ "multiple": false,
301
+ "type": "option"
302
+ }
303
+ },
304
+ "hasDynamicHelp": false,
305
+ "hiddenAliases": [],
306
+ "id": "earnings",
307
+ "pluginAlias": "@trillboards/cli",
308
+ "pluginName": "@trillboards/cli",
309
+ "pluginType": "core",
310
+ "strict": true,
311
+ "enableJsonFlag": false,
312
+ "isESM": true,
313
+ "relativePath": [
314
+ "dist",
315
+ "commands",
316
+ "earnings.js"
317
+ ]
318
+ },
319
+ "fill-rate": {
320
+ "aliases": [],
321
+ "args": {},
322
+ "description": "Fill rate analysis — overall, per-screen, or by time",
323
+ "examples": [
324
+ "<%= config.bin %> fill-rate",
325
+ "<%= config.bin %> fill-rate --by screen",
326
+ "<%= config.bin %> fill-rate --by hour",
327
+ "<%= config.bin %> fill-rate --format json"
328
+ ],
329
+ "flags": {
330
+ "api-key": {
331
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
332
+ "env": "TRILLBOARDS_API_KEY",
333
+ "name": "api-key",
334
+ "hasDynamicHelp": false,
335
+ "multiple": false,
336
+ "type": "option"
337
+ },
338
+ "base-url": {
339
+ "description": "API base URL",
340
+ "name": "base-url",
341
+ "default": "https://api.trillboards.com",
342
+ "hasDynamicHelp": false,
343
+ "multiple": false,
344
+ "type": "option"
345
+ },
346
+ "format": {
347
+ "description": "Output format",
348
+ "name": "format",
349
+ "hasDynamicHelp": false,
350
+ "multiple": false,
351
+ "options": [
352
+ "json",
353
+ "table",
354
+ "yaml"
355
+ ],
356
+ "type": "option"
357
+ },
358
+ "by": {
359
+ "description": "Breakdown dimension",
360
+ "name": "by",
361
+ "hasDynamicHelp": false,
362
+ "multiple": false,
363
+ "options": [
364
+ "partner",
365
+ "screen",
366
+ "hour"
367
+ ],
368
+ "type": "option"
369
+ }
370
+ },
371
+ "hasDynamicHelp": false,
372
+ "hiddenAliases": [],
373
+ "id": "fill-rate",
374
+ "pluginAlias": "@trillboards/cli",
375
+ "pluginName": "@trillboards/cli",
376
+ "pluginType": "core",
377
+ "strict": true,
378
+ "enableJsonFlag": false,
379
+ "isESM": true,
380
+ "relativePath": [
381
+ "dist",
382
+ "commands",
383
+ "fill-rate.js"
384
+ ]
385
+ },
386
+ "listen": {
387
+ "aliases": [],
388
+ "args": {
389
+ "port": {
390
+ "description": "Local port to forward webhook events to",
391
+ "name": "port",
392
+ "required": true
393
+ }
394
+ },
395
+ "description": "Forward live SSE events to a local HTTP server (webhook dev loop)",
396
+ "examples": [
397
+ "<%= config.bin %> listen 3000",
398
+ "<%= config.bin %> listen 3000 --path /hooks",
399
+ "<%= config.bin %> listen 4000 --events request.logged,error.occurred"
400
+ ],
401
+ "flags": {
402
+ "api-key": {
403
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
404
+ "env": "TRILLBOARDS_API_KEY",
405
+ "name": "api-key",
406
+ "hasDynamicHelp": false,
407
+ "multiple": false,
408
+ "type": "option"
409
+ },
410
+ "base-url": {
411
+ "description": "API base URL",
412
+ "name": "base-url",
413
+ "default": "https://api.trillboards.com",
414
+ "hasDynamicHelp": false,
415
+ "multiple": false,
416
+ "type": "option"
417
+ },
418
+ "format": {
419
+ "description": "Output format",
420
+ "name": "format",
421
+ "hasDynamicHelp": false,
422
+ "multiple": false,
423
+ "options": [
424
+ "json",
425
+ "table",
426
+ "yaml"
427
+ ],
428
+ "type": "option"
429
+ },
430
+ "events": {
431
+ "description": "Comma-separated SSE event types to subscribe to (\"*\" = all)",
432
+ "name": "events",
433
+ "default": "*",
434
+ "hasDynamicHelp": false,
435
+ "multiple": false,
436
+ "type": "option"
437
+ },
438
+ "path": {
439
+ "description": "HTTP path on the local server to POST events to",
440
+ "name": "path",
441
+ "default": "/webhook",
442
+ "hasDynamicHelp": false,
443
+ "multiple": false,
444
+ "type": "option"
445
+ }
446
+ },
447
+ "hasDynamicHelp": false,
448
+ "hiddenAliases": [],
449
+ "id": "listen",
450
+ "pluginAlias": "@trillboards/cli",
451
+ "pluginName": "@trillboards/cli",
452
+ "pluginType": "core",
453
+ "strict": true,
454
+ "enableJsonFlag": false,
455
+ "isESM": true,
456
+ "relativePath": [
457
+ "dist",
458
+ "commands",
459
+ "listen.js"
460
+ ]
461
+ },
462
+ "login": {
463
+ "aliases": [],
464
+ "args": {},
465
+ "description": "Authenticate with the Trillboards API",
466
+ "examples": [
467
+ "<%= config.bin %> login",
468
+ "TRILLBOARDS_API_KEY=trb_partner_xxx <%= config.bin %> login"
469
+ ],
470
+ "flags": {
471
+ "api-key": {
472
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
473
+ "env": "TRILLBOARDS_API_KEY",
474
+ "name": "api-key",
475
+ "hasDynamicHelp": false,
476
+ "multiple": false,
477
+ "type": "option"
478
+ },
479
+ "base-url": {
480
+ "description": "API base URL",
481
+ "name": "base-url",
482
+ "default": "https://api.trillboards.com",
483
+ "hasDynamicHelp": false,
484
+ "multiple": false,
485
+ "type": "option"
486
+ },
487
+ "format": {
488
+ "description": "Output format",
489
+ "name": "format",
490
+ "hasDynamicHelp": false,
491
+ "multiple": false,
492
+ "options": [
493
+ "json",
494
+ "table",
495
+ "yaml"
496
+ ],
497
+ "type": "option"
498
+ }
499
+ },
500
+ "hasDynamicHelp": false,
501
+ "hiddenAliases": [],
502
+ "id": "login",
503
+ "pluginAlias": "@trillboards/cli",
504
+ "pluginName": "@trillboards/cli",
505
+ "pluginType": "core",
506
+ "strict": true,
507
+ "enableJsonFlag": false,
508
+ "isESM": true,
509
+ "relativePath": [
510
+ "dist",
511
+ "commands",
512
+ "login.js"
513
+ ]
514
+ },
515
+ "reconcile": {
516
+ "aliases": [],
517
+ "args": {},
518
+ "description": "Revenue reconciliation — compare our numbers with partner reports",
519
+ "examples": [
520
+ "<%= config.bin %> reconcile",
521
+ "<%= config.bin %> reconcile --period 7d",
522
+ "<%= config.bin %> reconcile --format json"
523
+ ],
524
+ "flags": {
525
+ "api-key": {
526
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
527
+ "env": "TRILLBOARDS_API_KEY",
528
+ "name": "api-key",
529
+ "hasDynamicHelp": false,
530
+ "multiple": false,
531
+ "type": "option"
532
+ },
533
+ "base-url": {
534
+ "description": "API base URL",
535
+ "name": "base-url",
536
+ "default": "https://api.trillboards.com",
537
+ "hasDynamicHelp": false,
538
+ "multiple": false,
539
+ "type": "option"
540
+ },
541
+ "format": {
542
+ "description": "Output format",
543
+ "name": "format",
544
+ "hasDynamicHelp": false,
545
+ "multiple": false,
546
+ "options": [
547
+ "json",
548
+ "table",
549
+ "yaml"
550
+ ],
551
+ "type": "option"
552
+ },
553
+ "period": {
554
+ "description": "Time period for reconciliation (e.g. 7d, 30d)",
555
+ "name": "period",
556
+ "default": "30d",
557
+ "hasDynamicHelp": false,
558
+ "multiple": false,
559
+ "type": "option"
560
+ }
561
+ },
562
+ "hasDynamicHelp": false,
563
+ "hiddenAliases": [],
564
+ "id": "reconcile",
565
+ "pluginAlias": "@trillboards/cli",
566
+ "pluginName": "@trillboards/cli",
567
+ "pluginType": "core",
568
+ "strict": true,
569
+ "enableJsonFlag": false,
570
+ "isESM": true,
571
+ "relativePath": [
572
+ "dist",
573
+ "commands",
574
+ "reconcile.js"
575
+ ]
576
+ },
577
+ "trigger": {
578
+ "aliases": [],
579
+ "args": {
580
+ "event_type": {
581
+ "description": "Event type to fire (e.g. impression_start)",
582
+ "name": "event_type",
583
+ "required": false
584
+ }
585
+ },
586
+ "description": "Fire test events in the sandbox",
587
+ "examples": [
588
+ "<%= config.bin %> trigger",
589
+ "<%= config.bin %> trigger impression_start",
590
+ "<%= config.bin %> trigger impression_complete --format json"
591
+ ],
592
+ "flags": {
593
+ "api-key": {
594
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
595
+ "env": "TRILLBOARDS_API_KEY",
596
+ "name": "api-key",
597
+ "hasDynamicHelp": false,
598
+ "multiple": false,
599
+ "type": "option"
600
+ },
601
+ "base-url": {
602
+ "description": "API base URL",
603
+ "name": "base-url",
604
+ "default": "https://api.trillboards.com",
605
+ "hasDynamicHelp": false,
606
+ "multiple": false,
607
+ "type": "option"
608
+ },
609
+ "format": {
610
+ "description": "Output format",
611
+ "name": "format",
612
+ "hasDynamicHelp": false,
613
+ "multiple": false,
614
+ "options": [
615
+ "json",
616
+ "table",
617
+ "yaml"
618
+ ],
619
+ "type": "option"
620
+ }
621
+ },
622
+ "hasDynamicHelp": false,
623
+ "hiddenAliases": [],
624
+ "id": "trigger",
625
+ "pluginAlias": "@trillboards/cli",
626
+ "pluginName": "@trillboards/cli",
627
+ "pluginType": "core",
628
+ "strict": true,
629
+ "enableJsonFlag": false,
630
+ "isESM": true,
631
+ "relativePath": [
632
+ "dist",
633
+ "commands",
634
+ "trigger.js"
635
+ ]
636
+ },
637
+ "validate": {
638
+ "aliases": [],
639
+ "args": {
640
+ "file": {
641
+ "description": "Path to JSON file to validate",
642
+ "name": "file",
643
+ "required": true
644
+ }
645
+ },
646
+ "description": "Validate a JSON payload against the API (dry-run)",
647
+ "examples": [
648
+ "<%= config.bin %> validate payload.json",
649
+ "<%= config.bin %> validate payload.json --operation create_screen"
650
+ ],
651
+ "flags": {
652
+ "api-key": {
653
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
654
+ "env": "TRILLBOARDS_API_KEY",
655
+ "name": "api-key",
656
+ "hasDynamicHelp": false,
657
+ "multiple": false,
658
+ "type": "option"
659
+ },
660
+ "base-url": {
661
+ "description": "API base URL",
662
+ "name": "base-url",
663
+ "default": "https://api.trillboards.com",
664
+ "hasDynamicHelp": false,
665
+ "multiple": false,
666
+ "type": "option"
667
+ },
668
+ "format": {
669
+ "description": "Output format",
670
+ "name": "format",
671
+ "hasDynamicHelp": false,
672
+ "multiple": false,
673
+ "options": [
674
+ "json",
675
+ "table",
676
+ "yaml"
677
+ ],
678
+ "type": "option"
679
+ },
680
+ "operation": {
681
+ "char": "o",
682
+ "description": "Operation ID for the playground endpoint (e.g. create_screen)",
683
+ "name": "operation",
684
+ "hasDynamicHelp": false,
685
+ "multiple": false,
686
+ "type": "option"
687
+ }
688
+ },
689
+ "hasDynamicHelp": false,
690
+ "hiddenAliases": [],
691
+ "id": "validate",
692
+ "pluginAlias": "@trillboards/cli",
693
+ "pluginName": "@trillboards/cli",
694
+ "pluginType": "core",
695
+ "strict": true,
696
+ "enableJsonFlag": false,
697
+ "isESM": true,
698
+ "relativePath": [
699
+ "dist",
700
+ "commands",
701
+ "validate.js"
702
+ ]
703
+ },
704
+ "whoami": {
705
+ "aliases": [],
706
+ "args": {},
707
+ "description": "Show current partner info and API key status",
708
+ "examples": [
709
+ "<%= config.bin %> whoami",
710
+ "<%= config.bin %> whoami --format json"
711
+ ],
712
+ "flags": {
713
+ "api-key": {
714
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
715
+ "env": "TRILLBOARDS_API_KEY",
716
+ "name": "api-key",
717
+ "hasDynamicHelp": false,
718
+ "multiple": false,
719
+ "type": "option"
720
+ },
721
+ "base-url": {
722
+ "description": "API base URL",
723
+ "name": "base-url",
724
+ "default": "https://api.trillboards.com",
725
+ "hasDynamicHelp": false,
726
+ "multiple": false,
727
+ "type": "option"
728
+ },
729
+ "format": {
730
+ "description": "Output format",
731
+ "name": "format",
732
+ "hasDynamicHelp": false,
733
+ "multiple": false,
734
+ "options": [
735
+ "json",
736
+ "table",
737
+ "yaml"
738
+ ],
739
+ "type": "option"
740
+ }
741
+ },
742
+ "hasDynamicHelp": false,
743
+ "hiddenAliases": [],
744
+ "id": "whoami",
745
+ "pluginAlias": "@trillboards/cli",
746
+ "pluginName": "@trillboards/cli",
747
+ "pluginType": "core",
748
+ "strict": true,
749
+ "enableJsonFlag": false,
750
+ "isESM": true,
751
+ "relativePath": [
752
+ "dist",
753
+ "commands",
754
+ "whoami.js"
755
+ ]
756
+ },
757
+ "audience:live": {
758
+ "aliases": [],
759
+ "args": {
760
+ "screen_id": {
761
+ "description": "Screen ID to monitor",
762
+ "name": "screen_id",
763
+ "required": true
764
+ }
765
+ },
766
+ "description": "Real-time audience sensing data for a screen",
767
+ "examples": [
768
+ "<%= config.bin %> audience live scr_abc123",
769
+ "<%= config.bin %> audience live scr_abc123 --format json",
770
+ "<%= config.bin %> audience live scr_abc123 --interval 3"
771
+ ],
772
+ "flags": {
773
+ "api-key": {
774
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
775
+ "env": "TRILLBOARDS_API_KEY",
776
+ "name": "api-key",
777
+ "hasDynamicHelp": false,
778
+ "multiple": false,
779
+ "type": "option"
780
+ },
781
+ "base-url": {
782
+ "description": "API base URL",
783
+ "name": "base-url",
784
+ "default": "https://api.trillboards.com",
785
+ "hasDynamicHelp": false,
786
+ "multiple": false,
787
+ "type": "option"
788
+ },
789
+ "format": {
790
+ "description": "Output format",
791
+ "name": "format",
792
+ "hasDynamicHelp": false,
793
+ "multiple": false,
794
+ "options": [
795
+ "json",
796
+ "table",
797
+ "yaml"
798
+ ],
799
+ "type": "option"
800
+ },
801
+ "interval": {
802
+ "description": "Polling interval in seconds",
803
+ "name": "interval",
804
+ "default": 5,
805
+ "hasDynamicHelp": false,
806
+ "multiple": false,
807
+ "type": "option"
808
+ }
809
+ },
810
+ "hasDynamicHelp": false,
811
+ "hiddenAliases": [],
812
+ "id": "audience:live",
813
+ "pluginAlias": "@trillboards/cli",
814
+ "pluginName": "@trillboards/cli",
815
+ "pluginType": "core",
816
+ "strict": true,
817
+ "enableJsonFlag": false,
818
+ "isESM": true,
819
+ "relativePath": [
820
+ "dist",
821
+ "commands",
822
+ "audience",
823
+ "live.js"
824
+ ]
825
+ },
826
+ "billing:usage": {
827
+ "aliases": [],
828
+ "args": {},
829
+ "description": "Billing usage details with optional per-product breakdown",
830
+ "examples": [
831
+ "<%= config.bin %> billing usage",
832
+ "<%= config.bin %> billing usage --breakdown",
833
+ "<%= config.bin %> billing usage --format json"
834
+ ],
835
+ "flags": {
836
+ "api-key": {
837
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
838
+ "env": "TRILLBOARDS_API_KEY",
839
+ "name": "api-key",
840
+ "hasDynamicHelp": false,
841
+ "multiple": false,
842
+ "type": "option"
843
+ },
844
+ "base-url": {
845
+ "description": "API base URL",
846
+ "name": "base-url",
847
+ "default": "https://api.trillboards.com",
848
+ "hasDynamicHelp": false,
849
+ "multiple": false,
850
+ "type": "option"
851
+ },
852
+ "format": {
853
+ "description": "Output format",
854
+ "name": "format",
855
+ "hasDynamicHelp": false,
856
+ "multiple": false,
857
+ "options": [
858
+ "json",
859
+ "table",
860
+ "yaml"
861
+ ],
862
+ "type": "option"
863
+ },
864
+ "breakdown": {
865
+ "description": "Show per-product breakdown table",
866
+ "name": "breakdown",
867
+ "allowNo": false,
868
+ "type": "boolean"
869
+ }
870
+ },
871
+ "hasDynamicHelp": false,
872
+ "hiddenAliases": [],
873
+ "id": "billing:usage",
874
+ "pluginAlias": "@trillboards/cli",
875
+ "pluginName": "@trillboards/cli",
876
+ "pluginType": "core",
877
+ "strict": true,
878
+ "enableJsonFlag": false,
879
+ "isESM": true,
880
+ "relativePath": [
881
+ "dist",
882
+ "commands",
883
+ "billing",
884
+ "usage.js"
885
+ ]
886
+ },
887
+ "errors": {
888
+ "aliases": [],
889
+ "args": {
890
+ "code": {
891
+ "description": "Error code to look up (e.g. screen_not_found)",
892
+ "name": "code",
893
+ "required": false
894
+ }
895
+ },
896
+ "description": "Look up error codes from the error catalog",
897
+ "examples": [
898
+ "<%= config.bin %> errors",
899
+ "<%= config.bin %> errors screen_not_found",
900
+ "<%= config.bin %> errors --format json"
901
+ ],
902
+ "flags": {
903
+ "api-key": {
904
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
905
+ "env": "TRILLBOARDS_API_KEY",
906
+ "name": "api-key",
907
+ "hasDynamicHelp": false,
908
+ "multiple": false,
909
+ "type": "option"
910
+ },
911
+ "base-url": {
912
+ "description": "API base URL",
913
+ "name": "base-url",
914
+ "default": "https://api.trillboards.com",
915
+ "hasDynamicHelp": false,
916
+ "multiple": false,
917
+ "type": "option"
918
+ },
919
+ "format": {
920
+ "description": "Output format",
921
+ "name": "format",
922
+ "hasDynamicHelp": false,
923
+ "multiple": false,
924
+ "options": [
925
+ "json",
926
+ "table",
927
+ "yaml"
928
+ ],
929
+ "type": "option"
930
+ }
931
+ },
932
+ "hasDynamicHelp": false,
933
+ "hiddenAliases": [],
934
+ "id": "errors",
935
+ "pluginAlias": "@trillboards/cli",
936
+ "pluginName": "@trillboards/cli",
937
+ "pluginType": "core",
938
+ "strict": true,
939
+ "enableJsonFlag": false,
940
+ "isESM": true,
941
+ "relativePath": [
942
+ "dist",
943
+ "commands",
944
+ "errors",
945
+ "index.js"
946
+ ]
947
+ },
948
+ "endpoints": {
949
+ "aliases": [],
950
+ "args": {},
951
+ "description": "Discover available API endpoints",
952
+ "examples": [
953
+ "<%= config.bin %> endpoints",
954
+ "<%= config.bin %> endpoints --search screens",
955
+ "<%= config.bin %> endpoints --format json"
956
+ ],
957
+ "flags": {
958
+ "api-key": {
959
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
960
+ "env": "TRILLBOARDS_API_KEY",
961
+ "name": "api-key",
962
+ "hasDynamicHelp": false,
963
+ "multiple": false,
964
+ "type": "option"
965
+ },
966
+ "base-url": {
967
+ "description": "API base URL",
968
+ "name": "base-url",
969
+ "default": "https://api.trillboards.com",
970
+ "hasDynamicHelp": false,
971
+ "multiple": false,
972
+ "type": "option"
973
+ },
974
+ "format": {
975
+ "description": "Output format",
976
+ "name": "format",
977
+ "hasDynamicHelp": false,
978
+ "multiple": false,
979
+ "options": [
980
+ "json",
981
+ "table",
982
+ "yaml"
983
+ ],
984
+ "type": "option"
985
+ },
986
+ "search": {
987
+ "char": "s",
988
+ "description": "Search query to filter endpoints",
989
+ "name": "search",
990
+ "hasDynamicHelp": false,
991
+ "multiple": false,
992
+ "type": "option"
993
+ }
994
+ },
995
+ "hasDynamicHelp": false,
996
+ "hiddenAliases": [],
997
+ "id": "endpoints",
998
+ "pluginAlias": "@trillboards/cli",
999
+ "pluginName": "@trillboards/cli",
1000
+ "pluginType": "core",
1001
+ "strict": true,
1002
+ "enableJsonFlag": false,
1003
+ "isESM": true,
1004
+ "relativePath": [
1005
+ "dist",
1006
+ "commands",
1007
+ "endpoints",
1008
+ "index.js"
1009
+ ]
1010
+ },
1011
+ "logs:tail": {
1012
+ "aliases": [],
1013
+ "args": {},
1014
+ "description": "Tail real-time request logs via server-sent events",
1015
+ "examples": [
1016
+ "<%= config.bin %> logs tail",
1017
+ "<%= config.bin %> logs tail --events error.occurred",
1018
+ "<%= config.bin %> logs tail --status 4xx,5xx",
1019
+ "<%= config.bin %> logs tail --events request.logged,error.occurred --status 5xx"
1020
+ ],
1021
+ "flags": {
1022
+ "api-key": {
1023
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1024
+ "env": "TRILLBOARDS_API_KEY",
1025
+ "name": "api-key",
1026
+ "hasDynamicHelp": false,
1027
+ "multiple": false,
1028
+ "type": "option"
1029
+ },
1030
+ "base-url": {
1031
+ "description": "API base URL",
1032
+ "name": "base-url",
1033
+ "default": "https://api.trillboards.com",
1034
+ "hasDynamicHelp": false,
1035
+ "multiple": false,
1036
+ "type": "option"
1037
+ },
1038
+ "format": {
1039
+ "description": "Output format",
1040
+ "name": "format",
1041
+ "hasDynamicHelp": false,
1042
+ "multiple": false,
1043
+ "options": [
1044
+ "json",
1045
+ "table",
1046
+ "yaml"
1047
+ ],
1048
+ "type": "option"
1049
+ },
1050
+ "events": {
1051
+ "description": "Comma-separated SSE event types to subscribe to",
1052
+ "name": "events",
1053
+ "default": "request.logged,error.occurred",
1054
+ "hasDynamicHelp": false,
1055
+ "multiple": false,
1056
+ "type": "option"
1057
+ },
1058
+ "status": {
1059
+ "description": "Filter by status code pattern (e.g. \"4xx\", \"5xx\", \"4xx,5xx\", \"404\")",
1060
+ "name": "status",
1061
+ "hasDynamicHelp": false,
1062
+ "multiple": false,
1063
+ "type": "option"
1064
+ }
1065
+ },
1066
+ "hasDynamicHelp": false,
1067
+ "hiddenAliases": [],
1068
+ "id": "logs:tail",
1069
+ "pluginAlias": "@trillboards/cli",
1070
+ "pluginName": "@trillboards/cli",
1071
+ "pluginType": "core",
1072
+ "strict": true,
1073
+ "enableJsonFlag": false,
1074
+ "isESM": true,
1075
+ "relativePath": [
1076
+ "dist",
1077
+ "commands",
1078
+ "logs",
1079
+ "tail.js"
1080
+ ]
1081
+ },
1082
+ "screens:watch": {
1083
+ "aliases": [],
1084
+ "args": {},
1085
+ "description": "Live fleet dashboard — watch all screens in real-time",
1086
+ "examples": [
1087
+ "<%= config.bin %> screens watch",
1088
+ "<%= config.bin %> screens watch --filter online",
1089
+ "<%= config.bin %> screens watch --sort earnings",
1090
+ "<%= config.bin %> screens watch --format json"
1091
+ ],
1092
+ "flags": {
1093
+ "api-key": {
1094
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1095
+ "env": "TRILLBOARDS_API_KEY",
1096
+ "name": "api-key",
1097
+ "hasDynamicHelp": false,
1098
+ "multiple": false,
1099
+ "type": "option"
1100
+ },
1101
+ "base-url": {
1102
+ "description": "API base URL",
1103
+ "name": "base-url",
1104
+ "default": "https://api.trillboards.com",
1105
+ "hasDynamicHelp": false,
1106
+ "multiple": false,
1107
+ "type": "option"
1108
+ },
1109
+ "format": {
1110
+ "description": "Output format",
1111
+ "name": "format",
1112
+ "hasDynamicHelp": false,
1113
+ "multiple": false,
1114
+ "options": [
1115
+ "json",
1116
+ "table",
1117
+ "yaml"
1118
+ ],
1119
+ "type": "option"
1120
+ },
1121
+ "filter": {
1122
+ "description": "Filter screens by status",
1123
+ "name": "filter",
1124
+ "hasDynamicHelp": false,
1125
+ "multiple": false,
1126
+ "options": [
1127
+ "online",
1128
+ "offline"
1129
+ ],
1130
+ "type": "option"
1131
+ },
1132
+ "interval": {
1133
+ "description": "Refresh interval in seconds",
1134
+ "name": "interval",
1135
+ "default": 10,
1136
+ "hasDynamicHelp": false,
1137
+ "multiple": false,
1138
+ "type": "option"
1139
+ },
1140
+ "sort": {
1141
+ "description": "Sort column",
1142
+ "name": "sort",
1143
+ "default": "name",
1144
+ "hasDynamicHelp": false,
1145
+ "multiple": false,
1146
+ "options": [
1147
+ "name",
1148
+ "earnings",
1149
+ "fill-rate"
1150
+ ],
1151
+ "type": "option"
1152
+ }
1153
+ },
1154
+ "hasDynamicHelp": false,
1155
+ "hiddenAliases": [],
1156
+ "id": "screens:watch",
1157
+ "pluginAlias": "@trillboards/cli",
1158
+ "pluginName": "@trillboards/cli",
1159
+ "pluginType": "core",
1160
+ "strict": true,
1161
+ "enableJsonFlag": false,
1162
+ "isESM": true,
1163
+ "relativePath": [
1164
+ "dist",
1165
+ "commands",
1166
+ "screens",
1167
+ "watch.js"
1168
+ ]
1169
+ },
1170
+ "generated:generated-changelog-query": {
1171
+ "aliases": [],
1172
+ "args": {},
1173
+ "description": "Query API changelog",
1174
+ "examples": [
1175
+ "$ trillboards generated changelog query"
1176
+ ],
1177
+ "flags": {
1178
+ "api-key": {
1179
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1180
+ "env": "TRILLBOARDS_API_KEY",
1181
+ "name": "api-key",
1182
+ "hasDynamicHelp": false,
1183
+ "multiple": false,
1184
+ "type": "option"
1185
+ },
1186
+ "base-url": {
1187
+ "description": "API base URL",
1188
+ "name": "base-url",
1189
+ "default": "https://api.trillboards.com",
1190
+ "hasDynamicHelp": false,
1191
+ "multiple": false,
1192
+ "type": "option"
1193
+ },
1194
+ "format": {
1195
+ "description": "Output format",
1196
+ "name": "format",
1197
+ "hasDynamicHelp": false,
1198
+ "multiple": false,
1199
+ "options": [
1200
+ "json",
1201
+ "table",
1202
+ "yaml"
1203
+ ],
1204
+ "type": "option"
1205
+ },
1206
+ "since": {
1207
+ "description": "Only entries dated on or after this date (YYYY-MM-DD). Unreleased entries always included.",
1208
+ "name": "since",
1209
+ "hasDynamicHelp": false,
1210
+ "multiple": false,
1211
+ "type": "option"
1212
+ },
1213
+ "type": {
1214
+ "description": "Filter by change category: \"breaking\" (changed+removed), \"additive\" (added), \"deprecation\" (deprecated), \"fix\" (fixed). Comma-separated for multiple.",
1215
+ "name": "type",
1216
+ "hasDynamicHelp": false,
1217
+ "multiple": false,
1218
+ "type": "option"
1219
+ }
1220
+ },
1221
+ "hasDynamicHelp": false,
1222
+ "hiddenAliases": [],
1223
+ "id": "generated:generated-changelog-query",
1224
+ "pluginAlias": "@trillboards/cli",
1225
+ "pluginName": "@trillboards/cli",
1226
+ "pluginType": "core",
1227
+ "strict": true,
1228
+ "enableJsonFlag": false,
1229
+ "isESM": true,
1230
+ "relativePath": [
1231
+ "dist",
1232
+ "commands",
1233
+ "generated",
1234
+ "generated-changelog-query.js"
1235
+ ]
1236
+ },
1237
+ "generated:generated-data-api-aggregate": {
1238
+ "aliases": [],
1239
+ "args": {},
1240
+ "description": "Aggregate audience analytics for a time window.",
1241
+ "examples": [
1242
+ "$ trillboards generated data-api-aggregate"
1243
+ ],
1244
+ "flags": {
1245
+ "api-key": {
1246
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1247
+ "env": "TRILLBOARDS_API_KEY",
1248
+ "name": "api-key",
1249
+ "hasDynamicHelp": false,
1250
+ "multiple": false,
1251
+ "type": "option"
1252
+ },
1253
+ "base-url": {
1254
+ "description": "API base URL",
1255
+ "name": "base-url",
1256
+ "default": "https://api.trillboards.com",
1257
+ "hasDynamicHelp": false,
1258
+ "multiple": false,
1259
+ "type": "option"
1260
+ },
1261
+ "format": {
1262
+ "description": "Output format",
1263
+ "name": "format",
1264
+ "hasDynamicHelp": false,
1265
+ "multiple": false,
1266
+ "options": [
1267
+ "json",
1268
+ "table",
1269
+ "yaml"
1270
+ ],
1271
+ "type": "option"
1272
+ },
1273
+ "group_by": {
1274
+ "description": "Dimension to group aggregations by.",
1275
+ "name": "group_by",
1276
+ "hasDynamicHelp": false,
1277
+ "multiple": false,
1278
+ "type": "option"
1279
+ },
1280
+ "metric": {
1281
+ "description": "Metric to aggregate on.",
1282
+ "name": "metric",
1283
+ "hasDynamicHelp": false,
1284
+ "multiple": false,
1285
+ "type": "option"
1286
+ },
1287
+ "since": {
1288
+ "description": "Relative time window (e.g. \"24h\", \"7d\").",
1289
+ "name": "since",
1290
+ "hasDynamicHelp": false,
1291
+ "multiple": false,
1292
+ "type": "option"
1293
+ }
1294
+ },
1295
+ "hasDynamicHelp": false,
1296
+ "hiddenAliases": [],
1297
+ "id": "generated:generated-data-api-aggregate",
1298
+ "pluginAlias": "@trillboards/cli",
1299
+ "pluginName": "@trillboards/cli",
1300
+ "pluginType": "core",
1301
+ "strict": true,
1302
+ "enableJsonFlag": false,
1303
+ "isESM": true,
1304
+ "relativePath": [
1305
+ "dist",
1306
+ "commands",
1307
+ "generated",
1308
+ "generated-data-api-aggregate.js"
1309
+ ]
1310
+ },
1311
+ "generated:generated-data-api-list-screens": {
1312
+ "aliases": [],
1313
+ "args": {},
1314
+ "description": "List screens visible to the caller.",
1315
+ "examples": [
1316
+ "$ trillboards generated data-api-list-screens"
1317
+ ],
1318
+ "flags": {
1319
+ "api-key": {
1320
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1321
+ "env": "TRILLBOARDS_API_KEY",
1322
+ "name": "api-key",
1323
+ "hasDynamicHelp": false,
1324
+ "multiple": false,
1325
+ "type": "option"
1326
+ },
1327
+ "base-url": {
1328
+ "description": "API base URL",
1329
+ "name": "base-url",
1330
+ "default": "https://api.trillboards.com",
1331
+ "hasDynamicHelp": false,
1332
+ "multiple": false,
1333
+ "type": "option"
1334
+ },
1335
+ "format": {
1336
+ "description": "Output format",
1337
+ "name": "format",
1338
+ "hasDynamicHelp": false,
1339
+ "multiple": false,
1340
+ "options": [
1341
+ "json",
1342
+ "table",
1343
+ "yaml"
1344
+ ],
1345
+ "type": "option"
1346
+ },
1347
+ "limit": {
1348
+ "description": "limit",
1349
+ "name": "limit",
1350
+ "hasDynamicHelp": false,
1351
+ "multiple": false,
1352
+ "type": "option"
1353
+ },
1354
+ "offset": {
1355
+ "description": "offset",
1356
+ "name": "offset",
1357
+ "hasDynamicHelp": false,
1358
+ "multiple": false,
1359
+ "type": "option"
1360
+ },
1361
+ "venue_type": {
1362
+ "description": "Filter by venue taxonomy type (e.g. bar, restaurant).",
1363
+ "name": "venue_type",
1364
+ "hasDynamicHelp": false,
1365
+ "multiple": false,
1366
+ "type": "option"
1367
+ },
1368
+ "country": {
1369
+ "description": "ISO-3166 alpha-2 country code.",
1370
+ "name": "country",
1371
+ "hasDynamicHelp": false,
1372
+ "multiple": false,
1373
+ "type": "option"
1374
+ }
1375
+ },
1376
+ "hasDynamicHelp": false,
1377
+ "hiddenAliases": [],
1378
+ "id": "generated:generated-data-api-list-screens",
1379
+ "pluginAlias": "@trillboards/cli",
1380
+ "pluginName": "@trillboards/cli",
1381
+ "pluginType": "core",
1382
+ "strict": true,
1383
+ "enableJsonFlag": false,
1384
+ "isESM": true,
1385
+ "relativePath": [
1386
+ "dist",
1387
+ "commands",
1388
+ "generated",
1389
+ "generated-data-api-list-screens.js"
1390
+ ]
1391
+ },
1392
+ "generated:generated-data-api-lookalike-screens": {
1393
+ "aliases": [],
1394
+ "args": {},
1395
+ "description": "Find screens with similar audience profiles.",
1396
+ "examples": [
1397
+ "$ trillboards generated data-api-lookalike-screens"
1398
+ ],
1399
+ "flags": {
1400
+ "api-key": {
1401
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1402
+ "env": "TRILLBOARDS_API_KEY",
1403
+ "name": "api-key",
1404
+ "hasDynamicHelp": false,
1405
+ "multiple": false,
1406
+ "type": "option"
1407
+ },
1408
+ "base-url": {
1409
+ "description": "API base URL",
1410
+ "name": "base-url",
1411
+ "default": "https://api.trillboards.com",
1412
+ "hasDynamicHelp": false,
1413
+ "multiple": false,
1414
+ "type": "option"
1415
+ },
1416
+ "format": {
1417
+ "description": "Output format",
1418
+ "name": "format",
1419
+ "hasDynamicHelp": false,
1420
+ "multiple": false,
1421
+ "options": [
1422
+ "json",
1423
+ "table",
1424
+ "yaml"
1425
+ ],
1426
+ "type": "option"
1427
+ },
1428
+ "screen_id": {
1429
+ "description": "Internal screen identifier.",
1430
+ "name": "screen_id",
1431
+ "hasDynamicHelp": false,
1432
+ "multiple": false,
1433
+ "type": "option"
1434
+ },
1435
+ "limit": {
1436
+ "description": "limit",
1437
+ "name": "limit",
1438
+ "hasDynamicHelp": false,
1439
+ "multiple": false,
1440
+ "type": "option"
1441
+ },
1442
+ "min_similarity": {
1443
+ "description": "min_similarity",
1444
+ "name": "min_similarity",
1445
+ "hasDynamicHelp": false,
1446
+ "multiple": false,
1447
+ "type": "option"
1448
+ }
1449
+ },
1450
+ "hasDynamicHelp": false,
1451
+ "hiddenAliases": [],
1452
+ "id": "generated:generated-data-api-lookalike-screens",
1453
+ "pluginAlias": "@trillboards/cli",
1454
+ "pluginName": "@trillboards/cli",
1455
+ "pluginType": "core",
1456
+ "strict": true,
1457
+ "enableJsonFlag": false,
1458
+ "isESM": true,
1459
+ "relativePath": [
1460
+ "dist",
1461
+ "commands",
1462
+ "generated",
1463
+ "generated-data-api-lookalike-screens.js"
1464
+ ]
1465
+ },
1466
+ "generated:generated-data-api-query-dsl": {
1467
+ "aliases": [],
1468
+ "args": {},
1469
+ "description": "Composable query DSL over approved datasets.",
1470
+ "examples": [
1471
+ "$ trillboards generated data-api-query-dsl"
1472
+ ],
1473
+ "flags": {
1474
+ "api-key": {
1475
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1476
+ "env": "TRILLBOARDS_API_KEY",
1477
+ "name": "api-key",
1478
+ "hasDynamicHelp": false,
1479
+ "multiple": false,
1480
+ "type": "option"
1481
+ },
1482
+ "base-url": {
1483
+ "description": "API base URL",
1484
+ "name": "base-url",
1485
+ "default": "https://api.trillboards.com",
1486
+ "hasDynamicHelp": false,
1487
+ "multiple": false,
1488
+ "type": "option"
1489
+ },
1490
+ "format": {
1491
+ "description": "Output format",
1492
+ "name": "format",
1493
+ "hasDynamicHelp": false,
1494
+ "multiple": false,
1495
+ "options": [
1496
+ "json",
1497
+ "table",
1498
+ "yaml"
1499
+ ],
1500
+ "type": "option"
1501
+ },
1502
+ "data": {
1503
+ "description": "JSON request body",
1504
+ "name": "data",
1505
+ "hasDynamicHelp": false,
1506
+ "multiple": false,
1507
+ "type": "option"
1508
+ }
1509
+ },
1510
+ "hasDynamicHelp": false,
1511
+ "hiddenAliases": [],
1512
+ "id": "generated:generated-data-api-query-dsl",
1513
+ "pluginAlias": "@trillboards/cli",
1514
+ "pluginName": "@trillboards/cli",
1515
+ "pluginType": "core",
1516
+ "strict": true,
1517
+ "enableJsonFlag": false,
1518
+ "isESM": true,
1519
+ "relativePath": [
1520
+ "dist",
1521
+ "commands",
1522
+ "generated",
1523
+ "generated-data-api-query-dsl.js"
1524
+ ]
1525
+ },
1526
+ "generated:generated-data-api-screen-audience-history": {
1527
+ "aliases": [],
1528
+ "args": {
1529
+ "screenId": {
1530
+ "description": "Internal screen identifier.",
1531
+ "name": "screenId",
1532
+ "required": true
1533
+ }
1534
+ },
1535
+ "description": "Historical audience_metrics rows for a screen.",
1536
+ "examples": [
1537
+ "$ trillboards generated data-api-screen-audience-history"
1538
+ ],
1539
+ "flags": {
1540
+ "api-key": {
1541
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1542
+ "env": "TRILLBOARDS_API_KEY",
1543
+ "name": "api-key",
1544
+ "hasDynamicHelp": false,
1545
+ "multiple": false,
1546
+ "type": "option"
1547
+ },
1548
+ "base-url": {
1549
+ "description": "API base URL",
1550
+ "name": "base-url",
1551
+ "default": "https://api.trillboards.com",
1552
+ "hasDynamicHelp": false,
1553
+ "multiple": false,
1554
+ "type": "option"
1555
+ },
1556
+ "format": {
1557
+ "description": "Output format",
1558
+ "name": "format",
1559
+ "hasDynamicHelp": false,
1560
+ "multiple": false,
1561
+ "options": [
1562
+ "json",
1563
+ "table",
1564
+ "yaml"
1565
+ ],
1566
+ "type": "option"
1567
+ },
1568
+ "since": {
1569
+ "description": "ISO-8601 start timestamp.",
1570
+ "name": "since",
1571
+ "hasDynamicHelp": false,
1572
+ "multiple": false,
1573
+ "type": "option"
1574
+ },
1575
+ "until": {
1576
+ "description": "ISO-8601 end timestamp.",
1577
+ "name": "until",
1578
+ "hasDynamicHelp": false,
1579
+ "multiple": false,
1580
+ "type": "option"
1581
+ },
1582
+ "limit": {
1583
+ "description": "limit",
1584
+ "name": "limit",
1585
+ "hasDynamicHelp": false,
1586
+ "multiple": false,
1587
+ "type": "option"
1588
+ }
1589
+ },
1590
+ "hasDynamicHelp": false,
1591
+ "hiddenAliases": [],
1592
+ "id": "generated:generated-data-api-screen-audience-history",
1593
+ "pluginAlias": "@trillboards/cli",
1594
+ "pluginName": "@trillboards/cli",
1595
+ "pluginType": "core",
1596
+ "strict": true,
1597
+ "enableJsonFlag": false,
1598
+ "isESM": true,
1599
+ "relativePath": [
1600
+ "dist",
1601
+ "commands",
1602
+ "generated",
1603
+ "generated-data-api-screen-audience-history.js"
1604
+ ]
1605
+ },
1606
+ "generated:generated-data-api-screen-audience-live": {
1607
+ "aliases": [],
1608
+ "args": {
1609
+ "screenId": {
1610
+ "description": "Internal screen identifier.",
1611
+ "name": "screenId",
1612
+ "required": true
1613
+ }
1614
+ },
1615
+ "description": "Real-time audience snapshot for a screen.",
1616
+ "examples": [
1617
+ "$ trillboards generated data-api-screen-audience-live"
1618
+ ],
1619
+ "flags": {
1620
+ "api-key": {
1621
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1622
+ "env": "TRILLBOARDS_API_KEY",
1623
+ "name": "api-key",
1624
+ "hasDynamicHelp": false,
1625
+ "multiple": false,
1626
+ "type": "option"
1627
+ },
1628
+ "base-url": {
1629
+ "description": "API base URL",
1630
+ "name": "base-url",
1631
+ "default": "https://api.trillboards.com",
1632
+ "hasDynamicHelp": false,
1633
+ "multiple": false,
1634
+ "type": "option"
1635
+ },
1636
+ "format": {
1637
+ "description": "Output format",
1638
+ "name": "format",
1639
+ "hasDynamicHelp": false,
1640
+ "multiple": false,
1641
+ "options": [
1642
+ "json",
1643
+ "table",
1644
+ "yaml"
1645
+ ],
1646
+ "type": "option"
1647
+ }
1648
+ },
1649
+ "hasDynamicHelp": false,
1650
+ "hiddenAliases": [],
1651
+ "id": "generated:generated-data-api-screen-audience-live",
1652
+ "pluginAlias": "@trillboards/cli",
1653
+ "pluginName": "@trillboards/cli",
1654
+ "pluginType": "core",
1655
+ "strict": true,
1656
+ "enableJsonFlag": false,
1657
+ "isESM": true,
1658
+ "relativePath": [
1659
+ "dist",
1660
+ "commands",
1661
+ "generated",
1662
+ "generated-data-api-screen-audience-live.js"
1663
+ ]
1664
+ },
1665
+ "generated:generated-data-api-semantic-search": {
1666
+ "aliases": [],
1667
+ "args": {},
1668
+ "description": "Similarity search over scene embeddings.",
1669
+ "examples": [
1670
+ "$ trillboards generated data-api-semantic-search"
1671
+ ],
1672
+ "flags": {
1673
+ "api-key": {
1674
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1675
+ "env": "TRILLBOARDS_API_KEY",
1676
+ "name": "api-key",
1677
+ "hasDynamicHelp": false,
1678
+ "multiple": false,
1679
+ "type": "option"
1680
+ },
1681
+ "base-url": {
1682
+ "description": "API base URL",
1683
+ "name": "base-url",
1684
+ "default": "https://api.trillboards.com",
1685
+ "hasDynamicHelp": false,
1686
+ "multiple": false,
1687
+ "type": "option"
1688
+ },
1689
+ "format": {
1690
+ "description": "Output format",
1691
+ "name": "format",
1692
+ "hasDynamicHelp": false,
1693
+ "multiple": false,
1694
+ "options": [
1695
+ "json",
1696
+ "table",
1697
+ "yaml"
1698
+ ],
1699
+ "type": "option"
1700
+ },
1701
+ "q": {
1702
+ "description": "q",
1703
+ "name": "q",
1704
+ "hasDynamicHelp": false,
1705
+ "multiple": false,
1706
+ "type": "option"
1707
+ },
1708
+ "limit": {
1709
+ "description": "limit",
1710
+ "name": "limit",
1711
+ "hasDynamicHelp": false,
1712
+ "multiple": false,
1713
+ "type": "option"
1714
+ },
1715
+ "since": {
1716
+ "description": "Relative time window (e.g. \"24h\", \"7d\").",
1717
+ "name": "since",
1718
+ "hasDynamicHelp": false,
1719
+ "multiple": false,
1720
+ "type": "option"
1721
+ },
1722
+ "min_similarity": {
1723
+ "description": "min_similarity",
1724
+ "name": "min_similarity",
1725
+ "hasDynamicHelp": false,
1726
+ "multiple": false,
1727
+ "type": "option"
1728
+ }
1729
+ },
1730
+ "hasDynamicHelp": false,
1731
+ "hiddenAliases": [],
1732
+ "id": "generated:generated-data-api-semantic-search",
1733
+ "pluginAlias": "@trillboards/cli",
1734
+ "pluginName": "@trillboards/cli",
1735
+ "pluginType": "core",
1736
+ "strict": true,
1737
+ "enableJsonFlag": false,
1738
+ "isESM": true,
1739
+ "relativePath": [
1740
+ "dist",
1741
+ "commands",
1742
+ "generated",
1743
+ "generated-data-api-semantic-search.js"
1744
+ ]
1745
+ },
1746
+ "generated:generated-data-api-stats": {
1747
+ "aliases": [],
1748
+ "args": {},
1749
+ "description": "Platform-wide counters.",
1750
+ "examples": [
1751
+ "$ trillboards generated data-api-stats"
1752
+ ],
1753
+ "flags": {
1754
+ "api-key": {
1755
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1756
+ "env": "TRILLBOARDS_API_KEY",
1757
+ "name": "api-key",
1758
+ "hasDynamicHelp": false,
1759
+ "multiple": false,
1760
+ "type": "option"
1761
+ },
1762
+ "base-url": {
1763
+ "description": "API base URL",
1764
+ "name": "base-url",
1765
+ "default": "https://api.trillboards.com",
1766
+ "hasDynamicHelp": false,
1767
+ "multiple": false,
1768
+ "type": "option"
1769
+ },
1770
+ "format": {
1771
+ "description": "Output format",
1772
+ "name": "format",
1773
+ "hasDynamicHelp": false,
1774
+ "multiple": false,
1775
+ "options": [
1776
+ "json",
1777
+ "table",
1778
+ "yaml"
1779
+ ],
1780
+ "type": "option"
1781
+ }
1782
+ },
1783
+ "hasDynamicHelp": false,
1784
+ "hiddenAliases": [],
1785
+ "id": "generated:generated-data-api-stats",
1786
+ "pluginAlias": "@trillboards/cli",
1787
+ "pluginName": "@trillboards/cli",
1788
+ "pluginType": "core",
1789
+ "strict": true,
1790
+ "enableJsonFlag": false,
1791
+ "isESM": true,
1792
+ "relativePath": [
1793
+ "dist",
1794
+ "commands",
1795
+ "generated",
1796
+ "generated-data-api-stats.js"
1797
+ ]
1798
+ },
1799
+ "generated:generated-data-api-stream": {
1800
+ "aliases": [],
1801
+ "args": {},
1802
+ "description": "Server-Sent Events stream of live audience/observation events.",
1803
+ "examples": [
1804
+ "$ trillboards generated data-api-stream"
1805
+ ],
1806
+ "flags": {
1807
+ "api-key": {
1808
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1809
+ "env": "TRILLBOARDS_API_KEY",
1810
+ "name": "api-key",
1811
+ "hasDynamicHelp": false,
1812
+ "multiple": false,
1813
+ "type": "option"
1814
+ },
1815
+ "base-url": {
1816
+ "description": "API base URL",
1817
+ "name": "base-url",
1818
+ "default": "https://api.trillboards.com",
1819
+ "hasDynamicHelp": false,
1820
+ "multiple": false,
1821
+ "type": "option"
1822
+ },
1823
+ "format": {
1824
+ "description": "Output format",
1825
+ "name": "format",
1826
+ "hasDynamicHelp": false,
1827
+ "multiple": false,
1828
+ "options": [
1829
+ "json",
1830
+ "table",
1831
+ "yaml"
1832
+ ],
1833
+ "type": "option"
1834
+ },
1835
+ "observation_family": {
1836
+ "description": "observation_family",
1837
+ "name": "observation_family",
1838
+ "hasDynamicHelp": false,
1839
+ "multiple": false,
1840
+ "type": "option"
1841
+ },
1842
+ "venue_type": {
1843
+ "description": "venue_type",
1844
+ "name": "venue_type",
1845
+ "hasDynamicHelp": false,
1846
+ "multiple": false,
1847
+ "type": "option"
1848
+ }
1849
+ },
1850
+ "hasDynamicHelp": false,
1851
+ "hiddenAliases": [],
1852
+ "id": "generated:generated-data-api-stream",
1853
+ "pluginAlias": "@trillboards/cli",
1854
+ "pluginName": "@trillboards/cli",
1855
+ "pluginType": "core",
1856
+ "strict": true,
1857
+ "enableJsonFlag": false,
1858
+ "isESM": true,
1859
+ "relativePath": [
1860
+ "dist",
1861
+ "commands",
1862
+ "generated",
1863
+ "generated-data-api-stream.js"
1864
+ ]
1865
+ },
1866
+ "generated:generated-data-api-usage": {
1867
+ "aliases": [],
1868
+ "args": {},
1869
+ "description": "API usage for the authenticated key (billing dashboard).",
1870
+ "examples": [
1871
+ "$ trillboards generated data-api-usage"
1872
+ ],
1873
+ "flags": {
1874
+ "api-key": {
1875
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1876
+ "env": "TRILLBOARDS_API_KEY",
1877
+ "name": "api-key",
1878
+ "hasDynamicHelp": false,
1879
+ "multiple": false,
1880
+ "type": "option"
1881
+ },
1882
+ "base-url": {
1883
+ "description": "API base URL",
1884
+ "name": "base-url",
1885
+ "default": "https://api.trillboards.com",
1886
+ "hasDynamicHelp": false,
1887
+ "multiple": false,
1888
+ "type": "option"
1889
+ },
1890
+ "format": {
1891
+ "description": "Output format",
1892
+ "name": "format",
1893
+ "hasDynamicHelp": false,
1894
+ "multiple": false,
1895
+ "options": [
1896
+ "json",
1897
+ "table",
1898
+ "yaml"
1899
+ ],
1900
+ "type": "option"
1901
+ },
1902
+ "days": {
1903
+ "description": "days",
1904
+ "name": "days",
1905
+ "hasDynamicHelp": false,
1906
+ "multiple": false,
1907
+ "type": "option"
1908
+ }
1909
+ },
1910
+ "hasDynamicHelp": false,
1911
+ "hiddenAliases": [],
1912
+ "id": "generated:generated-data-api-usage",
1913
+ "pluginAlias": "@trillboards/cli",
1914
+ "pluginName": "@trillboards/cli",
1915
+ "pluginType": "core",
1916
+ "strict": true,
1917
+ "enableJsonFlag": false,
1918
+ "isESM": true,
1919
+ "relativePath": [
1920
+ "dist",
1921
+ "commands",
1922
+ "generated",
1923
+ "generated-data-api-usage.js"
1924
+ ]
1925
+ },
1926
+ "generated:generated-device-ota-manifest": {
1927
+ "aliases": [],
1928
+ "args": {},
1929
+ "description": "Signed OTA manifest for managed-device update clients.",
1930
+ "examples": [
1931
+ "$ trillboards generated device-ota-manifest"
1932
+ ],
1933
+ "flags": {
1934
+ "api-key": {
1935
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1936
+ "env": "TRILLBOARDS_API_KEY",
1937
+ "name": "api-key",
1938
+ "hasDynamicHelp": false,
1939
+ "multiple": false,
1940
+ "type": "option"
1941
+ },
1942
+ "base-url": {
1943
+ "description": "API base URL",
1944
+ "name": "base-url",
1945
+ "default": "https://api.trillboards.com",
1946
+ "hasDynamicHelp": false,
1947
+ "multiple": false,
1948
+ "type": "option"
1949
+ },
1950
+ "format": {
1951
+ "description": "Output format",
1952
+ "name": "format",
1953
+ "hasDynamicHelp": false,
1954
+ "multiple": false,
1955
+ "options": [
1956
+ "json",
1957
+ "table",
1958
+ "yaml"
1959
+ ],
1960
+ "type": "option"
1961
+ },
1962
+ "agent": {
1963
+ "description": "Optional agent type filter (`agent-core`, `agent-core-lite`, etc.). When omitted the caller receives the default manifest bundle.",
1964
+ "name": "agent",
1965
+ "hasDynamicHelp": false,
1966
+ "multiple": false,
1967
+ "type": "option"
1968
+ }
1969
+ },
1970
+ "hasDynamicHelp": false,
1971
+ "hiddenAliases": [],
1972
+ "id": "generated:generated-device-ota-manifest",
1973
+ "pluginAlias": "@trillboards/cli",
1974
+ "pluginName": "@trillboards/cli",
1975
+ "pluginType": "core",
1976
+ "strict": true,
1977
+ "enableJsonFlag": false,
1978
+ "isESM": true,
1979
+ "relativePath": [
1980
+ "dist",
1981
+ "commands",
1982
+ "generated",
1983
+ "generated-device-ota-manifest.js"
1984
+ ]
1985
+ },
1986
+ "generated:generated-example-healthcheck": {
1987
+ "aliases": [],
1988
+ "args": {},
1989
+ "description": "Example healthcheck (Phase 3 pipeline proof)",
1990
+ "examples": [
1991
+ "$ trillboards generated example-healthcheck"
1992
+ ],
1993
+ "flags": {
1994
+ "api-key": {
1995
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
1996
+ "env": "TRILLBOARDS_API_KEY",
1997
+ "name": "api-key",
1998
+ "hasDynamicHelp": false,
1999
+ "multiple": false,
2000
+ "type": "option"
2001
+ },
2002
+ "base-url": {
2003
+ "description": "API base URL",
2004
+ "name": "base-url",
2005
+ "default": "https://api.trillboards.com",
2006
+ "hasDynamicHelp": false,
2007
+ "multiple": false,
2008
+ "type": "option"
2009
+ },
2010
+ "format": {
2011
+ "description": "Output format",
2012
+ "name": "format",
2013
+ "hasDynamicHelp": false,
2014
+ "multiple": false,
2015
+ "options": [
2016
+ "json",
2017
+ "table",
2018
+ "yaml"
2019
+ ],
2020
+ "type": "option"
2021
+ },
2022
+ "verbose": {
2023
+ "description": "When `true`, include diagnostic fields in the response.",
2024
+ "name": "verbose",
2025
+ "hasDynamicHelp": false,
2026
+ "multiple": false,
2027
+ "type": "option"
2028
+ }
2029
+ },
2030
+ "hasDynamicHelp": false,
2031
+ "hiddenAliases": [],
2032
+ "id": "generated:generated-example-healthcheck",
2033
+ "pluginAlias": "@trillboards/cli",
2034
+ "pluginName": "@trillboards/cli",
2035
+ "pluginType": "core",
2036
+ "strict": true,
2037
+ "enableJsonFlag": false,
2038
+ "isESM": true,
2039
+ "relativePath": [
2040
+ "dist",
2041
+ "commands",
2042
+ "generated",
2043
+ "generated-example-healthcheck.js"
2044
+ ]
2045
+ },
2046
+ "generated:generated-playground-dry-run": {
2047
+ "aliases": [],
2048
+ "args": {
2049
+ "operation_id": {
2050
+ "description": "The operationId of the endpoint to validate against.",
2051
+ "name": "operation_id",
2052
+ "required": true
2053
+ }
2054
+ },
2055
+ "description": "Dry-run validate a request body against an operation schema",
2056
+ "examples": [
2057
+ "$ trillboards generated playground-dry-run"
2058
+ ],
2059
+ "flags": {
2060
+ "api-key": {
2061
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2062
+ "env": "TRILLBOARDS_API_KEY",
2063
+ "name": "api-key",
2064
+ "hasDynamicHelp": false,
2065
+ "multiple": false,
2066
+ "type": "option"
2067
+ },
2068
+ "base-url": {
2069
+ "description": "API base URL",
2070
+ "name": "base-url",
2071
+ "default": "https://api.trillboards.com",
2072
+ "hasDynamicHelp": false,
2073
+ "multiple": false,
2074
+ "type": "option"
2075
+ },
2076
+ "format": {
2077
+ "description": "Output format",
2078
+ "name": "format",
2079
+ "hasDynamicHelp": false,
2080
+ "multiple": false,
2081
+ "options": [
2082
+ "json",
2083
+ "table",
2084
+ "yaml"
2085
+ ],
2086
+ "type": "option"
2087
+ }
2088
+ },
2089
+ "hasDynamicHelp": false,
2090
+ "hiddenAliases": [],
2091
+ "id": "generated:generated-playground-dry-run",
2092
+ "pluginAlias": "@trillboards/cli",
2093
+ "pluginName": "@trillboards/cli",
2094
+ "pluginType": "core",
2095
+ "strict": true,
2096
+ "enableJsonFlag": false,
2097
+ "isESM": true,
2098
+ "relativePath": [
2099
+ "dist",
2100
+ "commands",
2101
+ "generated",
2102
+ "generated-playground-dry-run.js"
2103
+ ]
2104
+ },
2105
+ "generated:generated-request-metadata-get": {
2106
+ "aliases": [],
2107
+ "args": {
2108
+ "request_id": {
2109
+ "description": "Server-generated request ID to look up.",
2110
+ "name": "request_id",
2111
+ "required": true
2112
+ }
2113
+ },
2114
+ "description": "Look up metadata for a recent API request",
2115
+ "examples": [
2116
+ "$ trillboards generated request-metadata get"
2117
+ ],
2118
+ "flags": {
2119
+ "api-key": {
2120
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2121
+ "env": "TRILLBOARDS_API_KEY",
2122
+ "name": "api-key",
2123
+ "hasDynamicHelp": false,
2124
+ "multiple": false,
2125
+ "type": "option"
2126
+ },
2127
+ "base-url": {
2128
+ "description": "API base URL",
2129
+ "name": "base-url",
2130
+ "default": "https://api.trillboards.com",
2131
+ "hasDynamicHelp": false,
2132
+ "multiple": false,
2133
+ "type": "option"
2134
+ },
2135
+ "format": {
2136
+ "description": "Output format",
2137
+ "name": "format",
2138
+ "hasDynamicHelp": false,
2139
+ "multiple": false,
2140
+ "options": [
2141
+ "json",
2142
+ "table",
2143
+ "yaml"
2144
+ ],
2145
+ "type": "option"
2146
+ }
2147
+ },
2148
+ "hasDynamicHelp": false,
2149
+ "hiddenAliases": [],
2150
+ "id": "generated:generated-request-metadata-get",
2151
+ "pluginAlias": "@trillboards/cli",
2152
+ "pluginName": "@trillboards/cli",
2153
+ "pluginType": "core",
2154
+ "strict": true,
2155
+ "enableJsonFlag": false,
2156
+ "isESM": true,
2157
+ "relativePath": [
2158
+ "dist",
2159
+ "commands",
2160
+ "generated",
2161
+ "generated-request-metadata-get.js"
2162
+ ]
2163
+ },
2164
+ "generated:generated-sdk-enrich": {
2165
+ "aliases": [],
2166
+ "args": {},
2167
+ "description": "Census + demographic enrichment from the request IP.",
2168
+ "examples": [
2169
+ "$ trillboards generated sdk-enrich"
2170
+ ],
2171
+ "flags": {
2172
+ "api-key": {
2173
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2174
+ "env": "TRILLBOARDS_API_KEY",
2175
+ "name": "api-key",
2176
+ "hasDynamicHelp": false,
2177
+ "multiple": false,
2178
+ "type": "option"
2179
+ },
2180
+ "base-url": {
2181
+ "description": "API base URL",
2182
+ "name": "base-url",
2183
+ "default": "https://api.trillboards.com",
2184
+ "hasDynamicHelp": false,
2185
+ "multiple": false,
2186
+ "type": "option"
2187
+ },
2188
+ "format": {
2189
+ "description": "Output format",
2190
+ "name": "format",
2191
+ "hasDynamicHelp": false,
2192
+ "multiple": false,
2193
+ "options": [
2194
+ "json",
2195
+ "table",
2196
+ "yaml"
2197
+ ],
2198
+ "type": "option"
2199
+ },
2200
+ "data": {
2201
+ "description": "JSON request body",
2202
+ "name": "data",
2203
+ "hasDynamicHelp": false,
2204
+ "multiple": false,
2205
+ "type": "option"
2206
+ }
2207
+ },
2208
+ "hasDynamicHelp": false,
2209
+ "hiddenAliases": [],
2210
+ "id": "generated:generated-sdk-enrich",
2211
+ "pluginAlias": "@trillboards/cli",
2212
+ "pluginName": "@trillboards/cli",
2213
+ "pluginType": "core",
2214
+ "strict": true,
2215
+ "enableJsonFlag": false,
2216
+ "isESM": true,
2217
+ "relativePath": [
2218
+ "dist",
2219
+ "commands",
2220
+ "generated",
2221
+ "generated-sdk-enrich.js"
2222
+ ]
2223
+ },
2224
+ "generated:generated-sdk-impression": {
2225
+ "aliases": [],
2226
+ "args": {},
2227
+ "description": "Ingest an enriched CTV/DOOH impression.",
2228
+ "examples": [
2229
+ "$ trillboards generated sdk-impression"
2230
+ ],
2231
+ "flags": {
2232
+ "api-key": {
2233
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2234
+ "env": "TRILLBOARDS_API_KEY",
2235
+ "name": "api-key",
2236
+ "hasDynamicHelp": false,
2237
+ "multiple": false,
2238
+ "type": "option"
2239
+ },
2240
+ "base-url": {
2241
+ "description": "API base URL",
2242
+ "name": "base-url",
2243
+ "default": "https://api.trillboards.com",
2244
+ "hasDynamicHelp": false,
2245
+ "multiple": false,
2246
+ "type": "option"
2247
+ },
2248
+ "format": {
2249
+ "description": "Output format",
2250
+ "name": "format",
2251
+ "hasDynamicHelp": false,
2252
+ "multiple": false,
2253
+ "options": [
2254
+ "json",
2255
+ "table",
2256
+ "yaml"
2257
+ ],
2258
+ "type": "option"
2259
+ },
2260
+ "data": {
2261
+ "description": "JSON request body",
2262
+ "name": "data",
2263
+ "hasDynamicHelp": false,
2264
+ "multiple": false,
2265
+ "type": "option"
2266
+ }
2267
+ },
2268
+ "hasDynamicHelp": false,
2269
+ "hiddenAliases": [],
2270
+ "id": "generated:generated-sdk-impression",
2271
+ "pluginAlias": "@trillboards/cli",
2272
+ "pluginName": "@trillboards/cli",
2273
+ "pluginType": "core",
2274
+ "strict": true,
2275
+ "enableJsonFlag": false,
2276
+ "isESM": true,
2277
+ "relativePath": [
2278
+ "dist",
2279
+ "commands",
2280
+ "generated",
2281
+ "generated-sdk-impression.js"
2282
+ ]
2283
+ },
2284
+ "generated:generated-sdk-qr-beacon": {
2285
+ "aliases": [],
2286
+ "args": {},
2287
+ "description": "Process beacon signals associated with a prior QR scan.",
2288
+ "examples": [
2289
+ "$ trillboards generated sdk-qr-beacon"
2290
+ ],
2291
+ "flags": {
2292
+ "api-key": {
2293
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2294
+ "env": "TRILLBOARDS_API_KEY",
2295
+ "name": "api-key",
2296
+ "hasDynamicHelp": false,
2297
+ "multiple": false,
2298
+ "type": "option"
2299
+ },
2300
+ "base-url": {
2301
+ "description": "API base URL",
2302
+ "name": "base-url",
2303
+ "default": "https://api.trillboards.com",
2304
+ "hasDynamicHelp": false,
2305
+ "multiple": false,
2306
+ "type": "option"
2307
+ },
2308
+ "format": {
2309
+ "description": "Output format",
2310
+ "name": "format",
2311
+ "hasDynamicHelp": false,
2312
+ "multiple": false,
2313
+ "options": [
2314
+ "json",
2315
+ "table",
2316
+ "yaml"
2317
+ ],
2318
+ "type": "option"
2319
+ },
2320
+ "data": {
2321
+ "description": "JSON request body",
2322
+ "name": "data",
2323
+ "hasDynamicHelp": false,
2324
+ "multiple": false,
2325
+ "type": "option"
2326
+ }
2327
+ },
2328
+ "hasDynamicHelp": false,
2329
+ "hiddenAliases": [],
2330
+ "id": "generated:generated-sdk-qr-beacon",
2331
+ "pluginAlias": "@trillboards/cli",
2332
+ "pluginName": "@trillboards/cli",
2333
+ "pluginType": "core",
2334
+ "strict": true,
2335
+ "enableJsonFlag": false,
2336
+ "isESM": true,
2337
+ "relativePath": [
2338
+ "dist",
2339
+ "commands",
2340
+ "generated",
2341
+ "generated-sdk-qr-beacon.js"
2342
+ ]
2343
+ },
2344
+ "generated:generated-sdk-qr-scan": {
2345
+ "aliases": [],
2346
+ "args": {},
2347
+ "description": "Record a QR-code scan for physical-to-digital attribution.",
2348
+ "examples": [
2349
+ "$ trillboards generated sdk-qr-scan"
2350
+ ],
2351
+ "flags": {
2352
+ "api-key": {
2353
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2354
+ "env": "TRILLBOARDS_API_KEY",
2355
+ "name": "api-key",
2356
+ "hasDynamicHelp": false,
2357
+ "multiple": false,
2358
+ "type": "option"
2359
+ },
2360
+ "base-url": {
2361
+ "description": "API base URL",
2362
+ "name": "base-url",
2363
+ "default": "https://api.trillboards.com",
2364
+ "hasDynamicHelp": false,
2365
+ "multiple": false,
2366
+ "type": "option"
2367
+ },
2368
+ "format": {
2369
+ "description": "Output format",
2370
+ "name": "format",
2371
+ "hasDynamicHelp": false,
2372
+ "multiple": false,
2373
+ "options": [
2374
+ "json",
2375
+ "table",
2376
+ "yaml"
2377
+ ],
2378
+ "type": "option"
2379
+ },
2380
+ "data": {
2381
+ "description": "JSON request body",
2382
+ "name": "data",
2383
+ "hasDynamicHelp": false,
2384
+ "multiple": false,
2385
+ "type": "option"
2386
+ }
2387
+ },
2388
+ "hasDynamicHelp": false,
2389
+ "hiddenAliases": [],
2390
+ "id": "generated:generated-sdk-qr-scan",
2391
+ "pluginAlias": "@trillboards/cli",
2392
+ "pluginName": "@trillboards/cli",
2393
+ "pluginType": "core",
2394
+ "strict": true,
2395
+ "enableJsonFlag": false,
2396
+ "isESM": true,
2397
+ "relativePath": [
2398
+ "dist",
2399
+ "commands",
2400
+ "generated",
2401
+ "generated-sdk-qr-scan.js"
2402
+ ]
2403
+ },
2404
+ "generated:generated-sensing-paired-training-upload": {
2405
+ "aliases": [],
2406
+ "args": {},
2407
+ "description": "Upload a batch of paired camera/CSI training samples.",
2408
+ "examples": [
2409
+ "$ trillboards generated sensing-paired-training-upload"
2410
+ ],
2411
+ "flags": {
2412
+ "api-key": {
2413
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2414
+ "env": "TRILLBOARDS_API_KEY",
2415
+ "name": "api-key",
2416
+ "hasDynamicHelp": false,
2417
+ "multiple": false,
2418
+ "type": "option"
2419
+ },
2420
+ "base-url": {
2421
+ "description": "API base URL",
2422
+ "name": "base-url",
2423
+ "default": "https://api.trillboards.com",
2424
+ "hasDynamicHelp": false,
2425
+ "multiple": false,
2426
+ "type": "option"
2427
+ },
2428
+ "format": {
2429
+ "description": "Output format",
2430
+ "name": "format",
2431
+ "hasDynamicHelp": false,
2432
+ "multiple": false,
2433
+ "options": [
2434
+ "json",
2435
+ "table",
2436
+ "yaml"
2437
+ ],
2438
+ "type": "option"
2439
+ },
2440
+ "data": {
2441
+ "description": "JSON request body",
2442
+ "name": "data",
2443
+ "hasDynamicHelp": false,
2444
+ "multiple": false,
2445
+ "type": "option"
2446
+ }
2447
+ },
2448
+ "hasDynamicHelp": false,
2449
+ "hiddenAliases": [],
2450
+ "id": "generated:generated-sensing-paired-training-upload",
2451
+ "pluginAlias": "@trillboards/cli",
2452
+ "pluginName": "@trillboards/cli",
2453
+ "pluginType": "core",
2454
+ "strict": true,
2455
+ "enableJsonFlag": false,
2456
+ "isESM": true,
2457
+ "relativePath": [
2458
+ "dist",
2459
+ "commands",
2460
+ "generated",
2461
+ "generated-sensing-paired-training-upload.js"
2462
+ ]
2463
+ },
2464
+ "sandbox:create": {
2465
+ "aliases": [],
2466
+ "args": {},
2467
+ "description": "Create a sandbox test screen",
2468
+ "examples": [
2469
+ "<%= config.bin %> sandbox create",
2470
+ "<%= config.bin %> sandbox create --format json"
2471
+ ],
2472
+ "flags": {
2473
+ "api-key": {
2474
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2475
+ "env": "TRILLBOARDS_API_KEY",
2476
+ "name": "api-key",
2477
+ "hasDynamicHelp": false,
2478
+ "multiple": false,
2479
+ "type": "option"
2480
+ },
2481
+ "base-url": {
2482
+ "description": "API base URL",
2483
+ "name": "base-url",
2484
+ "default": "https://api.trillboards.com",
2485
+ "hasDynamicHelp": false,
2486
+ "multiple": false,
2487
+ "type": "option"
2488
+ },
2489
+ "format": {
2490
+ "description": "Output format",
2491
+ "name": "format",
2492
+ "hasDynamicHelp": false,
2493
+ "multiple": false,
2494
+ "options": [
2495
+ "json",
2496
+ "table",
2497
+ "yaml"
2498
+ ],
2499
+ "type": "option"
2500
+ }
2501
+ },
2502
+ "hasDynamicHelp": false,
2503
+ "hiddenAliases": [],
2504
+ "id": "sandbox:create",
2505
+ "pluginAlias": "@trillboards/cli",
2506
+ "pluginName": "@trillboards/cli",
2507
+ "pluginType": "core",
2508
+ "strict": true,
2509
+ "enableJsonFlag": false,
2510
+ "isESM": true,
2511
+ "relativePath": [
2512
+ "dist",
2513
+ "commands",
2514
+ "sandbox",
2515
+ "create.js"
2516
+ ]
2517
+ },
2518
+ "sandbox:emit": {
2519
+ "aliases": [],
2520
+ "args": {
2521
+ "event_type": {
2522
+ "description": "Event type to emit (e.g. impression.recorded, heartbeat)",
2523
+ "name": "event_type",
2524
+ "required": true
2525
+ }
2526
+ },
2527
+ "description": "Emit a test event in the sandbox",
2528
+ "examples": [
2529
+ "<%= config.bin %> sandbox emit impression.recorded",
2530
+ "<%= config.bin %> sandbox emit heartbeat",
2531
+ "<%= config.bin %> sandbox emit impression.recorded --data '{\"cpm\": 3.50}'"
2532
+ ],
2533
+ "flags": {
2534
+ "api-key": {
2535
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2536
+ "env": "TRILLBOARDS_API_KEY",
2537
+ "name": "api-key",
2538
+ "hasDynamicHelp": false,
2539
+ "multiple": false,
2540
+ "type": "option"
2541
+ },
2542
+ "base-url": {
2543
+ "description": "API base URL",
2544
+ "name": "base-url",
2545
+ "default": "https://api.trillboards.com",
2546
+ "hasDynamicHelp": false,
2547
+ "multiple": false,
2548
+ "type": "option"
2549
+ },
2550
+ "format": {
2551
+ "description": "Output format",
2552
+ "name": "format",
2553
+ "hasDynamicHelp": false,
2554
+ "multiple": false,
2555
+ "options": [
2556
+ "json",
2557
+ "table",
2558
+ "yaml"
2559
+ ],
2560
+ "type": "option"
2561
+ },
2562
+ "data": {
2563
+ "char": "d",
2564
+ "description": "Additional event data (JSON string)",
2565
+ "name": "data",
2566
+ "hasDynamicHelp": false,
2567
+ "multiple": false,
2568
+ "type": "option"
2569
+ }
2570
+ },
2571
+ "hasDynamicHelp": false,
2572
+ "hiddenAliases": [],
2573
+ "id": "sandbox:emit",
2574
+ "pluginAlias": "@trillboards/cli",
2575
+ "pluginName": "@trillboards/cli",
2576
+ "pluginType": "core",
2577
+ "strict": true,
2578
+ "enableJsonFlag": false,
2579
+ "isESM": true,
2580
+ "relativePath": [
2581
+ "dist",
2582
+ "commands",
2583
+ "sandbox",
2584
+ "emit.js"
2585
+ ]
2586
+ },
2587
+ "sandbox:reset": {
2588
+ "aliases": [],
2589
+ "args": {},
2590
+ "description": "Reset the sandbox — delete all test screens and events",
2591
+ "examples": [
2592
+ "<%= config.bin %> sandbox reset",
2593
+ "<%= config.bin %> sandbox reset --format json"
2594
+ ],
2595
+ "flags": {
2596
+ "api-key": {
2597
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2598
+ "env": "TRILLBOARDS_API_KEY",
2599
+ "name": "api-key",
2600
+ "hasDynamicHelp": false,
2601
+ "multiple": false,
2602
+ "type": "option"
2603
+ },
2604
+ "base-url": {
2605
+ "description": "API base URL",
2606
+ "name": "base-url",
2607
+ "default": "https://api.trillboards.com",
2608
+ "hasDynamicHelp": false,
2609
+ "multiple": false,
2610
+ "type": "option"
2611
+ },
2612
+ "format": {
2613
+ "description": "Output format",
2614
+ "name": "format",
2615
+ "hasDynamicHelp": false,
2616
+ "multiple": false,
2617
+ "options": [
2618
+ "json",
2619
+ "table",
2620
+ "yaml"
2621
+ ],
2622
+ "type": "option"
2623
+ }
2624
+ },
2625
+ "hasDynamicHelp": false,
2626
+ "hiddenAliases": [],
2627
+ "id": "sandbox:reset",
2628
+ "pluginAlias": "@trillboards/cli",
2629
+ "pluginName": "@trillboards/cli",
2630
+ "pluginType": "core",
2631
+ "strict": true,
2632
+ "enableJsonFlag": false,
2633
+ "isESM": true,
2634
+ "relativePath": [
2635
+ "dist",
2636
+ "commands",
2637
+ "sandbox",
2638
+ "reset.js"
2639
+ ]
2640
+ },
2641
+ "sandbox:status": {
2642
+ "aliases": [],
2643
+ "args": {},
2644
+ "description": "Show sandbox status — screens and recent events",
2645
+ "examples": [
2646
+ "<%= config.bin %> sandbox status",
2647
+ "<%= config.bin %> sandbox status --format json"
2648
+ ],
2649
+ "flags": {
2650
+ "api-key": {
2651
+ "description": "API key (or set TRILLBOARDS_API_KEY env var)",
2652
+ "env": "TRILLBOARDS_API_KEY",
2653
+ "name": "api-key",
2654
+ "hasDynamicHelp": false,
2655
+ "multiple": false,
2656
+ "type": "option"
2657
+ },
2658
+ "base-url": {
2659
+ "description": "API base URL",
2660
+ "name": "base-url",
2661
+ "default": "https://api.trillboards.com",
2662
+ "hasDynamicHelp": false,
2663
+ "multiple": false,
2664
+ "type": "option"
2665
+ },
2666
+ "format": {
2667
+ "description": "Output format",
2668
+ "name": "format",
2669
+ "hasDynamicHelp": false,
2670
+ "multiple": false,
2671
+ "options": [
2672
+ "json",
2673
+ "table",
2674
+ "yaml"
2675
+ ],
2676
+ "type": "option"
2677
+ }
2678
+ },
2679
+ "hasDynamicHelp": false,
2680
+ "hiddenAliases": [],
2681
+ "id": "sandbox:status",
2682
+ "pluginAlias": "@trillboards/cli",
2683
+ "pluginName": "@trillboards/cli",
2684
+ "pluginType": "core",
2685
+ "strict": true,
2686
+ "enableJsonFlag": false,
2687
+ "isESM": true,
2688
+ "relativePath": [
2689
+ "dist",
2690
+ "commands",
2691
+ "sandbox",
2692
+ "status.js"
2693
+ ]
2694
+ }
2695
+ },
2696
+ "version": "0.1.0"
2697
+ }