@sendly/cli 3.12.3 → 3.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/commands/campaigns/cancel.d.ts +13 -0
  2. package/dist/commands/campaigns/cancel.js +34 -0
  3. package/dist/commands/campaigns/clone.d.ts +14 -0
  4. package/dist/commands/campaigns/clone.js +47 -0
  5. package/dist/commands/campaigns/create.d.ts +14 -0
  6. package/dist/commands/campaigns/create.js +64 -0
  7. package/dist/commands/campaigns/delete.d.ts +14 -0
  8. package/dist/commands/campaigns/delete.js +63 -0
  9. package/dist/commands/campaigns/get.d.ts +13 -0
  10. package/dist/commands/campaigns/get.js +101 -0
  11. package/dist/commands/campaigns/list.d.ts +13 -0
  12. package/dist/commands/campaigns/list.js +115 -0
  13. package/dist/commands/campaigns/preview.d.ts +13 -0
  14. package/dist/commands/campaigns/preview.js +71 -0
  15. package/dist/commands/campaigns/schedule.d.ts +15 -0
  16. package/dist/commands/campaigns/schedule.js +61 -0
  17. package/dist/commands/campaigns/send.d.ts +14 -0
  18. package/dist/commands/campaigns/send.js +96 -0
  19. package/dist/commands/campaigns/update.d.ts +17 -0
  20. package/dist/commands/campaigns/update.js +66 -0
  21. package/dist/commands/contacts/create.d.ts +13 -0
  22. package/dist/commands/contacts/create.js +48 -0
  23. package/dist/commands/contacts/delete.d.ts +14 -0
  24. package/dist/commands/contacts/delete.js +52 -0
  25. package/dist/commands/contacts/get.d.ts +13 -0
  26. package/dist/commands/contacts/get.js +51 -0
  27. package/dist/commands/contacts/import.d.ts +14 -0
  28. package/dist/commands/contacts/import.js +132 -0
  29. package/dist/commands/contacts/list.d.ts +14 -0
  30. package/dist/commands/contacts/list.js +101 -0
  31. package/dist/commands/contacts/lists/add.d.ts +14 -0
  32. package/dist/commands/contacts/lists/add.js +40 -0
  33. package/dist/commands/contacts/lists/create.d.ts +12 -0
  34. package/dist/commands/contacts/lists/create.js +40 -0
  35. package/dist/commands/contacts/lists/delete.d.ts +14 -0
  36. package/dist/commands/contacts/lists/delete.js +52 -0
  37. package/dist/commands/contacts/lists/get.d.ts +13 -0
  38. package/dist/commands/contacts/lists/get.js +63 -0
  39. package/dist/commands/contacts/lists/index.d.ts +10 -0
  40. package/dist/commands/contacts/lists/index.js +68 -0
  41. package/dist/commands/contacts/lists/remove.d.ts +14 -0
  42. package/dist/commands/contacts/lists/remove.js +36 -0
  43. package/dist/commands/contacts/lists/update.d.ts +15 -0
  44. package/dist/commands/contacts/lists/update.js +51 -0
  45. package/dist/commands/contacts/update.d.ts +15 -0
  46. package/dist/commands/contacts/update.js +52 -0
  47. package/dist/commands/keys/get.d.ts +13 -0
  48. package/dist/commands/keys/get.js +53 -0
  49. package/dist/commands/keys/rename.d.ts +14 -0
  50. package/dist/commands/keys/rename.js +53 -0
  51. package/dist/commands/keys/rotate.d.ts +15 -0
  52. package/dist/commands/keys/rotate.js +82 -0
  53. package/dist/commands/keys/usage.d.ts +13 -0
  54. package/dist/commands/keys/usage.js +102 -0
  55. package/dist/commands/status.js +3 -3
  56. package/dist/commands/templates/clone.d.ts +14 -0
  57. package/dist/commands/templates/clone.js +45 -0
  58. package/dist/commands/verify/list.d.ts +3 -0
  59. package/dist/commands/verify/list.js +31 -5
  60. package/dist/lib/api-client.d.ts +9 -2
  61. package/dist/lib/api-client.js +31 -7
  62. package/dist/lib/base-command.js +31 -4
  63. package/dist/lib/output.d.ts +4 -2
  64. package/dist/lib/output.js +19 -6
  65. package/oclif.manifest.json +2264 -723
  66. package/package.json +1 -1
