@prefactor/core 0.1.1 → 0.2.1

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 (77) hide show
  1. package/README.md +35 -2
  2. package/dist/agent/instance-manager.d.ts +16 -0
  3. package/dist/agent/instance-manager.d.ts.map +1 -0
  4. package/dist/agent/instance-manager.js +50 -0
  5. package/dist/agent/instance-manager.js.map +1 -0
  6. package/dist/config.d.ts +28 -52
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +33 -18
  9. package/dist/config.js.map +1 -1
  10. package/dist/create-core.d.ts +10 -0
  11. package/dist/create-core.d.ts.map +1 -0
  12. package/dist/create-core.js +31 -0
  13. package/dist/create-core.js.map +1 -0
  14. package/dist/index.cjs +632 -256
  15. package/dist/index.cjs.map +18 -11
  16. package/dist/index.d.ts +3 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +633 -257
  19. package/dist/index.js.map +18 -11
  20. package/dist/queue/actions.d.ts +24 -0
  21. package/dist/queue/actions.d.ts.map +1 -0
  22. package/dist/queue/actions.js +2 -0
  23. package/dist/queue/actions.js.map +1 -0
  24. package/dist/queue/base.d.ts +19 -0
  25. package/dist/queue/base.d.ts.map +1 -0
  26. package/dist/{transport → queue}/base.js.map +1 -1
  27. package/dist/queue/in-memory-queue.d.ts +11 -0
  28. package/dist/queue/in-memory-queue.d.ts.map +1 -0
  29. package/dist/queue/in-memory-queue.js +46 -0
  30. package/dist/queue/in-memory-queue.js.map +1 -0
  31. package/dist/queue/task-executor.d.ts +18 -0
  32. package/dist/queue/task-executor.d.ts.map +1 -0
  33. package/dist/queue/task-executor.js +77 -0
  34. package/dist/queue/task-executor.js.map +1 -0
  35. package/dist/tracing/context.d.ts +12 -0
  36. package/dist/tracing/context.d.ts.map +1 -1
  37. package/dist/tracing/context.js +41 -5
  38. package/dist/tracing/context.js.map +1 -1
  39. package/dist/tracing/span.d.ts +7 -9
  40. package/dist/tracing/span.d.ts.map +1 -1
  41. package/dist/tracing/span.js +6 -8
  42. package/dist/tracing/span.js.map +1 -1
  43. package/dist/tracing/tracer.d.ts +5 -16
  44. package/dist/tracing/tracer.d.ts.map +1 -1
  45. package/dist/tracing/tracer.js +22 -26
  46. package/dist/tracing/tracer.js.map +1 -1
  47. package/dist/transport/http/agent-instance-client.d.ts +23 -0
  48. package/dist/transport/http/agent-instance-client.d.ts.map +1 -0
  49. package/dist/transport/http/agent-instance-client.js +25 -0
  50. package/dist/transport/http/agent-instance-client.js.map +1 -0
  51. package/dist/transport/http/agent-span-client.d.ts +25 -0
  52. package/dist/transport/http/agent-span-client.d.ts.map +1 -0
  53. package/dist/transport/http/agent-span-client.js +37 -0
  54. package/dist/transport/http/agent-span-client.js.map +1 -0
  55. package/dist/transport/http/http-client.d.ts +43 -0
  56. package/dist/transport/http/http-client.d.ts.map +1 -0
  57. package/dist/transport/http/http-client.js +127 -0
  58. package/dist/transport/http/http-client.js.map +1 -0
  59. package/dist/transport/http/retry-policy.d.ts +4 -0
  60. package/dist/transport/http/retry-policy.d.ts.map +1 -0
  61. package/dist/transport/http/retry-policy.js +10 -0
  62. package/dist/transport/http/retry-policy.js.map +1 -0
  63. package/dist/transport/http.d.ts +30 -72
  64. package/dist/transport/http.d.ts.map +1 -1
  65. package/dist/transport/http.js +146 -269
  66. package/dist/transport/http.js.map +1 -1
  67. package/dist/utils/logging.d.ts.map +1 -1
  68. package/dist/utils/logging.js +7 -1
  69. package/dist/utils/logging.js.map +1 -1
  70. package/package.json +1 -1
  71. package/dist/transport/base.d.ts +0 -38
  72. package/dist/transport/base.d.ts.map +0 -1
  73. package/dist/transport/stdio.d.ts +0 -48
  74. package/dist/transport/stdio.d.ts.map +0 -1
  75. package/dist/transport/stdio.js +0 -71
  76. package/dist/transport/stdio.js.map +0 -1
  77. /package/dist/{transport → queue}/base.js +0 -0
