@sendly/cli 3.1.0 → 3.2.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.
@@ -89,7 +89,7 @@ export default class SmsBatch extends AuthenticatedCommand {
89
89
  success("Batch sent", {
90
90
  "Batch ID": response.batchId,
91
91
  Total: response.total,
92
- Queued: colors.success(String(response.queued)),
92
+ Queued: colors.success(String(response.queued ?? 0)),
93
93
  Failed: response.failed > 0 ? colors.error(String(response.failed)) : "0",
94
94
  "Credits Used": response.creditsUsed,
95
95
  Status: response.status,
@@ -160,4 +160,4 @@ export default class SmsBatch extends AuthenticatedCommand {
160
160
  return phones.map((phone) => ({ to: phone, text }));
161
161
  }
162
162
  }
163
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvc21zL2JhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLEVBQ0osVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFnQjdCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sUUFBUyxTQUFRLG9CQUFvQjtJQUN4RCxNQUFNLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDO0lBRS9DLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsb0RBQW9EO1FBQ3BELHFGQUFxRjtRQUNyRixtRUFBbUU7UUFDbkUseURBQXlEO0tBQzFELENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDbEIsQ0FBQztRQUNGLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsd0RBQXdEO1lBQ3JFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNwQixDQUFDO1FBQ0YsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUc7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QUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICBzdWNjZXNzLFxuICBlcnJvcixcbiAgc3Bpbm5lcixcbiAgY29sb3JzLFxuICBqc29uLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgQmF0Y2hNZXNzYWdlIHtcbiAgdG86IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQmF0Y2hSZXNwb25zZSB7XG4gIGJhdGNoSWQ6IHN0cmluZztcbiAgdG90YWw6IG51bWJlcjtcbiAgcXVldWVkOiBudW1iZXI7XG4gIGZhaWxlZDogbnVtYmVyO1xuICBjcmVkaXRzVXNlZDogbnVtYmVyO1xuICBzdGF0dXM6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU21zQmF0Y2ggZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiU2VuZCBiYXRjaCBTTVMgbWVzc2FnZXNcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgYmF0Y2ggLS1maWxlIHJlY2lwaWVudHMuanNvblwiLFxuICAgICc8JT0gY29uZmlnLmJpbiAlPiBzbXMgYmF0Y2ggLS10byArMTU1NTEyMzQ1NjcsKzE1NTU5ODc2NTQzIC0tdGV4dCBcIkhlbGxvIGV2ZXJ5b25lIVwiJyxcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gc21zIGJhdGNoIC0tZmlsZSByZWNpcGllbnRzLmNzdiAtLWZyb20gXCJTZW5kbHlcIicsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgYmF0Y2ggLS1maWxlIG1lc3NhZ2VzLmpzb24gLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBmaWxlOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJGXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJKU09OIGZpbGUgd2l0aCBtZXNzYWdlcyBhcnJheSBbe3RvLCB0ZXh0fSwgLi4uXVwiLFxuICAgICAgZXhjbHVzaXZlOiBbXCJ0b1wiXSxcbiAgICB9KSxcbiAgICB0bzogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwidFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiQ29tbWEtc2VwYXJhdGVkIHJlY2lwaWVudCBwaG9uZSBudW1iZXJzIChFLjE2NCBmb3JtYXQpXCIsXG4gICAgICBleGNsdXNpdmU6IFtcImZpbGVcIl0sXG4gICAgfSksXG4gICAgdGV4dDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwibVwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTWVzc2FnZSB0ZXh0ICh1c2VkIHdpdGggLS10byBmbGFnKVwiLFxuICAgIH0pLFxuICAgIGZyb206IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcImZcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNlbmRlciBJRCBvciBwaG9uZSBudW1iZXIgZm9yIGFsbCBtZXNzYWdlc1wiLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFNtc0JhdGNoKTtcblxuICAgIGxldCBtZXNzYWdlczogQmF0Y2hNZXNzYWdlW10gPSBbXTtcblxuICAgIC8vIFBhcnNlIG1lc3NhZ2VzIGZyb20gZmlsZSBvciBmbGFnc1xuICAgIGlmIChmbGFncy5maWxlKSB7XG4gICAgICBtZXNzYWdlcyA9IHRoaXMucGFyc2VNZXNzYWdlc0Zyb21GaWxlKGZsYWdzLmZpbGUpO1xuICAgIH0gZWxzZSBpZiAoZmxhZ3MudG8pIHtcbiAgICAgIGlmICghZmxhZ3MudGV4dCkge1xuICAgICAgICBlcnJvcihcIi0tdGV4dCBpcyByZXF1aXJlZCB3aGVuIHVzaW5nIC0tdG9cIik7XG4gICAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICAgIH1cbiAgICAgIG1lc3NhZ2VzID0gdGhpcy5wYXJzZU1lc3NhZ2VzRnJvbUZsYWdzKGZsYWdzLnRvLCBmbGFncy50ZXh0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoXCJFaXRoZXIgLS1maWxlIG9yIC0tdG8gaXMgcmVxdWlyZWRcIik7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgbWVzc2FnZXNcbiAgICBpZiAobWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBlcnJvcihcIk5vIG1lc3NhZ2VzIHRvIHNlbmRcIik7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDEwMDApIHtcbiAgICAgIGVycm9yKFwiQmF0Y2ggc2l6ZSBjYW5ub3QgZXhjZWVkIDEwMDAgbWVzc2FnZXNcIiwge1xuICAgICAgICBoaW50OiBcIlNwbGl0IHlvdXIgbWVzc2FnZXMgaW50byBzbWFsbGVyIGJhdGNoZXNcIixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGVhY2ggbWVzc2FnZVxuICAgIGZvciAoY29uc3QgbXNnIG9mIG1lc3NhZ2VzKSB7XG4gICAgICBpZiAoIS9eXFwrWzEtOV1cXGR7MSwxNH0kLy50ZXN0KG1zZy50bykpIHtcbiAgICAgICAgZXJyb3IoYEludmFsaWQgcGhvbmUgbnVtYmVyOiAke21zZy50b31gLCB7XG4gICAgICAgICAgaGludDogXCJVc2UgRS4xNjQgZm9ybWF0OiArMTU1NTEyMzQ1NjdcIixcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICAgIH1cbiAgICAgIGlmICghbXNnLnRleHQ/LnRyaW0oKSkge1xuICAgICAgICBlcnJvcihgRW1wdHkgbWVzc2FnZSB0ZXh0IGZvciAke21zZy50b31gKTtcbiAgICAgICAgdGhpcy5leGl0KDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNwaW4gPSBzcGlubmVyKGBTZW5kaW5nICR7bWVzc2FnZXMubGVuZ3RofSBtZXNzYWdlcy4uLmApO1xuICAgIHNwaW4uc3RhcnQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5wb3N0PEJhdGNoUmVzcG9uc2U+KFxuICAgICAgICBcIi9hcGkvdjEvbWVzc2FnZXMvYmF0Y2hcIixcbiAgICAgICAge1xuICAgICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICAgIC4uLihmbGFncy5mcm9tICYmIHsgZnJvbTogZmxhZ3MuZnJvbSB9KSxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHNwaW4uc3RvcCgpO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHN1Y2Nlc3MoXCJCYXRjaCBzZW50XCIsIHtcbiAgICAgICAgXCJCYXRjaCBJRFwiOiByZXNwb25zZS5iYXRjaElkLFxuICAgICAgICBUb3RhbDogcmVzcG9uc2UudG90YWwsXG4gICAgICAgIFF1ZXVlZDogY29sb3JzLnN1Y2Nlc3MoU3RyaW5nKHJlc3BvbnNlLnF1ZXVlZCkpLFxuICAgICAgICBGYWlsZWQ6XG4gICAgICAgICAgcmVzcG9uc2UuZmFpbGVkID4gMCA/IGNvbG9ycy5lcnJvcihTdHJpbmcocmVzcG9uc2UuZmFpbGVkKSkgOiBcIjBcIixcbiAgICAgICAgXCJDcmVkaXRzIFVzZWRcIjogcmVzcG9uc2UuY3JlZGl0c1VzZWQsXG4gICAgICAgIFN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzcGluLnN0b3AoKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlTWVzc2FnZXNGcm9tRmlsZShmaWxlUGF0aDogc3RyaW5nKTogQmF0Y2hNZXNzYWdlW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuXG4gICAgICAvLyBUcnkgSlNPTiBmaXJzdFxuICAgICAgaWYgKGZpbGVQYXRoLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgdG86IGl0ZW0udG8sXG4gICAgICAgICAgICB0ZXh0OiBpdGVtLnRleHQsXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLm1lc3NhZ2VzICYmIEFycmF5LmlzQXJyYXkoZGF0YS5tZXNzYWdlcykpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5tZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgICBlcnJvcihcIkludmFsaWQgSlNPTiBmb3JtYXRcIiwge1xuICAgICAgICAgIGhpbnQ6IFwiRXhwZWN0ZWQgYXJyYXkgb2Yge3RvLCB0ZXh0fSBvYmplY3RzIG9yIHttZXNzYWdlczogWy4uLl19XCIsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmV4aXQoMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRyeSBDU1ZcbiAgICAgIGlmIChmaWxlUGF0aC5lbmRzV2l0aChcIi5jc3ZcIikpIHtcbiAgICAgICAgY29uc3QgbGluZXMgPSBjb250ZW50LnRyaW0oKS5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXM6IEJhdGNoTWVzc2FnZVtdID0gW107XG5cbiAgICAgICAgLy8gU2tpcCBoZWFkZXIgaWYgcHJlc2VudFxuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGluZXNbMF0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcInRvXCIpID8gMSA6IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHBhcnRzID0gbGluZXNbaV0uc3BsaXQoXCIsXCIpO1xuICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgbWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgICAgIHRvOiBwYXJ0c1swXS50cmltKCkucmVwbGFjZSgvXCIvZywgXCJcIiksXG4gICAgICAgICAgICAgIHRleHQ6IHBhcnRzLnNsaWNlKDEpLmpvaW4oXCIsXCIpLnRyaW0oKS5yZXBsYWNlKC9cIi9nLCBcIlwiKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIiwge1xuICAgICAgICBoaW50OiBcIlVzZSAuanNvbiBvciAuY3N2IGZpbGVcIixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKChlcnIgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgIGVycm9yKGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH1gKTtcbiAgICAgIH0gZWxzZSBpZiAoZXJyIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgICAgZXJyb3IoXCJJbnZhbGlkIEpTT04gaW4gZmlsZVwiLCB7IGhpbnQ6IGVyci5tZXNzYWdlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VNZXNzYWdlc0Zyb21GbGFncyh0bzogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBCYXRjaE1lc3NhZ2VbXSB7XG4gICAgY29uc3QgcGhvbmVzID0gdG8uc3BsaXQoXCIsXCIpLm1hcCgocCkgPT4gcC50cmltKCkpO1xuICAgIHJldHVybiBwaG9uZXMubWFwKChwaG9uZSkgPT4gKHsgdG86IHBob25lLCB0ZXh0IH0pKTtcbiAgfVxufVxuIl19
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvc21zL2JhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsT0FBTyxFQUNQLE1BQU0sRUFDTixJQUFJLEVBQ0osVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFnQjdCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sUUFBUyxTQUFRLG9CQUFvQjtJQUN4RCxNQUFNLENBQUMsV0FBVyxHQUFHLHlCQUF5QixDQUFDO0lBRS9DLE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsb0RBQW9EO1FBQ3BELHFGQUFxRjtRQUNyRixtRUFBbUU7UUFDbkUseURBQXlEO0tBQzFELENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLGlEQUFpRDtZQUM5RCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDbEIsQ0FBQztRQUNGLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsd0RBQXdEO1lBQ3JFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQztTQUNwQixDQUFDO1FBQ0YsSUFBSSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUc7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QUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgc3VjY2VzcyxcbiAgZXJyb3IsXG4gIHNwaW5uZXIsXG4gIGNvbG9ycyxcbiAganNvbixcbiAgaXNKc29uTW9kZSxcbn0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIEJhdGNoTWVzc2FnZSB7XG4gIHRvOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEJhdGNoUmVzcG9uc2Uge1xuICBiYXRjaElkOiBzdHJpbmc7XG4gIHRvdGFsOiBudW1iZXI7XG4gIHF1ZXVlZDogbnVtYmVyO1xuICBmYWlsZWQ6IG51bWJlcjtcbiAgY3JlZGl0c1VzZWQ6IG51bWJlcjtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNtc0JhdGNoIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlNlbmQgYmF0Y2ggU01TIG1lc3NhZ2VzXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGJhdGNoIC0tZmlsZSByZWNpcGllbnRzLmpzb25cIixcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gc21zIGJhdGNoIC0tdG8gKzE1NTUxMjM0NTY3LCsxNTU1OTg3NjU0MyAtLXRleHQgXCJIZWxsbyBldmVyeW9uZSFcIicsXG4gICAgJzwlPSBjb25maWcuYmluICU+IHNtcyBiYXRjaCAtLWZpbGUgcmVjaXBpZW50cy5jc3YgLS1mcm9tIFwiU2VuZGx5XCInLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGJhdGNoIC0tZmlsZSBtZXNzYWdlcy5qc29uIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgZmlsZTogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwiRlwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiSlNPTiBmaWxlIHdpdGggbWVzc2FnZXMgYXJyYXkgW3t0bywgdGV4dH0sIC4uLl1cIixcbiAgICAgIGV4Y2x1c2l2ZTogW1widG9cIl0sXG4gICAgfSksXG4gICAgdG86IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcInRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkNvbW1hLXNlcGFyYXRlZCByZWNpcGllbnQgcGhvbmUgbnVtYmVycyAoRS4xNjQgZm9ybWF0KVwiLFxuICAgICAgZXhjbHVzaXZlOiBbXCJmaWxlXCJdLFxuICAgIH0pLFxuICAgIHRleHQ6IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcIm1cIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk1lc3NhZ2UgdGV4dCAodXNlZCB3aXRoIC0tdG8gZmxhZylcIixcbiAgICB9KSxcbiAgICBmcm9tOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJmXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZW5kZXIgSUQgb3IgcGhvbmUgbnVtYmVyIGZvciBhbGwgbWVzc2FnZXNcIixcbiAgICB9KSxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShTbXNCYXRjaCk7XG5cbiAgICBsZXQgbWVzc2FnZXM6IEJhdGNoTWVzc2FnZVtdID0gW107XG5cbiAgICAvLyBQYXJzZSBtZXNzYWdlcyBmcm9tIGZpbGUgb3IgZmxhZ3NcbiAgICBpZiAoZmxhZ3MuZmlsZSkge1xuICAgICAgbWVzc2FnZXMgPSB0aGlzLnBhcnNlTWVzc2FnZXNGcm9tRmlsZShmbGFncy5maWxlKTtcbiAgICB9IGVsc2UgaWYgKGZsYWdzLnRvKSB7XG4gICAgICBpZiAoIWZsYWdzLnRleHQpIHtcbiAgICAgICAgZXJyb3IoXCItLXRleHQgaXMgcmVxdWlyZWQgd2hlbiB1c2luZyAtLXRvXCIpO1xuICAgICAgICB0aGlzLmV4aXQoMSk7XG4gICAgICB9XG4gICAgICBtZXNzYWdlcyA9IHRoaXMucGFyc2VNZXNzYWdlc0Zyb21GbGFncyhmbGFncy50bywgZmxhZ3MudGV4dCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKFwiRWl0aGVyIC0tZmlsZSBvciAtLXRvIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIG1lc3NhZ2VzXG4gICAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgZXJyb3IoXCJObyBtZXNzYWdlcyB0byBzZW5kXCIpO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIGlmIChtZXNzYWdlcy5sZW5ndGggPiAxMDAwKSB7XG4gICAgICBlcnJvcihcIkJhdGNoIHNpemUgY2Fubm90IGV4Y2VlZCAxMDAwIG1lc3NhZ2VzXCIsIHtcbiAgICAgICAgaGludDogXCJTcGxpdCB5b3VyIG1lc3NhZ2VzIGludG8gc21hbGxlciBiYXRjaGVzXCIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBlYWNoIG1lc3NhZ2VcbiAgICBmb3IgKGNvbnN0IG1zZyBvZiBtZXNzYWdlcykge1xuICAgICAgaWYgKCEvXlxcK1sxLTldXFxkezEsMTR9JC8udGVzdChtc2cudG8pKSB7XG4gICAgICAgIGVycm9yKGBJbnZhbGlkIHBob25lIG51bWJlcjogJHttc2cudG99YCwge1xuICAgICAgICAgIGhpbnQ6IFwiVXNlIEUuMTY0IGZvcm1hdDogKzE1NTUxMjM0NTY3XCIsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmV4aXQoMSk7XG4gICAgICB9XG4gICAgICBpZiAoIW1zZy50ZXh0Py50cmltKCkpIHtcbiAgICAgICAgZXJyb3IoYEVtcHR5IG1lc3NhZ2UgdGV4dCBmb3IgJHttc2cudG99YCk7XG4gICAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzcGluID0gc3Bpbm5lcihgU2VuZGluZyAke21lc3NhZ2VzLmxlbmd0aH0gbWVzc2FnZXMuLi5gKTtcbiAgICBzcGluLnN0YXJ0KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGlDbGllbnQucG9zdDxCYXRjaFJlc3BvbnNlPihcbiAgICAgICAgXCIvYXBpL3YxL21lc3NhZ2VzL2JhdGNoXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlcyxcbiAgICAgICAgICAuLi4oZmxhZ3MuZnJvbSAmJiB7IGZyb206IGZsYWdzLmZyb20gfSksXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBzcGluLnN0b3AoKTtcblxuICAgICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAgICBqc29uKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdWNjZXNzKFwiQmF0Y2ggc2VudFwiLCB7XG4gICAgICAgIFwiQmF0Y2ggSURcIjogcmVzcG9uc2UuYmF0Y2hJZCxcbiAgICAgICAgVG90YWw6IHJlc3BvbnNlLnRvdGFsLFxuICAgICAgICBRdWV1ZWQ6IGNvbG9ycy5zdWNjZXNzKFN0cmluZyhyZXNwb25zZS5xdWV1ZWQgPz8gMCkpLFxuICAgICAgICBGYWlsZWQ6XG4gICAgICAgICAgcmVzcG9uc2UuZmFpbGVkID4gMCA/IGNvbG9ycy5lcnJvcihTdHJpbmcocmVzcG9uc2UuZmFpbGVkKSkgOiBcIjBcIixcbiAgICAgICAgXCJDcmVkaXRzIFVzZWRcIjogcmVzcG9uc2UuY3JlZGl0c1VzZWQsXG4gICAgICAgIFN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzcGluLnN0b3AoKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBhcnNlTWVzc2FnZXNGcm9tRmlsZShmaWxlUGF0aDogc3RyaW5nKTogQmF0Y2hNZXNzYWdlW10ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb250ZW50ID0gcmVhZEZpbGVTeW5jKGZpbGVQYXRoLCBcInV0Zi04XCIpO1xuXG4gICAgICAvLyBUcnkgSlNPTiBmaXJzdFxuICAgICAgaWYgKGZpbGVQYXRoLmVuZHNXaXRoKFwiLmpzb25cIikpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoY29udGVudCk7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgdG86IGl0ZW0udG8sXG4gICAgICAgICAgICB0ZXh0OiBpdGVtLnRleHQsXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLm1lc3NhZ2VzICYmIEFycmF5LmlzQXJyYXkoZGF0YS5tZXNzYWdlcykpIHtcbiAgICAgICAgICByZXR1cm4gZGF0YS5tZXNzYWdlcztcbiAgICAgICAgfVxuICAgICAgICBlcnJvcihcIkludmFsaWQgSlNPTiBmb3JtYXRcIiwge1xuICAgICAgICAgIGhpbnQ6IFwiRXhwZWN0ZWQgYXJyYXkgb2Yge3RvLCB0ZXh0fSBvYmplY3RzIG9yIHttZXNzYWdlczogWy4uLl19XCIsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmV4aXQoMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRyeSBDU1ZcbiAgICAgIGlmIChmaWxlUGF0aC5lbmRzV2l0aChcIi5jc3ZcIikpIHtcbiAgICAgICAgY29uc3QgbGluZXMgPSBjb250ZW50LnRyaW0oKS5zcGxpdChcIlxcblwiKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXM6IEJhdGNoTWVzc2FnZVtdID0gW107XG5cbiAgICAgICAgLy8gU2tpcCBoZWFkZXIgaWYgcHJlc2VudFxuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbGluZXNbMF0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcInRvXCIpID8gMSA6IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHBhcnRzID0gbGluZXNbaV0uc3BsaXQoXCIsXCIpO1xuICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgbWVzc2FnZXMucHVzaCh7XG4gICAgICAgICAgICAgIHRvOiBwYXJ0c1swXS50cmltKCkucmVwbGFjZSgvXCIvZywgXCJcIiksXG4gICAgICAgICAgICAgIHRleHQ6IHBhcnRzLnNsaWNlKDEpLmpvaW4oXCIsXCIpLnRyaW0oKS5yZXBsYWNlKC9cIi9nLCBcIlwiKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWVzc2FnZXM7XG4gICAgICB9XG5cbiAgICAgIGVycm9yKFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIiwge1xuICAgICAgICBoaW50OiBcIlVzZSAuanNvbiBvciAuY3N2IGZpbGVcIixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKChlcnIgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlID09PSBcIkVOT0VOVFwiKSB7XG4gICAgICAgIGVycm9yKGBGaWxlIG5vdCBmb3VuZDogJHtmaWxlUGF0aH1gKTtcbiAgICAgIH0gZWxzZSBpZiAoZXJyIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgICAgZXJyb3IoXCJJbnZhbGlkIEpTT04gaW4gZmlsZVwiLCB7IGhpbnQ6IGVyci5tZXNzYWdlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VNZXNzYWdlc0Zyb21GbGFncyh0bzogc3RyaW5nLCB0ZXh0OiBzdHJpbmcpOiBCYXRjaE1lc3NhZ2VbXSB7XG4gICAgY29uc3QgcGhvbmVzID0gdG8uc3BsaXQoXCIsXCIpLm1hcCgocCkgPT4gcC50cmltKCkpO1xuICAgIHJldHVybiBwaG9uZXMubWFwKChwaG9uZSkgPT4gKHsgdG86IHBob25lLCB0ZXh0IH0pKTtcbiAgfVxufVxuIl19
@@ -30,10 +30,12 @@ export default class SmsGet extends AuthenticatedCommand {
30
30
  To: formatPhone(message.to),
31
31
  From: message.from || colors.dim("(default)"),
32
32
  Status: formatStatus(message.status),
33
- Segments: message.segments,
34
- Credits: formatCredits(message.creditsUsed),
33
+ Segments: message.segments ?? 1,
34
+ Credits: formatCredits(message.creditsUsed ?? 0),
35
35
  Sandbox: message.isSandbox ? colors.warning("Yes") : "No",
36
- Created: formatDate(message.createdAt),
36
+ Created: message.createdAt
37
+ ? formatDate(message.createdAt)
38
+ : colors.dim("Unknown"),
37
39
  ...(message.deliveredAt && {
38
40
  Delivered: formatDate(message.deliveredAt),
39
41
  }),
@@ -48,4 +50,4 @@ export default class SmsGet extends AuthenticatedCommand {
48
50
  console.log();
49
51
  }
50
52
  }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Ntcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxFQUNQLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBZ0I3QixNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxvQkFBb0I7SUFDdEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztJQUV6RCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLHNDQUFzQztRQUN0Qyw2Q0FBNkM7S0FDOUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUNqQyxvQkFBb0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2xELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUxQixRQUFRLENBQUM7WUFDUCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxFQUFFLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDN0MsTUFBTSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixPQUFPLEVBQUUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7WUFDM0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDekQsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ3RDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJO2dCQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7YUFDM0MsQ0FBQztZQUNGLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJO2dCQUNuQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ25DLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAga2V5VmFsdWUsXG4gIGpzb24sXG4gIGhlYWRlcixcbiAgZm9ybWF0U3RhdHVzLFxuICBmb3JtYXREYXRlLFxuICBmb3JtYXRDcmVkaXRzLFxuICBmb3JtYXRQaG9uZSxcbiAgY29sb3JzLFxuICBkaXZpZGVyLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc2VnbWVudHM6IG51bWJlcjtcbiAgY3JlZGl0c1VzZWQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGl2ZXJlZEF0Pzogc3RyaW5nO1xuICBlcnJvcj86IHN0cmluZztcbiAgaXNTYW5kYm94OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXNHZXQgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiR2V0IGRldGFpbHMgb2YgYSBzcGVjaWZpYyBtZXNzYWdlXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGdldCBtc2dfYWJjMTIzXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgZ2V0IG1zZ19hYmMxMjMgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk1lc3NhZ2UgSURcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShTbXNHZXQpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8TWVzc2FnZT4oXG4gICAgICBgL2FwaS92MS9tZXNzYWdlcy8ke2VuY29kZVVSSUNvbXBvbmVudChhcmdzLmlkKX1gXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24obWVzc2FnZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaGVhZGVyKFwiTWVzc2FnZSBEZXRhaWxzXCIpO1xuXG4gICAga2V5VmFsdWUoe1xuICAgICAgSUQ6IG1lc3NhZ2UuaWQsXG4gICAgICBUbzogZm9ybWF0UGhvbmUobWVzc2FnZS50byksXG4gICAgICBGcm9tOiBtZXNzYWdlLmZyb20gfHwgY29sb3JzLmRpbShcIihkZWZhdWx0KVwiKSxcbiAgICAgIFN0YXR1czogZm9ybWF0U3RhdHVzKG1lc3NhZ2Uuc3RhdHVzKSxcbiAgICAgIFNlZ21lbnRzOiBtZXNzYWdlLnNlZ21lbnRzLFxuICAgICAgQ3JlZGl0czogZm9ybWF0Q3JlZGl0cyhtZXNzYWdlLmNyZWRpdHNVc2VkKSxcbiAgICAgIFNhbmRib3g6IG1lc3NhZ2UuaXNTYW5kYm94ID8gY29sb3JzLndhcm5pbmcoXCJZZXNcIikgOiBcIk5vXCIsXG4gICAgICBDcmVhdGVkOiBmb3JtYXREYXRlKG1lc3NhZ2UuY3JlYXRlZEF0KSxcbiAgICAgIC4uLihtZXNzYWdlLmRlbGl2ZXJlZEF0ICYmIHtcbiAgICAgICAgRGVsaXZlcmVkOiBmb3JtYXREYXRlKG1lc3NhZ2UuZGVsaXZlcmVkQXQpLFxuICAgICAgfSksXG4gICAgICAuLi4obWVzc2FnZS5lcnJvciAmJiB7XG4gICAgICAgIEVycm9yOiBjb2xvcnMuZXJyb3IobWVzc2FnZS5lcnJvciksXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGRpdmlkZXIoKTtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIk1lc3NhZ2UgVGV4dDpcIikpO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCLilIBcIi5yZXBlYXQoNDApKSk7XG4gICAgY29uc29sZS5sb2cobWVzc2FnZS50ZXh0KTtcbiAgICBjb25zb2xlLmxvZygpO1xuICB9XG59XG4iXX0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3Ntcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osTUFBTSxFQUNOLFlBQVksRUFDWixVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDWCxNQUFNLEVBQ04sT0FBTyxFQUNQLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBZ0I3QixNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxvQkFBb0I7SUFDdEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxtQ0FBbUMsQ0FBQztJQUV6RCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLHNDQUFzQztRQUN0Qyw2Q0FBNkM7S0FDOUMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFMUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUNqQyxvQkFBb0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ2xELENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUUxQixRQUFRLENBQUM7WUFDUCxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUU7WUFDZCxFQUFFLEVBQUUsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDN0MsTUFBTSxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3BDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUSxJQUFJLENBQUM7WUFDL0IsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztZQUNoRCxPQUFPLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN6RCxPQUFPLEVBQUUsT0FBTyxDQUFDLFNBQVM7Z0JBQ3hCLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDO1lBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJO2dCQUN6QixTQUFTLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7YUFDM0MsQ0FBQztZQUNGLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJO2dCQUNuQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO2FBQ25DLENBQUM7U0FDSCxDQUFDLENBQUM7UUFFSCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAga2V5VmFsdWUsXG4gIGpzb24sXG4gIGhlYWRlcixcbiAgZm9ybWF0U3RhdHVzLFxuICBmb3JtYXREYXRlLFxuICBmb3JtYXRDcmVkaXRzLFxuICBmb3JtYXRQaG9uZSxcbiAgY29sb3JzLFxuICBkaXZpZGVyLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgTWVzc2FnZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG4gIGZyb206IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc2VnbWVudHM6IG51bWJlcjtcbiAgY3JlZGl0c1VzZWQ6IG51bWJlcjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGl2ZXJlZEF0Pzogc3RyaW5nO1xuICBlcnJvcj86IHN0cmluZztcbiAgaXNTYW5kYm94OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXNHZXQgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiR2V0IGRldGFpbHMgb2YgYSBzcGVjaWZpYyBtZXNzYWdlXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGdldCBtc2dfYWJjMTIzXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgZ2V0IG1zZ19hYmMxMjMgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk1lc3NhZ2UgSURcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShTbXNHZXQpO1xuXG4gICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8TWVzc2FnZT4oXG4gICAgICBgL2FwaS92MS9tZXNzYWdlcy8ke2VuY29kZVVSSUNvbXBvbmVudChhcmdzLmlkKX1gLFxuICAgICk7XG5cbiAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICBqc29uKG1lc3NhZ2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGhlYWRlcihcIk1lc3NhZ2UgRGV0YWlsc1wiKTtcblxuICAgIGtleVZhbHVlKHtcbiAgICAgIElEOiBtZXNzYWdlLmlkLFxuICAgICAgVG86IGZvcm1hdFBob25lKG1lc3NhZ2UudG8pLFxuICAgICAgRnJvbTogbWVzc2FnZS5mcm9tIHx8IGNvbG9ycy5kaW0oXCIoZGVmYXVsdClcIiksXG4gICAgICBTdGF0dXM6IGZvcm1hdFN0YXR1cyhtZXNzYWdlLnN0YXR1cyksXG4gICAgICBTZWdtZW50czogbWVzc2FnZS5zZWdtZW50cyA/PyAxLFxuICAgICAgQ3JlZGl0czogZm9ybWF0Q3JlZGl0cyhtZXNzYWdlLmNyZWRpdHNVc2VkID8/IDApLFxuICAgICAgU2FuZGJveDogbWVzc2FnZS5pc1NhbmRib3ggPyBjb2xvcnMud2FybmluZyhcIlllc1wiKSA6IFwiTm9cIixcbiAgICAgIENyZWF0ZWQ6IG1lc3NhZ2UuY3JlYXRlZEF0XG4gICAgICAgID8gZm9ybWF0RGF0ZShtZXNzYWdlLmNyZWF0ZWRBdClcbiAgICAgICAgOiBjb2xvcnMuZGltKFwiVW5rbm93blwiKSxcbiAgICAgIC4uLihtZXNzYWdlLmRlbGl2ZXJlZEF0ICYmIHtcbiAgICAgICAgRGVsaXZlcmVkOiBmb3JtYXREYXRlKG1lc3NhZ2UuZGVsaXZlcmVkQXQpLFxuICAgICAgfSksXG4gICAgICAuLi4obWVzc2FnZS5lcnJvciAmJiB7XG4gICAgICAgIEVycm9yOiBjb2xvcnMuZXJyb3IobWVzc2FnZS5lcnJvciksXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGRpdmlkZXIoKTtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIk1lc3NhZ2UgVGV4dDpcIikpO1xuICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCLilIBcIi5yZXBlYXQoNDApKSk7XG4gICAgY29uc29sZS5sb2cobWVzc2FnZS50ZXh0KTtcbiAgICBjb25zb2xlLmxvZygpO1xuICB9XG59XG4iXX0=
@@ -4,7 +4,10 @@ export default class SmsList 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>;
7
9
  status: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
10
+ sandbox: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
11
  json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
12
  quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
13
  };
@@ -7,64 +7,93 @@ export default class SmsList extends AuthenticatedCommand {
7
7
  static examples = [
8
8
  "<%= config.bin %> sms list",
9
9
  "<%= config.bin %> sms list --limit 10",
10
+ "<%= config.bin %> sms list --page 2",
10
11
  "<%= config.bin %> sms list --status delivered",
12
+ "<%= config.bin %> sms list --sandbox",
11
13
  "<%= config.bin %> sms list --json",
12
14
  ];
13
15
  static flags = {
14
16
  ...AuthenticatedCommand.baseFlags,
15
17
  limit: Flags.integer({
16
18
  char: "l",
17
- description: "Number of messages to show",
19
+ description: "Number of messages per page",
18
20
  default: 20,
19
21
  }),
22
+ page: Flags.integer({
23
+ char: "p",
24
+ description: "Page number (starts at 1)",
25
+ }),
26
+ offset: Flags.integer({
27
+ description: "Offset from start (alternative to --page)",
28
+ }),
20
29
  status: Flags.string({
21
30
  char: "s",
22
31
  description: "Filter by status (queued, sent, delivered, failed)",
23
32
  }),
33
+ sandbox: Flags.boolean({
34
+ description: "Show sandbox/test messages (live keys only)",
35
+ default: false,
36
+ }),
24
37
  };
25
38
  async run() {
26
39
  const { flags } = await this.parse(SmsList);
27
40
  const response = await apiClient.get("/api/v1/messages", {
28
41
  limit: flags.limit,
42
+ ...(flags.page && { page: flags.page }),
43
+ ...(flags.offset && { offset: flags.offset }),
29
44
  ...(flags.status && { status: flags.status }),
45
+ ...(flags.sandbox && { sandbox: "true" }),
30
46
  });
31
47
  if (isJsonMode()) {
32
48
  json(response);
33
49
  return;
34
50
  }
35
51
  if (response.data.length === 0) {
36
- info("No messages found");
52
+ info(flags.sandbox ? "No sandbox messages found" : "No messages found");
37
53
  return;
38
54
  }
55
+ const pagination = response.pagination || {
56
+ total: response.count,
57
+ page: 1,
58
+ totalPages: 1,
59
+ hasMore: false,
60
+ };
61
+ const modeLabel = flags.sandbox ? "sandbox " : "";
39
62
  console.log();
40
- console.log(colors.dim(`Showing ${response.data.length} of ${response.count} messages`));
63
+ console.log(colors.dim(`Showing ${response.data.length} ${modeLabel}messages (page ${pagination.page} of ${pagination.totalPages}, ${pagination.total} total)`));
41
64
  console.log();
42
65
  table(response.data, [
43
66
  {
44
67
  header: "ID",
45
68
  key: "id",
46
- width: 20,
47
- formatter: (v) => colors.dim(String(v).slice(0, 16) + "..."),
69
+ width: 18,
70
+ formatter: (v) => colors.dim(String(v).slice(0, 15) + "..."),
48
71
  },
49
72
  {
50
73
  header: "To",
51
74
  key: "to",
52
- width: 18,
75
+ width: 16,
53
76
  formatter: (v) => formatPhone(String(v)),
54
77
  },
55
78
  {
56
79
  header: "Status",
57
80
  key: "status",
58
- width: 12,
81
+ width: 11,
59
82
  formatter: (v) => formatStatus(String(v)),
60
83
  },
84
+ {
85
+ header: "Mode",
86
+ key: "isSandbox",
87
+ width: 6,
88
+ formatter: (v) => (v ? colors.warning("test") : colors.success("live")),
89
+ },
61
90
  {
62
91
  header: "Text",
63
92
  key: "text",
64
- width: 30,
93
+ width: 25,
65
94
  formatter: (v) => {
66
95
  const text = String(v);
67
- return text.length > 27 ? text.slice(0, 27) + "..." : text;
96
+ return text.length > 22 ? text.slice(0, 22) + "..." : text;
68
97
  },
69
98
  },
70
99
  {
@@ -74,6 +103,11 @@ export default class SmsList extends AuthenticatedCommand {
74
103
  formatter: (v) => formatRelativeTime(String(v)),
75
104
  },
76
105
  ]);
106
+ // Show pagination hint if more pages available
107
+ if (pagination.hasMore) {
108
+ console.log();
109
+ console.log(colors.dim(` Use ${colors.code(`--page ${pagination.page + 1}`)} to see more`));
110
+ }
77
111
  }
78
112
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zbXMvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osWUFBWSxFQUNaLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBbUI3QixNQUFNLENBQUMsT0FBTyxPQUFPLE9BQVEsU0FBUSxvQkFBb0I7SUFDdkQsTUFBTSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztJQUUxQyxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDRCQUE0QjtRQUM1Qix1Q0FBdUM7UUFDdkMsK0NBQStDO1FBQy9DLG1DQUFtQztLQUNwQyxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssR0FBRztRQUNiLEdBQUcsb0JBQW9CLENBQUMsU0FBUztRQUNqQyxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNuQixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFBRSw0QkFBNEI7WUFDekMsT0FBTyxFQUFFLEVBQUU7U0FDWixDQUFDO1FBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsb0RBQW9EO1NBQ2xFLENBQUM7S0FDSCxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVDLE1BQU0sUUFBUSxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FDbEMsa0JBQWtCLEVBQ2xCO1lBQ0UsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1lBQ2xCLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM5QyxDQUNGLENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2YsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FDVCxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sUUFBUSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQzVFLENBQUM7UUFDRixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFZCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtZQUNuQjtnQkFDRSxNQUFNLEVBQUUsSUFBSTtnQkFDWixHQUFHLEVBQUUsSUFBSTtnQkFDVCxLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO2FBQzdEO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLElBQUk7Z0JBQ1osR0FBRyxFQUFFLElBQUk7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLEdBQUcsRUFBRSxRQUFRO2dCQUNiLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQztZQUNEO2dCQUNFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNmLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzdELENBQUM7YUFDRjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLEdBQUcsRUFBRSxXQUFXO2dCQUNoQixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAganNvbixcbiAgaW5mbyxcbiAgZm9ybWF0U3RhdHVzLFxuICBmb3JtYXRSZWxhdGl2ZVRpbWUsXG4gIGZvcm1hdFBob25lLFxuICBjb2xvcnMsXG4gIGlzSnNvbk1vZGUsXG59IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBNZXNzYWdlIHtcbiAgaWQ6IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgZnJvbTogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBzZWdtZW50czogbnVtYmVyO1xuICBjcmVkaXRzVXNlZDogbnVtYmVyO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgZGVsaXZlcmVkQXQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBMaXN0TWVzc2FnZXNSZXNwb25zZSB7XG4gIGRhdGE6IE1lc3NhZ2VbXTtcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU21zTGlzdCBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJMaXN0IHNlbnQgbWVzc2FnZXNcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgbGlzdFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGxpc3QgLS1saW1pdCAxMFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGxpc3QgLS1zdGF0dXMgZGVsaXZlcmVkXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgbGlzdCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQXV0aGVudGljYXRlZENvbW1hbmQuYmFzZUZsYWdzLFxuICAgIGxpbWl0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICAgIGNoYXI6IFwibFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTnVtYmVyIG9mIG1lc3NhZ2VzIHRvIHNob3dcIixcbiAgICAgIGRlZmF1bHQ6IDIwLFxuICAgIH0pLFxuICAgIHN0YXR1czogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwic1wiLFxuICAgICAgZGVzY3JpcHRpb246IFwiRmlsdGVyIGJ5IHN0YXR1cyAocXVldWVkLCBzZW50LCBkZWxpdmVyZWQsIGZhaWxlZClcIixcbiAgICB9KSxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShTbXNMaXN0KTtcblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LmdldDxMaXN0TWVzc2FnZXNSZXNwb25zZT4oXG4gICAgICBcIi9hcGkvdjEvbWVzc2FnZXNcIixcbiAgICAgIHtcbiAgICAgICAgbGltaXQ6IGZsYWdzLmxpbWl0LFxuICAgICAgICAuLi4oZmxhZ3Muc3RhdHVzICYmIHsgc3RhdHVzOiBmbGFncy5zdGF0dXMgfSksXG4gICAgICB9XG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXNwb25zZS5kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5mbyhcIk5vIG1lc3NhZ2VzIGZvdW5kXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBjb2xvcnMuZGltKGBTaG93aW5nICR7cmVzcG9uc2UuZGF0YS5sZW5ndGh9IG9mICR7cmVzcG9uc2UuY291bnR9IG1lc3NhZ2VzYClcbiAgICApO1xuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICB0YWJsZShyZXNwb25zZS5kYXRhLCBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJJRFwiLFxuICAgICAgICBrZXk6IFwiaWRcIixcbiAgICAgICAgd2lkdGg6IDIwLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBjb2xvcnMuZGltKFN0cmluZyh2KS5zbGljZSgwLCAxNikgKyBcIi4uLlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJUb1wiLFxuICAgICAgICBrZXk6IFwidG9cIixcbiAgICAgICAgd2lkdGg6IDE4LFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBmb3JtYXRQaG9uZShTdHJpbmcodikpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIlN0YXR1c1wiLFxuICAgICAgICBrZXk6IFwic3RhdHVzXCIsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gZm9ybWF0U3RhdHVzKFN0cmluZyh2KSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiVGV4dFwiLFxuICAgICAgICBrZXk6IFwidGV4dFwiLFxuICAgICAgICB3aWR0aDogMzAsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gU3RyaW5nKHYpO1xuICAgICAgICAgIHJldHVybiB0ZXh0Lmxlbmd0aCA+IDI3ID8gdGV4dC5zbGljZSgwLCAyNykgKyBcIi4uLlwiIDogdGV4dDtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJTZW50XCIsXG4gICAgICAgIGtleTogXCJjcmVhdGVkQXRcIixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBmb3JtYXRSZWxhdGl2ZVRpbWUoU3RyaW5nKHYpKSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9zbXMvbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osWUFBWSxFQUNaLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBOEI3QixNQUFNLENBQUMsT0FBTyxPQUFPLE9BQVEsU0FBUSxvQkFBb0I7SUFDdkQsTUFBTSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztJQUUxQyxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDRCQUE0QjtRQUM1Qix1Q0FBdUM7UUFDdkMscUNBQXFDO1FBQ3JDLCtDQUErQztRQUMvQyxzQ0FBc0M7UUFDdEMsbUNBQW1DO0tBQ3BDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ25CLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLDZCQUE2QjtZQUMxQyxPQUFPLEVBQUUsRUFBRTtTQUNaLENBQUM7UUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNsQixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFBRSwyQkFBMkI7U0FDekMsQ0FBQztRQUNGLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ3BCLFdBQVcsRUFBRSwyQ0FBMkM7U0FDekQsQ0FBQztRQUNGLE1BQU0sRUFBRSxLQUFLLENB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QVMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUNwRSxDQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsYWdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHRhYmxlLFxuICBqc29uLFxuICBpbmZvLFxuICBmb3JtYXRTdGF0dXMsXG4gIGZvcm1hdFJlbGF0aXZlVGltZSxcbiAgZm9ybWF0UGhvbmUsXG4gIGNvbG9ycyxcbiAgaXNKc29uTW9kZSxcbn0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBmcm9tOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHNlZ21lbnRzOiBudW1iZXI7XG4gIGNyZWRpdHNVc2VkOiBudW1iZXI7XG4gIGlzU2FuZGJveDogYm9vbGVhbjtcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIGRlbGl2ZXJlZEF0Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGFnaW5hdGlvbiB7XG4gIHRvdGFsOiBudW1iZXI7XG4gIGxpbWl0OiBudW1iZXI7XG4gIG9mZnNldDogbnVtYmVyO1xuICBwYWdlOiBudW1iZXI7XG4gIHRvdGFsUGFnZXM6IG51bWJlcjtcbiAgaGFzTW9yZTogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIExpc3RNZXNzYWdlc1Jlc3BvbnNlIHtcbiAgZGF0YTogTWVzc2FnZVtdO1xuICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTbXNMaXN0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkxpc3Qgc2VudCBtZXNzYWdlc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHNtcyBsaXN0XCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgbGlzdCAtLWxpbWl0IDEwXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgbGlzdCAtLXBhZ2UgMlwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gc21zIGxpc3QgLS1zdGF0dXMgZGVsaXZlcmVkXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBzbXMgbGlzdCAtLXNhbmRib3hcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHNtcyBsaXN0IC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgbGltaXQ6IEZsYWdzLmludGVnZXIoe1xuICAgICAgY2hhcjogXCJsXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJOdW1iZXIgb2YgbWVzc2FnZXMgcGVyIHBhZ2VcIixcbiAgICAgIGRlZmF1bHQ6IDIwLFxuICAgIH0pLFxuICAgIHBhZ2U6IEZsYWdzLmludGVnZXIoe1xuICAgICAgY2hhcjogXCJwXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJQYWdlIG51bWJlciAoc3RhcnRzIGF0IDEpXCIsXG4gICAgfSksXG4gICAgb2Zmc2V0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk9mZnNldCBmcm9tIHN0YXJ0IChhbHRlcm5hdGl2ZSB0byAtLXBhZ2UpXCIsXG4gICAgfSksXG4gICAgc3RhdHVzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJzXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJGaWx0ZXIgYnkgc3RhdHVzIChxdWV1ZWQsIHNlbnQsIGRlbGl2ZXJlZCwgZmFpbGVkKVwiLFxuICAgIH0pLFxuICAgIHNhbmRib3g6IEZsYWdzLmJvb2xlYW4oe1xuICAgICAgZGVzY3JpcHRpb246IFwiU2hvdyBzYW5kYm94L3Rlc3QgbWVzc2FnZXMgKGxpdmUga2V5cyBvbmx5KVwiLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoU21zTGlzdCk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8TGlzdE1lc3NhZ2VzUmVzcG9uc2U+KFxuICAgICAgXCIvYXBpL3YxL21lc3NhZ2VzXCIsXG4gICAgICB7XG4gICAgICAgIGxpbWl0OiBmbGFncy5saW1pdCxcbiAgICAgICAgLi4uKGZsYWdzLnBhZ2UgJiYgeyBwYWdlOiBmbGFncy5wYWdlIH0pLFxuICAgICAgICAuLi4oZmxhZ3Mub2Zmc2V0ICYmIHsgb2Zmc2V0OiBmbGFncy5vZmZzZXQgfSksXG4gICAgICAgIC4uLihmbGFncy5zdGF0dXMgJiYgeyBzdGF0dXM6IGZsYWdzLnN0YXR1cyB9KSxcbiAgICAgICAgLi4uKGZsYWdzLnNhbmRib3ggJiYgeyBzYW5kYm94OiBcInRydWVcIiB9KSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24ocmVzcG9uc2UpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChyZXNwb25zZS5kYXRhLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5mbyhmbGFncy5zYW5kYm94ID8gXCJObyBzYW5kYm94IG1lc3NhZ2VzIGZvdW5kXCIgOiBcIk5vIG1lc3NhZ2VzIGZvdW5kXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBhZ2luYXRpb24gPSByZXNwb25zZS5wYWdpbmF0aW9uIHx8IHtcbiAgICAgIHRvdGFsOiByZXNwb25zZS5jb3VudCxcbiAgICAgIHBhZ2U6IDEsXG4gICAgICB0b3RhbFBhZ2VzOiAxLFxuICAgICAgaGFzTW9yZTogZmFsc2UsXG4gICAgfTtcbiAgICBjb25zdCBtb2RlTGFiZWwgPSBmbGFncy5zYW5kYm94ID8gXCJzYW5kYm94IFwiIDogXCJcIjtcblxuICAgIGNvbnNvbGUubG9nKCk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBjb2xvcnMuZGltKFxuICAgICAgICBgU2hvd2luZyAke3Jlc3BvbnNlLmRhdGEubGVuZ3RofSAke21vZGVMYWJlbH1tZXNzYWdlcyAocGFnZSAke3BhZ2luYXRpb24ucGFnZX0gb2YgJHtwYWdpbmF0aW9uLnRvdGFsUGFnZXN9LCAke3BhZ2luYXRpb24udG90YWx9IHRvdGFsKWAsXG4gICAgICApLFxuICAgICk7XG4gICAgY29uc29sZS5sb2coKTtcblxuICAgIHRhYmxlKHJlc3BvbnNlLmRhdGEsIFtcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIklEXCIsXG4gICAgICAgIGtleTogXCJpZFwiLFxuICAgICAgICB3aWR0aDogMTgsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5kaW0oU3RyaW5nKHYpLnNsaWNlKDAsIDE1KSArIFwiLi4uXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIlRvXCIsXG4gICAgICAgIGtleTogXCJ0b1wiLFxuICAgICAgICB3aWR0aDogMTYsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGZvcm1hdFBob25lKFN0cmluZyh2KSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiU3RhdHVzXCIsXG4gICAgICAgIGtleTogXCJzdGF0dXNcIixcbiAgICAgICAgd2lkdGg6IDExLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBmb3JtYXRTdGF0dXMoU3RyaW5nKHYpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJNb2RlXCIsXG4gICAgICAgIGtleTogXCJpc1NhbmRib3hcIixcbiAgICAgICAgd2lkdGg6IDYsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+ICh2ID8gY29sb3JzLndhcm5pbmcoXCJ0ZXN0XCIpIDogY29sb3JzLnN1Y2Nlc3MoXCJsaXZlXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJUZXh0XCIsXG4gICAgICAgIGtleTogXCJ0ZXh0XCIsXG4gICAgICAgIHdpZHRoOiAyNSxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4ge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBTdHJpbmcodik7XG4gICAgICAgICAgcmV0dXJuIHRleHQubGVuZ3RoID4gMjIgPyB0ZXh0LnNsaWNlKDAsIDIyKSArIFwiLi4uXCIgOiB0ZXh0O1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIlNlbnRcIixcbiAgICAgICAga2V5OiBcImNyZWF0ZWRBdFwiLFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGZvcm1hdFJlbGF0aXZlVGltZShTdHJpbmcodikpLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIC8vIFNob3cgcGFnaW5hdGlvbiBoaW50IGlmIG1vcmUgcGFnZXMgYXZhaWxhYmxlXG4gICAgaWYgKHBhZ2luYXRpb24uaGFzTW9yZSkge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgIGAgIFVzZSAke2NvbG9ycy5jb2RlKGAtLXBhZ2UgJHtwYWdpbmF0aW9uLnBhZ2UgKyAxfWApfSB0byBzZWUgbW9yZWAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -53,11 +53,16 @@ export default class SmsSchedule extends AuthenticatedCommand {
53
53
  });
54
54
  this.exit(1);
55
55
  }
56
- // Check if scheduled time is in the future
57
- if (scheduledDate.getTime() <= Date.now()) {
58
- error("Scheduled time must be in the future", {
59
- hint: "The scheduled time must be at least 1 minute from now",
60
- });
56
+ // Check scheduling time constraints (Telnyx requires 5 min - 5 days)
57
+ const FIVE_MINUTES = 5 * 60 * 1000;
58
+ const FIVE_DAYS = 5 * 24 * 60 * 60 * 1000;
59
+ const timeUntilSend = scheduledDate.getTime() - Date.now();
60
+ if (timeUntilSend < FIVE_MINUTES) {
61
+ error("Scheduled time must be at least 5 minutes from now");
62
+ this.exit(1);
63
+ }
64
+ if (timeUntilSend > FIVE_DAYS) {
65
+ error("Scheduled time must be within 5 days");
61
66
  this.exit(1);
62
67
  }
63
68
  const spin = spinner("Scheduling message...");
@@ -88,4 +93,4 @@ export default class SmsSchedule extends AuthenticatedCommand {
88
93
  }
89
94
  }
90
95
  }
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvc21zL3NjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sWUFBWSxFQUNaLElBQUksRUFDSixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQVk3QixNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVksU0FBUSxvQkFBb0I7SUFDM0QsTUFBTSxDQUFDLFdBQVcsR0FBRyw2Q0FBNkMsQ0FBQztJQUVuRSxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGlHQUFpRztRQUNqRyx5SEFBeUg7UUFDekgscUdBQXFHO0tBQ3RHLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsRUFBRSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDZixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFDVCw4REFBOEQ7WUFDaEUsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsSUFBSSxF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QUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgc3VjY2VzcyxcbiAgZXJyb3IsXG4gIHNwaW5uZXIsXG4gIGNvbG9ycyxcbiAgZm9ybWF0U3RhdHVzLFxuICBqc29uLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgU2NoZWR1bGVkTWVzc2FnZVJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgdG86IHN0cmluZztcbiAgZnJvbT86IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgc2NoZWR1bGVkQXQ6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNtc1NjaGVkdWxlIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlNjaGVkdWxlIGFuIFNNUyBtZXNzYWdlIGZvciBmdXR1cmUgZGVsaXZlcnlcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgJzwlPSBjb25maWcuYmluICU+IHNtcyBzY2hlZHVsZSAtLXRvICsxNTU1MTIzNDU2NyAtLXRleHQgXCJSZW1pbmRlciFcIiAtLWF0IFwiMjAyNS0wMS0yMFQxMDowMDowMFpcIicsXG4gICAgJzwlPSBjb25maWcuYmluICU+IHNtcyBzY2hlZHVsZSAtLXRvICsxNTU1MTIzNDU2NyAtLXRleHQgXCJNZWV0aW5nIGluIDEgaG91clwiIC0tYXQgXCIyMDI1LTAxLTE1VDE0OjAwOjAwWlwiIC0tZnJvbSBcIlNlbmRseVwiJyxcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gc21zIHNjaGVkdWxlIC0tdG8gKzE1NTUxMjM0NTY3IC0tdGV4dCBcIkhlbGxvIVwiIC0tYXQgXCIyMDI1LTAxLTIwVDEwOjAwOjAwWlwiIC0tanNvbicsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICB0bzogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwidFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiUmVjaXBpZW50IHBob25lIG51bWJlciAoRS4xNjQgZm9ybWF0KVwiLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSksXG4gICAgdGV4dDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwibVwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTWVzc2FnZSB0ZXh0XCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgICBhdDogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwiYVwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiU2NoZWR1bGVkIHRpbWUgKElTTyA4NjAxIGZvcm1hdCwgZS5nLiwgMjAyNS0wMS0yMFQxMDowMDowMFopXCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgICBmcm9tOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJmXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJTZW5kZXIgSUQgb3IgcGhvbmUgbnVtYmVyXCIsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoU21zU2NoZWR1bGUpO1xuXG4gICAgLy8gVmFsaWRhdGUgcGhvbmUgbnVtYmVyIGZvcm1hdFxuICAgIGlmICghL15cXCtbMS05XVxcZHsxLDE0fSQvLnRlc3QoZmxhZ3MudG8pKSB7XG4gICAgICBlcnJvcihcIkludmFsaWQgcGhvbmUgbnVtYmVyIGZvcm1hdFwiLCB7XG4gICAgICAgIGhpbnQ6IFwiVXNlIEUuMTY0IGZvcm1hdDogKzE1NTUxMjM0NTY3XCIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBtZXNzYWdlIHRleHRcbiAgICBpZiAoIWZsYWdzLnRleHQudHJpbSgpKSB7XG4gICAgICBlcnJvcihcIk1lc3NhZ2UgdGV4dCBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGUgc2NoZWR1bGVkIHRpbWVcbiAgICBjb25zdCBzY2hlZHVsZWREYXRlID0gbmV3IERhdGUoZmxhZ3MuYXQpO1xuICAgIGlmIChpc05hTihzY2hlZHVsZWREYXRlLmdldFRpbWUoKSkpIHtcbiAgICAgIGVycm9yKFwiSW52YWxpZCBzY2hlZHVsZWQgdGltZSBmb3JtYXRcIiwge1xuICAgICAgICBoaW50OiBcIlVzZSBJU08gODYwMSBmb3JtYXQ6IDIwMjUtMDEtMjBUMTA6MDA6MDBaXCIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiBzY2hlZHVsZWQgdGltZSBpcyBpbiB0aGUgZnV0dXJlXG4gICAgaWYgKHNjaGVkdWxlZERhdGUuZ2V0VGltZSgpIDw9IERhdGUubm93KCkpIHtcbiAgICAgIGVycm9yKFwiU2NoZWR1bGVkIHRpbWUgbXVzdCBiZSBpbiB0aGUgZnV0dXJlXCIsIHtcbiAgICAgICAgaGludDogXCJUaGUgc2NoZWR1bGVkIHRpbWUgbXVzdCBiZSBhdCBsZWFzdCAxIG1pbnV0ZSBmcm9tIG5vd1wiLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BpbiA9IHNwaW5uZXIoXCJTY2hlZHVsaW5nIG1lc3NhZ2UuLi5cIik7XG4gICAgc3Bpbi5zdGFydCgpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LnBvc3Q8U2NoZWR1bGVkTWVzc2FnZVJlc3BvbnNlPihcbiAgICAgICAgXCIvYXBpL3YxL21lc3NhZ2VzL3NjaGVkdWxlXCIsXG4gICAgICAgIHtcbiAgICAgICAgICB0bzogZmxhZ3MudG8sXG4gICAgICAgICAgdGV4dDogZmxhZ3MudGV4dCxcbiAgICAgICAgICBzY2hlZHVsZWRBdDogZmxhZ3MuYXQsXG4gICAgICAgICAgLi4uKGZsYWdzLmZyb20gJiYgeyBmcm9tOiBmbGFncy5mcm9tIH0pLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgc3Bpbi5zdG9wKCk7XG5cbiAgICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgICAganNvbihyZXNwb25zZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZm9ybWF0dGVkVGltZSA9IG5ldyBEYXRlKHJlc3BvbnNlLnNjaGVkdWxlZEF0KS50b0xvY2FsZVN0cmluZygpO1xuXG4gICAgICBzdWNjZXNzKFwiTWVzc2FnZSBzY2hlZHVsZWRcIiwge1xuICAgICAgICBJRDogcmVzcG9uc2UuaWQsXG4gICAgICAgIFRvOiByZXNwb25zZS50byxcbiAgICAgICAgU3RhdHVzOiBmb3JtYXRTdGF0dXMocmVzcG9uc2Uuc3RhdHVzKSxcbiAgICAgICAgXCJTY2hlZHVsZWQgRm9yXCI6IGNvbG9ycy5jb2RlKGZvcm1hdHRlZFRpbWUpLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzcGluLnN0b3AoKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvc21zL3NjaGVkdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxNQUFNLEVBQ04sWUFBWSxFQUNaLElBQUksRUFDSixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQVk3QixNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVksU0FBUSxvQkFBb0I7SUFDM0QsTUFBTSxDQUFDLFdBQVcsR0FBRyw2Q0FBNkMsQ0FBQztJQUVuRSxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGlHQUFpRztRQUNqRyx5SEFBeUg7UUFDekgscUdBQXFHO0tBQ3RHLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO1FBQ2pDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQztRQUNGLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksRUFBRSxHQUFHO1lBQ1QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsRUFBRSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDZixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFDVCw4REFBOEQ7WUFDaEUsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO1FBQ0YsSUFBSSxF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QyxFQUFFO2dCQUNmLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDZixNQUFNLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQ3JDLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUM1QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICBzdWNjZXNzLFxuICBlcnJvcixcbiAgc3Bpbm5lcixcbiAgY29sb3JzLFxuICBmb3JtYXRTdGF0dXMsXG4gIGpzb24sXG4gIGlzSnNvbk1vZGUsXG59IGZyb20gXCIuLi8uLi9saWIvb3V0cHV0LmpzXCI7XG5cbmludGVyZmFjZSBTY2hlZHVsZWRNZXNzYWdlUmVzcG9uc2Uge1xuICBpZDogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBmcm9tPzogc3RyaW5nO1xuICB0ZXh0OiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBzY2hlZHVsZWRBdDogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU21zU2NoZWR1bGUgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiU2NoZWR1bGUgYW4gU01TIG1lc3NhZ2UgZm9yIGZ1dHVyZSBkZWxpdmVyeVwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gc21zIHNjaGVkdWxlIC0tdG8gKzE1NTUxMjM0NTY3IC0tdGV4dCBcIlJlbWluZGVyIVwiIC0tYXQgXCIyMDI1LTAxLTIwVDEwOjAwOjAwWlwiJyxcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gc21zIHNjaGVkdWxlIC0tdG8gKzE1NTUxMjM0NTY3IC0tdGV4dCBcIk1lZXRpbmcgaW4gMSBob3VyXCIgLS1hdCBcIjIwMjUtMDEtMTVUMTQ6MDA6MDBaXCIgLS1mcm9tIFwiU2VuZGx5XCInLFxuICAgICc8JT0gY29uZmlnLmJpbiAlPiBzbXMgc2NoZWR1bGUgLS10byArMTU1NTEyMzQ1NjcgLS10ZXh0IFwiSGVsbG8hXCIgLS1hdCBcIjIwMjUtMDEtMjBUMTA6MDA6MDBaXCIgLS1qc29uJyxcbiAgXTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQXV0aGVudGljYXRlZENvbW1hbmQuYmFzZUZsYWdzLFxuICAgIHRvOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJ0XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJSZWNpcGllbnQgcGhvbmUgbnVtYmVyIChFLjE2NCBmb3JtYXQpXCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgICB0ZXh0OiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJtXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJNZXNzYWdlIHRleHRcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICAgIGF0OiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJhXCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJTY2hlZHVsZWQgdGltZSAoSVNPIDg2MDEgZm9ybWF0LCBlLmcuLCAyMDI1LTAxLTIwVDEwOjAwOjAwWilcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICAgIGZyb206IEZsYWdzLnN0cmluZyh7XG4gICAgICBjaGFyOiBcImZcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNlbmRlciBJRCBvciBwaG9uZSBudW1iZXJcIixcbiAgICB9KSxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShTbXNTY2hlZHVsZSk7XG5cbiAgICAvLyBWYWxpZGF0ZSBwaG9uZSBudW1iZXIgZm9ybWF0XG4gICAgaWYgKCEvXlxcK1sxLTldXFxkezEsMTR9JC8udGVzdChmbGFncy50bykpIHtcbiAgICAgIGVycm9yKFwiSW52YWxpZCBwaG9uZSBudW1iZXIgZm9ybWF0XCIsIHtcbiAgICAgICAgaGludDogXCJVc2UgRS4xNjQgZm9ybWF0OiArMTU1NTEyMzQ1NjdcIixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIG1lc3NhZ2UgdGV4dFxuICAgIGlmICghZmxhZ3MudGV4dC50cmltKCkpIHtcbiAgICAgIGVycm9yKFwiTWVzc2FnZSB0ZXh0IGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBzY2hlZHVsZWQgdGltZVxuICAgIGNvbnN0IHNjaGVkdWxlZERhdGUgPSBuZXcgRGF0ZShmbGFncy5hdCk7XG4gICAgaWYgKGlzTmFOKHNjaGVkdWxlZERhdGUuZ2V0VGltZSgpKSkge1xuICAgICAgZXJyb3IoXCJJbnZhbGlkIHNjaGVkdWxlZCB0aW1lIGZvcm1hdFwiLCB7XG4gICAgICAgIGhpbnQ6IFwiVXNlIElTTyA4NjAxIGZvcm1hdDogMjAyNS0wMS0yMFQxMDowMDowMFpcIixcbiAgICAgIH0pO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIHNjaGVkdWxpbmcgdGltZSBjb25zdHJhaW50cyAoVGVsbnl4IHJlcXVpcmVzIDUgbWluIC0gNSBkYXlzKVxuICAgIGNvbnN0IEZJVkVfTUlOVVRFUyA9IDUgKiA2MCAqIDEwMDA7XG4gICAgY29uc3QgRklWRV9EQVlTID0gNSAqIDI0ICogNjAgKiA2MCAqIDEwMDA7XG4gICAgY29uc3QgdGltZVVudGlsU2VuZCA9IHNjaGVkdWxlZERhdGUuZ2V0VGltZSgpIC0gRGF0ZS5ub3coKTtcblxuICAgIGlmICh0aW1lVW50aWxTZW5kIDwgRklWRV9NSU5VVEVTKSB7XG4gICAgICBlcnJvcihcIlNjaGVkdWxlZCB0aW1lIG11c3QgYmUgYXQgbGVhc3QgNSBtaW51dGVzIGZyb20gbm93XCIpO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIGlmICh0aW1lVW50aWxTZW5kID4gRklWRV9EQVlTKSB7XG4gICAgICBlcnJvcihcIlNjaGVkdWxlZCB0aW1lIG11c3QgYmUgd2l0aGluIDUgZGF5c1wiKTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICBjb25zdCBzcGluID0gc3Bpbm5lcihcIlNjaGVkdWxpbmcgbWVzc2FnZS4uLlwiKTtcbiAgICBzcGluLnN0YXJ0KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBhcGlDbGllbnQucG9zdDxTY2hlZHVsZWRNZXNzYWdlUmVzcG9uc2U+KFxuICAgICAgICBcIi9hcGkvdjEvbWVzc2FnZXMvc2NoZWR1bGVcIixcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBmbGFncy50byxcbiAgICAgICAgICB0ZXh0OiBmbGFncy50ZXh0LFxuICAgICAgICAgIHNjaGVkdWxlZEF0OiBmbGFncy5hdCxcbiAgICAgICAgICAuLi4oZmxhZ3MuZnJvbSAmJiB7IGZyb206IGZsYWdzLmZyb20gfSksXG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBzcGluLnN0b3AoKTtcblxuICAgICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAgICBqc29uKHJlc3BvbnNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXR0ZWRUaW1lID0gbmV3IERhdGUocmVzcG9uc2Uuc2NoZWR1bGVkQXQpLnRvTG9jYWxlU3RyaW5nKCk7XG5cbiAgICAgIHN1Y2Nlc3MoXCJNZXNzYWdlIHNjaGVkdWxlZFwiLCB7XG4gICAgICAgIElEOiByZXNwb25zZS5pZCxcbiAgICAgICAgVG86IHJlc3BvbnNlLnRvLFxuICAgICAgICBTdGF0dXM6IGZvcm1hdFN0YXR1cyhyZXNwb25zZS5zdGF0dXMpLFxuICAgICAgICBcIlNjaGVkdWxlZCBGb3JcIjogY29sb3JzLmNvZGUoZm9ybWF0dGVkVGltZSksXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNwaW4uc3RvcCgpO1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -34,9 +34,10 @@ export default class WebhooksDeliveries extends AuthenticatedCommand {
34
34
  limit: String(flags.limit),
35
35
  ...(flags["failed-only"] && { status: "failed" }),
36
36
  });
