@prefactor/sdk 0.1.2 → 0.1.4

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/dist/index.cjs +16 -1237
  2. package/dist/index.cjs.map +4 -17
  3. package/dist/index.d.ts +2 -81
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +4 -1239
  6. package/dist/index.js.map +4 -17
  7. package/package.json +6 -22
  8. package/LICENSE +0 -14
  9. package/README.md +0 -313
  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 -381
  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
@@ -1,381 +0,0 @@
1
- import { getLogger } from '../utils/logging.js';
2
- const logger = getLogger('http-transport');
3
- /**
4
- * HTTP transport sends spans to a remote API endpoint.
5
- *
6
- * Features:
7
- * - Queue-based async processing
8
- * - Exponential backoff retry logic
9
- * - Span ID mapping (SDK ID → backend ID)
10
- * - Agent instance lifecycle management
11
- * - Graceful shutdown with timeout
12
- *
13
- * @example
14
- * ```typescript
15
- * const transport = new HttpTransport({
16
- * apiUrl: 'https://api.prefactor.ai',
17
- * apiToken: process.env.PREFACTOR_API_TOKEN!,
18
- * });
19
- * ```
20
- */
21
- export class HttpTransport {
22
- config;
23
- queue = [];
24
- processing = false;
25
- closed = false;
26
- agentInstanceId = null;
27
- spanIdMap = new Map();
28
- constructor(config) {
29
- this.config = config;
30
- this.startProcessing();
31
- }
32
- /**
33
- * Emit a span (adds to queue for async processing)
34
- *
35
- * @param span - The span to emit
36
- */
37
- emit(span) {
38
- if (this.closed) {
39
- return;
40
- }
41
- this.queue.push({ type: 'span', data: span });
42
- }
43
- /**
44
- * Finish a previously emitted span (for AGENT spans)
45
- *
46
- * @param spanId - ID of the span to finish
47
- * @param endTime - End time in milliseconds since Unix epoch
48
- */
49
- finishSpan(spanId, endTime) {
50
- if (this.closed) {
51
- return;
52
- }
53
- const timestamp = new Date(endTime).toISOString();
54
- this.queue.push({ type: 'finish_span', data: { spanId, timestamp } });
55
- }
56
- /**
57
- * Signal the start of an agent instance execution
58
- */
59
- startAgentInstance() {
60
- if (this.closed) {
61
- return;
62
- }
63
- this.queue.push({ type: 'start_agent', data: null });
64
- }
65
- /**
66
- * Signal the completion of an agent instance execution
67
- */
68
- finishAgentInstance() {
69
- if (this.closed) {
70
- return;
71
- }
72
- this.queue.push({ type: 'finish_agent', data: null });
73
- }
74
- /**
75
- * Start background queue processing
76
- */
77
- async startProcessing() {
78
- this.processing = true;
79
- while (!this.closed || this.queue.length > 0) {
80
- if (this.queue.length === 0) {
81
- await new Promise((resolve) => setTimeout(resolve, 100));
82
- continue;
83
- }
84
- const item = this.queue.shift();
85
- try {
86
- // Ensure agent is registered before processing spans
87
- if (!this.agentInstanceId && item.type !== 'start_agent') {
88
- await this.ensureAgentRegistered();
89
- }
90
- switch (item.type) {
91
- case 'span':
92
- await this.sendSpan(item.data);
93
- break;
94
- case 'finish_span':
95
- await this.finishSpanHttp(item.data);
96
- break;
97
- case 'start_agent':
98
- await this.startAgentInstanceHttp();
99
- break;
100
- case 'finish_agent':
101
- await this.finishAgentInstanceHttp();
102
- break;
103
- }
104
- }
105
- catch (error) {
106
- logger.error('Error processing queue item:', error);
107
- }
108
- }
109
- this.processing = false;
110
- }
111
- /**
112
- * Send a span to the API
113
- */
114
- async sendSpan(span, retry = 0) {
115
- const url = `${this.config.apiUrl}/api/v1/agent_spans`;
116
- const payload = this.transformSpanToApiFormat(span);
117
- try {
118
- const response = await fetch(url, {
119
- method: 'POST',
120
- headers: {
121
- Authorization: `Bearer ${this.config.apiToken}`,
122
- 'Content-Type': 'application/json',
123
- },
124
- body: JSON.stringify(payload),
125
- signal: AbortSignal.timeout(this.config.requestTimeout),
126
- });
127
- if (response.ok) {
128
- const data = await response.json();
129
- const backendSpanId = data?.details?.id;
130
- if (backendSpanId) {
131
- this.spanIdMap.set(span.spanId, backendSpanId);
132
- }
133
- return;
134
- }
135
- // Retry on server errors or rate limiting
136
- if ((response.status >= 500 || response.status === 429) && retry < this.config.maxRetries) {
137
- const delay = Math.min(this.config.initialRetryDelay * Math.pow(this.config.retryMultiplier, retry), this.config.maxRetryDelay);
138
- logger.debug(`Retrying span send after ${delay}ms (attempt ${retry + 1})`);
139
- await new Promise((resolve) => setTimeout(resolve, delay));
140
- return this.sendSpan(span, retry + 1);
141
- }
142
- logger.error(`Failed to send span: ${response.status} ${response.statusText}`);
143
- }
144
- catch (error) {
145
- logger.error('Error sending span:', error);
146
- // Retry on network errors
147
- if (retry < this.config.maxRetries) {
148
- const delay = Math.min(this.config.initialRetryDelay * Math.pow(this.config.retryMultiplier, retry), this.config.maxRetryDelay);
149
- await new Promise((resolve) => setTimeout(resolve, delay));
150
- return this.sendSpan(span, retry + 1);
151
- }
152
- }
153
- }
154
- /**
155
- * Transform span to backend API format (snake_case)
156
- */
157
- transformSpanToApiFormat(span) {
158
- return {
159
- agent_instance_id: this.agentInstanceId,
160
- parent_span_id: span.parentSpanId ? (this.spanIdMap.get(span.parentSpanId) ?? null) : null,
161
- name: span.name,
162
- span_type: span.spanType,
163
- start_time: new Date(span.startTime).toISOString(),
164
- end_time: span.endTime ? new Date(span.endTime).toISOString() : null,
165
- status: span.status,
166
- inputs: span.inputs,
167
- outputs: span.outputs,
168
- token_usage: span.tokenUsage
169
- ? {
170
- prompt_tokens: span.tokenUsage.promptTokens,
171
- completion_tokens: span.tokenUsage.completionTokens,
172
- total_tokens: span.tokenUsage.totalTokens,
173
- }
174
- : null,
175
- error: span.error
176
- ? {
177
- error_type: span.error.errorType,
178
- message: span.error.message,
179
- stacktrace: span.error.stacktrace,
180
- }
181
- : null,
182
- metadata: span.metadata,
183
- tags: span.tags,
184
- };
185
- }
186
- /**
187
- * Get default schema (v1.0.0) with span schemas for all supported types
188
- */
189
- getDefaultSchema() {
190
- return {
191
- external_identifier: '1.0.0',
192
- span_schemas: {
193
- agent: {
194
- type: 'object',
195
- properties: { type: { type: 'string', const: 'agent' } },
196
- },
197
- llm: {
198
- type: 'object',
199
- properties: { type: { type: 'string', const: 'llm' } },
200
- },
201
- tool: {
202
- type: 'object',
203
- properties: { type: { type: 'string', const: 'tool' } },
204
- },
205
- chain: {
206
- type: 'object',
207
- properties: { type: { type: 'string', const: 'chain' } },
208
- },
209
- retriever: {
210
- type: 'object',
211
- properties: { type: { type: 'string', const: 'retriever' } },
212
- },
213
- },
214
- };
215
- }
216
- /**
217
- * Ensure an agent instance is registered
218
- */
219
- async ensureAgentRegistered() {
220
- if (this.agentInstanceId) {
221
- return;
222
- }
223
- const url = `${this.config.apiUrl}/api/v1/agent_instance/register`;
224
- const payload = {};
225
- if (this.config.agentId)
226
- payload.agent_id = this.config.agentId;
227
- if (this.config.agentVersion) {
228
- payload.agent_version = {
229
- external_identifier: this.config.agentVersion,
230
- name: this.config.agentName || 'Agent',
231
- description: this.config.agentDescription || '',
232
- };
233
- }
234
- // Schema handling - four modes:
235
- // 1. skipSchema=true: No schema in payload (pre-registered on backend)
236
- // 2. agentSchema provided: Use full custom schema object
237
- // 3. agentSchemaVersion provided: Use version identifier only
238
- // 4. None of above: Use default v1.0.0 schema
239
- if (this.config.skipSchema) {
240
- logger.debug('Skipping schema in registration (skipSchema=true)');
241
- // Do not add agent_schema_version key
242
- }
243
- else if (this.config.agentSchema) {
244
- logger.debug('Using custom agent schema');
245
- payload.agent_schema_version = this.config.agentSchema;
246
- }
247
- else if (this.config.agentSchemaVersion) {
248
- logger.debug(`Using schema version: ${this.config.agentSchemaVersion}`);
249
- payload.agent_schema_version = {
250
- external_identifier: this.config.agentSchemaVersion,
251
- };
252
- }
253
- else {
254
- logger.debug('Using default hardcoded schema (v1.0.0)');
255
- payload.agent_schema_version = this.getDefaultSchema();
256
- }
257
- try {
258
- const response = await fetch(url, {
259
- method: 'POST',
260
- headers: {
261
- Authorization: `Bearer ${this.config.apiToken}`,
262
- 'Content-Type': 'application/json',
263
- },
264
- body: JSON.stringify(payload),
265
- signal: AbortSignal.timeout(this.config.requestTimeout),
266
- });
267
- if (response.ok) {
268
- const data = await response.json();
269
- this.agentInstanceId = data?.details?.id ?? null;
270
- logger.debug(`Registered agent instance: ${this.agentInstanceId}`);
271
- }
272
- else {
273
- logger.error(`Failed to register agent: ${response.status} ${response.statusText}`);
274
- }
275
- }
276
- catch (error) {
277
- logger.error('Error registering agent:', error);
278
- }
279
- }
280
- /**
281
- * Start agent instance execution
282
- */
283
- async startAgentInstanceHttp() {
284
- await this.ensureAgentRegistered();
285
- if (!this.agentInstanceId) {
286
- logger.error('Cannot start agent instance: not registered');
287
- return;
288
- }
289
- const url = `${this.config.apiUrl}/api/v1/agent_instance/${this.agentInstanceId}/start`;
290
- try {
291
- const response = await fetch(url, {
292
- method: 'POST',
293
- headers: {
294
- Authorization: `Bearer ${this.config.apiToken}`,
295
- 'Content-Type': 'application/json',
296
- },
297
- body: JSON.stringify({}),
298
- signal: AbortSignal.timeout(this.config.requestTimeout),
299
- });
300
- if (!response.ok) {
301
- logger.error(`Failed to start agent instance: ${response.status} ${response.statusText}`);
302
- }
303
- }
304
- catch (error) {
305
- logger.error('Error starting agent instance:', error);
306
- }
307
- }
308
- /**
309
- * Finish agent instance execution
310
- */
311
- async finishAgentInstanceHttp() {
312
- if (!this.agentInstanceId) {
313
- logger.error('Cannot finish agent instance: not registered');
314
- return;
315
- }
316
- const url = `${this.config.apiUrl}/api/v1/agent_instance/${this.agentInstanceId}/finish`;
317
- try {
318
- const response = await fetch(url, {
319
- method: 'POST',
320
- headers: {
321
- Authorization: `Bearer ${this.config.apiToken}`,
322
- 'Content-Type': 'application/json',
323
- },
324
- body: JSON.stringify({}),
325
- signal: AbortSignal.timeout(this.config.requestTimeout),
326
- });
327
- if (!response.ok) {
328
- logger.error(`Failed to finish agent instance: ${response.status} ${response.statusText}`);
329
- }
330
- }
331
- catch (error) {
332
- logger.error('Error finishing agent instance:', error);
333
- }
334
- }
335
- /**
336
- * Finish a span via HTTP
337
- */
338
- async finishSpanHttp(data) {
339
- const backendSpanId = this.spanIdMap.get(data.spanId);
340
- if (!backendSpanId) {
341
- logger.warn(`Cannot finish span ${data.spanId}: backend ID not found`);
342
- return;
343
- }
344
- const url = `${this.config.apiUrl}/api/v1/agent_spans/${backendSpanId}/finish`;
345
- try {
346
- const response = await fetch(url, {
347
- method: 'POST',
348
- headers: {
349
- Authorization: `Bearer ${this.config.apiToken}`,
350
- 'Content-Type': 'application/json',
351
- },
352
- body: JSON.stringify({ end_time: data.timestamp }),
353
- signal: AbortSignal.timeout(this.config.requestTimeout),
354
- });
355
- if (!response.ok) {
356
- logger.error(`Failed to finish span: ${response.status} ${response.statusText}`);
357
- }
358
- }
359
- catch (error) {
360
- logger.error('Error finishing span:', error);
361
- }
362
- }
363
- /**
364
- * Close the transport and wait for queue to drain
365
- *
366
- * @returns Promise that resolves when transport is closed
367
- */
368
- async close() {
369
- this.closed = true;
370
- // Wait for queue to drain (with timeout)
371
- const timeout = 10000;
372
- const start = Date.now();
373
- while (this.processing && Date.now() - start < timeout) {
374
- await new Promise((resolve) => setTimeout(resolve, 100));
375
- }
376
- if (this.processing) {
377
- logger.warn('Transport closed with pending queue items');
378
- }
379
- }
380
- }
381
- //# sourceMappingURL=http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import type { Transport } from './base.js';
2
- import type { Span } from '../tracing/span.js';
3
- /**
4
- * STDIO transport emits spans as newline-delimited JSON to stdout.
5
- *
6
- * This is the default transport and requires no configuration.
7
- * It's useful for local development and for piping span data to other tools.
8
- *
9
- * Features:
10
- * - Newline-delimited JSON output
11
- * - Promise-based write locking for ordering
12
- * - Graceful error handling
13
- *
14
- * @example
15
- * ```typescript
16
- * const transport = new StdioTransport();
17
- * const tracer = new Tracer(transport);
18
- * ```
19
- */
20
- export declare class StdioTransport implements Transport {
21
- private closed;
22
- private writeLock;
23
- /**
24
- * Emit a span to stdout as JSON
25
- *
26
- * @param span - The span to emit
27
- */
28
- emit(span: Span): void;
29
- /**
30
- * No-op for stdio transport (not applicable)
31
- */
32
- finishSpan(): void;
33
- /**
34
- * No-op for stdio transport (not applicable)
35
- */
36
- startAgentInstance(): void;
37
- /**
38
- * No-op for stdio transport (not applicable)
39
- */
40
- finishAgentInstance(): void;
41
- /**
42
- * Close the transport and wait for pending writes to complete
43
- *
44
- * @returns Promise that resolves when all writes are complete
45
- */
46
- close(): Promise<void>;
47
- }
48
- //# sourceMappingURL=stdio.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAG/C;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAqB;IAEtC;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAiBtB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
@@ -1,71 +0,0 @@
1
- import { serializeValue } from '../utils/serialization.js';
2
- /**
3
- * STDIO transport emits spans as newline-delimited JSON to stdout.
4
- *
5
- * This is the default transport and requires no configuration.
6
- * It's useful for local development and for piping span data to other tools.
7
- *
8
- * Features:
9
- * - Newline-delimited JSON output
10
- * - Promise-based write locking for ordering
11
- * - Graceful error handling
12
- *
13
- * @example
14
- * ```typescript
15
- * const transport = new StdioTransport();
16
- * const tracer = new Tracer(transport);
17
- * ```
18
- */
19
- export class StdioTransport {
20
- closed = false;
21
- writeLock = Promise.resolve();
22
- /**
23
- * Emit a span to stdout as JSON
24
- *
25
- * @param span - The span to emit
26
- */
27
- emit(span) {
28
- if (this.closed) {
29
- return;
30
- }
31
- // Queue write to maintain ordering
32
- this.writeLock = this.writeLock.then(async () => {
33
- try {
34
- const serialized = serializeValue(span);
35
- const json = JSON.stringify(serialized);
36
- await Bun.write(Bun.stdout, json + '\n');
37
- }
38
- catch (error) {
39
- console.error('Failed to emit span to stdout:', error);
40
- }
41
- });
42
- }
43
- /**
44
- * No-op for stdio transport (not applicable)
45
- */
46
- finishSpan() {
47
- // No-op for stdio transport
48
- }
49
- /**
50
- * No-op for stdio transport (not applicable)
51
- */
52
- startAgentInstance() {
53
- // No-op for stdio transport
54
- }
55
- /**
56
- * No-op for stdio transport (not applicable)
57
- */
58
- finishAgentInstance() {
59
- // No-op for stdio transport
60
- }
61
- /**
62
- * Close the transport and wait for pending writes to complete
63
- *
64
- * @returns Promise that resolves when all writes are complete
65
- */
66
- async close() {
67
- this.closed = true;
68
- await this.writeLock;
69
- }
70
- }
71
- //# sourceMappingURL=stdio.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/transport/stdio.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,GAAG,KAAK,CAAC;IACf,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC;;;;OAIG;IACH,IAAI,CAAC,IAAU;QACb,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC9C,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACR,4BAA4B;IAC9B,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,4BAA4B;IAC9B,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,4BAA4B;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;CACF"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Logger class for the Prefactor SDK
3
- */
4
- declare class Logger {
5
- private namespace;
6
- private static level;
7
- constructor(namespace: string);
8
- debug(message: string, ...args: unknown[]): void;
9
- info(message: string, ...args: unknown[]): void;
10
- warn(message: string, ...args: unknown[]): void;
11
- error(message: string, ...args: unknown[]): void;
12
- /**
13
- * Set the global log level
14
- */
15
- static setLevel(level: 'debug' | 'info' | 'warn' | 'error'): void;
16
- }
17
- /**
18
- * Get a logger instance for a specific namespace
19
- *
20
- * @param namespace - The namespace for this logger
21
- * @returns Logger instance
22
- */
23
- export declare function getLogger(namespace: string): Logger;
24
- /**
25
- * Configure logging based on environment variables
26
- */
27
- export declare function configureLogging(): void;
28
- export {};
29
- //# sourceMappingURL=logging.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,cAAM,MAAM;IAGE,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAA2B;gBAE3B,SAAS,EAAE,MAAM;IAErC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;CASlE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC"}
@@ -1,71 +0,0 @@
1
- /**
2
- * Log levels for the SDK
3
- */
4
- var LogLevel;
5
- (function (LogLevel) {
6
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
7
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
8
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
9
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
10
- })(LogLevel || (LogLevel = {}));
11
- /**
12
- * Logger class for the Prefactor SDK
13
- */
14
- class Logger {
15
- namespace;
16
- static level = LogLevel.INFO;
17
- constructor(namespace) {
18
- this.namespace = namespace;
19
- }
20
- debug(message, ...args) {
21
- if (Logger.level <= LogLevel.DEBUG) {
22
- console.debug(`[prefactor:${this.namespace}] ${message}`, ...args);
23
- }
24
- }
25
- info(message, ...args) {
26
- if (Logger.level <= LogLevel.INFO) {
27
- console.info(`[prefactor:${this.namespace}] ${message}`, ...args);
28
- }
29
- }
30
- warn(message, ...args) {
31
- if (Logger.level <= LogLevel.WARN) {
32
- console.warn(`[prefactor:${this.namespace}] ${message}`, ...args);
33
- }
34
- }
35
- error(message, ...args) {
36
- if (Logger.level <= LogLevel.ERROR) {
37
- console.error(`[prefactor:${this.namespace}] ${message}`, ...args);
38
- }
39
- }
40
- /**
41
- * Set the global log level
42
- */
43
- static setLevel(level) {
44
- const levelMap = {
45
- debug: LogLevel.DEBUG,
46
- info: LogLevel.INFO,
47
- warn: LogLevel.WARN,
48
- error: LogLevel.ERROR,
49
- };
50
- Logger.level = levelMap[level];
51
- }
52
- }
53
- /**
54
- * Get a logger instance for a specific namespace
55
- *
56
- * @param namespace - The namespace for this logger
57
- * @returns Logger instance
58
- */
59
- export function getLogger(namespace) {
60
- return new Logger(namespace);
61
- }
62
- /**
63
- * Configure logging based on environment variables
64
- */
65
- export function configureLogging() {
66
- const level = process.env.PREFACTOR_LOG_LEVEL?.toLowerCase();
67
- if (level) {
68
- Logger.setLevel(level);
69
- }
70
- }
71
- //# sourceMappingURL=logging.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,IAAK,QAKJ;AALD,WAAK,QAAQ;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED;;GAEG;AACH,MAAM,MAAM;IAGU;IAFZ,MAAM,CAAC,KAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAE/C,YAAoB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAEzC,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAA0C;QACxD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;;AAGH;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAK7C,CAAC;IAEd,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Truncate a string to a maximum length, adding an ellipsis if truncated
3
- *
4
- * @param value - The string to truncate
5
- * @param maxLength - Maximum length
6
- * @returns Truncated string
7
- */
8
- export declare function truncateString(value: string, maxLength: number): string;
9
- /**
10
- * Serialize a value for JSON output, handling non-serializable types and
11
- * truncating long strings
12
- *
13
- * @param value - Value to serialize
14
- * @param maxLength - Maximum length for strings (null for no truncation)
15
- * @returns Serialized value
16
- *
17
- * @example
18
- * ```typescript
19
- * const serialized = serializeValue({ message: 'Hello'.repeat(1000) }, 100);
20
- * // Result: { message: 'HelloHelloHello... [truncated]' }
21
- * ```
22
- */
23
- export declare function serializeValue(value: unknown, maxLength?: number | null): unknown;
24
- //# sourceMappingURL=serialization.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAM,GAAG,IAAY,GAAG,OAAO,CAmCxF"}