@@ -0,0 +1,102 @@
1
+ import { Args } from "@oclif/core";
2
+ import { AuthenticatedCommand } from "../../lib/base-command.js";
3
+ import { apiClient } from "../../lib/api-client.js";
4
+ import { table, json, info, colors, isJsonMode, formatRelativeTime, } from "../../lib/output.js";
5
+ export default class KeysUsage extends AuthenticatedCommand {
6
+ static description = "Get usage statistics for an API key";
7
+ static examples = [
8
+ "<%= config.bin %> keys usage KEY_ID",
9
+ "<%= config.bin %> keys usage KEY_ID --json",
10
+ ];
11
+ static args = {
12
+ id: Args.string({
13
+ description: "API key ID",
14
+ required: true,
15
+ }),
16
+ };
17
+ static flags = {
18
+ ...AuthenticatedCommand.baseFlags,
19
+ };
20
+ async run() {
21
+ const { args } = await this.parse(KeysUsage);
22
+ const response = await apiClient.get(`/api/v1/account/keys/${args.id}/usage`);
23
+ if (isJsonMode()) {
24
+ json(response);
25
+ return;
26
+ }
27
+ console.log();
28
+ console.log(colors.bold(`Usage for "${response.keyName}"`));
29
+ console.log();
30
+ console.log(` ${colors.dim("Total Requests:")} ${colors.info(String(response.summary.totalRequests))}`);
31
+ console.log(` ${colors.dim("Total Credits:")} ${colors.warning(String(response.summary.totalCredits))}`);
32
+ console.log(` ${colors.dim("Last Used:")} ${response.summary.lastUsed ? formatRelativeTime(response.summary.lastUsed) : colors.dim("never")}`);
33
+ if (response.endpointBreakdown.length > 0) {
34
+ console.log();
35
+ console.log(colors.bold("Endpoint Breakdown"));
36
+ console.log();
37
+ table(response.endpointBreakdown.slice(0, 10), [
38
+ {
39
+ header: "Endpoint",
40
+ key: "endpoint",
41
+ width: 40,
42
+ },
43
+ {
44
+ header: "Requests",
45
+ key: "count",
46
+ width: 10,
47
+ formatter: (v) => colors.info(String(v)),
48
+ },
49
+ ]);
50
+ }
51
+ if (response.recentRequests.length > 0) {
52
+ console.log();
53
+ console.log(colors.bold("Recent Requests"));
54
+ console.log();
55
+ table(response.recentRequests.slice(0, 10), [
56
+ {
57
+ header: "Endpoint",
58
+ key: "endpoint",
59
+ width: 25,
60
+ formatter: (v) => {
61
+ const s = String(v);
62
+ return s.length > 22 ? s.slice(0, 22) + "..." : s;
63
+ },
64
+ },
65
+ {
66
+ header: "Method",
67
+ key: "method",
68
+ width: 8,
69
+ },
70
+ {
71
+ header: "Status",
72
+ key: "statusCode",
73
+ width: 8,
74
+ formatter: (v) => {
75
+ const code = Number(v);
76
+ if (code >= 200 && code < 300)
77
+ return colors.success(String(code));
78
+ if (code >= 400)
79
+ return colors.error(String(code));
80
+ return String(code);
81
+ },
82
+ },
83
+ {
84
+ header: "Credits",
85
+ key: "creditsUsed",
86
+ width: 8,
87
+ formatter: (v) => (v ? colors.warning(String(v)) : colors.dim("0")),
88
+ },
89
+ {
90
+ header: "Time",
91
+ key: "createdAt",
92
+ width: 12,
93
+ formatter: (v) => formatRelativeTime(String(v)),
94
+ },
95
+ ]);
96
+ }
97
+ if (response.summary.totalRequests === 0) {
98
+ info("No usage recorded yet for this key");
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMva2V5cy91c2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLFVBQVUsRUFDVixrQkFBa0IsR0FDbkIsTUFBTSxxQkFBcUIsQ0FBQztBQTJCN0IsTUFBTSxDQUFDLE9BQU8sT0FBTyxTQUFVLFNBQVEsb0JBQW9CO0lBQ3pELE1BQU0sQ0FBQyxXQUFXLEdBQUcscUNBQXFDLENBQUM7SUFFM0QsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQixxQ0FBcUM7UUFDckMsNENBQTRDO0tBQzdDLENBQUM7SUFFRixNQUFNLENBQUMsSUFBSSxHQUFHO1FBQ1osRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDZCxXQUFXLEVBQUUsWUFBWTtZQUN6QixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7S0FDSCxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssR0FBRztRQUNiLEdBQUcsb0JBQW9CLENBQUMsU0FBUztLQUNsQyxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdDLE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FDbEMsd0JBQXdCLElBQUksQ0FBQyxFQUFFLFFBQVEsQ0FDeEMsQ0FBQztRQUVGLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsUUFBUSxD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QUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgdGFibGUsXG4gIGpzb24sXG4gIGluZm8sXG4gIGNvbG9ycyxcbiAgaXNKc29uTW9kZSxcbiAgZm9ybWF0UmVsYXRpdmVUaW1lLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgUmVjZW50UmVxdWVzdCB7XG4gIGVuZHBvaW50OiBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBzdGF0dXNDb2RlOiBudW1iZXI7XG4gIGNyZWRpdHNVc2VkOiBudW1iZXI7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRW5kcG9pbnRCcmVha2Rvd24ge1xuICBlbmRwb2ludDogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVXNhZ2VSZXNwb25zZSB7XG4gIGtleUlkOiBzdHJpbmc7XG4gIGtleU5hbWU6IHN0cmluZztcbiAgc3VtbWFyeToge1xuICAgIHRvdGFsUmVxdWVzdHM6IG51bWJlcjtcbiAgICB0b3RhbENyZWRpdHM6IG51bWJlcjtcbiAgICBsYXN0VXNlZDogc3RyaW5nIHwgbnVsbDtcbiAgfTtcbiAgcmVjZW50UmVxdWVzdHM6IFJlY2VudFJlcXVlc3RbXTtcbiAgZW5kcG9pbnRCcmVha2Rvd246IEVuZHBvaW50QnJlYWtkb3duW107XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEtleXNVc2FnZSBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJHZXQgdXNhZ2Ugc3RhdGlzdGljcyBmb3IgYW4gQVBJIGtleVwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGtleXMgdXNhZ2UgS0VZX0lEXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBrZXlzIHVzYWdlIEtFWV9JRCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiQVBJIGtleSBJRFwiLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBhcmdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKEtleXNVc2FnZSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8VXNhZ2VSZXNwb25zZT4oXG4gICAgICBgL2FwaS92MS9hY2NvdW50L2tleXMvJHthcmdzLmlkfS91c2FnZWAsXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCk7XG4gICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoYFVzYWdlIGZvciBcIiR7cmVzcG9uc2Uua2V5TmFtZX1cImApKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMuZGltKFwiVG90YWwgUmVxdWVzdHM6XCIpfSAgJHtjb2xvcnMuaW5mbyhTdHJpbmcocmVzcG9uc2Uuc3VtbWFyeS50b3RhbFJlcXVlc3RzKSl9YCk7XG4gICAgY29uc29sZS5sb2coYCAgJHtjb2xvcnMuZGltKFwiVG90YWwgQ3JlZGl0czpcIil9ICAgJHtjb2xvcnMud2FybmluZyhTdHJpbmcocmVzcG9uc2Uuc3VtbWFyeS50b3RhbENyZWRpdHMpKX1gKTtcbiAgICBjb25zb2xlLmxvZyhgICAke2NvbG9ycy5kaW0oXCJMYXN0IFVzZWQ6XCIpfSAgICAgICAke3Jlc3BvbnNlLnN1bW1hcnkubGFzdFVzZWQgPyBmb3JtYXRSZWxhdGl2ZVRpbWUocmVzcG9uc2Uuc3VtbWFyeS5sYXN0VXNlZCkgOiBjb2xvcnMuZGltKFwibmV2ZXJcIil9YCk7XG5cbiAgICBpZiAocmVzcG9uc2UuZW5kcG9pbnRCcmVha2Rvd24ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiRW5kcG9pbnQgQnJlYWtkb3duXCIpKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAgIHRhYmxlKHJlc3BvbnNlLmVuZHBvaW50QnJlYWtkb3duLnNsaWNlKDAsIDEwKSwgW1xuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyOiBcIkVuZHBvaW50XCIsXG4gICAgICAgICAga2V5OiBcImVuZHBvaW50XCIsXG4gICAgICAgICAgd2lkdGg6IDQwLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyOiBcIlJlcXVlc3RzXCIsXG4gICAgICAgICAga2V5OiBcImNvdW50XCIsXG4gICAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5pbmZvKFN0cmluZyh2KSksXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICBpZiAocmVzcG9uc2UucmVjZW50UmVxdWVzdHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiUmVjZW50IFJlcXVlc3RzXCIpKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAgIHRhYmxlKHJlc3BvbnNlLnJlY2VudFJlcXVlc3RzLnNsaWNlKDAsIDEwKSwgW1xuICAgICAgICB7XG4gICAgICAgICAgaGVhZGVyOiBcIkVuZHBvaW50XCIsXG4gICAgICAgICAga2V5OiBcImVuZHBvaW50XCIsXG4gICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgIGZvcm1hdHRlcjogKHYpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBTdHJpbmcodik7XG4gICAgICAgICAgICByZXR1cm4gcy5sZW5ndGggPiAyMiA/IHMuc2xpY2UoMCwgMjIpICsgXCIuLi5cIiA6IHM7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcjogXCJNZXRob2RcIixcbiAgICAgICAgICBrZXk6IFwibWV0aG9kXCIsXG4gICAgICAgICAgd2lkdGg6IDgsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXI6IFwiU3RhdHVzXCIsXG4gICAgICAgICAga2V5OiBcInN0YXR1c0NvZGVcIixcbiAgICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2RlID0gTnVtYmVyKHYpO1xuICAgICAgICAgICAgaWYgKGNvZGUgPj0gMjAwICYmIGNvZGUgPCAzMDApIHJldHVybiBjb2xvcnMuc3VjY2VzcyhTdHJpbmcoY29kZSkpO1xuICAgICAgICAgICAgaWYgKGNvZGUgPj0gNDAwKSByZXR1cm4gY29sb3JzLmVycm9yKFN0cmluZyhjb2RlKSk7XG4gICAgICAgICAgICByZXR1cm4gU3RyaW5nKGNvZGUpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXI6IFwiQ3JlZGl0c1wiLFxuICAgICAgICAgIGtleTogXCJjcmVkaXRzVXNlZFwiLFxuICAgICAgICAgIHdpZHRoOiA4LFxuICAgICAgICAgIGZvcm1hdHRlcjogKHYpID0+ICh2ID8gY29sb3JzLndhcm5pbmcoU3RyaW5nKHYpKSA6IGNvbG9ycy5kaW0oXCIwXCIpKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGhlYWRlcjogXCJUaW1lXCIsXG4gICAgICAgICAga2V5OiBcImNyZWF0ZWRBdFwiLFxuICAgICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBmb3JtYXRSZWxhdGl2ZVRpbWUoU3RyaW5nKHYpKSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuICAgIH1cblxuICAgIGlmIChyZXNwb25zZS5zdW1tYXJ5LnRvdGFsUmVxdWVzdHMgPT09IDApIHtcbiAgICAgIGluZm8oXCJObyB1c2FnZSByZWNvcmRlZCB5ZXQgZm9yIHRoaXMga2V5XCIpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -63,7 +63,7 @@ export default class Status extends AuthenticatedCommand {
63
63
  const tier = status?.account?.tier || "sandbox";
64
64
  const tierDisplay = {
65
65
  sandbox: colors.warning("Sandbox") + colors.dim(" (test only)"),
66
- international: colors.primary("International") + colors.dim(" (48 countries)"),
66
+ international: colors.primary("International") + colors.dim(" (90+ countries)"),
67
67
  domestic: colors.success("US & Canada") + colors.dim(" (toll-free)"),
68
68
  global: colors.success("Global") + colors.dim(" (full access)"),
69
69
  };
@@ -116,7 +116,7 @@ export default class Status extends AuthenticatedCommand {
116
116
  ? colors.success("✓")
117
117
  : colors.dim("○");
118
118
  const intlLabel = caps.canSendInternational
119
- ? "48 countries"
119
+ ? "90+ countries"
120
120
  : colors.dim("Upgrade to unlock");
121
121
  console.log(` ${intlIcon} ${colors.dim("International")} ${intlLabel}`);
122
122
  // US & Canada
@@ -186,4 +186,4 @@ export default class Status extends AuthenticatedCommand {
186
186
  console.log();
187
187
  }
188
188
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBa0NsRCxNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxvQkFBb0I7SUFDdEQsTUFBTSxDQUFDLFdBQVcsR0FDaEIscUVBQXFFLENBQUM7SUFFeEUsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQiwwQkFBMEI7UUFDMUIsaUNBQWlDO0tBQ2xDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLHFDQUFxQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVM7YUFDM0IsR0FBRyxDQUF3Qix5QkFBeUIsQ0FBQzthQUNyRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckIsOENBQThDO1FBQzlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDNUQsU0FBUztpQkFDTixHQUFHLENBSUQseUJBQXlCLENBQUM7aUJBQzVCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENB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aEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEUsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLENBQ25FLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7IGNvbG9ycywganNvbiwgaXNKc29uTW9kZSwgZm9ybWF0UmVsYXRpdmVUaW1lIH0gZnJvbSBcIi4uL2xpYi9vdXRwdXQuanNcIjtcbmltcG9ydCB7IGdldENvbmZpZ1ZhbHVlIH0gZnJvbSBcIi4uL2xpYi9jb25maWcuanNcIjtcblxuaW50ZXJmYWNlIEFjY291bnRTdGF0dXNSZXNwb25zZSB7XG4gIGFjY291bnQ6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHRpZXI6IFwic2FuZGJveFwiIHwgXCJpbnRlcm5hdGlvbmFsXCIgfCBcImRvbWVzdGljXCIgfCBcImdsb2JhbFwiO1xuICAgIG9uYm9hcmRpbmdDb21wbGV0ZWQ6IGJvb2xlYW47XG4gIH07XG4gIHZlcmlmaWNhdGlvbjoge1xuICAgIHR5cGU6IHN0cmluZyB8IG51bGw7XG4gICAgc3RhdHVzOiBzdHJpbmcgfCBudWxsO1xuICAgIGlzVmVyaWZpZWQ6IGJvb2xlYW47XG4gICAgYWxwaGFTZW5kZXJJZDogc3RyaW5nIHwgbnVsbDtcbiAgICB0b2xsRnJlZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgICBidXNpbmVzc05hbWU6IHN0cmluZyB8IG51bGw7XG4gIH0gfCBudWxsO1xuICBjYXBhYmlsaXRpZXM6IHtcbiAgICBjYW5TZW5kU2FuZGJveDogYm9vbGVhbjtcbiAgICBjYW5TZW5kSW50ZXJuYXRpb25hbDogYm9vbGVhbjtcbiAgICBjYW5TZW5kRG9tZXN0aWM6IGJvb2xlYW47XG4gICAgcmVnaW9uczogc3RyaW5nW107XG4gIH07XG4gIGNyZWRpdHM6IHtcbiAgICBiYWxhbmNlOiBudW1iZXI7XG4gICAgY2FuU2VuZExpdmU6IGJvb2xlYW47XG4gIH07XG4gIGtleXM6IHtcbiAgICBoYXNUZXN0S2V5OiBib29sZWFuO1xuICAgIGhhc0xpdmVLZXk6IGJvb2xlYW47XG4gICAgdG90YWxBY3RpdmU6IG51bWJlcjtcbiAgfTtcbiAgbmV4dFN0ZXBzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdHVzIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPVxuICAgIFwiU2hvdyBhY2NvdW50IHN0YXR1cyBkYXNoYm9hcmQgd2l0aCBjcmVkaXRzLCB1c2FnZSwgYW5kIGNhcGFiaWxpdGllc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHN0YXR1c1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc3RhdHVzIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZldGNoIGNvbXByZWhlbnNpdmUgYWNjb3VudCBzdGF0dXNcbiAgICBjb25zdCBzdGF0dXMgPSBhd2FpdCBhcGlDbGllbnRcbiAgICAgIC5nZXQ8QWNjb3VudFN0YXR1c1Jlc3BvbnNlPihcIi9hcGkvY2xpL2FjY291bnQvc3RhdHVzXCIpXG4gICAgICAuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICAvLyBGYWxsYmFjayBkYXRhIGlmIG5ldyBlbmRwb2ludCBub3QgYXZhaWxhYmxlXG4gICAgY29uc3QgW2NyZWRpdHMsIG1lc3NhZ2VzLCB3ZWJob29rcywga2V5c10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBhcGlDbGllbnRcbiAgICAgICAgLmdldDx7XG4gICAgICAgICAgYmFsYW5jZTogbnVtYmVyO1xuICAgICAgICAgIHJlc2VydmVkQmFsYW5jZTogbnVtYmVyO1xuICAgICAgICAgIGF2YWlsYWJsZUJhbGFuY2U6IG51bWJlcjtcbiAgICAgICAgfT4oXCIvYXBpL3YxL2FjY291bnQvY3JlZGl0c1wiKVxuICAgICAgICAuY2F0Y2goKCkgPT4gKHsgYmFsYW5jZTogMCwgcmVzZXJ2ZWRCYWxhbmNlOiAwLCBhdmFpbGFibGVCYWxhbmNlOiAwIH0pKSxcbiAgICAgIGFwaUNsaWVudFxuICAgICAgICAuZ2V0PHsgbWVzc2FnZXM6IGFueVtdOyB0b3RhbDogbnVtYmVyIH0+KFwiL2FwaS92MS9tZXNzYWdlc1wiLCB7XG4gICAgICAgICAgbGltaXQ6IDUsXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiAoeyBtZXNzYWdlczogW10sIHRvdGFsOiAwIH0pKSxcbiAgICAgIGFwaUNsaWVudC5nZXQ8YW55W10+KFwiL2FwaS92MS93ZWJob29rc1wiKS5jYXRjaCgoKSA9PiBbXSksXG4gICAgICBhcGlDbGllbnRcbiAgICAgICAgLmdldDx7IGtleXM6IGFueVtdIH0+KFwiL2FwaS92MS9hY2NvdW50L2tleXNcIilcbiAgICAgICAgLmNhdGNoKCgpID0+ICh7IGtleXM6IFtdIH0pKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IGVtYWlsID1cbiAgICAgIHN0YXR1cz8uYWNjb3VudD8uZW1haWwgfHwgZ2V0Q29uZmlnVmFsdWUoXCJlbWFpbFwiKSB8fCBcIlVua25vd25cIjtcbiAgICBjb25zdCBhcGlNb2RlID0gZ2V0Q29uZmlnVmFsdWUoXCJlbnZpcm9ubWVudFwiKSB8fCBcInRlc3RcIjtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24oe1xuICAgICAgICBhY2NvdW50OiBzdGF0dXM/LmFjY291bnQgfHwgeyBlbWFpbCwgdGllcjogXCJzYW5kYm94XCIgfSxcbiAgICAgICAgdmVyaWZpY2F0aW9uOiBzdGF0dXM/LnZlcmlmaWNhdGlvbiB8fCBudWxsLFxuICAgICAgICBjYXBhYmlsaXRpZXM6IHN0YXR1cz8uY2FwYWJpbGl0aWVzIHx8IHsgcmVnaW9uczogW1wic2FuZGJveFwiXSB9LFxuICAgICAgICBjcmVkaXRzOiBzdGF0dXM/LmNyZWRpdHMgfHwge1xuICAgICAgICAgIGJhbGFuY2U6IGNyZWRpdHMuYmFsYW5jZSxcbiAgICAgICAgICBjYW5TZW5kTGl2ZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGtleXM6IHN0YXR1cz8ua2V5cyB8fCB7XG4gICAgICAgICAgaGFzVGVzdEtleTogZmFsc2UsXG4gICAgICAgICAgaGFzTGl2ZUtleTogZmFsc2UsXG4gICAgICAgICAgdG90YWxBY3RpdmU6IGtleXMua2V5cz8uZmlsdGVyKChrOiBhbnkpID0+IGsuaXNBY3RpdmUpLmxlbmd0aCB8fCAwLFxuICAgICAgICB9LFxuICAgICAgICBuZXh0U3RlcHM6IHN0YXR1cz8ubmV4dFN0ZXBzIHx8IFtdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmVhdXRpZnVsIGRhc2hib2FyZCBvdXRwdXRcbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKGNvbG9ycy5wcmltYXJ5KFwiICBTZW5kbHkgQWNjb3VudCBTdGF0dXNcIikpKTtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiICBcIiArIFwi4pSAXCIucmVwZWF0KDUwKSkpO1xuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAvLyBBY2NvdW50ICYgVGllciBTZWN0aW9uXG4gICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCIgIEFjY291bnRcIikpO1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHtjb2xvcnMuZGltKFwiRW1haWw6XCIpfSAgICAgICAgICR7ZW1haWx9YCk7XG5cbiAgICAvLyBTaG93IHRpZXIgd2l0aCBjb2xvciBjb2RpbmdcbiAgICBjb25zdCB0aWVyID0gc3RhdHVzPy5hY2NvdW50Py50aWVyIHx8IFwic2FuZGJveFwiO1xuICAgIGNvbnN0IHRpZXJEaXNwbGF5ID0ge1xuICAgICAgc2FuZGJveDogY29sb3JzLndhcm5pbmcoXCJTYW5kYm94XCIpICsgY29sb3JzLmRpbShcIiAodGVzdCBvbmx5KVwiKSxcbiAgICAgIGludGVybmF0aW9uYWw6XG4gICAgICAgIGNvbG9ycy5wcmltYXJ5KFwiSW50ZXJuYXRpb25hbFwiKSArIGNvbG9ycy5kaW0oXCIgKDQ4IGNvdW50cmllcylcIiksXG4gICAgICBkb21lc3RpYzogY29sb3JzLnN1Y2Nlc3MoXCJVUyAmIENhbmFkYVwiKSArIGNvbG9ycy5kaW0oXCIgKHRvbGwtZnJlZSlcIiksXG4gICAgICBnbG9iYWw6IGNvbG9ycy5zdWNjZXNzKFwiR2xvYmFsXCIpICsgY29sb3JzLmRpbShcIiAoZnVsbCBhY2Nlc3MpXCIpLFxuICAgIH07XG4gICAgY29uc29sZS5sb2coYCAgICAke2NvbG9ycy5kaW0oXCJUaWVyOlwiKX0gICAgICAgICAgJHt0aWVyRGlzcGxheVt0aWVyXX1gKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gVmVyaWZpY2F0aW9uIFNlY3Rpb25cbiAgICBpZiAoc3RhdHVzPy52ZXJpZmljYXRpb24pIHtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiICBWZXJpZmljYXRpb25cIikpO1xuICAgICAgY29uc3QgdiA9IHN0YXR1cy52ZXJpZmljYXRpb247XG5cbiAgICAgIC8vIFN0YXR1cyB3aXRoIGNvbG9yXG4gICAgICBjb25zdCBzdGF0dXNDb2xvcnM6IFJlY29yZDxzdHJpbmcsIChzOiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gICAgICAgIGFwcHJvdmVkOiBjb2xvcnMuc3VjY2VzcyxcbiAgICAgICAgdmVyaWZpZWQ6IGNvbG9ycy5zdWNjZXNzLFxuICAgICAgICBwZW5kaW5nOiBjb2xvcnMud2FybmluZyxcbiAgICAgICAgaW5fcHJvZ3Jlc3M6IGNvbG9ycy53YXJuaW5nLFxuICAgICAgICByZWplY3RlZDogY29sb3JzLmVycm9yLFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHN0YXR1c0NvbG9yID0gc3RhdHVzQ29sb3JzW3Yuc3RhdHVzIHx8IFwiXCJdIHx8IGNvbG9ycy5kaW07XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJTdGF0dXM6XCIpfSAgICAgICAgJHtzdGF0dXNDb2xvcih2LnN0YXR1cyB8fCBcInVua25vd25cIil9YCxcbiAgICAgICk7XG5cbiAgICAgIC8vIFR5cGVcbiAgICAgIGNvbnN0IHR5cGVMYWJlbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgIHRvbGxfZnJlZTogXCJUb2xsLUZyZWUgKFVTL0NBKVwiLFxuICAgICAgICBpbnRlcm5hdGlvbmFsOiBcIkludGVybmF0aW9uYWxcIixcbiAgICAgICAgYm90aDogXCJHbG9iYWwgKFVTL0NBICsgSW50bClcIixcbiAgICAgIH07XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJUeXBlOlwiKX0gICAgICAgICAgJHt0eXBlTGFiZWxzW3YudHlwZSB8fCBcIlwiXSB8fCB2LnR5cGV9YCxcbiAgICAgICk7XG5cbiAgICAgIC8vIFNob3cgc2VuZGVyIElEIG9yIHRvbGwtZnJlZSBudW1iZXJcbiAgICAgIGlmICh2LmFscGhhU2VuZGVySWQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJTZW5kZXIgSUQ6XCIpfSAgICAgJHtjb2xvcnMucHJpbWFyeSh2LmFscGhhU2VuZGVySWQpfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAodi50b2xsRnJlZU51bWJlcikge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgICAgICR7Y29sb3JzLmRpbShcIlRvbGwtRnJlZTpcIil9ICAgICAke2NvbG9ycy5wcmltYXJ5KHYudG9sbEZyZWVOdW1iZXIpfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgIH1cblxuICAgIC8vIENhcGFiaWxpdGllcyBTZWN0aW9uXG4gICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCIgIFNlbmQgQ2FwYWJpbGl0aWVzXCIpKTtcbiAgICBjb25zdCBjYXBzID0gc3RhdHVzPy5jYXBhYmlsaXRpZXMgfHwge1xuICAgICAgY2FuU2VuZFNhbmRib3g6IHRydWUsXG4gICAgICBjYW5TZW5kSW50ZXJuYXRpb25hbDogZmFsc2UsXG4gICAgICBjYW5TZW5kRG9tZXN0aWM6IGZhbHNlLFxuICAgIH07XG5cbiAgICAvLyBTYW5kYm94XG4gICAgY29uc3Qgc2FuZGJveEljb24gPSBjYXBzLmNhblNlbmRTYW5kYm94XG4gICAgICA/IGNvbG9ycy5zdWNjZXNzKFwi4pyTXCIpXG4gICAgICA6IGNvbG9ycy5kaW0oXCLil4tcIik7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgICAgICR7c2FuZGJveEljb259ICR7Y29sb3JzLmRpbShcIlNhbmRib3hcIil9ICAgICAgICBUZXN0IG51bWJlcnMgb25seWAsXG4gICAgKTtcblxuICAgIC8vIEludGVybmF0aW9uYWxcbiAgICBjb25zdCBpbnRsSWNvbiA9IGNhcHMuY2FuU2VuZEludGVybmF0aW9uYWxcbiAgICAgID8gY29sb3JzLnN1Y2Nlc3MoXCLinJNcIilcbiAgICAgIDogY29sb3JzLmRpbShcIuKXi1wiKTtcbiAgICBjb25zdCBpbnRsTGFiZWwgPSBjYXBzLmNhblNlbmRJbnRlcm5hdGlvbmFsXG4gICAgICA/IFwiNDggY291bnRyaWVzXCJcbiAgICAgIDogY29sb3JzLmRpbShcIlVwZ3JhZGUgdG8gdW5sb2NrXCIpO1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHtpbnRsSWNvbn0gJHtjb2xvcnMuZGltKFwiSW50ZXJuYXRpb25hbFwiKX0gICR7aW50bExhYmVsfWApO1xuXG4gICAgLy8gVVMgJiBDYW5hZGFcbiAgICBjb25zdCB1c0ljb24gPSBjYXBzLmNhblNlbmREb21lc3RpYyA/IGNvbG9ycy5zdWNjZXNzKFwi4pyTXCIpIDogY29sb3JzLmRpbShcIuKXi1wiKTtcbiAgICBjb25zdCB1c0xhYmVsID0gY2Fwcy5jYW5TZW5kRG9tZXN0aWNcbiAgICAgID8gXCJUd28td2F5IG1lc3NhZ2luZ1wiXG4gICAgICA6IGNvbG9ycy5kaW0oXCJVcGdyYWRlIHRvIHVubG9ja1wiKTtcbiAgICBjb25zb2xlLmxvZyhgICAgICR7dXNJY29ufSAke2NvbG9ycy5kaW0oXCJVUyAmIENhbmFkYVwiKX0gICAgJHt1c0xhYmVsfWApO1xuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAvLyBDcmVkaXRzIFNlY3Rpb25cbiAgICBjb25zdCBjcmVkaXRCYWxhbmNlID0gc3RhdHVzPy5jcmVkaXRzPy5iYWxhbmNlID8/IGNyZWRpdHMuYmFsYW5jZSA/PyAwO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiICBDcmVkaXRzXCIpKTtcbiAgICBjb25zdCBjcmVkaXRDb2xvciA9XG4gICAgICBjcmVkaXRCYWxhbmNlID4gMTAwXG4gICAgICAgID8gY29sb3JzLnN1Y2Nlc3NcbiAgICAgICAgOiBjcmVkaXRCYWxhbmNlID4gMTBcbiAgICAgICAgICA/IGNvbG9ycy53YXJuaW5nXG4gICAgICAgICAgOiBjb2xvcnMuZXJyb3I7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgICAgICR7Y29sb3JzLmRpbShcIkJhbGFuY2U6XCIpfSAgICAgICAke2NyZWRpdENvbG9yKGNyZWRpdEJhbGFuY2UudG9Mb2NhbGVTdHJpbmcoKSl9IGNyZWRpdHNgLFxuICAgICk7XG4gICAgaWYgKGNyZWRpdHMucmVzZXJ2ZWRCYWxhbmNlID4gMCkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgICAgJHtjb2xvcnMuZGltKFwiUmVzZXJ2ZWQ6XCIpfSAgICAgICR7Y29sb3JzLndhcm5pbmcoY3JlZGl0cy5yZXNlcnZlZEJhbGFuY2UudG9Mb2NhbGVTdHJpbmcoKSl9IGNyZWRpdHNgLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coKTtcblxuICAgIC8vIFJlc291cmNlcyBTZWN0aW9uXG4gICAgY29uc3QgYWN0aXZlS2V5cyA9XG4gICAgICBzdGF0dXM/LmtleXM/LnRvdGFsQWN0aXZlID8/XG4gICAgICBrZXlzLmtleXM/LmZpbHRlcigoazogYW55KSA9PiBrLmlzQWN0aXZlKS5sZW5ndGggPz9cbiAgICAgIDA7XG4gICAgY29uc3QgYWN0aXZlV2ViaG9va3MgPSB3ZWJob29rcy5maWx0ZXIoKHc6IGFueSkgPT4gdy5pc19hY3RpdmUpLmxlbmd0aDtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIiAgUmVzb3VyY2VzXCIpKTtcbiAgICBjb25zb2xlLmxvZyhgICAgICR7Y29sb3JzLmRpbShcIkFQSSBLZXlzOlwiKX0gICAgICAke2FjdGl2ZUtleXN9IGFjdGl2ZWApO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJXZWJob29rczpcIil9ICAgICAgJHthY3RpdmVXZWJob29rc30gY29uZmlndXJlZGAsXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gUmVjZW50IEFjdGl2aXR5XG4gICAgaWYgKG1lc3NhZ2VzLm1lc3NhZ2VzICYmIG1lc3NhZ2VzLm1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiICBSZWNlbnQgTWVzc2FnZXNcIikpO1xuICAgICAgbWVzc2FnZXMubWVzc2FnZXMuc2xpY2UoMCwgMykuZm9yRWFjaCgobXNnOiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgbXNnU3RhdHVzID0gbXNnLnN0YXR1cyB8fCBcInVua25vd25cIjtcbiAgICAgICAgY29uc3Qgc3RhdHVzSWNvbiA9XG4gICAgICAgICAgbXNnU3RhdHVzID09PSBcImRlbGl2ZXJlZFwiXG4gICAgICAgICAgICA/IGNvbG9ycy5zdWNjZXNzKFwi4pyTXCIpXG4gICAgICAgICAgICA6IG1zZ1N0YXR1cyA9PT0gXCJzZW50XCJcbiAgICAgICAgICAgICAgPyBjb2xvcnMucHJpbWFyeShcIuKGklwiKVxuICAgICAgICAgICAgICA6IG1zZ1N0YXR1cyA9PT0gXCJmYWlsZWRcIlxuICAgICAgICAgICAgICAgID8gY29sb3JzLmVycm9yKFwi4pyXXCIpXG4gICAgICAgICAgICAgICAgOiBjb2xvcnMuZGltKFwi4peLXCIpO1xuICAgICAgICBjb25zdCB0byA9IG1zZy50byB8fCBcIlVua25vd25cIjtcbiAgICAgICAgY29uc3QgdGltZSA9IG1zZy5jcmVhdGVkQXRcbiAgICAgICAgICA/IGZvcm1hdFJlbGF0aXZlVGltZShtc2cuY3JlYXRlZEF0KVxuICAgICAgICAgIDogXCJyZWNlbnRseVwiO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBgICAgICR7c3RhdHVzSWNvbn0gJHtjb2xvcnMuZGltKHRvLnNsaWNlKC00KS5wYWRTdGFydCg4LCBcIuKAolwiKSl9ICR7Y29sb3JzLmRpbShtc2dTdGF0dXMucGFkRW5kKDEwKSl9ICR7Y29sb3JzLmRpbSh0aW1lKX1gLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgIH1cblxuICAgIC8vIE5leHQgU3RlcHMgKGlmIGFueSlcbiAgICBpZiAoc3RhdHVzPy5uZXh0U3RlcHMgJiYgc3RhdHVzLm5leHRTdGVwcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChjb2xvcnMud2FybmluZyhcIiAgTmV4dCBTdGVwc1wiKSkpO1xuICAgICAgc3RhdHVzLm5leHRTdGVwcy5mb3JFYWNoKChzdGVwLCBpKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGAgICAgJHtjb2xvcnMud2FybmluZyhgJHtpICsgMX0uYCl9ICR7c3RlcH1gKTtcbiAgICAgIH0pO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICB9XG5cbiAgICAvLyBRdWljayBBY3Rpb25zXG4gICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAgUXVpY2sgQWN0aW9uc1wiKSk7XG4gICAgY29uc29sZS5sb2coYCAgICAke2NvbG9ycy5jb2RlKFwic2VuZGx5IHNtcyBzZW5kXCIpfSAgICAgIFNlbmQgYSBtZXNzYWdlYCk7XG4gICAgY29uc29sZS5sb2coYCAgICAke2NvbG9ycy5jb2RlKFwic2VuZGx5IGtleXMgbGlzdFwiKX0gICAgIFZpZXcgQVBJIGtleXNgKTtcbiAgICBpZiAodGllciA9PT0gXCJzYW5kYm94XCIpIHtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgICAgICR7Y29sb3JzLmNvZGUoXCJzZW5kbHkgb25ib2FyZGluZ1wiKX0gICAgVXBncmFkZSB0byBwcm9kdWN0aW9uYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKCk7XG4gIH1cbn1cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL3N0YXR1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBa0NsRCxNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxvQkFBb0I7SUFDdEQsTUFBTSxDQUFDLFdBQVcsR0FDaEIscUVBQXFFLENBQUM7SUFFeEUsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQiwwQkFBMEI7UUFDMUIsaUNBQWlDO0tBQ2xDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLHFDQUFxQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVM7YUFDM0IsR0FBRyxDQUF3Qix5QkFBeUIsQ0FBQzthQUNyRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckIsOENBQThDO1FBQzlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDNUQsU0FBUztpQkFDTixHQUFHLENBSUQseUJBQXlCLENBQUM7aUJBQzVCLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLGdCQUFnQixFQUFFLENB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aEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDeEUsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FDVCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLENBQ25FLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7IGNvbG9ycywganNvbiwgaXNKc29uTW9kZSwgZm9ybWF0UmVsYXRpdmVUaW1lIH0gZnJvbSBcIi4uL2xpYi9vdXRwdXQuanNcIjtcbmltcG9ydCB7IGdldENvbmZpZ1ZhbHVlIH0gZnJvbSBcIi4uL2xpYi9jb25maWcuanNcIjtcblxuaW50ZXJmYWNlIEFjY291bnRTdGF0dXNSZXNwb25zZSB7XG4gIGFjY291bnQ6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHRpZXI6IFwic2FuZGJveFwiIHwgXCJpbnRlcm5hdGlvbmFsXCIgfCBcImRvbWVzdGljXCIgfCBcImdsb2JhbFwiO1xuICAgIG9uYm9hcmRpbmdDb21wbGV0ZWQ6IGJvb2xlYW47XG4gIH07XG4gIHZlcmlmaWNhdGlvbjoge1xuICAgIHR5cGU6IHN0cmluZyB8IG51bGw7XG4gICAgc3RhdHVzOiBzdHJpbmcgfCBudWxsO1xuICAgIGlzVmVyaWZpZWQ6IGJvb2xlYW47XG4gICAgYWxwaGFTZW5kZXJJZDogc3RyaW5nIHwgbnVsbDtcbiAgICB0b2xsRnJlZU51bWJlcjogc3RyaW5nIHwgbnVsbDtcbiAgICBidXNpbmVzc05hbWU6IHN0cmluZyB8IG51bGw7XG4gIH0gfCBudWxsO1xuICBjYXBhYmlsaXRpZXM6IHtcbiAgICBjYW5TZW5kU2FuZGJveDogYm9vbGVhbjtcbiAgICBjYW5TZW5kSW50ZXJuYXRpb25hbDogYm9vbGVhbjtcbiAgICBjYW5TZW5kRG9tZXN0aWM6IGJvb2xlYW47XG4gICAgcmVnaW9uczogc3RyaW5nW107XG4gIH07XG4gIGNyZWRpdHM6IHtcbiAgICBiYWxhbmNlOiBudW1iZXI7XG4gICAgY2FuU2VuZExpdmU6IGJvb2xlYW47XG4gIH07XG4gIGtleXM6IHtcbiAgICBoYXNUZXN0S2V5OiBib29sZWFuO1xuICAgIGhhc0xpdmVLZXk6IGJvb2xlYW47XG4gICAgdG90YWxBY3RpdmU6IG51bWJlcjtcbiAgfTtcbiAgbmV4dFN0ZXBzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3RhdHVzIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPVxuICAgIFwiU2hvdyBhY2NvdW50IHN0YXR1cyBkYXNoYm9hcmQgd2l0aCBjcmVkaXRzLCB1c2FnZSwgYW5kIGNhcGFiaWxpdGllc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHN0YXR1c1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc3RhdHVzIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIEZldGNoIGNvbXByZWhlbnNpdmUgYWNjb3VudCBzdGF0dXNcbiAgICBjb25zdCBzdGF0dXMgPSBhd2FpdCBhcGlDbGllbnRcbiAgICAgIC5nZXQ8QWNjb3VudFN0YXR1c1Jlc3BvbnNlPihcIi9hcGkvY2xpL2FjY291bnQvc3RhdHVzXCIpXG4gICAgICAuY2F0Y2goKCkgPT4gbnVsbCk7XG5cbiAgICAvLyBGYWxsYmFjayBkYXRhIGlmIG5ldyBlbmRwb2ludCBub3QgYXZhaWxhYmxlXG4gICAgY29uc3QgW2NyZWRpdHMsIG1lc3NhZ2VzLCB3ZWJob29rcywga2V5c10gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBhcGlDbGllbnRcbiAgICAgICAgLmdldDx7XG4gICAgICAgICAgYmFsYW5jZTogbnVtYmVyO1xuICAgICAgICAgIHJlc2VydmVkQmFsYW5jZTogbnVtYmVyO1xuICAgICAgICAgIGF2YWlsYWJsZUJhbGFuY2U6IG51bWJlcjtcbiAgICAgICAgfT4oXCIvYXBpL3YxL2FjY291bnQvY3JlZGl0c1wiKVxuICAgICAgICAuY2F0Y2goKCkgPT4gKHsgYmFsYW5jZTogMCwgcmVzZXJ2ZWRCYWxhbmNlOiAwLCBhdmFpbGFibGVCYWxhbmNlOiAwIH0pKSxcbiAgICAgIGFwaUNsaWVudFxuICAgICAgICAuZ2V0PHsgbWVzc2FnZXM6IGFueVtdOyB0b3RhbDogbnVtYmVyIH0+KFwiL2FwaS92MS9tZXNzYWdlc1wiLCB7XG4gICAgICAgICAgbGltaXQ6IDUsXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoKSA9PiAoeyBtZXNzYWdlczogW10sIHRvdGFsOiAwIH0pKSxcbiAgICAgIGFwaUNsaWVudC5nZXQ8YW55W10+KFwiL2FwaS92MS93ZWJob29rc1wiKS5jYXRjaCgoKSA9PiBbXSksXG4gICAgICBhcGlDbGllbnRcbiAgICAgICAgLmdldDx7IGtleXM6IGFueVtdIH0+KFwiL2FwaS92MS9hY2NvdW50L2tleXNcIilcbiAgICAgICAgLmNhdGNoKCgpID0+ICh7IGtleXM6IFtdIH0pKSxcbiAgICBdKTtcblxuICAgIGNvbnN0IGVtYWlsID1cbiAgICAgIHN0YXR1cz8uYWNjb3VudD8uZW1haWwgfHwgZ2V0Q29uZmlnVmFsdWUoXCJlbWFpbFwiKSB8fCBcIlVua25vd25cIjtcbiAgICBjb25zdCBhcGlNb2RlID0gZ2V0Q29uZmlnVmFsdWUoXCJlbnZpcm9ubWVudFwiKSB8fCBcInRlc3RcIjtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24oe1xuICAgICAgICBhY2NvdW50OiBzdGF0dXM/LmFjY291bnQgfHwgeyBlbWFpbCwgdGllcjogXCJzYW5kYm94XCIgfSxcbiAgICAgICAgdmVyaWZpY2F0aW9uOiBzdGF0dXM/LnZlcmlmaWNhdGlvbiB8fCBudWxsLFxuICAgICAgICBjYXBhYmlsaXRpZXM6IHN0YXR1cz8uY2FwYWJpbGl0aWVzIHx8IHsgcmVnaW9uczogW1wic2FuZGJveFwiXSB9LFxuICAgICAgICBjcmVkaXRzOiBzdGF0dXM/LmNyZWRpdHMgfHwge1xuICAgICAgICAgIGJhbGFuY2U6IGNyZWRpdHMuYmFsYW5jZSxcbiAgICAgICAgICBjYW5TZW5kTGl2ZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIGtleXM6IHN0YXR1cz8ua2V5cyB8fCB7XG4gICAgICAgICAgaGFzVGVzdEtleTogZmFsc2UsXG4gICAgICAgICAgaGFzTGl2ZUtleTogZmFsc2UsXG4gICAgICAgICAgdG90YWxBY3RpdmU6IGtleXMua2V5cz8uZmlsdGVyKChrOiBhbnkpID0+IGsuaXNBY3RpdmUpLmxlbmd0aCB8fCAwLFxuICAgICAgICB9LFxuICAgICAgICBuZXh0U3RlcHM6IHN0YXR1cz8ubmV4dFN0ZXBzIHx8IFtdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQmVhdXRpZnVsIGRhc2hib2FyZCBvdXRwdXRcbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKGNvbG9ycy5wcmltYXJ5KFwiICBTZW5kbHkgQWNjb3VudCBTdGF0dXNcIikpKTtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiICBcIiArIFwi4pSAXCIucmVwZWF0KDUwKSkpO1xuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAvLyBBY2NvdW50ICYgVGllciBTZWN0aW9uXG4gICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCIgIEFjY291bnRcIikpO1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHtjb2xvcnMuZGltKFwiRW1haWw6XCIpfSAgICAgICAgICR7ZW1haWx9YCk7XG5cbiAgICAvLyBTaG93IHRpZXIgd2l0aCBjb2xvciBjb2RpbmdcbiAgICBjb25zdCB0aWVyID0gc3RhdHVzPy5hY2NvdW50Py50aWVyIHx8IFwic2FuZGJveFwiO1xuICAgIGNvbnN0IHRpZXJEaXNwbGF5ID0ge1xuICAgICAgc2FuZGJveDogY29sb3JzLndhcm5pbmcoXCJTYW5kYm94XCIpICsgY29sb3JzLmRpbShcIiAodGVzdCBvbmx5KVwiKSxcbiAgICAgIGludGVybmF0aW9uYWw6XG4gICAgICAgIGNvbG9ycy5wcmltYXJ5KFwiSW50ZXJuYXRpb25hbFwiKSArIGNvbG9ycy5kaW0oXCIgKDkwKyBjb3VudHJpZXMpXCIpLFxuICAgICAgZG9tZXN0aWM6IGNvbG9ycy5zdWNjZXNzKFwiVVMgJiBDYW5hZGFcIikgKyBjb2xvcnMuZGltKFwiICh0b2xsLWZyZWUpXCIpLFxuICAgICAgZ2xvYmFsOiBjb2xvcnMuc3VjY2VzcyhcIkdsb2JhbFwiKSArIGNvbG9ycy5kaW0oXCIgKGZ1bGwgYWNjZXNzKVwiKSxcbiAgICB9O1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHtjb2xvcnMuZGltKFwiVGllcjpcIil9ICAgICAgICAgICR7dGllckRpc3BsYXlbdGllcl19YCk7XG4gICAgY29uc29sZS5sb2coKTtcblxuICAgIC8vIFZlcmlmaWNhdGlvbiBTZWN0aW9uXG4gICAgaWYgKHN0YXR1cz8udmVyaWZpY2F0aW9uKSB7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIiAgVmVyaWZpY2F0aW9uXCIpKTtcbiAgICAgIGNvbnN0IHYgPSBzdGF0dXMudmVyaWZpY2F0aW9uO1xuXG4gICAgICAvLyBTdGF0dXMgd2l0aCBjb2xvclxuICAgICAgY29uc3Qgc3RhdHVzQ29sb3JzOiBSZWNvcmQ8c3RyaW5nLCAoczogc3RyaW5nKSA9PiBzdHJpbmc+ID0ge1xuICAgICAgICBhcHByb3ZlZDogY29sb3JzLnN1Y2Nlc3MsXG4gICAgICAgIHZlcmlmaWVkOiBjb2xvcnMuc3VjY2VzcyxcbiAgICAgICAgcGVuZGluZzogY29sb3JzLndhcm5pbmcsXG4gICAgICAgIGluX3Byb2dyZXNzOiBjb2xvcnMud2FybmluZyxcbiAgICAgICAgcmVqZWN0ZWQ6IGNvbG9ycy5lcnJvcixcbiAgICAgIH07XG4gICAgICBjb25zdCBzdGF0dXNDb2xvciA9IHN0YXR1c0NvbG9yc1t2LnN0YXR1cyB8fCBcIlwiXSB8fCBjb2xvcnMuZGltO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgICAgJHtjb2xvcnMuZGltKFwiU3RhdHVzOlwiKX0gICAgICAgICR7c3RhdHVzQ29sb3Iodi5zdGF0dXMgfHwgXCJ1bmtub3duXCIpfWAsXG4gICAgICApO1xuXG4gICAgICAvLyBUeXBlXG4gICAgICBjb25zdCB0eXBlTGFiZWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICB0b2xsX2ZyZWU6IFwiVG9sbC1GcmVlIChVUy9DQSlcIixcbiAgICAgICAgaW50ZXJuYXRpb25hbDogXCJJbnRlcm5hdGlvbmFsXCIsXG4gICAgICAgIGJvdGg6IFwiR2xvYmFsIChVUy9DQSArIEludGwpXCIsXG4gICAgICB9O1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgICAgJHtjb2xvcnMuZGltKFwiVHlwZTpcIil9ICAgICAgICAgICR7dHlwZUxhYmVsc1t2LnR5cGUgfHwgXCJcIl0gfHwgdi50eXBlfWAsXG4gICAgICApO1xuXG4gICAgICAvLyBTaG93IHNlbmRlciBJRCBvciB0b2xsLWZyZWUgbnVtYmVyXG4gICAgICBpZiAodi5hbHBoYVNlbmRlcklkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGAgICAgJHtjb2xvcnMuZGltKFwiU2VuZGVyIElEOlwiKX0gICAgICR7Y29sb3JzLnByaW1hcnkodi5hbHBoYVNlbmRlcklkKX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKHYudG9sbEZyZWVOdW1iZXIpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJUb2xsLUZyZWU6XCIpfSAgICAgJHtjb2xvcnMucHJpbWFyeSh2LnRvbGxGcmVlTnVtYmVyKX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc29sZS5sb2coKTtcbiAgICB9XG5cbiAgICAvLyBDYXBhYmlsaXRpZXMgU2VjdGlvblxuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiICBTZW5kIENhcGFiaWxpdGllc1wiKSk7XG4gICAgY29uc3QgY2FwcyA9IHN0YXR1cz8uY2FwYWJpbGl0aWVzIHx8IHtcbiAgICAgIGNhblNlbmRTYW5kYm94OiB0cnVlLFxuICAgICAgY2FuU2VuZEludGVybmF0aW9uYWw6IGZhbHNlLFxuICAgICAgY2FuU2VuZERvbWVzdGljOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgLy8gU2FuZGJveFxuICAgIGNvbnN0IHNhbmRib3hJY29uID0gY2Fwcy5jYW5TZW5kU2FuZGJveFxuICAgICAgPyBjb2xvcnMuc3VjY2VzcyhcIuKck1wiKVxuICAgICAgOiBjb2xvcnMuZGltKFwi4peLXCIpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCAgICAke3NhbmRib3hJY29ufSAke2NvbG9ycy5kaW0oXCJTYW5kYm94XCIpfSAgICAgICAgVGVzdCBudW1iZXJzIG9ubHlgLFxuICAgICk7XG5cbiAgICAvLyBJbnRlcm5hdGlvbmFsXG4gICAgY29uc3QgaW50bEljb24gPSBjYXBzLmNhblNlbmRJbnRlcm5hdGlvbmFsXG4gICAgICA/IGNvbG9ycy5zdWNjZXNzKFwi4pyTXCIpXG4gICAgICA6IGNvbG9ycy5kaW0oXCLil4tcIik7XG4gICAgY29uc3QgaW50bExhYmVsID0gY2Fwcy5jYW5TZW5kSW50ZXJuYXRpb25hbFxuICAgICAgPyBcIjkwKyBjb3VudHJpZXNcIlxuICAgICAgOiBjb2xvcnMuZGltKFwiVXBncmFkZSB0byB1bmxvY2tcIik7XG4gICAgY29uc29sZS5sb2coYCAgICAke2ludGxJY29ufSAke2NvbG9ycy5kaW0oXCJJbnRlcm5hdGlvbmFsXCIpfSAgJHtpbnRsTGFiZWx9YCk7XG5cbiAgICAvLyBVUyAmIENhbmFkYVxuICAgIGNvbnN0IHVzSWNvbiA9IGNhcHMuY2FuU2VuZERvbWVzdGljID8gY29sb3JzLnN1Y2Nlc3MoXCLinJNcIikgOiBjb2xvcnMuZGltKFwi4peLXCIpO1xuICAgIGNvbnN0IHVzTGFiZWwgPSBjYXBzLmNhblNlbmREb21lc3RpY1xuICAgICAgPyBcIlR3by13YXkgbWVzc2FnaW5nXCJcbiAgICAgIDogY29sb3JzLmRpbShcIlVwZ3JhZGUgdG8gdW5sb2NrXCIpO1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHt1c0ljb259ICR7Y29sb3JzLmRpbShcIlVTICYgQ2FuYWRhXCIpfSAgICAke3VzTGFiZWx9YCk7XG4gICAgY29uc29sZS5sb2coKTtcblxuICAgIC8vIENyZWRpdHMgU2VjdGlvblxuICAgIGNvbnN0IGNyZWRpdEJhbGFuY2UgPSBzdGF0dXM/LmNyZWRpdHM/LmJhbGFuY2UgPz8gY3JlZGl0cy5iYWxhbmNlID8/IDA7XG4gICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCIgIENyZWRpdHNcIikpO1xuICAgIGNvbnN0IGNyZWRpdENvbG9yID1cbiAgICAgIGNyZWRpdEJhbGFuY2UgPiAxMDBcbiAgICAgICAgPyBjb2xvcnMuc3VjY2Vzc1xuICAgICAgICA6IGNyZWRpdEJhbGFuY2UgPiAxMFxuICAgICAgICAgID8gY29sb3JzLndhcm5pbmdcbiAgICAgICAgICA6IGNvbG9ycy5lcnJvcjtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGAgICAgJHtjb2xvcnMuZGltKFwiQmFsYW5jZTpcIil9ICAgICAgICR7Y3JlZGl0Q29sb3IoY3JlZGl0QmFsYW5jZS50b0xvY2FsZVN0cmluZygpKX0gY3JlZGl0c2AsXG4gICAgKTtcbiAgICBpZiAoY3JlZGl0cy5yZXNlcnZlZEJhbGFuY2UgPiAwKSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYCAgICAke2NvbG9ycy5kaW0oXCJSZXNlcnZlZDpcIil9ICAgICAgJHtjb2xvcnMud2FybmluZyhjcmVkaXRzLnJlc2VydmVkQmFsYW5jZS50b0xvY2FsZVN0cmluZygpKX0gY3JlZGl0c2AsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gUmVzb3VyY2VzIFNlY3Rpb25cbiAgICBjb25zdCBhY3RpdmVLZXlzID1cbiAgICAgIHN0YXR1cz8ua2V5cz8udG90YWxBY3RpdmUgPz9cbiAgICAgIGtleXMua2V5cz8uZmlsdGVyKChrOiBhbnkpID0+IGsuaXNBY3RpdmUpLmxlbmd0aCA/P1xuICAgICAgMDtcbiAgICBjb25zdCBhY3RpdmVXZWJob29rcyA9IHdlYmhvb2tzLmZpbHRlcigodzogYW55KSA9PiB3LmlzX2FjdGl2ZSkubGVuZ3RoO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiICBSZXNvdXJjZXNcIikpO1xuICAgIGNvbnNvbGUubG9nKGAgICAgJHtjb2xvcnMuZGltKFwiQVBJIEtleXM6XCIpfSAgICAgICR7YWN0aXZlS2V5c30gYWN0aXZlYCk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgICAgICR7Y29sb3JzLmRpbShcIldlYmhvb2tzOlwiKX0gICAgICAke2FjdGl2ZVdlYmhvb2tzfSBjb25maWd1cmVkYCxcbiAgICApO1xuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAvLyBSZWNlbnQgQWN0aXZpdHlcbiAgICBpZiAobWVzc2FnZXMubWVzc2FnZXMgJiYgbWVzc2FnZXMubWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc29sZS5sb2coY29sb3JzLmJvbGQoXCIgIFJlY2VudCBNZXNzYWdlc1wiKSk7XG4gICAgICBtZXNzYWdlcy5tZXNzYWdlcy5zbGljZSgwLCAzKS5mb3JFYWNoKChtc2c6IGFueSkgPT4ge1xuICAgICAgICBjb25zdCBtc2dTdGF0dXMgPSBtc2cuc3RhdHVzIHx8IFwidW5rbm93blwiO1xuICAgICAgICBjb25zdCBzdGF0dXNJY29uID1cbiAgICAgICAgICBtc2dTdGF0dXMgPT09IFwiZGVsaXZlcmVkXCJcbiAgICAgICAgICAgID8gY29sb3JzLnN1Y2Nlc3MoXCLinJNcIilcbiAgICAgICAgICAgIDogbXNnU3RhdHVzID09PSBcInNlbnRcIlxuICAgICAgICAgICAgICA/IGNvbG9ycy5wcmltYXJ5KFwi4oaSXCIpXG4gICAgICAgICAgICAgIDogbXNnU3RhdHVzID09PSBcImZhaWxlZFwiXG4gICAgICAgICAgICAgICAgPyBjb2xvcnMuZXJyb3IoXCLinJdcIilcbiAgICAgICAgICAgICAgICA6IGNvbG9ycy5kaW0oXCLil4tcIik7XG4gICAgICAgIGNvbnN0IHRvID0gbXNnLnRvIHx8IFwiVW5rbm93blwiO1xuICAgICAgICBjb25zdCB0aW1lID0gbXNnLmNyZWF0ZWRBdFxuICAgICAgICAgID8gZm9ybWF0UmVsYXRpdmVUaW1lKG1zZy5jcmVhdGVkQXQpXG4gICAgICAgICAgOiBcInJlY2VudGx5XCI7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGAgICAgJHtzdGF0dXNJY29ufSAke2NvbG9ycy5kaW0odG8uc2xpY2UoLTQpLnBhZFN0YXJ0KDgsIFwi4oCiXCIpKX0gJHtjb2xvcnMuZGltKG1zZ1N0YXR1cy5wYWRFbmQoMTApKX0gJHtjb2xvcnMuZGltKHRpbWUpfWAsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgfVxuXG4gICAgLy8gTmV4dCBTdGVwcyAoaWYgYW55KVxuICAgIGlmIChzdGF0dXM/Lm5leHRTdGVwcyAmJiBzdGF0dXMubmV4dFN0ZXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKGNvbG9ycy53YXJuaW5nKFwiICBOZXh0IFN0ZXBzXCIpKSk7XG4gICAgICBzdGF0dXMubmV4dFN0ZXBzLmZvckVhY2goKHN0ZXAsIGkpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coYCAgICAke2NvbG9ycy53YXJuaW5nKGAke2kgKyAxfS5gKX0gJHtzdGVwfWApO1xuICAgICAgfSk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgIH1cblxuICAgIC8vIFF1aWNrIEFjdGlvbnNcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiICBRdWljayBBY3Rpb25zXCIpKTtcbiAgICBjb25zb2xlLmxvZyhgICAgICR7Y29sb3JzLmNvZGUoXCJzZW5kbHkgc21zIHNlbmRcIil9ICAgICAgU2VuZCBhIG1lc3NhZ2VgKTtcbiAgICBjb25zb2xlLmxvZyhgICAgICR7Y29sb3JzLmNvZGUoXCJzZW5kbHkga2V5cyBsaXN0XCIpfSAgICAgVmlldyBBUEkga2V5c2ApO1xuICAgIGlmICh0aWVyID09PSBcInNhbmRib3hcIikge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgICAgJHtjb2xvcnMuY29kZShcInNlbmRseSBvbmJvYXJkaW5nXCIpfSAgICBVcGdyYWRlIHRvIHByb2R1Y3Rpb25gLFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,14 @@
1
+ import { AuthenticatedCommand } from "../../lib/base-command.js";
2
+ export default class TemplatesClone 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
+ name: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
+ quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
+ };
13
+ run(): Promise<void>;
14
+ }
@@ -0,0 +1,45 @@
1
+ import { Args, Flags } from "@oclif/core";
2
+ import { AuthenticatedCommand } from "../../lib/base-command.js";
3
+ import { apiClient } from "../../lib/api-client.js";
4
+ import { json, success, colors, isJsonMode, keyValue } from "../../lib/output.js";
5
+ export default class TemplatesClone extends AuthenticatedCommand {
6
+ static description = "Clone a template";
7
+ static examples = [
8
+ "<%= config.bin %> templates clone tpl_preset_otp",
9
+ '<%= config.bin %> templates clone tpl_preset_otp --name "My Custom OTP"',
10
+ "<%= config.bin %> templates clone tpl_xxx --json",
11
+ ];
12
+ static args = {
13
+ id: Args.string({
14
+ description: "Template ID to clone",
15
+ required: true,
16
+ }),
17
+ };
18
+ static flags = {
19
+ ...AuthenticatedCommand.baseFlags,
20
+ name: Flags.string({
21
+ char: "n",
22
+ description: "Name for the cloned template",
23
+ }),
24
+ };
25
+ async run() {
26
+ const { args, flags } = await this.parse(TemplatesClone);
27
+ const template = await apiClient.post(`/api/v1/templates/${args.id}/clone`, flags.name ? { name: flags.name } : {});
28
+ if (isJsonMode()) {
29
+ json(template);
30
+ return;
31
+ }
32
+ success(`Template cloned: ${template.id}`);
33
+ console.log();
34
+ keyValue([
35
+ ["Name", template.name],
36
+ ["Status", colors.dim("draft")],
37
+ ["Text", template.text.length > 50 ? template.text.slice(0, 50) + "..." : template.text],
38
+ ]);
39
+ console.log();
40
+ console.log(colors.dim("Next steps:"));
41
+ console.log(` Edit: ${colors.code(`sendly templates get ${template.id}`)}`);
42
+ console.log(` Publish: ${colors.code(`sendly templates publish ${template.id}`)}`);
43
+ }
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvdGVtcGxhdGVzL2Nsb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBWWxGLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBZSxTQUFRLG9CQUFvQjtJQUM5RCxNQUFNLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBRXhDLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsa0RBQWtEO1FBQ2xELHlFQUF5RTtRQUN6RSxrREFBa0Q7S0FDbkQsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsOEJBQThCO1NBQzVDLENBQUM7S0FDSCxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6RCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQ25DLHFCQUFxQixJQUFJLENBQUMsRUFBRSxRQUFRLEVBQ3BDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN2QyxDQUFDO1FBRUYsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxDQUFDLG9CQUFvQixRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFZCxRQUFRLENBQUM7WUFDUCxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1NBQ3pGLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJncywgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsganNvbiwgc3VjY2VzcywgY29sb3JzLCBpc0pzb25Nb2RlLCBrZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBUZW1wbGF0ZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgaXNQcmVzZXQ6IGJvb2xlYW47XG4gIHZlcnNpb246IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlbXBsYXRlc0Nsb25lIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkNsb25lIGEgdGVtcGxhdGVcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB0ZW1wbGF0ZXMgY2xvbmUgdHBsX3ByZXNldF9vdHBcIixcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gdGVtcGxhdGVzIGNsb25lIHRwbF9wcmVzZXRfb3RwIC0tbmFtZSBcIk15IEN1c3RvbSBPVFBcIicsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB0ZW1wbGF0ZXMgY2xvbmUgdHBsX3h4eCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiVGVtcGxhdGUgSUQgdG8gY2xvbmVcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgbmFtZTogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwiblwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTmFtZSBmb3IgdGhlIGNsb25lZCB0ZW1wbGF0ZVwiLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFRlbXBsYXRlc0Nsb25lKTtcblxuICAgIGNvbnN0IHRlbXBsYXRlID0gYXdhaXQgYXBpQ2xpZW50LnBvc3Q8VGVtcGxhdGU+KFxuICAgICAgYC9hcGkvdjEvdGVtcGxhdGVzLyR7YXJncy5pZH0vY2xvbmVgLFxuICAgICAgZmxhZ3MubmFtZSA/IHsgbmFtZTogZmxhZ3MubmFtZSB9IDoge30sXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24odGVtcGxhdGUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN1Y2Nlc3MoYFRlbXBsYXRlIGNsb25lZDogJHt0ZW1wbGF0ZS5pZH1gKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAga2V5VmFsdWUoW1xuICAgICAgW1wiTmFtZVwiLCB0ZW1wbGF0ZS5uYW1lXSxcbiAgICAgIFtcIlN0YXR1c1wiLCBjb2xvcnMuZGltKFwiZHJhZnRcIildLFxuICAgICAgW1wiVGV4dFwiLCB0ZW1wbGF0ZS50ZXh0Lmxlbmd0aCA+IDUwID8gdGVtcGxhdGUudGV4dC5zbGljZSgwLCA1MCkgKyBcIi4uLlwiIDogdGVtcGxhdGUudGV4dF0sXG4gICAgXSk7XG5cbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCJOZXh0IHN0ZXBzOlwiKSk7XG4gICAgY29uc29sZS5sb2coYCAgRWRpdDogICAgJHtjb2xvcnMuY29kZShgc2VuZGx5IHRlbXBsYXRlcyBnZXQgJHt0ZW1wbGF0ZS5pZH1gKX1gKTtcbiAgICBjb25zb2xlLmxvZyhgICBQdWJsaXNoOiAke2NvbG9ycy5jb2RlKGBzZW5kbHkgdGVtcGxhdGVzIHB1Ymxpc2ggJHt0ZW1wbGF0ZS5pZH1gKX1gKTtcbiAgfVxufVxuIl19
@@ -4,6 +4,9 @@ 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
+ status: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
7
10
  json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
11
  quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
12
  };
@@ -7,15 +7,28 @@ export default class VerifyList extends AuthenticatedCommand {
7
7
  static examples = [
8
8
  "<%= config.bin %> verify list",
9
9
  "<%= config.bin %> verify list --limit 10",
10
+ "<%= config.bin %> verify list --page 2",
11
+ "<%= config.bin %> verify list --status verified",
10
12
  "<%= config.bin %> verify list --json",
11
13
  ];
12
14
  static flags = {
13
15
  ...AuthenticatedCommand.baseFlags,
14
16
  limit: Flags.integer({
15
- char: "n",
16
- description: "Number of verifications to show",
17
+ char: "l",
18
+ description: "Number of verifications per page",
17
19
  default: 20,
18
20
  }),
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
+ status: Flags.string({
29
+ char: "s",
30
+ description: "Filter by status (pending, verified, expired, failed)",
31
+ }),
19
32
  };
20
33
  async run() {
21
34
  const { flags } = await this.parse(VerifyList);
@@ -26,6 +39,9 @@ export default class VerifyList extends AuthenticatedCommand {
26
39
  try {
27
40
  const response = await apiClient.get("/api/v1/verify", {
28
41
  limit: flags.limit,
42
+ ...(flags.page && { page: flags.page }),
43
+ ...(flags.offset && { offset: flags.offset }),
44
+ ...(flags.status && { status: flags.status }),
29
45
  });
30
46
  listSpinner.stop();
31
47
  if (isJsonMode()) {
@@ -37,6 +53,15 @@ export default class VerifyList extends AuthenticatedCommand {
37
53
  console.log(colors.dim(`Send one with: ${colors.code('sendly verify send --to "+1234567890"')}`));
38
54
  return;
39
55
  }
56
+ const pagination = response.pagination || {
57
+ total: response.verifications.length,
58
+ page: 1,
59
+ totalPages: 1,
60
+ hasMore: false,
61
+ };
62
+ console.log();
63
+ console.log(colors.dim(`Showing ${response.verifications.length} verifications (page ${pagination.page} of ${pagination.totalPages}, ${pagination.total} total)`));
64
+ console.log();
40
65
  const statusColor = (status) => {
41
66
  switch (status) {
42
67
  case "verified":
@@ -61,8 +86,9 @@ export default class VerifyList extends AuthenticatedCommand {
61
86
  { header: "Sandbox", key: "sandbox", width: 8, formatter: (v) => v ? colors.dim("yes") : "" },
62
87
  { header: "Created", key: "created_at", width: 20, formatter: (v) => new Date(String(v)).toLocaleString() },
63
88
  ]);
64
- if (response.pagination.has_more) {
65
- console.log(colors.dim(`\nShowing ${response.verifications.length} verifications. Use --limit to see more.`));
89
+ if (pagination.hasMore) {
90
+ console.log();
91
+ console.log(colors.dim(` Use ${colors.code(`--page ${pagination.page + 1}`)} to see more`));
66
92
  }
67
93
  }
68
94
  catch (err) {
@@ -71,4 +97,4 @@ export default class VerifyList extends AuthenticatedCommand {
71
97
  }
72
98
  }
73
99
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92ZXJpZnkvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBdUIvRSxNQUFNLENBQUMsT0FBTyxPQUFPLFVBQVcsU0FBUSxvQkFBb0I7SUFDMUQsTUFBTSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztJQUVqRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsc0NBQXNDO0tBQ3ZDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ25CLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLGlDQUFpQztZQUM5QyxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7S0FDSCxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ2xCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxDQUFDO1lBQ0gsTUFB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TUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7YUFDNUcsQ0FBQyxDQUFDO1lBRUgsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqQyxPQUFPLENBQUMsR0FBRyxDQUNULE1BQU0sQ0FBQyxHQUFHLENBQ1IsYUFBYSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sMENBQTBDLENBQ3JGLENBQ0YsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFRLEVBQUUsQ0FBQztZQUNsQixXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsTUFBTSxHQUFHLENBQUM7UUFDWixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7IGpzb24sIGNvbG9ycywgc3Bpbm5lciwgaXNKc29uTW9kZSwgdGFibGUgfSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgVmVyaWZpY2F0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHBob25lOiBzdHJpbmc7XG4gIGRlbGl2ZXJ5X3N0YXR1czogc3RyaW5nO1xuICBhdHRlbXB0czogbnVtYmVyO1xuICBtYXhfYXR0ZW1wdHM6IG51bWJlcjtcbiAgZXhwaXJlc19hdDogc3RyaW5nO1xuICB2ZXJpZmllZF9hdDogc3RyaW5nIHwgbnVsbDtcbiAgY3JlYXRlZF9hdDogc3RyaW5nO1xuICBzYW5kYm94OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTGlzdFJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uczogVmVyaWZpY2F0aW9uW107XG4gIHBhZ2luYXRpb246IHtcbiAgICBsaW1pdDogbnVtYmVyO1xuICAgIGhhc19tb3JlOiBib29sZWFuO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZXJpZnlMaXN0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkxpc3QgcmVjZW50IHZlcmlmaWNhdGlvbnNcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gdmVyaWZ5IGxpc3QgLS1saW1pdCAxMFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gdmVyaWZ5IGxpc3QgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBsaW1pdDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiBcIm5cIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk51bWJlciBvZiB2ZXJpZmljYXRpb25zIHRvIHNob3dcIixcbiAgICAgIGRlZmF1bHQ6IDIwLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFZlcmlmeUxpc3QpO1xuXG4gICAgY29uc3QgbGlzdFNwaW5uZXIgPSBzcGlubmVyKFwiRmV0Y2hpbmcgdmVyaWZpY2F0aW9ucy4uLlwiKTtcblxuICAgIGlmICghaXNKc29uTW9kZSgpKSB7XG4gICAgICBsaXN0U3Bpbm5lci5zdGFydCgpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8TGlzdFJlc3BvbnNlPihcIi9hcGkvdjEvdmVyaWZ5XCIsIHtcbiAgICAgICAgbGltaXQ6IGZsYWdzLmxpbWl0LFxuICAgICAgfSk7XG5cbiAgICAgIGxpc3RTcGlubmVyLnN0b3AoKTtcblxuICAgICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAgICBqc29uKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzcG9uc2UudmVyaWZpY2F0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIk5vIHZlcmlmaWNhdGlvbnMgZm91bmQuXCIpKTtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgICAgIGBTZW5kIG9uZSB3aXRoOiAke2NvbG9ycy5jb2RlKCdzZW5kbHkgdmVyaWZ5IHNlbmQgLS10byBcIisxMjM0NTY3ODkwXCInKX1gLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhdHVzQ29sb3IgPSAoc3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICBjYXNlIFwidmVyaWZpZWRcIjpcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhzdGF0dXMpO1xuICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnByaW1hcnkoc3RhdHVzKTtcbiAgICAgICAgICBjYXNlIFwiZXhwaXJlZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5kaW0oc3RhdHVzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5lcnJvcihzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByb3dzID0gcmVzcG9uc2UudmVyaWZpY2F0aW9ucy5tYXAoKHYpID0+ICh7XG4gICAgICAgIC4uLnYsXG4gICAgICAgIGF0dGVtcHRzRGlzcGxheTogYCR7di5hdHRlbXB0c30vJHt2Lm1heF9hdHRlbXB0c31gLFxuICAgICAgfSkpO1xuXG4gICAgICB0YWJsZShyb3dzLCBbXG4gICAgICAgIHsgaGVhZGVyOiBcIklEXCIsIGtleTogXCJpZFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5jb2RlKFN0cmluZyh2KS5zbGljZSgwLCAxNikgKyBcIi4uLlwiKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJQaG9uZVwiLCBrZXk6IFwicGhvbmVcIiwgd2lkdGg6IDE2IH0sXG4gICAgICAgIHsgaGVhZGVyOiBcIlN0YXR1c1wiLCBrZXk6IFwic3RhdHVzXCIsIHdpZHRoOiAxMiwgZm9ybWF0dGVyOiAodikgPT4gc3RhdHVzQ29sb3IoU3RyaW5nKHYpKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJBdHRlbXB0c1wiLCBrZXk6IFwiYXR0ZW1wdHNEaXNwbGF5XCIsIHdpZHRoOiAxMCB9LFxuICAgICAgICB7IGhlYWRlcjogXCJTYW5kYm94XCIsIGtleTogXCJzYW5kYm94XCIsIHdpZHRoOiA4LCBmb3JtYXR0ZXI6ICh2KSA9PiB2ID8gY29sb3JzLmRpbShcInllc1wiKSA6IFwiXCIgfSxcbiAgICAgICAgeyBoZWFkZXI6IFwiQ3JlYXRlZFwiLCBrZXk6IFwiY3JlYXRlZF9hdFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IG5ldyBEYXRlKFN0cmluZyh2KSkudG9Mb2NhbGVTdHJpbmcoKSB9LFxuICAgICAgXSk7XG5cbiAgICAgIGlmIChyZXNwb25zZS5wYWdpbmF0aW9uLmhhc19tb3JlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGNvbG9ycy5kaW0oXG4gICAgICAgICAgICBgXFxuU2hvd2luZyAke3Jlc3BvbnNlLnZlcmlmaWNhdGlvbnMubGVuZ3RofSB2ZXJpZmljYXRpb25zLiBVc2UgLS1saW1pdCB0byBzZWUgbW9yZS5gLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIGxpc3RTcGlubmVyLnN0b3AoKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy92ZXJpZnkvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBNkIvRSxNQUFNLENBQUMsT0FBTyxPQUFPLFVBQVcsU0FBUSxvQkFBb0I7SUFDMUQsTUFBTSxDQUFDLFdBQVcsR0FBRywyQkFBMkIsQ0FBQztJQUVqRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsd0NBQXdDO1FBQ3hDLGlEQUFpRDtRQUNqRCxzQ0FBc0M7S0FDdkMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ2xCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLDJCQUEyQjtTQUN6QyxDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDcEIsV0FBVyxFQUFFLDJDQUEyQztTQUN6RCxDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFX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QUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTthQUM1RyxDQUFDLENBQUM7WUFFSCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FDUixTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FDcEUsQ0FDRixDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEdBQVEsRUFBRSxDQUFDO1lBQ2xCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHsganNvbiwgY29sb3JzLCBzcGlubmVyLCBpc0pzb25Nb2RlLCB0YWJsZSB9IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBWZXJpZmljYXRpb24ge1xuICBpZDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgZGVsaXZlcnlfc3RhdHVzOiBzdHJpbmc7XG4gIGF0dGVtcHRzOiBudW1iZXI7XG4gIG1heF9hdHRlbXB0czogbnVtYmVyO1xuICBleHBpcmVzX2F0OiBzdHJpbmc7XG4gIHZlcmlmaWVkX2F0OiBzdHJpbmcgfCBudWxsO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIHNhbmRib3g6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQYWdpbmF0aW9uIHtcbiAgdG90YWw6IG51bWJlcjtcbiAgbGltaXQ6IG51bWJlcjtcbiAgb2Zmc2V0OiBudW1iZXI7XG4gIHBhZ2U6IG51bWJlcjtcbiAgdG90YWxQYWdlczogbnVtYmVyO1xuICBoYXNNb3JlOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTGlzdFJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uczogVmVyaWZpY2F0aW9uW107XG4gIHBhZ2luYXRpb246IFBhZ2luYXRpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlcmlmeUxpc3QgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiTGlzdCByZWNlbnQgdmVyaWZpY2F0aW9uc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBsaXN0XCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLWxpbWl0IDEwXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB2ZXJpZnkgbGlzdCAtLXBhZ2UgMlwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gdmVyaWZ5IGxpc3QgLS1zdGF0dXMgdmVyaWZpZWRcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHZlcmlmeSBsaXN0IC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgbGltaXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgY2hhcjogXCJsXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOdW1iZXIgb2YgdmVyaWZpY2F0aW9ucyBwZXIgcGFnZVwiLFxuICAgICAgZGVmYXVsdDogMjAsXG4gICAgfSksXG4gICAgcGFnZTogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiBcInBcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlBhZ2UgbnVtYmVyIChzdGFydHMgYXQgMSlcIixcbiAgICB9KSxcbiAgICBvZmZzZXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgZGVzY3JpcHRpb246IFwiT2Zmc2V0IGZyb20gc3RhcnQgKGFsdGVybmF0aXZlIHRvIC0tcGFnZSlcIixcbiAgICB9KSxcbiAgICBzdGF0dXM6IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcInNcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkZpbHRlciBieSBzdGF0dXMgKHBlbmRpbmcsIHZlcmlmaWVkLCBleHBpcmVkLCBmYWlsZWQpXCIsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoVmVyaWZ5TGlzdCk7XG5cbiAgICBjb25zdCBsaXN0U3Bpbm5lciA9IHNwaW5uZXIoXCJGZXRjaGluZyB2ZXJpZmljYXRpb25zLi4uXCIpO1xuXG4gICAgaWYgKCFpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGxpc3RTcGlubmVyLnN0YXJ0KCk7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LmdldDxMaXN0UmVzcG9uc2U+KFwiL2FwaS92MS92ZXJpZnlcIiwge1xuICAgICAgICBsaW1pdDogZmxhZ3MubGltaXQsXG4gICAgICAgIC4uLihmbGFncy5wYWdlICYmIHsgcGFnZTogZmxhZ3MucGFnZSB9KSxcbiAgICAgICAgLi4uKGZsYWdzLm9mZnNldCAmJiB7IG9mZnNldDogZmxhZ3Mub2Zmc2V0IH0pLFxuICAgICAgICAuLi4oZmxhZ3Muc3RhdHVzICYmIHsgc3RhdHVzOiBmbGFncy5zdGF0dXMgfSksXG4gICAgICB9KTtcblxuICAgICAgbGlzdFNwaW5uZXIuc3RvcCgpO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiTm8gdmVyaWZpY2F0aW9ucyBmb3VuZC5cIikpO1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgICAgYFNlbmQgb25lIHdpdGg6ICR7Y29sb3JzLmNvZGUoJ3NlbmRseSB2ZXJpZnkgc2VuZCAtLXRvIFwiKzEyMzQ1Njc4OTBcIicpfWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwYWdpbmF0aW9uID0gcmVzcG9uc2UucGFnaW5hdGlvbiB8fCB7XG4gICAgICAgIHRvdGFsOiByZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aCxcbiAgICAgICAgcGFnZTogMSxcbiAgICAgICAgdG90YWxQYWdlczogMSxcbiAgICAgICAgaGFzTW9yZTogZmFsc2UsXG4gICAgICB9O1xuXG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGNvbG9ycy5kaW0oXG4gICAgICAgICAgYFNob3dpbmcgJHtyZXNwb25zZS52ZXJpZmljYXRpb25zLmxlbmd0aH0gdmVyaWZpY2F0aW9ucyAocGFnZSAke3BhZ2luYXRpb24ucGFnZX0gb2YgJHtwYWdpbmF0aW9uLnRvdGFsUGFnZXN9LCAke3BhZ2luYXRpb24udG90YWx9IHRvdGFsKWAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgY29uc29sZS5sb2coKTtcblxuICAgICAgY29uc3Qgc3RhdHVzQ29sb3IgPSAoc3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICBjYXNlIFwidmVyaWZpZWRcIjpcbiAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhzdGF0dXMpO1xuICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICByZXR1cm4gY29sb3JzLnByaW1hcnkoc3RhdHVzKTtcbiAgICAgICAgICBjYXNlIFwiZXhwaXJlZFwiOlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5kaW0oc3RhdHVzKTtcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5lcnJvcihzdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBjb25zdCByb3dzID0gcmVzcG9uc2UudmVyaWZpY2F0aW9ucy5tYXAoKHYpID0+ICh7XG4gICAgICAgIC4uLnYsXG4gICAgICAgIGF0dGVtcHRzRGlzcGxheTogYCR7di5hdHRlbXB0c30vJHt2Lm1heF9hdHRlbXB0c31gLFxuICAgICAgfSkpO1xuXG4gICAgICB0YWJsZShyb3dzLCBbXG4gICAgICAgIHsgaGVhZGVyOiBcIklEXCIsIGtleTogXCJpZFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5jb2RlKFN0cmluZyh2KS5zbGljZSgwLCAxNikgKyBcIi4uLlwiKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJQaG9uZVwiLCBrZXk6IFwicGhvbmVcIiwgd2lkdGg6IDE2IH0sXG4gICAgICAgIHsgaGVhZGVyOiBcIlN0YXR1c1wiLCBrZXk6IFwic3RhdHVzXCIsIHdpZHRoOiAxMiwgZm9ybWF0dGVyOiAodikgPT4gc3RhdHVzQ29sb3IoU3RyaW5nKHYpKSB9LFxuICAgICAgICB7IGhlYWRlcjogXCJBdHRlbXB0c1wiLCBrZXk6IFwiYXR0ZW1wdHNEaXNwbGF5XCIsIHdpZHRoOiAxMCB9LFxuICAgICAgICB7IGhlYWRlcjogXCJTYW5kYm94XCIsIGtleTogXCJzYW5kYm94XCIsIHdpZHRoOiA4LCBmb3JtYXR0ZXI6ICh2KSA9PiB2ID8gY29sb3JzLmRpbShcInllc1wiKSA6IFwiXCIgfSxcbiAgICAgICAgeyBoZWFkZXI6IFwiQ3JlYXRlZFwiLCBrZXk6IFwiY3JlYXRlZF9hdFwiLCB3aWR0aDogMjAsIGZvcm1hdHRlcjogKHYpID0+IG5ldyBEYXRlKFN0cmluZyh2KSkudG9Mb2NhbGVTdHJpbmcoKSB9LFxuICAgICAgXSk7XG5cbiAgICAgIGlmIChwYWdpbmF0aW9uLmhhc01vcmUpIHtcbiAgICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgICAgIGAgIFVzZSAke2NvbG9ycy5jb2RlKGAtLXBhZ2UgJHtwYWdpbmF0aW9uLnBhZ2UgKyAxfWApfSB0byBzZWUgbW9yZWAsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgbGlzdFNwaW5uZXIuc3RvcCgpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -19,10 +19,11 @@ export declare class ApiError extends Error {
19
19
  code: string;
20
20
  statusCode: number;
21
21
  details?: Record<string, unknown> | undefined;
22
- constructor(code: string, message: string, statusCode: number, details?: Record<string, unknown> | undefined);
22
+ hint?: string;
23
+ constructor(code: string, message: string, statusCode: number, details?: Record<string, unknown> | undefined, hint?: string);
23
24
  }
24
25
  export declare class AuthenticationError extends ApiError {
25
- constructor(message?: string);
26
+ constructor(message?: string, hint?: string);
26
27
  }
27
28
  export declare class ApiKeyRequiredError extends ApiError {
28
29
  hint: string;
@@ -35,6 +36,12 @@ export declare class RateLimitError extends ApiError {
35
36
  export declare class InsufficientCreditsError extends ApiError {
36
37
  constructor(message?: string);
37
38
  }
39
+ export declare class NotFoundError extends ApiError {
40
+ constructor(message?: string, hint?: string);
41
+ }
42
+ export declare class ValidationError extends ApiError {
43
+ constructor(message?: string, details?: Record<string, unknown>);
44
+ }
38
45
  declare class ApiClient {
39
46
  private rateLimitInfo?;
40
47
  private getBaseUrl;