37
- const deliveries = await apiClient.get(`/api/v1/webhooks/${args.id}/deliveries?${params.toString()}`);
37
+ const response = await apiClient.get(`/api/v1/webhooks/${args.id}/deliveries?${params.toString()}`);
38
+ const deliveries = response.deliveries || [];
38
39
  if (isJsonMode()) {
39
- json(deliveries);
40
+ json(response);
40
41
  return;
41
42
  }
42
43
  if (deliveries.length === 0) {
@@ -51,7 +52,7 @@ export default class WebhooksDeliveries extends AuthenticatedCommand {
51
52
  // Add computed fields for better display
52
53
  const deliveriesWithComputed = deliveries.map((d) => ({
53
54
  ...d,
54
- attemptDisplay: `${d.attempt_number}/${d.max_attempts}`,
55
+ attemptDisplay: `${d.attempt_number}/${d.max_attempts || 3}`,
55
56
  }));
56
57
  table(deliveriesWithComputed, [
57
58
  {
@@ -136,4 +137,4 @@ export default class WebhooksDeliveries extends AuthenticatedCommand {
136
137
  }
137
138
  }
138
139
  }
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9kZWxpdmVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQWlCN0IsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxvQkFBb0I7SUFDbEUsTUFBTSxDQUFDLFdBQVcsR0FBRywrQkFBK0IsQ0FBQztJQUVyRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGtEQUFrRDtRQUNsRCw2REFBNkQ7UUFDN0QsZ0VBQWdFO1FBQ2hFLHlEQUF5RDtLQUMxRCxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLFlBQVk7WUFDekIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLGFBQWEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzNCLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsT0FBTyxFQUFFLEtBQUs7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Q0FDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFDL0MsaUJBQWlCLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYyxDQUFDLEVBQUUsQ0FDdkQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAganNvbixcbiAgaW5mbyxcbiAgY29sb3JzLFxuICBmb3JtYXREYXRlLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgV2ViaG9va0RlbGl2ZXJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgZXZlbnRfdHlwZTogc3RyaW5nO1xuICBhdHRlbXB0X251bWJlcjogbnVtYmVyO1xuICBtYXhfYXR0ZW1wdHM6IG51bWJlcjtcbiAgc3RhdHVzOiBcInBlbmRpbmdcIiB8IFwiZGVsaXZlcmVkXCIgfCBcImZhaWxlZFwiIHwgXCJjYW5jZWxsZWRcIjtcbiAgcmVzcG9uc2Vfc3RhdHVzX2NvZGU/OiBudW1iZXI7XG4gIHJlc3BvbnNlX3RpbWU/OiBudW1iZXI7XG4gIGVycm9yX21lc3NhZ2U/OiBzdHJpbmc7XG4gIGVycm9yX2NvZGU/OiBzdHJpbmc7XG4gIG5leHRfcmV0cnlfYXQ/OiBzdHJpbmc7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbiAgZGVsaXZlcmVkX2F0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJob29rc0RlbGl2ZXJpZXMgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiVmlldyB3ZWJob29rIGRlbGl2ZXJ5IGhpc3RvcnlcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyBkZWxpdmVyaWVzIHdoa19hYmMxMjNcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGRlbGl2ZXJpZXMgd2hrX2FiYzEyMyAtLWxpbWl0IDIwXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyBkZWxpdmVyaWVzIHdoa19hYmMxMjMgLS1mYWlsZWQtb25seVwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgZGVsaXZlcmllcyB3aGtfYWJjMTIzIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIGlkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogXCJXZWJob29rIElEXCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQXV0aGVudGljYXRlZENvbW1hbmQuYmFzZUZsYWdzLFxuICAgIGxpbWl0OiBGbGFncy5pbnRlZ2VyKHtcbiAgICAgIGNoYXI6IFwibFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTnVtYmVyIG9mIGRlbGl2ZXJpZXMgdG8gc2hvd1wiLFxuICAgICAgZGVmYXVsdDogMTAsXG4gICAgfSksXG4gICAgXCJmYWlsZWQtb25seVwiOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNob3cgb25seSBmYWlsZWQgZGVsaXZlcmllc1wiLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoV2ViaG9va3NEZWxpdmVyaWVzKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgbGltaXQ6IFN0cmluZyhmbGFncy5saW1pdCksXG4gICAgICAuLi4oZmxhZ3NbXCJmYWlsZWQtb25seVwiXSAmJiB7IHN0YXR1czogXCJmYWlsZWRcIiB9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlbGl2ZXJpZXMgPSBhd2FpdCBhcGlDbGllbnQuZ2V0PFdlYmhvb2tEZWxpdmVyeVtdPihcbiAgICAgIGAvYXBpL3YxL3dlYmhvb2tzLyR7YXJncy5pZH0vZGVsaXZlcmllcz8ke3BhcmFtcy50b1N0cmluZygpfWAsXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24oZGVsaXZlcmllcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRlbGl2ZXJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpbmZvKFxuICAgICAgICBmbGFnc1tcImZhaWxlZC1vbmx5XCJdXG4gICAgICAgICAgPyBcIk5vIGZhaWxlZCBkZWxpdmVyaWVzIGZvdW5kXCJcbiAgICAgICAgICA6IFwiTm8gZGVsaXZlcmllcyBmb3VuZFwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgYFNob3dpbmcgJHtkZWxpdmVyaWVzLmxlbmd0aH0gZGVsaXZlcmllcyBmb3Igd2ViaG9vayAke2FyZ3MuaWR9YCxcbiAgICAgICksXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gQWRkIGNvbXB1dGVkIGZpZWxkcyBmb3IgYmV0dGVyIGRpc3BsYXlcbiAgICBjb25zdCBkZWxpdmVyaWVzV2l0aENvbXB1dGVkID0gZGVsaXZlcmllcy5tYXAoKGQpID0+ICh7XG4gICAgICAuLi5kLFxuICAgICAgYXR0ZW1wdERpc3BsYXk6IGAke2QuYXR0ZW1wdF9udW1iZXJ9LyR7ZC5tYXhfYXR0ZW1wdHN9YCxcbiAgICB9KSk7XG5cbiAgICB0YWJsZShkZWxpdmVyaWVzV2l0aENvbXB1dGVkLCBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJEZWxpdmVyeSBJRFwiLFxuICAgICAgICBrZXk6IFwiaWRcIixcbiAgICAgICAgd2lkdGg6IDE4LFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiBjb2xvcnMuZGltKFN0cmluZyh2KS5zbGljZSgwLCAxNSkgKyBcIi4uLlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJFdmVudFwiLFxuICAgICAgICBrZXk6IFwiZXZlbnRfdHlwZVwiLFxuICAgICAgICB3aWR0aDogMTUsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IFN0cmluZyh2KS5yZXBsYWNlKFwibWVzc2FnZS5cIiwgXCJcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiU3RhdHVzXCIsXG4gICAgICAgIGtleTogXCJzdGF0dXNcIixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiZGVsaXZlcmVkXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhcImRlbGl2ZXJlZFwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJmYWlsZWRcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5lcnJvcihcImZhaWxlZFwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJwZW5kaW5nXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMud2FybmluZyhcInBlbmRpbmdcIik7XG4gICAgICAgICAgICBjYXNlIFwiY2FuY2VsbGVkXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuZGltKFwiY2FuY2VsbGVkXCIpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZyh2KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiQXR0ZW1wdFwiLFxuICAgICAgICBrZXk6IFwiYXR0ZW1wdERpc3BsYXlcIixcbiAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIlN0YXR1cyBDb2RlXCIsXG4gICAgICAgIGtleTogXCJyZXNwb25zZV9zdGF0dXNfY29kZVwiLFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IHtcbiAgICAgICAgICBpZiAoIXYpIHJldHVybiBjb2xvcnMuZGltKFwiLVwiKTtcbiAgICAgICAgICBjb25zdCBjb2RlID0gTnVtYmVyKHYpO1xuICAgICAgICAgIHJldHVybiBjb2RlID49IDIwMCAmJiBjb2RlIDwgMzAwXG4gICAgICAgICAgICA/IGNvbG9ycy5zdWNjZXNzKFN0cmluZyhjb2RlKSlcbiAgICAgICAgICAgIDogY29sb3JzLmVycm9yKFN0cmluZyhjb2RlKSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiUmVzcG9uc2UgVGltZVwiLFxuICAgICAgICBrZXk6IFwicmVzcG9uc2VfdGltZVwiLFxuICAgICAgICB3aWR0aDogMTQsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+ICh2ID8gYCR7dn1tc2AgOiBjb2xvcnMuZGltKFwiLVwiKSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiQ3JlYXRlZFwiLFxuICAgICAgICBrZXk6IFwiY3JlYXRlZF9hdFwiLFxuICAgICAgICB3aWR0aDogMTYsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGZvcm1hdERhdGUoU3RyaW5nKHYpKSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICAvLyBTaG93IGZhaWxlZCBkZWxpdmVyeSBkZXRhaWxzXG4gICAgY29uc3QgZmFpbGVkID0gZGVsaXZlcmllcy5maWx0ZXIoXG4gICAgICAoZCkgPT4gZC5zdGF0dXMgPT09IFwiZmFpbGVkXCIgJiYgZC5lcnJvcl9tZXNzYWdlLFxuICAgICk7XG4gICAgaWYgKGZhaWxlZC5sZW5ndGggPiAwICYmICFmbGFnc1tcImZhaWxlZC1vbmx5XCJdKSB7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coY29sb3JzLmVycm9yKFwiRmFpbGVkIGRlbGl2ZXJpZXM6XCIpKTtcbiAgICAgIGZhaWxlZC5mb3JFYWNoKChkZWxpdmVyeSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBjb2xvcnMuZGltKGAgICR7ZGVsaXZlcnkuaWQuc2xpY2UoMCwgMTUpfS4uLjpgKSxcbiAgICAgICAgICBkZWxpdmVyeS5lcnJvcl9tZXNzYWdlIHx8IFwiVW5rbm93biBlcnJvclwiLFxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gU2hvdyBwZW5kaW5nIHJldHJpZXNcbiAgICBjb25zdCBwZW5kaW5nID0gZGVsaXZlcmllcy5maWx0ZXIoXG4gICAgICAoZCkgPT4gZC5zdGF0dXMgPT09IFwicGVuZGluZ1wiICYmIGQubmV4dF9yZXRyeV9hdCxcbiAgICApO1xuICAgIGlmIChwZW5kaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMud2FybmluZyhcIlBlbmRpbmcgcmV0cmllczpcIikpO1xuICAgICAgcGVuZGluZy5mb3JFYWNoKChkZWxpdmVyeSkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICBjb2xvcnMuZGltKGAgICR7ZGVsaXZlcnkuaWQuc2xpY2UoMCwgMTUpfS4uLjpgKSxcbiAgICAgICAgICBgTmV4dCByZXRyeSBhdCAke2Zvcm1hdERhdGUoZGVsaXZlcnkubmV4dF9yZXRyeV9hdCEpfWAsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9kZWxpdmVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEdBQ1gsTUFBTSxxQkFBcUIsQ0FBQztBQXlCN0IsTUFBTSxDQUFDLE9BQU8sT0FBTyxrQkFBbUIsU0FBUSxvQkFBb0I7SUFDbEUsTUFBTSxDQUFDLFdBQVcsR0FBRywrQkFBK0IsQ0FBQztJQUVyRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGtEQUFrRDtRQUNsRCw2REFBNkQ7UUFDN0QsZ0VBQWdFO1FBQ2hFLHlEQUF5RDtLQUMxRCxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLFlBQVk7WUFDekIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDbkIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLE9BQU8sRUFBRSxFQUFFO1NBQ1osQ0FBQztRQUNGLGFBQWEsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzNCLFdBQVcsRUFBRSw2QkFBNkI7WUFDMUMsT0FBTyxFQUFFLEtBQUs7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUU3RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQztZQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDMUIsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUNsRCxDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxNQUFNLFNBQVMsQ0FBQyxHQUFHLENBQ2xDLG9CQUFvQixJQUFJLENBQUMsRUFBRSxlQUFlLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUM5RCxDQUFDO1FBRUYsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFFN0MsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FDRixLQUFLLENBQUMsYUFBYSxDQUFDO2dCQUNsQixDQUFDLENBQUMsNEJBQTRCO2dCQUM5QixDQUFDLENBQUMscUJBQXFCLENBQzFCLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLEdBQUcsQ0FDUixXQUFXLFVBQVUsQ0FBQyxNQUFNLDJCQUEyQixJQUFJLENBQUMsRUFBRSxFQUFFLENBQ2pFLENBQ0YsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVkLHlDQUF5QztRQUN6QyxNQUFNLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsR0FBRyxDQUFDO1lBQ0osY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRTtTQUM3RCxDQUFDLENBQUMsQ0FBQztRQUVKLEtBQUssQ0FBQyxzQkFBc0IsRUFBRTtZQUM1QjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQzthQUM3RDtZQUNEO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLEdBQUcsRUFBRSxZQUFZO2dCQUNqQixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQzthQUNwRDtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixHQUFHLEVBQUUsUUFBUTtnQkFDYixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDZixRQUFRLENBQUMsRUFBRSxDQUFDO3dCQUNWLEtBQUssV0FBVzs0QkFDZCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQ3JDLEtBQUssUUFBUTs0QkFDWCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ2hDLEtBQUssU0FBUzs0QkFDWixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7d0JBQ25DLEtBQUssV0FBVzs0QkFDZCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQ2pDOzRCQUNFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQixDQUFDO2dCQUNILENBQUM7YUFDRjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixHQUFHLEVBQUUsZ0JBQWdCO2dCQUNyQixLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLEdBQUcsRUFBRSxzQkFBc0I7Z0JBQzNCLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNmLElBQUksQ0FBQyxDQUFDO3dCQUFFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDL0IsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixPQUFPLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxHQUFHLEdBQUc7d0JBQzlCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7YUFDRjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixHQUFHLEVBQUUsZUFBZTtnQkFDcEIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuRDtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixHQUFHLEVBQUUsWUFBWTtnQkFDakIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3hDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsK0JBQStCO1FBQy9CLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUNoRCxDQUFDO1FBQ0YsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7WUFDaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUMxQixPQUFPLENBQUMsR0FBRyxDQUNULE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUMvQyxRQUFRLENBQUMsYUFBYSxJQUFJLGVBQWUsQ0FDMUMsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELHVCQUF1QjtRQUN2QixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUMvQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLGFBQWEsQ0FDakQsQ0FBQztRQUNGLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDM0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFDL0MsaUJBQWlCLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYyxDQUFDLEVBQUUsQ0FDdkQsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAganNvbixcbiAgaW5mbyxcbiAgY29sb3JzLFxuICBmb3JtYXREYXRlLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgV2ViaG9va0RlbGl2ZXJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgZXZlbnRfdHlwZTogc3RyaW5nO1xuICBhdHRlbXB0X251bWJlcjogbnVtYmVyO1xuICBtYXhfYXR0ZW1wdHM/OiBudW1iZXI7XG4gIHN0YXR1czogXCJwZW5kaW5nXCIgfCBcImRlbGl2ZXJlZFwiIHwgXCJmYWlsZWRcIiB8IFwiY2FuY2VsbGVkXCI7XG4gIHJlc3BvbnNlX3N0YXR1c19jb2RlPzogbnVtYmVyO1xuICByZXNwb25zZV90aW1lPzogbnVtYmVyO1xuICBlcnJvcl9tZXNzYWdlPzogc3RyaW5nO1xuICBlcnJvcl9jb2RlPzogc3RyaW5nO1xuICBuZXh0X3JldHJ5X2F0Pzogc3RyaW5nO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG4gIGRlbGl2ZXJlZF9hdD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIERlbGl2ZXJpZXNSZXNwb25zZSB7XG4gIGRlbGl2ZXJpZXM6IFdlYmhvb2tEZWxpdmVyeVtdO1xuICBwYWdpbmF0aW9uOiB7XG4gICAgbGltaXQ6IG51bWJlcjtcbiAgICBvZmZzZXQ6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2ViaG9va3NEZWxpdmVyaWVzIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlZpZXcgd2ViaG9vayBkZWxpdmVyeSBoaXN0b3J5XCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgZGVsaXZlcmllcyB3aGtfYWJjMTIzXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyBkZWxpdmVyaWVzIHdoa19hYmMxMjMgLS1saW1pdCAyMFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgZGVsaXZlcmllcyB3aGtfYWJjMTIzIC0tZmFpbGVkLW9ubHlcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGRlbGl2ZXJpZXMgd2hrX2FiYzEyMyAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiV2ViaG9vayBJRFwiLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgICBsaW1pdDogRmxhZ3MuaW50ZWdlcih7XG4gICAgICBjaGFyOiBcImxcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIk51bWJlciBvZiBkZWxpdmVyaWVzIHRvIHNob3dcIixcbiAgICAgIGRlZmF1bHQ6IDEwLFxuICAgIH0pLFxuICAgIFwiZmFpbGVkLW9ubHlcIjogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBkZXNjcmlwdGlvbjogXCJTaG93IG9ubHkgZmFpbGVkIGRlbGl2ZXJpZXNcIixcbiAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFdlYmhvb2tzRGVsaXZlcmllcyk7XG5cbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIGxpbWl0OiBTdHJpbmcoZmxhZ3MubGltaXQpLFxuICAgICAgLi4uKGZsYWdzW1wiZmFpbGVkLW9ubHlcIl0gJiYgeyBzdGF0dXM6IFwiZmFpbGVkXCIgfSksXG4gICAgfSk7XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8RGVsaXZlcmllc1Jlc3BvbnNlPihcbiAgICAgIGAvYXBpL3YxL3dlYmhvb2tzLyR7YXJncy5pZH0vZGVsaXZlcmllcz8ke3BhcmFtcy50b1N0cmluZygpfWAsXG4gICAgKTtcblxuICAgIGNvbnN0IGRlbGl2ZXJpZXMgPSByZXNwb25zZS5kZWxpdmVyaWVzIHx8IFtdO1xuXG4gICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAganNvbihyZXNwb25zZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRlbGl2ZXJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBpbmZvKFxuICAgICAgICBmbGFnc1tcImZhaWxlZC1vbmx5XCJdXG4gICAgICAgICAgPyBcIk5vIGZhaWxlZCBkZWxpdmVyaWVzIGZvdW5kXCJcbiAgICAgICAgICA6IFwiTm8gZGVsaXZlcmllcyBmb3VuZFwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgYFNob3dpbmcgJHtkZWxpdmVyaWVzLmxlbmd0aH0gZGVsaXZlcmllcyBmb3Igd2ViaG9vayAke2FyZ3MuaWR9YCxcbiAgICAgICksXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gQWRkIGNvbXB1dGVkIGZpZWxkcyBmb3IgYmV0dGVyIGRpc3BsYXlcbiAgICBjb25zdCBkZWxpdmVyaWVzV2l0aENvbXB1dGVkID0gZGVsaXZlcmllcy5tYXAoKGQpID0+ICh7XG4gICAgICAuLi5kLFxuICAgICAgYXR0ZW1wdERpc3BsYXk6IGAke2QuYXR0ZW1wdF9udW1iZXJ9LyR7ZC5tYXhfYXR0ZW1wdHMgfHwgM31gLFxuICAgIH0pKTtcblxuICAgIHRhYmxlKGRlbGl2ZXJpZXNXaXRoQ29tcHV0ZWQsIFtcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIkRlbGl2ZXJ5IElEXCIsXG4gICAgICAgIGtleTogXCJpZFwiLFxuICAgICAgICB3aWR0aDogMTgsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5kaW0oU3RyaW5nKHYpLnNsaWNlKDAsIDE1KSArIFwiLi4uXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIkV2ZW50XCIsXG4gICAgICAgIGtleTogXCJldmVudF90eXBlXCIsXG4gICAgICAgIHdpZHRoOiAxNSxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gU3RyaW5nKHYpLnJlcGxhY2UoXCJtZXNzYWdlLlwiLCBcIlwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJTdGF0dXNcIixcbiAgICAgICAga2V5OiBcInN0YXR1c1wiLFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJkZWxpdmVyZWRcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5zdWNjZXNzKFwiZGVsaXZlcmVkXCIpO1xuICAgICAgICAgICAgY2FzZSBcImZhaWxlZFwiOlxuICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLmVycm9yKFwiZmFpbGVkXCIpO1xuICAgICAgICAgICAgY2FzZSBcInBlbmRpbmdcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy53YXJuaW5nKFwicGVuZGluZ1wiKTtcbiAgICAgICAgICAgIGNhc2UgXCJjYW5jZWxsZWRcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5kaW0oXCJjYW5jZWxsZWRcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJBdHRlbXB0XCIsXG4gICAgICAgIGtleTogXCJhdHRlbXB0RGlzcGxheVwiLFxuICAgICAgICB3aWR0aDogMTAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiU3RhdHVzIENvZGVcIixcbiAgICAgICAga2V5OiBcInJlc3BvbnNlX3N0YXR1c19jb2RlXCIsXG4gICAgICAgIHdpZHRoOiAxMixcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4ge1xuICAgICAgICAgIGlmICghdikgcmV0dXJuIGNvbG9ycy5kaW0oXCItXCIpO1xuICAgICAgICAgIGNvbnN0IGNvZGUgPSBOdW1iZXIodik7XG4gICAgICAgICAgcmV0dXJuIGNvZGUgPj0gMjAwICYmIGNvZGUgPCAzMDBcbiAgICAgICAgICAgID8gY29sb3JzLnN1Y2Nlc3MoU3RyaW5nKGNvZGUpKVxuICAgICAgICAgICAgOiBjb2xvcnMuZXJyb3IoU3RyaW5nKGNvZGUpKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJSZXNwb25zZSBUaW1lXCIsXG4gICAgICAgIGtleTogXCJyZXNwb25zZV90aW1lXCIsXG4gICAgICAgIHdpZHRoOiAxNCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gKHYgPyBgJHt2fW1zYCA6IGNvbG9ycy5kaW0oXCItXCIpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJDcmVhdGVkXCIsXG4gICAgICAgIGtleTogXCJjcmVhdGVkX2F0XCIsXG4gICAgICAgIHdpZHRoOiAxNixcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gZm9ybWF0RGF0ZShTdHJpbmcodikpLFxuICAgICAgfSxcbiAgICBdKTtcblxuICAgIC8vIFNob3cgZmFpbGVkIGRlbGl2ZXJ5IGRldGFpbHNcbiAgICBjb25zdCBmYWlsZWQgPSBkZWxpdmVyaWVzLmZpbHRlcihcbiAgICAgIChkKSA9PiBkLnN0YXR1cyA9PT0gXCJmYWlsZWRcIiAmJiBkLmVycm9yX21lc3NhZ2UsXG4gICAgKTtcbiAgICBpZiAoZmFpbGVkLmxlbmd0aCA+IDAgJiYgIWZsYWdzW1wiZmFpbGVkLW9ubHlcIl0pIHtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZXJyb3IoXCJGYWlsZWQgZGVsaXZlcmllczpcIikpO1xuICAgICAgZmFpbGVkLmZvckVhY2goKGRlbGl2ZXJ5KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGNvbG9ycy5kaW0oYCAgJHtkZWxpdmVyeS5pZC5zbGljZSgwLCAxNSl9Li4uOmApLFxuICAgICAgICAgIGRlbGl2ZXJ5LmVycm9yX21lc3NhZ2UgfHwgXCJVbmtub3duIGVycm9yXCIsXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBTaG93IHBlbmRpbmcgcmV0cmllc1xuICAgIGNvbnN0IHBlbmRpbmcgPSBkZWxpdmVyaWVzLmZpbHRlcihcbiAgICAgIChkKSA9PiBkLnN0YXR1cyA9PT0gXCJwZW5kaW5nXCIgJiYgZC5uZXh0X3JldHJ5X2F0LFxuICAgICk7XG4gICAgaWYgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy53YXJuaW5nKFwiUGVuZGluZyByZXRyaWVzOlwiKSk7XG4gICAgICBwZW5kaW5nLmZvckVhY2goKGRlbGl2ZXJ5KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGNvbG9ycy5kaW0oYCAgJHtkZWxpdmVyeS5pZC5zbGljZSgwLCAxNSl9Li4uOmApLFxuICAgICAgICAgIGBOZXh0IHJldHJ5IGF0ICR7Zm9ybWF0RGF0ZShkZWxpdmVyeS5uZXh0X3JldHJ5X2F0ISl9YCxcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -73,23 +73,35 @@ export default class WebhooksList extends AuthenticatedCommand {
73
73
  formatter: (v) => v ? colors.success("active") : colors.error("disabled"),
74
74
  },
75
75
  {
76
- header: "Circuit",
77
- key: "circuit_state",
78
- width: 10,
76
+ header: "Success",
77
+ key: "success_rate",
78
+ width: 8,
79
79
  formatter: (v) => {
80
- switch (v) {
81
- case "closed":
82
- return colors.success("closed");
83
- case "open":
84
- return colors.error("open");
85
- case "half_open":
86
- return colors.warning("half_open");
87
- default:
88
- return String(v);
89
- }
80
+ if (v === 0 || v === undefined)
81
+ return colors.dim("");
82
+ const rate = Number(v);
83
+ if (rate >= 90)
84
+ return colors.success(`${rate}%`);
85
+ if (rate >= 50)
86
+ return colors.warning(`${rate}%`);
87
+ return colors.error(`${rate}%`);
88
+ },
89
+ },
90
+ {
91
+ header: "Last Delivery",
92
+ key: "last_delivery_at",
93
+ width: 14,
94
+ formatter: (v) => {
95
+ if (!v)
96
+ return colors.dim("Never");
97
+ const date = new Date(String(v));
98
+ return date.toLocaleDateString("en-US", {
99
+ month: "short",
100
+ day: "numeric",
101
+ });
90
102
  },
91
103
  },
92
104
  ]);
93
105
  }