@@ -0,0 +1,127 @@
1
+ import { calculateRetryDelay, shouldRetryStatusCode } from './retry-policy.js';
2
+ export class HttpClientError extends Error {
3
+ url;
4
+ method;
5
+ status;
6
+ statusText;
7
+ responseBody;
8
+ retryable;
9
+ constructor(message, options) {
10
+ super(message, { cause: options.cause });
11
+ this.name = 'HttpClientError';
12
+ this.url = options.url;
13
+ this.method = options.method;
14
+ this.status = options.status;
15
+ this.statusText = options.statusText;
16
+ this.responseBody = options.responseBody;
17
+ this.retryable = options.retryable;
18
+ }
19
+ }
20
+ export class HttpClient {
21
+ config;
22
+ fetchFn;
23
+ sleep;
24
+ random;
25
+ constructor(config, dependencies = {}) {
26
+ this.config = config;
27
+ this.fetchFn = dependencies.fetchFn ?? fetch;
28
+ this.sleep =
29
+ dependencies.sleep ?? ((delayMs) => new Promise((resolve) => setTimeout(resolve, delayMs)));
30
+ this.random = dependencies.random ?? Math.random;
31
+ }
32
+ async request(path, options = {}) {
33
+ const url = new URL(path, this.config.apiUrl).toString();
34
+ const method = options.method ?? 'GET';
35
+ let attempt = 0;
36
+ while (true) {
37
+ const headers = new Headers(options.headers);
38
+ headers.set('Authorization', `Bearer ${this.config.apiToken}`);
39
+ if (options.body !== undefined && !headers.has('Content-Type')) {
40
+ headers.set('Content-Type', 'application/json');
41
+ }
42
+ const requestInit = {
43
+ ...options,
44
+ method,
45
+ headers,
46
+ body: options.body === undefined ? undefined : JSON.stringify(options.body),
47
+ signal: AbortSignal.timeout(options.timeoutMs ?? this.config.requestTimeout),
48
+ };
49
+ try {
50
+ const response = await this.fetchFn(url, requestInit);
51
+ if (response.ok) {
52
+ return (await parseResponseBody(response));
53
+ }
54
+ const responseBody = await parseResponseBody(response);
55
+ const canRetry = attempt < this.config.maxRetries &&
56
+ shouldRetryStatusCode(response.status, this.config.retryOnStatusCodes);
57
+ if (canRetry) {
58
+ const delayMs = calculateRetryDelay(attempt, this.config, this.random);
59
+ await this.sleep(delayMs);
60
+ attempt += 1;
61
+ continue;
62
+ }
63
+ throw new HttpClientError(`HTTP request failed with status ${response.status}`, {
64
+ url,
65
+ method,
66
+ status: response.status,
67
+ statusText: response.statusText,
68
+ responseBody,
69
+ retryable: shouldRetryStatusCode(response.status, this.config.retryOnStatusCodes),
70
+ });
71
+ }
72
+ catch (error) {
73
+ if (error instanceof HttpClientError) {
74
+ throw error;
75
+ }
76
+ const canRetry = attempt < this.config.maxRetries && isRetryableNetworkError(error);
77
+ if (canRetry) {
78
+ const delayMs = calculateRetryDelay(attempt, this.config, this.random);
79
+ await this.sleep(delayMs);
80
+ attempt += 1;
81
+ continue;
82
+ }
83
+ throw new HttpClientError('HTTP request failed due to network error', {
84
+ url,
85
+ method,
86
+ retryable: false,
87
+ cause: error,
88
+ });
89
+ }
90
+ }
91
+ }
92
+ }
93
+ function isRetryableNetworkError(error) {
94
+ if (error instanceof TypeError) {
95
+ return true;
96
+ }
97
+ if (error instanceof DOMException &&
98
+ (error.name === 'AbortError' || error.name === 'TimeoutError')) {
99
+ return true;
100
+ }
101
+ if (error instanceof Error && (error.name === 'AbortError' || error.name === 'TimeoutError')) {
102
+ return true;
103
+ }
104
+ return false;
105
+ }
106
+ async function parseResponseBody(response) {
107
+ const bodyText = await response.text();
108
+ if (!bodyText) {
109
+ return null;
110
+ }
111
+ const contentType = response.headers.get('content-type') ?? '';
112
+ if (contentType.includes('application/json')) {
113
+ try {
114
+ return JSON.parse(bodyText);
115
+ }
116
+ catch {
117
+ return bodyText;
118
+ }
119
+ }
120
+ try {
121
+ return JSON.parse(bodyText);
122
+ }
123
+ catch {
124
+ return bodyText;
125
+ }
126
+ }
127
+ //# sourceMappingURL=http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/transport/http/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { HttpTransportConfig } from '../../config.js';
2
+ export declare function shouldRetryStatusCode(statusCode: number, retryOnStatusCodes: number[]): boolean;
3
+ export declare function calculateRetryDelay(attempt: number, config: Pick<HttpTransportConfig, 'initialRetryDelay' | 'maxRetryDelay' | 'retryMultiplier'>, random?: () => number): number;
4
+ //# sourceMappingURL=retry-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-policy.d.ts","sourceRoot":"","sources":["../../../src/transport/http/retry-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAI3D,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,OAAO,CAE/F;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,CAAC,EAC5F,MAAM,GAAE,MAAM,MAAoB,GACjC,MAAM,CAOR"}
@@ -0,0 +1,10 @@
1
+ const JITTER_MIN = 0.5;
2
+ export function shouldRetryStatusCode(statusCode, retryOnStatusCodes) {
3
+ return retryOnStatusCodes.includes(statusCode);
4
+ }
5
+ export function calculateRetryDelay(attempt, config, random = Math.random) {
6
+ const baseDelay = Math.min(config.initialRetryDelay * config.retryMultiplier ** attempt, config.maxRetryDelay);
7
+ const jitterMultiplier = JITTER_MIN + random() * JITTER_MIN;
8
+ return Math.round(baseDelay * jitterMultiplier);
9
+ }
10
+ //# sourceMappingURL=retry-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-policy.js","sourceRoot":"","sources":["../../../src/transport/http/retry-policy.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,kBAA4B;IACpF,OAAO,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,MAA4F,EAC5F,SAAuB,IAAI,CAAC,MAAM;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,eAAe,IAAI,OAAO,EAC5D,MAAM,CAAC,aAAa,CACrB,CAAC;IACF,MAAM,gBAAgB,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,UAAU,CAAC;IAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC,CAAC;AAClD,CAAC"}
@@ -1,90 +1,48 @@
1
1
  import type { HttpTransportConfig } from '../config.js';
