@adriangalilea/utils 2.29.0 → 2.31.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/README.md +33 -17
- package/dist/bot/create.js +2 -2
- package/dist/bot/create.js.map +1 -1
- package/dist/bot/menu.d.ts +39 -0
- package/dist/bot/menu.d.ts.map +1 -1
- package/dist/bot/menu.js +43 -2
- package/dist/bot/menu.js.map +1 -1
- package/dist/bot/payments/handlers.js +4 -4
- package/dist/bot/payments/handlers.js.map +1 -1
- package/dist/bot/payments/invoice.js +3 -3
- package/dist/bot/payments/invoice.js.map +1 -1
- package/dist/bot/payments/refund.js +4 -4
- package/dist/bot/payments/refund.js.map +1 -1
- package/dist/bot/payments/waiver.js +2 -2
- package/dist/bot/payments/waiver.js.map +1 -1
- package/dist/bot/profile.js +2 -2
- package/dist/bot/profile.js.map +1 -1
- package/dist/bot/storage-d1.js +2 -2
- package/dist/bot/storage-d1.js.map +1 -1
- package/dist/bot/storage.js +2 -2
- package/dist/bot/storage.js.map +1 -1
- package/dist/bot/worker.js +3 -3
- package/dist/bot/worker.js.map +1 -1
- package/dist/cli/index.d.ts +3 -3
- package/dist/cli/index.js +3 -3
- package/dist/cli/live.d.ts.map +1 -1
- package/dist/cli/live.js +1 -2
- package/dist/cli/live.js.map +1 -1
- package/dist/cli/text.d.ts +7 -0
- package/dist/cli/text.d.ts.map +1 -1
- package/dist/cli/text.js +21 -2
- package/dist/cli/text.js.map +1 -1
- package/dist/universal/log.d.ts +104 -99
- package/dist/universal/log.d.ts.map +1 -1
- package/dist/universal/log.js +263 -274
- package/dist/universal/log.js.map +1 -1
- package/package.json +2 -1
package/dist/universal/log.d.ts
CHANGED
|
@@ -1,108 +1,113 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* Provides colored output with Unicode symbols for different log levels
|
|
2
|
+
* Terminal-first logger with two renderings and one automatic decision.
|
|
4
3
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* No per-scope level control (can't silence 'bor' but keep 'bdns' verbose).
|
|
8
|
-
* - No withTag/child pattern — consumer can't control library log levels.
|
|
4
|
+
* Two knobs, never confusing: format = how lines render, time = whether
|
|
5
|
+
* lines carry time. Each defaults sensibly and independently.
|
|
9
6
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
7
|
+
* Format — LOG_FORMAT=human|record, or setLogFormat(). Default by TTY
|
|
8
|
+
* detection on the sink: a TTY gets human (symbols, color, a line meant
|
|
9
|
+
* for eyes), anything else gets record (level words, plain text, a line
|
|
10
|
+
* meant for a file read later). Detection happens on the stream actually
|
|
11
|
+
* written to (stderr), never a sibling stream.
|
|
15
12
|
*
|
|
16
|
-
*
|
|
13
|
+
* Time — LOG_TIME=1|0, or setLogTime(). Default: on in Node record mode,
|
|
14
|
+
* off everywhere else (human eyes don't need stamps; browser and Worker
|
|
15
|
+
* consoles stamp lines themselves). Record time opens the line with UTC
|
|
16
|
+
* RFC3339; human time prefixes a dim local HH:MM:SS (a human knows
|
|
17
|
+
* today's date).
|
|
18
|
+
*
|
|
19
|
+
* The record line with time on, identical across go-utils and py-utils by
|
|
20
|
+
* design:
|
|
21
|
+
* 2026-08-07T12:34:56Z WARN [scope] message
|
|
22
|
+
* UTC RFC3339 seconds precision · level word padded to 5 · scope brackets
|
|
23
|
+
* only when scoped · no color, no symbols. Grep WARN, not ⚠.
|
|
24
|
+
*
|
|
25
|
+
* Sinks
|
|
26
|
+
* Node/Bun/Deno: every level writes to stderr through console.error, so
|
|
27
|
+
* stdout stays clean for data and cli/live's console routing keeps log
|
|
28
|
+
* lines above an active region.
|
|
29
|
+
* Browser: level-mapped console methods (debug/info/warn/error), human.
|
|
30
|
+
* Workers: level-mapped console methods, record.
|
|
31
|
+
*
|
|
32
|
+
* Levels vs verbs
|
|
33
|
+
* Levels filter: silent < error < warn < info < debug < trace. An unknown
|
|
34
|
+
* LOG_LEVEL is a misconfiguration and throws Panic.
|
|
35
|
+
* Verbs express outcome and are renderings, never levels:
|
|
36
|
+
* error ⨯ fail ⨯ (error) · warn ⚠ (warn) · info · success ✓ · wait ○ ·
|
|
37
|
+
* ready ▶ · step • (info) · debug ◦ (debug) · trace » (trace).
|
|
38
|
+
* In record mode a verb renders as its level word.
|
|
39
|
+
*
|
|
40
|
+
* Scopes
|
|
41
|
+
* log.scope('api') returns a child whose lines carry [api]; scopes nest
|
|
42
|
+
* and join: log.scope('api').scope('auth') → [api auth]. A scoped logger
|
|
43
|
+
* resolves its threshold from {SCOPE}_LOG_LEVEL (upper-cased, joined and
|
|
44
|
+
* sanitized to A-Z0-9_: API_AUTH_LOG_LEVEL, then API_LOG_LEVEL), falling
|
|
45
|
+
* back to setLogLevel(), then LOG_LEVEL, then info — read live, so one
|
|
46
|
+
* subsystem can be silenced or opened up without touching code.
|
|
47
|
+
*
|
|
48
|
+
* Config is env plus three runtime setters — setLogLevel(), setLogFormat(),
|
|
49
|
+
* setLogTime(). No handlers, no formatters, no init. NO_COLOR /
|
|
50
|
+
* FORCE_COLOR override color within human mode. Unknown values of any
|
|
51
|
+
* knob throw Panic. All internal memory is bounded.
|
|
52
|
+
*
|
|
53
|
+
* Siblings: go-utils and py-utils implement the same doctrine in their own
|
|
54
|
+
* idioms; the record line format is identical by design.
|
|
17
55
|
*/
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
export declare
|
|
21
|
-
|
|
22
|
-
export declare
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export declare const bgGreen: (str: string) => string;
|
|
31
|
-
export declare const bgYellow: (str: string) => string;
|
|
32
|
-
export declare const bgBlue: (str: string) => string;
|
|
33
|
-
export declare const bgMagenta: (str: string) => string;
|
|
34
|
-
export declare const bgCyan: (str: string) => string;
|
|
35
|
-
export declare const bgWhite: (str: string) => string;
|
|
36
|
-
type LogLevelName = "error" | "warn" | "info" | "trace";
|
|
37
|
-
/** Set the global log level at runtime. Overrides LOG_LEVEL env var. */
|
|
38
|
-
export declare function setLogLevel(level: LogLevelName): void;
|
|
39
|
-
export declare function bootstrap(...messages: string[]): void;
|
|
40
|
-
export declare function wait(...messages: unknown[]): void;
|
|
41
|
-
export declare function error(...messages: unknown[]): void;
|
|
42
|
-
export declare function warn(...messages: unknown[]): void;
|
|
43
|
-
export declare function ready(...messages: unknown[]): void;
|
|
44
|
-
export declare function info(...messages: unknown[]): void;
|
|
45
|
-
export declare function success(...messages: unknown[]): void;
|
|
46
|
-
export declare function event(...messages: unknown[]): void;
|
|
47
|
-
export declare function trace(...messages: unknown[]): void;
|
|
48
|
-
export declare function warnOnce(...messages: unknown[]): void;
|
|
49
|
-
export declare function time(label: string): void;
|
|
50
|
-
export declare function timeEnd(label: string): void;
|
|
51
|
-
export declare function createLogger(prefix: string): {
|
|
52
|
-
wait: (...messages: unknown[]) => void;
|
|
53
|
-
error: (...messages: unknown[]) => void;
|
|
54
|
-
warn: (...messages: unknown[]) => void;
|
|
55
|
-
ready: (...messages: unknown[]) => void;
|
|
56
|
-
info: (...messages: unknown[]) => void;
|
|
57
|
-
success: (...messages: unknown[]) => void;
|
|
58
|
-
event: (...messages: unknown[]) => void;
|
|
59
|
-
trace: (...messages: unknown[]) => void;
|
|
60
|
-
warnOnce: (...messages: unknown[]) => void;
|
|
61
|
-
time: (label: string) => void;
|
|
62
|
-
timeEnd: (label: string) => void;
|
|
56
|
+
export type LogFormat = "human" | "record";
|
|
57
|
+
/** Force human or record rendering at runtime. Wins over LOG_FORMAT and auto-detection. */
|
|
58
|
+
export declare function setLogFormat(format: LogFormat): void;
|
|
59
|
+
/** Force time prefixes on or off at runtime. Wins over LOG_TIME and the defaults. */
|
|
60
|
+
export declare function setLogTime(on: boolean): void;
|
|
61
|
+
declare const LEVELS: {
|
|
62
|
+
readonly silent: 0;
|
|
63
|
+
readonly error: 1;
|
|
64
|
+
readonly warn: 2;
|
|
65
|
+
readonly info: 3;
|
|
66
|
+
readonly debug: 4;
|
|
67
|
+
readonly trace: 5;
|
|
63
68
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
export type LogLevel = keyof typeof LEVELS;
|
|
70
|
+
/** Set the global log level at runtime. Wins over LOG_LEVEL; per-scope env vars still win over this. */
|
|
71
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
72
|
+
export interface Logger {
|
|
73
|
+
error(...messages: unknown[]): void;
|
|
74
|
+
fail(...messages: unknown[]): void;
|
|
75
|
+
warn(...messages: unknown[]): void;
|
|
76
|
+
/** warn() that fires once per distinct message for the process lifetime. */
|
|
77
|
+
warnOnce(...messages: unknown[]): void;
|
|
78
|
+
info(...messages: unknown[]): void;
|
|
79
|
+
success(...messages: unknown[]): void;
|
|
80
|
+
wait(...messages: unknown[]): void;
|
|
81
|
+
ready(...messages: unknown[]): void;
|
|
82
|
+
/** Indented sub-step bullet under a wait/ready line. */
|
|
83
|
+
step(...messages: unknown[]): void;
|
|
84
|
+
debug(...messages: unknown[]): void;
|
|
85
|
+
trace(...messages: unknown[]): void;
|
|
86
|
+
/** Start a duration measurement; timeEnd() reports it at trace level. */
|
|
87
|
+
time(label: string): void;
|
|
88
|
+
timeEnd(label: string): void;
|
|
89
|
+
/** Child logger: lines carry [name], level reads {NAME}_LOG_LEVEL first. */
|
|
90
|
+
scope(name: string): Logger;
|
|
91
|
+
}
|
|
92
|
+
export declare const error: (...messages: unknown[]) => void;
|
|
93
|
+
export declare const fail: (...messages: unknown[]) => void;
|
|
94
|
+
export declare const warn: (...messages: unknown[]) => void;
|
|
95
|
+
export declare const warnOnce: (...messages: unknown[]) => void;
|
|
96
|
+
export declare const info: (...messages: unknown[]) => void;
|
|
97
|
+
export declare const success: (...messages: unknown[]) => void;
|
|
98
|
+
export declare const wait: (...messages: unknown[]) => void;
|
|
99
|
+
export declare const ready: (...messages: unknown[]) => void;
|
|
100
|
+
export declare const step: (...messages: unknown[]) => void;
|
|
101
|
+
export declare const debug: (...messages: unknown[]) => void;
|
|
102
|
+
export declare const trace: (...messages: unknown[]) => void;
|
|
103
|
+
export declare const time: (label: string) => void;
|
|
104
|
+
export declare const timeEnd: (label: string) => void;
|
|
105
|
+
export declare const scope: (name: string) => Logger;
|
|
106
|
+
/** The root logger plus its runtime knobs, for namespace-style consumers. */
|
|
107
|
+
export declare const log: Logger & {
|
|
78
108
|
setLogLevel: typeof setLogLevel;
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
dim: (str: string) => string;
|
|
82
|
-
red: (str: string) => string;
|
|
83
|
-
green: (str: string) => string;
|
|
84
|
-
yellow: (str: string) => string;
|
|
85
|
-
blue: (str: string) => string;
|
|
86
|
-
magenta: (str: string) => string;
|
|
87
|
-
cyan: (str: string) => string;
|
|
88
|
-
white: (str: string) => string;
|
|
89
|
-
gray: (str: string) => string;
|
|
90
|
-
purple: (str: string) => string;
|
|
91
|
-
bgRed: (str: string) => string;
|
|
92
|
-
bgGreen: (str: string) => string;
|
|
93
|
-
bgYellow: (str: string) => string;
|
|
94
|
-
bgBlue: (str: string) => string;
|
|
95
|
-
bgMagenta: (str: string) => string;
|
|
96
|
-
bgCyan: (str: string) => string;
|
|
97
|
-
bgWhite: (str: string) => string;
|
|
98
|
-
};
|
|
109
|
+
setLogFormat: typeof setLogFormat;
|
|
110
|
+
setLogTime: typeof setLogTime;
|
|
99
111
|
};
|
|
100
|
-
export {
|
|
101
|
-
export declare function logAppStartup(options: {
|
|
102
|
-
name: string;
|
|
103
|
-
version: string;
|
|
104
|
-
port: number;
|
|
105
|
-
host?: string;
|
|
106
|
-
environment?: string;
|
|
107
|
-
}): void;
|
|
112
|
+
export {};
|
|
108
113
|
//# sourceMappingURL=log.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/universal/log.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/universal/log.ts"],"names":[],"mappings":"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"}
|