94
106
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBRUosTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBZ0I3QixNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxvQkFBb0I7SUFDNUQsTUFBTSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztJQUVoRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGlDQUFpQztRQUNqQyx3Q0FBd0M7S0FDekMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7S0FDbEMsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFZLGtCQUFrQixDQUFDLENBQUM7UUFFcEUsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQy9CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUUsT0FBTyxDQUFDLEdBQUcsQ0FDVCwwQkFBMEIsTUFBTSxDQUFDLElBQUks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OzRCQUNFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNyQixDQUFDO2dCQUNILENBQUM7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHRhYmxlLFxuICBqc29uLFxuICBpbmZvLFxuICBmb3JtYXRTdGF0dXMsXG4gIGNvbG9ycyxcbiAgaXNKc29uTW9kZSxcbn0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxudHlwZSBXZWJob29rTW9kZSA9IFwiYWxsXCIgfCBcInRlc3RcIiB8IFwibGl2ZVwiO1xuXG5pbnRlcmZhY2UgV2ViaG9vayB7XG4gIGlkOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZXZlbnRzOiBzdHJpbmdbXTtcbiAgbW9kZTogV2ViaG9va01vZGU7XG4gIGlzX2FjdGl2ZTogYm9vbGVhbjtcbiAgZmFpbHVyZV9jb3VudDogbnVtYmVyO1xuICBjaXJjdWl0X3N0YXRlOiBcImNsb3NlZFwiIHwgXCJvcGVuXCIgfCBcImhhbGZfb3BlblwiO1xuICBjcmVhdGVkX2F0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYmhvb2tzTGlzdCBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJMaXN0IGNvbmZpZ3VyZWQgd2ViaG9va3NcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyBsaXN0XCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyBsaXN0IC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHdlYmhvb2tzID0gYXdhaXQgYXBpQ2xpZW50LmdldDxXZWJob29rW10+KFwiL2FwaS92MS93ZWJob29rc1wiKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24od2ViaG9va3MpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh3ZWJob29rcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGluZm8oXCJObyB3ZWJob29rcyBjb25maWd1cmVkXCIpO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGAgIENyZWF0ZSBvbmUgd2l0aCAke2NvbG9ycy5jb2RlKFwic2VuZGx5IHdlYmhvb2tzIGNyZWF0ZVwiKX1gKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBgICBPciB0ZXN0IGxvY2FsbHkgd2l0aCAke2NvbG9ycy5jb2RlKFwic2VuZGx5IHdlYmhvb2tzIGxpc3RlblwiKX1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgdGFibGUod2ViaG9va3MsIFtcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIklEXCIsXG4gICAgICAgIGtleTogXCJpZFwiLFxuICAgICAgICB3aWR0aDogMTgsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5kaW0oU3RyaW5nKHYpLnNsaWNlKDAsIDE1KSArIFwiLi4uXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIlVSTFwiLFxuICAgICAgICBrZXk6IFwidXJsXCIsXG4gICAgICAgIHdpZHRoOiAzMCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4ge1xuICAgICAgICAgIGNvbnN0IHVybCA9IFN0cmluZyh2KTtcbiAgICAgICAgICByZXR1cm4gdXJsLmxlbmd0aCA+IDI3ID8gdXJsLnNsaWNlKDAsIDI3KSArIFwiLi4uXCIgOiB1cmw7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiRXZlbnRzXCIsXG4gICAgICAgIGtleTogXCJldmVudHNcIixcbiAgICAgICAgd2lkdGg6IDEyLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnRzID0gdiBhcyBzdHJpbmdbXTtcbiAgICAgICAgICByZXR1cm4gZXZlbnRzLmxlbmd0aCA+IDJcbiAgICAgICAgICAgID8gYCR7ZXZlbnRzLmxlbmd0aH0gZXZlbnRzYFxuICAgICAgICAgICAgOiBldmVudHMuam9pbihcIiwgXCIpLnJlcGxhY2UoL21lc3NhZ2VcXC4vZywgXCJcIik7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiTW9kZVwiLFxuICAgICAgICBrZXk6IFwibW9kZVwiLFxuICAgICAgICB3aWR0aDogNixcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4ge1xuICAgICAgICAgIHN3aXRjaCAodikge1xuICAgICAgICAgICAgY2FzZSBcInRlc3RcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy53YXJuaW5nKFwidGVzdFwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJsaXZlXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhcImxpdmVcIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLmRpbShcImFsbFwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiU3RhdHVzXCIsXG4gICAgICAgIGtleTogXCJpc19hY3RpdmVcIixcbiAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PlxuICAgICAgICAgIHYgPyBjb2xvcnMuc3VjY2VzcyhcImFjdGl2ZVwiKSA6IGNvbG9ycy5lcnJvcihcImRpc2FibGVkXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIkNpcmN1aXRcIixcbiAgICAgICAga2V5OiBcImNpcmN1aXRfc3RhdGVcIixcbiAgICAgICAgd2lkdGg6IDEwLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiY2xvc2VkXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuc3VjY2VzcyhcImNsb3NlZFwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJvcGVuXCI6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuZXJyb3IoXCJvcGVuXCIpO1xuICAgICAgICAgICAgY2FzZSBcImhhbGZfb3BlblwiOlxuICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLndhcm5pbmcoXCJoYWxmX29wZW5cIik7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZXR1cm4gU3RyaW5nKHYpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH1cbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsS0FBSyxFQUNMLElBQUksRUFDSixJQUFJLEVBRUosTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBbUI3QixNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxvQkFBb0I7SUFDNUQsTUFBTSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQztJQUVoRCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGlDQUFpQztRQUNqQyx3Q0FBd0M7S0FDekMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7S0FDbEMsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFZLGtCQUFrQixDQUFDLENBQUM7UUFFcEUsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQy9CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUUsT0FBTyxDQUFDLEdBQUcsQ0FDVCwwQkFBMEIsTUFBTSxDQUFDLElBQUks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QztvQkFDbEQsSUFBSSxJQUFJLElBQUksRUFBRTt3QkFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO29CQUNsRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDO2FBQ0Y7WUFDRDtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsR0FBRyxFQUFFLGtCQUFrQjtnQkFDdkIsS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2YsSUFBSSxDQUFDLENBQUM7d0JBQUUsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNuQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDakMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO3dCQUN0QyxLQUFLLEVBQUUsT0FBTzt3QkFDZCxHQUFHLEVBQUUsU0FBUztxQkFDZixDQUFDLENBQUM7Z0JBQ0wsQ0FBQzthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgdGFibGUsXG4gIGpzb24sXG4gIGluZm8sXG4gIGZvcm1hdFN0YXR1cyxcbiAgY29sb3JzLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG50eXBlIFdlYmhvb2tNb2RlID0gXCJhbGxcIiB8IFwidGVzdFwiIHwgXCJsaXZlXCI7XG5cbmludGVyZmFjZSBXZWJob29rIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBldmVudHM6IHN0cmluZ1tdO1xuICBtb2RlOiBXZWJob29rTW9kZTtcbiAgaXNfYWN0aXZlOiBib29sZWFuO1xuICBmYWlsdXJlX2NvdW50OiBudW1iZXI7XG4gIGNpcmN1aXRfc3RhdGU6IFwiY2xvc2VkXCIgfCBcIm9wZW5cIiB8IFwiaGFsZl9vcGVuXCI7XG4gIHRvdGFsX2RlbGl2ZXJpZXM6IG51bWJlcjtcbiAgc3VjY2Vzc19yYXRlOiBudW1iZXI7XG4gIGxhc3RfZGVsaXZlcnlfYXQ6IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZWRfYXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2ViaG9va3NMaXN0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkxpc3QgY29uZmlndXJlZCB3ZWJob29rc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGxpc3RcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIGxpc3QgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgd2ViaG9va3MgPSBhd2FpdCBhcGlDbGllbnQuZ2V0PFdlYmhvb2tbXT4oXCIvYXBpL3YxL3dlYmhvb2tzXCIpO1xuXG4gICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAganNvbih3ZWJob29rcyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHdlYmhvb2tzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5mbyhcIk5vIHdlYmhvb2tzIGNvbmZpZ3VyZWRcIik7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coYCAgQ3JlYXRlIG9uZSB3aXRoICR7Y29sb3JzLmNvZGUoXCJzZW5kbHkgd2ViaG9va3MgY3JlYXRlXCIpfWApO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGAgIE9yIHRlc3QgbG9jYWxseSB3aXRoICR7Y29sb3JzLmNvZGUoXCJzZW5kbHkgd2ViaG9va3MgbGlzdGVuXCIpfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICB0YWJsZSh3ZWJob29rcywgW1xuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiSURcIixcbiAgICAgICAga2V5OiBcImlkXCIsXG4gICAgICAgIHdpZHRoOiAxOCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gY29sb3JzLmRpbShTdHJpbmcodikuc2xpY2UoMCwgMTUpICsgXCIuLi5cIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiVVJMXCIsXG4gICAgICAgIGtleTogXCJ1cmxcIixcbiAgICAgICAgd2lkdGg6IDMwLFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgY29uc3QgdXJsID0gU3RyaW5nKHYpO1xuICAgICAgICAgIHJldHVybiB1cmwubGVuZ3RoID4gMjcgPyB1cmwuc2xpY2UoMCwgMjcpICsgXCIuLi5cIiA6IHVybDtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJFdmVudHNcIixcbiAgICAgICAga2V5OiBcImV2ZW50c1wiLFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IHtcbiAgICAgICAgICBjb25zdCBldmVudHMgPSB2IGFzIHN0cmluZ1tdO1xuICAgICAgICAgIHJldHVybiBldmVudHMubGVuZ3RoID4gMlxuICAgICAgICAgICAgPyBgJHtldmVudHMubGVuZ3RofSBldmVudHNgXG4gICAgICAgICAgICA6IGV2ZW50cy5qb2luKFwiLCBcIikucmVwbGFjZSgvbWVzc2FnZVxcLi9nLCBcIlwiKTtcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJNb2RlXCIsXG4gICAgICAgIGtleTogXCJtb2RlXCIsXG4gICAgICAgIHdpZHRoOiA2LFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwidGVzdFwiOlxuICAgICAgICAgICAgICByZXR1cm4gY29sb3JzLndhcm5pbmcoXCJ0ZXN0XCIpO1xuICAgICAgICAgICAgY2FzZSBcImxpdmVcIjpcbiAgICAgICAgICAgICAgcmV0dXJuIGNvbG9ycy5zdWNjZXNzKFwibGl2ZVwiKTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBjb2xvcnMuZGltKFwiYWxsXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJTdGF0dXNcIixcbiAgICAgICAga2V5OiBcImlzX2FjdGl2ZVwiLFxuICAgICAgICB3aWR0aDogMTAsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+XG4gICAgICAgICAgdiA/IGNvbG9ycy5zdWNjZXNzKFwiYWN0aXZlXCIpIDogY29sb3JzLmVycm9yKFwiZGlzYWJsZWRcIiksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiU3VjY2Vzc1wiLFxuICAgICAgICBrZXk6IFwic3VjY2Vzc19yYXRlXCIsXG4gICAgICAgIHdpZHRoOiA4LFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgaWYgKHYgPT09IDAgfHwgdiA9PT0gdW5kZWZpbmVkKSByZXR1cm4gY29sb3JzLmRpbShcIuKAlFwiKTtcbiAgICAgICAgICBjb25zdCByYXRlID0gTnVtYmVyKHYpO1xuICAgICAgICAgIGlmIChyYXRlID49IDkwKSByZXR1cm4gY29sb3JzLnN1Y2Nlc3MoYCR7cmF0ZX0lYCk7XG4gICAgICAgICAgaWYgKHJhdGUgPj0gNTApIHJldHVybiBjb2xvcnMud2FybmluZyhgJHtyYXRlfSVgKTtcbiAgICAgICAgICByZXR1cm4gY29sb3JzLmVycm9yKGAke3JhdGV9JWApO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIkxhc3QgRGVsaXZlcnlcIixcbiAgICAgICAga2V5OiBcImxhc3RfZGVsaXZlcnlfYXRcIixcbiAgICAgICAgd2lkdGg6IDE0LFxuICAgICAgICBmb3JtYXR0ZXI6ICh2KSA9PiB7XG4gICAgICAgICAgaWYgKCF2KSByZXR1cm4gY29sb3JzLmRpbShcIk5ldmVyXCIpO1xuICAgICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShTdHJpbmcodikpO1xuICAgICAgICAgIHJldHVybiBkYXRlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImVuLVVTXCIsIHtcbiAgICAgICAgICAgIG1vbnRoOiBcInNob3J0XCIsXG4gICAgICAgICAgICBkYXk6IFwibnVtZXJpY1wiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxufVxuIl19
@@ -60,18 +60,20 @@ export default class WebhooksRotateSecret extends AuthenticatedCommand {
60
60
  json(result);
61
61
  return;
62
62
  }