2
2
  import type { Span } from '../tracing/span.js';
3
- import type { Transport } from './base.js';
4
- /**
5
- * HTTP transport sends spans to a remote API endpoint.
6
- *
7
- * Features:
8
- * - Queue-based async processing
9
- * - Exponential backoff retry logic
10
- * - Span ID mapping (SDK ID → backend ID)
11
- * - Agent instance lifecycle management
12
- * - Graceful shutdown with timeout
13
- *
14
- * @example
15
- * ```typescript
16
- * const transport = new HttpTransport({
17
- * apiUrl: 'https://api.prefactor.ai',
18
- * apiToken: process.env.PREFACTOR_API_TOKEN!,
19
- * });
20
- * ```
21
- */
3
+ export type AgentInstanceOptions = {
4
+ agentId?: string;
5
+ agentIdentifier?: string;
6
+ agentName?: string;
7
+ agentDescription?: string;
8
+ };
9
+ export interface Transport {
10
+ emit(span: Span): void;
11
+ finishSpan(spanId: string, endTime: number): void;
12
+ startAgentInstance(options?: AgentInstanceOptions): void;
13
+ finishAgentInstance(): void;
14
+ registerSchema(schema: Record<string, unknown>): void;
15
+ close(): void | Promise<void>;
16
+ }
22
17
  export declare class HttpTransport implements Transport {
23
18
  private config;
24
- private queue;
25
- private processing;
26
19
  private closed;
20
+ private readonly actionQueue;
21
+ private readonly taskExecutor;
22
+ private readonly agentInstanceClient;
23
+ private readonly agentSpanClient;
24
+ private previousAgentSchema;
25
+ private requiresNewAgentIdentifier;
26
+ private previousAgentIdentifier;
27
27
  private agentInstanceId;
28
28
  private spanIdMap;
29
+ private pendingFinishes;
29
30
  constructor(config: HttpTransportConfig);
30
- /**
31
- * Emit a span (adds to queue for async processing)
32
- *
33
- * @param span - The span to emit
34
- */
31
+ registerSchema(schema: Record<string, unknown>): void;
32
+ startAgentInstance(options?: AgentInstanceOptions): void;
33
+ finishAgentInstance(): void;
35
34
  emit(span: Span): void;
36
- /**
37
- * Finish a previously emitted span (for AGENT spans)
38
- *
39
- * @param spanId - ID of the span to finish
40
- * @param endTime - End time in milliseconds since Unix epoch
41
- */
42
35
  finishSpan(spanId: string, endTime: number): void;
43
- /**
44
- * Signal the start of an agent instance execution
45
- */
46
- startAgentInstance(): void;
47
- /**
48
- * Signal the completion of an agent instance execution
49
- */
50
- finishAgentInstance(): void;
51
- /**
52
- * Start background queue processing
53
- */
54
- private startProcessing;
55
- /**
56
- * Send a span to the API
57
- */
36
+ close(): Promise<void>;
37
+ private enqueue;
38
+ private processAction;
39
+ private processPendingFinishes;
58
40
  private sendSpan;
59
- /**
60
- * Transform span to backend API format with nested details/payload structure
61
- */
62
41
  private transformSpanToApiFormat;
63
- /**
64
- * Get default schema (v1.0.0) with span schemas for all supported types
65
- */
66
- private getDefaultSchema;
67
- /**
68
- * Ensure an agent instance is registered
69
- */
42
+ private mapStatusForApi;
70
43
  private ensureAgentRegistered;
71
- /**
72
- * Start agent instance execution
73
- */
74
44
  private startAgentInstanceHttp;
75
- /**
76
- * Finish agent instance execution
77
- */
78
45
  private finishAgentInstanceHttp;
79
- /**
80
- * Finish a span via HTTP
81
- */
82
46
  private finishSpanHttp;
83
- /**
84
- * Close the transport and wait for queue to drain
85
- *
86
- * @returns Promise that resolves when transport is closed
87
- */
88
- close(): Promise<void>;
89
47
  }
