@mce-bt/microagents-observability 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,3 @@
1
+ export { createLogger, LogBuffer, type LoggerConfig, type LogEntry } from './logger.js';
2
+ export { TokenTracker, BudgetExceededError, type TokenRecord, type CostSummary } from './token-tracker.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { createLogger, LogBuffer } from './logger.js';
2
+ export { TokenTracker, BudgetExceededError } from './token-tracker.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAoC,MAAM,aAAa,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAsC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import pino from 'pino';
2
+ export interface LoggerConfig {
3
+ level?: string;
4
+ pretty?: boolean;
5
+ agentId?: string;
6
+ agentName?: string;
7
+ }
8
+ /**
9
+ * Create a structured Pino logger with agent context bindings.
10
+ */
11
+ export declare function createLogger(config?: LoggerConfig): pino.Logger;
12
+ export interface LogEntry {
13
+ level: string;
14
+ msg: string;
15
+ time: number;
16
+ [key: string]: unknown;
17
+ }
18
+ /**
19
+ * In-memory ring buffer that captures log entries for the dashboard.
20
+ * Wraps an existing logger interface to intercept calls.
21
+ */
22
+ export declare class LogBuffer {
23
+ private entries;
24
+ private maxSize;
25
+ constructor(maxSize?: number);
26
+ write(entry: LogEntry): void;
27
+ getEntries(limit?: number): LogEntry[];
28
+ clear(): void;
29
+ }
30
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,GAAE,YAAiB,GAAG,IAAI,CAAC,MAAM,CAoBnE;AAID,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,SAAM;IAIzB,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAO5B,UAAU,CAAC,KAAK,SAAM,GAAG,QAAQ,EAAE;IAInC,KAAK,IAAI,IAAI;CAGd"}
package/dist/logger.js ADDED
@@ -0,0 +1,48 @@
1
+ import pino from 'pino';
2
+ /**
3
+ * Create a structured Pino logger with agent context bindings.
4
+ */
5
+ export function createLogger(config = {}) {
6
+ const transport = config.pretty
7
+ ? {
8
+ target: 'pino-pretty',
9
+ options: {
10
+ colorize: true,
11
+ translateTime: 'SYS:standard',
12
+ ignore: 'pid,hostname',
13
+ },
14
+ }
15
+ : undefined;
16
+ return pino({
17
+ level: config.level ?? 'info',
18
+ ...(transport ? { transport } : {}),
19
+ base: {
20
+ ...(config.agentId ? { agentId: config.agentId } : {}),
21
+ ...(config.agentName ? { agentName: config.agentName } : {}),
22
+ },
23
+ });
24
+ }
25
+ /**
26
+ * In-memory ring buffer that captures log entries for the dashboard.
27
+ * Wraps an existing logger interface to intercept calls.
28
+ */
29
+ export class LogBuffer {
30
+ entries = [];
31
+ maxSize;
32
+ constructor(maxSize = 500) {
33
+ this.maxSize = maxSize;
34
+ }
35
+ write(entry) {
36
+ this.entries.push(entry);
37
+ if (this.entries.length > this.maxSize) {
38
+ this.entries.shift();
39
+ }
40
+ }
41
+ getEntries(limit = 100) {
42
+ return this.entries.slice(-limit);
43
+ }
44
+ clear() {
45
+ this.entries = [];
46
+ }
47
+ }
48
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AASxB;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,SAAuB,EAAE;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM;QAC7B,CAAC,CAAC;YACE,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,cAAc;aACvB;SACF;QACH,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,IAAI,CAAC;QACV,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM;QAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,EAAE;YACJ,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D;KACF,CAAC,CAAC;AACL,CAAC;AAWD;;;GAGG;AACH,MAAM,OAAO,SAAS;IACZ,OAAO,GAAe,EAAE,CAAC;IACzB,OAAO,CAAS;IAExB,YAAY,OAAO,GAAG,GAAG;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAK,GAAG,GAAG;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ export interface TokenRecord {
2
+ timestamp: Date;
3
+ agentId: string;
4
+ sessionId?: string;
5
+ tier: string;
6
+ model: string;
7
+ provider: string;
8
+ promptTokens: number;
9
+ completionTokens: number;
10
+ totalTokens: number;
11
+ /** Estimated cost in USD (if pricing is configured) */
12
+ estimatedCostUsd?: number;
13
+ correlationId?: string;
14
+ }
15
+ export interface CostSummary {
16
+ totalPromptTokens: number;
17
+ totalCompletionTokens: number;
18
+ totalTokens: number;
19
+ totalEstimatedCostUsd: number;
20
+ callCount: number;
21
+ byModel: Map<string, {
22
+ tokens: number;
23
+ calls: number;
24
+ costUsd: number;
25
+ }>;
26
+ byTier: Map<string, {
27
+ tokens: number;
28
+ calls: number;
29
+ costUsd: number;
30
+ }>;
31
+ }
32
+ /**
33
+ * Token and cost accounting tracker.
34
+ * Records every LLM call's token usage for auditing and budget control.
35
+ */
36
+ export declare class TokenTracker {
37
+ private records;
38
+ private budgetLimit;
39
+ private totalSpent;
40
+ /**
41
+ * Set a budget limit in USD. Throws when exceeded.
42
+ */
43
+ setBudgetLimit(limitUsd: number): void;
44
+ /**
45
+ * Record a completion call's token usage.
46
+ */
47
+ record(entry: Omit<TokenRecord, 'timestamp'>): void;
48
+ /**
49
+ * Get a summary of all recorded usage.
50
+ */
51
+ getSummary(options?: {
52
+ agentId?: string;
53
+ sessionId?: string;
54
+ }): CostSummary;
55
+ /**
56
+ * Get all raw records.
57
+ */
58
+ getRecords(): readonly TokenRecord[];
59
+ /**
60
+ * Clear all records.
61
+ */
62
+ clear(): void;
63
+ }
64
+ export declare class BudgetExceededError extends Error {
65
+ readonly spent: number;
66
+ readonly limit: number;
67
+ constructor(message: string, spent: number, limit: number);
68
+ }
69
+ //# sourceMappingURL=token-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-tracker.d.ts","sourceRoot":"","sources":["../src/token-tracker.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,UAAU,CAAa;IAE/B;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,IAAI;IAkBnD;;OAEG;IACH,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,WAAW;IAkD3E;;OAEG;IACH,UAAU,IAAI,SAAS,WAAW,EAAE;IAIpC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAM1D"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Token and cost accounting tracker.
3
+ * Records every LLM call's token usage for auditing and budget control.
4
+ */
5
+ export class TokenTracker {
6
+ records = [];
7
+ budgetLimit = null;
8
+ totalSpent = 0;
9
+ /**
10
+ * Set a budget limit in USD. Throws when exceeded.
11
+ */
12
+ setBudgetLimit(limitUsd) {
13
+ this.budgetLimit = limitUsd;
14
+ }
15
+ /**
16
+ * Record a completion call's token usage.
17
+ */
18
+ record(entry) {
19
+ const record = {
20
+ ...entry,
21
+ timestamp: new Date(),
22
+ };
23
+ this.records.push(record);
24
+ this.totalSpent += record.estimatedCostUsd ?? 0;
25
+ if (this.budgetLimit !== null && this.totalSpent > this.budgetLimit) {
26
+ throw new BudgetExceededError(`Budget limit exceeded: $${this.totalSpent.toFixed(4)} > $${this.budgetLimit.toFixed(4)}`, this.totalSpent, this.budgetLimit);
27
+ }
28
+ }
29
+ /**
30
+ * Get a summary of all recorded usage.
31
+ */
32
+ getSummary(options) {
33
+ let filtered = this.records;
34
+ if (options?.agentId) {
35
+ filtered = filtered.filter((r) => r.agentId === options.agentId);
36
+ }
37
+ if (options?.sessionId) {
38
+ filtered = filtered.filter((r) => r.sessionId === options.sessionId);
39
+ }
40
+ const byModel = new Map();
41
+ const byTier = new Map();
42
+ let totalPromptTokens = 0;
43
+ let totalCompletionTokens = 0;
44
+ let totalTokens = 0;
45
+ let totalEstimatedCostUsd = 0;
46
+ for (const record of filtered) {
47
+ totalPromptTokens += record.promptTokens;
48
+ totalCompletionTokens += record.completionTokens;
49
+ totalTokens += record.totalTokens;
50
+ totalEstimatedCostUsd += record.estimatedCostUsd ?? 0;
51
+ // By model
52
+ const modelEntry = byModel.get(record.model) ?? { tokens: 0, calls: 0, costUsd: 0 };
53
+ modelEntry.tokens += record.totalTokens;
54
+ modelEntry.calls += 1;
55
+ modelEntry.costUsd += record.estimatedCostUsd ?? 0;
56
+ byModel.set(record.model, modelEntry);
57
+ // By tier
58
+ const tierEntry = byTier.get(record.tier) ?? { tokens: 0, calls: 0, costUsd: 0 };
59
+ tierEntry.tokens += record.totalTokens;
60
+ tierEntry.calls += 1;
61
+ tierEntry.costUsd += record.estimatedCostUsd ?? 0;
62
+ byTier.set(record.tier, tierEntry);
63
+ }
64
+ return {
65
+ totalPromptTokens,
66
+ totalCompletionTokens,
67
+ totalTokens,
68
+ totalEstimatedCostUsd,
69
+ callCount: filtered.length,
70
+ byModel,
71
+ byTier,
72
+ };
73
+ }
74
+ /**
75
+ * Get all raw records.
76
+ */
77
+ getRecords() {
78
+ return this.records;
79
+ }
80
+ /**
81
+ * Clear all records.
82
+ */
83
+ clear() {
84
+ this.records = [];
85
+ this.totalSpent = 0;
86
+ }
87
+ }
88
+ export class BudgetExceededError extends Error {
89
+ spent;
90
+ limit;
91
+ constructor(message, spent, limit) {
92
+ super(message);
93
+ this.name = 'BudgetExceededError';
94
+ this.spent = spent;
95
+ this.limit = limit;
96
+ }
97
+ }
98
+ //# sourceMappingURL=token-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-tracker.js","sourceRoot":"","sources":["../src/token-tracker.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@mce-bt/microagents-observability",
3
+ "version": "0.1.0",
4
+ "description": "Structured logging, tracing, and token/cost accounting",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "scripts": {
15
+ "build": "tsc --build",
16
+ "clean": "rm -rf dist tsconfig.tsbuildinfo",
17
+ "test": "vitest run"
18
+ },
19
+ "dependencies": {
20
+ "pino": "^9.5.0",
21
+ "pino-pretty": "^13.0.0"
22
+ },
23
+ "license": "MIT",
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "publishConfig": {
28
+ "access": "public"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/cavillo/microagents.git",
33
+ "directory": "packages/observability"
34
+ },
35
+ "homepage": "https://github.com/cavillo/microagents#readme",
36
+ "bugs": {
37
+ "url": "https://github.com/cavillo/microagents/issues"
38
+ },
39
+ "engines": {
40
+ "node": ">=20.0.0"
41
+ }
42
+ }