63
+ const secretValue = result.new_secret || result.secret || "";
64
+ const gracePeriod = result.grace_period_hours || 24;
63
65
  success("Webhook secret rotated", {
64
- "Webhook ID": result.id,
65
- "Secret Version": `${webhook.secret_version} → ${result.new_secret_version}`,
66
- "Grace Period": `${result.grace_period_hours} hours`,
67
- "Rotated At": result.rotated_at,
66
+ "Webhook ID": result.id || args.id,
67
+ "Secret Version": `${webhook.secret_version || 1} → ${result.new_secret_version || "new"}`,
68
+ "Grace Period": `${gracePeriod} hours`,
69
+ "Rotated At": result.rotated_at || new Date().toISOString(),
68
70
  });
69
71
  console.log();
70
72
  warn("Copy your new webhook secret now. The old secret will expire in 24 hours!");
71
- codeBlock(result.new_secret);
73
+ codeBlock(secretValue);
72
74
  console.log();
73
75
  console.log(colors.dim("Update your application with this new secret for webhook signature verification."));
74
- console.log(colors.dim(`The old secret will remain valid for ${result.grace_period_hours} hours to allow for graceful migration.`));
76
+ console.log(colors.dim(`The old secret will remain valid for ${gracePeriod} hours to allow for graceful migration.`));
75
77
  }
