autotel-devtools 8.1.1 → 9.0.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.
Files changed (63) hide show
  1. package/dist/cli.cjs +108 -1429
  2. package/dist/cli.cjs.map +1 -1
  3. package/dist/cli.d.cts +1 -1
  4. package/dist/cli.d.ts +1 -1
  5. package/dist/cli.js +109 -1422
  6. package/dist/cli.js.map +1 -1
  7. package/dist/error-aggregator-BvNmgn7E.d.ts +120 -0
  8. package/dist/error-aggregator-nnfbpSR7.d.cts +120 -0
  9. package/dist/exporter-1Y3GmLVS.d.cts +182 -0
  10. package/dist/exporter-CZ5HdD3o.d.ts +182 -0
  11. package/dist/genai/index.cjs +650 -537
  12. package/dist/genai/index.cjs.map +1 -1
  13. package/dist/genai/index.d.cts +164 -157
  14. package/dist/genai/index.d.ts +164 -157
  15. package/dist/genai/index.js +649 -536
  16. package/dist/genai/index.js.map +1 -1
  17. package/dist/http-BkkKa9C_.js +1128 -0
  18. package/dist/http-BkkKa9C_.js.map +1 -0
  19. package/dist/http-Yj6iSrMX.cjs +1275 -0
  20. package/dist/http-Yj6iSrMX.cjs.map +1 -0
  21. package/dist/index.cjs +50 -1728
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +21 -23
  24. package/dist/index.d.ts +21 -23
  25. package/dist/index.js +44 -1716
  26. package/dist/index.js.map +1 -1
  27. package/dist/listen-BBsxO0wm.cjs +125 -0
  28. package/dist/listen-BBsxO0wm.cjs.map +1 -0
  29. package/dist/listen-DfOCquUq.js +120 -0
  30. package/dist/listen-DfOCquUq.js.map +1 -0
  31. package/dist/resource-utils-B4UVvfnH.js +18 -0
  32. package/dist/resource-utils-B4UVvfnH.js.map +1 -0
  33. package/dist/resource-utils-DjHJB6uc.cjs +24 -0
  34. package/dist/resource-utils-DjHJB6uc.cjs.map +1 -0
  35. package/dist/server/exporter.cjs +135 -159
  36. package/dist/server/exporter.cjs.map +1 -1
  37. package/dist/server/exporter.d.cts +2 -4
  38. package/dist/server/exporter.d.ts +2 -4
  39. package/dist/server/exporter.js +134 -158
  40. package/dist/server/exporter.js.map +1 -1
  41. package/dist/server/index.cjs +29 -1660
  42. package/dist/server/index.d.cts +34 -31
  43. package/dist/server/index.d.ts +34 -31
  44. package/dist/server/index.js +5 -1630
  45. package/dist/server/log-exporter.cjs +75 -102
  46. package/dist/server/log-exporter.cjs.map +1 -1
  47. package/dist/server/log-exporter.d.cts +27 -46
  48. package/dist/server/log-exporter.d.ts +27 -46
  49. package/dist/server/log-exporter.js +74 -100
  50. package/dist/server/log-exporter.js.map +1 -1
  51. package/dist/server/remote-exporter.cjs +171 -213
  52. package/dist/server/remote-exporter.cjs.map +1 -1
  53. package/dist/server/remote-exporter.d.cts +62 -82
  54. package/dist/server/remote-exporter.d.ts +62 -82
  55. package/dist/server/remote-exporter.js +170 -212
  56. package/dist/server/remote-exporter.js.map +1 -1
  57. package/package.json +5 -5
  58. package/dist/error-aggregator-D0Uu5r38.d.ts +0 -147
  59. package/dist/error-aggregator-D1Mr221Y.d.cts +0 -147
  60. package/dist/exporter-De6p4iAD.d.cts +0 -182
  61. package/dist/exporter-De6p4iAD.d.ts +0 -182
  62. package/dist/server/index.cjs.map +0 -1
  63. package/dist/server/index.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ import { Server } from "node:http";
