@mdrv/opencode-quota 262.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +189 -0
  3. package/bin/copilot-quota.ts +374 -0
  4. package/bin/glm-quota.ts +467 -0
  5. package/bin/install.js +439 -0
  6. package/bin/kimi-quota.ts +314 -0
  7. package/dist/bin/copilot-quota.d.ts +8 -0
  8. package/dist/bin/copilot-quota.d.ts.map +1 -0
  9. package/dist/bin/copilot-quota.js +298 -0
  10. package/dist/bin/copilot-quota.js.map +1 -0
  11. package/dist/bin/glm-quota.d.ts +8 -0
  12. package/dist/bin/glm-quota.d.ts.map +1 -0
  13. package/dist/bin/glm-quota.js +367 -0
  14. package/dist/bin/glm-quota.js.map +1 -0
  15. package/dist/bin/kimi-quota.d.ts +3 -0
  16. package/dist/bin/kimi-quota.d.ts.map +1 -0
  17. package/dist/bin/kimi-quota.js +241 -0
  18. package/dist/bin/kimi-quota.js.map +1 -0
  19. package/dist/src/api/client.d.ts +76 -0
  20. package/dist/src/api/client.d.ts.map +1 -0
  21. package/dist/src/api/client.js +203 -0
  22. package/dist/src/api/client.js.map +1 -0
  23. package/dist/src/api/endpoints.d.ts +22 -0
  24. package/dist/src/api/endpoints.d.ts.map +1 -0
  25. package/dist/src/api/endpoints.js +41 -0
  26. package/dist/src/api/endpoints.js.map +1 -0
  27. package/dist/src/api/platforms.d.ts +20 -0
  28. package/dist/src/api/platforms.d.ts.map +1 -0
  29. package/dist/src/api/platforms.js +38 -0
  30. package/dist/src/api/platforms.js.map +1 -0
  31. package/dist/src/index.d.ts +10 -0
  32. package/dist/src/index.d.ts.map +1 -0
  33. package/dist/src/index.js +723 -0
  34. package/dist/src/index.js.map +1 -0
  35. package/dist/src/shared/logging.d.ts +7 -0
  36. package/dist/src/shared/logging.d.ts.map +1 -0
  37. package/dist/src/shared/logging.js +29 -0
  38. package/dist/src/shared/logging.js.map +1 -0
  39. package/dist/src/utils/box-constants.d.ts +43 -0
  40. package/dist/src/utils/box-constants.d.ts.map +1 -0
  41. package/dist/src/utils/box-constants.js +43 -0
  42. package/dist/src/utils/box-constants.js.map +1 -0
  43. package/dist/src/utils/date-formatter.d.ts +17 -0
  44. package/dist/src/utils/date-formatter.d.ts.map +1 -0
  45. package/dist/src/utils/date-formatter.js +33 -0
  46. package/dist/src/utils/date-formatter.js.map +1 -0
  47. package/dist/src/utils/error-formatter.d.ts +17 -0
  48. package/dist/src/utils/error-formatter.d.ts.map +1 -0
  49. package/dist/src/utils/error-formatter.js +60 -0
  50. package/dist/src/utils/error-formatter.js.map +1 -0
  51. package/dist/src/utils/progress-bar.d.ts +35 -0
  52. package/dist/src/utils/progress-bar.d.ts.map +1 -0
  53. package/dist/src/utils/progress-bar.js +43 -0
  54. package/dist/src/utils/progress-bar.js.map +1 -0
  55. package/dist/src/utils/reset-timer.d.ts +11 -0
  56. package/dist/src/utils/reset-timer.d.ts.map +1 -0
  57. package/dist/src/utils/reset-timer.js +32 -0
  58. package/dist/src/utils/reset-timer.js.map +1 -0
  59. package/dist/src/utils/time-window.d.ts +30 -0
  60. package/dist/src/utils/time-window.d.ts.map +1 -0
  61. package/dist/src/utils/time-window.js +34 -0
  62. package/dist/src/utils/time-window.js.map +1 -0
  63. package/dist/tests/error-handling/api-errors.test.d.ts +7 -0
  64. package/dist/tests/error-handling/api-errors.test.d.ts.map +1 -0
  65. package/dist/tests/error-handling/api-errors.test.js +110 -0
  66. package/dist/tests/error-handling/api-errors.test.js.map +1 -0
  67. package/dist/tests/error-handling/auth-errors.test.d.ts +7 -0
  68. package/dist/tests/error-handling/auth-errors.test.d.ts.map +1 -0
  69. package/dist/tests/error-handling/auth-errors.test.js +110 -0
  70. package/dist/tests/error-handling/auth-errors.test.js.map +1 -0
  71. package/dist/tests/error-handling/network-errors.test.d.ts +7 -0
  72. package/dist/tests/error-handling/network-errors.test.d.ts.map +1 -0
  73. package/dist/tests/error-handling/network-errors.test.js +94 -0
  74. package/dist/tests/error-handling/network-errors.test.js.map +1 -0
  75. package/dist/tests/error-handling/parse-errors.test.d.ts +7 -0
  76. package/dist/tests/error-handling/parse-errors.test.d.ts.map +1 -0
  77. package/dist/tests/error-handling/parse-errors.test.js +87 -0
  78. package/dist/tests/error-handling/parse-errors.test.js.map +1 -0
  79. package/dist/tests/error-handling/token-sanitization.test.d.ts +2 -0
  80. package/dist/tests/error-handling/token-sanitization.test.d.ts.map +1 -0
  81. package/dist/tests/error-handling/token-sanitization.test.js +59 -0
  82. package/dist/tests/error-handling/token-sanitization.test.js.map +1 -0
  83. package/dist/tests/functional/date-formatter.test.d.ts +5 -0
  84. package/dist/tests/functional/date-formatter.test.d.ts.map +1 -0
  85. package/dist/tests/functional/date-formatter.test.js +46 -0
  86. package/dist/tests/functional/date-formatter.test.js.map +1 -0
  87. package/dist/tests/functional/progress-bar.test.d.ts +5 -0
  88. package/dist/tests/functional/progress-bar.test.d.ts.map +1 -0
  89. package/dist/tests/functional/progress-bar.test.js +82 -0
  90. package/dist/tests/functional/progress-bar.test.js.map +1 -0
  91. package/dist/tests/functional/reset-timer.test.d.ts +6 -0
  92. package/dist/tests/functional/reset-timer.test.d.ts.map +1 -0
  93. package/dist/tests/functional/reset-timer.test.js +67 -0
  94. package/dist/tests/functional/reset-timer.test.js.map +1 -0
  95. package/dist/tests/functional/time-window.test.d.ts +5 -0
  96. package/dist/tests/functional/time-window.test.d.ts.map +1 -0
  97. package/dist/tests/functional/time-window.test.js +46 -0
  98. package/dist/tests/functional/time-window.test.js.map +1 -0
  99. package/dist/tests/integration/box-alignment.test.d.ts +8 -0
  100. package/dist/tests/integration/box-alignment.test.d.ts.map +1 -0
  101. package/dist/tests/integration/box-alignment.test.js +238 -0
  102. package/dist/tests/integration/box-alignment.test.js.map +1 -0
  103. package/dist/tests/integration/error-handling.test.d.ts +2 -0
  104. package/dist/tests/integration/error-handling.test.d.ts.map +1 -0
  105. package/dist/tests/integration/error-handling.test.js +36 -0
  106. package/dist/tests/integration/error-handling.test.js.map +1 -0
  107. package/dist/tests/integration/installer-config.test.d.ts +2 -0
  108. package/dist/tests/integration/installer-config.test.d.ts.map +1 -0
  109. package/dist/tests/integration/installer-config.test.js +65 -0
  110. package/dist/tests/integration/installer-config.test.js.map +1 -0
  111. package/dist/tests/integration/plugin-catch-block.test.d.ts +2 -0
  112. package/dist/tests/integration/plugin-catch-block.test.d.ts.map +1 -0
  113. package/dist/tests/integration/plugin-catch-block.test.js +134 -0
  114. package/dist/tests/integration/plugin-catch-block.test.js.map +1 -0
  115. package/dist/tests/integration/reset-time-display.test.d.ts +6 -0
  116. package/dist/tests/integration/reset-time-display.test.d.ts.map +1 -0
  117. package/dist/tests/integration/reset-time-display.test.js +138 -0
  118. package/dist/tests/integration/reset-time-display.test.js.map +1 -0
  119. package/dist/tests/module/http-client.test.d.ts +2 -0
  120. package/dist/tests/module/http-client.test.d.ts.map +1 -0
  121. package/dist/tests/module/http-client.test.js +49 -0
  122. package/dist/tests/module/http-client.test.js.map +1 -0
  123. package/dist/tests/module/platform-detection.test.d.ts +5 -0
  124. package/dist/tests/module/platform-detection.test.d.ts.map +1 -0
  125. package/dist/tests/module/platform-detection.test.js +48 -0
  126. package/dist/tests/module/platform-detection.test.js.map +1 -0
  127. package/integration/agents/copilot-quota-exec.md +20 -0
  128. package/integration/agents/glm-quota-exec.md +20 -0
  129. package/integration/command/copilot_quota.md +6 -0
  130. package/integration/command/glm_quota.md +6 -0
  131. package/integration/skills/copilot-quota/SKILL.md +11 -0
  132. package/integration/skills/glm-quota/SKILL.md +11 -0
  133. package/package.json +69 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Shared logging configuration using logtape
