@inkeep/agents-cli 0.0.0-dev-20250924191551 → 0.0.0-dev-20250924193535

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 (2) hide show
  1. package/dist/index.js +103 -8
  2. package/package.json +6 -4
package/dist/index.js CHANGED
@@ -42,29 +42,124 @@ var init_esm_shims = __esm({
42
42
  });
43
43
 
44
44
  // ../packages/agents-core/src/utils/logger.ts
45
+ import pino from "pino";
46
+ import pinoPretty from "pino-pretty";
45
47
  function getLogger(name) {
46
48
  return loggerFactory.getLogger(name);
47
49
  }
48
- var ConsoleLogger, LoggerFactory, loggerFactory;
50
+ var PinoLogger, LoggerFactory, loggerFactory;
49
51
  var init_logger = __esm({
50
52
  "../packages/agents-core/src/utils/logger.ts"() {
51
53
  "use strict";
52
54
  init_esm_shims();
53
- ConsoleLogger = class {
54
- constructor(name) {
55
+ PinoLogger = class {
56
+ constructor(name, config = {}) {
55
57
  this.name = name;
58
+ this.options = {
59
+ name: this.name,
60
+ level: process.env.LOG_LEVEL || "info",
61
+ serializers: {
62
+ obj: (value) => ({ ...value })
63
+ },
64
+ redact: ["req.headers.authorization", 'req.headers["x-inkeep-admin-authentication"]'],
65
+ ...config.options
66
+ };
67
+ if (config.transportConfigs) {
68
+ this.transportConfigs = config.transportConfigs;
69
+ }
70
+ if (this.transportConfigs.length > 0) {
71
+ this.pinoInstance = pino(this.options, pino.transport({ targets: this.transportConfigs }));
72
+ } else {
73
+ try {
74
+ const prettyStream = pinoPretty({
75
+ colorize: true,
76
+ translateTime: "HH:MM:ss",
77
+ ignore: "pid,hostname"
78
+ });
79
+ this.pinoInstance = pino(this.options, prettyStream);
80
+ } catch (error) {
81
+ console.warn("Warning: pino-pretty failed, using standard JSON output:", error);
82
+ this.pinoInstance = pino(this.options);
83
+ }
84
+ }
85
+ }
86
+ transportConfigs = [];
87
+ pinoInstance;
88
+ options;
89
+ /**
90
+ * Recreate the pino instance with current transports
91
+ */
92
+ recreateInstance() {
93
+ if (this.pinoInstance && typeof this.pinoInstance.flush === "function") {
94
+ this.pinoInstance.flush();
95
+ }
96
+ if (this.transportConfigs.length === 0) {
97
+ try {
98
+ const prettyStream = pinoPretty({
99
+ colorize: true,
100
+ translateTime: "HH:MM:ss",
101
+ ignore: "pid,hostname"
102
+ });
103
+ this.pinoInstance = pino(this.options, prettyStream);
104
+ } catch (error) {
105
+ console.warn("Warning: pino-pretty failed, using standard JSON output:", error);
106
+ this.pinoInstance = pino(this.options);
107
+ }
108
+ } else {
109
+ const multiTransport = { targets: this.transportConfigs };
110
+ const pinoTransport = pino.transport(multiTransport);
111
+ this.pinoInstance = pino(this.options, pinoTransport);
112
+ }
113
+ }
114
+ /**
115
+ * Add a new transport to the logger
116
+ */
117
+ addTransport(transportConfig) {
118
+ this.transportConfigs.push(transportConfig);
119
+ this.recreateInstance();
120
+ }
121
+ /**
122
+ * Remove a transport by index
123
+ */
124
+ removeTransport(index2) {
125
+ if (index2 >= 0 && index2 < this.transportConfigs.length) {
126
+ this.transportConfigs.splice(index2, 1);
127
+ this.recreateInstance();
128
+ }
129
+ }
130
+ /**
131
+ * Get current transports
132
+ */
133
+ getTransports() {
134
+ return [...this.transportConfigs];
135
+ }
136
+ /**
137
+ * Update logger options
138
+ */
139
+ updateOptions(options) {
140
+ this.options = {
141
+ ...this.options,
142
+ ...options
143
+ };
144
+ this.recreateInstance();
145
+ }
146
+ /**
147
+ * Get the underlying pino instance for advanced usage
148
+ */
149
+ getPinoInstance() {
150
+ return this.pinoInstance;
56
151
  }
57
152
  error(data, message) {
58
- console.error(`[${this.name}] ${message}`, data);
153
+ this.pinoInstance.error(data, message);
59
154
  }
60
155
  warn(data, message) {
61
- console.warn(`[${this.name}] ${message}`, data);
156
+ this.pinoInstance.warn(data, message);
62
157
  }
63
158
  info(data, message) {
64
- console.info(`[${this.name}] ${message}`, data);
159
+ this.pinoInstance.info(data, message);
65
160
  }
66
161
  debug(data, message) {
67
- console.debug(`[${this.name}] ${message}`, data);
162
+ this.pinoInstance.debug(data, message);
68
163
  }
69
164
  };
70
165
  LoggerFactory = class {
@@ -94,7 +189,7 @@ var init_logger = __esm({
94
189
  } else if (this.config.defaultLogger) {
95
190
  logger11 = this.config.defaultLogger;
96
191
  } else {
97
- logger11 = new ConsoleLogger(name);
192
+ logger11 = new PinoLogger(name, this.config.pinoConfig);
98
193
  }
99
194
  this.loggers.set(name, logger11);
100
195
  return logger11;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/agents-cli",
3
- "version": "0.0.0-dev-20250924191551",
3
+ "version": "0.0.0-dev-20250924193535",
4
4
  "description": "Inkeep CLI tool",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -40,11 +40,12 @@
40
40
  "inquirer-autocomplete-prompt": "^3.0.1",
41
41
  "ora": "^8.0.1",
42
42
  "picocolors": "^1.1.1",
43
+ "pino": "^9.11.0",
43
44
  "recast": "^0.23.0",
44
45
  "ts-morph": "^26.0.0",
45
46
  "tsx": "^4.20.5",
46
- "@inkeep/agents-core": "^0.0.0-dev-20250924191551",
47
- "@inkeep/agents-manage-ui": "^0.0.0-dev-20250924191551"
47
+ "@inkeep/agents-core": "^0.0.0-dev-20250924193535",
48
+ "@inkeep/agents-manage-ui": "^0.0.0-dev-20250924193535"
48
49
  },
49
50
  "devDependencies": {
50
51
  "@types/degit": "^2.8.6",
@@ -54,7 +55,8 @@
54
55
  "@vitest/coverage-v8": "^3.2.4",
55
56
  "tsup": "^8.5.0",
56
57
  "typescript": "^5.9.2",
57
- "vitest": "^3.2.4"
58
+ "vitest": "^3.2.4",
59
+ "pino-pretty": "^13.1.1"
58
60
  },
59
61
  "peerDependencies": {
60
62
  "zod": "^4.1.5"