76
78
  catch (err) {
77
79
  if (err instanceof Error) {
@@ -84,4 +86,4 @@ export default class WebhooksRotateSecret extends AuthenticatedCommand {
84
86
  }
85
87
  }
86
88
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlLXNlY3JldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9yb3RhdGUtc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsT0FBTyxFQUNQLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBVWhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQXFCLFNBQVEsb0JBQW9CO0lBQ3BFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUM7SUFFN0MsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQixxREFBcUQ7UUFDckQsMkRBQTJEO1FBQzNELDREQUE0RDtLQUM3RCxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLFlBQVk7WUFDekIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsMEJBQTBCO1lBQ3ZDLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJ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QUNOLEtBQUssQ0FBQyw0QkFBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJncywgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgc3VjY2VzcyxcbiAgd2FybixcbiAgZXJyb3IsXG4gIGpzb24sXG4gIGNvbG9ycyxcbiAgY29kZUJsb2NrLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuaW1wb3J0IGlucXVpcmVyIGZyb20gXCJpbnF1aXJlclwiO1xuXG5pbnRlcmZhY2UgUm90YXRlU2VjcmV0UmVzcG9uc2Uge1xuICBpZDogc3RyaW5nO1xuICBuZXdfc2VjcmV0OiBzdHJpbmc7XG4gIG5ld19zZWNyZXRfdmVyc2lvbjogbnVtYmVyO1xuICBncmFjZV9wZXJpb2RfaG91cnM6IG51bWJlcjtcbiAgcm90YXRlZF9hdDogc3RyaW5nO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJob29rc1JvdGF0ZVNlY3JldCBleHRlbmRzIEF1dGhlbnRpY2F0ZWRDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJSb3RhdGUgd2ViaG9vayBzZWNyZXRcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyByb3RhdGUtc2VjcmV0IHdoa19hYmMxMjNcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIHJvdGF0ZS1zZWNyZXQgd2hrX2FiYzEyMyAtLXllc1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3Mgcm90YXRlLXNlY3JldCB3aGtfYWJjMTIzIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIGlkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogXCJXZWJob29rIElEXCIsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9KSxcbiAgfTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQXV0aGVudGljYXRlZENvbW1hbmQuYmFzZUZsYWdzLFxuICAgIHllczogRmxhZ3MuYm9vbGVhbih7XG4gICAgICBjaGFyOiBcInlcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlNraXAgY29uZmlybWF0aW9uIHByb21wdFwiLFxuICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoV2ViaG9va3NSb3RhdGVTZWNyZXQpO1xuXG4gICAgLy8gR2V0IHdlYmhvb2sgZGV0YWlscyBmb3IgY29uZmlybWF0aW9uXG4gICAgbGV0IHdlYmhvb2s7XG4gICAgdHJ5IHtcbiAgICAgIHdlYmhvb2sgPSBhd2FpdCBhcGlDbGllbnQuZ2V0PHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgdXJsOiBzdHJpbmc7XG4gICAgICAgIHNlY3JldF92ZXJzaW9uOiBudW1iZXI7XG4gICAgICB9PihgL2FwaS92MS93ZWJob29rcy8ke2FyZ3MuaWR9YCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBlcnJvcihgV2ViaG9vayBub3QgZm91bmQ6ICR7YXJncy5pZH1gKTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG5cbiAgICAvLyBDb25maXJtIHJvdGF0aW9uXG4gICAgaWYgKCFmbGFncy55ZXMgJiYgIWlzSnNvbk1vZGUoKSkge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMud2FybmluZyhcbiAgICAgICAgICBcIuKaoCBUaGlzIHdpbGwgcm90YXRlIHRoZSB3ZWJob29rIHNlY3JldCBhbmQgaW52YWxpZGF0ZSB0aGUgb2xkIG9uZSBhZnRlciAyNCBob3Vycy5cIixcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgY29sb3JzLmRpbShcIk1ha2Ugc3VyZSB0byB1cGRhdGUgeW91ciBhcHBsaWNhdGlvbiB3aXRoIHRoZSBuZXcgc2VjcmV0LlwiKSxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgICBjb25zdCB7IGNvbmZpcm0gfSA9IGF3YWl0IGlucXVpcmVyLnByb21wdChbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImNvbmZpcm1cIixcbiAgICAgICAgICBuYW1lOiBcImNvbmZpcm1cIixcbiAgICAgICAgICBtZXNzYWdlOiBgUm90YXRlIHNlY3JldCBmb3Igd2ViaG9vayAke2NvbG9ycy5jb2RlKGFyZ3MuaWQpfSAoJHtjb2xvcnMuZGltKHdlYmhvb2sudXJsKX0pP2AsXG4gICAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdKTtcblxuICAgICAgaWYgKCFjb25maXJtKSB7XG4gICAgICAgIGVycm9yKFwiU2VjcmV0IHJvdGF0aW9uIGNhbmNlbGxlZFwiKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcGlDbGllbnQucG9zdDxSb3RhdGVTZWNyZXRSZXNwb25zZT4oXG4gICAgICAgIGAvYXBpL3YxL3dlYmhvb2tzLyR7YXJncy5pZH0vcm90YXRlLXNlY3JldGAsXG4gICAgICApO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24ocmVzdWx0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdWNjZXNzKFwiV2ViaG9vayBzZWNyZXQgcm90YXRlZFwiLCB7XG4gICAgICAgIFwiV2ViaG9vayBJRFwiOiByZXN1bHQuaWQsXG4gICAgICAgIFwiU2VjcmV0IFZlcnNpb25cIjogYCR7d2ViaG9vay5zZWNyZXRfdmVyc2lvbn0g4oaSICR7cmVzdWx0Lm5ld19zZWNyZXRfdmVyc2lvbn1gLFxuICAgICAgICBcIkdyYWNlIFBlcmlvZFwiOiBgJHtyZXN1bHQuZ3JhY2VfcGVyaW9kX2hvdXJzfSBob3Vyc2AsXG4gICAgICAgIFwiUm90YXRlZCBBdFwiOiByZXN1bHQucm90YXRlZF9hdCxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgd2FybihcbiAgICAgICAgXCJDb3B5IHlvdXIgbmV3IHdlYmhvb2sgc2VjcmV0IG5vdy4gVGhlIG9sZCBzZWNyZXQgd2lsbCBleHBpcmUgaW4gMjQgaG91cnMhXCIsXG4gICAgICApO1xuICAgICAgY29kZUJsb2NrKHJlc3VsdC5uZXdfc2VjcmV0KTtcblxuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgIFwiVXBkYXRlIHlvdXIgYXBwbGljYXRpb24gd2l0aCB0aGlzIG5ldyBzZWNyZXQgZm9yIHdlYmhvb2sgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbi5cIixcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgY29sb3JzLmRpbShcbiAgICAgICAgICBgVGhlIG9sZCBzZWNyZXQgd2lsbCByZW1haW4gdmFsaWQgZm9yICR7cmVzdWx0LmdyYWNlX3BlcmlvZF9ob3Vyc30gaG91cnMgdG8gYWxsb3cgZm9yIGdyYWNlZnVsIG1pZ3JhdGlvbi5gLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBlcnJvcihgRmFpbGVkIHRvIHJvdGF0ZSBzZWNyZXQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcihgRmFpbGVkIHRvIHJvdGF0ZSBzZWNyZXQ6ICR7U3RyaW5nKGVycil9YCk7XG4gICAgICB9XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRlLXNlY3JldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy9yb3RhdGUtc2VjcmV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQ0wsT0FBTyxFQUNQLElBQUksRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLE1BQU0sRUFDTixTQUFTLEVBQ1QsVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBYWhDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQXFCLFNBQVEsb0JBQW9CO0lBQ3BFLE1BQU0sQ0FBQyxXQUFXLEdBQUcsdUJBQXVCLENBQUM7SUFFN0MsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQixxREFBcUQ7UUFDckQsMkRBQTJEO1FBQzNELDREQUE0RDtLQUM3RCxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLFlBQVk7WUFDekIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsR0FBRyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDakIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsMEJBQTBCO1lBQ3ZDLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQztLQUNILENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sRUFBRSxJ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LENBQzdGLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFLENBQUM7Z0JBQ3pCLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssQ0FBQyw0QkFBNEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLENBQUM7SUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJncywgRmxhZ3MgfSBmcm9tIFwiQG9jbGlmL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhlbnRpY2F0ZWRDb21tYW5kIH0gZnJvbSBcIi4uLy4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7IGFwaUNsaWVudCB9IGZyb20gXCIuLi8uLi9saWIvYXBpLWNsaWVudC5qc1wiO1xuaW1wb3J0IHtcbiAgc3VjY2VzcyxcbiAgd2FybixcbiAgZXJyb3IsXG4gIGpzb24sXG4gIGNvbG9ycyxcbiAgY29kZUJsb2NrLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuaW1wb3J0IGlucXVpcmVyIGZyb20gXCJpbnF1aXJlclwiO1xuXG5pbnRlcmZhY2UgUm90YXRlU2VjcmV0UmVzcG9uc2Uge1xuICBzdWNjZXNzPzogYm9vbGVhbjtcbiAgaWQ/OiBzdHJpbmc7XG4gIHNlY3JldD86IHN0cmluZztcbiAgbmV3X3NlY3JldD86IHN0cmluZztcbiAgbmV3X3NlY3JldF92ZXJzaW9uPzogbnVtYmVyO1xuICBncmFjZV9wZXJpb2RfaG91cnM/OiBudW1iZXI7XG4gIHJvdGF0ZWRfYXQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYmhvb2tzUm90YXRlU2VjcmV0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlJvdGF0ZSB3ZWJob29rIHNlY3JldFwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIHJvdGF0ZS1zZWNyZXQgd2hrX2FiYzEyM1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3Mgcm90YXRlLXNlY3JldCB3aGtfYWJjMTIzIC0teWVzXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyByb3RhdGUtc2VjcmV0IHdoa19hYmMxMjMgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIldlYmhvb2sgSURcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgeWVzOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGNoYXI6IFwieVwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiU2tpcCBjb25maXJtYXRpb24gcHJvbXB0XCIsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB9KSxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBhcmdzLCBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShXZWJob29rc1JvdGF0ZVNlY3JldCk7XG5cbiAgICAvLyBHZXQgd2ViaG9vayBkZXRhaWxzIGZvciBjb25maXJtYXRpb25cbiAgICBsZXQgd2ViaG9vaztcbiAgICB0cnkge1xuICAgICAgd2ViaG9vayA9IGF3YWl0IGFwaUNsaWVudC5nZXQ8e1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICB1cmw6IHN0cmluZztcbiAgICAgICAgc2VjcmV0X3ZlcnNpb246IG51bWJlcjtcbiAgICAgIH0+KGAvYXBpL3YxL3dlYmhvb2tzLyR7YXJncy5pZH1gKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGVycm9yKGBXZWJob29rIG5vdCBmb3VuZDogJHthcmdzLmlkfWApO1xuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cblxuICAgIC8vIENvbmZpcm0gcm90YXRpb25cbiAgICBpZiAoIWZsYWdzLnllcyAmJiAhaXNKc29uTW9kZSgpKSB7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGNvbG9ycy53YXJuaW5nKFxuICAgICAgICAgIFwi4pqgIFRoaXMgd2lsbCByb3RhdGUgdGhlIHdlYmhvb2sgc2VjcmV0IGFuZCBpbnZhbGlkYXRlIHRoZSBvbGQgb25lIGFmdGVyIDI0IGhvdXJzLlwiLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFwiTWFrZSBzdXJlIHRvIHVwZGF0ZSB5b3VyIGFwcGxpY2F0aW9uIHdpdGggdGhlIG5ldyBzZWNyZXQuXCIpLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICAgIGNvbnN0IHsgY29uZmlybSB9ID0gYXdhaXQgaW5xdWlyZXIucHJvbXB0KFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiY29uZmlybVwiLFxuICAgICAgICAgIG5hbWU6IFwiY29uZmlybVwiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBSb3RhdGUgc2VjcmV0IGZvciB3ZWJob29rICR7Y29sb3JzLmNvZGUoYXJncy5pZCl9ICgke2NvbG9ycy5kaW0od2ViaG9vay51cmwpfSk/YCxcbiAgICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIF0pO1xuXG4gICAgICBpZiAoIWNvbmZpcm0pIHtcbiAgICAgICAgZXJyb3IoXCJTZWNyZXQgcm90YXRpb24gY2FuY2VsbGVkXCIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGFwaUNsaWVudC5wb3N0PFJvdGF0ZVNlY3JldFJlc3BvbnNlPihcbiAgICAgICAgYC9hcGkvdjEvd2ViaG9va3MvJHthcmdzLmlkfS9yb3RhdGUtc2VjcmV0YCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgICAganNvbihyZXN1bHQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNlY3JldFZhbHVlID0gcmVzdWx0Lm5ld19zZWNyZXQgfHwgcmVzdWx0LnNlY3JldCB8fCBcIlwiO1xuICAgICAgY29uc3QgZ3JhY2VQZXJpb2QgPSByZXN1bHQuZ3JhY2VfcGVyaW9kX2hvdXJzIHx8IDI0O1xuXG4gICAgICBzdWNjZXNzKFwiV2ViaG9vayBzZWNyZXQgcm90YXRlZFwiLCB7XG4gICAgICAgIFwiV2ViaG9vayBJRFwiOiByZXN1bHQuaWQgfHwgYXJncy5pZCxcbiAgICAgICAgXCJTZWNyZXQgVmVyc2lvblwiOiBgJHt3ZWJob29rLnNlY3JldF92ZXJzaW9uIHx8IDF9IOKGkiAke3Jlc3VsdC5uZXdfc2VjcmV0X3ZlcnNpb24gfHwgXCJuZXdcIn1gLFxuICAgICAgICBcIkdyYWNlIFBlcmlvZFwiOiBgJHtncmFjZVBlcmlvZH0gaG91cnNgLFxuICAgICAgICBcIlJvdGF0ZWQgQXRcIjogcmVzdWx0LnJvdGF0ZWRfYXQgfHwgbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICB3YXJuKFxuICAgICAgICBcIkNvcHkgeW91ciBuZXcgd2ViaG9vayBzZWNyZXQgbm93LiBUaGUgb2xkIHNlY3JldCB3aWxsIGV4cGlyZSBpbiAyNCBob3VycyFcIixcbiAgICAgICk7XG4gICAgICBjb2RlQmxvY2soc2VjcmV0VmFsdWUpO1xuXG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGNvbG9ycy5kaW0oXG4gICAgICAgICAgXCJVcGRhdGUgeW91ciBhcHBsaWNhdGlvbiB3aXRoIHRoaXMgbmV3IHNlY3JldCBmb3Igd2ViaG9vayBzaWduYXR1cmUgdmVyaWZpY2F0aW9uLlwiLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICBjb2xvcnMuZGltKFxuICAgICAgICAgIGBUaGUgb2xkIHNlY3JldCB3aWxsIHJlbWFpbiB2YWxpZCBmb3IgJHtncmFjZVBlcmlvZH0gaG91cnMgdG8gYWxsb3cgZm9yIGdyYWNlZnVsIG1pZ3JhdGlvbi5gLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBlcnJvcihgRmFpbGVkIHRvIHJvdGF0ZSBzZWNyZXQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcihgRmFpbGVkIHRvIHJvdGF0ZSBzZWNyZXQ6ICR7U3RyaW5nKGVycil9YCk7XG4gICAgICB9XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -28,30 +28,31 @@ export default class WebhooksTest extends AuthenticatedCommand {
28
28
  json(result);
29
29
  return;
30
30
  }
31
- if (result.status === "delivered") {
31
+ const delivery = result.delivery;
32
+ if (result.success && delivery) {
32
33
  success("Test event delivered", {
33
- "Delivery ID": result.delivery_id,
34
- "Webhook URL": result.webhook_url,
35
- "Event Type": result.event_type,
36
- "Response Time": `${result.response_time}ms`,
37
- "Status Code": String(result.status_code),
38
- "Delivered At": result.delivered_at,
34
+ "Delivery ID": delivery.delivery_id,
35
+ "Webhook URL": delivery.webhook_url,
36
+ "Event Type": delivery.event_type,
37
+ "Response Time": `${delivery.response_time}ms`,
38
+ "Status Code": String(delivery.status_code),
39
+ "Delivered At": delivery.delivered_at || "Just now",
39
40
  });
40
- if (result.response_body) {
41
+ if (delivery.response_body) {
41
42
  console.log();
42
43
  console.log(colors.dim("Response Body:"));
43
- console.log(result.response_body.substring(0, 200) +
44
- (result.response_body.length > 200 ? "..." : ""));
44
+ console.log(delivery.response_body.substring(0, 200) +
45
+ (delivery.response_body.length > 200 ? "..." : ""));
45
46
  }
46
47
  }
47
48
  else {
48
49
  error("Test event failed", {
49
- "Delivery ID": result.delivery_id,
50
- "Webhook URL": result.webhook_url,
51
- Status: result.status,
52
- Error: result.error || "Unknown error",
53
- ...(result.status_code && {
54
- "Status Code": String(result.status_code),
50
+ "Delivery ID": delivery?.delivery_id || "N/A",
51
+ "Webhook URL": delivery?.webhook_url || "N/A",
52
+ Status: delivery?.status || "failed",
53
+ Error: delivery?.error || result.message || "Unknown error",
54
+ ...(delivery?.status_code && {
55
+ "Status Code": String(delivery.status_code),
55
56
  }),
56
57
  });
57
58
  }
@@ -73,4 +74,4 @@ export default class WebhooksTest extends AuthenticatedCommand {
73
74
  }
74
75
  }
75
76
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLEVBQ0osTUFBTSxFQUVOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBZTdCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBYSxTQUFRLG9CQUFvQjtJQUM1RCxNQUFNLENBQUMsV0FBVyxHQUFHLGdDQUFnQyxDQUFDO0lBRXRELE1BQU0sQ0FBQyxRQUFRLEdBQUc7UUFDaEIsNENBQTRDO1FBQzVDLG1EQUFtRDtLQUNwRCxDQUFDO0lBRUYsTUFBTSxDQUFDLElBQUksR0FBRztRQUNaLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ2QsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUM7S0FDSCxDQUFDO0lBRUYsTUFBTSxDQUFDLEtBQUssR0FBRztRQUNiLEdBQUcsb0JBQW9CLENBQUMsU0FBUztLQUNsQyxDQUFDO0lBRUYsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWhELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JELFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUVwQixJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sR0FBRyxNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQ2pDLG9CQUFvQixJQUFJLENBQUMsRUFBRSxPQUFPLENBQ25DLENBQUM7WUFFRixXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFbkIsSUFBSSxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2IsT0FBTztZQUNULENBQUM7WUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtvQkFDOUIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFdBQVc7b0JBQ2pDLFlBQVksRUFBRSxNQUFNLENBQUMsVUFBVTtvQkFDL0IsZUFBZSxFQUFFLEdBQUcsTUFBTSxDQUFDLGFBQWEsSUFBSTtvQkFDNUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDO29CQUN6QyxjQUFjLEVBQUUsTUFBTSxDQUFDLFlBQVk7aUJBQ3BDLENBQUMsQ0FBQztnQkFFSCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDekIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7b0JBQzFDLE9BQU8sQ0FBQyxHQUFHLENBQ1QsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQzt3QkFDcEMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQ25ELENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsbUJBQW1CLEVBQUU7b0JBQ3pCLGFBQWEsRUFBRSxNQUFNLENBQUMsV0FBVztvQkFDakMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxXQUFXO29CQUNqQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07b0JBQ3JCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLGVBQWU7b0JBQ3RDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJO3dCQUN4QixhQUFhLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUM7cUJBQzFDLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRW5CLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxDQUFDLDhCQUE4QixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDckQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssQ0FBQyw4QkFBOEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckQsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHN1Y2Nlc3MsXG4gIGVycm9yLFxuICBzcGlubmVyLFxuICBqc29uLFxuICBjb2xvcnMsXG4gIGtleVZhbHVlLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgVGVzdFdlYmhvb2tSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRlbGl2ZXJ5X2lkOiBzdHJpbmc7XG4gIHdlYmhvb2tfdXJsOiBzdHJpbmc7XG4gIGV2ZW50X3R5cGU6IHN0cmluZztcbiAgc3RhdHVzOiBzdHJpbmc7XG4gIHJlc3BvbnNlX3RpbWU6IG51bWJlcjtcbiAgc3RhdHVzX2NvZGU/OiBudW1iZXI7XG4gIHJlc3BvbnNlX2JvZHk/OiBzdHJpbmc7XG4gIGVycm9yPzogc3RyaW5nO1xuICBkZWxpdmVyZWRfYXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgV2ViaG9va3NUZXN0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlNlbmQgYSB0ZXN0IGV2ZW50IHRvIGEgd2ViaG9va1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIHRlc3Qgd2hrX2FiYzEyM1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdGVzdCB3aGtfYWJjMTIzIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBhcmdzID0ge1xuICAgIGlkOiBBcmdzLnN0cmluZyh7XG4gICAgICBkZXNjcmlwdGlvbjogXCJXZWJob29rIElEIHRvIHRlc3RcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShXZWJob29rc1Rlc3QpO1xuXG4gICAgY29uc3QgdGVzdFNwaW5uZXIgPSBzcGlubmVyKFwiU2VuZGluZyB0ZXN0IGV2ZW50Li4uXCIpO1xuICAgIHRlc3RTcGlubmVyLnN0YXJ0KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYXBpQ2xpZW50LnBvc3Q8VGVzdFdlYmhvb2tSZXNwb25zZT4oXG4gICAgICAgIGAvYXBpL3YxL3dlYmhvb2tzLyR7YXJncy5pZH0vdGVzdGAsXG4gICAgICApO1xuXG4gICAgICB0ZXN0U3Bpbm5lci5zdG9wKCk7XG5cbiAgICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgICAganNvbihyZXN1bHQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSBcImRlbGl2ZXJlZFwiKSB7XG4gICAgICAgIHN1Y2Nlc3MoXCJUZXN0IGV2ZW50IGRlbGl2ZXJlZFwiLCB7XG4gICAgICAgICAgXCJEZWxpdmVyeSBJRFwiOiByZXN1bHQuZGVsaXZlcnlfaWQsXG4gICAgICAgICAgXCJXZWJob29rIFVSTFwiOiByZXN1bHQud2ViaG9va191cmwsXG4gICAgICAgICAgXCJFdmVudCBUeXBlXCI6IHJlc3VsdC5ldmVudF90eXBlLFxuICAgICAgICAgIFwiUmVzcG9uc2UgVGltZVwiOiBgJHtyZXN1bHQucmVzcG9uc2VfdGltZX1tc2AsXG4gICAgICAgICAgXCJTdGF0dXMgQ29kZVwiOiBTdHJpbmcocmVzdWx0LnN0YXR1c19jb2RlKSxcbiAgICAgICAgICBcIkRlbGl2ZXJlZCBBdFwiOiByZXN1bHQuZGVsaXZlcmVkX2F0LFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzdWx0LnJlc3BvbnNlX2JvZHkpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCJSZXNwb25zZSBCb2R5OlwiKSk7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICByZXN1bHQucmVzcG9uc2VfYm9keS5zdWJzdHJpbmcoMCwgMjAwKSArXG4gICAgICAgICAgICAgIChyZXN1bHQucmVzcG9uc2VfYm9keS5sZW5ndGggPiAyMDAgPyBcIi4uLlwiIDogXCJcIiksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoXCJUZXN0IGV2ZW50IGZhaWxlZFwiLCB7XG4gICAgICAgICAgXCJEZWxpdmVyeSBJRFwiOiByZXN1bHQuZGVsaXZlcnlfaWQsXG4gICAgICAgICAgXCJXZWJob29rIFVSTFwiOiByZXN1bHQud2ViaG9va191cmwsXG4gICAgICAgICAgU3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgICAgICAgIEVycm9yOiByZXN1bHQuZXJyb3IgfHwgXCJVbmtub3duIGVycm9yXCIsXG4gICAgICAgICAgLi4uKHJlc3VsdC5zdGF0dXNfY29kZSAmJiB7XG4gICAgICAgICAgICBcIlN0YXR1cyBDb2RlXCI6IFN0cmluZyhyZXN1bHQuc3RhdHVzX2NvZGUpLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRlc3RTcGlubmVyLnN0b3AoKTtcblxuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgIGVycm9yKGBXZWJob29rIG5vdCBmb3VuZDogJHthcmdzLmlkfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgZXJyb3IoYEZhaWxlZCB0byBzZW5kIHRlc3QgZXZlbnQ6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXJyb3IoYEZhaWxlZCB0byBzZW5kIHRlc3QgZXZlbnQ6ICR7U3RyaW5nKGVycil9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy93ZWJob29rcy90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFDTCxPQUFPLEVBQ1AsS0FBSyxFQUNMLE9BQU8sRUFDUCxJQUFJLEVBQ0osTUFBTSxFQUVOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBcUI3QixNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxvQkFBb0I7SUFDNUQsTUFBTSxDQUFDLFdBQVcsR0FBRyxnQ0FBZ0MsQ0FBQztJQUV0RCxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDRDQUE0QztRQUM1QyxtREFBbUQ7S0FDcEQsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7S0FDbEMsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNyRCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUNqQyxvQkFBb0IsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUNuQyxDQUFDO1lBRUYsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRW5CLElBQUksVUFBVSxFQUFFLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUVqQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQy9CLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRTtvQkFDOUIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxXQUFXO29CQUNuQyxhQUFhLEVBQUUsUUFBUSxDQUFDLFdBQVc7b0JBQ25DLFlBQVksRUFBRSxRQUFRLENBQUMsVUFBVTtvQkFDakMsZUFBZSxFQUFFLEdBQUcsUUFBUSxDQUFDLGFBQWEsSUFBSTtvQkFDOUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO29CQUMzQyxjQUFjLEVBQUUsUUFBUSxDQUFDLFlBQVksSUFBSSxVQUFVO2lCQUNwRCxDQUFDLENBQUM7Z0JBRUgsSUFBSSxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzNCLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO29CQUMxQyxPQUFPLENBQUMsR0FBRyxDQUNULFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7d0JBQ3RDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNyRCxDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLG1CQUFtQixFQUFFO29CQUN6QixhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsSUFBSSxLQUFLO29CQUM3QyxhQUFhLEVBQUUsUUFBUSxFQUFFLFdBQVcsSUFBSSxLQUFLO29CQUM3QyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxRQUFRO29CQUNwQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLGVBQWU7b0JBQzNELEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxJQUFJO3dCQUMzQixhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7cUJBQzVDLENBQUM7aUJBQ0gsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1lBRW5CLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxDQUFDLDhCQUE4QixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDckQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssQ0FBQyw4QkFBOEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckQsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzIH0gZnJvbSBcIkBvY2xpZi9jb3JlXCI7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHN1Y2Nlc3MsXG4gIGVycm9yLFxuICBzcGlubmVyLFxuICBqc29uLFxuICBjb2xvcnMsXG4gIGtleVZhbHVlLFxuICBpc0pzb25Nb2RlLFxufSBmcm9tIFwiLi4vLi4vbGliL291dHB1dC5qc1wiO1xuXG5pbnRlcmZhY2UgVGVzdERlbGl2ZXJ5IHtcbiAgaWQ6IHN0cmluZztcbiAgZGVsaXZlcnlfaWQ6IHN0cmluZztcbiAgd2ViaG9va191cmw6IHN0cmluZztcbiAgZXZlbnRfdHlwZTogc3RyaW5nO1xuICBzdGF0dXM6IHN0cmluZztcbiAgcmVzcG9uc2VfdGltZTogbnVtYmVyO1xuICBzdGF0dXNfY29kZT86IG51bWJlcjtcbiAgcmVzcG9uc2VfYm9keT86IHN0cmluZztcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGRlbGl2ZXJlZF9hdD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFRlc3RXZWJob29rUmVzcG9uc2Uge1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIGRlbGl2ZXJ5PzogVGVzdERlbGl2ZXJ5O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBXZWJob29rc1Rlc3QgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiU2VuZCBhIHRlc3QgZXZlbnQgdG8gYSB3ZWJob29rXCI7XG5cbiAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdGVzdCB3aGtfYWJjMTIzXCIsXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyB0ZXN0IHdoa19hYmMxMjMgLS1qc29uXCIsXG4gIF07XG5cbiAgc3RhdGljIGFyZ3MgPSB7XG4gICAgaWQ6IEFyZ3Muc3RyaW5nKHtcbiAgICAgIGRlc2NyaXB0aW9uOiBcIldlYmhvb2sgSUQgdG8gdGVzdFwiLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfSksXG4gIH07XG5cbiAgc3RhdGljIGZsYWdzID0ge1xuICAgIC4uLkF1dGhlbnRpY2F0ZWRDb21tYW5kLmJhc2VGbGFncyxcbiAgfTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBhcmdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFdlYmhvb2tzVGVzdCk7XG5cbiAgICBjb25zdCB0ZXN0U3Bpbm5lciA9IHNwaW5uZXIoXCJTZW5kaW5nIHRlc3QgZXZlbnQuLi5cIik7XG4gICAgdGVzdFNwaW5uZXIuc3RhcnQoKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBhcGlDbGllbnQucG9zdDxUZXN0V2ViaG9va1Jlc3BvbnNlPihcbiAgICAgICAgYC9hcGkvdjEvd2ViaG9va3MvJHthcmdzLmlkfS90ZXN0YCxcbiAgICAgICk7XG5cbiAgICAgIHRlc3RTcGlubmVyLnN0b3AoKTtcblxuICAgICAgaWYgKGlzSnNvbk1vZGUoKSkge1xuICAgICAgICBqc29uKHJlc3VsdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZGVsaXZlcnkgPSByZXN1bHQuZGVsaXZlcnk7XG5cbiAgICAgIGlmIChyZXN1bHQuc3VjY2VzcyAmJiBkZWxpdmVyeSkge1xuICAgICAgICBzdWNjZXNzKFwiVGVzdCBldmVudCBkZWxpdmVyZWRcIiwge1xuICAgICAgICAgIFwiRGVsaXZlcnkgSURcIjogZGVsaXZlcnkuZGVsaXZlcnlfaWQsXG4gICAgICAgICAgXCJXZWJob29rIFVSTFwiOiBkZWxpdmVyeS53ZWJob29rX3VybCxcbiAgICAgICAgICBcIkV2ZW50IFR5cGVcIjogZGVsaXZlcnkuZXZlbnRfdHlwZSxcbiAgICAgICAgICBcIlJlc3BvbnNlIFRpbWVcIjogYCR7ZGVsaXZlcnkucmVzcG9uc2VfdGltZX1tc2AsXG4gICAgICAgICAgXCJTdGF0dXMgQ29kZVwiOiBTdHJpbmcoZGVsaXZlcnkuc3RhdHVzX2NvZGUpLFxuICAgICAgICAgIFwiRGVsaXZlcmVkIEF0XCI6IGRlbGl2ZXJ5LmRlbGl2ZXJlZF9hdCB8fCBcIkp1c3Qgbm93XCIsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkZWxpdmVyeS5yZXNwb25zZV9ib2R5KSB7XG4gICAgICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiUmVzcG9uc2UgQm9keTpcIikpO1xuICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgZGVsaXZlcnkucmVzcG9uc2VfYm9keS5zdWJzdHJpbmcoMCwgMjAwKSArXG4gICAgICAgICAgICAgIChkZWxpdmVyeS5yZXNwb25zZV9ib2R5Lmxlbmd0aCA+IDIwMCA/IFwiLi4uXCIgOiBcIlwiKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcihcIlRlc3QgZXZlbnQgZmFpbGVkXCIsIHtcbiAgICAgICAgICBcIkRlbGl2ZXJ5IElEXCI6IGRlbGl2ZXJ5Py5kZWxpdmVyeV9pZCB8fCBcIk4vQVwiLFxuICAgICAgICAgIFwiV2ViaG9vayBVUkxcIjogZGVsaXZlcnk/LndlYmhvb2tfdXJsIHx8IFwiTi9BXCIsXG4gICAgICAgICAgU3RhdHVzOiBkZWxpdmVyeT8uc3RhdHVzIHx8IFwiZmFpbGVkXCIsXG4gICAgICAgICAgRXJyb3I6IGRlbGl2ZXJ5Py5lcnJvciB8fCByZXN1bHQubWVzc2FnZSB8fCBcIlVua25vd24gZXJyb3JcIixcbiAgICAgICAgICAuLi4oZGVsaXZlcnk/LnN0YXR1c19jb2RlICYmIHtcbiAgICAgICAgICAgIFwiU3RhdHVzIENvZGVcIjogU3RyaW5nKGRlbGl2ZXJ5LnN0YXR1c19jb2RlKSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB0ZXN0U3Bpbm5lci5zdG9wKCk7XG5cbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICBlcnJvcihgV2ViaG9vayBub3QgZm91bmQ6ICR7YXJncy5pZH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIGVycm9yKGBGYWlsZWQgdG8gc2VuZCB0ZXN0IGV2ZW50OiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKGBGYWlsZWQgdG8gc2VuZCB0ZXN0IGV2ZW50OiAke1N0cmluZyhlcnIpfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -10,6 +10,7 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
10
10
  events: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
11
11
  description: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
12
12
  active: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
13
+ mode: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
13
14
  json: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
14
15
  quiet: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
15
16
  };
@@ -36,6 +36,11 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
36
36
  description: "Enable or disable the webhook",
37
37
  allowNo: true,
38
38
  }),
39
+ mode: Flags.string({
40
+ char: "m",
41
+ description: "Update event mode filter: all, test (sandbox only), live (production only)",
42
+ options: ["all", "test", "live"],
43
+ }),
39
44
  };
