@mclawnet/logger 0.1.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.
@@ -0,0 +1,17 @@
1
+ type LogLevel = "debug" | "info" | "warn" | "error";
2
+ interface BrowserLoggerOptions {
3
+ module: string;
4
+ level?: LogLevel;
5
+ sessionId?: string;
6
+ swarmId?: string;
7
+ }
8
+ export interface BrowserLogger {
9
+ debug: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
10
+ info: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
11
+ warn: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
12
+ error: (msgOrObj: string | Record<string, unknown>, ...args: unknown[]) => void;
13
+ child: (bindings: Record<string, string>) => BrowserLogger;
14
+ }
15
+ export declare function createBrowserLogger(opts: BrowserLoggerOptions): BrowserLogger;
16
+ export {};
17
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAAA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAWpD,UAAU,oBAAoB;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChF,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/E,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/E,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAChF,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,CAAC;CAC5D;AAmBD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAmC7E"}
@@ -0,0 +1,65 @@
1
+ const LEVEL_ORDER = { debug: 0, info: 1, warn: 2, error: 3 };
2
+ const LOG_METHODS = {
3
+ debug: console.debug.bind(console),
4
+ info: console.log.bind(console),
5
+ warn: console.warn.bind(console),
6
+ error: console.error.bind(console),
7
+ };
8
+ function shouldLog(current, threshold) {
9
+ return LEVEL_ORDER[current] >= LEVEL_ORDER[threshold];
10
+ }
11
+ // Note: import.meta.env is Vite-specific, fallback for non-Vite environments
12
+ const getGlobalLevel = () => {
13
+ if (typeof window !== "undefined") {
14
+ const stored = localStorage.getItem("LOG_LEVEL");
15
+ if (stored && stored in LEVEL_ORDER)
16
+ return stored;
17
+ }
18
+ try {
19
+ // @ts-ignore - Vite-specific
20
+ if (import.meta.env?.DEV)
21
+ return "debug";
22
+ }
23
+ catch { }
24
+ return "warn";
25
+ };
26
+ export function createBrowserLogger(opts) {
27
+ const level = opts.level ?? getGlobalLevel();
28
+ const prefix = `[${opts.module}]`;
29
+ const ctx = {};
30
+ if (opts.sessionId)
31
+ ctx.sessionId = opts.sessionId;
32
+ if (opts.swarmId)
33
+ ctx.swarmId = opts.swarmId;
34
+ const hasCtx = Object.keys(ctx).length > 0;
35
+ function makeMethod(lvl) {
36
+ return (msgOrObj, ...args) => {
37
+ if (!shouldLog(lvl, level))
38
+ return;
39
+ const fn = LOG_METHODS[lvl];
40
+ if (typeof msgOrObj === "object") {
41
+ fn(prefix, msgOrObj, ...args);
42
+ }
43
+ else if (hasCtx) {
44
+ fn(prefix, ctx, msgOrObj, ...args);
45
+ }
46
+ else {
47
+ fn(prefix, msgOrObj, ...args);
48
+ }
49
+ };
50
+ }
51
+ return {
52
+ debug: makeMethod("debug"),
53
+ info: makeMethod("info"),
54
+ warn: makeMethod("warn"),
55
+ error: makeMethod("error"),
56
+ child(bindings) {
57
+ return createBrowserLogger({
58
+ ...opts,
59
+ ...bindings,
60
+ module: bindings.module ?? opts.module,
61
+ });
62
+ },
63
+ };
64
+ }
65
+ //# sourceMappingURL=browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import pino from "pino";
2
+ export type LogModule = "hub" | "ws/agent" | "ws/chat" | "agent" | "claude" | "swarm" | "swarm/router" | "db" | "migrate" | "gateway";
3
+ export interface CreateLoggerOptions {
4
+ module: LogModule | string;
5
+ level?: pino.Level;
6
+ sessionId?: string;
7
+ swarmId?: string;
8
+ }
9
+ export declare function createLogger(opts: CreateLoggerOptions): pino.Logger;
10
+ export declare function getRootLogger(): pino.Logger;
11
+ export type { pino };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,SAAS,GACjB,KAAK,GACL,UAAU,GACV,SAAS,GACT,OAAO,GACP,QAAQ,GACR,OAAO,GACP,cAAc,GACd,IAAI,GACJ,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyBD,wBAAgB,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAKnE;AAED,wBAAgB,aAAa,IAAI,IAAI,CAAC,MAAM,CAE3C;AAED,YAAY,EAAE,IAAI,EAAE,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ import pino from "pino";
2
+ const isDev = process.env.NODE_ENV !== "production";
3
+ const rootLogger = pino({
4
+ level: process.env.LOG_LEVEL ?? (isDev ? "debug" : "info"),
5
+ transport: isDev
6
+ ? {
7
+ target: "pino-pretty",
8
+ options: {
9
+ colorize: true,
10
+ ignore: "pid,hostname",
11
+ translateTime: "HH:MM:ss.l",
12
+ messageFormat: "[{module}] {msg}",
13
+ },
14
+ }
15
+ : undefined,
16
+ formatters: {
17
+ level(label) {
18
+ return { level: label };
19
+ },
20
+ },
21
+ timestamp: pino.stdTimeFunctions.isoTime,
22
+ });
23
+ export function createLogger(opts) {
24
+ const bindings = { module: opts.module };
25
+ if (opts.sessionId)
26
+ bindings.sessionId = opts.sessionId;
27
+ if (opts.swarmId)
28
+ bindings.swarmId = opts.swarmId;
29
+ return rootLogger.child(bindings);
30
+ }
31
+ export function getRootLogger() {
32
+ return rootLogger;
33
+ }
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAqBxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;AAEpD,MAAM,UAAU,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,SAAS,EAAE,KAAK;QACd,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,cAAc;gBACtB,aAAa,EAAE,YAAY;gBAC3B,aAAa,EAAE,kBAAkB;aAClC;SACF;QACH,CAAC,CAAC,SAAS;IACb,UAAU,EAAE;QACV,KAAK,CAAC,KAAK;YACT,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC;KACF;IACD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;CACzC,CAAC,CAAC;AAEH,MAAM,UAAU,YAAY,CAAC,IAAyB;IACpD,MAAM,QAAQ,GAA2B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IACjE,IAAI,IAAI,CAAC,SAAS;QAAE,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACxD,IAAI,IAAI,CAAC,OAAO;QAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClD,OAAO,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@mclawnet/logger",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./dist/index.d.ts",
8
+ "default": "./dist/index.js"
9
+ },
10
+ "./browser": {
11
+ "types": "./dist/browser.d.ts",
12
+ "default": "./dist/browser.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "dependencies": {
22
+ "pino": "^9.6.0"
23
+ },
24
+ "devDependencies": {
25
+ "pino-pretty": "^13.0.0",
26
+ "typescript": "^5.8.3"
27
+ },
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "clean": "rm -rf dist"
31
+ }
32
+ }