@revenium/litellm 0.0.2 → 0.0.3

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 CHANGED
@@ -174,6 +174,57 @@ if (isMiddlewareInitialized()) {
174
174
  }
175
175
  ```
176
176
 
177
+ ## Tool Metering
178
+
179
+ Track execution of custom tools and external API calls with automatic timing, error handling, and metadata collection.
180
+
181
+ ### Quick Example
182
+
183
+ ```typescript
184
+ import { meterTool, setToolContext } from "@revenium/litellm";
185
+
186
+ // Set context once (propagates to all tool calls)
187
+ setToolContext({
188
+ agent: "my-agent",
189
+ traceId: "session-123"
190
+ });
191
+
192
+ // Wrap tool execution
193
+ const result = await meterTool("weather-api", async () => {
194
+ return await fetch("https://api.example.com/weather");
195
+ }, {
196
+ operation: "get_forecast",
197
+ outputFields: ["temperature", "humidity"]
198
+ });
199
+ // Automatically extracts temperature & humidity from result
200
+ ```
201
+
202
+ ### Functions
203
+
204
+ **meterTool(toolId, fn, metadata?)**
205
+ - Wraps a function with automatic metering
206
+ - Captures duration, success/failure, and errors
207
+ - Returns function result unchanged
208
+
209
+ **reportToolCall(toolId, report)**
210
+ - Manually report a tool call that was already executed
211
+ - Useful when wrapping isn't possible
212
+
213
+ **Context Management**
214
+ - `setToolContext(ctx)` - Set context for all subsequent tool calls
215
+ - `getToolContext()` - Get current context
216
+ - `clearToolContext()` - Clear context
217
+ - `runWithToolContext(ctx, fn)` - Run function with scoped context
218
+
219
+ ### Metadata Options
220
+
221
+ | Field | Description |
222
+ |-------|-------------|
223
+ | `operation` | Tool operation name (e.g., "search", "scrape") |
224
+ | `outputFields` | Array of field names to auto-extract from result |
225
+ | `usageMetadata` | Custom metrics (e.g., tokens, results count) |
226
+ | `agent`, `traceId`, etc. | Context fields (inherited from setToolContext) |
227
+
177
228
  ## Quick Start Examples
178
229
 
179
230
  Want to try it immediately? Access the examples directory to find sample scripts to demonstrate how to integrate Revenium's middleware into your existing code.
package/dist/index.d.ts CHANGED
@@ -35,8 +35,10 @@ export declare function disable(): boolean;
35
35
  * Set a custom logger
36
36
  */
37
37
  export declare function setCustomLogger(logger: Logger): void;
38
- export type { ReveniumConfig, UsageMetadata, Logger, MiddlewareStatus, LiteLLMChatCompletionRequest, LiteLLMChatCompletionResponse, ReveniumHeaders, } from "./types";
38
+ export type { ReveniumConfig, UsageMetadata, Logger, MiddlewareStatus, LiteLLMChatCompletionRequest, LiteLLMChatCompletionResponse, ReveniumHeaders, ToolContext, ToolMetadata, ToolEventPayload, ToolCallReport, } from "./types";
39
39
  export { getConfig, getLogger, resetConfig, resetConfigManager, } from "./config";
40
40
  export { resetHttpClientManager } from "./client";
41
41
  export { initialize };
42
+ export { meterTool, reportToolCall, } from "./tool-tracker";
43
+ export { setToolContext, getToolContext, clearToolContext, runWithToolContext, } from "./tool-context";
42
44
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAYxE;;GAEG;AACH,iBAAS,UAAU,IAAI,OAAO,CA6C7B;AAqCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,gBAAgB,CAO5C;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAYhC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAOjC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,YAAY,EACV,cAAc,EACd,aAAa,EACb,MAAM,EACN,gBAAgB,EAChB,4BAA4B,EAC5B,6BAA6B,EAC7B,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAYxE;;GAEG;AACH,iBAAS,UAAU,IAAI,OAAO,CA6C7B;AAqCD;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,gBAAgB,CAO5C;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,OAAO,CAYhC;AAED;;GAEG;AACH,wBAAgB,OAAO,IAAI,OAAO,CAOjC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAGD,YAAY,EACV,cAAc,EACd,aAAa,EACb,MAAM,EACN,gBAAgB,EAChB,4BAA4B,EAC5B,6BAA6B,EAC7B,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGlD,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resetHttpClientManager = exports.resetConfigManager = exports.resetConfig = exports.getLogger = exports.getConfig = void 0;
3
+ exports.runWithToolContext = exports.clearToolContext = exports.getToolContext = exports.setToolContext = exports.reportToolCall = exports.meterTool = exports.resetHttpClientManager = exports.resetConfigManager = exports.resetConfig = exports.getLogger = exports.getConfig = void 0;
4
4
  exports.configure = configure;
5
5
  exports.isMiddlewareInitialized = isMiddlewareInitialized;
6
6
  exports.getInitializationState = getInitializationState;
@@ -185,5 +185,14 @@ Object.defineProperty(exports, "resetConfigManager", { enumerable: true, get: fu
185
185
  // Export HTTP client management functions for testing
186
186
  var client_2 = require("./client");
187
187
  Object.defineProperty(exports, "resetHttpClientManager", { enumerable: true, get: function () { return client_2.resetHttpClientManager; } });
188
+ // Export tool metering functions
189
+ var tool_tracker_1 = require("./tool-tracker");
190
+ Object.defineProperty(exports, "meterTool", { enumerable: true, get: function () { return tool_tracker_1.meterTool; } });
191
+ Object.defineProperty(exports, "reportToolCall", { enumerable: true, get: function () { return tool_tracker_1.reportToolCall; } });
192
+ var tool_context_1 = require("./tool-context");
193
+ Object.defineProperty(exports, "setToolContext", { enumerable: true, get: function () { return tool_context_1.setToolContext; } });
194
+ Object.defineProperty(exports, "getToolContext", { enumerable: true, get: function () { return tool_context_1.getToolContext; } });
195
+ Object.defineProperty(exports, "clearToolContext", { enumerable: true, get: function () { return tool_context_1.clearToolContext; } });
196
+ Object.defineProperty(exports, "runWithToolContext", { enumerable: true, get: function () { return tool_context_1.runWithToolContext; } });
188
197
  // Testing utilities are exported above with their function declarations
189
198
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ToolContext } from "./types/tool-metering";
2
+ export declare function setToolContext(ctx: ToolContext): void;
3
+ export declare function getToolContext(): ToolContext;
4
+ export declare function clearToolContext(): void;
5
+ export declare function runWithToolContext<T>(ctx: ToolContext, fn: () => T | Promise<T>): T | Promise<T>;
6
+ //# sourceMappingURL=tool-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-context.d.ts","sourceRoot":"","sources":["../src/tool-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAGrD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGhB"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setToolContext = setToolContext;
4
+ exports.getToolContext = getToolContext;
5
+ exports.clearToolContext = clearToolContext;
6
+ exports.runWithToolContext = runWithToolContext;
7
+ const async_hooks_1 = require("async_hooks");
8
+ const contextStorage = new async_hooks_1.AsyncLocalStorage();
9
+ function setToolContext(ctx) {
10
+ const current = contextStorage.getStore() ?? {};
11
+ contextStorage.enterWith({ ...current, ...ctx });
12
+ }
13
+ function getToolContext() {
14
+ return contextStorage.getStore() ?? {};
15
+ }
16
+ function clearToolContext() {
17
+ contextStorage.enterWith({});
18
+ }
19
+ function runWithToolContext(ctx, fn) {
20
+ const merged = { ...getToolContext(), ...ctx };
21
+ return contextStorage.run(merged, fn);
22
+ }
23
+ //# sourceMappingURL=tool-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-context.js","sourceRoot":"","sources":["../src/tool-context.ts"],"names":[],"mappings":";;AAKA,wCAGC;AAED,wCAEC;AAED,4CAEC;AAED,gDAMC;AAxBD,6CAAgD;AAGhD,MAAM,cAAc,GAAG,IAAI,+BAAiB,EAAe,CAAC;AAE5D,SAAgB,cAAc,CAAC,GAAgB;IAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,cAAc,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,cAAc;IAC5B,OAAO,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAgB,gBAAgB;IAC9B,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,kBAAkB,CAChC,GAAgB,EAChB,EAAwB;IAExB,MAAM,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,EAAE,GAAG,GAAG,EAAE,CAAC;IAC/C,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { ToolMetadata, ToolCallReport } from "./types/tool-metering";
2
+ export declare function meterTool<T>(toolId: string, fn: () => T | Promise<T>, metadata?: ToolMetadata): Promise<T>;
3
+ export declare function reportToolCall(toolId: string, report: ToolCallReport): void;
4
+ //# sourceMappingURL=tool-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-tracker.d.ts","sourceRoot":"","sources":["../src/tool-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,uBAAuB,CAAC;AAmIvF,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,CAAC,CAAC,CA0CZ;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuB3E"}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.meterTool = meterTool;
4
+ exports.reportToolCall = reportToolCall;
5
+ const crypto_1 = require("crypto");
6
+ const tool_context_1 = require("./tool-context");
7
+ const config_1 = require("./config");
8
+ const MIDDLEWARE_SOURCE = "revenium-litellm-node";
9
+ const TOOL_EVENTS_ENDPOINT = "/tool/events";
10
+ function isPromise(value) {
11
+ return value !== null && typeof value === "object" && typeof value.then === "function";
12
+ }
13
+ function extractOutputFields(result, fields) {
14
+ if (typeof result !== "object" || result === null) {
15
+ return {};
16
+ }
17
+ const extracted = {};
18
+ for (const field of fields) {
19
+ if (field in result) {
20
+ extracted[field] = result[field];
21
+ }
22
+ }
23
+ return extracted;
24
+ }
25
+ function buildToolEventPayload(toolId, durationMs, success, metadata, errorMessage) {
26
+ const context = (0, tool_context_1.getToolContext)();
27
+ const transactionId = metadata?.transactionId ?? context.transactionId ?? (0, crypto_1.randomUUID)();
28
+ return {
29
+ transactionId,
30
+ toolId,
31
+ operation: metadata?.operation,
32
+ durationMs,
33
+ success,
34
+ timestamp: new Date().toISOString(),
35
+ errorMessage,
36
+ usageMetadata: metadata?.usageMetadata,
37
+ agent: metadata?.agent ?? context.agent,
38
+ organizationName: metadata?.organizationName ?? context.organizationName,
39
+ productName: metadata?.productName ?? context.productName,
40
+ subscriberCredential: metadata?.subscriberCredential ?? context.subscriberCredential,
41
+ workflowId: metadata?.workflowId ?? context.workflowId,
42
+ traceId: metadata?.traceId ?? context.traceId,
43
+ middlewareSource: MIDDLEWARE_SOURCE,
44
+ };
45
+ }
46
+ async function sendToolEvent(payload) {
47
+ const config = (0, config_1.getConfig)();
48
+ const logger = (0, config_1.getLogger)();
49
+ if (!config) {
50
+ logger.warn("Revenium configuration not found, skipping tool event tracking");
51
+ return;
52
+ }
53
+ const url = `${config.reveniumMeteringBaseUrl || "https://api.revenium.ai"}${TOOL_EVENTS_ENDPOINT}`;
54
+ logger.debug("Sending tool event to Revenium", {
55
+ url,
56
+ toolId: payload.toolId,
57
+ transactionId: payload.transactionId,
58
+ operation: payload.operation,
59
+ durationMs: payload.durationMs,
60
+ success: payload.success,
61
+ });
62
+ const controller = new AbortController();
63
+ const timeoutId = setTimeout(() => controller.abort(), 10000);
64
+ const response = await fetch(url, {
65
+ method: "POST",
66
+ headers: {
67
+ "Content-Type": "application/json",
68
+ "Accept": "application/json",
69
+ "x-api-key": config.reveniumMeteringApiKey,
70
+ },
71
+ body: JSON.stringify(payload),
72
+ signal: controller.signal,
73
+ }).finally(() => clearTimeout(timeoutId));
74
+ logger.debug("Tool event response", {
75
+ status: response.status,
76
+ statusText: response.statusText,
77
+ transactionId: payload.transactionId,
78
+ toolId: payload.toolId,
79
+ });
80
+ if (!response.ok) {
81
+ const responseText = await response.text();
82
+ logger.error("Tool event API error", {
83
+ status: response.status,
84
+ statusText: response.statusText,
85
+ body: responseText,
86
+ transactionId: payload.transactionId,
87
+ toolId: payload.toolId,
88
+ });
89
+ throw new Error(`Revenium tool event API error: ${response.status} ${response.statusText}`);
90
+ }
91
+ logger.debug("Tool event sent successfully", {
92
+ transactionId: payload.transactionId,
93
+ toolId: payload.toolId,
94
+ });
95
+ }
96
+ function dispatchToolEvent(payload) {
97
+ const logger = (0, config_1.getLogger)();
98
+ sendToolEvent(payload)
99
+ .then(() => {
100
+ logger.debug("Tool event sent successfully", {
101
+ transactionId: payload.transactionId,
102
+ toolId: payload.toolId,
103
+ });
104
+ })
105
+ .catch((error) => {
106
+ logger.warn("Failed to send tool event", {
107
+ transactionId: payload.transactionId,
108
+ toolId: payload.toolId,
109
+ error: error instanceof Error ? error.message : String(error),
110
+ });
111
+ });
112
+ }
113
+ function meterTool(toolId, fn, metadata) {
114
+ const startTime = performance.now();
115
+ const handleSuccess = (result) => {
116
+ const durationMs = Math.round(performance.now() - startTime);
117
+ let finalMetadata = metadata;
118
+ if (metadata?.outputFields && metadata.outputFields.length > 0) {
119
+ const extracted = extractOutputFields(result, metadata.outputFields);
120
+ finalMetadata = {
121
+ ...metadata,
122
+ usageMetadata: {
123
+ ...metadata.usageMetadata,
124
+ ...extracted,
125
+ },
126
+ };
127
+ }
128
+ const payload = buildToolEventPayload(toolId, durationMs, true, finalMetadata);
129
+ dispatchToolEvent(payload);
130
+ return result;
131
+ };
132
+ const handleError = (error) => {
133
+ const durationMs = Math.round(performance.now() - startTime);
134
+ const errorMessage = error instanceof Error ? error.message : String(error);
135
+ const payload = buildToolEventPayload(toolId, durationMs, false, metadata, errorMessage);
136
+ dispatchToolEvent(payload);
137
+ throw error;
138
+ };
139
+ try {
140
+ const result = fn();
141
+ if (isPromise(result)) {
142
+ return result.then(handleSuccess, handleError);
143
+ }
144
+ return Promise.resolve(handleSuccess(result));
145
+ }
146
+ catch (error) {
147
+ return Promise.reject(handleError(error));
148
+ }
149
+ }
150
+ function reportToolCall(toolId, report) {
151
+ const context = (0, tool_context_1.getToolContext)();
152
+ const transactionId = report.transactionId ?? context.transactionId ?? (0, crypto_1.randomUUID)();
153
+ const payload = {
154
+ transactionId,
155
+ toolId,
156
+ operation: report.operation,
157
+ durationMs: report.durationMs,
158
+ success: report.success,
159
+ timestamp: report.timestamp ?? new Date().toISOString(),
160
+ errorMessage: report.errorMessage,
161
+ usageMetadata: report.usageMetadata,
162
+ agent: report.agent ?? context.agent,
163
+ organizationName: report.organizationName ?? context.organizationName,
164
+ productName: report.productName ?? context.productName,
165
+ subscriberCredential: report.subscriberCredential ?? context.subscriberCredential,
166
+ workflowId: report.workflowId ?? context.workflowId,
167
+ traceId: report.traceId ?? context.traceId,
168
+ middlewareSource: MIDDLEWARE_SOURCE,
169
+ };
170
+ dispatchToolEvent(payload);
171
+ }
172
+ //# sourceMappingURL=tool-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-tracker.js","sourceRoot":"","sources":["../src/tool-tracker.ts"],"names":[],"mappings":";;AAoIA,8BA8CC;AAED,wCAuBC;AA3MD,mCAAoC;AAEpC,iDAAgD;AAChD,qCAAgD;AAEhD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAClD,MAAM,oBAAoB,GAAG,cAAc,CAAC;AAE5C,SAAS,SAAS,CAAI,KAAc;IAClC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAQ,KAAoB,CAAC,IAAI,KAAK,UAAU,CAAC;AACzG,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAe,EAAE,MAAgB;IAC5D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,KAAK,CAAC,GAAI,MAAkC,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,UAAkB,EAClB,OAAgB,EAChB,QAAuB,EACvB,YAAqB;IAErB,MAAM,OAAO,GAAG,IAAA,6BAAc,GAAE,CAAC;IACjC,MAAM,aAAa,GAAG,QAAQ,EAAE,aAAa,IAAI,OAAO,CAAC,aAAa,IAAI,IAAA,mBAAU,GAAE,CAAC;IAEvF,OAAO;QACL,aAAa;QACb,MAAM;QACN,SAAS,EAAE,QAAQ,EAAE,SAAS;QAC9B,UAAU;QACV,OAAO;QACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,YAAY;QACZ,aAAa,EAAE,QAAQ,EAAE,aAAa;QACtC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK;QACvC,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;QACxE,WAAW,EAAE,QAAQ,EAAE,WAAW,IAAI,OAAO,CAAC,WAAW;QACzD,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,IAAI,OAAO,CAAC,oBAAoB;QACpF,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,OAAO,CAAC,UAAU;QACtD,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;QAC7C,gBAAgB,EAAE,iBAAiB;KACpC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAyB;IACpD,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,uBAAuB,IAAI,yBAAyB,GAAG,oBAAoB,EAAE,CAAC;IAEpG,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;QAC7C,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,KAAM,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,QAAQ,EAAE,kBAAkB;YAC5B,WAAW,EAAE,MAAM,CAAC,sBAAsB;SAC3C;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAC7B,MAAM,EAAE,UAAU,CAAC,MAAM;KAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAE1C,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;QAClC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;YACnC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,YAAY;YAClB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;QAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAyB;IAClD,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAC;IAC3B,aAAa,CAAC,OAAO,CAAC;SACnB,IAAI,CAAC,GAAG,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;YAC3C,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;IACL,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACvC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,SAAS,CACvB,MAAc,EACd,EAAwB,EACxB,QAAuB;IAEvB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAEpC,MAAM,aAAa,GAAG,CAAC,MAAS,EAAK,EAAE;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAE7D,IAAI,aAAa,GAAG,QAAQ,CAAC;QAC7B,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACrE,aAAa,GAAG;gBACd,GAAG,QAAQ;gBACX,aAAa,EAAE;oBACb,GAAG,QAAQ,CAAC,aAAa;oBACzB,GAAG,SAAS;iBACb;aACF,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/E,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAc,EAAS,EAAE;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACzF,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;QAEpB,IAAI,SAAS,CAAI,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,SAAgB,cAAc,CAAC,MAAc,EAAE,MAAsB;IACnE,MAAM,OAAO,GAAG,IAAA,6BAAc,GAAE,CAAC;IACjC,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,IAAI,IAAA,mBAAU,GAAE,CAAC;IAEpF,MAAM,OAAO,GAAqB;QAChC,aAAa;QACb,MAAM;QACN,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACvD,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK;QACpC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB;QACrE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW;QACtD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,OAAO,CAAC,oBAAoB;QACjF,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU;QACnD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO;QAC1C,gBAAgB,EAAE,iBAAiB;KACpC,CAAC;IAEF,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,47 @@
1
+ export interface ToolContext {
2
+ agent?: string;
3
+ organizationName?: string;
4
+ productName?: string;
5
+ subscriberCredential?: string;
6
+ workflowId?: string;
7
+ traceId?: string;
8
+ transactionId?: string;
9
+ }
10
+ export interface ToolMetadata extends ToolContext {
11
+ operation?: string;
12
+ outputFields?: string[];
13
+ usageMetadata?: Record<string, unknown>;
14
+ }
15
+ export interface ToolEventPayload {
16
+ transactionId: string;
17
+ toolId: string;
18
+ operation?: string;
19
+ durationMs: number;
20
+ success: boolean;
21
+ timestamp: string;
22
+ errorMessage?: string;
23
+ usageMetadata?: Record<string, unknown>;
24
+ agent?: string;
25
+ organizationName?: string;
26
+ productName?: string;
27
+ subscriberCredential?: string;
28
+ workflowId?: string;
29
+ traceId?: string;
30
+ middlewareSource: string;
31
+ }
32
+ export interface ToolCallReport {
33
+ operation?: string;
34
+ durationMs: number;
35
+ success: boolean;
36
+ errorMessage?: string;
37
+ usageMetadata?: Record<string, unknown>;
38
+ agent?: string;
39
+ organizationName?: string;
40
+ productName?: string;
41
+ subscriberCredential?: string;
42
+ workflowId?: string;
43
+ traceId?: string;
44
+ transactionId?: string;
45
+ timestamp?: string;
46
+ }
47
+ //# sourceMappingURL=tool-metering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-metering.d.ts","sourceRoot":"","sources":["../../src/types/tool-metering.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tool-metering.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-metering.js","sourceRoot":"","sources":["../../src/types/tool-metering.ts"],"names":[],"mappings":""}
package/dist/types.d.ts CHANGED
@@ -364,4 +364,5 @@ export interface ProviderPattern {
364
364
  /** Provider prefix patterns (e.g., "openai/" in "openai/gpt-4") */
365
365
  prefixes: string[];
366
366
  }
367
+ export * from "./types/tool-metering";
367
368
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,3 +1,18 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types/tool-metering"), exports);
3
18
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA8YA,wDAAsC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenium/litellm",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Comprehensive middleware for Node.js applications using LiteLLM Proxy to automatically track LLM usage, costs, and performance metrics with Revenium",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",