40
45
  async run() {
41
46
  const { args, flags } = await this.parse(WebhooksUpdate);
@@ -43,9 +48,10 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
43
48
  const hasUpdates = !!(flags.url ||
44
49
  flags.events ||
45
50
  flags.description ||
46
- flags.active !== undefined);
51
+ flags.active !== undefined ||
52
+ flags.mode);
47
53
  if (!hasUpdates) {
48
- error("No updates specified. Use --url, --events, --description, or --active flags.");
54
+ error("No updates specified. Use --url, --events, --description, --active, or --mode flags.");
49
55
  this.exit(1);
50
56
  }
51
57
  // Build update payload
@@ -62,16 +68,25 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
62
68
  if (flags.active !== undefined) {
63
69
  updateData.is_active = flags.active;
64
70
  }
71
+ if (flags.mode) {
72
+ updateData.mode = flags.mode;
73
+ }
65
74
  try {
66
75
  const webhook = await apiClient.patch(`/api/v1/webhooks/${args.id}`, updateData);
67
76
  if (isJsonMode()) {
68
77
  json(webhook);
69
78
  return;
70
79
  }
80
+ const modeDisplay = {
81
+ all: colors.dim("all"),
82
+ test: colors.warning("test"),
83
+ live: colors.success("live"),
84
+ };
71
85
  success("Webhook updated", {
72
86
  ID: webhook.id,
73
87
  URL: webhook.url,
74
88
  Events: webhook.events.join(", "),
89
+ Mode: modeDisplay[webhook.mode] || webhook.mode,
75
90
  ...(webhook.description && { Description: webhook.description }),
76
91
  Status: webhook.is_active
77
92
  ? colors.success("active")
@@ -85,6 +100,8 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
85
100
  console.log(colors.dim(" • URL"));
86
101
  if (flags.events)
87
102
  console.log(colors.dim(" • Events"));
103
+ if (flags.mode)
104
+ console.log(colors.dim(" • Mode"));
88
105
  if (flags.description !== undefined)
89
106
  console.log(colors.dim(" • Description"));
90
107
  if (flags.active !== undefined)
@@ -106,4 +123,4 @@ export default class WebhooksUpdate extends AuthenticatedCommand {
106
123
  }
107
124
  }
108
125
  }
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3dlYmhvb2tzL3VwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQVcvRSxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWUsU0FBUSxvQkFBb0I7SUFDOUQsTUFBTSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUV4QyxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGtGQUFrRjtRQUNsRix3RkFBd0Y7UUFDeEYseUZBQXlGO1FBQ3pGLDZEQUE2RDtRQUM3RCwrR0FBK0c7S0FDaEgsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDaEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsb0NBQW9DO1NBQ2xELENBQUM7UUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNuQixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFBRSxzQ0FBc0M7U0FDcEQsQ0FBQztRQUNGLFdBQVcsRUFBRSxL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Z0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxLQUFLLENBQUMsTUFBTTtnQkFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN4RCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssU0FBUztnQkFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztZQUM3QyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUztnQkFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxDQUFDLDZCQUE2QixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBzdWNjZXNzLCBlcnJvciwganNvbiwgY29sb3JzLCBpc0pzb25Nb2RlIH0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIFVwZGF0ZVdlYmhvb2tSZXNwb25zZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xuICBldmVudHM6IHN0cmluZ1tdO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgaXNfYWN0aXZlOiBib29sZWFuO1xuICB1cGRhdGVkX2F0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYmhvb2tzVXBkYXRlIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlVwZGF0ZSBhIHdlYmhvb2tcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyB1cGRhdGUgd2hrX2FiYzEyMyAtLXVybCBodHRwczovL25ld2RvbWFpbi5jb20vd2ViaG9va1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1ldmVudHMgbWVzc2FnZS5kZWxpdmVyZWQsbWVzc2FnZS5mYWlsZWRcIixcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1kZXNjcmlwdGlvbiBcIlVwZGF0ZWQgcHJvZHVjdGlvbiB3ZWJob29rXCInLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1hY3RpdmUgZmFsc2VcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIHVwZGF0ZSB3aGtfYWJjMTIzIC0tdXJsIGh0dHBzOi8vbmV3ZG9tYWluLmNvbS93ZWJob29rIC0tZXZlbnRzIG1lc3NhZ2Uuc2VudCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiV2ViaG9vayBJRCB0byB1cGRhdGVcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgdXJsOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJ1XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGRhdGUgd2ViaG9vayBVUkwgKG11c3QgYmUgSFRUUFMpXCIsXG4gICAgfSksXG4gICAgZXZlbnRzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJlXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGRhdGUgZXZlbnRzIGxpc3QgKGNvbW1hLXNlcGFyYXRlZClcIixcbiAgICB9KSxcbiAgICBkZXNjcmlwdGlvbjogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwiZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiVXBkYXRlIGRlc2NyaXB0aW9uXCIsXG4gICAgfSksXG4gICAgYWN0aXZlOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGNoYXI6IFwiYVwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIG9yIGRpc2FibGUgdGhlIHdlYmhvb2tcIixcbiAgICAgIGFsbG93Tm86IHRydWUsXG4gICAgfSksXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgYXJncywgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoV2ViaG9va3NVcGRhdGUpO1xuXG4gICAgLy8gQ2hlY2sgaWYgYW55IHVwZGF0ZSBmbGFncyB3ZXJlIHByb3ZpZGVkXG4gICAgY29uc3QgaGFzVXBkYXRlcyA9ICEhKFxuICAgICAgZmxhZ3MudXJsIHx8XG4gICAgICBmbGFncy5ldmVudHMgfHxcbiAgICAgIGZsYWdzLmRlc2NyaXB0aW9uIHx8XG4gICAgICBmbGFncy5hY3RpdmUgIT09IHVuZGVmaW5lZFxuICAgICk7XG5cbiAgICBpZiAoIWhhc1VwZGF0ZXMpIHtcbiAgICAgIGVycm9yKFxuICAgICAgICBcIk5vIHVwZGF0ZXMgc3BlY2lmaWVkLiBVc2UgLS11cmwsIC0tZXZlbnRzLCAtLWRlc2NyaXB0aW9uLCBvciAtLWFjdGl2ZSBmbGFncy5cIixcbiAgICAgICk7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgLy8gQnVpbGQgdXBkYXRlIHBheWxvYWRcbiAgICBjb25zdCB1cGRhdGVEYXRhOiBhbnkgPSB7fTtcblxuICAgIGlmIChmbGFncy51cmwpIHtcbiAgICAgIHVwZGF0ZURhdGEudXJsID0gZmxhZ3MudXJsO1xuICAgIH1cblxuICAgIGlmIChmbGFncy5ldmVudHMpIHtcbiAgICAgIHVwZGF0ZURhdGEuZXZlbnRzID0gZmxhZ3MuZXZlbnRzLnNwbGl0KFwiLFwiKS5tYXAoKGUpID0+IGUudHJpbSgpKTtcbiAgICB9XG5cbiAgICBpZiAoZmxhZ3MuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdXBkYXRlRGF0YS5kZXNjcmlwdGlvbiA9IGZsYWdzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChmbGFncy5hY3RpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdXBkYXRlRGF0YS5pc19hY3RpdmUgPSBmbGFncy5hY3RpdmU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdlYmhvb2sgPSBhd2FpdCBhcGlDbGllbnQucGF0Y2g8VXBkYXRlV2ViaG9va1Jlc3BvbnNlPihcbiAgICAgICAgYC9hcGkvdjEvd2ViaG9va3MvJHthcmdzLmlkfWAsXG4gICAgICAgIHVwZGF0ZURhdGEsXG4gICAgICApO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24od2ViaG9vayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc3VjY2VzcyhcIldlYmhvb2sgdXBkYXRlZFwiLCB7XG4gICAgICAgIElEOiB3ZWJob29rLmlkLFxuICAgICAgICBVUkw6IHdlYmhvb2sudXJsLFxuICAgICAgICBFdmVudHM6IHdlYmhvb2suZXZlbnRzLmpvaW4oXCIsIFwiKSxcbiAgICAgICAgLi4uKHdlYmhvb2suZGVzY3JpcHRpb24gJiYgeyBEZXNjcmlwdGlvbjogd2ViaG9vay5kZXNjcmlwdGlvbiB9KSxcbiAgICAgICAgU3RhdHVzOiB3ZWJob29rLmlzX2FjdGl2ZVxuICAgICAgICAgID8gY29sb3JzLnN1Y2Nlc3MoXCJhY3RpdmVcIilcbiAgICAgICAgICA6IGNvbG9ycy53YXJuaW5nKFwiaW5hY3RpdmVcIiksXG4gICAgICAgIFwiVXBkYXRlZCBBdFwiOiB3ZWJob29rLnVwZGF0ZWRfYXQsXG4gICAgICB9KTtcblxuICAgICAgLy8gU2hvdyB3aGF0IGNoYW5nZWRcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiVXBkYXRlZCBmaWVsZHM6XCIpKTtcbiAgICAgIGlmIChmbGFncy51cmwpIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCIgIOKAoiBVUkxcIikpO1xuICAgICAgaWYgKGZsYWdzLmV2ZW50cykgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAg4oCiIEV2ZW50c1wiKSk7XG4gICAgICBpZiAoZmxhZ3MuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZClcbiAgICAgICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAg4oCiIERlc2NyaXB0aW9uXCIpKTtcbiAgICAgIGlmIChmbGFncy5hY3RpdmUgIT09IHVuZGVmaW5lZClcbiAgICAgICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAg4oCiIEFjdGl2ZSBzdGF0dXNcIikpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgIGVycm9yKGBXZWJob29rIG5vdCBmb3VuZDogJHthcmdzLmlkfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgZXJyb3IoYEZhaWxlZCB0byB1cGRhdGUgd2ViaG9vazogJHtlcnIubWVzc2FnZX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvcihgRmFpbGVkIHRvIHVwZGF0ZSB3ZWJob29rOiAke1N0cmluZyhlcnIpfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuICB9XG59XG4iXX0=
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL3dlYmhvb2tzL3VwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQWMvRSxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWUsU0FBUSxvQkFBb0I7SUFDOUQsTUFBTSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUV4QyxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLGtGQUFrRjtRQUNsRix3RkFBd0Y7UUFDeEYseUZBQXlGO1FBQ3pGLDZEQUE2RDtRQUM3RCwrR0FBK0c7S0FDaEgsQ0FBQztJQUVGLE1BQU0sQ0FBQyxJQUFJLEdBQUc7UUFDWixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNkLFdBQVcsRUFBRSxzQkFBc0I7WUFDbkMsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDO0tBQ0gsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7UUFDakMsR0FBRyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDaEIsSUFBSSxFQUFFLEdBQUc7WUFDVCxXQUFXLEVBQUUsb0NBQW9DO1NBQ2xELENBQUM7UUFDRixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNuQixJQUFJLEVBQUUsR0FBRztZQUNULFdBQVcsRUFBRSxzQ0FBc0M7U0FDcEQsQ0FBQztRQUNGLFdBQVcsRUFBRSxL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QUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxZQUFZLEtBQUssSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLEdBQUcsWUFBWSxLQUFLLEVBQUUsQ0FBQztvQkFDekIsS0FBSyxDQUFDLDZCQUE2QixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLEtBQUssQ0FBQyw2QkFBNkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmdzLCBGbGFncyB9IGZyb20gXCJAb2NsaWYvY29yZVwiO1xuaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQgeyBzdWNjZXNzLCBlcnJvciwganNvbiwgY29sb3JzLCBpc0pzb25Nb2RlIH0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxudHlwZSBXZWJob29rTW9kZSA9IFwiYWxsXCIgfCBcInRlc3RcIiB8IFwibGl2ZVwiO1xuXG5pbnRlcmZhY2UgVXBkYXRlV2ViaG9va1Jlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG4gIGV2ZW50czogc3RyaW5nW107XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBtb2RlOiBXZWJob29rTW9kZTtcbiAgaXNfYWN0aXZlOiBib29sZWFuO1xuICB1cGRhdGVkX2F0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYmhvb2tzVXBkYXRlIGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIlVwZGF0ZSBhIHdlYmhvb2tcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiB3ZWJob29rcyB1cGRhdGUgd2hrX2FiYzEyMyAtLXVybCBodHRwczovL25ld2RvbWFpbi5jb20vd2ViaG9va1wiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1ldmVudHMgbWVzc2FnZS5kZWxpdmVyZWQsbWVzc2FnZS5mYWlsZWRcIixcbiAgICAnPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1kZXNjcmlwdGlvbiBcIlVwZGF0ZWQgcHJvZHVjdGlvbiB3ZWJob29rXCInLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gd2ViaG9va3MgdXBkYXRlIHdoa19hYmMxMjMgLS1hY3RpdmUgZmFsc2VcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IHdlYmhvb2tzIHVwZGF0ZSB3aGtfYWJjMTIzIC0tdXJsIGh0dHBzOi8vbmV3ZG9tYWluLmNvbS93ZWJob29rIC0tZXZlbnRzIG1lc3NhZ2Uuc2VudCAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgYXJncyA9IHtcbiAgICBpZDogQXJncy5zdHJpbmcoe1xuICAgICAgZGVzY3JpcHRpb246IFwiV2ViaG9vayBJRCB0byB1cGRhdGVcIixcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gICAgdXJsOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJ1XCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGRhdGUgd2ViaG9vayBVUkwgKG11c3QgYmUgSFRUUFMpXCIsXG4gICAgfSksXG4gICAgZXZlbnRzOiBGbGFncy5zdHJpbmcoe1xuICAgICAgY2hhcjogXCJlXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJVcGRhdGUgZXZlbnRzIGxpc3QgKGNvbW1hLXNlcGFyYXRlZClcIixcbiAgICB9KSxcbiAgICBkZXNjcmlwdGlvbjogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwiZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiVXBkYXRlIGRlc2NyaXB0aW9uXCIsXG4gICAgfSksXG4gICAgYWN0aXZlOiBGbGFncy5ib29sZWFuKHtcbiAgICAgIGNoYXI6IFwiYVwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiRW5hYmxlIG9yIGRpc2FibGUgdGhlIHdlYmhvb2tcIixcbiAgICAgIGFsbG93Tm86IHRydWUsXG4gICAgfSksXG4gICAgbW9kZTogRmxhZ3Muc3RyaW5nKHtcbiAgICAgIGNoYXI6IFwibVwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiVXBkYXRlIGV2ZW50IG1vZGUgZmlsdGVyOiBhbGwsIHRlc3QgKHNhbmRib3ggb25seSksIGxpdmUgKHByb2R1Y3Rpb24gb25seSlcIixcbiAgICAgIG9wdGlvbnM6IFtcImFsbFwiLCBcInRlc3RcIiwgXCJsaXZlXCJdLFxuICAgIH0pLFxuICB9O1xuXG4gIGFzeW5jIHJ1bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGZsYWdzIH0gPSBhd2FpdCB0aGlzLnBhcnNlKFdlYmhvb2tzVXBkYXRlKTtcblxuICAgIC8vIENoZWNrIGlmIGFueSB1cGRhdGUgZmxhZ3Mgd2VyZSBwcm92aWRlZFxuICAgIGNvbnN0IGhhc1VwZGF0ZXMgPSAhIShcbiAgICAgIGZsYWdzLnVybCB8fFxuICAgICAgZmxhZ3MuZXZlbnRzIHx8XG4gICAgICBmbGFncy5kZXNjcmlwdGlvbiB8fFxuICAgICAgZmxhZ3MuYWN0aXZlICE9PSB1bmRlZmluZWQgfHxcbiAgICAgIGZsYWdzLm1vZGVcbiAgICApO1xuXG4gICAgaWYgKCFoYXNVcGRhdGVzKSB7XG4gICAgICBlcnJvcihcbiAgICAgICAgXCJObyB1cGRhdGVzIHNwZWNpZmllZC4gVXNlIC0tdXJsLCAtLWV2ZW50cywgLS1kZXNjcmlwdGlvbiwgLS1hY3RpdmUsIG9yIC0tbW9kZSBmbGFncy5cIixcbiAgICAgICk7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfVxuXG4gICAgLy8gQnVpbGQgdXBkYXRlIHBheWxvYWRcbiAgICBjb25zdCB1cGRhdGVEYXRhOiBhbnkgPSB7fTtcblxuICAgIGlmIChmbGFncy51cmwpIHtcbiAgICAgIHVwZGF0ZURhdGEudXJsID0gZmxhZ3MudXJsO1xuICAgIH1cblxuICAgIGlmIChmbGFncy5ldmVudHMpIHtcbiAgICAgIHVwZGF0ZURhdGEuZXZlbnRzID0gZmxhZ3MuZXZlbnRzLnNwbGl0KFwiLFwiKS5tYXAoKGUpID0+IGUudHJpbSgpKTtcbiAgICB9XG5cbiAgICBpZiAoZmxhZ3MuZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgdXBkYXRlRGF0YS5kZXNjcmlwdGlvbiA9IGZsYWdzLmRlc2NyaXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChmbGFncy5hY3RpdmUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdXBkYXRlRGF0YS5pc19hY3RpdmUgPSBmbGFncy5hY3RpdmU7XG4gICAgfVxuXG4gICAgaWYgKGZsYWdzLm1vZGUpIHtcbiAgICAgIHVwZGF0ZURhdGEubW9kZSA9IGZsYWdzLm1vZGU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHdlYmhvb2sgPSBhd2FpdCBhcGlDbGllbnQucGF0Y2g8VXBkYXRlV2ViaG9va1Jlc3BvbnNlPihcbiAgICAgICAgYC9hcGkvdjEvd2ViaG9va3MvJHthcmdzLmlkfWAsXG4gICAgICAgIHVwZGF0ZURhdGEsXG4gICAgICApO1xuXG4gICAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICAgIGpzb24od2ViaG9vayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbW9kZURpc3BsYXkgPSB7XG4gICAgICAgIGFsbDogY29sb3JzLmRpbShcImFsbFwiKSxcbiAgICAgICAgdGVzdDogY29sb3JzLndhcm5pbmcoXCJ0ZXN0XCIpLFxuICAgICAgICBsaXZlOiBjb2xvcnMuc3VjY2VzcyhcImxpdmVcIiksXG4gICAgICB9O1xuXG4gICAgICBzdWNjZXNzKFwiV2ViaG9vayB1cGRhdGVkXCIsIHtcbiAgICAgICAgSUQ6IHdlYmhvb2suaWQsXG4gICAgICAgIFVSTDogd2ViaG9vay51cmwsXG4gICAgICAgIEV2ZW50czogd2ViaG9vay5ldmVudHMuam9pbihcIiwgXCIpLFxuICAgICAgICBNb2RlOiBtb2RlRGlzcGxheVt3ZWJob29rLm1vZGVdIHx8IHdlYmhvb2subW9kZSxcbiAgICAgICAgLi4uKHdlYmhvb2suZGVzY3JpcHRpb24gJiYgeyBEZXNjcmlwdGlvbjogd2ViaG9vay5kZXNjcmlwdGlvbiB9KSxcbiAgICAgICAgU3RhdHVzOiB3ZWJob29rLmlzX2FjdGl2ZVxuICAgICAgICAgID8gY29sb3JzLnN1Y2Nlc3MoXCJhY3RpdmVcIilcbiAgICAgICAgICA6IGNvbG9ycy53YXJuaW5nKFwiaW5hY3RpdmVcIiksXG4gICAgICAgIFwiVXBkYXRlZCBBdFwiOiB3ZWJob29rLnVwZGF0ZWRfYXQsXG4gICAgICB9KTtcblxuICAgICAgLy8gU2hvdyB3aGF0IGNoYW5nZWRcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiVXBkYXRlZCBmaWVsZHM6XCIpKTtcbiAgICAgIGlmIChmbGFncy51cmwpIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCIgIOKAoiBVUkxcIikpO1xuICAgICAgaWYgKGZsYWdzLmV2ZW50cykgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAg4oCiIEV2ZW50c1wiKSk7XG4gICAgICBpZiAoZmxhZ3MubW9kZSkgY29uc29sZS5sb2coY29sb3JzLmRpbShcIiAg4oCiIE1vZGVcIikpO1xuICAgICAgaWYgKGZsYWdzLmRlc2NyaXB0aW9uICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCIgIOKAoiBEZXNjcmlwdGlvblwiKSk7XG4gICAgICBpZiAoZmxhZ3MuYWN0aXZlICE9PSB1bmRlZmluZWQpXG4gICAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oXCIgIOKAoiBBY3RpdmUgc3RhdHVzXCIpKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICBlcnJvcihgV2ViaG9vayBub3QgZm91bmQ6ICR7YXJncy5pZH1gKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgIGVycm9yKGBGYWlsZWQgdG8gdXBkYXRlIHdlYmhvb2s6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZXJyb3IoYEZhaWxlZCB0byB1cGRhdGUgd2ViaG9vazogJHtTdHJpbmcoZXJyKX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5leGl0KDEpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -17,15 +17,25 @@ export interface TokenResponse {
17
17
  email: string;
18
18
  }
19
19
  /**
20
- * Generate a device code for browser-based authentication
20
+ * Generate a long random device code for URL (session identifier)
21
+ * This goes in the URL and identifies which CLI session is waiting
21
22
  */
22
23
  export declare function generateDeviceCode(): string;
23
24
  /**
24
- * Generate a secure device code for the auth flow
25
+ * Generate a short human-readable user code for terminal display
26
+ * This is what the user types to prove they have terminal access
27
+ * Uses characters that are easy to read and type (no 0/O, 1/I/L confusion)
25
28
  */
26
- export declare function generateSecureCode(): string;
29
+ export declare function generateUserCode(): string;
27
30
  /**
28
31
  * Start the browser-based login flow
32
+ *
33
+ * Security model:
34
+ * - deviceCode: Long random token in URL, identifies CLI session (not secret)
35
+ * - userCode: Short code shown ONLY in terminal, proves user has terminal access
36
+ *
37
+ * The userCode is NEVER in the URL - this is critical for security.
38
+ * Anyone with the URL can't authorize without also seeing the terminal.
29
39
  */
30
40
  export declare function browserLogin(): Promise<TokenResponse>;
31
41
  /**
package/dist/lib/auth.js CHANGED
@@ -6,45 +6,58 @@ import open from "open";
6
6
  import * as crypto from "node:crypto";
7
7
  import { setAuthTokens, setApiKey, clearAuth, getConfigValue, isAuthenticated, getAuthToken, } from "./config.js";
8
8
  import { colors, spinner } from "./output.js";
9
- const DEVICE_CODE_LENGTH = 8;
9
+ const USER_CODE_LENGTH = 8;
10
10
  const POLL_INTERVAL = 2000; // 2 seconds
11
11
  const MAX_POLL_ATTEMPTS = 150; // 5 minutes max
12
12
  /**
13
- * Generate a device code for browser-based authentication
13
+ * Generate a long random device code for URL (session identifier)
14
+ * This goes in the URL and identifies which CLI session is waiting
14
15
  */
15
16
  export function generateDeviceCode() {
16
- return crypto.randomBytes(4).toString("hex").toUpperCase();
17
+ return crypto.randomBytes(16).toString("hex"); // 32 chars, not guessable
17
18
  }
18
19
  /**
19
- * Generate a secure device code for the auth flow
20
+ * Generate a short human-readable user code for terminal display
21
+ * This is what the user types to prove they have terminal access
22
+ * Uses characters that are easy to read and type (no 0/O, 1/I/L confusion)
20
23
  */
21
- export function generateSecureCode() {
24
+ export function generateUserCode() {
22
25
  const chars = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789"; // Exclude confusing chars
23
26
  let code = "";
24
- const bytes = crypto.randomBytes(DEVICE_CODE_LENGTH);
25
- for (let i = 0; i < DEVICE_CODE_LENGTH; i++) {
27
+ const bytes = crypto.randomBytes(USER_CODE_LENGTH);
28
+ for (let i = 0; i < USER_CODE_LENGTH; i++) {
26
29
  code += chars[bytes[i] % chars.length];
27
30
  }
28
31
  return code;
29
32
  }
30
33
  /**
31
34
  * Start the browser-based login flow
35
+ *
36
+ * Security model:
37
+ * - deviceCode: Long random token in URL, identifies CLI session (not secret)
38
+ * - userCode: Short code shown ONLY in terminal, proves user has terminal access
39
+ *
40
+ * The userCode is NEVER in the URL - this is critical for security.
41
+ * Anyone with the URL can't authorize without also seeing the terminal.
32
42
  */
33
43
  export async function browserLogin() {
34
44
  const baseUrl = getConfigValue("baseUrl") || "https://sendly.live";
35
- const deviceCode = generateSecureCode();
36
- const userCode = `${deviceCode.slice(0, 4)}-${deviceCode.slice(4)}`;
37
- // Request device code from server
45
+ // Generate TWO SEPARATE codes for security
46
+ const deviceCode = generateDeviceCode(); // Long random, goes in URL
47
+ const userCode = generateUserCode(); // Short readable, shown in terminal only
48
+ // Request device code registration from server
38
49
  const response = await fetch(`${baseUrl}/api/cli/auth/device-code`, {
39
50
  method: "POST",
40
51
  headers: { "Content-Type": "application/json" },
41
- body: JSON.stringify({ deviceCode }),
52
+ body: JSON.stringify({ deviceCode, userCode }), // Send both to server
42
53
  });
43
54
  if (!response.ok) {
44
55
  const error = (await response.json().catch(() => ({})));
45
56
  throw new Error(error.message || "Failed to initiate login");
46
57
  }
47
58
  const data = (await response.json());
59
+ // Format user code with hyphen for readability (e.g., "ABCD-EFGH")
60
+ const displayUserCode = `${userCode.slice(0, 4)}-${userCode.slice(4)}`;
48
61
  // Display instructions to user
49
62
  console.log();
50
63
  console.log(colors.bold("Login to Sendly"));
@@ -53,7 +66,7 @@ export async function browserLogin() {
53
66
  console.log(colors.primary(` ${data.verificationUrl}`));
54
67
  console.log();
55
68
  console.log(`And enter this code:`);
56
- console.log(colors.bold(colors.primary(` ${userCode}`)));
69
+ console.log(colors.bold(colors.primary(` ${displayUserCode}`)));
57
70
  console.log();
58
71
  // Try to open browser automatically
59
72
  try {
@@ -97,24 +110,20 @@ export async function browserLogin() {
97
110
  continue;
98
111
  }
99
112
  if (errorData.error === "expired_token") {
100
- spin.fail("Login request expired. Please try again.");
101
- throw new Error("Login request expired");
113
+ spin.fail("Login request expired");
114
+ process.exit(1);
102
115
  }
103
116
  if (errorData.error === "access_denied") {
104
117
  spin.fail("Login was denied");
105
- throw new Error("Login was denied");
118
+ process.exit(1);
106
119
  }
107
120
  }
108
121
  catch (error) {
109
- if (error.message.includes("expired") ||
110
- error.message.includes("denied")) {
111
- throw error;
112
- }
113
122
  // Network error, continue polling
114
123
  }
115
124
  }
116
- spin.fail("Login timed out. Please try again.");
117
- throw new Error("Login timed out");
125
+ spin.fail("Login timed out");
126
+ process.exit(1);
118
127
  }
119
128
  /**
120
129
  * Login with an API key directly
@@ -175,4 +184,4 @@ export async function getAuthInfo() {
175
184
  function sleep(ms) {
176
185
  return new Promise((resolve) => setTimeout(resolve, ms));
177
186
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsU0FBUyxFQUNULGNBQWMsRUFDZCxlQUFlLEVBQ2YsWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0FBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7QUFDeEMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0I7QUFrQi9DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzdELENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsTUFBTSxLQUFLLEdBQUcsa0NBQWtDLENBQUMsQ0FBQywwQkFBMEI7SUFDNUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzVDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6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QUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1RCxDQUFDO0lBRUQsT0FBTztRQUNMLGFBQWEsRUFBRSxJQUFJO1FBQ25CLEtBQUs7UUFDTCxNQUFNO1FBQ04sV0FBVztRQUNYLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEVBQVU7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dGhlbnRpY2F0aW9uIHV0aWxpdGllcyBmb3IgQ0xJXG4gKiBIYW5kbGVzIGJyb3dzZXItYmFzZWQgbG9naW4gZmxvdyBhbmQgQVBJIGtleSBhdXRoZW50aWNhdGlvblxuICovXG5cbmltcG9ydCBvcGVuIGZyb20gXCJvcGVuXCI7XG5pbXBvcnQgKiBhcyBodHRwIGZyb20gXCJub2RlOmh0dHBcIjtcbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tIFwibm9kZTpjcnlwdG9cIjtcbmltcG9ydCB7XG4gIHNldEF1dGhUb2tlbnMsXG4gIHNldEFwaUtleSxcbiAgY2xlYXJBdXRoLFxuICBnZXRDb25maWdWYWx1ZSxcbiAgaXNBdXRoZW50aWNhdGVkLFxuICBnZXRBdXRoVG9rZW4sXG59IGZyb20gXCIuL2NvbmZpZy5qc1wiO1xuaW1wb3J0IHsgY29sb3JzLCBzcGlubmVyIH0gZnJvbSBcIi4vb3V0cHV0LmpzXCI7XG5cbmNvbnN0IERFVklDRV9DT0RFX0xFTkdUSCA9IDg7XG5jb25zdCBQT0xMX0lOVEVSVkFMID0gMjAwMDsgLy8gMiBzZWNvbmRzXG5jb25zdCBNQVhfUE9MTF9BVFRFTVBUUyA9IDE1MDsgLy8gNSBtaW51dGVzIG1heFxuXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUNvZGVSZXNwb25zZSB7XG4gIGRldmljZUNvZGU6IHN0cmluZztcbiAgdXNlckNvZGU6IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uVXJsOiBzdHJpbmc7XG4gIGV4cGlyZXNJbjogbnVtYmVyO1xuICBpbnRlcnZhbDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRva2VuUmVzcG9uc2Uge1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIHVzZXJJZDogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgZGV2aWNlIGNvZGUgZm9yIGJyb3dzZXItYmFzZWQgYXV0aGVudGljYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRGV2aWNlQ29kZSgpOiBzdHJpbmcge1xuICByZXR1cm4gY3J5cHRvLnJhbmRvbUJ5dGVzKDQpLnRvU3RyaW5nKFwiaGV4XCIpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBzZWN1cmUgZGV2aWNlIGNvZGUgZm9yIHRoZSBhdXRoIGZsb3dcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlU2VjdXJlQ29kZSgpOiBzdHJpbmcge1xuICBjb25zdCBjaGFycyA9IFwiQUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaMjM0NTY3ODlcIjsgLy8gRXhjbHVkZSBjb25mdXNpbmcgY2hhcnNcbiAgbGV0IGNvZGUgPSBcIlwiO1xuICBjb25zdCBieXRlcyA9IGNyeXB0by5yYW5kb21CeXRlcyhERVZJQ0VfQ09ERV9MRU5HVEgpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IERFVklDRV9DT0RFX0xFTkdUSDsgaSsrKSB7XG4gICAgY29kZSArPSBjaGFyc1tieXRlc1tpXSAlIGNoYXJzLmxlbmd0aF07XG4gIH1cbiAgcmV0dXJuIGNvZGU7XG59XG5cbi8qKlxuICogU3RhcnQgdGhlIGJyb3dzZXItYmFzZWQgbG9naW4gZmxvd1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnJvd3NlckxvZ2luKCk6IFByb21pc2U8VG9rZW5SZXNwb25zZT4ge1xuICBjb25zdCBiYXNlVXJsID0gZ2V0Q29uZmlnVmFsdWUoXCJiYXNlVXJsXCIpIHx8IFwiaHR0cHM6Ly9zZW5kbHkubGl2ZVwiO1xuICBjb25zdCBkZXZpY2VDb2RlID0gZ2VuZXJhdGVTZWN1cmVDb2RlKCk7XG4gIGNvbnN0IHVzZXJDb2RlID0gYCR7ZGV2aWNlQ29kZS5zbGljZSgwLCA0KX0tJHtkZXZpY2VDb2RlLnNsaWNlKDQpfWA7XG5cbiAgLy8gUmVxdWVzdCBkZXZpY2UgY29kZSBmcm9tIHNlcnZlclxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2Jhc2VVcmx9L2FwaS9jbGkvYXV0aC9kZXZpY2UtY29kZWAsIHtcbiAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IGRldmljZUNvZGUgfSksXG4gIH0pO1xuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICBjb25zdCBlcnJvciA9IChhd2FpdCByZXNwb25zZS5qc29uKCkuY2F0Y2goKCkgPT4gKHt9KSkpIGFzIHtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSB8fCBcIkZhaWxlZCB0byBpbml0aWF0ZSBsb2dpblwiKTtcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBEZXZpY2VDb2RlUmVzcG9uc2U7XG5cbiAgLy8gRGlzcGxheSBpbnN0cnVjdGlvbnMgdG8gdXNlclxuICBjb25zb2xlLmxvZygpO1xuICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChcIkxvZ2luIHRvIFNlbmRseVwiKSk7XG4gIGNvbnNvbGUubG9nKCk7XG4gIGNvbnNvbGUubG9nKGBPcGVuIHRoaXMgVVJMIGluIHlvdXIgYnJvd3NlcjpgKTtcbiAgY29uc29sZS5sb2coY29sb3JzLnByaW1hcnkoYCAgJHtkYXRhLnZlcmlmaWNhdGlvblVybH1gKSk7XG4gIGNvbnNvbGUubG9nKCk7XG4gIGNvbnNvbGUubG9nKGBBbmQgZW50ZXIgdGhpcyBjb2RlOmApO1xuICBjb25zb2xlLmxvZyhjb2xvcnMuYm9sZChjb2xvcnMucHJpbWFyeShgICAke3VzZXJDb2RlfWApKSk7XG4gIGNvbnNvbGUubG9nKCk7XG5cbiAgLy8gVHJ5IHRvIG9wZW4gYnJvd3NlciBhdXRvbWF0aWNhbGx5XG4gIHRyeSB7XG4gICAgYXdhaXQgb3BlbihkYXRhLnZlcmlmaWNhdGlvblVybCk7XG4gICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIkJyb3dzZXIgb3BlbmVkIGF1dG9tYXRpY2FsbHlcIikpO1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiUGxlYXNlIG9wZW4gdGhlIFVSTCBtYW51YWxseVwiKSk7XG4gIH1cblxuICBjb25zb2xlLmxvZygpO1xuXG4gIC8vIFBvbGwgZm9yIHRva2VuXG4gIGNvbnN0IHNwaW4gPSBzcGlubmVyKFwiV2FpdGluZyBmb3IgYXV0aG9yaXphdGlvbi4uLlwiKTtcbiAgc3Bpbi5zdGFydCgpO1xuXG4gIGxldCBhdHRlbXB0cyA9IDA7XG4gIHdoaWxlIChhdHRlbXB0cyA8IE1BWF9QT0xMX0FUVEVNUFRTKSB7XG4gICAgYXdhaXQgc2xlZXAoZGF0YS5pbnRlcnZhbCAqIDEwMDAgfHwgUE9MTF9JTlRFUlZBTCk7XG4gICAgYXR0ZW1wdHMrKztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlblJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vYXBpL2NsaS9hdXRoL3Rva2VuYCwge1xuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgZGV2aWNlQ29kZSB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodG9rZW5SZXNwb25zZS5vaykge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSAoYXdhaXQgdG9rZW5SZXNwb25zZS5qc29uKCkpIGFzIFRva2VuUmVzcG9uc2U7XG4gICAgICAgIHNwaW4uc3VjY2VlZChcIkxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkhXCIpO1xuXG4gICAgICAgIC8vIFN0b3JlIHRva2Vuc1xuICAgICAgICBzZXRBdXRoVG9rZW5zKFxuICAgICAgICAgIHRva2Vucy5hY2Nlc3NUb2tlbixcbiAgICAgICAgICB0b2tlbnMucmVmcmVzaFRva2VuLFxuICAgICAgICAgIHRva2Vucy5leHBpcmVzSW4sXG4gICAgICAgICAgdG9rZW5zLnVzZXJJZCxcbiAgICAgICAgICB0b2tlbnMuZW1haWwsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgbmV3IHVzZXIgbmVlZHMgcXVpY2stc3RhcnQgKG9ubHkgZm9yIENMSSBzZXNzaW9ucylcbiAgICAgICAgaWYgKHRva2Vucy5hY2Nlc3NUb2tlbi5zdGFydHNXaXRoKFwiY2xpX1wiKSkge1xuICAgICAgICAgIGNvbnN0IHsgc2hvdWxkT2ZmZXJRdWlja1N0YXJ0LCBvZmZlclF1aWNrU3RhcnQgfSA9IGF3YWl0IGltcG9ydChcIi4vb25ib2FyZGluZy5qc1wiKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAoYXdhaXQgc2hvdWxkT2ZmZXJRdWlja1N0YXJ0KCkpIHtcbiAgICAgICAgICAgIGF3YWl0IG9mZmVyUXVpY2tTdGFydCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0b2tlbnM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IChhd2FpdCB0b2tlblJlc3BvbnNlLmpzb24oKS5jYXRjaCgoKSA9PiAoe30pKSkgYXMge1xuICAgICAgICBlcnJvcj86IHN0cmluZztcbiAgICAgIH07XG5cbiAgICAgIGlmIChlcnJvckRhdGEuZXJyb3IgPT09IFwiYXV0aG9yaXphdGlvbl9wZW5kaW5nXCIpIHtcbiAgICAgICAgLy8gU3RpbGwgd2FpdGluZywgY29udGludWUgcG9sbGluZ1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVycm9yRGF0YS5lcnJvciA9PT0gXCJleHBpcmVkX3Rva2VuXCIpIHtcbiAgICAgICAgc3Bpbi5mYWlsKFwiTG9naW4gcmVxdWVzdCBleHBpcmVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTG9naW4gcmVxdWVzdCBleHBpcmVkXCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXJyb3JEYXRhLmVycm9yID09PSBcImFjY2Vzc19kZW5pZWRcIikge1xuICAgICAgICBzcGluLmZhaWwoXCJMb2dpbiB3YXMgZGVuaWVkXCIpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJMb2dpbiB3YXMgZGVuaWVkXCIpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChlcnJvciBhcyBFcnJvcikubWVzc2FnZS5pbmNsdWRlcyhcImV4cGlyZWRcIikgfHxcbiAgICAgICAgKGVycm9yIGFzIEVycm9yKS5tZXNzYWdlLmluY2x1ZGVzKFwiZGVuaWVkXCIpXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICAvLyBOZXR3b3JrIGVycm9yLCBjb250aW51ZSBwb2xsaW5nXG4gICAgfVxuICB9XG5cbiAgc3Bpbi5mYWlsKFwiTG9naW4gdGltZWQgb3V0LiBQbGVhc2UgdHJ5IGFnYWluLlwiKTtcbiAgdGhyb3cgbmV3IEVycm9yKFwiTG9naW4gdGltZWQgb3V0XCIpO1xufVxuXG4vKipcbiAqIExvZ2luIHdpdGggYW4gQVBJIGtleSBkaXJlY3RseVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpS2V5TG9naW4oYXBpS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYmFzZVVybCA9IGdldENvbmZpZ1ZhbHVlKFwiYmFzZVVybFwiKSB8fCBcImh0dHBzOi8vc2VuZGx5LmxpdmVcIjtcblxuICAvLyBWYWxpZGF0ZSB0aGUgQVBJIGtleSB3aXRoIHRoZSBzZXJ2ZXJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfS9hcGkvY2xpL2F1dGgvdmVyaWZ5LWtleWAsIHtcbiAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FwaUtleX1gLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICBjb25zdCBlcnJvciA9IChhd2FpdCByZXNwb25zZS5qc29uKCkuY2F0Y2goKCkgPT4gKHt9KSkpIGFzIHtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSB8fCBcIkludmFsaWQgQVBJIGtleVwiKTtcbiAgfVxuXG4gIC8vIFN0b3JlIHRoZSBBUEkga2V5XG4gIHNldEFwaUtleShhcGlLZXkpO1xufVxuXG4vKipcbiAqIExvZ291dCAtIGNsZWFyIGFsbCBzdG9yZWQgY3JlZGVudGlhbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ291dCgpOiB2b2lkIHtcbiAgY2xlYXJBdXRoKCk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQXV0aCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQXV0aGVudGljYXRlZCgpO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IGF1dGggaW5mbyBmb3IgZGlzcGxheVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXV0aEluZm8oKTogUHJvbWlzZTx7XG4gIGF1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIGVtYWlsPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIGtleVR5cGU/OiBzdHJpbmc7XG59PiB7XG4gIGNvbnN0IHRva2VuID0gZ2V0QXV0aFRva2VuKCk7XG4gIGNvbnN0IGVtYWlsID0gZ2V0Q29uZmlnVmFsdWUoXCJlbWFpbFwiKTtcbiAgY29uc3QgdXNlcklkID0gZ2V0Q29uZmlnVmFsdWUoXCJ1c2VySWRcIik7XG4gIGNvbnN0IGFwaUtleSA9IGdldENvbmZpZ1ZhbHVlKFwiYXBpS2V5XCIpO1xuICBjb25zdCBlbnZpcm9ubWVudCA9IGdldENvbmZpZ1ZhbHVlKFwiZW52aXJvbm1lbnRcIik7XG5cbiAgaWYgKCF0b2tlbiAmJiAhYXBpS2V5KSB7XG4gICAgcmV0dXJuIHsgYXV0aGVudGljYXRlZDogZmFsc2UsIGVudmlyb25tZW50IH07XG4gIH1cblxuICBsZXQga2V5VHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoYXBpS2V5KSB7XG4gICAga2V5VHlwZSA9IGFwaUtleS5zdGFydHNXaXRoKFwic2tfdGVzdF9cIikgPyBcInRlc3RcIiA6IFwibGl2ZVwiO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhdXRoZW50aWNhdGVkOiB0cnVlLFxuICAgIGVtYWlsLFxuICAgIHVzZXJJZCxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBrZXlUeXBlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuIl19
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxFQUNMLGFBQWEsRUFDYixTQUFTLEVBQ1QsU0FBUyxFQUNULGNBQWMsRUFDZCxlQUFlLEVBQ2YsWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBQzNCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxDQUFDLFlBQVk7QUFDeEMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0I7QUFrQi9DOzs7R0FHRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtBQUMzRSxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxLQUFLLEdBQUcsa0NBQWtDLENBQUMsQ0FBQywwQkFBMEI7SUFDNUUsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzFDLElBQUksSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6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RCxDQUFDO0lBRUQsT0FBTztRQUNMLGFBQWEsRUFBRSxJQUFJO1FBQ25CLEtBQUs7UUFDTCxNQUFNO1FBQ04sV0FBVztRQUNYLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsS0FBSyxDQUFDLEVBQVU7SUFDdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF1dGhlbnRpY2F0aW9uIHV0aWxpdGllcyBmb3IgQ0xJXG4gKiBIYW5kbGVzIGJyb3dzZXItYmFzZWQgbG9naW4gZmxvdyBhbmQgQVBJIGtleSBhdXRoZW50aWNhdGlvblxuICovXG5cbmltcG9ydCBvcGVuIGZyb20gXCJvcGVuXCI7XG5pbXBvcnQgKiBhcyBodHRwIGZyb20gXCJub2RlOmh0dHBcIjtcbmltcG9ydCAqIGFzIGNyeXB0byBmcm9tIFwibm9kZTpjcnlwdG9cIjtcbmltcG9ydCB7XG4gIHNldEF1dGhUb2tlbnMsXG4gIHNldEFwaUtleSxcbiAgY2xlYXJBdXRoLFxuICBnZXRDb25maWdWYWx1ZSxcbiAgaXNBdXRoZW50aWNhdGVkLFxuICBnZXRBdXRoVG9rZW4sXG59IGZyb20gXCIuL2NvbmZpZy5qc1wiO1xuaW1wb3J0IHsgY29sb3JzLCBzcGlubmVyIH0gZnJvbSBcIi4vb3V0cHV0LmpzXCI7XG5cbmNvbnN0IFVTRVJfQ09ERV9MRU5HVEggPSA4O1xuY29uc3QgUE9MTF9JTlRFUlZBTCA9IDIwMDA7IC8vIDIgc2Vjb25kc1xuY29uc3QgTUFYX1BPTExfQVRURU1QVFMgPSAxNTA7IC8vIDUgbWludXRlcyBtYXhcblxuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VDb2RlUmVzcG9uc2Uge1xuICBkZXZpY2VDb2RlOiBzdHJpbmc7XG4gIHVzZXJDb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvblVybDogc3RyaW5nO1xuICBleHBpcmVzSW46IG51bWJlcjtcbiAgaW50ZXJ2YWw6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2tlblJlc3BvbnNlIHtcbiAgYWNjZXNzVG9rZW46IHN0cmluZztcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG4gIGV4cGlyZXNJbjogbnVtYmVyO1xuICB1c2VySWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIGxvbmcgcmFuZG9tIGRldmljZSBjb2RlIGZvciBVUkwgKHNlc3Npb24gaWRlbnRpZmllcilcbiAqIFRoaXMgZ29lcyBpbiB0aGUgVVJMIGFuZCBpZGVudGlmaWVzIHdoaWNoIENMSSBzZXNzaW9uIGlzIHdhaXRpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlRGV2aWNlQ29kZSgpOiBzdHJpbmcge1xuICByZXR1cm4gY3J5cHRvLnJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZyhcImhleFwiKTsgLy8gMzIgY2hhcnMsIG5vdCBndWVzc2FibGVcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIHNob3J0IGh1bWFuLXJlYWRhYmxlIHVzZXIgY29kZSBmb3IgdGVybWluYWwgZGlzcGxheVxuICogVGhpcyBpcyB3aGF0IHRoZSB1c2VyIHR5cGVzIHRvIHByb3ZlIHRoZXkgaGF2ZSB0ZXJtaW5hbCBhY2Nlc3NcbiAqIFVzZXMgY2hhcmFjdGVycyB0aGF0IGFyZSBlYXN5IHRvIHJlYWQgYW5kIHR5cGUgKG5vIDAvTywgMS9JL0wgY29uZnVzaW9uKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVVc2VyQ29kZSgpOiBzdHJpbmcge1xuICBjb25zdCBjaGFycyA9IFwiQUJDREVGR0hKS0xNTlBRUlNUVVZXWFlaMjM0NTY3ODlcIjsgLy8gRXhjbHVkZSBjb25mdXNpbmcgY2hhcnNcbiAgbGV0IGNvZGUgPSBcIlwiO1xuICBjb25zdCBieXRlcyA9IGNyeXB0by5yYW5kb21CeXRlcyhVU0VSX0NPREVfTEVOR1RIKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBVU0VSX0NPREVfTEVOR1RIOyBpKyspIHtcbiAgICBjb2RlICs9IGNoYXJzW2J5dGVzW2ldICUgY2hhcnMubGVuZ3RoXTtcbiAgfVxuICByZXR1cm4gY29kZTtcbn1cblxuLyoqXG4gKiBTdGFydCB0aGUgYnJvd3Nlci1iYXNlZCBsb2dpbiBmbG93XG4gKlxuICogU2VjdXJpdHkgbW9kZWw6XG4gKiAtIGRldmljZUNvZGU6IExvbmcgcmFuZG9tIHRva2VuIGluIFVSTCwgaWRlbnRpZmllcyBDTEkgc2Vzc2lvbiAobm90IHNlY3JldClcbiAqIC0gdXNlckNvZGU6IFNob3J0IGNvZGUgc2hvd24gT05MWSBpbiB0ZXJtaW5hbCwgcHJvdmVzIHVzZXIgaGFzIHRlcm1pbmFsIGFjY2Vzc1xuICpcbiAqIFRoZSB1c2VyQ29kZSBpcyBORVZFUiBpbiB0aGUgVVJMIC0gdGhpcyBpcyBjcml0aWNhbCBmb3Igc2VjdXJpdHkuXG4gKiBBbnlvbmUgd2l0aCB0aGUgVVJMIGNhbid0IGF1dGhvcml6ZSB3aXRob3V0IGFsc28gc2VlaW5nIHRoZSB0ZXJtaW5hbC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJyb3dzZXJMb2dpbigpOiBQcm9taXNlPFRva2VuUmVzcG9uc2U+IHtcbiAgY29uc3QgYmFzZVVybCA9IGdldENvbmZpZ1ZhbHVlKFwiYmFzZVVybFwiKSB8fCBcImh0dHBzOi8vc2VuZGx5LmxpdmVcIjtcblxuICAvLyBHZW5lcmF0ZSBUV08gU0VQQVJBVEUgY29kZXMgZm9yIHNlY3VyaXR5XG4gIGNvbnN0IGRldmljZUNvZGUgPSBnZW5lcmF0ZURldmljZUNvZGUoKTsgLy8gTG9uZyByYW5kb20sIGdvZXMgaW4gVVJMXG4gIGNvbnN0IHVzZXJDb2RlID0gZ2VuZXJhdGVVc2VyQ29kZSgpOyAvLyBTaG9ydCByZWFkYWJsZSwgc2hvd24gaW4gdGVybWluYWwgb25seVxuXG4gIC8vIFJlcXVlc3QgZGV2aWNlIGNvZGUgcmVnaXN0cmF0aW9uIGZyb20gc2VydmVyXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vYXBpL2NsaS9hdXRoL2RldmljZS1jb2RlYCwge1xuICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgZGV2aWNlQ29kZSwgdXNlckNvZGUgfSksIC8vIFNlbmQgYm90aCB0byBzZXJ2ZXJcbiAgfSk7XG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIGNvbnN0IGVycm9yID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKS5jYXRjaCgoKSA9PiAoe30pKSkgYXMge1xuICAgICAgbWVzc2FnZT86IHN0cmluZztcbiAgICB9O1xuICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlIHx8IFwiRmFpbGVkIHRvIGluaXRpYXRlIGxvZ2luXCIpO1xuICB9XG5cbiAgY29uc3QgZGF0YSA9IChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIERldmljZUNvZGVSZXNwb25zZTtcblxuICAvLyBGb3JtYXQgdXNlciBjb2RlIHdpdGggaHlwaGVuIGZvciByZWFkYWJpbGl0eSAoZS5nLiwgXCJBQkNELUVGR0hcIilcbiAgY29uc3QgZGlzcGxheVVzZXJDb2RlID0gYCR7dXNlckNvZGUuc2xpY2UoMCwgNCl9LSR7dXNlckNvZGUuc2xpY2UoNCl9YDtcblxuICAvLyBEaXNwbGF5IGluc3RydWN0aW9ucyB0byB1c2VyXG4gIGNvbnNvbGUubG9nKCk7XG4gIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKFwiTG9naW4gdG8gU2VuZGx5XCIpKTtcbiAgY29uc29sZS5sb2coKTtcbiAgY29uc29sZS5sb2coYE9wZW4gdGhpcyBVUkwgaW4geW91ciBicm93c2VyOmApO1xuICBjb25zb2xlLmxvZyhjb2xvcnMucHJpbWFyeShgICAke2RhdGEudmVyaWZpY2F0aW9uVXJsfWApKTtcbiAgY29uc29sZS5sb2coKTtcbiAgY29uc29sZS5sb2coYEFuZCBlbnRlciB0aGlzIGNvZGU6YCk7XG4gIGNvbnNvbGUubG9nKGNvbG9ycy5ib2xkKGNvbG9ycy5wcmltYXJ5KGAgICR7ZGlzcGxheVVzZXJDb2RlfWApKSk7XG4gIGNvbnNvbGUubG9nKCk7XG5cbiAgLy8gVHJ5IHRvIG9wZW4gYnJvd3NlciBhdXRvbWF0aWNhbGx5XG4gIHRyeSB7XG4gICAgYXdhaXQgb3BlbihkYXRhLnZlcmlmaWNhdGlvblVybCk7XG4gICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIkJyb3dzZXIgb3BlbmVkIGF1dG9tYXRpY2FsbHlcIikpO1xuICB9IGNhdGNoIHtcbiAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKFwiUGxlYXNlIG9wZW4gdGhlIFVSTCBtYW51YWxseVwiKSk7XG4gIH1cblxuICBjb25zb2xlLmxvZygpO1xuXG4gIC8vIFBvbGwgZm9yIHRva2VuXG4gIGNvbnN0IHNwaW4gPSBzcGlubmVyKFwiV2FpdGluZyBmb3IgYXV0aG9yaXphdGlvbi4uLlwiKTtcbiAgc3Bpbi5zdGFydCgpO1xuXG4gIGxldCBhdHRlbXB0cyA9IDA7XG4gIHdoaWxlIChhdHRlbXB0cyA8IE1BWF9QT0xMX0FUVEVNUFRTKSB7XG4gICAgYXdhaXQgc2xlZXAoZGF0YS5pbnRlcnZhbCAqIDEwMDAgfHwgUE9MTF9JTlRFUlZBTCk7XG4gICAgYXR0ZW1wdHMrKztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCB0b2tlblJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vYXBpL2NsaS9hdXRoL3Rva2VuYCwge1xuICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgZGV2aWNlQ29kZSB9KSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAodG9rZW5SZXNwb25zZS5vaykge1xuICAgICAgICBjb25zdCB0b2tlbnMgPSAoYXdhaXQgdG9rZW5SZXNwb25zZS5qc29uKCkpIGFzIFRva2VuUmVzcG9uc2U7XG4gICAgICAgIHNwaW4uc3VjY2VlZChcIkxvZ2dlZCBpbiBzdWNjZXNzZnVsbHkhXCIpO1xuXG4gICAgICAgIC8vIFN0b3JlIHRva2Vuc1xuICAgICAgICBzZXRBdXRoVG9rZW5zKFxuICAgICAgICAgIHRva2Vucy5hY2Nlc3NUb2tlbixcbiAgICAgICAgICB0b2tlbnMucmVmcmVzaFRva2VuLFxuICAgICAgICAgIHRva2Vucy5leHBpcmVzSW4sXG4gICAgICAgICAgdG9rZW5zLnVzZXJJZCxcbiAgICAgICAgICB0b2tlbnMuZW1haWwsXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgbmV3IHVzZXIgbmVlZHMgcXVpY2stc3RhcnQgKG9ubHkgZm9yIENMSSBzZXNzaW9ucylcbiAgICAgICAgaWYgKHRva2Vucy5hY2Nlc3NUb2tlbi5zdGFydHNXaXRoKFwiY2xpX1wiKSkge1xuICAgICAgICAgIGNvbnN0IHsgc2hvdWxkT2ZmZXJRdWlja1N0YXJ0LCBvZmZlclF1aWNrU3RhcnQgfSA9XG4gICAgICAgICAgICBhd2FpdCBpbXBvcnQoXCIuL29uYm9hcmRpbmcuanNcIik7XG5cbiAgICAgICAgICBpZiAoYXdhaXQgc2hvdWxkT2ZmZXJRdWlja1N0YXJ0KCkpIHtcbiAgICAgICAgICAgIGF3YWl0IG9mZmVyUXVpY2tTdGFydCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0b2tlbnM7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVycm9yRGF0YSA9IChhd2FpdCB0b2tlblJlc3BvbnNlLmpzb24oKS5jYXRjaCgoKSA9PiAoe30pKSkgYXMge1xuICAgICAgICBlcnJvcj86IHN0cmluZztcbiAgICAgIH07XG5cbiAgICAgIGlmIChlcnJvckRhdGEuZXJyb3IgPT09IFwiYXV0aG9yaXphdGlvbl9wZW5kaW5nXCIpIHtcbiAgICAgICAgLy8gU3RpbGwgd2FpdGluZywgY29udGludWUgcG9sbGluZ1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGVycm9yRGF0YS5lcnJvciA9PT0gXCJleHBpcmVkX3Rva2VuXCIpIHtcbiAgICAgICAgc3Bpbi5mYWlsKFwiTG9naW4gcmVxdWVzdCBleHBpcmVkXCIpO1xuICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlcnJvckRhdGEuZXJyb3IgPT09IFwiYWNjZXNzX2RlbmllZFwiKSB7XG4gICAgICAgIHNwaW4uZmFpbChcIkxvZ2luIHdhcyBkZW5pZWRcIik7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgLy8gTmV0d29yayBlcnJvciwgY29udGludWUgcG9sbGluZ1xuICAgIH1cbiAgfVxuXG4gIHNwaW4uZmFpbChcIkxvZ2luIHRpbWVkIG91dFwiKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufVxuXG4vKipcbiAqIExvZ2luIHdpdGggYW4gQVBJIGtleSBkaXJlY3RseVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXBpS2V5TG9naW4oYXBpS2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgYmFzZVVybCA9IGdldENvbmZpZ1ZhbHVlKFwiYmFzZVVybFwiKSB8fCBcImh0dHBzOi8vc2VuZGx5LmxpdmVcIjtcblxuICAvLyBWYWxpZGF0ZSB0aGUgQVBJIGtleSB3aXRoIHRoZSBzZXJ2ZXJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfS9hcGkvY2xpL2F1dGgvdmVyaWZ5LWtleWAsIHtcbiAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgIGhlYWRlcnM6IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2FwaUtleX1gLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICBjb25zdCBlcnJvciA9IChhd2FpdCByZXNwb25zZS5qc29uKCkuY2F0Y2goKCkgPT4gKHt9KSkpIGFzIHtcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgfTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSB8fCBcIkludmFsaWQgQVBJIGtleVwiKTtcbiAgfVxuXG4gIC8vIFN0b3JlIHRoZSBBUEkga2V5XG4gIHNldEFwaUtleShhcGlLZXkpO1xufVxuXG4vKipcbiAqIExvZ291dCAtIGNsZWFyIGFsbCBzdG9yZWQgY3JlZGVudGlhbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvZ291dCgpOiB2b2lkIHtcbiAgY2xlYXJBdXRoKCk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgY3VycmVudGx5IGF1dGhlbnRpY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrQXV0aCgpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQXV0aGVudGljYXRlZCgpO1xufVxuXG4vKipcbiAqIEdldCBjdXJyZW50IGF1dGggaW5mbyBmb3IgZGlzcGxheVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXV0aEluZm8oKTogUHJvbWlzZTx7XG4gIGF1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIGVtYWlsPzogc3RyaW5nO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIGtleVR5cGU/OiBzdHJpbmc7XG59PiB7XG4gIGNvbnN0IHRva2VuID0gZ2V0QXV0aFRva2VuKCk7XG4gIGNvbnN0IGVtYWlsID0gZ2V0Q29uZmlnVmFsdWUoXCJlbWFpbFwiKTtcbiAgY29uc3QgdXNlcklkID0gZ2V0Q29uZmlnVmFsdWUoXCJ1c2VySWRcIik7XG4gIGNvbnN0IGFwaUtleSA9IGdldENvbmZpZ1ZhbHVlKFwiYXBpS2V5XCIpO1xuICBjb25zdCBlbnZpcm9ubWVudCA9IGdldENvbmZpZ1ZhbHVlKFwiZW52aXJvbm1lbnRcIik7XG5cbiAgaWYgKCF0b2tlbiAmJiAhYXBpS2V5KSB7XG4gICAgcmV0dXJuIHsgYXV0aGVudGljYXRlZDogZmFsc2UsIGVudmlyb25tZW50IH07XG4gIH1cblxuICBsZXQga2V5VHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBpZiAoYXBpS2V5KSB7XG4gICAga2V5VHlwZSA9IGFwaUtleS5zdGFydHNXaXRoKFwic2tfdGVzdF9cIikgPyBcInRlc3RcIiA6IFwibGl2ZVwiO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhdXRoZW50aWNhdGVkOiB0cnVlLFxuICAgIGVtYWlsLFxuICAgIHVzZXJJZCxcbiAgICBlbnZpcm9ubWVudCxcbiAgICBrZXlUeXBlLFxuICB9O1xufVxuXG5mdW5jdGlvbiBzbGVlcChtczogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xufVxuIl19
@@ -918,7 +918,9 @@
918
918
  "examples": [
919
919
  "<%= config.bin %> sms list",
920
920
  "<%= config.bin %> sms list --limit 10",
921
+ "<%= config.bin %> sms list --page 2",
921
922
  "<%= config.bin %> sms list --status delivered",
923
+ "<%= config.bin %> sms list --sandbox",
922
924
  "<%= config.bin %> sms list --json"
923
925
  ],
924
926
  "flags": {
@@ -937,13 +939,28 @@
937
939
  },
938
940
  "limit": {
939
941
  "char": "l",
940
- "description": "Number of messages to show",
942
+ "description": "Number of messages per page",
941
943
  "name": "limit",
942
944
  "default": 20,
943
945
  "hasDynamicHelp": false,
944
946
  "multiple": false,
945
947
  "type": "option"
946
948
  },
949
+ "page": {
950
+ "char": "p",
951
+ "description": "Page number (starts at 1)",
952
+ "name": "page",
953
+ "hasDynamicHelp": false,
954
+ "multiple": false,
955
+ "type": "option"
956
+ },
957
+ "offset": {
958
+ "description": "Offset from start (alternative to --page)",
959
+ "name": "offset",
960
+ "hasDynamicHelp": false,
961
+ "multiple": false,
962
+ "type": "option"
963
+ },
947
964
  "status": {
948
965
  "char": "s",
949
966
  "description": "Filter by status (queued, sent, delivered, failed)",
@@ -951,6 +968,12 @@
951
968
  "hasDynamicHelp": false,
952
969
  "multiple": false,
953
970
  "type": "option"
971
+ },
972
+ "sandbox": {
973
+ "description": "Show sandbox/test messages (live keys only)",
974
+ "name": "sandbox",
975
+ "allowNo": false,
976
+ "type": "boolean"
954
977
  }
955
978
  },
956
979
  "hasDynamicHelp": false,
@@ -1660,6 +1683,19 @@
1660
1683
  "name": "active",
1661
1684
  "allowNo": true,
1662
1685
  "type": "boolean"
1686
+ },
1687
+ "mode": {
1688
+ "char": "m",
1689
+ "description": "Update event mode filter: all, test (sandbox only), live (production only)",
1690
+ "name": "mode",
1691
+ "hasDynamicHelp": false,
1692
+ "multiple": false,
1693
+ "options": [
1694
+ "all",
1695
+ "test",
1696
+ "live"
1697
+ ],
1698
+ "type": "option"
1663
1699
  }
1664
1700
  },
1665
1701
  "hasDynamicHelp": false,
@@ -1678,5 +1714,5 @@
1678
1714
  ]
1679
1715
  }
1680
1716
  },
1681
- "version": "3.1.0"
1717
+ "version": "3.2.0"
1682
1718
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendly/cli",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "type": "module",
5
5
  "description": "Sendly CLI - Send SMS from your terminal",
6
6
  "author": "Sendly <support@sendly.live>",