@prefactor/sdk 0.1.3 → 0.1.5

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 (56) hide show
  1. package/README.md +49 -259
  2. package/dist/index.cjs +16 -1253
  3. package/dist/index.cjs.map +4 -17
  4. package/dist/index.d.ts +2 -81
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +4 -1255
  7. package/dist/index.js.map +4 -17
  8. package/package.json +6 -22
  9. package/LICENSE +0 -14
  10. package/dist/LICENSE +0 -14
  11. package/dist/README.md +0 -313
  12. package/dist/config.d.ts +0 -259
  13. package/dist/config.d.ts.map +0 -1
  14. package/dist/config.js +0 -110
  15. package/dist/config.js.map +0 -1
  16. package/dist/instrumentation/langchain/metadata-extractor.d.ts +0 -20
  17. package/dist/instrumentation/langchain/metadata-extractor.d.ts.map +0 -1
  18. package/dist/instrumentation/langchain/metadata-extractor.js +0 -54
  19. package/dist/instrumentation/langchain/metadata-extractor.js.map +0 -1
  20. package/dist/instrumentation/langchain/middleware.d.ts +0 -84
  21. package/dist/instrumentation/langchain/middleware.d.ts.map +0 -1
  22. package/dist/instrumentation/langchain/middleware.js +0 -181
  23. package/dist/instrumentation/langchain/middleware.js.map +0 -1
  24. package/dist/package.json +0 -56
  25. package/dist/tracing/context.d.ts +0 -53
  26. package/dist/tracing/context.d.ts.map +0 -1
  27. package/dist/tracing/context.js +0 -65
  28. package/dist/tracing/context.js.map +0 -1
  29. package/dist/tracing/span.d.ts +0 -68
  30. package/dist/tracing/span.d.ts.map +0 -1
  31. package/dist/tracing/span.js +0 -21
  32. package/dist/tracing/span.js.map +0 -1
  33. package/dist/tracing/tracer.d.ts +0 -100
  34. package/dist/tracing/tracer.d.ts.map +0 -1
  35. package/dist/tracing/tracer.js +0 -151
  36. package/dist/tracing/tracer.js.map +0 -1
  37. package/dist/transport/base.d.ts +0 -38
  38. package/dist/transport/base.d.ts.map +0 -1
  39. package/dist/transport/base.js +0 -2
  40. package/dist/transport/base.js.map +0 -1
  41. package/dist/transport/http.d.ts +0 -90
  42. package/dist/transport/http.d.ts.map +0 -1
  43. package/dist/transport/http.js +0 -399
  44. package/dist/transport/http.js.map +0 -1
  45. package/dist/transport/stdio.d.ts +0 -48
  46. package/dist/transport/stdio.d.ts.map +0 -1
  47. package/dist/transport/stdio.js +0 -71
  48. package/dist/transport/stdio.js.map +0 -1
  49. package/dist/utils/logging.d.ts +0 -29
  50. package/dist/utils/logging.d.ts.map +0 -1
  51. package/dist/utils/logging.js +0 -71
  52. package/dist/utils/logging.js.map +0 -1
  53. package/dist/utils/serialization.d.ts +0 -24
  54. package/dist/utils/serialization.d.ts.map +0 -1
  55. package/dist/utils/serialization.js +0 -60
  56. package/dist/utils/serialization.js.map +0 -1