2
+ import { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
3
+ import { ExportResult } from "@opentelemetry/core";
4
+
5
+ //#region src/server/types.d.ts
6
+ interface SpanData {
7
+ traceId: string;
8
+ spanId: string;
9
+ parentSpanId?: string;
10
+ name: string;
11
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
12
+ startTime: number;
13
+ endTime: number;
14
+ duration: number;
15
+ attributes: Record<string, any>;
16
+ status: {
17
+ code: 'OK' | 'ERROR' | 'UNSET';
18
+ message?: string;
19
+ };
20
+ events?: Array<{
21
+ name: string;
22
+ timestamp: number;
23
+ attributes?: Record<string, any>;
24
+ }>;
25
+ links?: Array<{
26
+ traceId: string;
27
+ spanId: string;
28
+ attributes?: Record<string, any>;
29
+ }>;
30
+ scope?: {
31
+ name?: string;
32
+ version?: string;
33
+ };
34
+ }
35
+ interface TraceData {
36
+ traceId: string;
37
+ correlationId: string;
38
+ rootSpan: SpanData;
39
+ spans: SpanData[];
40
+ startTime: number;
41
+ endTime: number;
42
+ duration: number;
43
+ status: 'OK' | 'ERROR' | 'UNSET';
44
+ service: string;
45
+ }
46
+ interface LogData {
47
+ id: string;
48
+ traceId?: string;
49
+ spanId?: string;
50
+ resourceName?: string;
51
+ severityText?: string;
52
+ severityNumber?: number;
53
+ body: string | Record<string, unknown>;
54
+ timestamp: number;
55
+ attributes?: Record<string, unknown>;
56
+ resource?: Record<string, unknown>;
57
+ }
58
+ interface MetricData {
59
+ type: 'event' | 'funnel' | 'outcome' | 'value';
60
+ name: string;
61
+ value?: number;
62
+ attributes: Record<string, any>;
63
+ timestamp: number;
64
+ traceId?: string;
65
+ }
66
+ interface ErrorGroup {
67
+ fingerprint: string;
68
+ type: string;
69
+ message: string;
70
+ stackTrace?: string;
71
+ count: number;
72
+ firstSeen: number;
73
+ lastSeen: number;
74
+ affectedTraces: string[];
75
+ affectedSpans: string[];
76
+ service?: string;
77
+ attributes?: Record<string, unknown>;
78
+ }
79
+ interface ErrorOccurrence {
80
+ traceId: string;
81
+ spanId: string;
82
+ spanName: string;
83
+ service: string;
84
+ timestamp: number;
85
+ error: {
86
+ type: string;
87
+ message: string;
88
+ stackTrace?: string;
89
+ };
90
+ attributes?: Record<string, unknown>;
91
+ }
92
+ interface DevtoolsData {
93
+ traces: TraceData[];
94
+ metrics: MetricData[];
95
+ logs: LogData[];
96
+ errors: ErrorGroup[];
97
+ }
98
+ //#endregion
99
+ //#region src/server/server.d.ts
100
+ interface DevtoolsServerOptions {
101
+ port?: number;
102
+ server?: Server;
103
+ path?: string;
104
+ verbose?: boolean;
105
+ maxHistory?: number;
106
+ maxTraceCount?: number;
107
+ maxLogCount?: number;
108
+ maxMetricCount?: number;
109
+ /**
110
+ * Bind host, used only to decide the WebSocket origin policy. A loopback host
111
+ * (the default) enables the DNS-rebinding `Host` check on the live stream; an
112
+ * explicit non-loopback bind opts out, leaving just the cross-origin check.
113
+ */
114
+ host?: string;
115
+ /**
116
+ * Called after each ingest, with the incremental data just broadcast to WS
117
+ * clients. Lets an embedder (e.g. the VS Code extension) react to new
118
+ * telemetry — refresh its own tree views — while the server owns the buffer.
119
+ */
120
+ onData?: (incremental: DevtoolsData) => void;
121
+ }
122
+ declare class DevtoolsServer {
123
+ private wss;
124
+ private clients;
125
+ private httpServer;
126
+ private traces;
127
+ private logs;
128
+ private metrics;
129
+ private errorAggregator;
130
+ private limits;
131
+ private verbose;
132
+ private _port;
133
+ private onData?;
134
+ constructor(options?: DevtoolsServerOptions);
135
+ get port(): number;
136
+ get clientCount(): number;
137
+ addTrace(trace: TraceData): void;
138
+ addTraces(traces: TraceData[]): void;
139
+ addLog(log: LogData): void;
140
+ addLogs(logs: LogData[]): void;
141
+ addMetric(metric: MetricData): void;
142
+ getCurrentData(): DevtoolsData;
143
+ clearData(): void;
144
+ private broadcast;
145
+ private log;
146
+ close(): Promise<void>;
147
+ }
148
+ //#endregion
149
+ //#region src/server/exporter.d.ts
150
+ declare class DevtoolsSpanExporter implements SpanExporter {
151
+ private server;
152
+ private serviceName;
153
+ constructor(server: DevtoolsServer, serviceName?: string);
154
+ /**
155
+ * Export spans to the WebSocket server
156
+ */
157
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
158
+ /**
159
+ * Shutdown the exporter
160
+ */
161
+ shutdown(): Promise<void>;
162
+ /**
163
+ * Force flush any buffered spans
164
+ */
165
+ forceFlush(): Promise<void>;
166
+ /**
167
+ * Convert OpenTelemetry spans to TraceData
168
+ */
169
+ private convertToTraceData;
170
+ /**
171
+ * Convert OpenTelemetry span to SpanData
172
+ */
173
+ private convertSpan;
174
+ private convertScope;
175
+ /**
176
+ * Convert OpenTelemetry SpanKind to string
177
+ */
178
+ private convertSpanKind;
179
+ }
180
+ //#endregion
181
+ export { ErrorGroup as a, MetricData as c, DevtoolsData as i, SpanData as l, DevtoolsServer as n, ErrorOccurrence as o, DevtoolsServerOptions as r, LogData as s, DevtoolsSpanExporter as t, TraceData as u };
182
+ //# sourceMappingURL=exporter-1Y3GmLVS.d.cts.map
@@ -0,0 +1,182 @@
1
+ import { Server } from "node:http";
2
+ import { ExportResult } from "@opentelemetry/core";
3
+ import { ReadableSpan, SpanExporter } from "@opentelemetry/sdk-trace-base";
4
+
5
+ //#region src/server/types.d.ts
6
+ interface SpanData {
7
+ traceId: string;
8
+ spanId: string;
9
+ parentSpanId?: string;
10
+ name: string;
11
+ kind: 'INTERNAL' | 'SERVER' | 'CLIENT' | 'PRODUCER' | 'CONSUMER';
12
+ startTime: number;
13
+ endTime: number;
14
+ duration: number;
15
+ attributes: Record<string, any>;
16
+ status: {
17
+ code: 'OK' | 'ERROR' | 'UNSET';
18
+ message?: string;
19
+ };
20
+ events?: Array<{
21
+ name: string;
22
+ timestamp: number;
23
+ attributes?: Record<string, any>;
24
+ }>;
25
+ links?: Array<{
26
+ traceId: string;
27
+ spanId: string;
28
+ attributes?: Record<string, any>;
29
+ }>;
30
+ scope?: {
31
+ name?: string;
32
+ version?: string;
33
+ };
34
+ }
35
+ interface TraceData {
36
+ traceId: string;
37
+ correlationId: string;
38
+ rootSpan: SpanData;
39
+ spans: SpanData[];
40
+ startTime: number;
41
+ endTime: number;
42
+ duration: number;
43
+ status: 'OK' | 'ERROR' | 'UNSET';
44
+ service: string;
45
+ }
46
+ interface LogData {
47
+ id: string;
48
+ traceId?: string;
49
+ spanId?: string;
50
+ resourceName?: string;
51
+ severityText?: string;
52
+ severityNumber?: number;
53
+ body: string | Record<string, unknown>;
54
+ timestamp: number;
55
+ attributes?: Record<string, unknown>;
56
+ resource?: Record<string, unknown>;
57
+ }
58
+ interface MetricData {
59
+ type: 'event' | 'funnel' | 'outcome' | 'value';
60
+ name: string;
61
+ value?: number;
62
+ attributes: Record<string, any>;
63
+ timestamp: number;
64
+ traceId?: string;
65
+ }
66
+ interface ErrorGroup {
67
+ fingerprint: string;
68
+ type: string;
69
+ message: string;
70
+ stackTrace?: string;
71
+ count: number;
72
+ firstSeen: number;
73
+ lastSeen: number;
74
+ affectedTraces: string[];
75
+ affectedSpans: string[];
76
+ service?: string;
77
+ attributes?: Record<string, unknown>;
78
+ }
79
+ interface ErrorOccurrence {
80
+ traceId: string;
81
+ spanId: string;
82
+ spanName: string;
83
+ service: string;
84
+ timestamp: number;
85
+ error: {
86
+ type: string;
87
+ message: string;
88
+ stackTrace?: string;
89
+ };
90
+ attributes?: Record<string, unknown>;
91
+ }
92
+ interface DevtoolsData {
93
+ traces: TraceData[];
94
+ metrics: MetricData[];
95
+ logs: LogData[];
96
+ errors: ErrorGroup[];
97
+ }
98
+ //#endregion
99
+ //#region src/server/server.d.ts
100
+ interface DevtoolsServerOptions {
101
+ port?: number;
102
+ server?: Server;
103
+ path?: string;
104
+ verbose?: boolean;
105
+ maxHistory?: number;
106
+ maxTraceCount?: number;
107
+ maxLogCount?: number;
108
+ maxMetricCount?: number;
109
+ /**
110
+ * Bind host, used only to decide the WebSocket origin policy. A loopback host
111
+ * (the default) enables the DNS-rebinding `Host` check on the live stream; an
112
+ * explicit non-loopback bind opts out, leaving just the cross-origin check.
113
+ */
114
+ host?: string;
115
+ /**
116
+ * Called after each ingest, with the incremental data just broadcast to WS
117
+ * clients. Lets an embedder (e.g. the VS Code extension) react to new
118
+ * telemetry — refresh its own tree views — while the server owns the buffer.
119
+ */
120
+ onData?: (incremental: DevtoolsData) => void;
121
+ }
122
+ declare class DevtoolsServer {
123
+ private wss;
124
+ private clients;
125
+ private httpServer;
126
+ private traces;
127
+ private logs;
128
+ private metrics;
129
+ private errorAggregator;
130
+ private limits;
131
+ private verbose;
132
+ private _port;
133
+ private onData?;
134
+ constructor(options?: DevtoolsServerOptions);
135
+ get port(): number;
136
+ get clientCount(): number;
137
+ addTrace(trace: TraceData): void;
138
+ addTraces(traces: TraceData[]): void;
139
+ addLog(log: LogData): void;
140
+ addLogs(logs: LogData[]): void;
141
+ addMetric(metric: MetricData): void;
142
+ getCurrentData(): DevtoolsData;
143
+ clearData(): void;
144
+ private broadcast;
145
+ private log;
146
+ close(): Promise<void>;
147
+ }
148
+ //#endregion
149
+ //#region src/server/exporter.d.ts
150
+ declare class DevtoolsSpanExporter implements SpanExporter {
151
+ private server;
152
+ private serviceName;
153
+ constructor(server: DevtoolsServer, serviceName?: string);
154
+ /**
155
+ * Export spans to the WebSocket server
156
+ */
157
+ export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): Promise<void>;
158
+ /**
159
+ * Shutdown the exporter
160
+ */
161
+ shutdown(): Promise<void>;
162
+ /**
163
+ * Force flush any buffered spans
164
+ */
165
+ forceFlush(): Promise<void>;
166
+ /**
167
+ * Convert OpenTelemetry spans to TraceData
168
+ */
169
+ private convertToTraceData;
170
+ /**
171
+ * Convert OpenTelemetry span to SpanData
172
+ */
173
+ private convertSpan;
174
+ private convertScope;
175
+ /**
176
+ * Convert OpenTelemetry SpanKind to string
177
+ */
178
+ private convertSpanKind;
179
+ }
180
+ //#endregion
181
+ export { ErrorGroup as a, MetricData as c, DevtoolsData as i, SpanData as l, DevtoolsServer as n, ErrorOccurrence as o, DevtoolsServerOptions as r, LogData as s, DevtoolsSpanExporter as t, TraceData as u };
182
+ //# sourceMappingURL=exporter-CZ5HdD3o.d.ts.map