@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.
- package/LICENSE +21 -0
- package/README.md +189 -0
- package/bin/copilot-quota.ts +374 -0
- package/bin/glm-quota.ts +467 -0
- package/bin/install.js +439 -0
- package/bin/kimi-quota.ts +314 -0
- package/dist/bin/copilot-quota.d.ts +8 -0
- package/dist/bin/copilot-quota.d.ts.map +1 -0
- package/dist/bin/copilot-quota.js +298 -0
- package/dist/bin/copilot-quota.js.map +1 -0
- package/dist/bin/glm-quota.d.ts +8 -0
- package/dist/bin/glm-quota.d.ts.map +1 -0
- package/dist/bin/glm-quota.js +367 -0
- package/dist/bin/glm-quota.js.map +1 -0
- package/dist/bin/kimi-quota.d.ts +3 -0
- package/dist/bin/kimi-quota.d.ts.map +1 -0
- package/dist/bin/kimi-quota.js +241 -0
- package/dist/bin/kimi-quota.js.map +1 -0
- package/dist/src/api/client.d.ts +76 -0
- package/dist/src/api/client.d.ts.map +1 -0
- package/dist/src/api/client.js +203 -0
- package/dist/src/api/client.js.map +1 -0
- package/dist/src/api/endpoints.d.ts +22 -0
- package/dist/src/api/endpoints.d.ts.map +1 -0
- package/dist/src/api/endpoints.js +41 -0
- package/dist/src/api/endpoints.js.map +1 -0
- package/dist/src/api/platforms.d.ts +20 -0
- package/dist/src/api/platforms.d.ts.map +1 -0
- package/dist/src/api/platforms.js +38 -0
- package/dist/src/api/platforms.js.map +1 -0
- package/dist/src/index.d.ts +10 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +723 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/shared/logging.d.ts +7 -0
- package/dist/src/shared/logging.d.ts.map +1 -0
- package/dist/src/shared/logging.js +29 -0
- package/dist/src/shared/logging.js.map +1 -0
- package/dist/src/utils/box-constants.d.ts +43 -0
- package/dist/src/utils/box-constants.d.ts.map +1 -0
- package/dist/src/utils/box-constants.js +43 -0
- package/dist/src/utils/box-constants.js.map +1 -0
- package/dist/src/utils/date-formatter.d.ts +17 -0
- package/dist/src/utils/date-formatter.d.ts.map +1 -0
- package/dist/src/utils/date-formatter.js +33 -0
- package/dist/src/utils/date-formatter.js.map +1 -0
- package/dist/src/utils/error-formatter.d.ts +17 -0
- package/dist/src/utils/error-formatter.d.ts.map +1 -0
- package/dist/src/utils/error-formatter.js +60 -0
- package/dist/src/utils/error-formatter.js.map +1 -0
- package/dist/src/utils/progress-bar.d.ts +35 -0
- package/dist/src/utils/progress-bar.d.ts.map +1 -0
- package/dist/src/utils/progress-bar.js +43 -0
- package/dist/src/utils/progress-bar.js.map +1 -0
- package/dist/src/utils/reset-timer.d.ts +11 -0
- package/dist/src/utils/reset-timer.d.ts.map +1 -0
- package/dist/src/utils/reset-timer.js +32 -0
- package/dist/src/utils/reset-timer.js.map +1 -0
- package/dist/src/utils/time-window.d.ts +30 -0
- package/dist/src/utils/time-window.d.ts.map +1 -0
- package/dist/src/utils/time-window.js +34 -0
- package/dist/src/utils/time-window.js.map +1 -0
- package/dist/tests/error-handling/api-errors.test.d.ts +7 -0
- package/dist/tests/error-handling/api-errors.test.d.ts.map +1 -0
- package/dist/tests/error-handling/api-errors.test.js +110 -0
- package/dist/tests/error-handling/api-errors.test.js.map +1 -0
- package/dist/tests/error-handling/auth-errors.test.d.ts +7 -0
- package/dist/tests/error-handling/auth-errors.test.d.ts.map +1 -0
- package/dist/tests/error-handling/auth-errors.test.js +110 -0
- package/dist/tests/error-handling/auth-errors.test.js.map +1 -0
- package/dist/tests/error-handling/network-errors.test.d.ts +7 -0
- package/dist/tests/error-handling/network-errors.test.d.ts.map +1 -0
- package/dist/tests/error-handling/network-errors.test.js +94 -0
- package/dist/tests/error-handling/network-errors.test.js.map +1 -0
- package/dist/tests/error-handling/parse-errors.test.d.ts +7 -0
- package/dist/tests/error-handling/parse-errors.test.d.ts.map +1 -0
- package/dist/tests/error-handling/parse-errors.test.js +87 -0
- package/dist/tests/error-handling/parse-errors.test.js.map +1 -0
- package/dist/tests/error-handling/token-sanitization.test.d.ts +2 -0
- package/dist/tests/error-handling/token-sanitization.test.d.ts.map +1 -0
- package/dist/tests/error-handling/token-sanitization.test.js +59 -0
- package/dist/tests/error-handling/token-sanitization.test.js.map +1 -0
- package/dist/tests/functional/date-formatter.test.d.ts +5 -0
- package/dist/tests/functional/date-formatter.test.d.ts.map +1 -0
- package/dist/tests/functional/date-formatter.test.js +46 -0
- package/dist/tests/functional/date-formatter.test.js.map +1 -0
- package/dist/tests/functional/progress-bar.test.d.ts +5 -0
- package/dist/tests/functional/progress-bar.test.d.ts.map +1 -0
- package/dist/tests/functional/progress-bar.test.js +82 -0
- package/dist/tests/functional/progress-bar.test.js.map +1 -0
- package/dist/tests/functional/reset-timer.test.d.ts +6 -0
- package/dist/tests/functional/reset-timer.test.d.ts.map +1 -0
- package/dist/tests/functional/reset-timer.test.js +67 -0
- package/dist/tests/functional/reset-timer.test.js.map +1 -0
- package/dist/tests/functional/time-window.test.d.ts +5 -0
- package/dist/tests/functional/time-window.test.d.ts.map +1 -0
- package/dist/tests/functional/time-window.test.js +46 -0
- package/dist/tests/functional/time-window.test.js.map +1 -0
- package/dist/tests/integration/box-alignment.test.d.ts +8 -0
- package/dist/tests/integration/box-alignment.test.d.ts.map +1 -0
- package/dist/tests/integration/box-alignment.test.js +238 -0
- package/dist/tests/integration/box-alignment.test.js.map +1 -0
- package/dist/tests/integration/error-handling.test.d.ts +2 -0
- package/dist/tests/integration/error-handling.test.d.ts.map +1 -0
- package/dist/tests/integration/error-handling.test.js +36 -0
- package/dist/tests/integration/error-handling.test.js.map +1 -0
- package/dist/tests/integration/installer-config.test.d.ts +2 -0
- package/dist/tests/integration/installer-config.test.d.ts.map +1 -0
- package/dist/tests/integration/installer-config.test.js +65 -0
- package/dist/tests/integration/installer-config.test.js.map +1 -0
- package/dist/tests/integration/plugin-catch-block.test.d.ts +2 -0
- package/dist/tests/integration/plugin-catch-block.test.d.ts.map +1 -0
- package/dist/tests/integration/plugin-catch-block.test.js +134 -0
- package/dist/tests/integration/plugin-catch-block.test.js.map +1 -0
- package/dist/tests/integration/reset-time-display.test.d.ts +6 -0
- package/dist/tests/integration/reset-time-display.test.d.ts.map +1 -0
- package/dist/tests/integration/reset-time-display.test.js +138 -0
- package/dist/tests/integration/reset-time-display.test.js.map +1 -0
- package/dist/tests/module/http-client.test.d.ts +2 -0
- package/dist/tests/module/http-client.test.d.ts.map +1 -0
- package/dist/tests/module/http-client.test.js +49 -0
- package/dist/tests/module/http-client.test.js.map +1 -0
- package/dist/tests/module/platform-detection.test.d.ts +5 -0
- package/dist/tests/module/platform-detection.test.d.ts.map +1 -0
- package/dist/tests/module/platform-detection.test.js +48 -0
- package/dist/tests/module/platform-detection.test.js.map +1 -0
- package/integration/agents/copilot-quota-exec.md +20 -0
- package/integration/agents/glm-quota-exec.md +20 -0
- package/integration/command/copilot_quota.md +6 -0
- package/integration/command/glm_quota.md +6 -0
- package/integration/skills/copilot-quota/SKILL.md +11 -0
- package/integration/skills/glm-quota/SKILL.md +11 -0
- 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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"api-errors.test.d.ts","sourceRoot":"","sources":["../../../tests/error-handling/api-errors.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|