package/dist/config.d.ts DELETED
@@ -1,259 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Configuration schema for HTTP transport
4
- */
5
- export declare const HttpTransportConfigSchema: z.ZodObject<{
6
- /** API endpoint URL */
7
- apiUrl: z.ZodString;
8
- /** Authentication token */
9
- apiToken: z.ZodString;
10
- /** Optional agent identifier */
11
- agentId: z.ZodOptional<z.ZodString>;
12
- /** Optional agent version */
13
- agentVersion: z.ZodOptional<z.ZodString>;
14
- /** Optional agent name */
15
- agentName: z.ZodOptional<z.ZodString>;
16
- /** Optional agent description */
17
- agentDescription: z.ZodOptional<z.ZodString>;
18
- /** Optional agent schema for validation (full schema object) */
19
- agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
20
- /** Optional agent schema version identifier (string) */
21
- agentSchemaVersion: z.ZodOptional<z.ZodString>;
22
- /** Skip schema validation */
23
- skipSchema: z.ZodDefault<z.ZodBoolean>;
24
- /** Request timeout in milliseconds */
25
- requestTimeout: z.ZodDefault<z.ZodNumber>;
26
- /** Connection timeout in milliseconds */
27
- connectTimeout: z.ZodDefault<z.ZodNumber>;
28
- /** Maximum number of retry attempts */
29
- maxRetries: z.ZodDefault<z.ZodNumber>;
30
- /** Initial delay between retries in milliseconds */
31
- initialRetryDelay: z.ZodDefault<z.ZodNumber>;
32
- /** Maximum delay between retries in milliseconds */
33
- maxRetryDelay: z.ZodDefault<z.ZodNumber>;
34
- /** Multiplier for exponential backoff */
35
- retryMultiplier: z.ZodDefault<z.ZodNumber>;
36
- }, "strip", z.ZodTypeAny, {
37
- apiUrl: string;
38
- apiToken: string;
39
- skipSchema: boolean;
40
- requestTimeout: number;
41
- connectTimeout: number;
42
- maxRetries: number;
43
- initialRetryDelay: number;
44
- maxRetryDelay: number;
45
- retryMultiplier: number;
46
- agentId?: string | undefined;
47
- agentVersion?: string | undefined;
48
- agentName?: string | undefined;
49
- agentDescription?: string | undefined;
50
- agentSchema?: Record<string, unknown> | undefined;
51
- agentSchemaVersion?: string | undefined;
52
- }, {
53
- apiUrl: string;
54
- apiToken: string;
55
- agentId?: string | undefined;
56
- agentVersion?: string | undefined;
57
- agentName?: string | undefined;
58
- agentDescription?: string | undefined;
59
- agentSchema?: Record<string, unknown> | undefined;
60
- agentSchemaVersion?: string | undefined;
61
- skipSchema?: boolean | undefined;
62
- requestTimeout?: number | undefined;
63
- connectTimeout?: number | undefined;
64
- maxRetries?: number | undefined;
65
- initialRetryDelay?: number | undefined;
66
- maxRetryDelay?: number | undefined;
67
- retryMultiplier?: number | undefined;
68
- }>;
69
- export type HttpTransportConfig = z.infer<typeof HttpTransportConfigSchema>;
70
- /**
71
- * Partial HTTP config schema for user input (before defaults are applied)
72
- */
73
- export declare const PartialHttpConfigSchema: z.ZodObject<{
74
- apiUrl: z.ZodString;
75
- apiToken: z.ZodString;
76
- agentId: z.ZodOptional<z.ZodString>;
77
- agentVersion: z.ZodOptional<z.ZodString>;
78
- agentName: z.ZodOptional<z.ZodString>;
79
- agentDescription: z.ZodOptional<z.ZodString>;
80
- agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
81
- agentSchemaVersion: z.ZodOptional<z.ZodString>;
82
- skipSchema: z.ZodOptional<z.ZodBoolean>;
83
- requestTimeout: z.ZodOptional<z.ZodNumber>;
84
- connectTimeout: z.ZodOptional<z.ZodNumber>;
85
- maxRetries: z.ZodOptional<z.ZodNumber>;
86
- initialRetryDelay: z.ZodOptional<z.ZodNumber>;
87
- maxRetryDelay: z.ZodOptional<z.ZodNumber>;
88
- retryMultiplier: z.ZodOptional<z.ZodNumber>;
89
- }, "strip", z.ZodTypeAny, {
90
- apiUrl: string;
91
- apiToken: string;
92
- agentId?: string | undefined;
93
- agentVersion?: string | undefined;
94
- agentName?: string | undefined;
95
- agentDescription?: string | undefined;
96
- agentSchema?: Record<string, unknown> | undefined;
97
- agentSchemaVersion?: string | undefined;
98
- skipSchema?: boolean | undefined;
99
- requestTimeout?: number | undefined;
100
- connectTimeout?: number | undefined;
101
- maxRetries?: number | undefined;
102
- initialRetryDelay?: number | undefined;
103
- maxRetryDelay?: number | undefined;
104
- retryMultiplier?: number | undefined;
105
- }, {
106
- apiUrl: string;
107
- apiToken: string;
108
- agentId?: string | undefined;
109
- agentVersion?: string | undefined;
110
- agentName?: string | undefined;
111
- agentDescription?: string | undefined;
112
- agentSchema?: Record<string, unknown> | undefined;
113
- agentSchemaVersion?: string | undefined;
114
- skipSchema?: boolean | undefined;
115
- requestTimeout?: number | undefined;
116
- connectTimeout?: number | undefined;
117
- maxRetries?: number | undefined;
118
- initialRetryDelay?: number | undefined;
119
- maxRetryDelay?: number | undefined;
120
- retryMultiplier?: number | undefined;
121
- }>;
122
- export type PartialHttpConfig = z.infer<typeof PartialHttpConfigSchema>;
123
- /**
124
- * Main SDK configuration schema
125
- */
126
- export declare const ConfigSchema: z.ZodObject<{
127
- /** Transport type to use for span emission */
128
- transportType: z.ZodDefault<z.ZodEnum<["stdio", "http"]>>;
129
- /** Sampling rate (0.0 to 1.0) */
130
- sampleRate: z.ZodDefault<z.ZodNumber>;
131
- /** Whether to capture span inputs */
132
- captureInputs: z.ZodDefault<z.ZodBoolean>;
133
- /** Whether to capture span outputs */
134
- captureOutputs: z.ZodDefault<z.ZodBoolean>;
135
- /** Maximum length for input strings */
136
- maxInputLength: z.ZodDefault<z.ZodNumber>;
137
- /** Maximum length for output strings */
138
- maxOutputLength: z.ZodDefault<z.ZodNumber>;
139
- /** HTTP transport configuration (required if transportType is 'http') */
140
- httpConfig: z.ZodOptional<z.ZodObject<{
141
- apiUrl: z.ZodString;
142
- apiToken: z.ZodString;
143
- agentId: z.ZodOptional<z.ZodString>;
144
- agentVersion: z.ZodOptional<z.ZodString>;
145
- agentName: z.ZodOptional<z.ZodString>;
146
- agentDescription: z.ZodOptional<z.ZodString>;
147
- agentSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
148
- agentSchemaVersion: z.ZodOptional<z.ZodString>;
149
- skipSchema: z.ZodOptional<z.ZodBoolean>;
150
- requestTimeout: z.ZodOptional<z.ZodNumber>;
151
- connectTimeout: z.ZodOptional<z.ZodNumber>;
152
- maxRetries: z.ZodOptional<z.ZodNumber>;
153
- initialRetryDelay: z.ZodOptional<z.ZodNumber>;
154
- maxRetryDelay: z.ZodOptional<z.ZodNumber>;
155
- retryMultiplier: z.ZodOptional<z.ZodNumber>;
156
- }, "strip", z.ZodTypeAny, {
157
- apiUrl: string;
158
- apiToken: string;
159
- agentId?: string | undefined;
160
- agentVersion?: string | undefined;
161
- agentName?: string | undefined;
162
- agentDescription?: string | undefined;
163
- agentSchema?: Record<string, unknown> | undefined;
164
- agentSchemaVersion?: string | undefined;
165
- skipSchema?: boolean | undefined;
166
- requestTimeout?: number | undefined;
167
- connectTimeout?: number | undefined;
168
- maxRetries?: number | undefined;
169
- initialRetryDelay?: number | undefined;
170
- maxRetryDelay?: number | undefined;
171
- retryMultiplier?: number | undefined;
172
- }, {
173
- apiUrl: string;
174
- apiToken: string;
175
- agentId?: string | undefined;
176
- agentVersion?: string | undefined;
177
- agentName?: string | undefined;
178
- agentDescription?: string | undefined;
179
- agentSchema?: Record<string, unknown> | undefined;
180
- agentSchemaVersion?: string | undefined;
181
- skipSchema?: boolean | undefined;
182
- requestTimeout?: number | undefined;
183
- connectTimeout?: number | undefined;
184
- maxRetries?: number | undefined;
185
- initialRetryDelay?: number | undefined;
186
- maxRetryDelay?: number | undefined;
187
- retryMultiplier?: number | undefined;
188
- }>>;
189
- }, "strip", z.ZodTypeAny, {
190
- transportType: "stdio" | "http";
191
- sampleRate: number;
192
- captureInputs: boolean;
193
- captureOutputs: boolean;
194
- maxInputLength: number;
195
- maxOutputLength: number;
196
- httpConfig?: {
197
- apiUrl: string;
198
- apiToken: string;
199
- agentId?: string | undefined;
200
- agentVersion?: string | undefined;
201
- agentName?: string | undefined;
202
- agentDescription?: string | undefined;
203
- agentSchema?: Record<string, unknown> | undefined;
204
- agentSchemaVersion?: string | undefined;
205
- skipSchema?: boolean | undefined;
206
- requestTimeout?: number | undefined;
207
- connectTimeout?: number | undefined;
208
- maxRetries?: number | undefined;
209
- initialRetryDelay?: number | undefined;
210
- maxRetryDelay?: number | undefined;
211
- retryMultiplier?: number | undefined;
212
- } | undefined;
213
- }, {
214
- transportType?: "stdio" | "http" | undefined;
215
- sampleRate?: number | undefined;
216
- captureInputs?: boolean | undefined;
217
- captureOutputs?: boolean | undefined;
218
- maxInputLength?: number | undefined;
219
- maxOutputLength?: number | undefined;
220
- httpConfig?: {
221
- apiUrl: string;
222
- apiToken: string;
223
- agentId?: string | undefined;
224
- agentVersion?: string | undefined;
225
- agentName?: string | undefined;
226
- agentDescription?: string | undefined;
227
- agentSchema?: Record<string, unknown> | undefined;
228
- agentSchemaVersion?: string | undefined;
229
- skipSchema?: boolean | undefined;
230
- requestTimeout?: number | undefined;
231
- connectTimeout?: number | undefined;
232
- maxRetries?: number | undefined;
233
- initialRetryDelay?: number | undefined;
234
- maxRetryDelay?: number | undefined;
235
- retryMultiplier?: number | undefined;
236
- } | undefined;
237
- }>;
238
- export type Config = z.infer<typeof ConfigSchema>;
239
- /**
240
- * Creates a validated configuration object by merging provided options with
241
- * environment variables and defaults.
242
- *
243
- * @param options - Partial configuration options
244
- * @returns Validated configuration object
245
- * @throws {z.ZodError} If configuration is invalid
246
- *
247
- * @example
248
- * ```typescript
249
- * const config = createConfig({
250
- * transportType: 'http',
251
- * httpConfig: {
252
- * apiUrl: 'https://api.prefactor.ai',
253
- * apiToken: process.env.PREFACTOR_API_TOKEN!,
254
- * }
255
- * });
256
- * ```
257
- */
258
- export declare function createConfig(options?: Partial<Config>): Config;
259
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,yBAAyB;IACpC,uBAAuB;;IAGvB,2BAA2B;;IAG3B,gCAAgC;;IAGhC,6BAA6B;;IAG7B,0BAA0B;;IAG1B,iCAAiC;;IAGjC,gEAAgE;;IAGhE,wDAAwD;;IAGxD,6BAA6B;;IAG7B,sCAAsC;;IAGtC,yCAAyC;;IAGzC,uCAAuC;;IAGvC,oDAAoD;;IAGpD,oDAAoD;;IAGpD,yCAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,8CAA8C;;IAG9C,iCAAiC;;IAGjC,qCAAqC;;IAGrC,sCAAsC;;IAGtC,uCAAuC;;IAGvC,wCAAwC;;IAGxC,yEAAyE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzE,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAkB9D"}
package/dist/config.js DELETED
@@ -1,110 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Configuration schema for HTTP transport
4
- */
5
- export const HttpTransportConfigSchema = z.object({
6
- /** API endpoint URL */
7
- apiUrl: z.string().url(),
8
- /** Authentication token */
9
- apiToken: z.string().min(1),
10
- /** Optional agent identifier */
11
- agentId: z.string().optional(),
12
- /** Optional agent version */
13
- agentVersion: z.string().optional(),
14
- /** Optional agent name */
15
- agentName: z.string().optional(),
16
- /** Optional agent description */
17
- agentDescription: z.string().optional(),
18
- /** Optional agent schema for validation (full schema object) */
19
- agentSchema: z.record(z.unknown()).optional(),
20
- /** Optional agent schema version identifier (string) */
21
- agentSchemaVersion: z.string().optional(),
22
- /** Skip schema validation */
23
- skipSchema: z.boolean().default(false),
24
- /** Request timeout in milliseconds */
25
- requestTimeout: z.number().positive().default(30000),
26
- /** Connection timeout in milliseconds */
27
- connectTimeout: z.number().positive().default(10000),
28
- /** Maximum number of retry attempts */
29
- maxRetries: z.number().int().nonnegative().default(3),
30
- /** Initial delay between retries in milliseconds */
31
- initialRetryDelay: z.number().positive().default(1000),
32
- /** Maximum delay between retries in milliseconds */
33
- maxRetryDelay: z.number().positive().default(60000),
34
- /** Multiplier for exponential backoff */
35
- retryMultiplier: z.number().positive().default(2.0),
36
- });
37
- /**
38
- * Partial HTTP config schema for user input (before defaults are applied)
39
- */
40
- export const PartialHttpConfigSchema = z.object({
41
- apiUrl: z.string().url(),
42
- apiToken: z.string().min(1),
43
- agentId: z.string().optional(),
44
- agentVersion: z.string().optional(),
45
- agentName: z.string().optional(),
46
- agentDescription: z.string().optional(),
47
- agentSchema: z.record(z.unknown()).optional(),
48
- agentSchemaVersion: z.string().optional(),
49
- skipSchema: z.boolean().optional(),
50
- requestTimeout: z.number().positive().optional(),
51
- connectTimeout: z.number().positive().optional(),
52
- maxRetries: z.number().int().nonnegative().optional(),
53
- initialRetryDelay: z.number().positive().optional(),
54
- maxRetryDelay: z.number().positive().optional(),
55
- retryMultiplier: z.number().positive().optional(),
56
- });
57
- /**
58
- * Main SDK configuration schema
59
- */
60
- export const ConfigSchema = z.object({
61
- /** Transport type to use for span emission */
62
- transportType: z.enum(['stdio', 'http']).default('stdio'),
63
- /** Sampling rate (0.0 to 1.0) */
64
- sampleRate: z.number().min(0).max(1).default(1.0),
65
- /** Whether to capture span inputs */
66
- captureInputs: z.boolean().default(true),
67
- /** Whether to capture span outputs */
68
- captureOutputs: z.boolean().default(true),
69
- /** Maximum length for input strings */
70
- maxInputLength: z.number().int().positive().default(10000),
71
- /** Maximum length for output strings */
72
- maxOutputLength: z.number().int().positive().default(10000),
73
- /** HTTP transport configuration (required if transportType is 'http') */
74
- httpConfig: PartialHttpConfigSchema.optional(),
75
- });
76
- /**
77
- * Creates a validated configuration object by merging provided options with
78
- * environment variables and defaults.
79
- *
80
- * @param options - Partial configuration options
81
- * @returns Validated configuration object
82
- * @throws {z.ZodError} If configuration is invalid
83
- *
84
- * @example
85
- * ```typescript
86
- * const config = createConfig({
87
- * transportType: 'http',
88
- * httpConfig: {
89
- * apiUrl: 'https://api.prefactor.ai',
90
- * apiToken: process.env.PREFACTOR_API_TOKEN!,
91
- * }
92
- * });
93
- * ```
94
- */
95
- export function createConfig(options) {
96
- const config = {
97
- transportType: options?.transportType ??
98
- process.env.PREFACTOR_TRANSPORT ??
99
- 'stdio',
100
- sampleRate: options?.sampleRate ?? parseFloat(process.env.PREFACTOR_SAMPLE_RATE ?? '1.0'),
101
- captureInputs: options?.captureInputs ?? process.env.PREFACTOR_CAPTURE_INPUTS !== 'false',
102
- captureOutputs: options?.captureOutputs ?? process.env.PREFACTOR_CAPTURE_OUTPUTS !== 'false',
103
- maxInputLength: options?.maxInputLength ?? parseInt(process.env.PREFACTOR_MAX_INPUT_LENGTH ?? '10000', 10),
104
- maxOutputLength: options?.maxOutputLength ?? parseInt(process.env.PREFACTOR_MAX_OUTPUT_LENGTH ?? '10000', 10),
105
- httpConfig: options?.httpConfig,
106
- };
107
- // Validate and return
108
- return ConfigSchema.parse(config);
109
- }
110
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import type { TokenUsage } from '../../tracing/span.js';
2
- /**
3
- * Extract token usage information from LLM responses.
4
- *
5
- * Handles multiple response formats from different LLM providers and LangChain versions.
6
- *
7
- * @param response - The LLM response object
8
- * @returns TokenUsage object or null if no usage data found
9
- *
10
- * @example
11
- * ```typescript
12
- * const response = await model.invoke(messages);
13
- * const tokenUsage = extractTokenUsage(response);
14
- * if (tokenUsage) {
15
- * console.log(`Tokens used: ${tokenUsage.totalTokens}`);
16
- * }
17
- * ```
18
- */
19
- export declare function extractTokenUsage(response: any): TokenUsage | null;
20
- //# sourceMappingURL=metadata-extractor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata-extractor.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/langchain/metadata-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,GAAG,GAAG,UAAU,GAAG,IAAI,CAoClE"}
@@ -1,54 +0,0 @@
1
- /**
2
- * Extract token usage information from LLM responses.
3
- *
4
- * Handles multiple response formats from different LLM providers and LangChain versions.
5
- *
6
- * @param response - The LLM response object
7
- * @returns TokenUsage object or null if no usage data found
8
- *
9
- * @example
10
- * ```typescript
11
- * const response = await model.invoke(messages);
12
- * const tokenUsage = extractTokenUsage(response);
13
- * if (tokenUsage) {
14
- * console.log(`Tokens used: ${tokenUsage.totalTokens}`);
15
- * }
16
- * ```
17
- */
18
- // biome-ignore lint/suspicious/noExplicitAny: LLM response structure varies by provider
19
- export function extractTokenUsage(response) {
20
- try {
21
- // Try token_usage field (common format)
22
- const tokenUsage = response?.token_usage ?? response?.usage;
23
- if (tokenUsage) {
24
- return {
25
- promptTokens: tokenUsage.prompt_tokens ?? 0,
26
- completionTokens: tokenUsage.completion_tokens ?? 0,
27
- totalTokens: tokenUsage.total_tokens ?? 0,
28
- };
29
- }
30
- // Try usage_metadata field (LangChain format)
31
- const usageMetadata = response?.usage_metadata;
32
- if (usageMetadata) {
33
- return {
34
- promptTokens: usageMetadata.input_tokens ?? 0,
35
- completionTokens: usageMetadata.output_tokens ?? 0,
36
- totalTokens: usageMetadata.total_tokens ?? 0,
37
- };
38
- }
39
- // Try response_metadata.token_usage (nested format)
40
- const responseMetadata = response?.response_metadata;
41
- if (responseMetadata?.token_usage) {
42
- return {
43
- promptTokens: responseMetadata.token_usage.prompt_tokens ?? 0,
44
- completionTokens: responseMetadata.token_usage.completion_tokens ?? 0,
45
- totalTokens: responseMetadata.token_usage.total_tokens ?? 0,
46
- };
47
- }
48
- return null;
49
- }
50
- catch {
51
- return null;
52
- }
53
- }
54
- //# sourceMappingURL=metadata-extractor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metadata-extractor.js","sourceRoot":"","sources":["../../../src/instrumentation/langchain/metadata-extractor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,wFAAwF;AACxF,MAAM,UAAU,iBAAiB,CAAC,QAAa;IAC7C,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,UAAU,GAAG,QAAQ,EAAE,WAAW,IAAI,QAAQ,EAAE,KAAK,CAAC;QAC5D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,YAAY,EAAE,UAAU,CAAC,aAAa,IAAI,CAAC;gBAC3C,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,IAAI,CAAC;gBACnD,WAAW,EAAE,UAAU,CAAC,YAAY,IAAI,CAAC;aAC1C,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,MAAM,aAAa,GAAG,QAAQ,EAAE,cAAc,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO;gBACL,YAAY,EAAE,aAAa,CAAC,YAAY,IAAI,CAAC;gBAC7C,gBAAgB,EAAE,aAAa,CAAC,aAAa,IAAI,CAAC;gBAClD,WAAW,EAAE,aAAa,CAAC,YAAY,IAAI,CAAC;aAC7C,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,iBAAiB,CAAC;QACrD,IAAI,gBAAgB,EAAE,WAAW,EAAE,CAAC;YAClC,OAAO;gBACL,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC;gBAC7D,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC;gBACrE,WAAW,EAAE,gBAAgB,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC;aAC5D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,84 +0,0 @@
1
- import type { Tracer } from '../../tracing/tracer.js';
2
- /**
3
- * Prefactor middleware for LangChain.js agents.
4
- *
5
- * This middleware automatically traces LLM calls, tool executions, and agent workflows.
6
- * It integrates with LangChain.js middleware API to provide transparent instrumentation.
7
- *
8
- * Features:
9
- * - Automatic parent-child span relationships via context propagation
10
- * - Token usage extraction for LLM calls
11
- * - Error tracking and debugging
12
- * - Zero-overhead instrumentation (graceful failure)
13
- *
14
- * @example
15
- * ```typescript
16
- * import { init } from '@prefactor/sdk';
17
- * import { createReactAgent } from '@langchain/langgraph/prebuilt';
18
- *
19
- * const middleware = init();
20
- * const agent = createReactAgent({
21
- * llm: model,
22
- * tools: [myTool],
23
- * middleware: [middleware],
24
- * });
25
- * ```
26
- */
27
- export declare class PrefactorMiddleware {
28
- private tracer;
29
- private rootSpan;
30
- constructor(tracer: Tracer);
31
- /**
32
- * Called before agent execution starts
33
- *
34
- * @param state - Agent state containing messages
35
- */
36
- beforeAgent(state: any): Promise<void>;
37
- /**
38
- * Called after agent execution completes
39
- *
40
- * @param state - Agent state containing messages
41
- */
42
- afterAgent(state: any): Promise<void>;
43
- /**
44
- * Wrap a model call to trace LLM invocations
45
- *
46
- * @param request - Model invocation request
47
- * @param handler - The actual model call function
48
- * @returns Promise resolving to the model response
49
- */
50
- wrapModelCall<T>(request: any, handler: (req: any) => Promise<T>): Promise<T>;
51
- /**
52
- * Wrap a tool call to trace tool executions
53
- *
54
- * @param request - Tool invocation request
55
- * @param handler - The actual tool call function
56
- * @returns Promise resolving to the tool response
57
- */
58
- wrapToolCall<T>(request: any, handler: (req: any) => Promise<T>): Promise<T>;
59
- /**
60
- * Extract model name from request
61
- */
62
- private extractModelName;
63
- /**
64
- * Extract model inputs from request
65
- */
66
- private extractModelInputs;
67
- /**
68
- * Extract model outputs from response
69
- */
70
- private extractModelOutputs;
71
- /**
72
- * Extract tool name from request
73
- */
74
- private extractToolName;
75
- /**
76
- * Extract tool inputs from request
77
- */
78
- private extractToolInputs;
79
- /**
80
- * Extract tool outputs from response
81
- */
82
- private extractToolOutputs;
83
- }
84
- //# sourceMappingURL=middleware.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/langchain/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAMtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,mBAAmB;IAGlB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAqB;gBAEjB,MAAM,EAAE,MAAM;IAElC;;;;OAIG;IAEG,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB5C;;;;OAIG;IAEG,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C;;;;;;OAMG;IAEG,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA4BnF;;;;;;OAMG;IAEG,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA2BlF;;OAEG;IAEH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IAEH,OAAO,CAAC,kBAAkB;IAK1B;;OAEG;IAEH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IAEH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IAEH,OAAO,CAAC,iBAAiB;IAIzB;;OAEG;IAEH,OAAO,CAAC,kBAAkB;CAG3B"}