@trillboards/cli 0.1.6 → 0.1.7
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 +94 -1
- package/dist/commands/generated/generated-data-api-ad-sightings-history.d.ts +20 -0
- package/dist/commands/generated/generated-data-api-ad-sightings-history.js +53 -0
- package/dist/commands/generated/generated-data-api-ad-sightings.d.ts +23 -0
- package/dist/commands/generated/generated-data-api-ad-sightings.js +62 -0
- package/dist/commands/generated/generated-device-retained-cctv-review.d.ts +13 -0
- package/dist/commands/generated/generated-device-retained-cctv-review.js +32 -0
- package/oclif.manifest.json +363 -64
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ $ npm install -g @trillboards/cli
|
|
|
20
20
|
$ trillboards COMMAND
|
|
21
21
|
running command...
|
|
22
22
|
$ trillboards (--version)
|
|
23
|
-
@trillboards/cli/0.1.
|
|
23
|
+
@trillboards/cli/0.1.7 linux-x64 node-v22.23.4
|
|
24
24
|
$ trillboards --help [COMMAND]
|
|
25
25
|
USAGE
|
|
26
26
|
$ trillboards COMMAND
|
|
@@ -55,6 +55,8 @@ USAGE
|
|
|
55
55
|
* [`trillboards generated generated-creative-feedback-variants-register EXPERIMENT_ID`](#trillboards-generated-generated-creative-feedback-variants-register-experiment_id)
|
|
56
56
|
* [`trillboards generated generated-csi-venue-history SCREENID`](#trillboards-generated-generated-csi-venue-history-screenid)
|
|
57
57
|
* [`trillboards generated generated-csi-venue-occupancy SCREENID`](#trillboards-generated-generated-csi-venue-occupancy-screenid)
|
|
58
|
+
* [`trillboards generated generated-data-api-ad-sightings`](#trillboards-generated-generated-data-api-ad-sightings)
|
|
59
|
+
* [`trillboards generated generated-data-api-ad-sightings-history`](#trillboards-generated-generated-data-api-ad-sightings-history)
|
|
58
60
|
* [`trillboards generated generated-data-api-aggregate`](#trillboards-generated-generated-data-api-aggregate)
|
|
59
61
|
* [`trillboards generated generated-data-api-list-screens`](#trillboards-generated-generated-data-api-list-screens)
|
|
60
62
|
* [`trillboards generated generated-data-api-lookalike-screens`](#trillboards-generated-generated-data-api-lookalike-screens)
|
|
@@ -66,6 +68,7 @@ USAGE
|
|
|
66
68
|
* [`trillboards generated generated-data-api-stream`](#trillboards-generated-generated-data-api-stream)
|
|
67
69
|
* [`trillboards generated generated-data-api-usage`](#trillboards-generated-generated-data-api-usage)
|
|
68
70
|
* [`trillboards generated generated-device-ota-manifest`](#trillboards-generated-generated-device-ota-manifest)
|
|
71
|
+
* [`trillboards generated generated-device-retained-cctv-review`](#trillboards-generated-generated-device-retained-cctv-review)
|
|
69
72
|
* [`trillboards generated generated-device-sensing-profile`](#trillboards-generated-generated-device-sensing-profile)
|
|
70
73
|
* [`trillboards generated generated-error-code-get CODE`](#trillboards-generated-generated-error-code-get-code)
|
|
71
74
|
* [`trillboards generated generated-error-codes-list`](#trillboards-generated-generated-error-codes-list)
|
|
@@ -791,6 +794,73 @@ EXAMPLES
|
|
|
791
794
|
$ trillboards generated csi-venue-occupancy
|
|
792
795
|
```
|
|
793
796
|
|
|
797
|
+
## `trillboards generated generated-data-api-ad-sightings`
|
|
798
|
+
|
|
799
|
+
Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.
|
|
800
|
+
|
|
801
|
+
```
|
|
802
|
+
USAGE
|
|
803
|
+
$ trillboards generated generated-data-api-ad-sightings [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--brand <value>]
|
|
804
|
+
[--brand_id <value>] [--market <value>] [--surface <value>] [--board_id <value>] [--creative_id <value>]
|
|
805
|
+
[--instrument <value>] [--from <value>] [--to <value>] [--limit <value>] [--cursor <value>]
|
|
806
|
+
|
|
807
|
+
FLAGS
|
|
808
|
+
--api-key=<value> [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
|
|
809
|
+
--base-url=<value> [default: https://api.trillboards.com] API base URL
|
|
810
|
+
--board_id=<value> A board the sighting was matched to, repeatable.
|
|
811
|
+
--brand=<value> A brand, repeatable for a brand set (competitors). Matched however it is typed: "McDonald's",
|
|
812
|
+
"mcdonalds" and "Mc Donalds" find the same records.
|
|
813
|
+
--brand_id=<value> A resolved brand id, repeatable. Combined with `brand` as either-or.
|
|
814
|
+
--creative_id=<value> A sighted creative (the campaign artwork), repeatable.
|
|
815
|
+
--cursor=<value> The `next_cursor` of the previous page.
|
|
816
|
+
--format=<option> Output format
|
|
817
|
+
<options: json|table|yaml>
|
|
818
|
+
--from=<value> Start (inclusive), YYYY-MM-DD or an ISO-8601 instant. Default: 30 days before `to`.
|
|
819
|
+
--instrument=<value> The reading instrument (ssr-v2, ssr-v1, vlmtext-v1, edge_ocr_v1), repeatable.
|
|
820
|
+
--limit=<value> Records per page, 1..500 (default 50). The page limit is reserved; the records returned are
|
|
821
|
+
billed.
|
|
822
|
+
--market=<value> A market as COUNTRY:CODE (US DMA or CA CMA), repeatable.
|
|
823
|
+
--surface=<value> The surface kind as read (billboard, storefront, bus_shelter, ...), repeatable.
|
|
824
|
+
--to=<value> End (exclusive). Default: now. The span is at most 400 days.
|
|
825
|
+
|
|
826
|
+
DESCRIPTION
|
|
827
|
+
Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.
|
|
828
|
+
|
|
829
|
+
EXAMPLES
|
|
830
|
+
$ trillboards generated data-api-ad-sightings
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
## `trillboards generated generated-data-api-ad-sightings-history`
|
|
834
|
+
|
|
835
|
+
Outdoor creative history by brand, market and month, from the creative ledger.
|
|
836
|
+
|
|
837
|
+
```
|
|
838
|
+
USAGE
|
|
839
|
+
$ trillboards generated generated-data-api-ad-sightings-history [--api-key <value>] [--base-url <value>] [--format json|table|yaml] [--brand <value>]
|
|
840
|
+
[--brand_id <value>] [--market <value>] [--from <value>] [--to <value>] [--grain <value>] [--limit <value>]
|
|
841
|
+
[--cursor <value>]
|
|
842
|
+
|
|
843
|
+
FLAGS
|
|
844
|
+
--api-key=<value> [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
|
|
845
|
+
--base-url=<value> [default: https://api.trillboards.com] API base URL
|
|
846
|
+
--brand=<value> A brand by name, repeatable (competitors). Resolved to its brand id the way the brand search does.
|
|
847
|
+
--brand_id=<value> A resolved brand id, repeatable.
|
|
848
|
+
--cursor=<value> The `next_cursor` of the previous page.
|
|
849
|
+
--format=<option> Output format
|
|
850
|
+
<options: json|table|yaml>
|
|
851
|
+
--from=<value> First month (YYYY-MM) or day. Default: 12 months before `to`.
|
|
852
|
+
--grain=<value> market_month (default) or fleet_month.
|
|
853
|
+
--limit=<value> Rows per page, 1..500 (default 100). The page limit is reserved; the rows returned are billed.
|
|
854
|
+
--market=<value> A market as COUNTRY:CODE, repeatable.
|
|
855
|
+
--to=<value> Last month (YYYY-MM, inclusive) or day. Default: this month.
|
|
856
|
+
|
|
857
|
+
DESCRIPTION
|
|
858
|
+
Outdoor creative history by brand, market and month, from the creative ledger.
|
|
859
|
+
|
|
860
|
+
EXAMPLES
|
|
861
|
+
$ trillboards generated data-api-ad-sightings-history
|
|
862
|
+
```
|
|
863
|
+
|
|
794
864
|
## `trillboards generated generated-data-api-aggregate`
|
|
795
865
|
|
|
796
866
|
Aggregate audience analytics for a time window.
|
|
@@ -1061,6 +1131,29 @@ EXAMPLES
|
|
|
1061
1131
|
$ trillboards generated device-ota-manifest
|
|
1062
1132
|
```
|
|
1063
1133
|
|
|
1134
|
+
## `trillboards generated generated-device-retained-cctv-review`
|
|
1135
|
+
|
|
1136
|
+
Store original CCTV evidence and its completed local review.
|
|
1137
|
+
|
|
1138
|
+
```
|
|
1139
|
+
USAGE
|
|
1140
|
+
$ trillboards generated generated-device-retained-cctv-review [--api-key <value>] [--base-url <value>] [--format
|
|
1141
|
+
json|table|yaml] [--data <value>]
|
|
1142
|
+
|
|
1143
|
+
FLAGS
|
|
1144
|
+
--api-key=<value> [env: TRILLBOARDS_API_KEY] API key (or set TRILLBOARDS_API_KEY env var)
|
|
1145
|
+
--base-url=<value> [default: https://api.trillboards.com] API base URL
|
|
1146
|
+
--data=<value> JSON request body
|
|
1147
|
+
--format=<option> Output format
|
|
1148
|
+
<options: json|table|yaml>
|
|
1149
|
+
|
|
1150
|
+
DESCRIPTION
|
|
1151
|
+
Store original CCTV evidence and its completed local review.
|
|
1152
|
+
|
|
1153
|
+
EXAMPLES
|
|
1154
|
+
$ trillboards generated device-retained-cctv-review
|
|
1155
|
+
```
|
|
1156
|
+
|
|
1064
1157
|
## `trillboards generated generated-device-sensing-profile`
|
|
1065
1158
|
|
|
1066
1159
|
Active sensing profile for the calling connector's bound screen.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Dataapiadsightingshistory extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
brand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
brand_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
market: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
grain: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
limit: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
cursor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
};
|
|
19
|
+
run(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Dataapiadsightingshistory extends BaseCommand {
|
|
8
|
+
static description = "Outdoor creative history by brand, market and month, from the creative ledger.";
|
|
9
|
+
static examples = [`$ trillboards generated data-api-ad-sightings-history`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'brand': Flags.string({ description: 'A brand by name, repeatable (competitors). Resolved to its brand id the way the brand search does.' }),
|
|
14
|
+
'brand_id': Flags.string({ description: 'A resolved brand id, repeatable.' }),
|
|
15
|
+
'market': Flags.string({ description: 'A market as COUNTRY:CODE, repeatable.' }),
|
|
16
|
+
'from': Flags.string({ description: 'First month (YYYY-MM) or day. Default: 12 months before `to`.' }),
|
|
17
|
+
'to': Flags.string({ description: 'Last month (YYYY-MM, inclusive) or day. Default: this month.' }),
|
|
18
|
+
'grain': Flags.string({ description: 'market_month (default) or fleet_month.' }),
|
|
19
|
+
'limit': Flags.string({ description: 'Rows per page, 1..500 (default 100). The page limit is reserved; the rows returned are billed.' }),
|
|
20
|
+
'cursor': Flags.string({ description: 'The `next_cursor` of the previous page.' }),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
const { args, flags } = await this.parse(Dataapiadsightingshistory);
|
|
24
|
+
this.setParsedFlags(flags);
|
|
25
|
+
const apiKey = this.getApiKey();
|
|
26
|
+
if (!apiKey)
|
|
27
|
+
this.error('Not logged in. Run: trillboards login');
|
|
28
|
+
let urlPath = '/v1/data/ad-sightings/history';
|
|
29
|
+
const params = {};
|
|
30
|
+
if (flags['brand'])
|
|
31
|
+
params['brand'] = flags['brand'];
|
|
32
|
+
if (flags['brand_id'])
|
|
33
|
+
params['brand_id'] = flags['brand_id'];
|
|
34
|
+
if (flags['market'])
|
|
35
|
+
params['market'] = flags['market'];
|
|
36
|
+
if (flags['from'])
|
|
37
|
+
params['from'] = flags['from'];
|
|
38
|
+
if (flags['to'])
|
|
39
|
+
params['to'] = flags['to'];
|
|
40
|
+
if (flags['grain'])
|
|
41
|
+
params['grain'] = flags['grain'];
|
|
42
|
+
if (flags['limit'])
|
|
43
|
+
params['limit'] = flags['limit'];
|
|
44
|
+
if (flags['cursor'])
|
|
45
|
+
params['cursor'] = flags['cursor'];
|
|
46
|
+
const result = await apiRequest('GET', urlPath, {
|
|
47
|
+
apiKey,
|
|
48
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
49
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
50
|
+
});
|
|
51
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Dataapiadsightings extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
brand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
brand_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
market: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
surface: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
board_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
creative_id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
instrument: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
|
+
from: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
|
+
to: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
16
|
+
limit: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
|
+
cursor: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
18
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
19
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
20
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
21
|
+
};
|
|
22
|
+
run(): Promise<void>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (data-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Dataapiadsightings extends BaseCommand {
|
|
8
|
+
static description = "Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.";
|
|
9
|
+
static examples = [`$ trillboards generated data-api-ad-sightings`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
'brand': Flags.string({ description: 'A brand, repeatable for a brand set (competitors). Matched however it is typed: "McDonald\'s", "mcdonalds" and "Mc Donalds" find the same records.' }),
|
|
14
|
+
'brand_id': Flags.string({ description: 'A resolved brand id, repeatable. Combined with `brand` as either-or.' }),
|
|
15
|
+
'market': Flags.string({ description: 'A market as COUNTRY:CODE (US DMA or CA CMA), repeatable.' }),
|
|
16
|
+
'surface': Flags.string({ description: 'The surface kind as read (billboard, storefront, bus_shelter, ...), repeatable.' }),
|
|
17
|
+
'board_id': Flags.string({ description: 'A board the sighting was matched to, repeatable.' }),
|
|
18
|
+
'creative_id': Flags.string({ description: 'A sighted creative (the campaign artwork), repeatable.' }),
|
|
19
|
+
'instrument': Flags.string({ description: 'The reading instrument (ssr-v2, ssr-v1, vlmtext-v1, edge_ocr_v1), repeatable.' }),
|
|
20
|
+
'from': Flags.string({ description: 'Start (inclusive), YYYY-MM-DD or an ISO-8601 instant. Default: 30 days before `to`.' }),
|
|
21
|
+
'to': Flags.string({ description: 'End (exclusive). Default: now. The span is at most 400 days.' }),
|
|
22
|
+
'limit': Flags.string({ description: 'Records per page, 1..500 (default 50). The page limit is reserved; the records returned are billed.' }),
|
|
23
|
+
'cursor': Flags.string({ description: 'The `next_cursor` of the previous page.' }),
|
|
24
|
+
};
|
|
25
|
+
async run() {
|
|
26
|
+
const { args, flags } = await this.parse(Dataapiadsightings);
|
|
27
|
+
this.setParsedFlags(flags);
|
|
28
|
+
const apiKey = this.getApiKey();
|
|
29
|
+
if (!apiKey)
|
|
30
|
+
this.error('Not logged in. Run: trillboards login');
|
|
31
|
+
let urlPath = '/v1/data/ad-sightings';
|
|
32
|
+
const params = {};
|
|
33
|
+
if (flags['brand'])
|
|
34
|
+
params['brand'] = flags['brand'];
|
|
35
|
+
if (flags['brand_id'])
|
|
36
|
+
params['brand_id'] = flags['brand_id'];
|
|
37
|
+
if (flags['market'])
|
|
38
|
+
params['market'] = flags['market'];
|
|
39
|
+
if (flags['surface'])
|
|
40
|
+
params['surface'] = flags['surface'];
|
|
41
|
+
if (flags['board_id'])
|
|
42
|
+
params['board_id'] = flags['board_id'];
|
|
43
|
+
if (flags['creative_id'])
|
|
44
|
+
params['creative_id'] = flags['creative_id'];
|
|
45
|
+
if (flags['instrument'])
|
|
46
|
+
params['instrument'] = flags['instrument'];
|
|
47
|
+
if (flags['from'])
|
|
48
|
+
params['from'] = flags['from'];
|
|
49
|
+
if (flags['to'])
|
|
50
|
+
params['to'] = flags['to'];
|
|
51
|
+
if (flags['limit'])
|
|
52
|
+
params['limit'] = flags['limit'];
|
|
53
|
+
if (flags['cursor'])
|
|
54
|
+
params['cursor'] = flags['cursor'];
|
|
55
|
+
const result = await apiRequest('GET', urlPath, {
|
|
56
|
+
apiKey,
|
|
57
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
58
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
59
|
+
});
|
|
60
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BaseCommand } from '../../base-command.js';
|
|
2
|
+
export default class Deviceretainedcctvreview extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {};
|
|
6
|
+
static flags: {
|
|
7
|
+
data: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
|
+
'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
9
|
+
'base-url': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// AUTO-GENERATED from OpenAPI spec (device-api) -- do not edit manually
|
|
2
|
+
// Regenerate with: npm run generate
|
|
3
|
+
import { Flags } from '@oclif/core';
|
|
4
|
+
import { BaseCommand } from '../../base-command.js';
|
|
5
|
+
import { apiRequest } from '../../http.js';
|
|
6
|
+
import { formatOutput } from '../../output.js';
|
|
7
|
+
export default class Deviceretainedcctvreview extends BaseCommand {
|
|
8
|
+
static description = "Store original CCTV evidence and its completed local review.";
|
|
9
|
+
static examples = [`$ trillboards generated device-retained-cctv-review`];
|
|
10
|
+
static args = {};
|
|
11
|
+
static flags = {
|
|
12
|
+
...BaseCommand.baseFlags,
|
|
13
|
+
data: Flags.string({ description: 'JSON request body' }),
|
|
14
|
+
};
|
|
15
|
+
async run() {
|
|
16
|
+
const { args, flags } = await this.parse(Deviceretainedcctvreview);
|
|
17
|
+
this.setParsedFlags(flags);
|
|
18
|
+
const apiKey = this.getApiKey();
|
|
19
|
+
if (!apiKey)
|
|
20
|
+
this.error('Not logged in. Run: trillboards login');
|
|
21
|
+
let urlPath = '/v2/earner/cctv-retained/reviews';
|
|
22
|
+
const params = {};
|
|
23
|
+
const body = flags.data ? JSON.parse(flags.data) : undefined;
|
|
24
|
+
const result = await apiRequest('POST', urlPath, {
|
|
25
|
+
apiKey,
|
|
26
|
+
baseUrl: flags['base-url'] ?? 'https://api.trillboards.com',
|
|
27
|
+
params: Object.keys(params).length > 0 ? params : undefined,
|
|
28
|
+
body,
|
|
29
|
+
});
|
|
30
|
+
this.log(formatOutput(result, this.getFormat()));
|
|
31
|
+
}
|
|
32
|
+
}
|
package/oclif.manifest.json
CHANGED
|
@@ -1276,69 +1276,6 @@
|
|
|
1276
1276
|
"reconcile.js"
|
|
1277
1277
|
]
|
|
1278
1278
|
},
|
|
1279
|
-
"endpoints": {
|
|
1280
|
-
"aliases": [],
|
|
1281
|
-
"args": {},
|
|
1282
|
-
"description": "Discover available API endpoints",
|
|
1283
|
-
"examples": [
|
|
1284
|
-
"<%= config.bin %> endpoints",
|
|
1285
|
-
"<%= config.bin %> endpoints --search screens",
|
|
1286
|
-
"<%= config.bin %> endpoints --format json"
|
|
1287
|
-
],
|
|
1288
|
-
"flags": {
|
|
1289
|
-
"api-key": {
|
|
1290
|
-
"description": "API key (or set TRILLBOARDS_API_KEY env var)",
|
|
1291
|
-
"env": "TRILLBOARDS_API_KEY",
|
|
1292
|
-
"name": "api-key",
|
|
1293
|
-
"hasDynamicHelp": false,
|
|
1294
|
-
"multiple": false,
|
|
1295
|
-
"type": "option"
|
|
1296
|
-
},
|
|
1297
|
-
"base-url": {
|
|
1298
|
-
"description": "API base URL",
|
|
1299
|
-
"name": "base-url",
|
|
1300
|
-
"default": "https://api.trillboards.com",
|
|
1301
|
-
"hasDynamicHelp": false,
|
|
1302
|
-
"multiple": false,
|
|
1303
|
-
"type": "option"
|
|
1304
|
-
},
|
|
1305
|
-
"format": {
|
|
1306
|
-
"description": "Output format",
|
|
1307
|
-
"name": "format",
|
|
1308
|
-
"hasDynamicHelp": false,
|
|
1309
|
-
"multiple": false,
|
|
1310
|
-
"options": [
|
|
1311
|
-
"json",
|
|
1312
|
-
"table",
|
|
1313
|
-
"yaml"
|
|
1314
|
-
],
|
|
1315
|
-
"type": "option"
|
|
1316
|
-
},
|
|
1317
|
-
"search": {
|
|
1318
|
-
"char": "s",
|
|
1319
|
-
"description": "Search query to filter endpoints",
|
|
1320
|
-
"name": "search",
|
|
1321
|
-
"hasDynamicHelp": false,
|
|
1322
|
-
"multiple": false,
|
|
1323
|
-
"type": "option"
|
|
1324
|
-
}
|
|
1325
|
-
},
|
|
1326
|
-
"hasDynamicHelp": false,
|
|
1327
|
-
"hiddenAliases": [],
|
|
1328
|
-
"id": "endpoints",
|
|
1329
|
-
"pluginAlias": "@trillboards/cli",
|
|
1330
|
-
"pluginName": "@trillboards/cli",
|
|
1331
|
-
"pluginType": "core",
|
|
1332
|
-
"strict": true,
|
|
1333
|
-
"enableJsonFlag": false,
|
|
1334
|
-
"isESM": true,
|
|
1335
|
-
"relativePath": [
|
|
1336
|
-
"dist",
|
|
1337
|
-
"commands",
|
|
1338
|
-
"endpoints",
|
|
1339
|
-
"index.js"
|
|
1340
|
-
]
|
|
1341
|
-
},
|
|
1342
1279
|
"errors": {
|
|
1343
1280
|
"aliases": [],
|
|
1344
1281
|
"args": {
|
|
@@ -2003,6 +1940,245 @@
|
|
|
2003
1940
|
"generated-csi-venue-occupancy.js"
|
|
2004
1941
|
]
|
|
2005
1942
|
},
|
|
1943
|
+
"generated:generated-data-api-ad-sightings-history": {
|
|
1944
|
+
"aliases": [],
|
|
1945
|
+
"args": {},
|
|
1946
|
+
"description": "Outdoor creative history by brand, market and month, from the creative ledger.",
|
|
1947
|
+
"examples": [
|
|
1948
|
+
"$ trillboards generated data-api-ad-sightings-history"
|
|
1949
|
+
],
|
|
1950
|
+
"flags": {
|
|
1951
|
+
"api-key": {
|
|
1952
|
+
"description": "API key (or set TRILLBOARDS_API_KEY env var)",
|
|
1953
|
+
"env": "TRILLBOARDS_API_KEY",
|
|
1954
|
+
"name": "api-key",
|
|
1955
|
+
"hasDynamicHelp": false,
|
|
1956
|
+
"multiple": false,
|
|
1957
|
+
"type": "option"
|
|
1958
|
+
},
|
|
1959
|
+
"base-url": {
|
|
1960
|
+
"description": "API base URL",
|
|
1961
|
+
"name": "base-url",
|
|
1962
|
+
"default": "https://api.trillboards.com",
|
|
1963
|
+
"hasDynamicHelp": false,
|
|
1964
|
+
"multiple": false,
|
|
1965
|
+
"type": "option"
|
|
1966
|
+
},
|
|
1967
|
+
"format": {
|
|
1968
|
+
"description": "Output format",
|
|
1969
|
+
"name": "format",
|
|
1970
|
+
"hasDynamicHelp": false,
|
|
1971
|
+
"multiple": false,
|
|
1972
|
+
"options": [
|
|
1973
|
+
"json",
|
|
1974
|
+
"table",
|
|
1975
|
+
"yaml"
|
|
1976
|
+
],
|
|
1977
|
+
"type": "option"
|
|
1978
|
+
},
|
|
1979
|
+
"brand": {
|
|
1980
|
+
"description": "A brand by name, repeatable (competitors). Resolved to its brand id the way the brand search does.",
|
|
1981
|
+
"name": "brand",
|
|
1982
|
+
"hasDynamicHelp": false,
|
|
1983
|
+
"multiple": false,
|
|
1984
|
+
"type": "option"
|
|
1985
|
+
},
|
|
1986
|
+
"brand_id": {
|
|
1987
|
+
"description": "A resolved brand id, repeatable.",
|
|
1988
|
+
"name": "brand_id",
|
|
1989
|
+
"hasDynamicHelp": false,
|
|
1990
|
+
"multiple": false,
|
|
1991
|
+
"type": "option"
|
|
1992
|
+
},
|
|
1993
|
+
"market": {
|
|
1994
|
+
"description": "A market as COUNTRY:CODE, repeatable.",
|
|
1995
|
+
"name": "market",
|
|
1996
|
+
"hasDynamicHelp": false,
|
|
1997
|
+
"multiple": false,
|
|
1998
|
+
"type": "option"
|
|
1999
|
+
},
|
|
2000
|
+
"from": {
|
|
2001
|
+
"description": "First month (YYYY-MM) or day. Default: 12 months before `to`.",
|
|
2002
|
+
"name": "from",
|
|
2003
|
+
"hasDynamicHelp": false,
|
|
2004
|
+
"multiple": false,
|
|
2005
|
+
"type": "option"
|
|
2006
|
+
},
|
|
2007
|
+
"to": {
|
|
2008
|
+
"description": "Last month (YYYY-MM, inclusive) or day. Default: this month.",
|
|
2009
|
+
"name": "to",
|
|
2010
|
+
"hasDynamicHelp": false,
|
|
2011
|
+
"multiple": false,
|
|
2012
|
+
"type": "option"
|
|
2013
|
+
},
|
|
2014
|
+
"grain": {
|
|
2015
|
+
"description": "market_month (default) or fleet_month.",
|
|
2016
|
+
"name": "grain",
|
|
2017
|
+
"hasDynamicHelp": false,
|
|
2018
|
+
"multiple": false,
|
|
2019
|
+
"type": "option"
|
|
2020
|
+
},
|
|
2021
|
+
"limit": {
|
|
2022
|
+
"description": "Rows per page, 1..500 (default 100). The page limit is reserved; the rows returned are billed.",
|
|
2023
|
+
"name": "limit",
|
|
2024
|
+
"hasDynamicHelp": false,
|
|
2025
|
+
"multiple": false,
|
|
2026
|
+
"type": "option"
|
|
2027
|
+
},
|
|
2028
|
+
"cursor": {
|
|
2029
|
+
"description": "The `next_cursor` of the previous page.",
|
|
2030
|
+
"name": "cursor",
|
|
2031
|
+
"hasDynamicHelp": false,
|
|
2032
|
+
"multiple": false,
|
|
2033
|
+
"type": "option"
|
|
2034
|
+
}
|
|
2035
|
+
},
|
|
2036
|
+
"hasDynamicHelp": false,
|
|
2037
|
+
"hiddenAliases": [],
|
|
2038
|
+
"id": "generated:generated-data-api-ad-sightings-history",
|
|
2039
|
+
"pluginAlias": "@trillboards/cli",
|
|
2040
|
+
"pluginName": "@trillboards/cli",
|
|
2041
|
+
"pluginType": "core",
|
|
2042
|
+
"strict": true,
|
|
2043
|
+
"enableJsonFlag": false,
|
|
2044
|
+
"isESM": true,
|
|
2045
|
+
"relativePath": [
|
|
2046
|
+
"dist",
|
|
2047
|
+
"commands",
|
|
2048
|
+
"generated",
|
|
2049
|
+
"generated-data-api-ad-sightings-history.js"
|
|
2050
|
+
]
|
|
2051
|
+
},
|
|
2052
|
+
"generated:generated-data-api-ad-sightings": {
|
|
2053
|
+
"aliases": [],
|
|
2054
|
+
"args": {},
|
|
2055
|
+
"description": "Ad-sighting records: outdoor ads our cab cameras read, each with a signed photo link.",
|
|
2056
|
+
"examples": [
|
|
2057
|
+
"$ trillboards generated data-api-ad-sightings"
|
|
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
|
+
"brand": {
|
|
2089
|
+
"description": "A brand, repeatable for a brand set (competitors). Matched however it is typed: \"McDonald's\", \"mcdonalds\" and \"Mc Donalds\" find the same records.",
|
|
2090
|
+
"name": "brand",
|
|
2091
|
+
"hasDynamicHelp": false,
|
|
2092
|
+
"multiple": false,
|
|
2093
|
+
"type": "option"
|
|
2094
|
+
},
|
|
2095
|
+
"brand_id": {
|
|
2096
|
+
"description": "A resolved brand id, repeatable. Combined with `brand` as either-or.",
|
|
2097
|
+
"name": "brand_id",
|
|
2098
|
+
"hasDynamicHelp": false,
|
|
2099
|
+
"multiple": false,
|
|
2100
|
+
"type": "option"
|
|
2101
|
+
},
|
|
2102
|
+
"market": {
|
|
2103
|
+
"description": "A market as COUNTRY:CODE (US DMA or CA CMA), repeatable.",
|
|
2104
|
+
"name": "market",
|
|
2105
|
+
"hasDynamicHelp": false,
|
|
2106
|
+
"multiple": false,
|
|
2107
|
+
"type": "option"
|
|
2108
|
+
},
|
|
2109
|
+
"surface": {
|
|
2110
|
+
"description": "The surface kind as read (billboard, storefront, bus_shelter, ...), repeatable.",
|
|
2111
|
+
"name": "surface",
|
|
2112
|
+
"hasDynamicHelp": false,
|
|
2113
|
+
"multiple": false,
|
|
2114
|
+
"type": "option"
|
|
2115
|
+
},
|
|
2116
|
+
"board_id": {
|
|
2117
|
+
"description": "A board the sighting was matched to, repeatable.",
|
|
2118
|
+
"name": "board_id",
|
|
2119
|
+
"hasDynamicHelp": false,
|
|
2120
|
+
"multiple": false,
|
|
2121
|
+
"type": "option"
|
|
2122
|
+
},
|
|
2123
|
+
"creative_id": {
|
|
2124
|
+
"description": "A sighted creative (the campaign artwork), repeatable.",
|
|
2125
|
+
"name": "creative_id",
|
|
2126
|
+
"hasDynamicHelp": false,
|
|
2127
|
+
"multiple": false,
|
|
2128
|
+
"type": "option"
|
|
2129
|
+
},
|
|
2130
|
+
"instrument": {
|
|
2131
|
+
"description": "The reading instrument (ssr-v2, ssr-v1, vlmtext-v1, edge_ocr_v1), repeatable.",
|
|
2132
|
+
"name": "instrument",
|
|
2133
|
+
"hasDynamicHelp": false,
|
|
2134
|
+
"multiple": false,
|
|
2135
|
+
"type": "option"
|
|
2136
|
+
},
|
|
2137
|
+
"from": {
|
|
2138
|
+
"description": "Start (inclusive), YYYY-MM-DD or an ISO-8601 instant. Default: 30 days before `to`.",
|
|
2139
|
+
"name": "from",
|
|
2140
|
+
"hasDynamicHelp": false,
|
|
2141
|
+
"multiple": false,
|
|
2142
|
+
"type": "option"
|
|
2143
|
+
},
|
|
2144
|
+
"to": {
|
|
2145
|
+
"description": "End (exclusive). Default: now. The span is at most 400 days.",
|
|
2146
|
+
"name": "to",
|
|
2147
|
+
"hasDynamicHelp": false,
|
|
2148
|
+
"multiple": false,
|
|
2149
|
+
"type": "option"
|
|
2150
|
+
},
|
|
2151
|
+
"limit": {
|
|
2152
|
+
"description": "Records per page, 1..500 (default 50). The page limit is reserved; the records returned are billed.",
|
|
2153
|
+
"name": "limit",
|
|
2154
|
+
"hasDynamicHelp": false,
|
|
2155
|
+
"multiple": false,
|
|
2156
|
+
"type": "option"
|
|
2157
|
+
},
|
|
2158
|
+
"cursor": {
|
|
2159
|
+
"description": "The `next_cursor` of the previous page.",
|
|
2160
|
+
"name": "cursor",
|
|
2161
|
+
"hasDynamicHelp": false,
|
|
2162
|
+
"multiple": false,
|
|
2163
|
+
"type": "option"
|
|
2164
|
+
}
|
|
2165
|
+
},
|
|
2166
|
+
"hasDynamicHelp": false,
|
|
2167
|
+
"hiddenAliases": [],
|
|
2168
|
+
"id": "generated:generated-data-api-ad-sightings",
|
|
2169
|
+
"pluginAlias": "@trillboards/cli",
|
|
2170
|
+
"pluginName": "@trillboards/cli",
|
|
2171
|
+
"pluginType": "core",
|
|
2172
|
+
"strict": true,
|
|
2173
|
+
"enableJsonFlag": false,
|
|
2174
|
+
"isESM": true,
|
|
2175
|
+
"relativePath": [
|
|
2176
|
+
"dist",
|
|
2177
|
+
"commands",
|
|
2178
|
+
"generated",
|
|
2179
|
+
"generated-data-api-ad-sightings.js"
|
|
2180
|
+
]
|
|
2181
|
+
},
|
|
2006
2182
|
"generated:generated-data-api-aggregate": {
|
|
2007
2183
|
"aliases": [],
|
|
2008
2184
|
"args": {},
|
|
@@ -2752,6 +2928,66 @@
|
|
|
2752
2928
|
"generated-device-ota-manifest.js"
|
|
2753
2929
|
]
|
|
2754
2930
|
},
|
|
2931
|
+
"generated:generated-device-retained-cctv-review": {
|
|
2932
|
+
"aliases": [],
|
|
2933
|
+
"args": {},
|
|
2934
|
+
"description": "Store original CCTV evidence and its completed local review.",
|
|
2935
|
+
"examples": [
|
|
2936
|
+
"$ trillboards generated device-retained-cctv-review"
|
|
2937
|
+
],
|
|
2938
|
+
"flags": {
|
|
2939
|
+
"api-key": {
|
|
2940
|
+
"description": "API key (or set TRILLBOARDS_API_KEY env var)",
|
|
2941
|
+
"env": "TRILLBOARDS_API_KEY",
|
|
2942
|
+
"name": "api-key",
|
|
2943
|
+
"hasDynamicHelp": false,
|
|
2944
|
+
"multiple": false,
|
|
2945
|
+
"type": "option"
|
|
2946
|
+
},
|
|
2947
|
+
"base-url": {
|
|
2948
|
+
"description": "API base URL",
|
|
2949
|
+
"name": "base-url",
|
|
2950
|
+
"default": "https://api.trillboards.com",
|
|
2951
|
+
"hasDynamicHelp": false,
|
|
2952
|
+
"multiple": false,
|
|
2953
|
+
"type": "option"
|
|
2954
|
+
},
|
|
2955
|
+
"format": {
|
|
2956
|
+
"description": "Output format",
|
|
2957
|
+
"name": "format",
|
|
2958
|
+
"hasDynamicHelp": false,
|
|
2959
|
+
"multiple": false,
|
|
2960
|
+
"options": [
|
|
2961
|
+
"json",
|
|
2962
|
+
"table",
|
|
2963
|
+
"yaml"
|
|
2964
|
+
],
|
|
2965
|
+
"type": "option"
|
|
2966
|
+
},
|
|
2967
|
+
"data": {
|
|
2968
|
+
"description": "JSON request body",
|
|
2969
|
+
"name": "data",
|
|
2970
|
+
"hasDynamicHelp": false,
|
|
2971
|
+
"multiple": false,
|
|
2972
|
+
"type": "option"
|
|
2973
|
+
}
|
|
2974
|
+
},
|
|
2975
|
+
"hasDynamicHelp": false,
|
|
2976
|
+
"hiddenAliases": [],
|
|
2977
|
+
"id": "generated:generated-device-retained-cctv-review",
|
|
2978
|
+
"pluginAlias": "@trillboards/cli",
|
|
2979
|
+
"pluginName": "@trillboards/cli",
|
|
2980
|
+
"pluginType": "core",
|
|
2981
|
+
"strict": true,
|
|
2982
|
+
"enableJsonFlag": false,
|
|
2983
|
+
"isESM": true,
|
|
2984
|
+
"relativePath": [
|
|
2985
|
+
"dist",
|
|
2986
|
+
"commands",
|
|
2987
|
+
"generated",
|
|
2988
|
+
"generated-device-retained-cctv-review.js"
|
|
2989
|
+
]
|
|
2990
|
+
},
|
|
2755
2991
|
"generated:generated-device-sensing-profile": {
|
|
2756
2992
|
"aliases": [],
|
|
2757
2993
|
"args": {},
|
|
@@ -4416,7 +4652,70 @@
|
|
|
4416
4652
|
"screens",
|
|
4417
4653
|
"watch.js"
|
|
4418
4654
|
]
|
|
4655
|
+
},
|
|
4656
|
+
"endpoints": {
|
|
4657
|
+
"aliases": [],
|
|
4658
|
+
"args": {},
|
|
4659
|
+
"description": "Discover available API endpoints",
|
|
4660
|
+
"examples": [
|
|
4661
|
+
"<%= config.bin %> endpoints",
|
|
4662
|
+
"<%= config.bin %> endpoints --search screens",
|
|
4663
|
+
"<%= config.bin %> endpoints --format json"
|
|
4664
|
+
],
|
|
4665
|
+
"flags": {
|
|
4666
|
+
"api-key": {
|
|
4667
|
+
"description": "API key (or set TRILLBOARDS_API_KEY env var)",
|
|
4668
|
+
"env": "TRILLBOARDS_API_KEY",
|
|
4669
|
+
"name": "api-key",
|
|
4670
|
+
"hasDynamicHelp": false,
|
|
4671
|
+
"multiple": false,
|
|
4672
|
+
"type": "option"
|
|
4673
|
+
},
|
|
4674
|
+
"base-url": {
|
|
4675
|
+
"description": "API base URL",
|
|
4676
|
+
"name": "base-url",
|
|
4677
|
+
"default": "https://api.trillboards.com",
|
|
4678
|
+
"hasDynamicHelp": false,
|
|
4679
|
+
"multiple": false,
|
|
4680
|
+
"type": "option"
|
|
4681
|
+
},
|
|
4682
|
+
"format": {
|
|
4683
|
+
"description": "Output format",
|
|
4684
|
+
"name": "format",
|
|
4685
|
+
"hasDynamicHelp": false,
|
|
4686
|
+
"multiple": false,
|
|
4687
|
+
"options": [
|
|
4688
|
+
"json",
|
|
4689
|
+
"table",
|
|
4690
|
+
"yaml"
|
|
4691
|
+
],
|
|
4692
|
+
"type": "option"
|
|
4693
|
+
},
|
|
4694
|
+
"search": {
|
|
4695
|
+
"char": "s",
|
|
4696
|
+
"description": "Search query to filter endpoints",
|
|
4697
|
+
"name": "search",
|
|
4698
|
+
"hasDynamicHelp": false,
|
|
4699
|
+
"multiple": false,
|
|
4700
|
+
"type": "option"
|
|
4701
|
+
}
|
|
4702
|
+
},
|
|
4703
|
+
"hasDynamicHelp": false,
|
|
4704
|
+
"hiddenAliases": [],
|
|
4705
|
+
"id": "endpoints",
|
|
4706
|
+
"pluginAlias": "@trillboards/cli",
|
|
4707
|
+
"pluginName": "@trillboards/cli",
|
|
4708
|
+
"pluginType": "core",
|
|
4709
|
+
"strict": true,
|
|
4710
|
+
"enableJsonFlag": false,
|
|
4711
|
+
"isESM": true,
|
|
4712
|
+
"relativePath": [
|
|
4713
|
+
"dist",
|
|
4714
|
+
"commands",
|
|
4715
|
+
"endpoints",
|
|
4716
|
+
"index.js"
|
|
4717
|
+
]
|
|
4419
4718
|
}
|
|
4420
4719
|
},
|
|
4421
|
-
"version": "0.1.
|
|
4720
|
+
"version": "0.1.7"
|
|
4422
4721
|
}
|