mcp-agent-foundry 1.3.0 → 2.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/README.md +350 -52
- package/dist/background/index.d.ts +33 -0
- package/dist/background/index.d.ts.map +1 -0
- package/dist/background/index.js +33 -0
- package/dist/background/index.js.map +1 -0
- package/dist/background/task-runner.d.ts +177 -0
- package/dist/background/task-runner.d.ts.map +1 -0
- package/dist/background/task-runner.js +551 -0
- package/dist/background/task-runner.js.map +1 -0
- package/dist/background/types.d.ts +135 -0
- package/dist/background/types.d.ts.map +1 -0
- package/dist/background/types.js +8 -0
- package/dist/background/types.js.map +1 -0
- package/dist/failover/health-tracker.d.ts +81 -1
- package/dist/failover/health-tracker.d.ts.map +1 -1
- package/dist/failover/health-tracker.js +229 -1
- package/dist/failover/health-tracker.js.map +1 -1
- package/dist/hooks/hook-executor.d.ts +77 -0
- package/dist/hooks/hook-executor.d.ts.map +1 -0
- package/dist/hooks/hook-executor.js +308 -0
- package/dist/hooks/hook-executor.js.map +1 -0
- package/dist/hooks/hook-manager.d.ts +140 -0
- package/dist/hooks/hook-manager.d.ts.map +1 -0
- package/dist/hooks/hook-manager.js +520 -0
- package/dist/hooks/hook-manager.js.map +1 -0
- package/dist/hooks/index.d.ts +10 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +10 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/types.d.ts +221 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +31 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/auto-mode.d.ts +221 -0
- package/dist/mcp/auto-mode.d.ts.map +1 -0
- package/dist/mcp/auto-mode.js +436 -0
- package/dist/mcp/auto-mode.js.map +1 -0
- package/dist/mcp/index.d.ts +14 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +22 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/tools/tasks/delete-task.d.ts +25 -0
- package/dist/mcp/tools/tasks/delete-task.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/delete-task.js +148 -0
- package/dist/mcp/tools/tasks/delete-task.js.map +1 -0
- package/dist/mcp/tools/tasks/index.d.ts +2 -0
- package/dist/mcp/tools/tasks/index.d.ts.map +1 -1
- package/dist/mcp/tools/tasks/index.js +6 -0
- package/dist/mcp/tools/tasks/index.js.map +1 -1
- package/dist/observability/debug-logger.d.ts +209 -0
- package/dist/observability/debug-logger.d.ts.map +1 -0
- package/dist/observability/debug-logger.js +430 -0
- package/dist/observability/debug-logger.js.map +1 -0
- package/dist/observability/index.d.ts +12 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +12 -0
- package/dist/observability/index.js.map +1 -0
- package/dist/observability/logger.d.ts +180 -0
- package/dist/observability/logger.d.ts.map +1 -1
- package/dist/observability/logger.js +158 -0
- package/dist/observability/logger.js.map +1 -1
- package/dist/router/context-manager.d.ts +214 -1
- package/dist/router/context-manager.d.ts.map +1 -1
- package/dist/router/context-manager.js +759 -2
- package/dist/router/context-manager.js.map +1 -1
- package/dist/router/context-types.d.ts +182 -0
- package/dist/router/context-types.d.ts.map +1 -0
- package/dist/router/context-types.js +8 -0
- package/dist/router/context-types.js.map +1 -0
- package/dist/server.d.ts +41 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +165 -0
- package/dist/server.js.map +1 -1
- package/dist/skills/hot-reloader.d.ts +104 -0
- package/dist/skills/hot-reloader.d.ts.map +1 -0
- package/dist/skills/hot-reloader.js +314 -0
- package/dist/skills/hot-reloader.js.map +1 -0
- package/dist/skills/index.d.ts +14 -0
- package/dist/skills/index.d.ts.map +1 -0
- package/dist/skills/index.js +16 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/skill-executor.d.ts +96 -0
- package/dist/skills/skill-executor.d.ts.map +1 -0
- package/dist/skills/skill-executor.js +289 -0
- package/dist/skills/skill-executor.js.map +1 -0
- package/dist/skills/skill-loader.d.ts +147 -0
- package/dist/skills/skill-loader.d.ts.map +1 -0
- package/dist/skills/skill-loader.js +579 -0
- package/dist/skills/skill-loader.js.map +1 -0
- package/dist/skills/types.d.ts +198 -0
- package/dist/skills/types.d.ts.map +1 -0
- package/dist/skills/types.js +21 -0
- package/dist/skills/types.js.map +1 -0
- package/dist/tasks/coordinator.d.ts +22 -1
- package/dist/tasks/coordinator.d.ts.map +1 -1
- package/dist/tasks/coordinator.js +83 -0
- package/dist/tasks/coordinator.js.map +1 -1
- package/dist/tasks/state-coordinator.d.ts +19 -0
- package/dist/tasks/state-coordinator.d.ts.map +1 -1
- package/dist/tasks/state-coordinator.js +40 -0
- package/dist/tasks/state-coordinator.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Logger Module
|
|
3
|
+
*
|
|
4
|
+
* A specialized debug logger for Agent Foundry that can be enabled/disabled
|
|
5
|
+
* and configured to log specific types of events. Supports file output for
|
|
6
|
+
* persistent debug logs.
|
|
7
|
+
*/
|
|
8
|
+
import * as fs from 'fs';
|
|
9
|
+
// ============================================================================
|
|
10
|
+
// Constants
|
|
11
|
+
// ============================================================================
|
|
12
|
+
/**
|
|
13
|
+
* Default debug logger configuration.
|
|
14
|
+
* Reads from environment variables for easy override.
|
|
15
|
+
*/
|
|
16
|
+
const DEFAULT_DEBUG_CONFIG = {
|
|
17
|
+
enabled: process.env['AGENT_FOUNDRY_DEBUG'] === '1',
|
|
18
|
+
logToolCalls: true,
|
|
19
|
+
logToolOutputs: process.env['AGENT_FOUNDRY_DEBUG_VERBOSE'] === '1',
|
|
20
|
+
logProviderRequests: process.env['AGENT_FOUNDRY_DEBUG_VERBOSE'] === '1',
|
|
21
|
+
logProviderResponses: process.env['AGENT_FOUNDRY_DEBUG_VERBOSE'] === '1',
|
|
22
|
+
logFailovers: true,
|
|
23
|
+
logHooks: true,
|
|
24
|
+
maxOutputSize: 10000,
|
|
25
|
+
outputFile: process.env['AGENT_FOUNDRY_DEBUG_FILE'],
|
|
26
|
+
};
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// DebugLogger Class
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* Specialized debug logger for Agent Foundry.
|
|
32
|
+
*
|
|
33
|
+
* Provides granular control over what events are logged and supports
|
|
34
|
+
* writing debug logs to a file for later analysis.
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* const debugLogger = new DebugLogger({ enabled: true }, logger);
|
|
39
|
+
*
|
|
40
|
+
* // Log a tool call
|
|
41
|
+
* debugLogger.toolCall('invoke_agent', { role: 'coder', task: '...' });
|
|
42
|
+
*
|
|
43
|
+
* // Log a failover event
|
|
44
|
+
* debugLogger.failover('openai', 'anthropic', 'Rate limited (429)');
|
|
45
|
+
*
|
|
46
|
+
* // Clean up
|
|
47
|
+
* await debugLogger.close();
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export class DebugLogger {
|
|
51
|
+
config;
|
|
52
|
+
logger;
|
|
53
|
+
fileStream = null;
|
|
54
|
+
initialized = false;
|
|
55
|
+
/**
|
|
56
|
+
* Create a new DebugLogger instance.
|
|
57
|
+
*
|
|
58
|
+
* @param config - Partial configuration (merged with defaults)
|
|
59
|
+
* @param logger - Base logger for fallback logging
|
|
60
|
+
*/
|
|
61
|
+
constructor(config, logger) {
|
|
62
|
+
this.config = { ...DEFAULT_DEBUG_CONFIG, ...config };
|
|
63
|
+
this.logger = logger;
|
|
64
|
+
// Initialize file stream if configured
|
|
65
|
+
if (this.config.enabled && this.config.outputFile) {
|
|
66
|
+
this.initFileStream();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Check if debug logging is enabled.
|
|
71
|
+
*/
|
|
72
|
+
isEnabled() {
|
|
73
|
+
return this.config.enabled;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Log a tool call (if enabled).
|
|
77
|
+
*
|
|
78
|
+
* @param tool - Tool name
|
|
79
|
+
* @param input - Tool input parameters
|
|
80
|
+
*/
|
|
81
|
+
toolCall(tool, input) {
|
|
82
|
+
if (!this.config.enabled || !this.config.logToolCalls) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
this.writeEntry({
|
|
86
|
+
timestamp: this.formatTimestamp(),
|
|
87
|
+
type: 'tool_call',
|
|
88
|
+
data: {
|
|
89
|
+
tool,
|
|
90
|
+
input: this.truncate(input),
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Log a tool result (if enabled).
|
|
96
|
+
*
|
|
97
|
+
* @param tool - Tool name
|
|
98
|
+
* @param output - Tool output
|
|
99
|
+
* @param durationMs - Execution duration in milliseconds
|
|
100
|
+
*/
|
|
101
|
+
toolResult(tool, output, durationMs) {
|
|
102
|
+
if (!this.config.enabled || !this.config.logToolOutputs) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
this.writeEntry({
|
|
106
|
+
timestamp: this.formatTimestamp(),
|
|
107
|
+
type: 'tool_result',
|
|
108
|
+
data: {
|
|
109
|
+
tool,
|
|
110
|
+
output: this.truncate(output),
|
|
111
|
+
durationMs,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Log a tool error (always logged if debug enabled).
|
|
117
|
+
*
|
|
118
|
+
* @param tool - Tool name
|
|
119
|
+
* @param error - Error that occurred
|
|
120
|
+
*/
|
|
121
|
+
toolError(tool, error) {
|
|
122
|
+
if (!this.config.enabled) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
this.writeEntry({
|
|
126
|
+
timestamp: this.formatTimestamp(),
|
|
127
|
+
type: 'tool_error',
|
|
128
|
+
data: {
|
|
129
|
+
tool,
|
|
130
|
+
error: {
|
|
131
|
+
name: error.name,
|
|
132
|
+
message: error.message,
|
|
133
|
+
stack: error.stack,
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Log a tool denial (always logged if debug enabled).
|
|
140
|
+
*
|
|
141
|
+
* @param tool - Tool name
|
|
142
|
+
* @param reason - Denial reason
|
|
143
|
+
*/
|
|
144
|
+
toolDenial(tool, reason) {
|
|
145
|
+
if (!this.config.enabled) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
this.writeEntry({
|
|
149
|
+
timestamp: this.formatTimestamp(),
|
|
150
|
+
type: 'tool_denial',
|
|
151
|
+
data: {
|
|
152
|
+
tool,
|
|
153
|
+
reason,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Log a provider request (if enabled).
|
|
159
|
+
*
|
|
160
|
+
* @param provider - Provider name
|
|
161
|
+
* @param model - Model name
|
|
162
|
+
* @param messages - Request messages
|
|
163
|
+
*/
|
|
164
|
+
providerRequest(provider, model, messages) {
|
|
165
|
+
if (!this.config.enabled || !this.config.logProviderRequests) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
this.writeEntry({
|
|
169
|
+
timestamp: this.formatTimestamp(),
|
|
170
|
+
type: 'provider_request',
|
|
171
|
+
data: {
|
|
172
|
+
provider,
|
|
173
|
+
model,
|
|
174
|
+
messages: this.truncate(messages),
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Log a provider response (if enabled).
|
|
180
|
+
*
|
|
181
|
+
* @param provider - Provider name
|
|
182
|
+
* @param model - Model name
|
|
183
|
+
* @param response - Provider response
|
|
184
|
+
* @param durationMs - Request duration in milliseconds
|
|
185
|
+
*/
|
|
186
|
+
providerResponse(provider, model, response, durationMs) {
|
|
187
|
+
if (!this.config.enabled || !this.config.logProviderResponses) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
this.writeEntry({
|
|
191
|
+
timestamp: this.formatTimestamp(),
|
|
192
|
+
type: 'provider_response',
|
|
193
|
+
data: {
|
|
194
|
+
provider,
|
|
195
|
+
model,
|
|
196
|
+
response: this.truncate(response),
|
|
197
|
+
durationMs,
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Log a failover event (always logged if debug enabled).
|
|
203
|
+
*
|
|
204
|
+
* @param from - Provider being switched from
|
|
205
|
+
* @param to - Provider being switched to
|
|
206
|
+
* @param reason - Reason for failover
|
|
207
|
+
*/
|
|
208
|
+
failover(from, to, reason) {
|
|
209
|
+
if (!this.config.enabled || !this.config.logFailovers) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
this.writeEntry({
|
|
213
|
+
timestamp: this.formatTimestamp(),
|
|
214
|
+
type: 'failover',
|
|
215
|
+
data: {
|
|
216
|
+
fromProvider: from,
|
|
217
|
+
toProvider: to,
|
|
218
|
+
reason,
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Log a provider health change.
|
|
224
|
+
*
|
|
225
|
+
* @param provider - Provider name
|
|
226
|
+
* @param previousStatus - Previous health status
|
|
227
|
+
* @param newStatus - New health status
|
|
228
|
+
* @param reason - Reason for change
|
|
229
|
+
*/
|
|
230
|
+
healthChange(provider, previousStatus, newStatus, reason) {
|
|
231
|
+
if (!this.config.enabled) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
this.writeEntry({
|
|
235
|
+
timestamp: this.formatTimestamp(),
|
|
236
|
+
type: 'health_change',
|
|
237
|
+
data: {
|
|
238
|
+
provider,
|
|
239
|
+
previousStatus,
|
|
240
|
+
newStatus,
|
|
241
|
+
reason,
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Log a rate limit warning.
|
|
247
|
+
*
|
|
248
|
+
* @param provider - Provider name
|
|
249
|
+
* @param remaining - Remaining requests
|
|
250
|
+
* @param limit - Total limit
|
|
251
|
+
* @param usedPercentage - Percentage of limit used
|
|
252
|
+
* @param resetsAt - When the rate limit resets
|
|
253
|
+
*/
|
|
254
|
+
rateLimitWarning(provider, remaining, limit, usedPercentage, resetsAt) {
|
|
255
|
+
if (!this.config.enabled) {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
this.writeEntry({
|
|
259
|
+
timestamp: this.formatTimestamp(),
|
|
260
|
+
type: 'rate_limit_warning',
|
|
261
|
+
data: {
|
|
262
|
+
provider,
|
|
263
|
+
remaining,
|
|
264
|
+
limit,
|
|
265
|
+
usedPercentage,
|
|
266
|
+
resetsAt: resetsAt.toISOString(),
|
|
267
|
+
},
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Log a hook execution (if enabled).
|
|
272
|
+
*
|
|
273
|
+
* @param hookName - Name of the hook
|
|
274
|
+
* @param event - Event that triggered the hook
|
|
275
|
+
* @param output - Hook output
|
|
276
|
+
*/
|
|
277
|
+
hookExecution(hookName, event, output) {
|
|
278
|
+
if (!this.config.enabled || !this.config.logHooks) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
this.writeEntry({
|
|
282
|
+
timestamp: this.formatTimestamp(),
|
|
283
|
+
type: 'hook_execution',
|
|
284
|
+
data: {
|
|
285
|
+
hookName,
|
|
286
|
+
event,
|
|
287
|
+
output: this.truncate(output),
|
|
288
|
+
},
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Log a circuit breaker state change.
|
|
293
|
+
*
|
|
294
|
+
* @param provider - Provider name
|
|
295
|
+
* @param previousState - Previous circuit state
|
|
296
|
+
* @param newState - New circuit state
|
|
297
|
+
* @param failureCount - Number of failures
|
|
298
|
+
*/
|
|
299
|
+
circuitBreakerChange(provider, previousState, newState, failureCount) {
|
|
300
|
+
if (!this.config.enabled) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
this.writeEntry({
|
|
304
|
+
timestamp: this.formatTimestamp(),
|
|
305
|
+
type: 'circuit_breaker_change',
|
|
306
|
+
data: {
|
|
307
|
+
provider,
|
|
308
|
+
previousState,
|
|
309
|
+
newState,
|
|
310
|
+
failureCount,
|
|
311
|
+
},
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Log a custom debug event.
|
|
316
|
+
*
|
|
317
|
+
* @param type - Event type
|
|
318
|
+
* @param data - Event data
|
|
319
|
+
*/
|
|
320
|
+
custom(type, data) {
|
|
321
|
+
if (!this.config.enabled) {
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
this.writeEntry({
|
|
325
|
+
timestamp: this.formatTimestamp(),
|
|
326
|
+
type,
|
|
327
|
+
data: this.truncate(data),
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Flush and close the file handle.
|
|
332
|
+
*/
|
|
333
|
+
async close() {
|
|
334
|
+
if (this.fileStream) {
|
|
335
|
+
return new Promise((resolve, reject) => {
|
|
336
|
+
this.fileStream.end((err) => {
|
|
337
|
+
if (err) {
|
|
338
|
+
reject(err);
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
this.fileStream = null;
|
|
342
|
+
resolve();
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
// ==========================================================================
|
|
349
|
+
// Private Methods
|
|
350
|
+
// ==========================================================================
|
|
351
|
+
/**
|
|
352
|
+
* Initialize the file stream for debug output.
|
|
353
|
+
*/
|
|
354
|
+
initFileStream() {
|
|
355
|
+
if (this.initialized || !this.config.outputFile) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
try {
|
|
359
|
+
this.fileStream = fs.createWriteStream(this.config.outputFile, {
|
|
360
|
+
flags: 'a', // Append mode
|
|
361
|
+
encoding: 'utf-8',
|
|
362
|
+
});
|
|
363
|
+
this.fileStream.on('error', (err) => {
|
|
364
|
+
this.logger.error('Debug log file write error', { error: err });
|
|
365
|
+
this.fileStream = null;
|
|
366
|
+
});
|
|
367
|
+
this.initialized = true;
|
|
368
|
+
this.logger.debug('Debug logger file output initialized', {
|
|
369
|
+
outputFile: this.config.outputFile,
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
catch (error) {
|
|
373
|
+
this.logger.error('Failed to initialize debug log file', {
|
|
374
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
375
|
+
outputFile: this.config.outputFile,
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Write a debug log entry.
|
|
381
|
+
*/
|
|
382
|
+
writeEntry(entry) {
|
|
383
|
+
const json = JSON.stringify(entry);
|
|
384
|
+
// Write to file if configured
|
|
385
|
+
if (this.fileStream) {
|
|
386
|
+
this.fileStream.write(json + '\n');
|
|
387
|
+
}
|
|
388
|
+
// Also log at trace level
|
|
389
|
+
this.logger.trace(`[DEBUG] ${entry.type}`, entry.data);
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Truncate data to max output size.
|
|
393
|
+
*/
|
|
394
|
+
truncate(data) {
|
|
395
|
+
if (data === null || data === undefined) {
|
|
396
|
+
return data;
|
|
397
|
+
}
|
|
398
|
+
const json = JSON.stringify(data);
|
|
399
|
+
if (json.length <= this.config.maxOutputSize) {
|
|
400
|
+
return data;
|
|
401
|
+
}
|
|
402
|
+
// For strings, truncate directly
|
|
403
|
+
if (typeof data === 'string') {
|
|
404
|
+
return data.substring(0, this.config.maxOutputSize) + '... [TRUNCATED]';
|
|
405
|
+
}
|
|
406
|
+
// For objects/arrays, truncate the JSON representation
|
|
407
|
+
const truncated = json.substring(0, this.config.maxOutputSize);
|
|
408
|
+
return `${truncated}... [TRUNCATED - original size: ${json.length}]`;
|
|
409
|
+
}
|
|
410
|
+
/**
|
|
411
|
+
* Format current timestamp for log entries.
|
|
412
|
+
*/
|
|
413
|
+
formatTimestamp() {
|
|
414
|
+
return new Date().toISOString();
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
// ============================================================================
|
|
418
|
+
// Factory Function
|
|
419
|
+
// ============================================================================
|
|
420
|
+
/**
|
|
421
|
+
* Create a DebugLogger instance with the given configuration.
|
|
422
|
+
*
|
|
423
|
+
* @param config - Partial configuration (merged with defaults)
|
|
424
|
+
* @param logger - Base logger for fallback logging
|
|
425
|
+
* @returns DebugLogger instance
|
|
426
|
+
*/
|
|
427
|
+
export function createDebugLogger(config, logger) {
|
|
428
|
+
return new DebugLogger(config, logger);
|
|
429
|
+
}
|
|
430
|
+
//# sourceMappingURL=debug-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../../src/observability/debug-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observability Module
|
|
3
|
+
*
|
|
4
|
+
* Exports logging and metrics utilities for Agent Foundry.
|
|
5
|
+
*/
|
|
6
|
+
export { Logger, ExtendedLogger, createLogger, createExtendedLogger, logger, extendedLogger, generateTraceId, createTracedContext, } from './logger.js';
|
|
7
|
+
export type { LoggerOptions, LogLevel, LogContext, ToolCallData, ToolSuccessData, ToolFailureData, ToolDenialData, FailoverData, HealthChangeData, RateLimitWarningData, ErrorCategory, StructuredErrorData, } from './logger.js';
|
|
8
|
+
export { DebugLogger, createDebugLogger, } from './debug-logger.js';
|
|
9
|
+
export type { DebugLoggerConfig, DebugLogEntry, } from './debug-logger.js';
|
|
10
|
+
export { MetricsCollector, metrics, } from './metrics.js';
|
|
11
|
+
export type { Metrics, MetricsJSON, TokenStats, LatencyStats, CircuitBreakerState, CircuitBreakerEvent, RequestStatus, RequestRecord, } from './metrics.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,aAAa,EACb,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,iBAAiB,EACjB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,gBAAgB,EAChB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB,YAAY,EACV,OAAO,EACP,WAAW,EACX,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,aAAa,GACd,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Observability Module
|
|
3
|
+
*
|
|
4
|
+
* Exports logging and metrics utilities for Agent Foundry.
|
|
5
|
+
*/
|
|
6
|
+
// Logger exports
|
|
7
|
+
export { Logger, ExtendedLogger, createLogger, createExtendedLogger, logger, extendedLogger, generateTraceId, createTracedContext, } from './logger.js';
|
|
8
|
+
// Debug logger exports
|
|
9
|
+
export { DebugLogger, createDebugLogger, } from './debug-logger.js';
|
|
10
|
+
// Metrics exports
|
|
11
|
+
export { MetricsCollector, metrics, } from './metrics.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,iBAAiB;AACjB,OAAO,EACL,MAAM,EACN,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,eAAe,EACf,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAiBrB,uBAAuB;AACvB,OAAO,EACL,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAO3B,kBAAkB;AAClB,OAAO,EACL,gBAAgB,EAChB,OAAO,GACR,MAAM,cAAc,CAAC"}
|
|
@@ -130,6 +130,186 @@ export declare const logger: Logger;
|
|
|
130
130
|
* Convenience wrapper around new Logger().
|
|
131
131
|
*/
|
|
132
132
|
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
133
|
+
/**
|
|
134
|
+
* Data for logging a tool call attempt.
|
|
135
|
+
*/
|
|
136
|
+
export interface ToolCallData {
|
|
137
|
+
/** Tool name being called */
|
|
138
|
+
tool: string;
|
|
139
|
+
/** Tool input parameters */
|
|
140
|
+
input: Record<string, unknown>;
|
|
141
|
+
/** Task ID if applicable */
|
|
142
|
+
taskId?: string;
|
|
143
|
+
/** Worktree ID if applicable */
|
|
144
|
+
worktreeId?: string;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Data for logging a tool call success.
|
|
148
|
+
*/
|
|
149
|
+
export interface ToolSuccessData {
|
|
150
|
+
/** Tool name */
|
|
151
|
+
tool: string;
|
|
152
|
+
/** Duration in milliseconds */
|
|
153
|
+
durationMs: number;
|
|
154
|
+
/** Size of output in bytes */
|
|
155
|
+
outputSize?: number;
|
|
156
|
+
/** Task ID if applicable */
|
|
157
|
+
taskId?: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Data for logging a tool call failure.
|
|
161
|
+
*/
|
|
162
|
+
export interface ToolFailureData {
|
|
163
|
+
/** Tool name */
|
|
164
|
+
tool: string;
|
|
165
|
+
/** Error that occurred */
|
|
166
|
+
error: Error;
|
|
167
|
+
/** Duration in milliseconds */
|
|
168
|
+
durationMs: number;
|
|
169
|
+
/** Task ID if applicable */
|
|
170
|
+
taskId?: string;
|
|
171
|
+
/** Whether the tool was denied by a hook */
|
|
172
|
+
denied?: boolean;
|
|
173
|
+
/** Reason for denial if denied */
|
|
174
|
+
denyReason?: string;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Data for logging a tool call denial.
|
|
178
|
+
*/
|
|
179
|
+
export interface ToolDenialData {
|
|
180
|
+
/** Tool name */
|
|
181
|
+
tool: string;
|
|
182
|
+
/** Reason for denial */
|
|
183
|
+
reason: string;
|
|
184
|
+
/** Hook name that denied if applicable */
|
|
185
|
+
hookName?: string;
|
|
186
|
+
/** Task ID if applicable */
|
|
187
|
+
taskId?: string;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Data for logging a provider failover event.
|
|
191
|
+
*/
|
|
192
|
+
export interface FailoverData {
|
|
193
|
+
/** Provider being switched from */
|
|
194
|
+
fromProvider: string;
|
|
195
|
+
/** Provider being switched to */
|
|
196
|
+
toProvider: string;
|
|
197
|
+
/** Reason for failover */
|
|
198
|
+
reason: string;
|
|
199
|
+
/** Error code if applicable */
|
|
200
|
+
errorCode?: number;
|
|
201
|
+
/** Error message if applicable */
|
|
202
|
+
errorMessage?: string;
|
|
203
|
+
/** Role being invoked */
|
|
204
|
+
role?: string;
|
|
205
|
+
/** Current attempt number */
|
|
206
|
+
attemptNumber: number;
|
|
207
|
+
/** Total allowed attempts */
|
|
208
|
+
totalAttempts: number;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Data for logging provider health changes.
|
|
212
|
+
*/
|
|
213
|
+
export interface HealthChangeData {
|
|
214
|
+
/** Provider name */
|
|
215
|
+
provider: string;
|
|
216
|
+
/** Previous health status */
|
|
217
|
+
previousStatus: string;
|
|
218
|
+
/** New health status */
|
|
219
|
+
newStatus: string;
|
|
220
|
+
/** Reason for status change */
|
|
221
|
+
reason: string;
|
|
222
|
+
/** Cooldown end time if applicable */
|
|
223
|
+
cooldownUntil?: Date;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Data for logging rate limit warnings.
|
|
227
|
+
*/
|
|
228
|
+
export interface RateLimitWarningData {
|
|
229
|
+
/** Provider name */
|
|
230
|
+
provider: string;
|
|
231
|
+
/** Remaining requests */
|
|
232
|
+
remaining: number;
|
|
233
|
+
/** Request limit */
|
|
234
|
+
limit: number;
|
|
235
|
+
/** Percentage of limit used */
|
|
236
|
+
usedPercentage: number;
|
|
237
|
+
/** When the rate limit resets */
|
|
238
|
+
resetsAt: Date;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Category for structured errors.
|
|
242
|
+
*/
|
|
243
|
+
export type ErrorCategory = 'provider' | 'tool' | 'worktree' | 'pipeline' | 'config' | 'system';
|
|
244
|
+
/**
|
|
245
|
+
* Data for logging a structured error.
|
|
246
|
+
*/
|
|
247
|
+
export interface StructuredErrorData {
|
|
248
|
+
/** Error category */
|
|
249
|
+
category: ErrorCategory;
|
|
250
|
+
/** Error code (e.g., 'PROVIDER_TIMEOUT', 'TOOL_DENIED') */
|
|
251
|
+
code: string;
|
|
252
|
+
/** Human-readable error message */
|
|
253
|
+
message: string;
|
|
254
|
+
/** Additional context */
|
|
255
|
+
context: Record<string, unknown>;
|
|
256
|
+
/** Stack trace if available */
|
|
257
|
+
stack?: string;
|
|
258
|
+
/** Whether the error is recoverable */
|
|
259
|
+
recoverable: boolean;
|
|
260
|
+
/** Suggested action for recovery */
|
|
261
|
+
suggestedAction?: string;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Extended Logger class with specialized logging methods for Agent Foundry.
|
|
265
|
+
*/
|
|
266
|
+
export declare class ExtendedLogger extends Logger {
|
|
267
|
+
/**
|
|
268
|
+
* Log a tool call attempt.
|
|
269
|
+
*/
|
|
270
|
+
logToolCall(data: ToolCallData): void;
|
|
271
|
+
/**
|
|
272
|
+
* Log a tool call success.
|
|
273
|
+
*/
|
|
274
|
+
logToolSuccess(data: ToolSuccessData): void;
|
|
275
|
+
/**
|
|
276
|
+
* Log a tool call failure.
|
|
277
|
+
*/
|
|
278
|
+
logToolFailure(data: ToolFailureData): void;
|
|
279
|
+
/**
|
|
280
|
+
* Log a tool call denial by hook or policy.
|
|
281
|
+
*/
|
|
282
|
+
logToolDenial(data: ToolDenialData): void;
|
|
283
|
+
/**
|
|
284
|
+
* Log a provider failover event.
|
|
285
|
+
*/
|
|
286
|
+
logFailover(data: FailoverData): void;
|
|
287
|
+
/**
|
|
288
|
+
* Log a provider health change.
|
|
289
|
+
*/
|
|
290
|
+
logHealthChange(data: HealthChangeData): void;
|
|
291
|
+
/**
|
|
292
|
+
* Log a rate limit warning.
|
|
293
|
+
*/
|
|
294
|
+
logRateLimitWarning(data: RateLimitWarningData): void;
|
|
295
|
+
/**
|
|
296
|
+
* Log a structured error with full context.
|
|
297
|
+
*/
|
|
298
|
+
logStructuredError(data: StructuredErrorData): void;
|
|
299
|
+
/**
|
|
300
|
+
* Create a child logger with additional bound context.
|
|
301
|
+
* Returns an ExtendedLogger instead of Logger.
|
|
302
|
+
*/
|
|
303
|
+
child(context: LogContext): ExtendedLogger;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Factory function to create an ExtendedLogger instance.
|
|
307
|
+
*/
|
|
308
|
+
export declare function createExtendedLogger(options?: LoggerOptions): ExtendedLogger;
|
|
309
|
+
/**
|
|
310
|
+
* Default extended logger instance for the agent-foundry package.
|
|
311
|
+
*/
|
|
312
|
+
export declare const extendedLogger: ExtendedLogger;
|
|
133
313
|
/**
|
|
134
314
|
* Re-export for convenience.
|
|
135
315
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAa,EAAE,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAM/E;;;;;;;;;;;GAWG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;gBAE9B,OAAO,GAAE,aAAkB;IAsDvC;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAWlC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAQlD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAQlD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAQjD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAQjD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI;IActE;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI;IAatE;;OAEG;IACH,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED;;OAEG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,EAExB;IAED;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAIxC;;OAEG;IACH,IAAI,YAAY,IAAI,UAAU,CAE7B;CACF;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,UAAU,CAK9E;AAMD;;;GAGG;AACH,eAAO,MAAM,MAAM,QAAuC,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,eAAe,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/observability/logger.ts"],"names":[],"mappings":"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"}
|