@sendly/cli 3.27.1 → 3.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/contacts/bulk-mark-valid.d.ts +12 -0
- package/dist/commands/contacts/bulk-mark-valid.js +46 -0
- package/dist/commands/contacts/check-numbers.d.ts +12 -0
- package/dist/commands/contacts/check-numbers.js +41 -0
- package/dist/commands/contacts/mark-valid.d.ts +13 -0
- package/dist/commands/contacts/mark-valid.js +32 -0
- package/dist/commands/verify/list.d.ts +0 -2
- package/dist/commands/verify/list.js +8 -20
- package/dist/commands/verify/status.js +1 -1
- package/dist/commands/webhooks/listen.js +3 -3
- package/oclif.manifest.json +290 -152
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
2
|
+
export default class ContactsBulkMarkValid extends AuthenticatedCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
ids: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
7
|
+
list: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
8
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { apiClient } from "../../lib/api-client.js";
|
|
4
|
+
import { success, json, isJsonMode, error } from "../../lib/output.js";
|
|
5
|
+
export default class ContactsBulkMarkValid extends AuthenticatedCommand {
|
|
6
|
+
static description = "Clear the invalid flag on many contacts at once. Pass --ids (comma-separated, up to 10,000) OR --list <id>, not both. Escape hatch for when auto-mark misclassifies at scale.";
|
|
7
|
+
static examples = [
|
|
8
|
+
"<%= config.bin %> contacts bulk-mark-valid --ids cnt_abc,cnt_def,cnt_ghi",
|
|
9
|
+
"<%= config.bin %> contacts bulk-mark-valid --list lst_xxx",
|
|
10
|
+
];
|
|
11
|
+
static flags = {
|
|
12
|
+
...AuthenticatedCommand.baseFlags,
|
|
13
|
+
ids: Flags.string({
|
|
14
|
+
description: "Comma-separated contact IDs to clear (max 10,000 per call)",
|
|
15
|
+
exclusive: ["list"],
|
|
16
|
+
}),
|
|
17
|
+
list: Flags.string({
|
|
18
|
+
description: "Clear every flagged member of this list ID",
|
|
19
|
+
exclusive: ["ids"],
|
|
20
|
+
}),
|
|
21
|
+
};
|
|
22
|
+
async run() {
|
|
23
|
+
const { flags } = await this.parse(ContactsBulkMarkValid);
|
|
24
|
+
if (!flags.ids && !flags.list) {
|
|
25
|
+
error("Provide either --ids or --list");
|
|
26
|
+
this.exit(1);
|
|
27
|
+
}
|
|
28
|
+
const body = flags.ids
|
|
29
|
+
? {
|
|
30
|
+
ids: flags.ids
|
|
31
|
+
.split(",")
|
|
32
|
+
.map((s) => s.trim())
|
|
33
|
+
.filter(Boolean),
|
|
34
|
+
}
|
|
35
|
+
: { listId: flags.list };
|
|
36
|
+
const result = await apiClient.post("/api/contacts/bulk-mark-valid", body);
|
|
37
|
+
if (isJsonMode()) {
|
|
38
|
+
json(result);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
success(result.cleared === 0
|
|
42
|
+
? "No flagged contacts matched the selection"
|
|
43
|
+
: `${result.cleared} contact${result.cleared === 1 ? "" : "s"} marked as valid`, { Cleared: result.cleared });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVsay1tYXJrLXZhbGlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NvbnRhY3RzL2J1bGstbWFyay12YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkUsTUFBTSxDQUFDLE9BQU8sT0FBTyxxQkFBc0IsU0FBUSxvQkFBb0I7SUFDckUsTUFBTSxDQUFDLFdBQVcsR0FDaEIsK0tBQStLLENBQUM7SUFFbEwsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQiwwRUFBMEU7UUFDMUUsMkRBQTJEO0tBQzVELENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2hCLFdBQVcsRUFDVCw0REFBNEQ7WUFDOUQsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ3BCLENBQUM7UUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNqQixXQUFXLEVBQUUsNENBQTRDO1lBQ3pELFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNuQixDQUFDO0tBQ0gsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzlCLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDZixDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQXdDLEtBQUssQ0FBQyxHQUFHO1lBQ3pELENBQUMsQ0FBQztnQkFDRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7cUJBQ1gsS0FBSyxDQUFDLEdBQUcsQ0FBQztxQkFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDcEIsTUFBTSxDQUFDLE9BQU8sQ0FBQzthQUNuQjtZQUNILENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFM0IsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUNqQywrQkFBK0IsRUFDL0IsSUFBSSxDQUNMLENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2IsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQ0wsTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDO1lBQ2xCLENBQUMsQ0FBQywyQ0FBMkM7WUFDN0MsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sV0FBVyxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLGtCQUFrQixFQUNqRixFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQzVCLENBQUM7SUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsgc3VjY2VzcywganNvbiwgaXNKc29uTW9kZSwgZXJyb3IgfSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWN0c0J1bGtNYXJrVmFsaWQgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9XG4gICAgXCJDbGVhciB0aGUgaW52YWxpZCBmbGFnIG9uIG1hbnkgY29udGFjdHMgYXQgb25jZS4gUGFzcyAtLWlkcyAoY29tbWEtc2VwYXJhdGVkLCB1cCB0byAxMCwwMDApIE9SIC0tbGlzdCA8aWQ+LCBub3QgYm90aC4gRXNjYXBlIGhhdGNoIGZvciB3aGVuIGF1dG8tbWFyayBtaXNjbGFzc2lmaWVzIGF0IHNjYWxlLlwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGNvbnRhY3RzIGJ1bGstbWFyay12YWxpZCAtLWlkcyBjbnRfYWJjLGNudF9kZWYsY250X2doaVwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY29udGFjdHMgYnVsay1tYXJrLXZhbGlkIC0tbGlzdCBsc3RfeHh4XCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBpZHM6IEZsYWdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJDb21tYS1zZXBhcmF0ZWQgY29udGFjdCBJRHMgdG8gY2xlYXIgKG1heCAxMCwwMDAgcGVyIGNhbGwpXCIsXG4gICAgICBleGNsdXNpdmU6IFtcImxpc3RcIl0sXG4gICAgfSksXG4gICAgbGlzdDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkNsZWFyIGV2ZXJ5IGZsYWdnZWQgbWVtYmVyIG9mIHRoaXMgbGlzdCBJRFwiLFxuICAgICAgZXhjbHVzaXZlOiBbXCJpZHNcIl0sXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoQ29udGFjdHNCdWxrTWFya1ZhbGlkKTtcblxuICAgIGlmICghZmxhZ3MuaWRzICYmICFmbGFncy5saXN0KSB7XG4gICAgICBlcnJvcihcIlByb3ZpZGUgZWl0aGVyIC0taWRzIG9yIC0tbGlzdFwiKTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICBjb25zdCBib2R5OiB7IGlkcz86IHN0cmluZ1tdOyBsaXN0SWQ/OiBzdHJpbmcgfSA9IGZsYWdzLmlkc1xuICAgICAgPyB7XG4gICAgICAgICAgaWRzOiBmbGFncy5pZHNcbiAgICAgICAgICAgIC5zcGxpdChcIixcIilcbiAgICAgICAgICAgIC5tYXAoKHMpID0+IHMudHJpbSgpKVxuICAgICAgICAgICAgLmZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgfVxuICAgICAgOiB7IGxpc3RJZDogZmxhZ3MubGlzdCB9O1xuXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXBpQ2xpZW50LnBvc3Q8eyBjbGVhcmVkOiBudW1iZXIgfT4oXG4gICAgICBcIi9hcGkvY29udGFjdHMvYnVsay1tYXJrLXZhbGlkXCIsXG4gICAgICBib2R5LFxuICAgICk7XG5cbiAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICBqc29uKHJlc3VsdCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VjY2VzcyhcbiAgICAgIHJlc3VsdC5jbGVhcmVkID09PSAwXG4gICAgICAgID8gXCJObyBmbGFnZ2VkIGNvbnRhY3RzIG1hdGNoZWQgdGhlIHNlbGVjdGlvblwiXG4gICAgICAgIDogYCR7cmVzdWx0LmNsZWFyZWR9IGNvbnRhY3Qke3Jlc3VsdC5jbGVhcmVkID09PSAxID8gXCJcIiA6IFwic1wifSBtYXJrZWQgYXMgdmFsaWRgLFxuICAgICAgeyBDbGVhcmVkOiByZXN1bHQuY2xlYXJlZCB9LFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
2
|
+
export default class ContactsCheckNumbers extends AuthenticatedCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
list: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
7
|
+
force: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
8
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
9
|
+
quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
10
|
+
};
|
|
11
|
+
run(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Flags } from "@oclif/core";
|
|
2
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { apiClient } from "../../lib/api-client.js";
|
|
4
|
+
import { success, json, isJsonMode, info } from "../../lib/output.js";
|
|
5
|
+
export default class ContactsCheckNumbers extends AuthenticatedCommand {
|
|
6
|
+
static description = "Trigger a background carrier lookup across your contacts. Landlines and other non-SMS-capable numbers are auto-excluded from future campaigns. Runs asynchronously — results populate line_type / carrier_name / invalid_reason on affected contacts within a few minutes.";
|
|
7
|
+
static examples = [
|
|
8
|
+
"<%= config.bin %> contacts check-numbers",
|
|
9
|
+
"<%= config.bin %> contacts check-numbers --list lst_xxx",
|
|
10
|
+
"<%= config.bin %> contacts check-numbers --force",
|
|
11
|
+
];
|
|
12
|
+
static flags = {
|
|
13
|
+
...AuthenticatedCommand.baseFlags,
|
|
14
|
+
list: Flags.string({
|
|
15
|
+
char: "l",
|
|
16
|
+
description: "Scope the lookup to a single contact list",
|
|
17
|
+
}),
|
|
18
|
+
force: Flags.boolean({
|
|
19
|
+
description: "Re-check contacts even if already looked up",
|
|
20
|
+
default: false,
|
|
21
|
+
}),
|
|
22
|
+
};
|
|
23
|
+
async run() {
|
|
24
|
+
const { flags } = await this.parse(ContactsCheckNumbers);
|
|
25
|
+
const response = await apiClient.post("/api/contacts/lookup", {
|
|
26
|
+
listId: flags.list ?? null,
|
|
27
|
+
force: flags.force,
|
|
28
|
+
});
|
|
29
|
+
if (isJsonMode()) {
|
|
30
|
+
json(response);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
success("Carrier lookup started", {
|
|
34
|
+
Scope: flags.list ? `list ${flags.list}` : "all un-checked contacts",
|
|
35
|
+
Force: flags.force ? "yes" : "no",
|
|
36
|
+
});
|
|
37
|
+
info(response.message ??
|
|
38
|
+
"Results will appear on contacts within a few minutes. Run `sendly contacts list` to check progress.");
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stbnVtYmVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jb250YWN0cy9jaGVjay1udW1iZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFxQixTQUFRLG9CQUFvQjtJQUNwRSxNQUFNLENBQUMsV0FBVyxHQUNoQiw0UUFBNFEsQ0FBQztJQUUvUSxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDBDQUEwQztRQUMxQyx5REFBeUQ7UUFDekQsa0RBQWtEO0tBQ25ELENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLDJDQUEyQztTQUN6RCxDQUFDO1FBQ0YsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkIsV0FBVyxFQUFFLDZDQUE2QztZQUMxRCxPQUFPLEVBQUUsS0FBSztTQUNmLENBQUM7S0FDSCxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFekQsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUdsQyxzQkFBc0IsRUFBRTtZQUN6QixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJO1lBQzFCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2YsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsd0JBQXdCLEVBQUU7WUFDaEMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7WUFDcEUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtTQUNsQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQ0YsUUFBUSxDQUFDLE9BQU87WUFDZCxxR0FBcUcsQ0FDeEcsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBzdWNjZXNzLCBqc29uLCBpc0pzb25Nb2RlLCBpbmZvIH0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29udGFjdHNDaGVja051bWJlcnMgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9XG4gICAgXCJUcmlnZ2VyIGEgYmFja2dyb3VuZCBjYXJyaWVyIGxvb2t1cCBhY3Jvc3MgeW91ciBjb250YWN0cy4gTGFuZGxpbmVzIGFuZCBvdGhlciBub24tU01TLWNhcGFibGUgbnVtYmVycyBhcmUgYXV0by1leGNsdWRlZCBmcm9tIGZ1dHVyZSBjYW1wYWlnbnMuIFJ1bnMgYXN5bmNocm9ub3VzbHkg4oCUIHJlc3VsdHMgcG9wdWxhdGUgbGluZV90eXBlIC8gY2Fycmllcl9uYW1lIC8gaW52YWxpZF9yZWFzb24gb24gYWZmZWN0ZWQgY29udGFjdHMgd2l0aGluIGEgZmV3IG1pbnV0ZXMuXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY29udGFjdHMgY2hlY2stbnVtYmVyc1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY29udGFjdHMgY2hlY2stbnVtYmVycyAtLWxpc3QgbHN0X3h4eFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY29udGFjdHMgY2hlY2stbnVtYmVycyAtLWZvcmNlXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBsaXN0OiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJsXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTY29wZSB0aGUgbG9va3VwIHRvIGEgc2luZ2xlIGNvbnRhY3QgbGlzdFwiLFxuICAgIH0pLFxuICAgIGZvcmNlOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlJlLWNoZWNrIGNvbnRhY3RzIGV2ZW4gaWYgYWxyZWFkeSBsb29rZWQgdXBcIixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKENvbnRhY3RzQ2hlY2tOdW1iZXJzKTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LnBvc3Q8e1xuICAgICAgc3VjY2VzczogYm9vbGVhbjtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfT4oXCIvYXBpL2NvbnRhY3RzL2xvb2t1cFwiLCB7XG4gICAgICBsaXN0SWQ6IGZsYWdzLmxpc3QgPz8gbnVsbCxcbiAgICAgIGZvcmNlOiBmbGFncy5mb3JjZSxcbiAgICB9KTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1Y2Nlc3MoXCJDYXJyaWVyIGxvb2t1cCBzdGFydGVkXCIsIHtcbiAgICAgIFNjb3BlOiBmbGFncy5saXN0ID8gYGxpc3QgJHtmbGFncy5saXN0fWAgOiBcImFsbCB1bi1jaGVja2VkIGNvbnRhY3RzXCIsXG4gICAgICBGb3JjZTogZmxhZ3MuZm9yY2UgPyBcInllc1wiIDogXCJub1wiLFxuICAgIH0pO1xuICAgIGluZm8oXG4gICAgICByZXNwb25zZS5tZXNzYWdlID8/XG4gICAgICAgIFwiUmVzdWx0cyB3aWxsIGFwcGVhciBvbiBjb250YWN0cyB3aXRoaW4gYSBmZXcgbWludXRlcy4gUnVuIGBzZW5kbHkgY29udGFjdHMgbGlzdGAgdG8gY2hlY2sgcHJvZ3Jlc3MuXCIsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
2
|
+
export default class ContactsMarkValid extends AuthenticatedCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
id: import("@oclif/core/lib/interfaces/parser.js").Arg<string, Record<string, unknown>>;
|
|
7
|
+
};
|
|
8
|
+
static flags: {
|
|
9
|
+
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
10
|
+
quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Args } from "@oclif/core";
|
|
2
|
+
import { AuthenticatedCommand } from "../../lib/base-command.js";
|
|
3
|
+
import { apiClient } from "../../lib/api-client.js";
|
|
4
|
+
import { success, json, isJsonMode } from "../../lib/output.js";
|
|
5
|
+
export default class ContactsMarkValid extends AuthenticatedCommand {
|
|
6
|
+
static description = "Clear the invalid flag on a contact so future campaigns include it again. Use when you disagree with an auto-exclusion (e.g. the recipient ported from a landline to mobile).";
|
|
7
|
+
static examples = [
|
|
8
|
+
"<%= config.bin %> contacts mark-valid cnt_xxx",
|
|
9
|
+
];
|
|
10
|
+
static args = {
|
|
11
|
+
id: Args.string({
|
|
12
|
+
description: "Contact ID to clear the invalid flag on",
|
|
13
|
+
required: true,
|
|
14
|
+
}),
|
|
15
|
+
};
|
|
16
|
+
static flags = {
|
|
17
|
+
...AuthenticatedCommand.baseFlags,
|
|
18
|
+
};
|
|
19
|
+
async run() {
|
|
20
|
+
const { args } = await this.parse(ContactsMarkValid);
|
|
21
|
+
const contact = await apiClient.post(`/api/contacts/${args.id}/mark-valid`);
|
|
22
|
+
if (isJsonMode()) {
|
|
23
|
+
json(contact);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
success("Contact marked as valid — future campaigns will include it", {
|
|
27
|
+
ID: contact.id,
|
|
28
|
+
Phone: contact.phoneNumber ?? contact.phone_number ?? "—",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFyay12YWxpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jb250YWN0cy9tYXJrLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhFLE1BQU0sQ0FBQyxPQUFPLE9BQU8saUJBQWtCLFNBQVEsb0JBQW9CO0lBQ2pFLE1BQU0sQ0FBQyxXQUFXLEdBQ2hCLCtLQUErSyxDQUFDO0lBRWxMLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsK0NBQStDO0tBQ2hELENBQUM7SUFFRixNQUFNLENBQUMsSUFBSSxHQUFHO1FBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDZCxXQUFXLEVBQUUseUNBQXlDO1lBQ3RELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUVyRCxNQUFNLE9BQU8sR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBTWpDLGlCQUFpQixJQUFJLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUUxQyxJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxPQUFPLENBQUMsNERBQTRELEVBQUU7WUFDcEUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFO1lBQ2QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFlBQVksSUFBSSxHQUFHO1NBQzFELENBQUMsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7IHN1Y2Nlc3MsIGpzb24sIGlzSnNvbk1vZGUgfSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb250YWN0c01hcmtWYWxpZCBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICBcIkNsZWFyIHRoZSBpbnZhbGlkIGZsYWcgb24gYSBjb250YWN0IHNvIGZ1dHVyZSBjYW1wYWlnbnMgaW5jbHVkZSBpdCBhZ2Fpbi4gVXNlIHdoZW4geW91IGRpc2FncmVlIHdpdGggYW4gYXV0by1leGNsdXNpb24gKGUuZy4gdGhlIHJlY2lwaWVudCBwb3J0ZWQgZnJvbSBhIGxhbmRsaW5lIHRvIG1vYmlsZSkuXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY29udGFjdHMgbWFyay12YWxpZCBjbnRfeHh4XCIsXG4gIF07XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbnRhY3QgSUQgdG8gY2xlYXIgdGhlIGludmFsaWQgZmxhZyBvblwiLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBhcmdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKENvbnRhY3RzTWFya1ZhbGlkKTtcblxuICAgIGNvbnN0IGNvbnRhY3QgPSBhd2FpdCBhcGlDbGllbnQucG9zdDx7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgcGhvbmVOdW1iZXI/OiBzdHJpbmc7XG4gICAgICBwaG9uZV9udW1iZXI/OiBzdHJpbmc7XG4gICAgICBpbnZhbGlkUmVhc29uPzogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGludmFsaWRfcmVhc29uPzogc3RyaW5nIHwgbnVsbDtcbiAgICB9PihgL2FwaS9jb250YWN0cy8ke2FyZ3MuaWR9L21hcmstdmFsaWRgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24oY29udGFjdCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VjY2VzcyhcIkNvbnRhY3QgbWFya2VkIGFzIHZhbGlkIOKAlCBmdXR1cmUgY2FtcGFpZ25zIHdpbGwgaW5jbHVkZSBpdFwiLCB7XG4gICAgICBJRDogY29udGFjdC5pZCxcbiAgICAgIFBob25lOiBjb250YWN0LnBob25lTnVtYmVyID8/IGNvbnRhY3QucGhvbmVfbnVtYmVyID8/IFwi4oCUXCIsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,8 +4,6 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
6
|
limit: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
7
|
-
page: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
8
|
-
offset: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
9
7
|
status: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
|
|
10
8
|
json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
11
9
|
quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
|
|
@@ -6,8 +6,7 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
6
6
|
static description = "List recent verifications";
|
|
7
7
|
static examples = [
|
|
8
8
|
"<%= config.bin %> verify list",
|
|
9
|
-
"<%= config.bin %> verify list --limit
|
|
10
|
-
"<%= config.bin %> verify list --page 2",
|
|
9
|
+
"<%= config.bin %> verify list --limit 50",
|
|
11
10
|
"<%= config.bin %> verify list --status verified",
|
|
12
11
|
"<%= config.bin %> verify list --json",
|
|
13
12
|
];
|
|
@@ -15,16 +14,9 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
15
14
|
...AuthenticatedCommand.baseFlags,
|
|
16
15
|
limit: Flags.integer({
|
|
17
16
|
char: "l",
|
|
18
|
-
description: "Number of verifications
|
|
17
|
+
description: "Number of verifications to fetch (max 100)",
|
|
19
18
|
default: 20,
|
|
20
19
|
}),
|
|
21
|
-
page: Flags.integer({
|
|
22
|
-
char: "p",
|
|
23
|
-
description: "Page number (starts at 1)",
|
|
24
|
-
}),
|
|
25
|
-
offset: Flags.integer({
|
|
26
|
-
description: "Offset from start (alternative to --page)",
|
|
27
|
-
}),
|
|
28
20
|
status: Flags.string({
|
|
29
21
|
char: "s",
|
|
30
22
|
description: "Filter by status (pending, verified, expired, failed)",
|
|
@@ -39,8 +31,6 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
39
31
|
try {
|
|
40
32
|
const response = await apiClient.get("/api/v1/verify", {
|
|
41
33
|
limit: flags.limit,
|
|
42
|
-
...(flags.page && { page: flags.page }),
|
|
43
|
-
...(flags.offset && { offset: flags.offset }),
|
|
44
34
|
...(flags.status && { status: flags.status }),
|
|
45
35
|
});
|
|
46
36
|
listSpinner.stop();
|
|
@@ -54,13 +44,11 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
54
44
|
return;
|
|
55
45
|
}
|
|
56
46
|
const pagination = response.pagination || {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
totalPages: 1,
|
|
60
|
-
hasMore: false,
|
|
47
|
+
limit: response.verifications.length,
|
|
48
|
+
has_more: false,
|
|
61
49
|
};
|
|
62
50
|
console.log();
|
|
63
|
-
console.log(colors.dim(`Showing ${response.verifications.length} verifications
|
|
51
|
+
console.log(colors.dim(`Showing ${response.verifications.length} verifications${pagination.has_more ? " (more available)" : ""}`));
|
|
64
52
|
console.log();
|
|
65
53
|
const statusColor = (status) => {
|
|
66
54
|
switch (status) {
|
|
@@ -86,9 +74,9 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
86
74
|
{ header: "Sandbox", key: "sandbox", width: 8, formatter: (v) => v ? colors.dim("yes") : "" },
|
|
87
75
|
{ header: "Created", key: "created_at", width: 20, formatter: (v) => new Date(String(v)).toLocaleString() },
|
|
88
76
|
]);
|
|
89
|
-
if (pagination.
|
|
77
|
+
if (pagination.has_more) {
|
|
90
78
|
console.log();
|
|
91
|
-
console.log(colors.dim(` Use ${colors.code(`--
|
|
79
|
+
console.log(colors.dim(` Use ${colors.code(`--limit ${pagination.limit + 20}`)} to see more`));
|
|
92
80
|
}
|
|
93
81
|
}
|
|
94
82
|
catch (err) {
|
|
@@ -97,4 +85,4 @@ export default class VerifyList extends AuthenticatedCommand {
|
|
|
97
85
|
}
|
|
98
86
|
}
|
|
99
87
|
}
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92ZXJpZnkvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBNkIvRSxNQUFNLENBQUMsT0FBTyxPQUFPLFVBQVcsU0FBUSxvQkFBb0I7SUFDMUQsTUFBTSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztJQUVqRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsd0NBQXdDO1FBQ3hDLGlEQUFpRDtRQUNqRCxzQ0FBc0M7S0FDdkMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2xCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLDJCQUEyQjtTQUN6QyxDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDcEIsV0FBVyxFQUFFLDJDQUEyQztTQUN6RCxDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFX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QUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTthQUM1RyxDQUFDLENBQUM7WUFFSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FDUixTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FDcEUsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsganNvbiwgY29sb3JzLCBzcGlubmVyLCBpc0pzb25Nb2RlLCB0YWJsZSB9IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBWZXJpZmljYXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgZGVsaXZlcnlfc3RhdHVzOiBzdHJpbmc7XG4gIGF0dGVtcHRzOiBudW1iZXI7XG4gIG1heF9hdHRlbXB0czogbnVtYmVyO1xuICBleHBpcmVzX2F0OiBzdHJpbmc7XG4gIHZlcmlmaWVkX2F0OiBzdHJpbmcgfCBudWxsO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIHNhbmRib3g6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQYWdpbmF0aW9uIHtcbiAgdG90YWw6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbiAgb2Zmc2V0OiBudW1iZXI7XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBoYXNNb3JlOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTGlzdFJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uczogVmVyaWZpY2F0aW9uW107XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcmlmeUxpc3QgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiTGlzdCByZWNlbnQgdmVyaWZpY2F0aW9uc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBsaXN0XCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLWxpbWl0IDEwXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLXBhZ2UgMlwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gdmVyaWZ5IGxpc3QgLS1zdGF0dXMgdmVyaWZpZWRcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBsaXN0IC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgbGltaXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgY2hhcjogXCJsXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOdW1iZXIgb2YgdmVyaWZpY2F0aW9ucyBwZXIgcGFnZVwiLFxuICAgICAgZGVmYXVsdDogMjAsXG4gICAgfSksXG4gICAgcGFnZTogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiBcInBcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBhZ2UgbnVtYmVyIChzdGFydHMgYXQgMSlcIixcbiAgICB9KSxcbiAgICBvZmZzZXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgZGVzY3JpcHRpb246IFwiT2Zmc2V0IGZyb20gc3RhcnQgKGFsdGVybmF0aXZlIHRvIC0tcGFnZSlcIixcbiAgICB9KSxcbiAgICBzdGF0dXM6IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcInNcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkZpbHRlciBieSBzdGF0dXMgKHBlbmRpbmcsIHZlcmlmaWVkLCBleHBpcmVkLCBmYWlsZWQpXCIsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoVmVyaWZ5TGlzdCk7XG5cbiAgICBjb25zdCBsaXN0U3Bpbm5lciA9IHNwaW5uZXIoXCJGZXRjaGluZyB2ZXJpZmljYXRpb25zLi4uXCIpO1xuXG4gICAgaWYgKCFpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGxpc3RTcGlubmVyLnN0YXJ0KCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LmdldDxMaXN0UmVzcG9uc2U+KFwiL2FwaS92MS92ZXJpZnlcIiwge1xuICAgICAgICBsaW1pdDogZmxhZ3MubGltaXQsXG4gICAgICAgIC4uLihmbGFncy5wYWdlICYmIHsgcGFnZTogZmxhZ3MucGFnZSB9KSxcbiAgICAgICAgLi4uKGZsYWdzLm9mZnNldCAmJiB7IG9mZnNldDogZmxhZ3Mub2Zmc2V0IH0pLFxuICAgICAgICAuLi4oZmxhZ3Muc3RhdHVzICYmIHsgc3RhdHVzOiBmbGFncy5zdGF0dXMgfSksXG4gICAgICB9KTtcblxuICAgICAgbGlzdFNwaW5uZXIuc3RvcCgpO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiTm8gdmVyaWZpY2F0aW9ucyBmb3VuZC5cIikpO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgICAgYFNlbmQgb25lIHdpdGg6ICR7Y29sb3JzLmNvZGUoJ3NlbmRseSB2ZXJpZnkgc2VuZCAtLXRvIFwiKzEyMzQ1Njc4OTBcIicpfWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYWdpbmF0aW9uID0gcmVzcG9uc2UucGFnaW5hdGlvbiB8fCB7XG4gICAgICAgIHRvdGFsOiByZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCxcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgaGFzTW9yZTogZmFsc2UsXG4gICAgICB9O1xuXG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGNvbG9ycy5kaW0oXG4gICAgICAgICAgYFNob3dpbmcgJHtyZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aH0gdmVyaWZpY2F0aW9ucyAocGFnZSAke3BhZ2luYXRpb24ucGFnZX0gb2YgJHtwYWdpbmF0aW9uLnRvdGFsUGFnZXN9LCAke3BhZ2luYXRpb24udG90YWx9IHRvdGFsKWAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coKTtcblxuICAgICAgY29uc3Qgc3RhdHVzQ29sb3IgPSAoc3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICBjYXNlIFwidmVyaWZpZWRcIjpcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhzdGF0dXMpO1xuICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnByaW1hcnkoc3RhdHVzKTtcbiAgICAgICAgICBjYXNlIFwiZXhwaXJlZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5kaW0oc3RhdHVzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5lcnJvcihzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByb3dzID0gcmVzcG9uc2UudmVyaWZpY2F0aW9ucy5tYXAoKHYpID0+ICh7XG4gICAgICAgIC4uLnYsXG4gICAgICAgIGF0dGVtcHRzRGlzcGxheTogYCR7di5hdHRlbXB0c30vJHt2Lm1heF9hdHRlbXB0c31gLFxuICAgICAgfSkpO1xuXG4gICAgICB0YWJsZShyb3dzLCBbXG4gICAgICAgIHsgaGVhZGVyOiBcIklEXCIsIGtleTogXCJpZFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5jb2RlKFN0cmluZyh2KS5zbGljZSgwLCAxNikgKyBcIi4uLlwiKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJQaG9uZVwiLCBrZXk6IFwicGhvbmVcIiwgd2lkdGg6IDE2IH0sXG4gICAgICAgIHsgaGVhZGVyOiBcIlN0YXR1c1wiLCBrZXk6IFwic3RhdHVzXCIsIHdpZHRoOiAxMiwgZm9ybWF0dGVyOiAodikgPT4gc3RhdHVzQ29sb3IoU3RyaW5nKHYpKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJBdHRlbXB0c1wiLCBrZXk6IFwiYXR0ZW1wdHNEaXNwbGF5XCIsIHdpZHRoOiAxMCB9LFxuICAgICAgICB7IGhlYWRlcjogXCJTYW5kYm94XCIsIGtleTogXCJzYW5kYm94XCIsIHdpZHRoOiA4LCBmb3JtYXR0ZXI6ICh2KSA9PiB2ID8gY29sb3JzLmRpbShcInllc1wiKSA6IFwiXCIgfSxcbiAgICAgICAgeyBoZWFkZXI6IFwiQ3JlYXRlZFwiLCBrZXk6IFwiY3JlYXRlZF9hdFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IG5ldyBEYXRlKFN0cmluZyh2KSkudG9Mb2NhbGVTdHJpbmcoKSB9LFxuICAgICAgXSk7XG5cbiAgICAgIGlmIChwYWdpbmF0aW9uLmhhc01vcmUpIHtcbiAgICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgICAgIGAgIFVzZSAke2NvbG9ycy5jb2RlKGAtLXBhZ2UgJHtwYWdpbmF0aW9uLnBhZ2UgKyAxfWApfSB0byBzZWUgbW9yZWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgbGlzdFNwaW5uZXIuc3RvcCgpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92ZXJpZnkvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBNEIvRSxNQUFNLENBQUMsT0FBTyxPQUFPLFVBQVcsU0FBUSxvQkFBb0I7SUFDMUQsTUFBTSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztJQUVqRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsaURBQWlEO1FBQ2pELHNDQUFzQztLQUN2QyxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssR0FBRztRQUNiLEdBQUcsb0JBQW9CLENBQUMsU0FBUztRQUNqQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNuQixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFBRSw0Q0FBNEM7WUFDekQsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsdURBQXVEO1NBQ3JFLENBQUM7S0FDSCxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFD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Q29udGVudCI6WyJpbXBvcnQgeyBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBqc29uLCBjb2xvcnMsIHNwaW5uZXIsIGlzSnNvbk1vZGUsIHRhYmxlIH0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIFZlcmlmaWNhdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICBkZWxpdmVyeV9zdGF0dXM6IHN0cmluZztcbiAgYXR0ZW1wdHM6IG51bWJlcjtcbiAgbWF4X2F0dGVtcHRzOiBudW1iZXI7XG4gIGV4cGlyZXNfYXQ6IHN0cmluZztcbiAgdmVyaWZpZWRfYXQ6IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgc2FuZGJveDogYm9vbGVhbjtcbiAgYXBwX25hbWU/OiBzdHJpbmc7XG4gIHRlbXBsYXRlX2lkPzogc3RyaW5nO1xuICBwcm9maWxlX2lkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFnaW5hdGlvbiB7XG4gIGxpbWl0OiBudW1iZXI7XG4gIGhhc19tb3JlOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTGlzdFJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uczogVmVyaWZpY2F0aW9uW107XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcmlmeUxpc3QgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiTGlzdCByZWNlbnQgdmVyaWZpY2F0aW9uc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBsaXN0XCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLWxpbWl0IDUwXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLXN0YXR1cyB2ZXJpZmllZFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gdmVyaWZ5IGxpc3QgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBsaW1pdDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiBcImxcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk51bWJlciBvZiB2ZXJpZmljYXRpb25zIHRvIGZldGNoIChtYXggMTAwKVwiLFxuICAgICAgZGVmYXVsdDogMjAsXG4gICAgfSksXG4gICAgc3RhdHVzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJzXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJGaWx0ZXIgYnkgc3RhdHVzIChwZW5kaW5nLCB2ZXJpZmllZCwgZXhwaXJlZCwgZmFpbGVkKVwiLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFZlcmlmeUxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFNwaW5uZXIgPSBzcGlubmVyKFwiRmV0Y2hpbmcgdmVyaWZpY2F0aW9ucy4uLlwiKTtcblxuICAgIGlmICghaXNKc29uTW9kZSgpKSB7XG4gICAgICBsaXN0U3Bpbm5lci5zdGFydCgpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8TGlzdFJlc3BvbnNlPihcIi9hcGkvdjEvdmVyaWZ5XCIsIHtcbiAgICAgICAgbGltaXQ6IGZsYWdzLmxpbWl0LFxuICAgICAgICAuLi4oZmxhZ3Muc3RhdHVzICYmIHsgc3RhdHVzOiBmbGFncy5zdGF0dXMgfSksXG4gICAgICB9KTtcblxuICAgICAgbGlzdFNwaW5uZXIuc3RvcCgpO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiTm8gdmVyaWZpY2F0aW9ucyBmb3VuZC5cIikpO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgICAgYFNlbmQgb25lIHdpdGg6ICR7Y29sb3JzLmNvZGUoJ3NlbmRseSB2ZXJpZnkgc2VuZCAtLXRvIFwiKzEyMzQ1Njc4OTBcIicpfWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYWdpbmF0aW9uID0gcmVzcG9uc2UucGFnaW5hdGlvbiB8fCB7XG4gICAgICAgIGxpbWl0OiByZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCxcbiAgICAgICAgaGFzX21vcmU6IGZhbHNlLFxuICAgICAgfTtcblxuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgIGBTaG93aW5nICR7cmVzcG9uc2UudmVyaWZpY2F0aW9ucy5sZW5ndGh9IHZlcmlmaWNhdGlvbnMke3BhZ2luYXRpb24uaGFzX21vcmUgPyBcIiAobW9yZSBhdmFpbGFibGUpXCIgOiBcIlwifWAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coKTtcblxuICAgICAgY29uc3Qgc3RhdHVzQ29sb3IgPSAoc3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICBjYXNlIFwidmVyaWZpZWRcIjpcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhzdGF0dXMpO1xuICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnByaW1hcnkoc3RhdHVzKTtcbiAgICAgICAgICBjYXNlIFwiZXhwaXJlZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5kaW0oc3RhdHVzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5lcnJvcihzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByb3dzID0gcmVzcG9uc2UudmVyaWZpY2F0aW9ucy5tYXAoKHYpID0+ICh7XG4gICAgICAgIC4uLnYsXG4gICAgICAgIGF0dGVtcHRzRGlzcGxheTogYCR7di5hdHRlbXB0c30vJHt2Lm1heF9hdHRlbXB0c31gLFxuICAgICAgfSkpO1xuXG4gICAgICB0YWJsZShyb3dzLCBbXG4gICAgICAgIHsgaGVhZGVyOiBcIklEXCIsIGtleTogXCJpZFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5jb2RlKFN0cmluZyh2KS5zbGljZSgwLCAxNikgKyBcIi4uLlwiKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJQaG9uZVwiLCBrZXk6IFwicGhvbmVcIiwgd2lkdGg6IDE2IH0sXG4gICAgICAgIHsgaGVhZGVyOiBcIlN0YXR1c1wiLCBrZXk6IFwic3RhdHVzXCIsIHdpZHRoOiAxMiwgZm9ybWF0dGVyOiAodikgPT4gc3RhdHVzQ29sb3IoU3RyaW5nKHYpKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJBdHRlbXB0c1wiLCBrZXk6IFwiYXR0ZW1wdHNEaXNwbGF5XCIsIHdpZHRoOiAxMCB9LFxuICAgICAgICB7IGhlYWRlcjogXCJTYW5kYm94XCIsIGtleTogXCJzYW5kYm94XCIsIHdpZHRoOiA4LCBmb3JtYXR0ZXI6ICh2KSA9PiB2ID8gY29sb3JzLmRpbShcInllc1wiKSA6IFwiXCIgfSxcbiAgICAgICAgeyBoZWFkZXI6IFwiQ3JlYXRlZFwiLCBrZXk6IFwiY3JlYXRlZF9hdFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IG5ldyBEYXRlKFN0cmluZyh2KSkudG9Mb2NhbGVTdHJpbmcoKSB9LFxuICAgICAgXSk7XG5cbiAgICAgIGlmIChwYWdpbmF0aW9uLmhhc19tb3JlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGNvbG9ycy5kaW0oXG4gICAgICAgICAgICBgICBVc2UgJHtjb2xvcnMuY29kZShgLS1saW1pdCAke3BhZ2luYXRpb24ubGltaXQgKyAyMH1gKX0gdG8gc2VlIG1vcmVgLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIGxpc3RTcGlubmVyLnN0b3AoKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -54,4 +54,4 @@ export default class VerifyStatus extends AuthenticatedCommand {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3ZlcmlmeS9zdGF0dXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWtCakYsTUFBTSxDQUFDLE9BQU8sT0FBTyxZQUFhLFNBQVEsb0JBQW9CO0lBQzVELE1BQU0sQ0FBQyxXQUFXLEdBQUcseUJBQXlCLENBQUM7SUFFL0MsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQix5Q0FBeUM7UUFDekMsZ0RBQWdEO0tBQ2pELENBQUM7SUFFRixNQUFNLENBQUMsSUFBSSxHQUFHO1FBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDZCxXQUFXLEVBQUUsaUJBQWlCO1lBQzlCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFaEQsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDbEIsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQ2xDLGtCQUFrQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQzVCLENBQUM7WUFFRixhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFckIsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2YsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLFdBQVcsR0FDZixRQUFRLENBQUMsTUFBTSxLQUFLLFVBQVU7Z0JBQzVCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDaEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUztvQkFDN0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztZQUVyQixPQUFPLENBQUMscUJBQXFCLEVBQUU7Z0JBQzdCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixNQUFNLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BDLGlCQUFpQixFQUFFLFFBQVEsQ0FBQyxlQUFlO2dCQUMzQyxRQUFRLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3pELFlBQVksRUFBRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsY0FBYyxFQUFFO2dCQUM1RCxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSTtvQkFDMUIsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxjQUFjLEVBQUU7aUJBQy9ELENBQUM7Z0JBQ0YsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7WUFDbEIsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7IHN1Y2Nlc3MsIGpzb24sIGNvbG9ycywgc3Bpbm5lciwgaXNKc29uTW9kZSB9IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBTdGF0dXNSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICBkZWxpdmVyeV9zdGF0dXM6IHN0cmluZztcbiAgYXR0ZW1wdHM6IG51bWJlcjtcbiAgbWF4X2F0dGVtcHRzOiBudW1iZXI7XG4gIGV4cGlyZXNfYXQ6IHN0cmluZztcbiAgdmVyaWZpZWRfYXQ6IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgc2FuZGJveDogYm9vbGVhbjtcbiAgYXBwX25hbWU/OiBzdHJpbmc7XG4gIHRlbXBsYXRlX2lkPzogc3RyaW5nO1xuICBwcm9maWxlX2lkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJpZnlTdGF0dXMgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiR2V0IHZlcmlmaWNhdGlvbiBzdGF0dXNcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgc3RhdHVzIHZlcl94eHhcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBzdGF0dXMgdmVyX3h4eCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiVmVyaWZpY2F0aW9uIElEXCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQXV0aGVudGljYXRlZENvbW1hbmQuYmFzZUZsYWdzLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGFyZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoVmVyaWZ5U3RhdHVzKTtcblxuICAgIGNvbnN0IHN0YXR1c1NwaW5uZXIgPSBzcGlubmVyKFwiRmV0Y2hpbmcgdmVyaWZpY2F0aW9uIHN0YXR1cy4uLlwiKTtcblxuICAgIGlmICghaXNKc29uTW9kZSgpKSB7XG4gICAgICBzdGF0dXNTcGlubmVyLnN0YXJ0KCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LmdldDxTdGF0dXNSZXNwb25zZT4oXG4gICAgICAgIGAvYXBpL3YxL3ZlcmlmeS8ke2FyZ3MuaWR9YCxcbiAgICAgICk7XG5cbiAgICAgIHN0YXR1c1NwaW5uZXIuc3RvcCgpO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHN0YXR1c0NvbG9yID1cbiAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID09PSBcInZlcmlmaWVkXCJcbiAgICAgICAgICA/IGNvbG9ycy5zdWNjZXNzXG4gICAgICAgICAgOiByZXNwb25zZS5zdGF0dXMgPT09IFwicGVuZGluZ1wiXG4gICAgICAgICAgICA/IGNvbG9ycy5wcmltYXJ5XG4gICAgICAgICAgICA6IGNvbG9ycy5lcnJvcjtcblxuICAgICAgc3VjY2VzcyhcIlZlcmlmaWNhdGlvbiBzdGF0dXNcIiwge1xuICAgICAgICBcIlZlcmlmaWNhdGlvbiBJRFwiOiBjb2xvcnMuY29kZShyZXNwb25zZS5pZCksXG4gICAgICAgIFBob25lOiByZXNwb25zZS5waG9uZSxcbiAgICAgICAgU3RhdHVzOiBzdGF0dXNDb2xvcihyZXNwb25zZS5zdGF0dXMpLFxuICAgICAgICBcIkRlbGl2ZXJ5IFN0YXR1c1wiOiByZXNwb25zZS5kZWxpdmVyeV9zdGF0dXMsXG4gICAgICAgIEF0dGVtcHRzOiBgJHtyZXNwb25zZS5hdHRlbXB0c30vJHtyZXNwb25zZS5tYXhfYXR0ZW1wdHN9YCxcbiAgICAgICAgXCJFeHBpcmVzIEF0XCI6IG5ldyBEYXRlKHJlc3BvbnNlLmV4cGlyZXNfYXQpLnRvTG9jYWxlU3RyaW5nKCksXG4gICAgICAgIC4uLihyZXNwb25zZS52ZXJpZmllZF9hdCAmJiB7XG4gICAgICAgICAgXCJWZXJpZmllZCBBdFwiOiBuZXcgRGF0ZShyZXNwb25zZS52ZXJpZmllZF9hdCkudG9Mb2NhbGVTdHJpbmcoKSxcbiAgICAgICAgfSksXG4gICAgICAgIFNhbmRib3g6IHJlc3BvbnNlLnNhbmRib3ggPyBjb2xvcnMuZGltKFwieWVzXCIpIDogXCJub1wiLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIHN0YXR1c1NwaW5uZXIuc3RvcCgpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -20,8 +20,8 @@ export default class WebhooksListen extends AuthenticatedCommand {
|
|
|
20
20
|
}),
|
|
21
21
|
events: Flags.string({
|
|
22
22
|
char: "e",
|
|
23
|
-
description: "Comma-separated list of events to listen for",
|
|
24
|
-
default: "message.sent,message.delivered,message.failed,message.bounced,message.retrying",
|
|
23
|
+
description: "Comma-separated list of events to listen for. Default subscribes to all message.* and contact.* / contacts.* events so nothing is missed during local dev.",
|
|
24
|
+
default: "message.sent,message.delivered,message.failed,message.bounced,message.retrying,message.received,message.opt_out,message.opt_in,contact.auto_flagged,contact.marked_valid,contacts.lookup_completed,contacts.bulk_marked_valid",
|
|
25
25
|
}),
|
|
26
26
|
};
|
|
27
27
|
ws = null;
|
|
@@ -208,4 +208,4 @@ export default class WebhooksListen extends AuthenticatedCommand {
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3dlYmhvb2tzL2xpc3Rlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBRUwsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sU0FBUyxNQUFNLElBQUksQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQStCdEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFlLFNBQVEsb0JBQW9CO0lBQzlELE1BQU0sQ0FBQyxXQUFXLEdBQ2hCLGlIQUFpSCxDQUFDO0lBRXBILE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsbUNBQW1DO1FBQ25DLDJFQUEyRTtRQUMzRSw2RUFBNkU7S0FDOUUsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDcEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLE9BQU8sRUFBRSwrQkFBK0I7U0FDekMsQ0FBQztRQUNGLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ25CLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLDhDQUE4QztZQUMzRCxPQUFPLEVBQUUsZ0ZBQWdGO1NBQzFGLENBQUM7S0FDSCxDQUFDO0lBRU0sRUFBRSxHQUFxQixJQUFJLENBQUM7SUFDNUIsU0FBUyxHQUFrQixJQUFJLENB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TSxHQUFHLENBQzNFLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FDVCxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG9CQUFvQixRQUFRLENBQUMsTUFBTSxHQUFHLENBQzdELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW9CLEdBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FDbEUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPO1FBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1Asd0JBQXdCO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHN1Y2Nlc3MsXG4gIGVycm9yLFxuICBpbmZvLFxuICB3YXJuLFxuICBjb2xvcnMsXG4gIHNwaW5uZXIsXG59IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gXCIuLi8uLi9saWIvY29uZmlnLmpzXCI7XG5pbXBvcnQgV2ViU29ja2V0IGZyb20gXCJ3c1wiO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJub2RlOmNyeXB0b1wiO1xuXG5pbnRlcmZhY2UgV2ViaG9va0V2ZW50IHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhcGlfdmVyc2lvbjogc3RyaW5nO1xuICBjcmVhdGVkOiBudW1iZXI7XG4gIGxpdmVtb2RlOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgb2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFdlYlNvY2tldE1lc3NhZ2Uge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpbWVzdGFtcD86IG51bWJlcjtcbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICBldmVudD86IFdlYmhvb2tFdmVudDtcbiAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICBldmVudHM/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIExpc3RlblN0YXJ0UmVzcG9uc2Uge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgd3NUb2tlbjogc3RyaW5nO1xuICBzZWNyZXQ6IHN0cmluZztcbiAgd3NVcmw6IHN0cmluZztcbiAgZXZlbnRzOiBzdHJpbmdbXTtcbiAgZm9yd2FyZFVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJob29rc0xpc3RlbiBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICBcIkxpc3RlbiBmb3Igd2ViaG9va3MgbG9jYWxseS4gUmVjZWl2ZXMgZXZlbnRzIGluIHJlYWwtdGltZSB2aWEgV2ViU29ja2V0IGFuZCBmb3J3YXJkcyB0aGVtIHRvIHlvdXIgbG9jYWwgc2VydmVyLlwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGxpc3RlblwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgbGlzdGVuIC0tZm9yd2FyZCBodHRwOi8vbG9jYWxob3N0OjMwMDAvd2ViaG9va1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgbGlzdGVuIC0tZXZlbnRzIG1lc3NhZ2UuZGVsaXZlcmVkLG1lc3NhZ2UuZmFpbGVkXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBmb3J3YXJkOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJmXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMb2NhbCBVUkwgdG8gZm9yd2FyZCBldmVudHMgdG9cIixcbiAgICAgIGRlZmF1bHQ6IFwiaHR0cDovL2xvY2FsaG9zdDozMDAwL3dlYmhvb2tcIixcbiAgICB9KSxcbiAgICBldmVudHM6IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcImVcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV2ZW50cyB0byBsaXN0ZW4gZm9yXCIsXG4gICAgICBkZWZhdWx0OiBcIm1lc3NhZ2Uuc2VudCxtZXNzYWdlLmRlbGl2ZXJlZCxtZXNzYWdlLmZhaWxlZCxtZXNzYWdlLmJvdW5jZWQsbWVzc2FnZS5yZXRyeWluZ1wiLFxuICAgIH0pLFxuICB9O1xuXG4gIHByaXZhdGUgd3M6IFdlYlNvY2tldCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHNlc3Npb25JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc2VjcmV0OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShXZWJob29rc0xpc3Rlbik7XG5cbiAgICB0cnkge1xuICAgICAgbmV3IFVSTChmbGFncy5mb3J3YXJkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuZXJyb3IoYEludmFsaWQgZm9yd2FyZCBVUkw6ICR7ZmxhZ3MuZm9yd2FyZH0uIE11c3QgYmUgYSB2YWxpZCBVUkwgKGUuZy4sIGh0dHA6Ly9sb2NhbGhvc3Q6MzAwMC93ZWJob29rKS5gKTtcbiAgICB9XG5cbiAgICBjb25zdCBldmVudHMgPSBmbGFncy5ldmVudHMuc3BsaXQoXCIsXCIpLm1hcCgoZSkgPT4gZS50cmltKCkpO1xuXG4gICAgY29uc3Qgc3BpbiA9IHNwaW5uZXIoXCJTdGFydGluZyB3ZWJob29rIGxpc3RlbmVyLi4uXCIpO1xuICAgIHNwaW4uc3RhcnQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5wb3N0PExpc3RlblN0YXJ0UmVzcG9uc2U+KFxuICAgICAgICBcIi9hcGkvY2xpL2xpc3Rlbi9zdGFydFwiLFxuICAgICAgICB7XG4gICAgICAgICAgZXZlbnRzLFxuICAgICAgICAgIGZvcndhcmRVcmw6IGZsYWdzLmZvcndhcmQsXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNlc3Npb25JZCA9IHJlc3BvbnNlLnNlc3Npb25JZDtcbiAgICAgIHRoaXMuc2VjcmV0ID0gcmVzcG9uc2Uuc2VjcmV0O1xuXG4gICAgICBzcGluLnN1Y2NlZWQoXCJMaXN0ZW5lciByZWdpc3RlcmVkXCIpO1xuXG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoY29sb3JzLnByaW1hcnkoXCJXZWJob29rIGxpc3RlbmVyIHJlYWR5IVwiKSkpO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgICAke2NvbG9ycy5kaW0oXCJGb3J3YXJkaW5nIHRvOlwiKX0gJHtjb2xvcnMuY29kZShmbGFncy5mb3J3YXJkKX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUubG9nKGAgICR7Y29sb3JzLmRpbShcIkV2ZW50czpcIil9ICAgICAgICAke2V2ZW50cy5qb2luKFwiLCBcIil9YCk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMuZGltKFwiV2ViaG9vayBTZWNyZXQ6XCIpfWApO1xuICAgICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMucHJpbWFyeShyZXNwb25zZS5zZWNyZXQpfWApO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFwiVXNlIHRoaXMgc2VjcmV0IHRvIHZlcmlmeSB3ZWJob29rIHNpZ25hdHVyZXMgaW4geW91ciBhcHAuXCIpLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAgIGNvbnN0IHNwaW4yID0gc3Bpbm5lcihcIkNvbm5lY3RpbmcgdG8gU2VuZGx5Li4uXCIpO1xuICAgICAgc3BpbjIuc3RhcnQoKTtcblxuICAgICAgYXdhaXQgdGhpcy5jb25uZWN0V2ViU29ja2V0KHJlc3BvbnNlLndzVXJsLCBmbGFncy5mb3J3YXJkKTtcblxuICAgICAgc3BpbjIuc3VjY2VlZChcIkNvbm5lY3RlZFwiKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIldhaXRpbmcgZm9yIGV2ZW50cy4uLiAoQ3RybCtDIHRvIHF1aXQpXCIpKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCLilIBcIi5yZXBlYXQoNjApKSk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgICBjb25zdCBjbGVhbnVwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgICBpbmZvKFwiU2h1dHRpbmcgZG93bi4uLlwiKTtcbiAgICAgICAgYXdhaXQgdGhpcy5jbGVhbnVwKCk7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgwKTtcbiAgICAgIH07XG5cbiAgICAgIHByb2Nlc3Mub24oXCJTSUdJTlRcIiwgY2xlYW51cCk7XG4gICAgICBwcm9jZXNzLm9uKFwiU0lHVEVSTVwiLCBjbGVhbnVwKTtcblxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKCkgPT4ge30pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc3Bpbi5mYWlsKFwiRmFpbGVkIHRvIHN0YXJ0IGxpc3RlbmVyXCIpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29ubmVjdFdlYlNvY2tldCh3c1VybDogc3RyaW5nLCBmb3J3YXJkVXJsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy53cyA9IG5ldyBXZWJTb2NrZXQod3NVcmwpO1xuXG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJXZWJTb2NrZXQgY29ubmVjdGlvbiB0aW1lb3V0XCIpKTtcbiAgICAgIH0sIDMwMDAwKTtcblxuICAgICAgdGhpcy53cy5vbihcIm9wZW5cIiwgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy53cy5vbihcIm1lc3NhZ2VcIiwgYXN5bmMgKGRhdGEpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBtZXNzYWdlOiBXZWJTb2NrZXRNZXNzYWdlID0gSlNPTi5wYXJzZShkYXRhLnRvU3RyaW5nKCkpO1xuXG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gXCJjbGlfY29ubmVjdGVkXCIpIHtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobWVzc2FnZS50eXBlID09PSBcIndlYmhvb2tfZXZlbnRcIiAmJiBtZXNzYWdlLmV2ZW50KSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZUV2ZW50KG1lc3NhZ2UsIGZvcndhcmRVcmwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIkZhaWxlZCB0byBwYXJzZSBXZWJTb2NrZXQgbWVzc2FnZTpcIiwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMud3Mub24oXCJjbG9zZVwiLCAoY29kZSwgcmVhc29uKSA9PiB7XG4gICAgICAgIGlmIChjb2RlICE9PSAxMDAwKSB7XG4gICAgICAgICAgd2FybihgV2ViU29ja2V0IGRpc2Nvbm5lY3RlZDogJHtyZWFzb24gfHwgY29kZX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMud3Mub24oXCJlcnJvclwiLCAoZXJyKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICAgICAgZXJyb3IoYFdlYlNvY2tldCBlcnJvcjogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlRXZlbnQoXG4gICAgbWVzc2FnZTogV2ViU29ja2V0TWVzc2FnZSxcbiAgICBmb3J3YXJkVXJsOiBzdHJpbmcsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGV2ZW50ID0gbWVzc2FnZS5ldmVudCE7XG4gICAgY29uc3QgdGltZXN0YW1wID0gbWVzc2FnZS50aW1lc3RhbXAhO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IG1lc3NhZ2Uuc2lnbmF0dXJlITtcblxuICAgIHRoaXMuZGlzcGxheUV2ZW50KGV2ZW50KTtcblxuICAgIGlmICh0aGlzLnZlcmlmeVNpZ25hdHVyZShldmVudCwgdGltZXN0YW1wLCBzaWduYXR1cmUpKSB7XG4gICAgICBhd2FpdCB0aGlzLmZvcndhcmRFdmVudChmb3J3YXJkVXJsLCBldmVudCwgdGltZXN0YW1wLCBzaWduYXR1cmUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5lcnJvcihcIuKcl1wiKX0gU2lnbmF0dXJlIHZlcmlmaWNhdGlvbiBmYWlsZWRgKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB2ZXJpZnlTaWduYXR1cmUoXG4gICAgZXZlbnQ6IFdlYmhvb2tFdmVudCxcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBzaWduYXR1cmU6IHN0cmluZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnNlY3JldCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTtcbiAgICBjb25zdCBzaWduZWRQYXlsb2FkID0gYCR7dGltZXN0YW1wfS4ke3BheWxvYWR9YDtcbiAgICBjb25zdCBleHBlY3RlZFNpZ25hdHVyZSA9IGBzaGEyNTY9JHtjcnlwdG9cbiAgICAgIC5jcmVhdGVIbWFjKFwic2hhMjU2XCIsIHRoaXMuc2VjcmV0KVxuICAgICAgLnVwZGF0ZShzaWduZWRQYXlsb2FkLCBcInV0ZjhcIilcbiAgICAgIC5kaWdlc3QoXCJoZXhcIil9YDtcblxuICAgIHJldHVybiBzaWduYXR1cmUgPT09IGV4cGVjdGVkU2lnbmF0dXJlO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5RXZlbnQoZXZlbnQ6IFdlYmhvb2tFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ldyBEYXRlKGV2ZW50LmNyZWF0ZWQgKiAxMDAwKS50b0xvY2FsZVRpbWVTdHJpbmcoKTtcbiAgICBjb25zdCBldmVudFR5cGUgPSBldmVudC50eXBlO1xuXG4gICAgbGV0IHN0YXR1c0NvbG9yID0gY29sb3JzLmluZm87XG4gICAgaWYgKGV2ZW50VHlwZS5pbmNsdWRlcyhcImRlbGl2ZXJlZFwiKSkgc3RhdHVzQ29sb3IgPSBjb2xvcnMuc3VjY2VzcztcbiAgICBpZiAoZXZlbnRUeXBlLmluY2x1ZGVzKFwiZmFpbGVkXCIpIHx8IGV2ZW50VHlwZS5pbmNsdWRlcyhcImJvdW5jZWRcIikpIHN0YXR1c0NvbG9yID0gY29sb3JzLmVycm9yO1xuICAgIGlmIChldmVudFR5cGUuaW5jbHVkZXMoXCJyZXRyeWluZ1wiKSkgc3RhdHVzQ29sb3IgPSBjb2xvcnMud2FybmluZztcblxuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCR7Y29sb3JzLmRpbSh0aW1lc3RhbXApfSAke3N0YXR1c0NvbG9yKFwi4oaSXCIpfSAke2NvbG9ycy5ib2xkKGV2ZW50VHlwZSl9YCxcbiAgICApO1xuXG4gICAgY29uc3QgZGF0YSA9IGV2ZW50LmRhdGE/Lm9iamVjdDtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgY29uc3QgbWVzc2FnZUlkID0gZGF0YS5pZCBhcyBzdHJpbmc7XG4gICAgICBjb25zdCB0byA9IGRhdGEudG8gYXMgc3RyaW5nO1xuICAgICAgY29uc3QgYmF0Y2hJZCA9IChkYXRhIGFzIGFueSkuYmF0Y2hfaWQgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKG1lc3NhZ2VJZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5kaW0oXCJpZDpcIil9ICR7bWVzc2FnZUlkfWApO1xuICAgICAgfVxuICAgICAgaWYgKHRvKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAgICR7Y29sb3JzLmRpbShcInRvOlwiKX0gJHt0b31gKTtcbiAgICAgIH1cbiAgICAgIGlmIChiYXRjaElkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAgICR7Y29sb3JzLmRpbShcImJhdGNoOlwiKX0gJHtiYXRjaElkfWApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZm9yd2FyZEV2ZW50KFxuICAgIGZvcndhcmRVcmw6IHN0cmluZyxcbiAgICBldmVudDogV2ViaG9va0V2ZW50LFxuICAgIHRpbWVzdGFtcDogbnVtYmVyLFxuICAgIHNpZ25hdHVyZTogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KGV2ZW50KTtcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChmb3J3YXJkVXJsLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICBcIlgtU2VuZGx5LVNpZ25hdHVyZVwiOiBzaWduYXR1cmUsXG4gICAgICAgICAgXCJYLVNlbmRseS1UaW1lc3RhbXBcIjogdGltZXN0YW1wLnRvU3RyaW5nKCksXG4gICAgICAgICAgXCJYLVNlbmRseS1FdmVudFwiOiBldmVudC50eXBlLFxuICAgICAgICAgIFwiWC1TZW5kbHktRXZlbnQtSWRcIjogZXZlbnQuaWQsXG4gICAgICAgIH0sXG4gICAgICAgIGJvZHk6IHBheWxvYWQsXG4gICAgICB9KTtcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGAgICR7Y29sb3JzLnN1Y2Nlc3MoXCLinJNcIil9IEZvcndhcmRlZCB0byAke2ZvcndhcmRVcmx9ICgke3Jlc3BvbnNlLnN0YXR1c30pYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGAgICR7Y29sb3JzLmVycm9yKFwi4pyXXCIpfSBGb3J3YXJkIGZhaWxlZCAoJHtyZXNwb25zZS5zdGF0dXN9KWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYCAgJHtjb2xvcnMuZXJyb3IoXCLinJdcIil9IEZvcndhcmQgZXJyb3I6ICR7KGVyciBhcyBFcnJvcikubWVzc2FnZX1gLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2xlYW51cCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy53cykge1xuICAgICAgdGhpcy53cy5jbG9zZSgxMDAwLCBcIkNsaWVudCBzaHV0ZG93blwiKTtcbiAgICAgIHRoaXMud3MgPSBudWxsO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNlc3Npb25JZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgYXBpQ2xpZW50LmRlbGV0ZShgL2FwaS9jbGkvbGlzdGVuL3N0b3AvJHt0aGlzLnNlc3Npb25JZH1gKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBJZ25vcmUgY2xlYW51cCBlcnJvcnNcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3dlYmhvb2tzL2xpc3Rlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBRUwsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDUixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sU0FBUyxNQUFNLElBQUksQ0FBQztBQUMzQixPQUFPLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQztBQStCdEMsTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFlLFNBQVEsb0JBQW9CO0lBQzlELE1BQU0sQ0FBQyxXQUFXLEdBQ2hCLGlIQUFpSCxDQUFDO0lBRXBILE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsbUNBQW1DO1FBQ25DLDJFQUEyRTtRQUMzRSw2RUFBNkU7S0FDOUUsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDcEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsZ0NBQWdDO1lBQzdDLE9BQU8sRUFBRSwrQkFBK0I7U0FDekMsQ0FBQztRQUNGLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ25CLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUNULDRKQUE0SjtZQUM5SixPQUFPLEVBQ0wsK05BQStOO1NBQ2xPLENBQUM7S0FDSCxDQUFDO0lBRU0sRUFBRSxHQUFxQixJQUFJLENBQUM7SUFDNUIsU0FBUyxHQUFrQixJQUFJLENB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TSxHQUFHLENBQzNFLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEdBQUcsQ0FDVCxLQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG9CQUFvQixRQUFRLENBQUMsTUFBTSxHQUFHLENBQzdELENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsbUJBQW9CLEdBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FDbEUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPO1FBQ25CLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1osSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1Asd0JBQXdCO1lBQzFCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHN1Y2Nlc3MsXG4gIGVycm9yLFxuICBpbmZvLFxuICB3YXJuLFxuICBjb2xvcnMsXG4gIHNwaW5uZXIsXG59IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5pbXBvcnQgeyBnZXRDb25maWdWYWx1ZSB9IGZyb20gXCIuLi8uLi9saWIvY29uZmlnLmpzXCI7XG5pbXBvcnQgV2ViU29ja2V0IGZyb20gXCJ3c1wiO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gXCJub2RlOmNyeXB0b1wiO1xuXG5pbnRlcmZhY2UgV2ViaG9va0V2ZW50IHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBhcGlfdmVyc2lvbjogc3RyaW5nO1xuICBjcmVhdGVkOiBudW1iZXI7XG4gIGxpdmVtb2RlOiBib29sZWFuO1xuICBkYXRhOiB7XG4gICAgb2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFdlYlNvY2tldE1lc3NhZ2Uge1xuICB0eXBlOiBzdHJpbmc7XG4gIHRpbWVzdGFtcD86IG51bWJlcjtcbiAgc2lnbmF0dXJlPzogc3RyaW5nO1xuICBldmVudD86IFdlYmhvb2tFdmVudDtcbiAgc2Vzc2lvbklkPzogc3RyaW5nO1xuICBldmVudHM/OiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIExpc3RlblN0YXJ0UmVzcG9uc2Uge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgd3NUb2tlbjogc3RyaW5nO1xuICBzZWNyZXQ6IHN0cmluZztcbiAgd3NVcmw6IHN0cmluZztcbiAgZXZlbnRzOiBzdHJpbmdbXTtcbiAgZm9yd2FyZFVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJob29rc0xpc3RlbiBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID1cbiAgICBcIkxpc3RlbiBmb3Igd2ViaG9va3MgbG9jYWxseS4gUmVjZWl2ZXMgZXZlbnRzIGluIHJlYWwtdGltZSB2aWEgV2ViU29ja2V0IGFuZCBmb3J3YXJkcyB0aGVtIHRvIHlvdXIgbG9jYWwgc2VydmVyLlwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGxpc3RlblwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgbGlzdGVuIC0tZm9yd2FyZCBodHRwOi8vbG9jYWxob3N0OjMwMDAvd2ViaG9va1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgbGlzdGVuIC0tZXZlbnRzIG1lc3NhZ2UuZGVsaXZlcmVkLG1lc3NhZ2UuZmFpbGVkXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBmb3J3YXJkOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJmXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMb2NhbCBVUkwgdG8gZm9yd2FyZCBldmVudHMgdG9cIixcbiAgICAgIGRlZmF1bHQ6IFwiaHR0cDovL2xvY2FsaG9zdDozMDAwL3dlYmhvb2tcIixcbiAgICB9KSxcbiAgICBldmVudHM6IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcImVcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGV2ZW50cyB0byBsaXN0ZW4gZm9yLiBEZWZhdWx0IHN1YnNjcmliZXMgdG8gYWxsIG1lc3NhZ2UuKiBhbmQgY29udGFjdC4qIC8gY29udGFjdHMuKiBldmVudHMgc28gbm90aGluZyBpcyBtaXNzZWQgZHVyaW5nIGxvY2FsIGRldi5cIixcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIFwibWVzc2FnZS5zZW50LG1lc3NhZ2UuZGVsaXZlcmVkLG1lc3NhZ2UuZmFpbGVkLG1lc3NhZ2UuYm91bmNlZCxtZXNzYWdlLnJldHJ5aW5nLG1lc3NhZ2UucmVjZWl2ZWQsbWVzc2FnZS5vcHRfb3V0LG1lc3NhZ2Uub3B0X2luLGNvbnRhY3QuYXV0b19mbGFnZ2VkLGNvbnRhY3QubWFya2VkX3ZhbGlkLGNvbnRhY3RzLmxvb2t1cF9jb21wbGV0ZWQsY29udGFjdHMuYnVsa19tYXJrZWRfdmFsaWRcIixcbiAgICB9KSxcbiAgfTtcblxuICBwcml2YXRlIHdzOiBXZWJTb2NrZXQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzZXNzaW9uSWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHNlY3JldDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoV2ViaG9va3NMaXN0ZW4pO1xuXG4gICAgdHJ5IHtcbiAgICAgIG5ldyBVUkwoZmxhZ3MuZm9yd2FyZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmVycm9yKGBJbnZhbGlkIGZvcndhcmQgVVJMOiAke2ZsYWdzLmZvcndhcmR9LiBNdXN0IGJlIGEgdmFsaWQgVVJMIChlLmcuLCBodHRwOi8vbG9jYWxob3N0OjMwMDAvd2ViaG9vaykuYCk7XG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnRzID0gZmxhZ3MuZXZlbnRzLnNwbGl0KFwiLFwiKS5tYXAoKGUpID0+IGUudHJpbSgpKTtcblxuICAgIGNvbnN0IHNwaW4gPSBzcGlubmVyKFwiU3RhcnRpbmcgd2ViaG9vayBsaXN0ZW5lci4uLlwiKTtcbiAgICBzcGluLnN0YXJ0KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGlDbGllbnQucG9zdDxMaXN0ZW5TdGFydFJlc3BvbnNlPihcbiAgICAgICAgXCIvYXBpL2NsaS9saXN0ZW4vc3RhcnRcIixcbiAgICAgICAge1xuICAgICAgICAgIGV2ZW50cyxcbiAgICAgICAgICBmb3J3YXJkVXJsOiBmbGFncy5mb3J3YXJkLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zZXNzaW9uSWQgPSByZXNwb25zZS5zZXNzaW9uSWQ7XG4gICAgICB0aGlzLnNlY3JldCA9IHJlc3BvbnNlLnNlY3JldDtcblxuICAgICAgc3Bpbi5zdWNjZWVkKFwiTGlzdGVuZXIgcmVnaXN0ZXJlZFwiKTtcblxuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKGNvbG9ycy5wcmltYXJ5KFwiV2ViaG9vayBsaXN0ZW5lciByZWFkeSFcIikpKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYCAgJHtjb2xvcnMuZGltKFwiRm9yd2FyZGluZyB0bzpcIil9ICR7Y29sb3JzLmNvZGUoZmxhZ3MuZm9yd2FyZCl9YCxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5kaW0oXCJFdmVudHM6XCIpfSAgICAgICAgJHtldmVudHMuam9pbihcIiwgXCIpfWApO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGAgICR7Y29sb3JzLmRpbShcIldlYmhvb2sgU2VjcmV0OlwiKX1gKTtcbiAgICAgIGNvbnNvbGUubG9nKGAgICR7Y29sb3JzLnByaW1hcnkocmVzcG9uc2Uuc2VjcmV0KX1gKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgY29sb3JzLmRpbShcIlVzZSB0aGlzIHNlY3JldCB0byB2ZXJpZnkgd2ViaG9vayBzaWduYXR1cmVzIGluIHlvdXIgYXBwLlwiKSxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgICBjb25zdCBzcGluMiA9IHNwaW5uZXIoXCJDb25uZWN0aW5nIHRvIFNlbmRseS4uLlwiKTtcbiAgICAgIHNwaW4yLnN0YXJ0KCk7XG5cbiAgICAgIGF3YWl0IHRoaXMuY29ubmVjdFdlYlNvY2tldChyZXNwb25zZS53c1VybCwgZmxhZ3MuZm9yd2FyZCk7XG5cbiAgICAgIHNwaW4yLnN1Y2NlZWQoXCJDb25uZWN0ZWRcIik7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCJXYWl0aW5nIGZvciBldmVudHMuLi4gKEN0cmwrQyB0byBxdWl0KVwiKSk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwi4pSAXCIucmVwZWF0KDYwKSkpO1xuICAgICAgY29uc29sZS5sb2coKTtcblxuICAgICAgY29uc3QgY2xlYW51cCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgICAgaW5mbyhcIlNodXR0aW5nIGRvd24uLi5cIik7XG4gICAgICAgIGF3YWl0IHRoaXMuY2xlYW51cCgpO1xuICAgICAgICBwcm9jZXNzLmV4aXQoMCk7XG4gICAgICB9O1xuXG4gICAgICBwcm9jZXNzLm9uKFwiU0lHSU5UXCIsIGNsZWFudXApO1xuICAgICAgcHJvY2Vzcy5vbihcIlNJR1RFUk1cIiwgY2xlYW51cCk7XG5cbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKCgpID0+IHt9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNwaW4uZmFpbChcIkZhaWxlZCB0byBzdGFydCBsaXN0ZW5lclwiKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3RXZWJTb2NrZXQod3NVcmw6IHN0cmluZywgZm9yd2FyZFVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMud3MgPSBuZXcgV2ViU29ja2V0KHdzVXJsKTtcblxuICAgICAgY29uc3QgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiV2ViU29ja2V0IGNvbm5lY3Rpb24gdGltZW91dFwiKSk7XG4gICAgICB9LCAzMDAwMCk7XG5cbiAgICAgIHRoaXMud3Mub24oXCJvcGVuXCIsICgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMud3Mub24oXCJtZXNzYWdlXCIsIGFzeW5jIChkYXRhKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgbWVzc2FnZTogV2ViU29ja2V0TWVzc2FnZSA9IEpTT04ucGFyc2UoZGF0YS50b1N0cmluZygpKTtcblxuICAgICAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IFwiY2xpX2Nvbm5lY3RlZFwiKSB7XG4gICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gXCJ3ZWJob29rX2V2ZW50XCIgJiYgbWVzc2FnZS5ldmVudCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5oYW5kbGVFdmVudChtZXNzYWdlLCBmb3J3YXJkVXJsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJGYWlsZWQgdG8gcGFyc2UgV2ViU29ja2V0IG1lc3NhZ2U6XCIsIGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLndzLm9uKFwiY2xvc2VcIiwgKGNvZGUsIHJlYXNvbikgPT4ge1xuICAgICAgICBpZiAoY29kZSAhPT0gMTAwMCkge1xuICAgICAgICAgIHdhcm4oYFdlYlNvY2tldCBkaXNjb25uZWN0ZWQ6ICR7cmVhc29uIHx8IGNvZGV9YCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLndzLm9uKFwiZXJyb3JcIiwgKGVycikgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIGVycm9yKGBXZWJTb2NrZXQgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUV2ZW50KFxuICAgIG1lc3NhZ2U6IFdlYlNvY2tldE1lc3NhZ2UsXG4gICAgZm9yd2FyZFVybDogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBldmVudCA9IG1lc3NhZ2UuZXZlbnQhO1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IG1lc3NhZ2UudGltZXN0YW1wITtcbiAgICBjb25zdCBzaWduYXR1cmUgPSBtZXNzYWdlLnNpZ25hdHVyZSE7XG5cbiAgICB0aGlzLmRpc3BsYXlFdmVudChldmVudCk7XG5cbiAgICBpZiAodGhpcy52ZXJpZnlTaWduYXR1cmUoZXZlbnQsIHRpbWVzdGFtcCwgc2lnbmF0dXJlKSkge1xuICAgICAgYXdhaXQgdGhpcy5mb3J3YXJkRXZlbnQoZm9yd2FyZFVybCwgZXZlbnQsIHRpbWVzdGFtcCwgc2lnbmF0dXJlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMuZXJyb3IoXCLinJdcIil9IFNpZ25hdHVyZSB2ZXJpZmljYXRpb24gZmFpbGVkYCk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmVyaWZ5U2lnbmF0dXJlKFxuICAgIGV2ZW50OiBXZWJob29rRXZlbnQsXG4gICAgdGltZXN0YW1wOiBudW1iZXIsXG4gICAgc2lnbmF0dXJlOiBzdHJpbmcsXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zZWNyZXQpIHJldHVybiBmYWxzZTtcblxuICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShldmVudCk7XG4gICAgY29uc3Qgc2lnbmVkUGF5bG9hZCA9IGAke3RpbWVzdGFtcH0uJHtwYXlsb2FkfWA7XG4gICAgY29uc3QgZXhwZWN0ZWRTaWduYXR1cmUgPSBgc2hhMjU2PSR7Y3J5cHRvXG4gICAgICAuY3JlYXRlSG1hYyhcInNoYTI1NlwiLCB0aGlzLnNlY3JldClcbiAgICAgIC51cGRhdGUoc2lnbmVkUGF5bG9hZCwgXCJ1dGY4XCIpXG4gICAgICAuZGlnZXN0KFwiaGV4XCIpfWA7XG5cbiAgICByZXR1cm4gc2lnbmF0dXJlID09PSBleHBlY3RlZFNpZ25hdHVyZTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGxheUV2ZW50KGV2ZW50OiBXZWJob29rRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXcgRGF0ZShldmVudC5jcmVhdGVkICogMTAwMCkudG9Mb2NhbGVUaW1lU3RyaW5nKCk7XG4gICAgY29uc3QgZXZlbnRUeXBlID0gZXZlbnQudHlwZTtcblxuICAgIGxldCBzdGF0dXNDb2xvciA9IGNvbG9ycy5pbmZvO1xuICAgIGlmIChldmVudFR5cGUuaW5jbHVkZXMoXCJkZWxpdmVyZWRcIikpIHN0YXR1c0NvbG9yID0gY29sb3JzLnN1Y2Nlc3M7XG4gICAgaWYgKGV2ZW50VHlwZS5pbmNsdWRlcyhcImZhaWxlZFwiKSB8fCBldmVudFR5cGUuaW5jbHVkZXMoXCJib3VuY2VkXCIpKSBzdGF0dXNDb2xvciA9IGNvbG9ycy5lcnJvcjtcbiAgICBpZiAoZXZlbnRUeXBlLmluY2x1ZGVzKFwicmV0cnlpbmdcIikpIHN0YXR1c0NvbG9yID0gY29sb3JzLndhcm5pbmc7XG5cbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGAke2NvbG9ycy5kaW0odGltZXN0YW1wKX0gJHtzdGF0dXNDb2xvcihcIuKGklwiKX0gJHtjb2xvcnMuYm9sZChldmVudFR5cGUpfWAsXG4gICAgKTtcblxuICAgIGNvbnN0IGRhdGEgPSBldmVudC5kYXRhPy5vYmplY3Q7XG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2VJZCA9IGRhdGEuaWQgYXMgc3RyaW5nO1xuICAgICAgY29uc3QgdG8gPSBkYXRhLnRvIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGJhdGNoSWQgPSAoZGF0YSBhcyBhbnkpLmJhdGNoX2lkIGFzIHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIGlmIChtZXNzYWdlSWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMuZGltKFwiaWQ6XCIpfSAke21lc3NhZ2VJZH1gKTtcbiAgICAgIH1cbiAgICAgIGlmICh0bykge1xuICAgICAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5kaW0oXCJ0bzpcIil9ICR7dG99YCk7XG4gICAgICB9XG4gICAgICBpZiAoYmF0Y2hJZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5kaW0oXCJiYXRjaDpcIil9ICR7YmF0Y2hJZH1gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGZvcndhcmRFdmVudChcbiAgICBmb3J3YXJkVXJsOiBzdHJpbmcsXG4gICAgZXZlbnQ6IFdlYmhvb2tFdmVudCxcbiAgICB0aW1lc3RhbXA6IG51bWJlcixcbiAgICBzaWduYXR1cmU6IHN0cmluZyxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBheWxvYWQgPSBKU09OLnN0cmluZ2lmeShldmVudCk7XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goZm9yd2FyZFVybCwge1xuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgXCJYLVNlbmRseS1TaWduYXR1cmVcIjogc2lnbmF0dXJlLFxuICAgICAgICAgIFwiWC1TZW5kbHktVGltZXN0YW1wXCI6IHRpbWVzdGFtcC50b1N0cmluZygpLFxuICAgICAgICAgIFwiWC1TZW5kbHktRXZlbnRcIjogZXZlbnQudHlwZSxcbiAgICAgICAgICBcIlgtU2VuZGx5LUV2ZW50LUlkXCI6IGV2ZW50LmlkLFxuICAgICAgICB9LFxuICAgICAgICBib2R5OiBwYXlsb2FkLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgICAke2NvbG9ycy5zdWNjZXNzKFwi4pyTXCIpfSBGb3J3YXJkZWQgdG8gJHtmb3J3YXJkVXJsfSAoJHtyZXNwb25zZS5zdGF0dXN9KWAsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgICAke2NvbG9ycy5lcnJvcihcIuKcl1wiKX0gRm9yd2FyZCBmYWlsZWQgKCR7cmVzcG9uc2Uuc3RhdHVzfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgICR7Y29sb3JzLmVycm9yKFwi4pyXXCIpfSBGb3J3YXJkIGVycm9yOiAkeyhlcnIgYXMgRXJyb3IpLm1lc3NhZ2V9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNsZWFudXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMud3MpIHtcbiAgICAgIHRoaXMud3MuY2xvc2UoMTAwMCwgXCJDbGllbnQgc2h1dGRvd25cIik7XG4gICAgICB0aGlzLndzID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZXNzaW9uSWQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGFwaUNsaWVudC5kZWxldGUoYC9hcGkvY2xpL2xpc3Rlbi9zdG9wLyR7dGhpcy5zZXNzaW9uSWR9YCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gSWdub3JlIGNsZWFudXAgZXJyb3JzXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/oclif.manifest.json
CHANGED
|
@@ -1049,6 +1049,117 @@
|
|
|
1049
1049
|
"set.js"
|
|
1050
1050
|
]
|
|
1051
1051
|
},
|
|
1052
|
+
"contacts:bulk-mark-valid": {
|
|
1053
|
+
"aliases": [],
|
|
1054
|
+
"args": {},
|
|
1055
|
+
"description": "Clear the invalid flag on many contacts at once. Pass --ids (comma-separated, up to 10,000) OR --list <id>, not both. Escape hatch for when auto-mark misclassifies at scale.",
|
|
1056
|
+
"examples": [
|
|
1057
|
+
"<%= config.bin %> contacts bulk-mark-valid --ids cnt_abc,cnt_def,cnt_ghi",
|
|
1058
|
+
"<%= config.bin %> contacts bulk-mark-valid --list lst_xxx"
|
|
1059
|
+
],
|
|
1060
|
+
"flags": {
|
|
1061
|
+
"json": {
|
|
1062
|
+
"description": "Output in JSON format",
|
|
1063
|
+
"name": "json",
|
|
1064
|
+
"allowNo": false,
|
|
1065
|
+
"type": "boolean"
|
|
1066
|
+
},
|
|
1067
|
+
"quiet": {
|
|
1068
|
+
"char": "q",
|
|
1069
|
+
"description": "Minimal output",
|
|
1070
|
+
"name": "quiet",
|
|
1071
|
+
"allowNo": false,
|
|
1072
|
+
"type": "boolean"
|
|
1073
|
+
},
|
|
1074
|
+
"ids": {
|
|
1075
|
+
"description": "Comma-separated contact IDs to clear (max 10,000 per call)",
|
|
1076
|
+
"exclusive": [
|
|
1077
|
+
"list"
|
|
1078
|
+
],
|
|
1079
|
+
"name": "ids",
|
|
1080
|
+
"hasDynamicHelp": false,
|
|
1081
|
+
"multiple": false,
|
|
1082
|
+
"type": "option"
|
|
1083
|
+
},
|
|
1084
|
+
"list": {
|
|
1085
|
+
"description": "Clear every flagged member of this list ID",
|
|
1086
|
+
"exclusive": [
|
|
1087
|
+
"ids"
|
|
1088
|
+
],
|
|
1089
|
+
"name": "list",
|
|
1090
|
+
"hasDynamicHelp": false,
|
|
1091
|
+
"multiple": false,
|
|
1092
|
+
"type": "option"
|
|
1093
|
+
}
|
|
1094
|
+
},
|
|
1095
|
+
"hasDynamicHelp": false,
|
|
1096
|
+
"hiddenAliases": [],
|
|
1097
|
+
"id": "contacts:bulk-mark-valid",
|
|
1098
|
+
"pluginAlias": "@sendly/cli",
|
|
1099
|
+
"pluginName": "@sendly/cli",
|
|
1100
|
+
"pluginType": "core",
|
|
1101
|
+
"strict": true,
|
|
1102
|
+
"isESM": true,
|
|
1103
|
+
"relativePath": [
|
|
1104
|
+
"dist",
|
|
1105
|
+
"commands",
|
|
1106
|
+
"contacts",
|
|
1107
|
+
"bulk-mark-valid.js"
|
|
1108
|
+
]
|
|
1109
|
+
},
|
|
1110
|
+
"contacts:check-numbers": {
|
|
1111
|
+
"aliases": [],
|
|
1112
|
+
"args": {},
|
|
1113
|
+
"description": "Trigger a background carrier lookup across your contacts. Landlines and other non-SMS-capable numbers are auto-excluded from future campaigns. Runs asynchronously — results populate line_type / carrier_name / invalid_reason on affected contacts within a few minutes.",
|
|
1114
|
+
"examples": [
|
|
1115
|
+
"<%= config.bin %> contacts check-numbers",
|
|
1116
|
+
"<%= config.bin %> contacts check-numbers --list lst_xxx",
|
|
1117
|
+
"<%= config.bin %> contacts check-numbers --force"
|
|
1118
|
+
],
|
|
1119
|
+
"flags": {
|
|
1120
|
+
"json": {
|
|
1121
|
+
"description": "Output in JSON format",
|
|
1122
|
+
"name": "json",
|
|
1123
|
+
"allowNo": false,
|
|
1124
|
+
"type": "boolean"
|
|
1125
|
+
},
|
|
1126
|
+
"quiet": {
|
|
1127
|
+
"char": "q",
|
|
1128
|
+
"description": "Minimal output",
|
|
1129
|
+
"name": "quiet",
|
|
1130
|
+
"allowNo": false,
|
|
1131
|
+
"type": "boolean"
|
|
1132
|
+
},
|
|
1133
|
+
"list": {
|
|
1134
|
+
"char": "l",
|
|
1135
|
+
"description": "Scope the lookup to a single contact list",
|
|
1136
|
+
"name": "list",
|
|
1137
|
+
"hasDynamicHelp": false,
|
|
1138
|
+
"multiple": false,
|
|
1139
|
+
"type": "option"
|
|
1140
|
+
},
|
|
1141
|
+
"force": {
|
|
1142
|
+
"description": "Re-check contacts even if already looked up",
|
|
1143
|
+
"name": "force",
|
|
1144
|
+
"allowNo": false,
|
|
1145
|
+
"type": "boolean"
|
|
1146
|
+
}
|
|
1147
|
+
},
|
|
1148
|
+
"hasDynamicHelp": false,
|
|
1149
|
+
"hiddenAliases": [],
|
|
1150
|
+
"id": "contacts:check-numbers",
|
|
1151
|
+
"pluginAlias": "@sendly/cli",
|
|
1152
|
+
"pluginName": "@sendly/cli",
|
|
1153
|
+
"pluginType": "core",
|
|
1154
|
+
"strict": true,
|
|
1155
|
+
"isESM": true,
|
|
1156
|
+
"relativePath": [
|
|
1157
|
+
"dist",
|
|
1158
|
+
"commands",
|
|
1159
|
+
"contacts",
|
|
1160
|
+
"check-numbers.js"
|
|
1161
|
+
]
|
|
1162
|
+
},
|
|
1052
1163
|
"contacts:create": {
|
|
1053
1164
|
"aliases": [],
|
|
1054
1165
|
"args": {},
|
|
@@ -1335,20 +1446,18 @@
|
|
|
1335
1446
|
"list.js"
|
|
1336
1447
|
]
|
|
1337
1448
|
},
|
|
1338
|
-
"contacts:
|
|
1449
|
+
"contacts:mark-valid": {
|
|
1339
1450
|
"aliases": [],
|
|
1340
1451
|
"args": {
|
|
1341
1452
|
"id": {
|
|
1342
|
-
"description": "Contact ID",
|
|
1453
|
+
"description": "Contact ID to clear the invalid flag on",
|
|
1343
1454
|
"name": "id",
|
|
1344
1455
|
"required": true
|
|
1345
1456
|
}
|
|
1346
1457
|
},
|
|
1347
|
-
"description": "
|
|
1458
|
+
"description": "Clear the invalid flag on a contact so future campaigns include it again. Use when you disagree with an auto-exclusion (e.g. the recipient ported from a landline to mobile).",
|
|
1348
1459
|
"examples": [
|
|
1349
|
-
"<%= config.bin %> contacts
|
|
1350
|
-
"<%= config.bin %> contacts update cnt_xxx --email john@example.com",
|
|
1351
|
-
"<%= config.bin %> contacts update cnt_xxx --name \"John\" --email john@example.com"
|
|
1460
|
+
"<%= config.bin %> contacts mark-valid cnt_xxx"
|
|
1352
1461
|
],
|
|
1353
1462
|
"flags": {
|
|
1354
1463
|
"json": {
|
|
@@ -1363,27 +1472,11 @@
|
|
|
1363
1472
|
"name": "quiet",
|
|
1364
1473
|
"allowNo": false,
|
|
1365
1474
|
"type": "boolean"
|
|
1366
|
-
},
|
|
1367
|
-
"name": {
|
|
1368
|
-
"char": "n",
|
|
1369
|
-
"description": "Contact name",
|
|
1370
|
-
"name": "name",
|
|
1371
|
-
"hasDynamicHelp": false,
|
|
1372
|
-
"multiple": false,
|
|
1373
|
-
"type": "option"
|
|
1374
|
-
},
|
|
1375
|
-
"email": {
|
|
1376
|
-
"char": "e",
|
|
1377
|
-
"description": "Contact email",
|
|
1378
|
-
"name": "email",
|
|
1379
|
-
"hasDynamicHelp": false,
|
|
1380
|
-
"multiple": false,
|
|
1381
|
-
"type": "option"
|
|
1382
1475
|
}
|
|
1383
1476
|
},
|
|
1384
1477
|
"hasDynamicHelp": false,
|
|
1385
1478
|
"hiddenAliases": [],
|
|
1386
|
-
"id": "contacts:
|
|
1479
|
+
"id": "contacts:mark-valid",
|
|
1387
1480
|
"pluginAlias": "@sendly/cli",
|
|
1388
1481
|
"pluginName": "@sendly/cli",
|
|
1389
1482
|
"pluginType": "core",
|
|
@@ -1393,103 +1486,23 @@
|
|
|
1393
1486
|
"dist",
|
|
1394
1487
|
"commands",
|
|
1395
1488
|
"contacts",
|
|
1396
|
-
"
|
|
1489
|
+
"mark-valid.js"
|
|
1397
1490
|
]
|
|
1398
1491
|
},
|
|
1399
|
-
"
|
|
1400
|
-
"aliases": [],
|
|
1401
|
-
"args": {},
|
|
1402
|
-
"description": "Check your credit balance",
|
|
1403
|
-
"examples": [
|
|
1404
|
-
"<%= config.bin %> credits balance",
|
|
1405
|
-
"<%= config.bin %> credits balance --json"
|
|
1406
|
-
],
|
|
1407
|
-
"flags": {
|
|
1408
|
-
"json": {
|
|
1409
|
-
"description": "Output in JSON format",
|
|
1410
|
-
"name": "json",
|
|
1411
|
-
"allowNo": false,
|
|
1412
|
-
"type": "boolean"
|
|
1413
|
-
},
|
|
1414
|
-
"quiet": {
|
|
1415
|
-
"char": "q",
|
|
1416
|
-
"description": "Minimal output",
|
|
1417
|
-
"name": "quiet",
|
|
1418
|
-
"allowNo": false,
|
|
1419
|
-
"type": "boolean"
|
|
1420
|
-
}
|
|
1421
|
-
},
|
|
1422
|
-
"hasDynamicHelp": false,
|
|
1423
|
-
"hiddenAliases": [],
|
|
1424
|
-
"id": "credits:balance",
|
|
1425
|
-
"pluginAlias": "@sendly/cli",
|
|
1426
|
-
"pluginName": "@sendly/cli",
|
|
1427
|
-
"pluginType": "core",
|
|
1428
|
-
"strict": true,
|
|
1429
|
-
"isESM": true,
|
|
1430
|
-
"relativePath": [
|
|
1431
|
-
"dist",
|
|
1432
|
-
"commands",
|
|
1433
|
-
"credits",
|
|
1434
|
-
"balance.js"
|
|
1435
|
-
]
|
|
1436
|
-
},
|
|
1437
|
-
"credits:history": {
|
|
1492
|
+
"contacts:update": {
|
|
1438
1493
|
"aliases": [],
|
|
1439
|
-
"args": {
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
"<%= config.bin %> credits history --json"
|
|
1445
|
-
],
|
|
1446
|
-
"flags": {
|
|
1447
|
-
"json": {
|
|
1448
|
-
"description": "Output in JSON format",
|
|
1449
|
-
"name": "json",
|
|
1450
|
-
"allowNo": false,
|
|
1451
|
-
"type": "boolean"
|
|
1452
|
-
},
|
|
1453
|
-
"quiet": {
|
|
1454
|
-
"char": "q",
|
|
1455
|
-
"description": "Minimal output",
|
|
1456
|
-
"name": "quiet",
|
|
1457
|
-
"allowNo": false,
|
|
1458
|
-
"type": "boolean"
|
|
1459
|
-
},
|
|
1460
|
-
"limit": {
|
|
1461
|
-
"char": "l",
|
|
1462
|
-
"description": "Number of transactions to show",
|
|
1463
|
-
"name": "limit",
|
|
1464
|
-
"default": 20,
|
|
1465
|
-
"hasDynamicHelp": false,
|
|
1466
|
-
"multiple": false,
|
|
1467
|
-
"type": "option"
|
|
1494
|
+
"args": {
|
|
1495
|
+
"id": {
|
|
1496
|
+
"description": "Contact ID",
|
|
1497
|
+
"name": "id",
|
|
1498
|
+
"required": true
|
|
1468
1499
|
}
|
|
1469
1500
|
},
|
|
1470
|
-
"
|
|
1471
|
-
"hiddenAliases": [],
|
|
1472
|
-
"id": "credits:history",
|
|
1473
|
-
"pluginAlias": "@sendly/cli",
|
|
1474
|
-
"pluginName": "@sendly/cli",
|
|
1475
|
-
"pluginType": "core",
|
|
1476
|
-
"strict": true,
|
|
1477
|
-
"isESM": true,
|
|
1478
|
-
"relativePath": [
|
|
1479
|
-
"dist",
|
|
1480
|
-
"commands",
|
|
1481
|
-
"credits",
|
|
1482
|
-
"history.js"
|
|
1483
|
-
]
|
|
1484
|
-
},
|
|
1485
|
-
"credits:transfer": {
|
|
1486
|
-
"aliases": [],
|
|
1487
|
-
"args": {},
|
|
1488
|
-
"description": "Transfer credits between workspaces",
|
|
1501
|
+
"description": "Update a contact",
|
|
1489
1502
|
"examples": [
|
|
1490
|
-
"<%= config.bin %>
|
|
1491
|
-
"<%= config.bin %>
|
|
1492
|
-
"<%= config.bin %>
|
|
1503
|
+
"<%= config.bin %> contacts update cnt_xxx --name \"John Doe\"",
|
|
1504
|
+
"<%= config.bin %> contacts update cnt_xxx --email john@example.com",
|
|
1505
|
+
"<%= config.bin %> contacts update cnt_xxx --name \"John\" --email john@example.com"
|
|
1493
1506
|
],
|
|
1494
1507
|
"flags": {
|
|
1495
1508
|
"json": {
|
|
@@ -1505,32 +1518,26 @@
|
|
|
1505
1518
|
"allowNo": false,
|
|
1506
1519
|
"type": "boolean"
|
|
1507
1520
|
},
|
|
1508
|
-
"
|
|
1509
|
-
"
|
|
1510
|
-
"
|
|
1521
|
+
"name": {
|
|
1522
|
+
"char": "n",
|
|
1523
|
+
"description": "Contact name",
|
|
1524
|
+
"name": "name",
|
|
1511
1525
|
"hasDynamicHelp": false,
|
|
1512
1526
|
"multiple": false,
|
|
1513
1527
|
"type": "option"
|
|
1514
1528
|
},
|
|
1515
|
-
"
|
|
1516
|
-
"char": "
|
|
1517
|
-
"description": "
|
|
1518
|
-
"name": "
|
|
1529
|
+
"email": {
|
|
1530
|
+
"char": "e",
|
|
1531
|
+
"description": "Contact email",
|
|
1532
|
+
"name": "email",
|
|
1519
1533
|
"hasDynamicHelp": false,
|
|
1520
1534
|
"multiple": false,
|
|
1521
1535
|
"type": "option"
|
|
1522
|
-
},
|
|
1523
|
-
"yes": {
|
|
1524
|
-
"char": "y",
|
|
1525
|
-
"description": "Skip confirmation prompt",
|
|
1526
|
-
"name": "yes",
|
|
1527
|
-
"allowNo": false,
|
|
1528
|
-
"type": "boolean"
|
|
1529
1536
|
}
|
|
1530
1537
|
},
|
|
1531
1538
|
"hasDynamicHelp": false,
|
|
1532
1539
|
"hiddenAliases": [],
|
|
1533
|
-
"id": "
|
|
1540
|
+
"id": "contacts:update",
|
|
1534
1541
|
"pluginAlias": "@sendly/cli",
|
|
1535
1542
|
"pluginName": "@sendly/cli",
|
|
1536
1543
|
"pluginType": "core",
|
|
@@ -1539,8 +1546,8 @@
|
|
|
1539
1546
|
"relativePath": [
|
|
1540
1547
|
"dist",
|
|
1541
1548
|
"commands",
|
|
1542
|
-
"
|
|
1543
|
-
"
|
|
1549
|
+
"contacts",
|
|
1550
|
+
"update.js"
|
|
1544
1551
|
]
|
|
1545
1552
|
},
|
|
1546
1553
|
"conversations:close": {
|
|
@@ -2058,6 +2065,153 @@
|
|
|
2058
2065
|
"update.js"
|
|
2059
2066
|
]
|
|
2060
2067
|
},
|
|
2068
|
+
"credits:balance": {
|
|
2069
|
+
"aliases": [],
|
|
2070
|
+
"args": {},
|
|
2071
|
+
"description": "Check your credit balance",
|
|
2072
|
+
"examples": [
|
|
2073
|
+
"<%= config.bin %> credits balance",
|
|
2074
|
+
"<%= config.bin %> credits balance --json"
|
|
2075
|
+
],
|
|
2076
|
+
"flags": {
|
|
2077
|
+
"json": {
|
|
2078
|
+
"description": "Output in JSON format",
|
|
2079
|
+
"name": "json",
|
|
2080
|
+
"allowNo": false,
|
|
2081
|
+
"type": "boolean"
|
|
2082
|
+
},
|
|
2083
|
+
"quiet": {
|
|
2084
|
+
"char": "q",
|
|
2085
|
+
"description": "Minimal output",
|
|
2086
|
+
"name": "quiet",
|
|
2087
|
+
"allowNo": false,
|
|
2088
|
+
"type": "boolean"
|
|
2089
|
+
}
|
|
2090
|
+
},
|
|
2091
|
+
"hasDynamicHelp": false,
|
|
2092
|
+
"hiddenAliases": [],
|
|
2093
|
+
"id": "credits:balance",
|
|
2094
|
+
"pluginAlias": "@sendly/cli",
|
|
2095
|
+
"pluginName": "@sendly/cli",
|
|
2096
|
+
"pluginType": "core",
|
|
2097
|
+
"strict": true,
|
|
2098
|
+
"isESM": true,
|
|
2099
|
+
"relativePath": [
|
|
2100
|
+
"dist",
|
|
2101
|
+
"commands",
|
|
2102
|
+
"credits",
|
|
2103
|
+
"balance.js"
|
|
2104
|
+
]
|
|
2105
|
+
},
|
|
2106
|
+
"credits:history": {
|
|
2107
|
+
"aliases": [],
|
|
2108
|
+
"args": {},
|
|
2109
|
+
"description": "View credit transaction history",
|
|
2110
|
+
"examples": [
|
|
2111
|
+
"<%= config.bin %> credits history",
|
|
2112
|
+
"<%= config.bin %> credits history --limit 10",
|
|
2113
|
+
"<%= config.bin %> credits history --json"
|
|
2114
|
+
],
|
|
2115
|
+
"flags": {
|
|
2116
|
+
"json": {
|
|
2117
|
+
"description": "Output in JSON format",
|
|
2118
|
+
"name": "json",
|
|
2119
|
+
"allowNo": false,
|
|
2120
|
+
"type": "boolean"
|
|
2121
|
+
},
|
|
2122
|
+
"quiet": {
|
|
2123
|
+
"char": "q",
|
|
2124
|
+
"description": "Minimal output",
|
|
2125
|
+
"name": "quiet",
|
|
2126
|
+
"allowNo": false,
|
|
2127
|
+
"type": "boolean"
|
|
2128
|
+
},
|
|
2129
|
+
"limit": {
|
|
2130
|
+
"char": "l",
|
|
2131
|
+
"description": "Number of transactions to show",
|
|
2132
|
+
"name": "limit",
|
|
2133
|
+
"default": 20,
|
|
2134
|
+
"hasDynamicHelp": false,
|
|
2135
|
+
"multiple": false,
|
|
2136
|
+
"type": "option"
|
|
2137
|
+
}
|
|
2138
|
+
},
|
|
2139
|
+
"hasDynamicHelp": false,
|
|
2140
|
+
"hiddenAliases": [],
|
|
2141
|
+
"id": "credits:history",
|
|
2142
|
+
"pluginAlias": "@sendly/cli",
|
|
2143
|
+
"pluginName": "@sendly/cli",
|
|
2144
|
+
"pluginType": "core",
|
|
2145
|
+
"strict": true,
|
|
2146
|
+
"isESM": true,
|
|
2147
|
+
"relativePath": [
|
|
2148
|
+
"dist",
|
|
2149
|
+
"commands",
|
|
2150
|
+
"credits",
|
|
2151
|
+
"history.js"
|
|
2152
|
+
]
|
|
2153
|
+
},
|
|
2154
|
+
"credits:transfer": {
|
|
2155
|
+
"aliases": [],
|
|
2156
|
+
"args": {},
|
|
2157
|
+
"description": "Transfer credits between workspaces",
|
|
2158
|
+
"examples": [
|
|
2159
|
+
"<%= config.bin %> credits transfer --to org_abc123 --amount 500",
|
|
2160
|
+
"<%= config.bin %> credits transfer --amount 1000",
|
|
2161
|
+
"<%= config.bin %> credits transfer --to org_abc123 --amount 500 --yes"
|
|
2162
|
+
],
|
|
2163
|
+
"flags": {
|
|
2164
|
+
"json": {
|
|
2165
|
+
"description": "Output in JSON format",
|
|
2166
|
+
"name": "json",
|
|
2167
|
+
"allowNo": false,
|
|
2168
|
+
"type": "boolean"
|
|
2169
|
+
},
|
|
2170
|
+
"quiet": {
|
|
2171
|
+
"char": "q",
|
|
2172
|
+
"description": "Minimal output",
|
|
2173
|
+
"name": "quiet",
|
|
2174
|
+
"allowNo": false,
|
|
2175
|
+
"type": "boolean"
|
|
2176
|
+
},
|
|
2177
|
+
"to": {
|
|
2178
|
+
"description": "Target workspace ID to transfer credits to",
|
|
2179
|
+
"name": "to",
|
|
2180
|
+
"hasDynamicHelp": false,
|
|
2181
|
+
"multiple": false,
|
|
2182
|
+
"type": "option"
|
|
2183
|
+
},
|
|
2184
|
+
"amount": {
|
|
2185
|
+
"char": "a",
|
|
2186
|
+
"description": "Number of credits to transfer",
|
|
2187
|
+
"name": "amount",
|
|
2188
|
+
"hasDynamicHelp": false,
|
|
2189
|
+
"multiple": false,
|
|
2190
|
+
"type": "option"
|
|
2191
|
+
},
|
|
2192
|
+
"yes": {
|
|
2193
|
+
"char": "y",
|
|
2194
|
+
"description": "Skip confirmation prompt",
|
|
2195
|
+
"name": "yes",
|
|
2196
|
+
"allowNo": false,
|
|
2197
|
+
"type": "boolean"
|
|
2198
|
+
}
|
|
2199
|
+
},
|
|
2200
|
+
"hasDynamicHelp": false,
|
|
2201
|
+
"hiddenAliases": [],
|
|
2202
|
+
"id": "credits:transfer",
|
|
2203
|
+
"pluginAlias": "@sendly/cli",
|
|
2204
|
+
"pluginName": "@sendly/cli",
|
|
2205
|
+
"pluginType": "core",
|
|
2206
|
+
"strict": true,
|
|
2207
|
+
"isESM": true,
|
|
2208
|
+
"relativePath": [
|
|
2209
|
+
"dist",
|
|
2210
|
+
"commands",
|
|
2211
|
+
"credits",
|
|
2212
|
+
"transfer.js"
|
|
2213
|
+
]
|
|
2214
|
+
},
|
|
2061
2215
|
"drafts:approve": {
|
|
2062
2216
|
"aliases": [],
|
|
2063
2217
|
"args": {
|
|
@@ -4954,8 +5108,7 @@
|
|
|
4954
5108
|
"description": "List recent verifications",
|
|
4955
5109
|
"examples": [
|
|
4956
5110
|
"<%= config.bin %> verify list",
|
|
4957
|
-
"<%= config.bin %> verify list --limit
|
|
4958
|
-
"<%= config.bin %> verify list --page 2",
|
|
5111
|
+
"<%= config.bin %> verify list --limit 50",
|
|
4959
5112
|
"<%= config.bin %> verify list --status verified",
|
|
4960
5113
|
"<%= config.bin %> verify list --json"
|
|
4961
5114
|
],
|
|
@@ -4975,28 +5128,13 @@
|
|
|
4975
5128
|
},
|
|
4976
5129
|
"limit": {
|
|
4977
5130
|
"char": "l",
|
|
4978
|
-
"description": "Number of verifications
|
|
5131
|
+
"description": "Number of verifications to fetch (max 100)",
|
|
4979
5132
|
"name": "limit",
|
|
4980
5133
|
"default": 20,
|
|
4981
5134
|
"hasDynamicHelp": false,
|
|
4982
5135
|
"multiple": false,
|
|
4983
5136
|
"type": "option"
|
|
4984
5137
|
},
|
|
4985
|
-
"page": {
|
|
4986
|
-
"char": "p",
|
|
4987
|
-
"description": "Page number (starts at 1)",
|
|
4988
|
-
"name": "page",
|
|
4989
|
-
"hasDynamicHelp": false,
|
|
4990
|
-
"multiple": false,
|
|
4991
|
-
"type": "option"
|
|
4992
|
-
},
|
|
4993
|
-
"offset": {
|
|
4994
|
-
"description": "Offset from start (alternative to --page)",
|
|
4995
|
-
"name": "offset",
|
|
4996
|
-
"hasDynamicHelp": false,
|
|
4997
|
-
"multiple": false,
|
|
4998
|
-
"type": "option"
|
|
4999
|
-
},
|
|
5000
5138
|
"status": {
|
|
5001
5139
|
"char": "s",
|
|
5002
5140
|
"description": "Filter by status (pending, verified, expired, failed)",
|
|
@@ -5504,9 +5642,9 @@
|
|
|
5504
5642
|
},
|
|
5505
5643
|
"events": {
|
|
5506
5644
|
"char": "e",
|
|
5507
|
-
"description": "Comma-separated list of events to listen for",
|
|
5645
|
+
"description": "Comma-separated list of events to listen for. Default subscribes to all message.* and contact.* / contacts.* events so nothing is missed during local dev.",
|
|
5508
5646
|
"name": "events",
|
|
5509
|
-
"default": "message.sent,message.delivered,message.failed,message.bounced,message.retrying",
|
|
5647
|
+
"default": "message.sent,message.delivered,message.failed,message.bounced,message.retrying,message.received,message.opt_out,message.opt_in,contact.auto_flagged,contact.marked_valid,contacts.lookup_completed,contacts.bulk_marked_valid",
|
|
5510
5648
|
"hasDynamicHelp": false,
|
|
5511
5649
|
"multiple": false,
|
|
5512
5650
|
"type": "option"
|
|
@@ -6998,5 +7136,5 @@
|
|
|
6998
7136
|
]
|
|
6999
7137
|
}
|
|
7000
7138
|
},
|
|
7001
|
-
"version": "3.
|
|
7139
|
+
"version": "3.29.0"
|
|
7002
7140
|
}
|