3
+ */
4
+ import { getLogger, type LogLevel } from '@logtape/logtape';
5
+ export { getLogger };
6
+ export declare function configureLogging(level: LogLevel): Promise<void>;
7
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../../src/shared/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAA6B,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAEtF,OAAO,EAAE,SAAS,EAAE,CAAA;AAEpB,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,iBAsBrD"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Shared logging configuration using logtape
3
+ */
4
+ import { configure, getConsoleSink, getLogger } from '@logtape/logtape';
5
+ export { getLogger };
6
+ export async function configureLogging(level) {
7
+ await configure({
8
+ sinks: {
9
+ console: getConsoleSink({
10
+ formatter: (log) => {
11
+ const timestamp = new Date(log.timestamp).toISOString();
12
+ const level = log.level.toUpperCase();
13
+ const category = log.category.join('.');
14
+ const message = log.message;
15
+ return `${timestamp} [${level}] ${category}: ${message}`;
16
+ },
17
+ }),
18
+ },
19
+ loggers: [
20
+ // Root logger for CLI
21
+ { category: ['opencode-quota'], lowestLevel: level, sinks: ['console'] },
22
+ // Debug category for detailed API logging
23
+ { category: ['opencode-quota', 'cli', 'debug'], lowestLevel: 'debug', sinks: ['console'] },
24
+ // Suppress logtape meta messages
25
+ { category: ['logtape'], lowestLevel: 'warning', sinks: ['console'] },
26
+ ],
27
+ });
28
+ }
29
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/shared/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAiB,MAAM,kBAAkB,CAAA;AAEtF,OAAO,EAAE,SAAS,EAAE,CAAA;AAEpB,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAe;IACrD,MAAM,SAAS,CAAC;QACf,KAAK,EAAE;YACN,OAAO,EAAE,cAAc,CAAC;gBACvB,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAClB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAA;oBACvD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAA;oBACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACvC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;oBAC3B,OAAO,GAAG,SAAS,KAAK,KAAK,KAAK,QAAQ,KAAK,OAAO,EAAE,CAAA;gBACzD,CAAC;aACD,CAAC;SACF;QACD,OAAO,EAAE;YACR,sBAAsB;YACtB,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YACxE,0CAA0C;YAC1C,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;YAC1F,iCAAiC;YACjC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;SACrE;KACD,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Box drawing layout constants
3
+ *
4
+ * Box structure:
5
+ * - Total line width: LEFT_BORDER (1) + LEFT_PAD (2) + CONTENT (56) + RIGHT_BORDER (1) = 60
6
+ * - Border lines: ╔ + 58 chars + ╗ = 60 total
7
+ * - Content lines: ║ + 2 spaces + 56 content + ║ = 60 total (formatted by formatBoxLine)
8
+ */
9
+ export declare const BOX_WIDTH: {
10
+ readonly CONTENT: 56;
11
+ readonly BORDER_CHARS: 58;
12
+ readonly TOTAL: 60;
13
+ readonly PADDING: 2;
14
+ };
15
+ /**
16
+ * Progress bar component widths
17
+ *
18
+ * Format: "Label (20) [Bar (12)] Pct (6)"
19
+ * Layout calculation:
20
+ * - Label: 20 chars
21
+ * - Spacing: 2 chars (" ")
22
+ * - Bar brackets: 2 chars ("[" + "]")
23
+ * - Bar content: 12 chars
24
+ * - Spacing: 1 char (" ")
25
+ * - Percentage: 6 chars ("100.0%")
26
+ * Total: 20 + 2 + 1 + 12 + 1 + 1 + 6 = 43 chars (fits in CONTENT: 56)
27
+ */
28
+ export declare const PROGRESS_BAR: {
29
+ readonly LABEL_WIDTH: 20;
30
+ readonly BAR_WIDTH: 12;
31
+ readonly PERCENTAGE_WIDTH: 6;
32
+ readonly DEFAULT_WIDTH: 30;
33
+ };
34
+ /**
35
+ * Header title centering calculation
36
+ *
37
+ * Title: " Z.ai GLM Coding Plan Usage Statistics " = 41 chars
38
+ * padStart(35) + padEnd(58) centers it within 58-char border width
39
+ */
40
+ export declare const HEADER: {
41
+ readonly TITLE_PAD_START: 35;
42
+ };
43
+ //# sourceMappingURL=box-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-constants.d.ts","sourceRoot":"","sources":["../../../src/utils/box-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS;;;;;CAKZ,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAA;AAEV;;;;;GAKG;AACH,eAAO,MAAM,MAAM;;CAET,CAAA"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Box drawing layout constants
3
+ *
4
+ * Box structure:
5
+ * - Total line width: LEFT_BORDER (1) + LEFT_PAD (2) + CONTENT (56) + RIGHT_BORDER (1) = 60
6
+ * - Border lines: ╔ + 58 chars + ╗ = 60 total
7
+ * - Content lines: ║ + 2 spaces + 56 content + ║ = 60 total (formatted by formatBoxLine)
8
+ */
9
+ export const BOX_WIDTH = {
10
+ CONTENT: 56, // Available content width
11
+ BORDER_CHARS: 58, // Character count between borders (╔══...══╗)
12
+ TOTAL: 60, // Total line width including borders
13
+ PADDING: 2, // Left/right padding inside box
14
+ };
15
+ /**
16
+ * Progress bar component widths
17
+ *
18
+ * Format: "Label (20) [Bar (12)] Pct (6)"
19
+ * Layout calculation:
20
+ * - Label: 20 chars
21
+ * - Spacing: 2 chars (" ")
22
+ * - Bar brackets: 2 chars ("[" + "]")
23
+ * - Bar content: 12 chars
24
+ * - Spacing: 1 char (" ")
25
+ * - Percentage: 6 chars ("100.0%")
26
+ * Total: 20 + 2 + 1 + 12 + 1 + 1 + 6 = 43 chars (fits in CONTENT: 56)
27
+ */
28
+ export const PROGRESS_BAR = {
29
+ LABEL_WIDTH: 20, // Label column width
30
+ BAR_WIDTH: 12, // Progress bar visual width
31
+ PERCENTAGE_WIDTH: 6, // "100.0%" width
32
+ DEFAULT_WIDTH: 30, // Default width when used standalone
33
+ };
34
+ /**
35
+ * Header title centering calculation
36
+ *
37
+ * Title: " Z.ai GLM Coding Plan Usage Statistics " = 41 chars
38
+ * padStart(35) + padEnd(58) centers it within 58-char border width
39
+ */
40
+ export const HEADER = {
41
+ TITLE_PAD_START: 35, // Center position for title
42
+ };
43
+ //# sourceMappingURL=box-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"box-constants.js","sourceRoot":"","sources":["../../../src/utils/box-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,OAAO,EAAE,EAAE,EAAE,0BAA0B;IACvC,YAAY,EAAE,EAAE,EAAE,8CAA8C;IAChE,KAAK,EAAE,EAAE,EAAE,qCAAqC;IAChD,OAAO,EAAE,CAAC,EAAE,gCAAgC;CACnC,CAAA;AAEV;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC3B,WAAW,EAAE,EAAE,EAAE,qBAAqB;IACtC,SAAS,EAAE,EAAE,EAAE,4BAA4B;IAC3C,gBAAgB,EAAE,CAAC,EAAE,iBAAiB;IACtC,aAAa,EAAE,EAAE,EAAE,qCAAqC;CAC/C,CAAA;AAEV;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,eAAe,EAAE,EAAE,EAAE,4BAA4B;CACxC,CAAA"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Date formatter module
3
+ * Formats dates as yyyy-MM-dd HH:mm:ss
4
+ */
5
+ /**
6
+ * Format date as yyyy-MM-dd HH:mm:ss
7
+ * @param date - Date to format
8
+ * @returns Formatted date string
9
+ */
10
+ export declare function formatDateTime(date: Date): string;
11
+ /**
12
+ * Parse datetime string back to Date
13
+ * @param dateTime - Formatted datetime string (yyyy-MM-dd HH:mm:ss)
14
+ * @returns Date object
15
+ */
16
+ export declare function parseDateTime(dateTime: string): Date;
17
+ //# sourceMappingURL=date-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatter.d.ts","sourceRoot":"","sources":["../../../src/utils/date-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAQjD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAepD"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Date formatter module
3
+ * Formats dates as yyyy-MM-dd HH:mm:ss
4
+ */
5
+ /**
6
+ * Format date as yyyy-MM-dd HH:mm:ss
7
+ * @param date - Date to format
8
+ * @returns Formatted date string
9
+ */
10
+ export function formatDateTime(date) {
11
+ const year = date.getFullYear();
12
+ const month = String(date.getMonth() + 1).padStart(2, '0');
13
+ const day = String(date.getDate()).padStart(2, '0');
14
+ const hours = String(date.getHours()).padStart(2, '0');
15
+ const minutes = String(date.getMinutes()).padStart(2, '0');
16
+ const seconds = String(date.getSeconds()).padStart(2, '0');
17
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
18
+ }
19
+ /**
20
+ * Parse datetime string back to Date
21
+ * @param dateTime - Formatted datetime string (yyyy-MM-dd HH:mm:ss)
22
+ * @returns Date object
23
+ */
24
+ export function parseDateTime(dateTime) {
25
+ const dateTimeRegex = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/;
26
+ const match = dateTimeRegex.exec(dateTime);
27
+ if (!match) {
28
+ throw new Error(`Invalid datetime format: ${dateTime}`);
29
+ }
30
+ const [, year, month, day, hours, minutes, seconds] = match;
31
+ return new Date(Number.parseInt(year), Number.parseInt(month) - 1, Number.parseInt(day), Number.parseInt(hours), Number.parseInt(minutes), Number.parseInt(seconds));
32
+ }
33
+ //# sourceMappingURL=date-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-formatter.js","sourceRoot":"","sources":["../../../src/utils/date-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAU;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1D,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,EAAE,CAAA;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC7C,MAAM,aAAa,GAAG,mDAAmD,CAAA;IACzE,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,EAAE,CAAC,CAAA;IACxD,CAAC;IACD,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,KAAK,CAAA;IAC3D,OAAO,IAAI,IAAI,CACd,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACtB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EACxB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CACxB,CAAA;AACF,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Sanitizes error messages by replacing authentication tokens with ***
3
+ * to prevent token exposure in logs and error outputs.
4
+ *
5
+ * @param message - The error message that may contain a token
6
+ * @param token - Optional authentication token to sanitize from the message
7
+ * @returns The sanitized message with tokens replaced by ***
8
+ */
9
+ export declare function sanitizeToken(message: string, token?: string): string;
10
+ /**
11
+ * Create a boxed error message
12
+ * Uses BOX_WIDTH constant for consistent formatting across the plugin
13
+ * @param message - Error message to box
14
+ * @returns Boxed error message
15
+ */
16
+ export declare function createBoxedError(message: string): string;
17
+ //# sourceMappingURL=error-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-formatter.d.ts","sourceRoot":"","sources":["../../../src/utils/error-formatter.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAMrE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAwCxD"}
@@ -0,0 +1,60 @@
1
+ import { BOX_WIDTH } from './box-constants.js';
2
+ /**
3
+ * Sanitizes error messages by replacing authentication tokens with ***
4
+ * to prevent token exposure in logs and error outputs.
5
+ *
6
+ * @param message - The error message that may contain a token
7
+ * @param token - Optional authentication token to sanitize from the message
8
+ * @returns The sanitized message with tokens replaced by ***
9
+ */
10
+ export function sanitizeToken(message, token) {
11
+ if (!token || token === '') {
12
+ return message;
13
+ }
14
+ return message.replaceAll(token, '***');
15
+ }
16
+ /**
17
+ * Create a boxed error message
18
+ * Uses BOX_WIDTH constant for consistent formatting across the plugin
19
+ * @param message - Error message to box
20
+ * @returns Boxed error message
21
+ */
22
+ export function createBoxedError(message) {
23
+ const width = BOX_WIDTH.TOTAL;
24
+ const padding = BOX_WIDTH.PADDING;
25
+ const contentWidth = BOX_WIDTH.CONTENT;
26
+ const borderChars = BOX_WIDTH.BORDER_CHARS;
27
+ const lines = [];
28
+ const words = message.split(' ');
29
+ let currentLine = '';
30
+ // Word wrap to fit content width
31
+ for (const word of words) {
32
+ // If word is longer than content width, truncate it
33
+ const ellipsisLength = 3; // Length of "..."
34
+ const truncatedWord = word.length > contentWidth
35
+ ? `${word.substring(0, contentWidth - ellipsisLength)}...`
36
+ : word;
37
+ if (currentLine.length + truncatedWord.length + 1 <= contentWidth) {
38
+ currentLine += (currentLine ? ' ' : '') + truncatedWord;
39
+ }
40
+ else {
41
+ if (currentLine)
42
+ lines.push(currentLine);
43
+ currentLine = truncatedWord;
44
+ }
45
+ }
46
+ if (currentLine) {
47
+ lines.push(currentLine);
48
+ }
49
+ // Build boxed output
50
+ const topBorder = '╔' + '═'.repeat(borderChars) + '╗';
51
+ const bottomBorder = '╚' + '═'.repeat(borderChars) + '╝';
52
+ const paddedLines = lines.map(line => {
53
+ const leftPad = ' '.repeat(padding);
54
+ // rightPad calculation: total (60) - borders (2) - left pad (2) - content length
55
+ const rightPad = ' '.repeat(Math.max(0, width - 2 - padding - line.length));
56
+ return '║' + leftPad + line + rightPad + '║';
57
+ });
58
+ return [topBorder, ...paddedLines, bottomBorder].join('\n');
59
+ }
60
+ //# sourceMappingURL=error-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../../src/utils/error-formatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,KAAc;IAC5D,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAA;IACf,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACxC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;IACjC,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAA;IACtC,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAA;IAE1C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChC,IAAI,WAAW,GAAG,EAAE,CAAA;IAEpB,iCAAiC;IACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,oDAAoD;QACpD,MAAM,cAAc,GAAG,CAAC,CAAA,CAAC,kBAAkB;QAC3C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY;YAC/C,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,KAAK;YAC1D,CAAC,CAAC,IAAI,CAAA;QAEP,IAAI,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;YACnE,WAAW,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAA;QACxD,CAAC;aAAM,CAAC;YACP,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YACxC,WAAW,GAAG,aAAa,CAAA;QAC5B,CAAC;IACF,CAAC;IACD,IAAI,WAAW,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxB,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IACrD,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAA;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACpC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACnC,iFAAiF;QACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC3E,OAAO,GAAG,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC5D,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Progress bar module
3
+ * Creates ASCII progress bars for quota visualization
4
+ */
5
+ /**
6
+ * Progress bar options
7
+ */
8
+ export interface ProgressBarOptions {
9
+ width?: number;
10
+ filledChar?: string;
11
+ emptyChar?: string;
12
+ }
13
+ /**
14
+ * Create ASCII progress bar
15
+ * @param percentage - Percentage (0-100)
16
+ * @param options - Bar options
17
+ * @returns Progress bar string
18
+ */
19
+ export declare function createProgressBar(percentage: number, options?: ProgressBarOptions): string;
20
+ /**
21
+ * Format percentage with sign
22
+ * @param percentage - Percentage value
23
+ * @param decimals - Decimal places (default: 1)
24
+ * @returns Formatted percentage string (e.g., '40.5%')
25
+ */
26
+ export declare function formatPercentage(percentage: number, decimals?: number): string;
27
+ /**
28
+ * Create full progress bar line for quota display
29
+ * Uses PROGRESS_BAR constants for consistent width across plugin
30
+ * @param label - Label text
31
+ * @param percentage - Percentage value
32
+ * @returns Formatted progress bar line
33
+ */
34
+ export declare function formatProgressLine(label: string, percentage: number): string;
35
+ //# sourceMappingURL=progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.d.ts","sourceRoot":"","sources":["../../../src/utils/progress-bar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,kBAAuB,GAC9B,MAAM,CAeR;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAEjF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAChB,MAAM,CAMR"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Progress bar module
3
+ * Creates ASCII progress bars for quota visualization
4
+ */
5
+ import { PROGRESS_BAR } from './box-constants.js';
6
+ /**
7
+ * Create ASCII progress bar
8
+ * @param percentage - Percentage (0-100)
9
+ * @param options - Bar options
10
+ * @returns Progress bar string
11
+ */
12
+ export function createProgressBar(percentage, options = {}) {
13
+ const { width = PROGRESS_BAR.DEFAULT_WIDTH, filledChar = '#', emptyChar = '-', } = options;
14
+ // Clamp percentage to 0-100
15
+ const clampedPercentage = Math.min(100, Math.max(0, percentage));
16
+ // Calculate filled width
17
+ const filledWidth = Math.round((clampedPercentage / 100) * width);
18
+ const emptyWidth = width - filledWidth;
19
+ return filledChar.repeat(filledWidth) + emptyChar.repeat(emptyWidth);
20
+ }
21
+ /**
22
+ * Format percentage with sign
23
+ * @param percentage - Percentage value
24
+ * @param decimals - Decimal places (default: 1)
25
+ * @returns Formatted percentage string (e.g., '40.5%')
26
+ */
27
+ export function formatPercentage(percentage, decimals = 1) {
28
+ return `${percentage.toFixed(decimals)}%`;
29
+ }
30
+ /**
31
+ * Create full progress bar line for quota display
32
+ * Uses PROGRESS_BAR constants for consistent width across plugin
33
+ * @param label - Label text
34
+ * @param percentage - Percentage value
35
+ * @returns Formatted progress bar line
36
+ */
37
+ export function formatProgressLine(label, percentage) {
38
+ const bar = createProgressBar(percentage, { width: PROGRESS_BAR.BAR_WIDTH });
39
+ const pctStr = formatPercentage(percentage).padStart(PROGRESS_BAR.PERCENTAGE_WIDTH);
40
+ const labelStr = label.slice(0, PROGRESS_BAR.LABEL_WIDTH).padEnd(PROGRESS_BAR.LABEL_WIDTH);
41
+ return `${labelStr} [${bar}] ${pctStr}`;
42
+ }
43
+ //# sourceMappingURL=progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-bar.js","sourceRoot":"","sources":["../../../src/utils/progress-bar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAWjD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,UAAkB,EAClB,UAA8B,EAAE;IAEhC,MAAM,EACL,KAAK,GAAG,YAAY,CAAC,aAAa,EAClC,UAAU,GAAG,GAAG,EAChB,SAAS,GAAG,GAAG,GACf,GAAG,OAAO,CAAA;IAEX,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAA;IAEhE,yBAAyB;IACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAA;IACjE,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,CAAA;IAEtC,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,WAAmB,CAAC;IACxE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAA;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CACjC,KAAa,EACb,UAAkB;IAElB,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;IACnF,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IAE1F,OAAO,GAAG,QAAQ,MAAM,GAAG,KAAK,MAAM,EAAE,CAAA;AACzC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Reset timer utility module
3
+ * Formats Unix timestamps to human-readable countdown strings
4
+ */
5
+ /**
6
+ * Format time until reset as "X hours Y minutes"
7
+ * @param resetTime - Unix timestamp in milliseconds (from API's nextResetTime field)
8
+ * @returns Human-readable countdown string or empty string if invalid/past
9
+ */
10
+ export declare function formatTimeUntilReset(resetTime: number | null | undefined): string;
11
+ //# sourceMappingURL=reset-timer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-timer.d.ts","sourceRoot":"","sources":["../../../src/utils/reset-timer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CA0BjF"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Reset timer utility module
3
+ * Formats Unix timestamps to human-readable countdown strings
4
+ */
5
+ /**
6
+ * Format time until reset as "X hours Y minutes"
7
+ * @param resetTime - Unix timestamp in milliseconds (from API's nextResetTime field)
8
+ * @returns Human-readable countdown string or empty string if invalid/past
9
+ */
10
+ export function formatTimeUntilReset(resetTime) {
11
+ // Validate input
12
+ if (resetTime === null || resetTime === undefined) {
13
+ return '';
14
+ }
15
+ // Check if valid number
16
+ if (typeof resetTime !== 'number' || Number.isNaN(resetTime) || resetTime < 0) {
17
+ return '';
18
+ }
19
+ // Calculate time difference
20
+ const now = Date.now();
21
+ const diffMs = resetTime - now;
22
+ // Return empty for past timestamps
23
+ if (diffMs <= 0) {
24
+ return '';
25
+ }
26
+ // Convert to hours and minutes
27
+ const totalMinutes = Math.floor(diffMs / (1000 * 60));
28
+ const hours = Math.floor(totalMinutes / 60);
29
+ const minutes = totalMinutes % 60;
30
+ return `Resets in ${hours} hours ${minutes} minutes`;
31
+ }
32
+ //# sourceMappingURL=reset-timer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reset-timer.js","sourceRoot":"","sources":["../../../src/utils/reset-timer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAoC;IACxE,iBAAiB;IACjB,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QACnD,OAAO,EAAE,CAAA;IACV,CAAC;IAED,wBAAwB;IACxB,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC/E,OAAO,EAAE,CAAA;IACV,CAAC;IAED,4BAA4B;IAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,SAAS,GAAG,GAAG,CAAA;IAE9B,mCAAmC;IACnC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO,EAAE,CAAA;IACV,CAAC;IAED,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,YAAY,GAAG,EAAE,CAAA;IAEjC,OAAO,aAAa,KAAK,UAAU,OAAO,UAAU,CAAA;AACrD,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Time window module
3
+ * Calculates 24-hour rolling window for usage queries
4
+ */
5
+ /**
6
+ * Time window result
7
+ */
8
+ export interface TimeWindow {
9
+ startTime: string;
10
+ endTime: string;
11
+ }
12
+ /**
13
+ * Get 24-hour rolling time window
14
+ * From yesterday at current hour to today at current hour end
15
+ *
16
+ * Example: If now is 2026-01-18 14:30:00
17
+ * - startTime: 2026-01-17 14:00:00
18
+ * - endTime: 2026-01-18 14:59:59.999
19
+ *
20
+ * @param now - Current date (defaults to now)
21
+ * @returns Time window with formatted start and end times
22
+ */
23
+ export declare function getTimeWindow(now?: Date): TimeWindow;
24
+ /**
25
+ * Create query parameters for time window
26
+ * @param now - Current date (defaults to now)
27
+ * @returns URL-encoded query string
28
+ */
29
+ export declare function getTimeWindowQueryParams(now?: Date): string;
30
+ //# sourceMappingURL=time-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-window.d.ts","sourceRoot":"","sources":["../../../src/utils/time-window.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,IAAiB,GAAG,UAAU,CAyBhE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,IAAiB,GAAG,MAAM,CAGvE"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Time window module
3
+ * Calculates 24-hour rolling window for usage queries
4
+ */
5
+ import { formatDateTime } from './date-formatter.js';
6
+ /**
7
+ * Get 24-hour rolling time window
8
+ * From yesterday at current hour to today at current hour end
9
+ *
10
+ * Example: If now is 2026-01-18 14:30:00
11
+ * - startTime: 2026-01-17 14:00:00
12
+ * - endTime: 2026-01-18 14:59:59.999
13
+ *
14
+ * @param now - Current date (defaults to now)
15
+ * @returns Time window with formatted start and end times
16
+ */
17
+ export function getTimeWindow(now = new Date()) {
18
+ const startDate = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1, now.getHours(), 0, 0, 0);
19
+ const endDate = new Date(now.getFullYear(), now.getMonth(), now.getDate(), now.getHours(), 59, 59, 999);
20
+ return {
21
+ startTime: formatDateTime(startDate),
22
+ endTime: formatDateTime(endDate),
23
+ };
24
+ }
25
+ /**
26
+ * Create query parameters for time window
27
+ * @param now - Current date (defaults to now)
28
+ * @returns URL-encoded query string
29
+ */
30
+ export function getTimeWindowQueryParams(now = new Date()) {
31
+ const { startTime, endTime } = getTimeWindow(now);
32
+ return `startTime=${encodeURIComponent(startTime)}&endTime=${encodeURIComponent(endTime)}`;
33
+ }
34
+ //# sourceMappingURL=time-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time-window.js","sourceRoot":"","sources":["../../../src/utils/time-window.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAUpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,MAAY,IAAI,IAAI,EAAE;IACnD,MAAM,SAAS,GAAG,IAAI,IAAI,CACzB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,CAAC,EACD,CAAC,EACD,CAAC,CACD,CAAA;IAED,MAAM,OAAO,GAAG,IAAI,IAAI,CACvB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,EACb,GAAG,CAAC,QAAQ,EAAE,EACd,EAAE,EACF,EAAE,EACF,GAAG,CACH,CAAA;IAED,OAAO;QACN,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC;QACpC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;KAChC,CAAA;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAY,IAAI,IAAI,EAAE;IAC9D,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IACjD,OAAO,aAAa,kBAAkB,CAAC,SAAS,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAA;AAC3F,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * API Error Handling Tests
3
+ * Tests for HTTP 429 rate limiting and 500+ server errors
4
+ * Following TDD methodology with AAA pattern
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=api-errors.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-errors.test.d.ts","sourceRoot":"","sources":["../../../tests/error-handling/api-errors.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}