90
48
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAY3C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAc,YAAW,SAAS;IAOjC,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAA6B;gBAE1B,MAAM,EAAE,mBAAmB;IAI/C;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAOtB;;;;;OAKG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQjD;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAO3B;;OAEG;YACW,eAAe;IAwC7B;;OAEG;YACW,QAAQ;IAmDtB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;YACW,qBAAqB;IA6DnC;;OAEG;YACW,sBAAsB;IA6BpC;;OAEG;YACW,uBAAuB;IA2BrC;;OAEG;YACW,cAAc;IA4B5B;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAc7B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAU/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAEvB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD,kBAAkB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAEzD,mBAAmB,IAAI,IAAI,CAAC;IAE5B,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtD,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAID,qBAAa,aAAc,YAAW,SAAS;IAajC,OAAO,CAAC,MAAM;IAZ1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwC;IACpE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsB;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,eAAe,CAA6B;gBAEhC,MAAM,EAAE,mBAAmB;IAa/C,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrD,kBAAkB,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAIxD,mBAAmB,IAAI,IAAI;IAI3B,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAItB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,aAAa,CA6DnB;YAEY,sBAAsB;YAmBtB,QAAQ;IAiBtB,OAAO,CAAC,wBAAwB;IAgDhC,OAAO,CAAC,eAAe;YAaT,qBAAqB;YA8BrB,sBAAsB;YActB,uBAAuB;YAevB,cAAc;CAa7B"}