@prefactor/core 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.
- package/dist/config.d.ts +259 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +110 -0
- package/dist/config.js.map +1 -0
- package/dist/index.cjs +642 -0
- package/dist/index.cjs.map +17 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +610 -0
- package/dist/index.js.map +17 -0
- package/dist/tracing/context.d.ts +53 -0
- package/dist/tracing/context.d.ts.map +1 -0
- package/dist/tracing/context.js +66 -0
- package/dist/tracing/context.js.map +1 -0
- package/dist/tracing/span.d.ts +68 -0
- package/dist/tracing/span.d.ts.map +1 -0
- package/dist/tracing/span.js +21 -0
- package/dist/tracing/span.js.map +1 -0
- package/dist/tracing/tracer.d.ts +100 -0
- package/dist/tracing/tracer.d.ts.map +1 -0
- package/dist/tracing/tracer.js +151 -0
- package/dist/tracing/tracer.js.map +1 -0
- package/dist/transport/base.d.ts +38 -0
- package/dist/transport/base.d.ts.map +1 -0
- package/dist/transport/base.js +2 -0
- package/dist/transport/base.js.map +1 -0
- package/dist/transport/http.d.ts +90 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/http.js +399 -0
- package/dist/transport/http.js.map +1 -0
- package/dist/transport/stdio.d.ts +48 -0
- package/dist/transport/stdio.d.ts.map +1 -0
- package/dist/transport/stdio.js +71 -0
- package/dist/transport/stdio.js.map +1 -0
- package/dist/utils/logging.d.ts +29 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +71 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/serialization.d.ts +24 -0
- package/dist/utils/serialization.d.ts.map +1 -0
- package/dist/utils/serialization.js +60 -0
- package/dist/utils/serialization.js.map +1 -0
- package/package.json +36 -0
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,259 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|